<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Quantum Computing on kenji.blog</title><link>http://kenji.blog/id/categories/quantum-computing/</link><description>Recent content in Quantum Computing on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>id</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 20:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/id/categories/quantum-computing/index.xml" rel="self" type="application/rss+xml"/><item><title>Pengantar Super Pemrograman Kuantum dengan Qiskit</title><link>http://kenji.blog/id/p/qiskit-quantum-programming-intro/</link><pubDate>Fri, 11 Sep 2026 20:00:00 +0900</pubDate><guid>http://kenji.blog/id/p/qiskit-quantum-programming-intro/</guid><description>&lt;img src="http://kenji.blog/p/qiskit-quantum-programming-intro/img/eyecatch.jpg" alt="Featured image of post Pengantar Super Pemrograman Kuantum dengan Qiskit" />&lt;h2 id="1-pendahuluan">1. Pendahuluan
&lt;/h2>&lt;p>Komputer modern (komputer klasik) telah secara dramatis mengubah kehidupan kita dan mendukung berbagai aspek masyarakat dengan kemampuan komputasi yang canggih. Namun, untuk beberapa masalah tertentu (seperti faktorisasi bilangan prima yang sangat besar, simulasi struktur molekul yang kompleks, masalah optimasi, dll.), diketahui bahwa bahkan superkomputer paling canggih saat ini pun akan membutuhkan waktu lebih lama daripada usia alam semesta.&lt;/p>
&lt;p>Yang memiliki potensi untuk mendobrak &amp;ldquo;keterbatasan komputer klasik&amp;rdquo; ini adalah &lt;strong>Komputer Kuantum (Quantum Computer)&lt;/strong>. Dengan memanfaatkan sifat-sifat aneh mekanika kuantum (superposisi dan keterikatan kuantum) sebagai sumber daya komputasi, diyakini bahwa masalah-masalah tertentu dapat dipercepat secara dramatis.&lt;/p>
&lt;p>Dalam artikel ini, kita akan mengambil langkah pertama ke dunia pemrograman kuantum menggunakan &lt;strong>Qiskit&lt;/strong>, sebuah kerangka kerja komputasi kuantum sumber terbuka yang disediakan oleh IBM. Ini adalah panduan pengantar yang sangat rinci yang menjelaskan secara saksama dari dasar-dasar fisika dan matematika, hingga proses penulisan kode dengan Python dan menjalankan sirkuit kuantum di simulator.&lt;/p>
&lt;hr>
&lt;h2 id="2-dasar-dasar-fisika-dan-matematika-yang-mendukung-komputasi-kuantum">2. Dasar-dasar Fisika dan Matematika yang Mendukung Komputasi Kuantum
&lt;/h2>&lt;p>Untuk memahami pemrograman kuantum, pertama-tama kita perlu memahami konsep dasar mekanika kuantum. Di sini, kita akan menjelaskan tiga pilar penting: qubit, superposisi, dan keterikatan kuantum.&lt;/p>
&lt;h3 id="21-bit-klasik-dan-qubit-quantum-bit">2.1 Bit Klasik dan Qubit (Quantum bit)
&lt;/h3>&lt;p>Unit informasi komputer klasik adalah &amp;ldquo;Bit&amp;rdquo;. Sebuah bit selalu mengambil salah satu dari dua keadaan, &lt;code>0&lt;/code> atau &lt;code>1&lt;/code>.&lt;/p>
&lt;p>Di sisi lain, unit minimum informasi dalam komputer kuantum disebut &lt;strong>Qubit (Quantum bit)&lt;/strong>. Qubit tidak hanya dapat mengambil keadaan &lt;code>0&lt;/code> dan &lt;code>1&lt;/code>, tetapi juga dapat &lt;strong>mempertahankan kedua keadaan tersebut secara bersamaan&lt;/strong>.&lt;/p>
&lt;p>Secara matematis, keadaan qubit $|\psi\rangle$ direpresentasikan sebagai kombinasi linear (superposisi) dari keadaan basis $|0\rangle$ dan $|1\rangle$.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Di sini, $\alpha$ dan $\beta$ adalah bilangan kompleks, masing-masing merepresentasikan amplitudo probabilitas untuk mengamati keadaan $|0\rangle$ dan $|1\rangle$. Berdasarkan prinsip dasar mekanika kuantum, jumlah total probabilitas harus sama dengan 1, sehingga memenuhi kondisi normalisasi berikut:&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>Artinya, ketika qubit ini &amp;ldquo;diukur (diobservasi)&amp;rdquo;, probabilitas mendapatkan $|0\rangle$ adalah $|\alpha|^2$, dan probabilitas mendapatkan $|1\rangle$ adalah $|\beta|^2$. Fakta bahwa keadaannya hanya ditentukan secara probabilistik sebelum pengukuran adalah perbedaan krusial dari bit klasik.&lt;/p>
&lt;div class="mermaid">graph LR
A["Bit Klasik (Classical Bit)"] --> B["Keadaan pasti: 0 atau 1"]
C["Qubit (Quantum bit)"] --> D["Superposisi: 0 dan 1 sekaligus"]
D --> E["Keadaan ditentukan secara probabilistik melalui pengukuran"]&lt;/div>
&lt;h3 id="22-superposisi-superposition">2.2 Superposisi (Superposition)
&lt;/h3>&lt;p>Seperti yang disebutkan sebelumnya, keadaan di mana status $|0\rangle$ dan $|1\rangle$ bercampur disebut &lt;strong>Superposisi (Superposition)&lt;/strong>.&lt;/p>
&lt;p>Misalnya, ketika satu qubit berada dalam keadaan superposisi yang benar-benar seimbang, $\alpha = \frac{1}{\sqrt{2}}$, $\beta = \frac{1}{\sqrt{2}}$.&lt;/p>
$$
|\psi\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle
$$
&lt;p>Jika kita mengukur keadaan ini, $|0\rangle$ dan $|1\rangle$ masing-masing akan diamati dengan probabilitas 50%.
Jika ada 2 qubit, kita dapat membuat superposisi dari 4 keadaan: $|00\rangle, |01\rangle, |10\rangle, |11\rangle$. Jika ada $n$ qubit, $2^n$ keadaan dapat direpresentasikan secara bersamaan, yang merupakan salah satu sumber kemampuan pemrosesan paralel komputer kuantum.&lt;/p>
&lt;h3 id="23-keterikatan-kuantum-entanglement">2.3 Keterikatan Kuantum (Entanglement)
&lt;/h3>&lt;p>Sifat paling kuat dan misterius dalam komputasi kuantum adalah &lt;strong>Keterikatan Kuantum (Entanglement)&lt;/strong>. Fenomena yang disebut Einstein sebagai &amp;ldquo;aksi seram dari kejauhan&amp;rdquo; ini adalah sifat di mana dua atau lebih qubit sangat terkait satu sama lain, sedemikian rupa sehingga ketika keadaan salah satu qubit ditentukan, keadaan qubit lainnya akan langsung ditentukan pula secara instan, tidak peduli seberapa jauh jarak fisiknya.&lt;/p>
&lt;p>Salah satu &amp;ldquo;Keadaan Bell (Bell State)&amp;rdquo;, yang merupakan keadaan keterikatan kuantum paling terkenal, keadaan $\Phi^+$ dinyatakan sebagai berikut:&lt;/p>
$$
|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}
$$
&lt;p>Dalam keadaan ini, status $|01\rangle$ dan $|10\rangle$ tidak ada. Oleh karena itu, jika qubit pertama diukur dan hasilnya $|0\rangle$, bahkan tanpa mengukur qubit kedua, sudah pasti hasilnya adalah $|0\rangle$. Sebaliknya, jika qubit pertama $|1\rangle$, maka yang kedua juga pasti $|1\rangle$.&lt;/p>
&lt;hr>
&lt;h2 id="3-gerbang-logika-kuantum-quantum-logic-gates">3. Gerbang Logika Kuantum (Quantum Logic Gates)
&lt;/h2>&lt;p>Sama seperti komputer klasik yang menggunakan gerbang logika seperti AND, OR, dan NOT untuk melakukan komputasi, komputer kuantum juga menggunakan &lt;strong>gerbang kuantum&lt;/strong> untuk memanipulasi keadaan qubit. Karena keadaan kuantum adalah vektor, gerbang kuantum direpresentasikan sebagai &amp;ldquo;matriks uniter&amp;rdquo; yang bekerja pada vektor tersebut.&lt;/p>
&lt;h3 id="31-gerbang-pauli-pauli-x-y-z">3.1 Gerbang Pauli (Pauli-X, Y, Z)
&lt;/h3>&lt;p>Gerbang Pauli adalah operasi dasar pada 1 qubit.&lt;/p>
&lt;p>&lt;strong>・Gerbang Pauli-X (Gerbang NOT)&lt;/strong>
Setara dengan gerbang NOT klasik. Membalikkan $|0\rangle$ menjadi $|1\rangle$, dan $|1\rangle$ menjadi $|0\rangle$. (Rotasi 180 derajat di sekitar sumbu X pada bola Bloch)&lt;/p>
$$
X = \begin{pmatrix} 0 &amp; 1 \\ 1 &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Gerbang Pauli-Y&lt;/strong>
Melakukan rotasi 180 derajat di sekitar sumbu Y. Memiliki efek membalikkan fase dan bit.&lt;/p>
$$
Y = \begin{pmatrix} 0 &amp; -i \\ i &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Gerbang Pauli-Z (Gerbang pembalikan fase)&lt;/strong>
Membiarkan keadaan $|0\rangle$ tetap sama, tetapi membalikkan fase keadaan $|1\rangle$ (mengalikan dengan $-1$). (Rotasi 180 derajat di sekitar sumbu Z)&lt;/p>
$$
Z = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; -1 \end{pmatrix}
$$
&lt;h3 id="32-gerbang-hadamard-hadamard-gate">3.2 Gerbang Hadamard (Hadamard Gate)
&lt;/h3>&lt;p>Gerbang Hadamard (gerbang H) adalah gerbang yang sangat penting yang mengubah keadaan pasti ($|0\rangle$ atau $|1\rangle$) menjadi keadaan superposisi.&lt;/p>
$$
H = \frac{1}{\sqrt{2}}
\begin{pmatrix}
1 &amp; 1 \\
1 &amp; -1
\end{pmatrix}
$$
&lt;p>Menerapkan gerbang H pada $|0\rangle$ menghasilkan keadaan superposisi seimbang $|+\rangle$.&lt;/p>
$$
H|0\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle = |+\rangle
$$
&lt;h3 id="33-gerbang-fase-phase-gates">3.3 Gerbang Fase (Phase Gates)
&lt;/h3>&lt;p>Gerbang fase adalah bentuk umum dari gerbang Z, yang memutar fase keadaan $|1\rangle$ sebesar sudut $\theta$ yang ditentukan.&lt;/p>
$$
P(\theta) = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; e^{i\theta} \end{pmatrix}
$$
&lt;p>Contoh tipikalnya adalah gerbang S ($\theta = \pi/2$) dan gerbang T ($\theta = \pi/4$).&lt;/p>
&lt;h3 id="34-gerbang-cnot-controlled-not-gate">3.4 Gerbang CNOT (Controlled-NOT Gate)
&lt;/h3>&lt;p>Gerbang CNOT (gerbang CX) adalah gerbang yang beroperasi di antara dua qubit dan sangat penting untuk menghasilkan keterikatan kuantum. Terdiri dari &amp;ldquo;bit kontrol (Control bit)&amp;rdquo; dan &amp;ldquo;bit target (Target bit)&amp;rdquo;.&lt;/p>
&lt;p>Hanya ketika bit kontrol adalah $|1\rangle$, gerbang X (operasi NOT) diterapkan pada bit target, dan tidak ada yang dilakukan jika bit kontrol adalah $|0\rangle$.&lt;/p>
$$
CNOT = \begin{pmatrix}
1 &amp; 0 &amp; 0 &amp; 0 \\
0 &amp; 1 &amp; 0 &amp; 0 \\
0 &amp; 0 &amp; 0 &amp; 1 \\
0 &amp; 0 &amp; 1 &amp; 0
\end{pmatrix}
$$
&lt;hr>
&lt;h2 id="4-dasar-dasar-qiskit-dan-penyiapan-lingkungan">4. Dasar-dasar Qiskit dan Penyiapan Lingkungan
&lt;/h2>&lt;p>Mulai dari sini, kita akan benar-benar menulis program kuantum menggunakan Python dan Qiskit.&lt;/p>
&lt;h3 id="41-apa-itu-qiskit">4.1 Apa itu Qiskit?
&lt;/h3>&lt;p>&lt;strong>Qiskit&lt;/strong> adalah kit pengembangan perangkat lunak (SDK) komputasi kuantum sumber terbuka yang dikembangkan oleh IBM Quantum. Anda dapat membangun sirkuit kuantum secara intuitif menggunakan Python dan menjalankannya pada simulator lokal atau komputer kuantum riil IBM melalui cloud.&lt;/p>
&lt;h3 id="42-cara-menginstal">4.2 Cara Menginstal
&lt;/h3>&lt;p>Lingkungan Python diperlukan untuk menggunakan Qiskit. Instal Qiskit dan paket terkait (simulator dan pustaka visualisasi) menggunakan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install qiskit qiskit-aer qiskit-ibm-runtime matplotlib pylatexenc
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="43-alur-dasar-pemrograman">4.3 Alur Dasar Pemrograman
&lt;/h3>&lt;p>Pemrograman kuantum dengan Qiskit pada dasarnya dilanjutkan dengan langkah-langkah berikut.&lt;/p>
&lt;div class="mermaid">graph TD
A["1. Membangun Sirkuit (Build)"] --> B["2. Kompilasi/Transpilasi (Compile)"]
B --> C["3. Eksekusi (Execute)"]
C --> D["4. Analisis dan Visualisasi Hasil (Analyze)"]&lt;/div>
&lt;ol>
&lt;li>&lt;strong>Membangun Sirkuit&lt;/strong>: Buat objek &lt;code>QuantumCircuit&lt;/code> dan tambahkan gerbang.&lt;/li>
&lt;li>&lt;strong>Kompilasi&lt;/strong>: Optimalkan sirkuit untuk backend target (mesin nyata atau simulator).&lt;/li>
&lt;li>&lt;strong>Eksekusi&lt;/strong>: Kirim pekerjaan (job) ke backend dan dapatkan hasilnya.&lt;/li>
&lt;li>&lt;strong>Analisis&lt;/strong>: Plot histogram hasil pengukuran, dsb.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="5-praktik-membangun-sirkuit-untuk-membuat-keadaan-bell-keterikatan-kuantum">5. Praktik: Membangun Sirkuit untuk Membuat Keadaan Bell (Keterikatan Kuantum)
&lt;/h2>&lt;p>Mari kita coba membuat &amp;ldquo;Keterikatan Kuantum (Keadaan Bell)&amp;rdquo; yang telah kita pelajari secara teori menggunakan Qiskit. Keadaan targetnya adalah $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$.&lt;/p>
&lt;h3 id="51-desain-sirkuit">5.1 Desain Sirkuit
&lt;/h3>&lt;p>Untuk membuat keadaan Bell, ikuti langkah-langkah berikut:&lt;/p>
&lt;ol>
&lt;li>Siapkan dua qubit (keadaan awal keduanya adalah $|0\rangle$).&lt;/li>
&lt;li>Terapkan gerbang Hadamard (H) ke qubit pertama untuk membuatnya menjadi keadaan superposisi.&lt;/li>
&lt;li>Terapkan gerbang CNOT dengan menetapkan qubit pertama sebagai &amp;ldquo;bit kontrol&amp;rdquo; dan qubit kedua sebagai &amp;ldquo;bit target&amp;rdquo;.&lt;/li>
&lt;li>Lakukan pengukuran (Measure) untuk membaca hasilnya.&lt;/li>
&lt;/ol>
&lt;h3 id="52-implementasi-kode-pythonqiskit">5.2 Implementasi Kode Python/Qiskit
&lt;/h3>&lt;p>Mari kita lihat kode yang sebenarnya.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">transpile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit_aer&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit.visualization&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">plot_histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. Inisialisasi Sirkuit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Buat sirkuit kuantum dengan 2 qubit dan 2 bit klasik&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. Penerapan Gerbang H&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Terapkan gerbang Hadamard pada qubit 0 (q0)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. Penerapan Gerbang CNOT&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Terapkan CNOT dengan q0 sebagai bit kontrol dan q1 sebagai bit target&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cx&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 4. Pengukuran&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Ukur qubit 0 dan 1, lalu tulis hasilnya ke bit klasik 0 dan 1 secara berurutan&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">measure&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Menggambar diagram sirkuit (menggunakan matplotlib)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># qc.draw(&amp;#39;mpl&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">draw&lt;/span>&lt;span class="p">())&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Saat Anda menjalankan kode ini, diagram sirkuit kuantum dalam seni ASCII akan ditampilkan di konsol seperti berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> ┌───┐ ┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_0: ┤ H ├──■──┤M├───
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘┌─┴─┐└╥┘┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_1: ─────┤ X ├─╫─┤M├
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘ ║ └╥┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">c: 2/═══════════╩══╩═
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 0 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>H&lt;/code> mewakili gerbang Hadamard, kombinasi &lt;code>■&lt;/code> dan &lt;code>X&lt;/code> adalah gerbang CNOT, dan &lt;code>M&lt;/code> mewakili pengukuran.&lt;/p>
&lt;h3 id="53-eksekusi-di-simulator-dan-interpretasi-hasil">5.3 Eksekusi di Simulator dan Interpretasi Hasil
&lt;/h3>&lt;p>Selanjutnya, kita akan menjalankan sirkuit ini di simulator berkinerja tinggi &lt;code>Aer&lt;/code> milik IBM dan memeriksa hasilnya.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Dapatkan backend simulator Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">simulator&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Aer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_backend&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;qasm_simulator&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Transpilasi (optimasi) sirkuit untuk simulator&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">compiled_circuit&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">transpile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Eksekusi sirkuit (di sini menjalankan 1000 tembakan/shots)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">job&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shots&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1000&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Dapatkan hasilnya&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">job&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Dapatkan jumlah frekuensi pengamatan keadaan (counts)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">counts&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">result&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_counts&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Hasil pengukuran:&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Plot histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plot_histogram(counts)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plt.show()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>Interpretasi Hasil&lt;/strong>&lt;/p>
&lt;p>Output konsol seharusnya terlihat seperti ini:
&lt;code>Hasil pengukuran: {'00': 495, '11': 505}&lt;/code>
(*Karena probabilitasnya bersifat acak, angkanya akan sedikit bervariasi pada setiap eksekusi)&lt;/p>
&lt;p>Dalam lingkungan simulasi yang ideal, hasil pengukuran &lt;code>00&lt;/code> dan &lt;code>11&lt;/code> masing-masing akan diamati sekitar 50% probabilitas, sementara &lt;code>01&lt;/code> dan &lt;code>10&lt;/code> tidak akan pernah diamati sama sekali.
Ini sepenuhnya sesuai dengan prediksi teoretis dari keadaan Bell $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$ yang telah kita buat. Ini mensimulasikan &amp;ldquo;keterikatan kuantum&amp;rdquo; secara akurat, di mana jika qubit pertama bernilai 0, maka yang kedua pasti 0, dan jika bernilai 1, maka yang kedua juga pasti 1.&lt;/p>
&lt;p>Namun perlu dicatat, jika dijalankan pada komputer kuantum riil (IBM Quantum Hardware), sedikit kemunculan &lt;code>01&lt;/code> atau &lt;code>10&lt;/code> mungkin teramati karena pengaruh gangguan/noise (dekoherensi kuantum dan kesalahan gerbang). Bagaimana cara mengurangi noise ini (Koreksi Kesalahan Kuantum) adalah salah satu tantangan terbesar dalam pengembangan komputer kuantum saat ini.&lt;/p>
&lt;hr>
&lt;h2 id="6-peningkatan-skala-ke-algoritma-yang-lebih-lanjut">6. Peningkatan Skala ke Algoritma yang Lebih Lanjut
&lt;/h2>&lt;p>Membuat keadaan Bell dapat disebut sebagai &amp;ldquo;Hello World&amp;rdquo; dari pemrograman kuantum. Dengan mengembangkannya lebih jauh dari sini, kita dapat membangun algoritma tangguh yang melampaui komputer klasik.&lt;/p>
&lt;h3 id="61-algoritma-deutsch-jozsa">6.1 Algoritma Deutsch-Jozsa
&lt;/h3>&lt;p>Ini adalah masalah untuk menentukan apakah sebuah fungsi $f(x)$ yang diberikan adalah &amp;ldquo;fungsi konstan (selalu menghasilkan 0 atau selalu menghasilkan 1 terlepas dari inputnya)&amp;rdquo; atau &amp;ldquo;fungsi seimbang (menghasilkan 0 untuk setengah input, dan 1 untuk setengah sisanya)&amp;rdquo;.
Dalam komputer klasik, pada kasus terburuk membutuhkan evaluasi fungsi sebanyak $2^{n-1} + 1$ kali. Namun, dengan menggunakan Algoritma Deutsch-Jozsa, hal ini dapat ditentukan &lt;strong>hanya dengan 1 evaluasi&lt;/strong> dengan memanfaatkan paralelisme kuantum. Hal ini menunjukkan pola dasar algoritma kuantum, yaitu memasukkan keadaan superposisi, memanfaatkan interferensi (Interference) untuk membatalkan keadaan yang tidak diinginkan, dan memperkuat jawaban yang diinginkan.&lt;/p>
&lt;h3 id="62-algoritma-grover">6.2 Algoritma Grover
&lt;/h3>&lt;p>Dalam masalah pencarian data tertentu dari basis data tidak terurut yang berisi $N$ elemen, algoritma klasik rata-rata membutuhkan $N/2$ perhitungan, sedangkan Algoritma Grover dapat menemukan data target dalam $\sqrt{N}$ kali pencarian.
Algoritma ini menggunakan kotak hitam yang disebut &amp;ldquo;Oracle&amp;rdquo; untuk membalikkan fase solusi target, dan kemudian melakukan &amp;ldquo;Amplifikasi Amplitudo (Amplitude Amplification)&amp;rdquo; untuk secara dramatis meningkatkan probabilitas ditemukannya solusi target.&lt;/p>
&lt;div class="mermaid">graph TD
A["Inisialisasi (Superposisi semua keadaan)"] --> B["Oracle (Membalikkan fase jawaban yang benar)"]
B --> C["Operator difusi (Amplifikasi amplitudo dengan membalikkan di sekitar nilai rata-rata)"]
C --> D{"Apakah probabilitas yang cukup telah tercapai?"}
D -- "Tidak" --> B
D -- "Ya" --> E["Pengukuran"]&lt;/div>
&lt;hr>
&lt;h2 id="7-kesimpulan-dan-pembelajaran-selanjutnya">7. Kesimpulan dan Pembelajaran Selanjutnya
&lt;/h2>&lt;p>Dalam artikel ini, kita telah secara rinci menjelaskan mulai dari konsep dasar komputasi kuantum seperti superposisi dan keterikatan kuantum, hingga pengoperasian gerbang logika kuantum menggunakan Qiskit, serta proses membangun, menyimulasikan, dan menginterpretasikan keadaan Bell yang sesungguhnya.&lt;/p>
&lt;p>Karena Qiskit dapat ditulis dalam bahasa Python yang sudah familier, Qiskit adalah alat kuat yang memungkinkan kita untuk melampaui batasan matematis/fisika dan fokus pada membangun algoritma. Komputer kuantum saat ini berada di era perangkat kuantum skala menengah yang ber-noise (NISQ: Noisy Intermediate-Scale Quantum), tetapi penelitian terapan di berbagai bidang seperti Pembelajaran Mesin Kuantum (Quantum Machine Learning), Simulasi Kimia (Quantum Chemistry), dan Kriptanalisis sedang berkembang pesat di seluruh dunia.&lt;/p>
&lt;p>Dengan segala cara, silakan gunakan Qiskit untuk membuat berbagai sirkuit kuantum Anda sendiri dan jalankan pada prosesor perangkat keras riil IBM Quantum. Anda pasti akan dapat mengalami langsung paradigma komputasi masa depan.&lt;/p>
&lt;h3 id="referensi">Referensi
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>Dokumentasi Resmi Qiskit&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://qiskit.org/textbook/ja/preface.html" target="_blank" rel="noopener"
>Buku Teks Qiskit&lt;/a> - Teks resmi yang direkomendasikan bagi mereka yang ingin mempelajari latar belakang matematika dan algoritma lebih dalam&lt;/li>
&lt;li>IBM Quantum Learning&lt;/li>
&lt;/ul>
&lt;p>Selamat datang di dunia kuantum!&lt;/p></description></item><item><title>Apa itu Keunggulan Kuantum? Tren Terbaru dari Google dan IBM</title><link>http://kenji.blog/id/p/what-is-quantum-supremacy-google-ibm/</link><pubDate>Fri, 11 Sep 2026 18:00:00 +0900</pubDate><guid>http://kenji.blog/id/p/what-is-quantum-supremacy-google-ibm/</guid><description>&lt;img src="http://kenji.blog/p/what-is-quantum-supremacy-google-ibm/img/eyecatch.jpg" alt="Featured image of post Apa itu Keunggulan Kuantum? Tren Terbaru dari Google dan IBM" />&lt;h2 id="1-pendahuluan-fajar-komputasi-kuantum-dan-keunggulan-kuantum">1. Pendahuluan: Fajar Komputasi Kuantum dan &amp;ldquo;Keunggulan Kuantum&amp;rdquo;
&lt;/h2>&lt;p>Komputasi kuantum memiliki potensi untuk memecahkan masalah kompleks yang tidak dapat diselesaikan dalam waktu yang realistis oleh komputer klasik (PC dan superkomputer yang biasa kita gunakan sehari-hari) dengan mengaplikasikan mekanika kuantum, prinsip fundamental fisika, ke dalam pemrosesan informasi. Bidang ini telah lama didominasi oleh penelitian teoritis, tetapi dalam beberapa tahun terakhir, kemajuan pesat pada perangkat keras telah mengintensifkan persaingan menuju penerapan praktis.&lt;/p>
&lt;p>Salah satu kata kunci yang paling banyak menarik perhatian dalam hal ini adalah &amp;ldquo;Keunggulan Kuantum (Quantum Supremacy)&amp;rdquo;. Ini merujuk pada momen ketika komputer kuantum menunjukkan kemampuan komputasi yang melampaui komputer klasik dalam tugas komputasi tertentu. Dalam artikel ini, kita akan membahas secara rinci, dari definisi ketat tentang keunggulan kuantum, detail eksperimen dari prosesor &amp;ldquo;Sycamore&amp;rdquo; Google yang diumumkan sebagai yang pertama di dunia mencapai tonggak sejarah ini pada tahun 2019, sanggahan dan pendekatan unik dari IBM terhadap hal tersebut, hingga peta jalan terbaru menuju &amp;ldquo;Koreksi Kesalahan Kuantum (Quantum Error Correction: QEC)&amp;rdquo; dan &amp;ldquo;Komputasi Kuantum Toleran Kesalahan (Fault-Tolerant Quantum Computing: FTQC)&amp;rdquo;, yang merupakan hambatan terbesar menuju penerapan praktis yang sesungguhnya, sembari menggali lebih dalam dari sisi teknis dan matematis.&lt;/p>
&lt;hr>
&lt;h2 id="2-latar-belakang-teoritis-dasar-komputasi-kuantum-dan-kelas-kompleksitas">2. Latar Belakang Teoritis: Dasar Komputasi Kuantum dan Kelas Kompleksitas
&lt;/h2>&lt;p>Untuk memahami keunggulan kuantum, pertama-tama kita perlu memahami dasar matematis komputasi kuantum dan posisinya dalam teori kompleksitas komputasi.&lt;/p>
&lt;h3 id="qubit-dan-superposisi">Qubit dan Superposisi
&lt;/h3>&lt;p>Unit informasi terkecil dalam komputer klasik adalah bit (0 atau 1), sedangkan komputer kuantum menggunakan qubit (Quantum bit). Keadaan 1 qubit $|\psi\rangle$ direpresentasikan oleh kombinasi linear kompleks dari keadaan basis $|0\rangle$ dan $|1\rangle$.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Di sini, $\alpha, \beta \in \mathbb{C}$, dan memenuhi kondisi normalisasi $|\alpha|^2 + |\beta|^2 = 1$. Sifat ini disebut &amp;ldquo;Superposisi (Superposition)&amp;rdquo;.&lt;/p>
&lt;h3 id="keterikatan-entanglement-dan-produk-tensor">Keterikatan (Entanglement) dan Produk Tensor
&lt;/h3>&lt;p>Ketika ada beberapa qubit, keadaan sistem secara keseluruhan direpresentasikan oleh produk tensor dari ruang keadaan masing-masing qubit. Sistem $n$ qubit akan menjadi vektor dalam ruang Hilbert berdimensi $2^n$ $\mathcal{H}^{\otimes n}$.&lt;/p>
$$
|\Psi\rangle = \sum_{x \in \{0, 1\}^n} c_x |x\rangle
$$
&lt;p>Di sini, $\sum |c_x|^2 = 1$. Keadaan di mana qubit tidak independen dan keadaan yang satu bergantung pada keadaan yang lain disebut &amp;ldquo;Keterikatan Kuantum (Quantum Entanglement)&amp;rdquo;. Hal ini memberikan komputer kuantum potensi untuk memproses ruang keadaan yang sangat luas yang meningkat secara eksponensial dalam waktu yang bersamaan.&lt;/p>
&lt;h3 id="definisi-teoritis-kompleksitas-komputasi-dari-keunggulan-kuantum">Definisi Teoritis Kompleksitas Komputasi dari Keunggulan Kuantum
&lt;/h3>&lt;p>Dalam teori kompleksitas komputasi, kelas masalah yang dapat diselesaikan secara efisien (dalam waktu polinomial) oleh komputer klasik disebut &lt;strong>BPP&lt;/strong> (Bounded-error Probabilistic Polynomial time). Di sisi lain, kelas masalah yang dapat diselesaikan secara efisien oleh komputer kuantum adalah &lt;strong>BQP&lt;/strong> (Bounded-error Quantum Polynomial time).&lt;/p>
&lt;p>Mendemonstrasikan keunggulan kuantum berarti &amp;ldquo;menjalankan tugas tertentu yang termasuk dalam BQP tetapi tidak termasuk dalam BPP (atau kemungkinannya sangat tinggi) pada perangkat keras kuantum nyata, dan mengungguli simulasi oleh superkomputer klasik dari segi waktu dan sumber daya.&amp;rdquo; Hal ini dapat dikatakan sebagai upaya bersejarah untuk menyangkal Tesis Church-Turing yang diperluas (&amp;ldquo;semua model komputasi yang dapat diwujudkan secara fisik dapat disimulasikan secara efisien dalam waktu polinomial oleh mesin Turing probabilistik&amp;rdquo;) melalui eksperimen fisik.&lt;/p>
&lt;hr>
&lt;h2 id="3-tahun-2019-demonstrasi-keunggulan-kuantum-oleh-google">3. Tahun 2019: Demonstrasi Keunggulan Kuantum oleh Google
&lt;/h2>&lt;p>Pada bulan Oktober 2019, tim Google Quantum AI mengumumkan di jurnal ilmiah &amp;ldquo;Nature&amp;rdquo; bahwa mereka telah mencapai keunggulan kuantum menggunakan prosesor superkonduktor 53-qubit bernama &amp;ldquo;Sycamore&amp;rdquo;.&lt;/p>
&lt;h3 id="arsitektur-prosesor-sycamore">Arsitektur Prosesor Sycamore
&lt;/h3>&lt;p>Prosesor Sycamore terdiri dari 54 qubit superkonduktor tipe Transmon yang disusun dalam kisi 2 dimensi (hanya 53 yang digunakan dalam eksperimen karena 1 mengalami kerusakan fungsi). Coupler yang dapat disesuaikan (Tunable Coupler) ditempatkan di antara qubit yang berdekatan untuk merealisasikan gerbang 2-qubit yang cepat dan berpresisi tinggi (hibrida dari gerbang iSWAP dan gerbang kontrol Z).&lt;/p>
&lt;div class="mermaid">graph TD
A["Input Algoritma Kuantum"] --> B["Prosesor Sycamore (53 Qubit)"]
B --> C["Terapkan Gerbang Kuantum Acak"]
C --> D["Ukur Keadaan Kuantum (Bitstring)"]
D --> E["Benchmarking Entropi Silang (XEB)"]
E --> F["Verifikasi Keunggulan Kuantum"]&lt;/div>
&lt;h3 id="pengambilan-sampel-sirkuit-kuantum-acak-random-circuit-sampling-rcs">Pengambilan Sampel Sirkuit Kuantum Acak (Random Circuit Sampling: RCS)
&lt;/h3>&lt;p>Tugas yang dipilih oleh Google adalah &amp;ldquo;Pengambilan Sampel Sirkuit Kuantum Acak&amp;rdquo;. Ini melibatkan penerapan gerbang 1-qubit dan 2-qubit yang dipilih secara acak selama beberapa siklus (kedalaman $m$), lalu mengukur keadaan akhir untuk mengambil sampel dari distribusi probabilitas string bit yang dihasilkan.&lt;/p>
&lt;p>Probabilitas bitstring $x$ yang dihasilkan dari sirkuit kuantum acak yang ideal (tanpa noise) bukanlah distribusi seragam, melainkan menunjukkan pola mirip pita interferensi yang disebut distribusi Porter-Thomas. Untuk mengambil sampel dari distribusi ini dengan komputer klasik, diperlukan simulasi dari seluruh vektor keadaan, di mana kompleksitas komputasinya meningkat secara eksponensial terhadap jumlah qubit $n$ dan kedalaman sirkuit $m$.&lt;/p>
&lt;h3 id="evaluasi-fidelitas-fidelity-benchmarking-entropi-silang-linear-xeb">Evaluasi Fidelitas (Fidelity): Benchmarking Entropi Silang Linear (XEB)
&lt;/h3>&lt;p>Untuk membuktikan bahwa hasil eksperimen bukan sekadar noise melainkan hasil dari perhitungan kuantum yang sebenarnya, Google menggunakan Benchmarking Entropi Silang Linear (Linear Cross-Entropy Benchmarking: XEB). Probabilitas ideal $P(x_i)$ dari sirkuit untuk bitstring $x_i$ yang diperoleh dalam eksperimen dihitung dengan komputer klasik, dan fidelitas $\mathcal{F}_{\text{XEB}}$ dicari menggunakan rumus berikut.&lt;/p>
$$
\mathcal{F}_{\text{XEB}} = 2^n \langle P(x_i) \rangle_{i} - 1
$$
&lt;p>Jika $\mathcal{F}_{\text{XEB}}$ bernilai 0, maka itu adalah noise murni, dan jika 1, itu berarti prosesor kuantum ideal tanpa noise. Prosesor Sycamore mencapai $\mathcal{F}_{\text{XEB}} \approx 0.002$ (0,2%) pada sirkuit dengan kedalaman 20. Meski sekilas tampak rendah, nilai ini secara statistik lebih besar dari nol secara signifikan, dan merupakan pencapaian luar biasa dalam mengendalikan ruang keadaan sebesar $2^{53} \approx 9 \times 10^{15}$.&lt;/p>
&lt;p>Tingkat kesalahan keseluruhan dimodelkan secara perkiraan sebagai produk dari kesalahan gerbang individual, kesalahan pengukuran, dan lain-lain.&lt;/p>
$$
\mathcal{F} \approx (1 - e_1)^{N_1}(1 - e_2)^{N_2} \cdots \approx \prod_{g \in 1Q} (1 - e_g) \prod_{g \in 2Q} (1 - e_g) \prod_{q} (1 - e_{RO})
$$
&lt;p>(Keterangan: $e_g$ adalah kesalahan gerbang, $e_{RO}$ adalah kesalahan pengukuran)&lt;/p>
&lt;p>Google mengklaim bahwa butuh sekitar 10.000 tahun bagi superkomputer klasik (Summit) untuk menyimulasikan sirkuit ini. Sebaliknya, Sycamore menyelesaikan pengambilan sampel hanya dalam 200 detik.&lt;/p>
&lt;hr>
&lt;h2 id="4-sanggahan-ibm-dari-keunggulan-menjadi-kegunaan-utility">4. Sanggahan IBM: Dari &amp;ldquo;Keunggulan&amp;rdquo; Menjadi &amp;ldquo;Kegunaan (Utility)&amp;rdquo;
&lt;/h2>&lt;p>Pengumuman Google mengejutkan seluruh dunia, tetapi IBM, pengembang superkomputer terbesar di dunia &amp;ldquo;Summit&amp;rdquo; dan pelopor dalam pengembangan komputer kuantum itu sendiri, segera mempublikasikan makalah yang menyanggah klaim tersebut.&lt;/p>
&lt;h3 id="peningkatan-simulasi-klasik-melalui-kontraksi-jaringan-tensor">Peningkatan Simulasi Klasik melalui Kontraksi Jaringan Tensor
&lt;/h3>&lt;p>Inti dari sanggahan IBM adalah bahwa &amp;ldquo;optimalisasi algoritma dan sumber daya pada sisi komputer klasik masih belum cukup&amp;rdquo;. Google mendasarkan perkiraan 10.000 tahun pada simulator vektor keadaan yang secara langsung menghitung evolusi waktu dari persamaan Schrödinger, tetapi IBM menunjukkan bahwa waktu simulasi dapat dipersingkat secara drastis dengan menggunakan metode yang disebut &amp;ldquo;Jaringan Tensor (Tensor Network)&amp;rdquo;.&lt;/p>
&lt;p>Dalam jaringan tensor, operasi gerbang sirkuit kuantum direpresentasikan sebagai operasi array multidimensi (tensor), dan urutan &amp;ldquo;kontraksi (Contraction)&amp;rdquo; jaringan dioptimalkan. Lebih jauh lagi, mereka mengklaim bahwa dengan memanfaatkan sepenuhnya penyimpanan masif Summit yang mencapai 250 PB (hierarki disk dan memori), simulasi berpresisi lebih tinggi dapat diselesaikan hanya dalam &amp;ldquo;dua setengah hari&amp;rdquo; dengan tetap menyimpan seluruh vektor keadaan.&lt;/p>
&lt;h3 id="quantum-advantage-dan-quantum-utility">Quantum Advantage dan Quantum Utility
&lt;/h3>&lt;p>Perdebatan ini memicu pergeseran tren di seluruh industri, dari kebiasaan terpaku pada &amp;ldquo;melakukan tugas buatan yang mustahil dilakukan secara klasik (Supremacy)&amp;rdquo; menjadi &amp;ldquo;menunjukkan keunggulan praktis yang nyata di atas pendekatan klasik pada masalah dunia nyata yang berguna (Quantum Advantage)&amp;rdquo;, dan bahkan menuju fase di mana &amp;ldquo;komputer kuantum berfungsi sebagai alat baru untuk penemuan ilmiah (Quantum Utility)&amp;rdquo;.&lt;/p>
&lt;p>IBM sendiri menghindari penggunaan istilah &amp;ldquo;keunggulan&amp;rdquo; dan mengusulkan &amp;ldquo;Volume Kuantum (Quantum Volume)&amp;rdquo; serta &amp;ldquo;CLOPS (Circuit Layer Operations Per Second)&amp;rdquo; sebagai metrik kinerja komprehensif dari prosesor kuantum, dan mendorong pengembangan yang berfokus pada keseimbangan antara skala dan kualitas perangkat keras.&lt;/p>
&lt;div class="mermaid">timeline
title "Evolusi Tonggak Sejarah Kuantum"
2019 : "Google Sycamore (53Q)" : "Pengumuman Keunggulan Kuantum"
2019 : "Sanggahan IBM" : "Simulasi superkomputer Summit dalam 2,5 hari"
2021 : "IBM Eagle (127Q)" : "Menembus batas 100 qubit"
2022 : "IBM Osprey (433Q)" : "Meningkatkan skala prosesor"
2023 : "Surface Code Google" : "Menskalakan koreksi kesalahan (d=3 ke d=5)"
2023 : "Quantum Utility IBM" : "Simulasi model spin kompleks pada 127Q"
2024 : "Seterusnya" : "Era Qubit Logis dan Mitigasi Kesalahan"&lt;/div>
&lt;hr>
&lt;h2 id="5-frontier-selanjutnya-mitigasi-kesalahan-error-mitigation-dan-koreksi-kesalahan-kuantum-qec">5. Frontier Selanjutnya: Mitigasi Kesalahan (Error Mitigation) dan Koreksi Kesalahan Kuantum (QEC)
&lt;/h2>&lt;p>Komputer kuantum saat ini disebut &amp;ldquo;NISQ (Noisy Intermediate-Scale Quantum)&amp;rdquo;, rentan terhadap pengaruh noise (kesalahan karena ketidaksempurnaan kontrol atau interaksi dengan lingkungan eksternal), dan hasilnya akan tenggelam dalam noise jika komputasi panjang dilakukan. Pendekatan untuk mengatasi masalah ini secara garis besar terbagi menjadi dua: &amp;ldquo;Mitigasi Kesalahan (Error Mitigation)&amp;rdquo; dan &amp;ldquo;Koreksi Kesalahan Kuantum (Quantum Error Correction)&amp;rdquo;.&lt;/p>
&lt;h3 id="mitigasi-kesalahan-error-mitigation">Mitigasi Kesalahan (Error Mitigation)
&lt;/h3>&lt;p>Mitigasi kesalahan adalah teknik menghilangkan efek noise dari nilai yang diharapkan dari hasil komputasi melalui pemrosesan akhir klasik tanpa mengubah perangkat keras kuantum. Pada tahun 2023, IBM memadukan prosesor &amp;ldquo;Eagle&amp;rdquo; 127 qubit dengan teknik mitigasi kesalahan seperti &amp;ldquo;Ekstrapolasi Nol-Noise (Zero-Noise Extrapolation: ZNE)&amp;rdquo; untuk mencapai akurasi yang melampaui metode jaringan tensor hampiran paling mutakhir dalam simulasi evolusi waktu dari model Ising kompleks, dengan mendemonstrasikan &amp;ldquo;Quantum Utility (Kegunaan Kuantum)&amp;rdquo;.&lt;/p>
&lt;h3 id="koreksi-kesalahan-kuantum-qec-dan-qubit-logis">Koreksi Kesalahan Kuantum (QEC) dan Qubit Logis
&lt;/h3>&lt;p>Namun, untuk pada akhirnya menjalankan algoritma kompleks apa pun (misalnya algoritma faktorisasi Shor atau komputasi kimia kuantum yang kompleks), mitigasi kesalahan saja tidak cukup, dan &amp;ldquo;Koreksi Kesalahan Kuantum (QEC)&amp;rdquo;, yang secara dinamis mendeteksi dan memperbaiki kesalahan, mutlak diperlukan.&lt;/p>
&lt;p>Pendekatan QEC yang paling umum adalah &amp;ldquo;Kode Permukaan (Surface Code)&amp;rdquo;. Ini adalah metode di mana beberapa qubit fisik (qubit data) ditempatkan dalam kisi dua dimensi, dan qubit pengukuran (qubit ancilla) ditempatkan di antara mereka untuk terus-menerus menjalankan pengecekan paritas yang disebut &amp;ldquo;Stabilizer&amp;rdquo;.&lt;/p>
&lt;div class="mermaid">graph LR
Q1["Qubit Data (Data)"] --- M1["Ukur X Stabilizer (Ancilla)"]
Q2["Qubit Data (Data)"] --- M1
Q3["Qubit Data (Data)"] --- M2["Ukur Z Stabilizer (Ancilla)"]
Q4["Qubit Data (Data)"] --- M2
M1 --> EC["Dekode Sindrom Kesalahan (Klasik)"]
M2 --> EC
EC --> LQ["Pembaruan Keadaan Qubit Logis"]&lt;/div>
&lt;h4 id="teorema-ambang-batas-threshold-theorem-dan-jarak-d">Teorema Ambang Batas (Threshold Theorem) dan Jarak $d$
&lt;/h4>&lt;p>Ada &amp;ldquo;Teorema Ambang Batas&amp;rdquo; dalam koreksi kesalahan kuantum. Jika tingkat kesalahan qubit fisik $p$ jatuh di bawah ambang batas tertentu $p_{th}$ (sekitar 1% untuk Surface Code), maka tingkat kesalahan logis $p_L$ dapat diturunkan secara eksponensial dengan meningkatkan jarak kode (Distance) $d$ (mengalokasikan lebih banyak qubit fisik ke dalam satu qubit logis).&lt;/p>
&lt;p>Persamaan hampiran untuk tingkat kesalahan logis dinyatakan sebagai berikut:&lt;/p>
$$
p_L \approx \Lambda \left( \frac{p}{p_{th}} \right)^{\frac{d+1}{2}}
$$
&lt;p>Di sini, $\Lambda$ adalah konstanta. Jika $p &lt; p_{th}$, semakin besar $d$, maka semakin kecil $p_L$. Namun, jika $p > p_{th}$, menambahkan lebih banyak qubit fisik justru akan mengakumulasi noise, dan tingkat kesalahan logis akan memburuk.&lt;/p>
&lt;h4 id="tonggak-sejarah-google-2023-demonstrasi-pengurangan-kesalahan-dengan-memperluas-jarak">Tonggak Sejarah Google 2023: Demonstrasi Pengurangan Kesalahan dengan Memperluas Jarak
&lt;/h4>&lt;p>Pada Februari 2023, Google menerbitkan makalah monumental di jurnal &amp;ldquo;Nature&amp;rdquo;. Menggunakan prosesor Sycamore generasi ke-3, mereka menjadi yang pertama di dunia mendemonstrasikan bahwa saat jarak Surface Code diperluas dari $d=3$ (menggunakan 17 qubit fisik) menjadi $d=5$ (menggunakan 49 qubit fisik), tingkat kesalahan logis sedikit turun dari 3,028% menjadi 2,914%.&lt;/p>
&lt;p>Ini berarti bahwa mereka telah melangkah ke wilayah $p &lt; p_{th}$, dan mengindikasikan bahwa pembuktian konsep (Proof of Concept) yang paling penting menuju FTQC telah diselesaikan: bahwa kinerja akan meningkat seiring dengan penambahan qubit fisik.&lt;/p>
&lt;hr>
&lt;h2 id="6-peta-jalan-dan-prospek-menuju-ftqc-komputasi-kuantum-toleran-kesalahan">6. Peta Jalan dan Prospek Menuju FTQC (Komputasi Kuantum Toleran Kesalahan)
&lt;/h2>&lt;p>Google dan IBM sama-sama terlibat dalam persaingan pengembangan yang sengit menuju tujuan akhir FTQC (Fault-Tolerant Quantum Computing), meskipun masing-masing mengambil arsitektur dan pendekatan yang berbeda.&lt;/p>
&lt;h3 id="pendekatan-ibm-modularisasi-dan-kisi-heavy-hex">Pendekatan IBM: Modularisasi dan Kisi Heavy-Hex
&lt;/h3>&lt;p>Sejalan dengan usahanya untuk secara drastis menurunkan tingkat kesalahan, IBM juga fokus untuk menskalakan prosesornya. Sambil menantang batas-batas chip tunggal dengan &amp;ldquo;Eagle (127Q)&amp;rdquo;, &amp;ldquo;Osprey (433Q)&amp;rdquo;, dan &amp;ldquo;Condor (1121Q)&amp;rdquo;, IBM juga mengumumkan arsitektur modular yang disebut &amp;ldquo;Quantum System Two&amp;rdquo;. Selain itu, untuk topologi pengikatan antar qubit, mereka menggunakan &amp;ldquo;Kisi Heavy-Hex&amp;rdquo; guna mengurangi crosstalk yang tak diinginkan serta meningkatkan stabilitas. Strategi IBM adalah pendekatan hibrida: mengejar kegunaan dalam jangka pendek melalui mitigasi kesalahan mutakhir sambil secara bertahap memperkenalkan QEC.&lt;/p>
&lt;h3 id="pendekatan-google-peningkatan-kualitas-qubit-logis">Pendekatan Google: Peningkatan Kualitas Qubit Logis
&lt;/h3>&lt;p>Strategi Google lebih menekankan pada penurunan tingkat kesalahan satu qubit logis serendah mungkin (misalnya menurunkannya menjadi $10^{-6}$) daripada meningkatkan jumlah qubit fisik secara drastis. Berangkat dari titik tersebut, Google berupaya memapankan teknologi interkoneksi kuantum (Quantum Interconnects) untuk mentransfer keadaan kuantum antar modul, membidik sistem skala besar di mana ribuan hingga puluhan ribu qubit fisik dapat beroperasi secara paralel.&lt;/p>
&lt;p>Implementasi protokol untuk menjalankan gerbang non-Clifford dengan toleransi kesalahan, seperti penyulingan keadaan ajaib (Magic State Distillation), juga akan menjadi rintangan teknologi utama di masa mendatang. Untuk menjalankan algoritma Shor praktis dan memecahkan enkripsi RSA 2048-bit, kabarnya dibutuhkan ribuan qubit logis dengan tingkat kesalahan $10^{-8}$ atau lebih rendah, yang setara dengan jutaan hingga puluhan juta qubit fisik, menandakan bahwa perjalanan masih panjang.&lt;/p>
&lt;hr>
&lt;h2 id="7-penutup">7. Penutup
&lt;/h2>&lt;p>&amp;ldquo;Keunggulan Kuantum&amp;rdquo; adalah tonggak penting dalam sejarah komputer kuantum yang secara fisik membuktikan potensi teoritis dari mesin komputasi. Demonstrasi tahun 2019 oleh Google dan sanggahan konstruktif oleh IBM mendorong seluruh industri dari sekadar pembuktian teoritis menuju pencarian kegunaan (Utility) praktis, dan ke era rekayasa nyata yang diarahkan pada komputasi kuantum toleran kesalahan (FTQC).&lt;/p>
&lt;p>Saat ini kita sedang menyaksikan periode transisi dari perangkat NISQ yang penuh noise ke perangkat qubit logis yang dilengkapi koreksi kesalahan. Dalam beberapa tahun hingga satu dekade ke depan, penemuan baru dalam ilmu material, revolusi dalam proses penemuan obat, dan terobosan dalam masalah optimisasi akan menjadi kenyataan seiring dengan evolusi perangkat keras kuantum ini.&lt;/p>
&lt;p>Kita harus terus mengawasi pergerakan dari Google, IBM, dan para peneliti di seluruh dunia yang sedang membentuk ilmu komputasi masa depan.&lt;/p></description></item><item><title>Bagaimana Blockchain dan Mata Uang Kripto Berubah di Era Pasca-Kuantum?</title><link>http://kenji.blog/id/p/post-quantum-blockchain-and-crypto/</link><pubDate>Fri, 11 Sep 2026 17:00:00 +0900</pubDate><guid>http://kenji.blog/id/p/post-quantum-blockchain-and-crypto/</guid><description>&lt;img src="http://kenji.blog/p/post-quantum-blockchain-and-crypto/img/eyecatch.jpg" alt="Featured image of post Bagaimana Blockchain dan Mata Uang Kripto Berubah di Era Pasca-Kuantum?" />&lt;h2 id="1-pendahuluan-langkah-era-pasca-kuantum-dan-krisis-blockchain">1. Pendahuluan: Langkah Era Pasca-Kuantum dan Krisis Blockchain
&lt;/h2>&lt;p>Sejak Bitcoin diciptakan oleh Satoshi Nakamoto pada tahun 2009, teknologi blockchain telah berkembang menjadi fondasi sistem keuangan dan aplikasi di seluruh dunia sebagai &amp;ldquo;buku besar yang terdesentralisasi dan tidak dapat diubah&amp;rdquo;. Keamanan yang kuat ini didukung oleh teknologi kriptografi modern yaitu &lt;strong>Kriptografi Kunci Publik (Public Key Cryptography)&lt;/strong> dan &lt;strong>Fungsi Hash Kriptografi (Cryptographic Hash Functions)&lt;/strong>.&lt;/p>
&lt;p>Teknologi kriptografi ini menjamin keamanan berdasarkan &amp;ldquo;kesulitan komputasi&amp;rdquo; matematis, di mana komputer klasik (PC dan superkomputer yang kita gunakan saat ini) tidak akan dapat memecahkannya bahkan jika menghabiskan waktu selama umur alam semesta.&lt;/p>
&lt;p>Namun, premis ini akan segera runtuh dari akarnya akibat perkembangan pesat dan komersialisasi &lt;strong>Komputer Kuantum (Quantum Computers)&lt;/strong>, yang merupakan batas terdepan dari fisika dan ilmu informasi. Komputer kuantum, yang memanfaatkan &amp;ldquo;Superposisi (Superposition)&amp;rdquo; dan &amp;ldquo;Keterikatan Kuantum (Entanglement)&amp;rdquo; khusus untuk mekanika kuantum, menunjukkan daya komputasi yang mengalahkan komputer klasik konvensional dalam masalah matematika tertentu, yang disebut &amp;ldquo;Keunggulan Kuantum (Quantum Supremacy)&amp;rdquo;.&lt;/p>
&lt;p>Dalam artikel ini, kami akan menjelaskan secara mendalam dari perspektif teknis dan matematis tentang ancaman spesifik apa yang dihadapi teknologi blockchain dari komputer kuantum, serta tren terbaru dalam &lt;strong>Kriptografi Pasca-Kuantum (PQC: Post-Quantum Cryptography)&lt;/strong> yang akan menjadi solusinya, dan skenario transisi untuk jaringan aset kripto.&lt;/p>
&lt;hr>
&lt;h2 id="2-dasar-dasar-komputer-kuantum-dan-2-ancaman-utama-terhadap-blockchain">2. Dasar-dasar Komputer Kuantum dan 2 Ancaman Utama terhadap Blockchain
&lt;/h2>&lt;p>Sistem blockchain saat ini pada dasarnya terdiri dari dua elemen kriptografi berikut, yang masing-masing terpapar pada ancaman berbeda oleh algoritma kuantum.&lt;/p>
&lt;div class="mermaid">graph TD
A["Daya komputasi komputer kuantum yang luar biasa"] --> B["Algoritma Shor (Shor's Algorithm)"]
A --> C["Algoritma Grover (Grover's Algorithm)"]
B --> D["Runtuhnya Kriptografi Kunci Publik (ECDSA/RSA/DSA)"]
C --> E["Dampak pada Fungsi Hash Kriptografi (SHA-256)"]
D --> F["Identifikasi kunci privat orang lain &amp; Pemalsuan transaksi"]
E --> G["Keunggulan penambangan PoW &amp; Serangan pada sebagian alamat"]
F --> H["Ancaman fatal dan langsung pada blockchain"]
G --> I["Ancaman yang dapat diatasi dengan penyesuaian algoritma (misalnya perpanjangan panjang kunci)"]
style H fill:#ff9999,stroke:#cc0000,stroke-width:2px;
style I fill:#ffff99,stroke:#cccc00,stroke-width:2px;&lt;/div>
&lt;h3 id="21-dasar-dan-kesulitan-komputasi-kriptografi-kurva-eliptik-ecdsa">2.1. Dasar dan Kesulitan Komputasi Kriptografi Kurva Eliptik (ECDSA)
&lt;/h3>&lt;p>Banyak blockchain, termasuk Bitcoin dan Ethereum, menggunakan &lt;strong>Algoritma Tanda Tangan Digital Kurva Eliptik (ECDSA: Elliptic Curve Digital Signature Algorithm)&lt;/strong> sebagai algoritma tanda tangan digital. Secara khusus, Bitcoin menggunakan kurva eliptik dengan parameter &lt;code>secp256k1&lt;/code>.&lt;/p>
&lt;p>Keamanan kriptografi kurva eliptik bergantung pada kesulitan komputasi dari &lt;strong>Masalah Logaritma Diskrit Kurva Eliptik (ECDLP: Elliptic Curve Discrete Logarithm Problem)&lt;/strong>.
Kurva eliptik didefinisikan oleh persamaan dalam bentuk standar Weierstrass berikut.&lt;/p>
$$
y^2 \equiv x^3 + ax + b \pmod{p}
$$
&lt;p>Pada &lt;code>secp256k1&lt;/code> Bitcoin, $a = 0, b = 7$, dan $p$ adalah bilangan prima yang sangat besar.
Misalkan titik dasar (base point) pada kurva ini adalah $G$, dan kunci privat adalah bilangan bulat raksasa 256-bit yang dipilih secara acak $k$. Pada saat ini, kunci publik $K$ diperoleh dengan menambahkan titik dasar sebanyak $k$ kali (perkalian skalar).&lt;/p>
$$
K = k \times G = \underbrace{G + G + \dots + G}_{k \text{ times}}
$$
&lt;p>Menghitung mundur (mencari logaritma diskrit) kunci privat $k$ dari kunci publik yang dipublikasikan $K$ dan titik dasar $G$ menggunakan komputer klasik akan memakan waktu komputasi eksponensial $\mathcal{O}(\sqrt{p})$ bahkan menggunakan algoritma klasik terbaik seperti metode faktorisasi rho Pollard. Untuk kunci 256-bit, diperlukan sekitar $2^{128}$ operasi, yang merupakan tingkat yang tidak dapat dipecahkan bahkan jika superkomputer saat ini dioperasikan selama miliaran tahun.&lt;/p>
&lt;h3 id="22-keruntuhan-oleh-algoritma-shor-shors-algorithm">2.2. Keruntuhan oleh Algoritma Shor (Shor&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>Namun, &lt;strong>Algoritma Shor&lt;/strong> yang diumumkan oleh Peter Shor pada tahun 1994, menghancurkan premis ini sepenuhnya. Algoritma Shor pada awalnya diusulkan untuk memecahkan masalah faktorisasi prima (dasar kriptografi RSA) dalam waktu polinomial, tetapi algoritma ini juga dapat diterapkan pada masalah logaritma diskrit dan masalah logaritma diskrit kurva eliptik.&lt;/p>
&lt;p>Inti dari Algoritma Shor terletak pada penggunaan &lt;strong>Transformasi Fourier Kuantum (QFT: Quantum Fourier Transform)&lt;/strong> untuk menemukan &amp;ldquo;Periode (Period)&amp;rdquo; dari suatu fungsi dengan kecepatan tinggi.&lt;/p>
$$
\text{Kompleksitas komputasi klasik} = \mathcal{O}(2^{n/2}) \quad (n\text{ adalah panjang bit})
$$
$$
\text{Kompleksitas algoritma kuantum} = \mathcal{O}(n^3)
$$
&lt;p>Dengan cara ini, Algoritma Shor secara dramatis mempersingkat waktu eksponensial menjadi &lt;strong>Waktu Polinomial (Polynomial Time)&lt;/strong>. Setelah komputer kuantum dengan qubit logis yang memadai selesai dibangun, akan memungkinkan untuk mengidentifikasi kunci privat $k$ dalam beberapa menit atau detik dari kunci publik $K$ yang dipublikasikan di jaringan. Akibatnya, penyerang dapat dengan mudah mendapatkan kunci privat dompet orang lain dan sepenuhnya mengendalikan dana mereka.&lt;/p>
&lt;h4 id="221-langkah-demi-langkah-pemecahan-ecdlp-oleh-algoritma-shor">2.2.1 Langkah-demi-Langkah Pemecahan ECDLP oleh Algoritma Shor
&lt;/h4>&lt;p>Mari kita ikuti langkah demi langkah bagaimana komputer kuantum memecahkan Masalah Logaritma Diskrit Kurva Eliptik (ECDLP).&lt;/p>
&lt;p>Pengaturan masalah: Dalam $K = k \times G$, $G$ dan $K$ diketahui, dan kita ingin mencari bilangan bulat $k$ (kunci privat) yang tidak diketahui. Misalkan orde dari kurva eliptik adalah $N$.&lt;/p>
&lt;p>&lt;strong>Langkah 1: Membuat Status Superposisi&lt;/strong>
Pertama, siapkan dua register kuantum dan terapkan Gerbang Hadamard (Hadamard Gate) pada masing-masingnya untuk membuat status superposisi dari semua kombinasi bilangan bulat yang mungkin.
&lt;/p>
$$
|\psi_1\rangle = \frac{1}{N} \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} |x\rangle |y\rangle |0\rangle
$$
&lt;p>&lt;strong>Langkah 2: Menerapkan Oracle Kuantum (Evaluasi Fungsi)&lt;/strong>
Selanjutnya, dengan menggunakan sirkuit kuantum (oracle) yang melakukan penambahan titik pada kurva eliptik, hitung fungsi $f(x, y) = x \times G + y \times K$ ke dalam register ketiga.
&lt;/p>
$$
|\psi_2\rangle = \frac{1}{N} \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} |x\rangle |y\rangle |x \times G + y \times K\rangle
$$
&lt;p>
Hal penting di sini adalah, karena $K = k \times G$, maka dapat ditulis ulang sebagai $f(x, y) = (x + y \cdot k) \times G$.&lt;/p>
&lt;p>&lt;strong>Langkah 3: Pengukuran Register Ketiga&lt;/strong>
Ketika mengukur register ketiga, status akan menyusut ke titik $R$ pada suatu kurva eliptik tertentu. Akibatnya, register pertama dan kedua menyusut ke status superposisi dari pasangan $(x, y)$ yang memenuhi $x + y \cdot k \equiv c \pmod{N}$ ($c$ adalah konstanta).
&lt;/p>
$$
|\psi_3\rangle = \frac{1}{\sqrt{N}} \sum_{y=0}^{N-1} |c - y \cdot k \pmod{N}\rangle |y\rangle
$$
&lt;p>&lt;strong>Langkah 4: Menerapkan Transformasi Fourier Kuantum (QFT)&lt;/strong>
Status ini memiliki periodisitas yang berkaitan dengan periode $k$. Dengan menerapkan Transformasi Fourier Kuantum Invers (Inverse QFT) pada titik ini, hal itu menyebabkan interferensi fase dan mengubah informasi periode menjadi amplitudo.&lt;/p>
&lt;p>&lt;strong>Langkah 5: Pengukuran dan Pasca-pemrosesan Klasik&lt;/strong>
Ketika mengukur register pertama dan kedua, dengan probabilitas tinggi akan diperoleh nilai yang berisi informasi tentang $k$. Dengan menerapkan algoritma teori bilangan klasik seperti Ekspansi Fraksi Berlanjut (Continued Fractions) pada nilai yang diukur, kunci privat $k$ yang tidak diketahui dapat diidentifikasi sepenuhnya.&lt;/p>
&lt;p>Jumlah gerbang kuantum yang diperlukan dalam seluruh proses ini adalah $\mathcal{O}(\log^3 N)$, yang akan mengungkapkan kunci privat dengan kecepatan super tinggi yang tidak sebanding dengan pencarian $\mathcal{O}(\sqrt{N})$ oleh komputer klasik.&lt;/p>
&lt;h3 id="23-algoritma-grover-grovers-algorithm-dan-dampak-pada-fungsi-hash">2.3. Algoritma Grover (Grover&amp;rsquo;s Algorithm) dan Dampak pada Fungsi Hash
&lt;/h3>&lt;p>Ancaman lainnya adalah &lt;strong>Algoritma Grover&lt;/strong>, yang diusulkan oleh Lov Grover pada tahun 1996. Ini berdampak besar pada fungsi hash (misalnya SHA-256).&lt;/p>
&lt;p>Dalam blockchain, fungsi hash digunakan untuk memastikan integritas data, menghasilkan alamat, dan sebagai dasar penambangan &lt;strong>PoW (Proof of Work)&lt;/strong> pada Bitcoin. Perhitungan mundur dari fungsi hash (komputasi pracitra) dapat dianggap sebagai &amp;ldquo;masalah pencarian basis data tidak terstruktur&amp;rdquo; untuk menemukan nilai input $x$ sehingga $H(x) = y$ untuk nilai output tertentu $y$.&lt;/p>
&lt;p>Dalam komputer klasik, diperlukan rata-rata $\frac{N}{2}$ percobaan, dan paling banyak $N$ percobaan, untuk menemukan jawaban yang benar dari $N$ kemungkinan. Artinya, kompleksitas komputasi adalah $\mathcal{O}(N)$.
Namun, algoritma Grover menggunakan teknologi kuantum yang disebut &amp;ldquo;Amplifikasi Amplitudo (Amplitude Amplification)&amp;rdquo;. Dengan memperkuat amplitudo probabilitas status yang menjadi jawaban yang benar secara iteratif dari semua kemungkinan dalam status superposisi, waktu pencarian dipersingkat menjadi akar kuadrat.&lt;/p>
$$
\text{Kompleksitas Algoritma Grover} = \mathcal{O}(\sqrt{N})
$$
&lt;p>Dalam kasus SHA-256, karena $N = 2^{256}$, pencarian brute-force klasik membutuhkan sekitar $2^{256}$ percobaan. Namun, dengan algoritma Grover, hanya diperlukan $\sqrt{2^{256}} = 2^{128}$ percobaan. Ini berarti fungsi hash 256-bit akan dibelah dua menjadi &lt;strong>kekuatan keamanan yang efektif sebesar 128-bit&lt;/strong> terhadap komputer kuantum.&lt;/p>
&lt;h4 id="231-akankah-sha-256-bertahan-quantum-supremacy-in-hashing">2.3.1. Akankah SHA-256 Bertahan? (Quantum Supremacy in Hashing)
&lt;/h4>&lt;p>Bahkan jika keamanannya dibelah dua, &amp;ldquo;keamanan 128-bit&amp;rdquo; masih sangat kuat. Sebanyak $2^{128}$ operasi merupakan angka astronomis bahkan dari tingkat teknologi saat ini dan membutuhkan skala waktu setara umur alam semesta.
Oleh karena itu, secara luas diyakini bahwa &lt;strong>&amp;ldquo;SHA-256 akan mempertahankan keamanan praktisnya bahkan terhadap komputer kuantum&amp;rdquo;&lt;/strong>. Jika diperlukan untuk meningkatkan margin keamanan di masa depan, kita cukup menggandakan panjang keluaran hash (misalnya transisi dari SHA-256 ke SHA-512) untuk mempertahankan keamanan klasik 256-bit di dunia kuantum.&lt;/p>
&lt;p>Kesimpulannya, ancaman kuantum terhadap fungsi hash &amp;ldquo;ringan dan dapat diatasi&amp;rdquo;, sedangkan ancaman terhadap kriptografi kunci publik (ECDSA) adalah &amp;ldquo;fatal&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="3-analisis-dampak-spesifik-pada-aset-kripto-saat-ini-bitcoin-ethereum">3. Analisis Dampak Spesifik pada Aset Kripto Saat Ini (Bitcoin, Ethereum)
&lt;/h2>&lt;p>Di dunia di mana komputer kuantum dapat memecahkan ECDSA, kerentanan spesifik apa yang akan dihadapi oleh jaringan aset kripto? Di sini, dengan menggunakan mekanisme Bitcoin sebagai contoh, kita akan melakukan analisis terperinci dari perspektif &lt;strong>&amp;ldquo;waktu pemaparan kunci publik&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;h3 id="31-pembuatan-alamat-dan-sifat-tertutup-dari-kunci-publik">3.1. Pembuatan Alamat dan Sifat &amp;ldquo;Tertutup&amp;rdquo; dari Kunci Publik
&lt;/h3>&lt;p>Alamat Bitcoin (seperti P2PKH: Pay-to-Public-Key-Hash atau P2WPKH: Pay-to-Witness-Public-Key-Hash) tidak menggunakan kunci publik itu sendiri, melainkan hash dari kunci publik yang diproses beberapa kali.&lt;/p>
$$
\text{Bitcoin Address} = \text{Base58Check}(\text{RIPEMD160}(\text{SHA256}(\text{Public Key})))
$$
&lt;p>Seperti disebutkan di atas, karena fungsi hash tahan terhadap serangan kuantum (Algoritma Grover), komputer kuantum tidak dapat menghitung mundur &amp;ldquo;kunci publik&amp;rdquo; asli dari &amp;ldquo;alamat&amp;rdquo; yang merupakan nilai hash.
Artinya, untuk &lt;strong>&amp;ldquo;alamat yang belum digunakan (alamat yang belum pernah mengirim dana sekalipun)&amp;rdquo;&lt;/strong>, kunci publik sama sekali tidak diekspos di blockchain, dan hanya nilai hash yang dicatat. Oleh karena itu, selama kunci publik tidak diketahui, tidak ada target untuk menjalankan algoritma Shor, dan kunci privat tidak dapat diidentifikasi. Dompet dalam status ini dapat dikatakan aman secara kuantum (Quantum-safe).&lt;/p>
&lt;h3 id="32-kerentanan-fatal-saat-mengirim-transaksi-serangan-front-running">3.2. Kerentanan Fatal saat Mengirim Transaksi (Serangan Front-running)
&lt;/h3>&lt;p>Masalah muncul ketika pengguna mengirim dana.
Saat menyiarkan (mengirim) transaksi ke jaringan, pengguna harus menyertakan &lt;strong>kunci publik mereka sendiri dalam data transaksi dan mempublikasikannya ke seluruh jaringan&lt;/strong> bersama dengan tanda tangan digital untuk keperluan verifikasi.&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant User as "Pengguna (Alice)"
participant Mempool as "Mempool (Kolam Transaksi Belum Dikonfirmasi)"
participant QuantumAttacker as "Penyerang Kuantum"
participant Miner as "Penambang (Pembuatan Blok)"
User->>Mempool: Kirim Transaksi (Termasuk Kunci Publik + Tanda Tangan)
Mempool-->>QuantumAttacker: Menyadap kunci publik di jaringan
note right of QuantumAttacker: Menjalankan algoritma Shor dalam beberapa menit&lt;br/>(Menghitung kunci privat dari kunci publik)
QuantumAttacker->>QuantumAttacker: Membuat tanda tangan baru menggunakan kunci privat Alice
QuantumAttacker->>Mempool: Menyiarkan transfer palsu dengan biaya penambang yang lebih tinggi
Miner->>Miner: Memprioritaskan transaksi palsu dengan biaya (Gas) tinggi untuk dimasukkan ke dalam blok
Miner-->>User: Dicatat di blockchain (Alice kehilangan dana)&lt;/div>
&lt;p>Setelah kunci publik dikirim ke Mempool (tempat tunggu untuk transaksi yang belum dikonfirmasi), data tersebut dibagikan dengan node di seluruh dunia. Jika penyerang memiliki komputer kuantum super cepat, mereka dapat mencuri dana dengan proses berikut.&lt;/p>
&lt;ol>
&lt;li>Menyadap transaksi pengguna yang sah (Alice) dari Mempool, dan &lt;strong>mengekstrak kunci publik&lt;/strong>.&lt;/li>
&lt;li>Menjalankan algoritma Shor, dan &lt;strong>menghitung kunci privat dari kunci publik dalam beberapa menit (sebelum blok dikonfirmasi)&lt;/strong>.&lt;/li>
&lt;li>Menggunakan kunci privat yang diperoleh untuk &lt;strong>membuat transaksi palsu&lt;/strong> yang mengirimkan dana Alice ke alamat penyerang.&lt;/li>
&lt;li>Menyiarkan transaksi palsu ini ke jaringan dengan &lt;strong>menetapkan biaya penambang (Fee) yang jauh lebih tinggi&lt;/strong> daripada transaksi asli Alice.&lt;/li>
&lt;/ol>
&lt;p>Penambang, mengikuti insentif ekonomi, memprioritaskan transaksi dengan biaya tinggi untuk dimasukkan ke dalam blok. Akibatnya, transfer palsu penyerang disetujui (Confirm) lebih dulu, dan transfer sah Alice dibuang sebagai &amp;ldquo;Dana Tidak Cukup (Double Spend)&amp;rdquo;.
Rangkaian aliran ini disebut &lt;strong>Serangan Front-running (Front-running Attack)&lt;/strong>, dan di dunia di mana komputer kuantum direalisasikan, akan menyebabkan situasi mengerikan di mana dana dicuri oleh peretas pada saat seseorang menekan tombol kirim.&lt;/p>
&lt;h3 id="33-krisis-alamat-penggunaan-ulang-dan-alamat-lama-p2pk">3.3. Krisis Alamat Penggunaan Ulang dan Alamat Lama (P2PK)
&lt;/h3>&lt;p>Masalah yang lebih serius adalah alamat yang pernah digunakan untuk mengirim dana sekali saja di masa lalu (misalnya jika digunakan kembali sebagai alamat kembalian) memiliki kunci publik yang telah dicatat secara permanen di blockchain. Alamat-alamat ini selalu berisiko kehilangan saldonya dengan kunci privat yang dihitung tanpa harus menunggu transaksi dikirim.&lt;/p>
&lt;p>Selain itu, hadiah penambangan awal Satoshi Nakamoto (lebih dari 1 juta BTC), format yang lazim dari tahun 2009 hingga 2010 yaitu &lt;strong>P2PK (Pay-to-Public-Key)&lt;/strong>, mencatat kunci publik secara langsung ke dalam blockchain, bukan sebagai hash. Bitcoin dorman dalam jumlah besar ini akan menjadi target paling mudah bagi komputer kuantum, dan berpotensi memicu keruntuhan harga besar-besaran karena dicuri sekaligus dan di-dump di pasar.&lt;/p>
&lt;hr>
&lt;h2 id="4-skenario-transisi-ke-kriptografi-pasca-kuantum-pqc">4. Skenario Transisi ke Kriptografi Pasca-Kuantum (PQC)
&lt;/h2>&lt;p>Untuk menghindari bencana &amp;ldquo;Q-Day (Hari di mana komputer kuantum menembus kriptografi)&amp;rdquo;, komunitas kriptografi dan blockchain merencanakan transisi ke &lt;strong>Kriptografi Pasca-Kuantum (PQC)&lt;/strong> yang sulit dipecahkan bahkan oleh algoritma kuantum.
Institut Standar dan Teknologi Nasional AS (NIST) telah melakukan proses standardisasi PQC selama bertahun-tahun, dan setelah melalui evaluasi ketat yang berurutan, beberapa metode kriptografi yang menjanjikan dipilih sebagai standar final.&lt;/p>
&lt;p>Kami akan menjelaskan secara terperinci algoritma PQC utama yang menarik perhatian sebagai alternatif tanda tangan digital blockchain, beserta mekanisme matematisnya.&lt;/p>
&lt;h3 id="41-tanda-tangan-berbasis-hash-hash-based-signatures">4.1. Tanda Tangan Berbasis Hash (Hash-Based Signatures)
&lt;/h3>&lt;p>Tanda tangan berbasis hash adalah metode kriptografi yang keamanannya hanya bergantung pada dasar yang sangat sederhana dan kuat: &amp;ldquo;ketahanan benturan dari fungsi hash&amp;rdquo;. Karena keamanan fungsi hash terhadap komputer kuantum telah terbukti (seperti disebutkan di atas, margin keamanan 128-bit sudah cukup), ini adalah pendekatan yang sangat andal.
Contoh yang menonjol adalah &lt;strong>Tanda Tangan Lamport (Lamport Signatures)&lt;/strong>, atau ekstensinya WOTS (Winternitz One-Time Signature), dan kandidat standardisasi NIST &lt;strong>SPHINCS+&lt;/strong> (saat ini distandardisasi sebagai FIPS 205 dan disebut SLH-DSA).&lt;/p>
&lt;h4 id="411-detail-matematis-tanda-tangan-lamport-one-time-signature">4.1.1. Detail Matematis Tanda Tangan Lamport (One-Time Signature)
&lt;/h4>&lt;p>Mari kita perhatikan mekanisme Tanda Tangan Lamport secara lebih terperinci secara matematis.
Misalkan fungsi hash $H: \{0, 1\}^* \to \{0, 1\}^{256}$.&lt;/p>
&lt;p>&lt;strong>【Pembuatan Kunci】&lt;/strong>
Alice (pengirim) menggunakan Generator Angka Acak Sejati (TRNG) untuk menghasilkan 256 pasang pasangan kunci privat.
&lt;/p>
$$
\text{sk}_{i,0} \in \{0, 1\}^{256}, \quad \text{sk}_{i,1} \in \{0, 1\}^{256} \quad (1 \le i \le 256)
$$
&lt;p>
Akibatnya, kunci privat $\text{sk}$ terdiri dari total 512 string 256-bit (ukuran: $512 \times 32 = 16.384$ byte).&lt;/p>
&lt;p>Selanjutnya, hitung kunci publik $\text{pk}$. Hash-kan setiap komponen kunci privat satu per satu.
&lt;/p>
$$
\text{pk}_{i,0} = H(\text{sk}_{i,0}), \quad \text{pk}_{i,1} = H(\text{sk}_{i,1})
$$
&lt;p>
Kunci publik juga akan berukuran $16.384$ byte. Publikasikan ini ke jaringan blockchain.&lt;/p>
&lt;p>&lt;strong>【Pembuatan Tanda Tangan】&lt;/strong>
Untuk menandatangani data transaksi $M$, Alice pertama-tama menghitung nilai hash-nya.
&lt;/p>
$$
h = H(M) \in \{0, 1\}^{256}
$$
&lt;p>
Misalkan bit ke-$i$ dari nilai hash $h$ adalah $h_i \in \{0, 1\}$.
Tanda tangan Alice $\sigma$ akan menjadi kumpulan komponen kunci privat yang sesuai dengan setiap bit $h_i$.
&lt;/p>
$$
\sigma = (\text{sk}_{1, h_1}, \text{sk}_{2, h_2}, \dots, \text{sk}_{256, h_{256}})
$$
&lt;p>
Dengan kata lain, jika bit hash pesan adalah &lt;code>0&lt;/code>, ekspos $\text{sk}_{i,0}$, dan jika &lt;code>1&lt;/code>, ekspos $\text{sk}_{i,1}$. Ukuran tanda tangan akan menjadi $256 \times 32 = 8.192$ byte.&lt;/p>
&lt;p>&lt;strong>【Verifikasi Tanda Tangan】&lt;/strong>
Penambang (pemverifikasi) memverifikasi menggunakan transaksi yang diterima $M$, tanda tangan $\sigma = (s_1, s_2, \dots, s_{256})$, dan kunci publik $\text{pk}$.
Hitung ulang hash transaksi $h = H(M)$, dan pastikan apakah setiap nilai hash dari $s_i$ cocok dengan elemen kunci publik yang sesuai $\text{pk}_{i, h_i}$.
&lt;/p>
$$
H(s_i) \overset{?}{=} \text{pk}_{i, h_i} \quad (\text{untuk semua } 1 \le i \le 256)
$$
&lt;p>Proses ini sangat sederhana secara matematis, dan tidak mungkin untuk memalsukan tanda tangan kecuali jika komputer kuantum dapat menghitung mundur $H$. Namun, karena setengah dari kunci privat diekspos ke jaringan setelah ditandatangani, terdapat kendala kuat bahwa ini hanya dapat digunakan &amp;ldquo;satu kali (One-Time)&amp;rdquo;, karena menandatangani pesan lain dengan pasangan kunci yang sama akan menggabungkan kunci privat yang terekspos dan memberikan ruang bagi penyerang untuk melakukan pemalsuan.
Untuk membuatnya praktis, teknologi seperti &lt;strong>XMSS&lt;/strong>, yang menggunakan Merkle Tree untuk mengelompokkan sejumlah besar kunci sekali pakai ke dalam satu kunci publik root, dan &lt;strong>SPHINCS+&lt;/strong> yang stateless, telah dikembangkan, tetapi mereka memiliki kelemahan ukuran tanda tangan mencapai puluhan kilobyte.&lt;/p>
&lt;h3 id="42-kriptografi-berbasis-kisi-lattice-based-cryptography">4.2. Kriptografi Berbasis Kisi (Lattice-Based Cryptography)
&lt;/h3>&lt;p>Saat ini, yang paling diharapkan sebagai arus utama PQC dan diadopsi sebagai standar utama NIST (FIPS 204: ML-DSA / sebelumnya CRYSTALS-Dilithium, Falcon, dll.) adalah &lt;strong>Kriptografi Kisi&lt;/strong>.&lt;/p>
&lt;p>Keamanan kriptografi kisi bergantung pada masalah yang terbukti secara matematis sulit seperti &amp;ldquo;Masalah Vektor Terpendek dalam kisi multidimensi (SVP: Shortest Vector Problem)&amp;rdquo; dan &amp;ldquo;Pembelajaran dengan Masalah Galat (LWE: Learning With Errors)&amp;rdquo;. Tidak ada algoritma yang ditemukan yang dapat memecahkan masalah kisi secara efisien bahkan menggunakan komputer kuantum.&lt;/p>
&lt;p>&lt;strong>Model Matematis LWE (Learning With Errors):&lt;/strong>
Gagasan dasar masalah LWE adalah untuk membuat masalah menjadi lebih sulit secara dramatis dengan secara sengaja menambahkan &amp;ldquo;noise (galat) kecil&amp;rdquo; ke dalam sistem persamaan linear.
Misalkan vektor rahasia adalah $\mathbf{s} \in \mathbb{Z}_q^n$.
Ada matriks publik raksasa yang dipilih secara acak $\mathbf{A} \in \mathbb{Z}_q^{m \times n}$, dan vektor noise kecil yang sengaja ditambahkan $\mathbf{e} \in \mathbb{Z}_q^m$.
Kunci publik $\mathbf{b}$ dihitung sebagai berikut.&lt;/p>
$$
\mathbf{b} = \mathbf{A}\mathbf{s} + \mathbf{e} \pmod{q}
$$
&lt;p>Meskipun matriks $\mathbf{A}$ dan vektor $\mathbf{b}$ (kunci publik) dipublikasikan, sangat sulit untuk menghitung mundur kunci privat $\mathbf{s}$ dari sana karena adanya noise $\mathbf{e}$. Tanpa noise, itu bisa diselesaikan dengan eliminasi Gauss sederhana, tetapi dengan noise, ruang pencarian meledak di semua dimensi, memberikan keamanan yang kuat baik terhadap komputer klasik maupun kuantum.
Dalam algoritma yang sebenarnya digunakan di blockchain dan sejenisnya (seperti Dilithium), ini diperluas pada cincin polinomial menggunakan &lt;strong>Ring-LWE (atau Module-LWE)&lt;/strong>, yang mengurangi ukuran kunci dan mempercepat komputasi.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Kelebihan&lt;/strong>: Dibandingkan dengan tanda tangan berbasis hash, ukuran kunci publik dan tanda tangan relatif kecil (sekitar beberapa kilobyte), dan kecepatan perhitungan pembuatan dan verifikasi tanda tangan sangat cepat (setara atau lebih cepat dari ECDSA).&lt;/li>
&lt;li>&lt;strong>Kekurangan&lt;/strong>: Struktur matematisnya kompleks, dan karena periode verifikasi historisnya pendek, risiko ditemukannya algoritma dekripsi baru di masa depan bukanlah nol.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="5-tantangan-teknis-transisi-pqc-di-blockchain">5. Tantangan Teknis Transisi PQC di Blockchain
&lt;/h2>&lt;p>Fakta bahwa algoritma PQC (seperti Dilithium dan SPHINCS+) ada tidak berarti bahwa mereka dapat segera diterapkan ke Bitcoin atau Ethereum. Terdapat beberapa tantangan berat yang khusus untuk sistem terdesentralisasi.&lt;/p>
&lt;h3 id="51-peningkatan-ukuran-tanda-tangan-dan-keruntuhan-skalabilitas">5.1. Peningkatan Ukuran Tanda Tangan dan Keruntuhan Skalabilitas
&lt;/h3>&lt;p>Hambatan terbesar dalam mengadopsi PQC adalah peningkatan ukuran data yang signifikan.
Sementara ukuran tanda tangan ECDSA saat ini sekitar 70 byte, ukuran tanda tangan untuk ML-DSA (Dilithium) kriptografi kisi adalah sekitar 2.420 byte hingga 4.595 byte (tergantung pada tingkat keamanan), dan ukuran kunci publik melebihi 1.300 byte. Untuk SPHINCS+ berbasis hash, ukuran tanda tangan mencapai puluhan ribu byte.&lt;/p>
&lt;p>Jika Bitcoin mengadopsi PQC sambil mempertahankan batas ukuran blok saat ini (berat sekitar 4MB termasuk SegWit), jumlah transaksi yang dapat ditampung dalam satu blok akan menurun drastis. Throughput jaringan (TPS: Transactions Per Second) akan turun secara tak terhindarkan, dan kemacetan transfer akan menjadi normal.
Untuk mengatasi ini, batas ukuran blok perlu ditingkatkan secara signifikan, namun ini akan meningkatkan persyaratan penyimpanan dan bandwidth jaringan node penuh, membuat operasi node oleh individu menjadi sulit, yang pada akhirnya mengarah pada dilema &lt;strong>sentralisasi jaringan&lt;/strong>.&lt;/p>
&lt;div class="mermaid">pie title "Perbandingan Ukuran Data Tanda Tangan di Blockchain (Diagram Konsep)"
"ECDSA (Sekitar 70 Bytes)" : 2
"Dilithium ML-DSA (Sekitar 2,500 Bytes)" : 58
"SPHINCS+ (Sekitar 17,000 Bytes)" : 40&lt;/div>
&lt;p>&lt;em>(※ Peningkatan ukuran data transaksi karena pengenalan PQC akan menjadi hambatan fatal bagi skalabilitas)&lt;/em>&lt;/p>
&lt;h3 id="52-dampak-pada-ethereum-virtual-machine-evm-dan-precompiled-contracts">5.2. Dampak pada Ethereum Virtual Machine (EVM) dan Precompiled Contracts
&lt;/h3>&lt;p>Di platform kontrak pintar Turing-complete seperti Ethereum, adopsi PQC membutuhkan peningkatan fundamental pada EVM (Ethereum Virtual Machine).
Saat ini EVM menyediakan kontrak pra-kompilasi (Precompiled Contract) yang disebut &lt;code>ecrecover&lt;/code> (alamat: &lt;code>0x01&lt;/code>) untuk memverifikasi tanda tangan ECDSA, yang dioptimalkan untuk memverifikasi tanda tangan dengan biaya gas yang sangat rendah (3000 Gas).&lt;/p>
&lt;p>Namun, proses verifikasi algoritma kriptografi kisi baru seperti Dilithium dan Falcon melibatkan operasi polinomial kompleks dan operasi matriks, dan jika diimplementasikan menggunakan opcode (Opcode) EVM yang ada, memverifikasi satu tanda tangan saja dapat memakan biaya jutaan hingga puluhan juta gas. Ini merupakan tingkat yang dapat menghabiskan batas gas blok (sekitar 30 juta Gas) saat ini dalam satu transaksi.&lt;/p>
&lt;p>Untuk menghindari ini, diperlukan untuk mengintegrasikan kontrak pra-kompilasi baru (Precompiled Contract) untuk verifikasi PQC (misalnya, menugaskan &lt;code>0x10&lt;/code> untuk DilithiumVerify) ke dalam EVM itu sendiri melalui pembaruan sistem yang besar pada jaringan (Hard Fork). Hal ini membutuhkan pengembang inti masing-masing klien Ethereum (Geth, Nethermind, Erigon, dll.) untuk bekerja sama dalam mengoptimalkan logika verifikasi kriptografi kisi di tingkat bahasa pemrograman seperti C++, Go, atau Rust, dan melakukan audit keamanan, yang merupakan proses yang akan memakan waktu bertahun-tahun.&lt;/p>
&lt;h3 id="53-kesulitan-membangun-konsensus-melalui-hard-fork">5.3. Kesulitan Membangun Konsensus melalui Hard Fork
&lt;/h3>&lt;p>Untuk mengubah algoritma tanda tangan yang mendasarinya, &lt;strong>Hard Fork&lt;/strong>, yang memperbarui protokol di seluruh jaringan, sangat penting. Namun, dalam komunitas seperti Bitcoin yang berfokus pada &amp;ldquo;tidak mengubah aturan dan tetap terdesentralisasi&amp;rdquo;, proses membangun konsensus sangat sulit dari sudut pandang politik. Mulai dari mengajukan BIP (Bitcoin Improvement Proposal) mengenai transisi PQC hingga diimplementasikan, kemungkinan akan memakan waktu perdebatan dan pengujian bertahun-tahun.&lt;/p>
&lt;hr>
&lt;h2 id="6-kapan-q-day-akan-tiba-peta-jalan-menuju-transisi">6. Kapan &amp;ldquo;Q-Day&amp;rdquo; akan Tiba? Peta Jalan menuju Transisi
&lt;/h2>&lt;p>Kapan akan tiba hari di mana &amp;ldquo;komputer kuantum sepenuhnya memecahkan kriptografi kurva eliptik 256-bit (Q-Day)&amp;rdquo;?
Pendapat para ahli terbagi, namun sebagian besar memprediksi kemunculan komputer kuantum berskala besar yang memiliki setidaknya beberapa ribu hingga puluhan ribu qubit logis stabil (qubit toleran noise dan dikoreksi galat) pada &lt;strong>&amp;ldquo;pertengahan 2030-an hingga 2040-an&amp;rdquo;&lt;/strong>. Namun, waktu ini tidak dapat disangkal bisa lebih awal (sekitar 2030) tergantung pada terobosan dalam arsitektur perangkat keras atau penemuan algoritma kuantum yang lebih efisien.&lt;/p>
&lt;p>Berikut adalah peta jalan yang harus diambil ekosistem aset kripto sebelum terlambat.&lt;/p>
&lt;h3 id="fase-1-tanda-tangan-hibrida-dan-abstraksi-akun-sekarang-hingga-sekitar-2028">Fase 1: Tanda Tangan Hibrida dan Abstraksi Akun (Sekarang hingga sekitar 2028)
&lt;/h3>&lt;p>Kalangan blockchain saat ini, terutama tim pengembangan Ethereum (seperti Vitalik Buterin), sedang mempertimbangkan &lt;strong>&amp;ldquo;Tanda Tangan Hibrida&amp;rdquo;&lt;/strong> yang menggabungkan ECDSA dan PQC (tanda tangan berbasis hash atau kriptografi kisi). Pendekatan ini menyertakan tanda tangan ECDSA yang aman saat ini bersama dengan tanda tangan PQC ke dalam transaksi, sehingga jika salah satu ditembus, keamanan masih tetap terjaga.
Selain itu, melalui pemanfaatan abstraksi akun (Account Abstraction, ERC-4337), ada upaya untuk mengimplementasikan dan mendukung tanda tangan PQC secara opsional (bagi pengguna yang menginginkannya saja) di atas dompet kontrak pintar, tanpa harus menunggu hard fork tingkat protokol.&lt;/p>
&lt;h3 id="fase-2-pemanfaatan-zero-knowledge-proofs-zk-rollups-dari-2025-dan-seterusnya">Fase 2: Pemanfaatan Zero-Knowledge Proofs (ZK-Rollups) (Dari 2025 dan seterusnya)
&lt;/h3>&lt;p>Sebagai kartu truf untuk menyelesaikan &amp;ldquo;peningkatan ukuran tanda tangan&amp;rdquo;, yang merupakan kelemahan terbesar PQC, harapan diletakkan pada penggunaan &lt;strong>ZK-Rollups (Zero-Knowledge Proofs)&lt;/strong> yang merupakan teknologi layer 2.
Daripada menulis data tanda tangan PQC berukuran sangat besar langsung ke Layer 1 (rantai utama), banyak transaksi PQC diverifikasi dan diagregasikan di atas Layer 2. Kemudian, mereka dikompresi menjadi sebuah &amp;ldquo;data bukti (Proof)&amp;rdquo; yang sangat kecil menggunakan ZK-SNARKs atau ZK-STARKs untuk direkam di Layer 1.
Perlu dicatat, karena beberapa konfigurasi SNARKs (seperti Groth16) rentan secara kuantum, penerapan &lt;strong>ZK-STARKs&lt;/strong> yang hanya bergantung pada fungsi hash tahan kuantum akan menjadi kunci.&lt;/p>
&lt;h3 id="fase-3-hard-fork-tingkat-protokol-sekitar-2030">Fase 3: Hard Fork Tingkat Protokol (Sekitar 2030)
&lt;/h3>&lt;p>Setelah standardisasi NIST untuk PQC sepenuhnya mapan, dan standar industri dirilis dan diuji secara memadai, diharapkan bahwa blockchain utama seperti Bitcoin dan Ethereum akan melakukan hard fork yang sepenuhnya mentransisikan metode tanda tangan default ke PQC. Selama masa transisi ini, akan ada pengumuman besar-besaran kepada pengguna yang mendesak mereka untuk &amp;ldquo;memindahkan dana dari dompet lama ke dompet baru yang mendukung PQC&amp;rdquo;.&lt;/p>
&lt;h3 id="studi-kasus-proyek-perintis">Studi Kasus Proyek Perintis
&lt;/h3>&lt;p>Beberapa proyek blockchain telah mengantisipasi ancaman kuantum ini, dan dikembangkan sejak tahap awal dengan mempromosikan ketahanan kuantum.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>QRL (Quantum Resistant Ledger)&lt;/strong>: Sebuah blockchain tahap awal yang mengimplementasikan PQC berbasis hash, XMSS (Skema Tanda Tangan Merkle yang Diperluas) secara natif pada tingkat protokol.&lt;/li>
&lt;li>&lt;strong>Algorand / Cellframe&lt;/strong>: Proyek-proyek ini memiliki arsitektur modular dari lapisan kriptografi yang fleksibel untuk mengantisipasi pembaruan PQC di masa depan, secara proaktif mengeksplorasi integrasi kriptografi kisi.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="7-kesimpulan-masa-depan-aset-kripto-dan-perlindungan-aset-kita">7. Kesimpulan: Masa Depan Aset Kripto dan Perlindungan Aset Kita
&lt;/h2>&lt;p>Ketibaan &amp;ldquo;Era Pasca-Kuantum&amp;rdquo; bukan lagi sekadar khayalan fiksi ilmiah, melainkan sudah berada tepat di hadapan kita sebagai tantangan teknis nyata terhadap sistem kriptografi saat ini.&lt;/p>
&lt;p>Dua pedang komputer kuantum, algoritma Shor dan algoritma Grover, secara berurutan mengancam kriptografi kunci publik dan fungsi hash yang menjadi fondasi blockchain saat ini. Khususnya, kerentanan ECDSA berakibat fatal, dan transisi ke kriptografi tahan kuantum (PQC) adalah rute yang mutlak tak terhindarkan untuk mencegah risiko pencurian dana dari serangan front-running.&lt;/p>
&lt;p>Namun, dunia teknologi dan komunitas blockchain tidak hanya duduk diam menunggu kehancuran. Pemilihan dan standardisasi algoritma PQC seperti kriptografi kisi dan tanda tangan berbasis hash terus berkembang dengan stabil, dan melalui penggunaan zero-knowledge proofs (ZK-STARKs) serta teknologi penskalaan Layer 2, kita mulai melihat jalan keluar untuk mengatasi &amp;ldquo;peningkatan ukuran data&amp;rdquo; yang merupakan hambatan terbesar adopsi PQC.&lt;/p>
&lt;p>Tidak perlu bagi kita pengguna dan investor aset kripto pada umumnya untuk panik saat ini dan menjual seluruh dana. Akan tetapi, sangat penting untuk memiliki literasi mendasar dan kesadaran pertahanan diri sebagai berikut.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Hindari menggunakan ulang alamat&lt;/strong>: Untuk menegakkan keamanan, bukan hanya privasi, disarankan untuk tidak menyimpan dana dalam jangka waktu lama di &amp;ldquo;alamat yang telah digunakan (alamat yang pernah digunakan untuk mengirim dana sekali saja, sehingga kunci publiknya terpapar di blockchain)&amp;rdquo;.&lt;/li>
&lt;li>&lt;strong>Mengamati tren teknologi&lt;/strong>: Terus awasi diskusi tentang transisi PQC di jaringan utama seperti BIP Bitcoin atau EIP Ethereum, serta berita mengenai hard fork, agar Anda dapat melakukan operasi migrasi dompet pada waktu yang diperlukan dengan benar.&lt;/li>
&lt;/ul>
&lt;p>Sejarah blockchain adalah sejarah berkelanjutan antara ketahanan (resiliensi) dan pembaruan sistem dalam menghadapi ancaman teknis baru. Sama seperti mereka yang mengatasi masalah skalabilitas dan isu lingkungan (seperti transisi dari PoW ke PoS), seluruh ekosistem kemungkinan besar akan mencari solusi dan beradaptasi terhadap ancaman kuantum yang belum pernah terjadi ini.
Kita dapat berharap pada masa depan di mana komputer kuantum sebagai kearifan baru umat manusia dan teknologi tepercaya berupa buku besar terdesentralisasi, bukan bertabrakan dan hancur, namun menyatu menjadi sistem kuat di dimensi yang lebih tinggi.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Referensi &amp;amp; Tautan Terkait:&lt;/em>&lt;/p>
&lt;ul>
&lt;li>National Institute of Standards and Technology (NIST) - Post-Quantum Cryptography Standardization Project&lt;/li>
&lt;li>Shor, P. W. (1994). Algorithms for quantum computation: discrete logarithms and factoring.&lt;/li>
&lt;li>Grover, L. K. (1996). A fast quantum mechanical algorithm for database search.&lt;/li>
&lt;li>Buterin, V. (2024). How to hard-fork to save most users&amp;rsquo; funds in a quantum emergency.&lt;/li>
&lt;/ul></description></item><item><title>Penjelasan Mudah tentang Perbedaan antara Quantum Annealing dan Model Quantum Gate</title><link>http://kenji.blog/id/p/quantum-annealing-vs-gate-model-explained/</link><pubDate>Fri, 11 Sep 2026 12:00:00 +0900</pubDate><guid>http://kenji.blog/id/p/quantum-annealing-vs-gate-model-explained/</guid><description>&lt;img src="http://kenji.blog/p/quantum-annealing-vs-gate-model-explained/img/eyecatch.jpg" alt="Featured image of post Penjelasan Mudah tentang Perbedaan antara Quantum Annealing dan Model Quantum Gate" />&lt;h1 id="penjelasan-mudah-tentang-perbedaan-antara-quantum-annealing-dan-model-quantum-gate">Penjelasan Mudah tentang Perbedaan antara Quantum Annealing dan Model Quantum Gate
&lt;/h1>&lt;p>Komputasi kuantum adalah teknologi komputasi generasi berikutnya yang berpotensi memecahkan masalah tertentu, yang membutuhkan waktu sangat lama untuk dihitung oleh komputer klasik modern (termasuk superkomputer konvensional), dengan kecepatan yang luar biasa menggunakan prinsip-prinsip mekanika kuantum (superposisi dan keterikatan kuantum).&lt;/p>
&lt;p>Saat ini, sebagai pendekatan menuju realisasi komputer kuantum, secara garis besar ada dua paradigma utama: &lt;strong>&amp;ldquo;Quantum Annealing&amp;rdquo;&lt;/strong> dan &lt;strong>&amp;ldquo;Model Quantum Gate (Quantum Gate Model)&amp;rdquo;&lt;/strong>. Kedua metode ini memiliki perbedaan besar dalam pendekatan fisik yang mendasarinya, tugas komputasi yang menjadi keunggulannya, serta tantangan perangkat keras dalam penerapannya.&lt;/p>
&lt;p>Pada artikel ini, kita akan membandingkan dan menjelaskan kedua metode tersebut secara menyeluruh dan mendetail dari perspektif teknis, mulai dari prinsip fisik, model matematis (Model Ising, QUBO, transformasi uniter, dll.), batasan teknologi saat ini, hingga contoh penggunaan (use cases) yang spesifik.&lt;/p>
&lt;hr>
&lt;h2 id="1-dasar-komputasi-kuantum-perbedaan-mendasar-dengan-komputer-klasik">1. Dasar Komputasi Kuantum: Perbedaan Mendasar dengan Komputer Klasik
&lt;/h2>&lt;p>Komputer klasik memproses informasi sebagai &amp;ldquo;bit&amp;rdquo; yang mengambil status &amp;ldquo;0&amp;rdquo; atau &amp;ldquo;1&amp;rdquo;. Di sisi lain, komputer kuantum menggunakan &amp;ldquo;qubit&amp;rdquo; (quantum bit). Qubit, berdasarkan prinsip mekanika kuantum yaitu &amp;ldquo;Superposisi&amp;rdquo; (Superposition), dapat secara probabilistik memiliki status 0 dan 1 secara bersamaan.&lt;/p>
&lt;p>Lebih lanjut, dengan memanfaatkan fenomena yang disebut &amp;ldquo;Keterikatan Kuantum&amp;rdquo; (Entanglement), keadaan beberapa qubit menjadi saling berkolerasi kuat, sehingga operasi pada satu qubit akan berdampak instan pada keseluruhan sistem. Hal ini memungkinkan komputasi paralel tingkat lanjut (paralelisme kuantum).&lt;/p>
&lt;p>Akan tetapi, keadaan kuantum sangat rentan terhadap gangguan eksternal (seperti panas atau gelombang elektromagnetik), dan &amp;ldquo;Dekoherensi&amp;rdquo; (Decoherence) di mana keadaan kuantum rusak dan kembali menjadi keadaan klasik merupakan tantangan besar. Perbedaan cara menangani masalah noise ini bermuara pada perbedaan besar dalam filosofi desain antara Annealing dan Model Gate.&lt;/p>
&lt;hr>
&lt;h2 id="2-rincian-quantum-annealing">2. Rincian Quantum Annealing
&lt;/h2>&lt;p>Quantum Annealing adalah arsitektur komputasi khusus yang terutama dioptimalkan untuk memecahkan &lt;strong>&amp;ldquo;Masalah Optimasi Kombinatorial&amp;rdquo;&lt;/strong>. Metode ini didasarkan pada teori yang diusulkan oleh Mampei Kadowaki dan Hidetoshi Nishimori dari Tokyo Institute of Technology pada tahun 1998, dan mulai dikenal luas setelah dikomersialkan pertama kali di dunia oleh D-Wave Systems dari Kanada.&lt;/p>
&lt;h3 id="21-mekanisme-fisik-model-ising-medan-transversal-dan-fluktuasi-kuantum">2.1. Mekanisme Fisik: Model Ising Medan Transversal dan Fluktuasi Kuantum
&lt;/h3>&lt;p>Quantum Annealing memanfaatkan sifat sistem fisik di alam yang cenderung stabil menuju &amp;ldquo;keadaan dengan energi terendah (ground state)&amp;rdquo;.&lt;/p>
&lt;p>Pada pendekatan klasik yang disebut &amp;ldquo;Simulated Annealing&amp;rdquo;, fluktuasi termal digunakan untuk keluar dari solusi optimal lokal (local minimum). Sebaliknya, pada Quantum Annealing, &amp;ldquo;Fluktuasi Kuantum&amp;rdquo; (Quantum Fluctuation) digunakan agar melalui &amp;ldquo;Efek Terowongan Kuantum&amp;rdquo; (Quantum Tunneling), penghalang energi dapat ditembus untuk mencari solusi optimal global (global minimum) dengan lebih efisien.&lt;/p>
&lt;p>Evolusi waktu sistem Quantum Annealing dijelaskan dengan Hamiltonian (operator yang mewakili total energi sistem) $H(t)$ berikut:&lt;/p>
$$ H(t) = A(t) H_0 + B(t) H_P $$
&lt;p>Di sini, $t$ adalah waktu, $A(t)$ adalah fungsi yang secara bertahap menurun, dan $B(t)$ adalah fungsi yang secara bertahap meningkat.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>$H_0$ (Hamiltonian Awal)&lt;/strong>: Mewakili medan transversal (Transverse field) yang menghasilkan fluktuasi kuantum.
$$ H_0 = - \sum_{i} \sigma_i^x $$
($\sigma_i^x$ adalah matriks Pauli-X yang mewakili pembalikan bit.)&lt;/li>
&lt;li>&lt;strong>$H_P$ (Hamiltonian Masalah)&lt;/strong>: Model Ising yang merepresentasikan masalah optimasi yang ingin diselesaikan.&lt;/li>
&lt;/ul>
&lt;p>Pada keadaan awal ($t=0$), $A(0)$ bernilai maksimal, dan sistem berada dalam ground state dari $H_0$ (di mana semua keadaan bersuperposisi secara merata). Seiring berjalannya waktu, medan transversal diperlemah secara perlahan, dan secara bersamaan interaksi pada Hamiltonian masalah diperkuat.&lt;/p>
&lt;h3 id="22-komputasi-kuantum-adiabatik-adiabatic-quantum-computation">2.2. Komputasi Kuantum Adiabatik (Adiabatic Quantum Computation)
&lt;/h3>&lt;p>Hal yang penting dalam proses ini adalah &lt;strong>&amp;ldquo;Teorema Adiabatik&amp;rdquo; (Adiabatic Theorem)&lt;/strong>. Menurut teorema adiabatik, jika sistem diubah &amp;ldquo;cukup lambat (secara adiabatik)&amp;rdquo;, sistem akan selalu bertahan dalam ground state dari Hamiltonian pada setiap momen tersebut.&lt;/p>
&lt;p>Artinya, saat pada akhirnya $A(t) \to 0$ dan $B(t) \to 1$, sistem telah mencapai ground state dari $H_P$, yaitu &lt;strong>&amp;ldquo;solusi eksak dari masalah optimasi&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;div class="mermaid">graph TD
A["Hamiltonian H_0 (Keadaan Awal)"] -->|"Perubahan Adiabatik (Cukup Lambat)"| B["Selalu Mempertahankan Ground State"]
A -->|"Perubahan Non-Adiabatik (Terlalu Cepat/Noise Termal)"| C["Transisi ke Keadaan Tereksitasi (Error)"]
B --> D["Hamiltonian H_P (Solusi Optimal Global)"]
C --> E["Terperangkap di Solusi Optimal Lokal"]
D --> F["Pembacaan Solusi"]
E --> F&lt;/div>
&lt;h3 id="23-pemetaan-dari-qubo-ke-model-ising">2.3. Pemetaan dari QUBO ke Model Ising
&lt;/h3>&lt;p>Untuk memecahkan masalah dunia nyata pada Quantum Annealer, masalah tersebut harus dirumuskan dalam format &lt;strong>QUBO (Quadratic Unconstrained Binary Optimization)&lt;/strong>.&lt;/p>
&lt;p>Fungsi objektif QUBO didefinisikan sebagai berikut:
&lt;/p>
$$ \min_{x \in \{0,1\}^n} \sum_{i} Q_{ii} x_i + \sum_{i &lt; j} Q_{ij} x_i x_j $$
&lt;p>
Di sini, $x_i \in \{0, 1\}$ adalah variabel biner, dan $Q$ adalah matriks bobot.&lt;/p>
&lt;p>Karena perangkat keras (seperti D-Wave) menangani spin fisik (arah atas/bawah), variabel harus dikonversi ke Model Ising yang menggunakan $\sigma_i \in \{-1, +1\}$. Rumus konversinya adalah:
&lt;/p>
$$ x_i = \frac{1 - \sigma_i}{2} \quad \text{atau} \quad \sigma_i = 1 - 2x_i $$
&lt;p>Dengan mensubstitusikan ini ke dalam persamaan QUBO dan menyederhanakannya, kita mendapatkan Hamiltonian Model Ising $H_P$:
&lt;/p>
$$ H_P = - \sum_{i&lt;j} J_{ij} \sigma_i^z \sigma_j^z - \sum_{i} h_i \sigma_i^z $$
&lt;ul>
&lt;li>$J_{ij}$: Interaksi antaram spin (koefisien kopling). Ini mewakili kekuatan ikatan antara qubit fisik.&lt;/li>
&lt;li>$h_i$: Medan magnet lokal (bias) pada setiap spin.&lt;/li>
&lt;/ul>
&lt;h3 id="24-perangkat-keras-dan-tantangan-quantum-annealing-contoh-d-wave">2.4. Perangkat Keras dan Tantangan Quantum Annealing (Contoh D-Wave)
&lt;/h3>&lt;p>Prosesor kuantum D-Wave direalisasikan menggunakan SQUID (Superconducting Quantum Interference Device). Keterhubungan antar qubit fisik bergantung pada pemasangan kabel perangkat keras dan bukan merupakan keterhubungan penuh (di mana semua bit terhubung satu sama lain).
Mulai dari &amp;ldquo;Chimera graph&amp;rdquo; awal, berkembang ke &amp;ldquo;Pegasus&amp;rdquo;, dan kemudian &amp;ldquo;Zephyr graph&amp;rdquo;, tingkat keterhubungan terus meningkat, namun batasan tetap ada.&lt;/p>
&lt;p>Oleh karena itu, diperlukan proses &lt;strong>&amp;ldquo;Minor Embedding&amp;rdquo;&lt;/strong> yang memetakan masalah dengan struktur graf kompleks ke graf fisik. Hal ini mengakibatkan satu variabel logis direpresentasikan oleh beberapa qubit fisik (chain), yang mengurangi jumlah efektif qubit yang dapat digunakan dan menurunkan akurasi komputasi.&lt;/p>
&lt;hr>
&lt;h2 id="3-rincian-model-quantum-gate-quantum-gate-model">3. Rincian Model Quantum Gate (Quantum Gate Model)
&lt;/h2>&lt;p>Model Quantum Gate adalah perluasan secara mekanika kuantum dari gerbang logika komputer klasik (seperti AND, OR, NOT), dan merupakan arsitektur yang memungkinkan &lt;strong>&amp;ldquo;Komputasi Kuantum Universal&amp;rdquo; (Universal Quantum Computation)&lt;/strong>. Banyak perusahaan seperti IBM, Google, Rigetti, dan IonQ telah mengadopsi metode ini.&lt;/p>
&lt;h3 id="31-transformasi-uniter-dan-vektor-keadaan">3.1. Transformasi Uniter dan Vektor Keadaan
&lt;/h3>&lt;p>Pada Model Quantum Gate, keadaan seluruh sistem qubit direpresentasikan sebagai &amp;ldquo;Vektor Keadaan&amp;rdquo; (State Vector) $|\psi\rangle$. Keadaan 1 qubit dinyatakan sebagai kombinasi linear dari basis keadaan $|0\rangle$ dan $|1\rangle$ sebagai berikut:
&lt;/p>
$$ |\psi\rangle = \alpha |0\rangle + \beta |1\rangle $$
&lt;p>
Di mana $\alpha$ dan $\beta$ adalah amplitudo probabilitas kompleks yang memenuhi $|\alpha|^2 + |\beta|^2 = 1$. Keadaan ini dapat divisualisasikan secara geometris sebagai sebuah titik pada &amp;ldquo;Bloch Sphere&amp;rdquo; (Bola Bloch).&lt;/p>
&lt;p>Langkah komputasi kuantum dideskripsikan sebagai penerapan &lt;strong>Operator Uniter (Unitary Operator) $U$&lt;/strong> pada vektor keadaan. Matriks uniter memiliki sifat $U^\dagger U = I$ (hasil kali dengan konjugat Hermitiannya adalah matriks identitas), yang merupakan operasi reversibel yang sesuai dengan evolusi waktu dari Persamaan Schrödinger dalam mekanika kuantum.
&lt;/p>
$$ |\psi_{t+1}\rangle = U_t |\psi_t\rangle $$
&lt;h3 id="32-gerbang-kuantum-dasar-dan-model-sirkuit">3.2. Gerbang Kuantum Dasar dan Model Sirkuit
&lt;/h3>&lt;p>Algoritma komputasi kuantum didesain sebagai serangkaian urutan gerbang kuantum (sirkuit kuantum).&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Gerbang Pauli (X, Y, Z)&lt;/strong>: Rotasi 180 derajat mengelilingi setiap sumbu pada Bloch Sphere. Gerbang X setara dengan gerbang NOT klasik.&lt;/li>
&lt;li>&lt;strong>Gerbang Hadamard (H)&lt;/strong>: Mengubah $|0\rangle$ menjadi $\frac{|0\rangle + |1\rangle}{\sqrt{2}}$, sehingga menciptakan keadaan superposisi.
$$ H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 &amp; 1 \\ 1 &amp; -1 \end{pmatrix} $$&lt;/li>
&lt;li>&lt;strong>Gerbang CNOT (Controlled-NOT)&lt;/strong>: Gerbang 2 qubit. Hanya ketika qubit kontrol bernilai $|1\rangle$, gerbang X akan diterapkan pada qubit target. Ini menghasilkan Keterikatan Kuantum (Entanglement).&lt;/li>
&lt;/ul>
&lt;p>Semua algoritma kuantum secara aproksimasi dapat direpresentasikan dengan kombinasi dari sejumlah kecil gerbang 1 qubit dan gerbang CNOT (Universal Gate Set).&lt;/p>
&lt;div class="mermaid">graph LR
Q0["Qubit 0: |0>"] --> H1["Gerbang Hadamard (H)"]
Q1["Qubit 1: |0>"] --> I1["Operasi Identitas (I)"]
H1 --> C1["Bit Kontrol (Control)"]
I1 --> T1["Bit Target (Target)"]
C1 -. "Keterikatan" .- T1
C1 --> M0["Pengukuran (Measurement)"]
T1 --> M1["Pengukuran (Measurement)"]
M0 --> Result["Hasil Klasik (0 atau 1)"]
M1 --> Result&lt;/div>
&lt;h3 id="33-koreksi-kesalahan-dan-perjalanan-dari-nisq-menuju-ftqc">3.3. Koreksi Kesalahan dan Perjalanan dari NISQ menuju FTQC
&lt;/h3>&lt;p>Tantangan terbesar dari Model Quantum Gate adalah &amp;ldquo;Dekoherensi&amp;rdquo;, di mana keadaan kuantum dirusak oleh noise. Semakin dalam langkah komputasi (kedalaman gerbang), semakin banyak kesalahan yang menumpuk.&lt;/p>
&lt;p>Untuk melakukan komputasi ideal, &lt;strong>Koreksi Kesalahan Kuantum (Quantum Error Correction)&lt;/strong> sangatlah penting. Misalnya, dalam metode seperti &amp;ldquo;Surface Code&amp;rdquo;, beberapa qubit fisik digabungkan untuk membentuk satu &amp;ldquo;Qubit Logis&amp;rdquo; (Logical Qubit) yang bebas kesalahan. Namun, untuk membuat satu qubit logis, diperlukan ribuan hingga puluhan ribu qubit fisik, sehingga menimbulkan overhead yang luar biasa.&lt;/p>
&lt;p>Saat ini kita berada di era perangkat &lt;strong>NISQ (Noisy Intermediate-Scale Quantum)&lt;/strong> yang memiliki puluhan hingga ratusan qubit tanpa koreksi kesalahan. Banyak terobosan masih dibutuhkan untuk mewujudkan &lt;strong>FTQC (Fault-Tolerant Quantum Computing)&lt;/strong> dengan koreksi kesalahan penuh.&lt;/p>
&lt;hr>
&lt;h2 id="4-ringkasan-perbandingan-teknis-dan-matematis">4. Ringkasan Perbandingan Teknis dan Matematis
&lt;/h2>&lt;p>Berikut adalah perbandingan perbedaan mendasar dari kedua arsitektur tersebut.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Item Perbandingan&lt;/th>
&lt;th style="text-align:left">Quantum Annealing&lt;/th>
&lt;th style="text-align:left">Model Quantum Gate&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Model Komputasi&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Komputasi Kuantum Adiabatik (Evolusi waktu Hamiltonian secara kontinu)&lt;/td>
&lt;td style="text-align:left">Transformasi Uniter (Urutan operasi gerbang secara diskrit)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Masalah yang Cocok&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Masalah Optimasi Kombinatorial (QUBO, Model Ising)&lt;/td>
&lt;td style="text-align:left">Universal (Simulasi kimia kuantum, faktorisasi prima, pencarian, dll.)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Kemampuan Representasi&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Optimasi Heuristik (Solusi pendekatan)&lt;/td>
&lt;td style="text-align:left">Setara dengan Mesin Turing Kuantum Universal (Secara teori semua komputasi dimungkinkan)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Contoh Implementasi&lt;/strong>&lt;/td>
&lt;td style="text-align:left">D-Wave Systems&lt;/td>
&lt;td style="text-align:left">IBM, Google, Quantinuum, IonQ, dll.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Ketahanan terhadap Noise&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Relatif kuat (Karena tetap berada di sekitar ground state, toleransi terhadap noise termal tertentu memungkinkan)&lt;/td>
&lt;td style="text-align:left">Sangat lemah (Sedikit saja noise dapat menggeser fase dan menghancurkan hasil perhitungan)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Skalabilitas&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Skala ribuan hingga puluhan ribu qubit (Bergantung struktur fisik. Qubit logis sulit diwujudkan)&lt;/td>
&lt;td style="text-align:left">Skala ratusan qubit (Dibutuhkan skala jutaan untuk FTQC)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Quantum Annealing cocok untuk digunakan sebagai &amp;ldquo;koprosesor dengan tujuan khusus&amp;rdquo;, menyelesaikan masalah optimasi untuk melengkapi batas kemampuan komputer klasik. Di sisi lain, Model Quantum Gate adalah versi kuantum dari &amp;ldquo;komputer serbaguna&amp;rdquo;, yang pada akhirnya bertujuan untuk mengungguli komputasi klasik (Quantum Supremacy), meskipun membangun perangkat kerasnya sangatlah sulit.&lt;/p>
&lt;hr>
&lt;h2 id="5-batasan-dan-tantangan-saat-ini">5. Batasan dan Tantangan Saat Ini
&lt;/h2>&lt;h3 id="batasan-quantum-annealing">Batasan Quantum Annealing
&lt;/h3>&lt;ol>
&lt;li>&lt;strong>Batasan Konektivitas (Connectivity)&lt;/strong>: Akibat dari Minor Embedding yang disebutkan sebelumnya, jumlah qubit fisik yang dibutuhkan akan meningkat secara eksponensial seiring membesarnya skala masalah.&lt;/li>
&lt;li>&lt;strong>Presisi Koefisien (Precision)&lt;/strong>: Kesalahan fisik saat mengatur parameter analog seperti $J_{ij}$ dan $h_i$ pada perangkat keras berdampak langsung pada kualitas solusi.&lt;/li>
&lt;li>&lt;strong>Suhu dan Transisi Non-Adiabatik&lt;/strong>: Karena suhu sistem bukan nol absolut, ada kemungkinan sistem keluar dari solusi optimal akibat eksitasi termal.&lt;/li>
&lt;/ol>
&lt;h3 id="batasan-model-quantum-gate">Batasan Model Quantum Gate
&lt;/h3>&lt;ol>
&lt;li>&lt;strong>Waktu Koherensi (Coherence Time)&lt;/strong>: Waktu keadaan kuantum dapat dipertahankan hanya berkisar dari beberapa mikrodetik hingga milidetik, dan ini sangat membatasi jumlah gerbang (kedalaman sirkuit) yang dapat dieksekusi dalam waktu tersebut.&lt;/li>
&lt;li>&lt;strong>Fidelitas Gerbang (Gate Fidelity)&lt;/strong>: Tingkat error operasional pada gerbang 2 qubit (seperti CNOT) masih belum cukup rendah (umumnya sekitar 99.x%). Untuk mewujudkan FTQC, fidelitas ini harus ditingkatkan ke 99.99% atau lebih.&lt;/li>
&lt;li>&lt;strong>Volume Kuantum (Quantum Volume)&lt;/strong>: Peningkatan skalabilitas (bukan hanya jumlah qubit, tetapi kapasitas komputasi efektif (volume kuantum) yang memperhitungkan keterhubungan antar qubit dan tingkat error) adalah tantangan terbesar saat ini.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="6-contoh-penggunaan-use-case-dan-algoritma-spesifik">6. Contoh Penggunaan (Use Case) dan Algoritma Spesifik
&lt;/h2>&lt;p>Mari kita lihat area aplikasi spesifik yang menjadi keunggulan dari masing-masing metode.&lt;/p>
&lt;h3 id="61-contoh-penggunaan-quantum-annealing">6.1. Contoh Penggunaan Quantum Annealing
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Logistik &amp;amp; Routing&lt;/strong>: Optimasi rute pengiriman untuk banyak kendaraan (variasi dari Travelling Salesperson Problem). Pencarian rute real-time dengan mempertimbangkan kemacetan lalu lintas.&lt;/li>
&lt;li>&lt;strong>Rekayasa Keuangan&lt;/strong>: Optimasi portofolio. Mencari kombinasi saham yang meminimalkan risiko sekaligus memaksimalkan keuntungan.&lt;/li>
&lt;li>&lt;strong>Machine Learning&lt;/strong>: Seleksi Fitur (Feature Selection). Mengekstraksi kombinasi variabel yang berkontribusi paling besar terhadap prediksi dari kumpulan data yang masif.&lt;/li>
&lt;li>&lt;strong>Manufaktur&lt;/strong>: Masalah penjadwalan Job Shop di pabrik (Menentukan suku cadang mana yang harus diproses di mesin mana, dalam urutan apa, agar prosesnya paling cepat).&lt;/li>
&lt;/ul>
&lt;h3 id="62-contoh-penggunaan-model-quantum-gate">6.2. Contoh Penggunaan Model Quantum Gate
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Simulasi Kimia Kuantum&lt;/strong>: Menyimulasikan tingkat energi molekul dan reaksi kimia dengan akurasi tinggi.&lt;/li>
&lt;li>&lt;strong>Faktorisasi Prima (Algoritma Shor)&lt;/strong>: Algoritma yang memfaktorkan bilangan komposit raksasa dalam waktu polinomial. Jika ini berhasil dipraktikkan, infrastruktur kriptografi kunci publik saat ini seperti enkripsi RSA akan hancur, sehingga transisi ke kriptografi pasca-kuantum (PQC) menjadi hal yang mendesak.&lt;/li>
&lt;li>&lt;strong>Pencarian Basis Data (Algoritma Grover)&lt;/strong>: Saat mencari data yang diinginkan dari basis data yang tidak terstruktur, komputer klasik membutuhkan waktu $O(N)$ langkah, sedangkan dengan algoritma Grover, pencarian dapat diselesaikan dalam $O(\sqrt{N})$ langkah.&lt;/li>
&lt;/ul>
&lt;h3 id="63-algoritma-hibrida-di-era-nisq-vqe-dan-qaoa">6.3. Algoritma Hibrida di Era NISQ: VQE dan QAOA
&lt;/h3>&lt;p>Untuk mengatasi batasan dari sirkuit kuantum yang dangkal (shallow) pada perangkat NISQ, &amp;ldquo;Algoritma Kuantum Variasional&amp;rdquo; (Variational Quantum Algorithms), yang menggabungkan keunggulan komputer kuantum dan klasik, mulai menarik banyak perhatian.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>VQE (Variational Quantum Eigensolver)&lt;/strong>: Algoritma untuk mencari energi ground state sebuah molekul. Menggunakan sirkuit kuantum berparameter (Ansatz) untuk menyiapkan keadaan kuantum, dan nilai ekspektasi energi $\langle \psi(\theta) | H | \psi(\theta) \rangle$ diukur. Dengan menggunakan ekspektasi ini sebagai fungsi objektif, parameter $\theta$ diperbarui menggunakan algoritma optimasi klasik (seperti Gradient Descent). Mengulang ini hingga konvergen akan memberikan tingkat energi yang akurat dari molekul tersebut.&lt;/li>
&lt;li>&lt;strong>QAOA (Quantum Approximate Optimization Algorithm)&lt;/strong>: Algoritma yang menyelesaikan masalah optimasi kombinatorial menggunakan Model Quantum Gate. Evolusi waktu adiabatik dari Quantum Annealing didekati ke dalam operasi gerbang diskrit melalui &amp;ldquo;Trotterisasi&amp;rdquo; (Trotterization), lalu menerapkan Hamiltonian secara bergantian untuk mendapatkan solusi hampiran (aproksimasi). QAOA diharapkan menjadi sarana ampuh untuk memecahkan masalah optimasi dengan Model Gate.&lt;/li>
&lt;/ul>
&lt;div class="mermaid">graph TD
User["Masalah Pengguna"] --> Formulation{"Sifat Masalah"}
Formulation -- "Optimasi Kombinatorial" --> QA_Path["Quantum Annealing / Mesin Ising"]
QA_Path --> QUBO["Perumusan QUBO"]
QUBO --> DWave["Eksekusi D-Wave"]
Formulation -- "Komputasi Kimia/Serbaguna" --> Gate_Path["Model Quantum Gate"]
Gate_Path --> Circuit["Desain Sirkuit Kuantum (VQE / QAOA)"]
Circuit --> IBMGoogle["Eksekusi Perangkat Keras Kuantum IBM / Google"]&lt;/div>
&lt;hr>
&lt;h2 id="7-kesimpulan">7. Kesimpulan
&lt;/h2>&lt;p>Meskipun Quantum Annealing dan Model Quantum Gate sama-sama memanfaatkan sifat magis mekanika kuantum sebagai sumber daya komputasi, pendekatan dan tujuan akhirnya sangat berbeda.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Quantum Annealing&lt;/strong> adalah &amp;ldquo;mesin heuristik tujuan khusus&amp;rdquo; untuk menghasilkan solusi praktis sejak dini untuk masalah nyata tertentu, yaitu optimasi kombinatorial. Saat ini, uji coba (Proof of Concept/PoC) oleh berbagai perusahaan sedang berjalan dengan pesat.&lt;/li>
&lt;li>&lt;strong>Model Quantum Gate&lt;/strong> adalah &amp;ldquo;komputer kuantum serbaguna&amp;rdquo; dengan potensi untuk mengubah paradigma ilmu komputer secara radikal, mulai dari simulasi fisika &amp;amp; kimia yang presisi, hingga pemecahan kode (kriptografi). Namun, penelitian dan pengembangan jangka panjang diperlukan untuk mengatasi kendala besar yaitu koreksi kesalahan.&lt;/li>
&lt;/ul>
&lt;p>Di masa depan, kita dapat memperkirakan akan terbangunnya lingkungan &lt;strong>&amp;ldquo;Komputasi Heterogen&amp;rdquo; (Heterogeneous Computing)&lt;/strong>, yang pusatnya menggunakan superkomputer klasik (HPC), di mana tugas optimasi dialihkan ke mesin Annealing, sedangkan komputasi kimia kuantum dialihkan ke komputer kuantum model Gate.&lt;/p>
&lt;p>Komputer kuantum masih dalam tahap perkembangan, namun baik perangkat keras maupun algoritmanya terus berkembang dengan sangat cepat dari hari ke hari. Memahami konsep matematis di balik Model Ising dan dasar-dasar sirkuit kuantum akan menjadi senjata andalan yang sangat berguna menuju era &amp;ldquo;Quantum Native&amp;rdquo; di masa mendatang.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Artikel ini secara komprehensif menjelaskan komputasi kuantum, mulai dari konsep dasar hingga tren perangkat keras terbaru. Nantikan terus perkembangan penelitian terbaru di masa yang akan datang.&lt;/em>&lt;/p></description></item><item><title>Simulasi Algoritma Shor dengan Python</title><link>http://kenji.blog/id/p/shors-algorithm-simulation-python/</link><pubDate>Fri, 11 Sep 2026 08:00:00 +0900</pubDate><guid>http://kenji.blog/id/p/shors-algorithm-simulation-python/</guid><description>&lt;img src="http://kenji.blog/p/shors-algorithm-simulation-python/img/eyecatch.jpg" alt="Featured image of post Simulasi Algoritma Shor dengan Python" />&lt;h1 id="1-pendahuluan-krisis-kriptografi-yang-dibawa-oleh-komputer-kuantum">1. Pendahuluan: Krisis Kriptografi yang Dibawa oleh Komputer Kuantum
&lt;/h1>&lt;p>Sebagian besar keamanan dalam masyarakat internet modern bergantung pada &lt;strong>kriptografi kunci publik&lt;/strong> (terutama enkripsi RSA). Saat kita mengirimkan informasi kartu kredit saat berbelanja online, atau bertukar data yang sangat rahasia, konten komunikasi tersebut dilindungi dengan kuat oleh enkripsi RSA.&lt;/p>
&lt;p>Dasar keamanan enkripsi RSA bergantung pada fakta matematis bahwa &amp;ldquo;&lt;strong>memfaktorkan bilangan bulat raksasa ke dalam faktor prima sangat sulit dilakukan oleh komputer klasik (PC atau superkomputer yang biasa kita gunakan)&lt;/strong>&amp;rdquo;. Namun, &amp;ldquo;&lt;strong>Algoritma Shor (Shor&amp;rsquo;s Algorithm)&lt;/strong>&amp;rdquo; yang dipublikasikan oleh Peter Shor pada tahun 1994, meruntuhkan asumsi ini dari dasarnya. Terbukti secara matematis bahwa jika Algoritma Shor dijalankan pada komputer kuantum skala besar, faktorisasi prima yang akan memakan waktu lebih lama dari usia alam semesta pada komputer klasik, dapat diselesaikan hanya dalam beberapa menit hingga beberapa jam.&lt;/p>
&lt;p>Dalam artikel ini, kami akan menjelaskan secara detail dan menyeluruh tentang bagaimana Algoritma Shor ini melakukan faktorisasi prima dengan cepat, mulai dari mekanisme matematisnya hingga implementasi simulasi konkret menggunakan Python dan framework komputasi kuantum &lt;strong>Qiskit&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h1 id="2-perubahan-drastis-dalam-kompleksitas-komputasi-dari-fungsi-eksponensial-ke-waktu-polinomial">2. Perubahan Drastis dalam Kompleksitas Komputasi: Dari Fungsi Eksponensial ke Waktu Polinomial
&lt;/h1>&lt;p>Mengapa faktorisasi prima itu sulit? Bahkan jika kita menggunakan &amp;ldquo;General Number Field Sieve (GNFS)&amp;rdquo;, yang dikenal sebagai algoritma faktorisasi prima terbaik di komputer klasik, kompleksitas komputasinya menjadi sub-eksponensial.&lt;/p>
&lt;p>Kompleksitas waktu yang dibutuhkan untuk memfaktorkan bilangan komposit dengan $N$ digit menggunakan metode klasik adalah sebagai berikut:&lt;/p>
$$ O\left(\exp\left( c (\log N)^{1/3} (\log \log N)^{2/3} \right)\right) $$
&lt;p>Oleh karena itu, hanya dengan memperpanjang ukuran kunci (misalnya, menjadi 2048 bit atau 4096 bit), dekripsi di komputer klasik akan memakan waktu yang tidak realistis seperti ribuan atau puluhan ribu tahun.&lt;/p>
&lt;p>Namun, ketika &lt;strong>Algoritma Shor&lt;/strong> digunakan pada komputer kuantum, kompleksitas komputasinya berkurang secara drastis menjadi waktu polinomial terhadap jumlah bit input $\log N$.&lt;/p>
$$ O((\log N)^3) $$
&lt;p>Ini berarti bahwa jika jumlah bit digandakan, waktu komputasi pada komputer klasik akan meningkat secara astronomis, sedangkan pada komputer kuantum, waktu komputasi paling banyak hanya akan meningkat sekitar 8 kali lipat. &lt;strong>Pengurangan kelas kompleksitas dari waktu eksponensial ke waktu polinomial (inklusi ke dalam kelas BQP)&lt;/strong> inilah yang merupakan kehebatan sesungguhnya dari Algoritma Shor.&lt;/p>
&lt;div class="mermaid">graph TD
A["Peningkatan ukuran input (jumlah bit) N"] --> B{"Pemilihan Algoritma"}
B -->|Klasik: General Number Field Sieve| C["Peningkatan sub-eksponensial O(exp(...))"]
B -->|Kuantum: Algoritma Shor| D["Waktu polinomial O((log N)^3)"]
C --> E["Ribuan hingga miliaran tahun (Tidak dapat didekripsi)"]
D --> F["Beberapa menit hingga jam (Didekripsi dalam waktu realistis)"]&lt;/div>
&lt;hr>
&lt;h1 id="3-gambaran-keseluruhan-algoritma-dan-latar-belakang-matematis">3. Gambaran Keseluruhan Algoritma dan Latar Belakang Matematis
&lt;/h1>&lt;p>Algoritma Shor sebenarnya tidak melakukan semuanya di komputer kuantum. Ia dibangun atas kerja sama antara pra-pemrosesan dan pasca-pemrosesan oleh komputer klasik, dan bagian inti (algoritma pencarian periode) oleh komputer kuantum.&lt;/p>
&lt;p>Alur keseluruhan algoritma adalah sebagai berikut:&lt;/p>
&lt;div class="mermaid">graph TD
A["Input: Bilangan komposit N yang ingin difaktorkan"] --> B["Pilih bilangan acak a sehingga a &lt; N"]
B --> C{"gcd(a, N) > 1 ?"}
C -- "Yes" --> D["Outputkan faktor trivial gcd(a, N) dan selesai"]
C -- "No" --> E["Temukan periode r dari f(x) = a^x mod N dengan algoritma kuantum"]
E --> F{"r genap DAN a^(r/2) ≢ -1 mod N ?"}
F -- "No" --> B
F -- "Yes" --> G["Hitung faktor p = gcd(a^(r/2) - 1, N), q = gcd(a^(r/2) + 1, N)"]
G --> H["Output: p, q"]&lt;/div>
&lt;h2 id="reduksi-dari-faktorisasi-prima-ke-masalah-pencarian-periode">Reduksi dari Faktorisasi Prima ke Masalah Pencarian Periode
&lt;/h2>&lt;p>Ide jenius Shor terletak pada mengubah &amp;ldquo;&lt;strong>masalah faktorisasi prima&lt;/strong>&amp;rdquo; menjadi &amp;ldquo;&lt;strong>masalah pencarian periode (Order Finding Problem)&lt;/strong>&amp;rdquo;.&lt;/p>
&lt;p>Misalkan bilangan bulat $N$ (bilangan yang ingin difaktorkan) dan bilangan bulat coprime $a$ ($1 &lt; a &lt; N$). Kita mendefinisikan fungsi eksponensial modular sebagai berikut:&lt;/p>
$$ f(x) = a^x \bmod N $$
&lt;p>Fungsi ini memiliki suatu periode $r$. Dengan kata lain, untuk sembarang $x$, berlaku $f(x+r) = f(x)$. Khususnya saat $x=0$,&lt;/p>
$$ a^r \equiv 1 \pmod N $$
&lt;p>Bilangan bulat positif terkecil $r$ yang memenuhi hal ini disebut &amp;ldquo;order dari $a$ modulo $N$&amp;rdquo;. Jika kita dapat menemukan periode $r$ ini, kita dapat memperoleh faktor primanya dengan cara berikut.&lt;/p>
&lt;p>Dengan mengubah bentuk persamaannya,
&lt;/p>
$$ a^r - 1 \equiv 0 \pmod N $$
&lt;p>
Jika $r$ adalah bilangan genap, kita dapat memfaktorkannya menggunakan rumus selisih kuadrat:
&lt;/p>
$$ (a^{r/2} - 1)(a^{r/2} + 1) \equiv 0 \pmod N $$
&lt;p>Ini berarti bahwa $N$ memiliki pembagi persekutuan dengan $(a^{r/2} - 1)$ atau $(a^{r/2} + 1)$ (dengan syarat kondisi $a^{r/2} \not\equiv -1 \pmod N$ terpenuhi). Oleh karena itu, dengan menggunakan Algoritma Euclidean (Euclidean algorithm),&lt;/p>
$$ p = \gcd(a^{r/2} - 1, N) $$
$$ q = \gcd(a^{r/2} + 1, N) $$
&lt;p>Jika kita menghitung ini, kita dapat menemukan faktor non-trivial $p, q$ dari $N$. Perhitungan ini (perhitungan faktor persekutuan terbesar dan pembangkitan bilangan acak) dapat dilakukan dengan sangat cepat oleh komputer klasik. Masalahnya menyempit pada &lt;strong>bagaimana menemukan periode $r$ ini dengan cepat&lt;/strong>. Pada komputer klasik, menemukan periode $r$ itu sendiri membutuhkan waktu yang eksponensial. Di sinilah komputer kuantum berperan.&lt;/p>
&lt;hr>
&lt;h1 id="4-bagian-algoritma-kuantum-mekanisme-pencarian-periode">4. Bagian Algoritma Kuantum: Mekanisme Pencarian Periode
&lt;/h1>&lt;p>Subrutin untuk menemukan periode $r$ menggunakan komputer kuantum terdiri dari 4 langkah berikut.&lt;/p>
&lt;div class="mermaid">graph LR
subgraph "Transisi Keadaan Kuantum"
S1["|0⟩|0⟩ (Inisialisasi)"] --> S2["Gerbang H: Superposisi Σ|x⟩|0⟩"]
S2 --> S3["Oracle U: Σ|x⟩|a^x mod N⟩"]
S3 --> S4["QFT: Ekstraksi periode melalui interferensi"]
S4 --> S5["Pengukuran: Dapatkan nilai hampiran y"]
end&lt;/div>
&lt;h2 id="langkah-1-inisialisasi-register-kuantum-dan-superposisi">Langkah 1: Inisialisasi Register Kuantum dan Superposisi
&lt;/h2>&lt;p>Pertama, kita siapkan dua register kuantum. Register pertama adalah untuk menginput keadaan, dan register kedua adalah untuk menyimpan hasil perhitungan fungsi.
Keadaan awal semuanya adalah $|0\rangle$.&lt;/p>
$$ |\psi_0\rangle = |0\rangle_1 |0\rangle_2 $$
&lt;p>Terapkan gerbang Hadamard (Hadamard Gate) pada semua qubit di register pertama untuk menciptakan keadaan superposisi probabilitas yang sama untuk semua kemungkinan input $x$ (dari $0$ hingga $Q-1$, dengan $Q=2^n$).&lt;/p>
$$ |\psi_1\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle_1 |0\rangle_2 $$
&lt;p>Dengan ini, komputer kuantum akan secara bersamaan menahan keadaan untuk semua $Q$ input dalam satu operasi. Ini adalah sumber kekuatan yang tangguh dari &lt;strong>paralelisme kuantum&lt;/strong>.&lt;/p>
&lt;h2 id="langkah-2-penerapan-fungsi-oracle-eksponensial-modular">Langkah 2: Penerapan Fungsi Oracle (Eksponensial Modular)
&lt;/h2>&lt;p>Selanjutnya, dengan menggunakan sirkuit operasi kuantum $U_f$, kita menghitung fungsi $f(x) = a^x \bmod N$ dan menyimpan hasilnya di register kedua.&lt;/p>
$$ |\psi_2\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle_1 |a^x \bmod N\rangle_2 $$
&lt;p>Pada titik ini, register pertama dan register kedua berada dalam keadaan &lt;strong>quantum entanglement (keterikatan kuantum)&lt;/strong>. Jika (seandainya) kita mengukur register kedua dan mendapatkan nilai tertentu $k = a^{x_0} \bmod N$, maka keadaan register pertama akan runtuh (collapse) ke keadaan superposisi dari $x$ yang memberikan nilai $k$ tersebut. Karena periode fungsi adalah $r$, keadaan yang tersisa akan menjadi nilai yang melompat-lompat dengan rentang $r$, yaitu $x_0, x_0+r, x_0+2r, \dots$.&lt;/p>
$$ |\psi_3\rangle = \sqrt{\frac{r}{Q}} \sum_{j=0}^{M-1} |x_0 + j r\rangle_1 |k\rangle_2 $$
&lt;p>Namun, kita tidak ingin mengetahui $x_0$, melainkan ingin mengetahui periode $r$ itu sendiri. Tidak mungkin mengamati $r$ secara langsung dari keadaan ini. Oleh karena itu, kita menggunakan Transformasi Fourier Kuantum.&lt;/p>
&lt;h2 id="langkah-3-interferensi-fase-melalui-transformasi-fourier-kuantum-qft">Langkah 3: Interferensi Fase melalui Transformasi Fourier Kuantum (QFT)
&lt;/h2>&lt;p>Terapkan &lt;strong>Transformasi Fourier Kuantum (Quantum Fourier Transform, QFT)&lt;/strong> ke register pertama. QFT adalah versi kuantum dari Transformasi Fourier Diskrit klasik dan mengubah amplitudo vektor keadaan. Aksi QFT pada keadaan basis $|x\rangle$ didefinisikan sebagai berikut:&lt;/p>
$$ QFT |x\rangle = \frac{1}{\sqrt{Q}} \sum_{y=0}^{Q-1} \omega^{xy} |y\rangle $$
&lt;p>Di mana, $\omega = e^{2\pi i / Q}$.&lt;/p>
&lt;p>Saat QFT diterapkan, amplitudo keadaan mengalami interferensi. Meskipun detail matematisnya dihilangkan, ketika QFT diterapkan pada keadaan dengan periode $r$, gelombang akan menghasilkan &lt;strong>interferensi konstruktif (Constructive Interference)&lt;/strong> hanya pada saat $y$ adalah nilai yang sangat dekat dengan kelipatan bilangan bulat dari $Q/r$. Keadaan lainnya akan saling meniadakan amplitudo probabilitasnya akibat &lt;strong>interferensi destruktif (Destructive Interference)&lt;/strong> dan mendekati nol.&lt;/p>
&lt;h2 id="langkah-4-pengukuran-dan-ekspansi-pecahan-berlanjut">Langkah 4: Pengukuran dan Ekspansi Pecahan Berlanjut
&lt;/h2>&lt;p>Terakhir, ukur register pertama. Nilai $y$ yang diperoleh melalui pengukuran akan memenuhi kondisi berikut dengan probabilitas tinggi:&lt;/p>
$$ y \approx c \frac{Q}{r} \implies \frac{y}{Q} \approx \frac{c}{r} $$
&lt;p>(di mana $c$ adalah bilangan bulat tak diketahui antara $0 \le c &lt; r$)&lt;/p>
&lt;p>Dengan menerapkan algoritma klasik &lt;strong>Ekspansi Pecahan Berlanjut (Continued Fraction Expansion)&lt;/strong> pada bilangan rasional $y/Q$ yang diperoleh, kita menghitung pecahan hampiran $c/r$ dan mengekstrak periode $r$ dari penyebutnya.&lt;/p>
&lt;hr>
&lt;h1 id="5-implementasi-simulasi-menggunakan-python-dan-qiskit">5. Implementasi Simulasi Menggunakan Python dan Qiskit
&lt;/h1>&lt;p>Hanya dengan teori mungkin kurang terasa nyata, jadi mari kita simulasikan Algoritma Shor secara langsung menggunakan Python dan framework komputasi kuantum milik IBM, &lt;strong>Qiskit&lt;/strong>.&lt;/p>
&lt;p>Di sini, kita akan mengimplementasikan skenario paling klasik dan terkenal, yaitu &lt;strong>&amp;ldquo;Memfaktorkan $N=15$ menggunakan $a=7$&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;h2 id="persiapan-lingkungan-eksekusi">Persiapan Lingkungan Eksekusi
&lt;/h2>&lt;p>Pastikan Anda telah menginstal Qiskit sebelumnya.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install qiskit qiskit-aer numpy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="keseluruhan-kode-implementasi-python">Keseluruhan Kode Implementasi Python
&lt;/h2>&lt;p>Kode berikut adalah contoh implementasi Algoritma Shor khusus untuk $N=15, a=7$. Karena menyusun sirkuit eksponensial modular umum terlalu tinggi biaya komputasinya pada simulator saat ini, logika operasi gerbang di-&lt;em>hardcode&lt;/em> untuk kasus khusus $a=7$.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt"> 10
&lt;/span>&lt;span class="lnt"> 11
&lt;/span>&lt;span class="lnt"> 12
&lt;/span>&lt;span class="lnt"> 13
&lt;/span>&lt;span class="lnt"> 14
&lt;/span>&lt;span class="lnt"> 15
&lt;/span>&lt;span class="lnt"> 16
&lt;/span>&lt;span class="lnt"> 17
&lt;/span>&lt;span class="lnt"> 18
&lt;/span>&lt;span class="lnt"> 19
&lt;/span>&lt;span class="lnt"> 20
&lt;/span>&lt;span class="lnt"> 21
&lt;/span>&lt;span class="lnt"> 22
&lt;/span>&lt;span class="lnt"> 23
&lt;/span>&lt;span class="lnt"> 24
&lt;/span>&lt;span class="lnt"> 25
&lt;/span>&lt;span class="lnt"> 26
&lt;/span>&lt;span class="lnt"> 27
&lt;/span>&lt;span class="lnt"> 28
&lt;/span>&lt;span class="lnt"> 29
&lt;/span>&lt;span class="lnt"> 30
&lt;/span>&lt;span class="lnt"> 31
&lt;/span>&lt;span class="lnt"> 32
&lt;/span>&lt;span class="lnt"> 33
&lt;/span>&lt;span class="lnt"> 34
&lt;/span>&lt;span class="lnt"> 35
&lt;/span>&lt;span class="lnt"> 36
&lt;/span>&lt;span class="lnt"> 37
&lt;/span>&lt;span class="lnt"> 38
&lt;/span>&lt;span class="lnt"> 39
&lt;/span>&lt;span class="lnt"> 40
&lt;/span>&lt;span class="lnt"> 41
&lt;/span>&lt;span class="lnt"> 42
&lt;/span>&lt;span class="lnt"> 43
&lt;/span>&lt;span class="lnt"> 44
&lt;/span>&lt;span class="lnt"> 45
&lt;/span>&lt;span class="lnt"> 46
&lt;/span>&lt;span class="lnt"> 47
&lt;/span>&lt;span class="lnt"> 48
&lt;/span>&lt;span class="lnt"> 49
&lt;/span>&lt;span class="lnt"> 50
&lt;/span>&lt;span class="lnt"> 51
&lt;/span>&lt;span class="lnt"> 52
&lt;/span>&lt;span class="lnt"> 53
&lt;/span>&lt;span class="lnt"> 54
&lt;/span>&lt;span class="lnt"> 55
&lt;/span>&lt;span class="lnt"> 56
&lt;/span>&lt;span class="lnt"> 57
&lt;/span>&lt;span class="lnt"> 58
&lt;/span>&lt;span class="lnt"> 59
&lt;/span>&lt;span class="lnt"> 60
&lt;/span>&lt;span class="lnt"> 61
&lt;/span>&lt;span class="lnt"> 62
&lt;/span>&lt;span class="lnt"> 63
&lt;/span>&lt;span class="lnt"> 64
&lt;/span>&lt;span class="lnt"> 65
&lt;/span>&lt;span class="lnt"> 66
&lt;/span>&lt;span class="lnt"> 67
&lt;/span>&lt;span class="lnt"> 68
&lt;/span>&lt;span class="lnt"> 69
&lt;/span>&lt;span class="lnt"> 70
&lt;/span>&lt;span class="lnt"> 71
&lt;/span>&lt;span class="lnt"> 72
&lt;/span>&lt;span class="lnt"> 73
&lt;/span>&lt;span class="lnt"> 74
&lt;/span>&lt;span class="lnt"> 75
&lt;/span>&lt;span class="lnt"> 76
&lt;/span>&lt;span class="lnt"> 77
&lt;/span>&lt;span class="lnt"> 78
&lt;/span>&lt;span class="lnt"> 79
&lt;/span>&lt;span class="lnt"> 80
&lt;/span>&lt;span class="lnt"> 81
&lt;/span>&lt;span class="lnt"> 82
&lt;/span>&lt;span class="lnt"> 83
&lt;/span>&lt;span class="lnt"> 84
&lt;/span>&lt;span class="lnt"> 85
&lt;/span>&lt;span class="lnt"> 86
&lt;/span>&lt;span class="lnt"> 87
&lt;/span>&lt;span class="lnt"> 88
&lt;/span>&lt;span class="lnt"> 89
&lt;/span>&lt;span class="lnt"> 90
&lt;/span>&lt;span class="lnt"> 91
&lt;/span>&lt;span class="lnt"> 92
&lt;/span>&lt;span class="lnt"> 93
&lt;/span>&lt;span class="lnt"> 94
&lt;/span>&lt;span class="lnt"> 95
&lt;/span>&lt;span class="lnt"> 96
&lt;/span>&lt;span class="lnt"> 97
&lt;/span>&lt;span class="lnt"> 98
&lt;/span>&lt;span class="lnt"> 99
&lt;/span>&lt;span class="lnt">100
&lt;/span>&lt;span class="lnt">101
&lt;/span>&lt;span class="lnt">102
&lt;/span>&lt;span class="lnt">103
&lt;/span>&lt;span class="lnt">104
&lt;/span>&lt;span class="lnt">105
&lt;/span>&lt;span class="lnt">106
&lt;/span>&lt;span class="lnt">107
&lt;/span>&lt;span class="lnt">108
&lt;/span>&lt;span class="lnt">109
&lt;/span>&lt;span class="lnt">110
&lt;/span>&lt;span class="lnt">111
&lt;/span>&lt;span class="lnt">112
&lt;/span>&lt;span class="lnt">113
&lt;/span>&lt;span class="lnt">114
&lt;/span>&lt;span class="lnt">115
&lt;/span>&lt;span class="lnt">116
&lt;/span>&lt;span class="lnt">117
&lt;/span>&lt;span class="lnt">118
&lt;/span>&lt;span class="lnt">119
&lt;/span>&lt;span class="lnt">120
&lt;/span>&lt;span class="lnt">121
&lt;/span>&lt;span class="lnt">122
&lt;/span>&lt;span class="lnt">123
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit_aer&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">AerSimulator&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit.visualization&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">plot_histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">fractions&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">Fraction&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">math&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. Fungsi untuk membangun Transformasi Fourier Kuantum Balikan (QFT†)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">qft_dagger&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;Menghasilkan sirkuit Transformasi Fourier Kuantum Balikan (Inverse QFT) dengan n qubit&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Gerbang SWAP untuk membalikkan urutan&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">qubit&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qubit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">qubit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Penerapan gerbang fase terkendali (controlled phase) dan gerbang H&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">j&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">m&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">j&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cp&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pi&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="nb">float&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">j&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">m&lt;/span>&lt;span class="p">)),&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">j&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">j&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">name&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;QFT_dagger&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">qc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. Fungsi untuk membangun operasi eksponensial modular terkendali untuk 7^x mod 15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">c_amod15&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">power&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;Menghasilkan gerbang U terkendali untuk a dan pangkat tertentu (khusus N=15)&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">_&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">power&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Logika hardcode untuk 7^x mod 15 dalam kasus a=7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">13&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">7&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">8&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">11&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">7&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">11&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">13&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">q&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">to_gate&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">name&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">^&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">power&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> mod 15&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">c_U&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">control&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">c_U&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. Komposisi sirkuit kuantum utama&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">shor_circuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n_count&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># n_count: Jumlah bit pada register kendali (control register)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Register target (target register) memiliki 4 bit untuk merepresentasikan 0 hingga 15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n_count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Inisialisasi register pertama (register kendali) (pembangkitan superposisi)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">q&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Inisialisasi register kedua (register target) menjadi |1&amp;gt; (0001)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">n_count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Penerapan operasi eksponensial modular terkendali (Oracle)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">q&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Menerapkan operasi 2^q pangkat&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">c_amod15&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">[&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">n_count&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">)])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Terapkan Transformasi Fourier Kuantum Balikan (Inverse QFT) pada register pertama&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qft_dagger&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Mengukur register pertama&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">measure&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">qc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># --- Bagian Eksekusi ---&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="vm">__name__&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="s2">&amp;#34;__main__&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">N&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">n_count&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">8&lt;/span> &lt;span class="c1"># Menggunakan 8 qubit untuk register kendali (Q=256)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Pengaturan Pencarian: N=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">, a=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">, Jumlah qubit kendali=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Menghasilkan sirkuit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">shor_circuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n_count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Eksekusi di simulator&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sim&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">AerSimulator&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># transpile direkomendasikan pada versi Qiskit terbaru&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">transpile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">compiled_circuit&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">transpile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sim&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">job&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sim&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shots&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1024&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">job&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">counts&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">result&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_counts&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Hasil Pengukuran (String bit: Jumlah observasi):&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">bitstring&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">count&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">items&lt;/span>&lt;span class="p">():&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34; &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">bitstring&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">count&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> kali&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Pasca-pemrosesan klasik: Penentuan periode r melalui ekspansi pecahan berlanjut&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">--- Perhitungan Periode dan Faktorisasi Prima ---&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">phases&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">output&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Konversi string bit menjadi desimal&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">decimal&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">int&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Fase = Nilai pengukuran / 2^n_count&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">phase&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">decimal&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">phases&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">phase&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Dapatkan pecahan hampiran melalui ekspansi pecahan berlanjut. Batas atas penyebut adalah N=15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">frac&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Fraction&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">phase&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">limit_denominator&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">15&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">r&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">frac&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">denominator&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Nilai observasi: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">decimal&lt;/span>&lt;span class="si">:&lt;/span>&lt;span class="s2">3d&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> | Fase: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">phase&lt;/span>&lt;span class="si">:&lt;/span>&lt;span class="s2">.4f&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> | Pecahan berlanjut: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">frac&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> | Perkiraan periode r = &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Periksa apakah periode r genap dan memberikan hasil yang valid&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">r&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">guess1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gcd&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">guess2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gcd&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">guess1&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">guess2&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34; =&amp;gt; Berhasil! Faktor prima dari &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> adalah &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">guess1&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> dan &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">guess2&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">.&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34; =&amp;gt; Hanya faktor trivial. Coba lagi.&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34; =&amp;gt; Gagal karena periode ganjil.&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="penjelasan-kode-dan-analisis-hasil-eksekusi">Penjelasan Kode dan Analisis Hasil Eksekusi
&lt;/h2>&lt;p>Saat Anda menjalankan kode di atas, sebagai hasil pengukuran dari register kendali, probabilitas tinggi akan menunjukkan puncak (nilai observasi) tertentu. Untuk &lt;code>n_count=8&lt;/code> ($Q=256$), jika menggunakan komputer kuantum ideal (atau simulator), angka seperti &lt;code>0&lt;/code>, &lt;code>64&lt;/code>, &lt;code>128&lt;/code>, dan &lt;code>192&lt;/code> akan muncul sebagai nilai observasi dengan probabilitas yang sangat besar.&lt;/p>
&lt;p>Jika kita membaginya dengan $Q=256$, fase $y/Q$ masing-masing akan menjadi $0.0$, $0.25$, $0.5$, dan $0.75$.
Jika fase ini diekspansi menjadi pecahan berlanjut:&lt;/p>
&lt;ul>
&lt;li>$0.25 \to 1/4$ (Perkiraan periode $r=4$)&lt;/li>
&lt;li>$0.50 \to 1/2$ (Perkiraan periode $r=2$)&lt;/li>
&lt;li>$0.75 \to 3/4$ (Perkiraan periode $r=4$)&lt;/li>
&lt;/ul>
&lt;p>Menggunakan periode $r=4$ yang didapatkan di sini, kita dapat menghitung faktor primanya.
Karena $a=7, r=4$,
$p = \gcd(7^2 - 1, 15) = \gcd(48, 15) = 3$
$q = \gcd(7^2 + 1, 15) = \gcd(50, 15) = 5$&lt;/p>
&lt;p>Dengan mengesankan, kita berhasil memfaktorkan $15 = 3 \times 5$.&lt;/p>
&lt;blockquote>
&lt;p>[!TIP]
Jika nilai yang diperoleh sebagai ukuran adalah $y=128$ (fase $0.5$), penyebutnya menjadi $2$, dan kita malah mendapatkan pembagi dari periode alih-alih periode sebenarnya $r=4$. Dalam kasus seperti ini, Anda dapat menjalankan algoritma beberapa kali atau memeriksa kelipatan dari $r$ yang diperoleh untuk menemukan periode sebenarnya.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="6-tantangan-menuju-penerapan-praktis-dan-keterbatasan-di-era-nisq">6. Tantangan menuju Penerapan Praktis dan Keterbatasan di Era NISQ
&lt;/h1>&lt;p>Meskipun memfaktorkan $N=15$ di simulator cukup mudah dilakukan, namun pada kenyataannya, masih banyak hambatan yang dihadapi oleh komputer kuantum nyata untuk memfaktorkan RSA-2048 (angka desimal 617 digit) yang digunakan dalam dunia nyata.&lt;/p>
&lt;p>Era di mana kita hidup saat ini disebut sebagai &lt;strong>Era NISQ (Noisy Intermediate-Scale Quantum)&lt;/strong>. Qubit sangat rentan terhadap gangguan dari lingkungan eksternal dan dapat mengalami &amp;ldquo;decoherence&amp;rdquo; di tengah komputasi, yang merusak keadaan kuantum.&lt;/p>
&lt;p>Untuk menjalankan sirkuit yang dalam (jumlah gerbang banyak) seperti pada Algoritma Shor dengan akurat, &lt;strong>Koreksi Kesalahan Kuantum (Quantum Error Correction)&lt;/strong> sangat mutlak diperlukan untuk memperbaiki noise. Untuk menciptakan satu &amp;ldquo;logical qubit&amp;rdquo; (qubit logis) yang bebas dari noise, diperlukan ribuan &amp;ldquo;physical qubit&amp;rdquo; (qubit fisik) yang dienkode menggunakan teknik seperti Surface Code.&lt;/p>
&lt;p>Diperkirakan untuk mematahkan enkripsi RSA 2048-bit, ribuan qubit logis yang sempurna akan diperlukan, dan untuk mewujudkan hal ini, dibutuhkan komputer kuantum &lt;em>fault-tolerant&lt;/em> (tahan kesalahan) yang dilengkapi dengan &lt;strong>jutaan hingga puluhan juta qubit fisik&lt;/strong>. Karena prosesor kuantum paling mutakhir saat ini hanya memiliki sekitar ratusan hingga ribuan qubit fisik, sistem kriptografi di seluruh dunia tidak akan serta-merta ditembus dalam waktu dekat.&lt;/p>
&lt;blockquote>
&lt;p>[!WARNING]
Akan tetapi, ada ancaman dengan model &amp;ldquo;Store Now, Decrypt Later (Simpan Sekarang, Dekripsi Nanti)&amp;rdquo;. Para peretas bisa mengumpulkan dan menyimpan komunikasi rahasia saat ini secara besar-besaran dalam bentuk terenkripsi, dengan strategi untuk mendekripsi semuanya seketika setelah komputer kuantum yang kuat berhasil dikembangkan dalam 10 hingga 20 tahun mendatang.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="7-transisi-menuju-kriptografi-pasca-kuantum-pqc">7. Transisi menuju Kriptografi Pasca-Kuantum (PQC)
&lt;/h1>&lt;p>Untuk bersiap menghadapi datangnya &amp;ldquo;Q-Day (Hari di mana komputer kuantum mematahkan kriptografi)&amp;rdquo;, ahli kriptografi dari seluruh dunia, dipimpin oleh Institut Nasional Standar dan Teknologi (NIST) di Amerika Serikat, sedang merumuskan &lt;strong>Kriptografi Pasca-Kuantum (Post-Quantum Cryptography, PQC)&lt;/strong>.&lt;/p>
&lt;p>PQC didasarkan pada masalah matematis baru (seperti masalah kisi (lattice-based), polinomial multivariat, dan berbasis fungsi hash) yang secara matematis dianggap tidak dapat diselesaikan secara efisien bahkan jika menggunakan Algoritma Shor (ataupun Algoritma Grover). Algoritma seperti &amp;ldquo;CRYSTALS-Kyber&amp;rdquo; dan &amp;ldquo;CRYSTALS-Dilithium&amp;rdquo; telah dipilih sebagai standar, dan penerapannya secara bertahap mulai dilakukan pada iMessage milik Apple dan berbagai protokol komunikasi browser web.&lt;/p>
&lt;p>Bagi teknisi yang mengelola infrastruktur TI, memasukkan &amp;ldquo;crypto-agility&amp;rdquo; (ketangkasan kriptografi: desain di mana metode kriptografi dapat dialihkan dengan cepat) dari enkripsi RSA atau kurva eliptik yang ada ke PQC ke dalam sistem mereka, akan menjadi misi utama yang sangat penting di masa depan.&lt;/p>
&lt;hr>
&lt;h1 id="8-penutup">8. Penutup
&lt;/h1>&lt;p>Dalam artikel ini, kami telah menjelaskan secara detail dan mendalam sekitar 10.000 karakter, mulai dari latar belakang teoretis matematis dari Algoritma Shor, mekanisme ekstraksi periode menggunakan Transformasi Fourier Kuantum, hingga kode simulasi konkret menggunakan Python dan Qiskit.&lt;/p>
&lt;p>Fakta bahwa hukum fisika mikroskopis mekanika kuantum dapat meruntuhkan fondasi sains informasi makroskopis seperti teori kompleksitas komputasi dan teori kriptografi merupakan salah satu pergeseran paradigma paling menarik dalam sejarah sains. Kita patut untuk terus memperhatikan pertempuran yang sedang berlangsung antara teknologi komputasi kuantum yang terus berkembang dan teknologi kriptografi baru yang berusaha menangkalnya.&lt;/p>
&lt;p>Silakan jalankan kode Python yang telah diperkenalkan pada lingkungan Anda masing-masing, dan rasakan sendiri &amp;ldquo;sihir komputasi&amp;rdquo; yang dihasilkan oleh superposisi keadaan kuantum dan interferensi.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Referensi&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Shor, P. W. (1994). &amp;ldquo;Algorithms for quantum computation: discrete logarithms and factoring&amp;rdquo;. Proceedings 35th Annual Symposium on Foundations of Computer Science.&lt;/li>
&lt;li>Nielsen, M. A., &amp;amp; Chuang, I. L. (2010). &amp;ldquo;Quantum Computation and Quantum Information&amp;rdquo;. Cambridge University Press.&lt;/li>
&lt;li>Dokumentasi Qiskit: &lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>https://qiskit.org/documentation/&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>【Ilustrasi PQC】Perbandingan Algoritma Utama Kriptografi Pasca-Kuantum</title><link>http://kenji.blog/id/p/post-quantum-cryptography-algorithms-comparison/</link><pubDate>Fri, 11 Sep 2026 07:00:00 +0900</pubDate><guid>http://kenji.blog/id/p/post-quantum-cryptography-algorithms-comparison/</guid><description>&lt;img src="http://kenji.blog/p/post-quantum-cryptography-algorithms-comparison/img/eyecatch.jpg" alt="Featured image of post 【Ilustrasi PQC】Perbandingan Algoritma Utama Kriptografi Pasca-Kuantum" />&lt;h2 id="1-pendahuluan-krisis-kriptografi-yang-dibawa-oleh-komputer-kuantum">1. Pendahuluan: &amp;ldquo;Krisis Kriptografi&amp;rdquo; yang Dibawa oleh Komputer Kuantum
&lt;/h2>&lt;p>Dalam masyarakat internet modern, teknologi kriptografi kunci publik sangat diperlukan sebagai infrastruktur untuk melindungi kerahasiaan komunikasi dan integritas data. Kriptografi RSA dan Kriptografi Kurva Eliptik (ECC) yang banyak digunakan saat ini, masing-masing bergantung pada penghalang matematis berupa &amp;ldquo;kesulitan pemfaktoran bilangan komposit besar&amp;rdquo; dan &amp;ldquo;kesulitan masalah logaritma diskrit pada kurva eliptik&amp;rdquo; untuk menjamin keamanannya. Pada komputer klasik (termasuk superkomputer yang kita gunakan saat ini), telah dibuktikan bahwa memecahkan masalah matematis ini membutuhkan waktu yang lebih lama dari usia alam semesta, yang mana hal ini menjadi dasar dari keamanan tersebut.&lt;/p>
&lt;p>Namun, premis yang kokoh ini akan dirobohkan oleh teori dan kemajuan praktis dari &lt;strong>komputer kuantum&lt;/strong>. Pada tahun 1994, kriptografer Peter Shor menerbitkan &amp;ldquo;&lt;strong>Algoritma Shor&lt;/strong>&amp;rdquo;, yang secara teoretis membuktikan bahwa masalah pemfaktoran prima dan logaritma diskrit dapat dipecahkan dalam &amp;ldquo;waktu polinomial&amp;rdquo; dengan menjalankannya di atas komputer kuantum toleransi kesalahan tujuan umum (CRQC: Cryptographically Relevant Quantum Computer) dengan kinerja yang memadai. Ini berarti bahwa semua kriptografi kunci publik yang digunakan saat ini akan menjadi tidak berguna.&lt;/p>
&lt;div class="mermaid">graph TD
A["Komputer Kuantum Skala Besar (CRQC)"] -->|Menjalankan| B["Algoritma Shor"]
B -->|Pemecahan dalam Waktu Polinomial| C["Masalah Pemfaktoran Prima (RSA)"]
B -->|Pemecahan dalam Waktu Polinomial| D["Masalah Logaritma Diskrit (ECC / ECDSA)"]
C --> E["Penyadapan Komunikasi Kriptografi / Perubahan Data / Pemalsuan Identitas"]
D --> E
F["Store Now, Decrypt Later (SNDL)"] --> E&lt;/div>
&lt;p>Adalah sangat berbahaya jika berpikir bahwa &amp;ldquo;tidak ada masalah karena penyelesaian komputer kuantum secara penuh masih beberapa dekade lagi&amp;rdquo;. Ini karena metode serangan yang disebut &lt;strong>Store Now, Decrypt Later (SNDL: Simpan Sekarang, Dekripsi Nanti)&lt;/strong> telah menjadi ancaman nyata. Ini adalah serangan di mana negara yang berniat jahat atau kelompok peretas menyimpan sejumlah besar data komunikasi terenkripsi saat ini (seperti lalu lintas TLS) dalam penyimpanan, dan mendekripsi semuanya pada saat komputer kuantum yang kuat tersedia di masa depan. Rahasia negara, informasi infrastruktur, dan data medis yang harus dilindungi dalam jangka panjang sudah terpapar pada ancaman ini.&lt;/p>
&lt;p>Selain itu, ada juga &lt;strong>Algoritma Grover&lt;/strong>, yang ditemukan pada tahun 1996, yang memengaruhi kriptografi kunci simetris (seperti AES) dan fungsi hash (seperti SHA-256). Hal ini mengurangi kompleksitas komputasi serangan brute force (uji coba menyeluruh) menjadi akar kuadratnya. Dengan kata lain, tingkat keamanan AES-128 secara efektif berkurang setengahnya menjadi 2 pangkat 64, sehingga pada era kuantum, penggunaan kunci yang lebih panjang dan panjang hash seperti AES-256 dan SHA-384 direkomendasikan.&lt;/p>
&lt;p>Untuk melawan krisis kriptografi yang belum pernah terjadi sebelumnya ini, &lt;strong>Kriptografi Pasca-Kuantum (Post-Quantum Cryptography: PQC)&lt;/strong> dilahirkan, yang didasarkan pada masalah matematis baru yang sulit dipecahkan bahkan dengan menggunakan komputer kuantum. Berdasarkan hasil proses standarisasi PQC yang dipimpin oleh National Institute of Standards and Technology (NIST) Amerika Serikat, artikel ini akan menjelaskan secara sangat rinci mengenai algoritma PQC utama, mulai dari latar belakang matematis, mekanisme, hingga perbandingan arsitekturnya.&lt;/p>
&lt;hr>
&lt;h2 id="2-gambaran-lengkap-dan-sejarah-proyek-standarisasi-pqc-oleh-nist">2. Gambaran Lengkap dan Sejarah Proyek Standarisasi PQC oleh NIST
&lt;/h2>&lt;p>Transisi teknologi kriptografi membutuhkan waktu dari beberapa tahun hingga puluhan tahun, termasuk mendesain ulang protokol, memperbarui sistem, dan mengganti perangkat keras. Oleh karena itu, para ahli kriptografi di seluruh dunia telah memulai penelitian PQC sejak dini. Peran utama dalam hal ini dimainkan oleh NIST (National Institute of Standards and Technology) Amerika Serikat. Pada tahun 2016, NIST secara terbuka menyerukan proses standarisasi PQC dan menerima proposal untuk algoritma kriptografi yang sama sekali baru dari komunitas kriptografi di seluruh dunia.&lt;/p>
&lt;p>Target standarisasi dibagi ke dalam dua kategori utama berikut:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Kriptografi Kunci Publik / Mekanisme Enkapsulasi Kunci (KEM: Key Encapsulation Mechanism)&lt;/strong>: Mekanisme untuk membagikan (mendistribusikan) kunci simetris secara aman untuk mengenkripsi jalur komunikasi, seperti pada koneksi TLS.&lt;/li>
&lt;li>&lt;strong>Tanda Tangan Digital (Digital Signatures)&lt;/strong>: Mekanisme untuk membuktikan bahwa tidak ada gangguan pada data dan tidak ada pemalsuan identitas pengirim (otentisitas) dalam pembaruan perangkat lunak atau sertifikat elektronik.&lt;/li>
&lt;/ol>
&lt;p>Setelah sekitar 6 tahun evaluasi, analisis, dan kompetisi kriptanalisis yang sangat ketat (Putaran 1 hingga Putaran 3), evaluasi tambahan pada Putaran 4 dilakukan untuk beberapa algoritma. Sebagai hasilnya, pada tahun 2024, algoritma berikut secara resmi diterbitkan sebagai Standar Pemrosesan Informasi Federal (FIPS) dan ditetapkan sebagai standar global di masa depan:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>FIPS 203 (ML-KEM)&lt;/strong>: KEM berdasarkan CRYSTALS-Kyber&lt;/li>
&lt;li>&lt;strong>FIPS 204 (ML-DSA)&lt;/strong>: Tanda tangan digital berdasarkan CRYSTALS-Dilithium&lt;/li>
&lt;li>&lt;strong>FIPS 205 (SLH-DSA)&lt;/strong>: Tanda tangan berbasis hash tanpa status berdasarkan SPHINCS+&lt;/li>
&lt;li>&lt;strong>(Rencana untuk draf masa depan) FN-DSA&lt;/strong>: Tanda tangan digital berdasarkan FALCON&lt;/li>
&lt;/ul>
&lt;p>Algoritma yang terpilih ini bergantung pada &amp;ldquo;masalah kesulitan&amp;rdquo; matematis yang berbeda, memastikan keberagaman (Crypto Agility) sehingga sistem keseluruhan tidak akan runtuh jika kerentanan fatal ditemukan pada salah satu algoritma di masa depan. Dalam proses standarisasi, kriptografi berbasis kisi (Lattice-based cryptography) menjadi pemeran utama dari segi kinerja, sedangkan kriptografi berbasis hash dan kriptografi berbasis kode diadopsi sebagai cadangan yang kuat.&lt;/p>
&lt;hr>
&lt;h2 id="3-klasifikasi-pendekatan-matematis-utama-dari-pqc">3. Klasifikasi Pendekatan Matematis Utama dari PQC
&lt;/h2>&lt;p>Algoritma PQC diklasifikasikan ke dalam lima kategori utama berikut berdasarkan masalah matematis yang menjadi dasar keamanannya. Artikel ini secara khusus akan menggali lebih dalam tentang tiga pendekatan teratas.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Kriptografi Berbasis Kisi (Lattice-based Cryptography)&lt;/strong>:
Didasarkan pada Masalah Vektor Terpendek (SVP) dan Masalah Vektor Terdekat (CVP) dalam ruang kisi multidimensi, serta Masalah LWE yang diturunkan darinya. Ini merupakan inti dari standarisasi NIST, dengan contoh algoritma seperti Kyber, Dilithium, dan FALCON. Memiliki keseimbangan terbaik antara kecepatan pemrosesan, ukuran kunci publik, dan ukuran cipherteks (teks sandi), menjadikannya ideal untuk penggunaan serbaguna.&lt;/li>
&lt;li>&lt;strong>Kriptografi Berbasis Hash (Hash-based Cryptography)&lt;/strong>:
Keamanannya hanya bergantung pada &amp;ldquo;ketahanan bentrokan (collision resistance)&amp;rdquo; dan &amp;ldquo;sifat satu arah (one-wayness)&amp;rdquo; dari fungsi hash kriptografis (seperti SHA-2 dan SHAKE). Hanya dapat diterapkan pada tanda tangan digital (seperti SPHINCS+), namun bukti keamanannya adalah yang paling kuat, dan ketahanannya terhadap serangan matematis yang belum diketahui sangat tinggi.&lt;/li>
&lt;li>&lt;strong>Kriptografi Berbasis Kode (Code-based Cryptography)&lt;/strong>:
Didasarkan pada teori kode koreksi kesalahan, bergantung pada kesulitan Masalah Dekode Sindrom (Syndrome Decoding Problem). Classic McEliece yang diusulkan pada tahun 1970-an adalah algoritma yang paling representatif, dengan sejarah dan rekam jejak keamanan yang sangat panjang, namun di sisi lain ukuran kunci publiknya sangat besar, mencapai satuan megabita.&lt;/li>
&lt;li>&lt;strong>Kriptografi Polinomial Multivariat (Multivariate Polynomial Cryptography)&lt;/strong>:
Didasarkan pada kesulitan menemukan solusi untuk sistem persamaan kuadrat multivariat pada medan berhingga (Masalah MQ). Terutama diusulkan untuk tanda tangan digital (seperti Rainbow), tetapi selama putaran final NIST, metode serangan kuat ditemukan yang memungkinkan algoritma tersebut dibobol hanya dalam beberapa hari menggunakan satu komputer pribadi, sehingga banyak algoritma dari jenis ini keluar dari standar.&lt;/li>
&lt;li>&lt;strong>Kriptografi Berbasis Isogeni (Isogeny-based Cryptography)&lt;/strong>:
Didasarkan pada masalah pencarian jalur dalam grafik isogeni dari kurva eliptik. Ukuran kuncinya sangat kecil dan diharapkan menjadi penerus yang sah untuk ECC. Namun, kandidat finalnya yaitu &amp;ldquo;SIKE&amp;rdquo;, sepenuhnya dipecahkan hanya dalam beberapa jam di PC biasa menggunakan matematika klasik (seperti serangan Castryck-Decru) pada tahun 2022. Ini menjadi akhir dramatis yang melambangkan kesulitan dan kengerian dalam mendesain PQC.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="4-kedalaman-kriptografi-kisi-dasar-matematis-masalah-lwe-dan-module-lwe">4. Kedalaman Kriptografi Kisi: Dasar Matematis Masalah LWE dan Module-LWE
&lt;/h2>&lt;p>Saat ini, yang paling diunggulkan dan menjadi pusat standarisasi adalah &lt;strong>Kriptografi Kisi (Lattice-based cryptography)&lt;/strong>. Akar keamanannya terletak pada &lt;strong>Masalah LWE (Learning with Errors: Pembelajaran dengan Kesalahan)&lt;/strong>. Diusulkan oleh Oded Regev pada tahun 2005, yang atas pencapaian terobosannya ini dianugerahi Hadiah Gödel. Pemahaman mengenai Masalah LWE adalah keharusan dalam membahas PQC modern.&lt;/p>
&lt;h3 id="41-apa-itu-masalah-lwe-learning-with-errors">4.1. Apa itu Masalah LWE (Learning with Errors)
&lt;/h3>&lt;p>Pertama, mari kita pertimbangkan sistem persamaan linear sederhana. Misalkan dalam modulus $q$, terdapat matriks acak $A$ yang diketahui dan vektor rahasia $\vec{s}$ yang tidak diketahui, serta hasil kalinya yaitu $\vec{b}$ diberikan:&lt;/p>
$$ \vec{b} = A\vec{s} \pmod q $$
&lt;p>Dalam hal ini, menemukan $\vec{s}$ yang tidak diketahui dari informasi publik $A$ dan $\vec{b}$ adalah mudah. Dengan menggunakan algoritma klasik &amp;ldquo;Eliminasi Gaussian&amp;rdquo;, $\vec{s}$ dapat dihitung dengan mudah dalam waktu polinomial.&lt;/p>
&lt;p>Namun, dengan menambahkan &amp;ldquo;kesalahan yang disengaja dan kecil (noise)&amp;rdquo; pada persamaan ini, tingkat kesulitan masalah melonjak secara dramatis. Inilah &lt;strong>Masalah LWE&lt;/strong>.&lt;/p>
&lt;p>Kita menyiapkan vektor rahasia tak diketahui $\vec{s} \in \mathbb{Z}_q^n$ dan matriks yang dipilih secara acak $A \in \mathbb{Z}_q^{m \times n}$. Selanjutnya, kita menyiapkan vektor kesalahan $\vec{e} \in \mathbb{Z}_q^m$ yang &amp;ldquo;nilai elemennya cukup kecil&amp;rdquo;, yang dipilih berdasarkan distribusi normal atau distribusi binomial, dan menghitung $\vec{b}$ sebagai berikut:&lt;/p>
$$ \vec{b} = A\vec{s} + \vec{e} \pmod q $$
&lt;p>&lt;strong>Masalah Search LWE&lt;/strong> adalah masalah untuk &amp;ldquo;menemukan informasi rahasia $\vec{s}$ dari informasi publik $(A, \vec{b})$&amp;rdquo;. Karena adanya kesalahan $\vec{e}$ ini, apabila kita mencoba memecahkannya secara aljabar seperti eliminasi Gaussian, proses penambahan dan pengurangan persamaan akan melipatgandakan kesalahan $\vec{e}$ seperti bola salju, dan akhirnya menjadi berantakan karena nilai tidak dapat dibedakan dengan angka acak.&lt;/p>
&lt;p>Kehebatan dari Masalah LWE terletak pada bukti teoretis yang kuat (reduksi) bahwa, selama tidak ada algoritma kuantum yang dapat menyelesaikan masalah GapSVP (Masalah Keputusan Vektor Terpendek) atau SIVP (Masalah Vektor Independen Terpendek) yang merupakan masalah &amp;ldquo;kompleksitas waktu kasus terburuk (Worst-case hardness)&amp;rdquo; pada kisi, maka masalah LWE tidak akan dapat dipecahkan bahkan pada &amp;ldquo;kasus rata-rata (Average-case)&amp;rdquo;. Ini berarti, meskipun kunci enkripsi dihasilkan secara acak, tingkat keamanan yang kuat yang didukung oleh batas teoretis tetap terjamin.&lt;/p>
&lt;h3 id="42-ring-lwe-dan-module-lwe-untuk-peningkatan-efisiensi-yang-dramatis">4.2. Ring-LWE dan Module-LWE untuk Peningkatan Efisiensi yang Dramatis
&lt;/h3>&lt;p>Masalah LWE biasa (Standard LWE) memiliki dasar keamanan yang sangat jelas, namun ukuran matriks $A$ menjadi sangat besar, dan ukuran kuncinya bisa mencapai tingkat megabita sehingga tidak praktis. Oleh karena itu, pendekatan yang diusulkan adalah dengan memberikan struktur aljabar menggunakan Gelanggang Polinomial (Polynomial Rings).&lt;/p>
&lt;p>Pada &lt;strong>Masalah Ring-LWE&lt;/strong>, sebagai pengganti vektor atau matriks sederhana, digunakan elemen (polinomial) dari suatu gelanggang polinomial $R_q$. Umumnya, gelanggang polinomial siklotomik berikut digunakan dalam standar NIST:&lt;/p>
$$ R_q = \mathbb{Z}_q[X]/(X^n + 1) $$
&lt;p>Di sini, $n$ adalah pangkat dari 2 (misalnya, 256), dan $q$ adalah bilangan prima yang sesuai. Pada gelanggang ini, dengan menggunakan elemen $a, s, e \in R_q$, kita menghitung $b = a \cdot s + e \pmod q$. Karena satu polinomial $a$ memiliki $n$ buah koefisien, data dapat dikompresi secara signifikan. Selanjutnya, dengan menggunakan versi medan berhingga dari Transformasi Fourier Cepat (FFT) yang disebut &lt;strong>NTT (Number Theoretic Transform: Transformasi Teoretis Bilangan)&lt;/strong>, perkalian polinomial dapat dilakukan secara sangat cepat dengan kompleksitas komputasi $O(n \log n)$.&lt;/p>
&lt;p>Namun, terdapat kekhawatiran pada Ring-LWE bahwa &amp;ldquo;mungkin terdapat kerentanan tersembunyi akibat struktur aljabar gelanggang yang khusus&amp;rdquo;. Selain itu, ketika mengubah tingkat keamanan (seperti setara AES-128, 192, 256), derajat polinomial $n$ itu sendiri perlu diubah, yang menghadirkan tantangan rekayasa karena keseluruhan implementasi, seperti algoritma NTT, harus ditulis ulang.&lt;/p>
&lt;p>Oleh karena itu, algoritma standar Kyber dan Dilithium mengadopsi &lt;strong>Masalah Module-LWE (M-LWE)&lt;/strong>. Module-LWE merupakan kompromi di antara Standard LWE yang tidak terstruktur dan Ring-LWE yang terlalu terstruktur, dengan menggunakan matriks (modul) berukuran $k \times k$ yang elemennya berasal dari gelanggang polinomial $R_q$.&lt;/p>
$$ \vec{b} = A\vec{s} + \vec{e} \pmod{R_q} \quad (A \in R_q^{k \times k}, \vec{s}, \vec{e} \in R_q^k) $$
&lt;p>Keuntungan terbesar dari Module-LWE adalah kemudahannya dalam menskalakan tingkat keamanan hanya dengan mengubah dimensi matriks $k$, sambil tetap mempertahankan derajat polinomial $n$ secara konstan (dalam standar NIST, $n=256$).
Misalnya, pada kasus Kyber, dimensi $k$ disesuaikan sebagai berikut:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Kyber512 (Level 1)&lt;/strong>: $k = 2$ (Setara AES-128)&lt;/li>
&lt;li>&lt;strong>Kyber768 (Level 3)&lt;/strong>: $k = 3$ (Setara AES-192)&lt;/li>
&lt;li>&lt;strong>Kyber1024 (Level 5)&lt;/strong>: $k = 4$ (Setara AES-256)&lt;/li>
&lt;/ul>
&lt;p>Dengan demikian, kode dasar NTT dan sirkuit perangkat keras komputasi polinomial dapat digunakan kembali hingga 100% pada semua level keamanan, sehingga sangat meningkatkan keamanan dan efisiensi implementasi.&lt;/p>
&lt;hr>
&lt;h2 id="5-crystals-kyber-ml-kem-mekanisme-enkapsulasi-kunci-generasi-berikutnya">5. CRYSTALS-Kyber (ML-KEM): Mekanisme Enkapsulasi Kunci Generasi Berikutnya
&lt;/h2>&lt;p>CRYSTALS-Kyber, yang secara resmi distandarisasi sebagai &lt;strong>FIPS 203 (ML-KEM)&lt;/strong>, adalah mekanisme enkapsulasi kunci (KEM) yang didasarkan pada Masalah Module-LWE seperti yang dijelaskan di atas. Ini akan menjadi standar global de facto masa depan untuk membagikan kunci sesi secara aman dalam TLS 1.3, SSH, dan lain-lain.&lt;/p>
&lt;h3 id="51-arsitektur-kem-key-encapsulation-mechanism">5.1. Arsitektur KEM (Key Encapsulation Mechanism)
&lt;/h3>&lt;p>Di era PQC, alih-alih pendekatan langsung seperti RSA di mana &amp;ldquo;klien membuat kunci simetris dan mengenkripsinya dengan kunci publik server sebelum mengirim&amp;rdquo;, kerangka kerja enkapsulasi KEM akan menjadi standar.&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant Client as "Klien (Alice)"
participant Server as "Server (Bob)"
Note over Client: "ML-KEM KeyGen()"
Client->>Client: "Menghasilkan kunci privat (sk) dan kunci publik (pk)"
Client->>Server: "Mengirimkan kunci publik (pk)"
Note over Server: "ML-KEM Encaps()"
Server->>Server: "Menghasilkan kunci simetris acak (K)"
Server->>Server: "Mengenkapsulasi K dengan pk, dan membuat cipherteks (c)"
Server->>Client: "Mengirimkan cipherteks (c)"
Note over Client: "ML-KEM Decaps()"
Client->>Client: "Mendekripsi cipherteks (c) menggunakan kunci privat (sk)"
Client->>Client: "Membuka enkapsulasi dan mengambil kunci simetris (K)"
Note over Client, Server: "Memulai komunikasi terenkripsi (AES, dll.) menggunakan kunci simetris yang dibagikan (K)"&lt;/div>
&lt;h3 id="52-mekanisme-algoritma-internal-kyber-dan-transformasi-fujisaki-okamoto">5.2. Mekanisme Algoritma Internal Kyber dan Transformasi Fujisaki-Okamoto
&lt;/h3>&lt;p>Desain Kyber sangatlah elegan. Pertama, algoritma membangun skema kriptografi kunci publik yang hanya aman terhadap CPA (Serangan Teks Terang Dipilih) (Kyber.CPAPKE). Kemudian, skema ini ditingkatkan ke KEM yang sepenuhnya aman terhadap CCA (Serangan Cipherteks Dipilih Secara Adaptif) dengan menerapkan metode kriptografi yang sangat kuat yang disebut &lt;strong>Transformasi Fujisaki-Okamoto (Fujisaki-Okamoto Transform)&lt;/strong>.&lt;/p>
&lt;p>Inti dari mekanisme enkripsi dan dekripsi CPAPKE adalah sebagai berikut:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Pembuatan Kunci (Key Generation)&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Dari nilai seed acak, matriks $A \in R_q^{k \times k}$ pada domain NTT dihasilkan. Modulus $q$ yang digunakan adalah $3329$.&lt;/li>
&lt;li>Dari Distribusi Binomial Terpusat (CBD), vektor rahasia $\vec{s}$ dan vektor kesalahan $\vec{e}$ dengan koefisien kecil disampel.&lt;/li>
&lt;li>Menghitung $\vec{t} = A\vec{s} + \vec{e}$. Kunci publik adalah $(A, \vec{t})$, dan kunci privat adalah $\vec{s}$. (Dalam praktiknya, $A$ dipublikasikan sebagai nilai seed untuk menghemat bandwidth).&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Enkripsi (Encryption)&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Pesan 32 bita (materi untuk kunci simetris) $m$ yang ingin dibagikan, dienkode ke dalam bentuk polinomial.&lt;/li>
&lt;li>Menghasilkan vektor acak baru $\vec{r}$ dan kesalahan kecil $\vec{e_1}, e_2$.&lt;/li>
&lt;li>$\vec{u} = A^T\vec{r} + \vec{e_1}$&lt;/li>
&lt;li>$v = \vec{t}^T\vec{r} + e_2 + \lfloor q/2 \rceil \cdot m$&lt;/li>
&lt;li>Cipherteks (Teks sandi) adalah $(\vec{u}, v)$.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Dekripsi (Decryption)&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Penerima menghitung $v - \vec{s}^T\vec{u}$.&lt;/li>
&lt;li>Jika kita mengekspansi persamaan ini:
$v - \vec{s}^T\vec{u} = (\vec{t}^T\vec{r} + e_2 + \lfloor q/2 \rceil \cdot m) - \vec{s}^T(A^T\vec{r} + \vec{e_1})$&lt;/li>
&lt;li>Substitusi $\vec{t} = A\vec{s} + \vec{e}$, maka suku utama $\vec{s}^TA^T\vec{r}$ akan saling meniadakan.&lt;/li>
&lt;li>Yang tersisa adalah $\lfloor q/2 \rceil \cdot m + (\vec{e}^T\vec{r} + e_2 - \vec{s}^T\vec{e_1})$.&lt;/li>
&lt;li>Suku dalam tanda kurung adalah &amp;ldquo;perkalian atau penjumlahan dari kesalahan-kesalahan kecil&amp;rdquo;, sehingga secara keseluruhan nilainya tetap cukup kecil (noise). Oleh karena itu, dengan memeriksa batas (threshold) untuk setiap koefisien apakah nilainya lebih dekat ke $0$ atau ke $q/2$, bit dari pesan asli $m$ (0 atau 1) dapat dipulihkan dengan sempurna tanpa kesalahan.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>Kekuatan terbesar Kyber terletak pada &lt;strong>kecepatan pemrosesan yang luar biasa&lt;/strong> dan &lt;strong>ukuran kuncinya yang wajar&lt;/strong>. Pada Kyber768, ukuran kunci publiknya adalah 1.184 bita, dan ukuran cipherteksnya 1.088 bita. Meski lebih besar bila dibandingkan dengan RSA-3072 (ukuran kunci sekitar 384 bita), ukurannya masih muat ke dalam MTU (Maximum Transmission Unit) jaringan internet modern tanpa perlunya memecah paket data, sehingga hampir tidak memengaruhi latensi jaringan.&lt;/p>
&lt;hr>
&lt;h2 id="6-crystals-dilithium-ml-dsa-tanda-tangan-digital-serbaguna-berbasis-kisi">6. CRYSTALS-Dilithium (ML-DSA): Tanda Tangan Digital Serbaguna Berbasis Kisi
&lt;/h2>&lt;p>Dalam proses standarisasi tanda tangan digital, berbagai algoritma dengan filosofi desain berbeda dalam pendekatan kriptografi kisi saling bersaing. &lt;strong>CRYSTALS-Dilithium&lt;/strong> terpilih sebagai &lt;strong>FIPS 204 (ML-DSA)&lt;/strong> untuk tanda tangan digital serbaguna.&lt;/p>
&lt;h3 id="61-paradigma-fiat-shamir-dengan-aborts">6.1. Paradigma Fiat-Shamir dengan Aborts
&lt;/h3>&lt;p>Seperti Kyber, Dilithium adalah skema tanda tangan digital berdasarkan Masalah Module-LWE (dan Masalah Module-SIS). Desain dasarnya menggunakan paradigma sangat penting yang disebut &amp;ldquo;&lt;strong>Fiat-Shamir with Aborts (Transformasi Fiat-Shamir dengan Pembatalan)&lt;/strong>&amp;rdquo;.&lt;/p>
&lt;p>Transformasi Fiat-Shamir sendiri merupakan metode standar untuk mengubah protokol pembuktian tanpa-pengetahuan interaktif menjadi tanda tangan digital non-interaktif. Pembukti (penanda tangan) menghasilkan komitmen $y$, menghitung $w = Ay$, dan melewatkannya melalui fungsi hash untuk mendapatkan tantangan acak $c$, lalu menghitung tanggapan $z = y + cs$.&lt;/p>
&lt;p>Namun, jika diterapkan secara langsung pada kriptografi kisi, distribusi dari tanggapan $z$ akan terdistorsi tergantung pada nilai kunci privat $s$. Penyerang yang mengamati sejumlah besar tanda tangan akan mendapatkan kebocoran informasi tentang kunci privat $s$ secara bertahap. Ini merupakan masalah yang fatal (kebocoran matematis serupa saluran samping).&lt;/p>
&lt;p>Tim desain Dilithium (Lyubashevsky dkk.) memperkenalkan teknik yang disebut &amp;ldquo;&lt;strong>Penolakan Pengambilan Sampel (Rejection Sampling)&lt;/strong>&amp;rdquo;, di mana jika koefisien hasil tanda tangan $z$ tidak berada dalam ambang batas aman yang ditetapkan sebelumnya, seluruh proses tanda tangan akan dibatalkan (Abort) dan perhitungan diulang kembali dari awal menggunakan bilangan acak $y$ yang baru.&lt;/p>
&lt;p>Dengan cara ini, tanda tangan $z$ yang dihasilkan akhirnya menjadi distribusi seragam yang sempurna dan sama sekali tidak bergantung pada kunci privat, sehingga kebocoran informasi berhasil dicegah sepenuhnya secara matematis.&lt;/p>
&lt;h3 id="62-keuntungan-dilithium-dan-kemudahan-implementasinya">6.2. Keuntungan Dilithium dan Kemudahan Implementasinya
&lt;/h3>&lt;p>Keuntungan besar dalam desain Dilithium adalah bahwa algoritma ini &lt;strong>sama sekali tidak menggunakan&lt;/strong> &amp;ldquo;pengambilan sampel dari distribusi Gaussian&amp;rdquo; yang kompleks atau &amp;ldquo;operasi titik mengambang (floating-point)&amp;rdquo; dalam proses pembuatan tanda tangan. Algoritma ini hanya memerlukan pengambilan sampel dari distribusi seragam, operasi modulo bilangan bulat sederhana, NTT, dan fungsi hash (SHAKE). Karenanya, Dilithium mudah diimplementasikan secara aman dan dalam waktu konstan (Constant-time) di berbagai lingkungan, dari mikrokontroler tersemat (embedded) hingga server awan. Hal ini memberikannya daya tahan yang kuat terhadap serangan saluran samping fisik (physical side-channel attacks) seperti serangan pewaktuan.&lt;/p>
&lt;hr>
&lt;h2 id="7-falcon-fn-dsa-tanda-tangan-kisi-paling-ringkas">7. FALCON (FN-DSA): Tanda Tangan Kisi Paling Ringkas
&lt;/h2>&lt;p>NIST telah memilih &lt;strong>FALCON (Fast-Fourier Lattice-based Compact Signatures over NTRU)&lt;/strong> sebagai kandidat standarisasi lain untuk tanda tangan berbasis kisi, dengan karakteristik yang berbeda dari Dilithium (saat ini sedang dalam tahap penyusunan draf sebagai FN-DSA).&lt;/p>
&lt;h3 id="71-kisi-ntru-dan-pengambilan-sampel-gaussian">7.1. Kisi NTRU dan Pengambilan Sampel Gaussian
&lt;/h3>&lt;p>Fitur terbesar FALCON adalah bahwa alih-alih menggunakan Masalah LWE, algoritma ini menggunakan &lt;strong>kisi NTRU (N-th degree Truncated polynomial Ring Units)&lt;/strong>, yang memiliki sejarah panjang sejak tahun 1996. Selain itu, FALCON mengadopsi paradigma &amp;ldquo;&lt;strong>Hash-and-Sign (Hash-dan-Tanda-tangani)&lt;/strong>&amp;rdquo; berdasarkan kerangka kerja GPV (Gentry-Peikert-Vaikuntanathan).&lt;/p>
&lt;p>Dalam Hash-and-Sign, nilai hash dari pesan dijadikan sebagai titik target di dalam suatu ruang, dan tanda tangannya adalah titik pada kisi yang paling dekat dengan titik target tersebut (solusi perkiraan untuk Masalah Vektor Terdekat). Hal ini memerlukan pengambilan sampel titik-titik berdasarkan distribusi Gaussian diskrit menggunakan kunci privat berupa &amp;ldquo;basis pendek yang baik&amp;rdquo;.&lt;/p>
&lt;p>FALCON secara drastis mempercepat komputasi yang berat ini dengan menggunakan metode yang disebut &amp;ldquo;&lt;strong>Ortogonalisasi Fourier Cepat (Fast Fourier Orthogonalization: FFO)&lt;/strong>&amp;rdquo;.&lt;/p>
&lt;h3 id="72-kelebihan-dan-kekurangan-falcon">7.2. Kelebihan dan Kekurangan FALCON
&lt;/h3>&lt;p>Keuntungan FALCON yang sangat besar adalah &lt;strong>ukuran tanda tangan dan ukuran kunci publiknya yang sangat kecil (ringkas)&lt;/strong>. Ukuran tanda tangan Dilithium3 adalah sekitar 3.309 bita, sedangkan ukuran tanda tangan FALCON-512 hanya sekitar 666 bita. Kunci publiknya juga sangat kecil, hanya 897 bita, menjadikannya sebagai penyelamat untuk lingkungan di mana bandwidth komunikasi sangat terbatas, perangkat IoT, dan protokol jaringan tertentu.&lt;/p>
&lt;p>Namun, FALCON memiliki kelemahan yang serius. Pembuatan tanda tangannya mutlak membutuhkan pengambilan sampel Gaussian diskrit yang melibatkan &lt;strong>operasi titik mengambang (64-bit IEEE 754)&lt;/strong> yang kompleks. Hal ini membuat implementasi waktu konstan (Constant-time implementation) yang diperlukan untuk mencegah kebocoran informasi melalui waktu eksekusi (timing leakage) menjadi sangat sulit, dan kodenya menjadi sangat besar. Akibatnya, alih-alih menjadi algoritma serbaguna (seperti Dilithium), FALCON diposisikan sebagai algoritma yang dikhususkan dan kuat untuk tujuan-tujuan tertentu.&lt;/p>
&lt;div class="mermaid">graph LR
A["Persyaratan Tanda Tangan Digital"] --> B{"Apa batasan prioritas utama?"}
B -->|"Kesederhanaan implementasi, keserbagunaan, kemudahan implementasi waktu konstan"| C["Dilithium (ML-DSA)"]
B -->|"Minimasi bandwidth komunikasi, keringkasan ukuran data"| D["FALCON (FN-DSA)"]
C --> E["Sertifikat TLS serbaguna, tanda tangan elektronik perangkat lunak"]
D --> F["Protokol dengan batasan ukuran paket yang ketat, lingkungan khusus"]&lt;/div>
&lt;hr>
&lt;h2 id="8-sphincs-slh-dsa-tanda-tangan-berbasis-hash-dengan-keamanan-terkuat">8. SPHINCS+ (SLH-DSA): Tanda Tangan Berbasis Hash dengan Keamanan Terkuat
&lt;/h2>&lt;p>Sebagai persiapan untuk skenario terburuk di masa depan di mana keamanan kriptografi kisi dapat ditembus oleh terobosan dari matematikawan jenius, NIST merumuskan &lt;strong>FIPS 205 (SLH-DSA)&lt;/strong>, yaitu &lt;strong>SPHINCS+&lt;/strong>, sebagai standar kriptografi dengan pendekatan yang sama sekali berbeda dari kriptografi kisi.&lt;/p>
&lt;p>SPHINCS+ diklasifikasikan sebagai &lt;strong>tanda tangan berbasis hash&lt;/strong>. Keamanannya semata-mata bergantung pada satu hal: &amp;ldquo;fungsi hash kriptografis yang digunakan (seperti SHA-2 atau SHAKE256) memiliki ketahanan bentrokan (collision resistance) dan sifat satu arah&amp;rdquo;. Karena SPHINCS+ tidak bergantung pada masalah matematis dengan struktur aljabar tertentu seperti LWE atau pemfaktoran prima, SPHINCS+ memiliki tingkat keamanan yang luar biasa kuat (keamanan paling konservatif). Tidak peduli seberapa kuat algoritma kuantum yang muncul di masa depan, pertahanan dapat dilakukan cukup dengan memperpanjang ukuran keluaran dari fungsi hash.&lt;/p>
&lt;h3 id="81-arsitektur-tanpa-status-stateless-melalui-wots-dan-fors">8.1. Arsitektur Tanpa Status (Stateless) melalui WOTS+ dan FORS
&lt;/h3>&lt;p>Sejarah tanda tangan berbasis hash cukup panjang, kembali ke Tanda Tangan Lamport dan Tanda Tangan Sekali Pakai Winternitz (WOTS) pada tahun 1970-an. Semua ini adalah kunci sekali pakai yang &amp;ldquo;hanya bisa ditandatangani secara aman satu kali&amp;rdquo;. Agar kunci ini dapat digunakan berkali-kali, algoritma seperti XMSS (eXtended Merkle Signature Scheme) dan LMS dikembangkan dengan menggabungkan Pohon Merkle (Merkle Tree) guna mengelola jumlah kunci sekali pakai yang tidak terbatas dengan satu hash akar (root hash).&lt;/p>
&lt;p>Namun, XMSS dan LMS memiliki kelemahan yang fatal, yaitu bersifat &amp;ldquo;&lt;strong>Stateful (Mempertahankan Status)&lt;/strong>&amp;rdquo;. Setiap kali tanda tangan dibuat, status indeks mengenai &amp;ldquo;kunci sekali pakai ke berapa yang digunakan&amp;rdquo; harus direkam secara ketat ke dalam memori non-volatil. Jika status ini dikembalikan (rollback), misalnya melalui pemulihan snapshot mesin virtual, dan kunci sekali pakai yang sama digunakan dua kali, kunci privat akan segera bocor dan sistem akan runtuh.&lt;/p>
&lt;p>SPHINCS+ adalah tanda tangan berbasis hash yang &amp;ldquo;&lt;strong>Stateless (Tanpa Status)&lt;/strong>&amp;rdquo;, yang memecahkan kerumitan dalam manajemen status ini.
Teknologi intinya merupakan gabungan dari:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>WOTS+ (Winternitz One-Time Signature Plus)&lt;/strong>: Tanda tangan sekali pakai dasar.&lt;/li>
&lt;li>&lt;strong>FORS (Forest of Random Subsets)&lt;/strong>: Teknologi Tanda Tangan Beberapa Kali (Few-Time Signature). Kunci yang sama masih tetap aman digunakan kembali beberapa kali.&lt;/li>
&lt;li>&lt;strong>Hyper-Tree (Struktur pohon raksasa)&lt;/strong>: Struktur masif yang merupakan pelapisan berbagai Pohon Merkle secara bertumpuk.&lt;/li>
&lt;/ol>
&lt;p>Dalam SPHINCS+, pada saat menandatangani, alih-alih mengelola status, sistem secara acak memilih satu dari sejumlah besar kunci FORS yang terletak di bagian bawah Hyper-Tree dengan menggunakan angka pseudo-acak. Karena jumlah daun pada pohon ini sangatlah banyak, kemungkinan secara kebetulan memilih kunci yang sama dua kali (benturan) menjadi sangat kecil sehingga bisa diabaikan. Sebagai hasilnya, sifat tanpa status (stateless) berhasil diwujudkan.&lt;/p>
&lt;p>Satu-satunya sekaligus kelemahan terbesar dari SPHINCS+ adalah bahwa &lt;strong>ukuran tanda tangannya sangat besar&lt;/strong>. Bergantung pada parameternya, ukuran tanda tangannya dapat mencapai 17 hingga 49 kilobita, dan kecepatan pembentukan tanda tangannya pun jauh lebih lambat dibandingkan kriptografi kisi. Oleh karena itu, ketimbang digunakan untuk penjelajahan web harian, SPHINCS+ lebih ditujukan untuk aplikasi yang tidak membutuhkan proses tanda tangan berfrekuensi tinggi, tetapi sangat menuntut keamanan absolut untuk jangka waktu yang panjang, seperti tanda tangan untuk pembaruan perangkat lunak atau sertifikat pada Otoritas Sertifikat Akar (Root CA).&lt;/p>
&lt;hr>
&lt;h2 id="9-kriptografi-berbasis-kode-raksasa-tua-yang-hebat-classic-mceliece">9. Kriptografi Berbasis Kode: Raksasa Tua yang Hebat, Classic McEliece
&lt;/h2>&lt;p>Dalam proses standarisasi NIST, salah satu pendekatan penting yang saat ini masih terus dievaluasi sebagai kandidat akhir Putaran 4 adalah &lt;strong>Classic McEliece&lt;/strong>, yaitu algoritma &lt;strong>Kriptografi Berbasis Kode&lt;/strong>.&lt;/p>
&lt;p>Algoritma yang diusulkan oleh Robert McEliece pada tahun 1978 ini merupakan salah satu algoritma paling tua dalam sejarah kriptografi kunci publik, sejajar dengan RSA. Algoritma ini menggunakan kode geometri aljabar yang disebut &amp;ldquo;Kode Goppa&amp;rdquo;, di mana pesan dienkripsi dengan sengaja menambahkan kesalahan (vektor noise). Dasar keamanannya bersandar pada &amp;ldquo;&lt;strong>Masalah Dekode Sindrom (Syndrome Decoding Problem)&lt;/strong>&amp;rdquo;, yang menetapkan bahwa hanya pemilik matriks uji paritas Kode Goppa sebagai kunci privatlah yang mampu menggunakan kekuatan koreksi kesalahan untuk menghapus noise tersebut dan memulihkan teks aslinya.&lt;/p>
$$ \vec{c} = \vec{m} G + \vec{e} $$
&lt;p>
(Di mana $G$ adalah kunci publik berupa matriks generator yang diacak, dan $\vec{e}$ adalah vektor kesalahan dengan bobot $t$)&lt;/p>
&lt;p>Hal yang menakjubkan dari Classic McEliece adalah bahwa &lt;strong>meskipun telah berumur lebih dari 40 tahun sejak pertama kali diusulkan dan telah dipelajari secara intensif oleh kriptografer di seluruh dunia untuk diretas, belum ada satu pun kerentanan mendasar yang pernah ditemukan pada algoritma ini&lt;/strong>. Di antara semua PQC, algoritma ini memiliki &amp;ldquo;keamanan terkuat yang telah teruji oleh waktu&amp;rdquo;.&lt;/p>
&lt;p>Selain itu, algoritma ini memiliki keunggulan berupa ukuran cipherteks (teks sandi) yang sangat kecil (hanya sekitar 100-200 bita). Namun, terdapat kelemahan yang sangat fatal: &lt;strong>ukuran kunci publiknya mencapai satuan megabita (MB)&lt;/strong>. Bahkan pada tingkat keamanan terendah (setara AES-128), kunci publiknya berukuran sekitar 250 KB, dan melebihi 1 MB untuk tingkat keamanan yang lebih tinggi.&lt;/p>
&lt;p>Oleh karena itu, algoritma ini sama sekali tidak cocok untuk aplikasi seperti jabat tangan TLS di mana kunci publik harus selalu dikirim melalui jaringan pada tiap awal komunikasi. Namun, untuk kasus penggunaan khusus di mana kunci publik dapat ditempatkan sebelumnya ke dalam sistem secara statis, seperti pada pertukaran kunci pra-berbagi VPN, hardcoding kunci publik ke dalam firmware, atau pada komunikasi satelit, rekam jejak keamanannya yang kokoh menjadikan algoritma ini sebagai pilihan yang sangat menjanjikan untuk dipertimbangkan.&lt;/p>
&lt;hr>
&lt;h2 id="10-perbandingan-kinerja-dan-tarik-ulur-trade-off-setiap-algoritma-pqc">10. Perbandingan Kinerja dan Tarik-Ulur (Trade-off) Setiap Algoritma PQC
&lt;/h2>&lt;p>Mengenai algoritma-algoritma utama yang telah dibahas sejauh ini, karakteristik kinerjanya pada tingkat keamanan yang umum (Setara Level 2-3 NIST, atau tingkat AES-128-192) dirangkum dalam tabel di bawah ini.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Algoritma (Nama Standar)&lt;/th>
&lt;th style="text-align:left">Kategori&lt;/th>
&lt;th style="text-align:left">Dasar Matematis&lt;/th>
&lt;th style="text-align:left">Ukuran Kunci Publik&lt;/th>
&lt;th style="text-align:left">Ukuran Kunci Privat&lt;/th>
&lt;th style="text-align:left">Ukuran Cipherteks/Tanda Tangan&lt;/th>
&lt;th style="text-align:left">Tren Kecepatan Pemrosesan&lt;/th>
&lt;th style="text-align:left">Karakteristik Utama dan Penggunaan&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Kyber768&lt;/strong>&lt;br>(ML-KEM)&lt;/td>
&lt;td style="text-align:left">KEM&lt;/td>
&lt;td style="text-align:left">Module-LWE&lt;/td>
&lt;td style="text-align:left">1.184 Bita&lt;/td>
&lt;td style="text-align:left">2.400 Bita&lt;/td>
&lt;td style="text-align:left">1.088 Bita&lt;/td>
&lt;td style="text-align:left">Sangat cepat&lt;/td>
&lt;td style="text-align:left">Keseimbangan terbaik antara ukuran kunci &amp;amp; kecepatan. Standar KEM serbaguna seperti untuk TLS 1.3.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Dilithium3&lt;/strong>&lt;br>(ML-DSA)&lt;/td>
&lt;td style="text-align:left">Tanda Tangan&lt;/td>
&lt;td style="text-align:left">Module-LWE&lt;/td>
&lt;td style="text-align:left">1.952 Bita&lt;/td>
&lt;td style="text-align:left">4.032 Bita&lt;/td>
&lt;td style="text-align:left">3.309 Bita&lt;/td>
&lt;td style="text-align:left">Pembuatan &amp;amp; verifikasi sangat cepat&lt;/td>
&lt;td style="text-align:left">Implementasi sederhana. Standar tanda tangan digital serbaguna.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>FALCON-512&lt;/strong>&lt;br>(FN-DSA)&lt;/td>
&lt;td style="text-align:left">Tanda Tangan&lt;/td>
&lt;td style="text-align:left">Kisi NTRU&lt;/td>
&lt;td style="text-align:left">897 Bita&lt;/td>
&lt;td style="text-align:left">1.281 Bita&lt;/td>
&lt;td style="text-align:left">666 Bita&lt;/td>
&lt;td style="text-align:left">Pembuatan tanda tangan agak lambat, verifikasi super cepat&lt;/td>
&lt;td style="text-align:left">Ukuran tanda tangan sangat kecil. Tetapi memerlukan operasi titik mengambang. Untuk IoT/perangkat tersemat.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>SPHINCS+&lt;/strong>&lt;br>(SLH-DSA)&lt;/td>
&lt;td style="text-align:left">Tanda Tangan&lt;/td>
&lt;td style="text-align:left">Fungsi Hash&lt;/td>
&lt;td style="text-align:left">32 Bita&lt;/td>
&lt;td style="text-align:left">64 Bita&lt;/td>
&lt;td style="text-align:left">Sekitar 17.000 Bita&lt;/td>
&lt;td style="text-align:left">Pembuatan tanda tangan sangat lambat&lt;/td>
&lt;td style="text-align:left">Risiko kegagalan secara matematis hampir nol. Untuk penggunaan berkeamanan tinggi seperti sertifikat akar (root).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Classic McEliece&lt;/strong>&lt;/td>
&lt;td style="text-align:left">KEM&lt;/td>
&lt;td style="text-align:left">Kode Goppa&lt;/td>
&lt;td style="text-align:left">&lt;strong>Sekitar 1,04 MB&lt;/strong>&lt;/td>
&lt;td style="text-align:left">13.568 Bita&lt;/td>
&lt;td style="text-align:left">&lt;strong>188 Bita&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Enkapsulasi sangat cepat&lt;/td>
&lt;td style="text-align:left">Rekam jejak keamanan selama 40 tahun. Kunci publik raksasa. Untuk lingkungan yang dapat di-hardcode.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="memahami-tarik-ulur-trade-off">Memahami Tarik-Ulur (Trade-off)
&lt;/h3>&lt;p>Dalam dunia PQC, tidak ada satu algoritma ajaib yang menawarkan &amp;ldquo;ukuran kecil, kecepatan tinggi, dan jaminan matematis sempurna&amp;rdquo; secara sekaligus.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Standar Internet (Kyber / Dilithium)&lt;/strong>: Memiliki keseimbangan kinerja terbaik, dan sangat ideal sebagai pengganti langsung (drop-in replacement) untuk sistem RSA/ECC saat ini.&lt;/li>
&lt;li>&lt;strong>Konservatisme Ekstrem (SPHINCS+)&lt;/strong>: Menjadi pilihan ketika menginginkan jaminan mutlak terhadap penemuan terobosan matematis di masa depan, meskipun harus mengorbankan ukuran data dan kecepatan pemrosesan.&lt;/li>
&lt;li>&lt;strong>Untuk Lingkungan Khusus (FALCON / Classic McEliece)&lt;/strong>: Senjata spesialis yang dipilih untuk menyesuaikan kendala lingkungan, misalnya ketika bandwidth komunikasi sangat sempit atau ketika distribusi kunci publik di awal dimungkinkan.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="11-tantangan-menuju-penggunaan-praktis-dan-solusi-realistis-kriptografi-hibrida">11. Tantangan Menuju Penggunaan Praktis dan Solusi Realistis: &amp;ldquo;Kriptografi Hibrida&amp;rdquo;
&lt;/h2>&lt;p>Dengan selesainya proses standarisasi oleh NIST dan penerbitan standar FIPS secara resmi, migrasi infrastruktur IT secara global menuju PQC (&lt;strong>Migrasi PQC&lt;/strong>) telah benar-benar dimulai. Peramban Chrome dari Google, iMessage dari Apple (Protokol PQ3), serta penyedia jaringan seperti Cloudflare, telah mulai mengimplementasikan dukungan PQC dalam protokol mereka dan mengoperasikannya dalam lingkungan nyata.&lt;/p>
&lt;p>Namun, mengalihkan seluruh sistem sepenuhnya secara mendadak ke algoritma kriptografi yang baru memiliki risiko yang sangat tinggi. Misalnya, jika seorang matematikawan jenius dalam beberapa tahun ke depan menemukan teknik serangan fatal terhadap kriptografi kisi seperti Kyber (suatu cacat matematis yang bahkan dapat diselesaikan oleh komputer klasik), maka sistem mana pun yang bergantung padanya akan segera terekspos tanpa perlindungan sedikit pun.&lt;/p>
&lt;p>Pendekatan yang realistis dan direkomendasikan untuk memitigasi risiko ketidakpastian ini adalah menggunakan &amp;ldquo;&lt;strong>Kriptografi Hibrida (Hybrid Cryptography)&lt;/strong>&amp;rdquo;.&lt;/p>
&lt;p>Dalam Kriptografi Hibrida, kriptografi klasik saat ini yang memiliki rekam jejak panjang (seperti Kriptografi Kurva Eliptik X25519) dan PQC baru (seperti Kyber768) digunakan secara bersamaan untuk melakukan pertukaran kunci. Masing-masing algoritma digunakan untuk menghasilkan komponen kunci simetris secara mandiri. Kemudian, pada tahap akhir, komponen-komponen ini dicampur menggunakan Fungsi Derivasi Kunci (KDF: Key Derivation Function) yang aman guna menghasilkan rahasia utama (master secret) yang final.&lt;/p>
&lt;div class="mermaid">graph TD
A["Klien"] -->|① Mengirim Kunci Publik X25519 + Kunci Publik Kyber| B["Server"]
B -->|② Membalas Kunci Bersama X25519 + Cipherteks Enkapsulasi Kyber| A
A --> C{"Derivasi Rahasia Utama (KDF)"}
B --> C
C -->|Input: (Kunci Simetris X25519) || (Kunci Simetris Kyber)| D["Kunci Komunikasi Aman (AES-256 / ChaCha20)"]
D -->|"Tahan Terhadap Ancaman Kuantum &amp; Kerentanan Klasik Sekaligus"| E["Komunikasi Kriptografi Hibrida yang Aman (TLS 1.3)"]&lt;/div>
&lt;p>Dengan metode ini, dicapai keamanan dua lapis yang kokoh: &amp;ldquo;bahkan jika komputer kuantum terwujud dan mematahkan ECC, Kyber akan melindungi komunikasi&amp;rdquo;, dan sebaliknya, &amp;ldquo;bahkan jika cacat matematis yang tidak diketahui ditemukan pada Kyber, ECC akan melindungi komunikasi&amp;rdquo;. Contoh representatifnya adalah draf &lt;strong>X25519MLKEM768 (sebelumnya X25519Kyber768)&lt;/strong>, yang saat ini sedang distandarisasi di IETF. Komunikasi antara peramban web saat ini dan server-server mutakhir benar-benar menggunakan metode hibrida ini.&lt;/p>
&lt;p>Selain itu, konsep &lt;strong>Crypto Agility (Kelincahan Kriptografi)&lt;/strong>, yakni &amp;ldquo;membangun arsitektur yang tidak bergantung secara berlebihan pada satu algoritma kriptografi tertentu, dan mampu beralih dengan cepat ke algoritma lain (misalnya dari Kyber ke McEliece, atau dari Dilithium ke SPHINCS+) apabila algoritma tersebut terkompromi&amp;rdquo;, akan menjadi persyaratan mutlak dalam pengembangan sistem di masa mendatang.&lt;/p>
&lt;hr>
&lt;h2 id="12-kesimpulan-cakrawala-baru-teknologi-kriptografi">12. Kesimpulan: Cakrawala Baru Teknologi Kriptografi
&lt;/h2>&lt;p>Ironisnya, teknologi komputer kuantum yang menjadi impian umat manusia kini merupakan ancaman terbesar yang mampu menghancurkan dinding pertahanan matematis seperti &amp;ldquo;Pemfaktoran Prima&amp;rdquo; dan &amp;ldquo;Masalah Logaritma Diskrit&amp;rdquo;, yang selama ini telah kita percayai. Meskipun demikian, alih-alih menyerah, para ahli kriptografi di seluruh dunia justru merintis bidang matematis multi-dimensi yang jauh lebih kompleks dan mendalam, seperti teori kisi, pohon fungsi hash, dan kode koreksi kesalahan, untuk mendirikan dinding pertahanan baru yang disebut Kriptografi Pasca-Kuantum (PQC).&lt;/p>
&lt;p>Penyelesaian standarisasi FIPS 203 (ML-KEM), FIPS 204 (ML-DSA), dan FIPS 205 (SLH-DSA) oleh NIST bukanlah garis akhir. Ini hanyalah langkah pertama dalam perjalanan agung yang disebut Migrasi PQC, yang akan berlanjut selama beberapa dekade ke depan. Bagi teknisi perangkat lunak (software engineers) dan arsitek sistem, mengadaptasi secara optimal dampak perubahan dari algoritma-algoritma baru ini, seperti &amp;ldquo;membesarnya ukuran kunci&amp;rdquo; dan &amp;ldquo;perubahan biaya komputasi&amp;rdquo;, pada protokol jaringan dan sistem akan menjadi tantangan teknis yang besar di masa depan.&lt;/p>
&lt;p>Pertarungan antara komputer kuantum dan kriptografi merupakan area yang paling menarik, di mana eksplorasi matematis umat manusia dan evolusi teknologi saling beririsan dengan sangat tajam. Kami berharap melalui artikel ini, Anda dapat memahami secara mendalam teori matematis yang indah di balik PQC, serta mekanisme luar biasa dari masing-masing algoritma yang membentuk masa depan keamanan siber.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Referensi:&lt;/em>&lt;/p>
&lt;ul>
&lt;li>&lt;em>NIST Post-Quantum Cryptography Standardization Program&lt;/em>&lt;/li>
&lt;li>&lt;em>FIPS 203: Module-Lattice-Based Key-Encapsulation Mechanism Standard&lt;/em>&lt;/li>
&lt;li>&lt;em>FIPS 204: Module-Lattice-Based Digital Signature Standard&lt;/em>&lt;/li>
&lt;li>&lt;em>FIPS 205: Stateless Hash-Based Digital Signature Standard&lt;/em>&lt;/li>
&lt;/ul></description></item><item><title>Hari Ketika Komputer Kuantum Menjadi Praktis: Posisi Saat Ini di Tahun 2026</title><link>http://kenji.blog/id/p/quantum-computing-2026-current-status/</link><pubDate>Fri, 11 Sep 2026 06:00:00 +0900</pubDate><guid>http://kenji.blog/id/p/quantum-computing-2026-current-status/</guid><description>&lt;img src="http://kenji.blog/p/quantum-computing-2026-current-status/img/eyecatch.jpg" alt="Featured image of post Hari Ketika Komputer Kuantum Menjadi Praktis: Posisi Saat Ini di Tahun 2026" />&lt;h2 id="1-pendahuluan-sejauh-mana-komputer-kuantum-berkembang-di-tahun-2026">1. Pendahuluan: Sejauh Mana Komputer Kuantum Berkembang di Tahun 2026?
&lt;/h2>&lt;p>Pada tahun 2026 saat ini, komputasi kuantum telah membuat pergeseran yang menentukan dari &amp;ldquo;mimpi teoretis&amp;rdquo; di masa lalu menjadi &amp;ldquo;realitas rekayasa&amp;rdquo;. Seiring dengan semakin jelasnya batasan perangkat &lt;strong>NISQ (Noisy Intermediate-Scale Quantum)&lt;/strong> yang merupakan arus utama hingga beberapa tahun lalu, lembaga penelitian dan raksasa teknologi di seluruh dunia telah mengalihkan haluan menuju realisasi &amp;ldquo;Komputasi Kuantum Toleransi Kesalahan (FTQC: Fault-Tolerant Quantum Computing)&amp;rdquo;.&lt;/p>
&lt;p>Dalam artikel ini, kita akan menggali lebih dalam posisi komputer kuantum saat ini, sekaligus membahas terobosan terbaru di tahun 2026. Secara khusus, kita akan menjelaskan secara rinci tentang koreksi kesalahan kuantum (kode permukaan), perbedaan antara qubit fisik dan qubit logis, kemajuan komputasi kuantum topologis, serta garis depan metode superkonduktor dan perangkap ion.&lt;/p>
&lt;hr>
&lt;h2 id="2-dasar-dasar-keadaan-kuantum-dan-fidelitas-fidelity">2. Dasar-dasar Keadaan Kuantum dan Fidelitas (Fidelity)
&lt;/h2>&lt;p>Qubit, yang merupakan unit dasar dari komputer kuantum, berbeda dari bit klasik (0 atau 1) karena dapat mengambil keadaan superposisi (Superposition) antara 0 dan 1. Keadaan dari sebuah qubit tunggal direpresentasikan sebagai vektor dalam ruang Hilbert sebagai berikut:&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Di sini, $\alpha$ dan $\beta$ adalah amplitudo probabilitas berupa bilangan kompleks, yang memenuhi kondisi normalisasi berikut:&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>Metrik yang sangat penting dalam mengukur kinerja komputasi kuantum adalah &lt;strong>Fidelitas (Fidelity)&lt;/strong>. Fidelitas $F$ antara keadaan kuantum ideal $|\psi\rangle$ dan matriks densitas aktual $\rho$ yang telah terdegradasi menjadi keadaan campuran akibat derau (noise), didefinisikan sebagai berikut:&lt;/p>
$$
F(\rho, |\psi\rangle) = \langle \psi | \rho | \psi \rangle
$$
&lt;p>Saat ini di tahun 2026, fidelitas gerbang 2-qubit (contoh: gerbang CNOT atau gerbang CZ) dengan metode superkonduktor telah secara stabil melampaui batas &lt;strong>99,99%&lt;/strong> (yang dikenal sebagai &amp;ldquo;4 nine&amp;rdquo;). Angka ini jauh melampaui ambang batas koreksi kesalahan oleh kode permukaan (sekitar 99%), dan merupakan salah satu terobosan terbesar menuju penggunaan praktis.&lt;/p>
&lt;hr>
&lt;h2 id="3-batasan-era-nisq-dan-pergeseran-paradigma-ke-ftqc">3. Batasan Era NISQ dan Pergeseran Paradigma ke FTQC
&lt;/h2>&lt;p>Periode dari akhir 2010-an hingga awal 2020-an adalah era NISQ (Noisy Intermediate-Scale Quantum), yaitu perangkat dengan puluhan hingga ratusan qubit tanpa koreksi kesalahan. Namun, NISQ memiliki batasan yang jelas.&lt;/p>
&lt;p>Seiring bertambahnya kedalaman (Depth) sirkuit, kesalahan terakumulasi secara eksponensial, sehingga mustahil untuk mendapatkan hasil komputasi yang bermakna. Probabilitas keberhasilan keseluruhan $P_{success}$ pada sirkuit dengan kedalaman $D$ menurun relatif terhadap fidelitas gerbang tunggal $f$ dan jumlah gerbang $N$ sebagai berikut:&lt;/p>
$$
P_{success} \approx f^N
$$
&lt;p>Jika kita menerapkan 1000 gerbang dengan $f = 0.99$, maka hasilnya adalah $0.99^{1000} \approx 4.3 \times 10^{-5}$, dan hasilnya hampir tenggelam dalam derau acak. Oleh karena itu, pada tahun 2026, sumber daya tidak lagi difokuskan pada peningkatan skala algoritma NISQ secara langsung (seperti VQE atau QAOA), melainkan dipusatkan pada pembuatan &lt;strong>Qubit Logis (Logical Qubit)&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="4-koreksi-kesalahan-kuantum-dan-qubit-logis-garis-depan-kode-permukaan">4. Koreksi Kesalahan Kuantum dan Qubit Logis: Garis Depan Kode Permukaan
&lt;/h2>&lt;p>Koreksi Kesalahan Kuantum (QEC: Quantum Error Correction) adalah teknologi yang mengodekan beberapa &amp;ldquo;qubit fisik&amp;rdquo; untuk menciptakan satu &amp;ldquo;qubit logis&amp;rdquo; guna mendeteksi dan mengoreksi kesalahan. Saat ini, metode yang dianggap paling menjanjikan adalah &lt;strong>Kode Permukaan (Surface Code)&lt;/strong>.&lt;/p>
&lt;h3 id="41-struktur-kode-permukaan-surface-code">4.1 Struktur Kode Permukaan (Surface Code)
&lt;/h3>&lt;p>Dalam kode permukaan, qubit disusun dalam bentuk kisi 2 dimensi. Qubit data (yang menyimpan informasi aktual) dan qubit pengukuran (untuk pengukuran sindrom) disusun seperti pola papan catur.&lt;/p>
&lt;div class="mermaid">graph TD
A["Qubit Data (D1)"] --- B["Qubit Pengukuran (M1)"]
B --- C["Qubit Data (D2)"]
C --- D["Qubit Pengukuran (M2)"]
D --- E["Qubit Data (D3)"]
B --- F["Qubit Data (D4)"]
D --- G["Qubit Data (D5)"]
style A fill:#e1f5fe,stroke:#039be5
style C fill:#e1f5fe,stroke:#039be5
style E fill:#e1f5fe,stroke:#039be5
style F fill:#e1f5fe,stroke:#039be5
style G fill:#e1f5fe,stroke:#039be5
style B fill:#fff3e0,stroke:#fb8c00
style D fill:#fff3e0,stroke:#fb8c00&lt;/div>
&lt;p>Dengan menggunakan operator penstabil (stabilizer) $S_x$ dan $S_z$, sistem secara terus-menerus memantau pembalikan bit (kesalahan X) dan pembalikan fase (kesalahan Z).&lt;/p>
$$
S_x = \prod_{i \in \text{star}} X_i, \quad S_z = \prod_{j \in \text{plaquette}} Z_j
$$
&lt;p>Kemajuan penting di tahun 2026 adalah keberhasilan menembus &amp;ldquo;Titik Impas (Break-even point)&amp;rdquo; sepenuhnya. Artinya, derau yang dihilangkan oleh koreksi kesalahan kini lebih besar daripada derau yang ditimbulkan oleh sirkuit tambahan yang digunakan untuk melakukan koreksi kesalahan tersebut, sehingga umur qubit logis kini bisa melampaui umur qubit fisik hingga beberapa orde besaran.&lt;/p>
&lt;h3 id="42-siklus-koreksi-kesalahan-kuantum">4.2 Siklus Koreksi Kesalahan Kuantum
&lt;/h3>&lt;p>Koreksi kesalahan berfungsi sebagai putaran umpan balik (feedback loop) yang berkelanjutan.&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant D as "Qubit Data"
participant M as "Ancilla/Qubit Pengukuran"
participant C as "Pengontrol Klasik"
loop "Siklus Ekstraksi Sindrom (sekitar 1 mikrodetik)"
D->>M: "Entanglement (CNOT/CZ)"
M->>C: "Ukur Keadaan (Sindrom)"
C->>C: "Dekode Sindrom (misalnya Minimum Weight Perfect Matching)"
C-->>D: "Terapkan Koreksi Pauli (jika perlu)"
end&lt;/div>
&lt;p>Saat ini, teknologi untuk menjalankan proses dekode klasik ini (analisis sindrom) dalam skala nanodetik menggunakan FPGA atau ASIC khusus telah mapan, dan koreksi kesalahan secara waktu nyata (real-time) telah memasuki tahap praktis.&lt;/p>
&lt;hr>
&lt;h2 id="5-evolusi-arsitektur-perangkat-keras-edisi-2026">5. Evolusi Arsitektur Perangkat Keras (Edisi 2026)
&lt;/h2>&lt;p>Perangkat keras kuantum di tahun 2026 berevolusi terutama pada tiga poros: &amp;ldquo;metode superkonduktor&amp;rdquo;, &amp;ldquo;metode perangkap ion&amp;rdquo;, dan &amp;ldquo;metode topologis&amp;rdquo;.&lt;/p>
&lt;h3 id="51-integrasi-qubit-superkonduktor">5.1 Integrasi Qubit Superkonduktor
&lt;/h3>&lt;p>Metode superkonduktor adalah bidang yang dipimpin oleh perusahaan seperti IBM dan Google, dengan qubit Transmon yang menggunakan sambungan Josephson sebagai arus utama. Pada tahun 2026, sebuah chip mega (megachip) yang mengintegrasikan ribuan hingga puluhan ribu qubit fisik pada satu chip tunggal telah terealisasi.&lt;/p>
&lt;p>Yang patut dicatat adalah penetapan &lt;strong>Interkoneksi Kuantum Antarmodul (Quantum Interconnects)&lt;/strong>. Teleportasi kuantum antar-chip menggunakan foton gelombang mikro telah diimplementasikan pada tingkat komersial, sehingga memungkinkan kita untuk menghindari batasan ukuran dari satu kulkas dilusi (dilution refrigerator).&lt;/p>
&lt;h3 id="52-penskalaan-2-dimensi-perangkap-ion-dan-interkoneksi-optik">5.2 Penskalaan 2 Dimensi Perangkap Ion dan Interkoneksi Optik
&lt;/h3>&lt;p>Pada metode perangkap ion (dipimpin oleh Quantinuum, IonQ, dll.), status energi internal ion yang melayang dalam ruang hampa digunakan sebagai qubit. Dibandingkan dengan metode superkonduktor, ia memiliki keuntungan berupa waktu koherensi T1/T2 yang sangat panjang serta konektivitas menyeluruh (All-to-All Connectivity) yang dimungkinkan.&lt;/p>
&lt;p>Terobosan di tahun 2026 adalah visualisasi 2 dimensi dari arsitektur QCCD (Quantum Charge Coupled Device) dan pembuatan entanglement berkecepatan tinggi antar multi-perangkap menggunakan interkoneksi fotonik. Hal ini secara drastis memperbaiki &amp;ldquo;lambatnya kecepatan gerbang&amp;rdquo; dan &amp;ldquo;skalabilitas&amp;rdquo; yang sebelumnya menjadi kelemahan perangkap ion.&lt;/p>
&lt;h3 id="53-komputasi-kuantum-topologis-pengendalian-anyon">5.3 Komputasi Kuantum Topologis: Pengendalian Anyon
&lt;/h3>&lt;p>&lt;strong>Komputasi kuantum topologis&lt;/strong>, yang lama dianggap hanya ada secara teori, akhirnya memasuki fase pembuktian eksperimental pada tahun 2026. Metode yang didorong oleh Microsoft dan lainnya ini menggunakan anyon non-Abelian (Non-Abelian Anyons) yang disebut &amp;ldquo;Mode Nol Majorana (Majorana Zero Modes)&amp;rdquo;.&lt;/p>
&lt;p>Gerbang kuantum dijalankan melalui operasi yang disebut &amp;ldquo;Jalinan (Braiding)&amp;rdquo;, yang menukar posisi partikel anyon.&lt;/p>
$$
|\psi_{final}\rangle = B_{ij} |\psi_{initial}\rangle
$$
&lt;p>Di sini, $B_{ij}$ adalah operator jalinan. Karena metode topologis bergantung pada topologi &amp;ldquo;simpul&amp;rdquo; keseluruhan alih-alih pada keadaan lokal partikel untuk menyimpan informasi, metode ini secara inheren tahan terhadap derau lingkungan (toleransi kesalahan di tingkat perangkat keras). Pada tahun 2026, pembentukan qubit logis topologis dengan fidelitas tinggi berhasil dikonfirmasi untuk pertama kalinya di dunia, dan hal ini menarik perhatian sebagai jalan pintas yang kuat menuju FTQC.&lt;/p>
&lt;hr>
&lt;h2 id="6-peta-jalan-dan-prospek-menuju-penggunaan-praktis">6. Peta Jalan dan Prospek Menuju Penggunaan Praktis
&lt;/h2>&lt;p>Untuk benar-benar mewujudkan &lt;strong>Keunggulan Kuantum (Quantum Advantage)&lt;/strong>, di mana komputer kuantum mengungguli komputer klasik (superkomputer) di bidang seperti &amp;ldquo;komputasi kimia&amp;rdquo;, &amp;ldquo;ilmu material&amp;rdquo;, dan &amp;ldquo;pemodelan keuangan&amp;rdquo;, diperlukan ribuan qubit logis.&lt;/p>
&lt;div class="mermaid">gantt
title "Peta Jalan Komputasi Kuantum (Revisi 2026)"
dateFormat YYYY
axisFormat %Y
section "Era NISQ"
"Qubit Berderau (&lt;1000)" :done, 2018, 2024
section "Awal FTQC"
"Demonstrasi Titik Impas" :done, 2024, 2026
"Ratusan Qubit Logis" :active, 2026, 2028
section "FTQC Skala Penuh"
"1000+ Qubit Logis (Aplikasi Komersial)" : 2028, 2030
"Komputer Kuantum Toleransi Kesalahan Universal" : 2030, 2035&lt;/div>
&lt;h3 id="61-tantangan-yang-dihadapi-saat-ini-dan-masa-depan">6.1 Tantangan yang Dihadapi Saat Ini dan Masa Depan
&lt;/h3>&lt;p>Tantangan terbesar per tahun 2026 adalah kapasitas pendinginan dari kriostat raksasa (kulkas dilusi) untuk mempertahankan suhu sangat rendah, serta pemasangan kabel (bottleneck I/O) yang menghubungkan perangkat pengendali pada suhu ruang dengan chip kuantum bersuhu sangat rendah. Sebagai solusinya, pengembangan chip pengontrol CMOS yang beroperasi di lingkungan bersuhu sangat rendah (Cryo-CMOS) sedang berjalan dengan sangat cepat.&lt;/p>
&lt;h3 id="kesimpulan">Kesimpulan
&lt;/h3>&lt;p>Tahun 2026 akan tercatat dalam sejarah komputer kuantum sebagai &amp;ldquo;Tahun Pertama Penskalaan Qubit Logis&amp;rdquo;. Dengan pembuktian algoritma koreksi kesalahan, modularisasi perangkat keras, dan kemajuan pesat dalam pendekatan topologis, &amp;ldquo;hari ketika komputer kuantum menjadi praktis&amp;rdquo; bukan lagi cerita dari masa depan yang jauh, melainkan sebuah tonggak pencapaian konkret yang dapat kita nantikan dalam beberapa tahun mendatang. Bagi para pengembang algoritma kuantum dan perusahaan, sekaranglah waktu yang tepat untuk berinvestasi secara serius pada pemecahan masalah kuantum-native.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Artikel ini ditulis berdasarkan makalah penelitian komputasi kuantum terbaru dan tren industri per tahun 2026.&lt;/em>&lt;/p></description></item></channel></rss>