• Tidak ada hasil yang ditemukan

Implementasi Algoritma Pencarian Knuth-Morris-Pratt pada Aplikasi Perpustakaan Berbasis Android Menggunakan Web Service.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Implementasi Algoritma Pencarian Knuth-Morris-Pratt pada Aplikasi Perpustakaan Berbasis Android Menggunakan Web Service."

Copied!
17
0
0

Teks penuh

(1)

Implementasi Algoritma Pencarian Knuth-Morris-Pratt pada Aplikasi Perpustakaan Berbasis Android Menggunakan Web Service

Wati Yuniati 41513010014 Suhainda Librado

41513010036

PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA

(2)

Implementasi Algoritma Pencarian Knuth-Morris-Pratt pada Aplikasi Perpustakaan Berbasis Android Menggunakan Web Service

Laporan Tugas Akhir

Diajukan Untuk Melengkapi Persyaratan Menyelesaikan Gelar Sarjana Komputer

Disusun oleh : Wati Yuniati 41513010014 Suhainda Librado

41513010036

PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA

JAKARTA 2017

(3)
(4)

ii

(5)

KATA PENGANTAR

Puji syukur dipanjatkan kepada Tuhan Yang Maha Esa yang telah memberikan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan penyusunan skripsi ini dengan baik. Adapun tujuan penulisan laporan tugas akhir ini sebagai syarat untuk mendapatkan gelar sarjana strata satu (S1) pada Program Studi Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana Jakarta.

Penulis menyadari bahwa laporan tugas akhir ini masih jauh dari sempurna. Karena itu, kritik dan saran akan senantiasa penulis terima dengan senang hati.

Dengan segala keterbatasan, penulis menyadari pula bahwa laporan tugas akhir ini tak akan terwujud tanpa bantuan, bimbingan, dan dorongan dari berbagai pihak. Untuk itu, dengan segala kerendahan hati, penulis menyampaikan ucapan terima kasih kepada :

1. Kedua orang tua, yang telah mendidik, mendoakan serta yang selalu memberi dorongan baik materil maupun moril selama ini.

2. Ibu Desi Ramayanti, MT selaku dosen pembimbing dan koordinator tugas akhir prodi informatika yang telah berbaik hati memberikan waktu, arahan, dan bimbingan kepada penulis, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik.

3. Bapak Yaya Sudarya Triana, M.Kom., Ph.D selaku kaprodi Informatika 4. Seluruh dosen Fakultas Ilmu Komputer UMB yang telah memberikan bekal

ilmu selama penulis kuliah di UMB.

5. Pimpinan dan staff UPT Perpustakaan UMB selaku narasumber yang sudah meluangkan waktu dan memberikan informasi.

6. Sahabat-sahabat Informatika angkatan 2013 yang telah rela berbagi pengalaman dan ilmu kepada penulis.

7.

Semua pihak yang telah memberikan dorongan dan membantu serta memberikan saran kepada penulis sehingga laporan ini dapat terselesaikan.

(6)

iv

Semoga Tuhan membalas segala kebaikannya. Menyadari bahwa masih banyak kekurangan dari laporan ini, baik dari materi maupun teknik penyajian, mengingat kurangnya pengetahuan dan pengalaman. Oleh karena itu, kritik dan saran yang membangun sangat diharapkan.

Terima Kasih.

Jakarta, Januari 2017

Penulis

(7)

ABSTRAK

