ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

12
PERANCANGAN SYARAH HADIST DIGITAL “ARBA’IN AN NAWAWI” DENGAN MENGGUNAKAN ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP) TUGAS AKHIR Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Isnaini Adi Wahyono 201110370311076 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2017

Transcript of ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

Page 1: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

PERANCANGAN SYARAH HADIST DIGITAL

“ARBA’IN AN NAWAWI” DENGAN MENGGUNAKAN

ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

TUGAS AKHIR

Diajukan Untuk Memenuhi

Persyaratan Guna Meraih Gelar Sarjana Strata 1

Teknik Informatika Universitas Muhammadiyah Malang

Isnaini Adi Wahyono

201110370311076

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2017

Page 2: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)
Page 3: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)
Page 4: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)
Page 5: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

vii

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT, Sang pencipta langit

dan bumi serta segala isinya yang telah melimpahkan rahmat, hidayah, serta kasih

sayang-Nya kepada penulis sehingga penulis dapat menyelesaikan skripsi ini. Tak

lupa pula shalawat dan salam penulis panjatkan kepada Rasulullah Muhammad

SAW yang telah diutus ke bumi sebagai lentara bagi hati manusia, Nabi yang telah

membawa manusia dari zaman kebodohan menuju zaman yang penuh dengan

pengetahuan yang luar biasa seperti saat ini.

Skripsi yang berjudul “Perancangan Syarah Hadist Digital “Arba’in An

Nawawi” Dengan Menggunakan Algoritma Pencarian Knuth-Morris-Pratt

(KMP)” disusun sebagai salah satu persyaratan guna memperoleh gelar Sarjana

Strata 1 pada Jurusan Teknik Informatika, Fakultas Teknik, Universitas

Muhammadiyah Malang.

Selama proses penulisan skripsi ini, penulis mengalami beberapa hambatan

maupun kesulitan. Namun adanya doa, restu, dan dorongan dari orang tua yang tak

pernah putus menjadikan penulis bersemangat untuk melanjutkan penulisan skripsi

ini. Untuk itu dengan segala bakti penulis memberikan penghargaan dan ucapan

terima kasih yang sebesar-besarnya kepada mereka, Bapak Sabarudin dan Ibu Etty

Ummi’ Athijah.

Malang, 21 April 2017

Penulis

Page 6: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

viii

DAFTAR ISI

HALAMAN JUDUL ..................................................................................... i

LEMBAR PERSETUJUAN ......................................................................... ii

LEMBAR PENGESAHAN .......................................................................... iii

LEMBAR PERNYATAAN .......................................................................... iv

ABSTRAK ..................................................................................................... v

ABSTRACT ................................................................................................... vi

KATA PENGANTAR ................................................................................... vii

DAFTAR ISI ................................................................................................. viii

DAFTAR GAMBAR .................................................................................... xi

DAFTAR TABEL ........................................................................................ xiii

BAB I PENDAHULUAN .............................................................................. 1

1.1 Latar Belakang ................................................................................... 1

1.2 Rumusan Masalah .............................................................................. 2

1.3 Tujuan ................................................................................................. 3

1.4 Batasan Masalah ................................................................................. 3

1.5 Metodologi ........................................................................................... 3

1.6 Sistematika Penulisan ........................................................................ 4

BAB II LANDASAN TEORI ....................................................................... 7

2.1 Ana Ervana dan Asri Pertiwi ............................................................ 5

2.2 Moch. Yusup Soleh ............................................................................. 5

2.3 Efori Buulo .......................................................................................... 6

2.4 Edy Victor Haryanto .......................................................................... 6

2.5 Hadist ................................................................................................... 7

2.5.1 Hadits yang dilihat dari banyak sedikitnya Perawi....................... 7

2.5.2 Hadits yang dilihat dari Macam Periwayatannya ......................... 8

Page 7: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

ix

2.5.3 Hadits-hadits dha'if disebabkan oleh cacat perawi ....................... 9

2.5.4 Beberapa pengertian (istilah) dalam ilmu hadits .......................... 10

2.6 Syarah Hadits ..................................................................................... 11

2.6.1 Tradisi Penulisan Syarah dalam Islam .......................................... 12

2.6.2 Arba’in Nawawi............................................................................ 14

