• Tidak ada hasil yang ditemukan

IMPLEMENTASI QUANTUM BACKTRACKING ALGORITHM UNTUK PENYELESAIAN CIRCUIT SATISFIABILITY PROBLEM SKRIPSI

N/A
N/A
Protected

Academic year: 2022

Membagikan "IMPLEMENTASI QUANTUM BACKTRACKING ALGORITHM UNTUK PENYELESAIAN CIRCUIT SATISFIABILITY PROBLEM SKRIPSI"

Copied!
18
0
0

Teks penuh

(1)

IMPLEMENTASI QUANTUM BACKTRACKING ALGORITHM UNTUK PENYELESAIAN

CIRCUIT SATISFIABILITY PROBLEM

SKRIPSI

Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)

Vionie Laorensa 00000013610

PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA

TANGERANG 2019

(2)
(3)
(4)
(5)
(6)
(7)
(8)

vii

IMPLEMENTASI QUANTUM BACKTRACKING ALGORITHM UNTUK PENYELESAIAN CIRCUIT

SATISFIABILITY PROBLEM

ABSTRAK

Komputasi kuantum memiliki potensi untuk menyelesaikan berbagai permasalahan yang ada di komputasi klasik, salah satunya permasalahan Circuit Satisfiability Problem. Tantangan komputasi kuantum membuat banyak perusahaan seperti IBM, Google, dan Rigetti untuk melakukan riset terhadap komputasi kuantum. Rigetti Computing menyediakan platform untuk melakukan komputasi kuantum dengan Forest SDK dan QVM untuk melakukan komputasi kuantum secara lokal. Algoritma kuantum seperti Quantum Backtracking untuk melakukan traverse pada tree dapat disimulasikan dengan menggunakan Forest SDK dan QVM. Penelitian ini bertujuan untuk mengimplementasikan algoritma Quantum Backtracking untuk menyelesaikan permasalahan dalam CSP dan melakukan evaluasi performa simulasi dari sisi kecepatan waktu, akurasi, dan F- score. Hasil kecepatan waktu dari simulasi sirkuit C880 yang dijalankan adalah 381 ms untuk sirkuit dengan 5 qubit, 393 ms untuk sirkuit dengan 7 qubit, 651 ms untuk sirkuit dengan 10 qubit, 912 ms untuk sirkuit dengan 13 qubit, 3 detik 60 ms untuk sirkuit dengan 15 qubit, 5 detik 386 ms untuk sirkuit dengan 16 qubit, 2 menit 41 detik 259 ms untuk sirkuit dengan 21 qubit, 10 menit 31 detik 746 ms untuk sirkuit dengan 22 qubit, dan 21 menit 17 detik 515 ms untuk sirkuit dengan 24 qubit. Hasil evaluasi akurasi dan F-score menunjukkan nilai yang sangat tinggi yaitu 1 dengan setiap state dari masukan memiliki probabilitas collapse yang sama.

Kata Kunci: algoritma Quantum Backtracking, akurasi, Circuit Satisfiability Problem, F-score, Rigetti Computing

(9)

viii

IMPLEMENTATION OF QUANTUM BACKTRACKING ALGORITHM FOR FINISHING CIRCUIT SATISFIABILITY

PROBLEM

ABSTRACT

Quantum computing had potential to solve various problems that exist in classical computing, one of them being Circuit Satisfiability Problem. The challenges of quantum computing led many companies such as IBM, Google, and Rigetti to do researches on quantum computer. Rigetti Computing provides a platform to do quantum computing locally with Forest SDK and QVM. Quantum algorithms such as Quantum Backtracking to traverse trees can be simulated using the Forest SDK and QVM. This research aims to implement Quantum Backtracking algorithm to solve problems in CSP and evaluate the performance of the simulation in the time speed, accuracy, and F-score. The result for the time speed of the C880 circuit simulations are 381 ms for circuit with 5 qubits, 393 ms for circuit with 7 qubits, 651 ms for circuit with 10 qubits, 912 ms for circuit with 13 qubits, 3 seconds 60 ms for circuit with 15 qubits, 5 seconds 386 ms for circuit with 16 qubits, 2 minutes 41 seconds 259 ms for circuit with 21 qubits, 10 minutes 31 seconds 746 ms for circuit with 22 qubits, and 21 minutes 17 seconds 515 ms for circuit with 24 qubits. The accuracy and F-score of the evaluation results show a very high value of 1 with each of the input state having the same probability of collapse.