Perpustakaan adalah salah satu unit pendukung dalam kegiatan akademis di setiap jenjang pendidikan. Saat ini, beberapa perpustakaan sudah memiliki sistem yang terkomputerisasi. Seperti halnya Universitas Mercu Buana, Perpustakaan Universitas Mercu Buana mempunyai sistem bernama Digital library. Digital library mempunyai keterbatasan dalam menampilkan informasi sehingga membuat pengunjung jarang menggunakan sistem tersebut untuk mencari buku yang akan dipinjam atau dibaca, hal ini karena pencarian yang kurang akurat. Melihat perkembangan teknologi smartphone dan mengacu dari permasalahan yang ada, untuk itu dibuatlah sebuah aplikasi android dengan bahasa JAVA untuk meningkatkan layanan perpustakaan Universitas Mercu Buana. Dalam pencarian nama buku atau informasi buku dibutuhkan prosedur yang dapat membantu proses pencarian data yang lebih tepat. Untuk memenuhi hal itu, dibutuhkan algoritma pencocokan string yang akan membantu proses pencarian data. Algoritma Knuth-Morris-Pratt akan mencocokan pattern atau susunan kata yang akan dicari dari kiri ke kanan pada awal teks dan kemudian menggeser susunan kata sampai susunan tesebut berada di ujung teks. Dari hasil pengujian, penggunaan algoritma Knuth-Morris-Pratt secara akurasi lebih unggul untuk mencari karakter dalam teks yang banyak dari pada fungsi query dan SQL. Berdasarkan uraian, analisis, hasil implementasi, dan pengujian dari aplikasi kami menyimpulkan bahwa penggunaan algoritma Knuth-Morris-Pratt adalah solusi yang tepat untuk pencarian data dan penggunaan web service memudahkan pengembang mengelola data.

(8)

vi

ABSTRACT

Library is one of the units that supports activities in every stage of educations. Currently, some of library already supported by computerized system. As well as Mercu Buana University, Mercu Buana University Library has a system called Digital Library. Digital Library has a limited sharing informations, that’s one of the reasons why the visitors rarely use the system to find out the books that they want to borrow or read, it's because the look up for the book is not accurate. Seeing the development of smartphone technology is now refer with existing problem, that's the reason why there's an android application with JAVA language to improve the services of Mercu Buana University library. To find out the title of the books or book informations, some procedures to make it easier is needed. To fill that step, we need string matches algorithm that will help to find data. Knuth-Morris-Pratt algorithm will match the pattern or the alphabetical that will be searched from left to right of text and then move to next row of words until the words finally at the end of text. From the result of the examination using the Knuth-Morris-Pratt algorithm has more accurancy to find out the characters of texts rather than using query and SQL function. From the arguments, analysis, implementation results and examination of the application we conclude that the use of Knuth-Morris-Pratt algorithm is a right solution to find out the data and the use of Web Service helps the developer to manage data.

Keywords : Knuth-Morris-Pratt, library, android, JAVA, Web Service, SQL

(9)

DAFTAR ISI

LEMBAR PERNYATAAN ... i

LEMBAR PERSETUJUAN ... ii

KATA PENGANTAR ... iii

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI ... vii

DAFTAR GAMBAR ... x DAFTAR TABEL ... xv BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 2 1.3 Batasan Masalah ... 3

1.4 Tujuan dan Manfaat ... 3

1.4.1. Tujuan Penelitian ... 3

1.4.2. Manfaat ... 3

1.5 Metode Penelitian ... 4

1.5.1. Metode Pengumpulan Data ... 4

1.5.2. Metode Perancangan Aplikasi... 4

1.6 Sistematika Penulisan ... 5

1.6.1. Pendahuluan ... 5

1.6.2. Landasan Teori ... 5

1.6.3. Analisa Sistem ... 5

1.6.4. Perancangan Sistem ... 5

1.6.5. Implementasi dan Pengujian Sistem ... 5

1.6.6. Penutup ... 5

BAB II KAJIAN PUSTAKA ... 6

2.1. Algoritma Knuth-Morris-Pratt ... 6

2.2. Perpustakaan ... 10

(10)

viii

2.3.2. Versi Android ... 11

2.3.3. Kelebihan dan Kekurangan Android ... 13

2.4. Web Service (Sibero, 2014) ... 14

2.5. Studi Literatur ... 16

2.6. Rekayasa Perangkat Lunak... 18

2.6.1. Metodologi ... 19

2.6.2. Metode Perancangan / Unified Modeling Language ... 21

2.7. Konsep Basis Data ... 28

2.7.1. Database Management System (DBMS) ... 28

2.7.2. Structured Query Language (SQL) ... 29

2.7.3. Entitiy Relationship Diagram (ERD) ... 30

2.8. Flowchart ... 32

2.8.1. Pengertian ... 32

