Pages

Selasa, 09 Juni 2015

Quantum Computation



Quantum Computation adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat. Quantum Computer adalah alat untuk perhitungan yang menggunakan langsung dari kuantum mekanik fenomena, seperti superposisi dan belitan , untuk melakukan operasi pada Data. Quantum Computation atau Komputer kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit; dalam komputer kuantum, hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

Ide mengenai komputer kuantum ini berasal dari beberapa fisikawan antara lain Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, David Deutsch dari University of Oxford, dan Richard P. Feynman dari California Institute of Technology (Caltech).

Pada awalnya Feynman mengemukakan idenya mengenai sistem kuantum yang juga dapat melakukan proses penghitungan. Fenyman juga mengemukakan bahwa sistem ini bisa menjadi simulator bagi percobaan fisika kuantum.

Selanjutnya para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.

Quantum Computer dapat memproses jauh lebih cepat daripada komputer konvensional. Pada dasarnya, quantum computer dapat memproses secara paralel, sehingga berkomputasi jauh lebih cepat. Andaikan ada N data, komputer konvensional memerlukan N/2 perhitungan, sedangkan quantum computer hanya memerlukan N^1/2. Jelas bahwa untuk 1.000.000 data, komputer convensional perlu 500.000 perhitungan, sedangkan Quantum Computer hanya perlu 1000. Artinya, bisa 500 kali lebih cepat!
Ini hanya bisa dicapai dengan teori Quantum. Quantum berkata bahwa tidak ada sesuatu yang pasti. Sebuah partikel tidak bisa dikatakan pasti berada di suatu tempat, melainkan hanya probabilitas yang disebut fungsi gelombang. Kalau kita mencoba mencari atom dengan mikroskop tercanggih pun, kita tidak akan bisa tahu persis di mana atom itu berada. Ini bukan kekurangan pada alat; ini adalah sifat alam itu sendiri yang aneh. Pada saat diamati, fungsi gelombang ini runtuh – dan partikel itu menjadi nyata (karena itu, kita tidak pernah melihat sebuah fungsi gelombang).

Misal sesuatu partikel hanya mungkin bisa berada dalam dua kondisi, A atau B. Kalau kita amati, akan kita peroleh A atau B, bergantian. Namun selama tidak diamati, partikel itu akan berada pada A dan B bersamaan – partikel itu berada dalam superposisi dari A dan B. Seperti seseorang bingung memilih antara ayam dan ikan di restoran, dia akan selama mungkin menahan keputusan dan melihat menu terus, berpikir, sampai saat pelayan datang dan dia akhirnya harus memesan salah satu. Tetapi sebelum pelayan (pengamat) datang, dia berada dalam superposisi dari ayam dan ikan. Erwin Schrödinger, penemu prinsip ketidakpastian ini, dalam eksperimen khayalan Schrödinger’s Cat, bahkan membuktikan bahwa, sebelum diamati, kucing dalam eksperimennya bisa berada dalam keadaan hidup dan mati sekaligus – hidup juga dan mati juga!

Sifat yang aneh dan membingungkan ini justru diandalkan Quantum Computer. Sehebat-hebatnya komputer konvensional, dia selalu bekerja dengan bits, angka biner yang hanya bisa 1 atau 0. Quantum Computer bisa lepas dari restriksi ini, karena bisa berada dalam keadaan superposisi 1 dan 0 pada saat yang sama. Angka ini dinamai qubits (quantum bits, tentunya) yang bisa 1, bisa 0 atau bisa berada di antara 1 dan 0 – ingat, ini bukan berarti 0,6; melainkan 60% probabilitas A dan 40% probabilitas B.

Qubits yang digunakan adalah spin dari atom atau elektron. Spin, yang tidak ada analogi di fisika klasik, adalah sifat suatu partikel yang memiliki dua alternatif: up atau down. Kita bisa menganggap bahwa up adalah 1 dan down adalah 0. Selama tidak diamati, qubits bisa berada dalam superposisi dari up dan down, dan berinteraksi dengan qubits lain. Dua qubits bisa berada dalam empat keadaan sekaligus: 00, 10, 01 dan 11; empat qubits bisa delapan keadaan sekaligus. Sebuah quantum computer dengan 100 qubits bisa memproses 2100 keadaan bersamaan, sama seperti komputer konvensional dengan 1030 prosesor!