Keyword: Accuracy, Circuit Satisfiability Problem, F-score, Rigetti Computing, Quantum Backtracking Algorithm

(10)

ix

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PENGESAHAN ... ii

PERNYATAAN TIDAK MELAKUKAN PLAGIAT ... ii

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH... iii

HALAMAN PERSEMBAHAN / MOTO ... iv

KATA PENGANTAR ... v

ABSTRAK ... vii

ABSTRACT ... viii

DAFTAR ISI ... ix

DAFTAR GAMBAR ... xi

DAFTAR TABEL ... xiv

DAFTAR RUMUS... xvi

DAFTAR LAMPIRAN ... xvii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 4

1.3 Batasan Masalah... 5

1.4 Tujuan Penelitian ... 5

1.5 Manfaat Penelitian ... 6

1.6 Sistematika Penulisan... 6

BAB II LANDASAN TEORI ... 8

2.1 Circuit Satisfiability Problem ... 8

2.2 Gerbang Logika ... 13

2.3 Algoritma Quantum Backtracking ... 17

2.4 Rigetti Computing ... 29

2.5 Metode Evaluasi F-Score ... 33

BAB III METODOLOGI PENELITIAN DAN PERANCANGAN SISTEM .... 35

3.1 Metodologi Penelitian ... 35

3.2 Perancangan Simulasi ... 37

3.2.1 Flowchart ... 37

3.2.2 Divide and Conquer C880 ... 39

3.2.3 Antarmuka Halaman ... 52

(11)

x

BAB IV IMPLEMENTASI DAN ANALISIS ... 57

4.1 Spesifikasi Perangkat ... 57

4.2 Implementasi Simulasi ... 57

4.2.1 Implementasi Sirkuit ... 58

A. Subsirkuit 1 ... 58

B. Subsirkuit 2 ... 59

C. Subsirkuit 3 ... 59

D. Subsirkuit 4 ... 60

E. Subsirkuit 5 ... 63

4.2.2 Implementasi Algoritma... 70

4.3 Penelusuran Implementasi ... 72

4.3.1 Penelusuran Subsirkuit 1 ... 73

4.3.2 Penelusuran Subsirkuit 2 ... 74

4.3.3 Penelusuran Subsirkuit 3 ... 75

4.3.4 Penelusuran Subsirkuit 4 ... 76

4.3.5 Penelusuran Subsirkuit 5 ... 83

4.4 Evaluasi Hasil... 98

4.5 Implementasi Halaman Hasil Penelitian ... 105

BAB V SIMPULAN DAN SARAN ... 111

5.1. Simpulan ... 111

5.2. Saran ... 113

DAFTAR PUSTAKA ... 114

(12)

xi

DAFTAR GAMBAR

Gambar 2.1. Sirkuit C880 Dalam Bahasa Fortran (Filebox, 2015) ... 11

Gambar 2.1. Sirkuit C880 Dalam Bahasa Fortran (Lanjutan) (Filebox, 2015)... 12

Gambar 2.1. Sirkuit C880 Dalam Bahasa Fortran (Lanjutan) (Filebox, 2015)... 13

Gambar 2.2. Gerbang AND ... 14

Gambar 2.3. Gerbang OR ... 14

Gambar 2.4. Gerbang XOR ... 15

Gambar 2.5. Gerbang NOT ... 15

Gambar 2.6. Gerbang NAND ... 16

Gambar 2.7. Gerbang NOR ... 17

Gambar 2.8. Implementasi Operator RA (Martiel dan Remaud, 2019) ... 25

Gambar 2.9. Implementasi Komputasi Permasalahan SAT ... 26

Gambar 2.10. Representasi Matriks Gerbang Hadamard... 27

Gambar 2.11. Simbol Gerbang Hadamard ... 27

Gambar 2.12. Representasi Matriks Gerbang Pauli-X ... 27

Gambar 2.13. Simbol Gerbang Pauli-X ... 27

Gambar 2.14. Representasi Matriks Gerbang Controlled Not ... 28

Gambar 2.15. Simbol Gerbang Controlled Not ... 28

Gambar 2.16. Representasi Matriks Gerbang Toffoli ... 28

Gambar 2.17. Simbol Gerbang Toffoli ... 29

Gambar 2.18. Server QVM Dimulai ... 31

Gambar 2.19. Server quilc Dimulai ... 31

Gambar 2.20. Contoh Kode Komputasi dengan Rigetti Computing ... 31

Gambar 2.21. Server quilc Saat Kode Dijalankan ... 32