2.8.2. Simbol Flowchart ... 32

2.9. Pengujian ... 33

2.10. Perangkat Lunak yang Mendukung ... 34

2.10.1. MySQL ... 34

2.10.2. Laravel Framework ... 34

2.10.3. Android Studio (Mengenal Android Studio, t.thn.) ... 35

BAB III ANALISA SISTEM ... 37

3.1. Analisa Proses Berjalan ... 37

3.2. Analisa Kebutuhan Fungsional ... 48

3.3. Analisa Kebutuhan Sistem ... 50

3.4. Analisa Basis Data ... 50

BAB IV PERANCANGAN SISTEM ... 51

4.1. Perancangan Sistem Usulan ... 51

4.1.1. Usecase Diagram ... 51

4.1.2. Activity diagram ... 60

4.1.3. Sequence Diagram ... 72

4.2. Perancangan Algoritma Knuth-Morris-Pratt ... 82

4.3. Perancangan Basis Data ... 83

4.3.1. Perancangan Entity Relationship Diagram ... 83

(11)

4.3.2. Struktur Tabel ... 84

4.4. Rancangan Antarmuka Aplikasi ... 89

BAB V IMPLEMENTASI ... 115

5.1. Implementasi Pembuatan Basis Data ... 115

5.1.1. Implementasi tabel mahasiswa ... 115

5.1.2. Implementasi tabel pegawai ... 115

5.1.3. Implementasi tabel buku ... 116

5.1.4. Implementasi tabel bahasa ... 116

5.1.5. Implementasi jenis buku ... 117

5.1.6. Implementasi tabel ulasan ... 117

5.1.7. Implementasi tabel usulan_buku ... 118

5.1.8. Implementasi tabel pinjam_buku ... 118

5.2. Implementasi Antarmuka ... 119 5.3. Pengujian ... 144 BAB VI PENUTUP ... 147 6.1. Kesimpulan ... 147 6.2. Saran ... 147 DAFTAR PUSTAKA ... 148

(12)

x

DAFTAR GAMBAR

Gambar 1. Jurusan Responden ... 1

Gambar 2. Model Waterfall (Roger S. Pressman, 2010) ... 4

Gambar 3. Lapisan Rekayasa Perangkat Lunak ... 18

Gambar 4. Tahapan-Tahapan SDLC ... 20

Gambar 5. Model Proses Waterfall ... 21

Gambar 6. Jenis Diagram UML 2.3 (A.S & Shalahuddin, 2013) ... 21

Gambar 7. Diagram Use Case Sistem Berjalan ... 38

Gambar 8. Activity Diagram Daftar... 42

Gambar 9. Activity diagram Login ... 43

Gambar 10. Activity diagram Ganti Password ... 43

Gambar 11. Activity diagram Mencari Koleksi Buku ... 44

Gambar 12. Activity diagram Donwload ... 44

Gambar 13. Activity diagram Login ... 45

Gambar 14. Activity diagram menambah data koleksi ... 45

Gambar 15. Activity diagram Peminjaman Buku ... 46

Gambar 16. Activity diagram Pengembalian Buku ... 46

Gambar 17. Activity diagram menambah data anggota ... 47

Gambar 19. Use case usulan dari sisi user ... 51

Gambar 20. Use Case Diagram dari sisi admin ... 52

Gambar 21. Activity diagram daftar ... 60

Gambar 22.Activity diagram login ... 61

Gambar 23. Activity Diagram mencari buku ... 61

Gambar 24. Activity Diagram melihat jenis buku ... 62

Gambar 25. Activity diagram melihat riwayat peminjaman buku ... 62

Gambar 26. Activity diagram memberi ulasan buku ... 62

Gambar 27. Activity diagram memberi usulan buku ... 63

Gambar 28. Activity diagram menampilkan tentang aplikasi ... 63

Gambar 29. Activity diagram ubah password ... 64

Gambar 30. Activity diagram Logout ... 64

Gambar 31. Activity diagram login ... 65

Gambar 32. Activity Diagram menambah data buku... 65

Gambar 33. Activity diagram menambah jenis buku... 66

