• Tidak ada hasil yang ditemukan

PERBANDINGAN ALGORITMA APOSTOLICO-GIANCARLO DAN ALGORITMA RAITA PADA APLIKASI KAMUS ISTILAH ISLAM BERBASIS ANDROID SKRIPSI FAUZI AMRI

N/A
N/A
Protected

Academic year: 2022

Membagikan "PERBANDINGAN ALGORITMA APOSTOLICO-GIANCARLO DAN ALGORITMA RAITA PADA APLIKASI KAMUS ISTILAH ISLAM BERBASIS ANDROID SKRIPSI FAUZI AMRI"

Copied!
83
0
0

Teks penuh

(1)

PERBANDINGAN ALGORITMA APOSTOLICO-GIANCARLO DAN

ALGORITMA RAITA PADA APLIKASI KAMUS ISTILAH ISLAM BERBASIS ANDROID

SKRIPSI FAUZI AMRI

141401154

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2019

(2)

PERBANDINGAN ALGORITMA APOSTOLICO-GIANCARLO DAN ALGORITMA RAITA PADA APLIKASI KAMUS ISTILAH ISLAM

BERBASIS ANDROID

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

FAUZI AMRI 141401154

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2019

(3)

PERSETUJUAN

Judul : PERBANDINGAN ALGORITMA APOSTOLICO-

GIANCARLO DAN ALGORITMA RAITA PADA APLIKASI KAMUS ISTILAH ISLAM BERBASIS ANDROID

Kategori : SKRIPSI

Nama : FAUZI AMRI

Nomor Induk Mahasiswa : 141401154

