A. QUANTUM
COMPUTING
Pengertian Quantum Computing
Merupakan alat hitung
yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang
digunakan untuk peng-operasi-an data. Perhitungan jumlah data pada komputasi
klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer
kuantum 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.
Sejarah singkat
- Pada tahun 1970-an pencetusan atau ide tentang komputer kuantum pertama kali muncul oleh para fisikawan dan ilmuwan komputer, seperti 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).
- Feynman dari California Institute of Technology yang pertama kali mengajukan dan menunjukkan model bahwa sebuah sistem kuantum dapat digunakan untuk melakukan komputasi. Feynman juga menunjukkan bagaimana sistem tersebut dapat menjadi simulator bagi fisika kuantum.
- Pada tahun 1985, Deutsch menyadari esensi dari komputasi oleh sebuah komputer kuantum dan menunjukkan bahwa semua proses fisika, secara prinsipil, dapat dimodelkan melalui komputer kuantum. Dengan demikian, komputer kuantum memiliki kemampuan yang melebihi komputer klasik.
- Pada tahun 1995, Peter Shor merumuskan sebuah algoritma yang memungkinkan penggunaan komputer kuantum untuk memecahkan masalah faktorisasi dalam teori bilangan.
- Sampai saat ini, riset dan eksperimen pada bidang komputer kuantum masih terus dilakukan di seluruh dunia. Berbagai metode dikembangkan untuk memungkinkan terwujudnya sebuah komputer yang memilki kemampuan yang luar biasa ini. Sejauh ini, sebuah komputer kuantum yang telah dibangun hanya dapat mencapai kemampuan untuk memfaktorkan dua digit bilangan. Komputer kuantum ini dibangun pada tahun 1998 di Los Alamos, Amerika Serikat, menggunakan NMR (Nuclear Magnetic Resonance).
B. Entanglement
Entanglement adalah
efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga
sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan
mereka. Contoh dari quantum entanglement: kaitan antara penentuan jam sholat
dan quantum entanglement. Mohon maaf bagi yang beragama lain saya hanya bermaksud
memberi contoh saja. Mengapa jam sholat dibuat seragam? Karena dengan demikian
secara massal banyak manusia di beberapa wilayah secara serentak masuk ke zona
entanglement bersamaan.
C. Pengoperasian Data Qubit
Komputer kuantum
memelihara urutan qubit. Sebuah qubit tunggal dapat mewakili satu, nol, atau,
penting, setiap superposisi quantum ini, apalagi sepasang qubit dapat dalam
superposisi kuantum dari 4 negara, dan tiga qubit dalam superposisi dari 8.
Secara umum komputer kuantum dengan qubit n bisa dalam superposisi
sewenang-wenang hingga 2 n negara bagian yang berbeda secara bersamaan (ini
dibandingkan dengan komputer normal yang hanya dapat di salah satu negara n 2
pada satu waktu). Komputer kuantum yang beroperasi dengan memanipulasi qubit
dengan urutan tetap gerbang logika quantum. Urutan gerbang untuk diterapkan
disebut algoritma quantum.
Sebuah contoh dari
implementasi qubit untuk komputer kuantum bisa mulai dengan menggunakan
partikel dengan dua putaran menyatakan: “down” dan “up”. Namun pada kenyataannya
sistem yang memiliki suatu diamati dalam jumlah yang akan kekal dalam waktu
evolusi dan seperti bahwa A memiliki setidaknya dua diskrit dan cukup spasi
berturut-turut eigen nilai , adalah kandidat yang cocok untuk menerapkan sebuah
qubit. Hal ini benar karena setiap sistem tersebut dapat dipetakan ke yang
efektif spin -1/2 sistem.
Algoritma pada Quantum Computing
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.
- Algoritma Shor
Algoritma yang
ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini,
sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini
secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode
RSA ini, 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.
- Algoritma Grover
Algoritma Grover adalah
sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibandingkan
pencarian linear klasik untuk list tak terurut. Algoritma Grover
menggambarkan bahwa dengan menggunakan pencarian model kuantum, pencarian dapat
dilakukan lebih cepat dari model komputasi klasik. Dari banyaknya
algoritma kuantum, algoritma grover akan memberikan jawaban yang benar dengan
probabilitas yang tinggi. Kemungkinan kegagalan dapat dikurangi dengan
mengulangi algoritma. Algoritma Grover juga dapat digunakan untuk memperkirakan
rata-rata dan mencari median dari serangkaian angka, dan untuk memecahkan
masalah Collision.
Implementasi Quantum Computing
Pada 19 Nov 2013
Lockheed Martin, NASA dan Google semua memiliki satu misi yang sama yaitu
mereka semua membuat komputer kuantum sendiri. Komputer kuantum ini adalah
superkonduktor chip yang dirancang oleh sistem D – gelombang dan yang dibuat di
NASA Jet Propulsion Laboratories.
NASA dan Google
berbagi sebuah komputer kuantum untuk digunakan di Quantum Artificial
Intelligence Lab menggunakan 512 qubit D -Wave Two yang akan digunakan untuk
penelitian pembelajaran mesin yang membantu dalam menggunakan jaringan syaraf
tiruan untuk mencari set data astronomi planet ekstrasurya dan untuk
meningkatkan efisiensi searchs internet dengan menggunakan AI metaheuristik di
search engine heuristical.
A.I. seperti
metaheuristik dapat menyerupai masalah optimisasi global mirip dengan masalah
klasik seperti pedagang keliling, koloni semut atau optimasi swarm, yang dapat
menavigasi melalui database seperti labirin. Menggunakan partikel terjerat
sebagai qubit, algoritma ini bisa dinavigasi jauh lebih cepat daripada komputer
konvensional dan dengan lebih banyak variabel.
Penggunaan
metaheuristik canggih pada fungsi heuristical lebih rendah dapat melihat
simulasi komputer yang dapat memilih sub rutinitas tertentu pada komputer
sendiri untuk memecahkan masalah dengan cara yang benar-benar cerdas . Dengan
cara ini mesin akan jauh lebih mudah beradaptasi terhadap perubahan data
indrawi dan akan mampu berfungsi dengan jauh lebih otomatisasi daripada yang
mungkin dengan komputer normal
Quantum berlawanan dari fisika klasik dan semua
intuisi kita. Engineering menghindari ilmu ini karena terlalu teoritis dan
tidak bisa diaplikasi. Tapi ini mungkin adalah satu-satunya harapan untuk
menghindari akhir dari kemajuan komputer. komputer. Meskipun kita selalu heran
melihat model komputer baru muncul setiap bulan, secara teoritis ini ada
ujungnya. Komputasi masa kini - komputer konvensional - dikerjakan oleh transistor,
dan kecepatannya bergantung pada ukuran transistor. Kemajuan komputer yang
sampai sekarang terjadi adalah karena transistor menjadi semakin kecil. Gordon
Moore, co-founder dari Intel, pada tahun 60-an berkata, jumlah transistor per
inchi persegi akan berlipat dua kali setiap tahun.
Suatu hari transistor
itu bisa menjadi sebesar satu atom dan Richard Feynmann, fisikawan terhebat
sejak Albert Einstein, berpendapat bahwa ini adalah ukuran transistor terkecil
yang mungkin. Tentunya ini keberhasilan luar bisa untuk mencapai ukuran itu,
namun apakah ini betul-betul akhir dari kemajuan komputer?
Tidak, dengan
adanya Quantum Computer. Quantum Computer,
berbeda dengan banyak istilah lain, memang memakai fenomena quantumyang
tidak bisa ditiru komputer konvensional. Ini bukan pengembangan komputer biasa,
melainkan konsep yang baru sama sekali.
Quantum Computer 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
Quantum Computer dapat memproses jauh lebih
cepat daripada komputer konvensional. Pada dasarnya, quantum computer
dapat memproses secara paralel, sehingga berkomputasi jauh lebih cepat.
Quantum Computer dapat jauh lebih cepat dari
komputer konvensional pada banyak masalah, salah satunya yaitu masalah yang
memiliki sifat berikut:
- Satu-satunya cara adalah menebak dan mengecek jawabannya berkali-kali
- Terdapat n jumlah jawaban yang mungkin
- Setiap kemungkinan jawaban membutuhkan waktu yang sama untuk mengeceknya
- Tidak ada petunjuk jawaban mana yang kemungkinan benarnya lebih besar: memberi jawaban dengan asal tidak berbeda dengan mengeceknya dengan urutan tertentu.
D. Quantum Gates
Tentang quantum gates
dan algoritma shor , Algoritma Shor didasarkan dari sebuah teori bilangan:
fungsi F(a) = xamod n adalah feungsi periodik jika x adalah bilangan bulat yang
relatif prima dengan n. Dalam Algoritma Shor, n akan menjadi bilangan bulat
yang hendak difaktorkan. Menghitung fungsi ini di komputer konvensional untuk
jumlah yang eksponensial akan membutuhkan waktu eksponensial pula. Pada masalah
ini algoritma quantum shor memanfaatkan pararellisme quantum untuk melakukannya
hanya dengan satu langkah. Karena F(A) adalah fungsi periodik, maka fungsi ini
memiliki sebuah periode r. Diketahui x0mod n = 1, maka xr mod n =1, begitu juga
x2r mod n dan seterusnya.
dibawah ini adalah
contoh gambar quantum computing :
Komputer Paralel
Komputasi Paralel
Komputasi paralel adalah suatu bentuk komputasi dimana instruksi-instruksi
dijalankan secara berkesinambungan. Masalah yang besar dapat dibagi menjadi
beberapa masalah yang lebih kecil(submasalah), untuk kemudian diselesaikan
secara serempak. Komputasi paralel telah digunakan untuk melakukan komputasi
yang mensyaratkan unjuk kerja yang tinggi(high-performance computing).
Teknik komputasi ini semakin berkembang dewasa ini, hal ini disebabkan oleh
batasan fisik di dalam penskalaan frekuensi(frequency scaling[1]).
Komputasi paralel telah menjadi paradigma yang mendominan di dalam arsitektur
komputer, yaitu misalnya prosesor multicore.
Program komputer paralel lebih susah untuk dibangun dibandingkan dengan program
komputer serial, hal ini disebabkan keserempakan menimbulkan masalah yang
potensial di dalam membagi pekerjaan menjadi subpekerjaan dan menggabungkan
kembali subpekerjaan tersebut menjadi hasil oleh perangkat lunak,
diantaranya kondisi berebut(race condition).
Komunikasi
dan sinkronisasi diantara unit pemroses(processing unit) menjadi satu
diantara tantangan terbesar untuk menghasilkan program paralel dengan performa
yang baik.
Sejarah Singkat
Pada tahun 1958, Peneliti IBM, John Cocke dan Daniel Slotnick membahas tentang
pemanfaatan paralelisme di dalam komputasi numerik untuk pertama kalinya. Burroughs
Corporation memperkenalkan D825 pada tahun 1962, sebuah komputer dengan
empat buah prosesor yang mengakses 16 modul memori dengan bantuan saklar
bar-silang(crossbar switch).
Latar Belakang
Komputasi paralel memanfaatkan beberapa elemen pemroses secara berkesinambungan
untuk menyelesaikan permasalahan, dengan cara memecah masalah menjadi
bagian-bagian independen, kemudian masing-masing bagian tersebut diselesaikan
oleh masing-masing elemen pemroses sesuai dengan algoritma secara serempak.
Elemen pemroses dapat terdiri dari unit pemroses yang heterogen, dan dapat pula
terdiri dari unit pemroses yang homogen. Elemen pemroses dapat berupa komputer
tunggal dengan banyak prosesor, beberapa komputer yang terhubung dalam suatu
jaringan, perangkat keras yang dikhususkan untuk melakukan komputasi paralel,
ataupun kombinasi dari perangkat-perangkat yang telah disebutkan.
Penskalaan frekuensi menjadi alasan utama dalam peningkatan performa komputer
sejak pertengahan 1980an sampai dengan 2004. Waktu eksekusi(runtime) dari
sebuah program adalah banyaknya instruksi dikali dengan waktu rata-rata sebuah
instruksi. Dengan menganggap faktor lain adalah konstan, meningkatkan detak
frekuensi(clock frequency) akan menurunkan waktu rata-rata yang diperlukan
untuk menjalankan sebuah instruksi, yang kemudian akan mengurangi waktu
eksekusi.
Konsumsi
daya sebuah chip dirumuskan dengan persamaan:
P
= C x V2 x F
|
Dimana
P adalah daya, C adalah kapasitansi, V adalah tegangan, dan F adalah frekuensi
prosesor. Apabila frekuensi ditingkatkan, maka akan terjadi peningkatan daya
yang dikonsumsi oleh sebuah prosesor.
Hukum Amdahl
Secara teoritis, peningkatan kecepatan akibat paralelisasi adalah linear, yaitu
apabila elemen pemroses digandakan, maka waktu ekseskusi akan menjadi
setengahnya. Tetapi, sangat sedikit algoritma paralel yang dapat mencapai
peningkatan kecepatan yang optimal.
Menurut Hukum Amdahl, bagian kecil dari sebuah program yang tidak dapat lagi
diparalelkan, akan membatasi peningkatan kecepatan yang dapat dicapai dari
paralelisasi secara keseluruhan. Semua masalah mengandung bagian yang dapat
diparalelkan dan bagian yang tidak dapat diparalelkan juga. Hubungan antara
kedua bagian ini dinyatakan dalam:
S
= 1 / (1-P)
|
Dimana
S adalah besarnya peningkatan kecepatan dari sebuah program, P adalah besarnya
bagian yang dapat diparalelkan.
Tidak semua hasil dari paralelisasi dapat meningkatkan kecepatan. Secara umum,
ketika sebuah pekerjaan dibagi menjadi lebih banyak subpekerjaan, subpekerjaan
tersebut menghabiskan waktu lebih banyak, yaitu untuk berkomunikasi diantara
subpekerjaan. Hal ini tidak akan membuat waktu eksekusi menjadi lebih singkat,
melainkan sebaliknya, hal inilah yang disebut sebagai perlambatan paralel(parallel
slowdown).
Taksonomi Flynn
Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer
dan program paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn
mengelompokkan komputer dan program berdasarkan banyaknya set instruksi yang
dieksekusi dan banyaknya set data yang digunakan oleh instruksi tersebut.
Instruksi Tunggal
(single instruction)
|
Instruksi Majemuk
(multiple instruction)
|
|
Data Tunggal
(single data)
|
SISD
(Single
Instruction Single Data)
|
MISD
(Multiple
Instruction Single Data)
|
Data Majemuk
(multiple data)
|
SIMD
(Single
Instruction Multiple Data)
|
MIMD
(Multiple
Instruction Multiple Data)
|
Jenis-Jenis Komputer Paralel
Berdasarkan tingkatan perangkat keras yang mendukung paralelisme, secara
umum komputer-komputer paralel dapat diklasifikasikan:
· Multicore processing
Merupakan
prosesor yang memiliki beberapa unit pengeksekusi. Sebuah prosesor multicore
dapat melakukan beberapa instruksi per siklus dari beberapa aliran instruksi.
· Symmetric multiprocessing
Merupakan
sebuah sistem komputer dengan beberapa prosesor yang identik, dapat menggunakan
struktur berbagi memori atau memori tersendiri yang saling terhubung melalui
bus.
· Distributed computing
Merupakan
sebuah sistem komputer dengan memori terdistribusi, dimana masing-masing elemen
pemrosesan dihubungkan oleh jaringan.
· Cluster computing
Merupakan
sekumpulan komputer yang bekerja sama,dihubungkan oleh jaringan, sehingga
dapat dipandang sebagai sebuah kesatuan, cluster komputer ini dikoordinasi oleh
sebuah komputer induk yang bertugas untuk mendistribusikan pekerjaan kepada
masing-masing komputer lainnya.
· Massive parallel processing
Merupakan
sebuah komputer tunggal dengan banyak prosesor yang terhubung dalam sebuah
jaringan. Di dalam MPP, tiap CPU mempunyai memory tersendiri, sistem operasi
dan aplikasi yang sama. Tiap subsistem berkomunikasi satu dengan yang lainnya
melalui interkoneksi berkecepatan tinggi.
· Grid computing
Merupakan
bentuk pemrosesan paralel yang paling terdistribusi. Grid computing memanfaatkan
Internet sebagai saluran komunikasi antar komputer untuk menyelesaikan suatu
permasalahan.
· Specialized parallel computer
Komputer
paralel yang dikhususkan untuk menyelesaikan tugas khusus.
Superkomputer
Superkomputer merupakan komputer terdepan dalam hal kapasitas pemrosesan, yaitu
kecepatan penghitungan.
Superkomputer yang memanfaatkan beberapa CPU, secara umum akan memperoleh
kecepatan melebihi komputer konvensional dengan cara memanfaatkan rancangan
inovatif yang memungkinkan CPU tersebut untuk melakukan tugas-tugas secara
paralel, dikhususkan untuk melakukan komputasi tertentu(biasanya kalkulasi
numerik) dan melakukan tugas komputasi umum dengan kurang baik. Hirarki memori
superkomputer dirancang dengan sangat berhati-hati untuk menjamin bahwa
prosesor tetap memperoleh data dan instruksi setiap waktu.
Hukum Amdahl juga berlaku pada superkomputer, perancangan superkomputer yang
paling menyita adalah usaha untuk menghilangkan serialisasi dari perangkat
lunak dan pemanfaatan perangkat keras.
Tantangan
Superkomputer
· Superkomputer menghasilkan panas yang berlebihan dan harus
didinginkan dengan segera.
· Superkomputer harus mempunyai waktu latensi(waktu yang
diperlukan untuk perambatan sinyal) antar komponen yang sangat singkat.
· Superkomputer memerlukan dan menghasilkan data dalam jumlah
yang sangat besar dalam rentang waktu yang sangat singkat, sehingga diperlukan
bandwidth media penyimpanan luar(external storage) yang cukup untuk
menjamin bahwa informasi dapat ditransfer dengan cepat dan dapat disimpan
ataupun diperoleh kembali dengan akurat.
Arsitektur paralel superkomputer mengharuskan pemanfaatan teknik pemrograman
yang spesial untuk mencapai kecepatan yang optimal.
Arsitektur Superkomputer Modern
Superkomputer yang dikembangkan oleh CDC merupakan prosesor skalar yang lebih
cepat sepuluh kali dibandingkan mesin tercepat yang ditawarkan oleh perusahaan
lainnya. Pada tahun 1970an, superkomputer dikhususkan untuk bekerja pada
prosesor vektor. Pada permulaan dan pertengahan tahun 1980an, mesin yang
terdiri dari beberapa prosesor vektor yang bekerja secara paralel menjadi
sesuatu yang standard. Pada umumnya prosesor yang dilibatkan berjumlah antara
empat sampai enam belas. Pada akhir tahun 1980an dan tahun 1990an, peralihan
dari prosesor vektor ke MPP(massive parallel processing) yang terdiri
dari ribuan CPU. Superkomputer dewasa ini merupakan komputer cluster yang telah
disesuaikan sekaligus memanfaatkan kelebihan prosesor dan mengkombinasikan
dengan interkoneksi.
Superkomputer digunakan untuk melakukan tugas penghitungan yang sangat
intensif, misalnya masalah yang melibatkan fisika mekanika kuantum, peramalan
cuaca, penelitian terhadap iklim, pemodelan molekuler(melakukan komputasi
terhadap struktur dan sifat dari campuran kimia, makromolekul biologikal,
polymer, kristal), simulasi fisik(misalnya simulasi pesawat terbang, simulasi
menjinakkan senjata nuklir, penelitian terhadap fusi nuklir), kriptanalisis,
dan lain sebagainya.
Rancangan Perangkat Keras dan Perangkat Lunak
Tertanggal 31 November 2006, sepuluh superkomputer teratas tercatat mempunyai
arsitektur level atas yang sama, yaitu merupakan cluster multiprosesor MIMD,
dimana tiap-tiap prosesor merupakan SIMD. Kemampuan superkomputer berbeda-beda
tergantung pada banyaknya multiprosesor per cluster, banyaknya prosesor per
multiprosesor, dan banyaknya instruksi yang berkelanjutan per prosesor SIMD,
diperoleh:
· Sebuah komputer cluster adalah sekumpulan komputer yang
terhubung kuat melalui sebuah jaringan berkecepatan tinggi. Cluster terdiri
dari komputer-komputer yang heterogen.
· Komputer multiprosesor merupakan sebuah komputer, beroperasi
di bawah sebuah sistem operasi dan memanfaatkan lebih dari satu CPU.
· Prosesor SIMD mengekseskusi instruksi yang sama terhadap
lebih dari satu set data pada waktu yang bersamaan.
Kesimpulan
Superkomputer melakukan komputasi paralel, dengan kata lain superkomputer
adalah sama dengan komputer paralel, yaitu sama-sama melakukan komputasi
paralel.
Referensi