Introduction
Quantum circuit adalah cara menulis komputasi kuantum sebagai rangkaian langkah yang dapat dibaca, dihitung, disimulasikan, dan akhirnya dijalankan pada perangkat kuantum. Jika rangkaian listrik klasik memakai kabel dan gerbang logika seperti AND, OR, dan NOT, maka quantum circuit memakai qubit, gerbang kuantum, dan pengukuran. Namun kemiripannya hanya sebagian. Di dalam quantum circuit, informasi tidak selalu berupa 0 atau 1 yang pasti. Sebelum diukur, keadaan sebuah qubit digambarkan oleh vektor kompleks, dan aturan perubahannya mengikuti mekanika kuantum, bukan logika Boolean biasa (Nielsen and Chuang, 2010).
Buku ini ditulis untuk membantu Anda menjawab pertanyaan yang sangat praktis: bagaimana membaca quantum circuit, bagaimana membuatnya, dan bagaimana tahu bahwa circuit itu benar? Kita akan mulai dari dasar, bukan dari algoritma besar. Sebelum berbicara tentang teleportasi kuantum, Grover search, atau quantum Fourier transform, kita harus bisa menjawab hal-hal kecil dengan mantap: apa arti satu garis pada diagram circuit, apa arti kotak bertuliskan H, bagaimana menghitung hasil setelah dua gerbang, dan mengapa pengukuran menghasilkan probabilitas.
Mengapa quantum circuit perlu dipelajari?
Komputer klasik sangat berhasil karena kita punya cara yang jelas untuk memecah perhitungan menjadi langkah-langkah kecil. Misalnya, penjumlahan bilangan dapat dibangun dari gerbang logika sederhana. Quantum computing juga membutuhkan bahasa seperti itu. Bahasa yang paling umum adalah model circuit kuantum, yaitu model komputasi yang menyusun operasi kuantum menjadi urutan gerbang pada qubit (Nielsen and Chuang, 2010; Mermin, 2007).
Motivasi awal quantum computing bukan sekadar “membuat komputer lebih cepat”. Pernyataan itu terlalu kasar dan sering menyesatkan. Quantum computer tidak otomatis mempercepat semua masalah. Motivasi yang lebih tepat adalah: sistem kuantum tampaknya sulit disimulasikan secara efisien oleh komputer klasik, sehingga perangkat yang juga mengikuti hukum kuantum mungkin menjadi cara alami untuk mensimulasikannya. Gagasan ini terkenal dari argumen Richard Feynman tentang simulasi fisika dengan komputer (Feynman, 1982). Kemudian, David Deutsch merumuskan gagasan komputer kuantum universal dalam kerangka teori komputasi (Deutsch, 1985).
Contoh sederhananya begini. Untuk mendeskripsikan satu qubit, kita membutuhkan dua amplitudo kompleks, misalnya
\[ |\psi\rangle = \alpha|0\rangle + \beta|1\rangle. \]
Simbol \(|0\rangle\) dan \(|1\rangle\) adalah dua keadaan dasar, mirip label 0 dan 1, tetapi secara matematis mereka adalah vektor basis. Bilangan kompleks \(\alpha\) dan \(\beta\) disebut amplitudo. Ketika qubit diukur dalam basis standar, peluang memperoleh hasil 0 adalah \(|\alpha|^2\), dan peluang memperoleh hasil 1 adalah \(|\beta|^2\), dengan syarat normalisasi
\[ |\alpha|^2 + |\beta|^2 = 1. \]
Aturan “amplitudo dikuadratkan menjadi probabilitas” adalah salah satu aturan dasar pengukuran dalam mekanika kuantum yang dipakai dalam quantum computation (Nielsen and Chuang, 2010).
Untuk dua qubit, keadaan umum membutuhkan empat amplitudo:
\[ |\psi\rangle = a_{00}|00\rangle + a_{01}|01\rangle + a_{10}|10\rangle + a_{11}|11\rangle. \]
Untuk tiga qubit, ada delapan amplitudo. Untuk \(n\) qubit, ada \(2^n\) amplitudo. Fakta matematis ini penting, tetapi harus dibaca hati-hati. Ini tidak berarti quantum computer bisa langsung “mencoba semua jawaban” dan membaca semuanya sekaligus. Saat diukur, kita tetap memperoleh hasil klasik tertentu, bukan seluruh daftar amplitudo. Kekuatan quantum algorithm berasal dari cara amplitudo dapat saling memperkuat atau saling meniadakan melalui interferensi, bukan dari membaca semua kemungkinan secara gratis (Mermin, 2007).
Apa itu circuit dalam buku ini?
Dalam buku ini, sebuah quantum circuit akan dipahami sebagai resep terstruktur yang terdiri dari tiga bahan utama.
Pertama, ada register qubit, yaitu kumpulan qubit yang menjadi tempat informasi kuantum berada. Pada diagram, qubit biasanya digambar sebagai garis horizontal. Misalnya, satu garis berarti satu qubit:
q: ─────
Dua garis berarti dua qubit:
q0: ─────
q1: ─────
Kedua, ada gerbang kuantum atau quantum gate. Gerbang adalah operasi yang mengubah keadaan qubit. Banyak gerbang kuantum ideal direpresentasikan oleh matriks unitary. Sebuah matriks \(U\) disebut unitary jika memenuhi
\[ U^\dagger U = I, \]
di mana \(U^\dagger\) adalah transpose-konjugat dari \(U\), dan \(I\) adalah matriks identitas. Secara intuitif, operasi unitary menjaga total probabilitas tetap 1. Karena itu, gerbang kuantum ideal tidak boleh mengubah keadaan valid menjadi keadaan yang probabilitas totalnya bukan 1 (Nielsen and Chuang, 2010).
Contoh gerbang sederhana adalah gerbang \(X\), yang berperan seperti NOT pada satu qubit dalam basis standar:
\[ X|0\rangle = |1\rangle,\qquad X|1\rangle = |0\rangle. \]
Dalam diagram circuit, ia sering ditulis seperti ini:
q: ──X──
Jika inputnya \(|0\rangle\), outputnya \(|1\rangle\). Jika inputnya \(|1\rangle\), outputnya \(|0\rangle\). Namun tidak semua gerbang kuantum hanya menukar 0 dan 1. Gerbang Hadamard, ditulis \(H\), dapat mengubah \(|0\rangle\) menjadi superposisi:
\[ H|0\rangle = \frac{|0\rangle + |1\rangle}{\sqrt{2}}. \]
Jika keadaan ini diukur, hasil 0 muncul dengan peluang \(1/2\), dan hasil 1 juga dengan peluang \(1/2\). Ini bukan karena qubit “diam-diam sudah memilih” 0 atau 1 dalam model circuit standar, melainkan karena keadaan sebelum pengukuran memiliki dua amplitudo yang sama besar (Nielsen and Chuang, 2010).
Ketiga, ada measurement atau pengukuran. Pengukuran adalah proses yang mengubah informasi kuantum menjadi hasil klasik yang dapat dicatat, seperti 0 atau 1. Pada diagram, pengukuran sering digambar dengan simbol meter atau kotak measurement:
q: ──H──M──
Circuit ini berarti: mulai dari suatu keadaan awal, terapkan gerbang \(H\), lalu ukur qubit. Jika keadaan awalnya \(|0\rangle\), maka sebelum pengukuran keadaan menjadi \((|0\rangle+|1\rangle)/\sqrt{2}\), sehingga hasil pengukuran 0 dan 1 masing-masing memiliki peluang \(1/2\).
Cara membaca quantum circuit
Quantum circuit biasanya dibaca dari kiri ke kanan. Waktu mengalir dari kiri menuju kanan. Garis horizontal adalah qubit, dan simbol pada garis adalah operasi yang diterapkan pada qubit tersebut. Jika ada beberapa garis, operasi yang sejajar secara vertikal biasanya dianggap terjadi pada langkah waktu yang sama atau setidaknya tidak saling bergantung dalam urutan diagram ideal.
Misalnya:
q0: ──H──●──
│
q1: ─────X──
Circuit ini memiliki dua qubit. Pada qubit pertama, kita menerapkan gerbang \(H\). Setelah itu ada gerbang dua-qubit: titik hitam pada q0 dan simbol X pada q1. Ini adalah gerbang CNOT, singkatan dari controlled-NOT. Artinya, qubit kedua dibalik oleh \(X\) jika qubit pertama bernilai 1 dalam basis komputasi. Qubit pertama disebut control, dan qubit kedua disebut target.
Jika inputnya \(|00\rangle\), maka setelah \(H\) pada qubit pertama, keadaan menjadi
\[ \frac{|00\rangle + |10\rangle}{\sqrt{2}}. \]
Kemudian CNOT membalik qubit kedua pada komponen yang qubit pertamanya 1. Jadi \(|10\rangle\) berubah menjadi \(|11\rangle\), sedangkan \(|00\rangle\) tetap \(|00\rangle\). Outputnya adalah
\[ \frac{|00\rangle + |11\rangle}{\sqrt{2}}. \]
Keadaan ini adalah contoh entangled state, yaitu keadaan dua qubit yang tidak dapat ditulis sebagai perkalian keadaan qubit pertama dan keadaan qubit kedua secara terpisah. Entanglement adalah salah satu sumber perbedaan mendasar antara informasi klasik dan informasi kuantum (Nielsen and Chuang, 2010; Mermin, 2007).
Contoh ini juga menunjukkan gaya belajar dalam buku ini. Kita tidak hanya akan berkata “gerbang ini membuat entanglement”. Kita akan menghitungnya. Kita akan menulis keadaan awal, menerapkan gerbang satu per satu, lalu membaca hasilnya.
Apa yang akan dibangun secara bertahap?
Buku ini bergerak dari konsep paling dasar menuju kemampuan merancang circuit sendiri.
Pada Chapter 1, kita mulai dari qubit sebagai vektor dalam ruang kompleks dua dimensi. Kata “ruang” di sini bukan ruang fisik seperti kamar, melainkan himpunan objek matematis yang dapat dijumlahkan dan dikalikan dengan skalar. Kita akan belajar basis \(|0\rangle\), \(|1\rangle\), superposisi, normalisasi, fase, Bloch sphere, dan pengukuran.
Pada Chapter 2, kita masuk ke gerbang satu-qubit. Gerbang seperti \(X\), \(Y\), \(Z\), \(H\), \(S\), \(T\), dan rotasi akan dipahami melalui matriks dan perubahan keadaan. Tujuannya bukan menghafal tabel, tetapi memahami bagaimana sebuah simbol pada circuit mengubah vektor keadaan.
Pada Chapter 3, kita memperluas dari satu qubit ke banyak qubit. Di sini muncul tensor product, yaitu operasi matematis untuk menggabungkan ruang keadaan beberapa sistem. Tensor product menjelaskan mengapa dua qubit memiliki empat basis \(|00\rangle, |01\rangle, |10\rangle, |11\rangle\), dan mengapa urutan basis harus dibaca dengan konsisten.
Pada Chapter 4, kita mempelajari gerbang terkontrol seperti CNOT, CZ, controlled rotation, SWAP, dan Toffoli. Gerbang-gerbang ini penting karena banyak circuit kuantum dibangun dari kombinasi operasi satu-qubit dan operasi terkontrol. Gerbang Toffoli juga menunjukkan hubungan antara komputasi kuantum dan logika reversibel klasik, yaitu logika yang inputnya dapat dipulihkan dari outputnya.
Pada Chapter 5, kita mengembangkan metode sistematis untuk membaca dan menganalisis circuit. Metodenya sederhana tetapi kuat: tulis input, pilih basis, terapkan gerbang dari kiri ke kanan, sederhanakan jika mungkin, lalu hitung probabilitas pengukuran.
Pada Chapter 6, kita mengenali pola-pola circuit yang sering muncul: Bell-state preparation, phase kickback, perubahan basis, teleportasi kuantum, superdense coding, dan circuit interferensi sederhana. Pola ini seperti kosakata. Setelah mengenalnya, Anda akan lebih cepat membaca circuit yang panjang.
Pada Chapter 7, kita menghubungkan circuit dengan algoritma. Kita akan melihat ide di balik Deutsch-Jozsa, Bernstein-Vazirani, dasar quantum Fourier transform, intuisi phase estimation, dan Grover search. Pembahasannya tetap bertahap: bukan hanya “algoritma ini cepat”, tetapi bagian circuit mana yang menciptakan informasi yang bisa diukur?
Pada Chapter 8, kita turun ke kenyataan perangkat. Quantum circuit ideal adalah model matematis. Perangkat nyata memiliki noise, decoherence, gate error, readout error, keterbatasan konektivitas, dan batas kedalaman circuit. Istilah NISQ—Noisy Intermediate-Scale Quantum—digunakan untuk menggambarkan era perangkat kuantum yang memiliki jumlah qubit menengah tetapi masih berisik dan belum memiliki koreksi kesalahan skala besar yang penuh (Preskill, 2018).
Pada Chapter 9, kita belajar merancang, mensimulasikan, dan menguji circuit sendiri. Anda akan mulai dari spesifikasi tujuan, menerjemahkannya menjadi operasi, memeriksa statevector, membandingkan statistik pengukuran, dan mencari kesalahan umum seperti urutan qubit terbalik atau basis pengukuran yang tidak sesuai.
Cara berpikir yang akan kita pakai
Ada tiga kebiasaan yang akan terus dipakai.
Kebiasaan pertama adalah membedakan keadaan, operasi, dan hasil pengukuran. Keadaan adalah objek matematis seperti \(|\psi\rangle\). Operasi adalah perubahan seperti \(H|\psi\rangle\). Hasil pengukuran adalah data klasik seperti 0 atau 1. Banyak kebingungan muncul ketika tiga hal ini dicampur.
Sebagai contoh, setelah menerapkan \(H\) pada \(|0\rangle\), keadaan menjadi
\[ \frac{|0\rangle + |1\rangle}{\sqrt{2}}. \]
Itu bukan hasil pengukuran. Itu keadaan sebelum pengukuran. Hasil pengukuran baru muncul ketika kita mengukur, dan hasilnya bisa 0 atau 1 dengan probabilitas tertentu.
Kebiasaan kedua adalah menghitung sebelum menebak. Quantum circuit sering terlihat misterius karena simbolnya padat. Tetapi untuk circuit kecil, kita dapat menghitung semuanya secara eksplisit. Jika ada dua qubit, kita dapat menulis empat amplitudo. Jika ada tiga qubit, kita dapat menulis delapan amplitudo. Dengan latihan, diagram yang awalnya tampak asing akan berubah menjadi urutan operasi yang jelas.
Kebiasaan ketiga adalah mencari interferensi. Dalam komputasi kuantum, amplitudo dapat bertambah atau saling meniadakan. Misalnya, jika dua jalur komputasi menghasilkan amplitudo dengan tanda yang sama, probabilitas hasil tertentu dapat meningkat. Jika tanda atau fasenya berlawanan, probabilitas dapat menurun atau bahkan menjadi nol. Banyak algoritma kuantum dirancang agar jawaban yang salah mengalami interferensi destruktif dan jawaban yang benar mengalami interferensi konstruktif, meskipun detailnya berbeda untuk setiap algoritma (Nielsen and Chuang, 2010).
Apa yang tidak diasumsikan oleh buku ini?
Buku ini tidak mengasumsikan bahwa Anda sudah pernah memprogram quantum computer. Buku ini juga tidak mengasumsikan bahwa Anda sudah menguasai mekanika kuantum formal. Namun, karena levelnya undergraduate, kita akan memakai aljabar linear dasar: vektor, matriks, perkalian matriks-vektor, bilangan kompleks, dan probabilitas.
Jika istilah seperti “vektor eigen”, “basis ortonormal”, atau “tensor product” belum akrab, tidak apa-apa. Istilah itu akan dijelaskan saat diperlukan. Yang penting adalah bersedia berhenti sejenak ketika definisi muncul. Dalam quantum computing, definisi kecil sering membawa konsekuensi besar.
Buku ini juga tidak akan menjual quantum computing sebagai keajaiban. Quantum circuit adalah alat matematis dan teknologis yang sangat kuat, tetapi juga memiliki batas. Perangkat nyata masih menghadapi noise dan keterbatasan kontrol, dan tidak semua masalah memperoleh speedup kuantum yang diketahui (Preskill, 2018). Justru karena itu, belajar dari first principles sangat penting. Dengan dasar yang benar, Anda dapat membedakan klaim yang masuk akal dari klaim yang berlebihan.
Tujuan setelah membaca pendahuluan ini
Setelah bagian ini, Anda sebaiknya membawa gambaran awal berikut:
Quantum circuit adalah diagram komputasi yang bekerja pada qubit. Qubit memiliki keadaan yang dinyatakan dengan amplitudo kompleks. Gerbang mengubah keadaan tersebut, biasanya melalui operasi unitary. Pengukuran mengubah keadaan kuantum menjadi hasil klasik dengan probabilitas yang ditentukan oleh amplitudo. Circuit dibaca dari kiri ke kanan, dan untuk memahami circuit kecil kita dapat menelusuri keadaan langkah demi langkah.
Itu sudah cukup untuk mulai. Pada chapter berikutnya, kita akan memperlambat langkah dan membangun semuanya dari dasar: apa sebenarnya qubit, bagaimana menulisnya sebagai vektor, dan bagaimana pengukuran mengubah amplitudo menjadi probabilitas.
References
- Deutsch, David. “Quantum theory, the Church-Turing principle and the universal quantum computer.” Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences 400, no. 1818 (1985): 97–117.
- Feynman, Richard P. “Simulating physics with computers.” International Journal of Theoretical Physics 21 (1982): 467–488.
- Mermin, N. David. Quantum Computer Science: An Introduction. Cambridge University Press, 2007.
- Nielsen, Michael A., and Isaac L. Chuang. Quantum Computation and Quantum Information: 10th Anniversary Edition. Cambridge University Press, 2010.
- Preskill, John. “Quantum Computing in the NISQ era and beyond.” Quantum 2 (2018): 79.