Program Studi : SARJANA (S-1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Januari 2019

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Handrizal, S.Si, M.Comp.Sc Dr. Poltak Sihombing, M.Kom

NIP. 197706132017061001 NIP.196203171991031001

Diketahui/disetujui oleh Program Studi S-1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001

(4)

PERNYATAAN

PERBANDINGAN ALGORITMA APOSTOLICO-GIANCARLO DAN ALGORITMA RAITA PADA APLIKASI KAMUS ISTILAH ISLAM

BERBASIS ANDROID

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing telah disebutkan sumbernya.

Medan, Januari 2019

Fauzi Amri

141401154

(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis ucapkan kepada Allah Swt. yang telah memberikan rahmat dan berkat-Nya, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–

besarnya kepada:

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing I yang telah memberikan bimbingan, kritik, saran dan dukungan dalam penyempurnaan skripsi ini.

4. Bapak Handrizal, S.Si, M.Comp.Sc selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini. Dan juga selaku Dosen Pembimbing Akademik yang telah memberikan bimbingan, kritik, saran dan dukungan selama masa perkuliahan dari semester I-VIII

5. Ibu Elviwani, ST, S.Kom, M.Kom selaku Dosen Pembanding I yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.

6. Bapak Herriyance, ST., M.Kom selaku Dosen Pembanding II yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.

7. Seluruh tenaga pengajar dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

8. Ayahanda Amrin Sinambela dan Ibunda Sumirah yang selalu memberikan doa, dukungan dan kasih sayang kepada penulis, serta yang terus memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan skripsi ini.

(6)

9. Keluarga Badak FKM USU, yaitu Helmi Safitri, Kiky Rizky Ananda, Rathia, Kak Iti, Bang Mamad, Bang Roni, Bang Ziad, Bang Reza, Bang Iqbal, Kak Tisha, Kak Bobo, Kak Didit.

10. Dan semua pihak yang telah banyak membantu dalam pengerjaan skripsi ini yang tidak bisa disebutkan satu-persatu.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Tuhan Yang Maha Esa.

Medan, Januari 2019

Penulis

(7)

ABSTRAK

Kemajuan teknologi yang sangat cepat pada saat ini diiringi dengan perubahan kebiasaan mobile-user yang hanya menggunakan perangkat mobile yang biasanya hanya digunakan untuk keperluan telepon dan pesan singkat menuju ke penggunaan untuk menunjang kegiatan sehari-hari. Perkembangan syiar Islam juga sangat pesat, melalui media televisi dan media online. Sering kali muncul istilah islam yang kurang dipahami masyarakat. Algoritma pencocokan string adalah salah satu bagian terpenting dalam berbagai proses pencarian yang berkaitan dengan tipe data dan teks, seperti pencarian kata pada kamus islam. Untuk mempermudah pengguna dalam mencari istilah islam, penulis membuat aplikasi kamus offline berbasis Android dengan menerapkan algoritma Apostolico-Giancarlo dan algoritma Raita. Dari hasil penelitian ini diperoleh bahwa running time algoritma Raita lebih cepat daripada algoritma Apostolico-Giancarlo. Rata-rata running time untuk algoritma Apostolico- Giancarlo adalah 4,5 ms dan algortima Raita adalah 4 ms.

Kata Kunci : String Matching, Android, Apostolico-Giancarlo, Raita.

(8)

COMPARISON OF APOSTOLICO-GIANCARLO ALGORITHM AND RAITA ALGORITHM ON TERM OF ISLAMIC

ANDROID BASED DICTIONARY APPLICATION

ABSTRACT

At this time, technological advances spread quicky are accompanied by changes of mobile-user habits that only use mobile devices which are usually only used for call and short message purposes to support daily activities. The development of Islam is also very rapid, through television and online media. Meanwhile the people were less understanding about Islamic term. String matching algorithm is the part of important things which used in research process such as data type and text by using islamic dictionary. To make it easier for users to found Islamic definition, the author make an Android based offline dictionary application by applying the algorithm Apostolico- Giancarlo and Raita algorithm. The result of researches that the running time of algoritma raita fastest than algoritma apostolico Giancarlo. The average running time for the Apostolico-Giancarlo algorithm is 4.5 ms and Raita algorithm is 4 ms.

Keyword: String Matching, Android, Apostolico-Giancarlo, Raita.

(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan ii

Ucapan Terima Kasih iii

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel x

Daftar Gambar xi

Daftar Lampiran xii

BAB 1 PENDAHULUAN

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Batasan Masalah 2

1.4. Tujuan Penelitian 2

1.5. Manfaat Penelitian 2

1.6. Metode Penelitian 3

1.7. Sistematika Penelitian 4

BAB 2 LANDASAN TEORI

2.1. Pengertian Kamus 5

2.2. Android 5

2.2.1. Pengertian Aplikasi Berbasis Android 6

2.2.2. Fitur Android 6

2.2.3. Versi Android 8

2.3. Keyword 8

2.4. Pengertian Pencocokan String (String Matching) 8

2.5. Algoritma 10

2.5.1. Defenisi Algoritma 10

2.5.2. Algoritma Pencocokan String (String Matching) 10

2.5.3. Algoritma Apostolico-Giancarlo 11

(10)

2.5.4. Algoritma Raita 14

2.6. Penelitian yang Relevan 16

BAB 3 ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem 17

3.1.1. Analisis Masalah 17

3.1.2. Analisis Kebutuhan 19

3.1.2.1. Kebutuhan Fungsional 19

3.1.2.2. Kebutuhan Non-Fungsional 20

3.1.3. Analisis Proses 21

3.2. Perancangan Sistem 21

3.2.1. Kerangka Menu 21

3.2.2. Use – Case Diagram 22

3.2.3. Activity Diagram 24

3.2.4. Sequence Diagram 25

3.3. Diagram Alir (Flowchart) 26

3.4. Perancangan Antarmuka(Interface) 27

3.5. Perancangan Database 32

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1. Implementasi Sistem 34

4.1.1. Spesifikasi Perangakat Keras dan Perangkat Lunak 34

4.1.2. Halaman Splash Screen 35

4.1.3. Halaman Utama 35

4.1.4. Halaman Pencarian 36

4.1.5. Halaman Hasil Pencarian 37

4.1.6. Halaman Sumber Data 40

4.1.7. Halaman Tentang 41

4.2. Pengujian Sistem 42

4.3. Hasil Pengujian Sistem 46

(11)

Bab 5 KESIMPULAN DAN SARAN

5.1. Kesimpulan 52

5.2. Saran 52

DAFTAR PUSTAKA 54

LAMPIRAN

Listing Program A-1

Daftar Riwayat Hidup B-1

Surat Keputusan Dosen Pembimbing C-1

Surat Keputusan Ujian Skripsi D-1

(12)

DAFTAR TABEL

No.

Tabel

Nama Tabel Halaman

2.1. Pattern 11

2.2. BmBc dari pattern AMRI 11

2.3. Suffix dari pattern AMRI 12

2.4. BmGs dari pattern AMRI 12

2.5. Penyamaan posisi pattern dengan teks. 12

2.6. Pergeseran posisi pattern sebanyak 4 karakter. 12 2.7. Pergeseran posisi pattern sebanyak 2 karakter, ditemukan kata yang

sesuai dengan pattern 12

2.8. Pattern 14

2.9. Perubahan pada karakter terakhir pada pattern 15

2.10. Tabel BmBc dari pattern AMRI 15

2.11. Penyamaan posisi pattern terhadap teks 15

2.12. Perpindahan posisi pattern terhadap teks 15

2.13. Ditemukan kata yang sesuai dengan pattern 16

3.1. Tabel Skenario Use-case Memasukkan pattern 23

3.2. Tabel Skenario Use-case Memilih Algoritma 23

3.3. Perancangan Database 33

4.1. Sampel Kata di dalam Database 42

4.2. Pengujian sistem pencocokan string dengan Algoritma Apostolico-

Giancarlo 42

4.3. Pengujian sistem pencocokan string dengan Algoritma Raita 42

4.4. Hasil pengujian Algoritma Apostolico-Giancarlo dan Algoritma Raita

Berdasarkan Urutan Kata Dalam Database 46

4.5. Hasil pengujian pencarian kata terpanjang 47

4.6. Hasil pengujian pencarian kata terpendek 49

4.7. Hasil pengujian pencarian huruf 51

(13)

DAFTAR GAMBAR

No Gambar

Nama Gambar Halaman

3.1.

3.2.

Diagram Ishikawa untuk Analisis Masalah Use-case Diagram

18 22

3.3. Activity Diagram 24

3.4. Sequence Diagram 25

3.5. Flowchart Gambaran Umum Sistem 26

3.6. Rancangan Splash Screen 27

3.7. Halaman utama aplikasi kamus 28

3.8. Halaman Pencarian 29

3.9. Halaman Hasil Pencarian 30

3.10. Halaman Sumber Data 31

3.11. Halaman Tentang 32

4.1. Halaman Splash Screen 35

4.2. Halaman Utama 38

4.3. Halaman Pencarian 37

4.4. Halaman hasil pencarian berdasarkan istilah 38 4.5. Halaman hasil pencarian berdasarkan keyword 39

4.6. Halaman Sumber Data 40

4.7. Halaman Tentang 41

4.8. Relasi hasil running time Algoritma Apostolico-Giancarlo dan Algoritma Raita Berdasarkan Urutan Kata Dalam Database

47

4.9. Relasi hasil running time pencarian kata terpanjang 48 4.10. Relasi hasil running time pencarian kata terpendek 50

(14)

DAFTAR LAMPIRAN

Lampiran 1 Listing Program A-1

Lampiran 2 Daftar Riwayat Hidup B-1

Lampiran 3 Surat Keputusan Dosen Pembimbing C-1

Lampiran 4 Surat Keputusan Ujian Skripsi D-1

(15)

BAB I PENDAHULUAN

1.1. Latar Belakang

Kemajuan teknologi yang sangat cepat pada saat ini diiringi dengan kegiatan manusia yang cepat pula. Dengan teknologi yang berkembang pada saat ini khususnya teknologi pada perangkat mobile. Perkembangan tersebut diiringi dengan perubahan kebiasaan mobile-user yang hanya menggunakan perangkat mobile yang biasanya hanya digunakan untuk keperluan telepon dan pesan singkat menuju ke penggunaan untuk menunjang kegiatan sehari-hari. Sehingga kebutuhan akan aplikasi database untuk perangkat mobile sangat dibutuhkan.

Perkembangan syiar Islam juga sangat pesat, melalui media televisi yaitu acara ceramah atau pengajian. Apalagi pada zaman sekarang ini, sudah berkembang ceramah atau pengajian berbasis online melalui media youtube, instagram, website dan lain-lain. Sering kali muncul istilah islam yang kurang dipahami masyarakat.

Dengan bantuan aplikasi Kamus Istilah Islam yang berbasis android. Memudahkan masyarakat untuk mengetahui makna dari istilah Islam tersebut dengan cepat dan lebih fleksibel karena diakses melalui smartphone android.

Salah satu metode yang digunakan untuk mencari informasi adalah menggunakan metode pencocokan string (string matching). Pencocokan string merupakan pencocokan pattern pada sebuah teks. Dan pencocokan string tersebut dapat diimplementasikan pada kamus digital berbasis android. Pada penulisan karya ilmiah ini, penulis membandingkan algoritma Apostolico-Giancarlo dan algoritma Raita untuk melakukan pencocokan string.

Alasan penulis memilih algoritma Apostolico-Giancarlo dikarenakan proses pencarian pada algoritma apostolic-giancarlo lebih cepat dan efisien dibandingkan dengan algoritma boyer-moore. Tidak perlu dilakukan pengecekan hingga akhir karakter string pencarian, jika kata kunci sudah ditemukan di awal atau tengah string pencarian, sedangkan pemilihan algoritma Raita dikarenakan algoritma ini menggunakan fungsi pergeseran bad-character dari algoritma Boyer Moore. Penulis membandingkan kedua algoritma ini untuk mengetahui apakah algoritma Apostolico-

(16)

Giancarlo bila dibandingkan dengan algoritma Raita. Pada penelitian kali ini parameter yang digunakan penulis sebagai perbandingan adalah waktu yang dibutuhkan untuk mencocokkan pattern (running-time).

1.2. Rumusan Masalah

Adapun rumusan masalah pada penelitian ini adalah kurangnya minat membaca buku kamus dengan pencarian kata yang masih manual. Namun, user ingin memperoleh informasi dengan lebih cepat. Oleh karena itu, dibutuhkan aplikasi kamus istilah Islam berbasis android untuk mengatasi permasalahan tersebut.

1.3. Batasan Masalah

1. Aplikasi yang dibangun adalah aplikasi kamus istilah Islam dan dapat menerjemahkan 500 istilah kata.

2. Aplikasi melakukan pencarian sesuai dengan istilah.

3. Aplikasi menggunakan sistem manajemen database sqlite untuk penyimpanan data istilah.

4. Pencarian istilah kamus non case sensitive.

5. Bahasa pemrograman yang digunakan adalah bahasa Java dan android Studio sebagai compiler.

6. Versi android yang digunakan adalah Marshmellow (6.0).

7. Parameter pembandingan yang diukur adalah running time (milisekon).

8. Database yang digunakan bersumber dari buku Kamus Pintar Islam karangan Mohammad A. Syuropati.

1.4. Tujuan Penelitian

1. Mengetahui algoritma yang lebih efisien dalam pencocokan string pada algoritma Apostolico-Giancarlo dan algoritma Raita dengan membandingkan running time pencocokkan pattern (milisekon) untuk berbagai panjang pattern P[0..n-1].

2. Memberikan definisi kata istilah Islam dan menampilkan semua output yang relevan dengan keyword yang di input, sehingga kamus memiliki ciri khas dan memiliki perbedaan dengan kamus istilah Islam lainnya.

(17)

1.5. Manfaat Penelitian

Manfaat dari penelitian ini adalah sebagai berikut :

1. Mengetahui hasil yang efisien dari running time pencocokkan pattern (milisekon) dalam perbandingan algoritma Apostolico-Giancarlo dan algoritma Raita kamus istilah komputer berbasis android.

2. Membantu masyarakat dalam mencari istilah – istilah islam secara lebih mudah dan praktis.

1.6. Metodologi Penelitian

Penelitian ini menerapkan beberapa metode penelitian sebagai berikut:

1. Studi Pustaka

Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, paper, makalah, baik dari media cetak maupun media internet mengenai algoritma pencarian string, khususnya untuk algoritma Apostolico-Giancarlo dan algoritma Raita.

2. Pengumpulan dan Analisis Data

Analisis terhadap permasalahan untuk mengetahui kebutuhan serangkaian kegiatan dan teknik yang deperlukan serta menentukan batasan-batasan sistem, sehingga dapat menentukan cara yang paling efektif dalam menyelesaikan masalah.

3. Desain dan Perancangan Sistem

Pada tahap ini digunakan untuk mengolah data dari hasil studi pustaka yang kemudian dilakukan analisis dan perancangan sistem. Kemudian, sistem dirancang dengan membuat gambaran sistem menggunakan flowchart, UML, dan user interface.

4. Implementasi Sistem

Dalam implementasinya aplikasi akan dibangun menggunakan bahasa pemograman Java berbasis android.

5. Pengujian Sistem

(18)

Pada tahap ini prototipe yang telah dirancang dilakukan pengujian dengan menggunakan smartphone dengan versi android.

6. Dokumentasi Sistem

Setelah melakukan pengujian terhadap sistem baru yang dibuat, tahap berikutnya adalah dokumentasi. Dokumentasi digunakan untuk mengarsipkan terhadap project dalam bentuk karya ilmiah yaitu skripsi.

1.7. Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama yang dijelaskan seperti berikut.

BAB 1 PENDAHULUAN

Menjelaskan latar belakang dari penelitian yang dilakukan, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan dari skripsi ini.

BAB 2 LANDASAN TEORI

Berisi penjelasan singkat mengenai pencocokan string (string matching), android , teori-teori dasar yang digunakan dalam Algoritma Apostolico-Giancarlo dan Algoritma, dan beberapa penelitian terdahulu yang relevan.

BAB 3 ANALISIS DAN PERANCANGAN

Membahas analisis terhadap masalah penelitian, analisis kebutuhan dalam membangun sistem dan perancangan terhadap sistem yang akan dibangun yaitu aplikasi kamus istilah islam berbasis android dengan dua algoritma pencarian string (string matching algorithm).

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Merupakan hasil penelitian yang dilakukan. Berisi tentang penjelasan implementasi sistem berdasarkan analisis dan perancangan sistem, skenario pengujian terhadap sistem yang telah dibangun serta pembahasan hasil pengujian.

BAB 5 KESIMPULAN DAN SARAN

Berisi kesimpulan dari keseluruhan penelitian dan saran berdasarkan hasil pengujian yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.

(19)

BAB II

LANDASAN TEORI

2.1. Pengertian Kamus

Kamus adalah sebuah buku berisi kata-kata dari sebuah bahasa, biasanya disusun secara alfabetis, disertai keterangan akan artinya ucapannya, ejaannya, dan sebagainya. Di dalam sebuah kamus yang ideal sepatutnya diberikan juga keterangan tentang pemenggalan kata, informasi tentang asal-usul kata, informasi tentang baku dan tidaknya sebuah kata, informasi tentang kata-kata arkhais dan juga klasik, informasi tentang area penggunaan kata, informasi tentang status sebuah kata, dan berbagai informasi lainnya.

2.2. Android

2.2.1. Pengertian Aplikasi Berbasis Android

Aplikasi merupakan program yang berisikan perintah-perintah untuk melakukan pengolahan data. Secara umum, aplikasi adalah suatu proses dari cara manual yang ditransformasikan ke dalam komputer dengan membuat sebuah sistem atau program agar data dapat diolah dan berdaya guna secara optimal. Aplikasi berbasis android atau mobile merupakan sebuah software yang dibuat dan di teruntukan untuk perangkat portable smartphone.

Android adalah generasi terbaru pada sistem operasi mobile yang berjalan pada Linux Kernel (Holla, et al. 2012). Awalnya Google Inc. membeli Android Inc pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Tujuan aliansi tersebut yaitu untuk mengakselerasi pembaharuan dalam mobile dan menawarkannya ke konsumen yang lebih kaya, dan sedikit mahal (Gargenta, et al. 2014).

Android adalah platform yang dibangun ditujukan untuk perangkat mobile.

Ketika merancang android, para tim melihat di masa mendatang kendala perangkat

(20)

mobile mungkin tidak akan berubah. Pertama, perangkat mobile bertenaga baterai, dan kinerja baterai kemungkinan tidak akan bisa lebih baik dalam waktu dekat. Kedua, perangkat mobile yang berukuran kecil akan selalu terbatas dalam hal memori dan kecepatan. Android dirancang untuk berjalan pada berbagai fisik perangkat.Android tidak membuat asumsi tentang ukuran perangkat layar, resolusi, chipset, dan sebagainya. Intinya android dirancang untuk menjadi portabel (Gargenta, et al. 2011).

Android adalah software untuk perangkat mobile yang mencakup sistem operasi, middleware, dan kunci aplikasi. Android SDK (Software Development Kit) menyediakan tools dan API yang diperlukan untuk memulai mengembangkan aplikasi dengan menggunakan bahasa Java (Holla, et al, 2012).

Adapun kelebihan aplikasi berbasis android atau mobile dibandingkan dengan aplikasi berbasis dekstop dan web adalah pengguna bebas menggunakannya dimana saja dan kapan saja, karena aplikasi mobile dapat digunakan dalam keadaan offline tanpa harus terhubung dengan internet. Aplikasi mobile memiliki performa lebih cepat, dan lebih menarik dari segi visual.

2.2.2. Fitur Android

Fitur-fitur android adalah sebagai berikut : 1. Framework Aplikasi

Fitur ini mendukung penggantian komponen dan penggunaan kembali komponen yang sudah dibuat (reusable). Seperti pada umumnya, framework memiliki keuntungan dalam proses pengkodingan karena kita tidak perlu membuat kodingan untuk hal-hal yang pasti dilakukan seperti kodingan menampilkan gambar, dan kodingan konek database

(21)

2. Mesin Virtual Dalvik

Lingkungan dimana aplikasi android akan bekerja 3. Integrated Browser

Berdasarkan Open Source engine WebKit 4. Grafis

Dengan adanya fitur ini, kita bisa membuat aplikasi grafis 2D dan 3D karena Android memiliki library OpenGL ES 1,0

5. Sqlite

Tugas dari fitur ini adalah berperan dalam penyimpanan data. Bahasanya mudah dimengerti dan merupakan sistem databasenya android

6. Media Support

Fitur yang mendukung audio, video dan gambar 7. GSM Telephony

Tidak semua android punya fitur ini karena fitur ini tergantung dari smartphone yang dimiliki

8. Bluetooth, EDGE, 3G, WiFi

Fitur ini tidak selalu tersedia pada android karena tergantung hardware atau smartphone

9. Dukungan Perangkat Tambahan

Android dapat memanfaatkan kamera, layar sentuh, accelerometer, magnetometers, GPS, akselerasi 2D, dan akselerasi 3D

10. Multi-Touch

Kemampuan layaknya handset modern yang dapat menggunakan dua jari atau lebih untuk berinteraksi dengan perangkat

11. Lingkungan Development

Memiliki fitur emulator, tools, untuk debugging, profil dan kinerja memori dan plugin untuk IDE Eclipse

12. Market

Seperti kebanyakan handphone yang memiliki tempat penjualan aplikasi, Market pada android merupakan katalog aplikasi yang dapat di download dan di install pada handphone melalui internet (Fitriati, et al).

(22)

2.2.3. Versi Android

Dengan semakin pesatnya perkembangan dari dunia telekomunikasi, disertai juga dengan perkembangan aplikasi dari android dengan beberapa pembaharuan estetis pada aplikasinya dan dilengkapi dengan fitur-fitur lainya sehingga memungkinkan terpenuhinya kebutuhan manusia dalam dunia telekomunikasi. Beberapa versi android yang telah berkembang hingga saat ini adalah: android 1.0 (API level 1), android 1.1 (API level 2), android 1.5 Cupcake (API level 3), android 1.6 Donut (API level 4), android 2.0 Eclair (API level 5), android 2.0.1 Eclair (API level 6), android 2.1 Eclair (API level 7), android 2.2–2.2.3 Froyo (API level 8), android 2.3–2.3.2 Gingerbread (API level 9), android 2.3.3–2.3.7 Gingerbread (API level 10), android 3.0 Honeycomb (API level 11), android 3.1 Honeycomb (API level 12), android 3.2 Honeycomb (API level 13), android 4.0–4.0.2 Ice Cream Sandwich (API level 14), android 4.0.3–4.0.4 Ice Cream Sandwich (API level 15), android 4.1 Jelly Bean (API level 16), android 4.2 Jelly Bean (API level 17), android 4.3 Jelly Bean (API level 18), android 4.4 KitKat (API level 19), android 5.0 Lollipop (API level 21), android 6.0 Marshmallow (API level 23), android 7.0 Nougat (API level 24), android 7.1 Nougat

(API level 25) dan android 8.0 Oreo(API level 26).

2.3. Keyword

Keyword merupakan kata atau rangkaian kata yang diketikkan oleh user saat melakukan pencarian untuk menemukan informasi. Dengan mengetikkan beberapa huruf atau seluruh huruf dari keyword maka sistem akan mencari ke dalam database apakah ada informasi relevan yang memenuhi kriteria dari keyword yang dimasukkan.

Jika setelah dicek dan ternyata di dalam database ada, maka akan muncul list yang menunjukkan sugesti kata yang ada. Pengecekan itu sendiri berdasarkan dari kecocokan keyword dari kata yang dimasukkan user dengan list kata-kata yang ada di database. Pencarian keyword dilakukan dengan menggunakan peringkat, berdasarkan foreign key links (Bhalotia, et al.2002).

2.4. Pengertian Pencocokan String (String Matching)

Pencocokan string (string matching) menurut Dictionary of Algorithms and Data Structures, National Institute of Standards and Technology (NIST), diartikan sebagai

(23)

sebuah permasalahan untuk menemukan pola susunan karakter string didalam string lain atau bagian dari isi teks (Mulyawati, et al. 2017).

Algoritma pencocokan string bertujuan untuk menemukan semua kejadian dari pattern yang diberikan P = p1p2p3..pm dalam teks T = t1t2t3..tn. Maka pertama kali menyelaraskan ujung kiri dari pattern dan teks, kemudian membandingkan karakter teks dengan pattern dan setelah ada ketidasesuaian antara pattern dan teks maka pattern bergeser ke kanan sampai menemukan kecocokan antara pattern dan teks.

Prosedur ini diulang sampai ujung kanan dari pattern mencapai ujung kanan teks.

Kebanyakan algoritma pencocokan string terdiri dari fase preprocessing dan fase pencarian. Fase preprocessing menganalisis karakter dalam pattern untuk digunakan dalam menentukan pergeseran pattern dalam kasus ketidakcocokan atau cocok keseluruhan, dengan tujuan mengurangi jumlah total perbandingan karakter.

Sedangkan fase pencarian menetapkan urutan perbandingan karakter di setiap percobaan antara pattern dan teks (Suthar, et al. 2015).

Konsep pencocokan string atau string matching dapat diterjemahkan sebagai sebuah cara untuk mencari string yang sama di dalam satu kumpulan teks atau basis data (database). Konsep pencocokan string ini mirip dengan fungsi find dalam aplikasi pengolah kata atau fungsi query di dalam basis data (Dewanto, et al. 2007).

Secara garis besar, konsep pencocokan string dapat dibedakan menjadi dua konsep besar, antara lain (Syaroni, et al. 2005):

1. Exact string matching, yaitu pencocokan string secara benar dengan susunan karakter dalam string yang dicocokkan memiliki jumlah dan urutan karakter dalam string yang sama. Jadi, jika string yang akan dicari memiliki panjang pola karakter sebanyak 6 karakter, maka kata yang keluar sebagai hasil dari pencocokan tersebut adalah sebanyak 6 karakter.

2. Inexact string matching atau Fuzzy string matching, yaitu pencocokan string secara samar, maksudnya adalah pencocokan string dimana string yang dicocokkan memiliki kemiripan, dimana keduanya memiliki susunan karakter yang berbeda, baik dari segi jumlah karakter atau urutan, namun memiliki kemiripan dari segi tekstual/penulisan (approximate string matching) atau kemiripan ucapan (phonetic string matching).

Berdasarkan bentuk kemiripannya, inexact string matching juga dapat dibedakan menjadi dua, yaitu:

(24)

a. Approximate string matching merupakan pencocokan string berdasarkan kemiripan dari segi penulisan yang meliputi jumlah dan susunan karakter di dalam dokumen.

b. Phonetic string matching merupakan pencocokan string berdasarkan kemiripan dari segi pengucapan, meskipun terdapat perbedaan penulisan kedua string tersebut jika dibandingkan.

Kedua konsep pencocokan string, baik exact string matching atau inexact string matching sama-sama memiliki manfaat. Jika user ingin mencari string di dalam dokumen yang sama persis dengan string masukan, maka gunakanlah exact string matching. Namun, jika user ingin pencarian string yang mendekati dengan string masukan atau terjadi kesalahan penulisan string masukan maupun dokumen objek pencarian, maka gunakanlah inexact string matching (Syaroni, et al. 2005).

2.5. Algoritma

2.5.1. Defenisi Algoritma

Istilah algoritma (algorithm) berasal dari kata “algoris” dan “ritmis”, yang pertama kali diungkapkan oleh seorang tokoh matematikawan Persia berkebangsaan Arab bernama Mohammed Ibn Musa Al-Khuwarizmi (825 M) dalam buku Al-Jabr Wa-al Muqabla. Dalam bidang pemrograman algoritma didefenisikan sebagai suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara matematis yang akan dikerjakan untuk menyelesaikan kasus-kasus tertentu (Ananda, et al. 2009).

Secara spesifik, algoritma juga dapat didefenisikan sebagai sekumpulan prosedur komputasi yang terdefinisi dengan baik dan memiliki beberapa nilai atau himpunan nilai sebagai nilai masukan dan menghasilkan nilai atau himpunan nilai sebagai nilai keluaran. Sebuah algoritma pada dasarnya adalah urutan langkah- langkah komputasi yang mengubah nilai input menjadi nilai output (Cormen, et al.

2001).

2.5.2. Algoritma Pencocokan String (String Matching)

Algoritma pencocokan string adalah sebuah proses pencarian tempat dari satu atau beberapa string yang ditemukan dalam sebuah kumpulan string atau teks. Jalan paling

(25)

sederhana adalah dengan cara membaca karakter satu persatu dan melakukan perhitungan kesalahan posisi yang ada dari string yang dicari (Dewanto, et al. 2007).

2.5.3. Algoritma Apostolico-Giancarlo

Algoritma apostolic-giancarlo merupakan algoritma pengembangan dari algoritma boyer-moore. Perbedaan algoritma apostolic-giancarlo dari algoritma boyer-moore terletak pada proses pencariannya yang menggunakan sebuah variabel bantu sebagai pengingat dalam proses pencarian. Variabel bantu pada algororitma apostolico giancarlo ini berfungsi untuk menyimpan informasi pasangan yang sudah cocok pada shift sebelumnya. Hal ini yang menjadi kelebihan dari algoritma apostolic-giancarlo, jika dibandingkan dengan algoritma booyer-moore (Crochemore et. al, 2004).

Pada dasarnya, Apostolico-giancarlo menyimpan pattern dari hasil setiap perbandingan yang sama, agar perbandingan tersebut tidak terjadi lagi. Berikut adalah contoh proses pencarian pattern AMRI dalam sebuah teks FAUZI AMRI.

Pattern :

Tabel 2.1 pattern.

I 0 1 2 3

X[i] A M R I

Kemudian, diperoleh tabel BmBc, tabel Suffix dan tabel BmGs dari pattern AMRI.

Tabel 2.2 BmBc dari pattern AMRI.

I 0 1 2 3

X[i] A M R *

BmBc 3 2 1 4

(26)

Tabel 2.3 Suffix dari pattern AMRI.

I 0 1 2 3

X[i] A M R I

Suffix 0 0 0 4

Tabel 2.4 BmGs dari pattern AMRI.

I 0 1 2 3

X[i] A M R I

BmGs 4 4 4 1

Pertama-tama akan disamakan posisi pattern dengan 4 karakter pertama pada teks.

Tabel 2.5 penyamaan posisi pattern dengan teks.

F A U Z I A M R I

A M R I

Kemudian, dilakukan perpindahan pertama posisi pattern terhadap teks.

Shift by : BmGs [3], BmBc [Z] - 4 + 4 = 4.

Max(1,4) = 4.

Kemudian, dilakukan pergeseran sebanyak 4 karakter.

Tabel 2.6 pergeseran posisi pattern sebanyak 4 karakter.

F A U Z I A M R I

A M R I

Kemudian, dilakukan perpindahan kedua posisi pattern terhadap teks.

Shift by : BmGs [3], BmBc [M] - 4 + 4 = 2 Max(1,2) = 2

Kemudian, dilakukan pergeseran sebanyak 2 karakter.

(27)

Tabel 2.7 pergeseran posisi pattern sebanyak 2 karakter, ditemukan kata yang sesuai dengan pattern

F A U Z I A M R I

A M R I

Setelah dilakukan pergeseran posisi pattern kedua, kemudian diperoleh kata yang dicari di dalam teks.

Berdasarkan penjelasan di atas, secara singkat, cara kerja algoritma giancarlo apostolico dapat disimpulkan sebagai berikut:

1. Input lokasi file yang akan dicari.

2. Input kata kunci pencarian.

3. Untuk setiap file yang diperiksa, urutkan nama file sesuai abjad tanpa ada karakter yang mengalami perulangan.

4. Hitung jumlah kemunculan masing-masing karakter kata kunci pada setiap file yang diperiksa. Untuk karakter kata kunci yang tidak ditemukan pada file, gunakan kode n+1, dimana n adalah jumlah index dari kata kunci. Untuk karakter kata kunci yang ditemukan pada file, gunakan index kemunculan karakter tersebut pada file sebagai kode.

5. Untuk setiap file yang diperiksa, lakukan pencocokan nama file terhadap kata kunci. Jika tidak terjadi kecocokan, lakukan shift berdasarkan kriteria karakter nama file, apakah termasuk bad-suffix shift atau good-suffix shift.

6. Good-suffix shift dilakukan jika karakter nama file bukan termasuk karakter buruk (memiliki kode lebih kecil dari n+1). Pergeseran dilakukan hingga ditemukan karakter yang cocok dengan karakter nama file pada kata kunci.

7. Bad-suffix shift dilakukan jika karakter nama file termasuk dalam karakter buruk (memiliki kode n+1). Pergeseran dilakukan sebanyak n+1.

8. Proses pencarian dihentikan jika seluruh karakter nama file yang diperiksa telah cocok dengan karakter pada kata kunci.

9. Hitung jumlah pergerseran (shift) untuk masing-masing pencarian nama file .

(28)

2.5.4. Algoritma Raita

Algoritma Raita dirancang untuk membandingkan karakter terakhir dari jendela teks dengan pattern yang bersesuaian, jika cocok kemudian karakter pertama,jika cocok juga maka dilanjutkan ke karakter tengah.

Akhirnya, jika mereka benar-benar cocok, maka selanjutnya algoritma akan membandingkan karakter lain mulai dari karakter kedua hingga ke karakter kedua terakhir, dan mungkin membandingkan dengan karakter tengah lagi.

Kebanyakan algoritma pencocokan string terdiri dari fase preprocessing dan fase pencarian. Tahap preprocessing menganalisis karakter dalam pola untuk menggunakan informasi ini untuk menentukan pergeseran pola dalam kasus ketidakcocokan atau seluruh pencocokan, dengan tujuan mengurangi jumlah perbandingan karakter, sedangkan fase pencarian mendefinisikan urutan perbandingan karakter dalam setiap upaya antara pola dan teks.(Klaib&Osborne, 2009).

Pada algoritma Raita terbagi atas 2 fase, yaitu : 1. Fase Preprocessing

2. Fase Pencarian

1. Fase Preprocessing

Fase preprocessing pada algoritma Raita terdiri dari penghitungan fungsi pergeseran bad-character dari algoritma Boyer Moore.Bad-character merupakan kumpulan karakter yang mewakili pola (pattern). Fungsi pergeseran bad-character dari algoritma Boyer Moore ini disimpan pada tabel bmBc.

Contoh perhitungan tabel pergeseran bmBc untuk pattern AMRI pada teks FAUZI AMRI.

Pattern :

Tabel 2.8 pattern

I 0 1 2 3

X[i] A M R I

(29)

Langkah 1 :

Diambil setiap perwakilan karakter dari pattern dan sebuah karakter pembantu “*”

untuk mewakilkan karakter yang belum ada. Dan karakter terakhir berubah menjadi

“*”.

Tabel 2.9 perubahan pada karakter terakhir pada pattern

A M R *

Nilai bmBc [x[i]] diisi dengan nilai dari panjang pattern (m). Pada contoh ini karena Pattern memiliki panjang 5, maka nilai bmBc [x[i]] adalah 5.

Tabel 2.10 Tabel BmBc dari pattern AMRI

A M R *

BmBc[c] 3 2 1 4

Langkah 2 :

Tabel 2.11 penyamaan posisi pattern terhadap teks

F A U Z I A M R I

A M R I

Karena tidak cocok, maka akan dilakukan pergeseran sesuai dengan nilai bmBc pada huruf terakhir (Z) dari perbandingan dengan pattern. bmBc [Z] = 4, maka dilakukan pergeseran ke kanan sebanyak 4 index.

Langkah 3 :

Tabel 2.12 perpindahan posisi pattern terhadap teks

F A U Z I A M R I

A M R I

Karena tidak cocok, maka akan dilakukan pergeseran sesuai dengan nilai bmBc pada huruf terakhir (M) dari perbandingan dengan pattern. bmBc [M] = 2, maka dilakukan pergeseran ke kanan sebanyak 2 index.

(30)

Langkah 5 :

Tabel 2.13 ditemukan kata yang sesuai dengan pattern

F A U Z I A M R I

A M R I

Karena sudah cocok, maka kata ditemukan.

2.6 Penelitian yang Relevan

Berikut ini beberapa penelitian yang terkait dengan algoritma Apostolico-Giancarlo dan algoritma Raita :

1. Zariani Mutia Syara (2017) mengimplementasikan dan membandingkan algoritma Smith dan algoritma Raita pada pencarian kata. Penelitian tersebut membuktikan bahwa algoritma raita memiliki rata-rata waktu pencarian sebesar 15,5 milidetik.

Sedangkan, algoritma Smith memiliki rata-rata waktu pencarian sebesar 40,7 milidetik.

2. Yasir Nasution (2016) mengimplementasikan algoritma Apostolico-Giancarlo pada aplikasi pencarian file berdasarkan struktur karakter. Penelitian ini membuktikan bahwa algoritma Apostolico-Giancarlo mampu melakukan pencarian file pada folder atau drive yang ditentukan berdasarkan kata kunci yang diberikan oleh pengguna.

(31)

BAB III

ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem

Analisis sistem adalah tahapan dimana untuk menjelaskan pemahaman tentang sistem yang dibuat secara keseluruhan dimana sistem diuraikan menjadi komponen- komponen dengan tujuan untuk mempelajari kinerja masing-masing komponen.

Tahapan ini dilakukan agar pada saat proses perancangan aplikasi tidak terjadi kesalahan dan sistem dapat berproses dengan baik yang sesuai dengan tujuan utama pembuatan sistem.

Dalam analisis sistem terdapat tiga fase untuk mendeskripsikan pengembangan sistem yaitu, menganalisis masalah yang untuk mempelajari dan memahami bidang masalah secara menyeluruh, analisis kebutuhan dimana menjelaskan fungsi-fungsi yang ditawarkan dan mampu dikerjakan oleh sistem baik kebutuhan fungsional maupun non fungsional, dan yang terakhir analisis proses yang untuk memodelkan cara kerja dari sistem yang kan dibuat.

3.1.1. Analisis Masalah

Analisis masalah merupakan tahapan awal dalam analisis sistem, karena analisis masalah bertujuan untuk mengindetifikasi pokok-pokok masalah sehingga tercapai titik keputusan. Sebelumnya telah diuraikan latar belakang dari skripsi ini, masalah yang akan dibahas adalah bagaimana melakukan pencarian atau pencocokan untuk menemukan string pada teks dalam kamus istilah Islam berbasis android dan meneliti perbandingan antara algoritma Apostolico-Giancarlo dan algoritma Raita untuk pencocokan string.

Untuk membantu menganalisis, mengidentifikasi, dan menyelesaikan masalah memerlukan suatu cara yang saat ini sering digunakan yaitu Ishikawa diagram/diagram Ishikawa. Diagram Ishikawa (fishbone diagram) yang merupakan buah pikiran dari Dr. Kaoru Ishikawa seorang tokoh yang memprakarsai proses manajemen kualitas di perusahaan Kawasaki, Jepang, dan dalam proses selanjutnya menjadi salah satu bapak pendiri manajemen modern sekitar tahun 1960-an . Diagram

(32)

Ishikawa adalah diagram yang menunjukkan penyebab-penyebab dari sebuah even yang spesifik. Diagram Ishikawa diperkenalkan pada tahun 1968. Diagram ini umumnya digunakan untuk mengidentifikasi faktor-faktor yang signifikan memberi efek pada sebuah even. Diagram Ishikawa pada sistem aplikasi ini dapat dilihat pada Gambar 3.1.

Gambar 3.1. Diagram Ishikawa untuk Analisis Masalah

Pada gambar 3.1. dapat dilihat bagaimana sistem yang akan dibangun akan memproses suatu aktifitas pencarian pattern dalam string. Pada diagram Ishikawa diatas dapat dijelaskan bahwa bagian paling kanan (kotak/ kepala ikan) adalah nama masalah yaitu bagaimana membuat aplikasi Kamus Istilah Islam berbasis Android.

Kemudian duri- duri yang mengarah ke tulang utama (garis horizontal yang menuju ke kepala ikan) merupakan kategori masalah. Kategori penyebab masalahnya yaitu user, material, metode dan system. Keseluruhan detail tersebut mengarah ke bagian kepala yang merupakan topik utama dalam analisis masalah.

(33)

3.1.2. Analisis Kebutuhan

Analisis kebutuhan adalah proses untuk mendapatkan informasi, model dan spesifikasi yang mendeskripsikan tentang perangkat lunak yang akan dibangun, yaitu terbagi atas dua bagian kebutuhan fungsional dan kebutuhan nonfungsional.

3.1.2.1. Kebutuhan Fungsional

Kebutuhan fungsional adalah layanan sistem yang harus tersedia di dalam suatu sistem, bagaimana sistem bekerja pada masukan (input) tertentu, dan bagaimana perilaku sistem pada situasi tertentu. Keakuratan kebutuhan fungsional adalah ketika sistem dapat memberikan informasi yang tepat untuk pengguna (user) sesuai dengan data yang dimasukkan. Adapun kebutuhan fungsional yang ada pada aplikasi kamus istilah Komputer ini adalah :

1. Aplikasi dapat mencocokan string dari kata yang dimasukkan oleh user aplikasi dapat mencari kata dengan algoritma Apostolico-Giancarlo dan algoritma Raita 2. Aplikasi dapat memberikan hasil pencarian kata dan menampilkannya pada

antarmuka sistem

3. Aplikasi akan menampilkan lamanya waktu pencarian dari masing – masing algoritma yang diimplementasikan di dalamnya

4. Aplikasi akan menampilkan arti lengkap sesuai dengan keyword dan istilah kata yang di input.

(34)

3.1.2.2. Kebutuhan Non-fungsional

Kebutuhan non-fungsional adalah persyaratan yang menitikberatkan pada properti yang dimiliki oleh sistem, seperti batasan waktu, batasan pengembangan proses, standarisasi, dan segala layanan atau fungsi yang ditawarkan oleh sistem. Beberapa hal utama yang ada di dalam persyaratan non-fungsional adalah sebagai berikut:

1. Usability, yaitu persyaratan non-fungsional yang terkait dengan kemudahan penggunaan sistem atau perangkat lunak oleh user

2. Reliability, yaitu persyaratan yang terkait dengan kehandalan sistem atau perangkat lunak, termasuk juga faktor keamanan dari sistem

3. Portability, yaitu kemudahan dalam pengaksesan sistem, khususnya terkait dengan faktor waktu dan lokasi pengaksesan, serta perangkat atau teknologi yang digunakan untuk mengakses

4. Supportability, yaitu persyaratan yang terkait dengan dukungan dalam hal penggunaan sistem atau perangkat lunak.

Adapun kebutuhan non-fungsional yang dibutuhkan pada aplikasi kamus Istilah Komputer ini adalah :

1. Performa

Perangkat lunak yang dibangun dapat menunjukkan hasil pencarian kata yang diinputkan oleh user

2. Mudah Dipahami dan Digunakan

Tampilan yang dibangun simple dan user friendly (ramah pengguna) sehingga user tertarik dan mudah untuk mengerti setiap desain tampilan

3. Hemat Biaya

Perangkat lunak yang dibangun tidak memerlukan perangkat tambahan atau pendukung sehingga memerlukan biaya yang besar. Juga dapat diunduh pada Playstore dan tidak memerlukan kuota terlalu banyak

4. Panduan

Perangkat lunak yang dibangun memiliki panduan penggunaan.

(35)

3.1.3. Analisis Proses

Sistem yang akan dibangun mengizinkan user untuk melakukan pemilihan algoritma pencocokan string yang ingin digunakan. Sistem ini menggunakan algoritma Apostolico-Giancarlo dan algoritma Raita dalam proses pencocokan string. Sistem akan melakukan pencocokan kata yang dimasukkan oleh user dengan istilah kata yang terdapat dalam database. Kemudian, istilah kata yang sesuai dengan kata masukan ditampilkan pada layout, serta lamanya waktu pencarian akan ditampilkan pada textview.

3.2. Perancangan Sistem

Tahap perancangan sistem merupakan tahap setelah analisis sistem. Pada analisis sistem mendapatkan gambaran dengan jelas tentang apa yang dikerjakan pada analisis sistem. Maka dilanjutkan dengan memikirkan bagaimana membentuk sistem tersebut.

Perancangan sistem dapat berupa penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi.

Perancangan sistem bertujuan untuk memenuhi kebutuhan kepada pemakai sistem, dan untuk memberikan gambaran yang jelas dan rancang bangun yang terlibat atau lebih condong pada desain sistem yang terperinci. Pada perancangan sistem ini sistem terdapat flowchart, use case diagram, activity diagram, sequence diagram dan perancangan antarmuka (interface).

3.2.1. Kerangka Menu

Secara umum, sistem yang akan dibangun memiliki beberapa halaman sebagai berikut.

1. Halaman Utama

Halaman utama merupakan halaman yang muncul ketika aplikasi pertama kali dijalankan. Pada halaman ini akan menampilkan Menu pada aplikasi.

2. Halaman Tentang

Pada halaman tentang memuat identitas singkat dari penulis dan judul dari penelitian.

3. Halaman Bantuan

Pada halaman bantuan memuat panduan dalam menggunakan aplikasi.

(36)

3.2.2. Use-Case Diagram

Use-case ialah urutan langkah–langkah yang saling terkait (skenario), baik terotomatisasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal. Diagram use-case adalah diagram yang menggambarkan interaksi antara sistem dengan sistem eksternal dan user.

Diagram use-case menunjukkan tiga aspek dari sistem, yaitu: actor, use-case, dan system/sub system boundary. Steoreotype adalah sebuah model khusus yang terbatas untuk kondisi tertentu. Untuk menunjukkan stereotype digunakan simbol

“<<” diawalnya dan ditutup “>>” diakhirnya. <<extends>> digunakan untuk menunjukkan bahwa satu use-case merupakan tambahan fungsional dari use-case lain jika kondisi atau syarat tertentu yang terpenuhi. Sedangkan <<include>> digunakan untuk menggambarkan bahwa suatu use-case seluruhnya merupakan fungsionalitas dari use-case lainnya. Aktor yang berinteraksi dalam sistem ini adalah user aplikasi, dan fungsi (use-case) dihubungkan dengan tanda panah yang menyatakan bahwa aktor mengajukan permintaan terhadap use-case. Use-case diagram dari sistem yang akan dibangun dapat dilihat pada Gambar 3.2.

Gambar 3.2 Use-case Diagram

(37)

Diagram use case pada Gambar 3.2. menunjukkan diagram use case diagram sistem yang terdapat interaksi sistem yang akan dijalankan sistem kepada user. Pada use case diagram di atas terdapat satu actor pada use case yaitu user. Kemudian, user dapat melakukan interaksi dengan sistem sebanyak dua use case. Pertama, user dapat memasukkan pattern yang ingin dicari. Kedua, user akan memilih algoritma pencarian antara algoritma Apostolico-Giancarlo dan algoritma Raita. Setelah itu, sistem akan memproses dan menampilkan hasil pencarian.

Untuk menampilkan hasil pencarian, penulis menambahkan bagian includes pada use case, artinya bahwa hasil pencarian kata hanya bisa ditampilkan jika sebelumnya user telah memasukkan kata yang dicari. Untuk lebih jelasnya, masing- masing use case akan dideskripsikan ke dalam bentuk tabel skenario use case. Untuk memperjelas use-case tersebut dapat di deskripsikan kedalan tabel skenario pada Tabel 3.1. dan Tabel 3.2.

Tabel 3.1. Tabel Skenario Use-case Memasukkan pattern Name Memasukkan pattern

Actor User

Description Use case ini mendeskripsikan untuk memasukkan pattern yang akan dicari dalam aplikasi Kamus Istilah Islam

Basic Flow User meng-input pattern Alternate Flow -

Pre Condition User dapat melihat tampilan menu utama

Post Condition User mengetahui pattern yang akan dicari pada aplikasi Kamus Istilah Islam

Tabel 3.2. Tabel Skenario Use-case Memilih Algoritma Name Memilih Algoritma

Actor User

Description Use case ini mendeskripsikan untuk memilih algoritma yang akan Dipakai dalam mencari pattern

Basic Flow User menentukan algoritma yang akan digunakan Alternate Flow User dapat mengganti algortima yang akan digunakan

(38)

Pre Condition User dapat melihat tampilan button pemilihan algoritma Post Condition User mendapatkan hasil pencarian pattern

3.2.3. Activity Diagram

Activity diagram merupakan diagram yang menggambarkan alur aktivitas dalam sistem yang sedang dirancang, bagaiman masing-masing alur berawal, proses yang terjadi, keputusan yang mungkin terjadi dan sampai bagaimana sistem akan berakhir.

Pada sistem yang akan dibangun activity diagram dapat dilihat pada Gambar 3.3.

berikut.

Gambar 3.3. Activity Diagram

Pada activity diagram pada gambar diatas, menjelaskan hubungan antara user dan system. Yang pertama kali dilakukan oleh user yaitu membuka aplikasi Kamus Istilah Islam, lalu system akan menampilkan splashscreen dan halaman utama dan menu lain dalam system. Kemudian user dapat memilih yaitu, tentang yang akan

(39)

menampilkan halaman tentang, bantuan yang akan menampilkan halaman bantuan, atau memilih input pattern yang setelah itu user memilih algoritma yang ingin digunakan dan system akan memproses pencocockan pattern dengan algoritma yang dipilih. Dalam proses pencocokan string terdapat kondisi dimana jika pattern yang dicari ditemukan maka akan menampilkan hasil dari pencarian namun jika pattern yang dicari tidak ditemukan maka system tidaka akan menampilkan apapun.

3.2.4. Sequence Diagram

Sequence Diagram (diagram urutan) adalah suatu diagram yang menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah rangkaian waktu. Sequence diagram digunakan untuk menggambarkan skenario yang dilakukan sebagai sebuah respon dari suatu kejadian untuk menghasilkan sebuah output tertentu.

Sequence diagram pada sistem kamus ini akan ditunjukkan pada gambar 3.4. berikut

Gambar 3.4. Sequence Diagram

(40)

3.3. Diagram Alir (Flowchart)

Flowchart atau diagram alir adalah bagan-bagan yang mempunyai alir yang menggambarkan langkah-langkah penyelesaian suatu masalah dan merupakan cara penyajian dari suatu algoritma. Flowchart dari gambaran umum sistem ditunjukkan pada gambar 3.5. berikut ini.

Gambar 3.5. Flowchart Gambaran Umum Sistem

(41)

3.4. Perancangan Antarmuka (Interface)

Proses perancangan antarmuka sistem aplikasi bertujuan untuk mempermudah user dalam berinteraksi dengan sistem sehingga memberikan kenyamanan dan kemudahan dalam penggunaannya. Antarmuka yang dirancang diharapkan dapat memperhatikan faktor user sehingga menghasilkan aplikasi yang ramah user (user friendly).

1. Rancangan Halaman Splash Screen

Halaman Splash Screen merupakan halaman yang pertama kali muncul pada saat sistem dibuka. Rancangan Splash Screen dapat dilihat pada gambar 3.6. berikut ini.

Gambar 3.6. Rancangan Splash Screen Keterangan :

1. Splash Screen untuk menampilkan loading progress saat pertama kali membuka aplikasi.

2. Halaman Utama

Gambar 3.7. merupakan halaman yang tampil setelah flash screen. terdapat 4 button pilihan yaitu button untuk menuju ke halaman pencarian, button untuk menuju ke

Kamus Istilah

Islam

(42)

halaman sumber data, button untuk menuju ke halaman tentang, button exit untuk keluar dari aplikasi.

Gambar 3.7. Halaman utama aplikasi kamus

Keterangan Gambar :

1) Button untuk menuju ke halaman pencarian pattern.

2) Button untuk menuju ke halaman sumber data.

3) Button untuk menuju ke halaman tentang penulis skripsi.