2.7 Algoritma Knuth Morris Pratt ......................................................... 14

2.8 Java ...................................................................................................... 21

2.8.1 Sejarah Perkembangan Java ......................................................... 17

2.8.2 Lingkungan Java ........................................................................... 18

2.8.3 Edisi Java ...................................................................................... 19

2.8.4 Java Development Kit (JDK)........................................................ 20

2.8.5 Java Runtime Environment (JRE) ................................................ 20

2.8.6 Kelebihan dan Kekurangan Java .................................................. 20

BAB III ANALISA DAN PERANCANGAN SISTEM .............................. 23

3.1 Analisa Sistem ..................................................................................... 23

3.2 Perancangan Sistem ........................................................................... 23

3.2.1 Use Case Diagram ........................................................................ 24

3.2.2 Activity Diagram .......................................................................... 25

3.2.3 Sequence Diagram ........................................................................ 27

3.2.4 Design Algoritma KMP (Knuth Morris Pratt) .............................. 29

3.2.5 Desain Database............................................................................ 31

3.2.6 Design Tampilan ........................................................................... 32

3.2.7 Alur Program ................................................................................ 33

BAB IV IMPLEMENTASI DAN PENGUJIAN ........................................ 35

4.1 Lingkungan Pengembangan ............................................................. 35

4.1.1 Spesifikasi Perangkat Keras ........................................................ 35

Page 8: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

x

4.1.2 Spesifikasi Perangkat Lunak ....................................................... 35

4.2 Implementasi Aplikasi ...................................................................... 35

4.2.1 Tampilan Splashscreen ................................................................. 36

4.2.2 Tampilan Halaman Utama ........................................................... 37

4.2.3 Tampilan Read Konten ................................................................ 38

4.2.4 Tampilan Pencarian ..................................................................... 40

4.3 Pengujian Aplikasi ............................................................................ 45

4.3.1 Pengujian Komponen.................................................................... 45

4.3.2 Perbandingan Pengujian Hasil Pencarian ..................................... 49

BAB V KESIMPULAN DAN SARAN ....................................................... 54

5.1 Kesimpulan ........................................................................................ 54

5.2 Saran ................................................................................................... 54

DAFTAR PUSTAKA ................................................................................... 55

Page 9: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

xi

DAFTAR GAMBAR

Gambar 2.1 Pergeseran dalam algoritma Pencocokan String ............................... 15

Gambar 2.2 Contoh Pattern Matching dengan KMP ............................................ 16

Gambar 2.3 Pseudocode KMP Fase Pra Pencarian ............................................... 16

Gambar 2.4 Pseudocode KMP pada Fase Pencarian ............................................ 17

Gambar 3.1 Use Case Diagram Syarah Hadist digital Arba’in An Nawawi ........ 24

Gambar 3.2 Activity Diagram Read Konten ......................................................... 26

Gambar 3.3 Activity Diagram Pencarian .............................................................. 27

Gambar 3.4 Sequence Diagram Read Konten....................................................... 28

Gambar 3.5 Sequence Diagram Pencarian ............................................................ 28

Gambar 3.6 Database Aplikasi Syarah Hadist Digital Arba’in An Nawawi ........ 32

Gambar 3.7 Tampilan Halaman Utama ............................................................... 32

Gambar 3.8 Tampilan Halaman Pencarian ........................................................... 32

Gambar 4.1 Tampilan SplashScreen ..................................................................... 36

Gambar 4.2 Potongan Source Code Tampilan SplashScreen ............................... 36

Gambar 4.3 Tampilan Halaman Utama ................................................................ 37

Gambar 4.4 Potongan source Code Halaman Utama ............................................ 37

Gambar 4.5 Tampilan Halaman Read Konten ...................................................... 38

Gambar 4.6 Potongan Source Code Menampilkan Hadits ................................... 39

Gambar 4.7 Objek SimpleAttributeSet ................................................................. 39

Gambar 4.8 Tampilan Halaman Pencarian (search) ............................................. 40

Gambar 4.9 Tampilan Halaman pencarian setelah searching ............................... 40

Page 10: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

xii

Gambar 4.10 Potongan souce code button search ................................................. 41

Gambar 4.11 Source code keypress Enter............................................................. 42

Gambar 4.12 Method fail ...................................................................................... 43