Sebuah komputer kuantum dapat mensimulasikan sebuah proses yang tidak dapat dilakukan oleh komputer klasik. Hal ini membuat para ilmuwan harus memiliki paradigma baru dalam hal permrosesan informasi. Ilmuwan harus memikirkan logika baru untuk komputer kuantum. Salah satu logika yang berhasil adalah algoritma shor yang ditemukan Peter Shor pada tahun 1995.

Lewat algoritma Shor ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode ini disebut kode RSA. Jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif

Namun, sebagai kompensasi dari semua itu, komputer kuantum juga memberikan cara baru dalam berkomunikasi secara aman lewat apa yang disebut dengan komunikasi kuantum. Dengan logika dan komunikasi quantum ini, akan didapatkan keuntungan-keuntungan seperti keamanan lebih terjamin, pemrosesan database lebih cepat, dll.

Penerapan Komputer Quantum. 

Pada tahun 2000, IBM sudah membuat quantum computer dengan 5 qubits dengan atom sebagai prosesornya. dan D-Wave perusahaan komputer asal Vancouver, Canada merilis kabar bahwa pihaknya telah mampu untuk beroperasi dengan prinsip quantum yang jauh ebih cepat dari komputer yang ada saat ini.

Komputer yang diberi nama “Orion” ini, menggunakan teknik cetakan rata yang sistematis, dipadukan dengan sebuah chip niobium superkonduksi dan suhu ultrarendah, dapat mengerjakan 16 qubit. Chip inti harus dingin hingga mendekati titik nol absolut (-125.15ºC), agar supaya dalam proses perhitungannya tetap dalam kondisi kuantum

Perusahaan D-Wave menuturkan, bahwa komputer kuantum ini bisa mengoperasikan 64 ribu hitungan secara bersamaan, dan prototipe komputer kuantum yang diperlihatkannya pada 13 Februari 2007 merupakan komputer tipe bisnis yang pertama di dunia, di dalamnya ditanami chip kuantum yang dapat mengoperasikan 16 qubit. 

- Pengoprasian Data Qubit

Qubit merupakan kuantum bit , mitra dalam komputasi kuantum dengan digit biner atau bit dari komputasi klasik. Sama seperti sedikit adalah unit dasar informasi dalam komputer klasik, qubit adalah unit dasar informasi dalam komputer kuantum . Dalam komputer kuantum, Qubit merupakan satuan yang digunakan pada quantum computing, pada komputer digital nilai 1 menyatakan bahwa adanya listrik, sedangkan nilai 0 untuk menyatakan tidak adanya arus listrik. Dalam quantum computing perilaku bilangan bit ini dinyatakan dengan perilaku atom yang sedang berputar. Atom memiliki konfigurasi spin. Spin atom bisa ke atas (up), bisa pula ke bawah (down). Misalnya saat spin atom mengarah ke atas (up) kita beri lambang 1, sedangkan spin down adalah 0. Sejumlah partikel elemental seperti elektron atau foton dapat digunakan (dalam praktek, keberhasilan juga telah dicapai dengan ion), baik dengan biaya mereka atau polarisasi bertindak sebagai representasi dari 0 dan / atau 1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini (seperti yang diungkapkan dalam teori kuantum ) membentuk dasar dari komputasi kuantum. Dua aspek yang paling relevan fisika kuantum adalah prinsip superposisi dan Entanglement. Entanglement (belitan) merupakan fenomena 'aneh' yang terjadi pada Quantum Computing, fenomena ini dimanfaatkan oleh ilmuan dalam pembuatan Quantum Computing.

Jika dua atom mendapatkan gaya tertentu (outside force) kedua atom tersebut bisa masuk pada keadaan ‘entangled’. Atom-atom yang saling terhubungkan dalam entanglement ini akan tetap terhubungkan walaupun jaraknya berjauhan.