4) Button untuk keluar dari aplikasi.

3. Halaman Pencarian

Pada halaman ini terdapat dua tab, yaitu algoritma Apostolico-Giancarlo bagi user yang ingin melakukan pencarian dengan algoritma Apostolico-Giancarlo. Kemudian, algoritma Raita, bagi user yang ingin melakukan pencarian dengan algoritma Raita.

Pencarian

Sumber

Exit Tentang

1

2

3

4

(43)

Gambar 3.8. Halaman Pencarian Keterangan Gambar :

1) FieldText digunakan untuk memasukkan kata yang ingin dicari terjemahannya.

2) Button untuk memilih algoritma apa yang akan digunakan dalam pencarian pattern..

3) Listview untuk menampilkan kata yang ada di dalam database.

4. Halaman Hasil Pencarian

Gambar 3.9. adalah tampilan ketika user memasukkan kata yang ingin dicari dan akan memberikan hasil pencarian.

Masukkan Kata

1. Kafalah

3. kafur 2. kaffah

4. Kalam

1

Apostolico-Giancarlo Raita 2

3

(44)

Gambar 3.9. Halaman Hasil Pencarian

Keterangan Gambar :

1) FieldText digunakan untuk memasukkan kata yang ingin dicari terjemahannya.

2) Button untuk memilih algoritma apa yang akan digunakan dalam pencarian pattern..

