ANALISIS ALGORITMA
BABY-STEP GIANT-STEP
DAN
POHLIG-HELLMAN
UNTUK MENYELESAIKAN
MASALAH LOGARITMA DISKRIT
SKRIPSI
ETTY WINITA ROISKA SIMBOLON
090803073
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
ANALISIS ALGORITMA
BABY-STEP GIANT-STEP
DAN
POHLIG-HELLMAN
UNTUK MENYELESAIKAN
MASALAH LOGARITMA DISKRIT
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
ETTY WINITA ROISKA SIMBOLON
090803073
DEPARTEMEN MATEMATIKA
i
PERSETUJUAN
Judul : ANALISIS ALGORITMA BABY-STEP
GIANT-STEP DAN POHLIG-HELLMAN UNTUK
MENYELESAIKAN MASALAH LOGARITMA DISKRIT
Kategori : SKRIPSI
Nama : ETTY WINITA ROISKA SIMBOLON
Nomor Induk Mahasiswa : 090803073
Program Studi : SARJANA (S1) MATEMATIKA
Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Disetujui di Medan, Mei 2015
Komisi Pembimbing :
Pembimbing II Pembimbing I
Drs. Marihat Situmorang, M.Kom Drs. Partano Siagian, M.Sc NIP. 19631214 198903 1 001 NIP. 19511227 198903 1 001
Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU
PERNYATAAN
ANALISIS ALGORITMA BABY-STEP GIANT-STEP DAN POHLIG-HELLMAN
UNTUK MENYELESAIKAN MASALAH LOGARITMA DISKRIT
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Mei 2015
iii
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pengasih, dengan anugerah dan kasih setia-Nya sehingga skripsi ini dapat diselesaikan.
Ucapan terima kasih saya sampaikan kepada:
1. Bapak Dr. Sutarman, M.Sc selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
2. Bapak Prof. Dr. Tulus, M.Si dan Ibu Dra. Mardiningsih, M.Si selaku ketua dan sekretaris Departemen Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara yang telah memberikan kesempatan kepada penulis untuk menyelesaikan studi di Departemen Matematika.
3. Bapak Drs. Partano Siagian, M.Sc dan Drs. Marihat Situmorang, M.Kom selaku pembimbing dalam penyelesaian skripsi ini yang telah memberikan bimbingan dan kepercayaan kepada saya untuk menyempurnakan skripsi ini. 4. Kedua orangtua saya tercinta yang telah memberikan dukungan, doa dan dana,
juga untuk saudara-saudaraku yang terkasih atas perhatian dan doanya sehingga penulis dapat menyelesaikan pendidikan S-1.
5. Sahabat dan teman-teman stambuk 2009 yang telah memberikan masukan serta dorongan kepada penulis untuk tetap semangat mengerjakan skripsi ini.
ANALISIS ALGORITMA BABY-STEP GIANT-STEP DAN POHLIG HELLMAN UNTUK MENYELESAIKAN MASALAH
LOGARITMA DISKRIT
ABSTRAK
Asumsikan G adalah sebuah grup cyclic terbatas dengan order p, g adalah sebuah generator dari G (G = <g>) dan y G. Logaritma diskrit dari y pada dasar g, yang disimbolkan dengan loggy adalah integer unik x dan x Zp sedemikian
sehingga y = gx mod p. Algoritma yang dapat digunakan untuk menghitung
logaritma diskrit antara lain algoritma Baby-step giant-step dan algoritma Pohlig-Hellman. Proses penyelesaian problema logaritma diskrit ini secara manual memerlukan waktu yang lama dan perhitungan yang kompleks.
Algoritma baby-step giant-step adalah sebuah rangkaian dari langkah yang terdefinisi dengan baik untuk menghitung logaritma diskrit. Algoritma ini merupakan modifikasi sederhana dari pengujian perkalian (trial multiplication / metode naïve) untuk menemukan logaritma diskrit. Dalam matematika, algoritma Pohlig-Hellman adalah sebuah algoritma untuk menghitung logaritma diskrit pada sebuah grup perkalian dengan order berupa sebuah integer kecil. Proses kerja dari perangkat lunak dimulai dari proses pengisian data nilai g, y dan p. Setelah itu, maka perangkat lunak akan menampilkan proses kerja dari algoritma secara tahapan demi tahapan.
Perangkat lunak mampu mendukung proses pemahaman untuk setiap prosedur kerja dari algoritma Baby-Step Giant-Step dan Pohlig-Hellman untuk menghitung solusi dari problema logaritma diskrit. Selain itu, perangkat lunak juga menyediakan laporan hasil proses perhitungan sehingga pemakai dapat melihat kembali hasil proses perhitungan yang telah dilakukan sebelumnya. Perangkat lunak juga menyediakan tampilan penyelesaian waktu eksekusi antara kedua algoritma pencarian solusi logaritma diskrit.
v
ANALYSIS OF ALGORITHMS BABY-STEP GIANT-STEP AND POHLIG HELLMAN TO SOLVE THE DISCRETE LOGARITHM PROBLEM
ABSTRACT
Assume G is a finite cyclic group with order p, g is a generator of G (G = <g>) and y G. Discrete logarithm from y in base g, which is represented by loggy is unique integer x and x Zp so that y = gx mod p. Algorithm that could be used to solve discrete logarithm is Baby-step giant-step and Pohlig-Hellman algorithm. The process for finding solution of discrete logarithm problem manually needs a lot of time and the computation process is very complex.
Baby-step giant-step algorithm is a series of steps that are defined well to compute discrete logarithm. This algorithm is a simple modification of trial multiplication or naïve method for finding discrete logarithm. In mathematics, Pohlig-Hellman algorithm is an algorithm for computing discrete logarithm in multiplication group with order a small integer. The process of software is started from determining g, y and p value. After that, the software will show the computation process of the algorithm step by step.
The software could show the process of every procedure from Baby-Step Giant-Step and Pohlig-Hellman algorithm for finding solution of discrete logarithm problem. Besides that, the software also provides detail computation report so that the user could review the computation process that had been done before. The software also provides execution process of the algorithm.
DAFTAR ISI
1.2Perumusan Masalah 2
1.3Pembatasan Masalah 2
1.4Kajian Pustaka 3
1.5Tujuan Penelitian 9
1.6Manfaat Penelitian 9
1.7Metode Penelitian 9
1.8Sistematika Penulisan 10
Bab 2 Landasan Teori
2.1Sistem Bilangan 11
2.2Aritmatika Modular 12
2.3Greatest Common Divisor 14
2.4Inverse Aritmatika Modular 15
2.5Fermat’s Little Theorem 16
2.6The Euler Totient Function 17
2.7Quadratic Residue 17
2.14 Chinese Remainder Theorem (CRT) 27
2.15 Logaritma Diskrit 29
vii
2.18 Unified Modeling Language (UML) 37
2.18.1 Class Diagram 38
2.18.2 Use Case Diagram 40
2.18.3 Sequence Diagram 41
2.18.4 Activity Diagram 42
Bab 3 Analisa dan Perancangan
3.1Analisa 44
3.1.1 Analisa Masalah 44
3.1.2 Analisa Persyaratan 45
3.1.2.1 Analisa Persyaratan Fungsional 45 3.1.2.1.1 Fungsional Baby Step Giant Step 45 3.1.2.1.2 Fungsional Pohlig Hellman 46 3.1.2.2 Analisa Persyaratan Non-Fungsional 46 3.1.2.2.1 Non-Fungsional Baby Step Giant Step 46 3.1.2.2.2 Non-Fungsional Pohlig Hellman 47
3.2Pemodelan Sistem 48
3.2.1 Flowchart Baby-Step Giant-Step 49
3.2.2 Flowchart Pohlig-Hellman 50
3.3Perancangan Sistem 50
3.3.1 Sequence Diagram 50
3.3.2 Class Diagram 51
3.3.3 Penggunaan Komponen 52
3.3.4 Perancangan Menu 53
3.3.5 Perancangan Tampilan Antarmuka 54
3.3.5.1 Form ‘Main’ 54
3.3.5.2 Form ‘Input Data’ 55
3.3.5.3 Form ‘Pemahaman’ 56
3.3.5.4 Form ‘Teori’ 57
3.3.5.5 Form ‘Hasil Perbandingan’ 58
3.3.5.6 Form’Mengenai’ 58
Bab 4 Implementasi dan Hasil
4.1Implementasi 60
4.1.1 Kebutuhan Hardware 60
4.1.2 Kebutuhan Software 60
4.2Hasil 61
4.2.1 Hasil Pemahaman 61
4.2.2 Hasil Pengujian 64
Bab 5 Kesimpulan dan Saran
5.1Kesimpulan 67
5.2Saran 67
DAFTAR GAMBAR
Gambar 2.1 Sistem Bilangan 12
Gambar 2.2 Siklus Hidup Waterfall 37
Gambar 3.1 Activity Diagram dari Baby-Step Giant-Step 49 Gambar 3.2 Activity Diagram dari Pohlig-Hellman 50
Gambar 3.3 Sequence Diagram 51
Gambar 3.4 Class Diagram 52
Gambar 3.5 Rancangan Menu Utama 54
Gambar 3.6 Rancangan Form‘Main’ 55
Gambar 3.7 Rancangan Form‘Input Data’ 55
Gambar 3.8 Rancangan Form‘Pemahaman’ 56
Gambar 3.9 Rancangan Form’Teori’ 57
Gambar 3.10 Rancangan Form’Hasil Perbandingan’ 58
Gambar 3.11 Rancangan Form ’Mengenai’ 59
Gambar 4.1 Tampilan Form Main Klik Menu
‘Proses Kerja’ >> ‘Input Data’ 61
Gambar 4.2 Tampilan Form Input Data 61
Gambar 4.3 Tampilan Form Main Klik Menu
‘Proses Kerja’ >> ‘Pemahaman’>> ‘Baby Step Giant Step’ 62 Gambar 4.4 Tampilan Form Pemahaman ‘Baby Step Giant Step’ 62 Gambar 4.5 Tampilan Form Main Klik Menu
‘Proses Kerja’ >> ‘Pemahaman’ >> ‘Pohlig Hellman’ 63 Gambar 4.6 Tampilan Form Pemahaman ‘Pohlig Hellman’ 63
Gambar 4.7 Tampilan Form Laporan 64
Gambar 4.8 Tampilan Form Main Klik Menu
‘Proses Kerja’ >> ‘Tabel Penyelesaian’ 64