Gambar 2.22. Server QVM Saat Kode Dijalankan ... 32

Gambar 2.23. Hasil Collapse ... 32

Gambar 3.1. Flowchart Simulasi Algoritma Quantum Backtracking ... 38

Gambar 3.2. Sirkuit Berdasarkan C880 ... 40

Gambar 3.3. Subsirkuit 1 Sirkuit C880 ... 41

Gambar 3.4. Subsirkuit 2 Sirkuit C880 ... 41

Gambar 3.5. Subsirkuit 3 Sirkuit C880 ... 42

Gambar 3.6. Subsirkuit 4 Sirkuit C880 ... 42

Gambar 3.7. Subsirkuit 5 Sirkuit C880 ... 42

Gambar 3.8. Pemisahan Subsirkuit 4 ... 44

(13)

xii

Gambar 3.9. Subsirkuit Keluaran D12 ... 45

Gambar 3.10. Subsirkuit Keluaran D15 ... 46

Gambar 3.11. Subsirkuit Keluaran D16 ... 46

Gambar 3.12. Pemisahan Subsirkuit 5 ... 46

Gambar 3.13. Pemisahan Subsirkuit Keluaran E26 ... 48

Gambar 3.14. Subsirkuit Keluaran E11 ... 49

Gambar 3.15. Subsirkuit Keluaran E23 ... 49

Gambar 3.16. Subsirkuit Keluaran E25 ... 50

Gambar 3.17. Subsirkuit Keluaran E26 ... 50

Gambar 3.18. Subsirkuit Keluaran E27 ... 50

Gambar 3.19. Subsirkuit Keluaran E22 ... 51

Gambar 3.20. Subsirkuit Keluaran E28 ... 51

Gambar 3.21. Rancangan Antarmuka Halaman Utama ... 53

Gambar 3.22. Rancangan Antarmuka Halaman Subsirkuit Biasa ... 54

Gambar 3.23. Rancangan Antarmuka Halaman Subsirkuit Penggabung ... 55

Gambar 3.24. Rancangan Antarmuka Halaman Hasil Evaluasi ... 56

Gambar 4.1. Gerbang Kuantum Subsirkuit 1 ... 58

Gambar 4.2. Subsirkuit 1 Yang Diselesaikan ... 58

Gambar 4.3. Gerbang Kuantum Subsirkuit 2 ... 59

Gambar 4.4. Subsirkuit 2 Yang Diselesaikan ... 59

Gambar 4.5. Gerbang Kuantum Subsirkuit 3 ... 60

Gambar 4.6. Subsirkuit 3 Yang Diselesaikan ... 60

Gambar 4.7. Gerbang Kuantum Subsirkuit Keluaran D12 ... 61

Gambar 4.8. Subsirkuit Keluaran D12 Yang Diselesaikan ... 61

Gambar 4.9. Gerbang Kuantum Subsirkuit Keluaran D15 ... 62

Gambar 4.10. Subsirkuit Keluaran D15 Yang Diselesaikan ... 62

Gambar 4.11. Gerbang Kuantum Subsirkuit Keluaran D16 ... 63

Gambar 4.12. Subsirkuit Keluaran D16 Yang Diselesaikan ... 63

Gambar 4.13. Gerbang Kuantum Subsirkuit Keluaran E11 ... 64

Gambar 4.14. Subsirkuit Keluaran E11 Yang Diselesaikan ... 64

Gambar 4.15. Gerbang Kuantum Subsirkuit Keluaran E23 ... 65

Gambar 4.16. Subsirkuit Keluaran E23 Yang Diselesaikan ... 65

Gambar 4.17. Gerbang Kuantum Subsirkuit Keluaran E25 ... 66

Gambar 4.18. Subsirkuit Keluaran E25 Yang Diselesaikan ... 66

Gambar 4.19. Gerbang Kuantum Subsirkuit Keluaran E26 ... 67

Gambar 4.20. Subsirkuit Keluaran E26 Yang Diselesaikan ... 67

(14)

xiii

Gambar 4.21. Gerbang Kuantum Subsirkuit Keluaran E27 ... 67

Gambar 4.22. Subsirkuit Keluaran E27 Yang Diselesaikan ... 68

Gambar 4.23. Gerbang Kuantum Subsirkuit Keluaran E22 ... 68

Gambar 4.24. Subsirkuit Keluaran E22 Yang Diselesaikan ... 69

Gambar 4.25. Gerbang Kuantum Subsirkuit Keluaran E28 ... 69