3) TextBox untuk menampilkan makna kata yang dicari.

5. Halaman Sumber Data

Pada halaman sumber data memuat tentang buku yang digunakan sebagai sumber data aplikasi kamus istilah islam.

Kamus Istilah Telekomunikasi

ma'mum

ma’mum

1. orang yang mengikuti seorang imam; pengikut; 2. orang yang harus melakukan sesuatu yang sama dalam segala hal atau gerak atau perilaku seperti orang yang diikutinya dan tidak boleh mendahuluinya.

3

1

Apostolico-Giancarlo Raita 2

(45)

Gambar 3.10. Halaman Sumber Data

Keterangan Gambar :

1) Gambar buku Kamus Pintar Islam yang dijadikan sebagai sumber data.

6. Halaman Tentang

Pada halaman tentang memuat tentang identitas singkat dari penulis dan judul penelitian ini. Adapun tampilan dari halaman tentang dapat ditunjukkan pada gambar 3.11. berikut ini.

BUKU KAMUS PIINTAR ISLAM

1

(46)

Gambar 3.11. Halaman Tentang Keterangan Gambar :

1) Foto penulis.

2) Nama lengkap penulis.

3) Asal instansi pendidikan penulis.

3.5. Perancangan Database

Database Management System yang akan digunakan pada aplikasi yang akan dibangun adalah SQLITE. Struktur database yang akan digunakan dapat dilihat pada Tabel 3.3. berikut ini.

