Bahasa Pemrograman Baru Komputasi Kuantum
  • January 27, 2022
  • Philip
  • 0

Bahasa Pemrograman Baru Komputasi Kuantum

Seperti yang diketahui bahwa komputasi kuantum tidak seperti komputer tradisional yang menggunakan bit, komputer kuantum menggunakan qubit untuk mengkodekan informasi sebagai nol atau satu, atau keduanya secara bersamaan. Digabungkan dengan campuran kekuatan dari fisika kuantum, mesin seukuran lemari es ini dapat memproses banyak informasi — tetapi masih jauh dari sempurna. Komputer kuantum masih memerlukan bahasa pemrograman yang tepat untuk menghitung dengan benar di komputer kuantum.

Pemrograman komputer kuantum membutuhkan pemahaman akan sesuatu yang disebut “keterikatan,” pengganda komputasi untuk jenis qubit, yang diterjemahkan menjadi banyak data. Ketika dua qubit ‘terikat’, tindakan pada satu qubit dapat mengubah nilai yang lain, bahkan ketika mereka terpisah secara fisik, seperti konsep kuantum Einstein tentang “aksi seram di kejauhan” (ketika partikel yang terpisah berperilaku seolah mereka terikat). Tetapi potensi seperti ini merupakan sebuah kelemahan. Saat memprogram, jika membuang satu qubit tanpa memperhatikan keterikatannya dengan qubit lain dapat menghancurkan data yang disimpan di qubit lainnya. Hal ini dapat membahayakan kebenaran program.

Bahasa Pemrograman Baru Komputasi Kuantum
Kristal waktu, gelombang mikro dan berlian, apa kesamaan dari ketiga hal yang berbeda ini? / Gambar: https://scitechdaily.com/

Baca Juga: Kemampuan Komputer Kuantum Semakin Efektif dengan Algoritma Baru

Menyikapi persoalan ini, Ilmuwan dari Ilmu Komputer dan Kecerdasan Buatan (Computer Science and Artificial Intelligence/CSAIL) pada Massachusetts Institute of Technology (MIT), salah satu universitas teknologi terbaik di dunia  berupaya mengatasinya dengan membuat bahasa pemrograman mereka sendiri untuk komputasi kuantum yang disebut Twist. Twist diklaim dapat menjelaskan dan memverifikasi potongan data mana yang terikat dalam program kuantum, melalui bahasa yang dapat dipahami oleh programmer klasik. Bahasa pemrograman Twist menggunakan konsep yang disebut kemurnian, yang memaksakan tidak adanya keterikatan dan menghasilkan program yang lebih intuitif, dengan bug yang lebih sedikit. Misalnya, seorang pemrogram dapat menggunakan Twist untuk mengatakan bahwa data sementara yang dihasilkan sebagai sampah oleh suatu program tidak teriakt dengan jawaban program, sehingga aman untuk dibuang.

Sementara bidang yang baru ini dapat terasa sedikit mencolok dan futuristik, dengan gambar mesin emas raksasa yang muncul di benak, komputer kuantum memiliki potensi terobosan komputasi dalam tugas-tugas klasik yang tidak dapat diselesaikan, seperti protokol kriptografi dan komunikasi, pencarian, dan fisika komputasi dan kimia. Salah satu tantangan utama dalam ilmu komputasi adalah berurusan dengan kompleksitas masalah dan jumlah komputasi yang dibutuhkan. Sementara komputer digital klasik membutuhkan jumlah bit eksponensial yang sangat besar untuk dapat memproses simulasi seperti itu, komputer kuantum dapat melakukannya, secara potensial, menggunakan jumlah qubit yang sangat kecil — jika ada program yang tepat.

Charles Yuan, seorang mahasiswa PhD MIT di bidang teknik elektro dan ilmu komputer dan penulis utama makalah tentang Twist, mengatakan Twist memungkinkan pengembang untuk menulis program kuantum yang lebih aman dengan secara eksplisit menyatakan kapan qubit tidak boleh terikat dengan yang lain. Karena memahami program kuantum membutuhkan pemahaman keterikatan. Yuan berharap Twist membuka jalan menuju bahasa yang membuat tantangan unik komputasi kuantum menjadi lebih mudah diakses oleh pemrogram.