Gambar 34. Activity diagram menambah bahasa ... 66

Gambar 35. Activity diagram mengelola peminjaman buku ... 67

Gambar 36. Activity diagram mengelola pengembalian buku... 67

Gambar 37. Activity diagram melihat usulan buku ... 68

Gambar 38. Activity diagram menambah mahasiswa... 68

Gambar 39. Activity diagam menambah pegawai ... 69

Gambar 40. Activity diagram mengelola prodi... 69

(13)

Gambar 41. Activity diagram mengelola peminjaman ... 70

Gambar 42. Activity diagram mengelola pengembalian... 70

Gambar 43. Activity diagram usulan buku ... 71

Gambar 44. Activity diagram mengubah password ... 71

Gambar 45. Activity diagram logout ... 72

Gambar 46. Sequence diagram login ... 72

Gambar 47. Sequence diagram daftar ... 73

Gambar 48. Sequence diagram cari buku ... 73

Gambar 49. Sequence diagram menampilkan jenis buku ... 74

Gambar 50. Sequence diagram menampilkan riwayat peminjaman buku ... 74

Gambar 51. Sequence diagram beri ulasan buku ... 74

Gambar 52. Sequence diagram beri usulan buku ... 74

Gambar 53. Sequence diagram lihat tentang aplikasi ... 75

Gambar 54. Sequence diagram ganti password ... 75

Gambar 55. Sequence diagram Logout ... 75

Gambar 56. Sequence diagram login ... 76

Gambar 57. Sequence diagram mengelola data buku ... 76

Gambar 58. Sequence diagram mengelola data jenis buku... 77

Gambar 59. Sequence diagram mengelola bahasa ... 78

Gambar 60. Sequence diagram mengelola peminjaman ... 78

Gambar 61. Sequence diagram mengelola pengembalian ... 79

Gambar 62. Sequence diagram mengelola data mahasiswa ... 79

Gambar 63. Sequence diagram mengelola data pegawai ... 80

Gambar 64. Sequence diagram mengelola data prodi ... 81

Gambar 65. Sequence diagram ubah password... 81

Gambar 66. Sequence diagram logout ... 82

Gambar 67 Flowchart Algoritma Knuth-Morris-Pratt ... 83

Gambar 68. Entity Diagram Relationship ... 84

Gambar 69. Rancangan antarmuka login ... 90

Gambar 70. Rancangan halaman dashboard ... 90

Gambar 71. Rancangan halaman tambah buku ... 91

Gambar 72. Halaman edit buku ... 91

Gambar 73. Halaman hapus data buku ... 92

Gambar 74. Halaman lihat ulasan buku ... 92

Gambar 75. Rancangan halaman jenis Buku ... 93

Gambar 76. Rancangan halaman tambah jenis buku ... 93

Gambar 77. Rancangan halaman ubah jenis buku ... 94

Gambar 78. Rancangan halaman hapus jenis buku ... 94

Gambar 79. Rancangan halaman bahasa buku ... 95

Gambar 80. Rancangan halaman tambah bahasa ... 95

Gambar 81. Rancangan halaman ubah bahasa ... 96

(14)

xii

Gambar 84. Rancangan halaman form peminjaman buku ... 97

Gambar 85. Rancangan halaman cetak peminjaman buku ... 98

Gambar 86. Rancangan halaman pengembalian buku ... 98

Gambar 87. Halaman ganti status pengembalian buku ... 99

Gambar 88. halaman cetak pengembalian buku ... 99

Gambar 89. Rancangan halaman hapus data pengembalian buku ... 99

Gambar 90. Rancangan halaman usulan Buku ... 100

Gambar 91. Rancangan halaman lihat usulan buku ... 100

Gambar 92. Rancangan halaman menu mahasiswa ... 101

Gambar 93. Rancangan halaman tambah mahasiswa ... 101

Gambar 94. Rancangan halaman ubah data mahasiswa... 102

Gambar 95. Rancangan halaman hapus data mahasiswa ... 102

Gambar 96. Rancangan halaman menu pegawai ... 103

Gambar 97. Rancangan halaman tambah pegawai ... 103