1

Fauzi Amri Sinambela

PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN

TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Photo penulis

1

2

3

(47)

Tabel 3.3. Perancangan Database

Table Column(s) Type Description

KamusIslam id Integer Not Null Untuk pengurutan istilah dalam database.

istilah (primary key)

Text Not Null Sebagai penanda bahwa data yang satu berbeda dengan data yang lain sekalipun ada kemungkinan isinya identik.

arti Text Not Null Penjelasan makna dari istilah kata dalam kamus Islam.

(48)

BAB IV

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1. Implementasi Sistem

Implementasi sistem adalah tahapan merepresentasikan hasil desain ke dalam pemrograman dimana merupakan lanjutan dari tahapan analisis dan perancangan sistem, sistem yang sebelumnya telah dirancang dalam bentuk prototype akan dibangun lebih kompleks ke dalam sebuah sistem dengan menggunakan bahasa pemrograman. Seperti yang telah dibahas sebelumnya pada bab 1, sistem ini akan dibangun dengan menggunakan bahasa pemrograman Java dan menggunakan sistem manajemen database SQLite sebagai penyimpan kamus kata. Pada sistem ini Terdapat 6 tampilan halaman, yaitu halaman flash screen, halaman utama, halaman pencarian, halaman hasil pencarian, halaman sumber data, halaman tentang,

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat lunak dan perangkat keras yang digunakan saat pembangunan sistem adalah sebagai berikut:

