- Linear accuracy
# ini adlaah module dari IBM utnuk mesimulasikan konsep Quantum Computing
from qiskit import QuantumCircuit, Aer, execute
# membuat sirkuit kuantum dengan 1 qubit
qc = QuantumCircuit(1)
# menerapkan gerbang Hadamard (membuat superposisi)
qc.h(0)
# menambahkan pengukuran
qc.measure_all()
# menjalankan simulasi
simulator = Aer.get_backend('aer_simulator')
job = execute(qc, simulator, shots=1000)
result = job.result()
counts = result.get_counts()
print(counts) # hasilnya harus mendekati {'0': 500, '1': 500}- Visualisasi
from qiskit import QuantumCircuit
qc = QuantumCircuit(2) # memuat quantum circuit dengan 2 qubit
qc.h(0) # memberi gerbang Hadamard ke qubit pertama (superposisi)
qc.cx(0, 1) # entanglement antara qubit 0 dan 1
qc.measure_all() # mengukur semua qubit
print(qc)maka ouputnya akan seperti ini
┌───┐ ░ ┌─┐
q_0: ┤ H ├──■───░─┤M├───
└───┘┌─┴─┐ ░ └╥┘┌─┐
q_1: ─────┤ X ├─░──╫─┤M├
└───┘ ░ ║ └╥┘
meas: 2/══════════════╩══╩═
0 1Qubit (quantum bit) adalah e;emen dasar informasi kuantum, analog dengan bit klasik namun dengan properti kuantum yang beda. Berbeda dengan bit klasik yang hanya dapat berada dalam keadaan 0 atau 1, qubit dapat berada dalam superposisi keduanya.
Secara matematis, keadaan qubit dapat direpresentasikan sebagai vektor keadaan dalam ruang Hilbert dua dimensi. dengan cara menggunakan notasi Dirac, basis komputasi standar yg bisa di tulskan seperti ini:
- |0⟩ = [1, 0]ᵀ (analog dengan bit klasik 0)
- |1⟩ = [0, 1]ᵀ (analog dengan bit klasik 1)
Keadaan umum sebuah qubit dapat dituliskan sebagai kombinasi linear dari basis komputasi:
|ψ⟩ = α|0⟩ + β|1⟩
dimana α dan β adalah bilangan kompleks yang memenuhi syarat normalisasi:
|α|² + |β|² = 1
Koefisien α dan β menentukan amplitudo probabilitas. Ketika qubit diukur dalam basis komputasi standar:
- Probabilitas mendapatkan hasil |0⟩ adalah |α|²
- Probabilitas mendapatkan hasil |1⟩ adalah |β|²
Keadaan murni sebuah qubit dapat divisualisasikan pada bola, dimana:
|ψ⟩ = cos(θ/2)|0⟩ + e^(iφ)sin(θ/2)|1⟩
dengan:
- θ adalah sudut polar (0 ≤ θ ≤ π)
- φ adalah sudut azimuthal (0 ≤ φ < 2π)
Keadaan klasik(komputer klasik) |0⟩ dan |1⟩ berada pada kutub utara dan selatan bola, sedangkan superposisi berada di tempat lain pada permukaan bola.
Superposisi adalah keadaan kuantum dimana sistem berada dalam beberapa keadaan basis secara simultan sampai saat pengukuran.
Kalau |ψ₁⟩, |ψ₂⟩, ..., |ψₙ⟩ adalah keadaan kuantum yang mungkin, maka superposisi linear mereka:
|ψ⟩ = c₁|ψ₁⟩ + c₂|ψ₂⟩ + ... + cₙ|ψₙ⟩
juga merupakan keadaan kuantum yang valid, dengan syarat normalisasi |c₁|² + |c₂|² + ... + |cₙ|² = 1.
-
Keadaan Bell: Keadaan terbelit maksimal antara dua qubit: |Φ⁺⟩ = (|00⟩ + |11⟩)/√2
-
Keadaan Superposisi Merata: Dibuat dengan menerapkan gerbang Hadamard pada keadaan |0⟩: H|0⟩ = (|0⟩ + |1⟩)/√2
-
Keadaan GHZ: Superposisi multi-qubit: |GHZ⟩ = (|000...0⟩ + |111...1⟩)/√2
-
Keadaan W: Superposisi dengan satu qubit dalam keadaan |1⟩: |W⟩ = (|100...0⟩ + |010...0⟩ + ... + |000...1⟩)/√n
Salah satu cara paling mudah buat menciptakan superposisi itu menggunakan gerbang Hadamard:
- Mulai dengan qubit dalam keadaan basis |0⟩
- Terapkan gerbang Hadamard (H) untuk mendapatkan: H|0⟩ = (|0⟩ + |1⟩)/√2
Untuk membuat superposisi dari n qubit, kita harusmenerapkan gerbang Hadamard pada semua qubit: H⊗ⁿ|0⟩⊗ⁿ = (1/√2ⁿ) ∑ₓ |x⟩
dimana jumlahan dilakukan atas semua 2ⁿ string biner x.
Register qubit terdiri dari beberapa qubit yg beroperasi bersama. Keadaan register Nqubit berada dalam ruang Hilbert 2ⁿ dimensi, yang memungkinkan superposisinya eksponensial.
Keadaan umum register n-qubit:
|ψ⟩ = ∑ₓ cₓ|x⟩
dimana x berjalan melalui semua 2ⁿ string biner dan ∑ₓ |cₓ|² = 1.
Saat pengukuran dilakukan pada qubit dalam superposisi:
- Keadaan kuantum "kolaps" ke salah satu keadaan basis
- Hasil pengukuran bersifat probabilistik
- Informasi superposisi hilang setelah pengukuran
Untuk keadaan |ψ⟩ = α|0⟩ + β|1⟩, pengukuran menghasilkan:
- |0⟩ dengan probabilitas |α|²
- |1⟩ dengan probabilitas |β|²
-
Interferensi Kuantum: Amplitudo probabilitas bisa saling memperkuat atau meniadakan, menghasilkan pola interferensi yg tidak ada padanannya dalam komputer klasik.
-
Entanglement (Keterbelitan): Keadaan dua atau lebih qubit yang tidak dapat dideskripsikan secara terpisah. Contohnya: |Φ⁺⟩ = (|00⟩ + |11⟩)/√2
-
Paralelisme Kuantum: Kemampuan untuk mengevaluasi fungsi pada superposisi input, secara efektif melakukan banyak perhitungan secara simultan.
Untuk menggabungkan sistem qubit, gunakan produk tensor: |ψ₁⟩ ⊗ |ψ₂⟩ = |ψ₁ψ₂⟩
Contoh: (α|0⟩ + β|1⟩) ⊗ (γ|0⟩ + δ|1⟩) = αγ|00⟩ + αδ|01⟩ + βγ|10⟩ + βδ|11⟩
Evolusi keadaan kuantum diberikan oleh operator uniter U: |ψ(t)⟩ = U|ψ(0)⟩
Dalam kasus kontinu: i·ħ·∂|ψ(t)⟩/∂t = H|ψ(t)⟩
dimana H ini adalah operator Hamiltonian sistem.
Untuk sistem campuran, keadaan dapat direpresentasikan dengan operator densitas: ρ = ∑ᵢ pᵢ|ψᵢ⟩⟨ψᵢ|
dimana pᵢ adalah probabilitas klasik bahwa sistem berada dalam keadaan |ψᵢ⟩.
Konsep qubit & superposisi adalah fondasi bagi algoritma kuantum seperti Deutsch Jozsa, Grover, dan Shor:
-
Algoritma Deutsch-Jozsa: Memanfatkan superposisi untuk mengevaluasi fungsi f(x) pada semua input secara simultan.
-
Algoritma Grover: Menggunakan superposisi dan interferensi kuantum buat mempercepat pencarian dalam database yg tidak terurut.
-
Algoritma Shor: Memanfaatkan transformasi Fourier kuantum yang bekerja pada superposisi untuk faktorisasi bilangan besar.
1️⃣ Apa Itu Entanglement? Entanglement (keterkaitan kuantum) adalah fenomena di mana dua qubit menjadi saling terhubung, sehingga mengubah satu qubit akan langsung mempengaruhi qubit lainnya, meskipun mereka berjauhan.
💡 Contoh Analoginya: Bayangkan kamu dan temanmu masing2 punya sebuah kotak ajaib.
Kalau kamu buka kotakmu dan isinya bola merah, maka temanmu pasti juga menemukan bola merah di kotaknya, meskipun dia ada di tempat yang sangat jauh. Kalau kamu buka dan isinya bola biru, maka temanmu juga akan menemukan bola biru. Ini terjadi tanpa ada koneksi langsung antara kedua kotak! Itulah entanglement. Begitu satu qubit diukur, qubit lainnya langsung "tertentu" hasilnya, meskipun sebelumnya masih dalam superposisi.
2️⃣ Cara Membuat Entanglement dengan Qiskit Kita bisa membuat dua qubit ter entangle dengan menggunakan dua gerbang kuantum utama:
Hadamard (H-Gate) → Membuat superposisi. CNOT (CX-Gate) → Menghubungkan dua qubit agar ter-entangle.
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit import transpile
# membuat quantum circuit dengan 2 qubit
qc = QuantumCircuit(2)
# gerbang Hadamard ke qubit pertama (superposisi)
qc.h(0)
# menerapkan gerbang CNOT (menghubungkan qubit 0 dan qubit 1)
qc.cx(0, 1)
# menambahkan pengukuran
qc.measure_all()
# sirkuitnya
print(qc)
# simulator nya
simulator = AerSimulator()
compiled_circuit = transpile(qc, simulator)
result = simulator.run(compiled_circuit, shots=1000).result()
print(result.get_counts())result :
┌───┐ ░ ┌─┐
q_0: ┤ H ├──■───░─┤M├───
└───┘┌─┴─┐ ░ └╥┘┌─┐
q_1: ─────┤ X ├─░──╫─┤M├
└───┘ ░ ║ └╥┘
meas: 2/══════════════╩══╩═
0 1
{'11': 497, '00': 503}
Entanglement atau keterkaitan kuantum adalah salah satu fenomena paling misterius dan fundamental dalam mekanika kuantum. Fenomena ini menjadi dasar bagi berbagai aplikasi kuantum modern termasuk komputasi kuantum, kriptografi kuantum, dan teleportasi kuantum.
Entanglement terjadi ketika dua atau lebih partikel berinteraksi sedemikian rupa sehingga keadaan kuantum masing2 partikel tidak dapat dijelaskan secara independen. Sebagai gantinya, keadaan kuantum harus dijelaskan sebagai keadaan sistem secara keseluruhan, bahkan ketika partikel2 tersebut dipisahkan oleh jarak yang sangat jauh.
Secara matematis, keadaan terbelit (entangled state) adalah keadaan kuantum dari sistem multi-partikel yang tidak dapat ditulis sebagai produk tensor dari keadaan individual partikel:
dengan
Keadaan Bell adalah contoh paling sederhana dari keadaan terbelit maksimal antara dua qubit. Terdapat empat keadaan Bell yang membentuk basis ortonormal dalam ruang Hilbert dimensi empat dari sistem dua qubit:
Keadaan
Rangkaian Bell adalah cara standar untuk menciptakan keadaan Bell
q₀: ───H───●───
│
q₁: ───────X───
Rangkaian ini terdiri dari gerbang Hadamard pada qubit pertama diikuti oleh gerbang CNOT dengan qubit pertama sebagai kontrol dan qubit kedua sebagai target.
Analisis matematisnya adalah sebagai berikut:
- Keadaan awal:
$|00\rangle$ - Setelah Hadamard pada q₀:
$\frac{1}{\sqrt{2}}(|00\rangle + |10\rangle)$ - Setelah CNOT:
$\frac{1}{\sqrt{2}}(|00\rangle + |11\rangle) = |\Phi^+\rangle$
Untuk menciptakan keadaan Bell lainnya, kita dapat memodifikasi rangkaian Bell dasar:
- Untuk
$|\Phi^-\rangle$ : Tambahkan gerbang Z pada q₁ setelah CNOT - Untuk
$|\Psi^+\rangle$ : Tambahkan gerbang X pada q₁ sebelum CNOT - Untuk
$|\Psi^-\rangle$ : Tambahkan gerbang X pada q₁ sebelum CNOT dan gerbang Z pada q₁ setelah CNOT
Ketika dua partikel terbelit, pengukuran pada satu partikel secara instan memengaruhi hasil pengukuran pada partikel lain, terlepas dari jarak yang memisahkan keduanya. Inilah yang disebut Einstein sebagai "spooky action at a distance" (aksi hantu pada jarak jauh).
Misalnya, kalau kita memiliki keadaan Bell
- Jika q₀ diukur dan hasilnya |0⟩, maka q₁ juga akan terukur sebagai |0⟩
- Jika q₀ diukur dan hasilnya |1⟩, maka q₁ juga akan terukur sebagai |1⟩
Korelasi ini bersifat probabilistik tapo sempurna, dan melanggar gagasan klasik kalau informasi tidak dapat berpindah lebih cepat dari kecepatan cahaya.
Albert Einstein, Boris Podolsky, dan Nathan Rosen (EPR) memperkenalkan paradoks yang menantang kelengkapan mekanika kuantum. Mereka berpendapat bahwa entanglement menunjukkan bahwa mekanika kuantum tidak lengkap, dan harus ada "variabel tersembunyi" yang menentukan hasil pengukuran.
John Bell kemudian merumuskan pertidaksamaan matematis (Bell's inequalities) yang malah menunjukkan kalau prediksi mekanika kuantum tidak kompatibel dengan teori variabel tersembunyi lokal. Eksperimen yang dilakukan sejak saat itu secara konsisten melanggar pertidaksamaan Bell, mendukung prediksi mekanika kuantum dan menunjukkan bahwa entanglement adalah fenomena nyata.
Pertidaksamaan Bell yang paling sederhana adalah pertidaksamaan CHSH:
di mana
Mekanika kuantum memprediksi nilai maksimum
Ketika pengukuran dilakukan pada satu qubit dari pasangan terbelit, keadaan kedua qubit akan mengalami "proyeksi" atau "kolaps" sesuai dengan hasil pengukuran qubit pertama.
Misalnya, untuk keadaan Bell
- Jika q₀ diukur dalam basis komputasi dan hasilnya |0⟩, keadaan sistem akan berubah menjadi |00⟩
- Jika q₀ diukur dalam basis komputasi dan hasilnya |1⟩, keadaan sistem akan berubah menjadi |11⟩
Matriks densitas adalah cara yang berguna untuk menganalisis entanglement, terutama dalam sistem campuran. Untuk sistem murni dua qubit, matriks densitasnya adalah:
Matriks densitas tereduksi dari subsistem A diperoleh dengan melakukan partial trace terhadap subsistem B:
Jika keadaan terbelit, maka
Beberapa ukuran entanglement yang umum digunakan:
-
Entropi von Neumann:
$S(\rho_A) = -\text{Tr}(\rho_A \log_2 \rho_A)$ - Untuk keadaan terbelit maksimal,
$S(\rho_A) = 1$ - Untuk keadaan terpisah,
$S(\rho_A) = 0$
- Untuk keadaan terbelit maksimal,
-
Concurrence:
$C(\rho) = \max{0, \lambda_1 - \lambda_2 - \lambda_3 - \lambda_4}$ - Di mana
$\lambda_i$ adalah akar kuadrat dari eigenvalue dari$\rho(\sigma_y \otimes \sigma_y)\rho^*(\sigma_y \otimes \sigma_y)$ dalam urutan menurun
- Di mana
-
Negativity: Jumlah eigenvalue negatif dari partial transpose matriks densitas
Teleportasi kuantum memungkinkan transfer keadaan kuantum dari satu lokasi ke lokasi lain menggunakan pasangan terbelit dan komunikasi klasik. Protokolnya melibatkan:
- Persiapan pasangan terbelit antara pengirim (Obama) dan penerima (Nabila)
- Pengirim melakukan operasi Bell pada qubit yang akan diteleportasikan dan bagian pasangan terbelitnya
- Pengirim mengukur kedua qubit dan mengirimkan hasil pengukuran (2 bit klasik) ke penerima
- Penerima melakukan koreksi pada qubitnya berdasarkan informasi yang diterima
Rangkaian kuantum untuk teleportasi:
┌───┐ ┌─┐
q₀: ──■──┤ H ├──■──┤M├───────────────── (qubit yang diteleportasikan)
│ └───┘ │ └─┘
q₁: ──┼─────────┼────┤M├─────────────── (qubit Obama dari)
│ │ └─┘ ┌───┐ ┌───┐
q₂: ──X─────────X─────────┤ X ├─┤ Z ├─ (qubit Nabila)
└───┘ └───┘
│ │
kontrol kontrol
dari dari
hasil hasil
q₀ q₁
Protokol BB84 dan E91 memanfaatkan entanglement untuk membuat kunci kriptografi yang aman secara teoritis. E91 secara khusus menggunakan pasangan terbelit untuk mendeteksi kehadiran penyadap.
Entanglement memungkinkan komputasi kuantum terdistribusi, dimana sumber daya kuantum dapat dibagi dan dioperasikan dari lokasi yang berbeda.
Keadaan Greenberger Horne Zeilinger (GHZ) adalah generalisasi keadaan Bell untuk tiga atau lebih qubit:
Keadaan W adalah jenis entanglement multi partite lain dengan sifat keterberadaan yang berbeda:
Entanglement multi partite memiliki struktur yang lebih kaya dan kompleks dibandingkan entanglement dua partite. Klasifikasi lengkap masih menjadi subjek penelitian aktif.
Algoritma ini memanfaatkan superposisi dan entanglement untuk menentukan apakah fungsi boolean bersifat konstan atau seimbang dengan satu evaluasi.
Algoritma pencarian Grover menciptakan entanglement antar qubit yang memungkinkan amplifikasi amplitudo keadaan target, mempercepat pencarian dalam database yg tidak terurut.
Algoritma Shor untuk faktorisasi bilangan besar memanfaatkan entanglement dalam transformasi Fourier kuantum, yang merupakan bagian kunci dari algoritma.
- Apa Itu Interferensi Kuantum? Dalam mekanika kuantum, interferensi terjadi ketika gelombang kuantum saling memperkuat atau saling membatalkan.
➡ Interferensi Konstruktif → Menguatkan probabilitas hasil tertentu. ➡ Interferensi Destruktif → Menghilangkan probabilitas hasil tertentu.
💡 Analogi:
Bayangkan dua orang melempar batu ke kolam air. Jika gelombang air bertemu dalam fase yang sama, gelombang akan semakin besar (interferensi konstruktif). Jika gelombang bertemu dalam fase berlawanan, mereka akan saling membatalkan (interferensi destruktif). Dalam komputasi kuantum, interferensi digunakan untuk meningkatkan kemungkinan jawaban yang benar dan mengurangi kemungkinan jawaban yang salah.
2️. Gerbang Kuantum yang Menggunakan Interferensi Beberapa gerbang kuantum memanfaatkan interferensi kuantum, di antaranya:
Hadamard (H-Gate) → Membuat superposisi dan menciptakan pola interferensi. Gerbang Fase (S, T, dan Z-Gate) → Mengubah fase qubit untuk mengontrol interferensi. Gerbang Hadamard Ganda (H-Gate Dua Kali) → Membatalkan superposisi dan mengembalikan qubit ke keadaan awal.
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit import transpile
# membuat quantum circuit dengan 1 qubit
qc = QuantumCircuit(1)
# gerbang Hadamard dua kali
qc.h(0) # hadamard pertama
qc.h(0) # hadamard kedua
# pengukuran
qc.measure_all()
# ini sirkuitnya
print(qc)
# simulator untuk menjalankan sirkuit
simulator = AerSimulator()
compiled_circuit = transpile(qc, simulator)
result = simulator.run(compiled_circuit, shots=1000).result()
print(result.get_counts())result :
┌───┐┌───┐ ░ ┌─┐
q: ┤ H ├┤ H ├─░─┤M├
└───┘└───┘ ░ └╥┘
meas: 1/══════════════╩═
0
{'0': 1000}
Bagaimana jika hadamard berkali kali?
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit import transpile
qc = QuantumCircuit(1)
# menerapkan Hadamard sebanyak 6 kali
for _ in range(1):
qc.h(0)
# Tambahkan pengukuran
qc.measure_all()
# mencetak sirkuitnya
print(qc)
# menggunakan simulator untuk menjalankan sirkuit
simulator = AerSimulator()
compiled_circuit = transpile(qc, simulator)
result = simulator.run(compiled_circuit, shots=1000).result()
print(result.get_counts())result :
┌───┐ ░ ┌─┐
q: ┤ H ├─░─┤M├
└───┘ ░ └╥┘
meas: 1/═════════╩═
0
{'1': 493, '0': 507}
🔹 Hadamard 1x → Membuat superposisi.
🔹 Hadamard 2x → Mengembalikan qubit ke keadaan awal (|0⟩).
🔹 Hadamard 3x → Sama seperti 1x (superposisi).
🔹 Hadamard 4x → Sama seperti 2x (kembali ke |0⟩).
🔹 Hadamard 6x → Sama seperti 2x dan 4x, hasilnya tetap |0⟩.
jadi, kalau Hadamard diterapkan genap kali (2, 4, 6, 8, ...), qubit kembali ke keadaan awal. alias Hadamard seperti saklar.
Dalam mekanika kuantum, interferensi terjadi ketika dua atau lebih gelombang probabilitas kuantum berinteraksi dan saling memengaruhi. Hal ini dapat menghasilkan efek konstruktif (penguatan) atau destruktif (pelemahan) pada amplitudo probabilitas.
Secara matematis, amplitudo probabilitas
dimana:
-
$c_i$ adalah koefisien kompleks yang menentukan amplitudo untuk keadaan basis$|i\rangle$ -
$|i\rangle$ adalah vektor keadaan basis dalam ruang Hilbert - Koefisien
$c_i$ dapat direpresentasikan sebagai$c_i = |c_i|e^{i\theta_i}$ dengan$\theta_i$ adalah fase -
$|c_i|^2$ memberikan probabilitas pengukuran sistem dalam keadaan$|i\rangle$ - Jumlah semua probabilitas harus sama dengan 1:
$\sum_i |c_i|^2 = 1$ (normalisasi)
Fase
Superposisi adalah prinsip dasar mekanika kuantum yang menyatakan bahwa sistem kuantum dapat berada dalam kombinasi linear dari keadaan-keadaan basis. Untuk sistem qubit tunggal:
dimana:
-
$\alpha$ dan$\beta$ adalah bilangan kompleks -
$|\alpha|^2 + |\beta|^2 = 1$ (kondisi normalisasi) -
$|0\rangle$ dan$|1\rangle$ adalah keadaan basis komputasional
Gerbang Hadamard (
Aksi gerbang Hadamard pada keadaan basis:
Keadaan
Algoritma Deutsch-Jozsa memanfaatkan interferensi kuantum untuk menentukan apakah sebuah fungsi Boolean
-
Inisialisasi dua register kuantum:
$$|\psi_0\rangle = |0\rangle^{\otimes n} |1\rangle$$ Dimana:
-
$|0\rangle^{\otimes n}$ menyatakan$n$ qubit dalam keadaan$|0\rangle$ - Qubit terakhir diinisialisasi ke keadaan
$|1\rangle$ untuk memfasilitasi transformasi fase
-
-
Penerapan Gerbang Hadamard ke semua qubit:
Keadaan ini merepresentasikan superposisi seragam dari semua nilai
-
Transformasi Oracle
$U_f$ :
dimana
Dengan substitusi
Karena
Perhatikan bahwa faktor
-
Penerapan Gerbang Hadamard Kembali ke
$n$ qubit pertama:
Transformasi Hadamard pada basis komputasional:
dimana
Jika
Ini terjadi karena interferensi destruktif meniadakan amplitudo untuk semua
Jika
Dengan mengukur register pertama, kita dapat menentukan apakah
- Jika
$f(x)$ konstan, probabilitas mengukur$|0\rangle^{\otimes n}$ adalah 1 - Jika
$f(x)$ seimbang, probabilitas mengukur$|0\rangle^{\otimes n}$ adalah 0
Algoritma Grover menggunakan interferensi untuk mencari elemen dalam database tak terurut dengan kompleksitas
- Inisialisasi sistem dalam superposisi seragam:
dimana
-
Iterasi Grover (diulang
$O(\sqrt{N})$ kali):a. Oracle (
$O$ ): Membalik fase keadaan target$|w\rangle$ :
Operator oracle dapat dituliskan sebagai:
b. Difusi (
dimana $|s\rangle = \frac{1}{\sqrt{N}}\sum_{x=0}^{N-1}|x\rangle$ adalah superposisi seragam.
Operator difusi memenuhi:
Efeknya adalah membalik amplitudo setiap keadaan $|x\rangle$ di sekitar nilai rata-rata dari semua amplitudo.
-
Pengukuran: Setelah
$O(\sqrt{N})$ iterasi, probabilitas mengukur keadaan target$|w\rangle$ mendekati 1.
Keadaan setelah
dimana:
-
$|s'\rangle$ adalah superposisi dari semua keadaan selain$|w\rangle$ $\sin\theta = 1/\sqrt{N}$ - Jumlah optimal iterasi adalah sekitar
$\frac{\pi}{4}\sqrt{N}$
Interferensi kuantum bekerja melalui dua mekanisme utama:
Ketika amplitudo probabilitas saling meniadakan, mengurangi kemungkinan pengukuran keadaan tertentu.
Contoh interferensi destruktif dalam algoritma Deutsch-Jozsa:
Ini terjadi karena setengah dari suku-suku dalam penjumlahan memiliki fase
Ketika amplitudo probabilitas saling memperkuat, meningkatkan kemungkinan pengukuran keadaan tertentu.
Dalam interferensi konstruktif, fase amplitudo selaras sehingga saling memperkuat. Contoh dalam algoritma Grover:
Ini meningkatkan amplitudo keadaan target
Untuk sembarang keadaan kuantum
Probabilitas mengukur keadaan
Jika
- Jika
$\theta_i \approx \theta_j$ , terjadi interferensi konstruktif - Jika
$\theta_i \approx \theta_j + \pi$ , terjadi interferensi destruktif
Lingkaran Bloch adalah representasi geometris dari keadaan qubit tunggal. Setiap keadaan qubit murni dapat ditulis sebagai:
dimana:
-
$\theta \in [0, \pi]$ adalah sudut polar (jarak dari kutub utara) -
$\phi \in [0, 2\pi)$ adalah sudut azimuthal (fase)
Transformasi Hadamard pada Lingkaran Bloch:
Evolusi keadaan kuantum diatur oleh persamaan Schrödinger:
dimana:
-
$\hbar$ adalah konstanta Planck tereduksi ($\hbar = h/2\pi \approx 1.054 \times 10^{-34}$ J·s) -
$H$ adalah operator Hamiltonian, yang merepresentasikan energi total sistem -
$|\psi(t)\rangle$ adalah keadaan kuantum yang bergantung waktu
Solusi umum persamaan Schrödinger:
dimana
Dalam komputasi kuantum, evolusi keadaan dapat dinyatakan sebagai:
dimana
Transformasi Fourier Kuantum (QFT) adalah analog kuantum dari Transformasi Fourier Diskrit klasik, dan merupakan bangunan dasar dqri banyak algoritma kuantum termasuk algoritma Shor.
Operator QFT didefinisikan sebagai:
dimana:
-
$N = 2^n$ adalah dimensi ruang Hilbert -
$j$ dan$k$ adalah bilangan bulat dalam rentang$0$ hingga$N-1$
jadi kalau didekomposisi ke dalam notasi biner, QFT dapat ditulis sebagai:
Komputer kuantum bisa menyelesaikan masalah tertentu lebih cepat dari komputer klasik. Di sini, kita akan belajar dua algoritma kuantum penting:
Algoritma Deutsch → Menentukan tipe fungsi dalam 1 langkah saja. Algoritma Grover → Mencari data lebih cepat dengan √N pencarian (daripada N pencarian di komputer klasik). Algoritma Deutsch
- Masalah yang Diselesaikan Kita punya fungsi f(x) yang menerima 0 atau 1, lalu mengembalikan 0 atau 1.
- Fungsi bisa bersifat konstan (hasil selalu sama) atau seimbang (hasil bisa berbeda).
- Fungsi f(x) f(0) f(1) Tipe f₁(x) 0 0 Konstan f₂(x) 1 1 Konstan f₃(x) 0 1 Seimbang f₄(x) 1 0 Seimbang Komputer klasik perlu cek dua kali (f(0) dan f(1)). Komputer kuantum hanya butuh 1 langkah dengan superposisi & interferensi kuantum saja
from qiskit import QuantumCircuit, transpile
from qiskit_aer import Aer
# membuat quantum circuit dengan 2 qubit (1 input, 1 output)
qc = QuantumCircuit(2)
# menerapkan Hadamard ke kedua qubit
qc.h(0)
qc.h(1)
# menerapkan gerbang CNOT untuk membuat fungsi seimbang
qc.cx(0, 1) # fungsi ini membuat f(x) seimbang
# menerapkan Hadamard lagi ke qubit pertama
qc.h(0)
# menambahkan pengukuran
qc.measure_all()
# ini sirkuitnya
print(qc)
# menggunakan simulator Aer
simulator = Aer.get_backend('aer_simulator')
compiled_circuit = transpile(qc, simulator)
# simulasi dengan execute
result = simulator.run(compiled_circuit, shots=1000).result()
print(result.get_counts())result
┌───┐ ┌───┐ ░ ┌─┐
q_0: ┤ H ├──■──┤ H ├─░─┤M├───
├───┤┌─┴─┐└───┘ ░ └╥┘┌─┐
q_1: ┤ H ├┤ X ├──────░──╫─┤M├
└───┘└───┘ ░ ║ └╥┘
meas: 2/═══════════════════╩══╩═
0 1
{'00': 529, '10': 471}
- H|0⟩ = (|0⟩ + |1⟩)/√2
- H|1⟩ = (|0⟩ - |1⟩)/√2
Dalam bentuk matriks, gerbang Hadamard direpresentasikan seperti ini:
H = 1/√2 [ 1 1 ]
[ 1 -1 ]
Gerbang CNOT adalah gerbang kuantum dua qubit yang melakukan operasi NOT pada qubit target kalau qubit kontrol berada dalam keadaan |1⟩. Secara matematis:
- CNOT|00⟩ = |00⟩
- CNOT|01⟩ = |01⟩
- CNOT|10⟩ = |11⟩
- CNOT|11⟩ = |10⟩
Matriks yang merepresentasikan gerbang CNOT adalah:
CNOT = [ 1 0 0 0 ]
[ 0 1 0 0 ]
[ 0 0 0 1 ]
[ 0 0 1 0 ]
Gerbang CNOT itu sangat penting karena:
- Menciptakan entanglement (keterkaitan) antar qubit
- Bersama dengan gerbang satu qubit (seperti Hadamard), dapat membentuk set gerbang universal untuk komputasi kuantum
Algoritma Deutsch adalah salah satu algoritma kuantum yang paling sederhana yang mendemonstrasikan keunggulan kuantum dibandingkan komputasi klasik. Algoritma ini mampu menentukan apakah suatu fungsi boolean f: {0,1} → {0,1} bersifat konstan atau seimbang dengan hanya dgn satu evaluasi fungsi.
- Inisialisasi dua qubit dalam keadaan |0⟩|1⟩
- Terapkan gerbang Hadamard pada kedua qubit, menghasilkan keadaan (|0⟩ + |1⟩)/√2 ⊗ (|0⟩ - |1⟩)/√2
- Terapkan oracle Uf yang mengkodifikasi fungsi f: Uf|x⟩|y⟩ = |x⟩|y ⊕ f(x)⟩
- Terapkan gerbang Hadamard pada qubit pertama
- Ukur qubit pertama. Jika hasilnya |0⟩, maka fungsi f bersifat konstan; jika |1⟩, maka fungsi f bersifat seimbang
|0⟩ ─── H ─── U<sub>f</sub> ─── H ─── Measurement
|1⟩ ─── H ───────────────────── (tidak diukur)
- Gerbang Hadamard: Membuat superposisi yang memungkinkan evaluasi paralel pada semua input fungsi sekaligus
- CNOT: Digunakan sebagai bagian dari implementasi oracle Uf, terutama untuk fungsi f(x) = x atau f(x) = x ⊕ 1
Algoritma Grover adalah algoritma pencarian kuantum yg dapat menemukan elemen daoam database tidak terurut dengan kompleksitas O(√N), dibandingkan dengan algoritma komputer klasik yang memerlukan O(N) operasi.
-
Inisialisasi n qubit dalam keadaan |0⟩ dan terapkan gerbang Hadamard untuk membuat superposisi merata dari semua kemungkinan keadaan: |ψ⟩ = 1/√N ∑x=0N-1 |x⟩
-
Ulangi langkah-langkah berikut sebanyak O(√N) kali:
- Terapkan operator oracle (O) yang membalik amplitudo keadaan target
- Terapkan operator difusi (D) yang membalik amplitudo semua keadaan terhadap rata-rata amplitudo
-
Ukur register qubit untuk mendapatkan keadaan target dengan probabilitas tinggi
|0⟩⊗ⁿ ─── H⊗ⁿ ─── (O─D)^r ─── Measurement
di mana r ≈ π/4 · √N adalah jumlah iterasi optimal.
- Gerbang Hadamard: Digunakan untuk menciptakan superposisi awal yg merata dari semua basis komputasi, serta sebagai komponen dalam operator bagian difusi (D)
- CNOT: ini diigunakan dalam implementasi oracle buat mendeteksi keadaan target dan dalam operator difusi untuk mengimplementasikan refleksinya
Dalam dokumen ini, kita akan menganalisis rangkaian kuantum dengan urutan operasi sebagai berikut:
- Gerbang Hadamard pada q₀ (menciptakan superposisi)
- Gerbang CNOT dengan q₀ sebagai kontrol dan q₁ sebagai target
- Gerbang Hadamard pada q₁
q₀: ─────H─────●─────────────
│
q₁: ─────────────X─────H─────
from qiskit import QuantumCircuit, transpile, Aer, execute
# 🔹 Membuat quantum circuit
qc = QuantumCircuit(2, 2)
qc.h(0) # Hadamard di q0 → superposisi
qc.cx(0, 1) # CNOT (q0 mengontrol q1) → entanglement
qc.h(1) # Hadamard kedua di q1
qc.measure(0, 0)
qc.measure(1, 1)
# 🔹 Simulasikan eksperimen
simulator = Aer.get_backend('aer_simulator')
compiled_qc = transpile(qc, simulator)
result = simulator.run(compiled_qc, shots=1000).result()
# 🔹 Tampilkan hasilnya
print("Hasil pengukuran:")
print(result.get_counts())
Result :
{'00': ~500, '10': ~500} # (kurang lebih seimbang)
Transformasi basis:
Transformasi basis:
Kita mulai dengan keadaan awal dua qubit:
Aplikasi gerbang Hadamard pada qubit pertama (q₀):
Substitusi dengan definisi H:
Pada titik ini, kita memiliki superposisi dari dua keadaan basis:
Aplikasi gerbang CNOT:
Kita dapat menghitung ini suku per suku:
Keadaan ini adalah keadaan Bell
Mengaplikasi gerbang Hadamard pada qubit kedua (q₁):
Kita dapat memecah perhitungan ini:
Sehingga:
Setelah rangkaiannya lengkap, keadaan akhir sistemnya jadi:
Kalau kita melakukan pengukuran pada kedua qubit dalam basis komputasi standar, probabilitas mendapatkan masing2 hasil adalah:
Untuk mendapatkan hanya keadaan
Kalau kita mengukur q₁ dan mendapatkan hasil
Ini terjadi karena saat mengukur q₁ dan mendapatkan
Probabilitas mendapatkan q₁ =
Alternatif lain, kalau tujuan kita hanya ingin mendapatkan superposisi dari
q₀: ─────H─────
q₁: ─────────── (tetap |0⟩)
Rangkaian ini langsung menghasilkan keadaan:
Rangkaian Hadamard-CNOT-Hadamard menghasilkan keadaan:
Yang memiliki amplitudo yang sama untuk semua basis komputasi (meskipun dengan fase berbeda untuk
Untuk mendapatkan hanya keadaan
- Lakukan pengukuran pada q₁ dan pilih hasil
$|0\rangle$ (post-selection) - Atau gunakan rangkaian yang lebih sederhana dengan hanya mengaplikasikan Hadamard pada q₀