Dalam keadaan ini, perilaku dua atom yang saling berkaitan akan sama dengan atom pasangannya. Jika pada atom 1 mengalami perubahan, maka atom pasangannya juda akan berperilaku sama seperti atom 1. Keadaan ini dimanfaatkan untuk mempercepat komunikasi data pada komputer. Komunikasi menggunakan komputer kuantum bisa mencapai kecepatan yang begitu luar biasa karena informasi dari satu tempat ke tempat lain dapat ditransfer secara instant. Begitu cepatnya sehingga terlihat seakan-akan mengalahkan kecepatan cahaya.

Superposisi, pikirkan qubit sebagai elektron dalam medan magnet. Spin elektron mungkin baik sejalan dengan bidang, yang dikenal sebagai spin-up, atau sebaliknya ke lapangan, yang dikenal sebagai keadaan spin-down. Mengubah spin elektron dari satu keadaan ke keadaan lain dicapai dengan menggunakan pulsa energi, seperti dari Laser - katakanlah kita menggunakan 1 unit energi laser. Tapi bagaimana kalau kita hanya menggunakan setengah unit energi laser dan benar-benar mengisolasi partikel dari segala pengaruh eksternal? Menurut hukum kuantum, partikel kemudian memasuki superposisi negara, di mana ia berperilaku seolah-olah itu di kedua negara secara bersamaan. Setiap qubit dimanfaatkan bisa mengambil superposisi dari kedua 0 dan 1. Dengan demikian, jumlah perhitungan bahwa komputer kuantum dapat melakukan adalah 2 ^ n, dimana n adalah jumlah qubit yang digunakan. Sebuah komputer kuantum terdiri dari 500 qubit akan memiliki potensi untuk melakukan 2 ^ 500 perhitungan dalam satu langkah. Ini adalah jumlah yang mengagumkan - 2 ^ 500 adalah atom jauh lebih dari yang ada di alam semesta (ini pemrosesan paralel benar - komputer klasik saat ini, bahkan disebut prosesor paralel, masih hanya benar-benar melakukan satu hal pada suatu waktu: hanya ada dua atau lebih dari mereka melakukannya). Tapi bagaimana partikel-partikel ini akan berinteraksi satu sama lain? Mereka akan melakukannya melalui belitan kuantum.

- Quantum Gates / Gates Quantum

merupakan sebuah aturan logika / Gates logika berlaku pada quantum computing. Prinsip kerja dari quantum Gates hampir sama dengan logika pada komputer digital. Jika pada komputer digital terdapat beberapa operasi logika seperti AND, OR, NOT, pada quantum computing quantum Gates terdiri dari beberapa bilangan qubits, sehingga quantum Gates lebih susah untuk dihitung daripada gerbang logika pada komputer digital.

Dalam komputasi kuantum dan khusus model sirkuit perhitungan kuantum, kuantum Gates (quantum atau logika Gates) adalah sirkuit kuantum dasar operasi pada sejumlah kecil qubit. Mereka adalah blok bangunan sirkuit kuantum, seperti logika klasik kuantum Gates adalah untuk sirkuit digital konvensional.

Tidak seperti banyak logika klasik, logika Gates kuantum reversibel. Namun, komputasi klasik dapat dilakukan dengan hanya menggunakan Gates reversibel. Sebagai contoh, reversibel Toffoli dapat melaksanakan semua fungsi Boolean. Gerbang ini memiliki setara kuantum langsung, menunjukkan bahwa sirkuit kuantum dapat melakukan semua operasi yang dilakukan oleh sirkuit klasik.

logika Quantum Gates diwakili oleh matriks kesatuan. Quantum Gates yang paling umum beroperasi pada ruang satu atau dua qubit, seperti biasa logika klasik Gates beroperasi pada satu atau dua bit. Ini berarti bahwa sebagai matriks, kuantum Gates dapat dijelaskan oleh 2 × 2 atau 4 × 4 matriks kesatuan.



- Algoritma

Ada beberapa definisi algoritma diantaranya adalah :

a.       Algoritma adalah penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan matematis.

b.      Algoritma adalah suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.

c.       Algoritma adalah susunan langkah yang pasti, yang bila diikuti maka akan mentransformasi data input menjadi output yang berupa informasi.

 Sejarah Algoritma