1. Processor Intel® Core™ i3 4030u ( 1,9 Ghz ) 2. Ram 4.00 GB

3. Hardisk 500 GB

4. Operating System Windows 7 64-bit 5. SQLite 3.10.1

6. SDK versi 8.0

7. Smartphone Android

(49)

4.1.2. Halaman Splash Screen

Halaman Splash Screen merupakan halaman yang pertama kali muncul pada saat sistem dibuka. Halaman Splash Screen dapat dilihat pada Gambar 4.1.

Gambar 4.1. Halaman Splash Screen

4.1.3. Halaman Utama

Halaman utama merupakan tampilan antarmuka setelah splashscreen. Pada gambar 4.2 terdapat 4 button pilihan yaitu button untuk menuju ke halaman pencarian, button untuk menuju ke halaman sumber data, button untuk menuju ke halaman tentang, button exit untuk keluar dari aplikasi.

(50)

Gambar 4.2. Halaman Utama

4.1.4. Halaman Pencarian

Gambar 4.3. adalah halaman pencarian, dimana terdapat FieldText digunakan untuk memasukkan kata yang ingin dicari terjemahannya. Dan terdapat juga dua buah tab pilihan algoritma yaitu algoritma Apostolico-Giancarlo dan algoritma Raita. Juga terdapat Listview untuk menampilkan kata yang ada di dalam database.