Gambar 4.26. Subsirkuit Keluaran E28 Yang Diselesaikan ... 69

Gambar 4.27. Implementasi Persiapan Qubit ... 70

Gambar 4.28. Implementasi Pembuatan Qubit Yang Digunakan ... 70

Gambar 4.29. Fungsi Inverse ... 70

Gambar 4.30. Implementasi Fungsi Sirkuit ... 71

Gambar 4.31. Implementasi Penentuan Nilai P(x)... 71

Gambar 4.32. Implementasi Fungsi Inverse ... 71

Gambar 4.33. Implementasi Pengecekkan Semua State ... 72

Gambar 4.34. Grafik Perubahan Waktu Di Bawah 5 Detik ... 102

Gambar 4.35. Grafik Perubahan Waktu Secara Keseluruhan ... 103

Gambar 4.36. Halaman Utama ... 106

Gambar 4.37. Halaman Subsirkuit Biasa ... 107

Gambar 4.38. Halaman Subsirkuit Penggabung ... 108

Gambar 4.38. Halaman Subsirkuit Penggabung (Lanjutan) ... 109

Gambar 4.39. Halaman Hasil Evaluasi ... 110

(15)

xiv

DAFTAR TABEL

Tabel 2.1. Tabel kebenaran gerbang AND... 14

Tabel 2.2. Tabel kebenaran gerbang OR ... 14

Tabel 2.3. Tabel kebenaran gerbang XOR ... 15

Tabel 2.4. Tabel kebenaran gerbang NOT ... 15

Tabel 2.5. Tabel kebenaran gerbang NAND... 16

Tabel 2.6. Tabel kebenaran gerbang NOR ... 17

Tabel 4.1. Tabel Penelusuran Manual Subsirkuit 1 ... 73

Tabel 4.2. Tabel Penelusuran Simulasi Subsirkuit 1... 73

Tabel 4.3. Tabel Penelusuran Manual Subsirkuit 2 ... 74

Tabel 4.4. Tabel Penelusuran Simulasi Subsirkuit 2... 74

Tabel 4.5. Tabel Penelusuran Manual Subsirkuit 3 ... 75

Tabel 4.6. Tabel Penelusuran Simulasi Subsirkuit 3... 76

Tabel 4.7. Tabel Penelusuran Manual Subsirkuit Keluaran D12 ... 77

Tabel 4.8. Tabel Penelusuran Simulasi Subsirkuit Keluaran D12 ... 78

Tabel 4.9. Tabel Penelusuran Manual Subsirkuit Keluaran D15 ... 79

Tabel 4.10. Tabel Penelusuran Simulasi Subsirkuit Keluaran D15 ... 80

Tabel 4.11. Tabel Penelusuran Manual Subsirkuit Keluaran D16 ... 81

Tabel 4.12. Tabel Penelusuran Simulasi Subsirkuit Keluaran D16 ... 81

Tabel 4.13. Tabel Penelusuran Manual Subsirkuit 4 ... 82

Tabel 4.14. Tabel Penelusuran Simulasi Subsirkuit 4... 82

Tabel 4.15. Tabel Penelusuran Manual Subsirkuit Keluaran E11 ... 84

Tabel 4.16. Tabel Penelusuran Simulasi Subsirkuit Keluaran E11 ... 84

Tabel 4.17. Tabel Penelusuran Manual Subsirkuit Keluaran E23 ... 85

Tabel 4.18. Tabel Penelusuran Simulasi Subsirkuit Keluaran E23 ... 86

Tabel 4.19. Tabel Penelusuran Manual Subsirkuit Keluaran E25 ... 87

Tabel 4.20. Tabel Penelusuran Simulasi Subsirkuit Keluaran E25 ... 88

Tabel 4.21. Tabel Penelusuran Manual Subsirkuit Keluaran E26 ... 89

Tabel 4.22. Tabel Penelusuran Simulasi Subsirkuit Keluaran E26 ... 89

Tabel 4.23. Tabel Penelusuran Manual Subsirkuit Keluaran E26 Dari Hasil 2 Subsirkuit Masukan ... 90

Tabel 4.24. Tabel Penelusuran Simulasi Subsirkuit Keluaran E26 Dari Hasil 2 Subsirkuit Masukan ... 91

Tabel 4.25. Tabel Penelusuran Manual Subsirkuit Keluaran E27 ... 92

Tabel 4.26. Tabel Penelusuran Simulasi Subsirkuit Keluaran E27 ... 93

(16)

xv