Gambar 98. Rancangan halaman ubah pegawai ... 104

Gambar 99. Rancangan halaman hapus pegawai ... 104

Gambar 100. Rancangan halaman menu prodi ... 105

Gambar 101. Rancangan halaman tambah prodi ... 105

Gambar 102. Rancangan halaman ubah data prodi ... 106

Gambar 103. Rancangan halaman hapus data prodi ... 106

Gambar 104. Rancangan halaman Splash Screen ... 107

Gambar 105. Rancangan halaman menu login ... 107

Gambar 106. Rancangan halaman daftar ... 108

Gambar 107. halaman home ... 109

Gambar 108. Rancangan halaman menu Navigation Drawer ... 109

Gambar 109. Rancangan halaman menu cari buku ... 110

Gambar 110. Rancangan halaman menu jenis buku ... 111

Gambar 111. Rancangan halaman riwayat peminjaman buku ... 111

Gambar 112. Rancangan halaman usulan buku ... 111

Gambar 113. Rancangan halaman detail buku ... 112

Gambar 114. Rancangan halaman beri ulasan ... 112

Gambar 115. Rancangan halaman ulasan buku ... 113

Gambar 116. Rancangan halaman tentang aplikasi ... 113

Gambar 117. Rancangan halaman ubah password ... 114

Gambar 118. Implementasi tabel mahasiswa ... 115

Gambar 119. Implementasi pembuatan tabel pegawai ... 116

Gambar 120. Implementasi pembuatan tabel buku ... 116

Gambar 121. Implementasi pembuatan tabel bahasa ... 117

Gambar 122. Implementasi pembuatan tabel jenis_buku ... 117

Gambar 123. Implementasi pembuatan tabel ulasan... 118

Gambar 124. Implementasi pembuatan tabel usulan ... 118

Gambar 125. Implementasi pembuatan tabel pinjam_buku ... 119

Gambar 126. Implementasi halaman login ... 119

(15)

Gambar 127. Implementasi halaman dashboard ... 120

Gambar 128. Implementasi halaman menu buku ... 120

Gambar 129. Implementasi halaman tambah buku ... 121

Gambar 130. Implementasi halaman ubah data buku ... 121

Gambar 131. Implementasi halaman ubah data buku ... 122

Gambar 132. Implementasi halaman mengelola jenis buku ... 122

Gambar 133. Implementasi halaman tambah jenis buku ... 123

Gambar 134. Implementasi halaman ubah jenis buku ... 123

Gambar 135. Implementasi halaman hapus jenis buku ... 124

Gambar 136. Implementasi halaman bahasa ... 124

Gambar 137. Implementasi halaman tambah bahasa ... 125

Gambar 138. Implementasi halaman ubah bahasa ... 125

Gambar 139. Implementasi halaman hapus bahasa ... 126

Gambar 140. Implementasi halaman menu peminjaman buku ... 126

Gambar 141. Implementasi halaman tambah peminjaman buku ... 127

Gambar 142. Implementasi halaman cetak peminjaman buku ... 127

Gambar 143. Implementasi halaman pengembalian buku ... 128

Gambar 144. Implementasi halaman ubah status pengembalian buku ... 128

Gambar 145. Implementasi halaman cetak bukti pengembalian buku ... 129

Gambar 146. Implementasi halaman menu mahasiswa ... 129

Gambar 147. Implementasi halaman tambah mahasiswa ... 130

Gambar 148. Implementasi halaman ubah mahasiswa ... 130

Gambar 149. Implementasi halaman hapus mahasiswa ... 131

Gambar 150. Implementasi halaman menu pegawai ... 131

Gambar 151. Implementasi halaman menu tambah pegawai... 132

Gambar 152. Implementasi halaman ubah data pegawai ... 132

Gambar 153. Implementasi halaman hapus data pegawai ... 133

Gambar 154. Implementasi halaman mengelola data prodi ... 133

Gambar 155. Implementasi halaman menambah data prodi ... 134

Gambar 156. Implementasi halaman menambah data prodi ... 134

Gambar 157. Implementasi halaman hapus prodi ... 135

Gambar 158. Implementasi halaman splash screen ... 135

