Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat...
Transcript of Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat...
Team project ©2017 Dony Pratidana S. Hum | Bima Agus Setyawan S. IIP
Hak cipta dan penggunaan kembali:
Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis dan melisensikan ciptaan turunan dengan syarat yang serupa dengan ciptaan asli.
Copyright and reuse:
This license lets you remix, tweak, and build upon work non-commercially, as long as you credit the origin creator and license it on your new creations under the identical terms.
IMPLEMENTASI ALGORITMA KUANTUM GROVER
MENGGUNAKAN RIGETTI FOREST SDK
SKRIPSI
Diajukan sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer (S.Kom.)
Anthony
00000011609
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNIK DAN INFORMATIKA
UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
2019
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
ii
LEMBAR PENGESAHAN
IMPLEMENTASI ALGORITMA KUANTUM GROVER
MENGGUNAKAN RIGETTI FOREST SDK
Oleh
Nama : Anthony
NIM : 00000011609
Program Studi : Informatika
Fakultas : Teknik dan Informatika
Tangerang, 24 April 2019
Ketua Sidang Dosen Penguji
Farica Perdana Putri,
S.Kom., M.Sc.
Julio Christian Young, M.Kom.
Dosen Pembimbing
Arya Wicaksana, S.Kom., M.Eng.Sc.
Mengetahui,
Ketua Program Studi Informatika
Seng Hansun, S.Si., M.Cs.
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
iii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT
Dengan ini saya:
Nama : Anthony
NIM : 00000011609
Program Studi : Informatika
Fakultas : Teknik dan Informatika
menyatakan bahwa Skripsi yang berjudul “Implementasi Algoritma Kuantum
Grover Menggunakan Rigetti Forest SDK” ini adalah karya ilmiah saya sendiri,
bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga lain, dan
semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam Skripsi ini
telah disebutkan sumber kutipannya serta dicantumkan di Daftar Pustaka.
Jika di kemudian hari terbukti ditemukan kecurangan / penyimpangan, baik dalam
pelaksanaan Skripsi maupun dalam penulisan laporan Skripsi, saya bersedia
menerima konsekuensi dinyatakan TIDAK LULUS untuk mata kuliah Skripsi
yang telah saya tempuh.
Tangerang, 24 April 2019
Anthony
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
iv
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda
tangan di bawah ini:
Nama : Anthony
NIM : 00000011609
Program Studi : Informatika
Fakultas : Teknik dan Informatika
Jenis Karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada
Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif (Non-
exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:
Implementasi Algoritma Kuantum Grover Menggunakan Rigetti Forest SDK
beserta perangkat yang dibutuhkan.
Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universitas Multimedia
Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola dalam
bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan
atau mempublikasikan karya ilmiah saya di internet atau media lain untuk
kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan
royalty kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya
ilmiah tersebut.
Demikian pernyataan ini saya buat dengan sebenarnya untuk dipergunakan
sebagaimana mestinya.
Tangerang, 24 April 2019
Anthony
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
v
HALAMAN PERSEMBAHAN / MOTO
Karya ini kupersembahkan bagi keluargaku terkasih
If somebody offers you an amazing opportunity
but you are not sure you can do it,
say yes
then learn how to do it later!
-Richard Branson-
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
vi
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa karena atas berkat dan
rahmatNya, penulis dapat menyelesaikan penelitian dan laporan skripsi yang
berjudul “Implementasi Algoritma Kuantum Grover Menggunakan Rigetti Forest
SDK”.
Terselesaikannya penelitian dan laporan skripsi ini tidak lepas dari
berbagai pihak yang membantu penulis. Penulis mengucapkan terima kasih
kepada:
1. Dr. Ninok Leksono, Rektor Universitas Multimedia Nusantara, yang
memberi inspirasi bagi penulis untuk berprestasi,
2. Friska Natalia, Ph.D., Dekan Fakultas Teknik dan Informatika Universitas
Multimedia Nusantara,
3. Seng Hansun, S.Si., M.Cs., Ketua Program Studi Informatika Universitas
Multimedia Nusantara, yang menerima penulis dengan baik untuk
berkonsultasi,
4. Arya Wicaksana, S.Kom., M.Eng.Sc., yang membimbing pembuatan
Skripsi dan yang telah mengajar penulis tata cara menulis karya ilmiah
dengan benar,
5 Julio Cristian Young, M.Kom., yang memberikan saran dan pertanyaan
yang membangun kepada penulis dalam penelitian Skripsi,
6. Keluarga yang selalu membantu dan memberikan semangat kepada
penulis dalam menyelesaikan penelitian dan laporan Skripsi,
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
vii
7. Sahabat-sahabat penulis yang telah memberikan motivasi dan semangat
dalam penyelesaian penelitian dan laporan Skripsi.
Semoga Skripsi ini dapat bermanfaat, baik sebagai sumber informasi maupun
sumber inspirasi, bagi para pembaca.
Tangerang, 24 April 2019
Anthony
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
viii
IMPLEMENTASI ALGORITMA KUANTUM GROVER
MENGGUNAKAN RIGETTI FOREST SDK
ABSTRAK
Komputer kuantum memiliki potensi seperti memecahkan faktorisasi bilangan
yang besar ke dalam faktor prima dan melakukan pencarian data pada database
tidak terstruktur. Tantangan komputer kuantum membuat banyak perusahaan
seperti Google, IBM, Rigetti melakukan riset terhadap komputasi kuantum.
Rigetti menyediakan quantum virtual machine bernama Forest SDK untuk
melakukan pemrograman kuantum. Pemrograman kuantum seperti algoritma
kuantum Grover untuk pencarian data dapat disimulasikan menggunakan
Quantum Computing Playground. Penelitian ini bertujuan untuk
mengimplementasikan algoritma kuantum Grover menggunakan Rigetti Forest
SDK dan mengevaluasi performanya dari sisi user time dengan Quantum
Computing Playground pada dua perangkat keras berbeda. Hasil evaluasi untuk
jumlah qubit 10, nilai terbesar 1023, dan jumlah data 1024 menunjukkan performa
user time dari implementasi algoritma kuantum Grover menggunakan Rigetti
Forest SDK adalah 100,81 detik dan Quantum Computing Playground adalah
21,93 detik di perangkat keras 1. Sementara di perangkat keras 2 menunjukkan
user time dari implementasi algoritma kuantum Grover menggunakan Rigetti
Forest SDK adalah 62,08 detik dan Quantum Computing Playground adalah 21,04
detik.
Kata Kunci: algoritma kuantum Grover, pencarian data, Quantum Computing
Playground, Rigetti Forest SDK, user time
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
ix
IMPLEMENTATION OF GROVER QUANTUM ALGORITHM
USING RIGETTI FOREST SDK
ABSTRACT
Quantum computer has potential to solve factorization of large numbers of prime
factors and data search in unstructed database. Quantum computer challenge’s
makes many companies like Google, IBM, Rigetti do research on quantum
computing. Rigetti provides quantum virtual machine called Forest SDK for
quantum programming. Quantum programming such as Grover quantum
algorithm for data searching also can be simulated with Quantum Computer
Playground. This research aims to implement Grover quantum algorithm with
Rigetti Forest SDK and evaluate its user time performance compared to Quantum
Computing Playground using two different hardware. Evaluation results show that
user time of implementation Grover quantum algorithm with Rigetti Forest SDK
is 100.81 second and Quantum Computing Playground is 21.93 second using
hardware 1 for 10 qubits, 1024 data and the largest value is 1023. Using hardware
2, user time of implementation Grover quantum algorithm with Rigetti Forest
SDK is 62.08 second and Quantum Computing Playground is 21.04 second.
Keywords : data search, Grover quantum algorithm, Quantum Computing
Playground, Rigetti Forest SDK, user time
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
x
DAFTAR ISI
HALAMAN JUDUL ................................................................................................ i
LEMBAR PENGESAHAN .................................................................................... ii
HALAMAN PERNYATAAN TIDAK MELAKUKAN PLAGIAT ..................... iii
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
................................................................................................................................ iv
HALAMAN PERSEMBAHAN / MOTO ............................................................... v
KATA PENGANTAR ........................................................................................... vi
ABSTRAK ........................................................................................................... viii
ABSTRACT ........................................................................................................... ix
DAFTAR ISI ........................................................................................................... x
DAFTAR GAMBAR ............................................................................................ xii
DAFTAR TABEL ................................................................................................ xiii
DAFTAR RUMUS .............................................................................................. xiv
DAFTAR LAMPIRAN ......................................................................................... xv
BAB I PENDAHULUAN ....................................................................................... 1
1.1 Latar Belakang Masalah ........................................................................... 1
1.2 Rumusan Masalah .................................................................................... 4
1.3 Batasan Masalah ....................................................................................... 4
1.4 Tujuan Penelitian ...................................................................................... 5
1.5 Manfaat Penelitian .................................................................................... 5
1.6 Sistematika Penulisan ............................................................................... 5
BAB II LANDASAN TEORI ................................................................................. 7
2.1 Quantum Bit ............................................................................................. 7
2.2 Quantum Gate ........................................................................................... 8
2.3 Algoritma Kuantum Grover ..................................................................... 9
2.4 Quantum Computing Playground ........................................................... 11
2.5 Rigetti Forest SDK ................................................................................. 12
BAB III METODOLOGI PENELITIAN DAN PERANCANGAN PROGRAM 14
3.1 Metodologi Penelitian ............................................................................ 14
3.2 Perancangan Program ............................................................................. 15
3.2.1 Flowchart ........................................................................................ 15
3.2.2 Rancangan Tampilan Antarmuka .................................................... 19
BAB IV IMPLEMENTASI DAN ANALISIS ...................................................... 21
4.1 Spesifikasi Perangkat ............................................................................. 21
4.2 Implementasi Program ........................................................................... 21
4.2.1 Implementasi Tampilan Antarmuka ................................................ 22
4.2.2 Implementasi Algoritma.................................................................. 23
4.3 Uji Coba Implementasi ........................................................................... 25
4.3.1 Uji Coba Skenario Pertama ............................................................. 25
4.3.2 Uji Coba Skenario Kedua................................................................ 27
4.3.3 Uji Coba Skenario Ketiga ............................................................... 28
4.3.4 Uji Coba Skenario Keempat............................................................ 30
4.3.5 Uji Coba Skenario Kelima .............................................................. 32
4.4 Evaluasi Hasil ......................................................................................... 34
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
xi
BAB V SIMPULAN DAN SARAN ..................................................................... 43
5.1 Simpulan ................................................................................................. 43
5.2 Saran ....................................................................................................... 44
DAFTAR PUSTAKA ........................................................................................... 45
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
xii
DAFTAR GAMBAR
Gambar 2.1 Representasi qubit dengan dua elektron pada sebuah atom ........... 8
Gambar 2.2 Beberapa single qubit gate ............................................................. 9
Gambar 2.3 Pembuatan objek Program dengan pyQuil .................................... 12
Gambar 2.4 Implementasi Hadamard dan CNOT gate dengan pyQuil . .......... 12
Gambar 2.5 Implementasi kode pembuatan gate baru . .................................... 13
Gambar 2.6 Implementasi kode wavefunction simulator ................................. 13 Gambar 3.1 Flowchart utama program ............................................................. 15
Gambar 3.2 Flowchart implementasi algoritma kuantum Grover (1) ............... 16
Gambar 3.3 Flowchart implementasi algoritma kuantum Grover (2) ............... 18
Gambar 3.4 Rancangan halaman home ............................................................. 19
Gambar 3.5 Rancangan halaman pencarian data .............................................. 20
Gambar 3.6 Rancangan tampilan credits .......................................................... 20
Gambar 4.1 Halaman home ............................................................................... 22
Gambar 4 2 Halaman pencarian data ................................................................ 22
Gambar 4.3 Halaman credits ............................................................................ 23
Gambar 4.4 Implementasi kode inisialisasi ...................................................... 23
Gambar 4.5 Implementasi kode amplitude amplification ................................ 24
Gambar 4.6 Implementasi kode fungsi Oracle.................................................. 24
Gambar 4.7 Implementasi kode Diffusion matrix ............................................ 24
Gambar 4.8 Implementasi kode measure .......................................................... 25
Gambar 4.9 Grafik performa user time implementasi Rigetti Forest dan
Quantum Computing Playground pada perangkat keras 1 ........ 35
Gambar 4.10 Grafik performa user time implementasi Rigetti Forest dan
Quantum Computing Playground pada perangkat keras 2 ............ 36
Gambar 4.11 Grafik performa user time menggunakan jumlah prosesor dan clock
speed berbeda pada implementasi Rigetti Forest .......................... 37
Gambar 4.12 Grafik performa user time menggunakan jumlah prosesor dan clock
speed berbeda pada Quantum Computing Playground ................. 38
Gambar 4.13 Grafik performa user time implementasi Rigetti Forest pada
perangkat keras 1 dan 2 terhadap jumlah data .............................. 39
Gambar 4.14 Grafik performa user time Quantum Computing Playground pada
perangkat keras 1 dan 2 terhadap jumlah data .............................. 40
Gambar 4.15 Grafik performa user time implementasi Rigetti Forest pada
perangkat keras 1 dan 2 terhadap nilai terbesar ............................ 41
Gambar 4.16 Grafik performa user time Quantum Computing Playground pada
perangkat keras 1 dan 2 terhadap nilai terbesar ............................ 42
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
xiii
DAFTAR TABEL
Tabel 4.1 Skenario pengujian program .............................................................. 25
Tabel 4.2 Perhitungan input skenario pertama .................................................. 26
Tabel 4.3 Perhitungan variabel bitstring, nQubit dan nState skenario pertama 26
Tabel 4.4 Perhitungan Hadamard gate setiap qubit skenario pertama .............. 26
Tabel 4.5 Perhitungan amplitude state qubit setelah dilakukan Oracle gate dan
Diffusion gate skenario pertama ........................................................ 26
Tabel 4.6 Perhitungan input skenario kedua...................................................... 27
Tabel 4.7 Perhitungan variabel bitstring, nQubit dan nState skenario kedua ... 27
Tabel 4.8 Perhitungan Hadamard gate setiap qubit skenario kedua .................. 27
Tabel 4.9 Perhitungan amplitude state qubit setelah dilakukan Oracle gate dan
Diffusion gate skenario kedua ........................................................... 28
Tabel 4.10 Perhitungan skenario ketiga ............................................................... 28
Tabel 4.11 Perhitungan variabel bitstring, nQubit, dan nState skenario ketiga .. 29
Tabel 4.12 Perhitungan Hadamard gate setiap qubit skenario ketiga ................. 29
Tabel 4.13 Perhitungan amplitude state qubit setelah dilakukan Oracle gate dan
Diffusion gate skenario ketiga ........................................................... 30
Tabel 4.14 Perhitungan input skenario keempat.................................................. 30
Tabel 4.15 Perhitungan variabel bitstring, nQubit, dan nState skenario keempat31
Tabel 4.16 Perhitungan Hadamard gate setiap qubit skenario keempat .............. 31
Tabel 4.17 Perhitungan amplitude state qubit setelah dilakukan Oracle gate dan
Diffusion gate skenario keempat ....................................................... 32
Tabel 4.18 Perhitungan input skenario kelima .................................................... 32
Tabel 4.19 Perhitungan variabel bitstring, nQubit, dan nState skenario kelima . 33
Tabel 4.20 Perhitungan Hadamard gate setiap qubit skenario kelima ................ 33
Tabel 4.21 Perhitungan amplitude state qubit setelah dilakukan Oracle gate dan
Diffusion gate skenario kelima .......................................................... 34
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
xiv
DAFTAR RUMUS
Rumus 2.1 Superposition qubit .............................................................................. 7
Rumus 2.2 Probabilitas hasil qubit ......................................................................... 7
Rumus 2.3 Hadamard gate ..................................................................................... 8
Rumus 2.4 Perhitungan Hadamard gate ................................................................. 8
Rumus 2.5 Fungsi Oracle .. ................................................................................... 10
Rumus 2.6 Superposition dengan Hadamard gate ................................................ 10
Rumus 2.7 Diffusion matrix .................................................................................. 11
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019
xv
DAFTAR LAMPIRAN
1. Lampiran – L1.Form Bimbingan Skripsi
2. Lampiran – L2.Riwayat Hidup
3. Lampiran – L3.Tabel Evaluasi User Time (1)
4. Lampiran – L4.Tabel Evaluasi User Time (2)
5. Lampiran – L5.Tabel Evaluasi User Time (3)
6. Lampiran – L6.Tabel Evaluasi User Time (4)
7. Lampiran – L7.Tabel Evaluasi User Time (5)
8. Lampiran – L8.Tabel Evaluasi User Time (6)
Implementasi algoritma kuantum..., Anthony, FTI UMN, 2019