Tabel 4.27. Tabel Penelusuran Manual Subsirkuit Keluaran E22 ... 94

Tabel 4.28. Tabel Penelusuran Simulasi Subsirkuit Keluaran E22 ... 95

Tabel 4.29. Tabel Penelusuran Manual Subsirkuit Keluaran E28 ... 96

Tabel 4.30. Tabel Penelusuran Simulasi Subsirkuit Keluaran E28 ... 96

Tabel 4.31. Tabel Penelusuran Manual Subsirkuit 5 ... 97

Tabel 4.32. Tabel Penelusuran Simulasi Subsirkuit 5... 98

Tabel 4.33. Probabilitas State 2 Qubit ... 99

Tabel 4.34. Probabilitas State 3 Qubit ... 99

Tabel 4.35. Probabilitas State 4 Qubit ... 99

Tabel 4.36. Probabilitas State 5 Qubit ... 99

Tabel 4.37. Hasil Waktu Operasi Tiap Sirkuit ... 100

Tabel 4.38. Perbandingan Kecepatan Waktu Dan Jumlah Qubit ... 101

Tabel 4.39. Perbandingan Kecepatan Waktu Dan Jumlah Qubit ... 102

Tabel 4.40. Hasil Akurasi dan F-score Tiap Sirkuit... 104

(17)

xvi

DAFTAR RUMUS

Rumus 2.1 Rumus Operator RA dan RB ... 22

Rumus 2.2 Rumus Akurasi ... 34

Rumus 2.3 Rumus Precision ... 34

Rumus 2.4 Rumus Recall ... 34

Rumus 2.5 Rumus F-Score ... 34

(18)

xvii

DAFTAR LAMPIRAN

1. Lampiran – L1. Form Bimbingan Skripsi 2. Lampiran – L2. Riwayat Hidup

3. Lampiran – L3. Gambar Keluaran Subsirkuit 1 4. Lampiran – L4. Gambar Keluaran Subsirkuit 2 5. Lampiran – L5. Gambar Keluaran Subsirkuit 3

6. Lampiran – L6. Gambar Keluaran Subsirkuit Keluaran D12 7. Lampiran – L7. Gambar Keluaran Subsirkuit Keluaran D15 8. Lampiran – L8. Gambar Keluaran Subsirkuit Keluaran D16 9. Lampiran – L9. Gambar Keluaran Subsirkuit Keluaran E11 10. Lampiran – L10. Gambar Keluaran Subsirkuit Keluaran E23 11. Lampiran – L11. Gambar Keluaran Subsirkuit Keluaran E25 12. Lampiran – L12. Gambar Keluaran Subsirkuit Keluaran E26 13. Lampiran – L13. Gambar Keluaran Subsirkuit Keluaran E27 14. Lampiran – L14. Gambar Keluaran Subsirkuit Keluaran E22 15. Lampiran – L15. Gambar Keluaran Subsirkuit Keluaran E28 16. Lampiran – L16. Glossary

Referensi

Dokumen terkait

Penyelesaian Sistem Persamaan Linear Tiga Variabel dengan menggunakan metode subsitusi dilakukan dengan cara menggantikan salah satu variabel dari dua persamaan lain

Kondisi kecepatan angin dan kekuatan radiasi serta lama penyinaran yang cukup tinggi di Kota Surabaya, menyebabkan suhu udara tinggi (suhu maksimum mencapai lebih

Hipotesis variabel sosial yang diangkat dalam penelitian ini diambil dari sebuah penelitian dari Natalia (2009).Dalam penelitian tersebut menyatakkan bahwa

(Kesalahan kebiasaan makan menunjang terjadinya aterosklerosis dan kegemukan yang merupakan predisposisi untuk hipertensi dan komplikasinya, misalnya, stroke,

Dalam penelitian ini diperoleh data primer dengan melakukan pengamatan dan mencatat jumlah kendaraan yang masuk lokasi parkir dan keluar dari lokasi parkir

Dari permasalahan di atas dapat disimpulkan bahwa klasifikasi tingkat keganasan kanker payudara dapat diselesaikan menggunakan teknik data mining, yaitu

Pengembangan melalui pembukaan jurusan atau fakutas baru seperti yang terdapat di perguruan tinggi umum bisa memberikan pengaruh terhadap jati diri Perguruan Tinggi Agama

Pengukuran variabel dan indikator penelitian yang digunakan dalam penelitian ini adalah sebagai berikut: (1) Orientasi kewirausahaan diukur dengan empat indikator dari