Gambar 159. Implementasi halaman login ... 136

Gambar 160. Implementasi halaman daftar ... 137

Gambar 161. Implementasi halaman utama (home) ... 137

Gambar 162. Implementasi halaman pencarian buku ... 138

Gambar 163 Implementasi halaman jenis buku ... 139

Gambar 164. Implementasi halaman list buku ... 139

Gambar 165. Implementasi halaman detail buku ... 140

Gambar 166. Implementasi halaman ulasan buku ... 141

Gambar 167. Implementasi halaman riwayat peminjaman buku ... 141

(16)

xiv

Gambar 170. Implementasi halaman menu navigation drawer ... 143 Gambar 171. Implementasi halaman tentang aplikasi ... 143 Gambar 172. Implementasi halaman ubah password ... 144

(17)

DAFTAR TABEL

Tabel 1. Fungsi Pinggiran Kasus Pencarian String ... 6

Tabel 2. Nilai Indeks untuk Teks ... 7

Tabel 3. Nilai Indeks untuk Pattern ... 7

Tabel 4. Hasil pergeseran Karakter Teks dan Pattern ... 8

Tabel 5. Perbandingan Bahasa Pemrograman ... 9

Tabel 6. Tabel Perbedaaan Penggunaan Algoritma Knuth-Morris-Pratt dengan StringindexOf ... 9

Tabel 7. Versi Android (The Android Source Code, t.thn.) ... 11

Tabel 8. Studi Literatur ... 17

Tabel 9. Simbol Use Case Diagram (A.S & Shalahuddin, 2013) ... 22

Tabel 10. Simbol Acitvity Diagram (A.S & Shalahuddin, 2013) ... 24

Tabel 11. Simbol Sequence Diagram (A.S & Shalahuddin, 2013) ... 25

Tabel 12. Entity Relationship Diagram ... 30

Tabel 13. Flowchart ... 32

Tabel 14. Tabel Mahasiswa... 87

Tabel 15. Tabel pegawai ... 88

Tabel 16. Tabel buku ... 88

Tabel 17. Tabel bahasa ... 89

Tabel 18. Tabel Jenis Buku ... 90

Tabel 19. Tabel prodi ... 90

Tabel 20. Tabel ulasan ... 90

Tabel 21. Tabel usulan_buku ... 91

Tabel 22. Tabel pinjam_buku ... 92

Tabel 23. Pengujian pada sisi user ... 147

Tabel 24. Pengujian 1 ... 148

Referensi

Dokumen terkait

Berdasarkan hasil pengujian hipotesis uji F dengan melihat model fit menunjukkan bahwa variabel independen rasio profitabilitas, solvabilitas dan likuiditas berpengaruh

Dalam pelaksanaan siklus I yaitu 3 pertemuan yaitu pertemuan pertama guru membuka pelajaran, mempresensi, apersepsi dan motivasi. Guru menjelaskan kepada siswa

Dari hasil pengkajian didapatkan data mengenai tanda gejala dari gangguan kesehatan dimana masalah kesehatan yang dialami oleh keluarga memerlukan bantuan untuk segera

Berdasarkan hasil pengujian dalam penelitian ini, diperoleh simpulan bahwa beberapa faktor personal dalam diri auditor yaitu integritas, kompetensi profesional

Dari perbedaan rata-rata nilai pretest dan posttest tersebut dapat dilihat bahwa terdapat perbedaan hasil belajar antara siswa pada kelas eksperimen dengan siswa pada kelas

Susy Hermayani, Pengaruh Bauran Pemasaran Jasa terhadap Kepuasan serta Dampaknya pada Loyalitas Nasabah (Survei Pada Nasabah Tabungan Tanda Mata Bank Bjb Kantor Cabang Tamansari

Pengkajian tentang pelaksanaan dan pengembangan kapasitas pengolahan limbah padat dan limbah cair di bandar udara memberikan gambaran tentang sistem pengolahan

Selain itu akibat hukum dari jual beli tanah tidak beserta dengan pohon kelapa di atasnya memiliki perbedaan dengan asas pemisahan horisontal yang dianut dalam