Gambar 4.13 Method posMatch ............................................................................ 43

Gambar 4.14 Method Cari..................................................................................... 44

Gambar 4.15 Potongan Source Code Penyeleksian .............................................. 45

Gambar 4.16 Tampilan Hadist 1 ........................................................................... 45

Gambar 4.17 Tampilan Hadist 2 ........................................................................... 46

Gambar 4.18 Tampilan Hadist 3 ........................................................................... 46

Gambar 4.19 Tampilan Hasil Pencarian ............................................................... 46

Gambar 4.20 Tampilan Read Hasil Pencarian ...................................................... 47

Gambar 4.21 Message Dialogue Tidak Ditemukan .............................................. 47

Gambar 4.22 Message Dialogue keyword belum diinputkan ............................... 47

Gambar 4.23 Posisi Index Match .......................................................................... 47

Gambar 4.24 Hasil Pencarian 1 App 1 .................................................................. 49

Gambar 4.25 Hasil Pencarian 1 App 2 .................................................................. 50

Gambar 4.26 Hasil Pencarian 2 App 1 .................................................................. 51

Gambar 4.27 Hasil Pencarian 2 App 2 .................................................................. 51

Gambar 4.28 Hasil Pencarian 3 App 1 ................................................................. 52

Gambar 4.29 Hasil Pencarian 3 App 2 .................................................................. 52

Page 11: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

xiii

DAFTAR TABEL

Tabel 3.1 Spesifikasi Use Case Read Konten ....................................................... 24

Tabel 3.2 Spesifikasi Use Case Pencarian ........................................................... 25

Tabel 3.3 Tabel Prefik .......................................................................................... 29

Tabel 3.4 Tabel Pencocokan dan Pergeseran ....................................................... 30

Tabel 4.1 Hasil Pengujian Komponen ................................................................. 48

Tabel 4.2 Perbandingan Pengujian Hasil Pencarian ............................................ 53

Page 12: ALGORITMA PENCARIAN KNUTH-MORRIS-PRATT (KMP)

55

DAFTAR PUSTAKA

[1] Achmad,A. “Pengertian Komputer Menurut Ahli”,

http://www.likethisya.com/pengertian-komputer.html (diakses 17 Maret

2015).

[2] Supriyono, dkk. 2014. “Rancang Bangun Aplikasi Pembelajaran Hadits

Untuk Perangkat Mobile Berbasis Android”. Surakarta: UMS.

[3] Ervana Ana, Pertiwi Asri. 2012. ”Implementasi Algoritma Pencocokan

String pada Aplikasi Pengarsipan Berbasis Web”. Jakarta: STMIK Inti

Indonesia. ISSN: 2085-8566.

[4] Sholeh, Yusup, Moch. 2010. “Implementasi Algoritma KMP dan Boyer-

Moore dalam Aplikasi Search Engine Sederhana”. Bandung: ITB.

[5] Buulo, Efori. 2013. “Implementasi Algoritma String Matching dalam

Pencarian Surat dan Ayat dalam Bible Berbasis Android”. Medan: STMIK

Budi Darma. ISSN: 2301-9425.

[6] Haryanto, Victor, Edy. 2011. “Rancang Bangun Prototype Mesin

Pencarian String Menggunakan Metode Fuzzy String Matching”. Medan:

STMIK Potensi Utama. KNS&I 11-012.

[7] Pendidikan Islam. “Pembahasan hadits lengkap : pengertian hadist,

macam-macam hadist, dan penjelasannya”. http://www.masuk-

islam.com/pembahasan-hadits-lengkap-pengertian-hadist-macam-

macam-hadist-dan-penjelasannya.html (diakses 28 Mei 2015).

[8] Sagir, Akhmad. 2010. “Perkembangan Syarah Hadits Dalam Tradisi

Keilmuan Islam”. Banjarmasin : IAIN Antasari. ISSN: 1412-5188.

[9] Nugroho, Wakhid, Abdillah. 2011. “Perancangan Permainan Catur 3D

Dengan Penerapan Algoritma Minimax Dalam Bahasa Pemrograman

Java. Malang: UMM.

[10] Muhyiddin Yahya Bin Syaraf Nawawi. 2010. “Hadits Arba’in

Nawawiyah”. Terjemahan Indonesia.