Yuan menulis makalah tersebut bersama Chris McNally, seorang mahasiswa PhD di bidang teknik elektro dan ilmu komputer, Research Laboratory of Electronics yang berafiliasi dengan MIT, serta Michael Carbin, asisten profesor MIT. Mereka mempresentasikan penelitian tersebut pada konferensi Simposium Prinsip Pemrograman 2022 (POPL 2020) belum lama ini di Philadelphia.  Penelitian ini sendiri merupakan kerjasama MIT-IBM Watson AI Lab, National Science Foundation, dan Office of Naval Research.

Mengurai Keterikatan Kuantum

Bayangkan sebuah kotak kayu yang memiliki seribu kabel yang menonjol keluar dari satu sisi. Anda dapat menarik semua kabel keluar dari kotak, atau mendorongnya sepenuhnya.

Setelah Anda melakukan ini untuk beberapa saat, kabel membentuk pola bit — nol dan satu — tergantung pada apakah mereka masuk atau keluar. Kotak ini mewakili memori komputer klasik. Program untuk komputer ini adalah urutan instruksi kapan dan bagaimana menarik kabel.

Sekarang bayangkan kotak kedua yang tampak identik. Kali ini, Anda menarik kabel, dan melihat bahwa saat kabel itu muncul, beberapa kabel lain ditarik kembali ke dalam. Jelas, di dalam kotak, kabel-kabel ini entah bagaimana terikat satu sama lain.

Bahasa Pemrograman Baru Komputasi Kuantum
Bidang komputasi kuantum yang baru terasa mencolok dan futuristik. / Gambar:: Graham Carlow/IBM

Kotak kedua adalah analogi untuk komputer kuantum, dan memahami arti program kuantum membutuhkan pemahaman tentang keterikatan yang ada dalam datanya. Tetapi mendeteksi keterikatan tidaklah mudah. Anda tidak dapat melihat ke dalam kotak kayu, jadi yang terbaik yang dapat Anda lakukan adalah mencoba menarik kabel dan mempertimbangkan dengan cermat kabel mana yang terikat. Dengan cara yang sama, pemrogram kuantum saat ini harus mempertimbangkan keterikatan dengan tangan. Di sinilah Twist membantu mengidentifikasi beberapa bagian yang saling terikat.

Para ilmuwan merancang Twist agar cukup ekspresif untuk menulis program untuk algoritme kuantum terkenal dan mengidentifikasi bug dalam implementasinya. Untuk mengevaluasi desain Twist, mereka memodifikasi program untuk memperkenalkan beberapa jenis bug yang akan relatif halus untuk dideteksi oleh programmer manusia, dan menunjukkan bahwa Twist dapat secara otomatis mengidentifikasi bug dan menolak program.

Mereka juga mengukur seberapa baik kinerja program dalam praktik runtime, yang memiliki overhead kurang dari 4 persen dibandingkan teknik pemrograman kuantum yang sudah ada.

Bagi mereka yang waspada terhadap reputasi “kumuh” kuantum dalam potensinya untuk merusak sistem enkripsi, Yuan mengatakan masih belum diketahui sejauh mana komputer kuantum benar-benar dapat mencapai hal tersebut. Ada banyak penelitian yang terjadi dalam kriptografi pasca-kuantum, karena komputasi kuantum tidak sepenuhnya kuat. Sejauh ini, ada serangkaian aplikasi yang sangat spesifik di mana orang telah mengembangkan algoritma dan teknik di mana komputer kuantum dapat mengungguli komputer klasik.

Langkah penting berikutnya adalah menggunakan Twist untuk membuat bahasa pemrograman kuantum tingkat tinggi. Sebagian besar bahasa pemrograman kuantum saat ini masih menyerupai bahasa rakitan, menyatukan operasi tingkat rendah, tanpa perhatian terhadap hal-hal seperti tipe dan fungsi data, dan apa yang khas dalam rekayasa perangkat lunak klasik.

Fred Chong, Profesor Ilmu Komputer Seymour Goodman di Universitas Chicago dan kepala ilmuwan di Super.tech. mengatakan kalau komputer kuantum rawan kesalahan dan sulit diprogram. Dengan memperkenalkan dan menalar tentang ‘kemurnian’ kode program, Twist mengambil langkah besar untuk membuat pemrograman kuantum lebih mudah dengan menjamin bahwa bit kuantum dalam potongan kode murni tidak dapat diubah oleh bit yang tidak ada dalam kode itu.

Sumber: (https://scitechdaily.com/twist-mits-new-programming-language-for-quantum-computing/)