(51)

Gambar 4.3. Halaman Pencarian

4.1.5. Halaman Hasil Pencarian

Gambar 4.4. adalah hasil pencarian berdasarkan istilah, dimana pattern yang dicari yaitu “ma‟mum”, ketika user memasukkan kata “ma’mum” yang akan dicari, kemudian user memilih algoritma pencarian, maka sistem akan mencari istilah kata yang mengandung pattern “ma’mum” di dalam database kemudian ditampilkan dalam listview. Gambar berikut merupakan hasil pencarian berdasarkan istilah.

(52)

Gambar 4.4. Halaman hasil pencarian berdasarkan istilah

Gambar 4.5. adalah hasil pencarian berdasarkan keyword, dimana pattern yang dicari yaitu “fi’il”, ketika user memasukkan kata “fi’il” yang akan dicari, kemudian user memilih algoritma pencarian, maka sistem akan mencari istilah kata yang relevan dengan keyword “ma’mum” di dalam database kemudian ditampilkan dalam listview.

Gambar berikut merupakan hasil pencarian keyword “fi’il” yaitu ditemukan “fi’il”,

(53)

“fi’il amar”, “fi’il lazim”, “fi’il madhi”, “fi’il mudhari’”, “fi’il muta’addi”, “fi’il nahi”.