Sejarah mencatat bahwa algoritma berasal dari sebuah kata al-khawarizmi yang berasal dari seorang muslim yang bernama lengkap Abu Ja’far Muhammad Ibnu Musa Al-Kwarizmi, beliau merupakan ahli matematika dan astronomi dari Persia, dan juga merupakan penulis buku “Aljabar wal Muqobala”. Beliau dianggap sebagai pencetus pertama algoritma karena di dalam buku tersebut Abu Ja’far menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan arirmatika (aljabar).

Ciri-ciri Algoritma

Menurut Donald E. Knuth penulis buku algoritma abad XX, menyatakan bahwa ada beberapa ciri algoritma, yaitu Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki langkah yang terbatas. Setiap langkah harus didefinisikan dengan tepat, sehingga tidak memiliki arti ganda, tidak membingungkan (not ambiguous), memiliki masukan (input) atau kondisi awal, memiliki keluaran (output) atau kondisi akhir. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan masalah. 

Sesuai dengan ciri-ciri dari algoritma pada penjelasan di atas, maka dapat disimpulkan bahwa sifat suatu algoritma adalah :

a.       Input : Suatu algoritma mempunyai input atau kondisi awal sebelum dilaksanakan, bias berupa nilai-nilai peubah yang diambil dari himpunan khusus.

b.      Output : Suatu algoritma akan menghasilkan output setelah dilaksanakan. Suatu algoritma akan mengubah sebuah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.

c.       Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefini dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.

d.      Finiteness : Suatu algoritma harus memiliki kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal atau input yang diberikan.

e.       Effevtiveness : Setiap langkah dalam algortima dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai dengan yang diharapkan.

f.       Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.

Struktur Algoritma

Agar algoritma yang ditulis lebih teratur, maka struktur algoritma sebaiknya dibagi  ke dalam beberapa bagian. Diantaranya :

Bagian kepala (header) : memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis

Bagian Deklarasi ( definisi variable ) : memuat definisi nama variable, nama tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam algoritma.

Bagian Deskripsi (rincian langkah ) : memuat langkah-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang mengubah data input menjadi output.

Contoh berikut ini adalah struktur algoritma. Algoritma ini akan menghitung luas sebuah luas lingkaran dengan input jejari lingkaran tersebut. Luas lingkaran adalah phi*jari*jari.

Algoritma Luas_lingkaran

{Menghitung sebuah luas lingkaran apabila jari-jari tersebut diberikan}

Deklarasi

{Definisi nama tetapan}

Const phi = 3.14;

{Definisi nama peubah/variabel}

Real jari-jari, Luas;

Deskripsi

Read(jari-jari);

Luas = phi * jari-jari * jari_jari;

Write(Luas);

Pemrograman

Pemrograman adalah aktifitas yang berhubungan dengan pembuatan program dengan mengikuti kaidah bahasa pemrograman tertentu. Dalam konteks pemrograman terdapat sejumlah bahasa pemrograman seperti Pascal, C, C#, dan BASIC. Adapun secara garis besar bahasa pemrograman dikelompokkan menjadi :

a.       Bahasa pemrograman tingkat tinggi ( high-level language )

Adalah bahasa pemrograman yang berorientasi kepada bahasa manusia. Program yang dibuat dengan menggunakan bahasa pemrograman yang mudah dipahami oleh manusia, biasanya menggunakan bahasa inggris, misalnya IF, FOR, While, dll.

Contoh bahasa pemrograman tingkat tinggi adalah : C, C#, BASIC, PHP, VB, VB.NET, JAVA, dll.

b.      Bahasa pemrograman tingkat rendah ( low-level language )

Adalah bahasa pemrograman yang berorientasi kepada mesin. Bahasa ini hanya menggunakan kode biner ( hanya mengenal bilangan 0 dan 1 ) atau suatu kode sederhana untuk menggantikan kode-kode tertentu dalam system biner.

Contoh : kode ASCII yang merepresentasikan karakter ke dalam bilangan biner.



Sumber : 

            http://www.fisikanet.lipi.go.id/utama.cgi?artikel&1063391045&53


http://rcaesario.blogspot.com/2013/04/pengantar-quantum-computation.html






Tidak ada komentar:

Posting Komentar