Gambar 4.5. Halaman hasil pencarian berdasarkan keyword

(54)

4.1.6. Halaman Sumber Data

Merupakan tampilan halaman yang berisi informasi mengenai buku yang dipakai sebagai sumber database aplikasi. Yaitu buku “Kamus Pintar Islam” karangan Mohammad A. Syuropati.

Gambar 4.6. Halaman Sumber Data

(55)

4.1.7. Halaman Tentang

Merupakan tampilan halaman yang berisi informasi singkat dari penulis. Tampilan halaman tentang dapat dilihat pada gambar 4.7. berikut ini.

Gambar 4.7. Halaman Tentang

(56)

4.2. Pengujian sistem

Pengujian sistem dilakukan dengan tujuan untuk membuktikan bahwa sistem yang telah dibangun berjalan dengan baik serta sesuai dengan analisis dan perancangan sistem yang telah dibuat sebelumnya. Pengujian dilakukan untuk mengetahui bagaimana kinerja sistem dalam aplikasi pencarian istilah Islam menggunakan algoritma Apostolico-Giancarlo dan algoritma Raita.

Dalam pengujian sistem ini, yang bertindak sebagai masukan adalah string.

String yang cocok di dalam database akan dikeluarkan sebagai output sistem ketika algoritma berhasil melakukan pencocokan kata. Tabel 4.1. adalah sampel kata yang ada di dalam database untuk melakukan tes pencarian kata istilah.

Tabel 4.1. Sampel Kata di dalam Database

NO. KATA

1. A‟la 2. Abbad 3. Abtar 4. Abiq 5. Adab

Kecocokan input, output, serta hasil running time pencariannya terdapat pada Tabel 4.2. dan 4.3. berikut ini.

Tabel 4.2. Pengujian sistem pencocokan string dengan Algoritma Apostolico- Giancarlo

No String Masukan

Gambar Hasil Hasil Pencarian Running Time(ms)

1. A‟la Ditemukan 4

(57)

No String Masukan

Gambar Hasil Hasil Pencarian Running Time(ms)

2. Abbad Ditemukan 4

3. Abtar Ditemukan 6

4. Abiq Tidak Ditemukan 5

(58)

No String Masukan

Gambar Hasil Hasil Pencarian Running Time(ms)

5. Adab Ditemukan 4

Tabel 4.3. Pengujian sistem pencocokan string dengan Algoritma Raita No String

Masukan

Gambar Hasil Hasil Pencarian Running Time(ms)

1. A‟la Ditemukan 3

2. Abbad Ditemukan 3

(59)

No String Masukan

Gambar Hasil Hasil Pencarian Running Time(ms)

3. Abtar Ditemukan 4

4. Abiq Tidak Ditemukan 4

5. Adab Ditemukan 3

Dari hasil pengujian sistem algoritma Morris-Pratt dan algoritma Berry- Ravindran algoritma Apostolico-Giancarlo dan algoritma Raita terdapat perbedaan running time diantara keduanya. Faktor yang mempengaruhi perbedaan running time pada percobaan lima pattern dalam tabel 4.2. dan tabel 4.3. adalah kecepatan processor computer dan mobile device yang digunakan, banyaknya langkah dalam

Gambar

Tabel 2.7 pergeseran posisi pattern sebanyak 2 karakter, ditemukan kata yang sesuai  dengan pattern
Gambar 3.1. Diagram Ishikawa untuk Analisis Masalah
Diagram  use-case  menunjukkan  tiga  aspek  dari  sistem,  yaitu:  actor,  use-case,  dan  system/sub  system  boundary
Diagram  use  case  pada  Gambar 3.2.  menunjukkan diagram  use  case diagram  sistem  yang terdapat interaksi sistem yang akan dijalankan sistem kepada user
+7

Referensi

Dokumen terkait

Pengujian sistem dilakukan untuk mengetahui bagaimana cara kerja sistem dalam melakukan pencarian kata pada kamus Fisika dengan menggunakan Algoritma Turbo Boyer Moore dan

Pada Implementasi Algoritma Knuth Morris Pratt untun mencari kata atau istilah pada komputer berbasis Android maka masuk dalam klasifikasi pencocokan string Exact string matching

Implementasi Algoritma Pencocokan String Boyer Moore dalam pembuatan Contact Manager pada platform android.. Universitas Sumatra

Adapun masalah yang akan dibahas pada penelitian ini ialah bagaimana hasil analisis pengimplementasian pencarian kata pada kamus istilah hukum dengan menggunakan 2

Penelitian ini bertujuan untuk membangun Aplikasi Kamus Bahasa Indonesia- Arab dengan menerapkan Algoritma string matching pada proses pencarian kata dalam kamus.. String

Moore, Turbo Boyer Moore dan Tuned Boyer Moore dalam Pencarian String. A fast string matching

adalah penulis mencari algoritma mana yang lebih efisien dengan mencocokkan. string diukur berdasarkan kompleksitas ( big Ө ) dan waktu yang

Implementasi Algoritma Knuth-Morris Pratt String Matching untuk Mencari Kata atau Istilah pada Kamus Komputer Berbasis Android.. Universitas