Anda di halaman 1dari 128

IMPLEMENTASI GOOGLE SPEECH API PADA APLIKASI TAHFIDZ

MUROJA’AH HAFALAN AL-QUR’AN MENGGUNAKAN ALGORITMA


RABIN KARP BERBASIS ANDROID

SKRIPSI

MUHAMMAD KHOIR AL ALIM MANURUNG


0702162021

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SUMATERA UTARA
MEDAN
2021
IMPLEMENTASI GOOGLE SPEECH API PADA APLIKASI TAHFIDZ
MUROJA’AH HAFALAN AL-QUR’AN MENGGUNAKAN ALGORITMA
RABIN KARP BERBASIS ANDROID

SKRIPSI

Diajukan untuk memenuhi syarat mencapai gelar Sarjana

MUHAMMAD KHOIR AL ALIM MANURUNG


0702162021

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SUMATERA UTARA
MEDAN
2021
PERSETUJUAN SKRIPSI

ii
SURAT PERNYATAAN KEASLIAN SKRIPSI

iii
KEMENTERIAN AGAMA REPUBLIK INDONESIA
UNIVERSITAS ISLAM NEGERI SUMATERA UTARA MEDAN
FAKULTAS SAINS DAN TEKNOLOGI
Jl. IAIN No. 1 Medan, Kode Pos 20235
Telp. (061) 6615683-6622925, Fax. (061) 6615683
Url: www.saintek.uinsu.ac.id, E-mail: saintek@uinsu.ac.id

PENGESAHAN TUGAS AKHIR


Nomor: B.062/ST/ST.V.2/PP. 01.1/04/2021

iv
MOTTO

“Bukanlah ilmu yang semestinya mendatangimu, tetapi kamulah yang


seharusnya mendatangi ilmu itu”
(Imam Malik)

v
PERSEMBAHAN

Dengan mengucapkan syukur Alhamdulillah dan mengharapkan ridho dan


rahmat Allah Subhanahu Wata’ala, saya persembahkan karya tulis ini kepada:
1. Kedua orangtua penulis, Khairul Saleh Manurung (Ayah) dan Mardiana
Daulay (Ibu) atas kesabaran, ketulusan hati dalam mendidik, mengasuh dan
membimbing penulis dengan kasih sayang yang disertai dengan doa yang
selalu mengiringi sehingga menghantarkan penulis lulus dari Perguruan
Tinggi Negeri UIN Sumatera Utara Medan.
2. Kepada Kakak penulis Khairunnisa Br. Manurung, terima kasih atas doa,
kesabaran, masukan dan kepercayaan serta support-nya disegala kondisi
apapun yang tiada putusnya kepada penulis hingga saat ini.
3. Almamater penulis UIN Sumatera Utara Medan yang penulis banggakan.

vi
IMPLEMENTASI GOOGLE SPEECH API PADA APLIKASI TAHFIDZ
MUROJA’AH HAFALAN AL-QUR’AN MENGGUNAKAN ALGORITMA
RABIN KARP BERBASIS ANDROID

ABSTRAK

Aplikasi tahfidz muroja’ah hafalan Al-Qur’an merupakan sebuah aplikasi


berbasis android yang digunakan untuk membantu penghafal Al-Qur’an dalam
melakukan tahfidz muroja’ah hafalan. Aplikasi dibangun menggunakan teknologi
Speech Recognition in Artificial Intelligence (AI) dengan mengimplementasikan
Google Speech API dan Algoritma Rabin Karp untuk mengubah ucapan pengguna
menjadi sebuah string yang kemudian dibandingkan dengan string ayat yang benar.
Adapun metode pengumpulan data, penulis menggunakan metode penelitian
kualitatif, dengan melakukan observasi, wawancara dan penelitian kepustakaan.
Aplikasi yang dibangun berhasil menerapkan fitur Google Speech API beserta
Algoritma Rabin Karp pada aplikasi dengan output menampilkan informasi
mengenai status tepat atau tidaknya beserta persentase akurasi kesamaan antara data
ayat yang benar dengan suara yang diucapkan pengguna.

Kata Kunci : Murojaah, Artificial Intelligence, Speech Recognition, Google


Speech API, Algoritma Rabin Karp, Android

vii
IMPLEMENTATION OF GOOGLE SPEECH API ON THE TAHFIDZ
MUROJA'AH APPLICATION IN AL-QUR'AN MEMORIZING USING
RABIN KARP ALGORITHM BASED ON ANDROID

ABSTRACT

The tahfidz muroja'ah application in Al-Qur'an memorizing is an android-based


application that is used to help memorizers of the Al-Qur’an in doing muroja'ah
memorization. The application is built using Speech Recognition in Artificial
Intelligence (AI) technology by implementing the Google Speech API and the
Rabin Karp Algorithm to convert the user's speech into a string which is then
compared with the correct verse string. As for data collection methods, the author
uses qualitative research methods, by conducting observations, interviews, and
literature research. The application that was built successfully implemented the
Google Speech API feature along with the Rabin Karp Algorithm with the output
displaying information about the correct status or not along with the percentage
accuracy of the similarity between the correct verse data and the voice spoken by
the user.

Keywords : Murojaah, Artificial Intelligence, Speech Recognition, Google Speech


API, Rabin Karp Algorithm, Android

viii
KATA PENGANTAR

Assalamu’alaikum Warahmatullahi Wabarakatuh,


Alhamdulillahirabbil’alamiin, Puji dan syukur penulis panjatkan atas ke
hadirat Allah Subhanahu Wa Ta’ala, berkat limpahan rahmat dan karunia-Nya
penulis dapat menyelesaikan penyusunan skripsi ini sebagai persyaratan untuk
memenuhi salah satu syarat kelulusan S-1 Sarjana Komputer pada Program Studi
Sistem Informasi Universitas Islam Negeri Sumatera Utara dengan judul skripsi
“Implementasi Google Speech API Pada Aplikasi Tahfidz Muroja’ah Hafalan
Al-Qur’an Menggunakan Algoritma Rabin Karp Berbasis Android”.
Shalawat beriring salam kepada Nabi Muhammad Shallallahu ’Alaihi
Wasallam semoga selalu tersampaikan hingga mudah-mudahan kita termasuk
kedalam umat beliau dan memperoleh syafa'at beliau di Yaumil Mahsyar kelak
Aamiin yaa Rabbal ‘alamiin. Dalam menyelesaikan skripsi ini penulis banyak
mendapat dukungan dari berbagai pihak. Oleh karena itu pada kesempatan ini
penulis juga ingin menyampaikan ucapan terimakasih kepada pihak-pihak yang
membantu, terutama kepada yang terhormat :
1. Bapak Prof. Dr. Syahrin Harahap, M.A. selaku rektor Universitas Islam
Negeri (UIN) Sumatera Utara Medan.
2. Bapak Dr. Mhd. Syahnan, M.A. selaku Dekan Fakultas Sains dan Teknologi
UIN Sumatera Utara Medan.
3. Bapak Samsudin, S.T, M.Kom. selaku Ketua Program Studi Sistem
Informasi UIN Sumatera Utara Medan, juga selaku Dosen Penasehat
Akademik penulis, dan juga sebagai Dosen Pembimbing I (satu) yang telah
membimbing penulis dalam menyelesaikan skripsi ini.
4. Bapak Suendri, M.Kom. selaku Sekretaris Program Studi Sistem Informasi
UIN Sumatera Utara Medan.

ix
5. Bapak Ali Ikhwan, M.Kom. selaku Dosen Pembimbing II (dua) yang telah
membimbing penulis selama menyelesaikan skripsi ini.
6. Ibu Raissa Amanda Putri, S.Kom, M.TI. selaku Dosen Pendamping yang
telah membimbing penulis selama menyelesaikan skripsi ini.
7. Bapak Ilka Zufria, M. Kom. selaku dosen penguji I (satu) yang telah
memberikan saran dan masukan untuk penyempurnaan skripsi ini.
8. Ibu Triase, ST, M.Kom. selaku dosen penguji II (dua) yang telah
memberikan saran dan masukan untuk penyempurnaan skripsi ini.
9. Bapak Adnan Buyung Nasution M.Kom. yang telah memberikan arahan dan
masukan dalam menentukan judul skripsi.
10. Bapak dan Ibu Dosen Program Studi Sistem Informasi yang telah
membimbing penulis selama mengikuti perkuliahan.
11. Kedua orangtua penulis yang selalu memberikan dukungan baik berupa
moril maupun materil dan doa yang selalu mengiringi penulis.
12. Kakak kandung penulis yang selalu memberikan masukan, dukungan dan
doa kepada penulis.
13. Semua pihak yang telah membantu penulis yang tidak dapat penulis sebut
satu persatu.

Penulis menyadari bahwa dalam penyusunan skripsi ini masih jauh dari
kesempurnaan, baik dalam isi maupun dalam sistematika penulisan. Oleh karena
itu, penulis memohon maaf yang sebesar-besarnya dan dengan senang hati
menerima setiap kritik dan saran yang konstruktif dari pembaca sangat diharapkan.
Penulis berharap semoga skripsi ini dapat memberikan manfaat bagi semua pihak
yang membacanya. Wassalamu’alaikum Warahmatullahi Wabarakatuh.
Medan, April 2021
Penulis,

Muhammad Khoir Al Alim Manurung

x
DAFTAR ISI

Halaman

PERSETUJUAN SKRIPSI……………………………………….….………….ii

SURAT PERNYATAAN KEASLIAN SKRIPSI…………………….………..iii

PENGESAHAN SKRIPSI……………………………….……….……………..iv
MOTTO ............................................................................................................. v

PERSEMBAHAN ............................................................................................. vi

ABSTRAK........................................................................................................ vii

ABSTRACT .................................................................................................... viii

KATA PENGANTAR………………………………………………….………..ix

DAFTAR ISI ..................................................................................................... xi

DAFTAR GAMBAR ....................................................................................... xiv

DAFTAR TABEL ........................................................................................... xvi

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

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

1.2. Rumusan Masalah .................................................................. 3

1.3. Batasan Masalah..................................................................... 3

1.4. Tujuan Penelitian ................................................................... 3

1.5. Manfaat Penelitian.................................................................. 4

1.5.1. Bagi Mahasiswa .......................................................... 4

1.5.2. Bagi Perguruan Tinggi ................................................ 4

1.5.3. Bagi Masyarakat ......................................................... 4

BAB II TINJAUAN PUSTAKA ........................................................................ 5

2.1. Google Speech API ................................................................ 5

2.2. Aplikasi.................................................................................. 6

xi
2.3. Tahfidz ................................................................................... 6

2.4. Al-Qur’an ............................................................................... 7

2.5. Algoritma Rabin Karp .......................................................... 10

2.6. Android ................................................................................ 14

2.7. Fitur-fitur Android................................................................ 14

2.8. Sejarah Perkembangan Android............................................ 16

2.9. Versi Android ....................................................................... 17

2.10. Android Studio ..................................................................... 33

2.11. Flowchart ............................................................................. 34

2.12. Storyboart ............................................................................ 38

2.13. Unified Modeling Language ................................................. 39

2.14. Use case Diagram ................................................................ 39

2.15. Activity Diagram .................................................................. 42

2.16. Sequence Diagram ............................................................... 45

2.17. Class Diagram ..................................................................... 47

2.18. Penelitian sebelumnya .......................................................... 50

BAB III METODE PENELITIAN .................................................................. 54

3.1. Tempat dan Waktu Penelitian ............................................... 54

3.1.1. Tempat Penelitian ..................................................... 54

3.1.2. Waktu dan Jadwal Pelaksanaan Penelitian ................. 54

3.2. Kebutuhan Sistem ................................................................ 57

3.2.1. Perangkat Keras ........................................................ 58

3.2.2. Perangkat Lunak ....................................................... 58

3.3. Cara Kerja ............................................................................ 58

3.3.1. Metode Pengumpulan Data ....................................... 58

xii
3.3.2. Metode Pengembangan Sistem .................................. 59

3.3.3. Kerangka Berpikir ..................................................... 60

BAB IV HASIL DAN PEMBAHASAN........................................................... 61

4.1. Tempat dan Waktu Penelitian ............................................... 61

4.1.1. Analisis masalah ....................................................... 61

4.1.2. Analisis isi aplikasi ................................................... 61

4.2. Tahap Desain ....................................................................... 62

4.2.1. Flowchart ................................................................. 62

4.2.2. Use Case Diagram .................................................... 77

4.2.3. Activity Diagram ....................................................... 78

4.2.4. Sequence Diagram .................................................... 80

4.2.5. Class Diagram .......................................................... 80

4.2.6. Storyboard ................................................................ 82

4.2.7. Desain Interface (Antar Muka).................................. 84

4.3. Tahap Implementasi ............................................................. 88

4.4. Tahap Testing ....................................................................... 92

BAB V KESIMPULAN DAN SARAN ............................................................ 93

5.1. Kesimpulan .......................................................................... 93

5.2. Saran .................................................................................... 94

DAFTAR PUSTAKA ....................................................................................... 95

LAMPIRAN……………………………………………………………………..98

xiii
DAFTAR GAMBAR

Gambar Judul Gambar Halaman

Gambar 2.1. Android 1.0: Astro (Alpha) ............................................................ 18

Gambar 2.2. Android 1. 1 Bender (Beta) ............................................................ 19

Gambar 2.3. Android 1.5: Cupcake .................................................................... 20

Gambar 2.4. Android 1.6: Donut ........................................................................ 20

Gambar 2.5. Android 2.0: Éclair ........................................................................ 21

Gambar 2.6. Android 2.2: Froyo ........................................................................ 22

Gambar 2.7. Android 2.3 Gingerbread ............................................................... 22

Gambar 2.8. Android 3.0 Honeycomb ................................................................ 23

Gambar 2.9. Android 4.0 Ice Cream Sandwich................................................... 24

Gambar 2.10. Android 4.1 Jelly Bean................................................................. 24

Gambar 2.11. Android 4.4 KitKat ...................................................................... 25

Gambar 2.12. Android 5.0 Lollipop.................................................................... 26

Gambar 2.13. Android 6.0 Marshmallow ........................................................... 26

Gambar 2.14. Android 7.0 Nougat ..................................................................... 27

Gambar 2.15. Android 8.0 Oreo ......................................................................... 28

Gambar 2.16. Android 9.0 Pie............................................................................ 28

Gambar 2.17. Android 10 ................................................................................... 29

Gambar 2.18. Contoh StoryBoard ...................................................................... 38

Gambar 2.19. Contoh Use Case Diagram .......................................................... 41

Gambar 2.20. Contoh Acitivity Diagram ............................................................ 44

Gambar 2.21. Contoh Sequence diagram ........................................................... 46

Gambar 2.22. Contoh class diagram .................................................................. 49

xiv
Gambar 3.1. Denah Lokasi Tempat Penelitian .................................................... 54

Gambar 3.2. Kerangka Berpikir Penelitian ......................................................... 60

Gambar 4.1. Flowchart Aplikasi Muroja’ah....................................................... 62

Gambar 4.2.a. Flowchart Proses Algoritma Rabin Karp Aplikasi Muroja’ah ...... 64

Gambar 4.2.b. Lanjutan Flowchart Proses Algoritma Rabin Karp Aplikasi


Muroja’ah.......................................................................................................... 64

Gambar 4.2.c. Lanjutan Flowchart Proses Algoritma Rabin Karp Aplikasi


Muroja’ah.......................................................................................................... 65

Gambar 4.3. Use Case Diagram Aplikasi yang dibangun ................................... 78

Gambar 4.4. Activity Diagram Aplikasi yang dibangun ...................................... 79

Gambar 4.5. Sequence Diagram Aplikasi yang dibangun ................................... 80

Gambar 4.6. Class Diagram Aplikasi yang dibangun ......................................... 81

Gambar 4.7. Desain Tampilan Awal Daftar Surah .............................................. 85

Gambar 4.8. Desain Tampilan Latihan Murojaah ............................................... 86

Gambar 4.9. Desain Tampilan Google Speech .................................................... 87

Gambar 4.10. Implementasi tampilan awal aplikasi ............................................ 88

Gambar 4.11. Implementasi tampilan sebelum input suara ................................. 89

Gambar 4.12. Implementasi tampilan setelah input suara ................................... 90

Gambar 4.13. Implementasi tampilan google speech .......................................... 91

xv
DAFTAR TABEL

Tabel Judul Tabel Halaman

Tabel 2.1. Perkembangan Versi Android ............................................................ 29

Tabel 2.2. Simbol-simbol Flowchart .................................................................. 35

Tabel 2.3. Simbol Use Case Diagram ................................................................ 40

Tabel 2.4. Simbol Activity diagram .................................................................... 42

Tabel 2.5. Simbol Sequence Diagram ................................................................ 45

Tabel 2.6. Simbol Class Diagram ...................................................................... 47

Tabel 2.7. Penelitian sebelumnya ....................................................................... 50

Tabel 3.1. Waktu dan Jadwal Pelaksanaan Penelitian ......................................... 29

Tabel 4.1. Contoh penerapan string matching pada aplikasi ............................... 67

Tabel 4.2. Tahap text preprocessing ................................................................... 68

Tabel 4.3. Tahap parsing Kgram ........................................................................ 69

Tabel 4.4. Tabel Karakter ASCII ........................................................................ 70

Tabel 4.5. Tahap menghitung hashing pada Kgram ............................................ 71

Tabel 4.6. Tahap menghitung jumlah hasing dan hasil similarity........................ 71

Tabel 4.7. Storyboard Aplikasi Muroja’ah ......................................................... 82

Tabel 4.7.a. Storyboard Aplikasi Muroja’ah ...................................................... 83

Tabel 4.7.b. Storyboard Aplikasi Muroja’ah ....................................................... 84

Tabel 4.8. Pengujian Blackbox Testing pada aplikasi yang dibangun .................. 92

xvi
BAB I
PENDAHULUAN

1.1. Latar Belakang


Pada era revolusi 4.0 saat ini, ilmu pengetahuan dan teknologi mengalami
perkembangan yang sangat pesat. Yang diiringi dengan meningkatnya kebutuhan
manusia, menjadikan teknologi sebagai salah satu kebutuhan penting dalam
mendukung berbagai aktivitas manusia secara kompleks. Hal ini dapat dilihat dari
munculnya berbagai bidang ilmu pengetahuan dan teknologi yang baru seperti
artificial intelligence (AI) atau kecerdasan buatan, mixed reality, speech
recognition, machine learning, kecerdasan buatan dan lain sebagainya. Bidang ilmu
tersebut dikembangkan kedalam sebuah sistem atau inovasi teknologi yang dapat
memberikan kemudahan dalam hal pekerjaan manusia maupun dalam
menyelesaikan suatu permasalahan tertentu dengan lebih baik. Salah satu kemajuan
teknologi ini ditandai dengan munculnya smartphone dalam berbagai versi
terbarukan. Smartphone adalah telepon pintar yang memiliki kemampuan mobile
computing, dan memiliki fitur-fitur pendukung dalam sebuah aplikasi untuk
mendukung berbagai keperluan manusia serta memudahkan bagi penggunanya,
termasuk dalam hal menghafal dan muroja’ah hafalan Al-Qur’an.
Dalam praktik menghafal ayat-ayat Al-Qur’an diperlukan sebuah teknik
mengulang ayat-ayat yang dihafalkan dan kemudian disetorkan kepada seorang
mudabbir, guru maupun orang lain. Dalam melakukan hal tersebut, seorang
penghafal Al-Qur’an atau biasa disebut dengan seorang hafizh melantunkan ayat
hafalannya kepada orang lain untuk dapat dikoreksi apakah hafalannya sudah tepat
atau bahkan masih terdapat kesalahan. Jika belum tepat dan masih ada kesalahan
maka penghafal akan lebih mudah dalam memperbaiki hafalannya sampai fasih.
Cara tersebut dinilai kurang efektif karena seorang hafizh membutuhkan dan
mencari terlebih dahulu orang yang bisa mengkoreksi hafalannya, sebab jika
mengulang hafalan secara mandiri memungkinkan terdapat kesalahan yang tidak
disadari. Berdasarkan hal tersebut maka penulis ingin memfasilitasi seorang hafizh
maupun masyarakat umum dalam menambah dan mengkoreksi hafalannya

1
2

secara mandiri. Dengan memanfaatkan dan mengembangkan fitur pengenalan


ucapan (speech recognition) pada smartphone menggunakan Google Speech API.
Pada aplikasi yang dibangun, pengguna dapat mengucapkan sebuah ayat kemudian
aplikasi akan mencerna ayat tersebut dan akan diterjemahkan kedalam sebuah
string. Setelah itu ayat yang diucapkan oleh pengguna akan dibandingkan dengan
database ayat-ayat yang benar, dalam membandingkannya penulis menerapkan
algoritma Rabin Karp.
Adapun penelitian-penelitian terdahulu yang berkaitan dengan penelitian ini
yaitu dengan judul “Juz Amma Zaman Now. Aplikasi Penghafal Juz Amma (Tahfidz
Qur'an) Berbasis Android” yang diteliti oleh M. Isya Krisnaldi, dkk. Pada penelitian
tersebut aplikasi penghafal Juz Amma yang dibangun tidak menggunakan fitur
pengenalan suara atau speech recognition. Selanjutnya pada penelitian yang
dilakukan oleh Affandy Akbar, dkk. dengan judul “Implementasi Google Speech
API pada Aplikasi Koreksi Hafalan Al-Qur’an Berbasis Android” dimana
penelitian tersebut menerapkan Google speech API pada aplikasi yang dibangunnya
akan tetapi tidak terdapat sebuah algorithm atau penjelasan mengenai algoritma
tertentu yang dipakai pada aplikasi yang dibangun. Kemudian pada penelitian
Zainal Mujahidin yang berjudul “Implementasi Metode Rabin Karp Untuk
Mendeteksi Tingkat Kesamaan Dua Dokumen” menjelaskan tentang pendeteksian
kesamaan pada dua buah dokumen dengan algoritma rabin karp yang diterapkan
pada sistem yang dibangun oleh peneliti. Adapun perbedaannya dengan penelitian
ini, penulis membangun atau membuat aplikasi untuk muroja’ah hafalan Al-Qur’an
menggunakan Google Speech API dengan menerapkan algoritma Rabin Karp dalam
membandingkan ayat yang diucapkan oleh pengguna dengan data ayat yang benar,
apakah sudah benar atau belum tepat beserta persentase tingkat persamaannya
(similarity). Sehingga aplikasi dapat digunakan oleh masyarakat sebagai media
untuk melakukan muroja’ah hafalan secara mandiri dengan memanfaatkan
smartphone mereka.
Oleh sebab itu maka penulis mengambil judul yaitu “Implementasi Google
Speech API Pada Aplikasi Tahfidz Muroja’ah Hafalan Al-Qur’an
Menggunakan Algoritma Rabin Karp Berbasis Android”.
3

1.2. Rumusan Masalah


Berdasarkan penjelasan dari latar belakang sebelumnya, penulis merumuskan
suatu pokok permasalahan sebagai berikut:
1. Bagaimana membangun aplikasi muroja’ah Al-Qur’an dengan menerapkan
layanan dari Google Speech API ?
2. Bagaimana menerapkan algoritma Rabin Karp dalam menghitung akurasi
kemiripan ayat yang diucapkan pengguna pada aplikasi?

1.3. Batasan Masalah


Berikut batasan masalah penelitian skripsi pada aplikasi yang penulis bangun
adalah:
1. Fitur pengenalan suara (speech recognition) menggunakan layanan dari
Google Speech API dan hanya berfungsi apabila aplikasi terkoneksi dengan
jaringan internet..
2. Sampel data ayat pada aplikasi yang dibangun dibatasi sebanyak jumlah ayat
pada enam surah yaitu Surah Al-Fatihah, Al-Ma’un, Al-Kautsar, Al-Ikhlas,
Al-Falaq, dan An-Nas.
3. Aplikasi muroja’ah hanya berorientasi pada ucapan bacaan yang tepat dan
tidak termasuk pada koreksi ilmu-ilmu qiraat yang baik dan benar seperti
panjang pendek harakat, tajwid, qalqalah dan letak kesalahan hafalan pada
ayat yang diucapkan pengguna.

1.4. Tujuan Penelitian


Berikut adalah tujuan penelitian skripsi dari aplikasi muroja’ah yang ingin
dibangun, yaitu:
1. Membangun sebuah aplikasi muroja’ah hafalan Al-Qur’an dengan
mengimplementasikan teknologi pengenalan suara (speech recognition)
menggunakan Google Speech API.
2. Menerapkan algoritma Rabin Karp pada aplikasi untuk membandingkan dan
menghitung similaritas antara ayat yang diucapkan pengguna dengan data
ayat yang benar.
4

1.5. Manfaat Penelitian


Berikut manfaat penelitian skripsi dari aplikasi muroja’ah hafalan Al-Qur’an
adalah:

1.5.1. Bagi Mahasiswa


1. Meningkatkan kemampuan berpikir atau wawasan mengenai penerapan
algoritma dan teori-teori lainnya pada penelitian.
2. Meningkatkan kemampuan dalam membangun sebuah aplikasi yang
beriorientasi kepada masyarakat.
3. Mengetahui hasil penelitian yang akan didapatkan dari penerapan teori-teori
dan pengetahuan.

1.5.2. Bagi Perguruan Tinggi


1. Penelitian digunakan sebagai bahan referensi untuk penelitian lanjutan yang
mendalam dan lebih baik pada masa depan atau yang akan datang.
2. Penelitian dapat memberi kontribusi bagi pengembangan teori ilmu
pengetahuan.
3. Sebagai wujud dalam mendukung pengabdian masyarakat dengan solusi
inovasi yang memberikan manfaat kepada masyarakat.

1.5.3. Bagi Masyarakat


1. Sebagai fasilitas dalam melakukan muroja’ah hafalan Al-Qur’an secara
mandiri dengan memanfaatkan smartphone yang dimilikinya
2. Sebagai sarana dalam memotivasi masyarakat untuk melakukan muroja’ah
hafalan Al-Qur’an.
3. Mendorong masyarakat khususnya bagi generasi milenial untuk menjadi
generasi penghafal Al Qur’an.
BAB II
TINJAUAN PUSTAKA

2.1. Google Speech Application Programming Interface


Google Speech Application Programming Interface adalah sebuah layanan
pengembangan pada Model Machine Learning, dengan penggabungan Google
Translate Application Programming Interface dan Cloud Vision Application
Programming Interface. Pemanfaatannya dapat diterapkan untuk mengembangkan
sebuah aplikasi dengan menggunakan teknologi dari speech recognition. (Saputra,
Handani, dan Diniary, 2017) Menurut Baeker dalam jurnal Saputra dkk, Speech
Recognition merupakan sebuah pengenalan suara dimana terdapat sebuah proses
mengubah sinyal suara menjadi ilmu linguistik atau ilmu data digital atau Bahasa
mesin. Speech Recognition menyatakan sebuah kemampuan untuk melakukan
pencocokkan pola yang diperoleh dari kata terhadap sinyal suara dalam bentuk yang
mudah dikenali. (Baeker et al. 1995; Saputra et al. 2017).
Google Speech Application Programming Interface merupakan sebuah
framework dari perusahaan Google yang berguna mengenali suara manusia dengan
mengubah suara ke string. Speech Recognition dilakukan didalam server yang
dimiliki oleh Google dengan menerapkan algorithm HMM atau Hidden Markov
Model. Suara sebagai inputan dari device Android akan diantar ke server milik
Google, kemudian server tersebut akan memproses atau meng-convert suara ke
string dengan algoritma Hidden Markov Model. Hasil konversi string tersebut akan
diproses ke tahap selanjutnya. (Supriyanta, Widodo, dan Susanto. 2014).
Berdasarkan penjelasan tersebut dapat disimpulkan bahwa Google Speech
Application Programming Interface adalah layanan cloud atau kerangka pada
Google Cloud Platform yang dikembangkan oleh perusahaan Google untuk
mendukung pengembangan aplikasi Android. Google Speech Application
Programming ini bekerja dengan konsep mengenali suara yang diucapkan oleh
pengguna terlebih dahulu kemudian akan mengubahnya menjadi sebuah teks atau
string. Pengenalan suara atau speech recognition ini dilakukan didalam server
Google menggunakan algoritma Hidden Markov Model.

5
6

2.2. Aplikasi
Menurut Nazrudin Safaat H. yang penulis kutip dari Hendriyani dan Suryani,
Software aplikasi adalah perangkat lunak pada subkelas computer dengan
mengoptimalisasikan kemampuan dari perangkat computer untuk melakukan suatu
proses tertentu yang diharapkan oleh brainware. Contohnya dari software aplikasi
adalah seperti aplikasi pemutar media pengolahan kata, dan lembar kerja.
Sedangkan menurut Kadirm software aplikasi merupakan sebuah program yang
bisa untuk dipakai atau sebuah program yang bisa menyelesaikan beberapa tugas
tertentu untuk user-nya. Aplikasi dapat diartikan juga sebagai penerapan atau
penggunaa sebuah consept yang menjadi sebuah pokok-pokok pembahasan atau
sebagai program pada computer yang dibuat oleh programmer untuk user dalam
mendukung sebuah kegiatan atau aktivitas tertentu sehingga manusia terbantu atau
tertolong. (Hendriyani and Suryani 2020).
Aplikasi adalah program yang dibangun dengan tujuan tertentu atau untuk
melaksanakan sebuah fungsi sesuai dengan kegunaan aplikasinya, penggunanya
dan jenis aplikasi yang akan dibangun itu sendiri. Aplikasi biasanya dibuat dengan
bahasa pemrograman tertentu dengan tujuan membantu manusia dalam
menyelesaikan persoalan berdasarkan aturan yang berlaku dan sesuai dalam bahasa
pemrograman tersebut dan kemudian untuk mengolah data. (Pane, Sari, and
Wicaksono 2020).
Berdasarkan pengertian tersebut maka penulis dapat menyimpulkan bahwa
pengertian aplikasi merupakan program berupa software yang bisa dipakai atau
digunakan dalam melaksanakan kegiatan-kegiatan atau fungsi-fungsi tertentu
dengan memanfaatkan fitur-fitur atau kemampuan-kemampuan dari mobile
computing secara langsung dan juga bermanfaat bagi penggunanya yaitu manusia
dalam memecahkan masalah ataupun melaksanakan tugas tertentu dengan lebih
baik dan lebih cepat.

2.3. Tahfidz
Tahfidz berasal dari sebuah kata hafizh yang artinya menghafal. Kata
menghafal berasal dari kata hafal, kata hafal yaitu ingat dan tidak lupa. Kata hafal
7

berlawanan dengan kata lupa. Adapun arti dari kata penghafal yaitu seseorang yang
sedang dan kuat ingatannya mengenai sesuatu dengan tepat. Sedangkan hafizh Al-
Qur’an yaitu seseorang yang mahir hafalannya pada setiap ayat-ayat dan surah-
surah dalam Al-Qur’an mulai awal ayat hingga akhir ayat. (Aristanto, Hidayatullah,
and Rachmawati 2019).
Tahfidz merupakan sebuah proses kegiatan dan cara dalam menghafalkan
ayat suci Al-Qur’an. dengan cara mebacanya bekali-kali secara komprehensif.
Komprehensif disini maksudnya ialah dengan cara menghafalkan ayat dalam satu
baris dahulu kemudian berlanjut kebaris berikutnya, sampai memungkinkan tidak
ada lagi kesalahan-kesalahan. Kemudian setelah dapat dihafal dengan baik dan
benar, maka akan berlanjut dengan menambahkan hafalan ayat berikutnya hingga
selesai, benar dan sempurna. Setelah itu, ayat yang dihafalkan tadi akan diulang-
ulang atau dilakukan muroja’ah hafalan supaya hafalan tadi tidak mudah lupa dan
benar-benar hafal serta agar mudah diingat kembali. Supaya semakin memudahkan
untuk mengingatnya, seorang penghafal sebaiknya juga dapat membaca dan
memahami arti dari ayat Al-Qur’an yang sedang dihafalkan tersebut. (Sadulloh
2008).
Dari penjelasan tersebut dapat disimpulkan bahwan Tahfidz adalah sebuah
kegiatan mengingat atau menghafalkan setiap ayat suci Al-Qur’an. Adapun caranya
ialah dengan memperhatikan serta membacanya dengan cara berulang-ulang hingga
hafal dengan sempurna. Supaya lebih cepat menghafal, lebih baik seorang
penghafal dapat mendengarkan ayat yang dihafalkannya secara berulang-ulang dan
memahami arti dari setiap ayat yang sedang dihafalkan.

2.4. Al-Qur’an
Al-Qur’an menurut Abd al-Wahhab al-Khallaf yang penulis kutip dari
Abuddin Nata, Al-Qur’an merupakan firman Allah SWT yang diturunkan melalui
Malaikat Jibril (Ruh al-Amin) kepada hati Rasulullah SAW, Muhammad bin
Abdullah dengan menggunakan bahasa Arab dan maknanya yang benar, agar
menjadi hujjah (dalil) bagi Muhammad SAW sebagai Rasul, undang-undang bagi
kehidupan manusia serta hidayah bagi orang yang berpedoman kepadanya, menjadi
8

sarana pendekatan diri kepada Allah dengan cara membacanya. Ia tersusun di antara
dua mushaf yang dimulai dengan surah Al-Fathihah dan diakhiri dengan surah An-
Nas yang disampaikan secara mutawattir, baik dari segi tulisan maupun ucapannya,
dari satu generasi ke generasi lain, terpelihara dari berbagai perubahan dan
pergantian, (Nata 2016) sejalan dengan firman Allah pada Q.S. Al-Hijr ayat 9 yang
berbunyi :

Artinya: “Sesungguhnya Kamilah yang menurunkan al-Dizkr (Al-Qur’an) dan pasti


Kami (pula) yang memeliharanya”.

Penjelasan pada ayat diatas bahwa ayat tersebut memberikan sebuah jaminan
tentang kemurnian dan kesucian Al-Qur’an sepanjang masa. Berdasarkan
penjelasan tersebut, dapat penulis tarik kesimpulan bahwa Al-Qur’an merupakan
firman atau perkataan Allah SWT dalam bahasa Arab dan memiliki makna yang
benar. Al-Qur’an diturunkan kepada Nabi Muhammad SAW secara muttawattir,
yang dijadikan sebagai hujjah atau dalil bagi seluruh manusia khususnya bagi
ummat Nabi Muhammad SAW. Melalui perantaraan malaikat Jibril. Al-Qur’an
merupakan sebuah pedoman hidup dan hidayah bagi ummat Nabi Muhammad SAW,
dan juga merupakan sebagai salah satu sarana dalam mendekatan diri kepada Allah
SWT dengan cara memaknai artinya dan membacanya dengan hati. Al-Qur’an
terdiri dari 114 (seratus empat belas) surah. surah Al-Fathihah adalah surah ke-1
dalam Al-Qur’an dan surah An-Nas adalah surah ke-114. Al-Qur’an akan terjaga
dan kemurniannya dan terjamin keasliannya, baik dari tahun ke tahun, masa ke
masa, generasi ke generasi lainnya dan terhindar dari berbagai perubahan dan
pergantian.
Dalam kitab al-Itqon yang penulis kutip dari Ridhoul Wahidi, al-Suyuthi
menuliskan bahwa hukum dari menghafal Al-Qur’an adalah fardhu kifayah.
(Wahidi and Syukron Maksum 2013). Menghafal Al-Qur’an sangatlah penting
9

karena Al-Qur’an dapat memberikan petunjuk bagi manusia ke jalan yang benar.
Sebagaimana firman Allah pada Q.S. Al-Isra ayat 9 yang berbunyi :

Artinya, “Sungguh, Al-Qur’an ini memberi petunjuk ke (jalan) yang paling lurus
dan memberi kabar gembira kepada orang mukmin yang mengerjakan kebajikan,
bahwa mereka akan mendapat pahala yang besar”.

Selain itu menghafal Al-Qur’an adalah sebuah wujud dalam menjaga kemurnian
dan kesucian Al-Qur’an dan sebagai tanda manusia yang diberi Allah anugerah
berupa ilmu. Sebagaimana firman Allah pada Qur’an Surah Al-Ankabut ayat 49
berbunyi :

Artinya “Sebenarnya, (Al-Qur’an) itu adalah ayat-ayat yang jelas di dalam dada
orang-orang yang berilmu. Hanya orang-orang yang zalim yang mengingkari ayat-
ayat kami.”

Tafsir dari ayat tersebut menjelaskan bahwa, Seluruh ayat Al-Qur’an terpelihara
dalam dada dengan dihafal oleh banyak kaum muslimin secara turun-temurun dan
dipahami oleh mereka, sehingga tidak ada seorang pun yang dapat mengubahnya.
Penghafal Al-Qur’an sebagai orang yang berilmu yang dimuliakan Allah,
banyak mendapatkan kemuliaan baik didunia maupun akhirat diantaranya adalah
10

penghafal Al-Qur’an itu sebaik-baiknya manusia, Rasulullah Shallallahu’alaihi


Wasallam bersabda: “Sebaik-baik kalian adalah yang mempelajari Al Qur’an dan
mengajarkannya” (HR. Al Bukhari 4639). Selain itu diutamakan untuk menjadi
imam dalam shalat, akan mendapatkan syafa’at dari Al-Qur’an, derajat di surga
tergantung pada hafalannya semakin banyak hafalan maka akan semakin tinggi
kedudukan di surga (Purnama 2014), kemudian mendapatkan penghargaan khusus
dari Nabi Muhammad SAW (tasyrif nabawi), menjadi keluarga Allah yang berada
di atas bumi. Dalam sebuah hadist yang diriwayatkan oleh Imam Ahmad,
“Sesungguhnya Allah mempunyai keluarga di antara manusia,” para sahabat
bertanya, “Siapakah mereka ya Rasulullah?” Rasul menjawab, “Para ahli Al-
Qur’an. Merekalah keluarga Allah dan pilihan-pilihan-Nya. (HR. Ahmad dan Ibnu
Majah). Selain itu penghafal Al-Qur’an juga diberikan kehormatan berupa mahkota
kemuliaan (tajul karamah), Kedua orang tua mereka akan mendapat kemuliaan.
Dalam hadits disebutkan, dari Buraidah Al Aslami ra, ia berkata bahwa ia
mendengar Rasulullah SAW bersabda “Siapa yang membaca Al-Quran,
mempelajarinya, dan mengamalkanya maka dipakaikan mahkota dari cahaya pada
hari kiamat. Cahayanya seperti cahaya matahari dan kedua orang tuanya
dipakaikan dua jubah (kemuliaan) yang tidak pernah didapatkan di dunia”.
Keduanya bertanya, “Mengapa kami dipakaikan jubah ini?” dijawab, “Karena
kalian berdua memerintahkan anak kalian untuk mempelajari Al-Qur’an.” (HR.
Al-Hakim) dan masih banyak keutamaan-keutamaan lainnya (Mahya and P n.d.).
Berdasarkan hal tersebut terdapat anjuran untuk dapat menghafalkan ayat-ayat suci
Al-Qur’an dengan keutamaan-keutamaannya maka sangatlah penting dan
sepantasnya bagi seorang muslim untuk bisa menghafal Al-Qur’an dengan
semampunya. Agar ayat yang dihafalkannya dapat dibawanya untuk beribadah
seperti shalat dan dapat menaikkan derajatnya di sisi Allah SWT.

2.5. Algoritma Rabin Karp


Algoritma Rabin Karp merupakan sebuah algoritma pencarian atau string
matching yang mencari pola substring dalam sebuah string menggunakan
perhitungan hashing. Algoritma ini bermanfaat dalam mencocokkan kata dengan
11

banyak pola atau pattern. (Siahaan et al. 2018). Algoritma Rabin Karp diinisiasikan
oleh Michael O. Rabin dan Richard M. Karp. Algoritma ini biasanya berguna pada
proses pencarian multiple pattern atau pola yang banyak daripada pencarian single
pattern atau pattern yang sedikit. Algoritma ini tidak akan menghiraukan atau
membuang huruf besar dari sebuah teks, dan membuang simbol-simbol lainnya
yang terdapat pada teks. Algoritma ini menggunakan fungsi hash yaitu adalah
sebuah fungsi yang digunakan dalam mengubah teks menjadi kumpulan bilangan
atau perhitungan integer dengan mengubahnya menjadi tipe data integer dengan
mengkonversi integer tersebut berdasarkan bilangan ASCII (American Standard
Code for Information Interchange atau Kode Standar Amerika untuk Pertukaran
Informasi). Dengan mengubahnya kedalam bilangan sesuai kode ASCII, proses ini
akan menjadi lebih seperti bahasa mesin. Pendekatan utama pada algoritma ini
adalah teks yang sama akan memiliki nilai hash yang sama pula. (Wirawan 2007).
Algoritma Rabin Karp menggunakan fungsi hash dengan melakukan
pencocokan teks untuk membandingkan antara teks dengan sub teks pada teks. Jika
hash value keduanya bernilai sama, maka akan dilakukan perbandingan terhadap
karakter pada teks sekali lagi. Dan jika kedua hash value-nya tidak sama, maka sub
teks tersebut akan bergerak ke arah kanan. Pergerakan ke arah kanan dilakukan
sebanyak bilangan tertentu. (Putra, Sujaini, dan Pratiwi 2015; dalam Rahmaddeni,
Sazali, dan Agustin 2018). Berikut adalah Langkah atau fase-fase tahapan dalam
penerapan Algoritma Rabin Karp (Rahmaddeni et al. 2018) adalah sebagai berikut:
1. Fase Preprocessing
Fase preprocessing merupakan proses dalam menentukan sebuah keyword
pada kedua teks dengan dilakukan sebuah proese pencocokan yaitu teks uji dan
atau teks pola atau pattern. Pada fase preprocessing terdapat beberapa fase yang
yaitu seperti berikut :
1.1. Fase Case Folding
Fase Case folding ialah proses menjadikan teks menjadi huruf kecil semua
dan kemudian membersihkan data dari seluruh karakter selain huruf kecil
dengan menghilangkan seluruh karakter selain huruf kecil seperti simbol-
simbol, tanda baca dan lain sebagainya.
12

1.2. Fase Tokenizing


Fase Tokenizing ialah sebuah cara untuk membersihkan dan menghapus
karakter selain huruf seperti simbol-simbol.
1.3. Fase Filtering
Fase Filtering ialah cara untuk memfilter atau mengambil karakter berupa
huruf abjad a kecil hingga z kecil.
2. Fase Parsing K-gram
Fase Parsing K-gram ialah sebuah cara untuk membagi kata-kata kedalam
sebuah pola pada teks dengan membaginya kedalam sebuah untaian-untaian teks.
Untaian-untaian tersebut terdaoat sebuah karakter sebanyak k yang ditentukan.
3. Fase Hashing
Fase Hasing ialah suatu cara dalam mentransformasikan teks menjadi sebuah
hash value atau nilai yang berbeda yaitu unique dengan fixed length atau panjang
tertentu dengan fungsi untuk sebagai penanda teks. Sistem yang akan dibangun
terdapat fase hashing dengan menggunakan bilangan ASCII yakni rumus sebagai
berikut :

Keterangan :
H = Hash
C = Bilangan ASCII pada setiap karakter
a = Basis dengan ketentuan tidak boleh 0 atau 1
k = Jumlah suatu karakter

4. Similarity
Similarity merupakan sebuah persentase tingkat kesamaan atau kemiripan
antara dokumen satu dengan dokumen lainnya. Setelah dilakukan proses pada
setiap fase-fase sebelumnya, maka akan diperoleh sebuah nilai akurasi
similaritasnya. (Mujahidin 2013). Menghitung similarity yaitu dengan cara
13

menghitung jumlah pada kgram yang digunakan pada dokumen-dokumen asli


dengan dokumen-dokumen yang diuji. (Wiguna and Rizqa 2015). Terdapat dua
tahapan k-gram yaitu pada tahapan pertama, dilakukan pembagian kata menjadi
k-gram. Pada tahapan yang kedua, dilakukan proses pengelompokkan k-gram
yang sama, untuk dihitung similaritas atau persamaan dari teks tersebut dengan
sebuah rumus menghitung dan mengukur nilai similaritas yang didapatkan dari
dokumen atau teks yang diinputkan. Adapaun rumus untuk mengukur nilai
similaritas tersebut adalah sebagai berikut:

(2 ∗ 𝑁𝑡)
𝑆=( ) ∗ 100
(𝑁𝑥 + 𝑁𝑦)

Keterangan:
S = Nilai dari pengukuran similarity
Nt = Total hashing yang sama pada teks
Nx = Jumlah k-gram pattern atau sub teks pattern
Ny = Jumlah k-gram input dan uji atau sub string yang diuji. (Rahmaddeni et al.
2018).

Dari penjelasan tersebut algoritma Rabin Karp yaitu salah satu algoritma yang
berfungsi dalam melakukan proses pencocokan teks string pada kalimat. Algoritma
ini juga merupakan tipe pencarian yang bersifat multiple pattern. Dalam proses
mencocokkan teks pada sebuah dokumen, algoritma ini mempunyai proses
preprocessing dengan tanpa memperdulikan huruf besar pada sebuah teks dan tanda
baca yang digunakan pada kalimat. Data terbut akan dibersihkan sehingga karakter
data tersebut hanya sebuah huruf kecil tanpa simbol-simbol lainnya. Algoritma
Rabin Karp menerapkan fungsi hash yang berfungsi membandingkan teks yang
kemudian di-convert menjadi sebuah bilangan ASCII. Algoritma ini melakukan
proses pembandingan, jika kedua hash value teks serupa maka akan dilakukan
perbandingan terhadap karakter-karakter selanjutnya sekali lagi. Dan jika tidak
sama hasilnya, maka sub string bergerak kearah kanan. Adapun fase-fase algoritma
Rabin Karp sepert berikut ini:
14

1. Tahap preprocessing dengan membersihkan data atau teks, yang terdapat


kedalam tiga fase.
2. Tahap parsing kgram yakni membuat pola kata pada teks dengan membagi-bagi
kata menjadi untaian-untaian karakter. Setiap untaian terdapat sebuah karakter
dengan jumlah kgram yang ditentukan.
3. Penghitungan nilai hash dengan mengubah teks atau string pada setiap
potongan-potongan kgram menjadi sebuah nilai yang bertipe data integer dengan
mengubahnya kedalam ASCII yang unik.
4. Menghitung nilai similarity dari perhitungan kgram dan hashing value dan uji.

2.6. Android
Android ialah sebuah operating system yang berbasis Linux dan dibuat untuk
touchscreen smartphone. (Enterprise 2015). Android ialah sebuah sistem operasi
yang sangat popular. Android adalah sebuah platform pemrograman dan telah
dikembangan oleh Google. Android menyediakan paket pengembangan software
development untuk menulis coding untuk membuat aplikasi software bagi
pengembang Android. Selain memberikan sarana paket pengembangan aplikasi,
Android juga menyediakan pasar dalam mendistribusikan aplikasi yang telah
selesai dibangun. Dengan lengkapnya fasilitas yang disediakan oleh Android, dapat
dikatakan bahwa secara keseluruhan, Android menciptakan ekosistemnya sendiri.
(Herlinah and Musliadi 2019).
Berdasarkan penjelasan tersebut maka dapat disimpulkan bahwa Android
ialah sebuah operating system atau sebuah programming platform yang diciptakan
oleh Android dan Google pada ponsel cerdas. Android memiliki ekosistemnya
sendiri dengan memiliki paket pengembangan aplikasi dan menyediakan pasar
untuk mendistribusikan aplikasi yang dikembangkan. Sistem operasi Android
bersifat open source.

2.7. Fitur-fitur Android


Sejak pertama kali dikenalkan, Android telah dilengkapi dengan beberapa
fitur utama yang harus dimiliki oleh smartphone maupun perangkat komunikasi
pintar lainnya. Fitur-fitur yang disediakan terus dikembangkan seiring dengan
15

perkembangan teknologi Android yang ditandai dengan dirilisnya versi-versi baru


Android. Setiap versi dapat dimanfaatkan oleh para pengembang dalam aplikasi
yang dibangunnya. (Hasnun, Marcel, and Michael 2018) Adapun fitur-fitur
Android adalah seperti berikut ini:
1. Storage Media penyimpanan, untuk media penyimpanan internal Android
menggunakan SQLite, selain itu Android juga mendukung penyimpanan data
di external storage, seperti SD card.
2. Connectivity atau Koneksi jaringan, android mendukung GSM/ EDGE, IDEN,
CDMA, EV-DO, UMTS, Bluetootth, WI-Fi, LTE, dan WIMAX.
3. Massaging, Android mendukung SMS dan MMS.
4. Web browser, Web browser bawaan Android dibangun berbasis pada open
source Blink (sebelumnya WebKit) dan Chrome’s V8 JavaScricpt engine.
5. Dukungan media (media support), android mendukung beragam jenis media
seperti H.263, H.264, MPEG-4 SP, AMR, AMR-WB, ACC, HE-AAC, MP3,
MIDI, Ogg, Vorbis, WAV, JPEG, PNG, GIF, dan BMP.
6. Dukungan perangkat keras (hardware support), Android menyediakan beragam
hardware yang dapat digunakan oleh pengembang aplikasi, seperti
accelerometer, sensor, gyroscopes, barometers, magnetometers, thermometers
camera, digital compass, proximity, and pressure sensors, dan GPS.
7. Multitouch, mendukukung multitouch screens.
8. Multitasking, mendukung multitasking applications.
9. Dukungan Flash, sejak Android 2.3 mendukung Flash 10.1.
10. Tethering, mendukung sharing koneksi internet sebagai wired/wireless hotspot.
11. Fitur-fitur berbasis suara (Voice-based features), Android menyediakan
beragam aplikasi berbasis suara, seperti Google Search, Google’s Knowledge
Graph, dan lain sebagainya.
12. Tangkapan layar (Screen capture), sejak Android 4.0, pengguna Android dapat
mengambil Screenshoot dengan menekan tombol Power + Volume Down pada
perangkat.
16

13. Aksebilitas (Accessbility), Android meyediakan built-in text-to-speech dari


TalkBack dan berbagai fasilitas lain untuk memberikan kemudahan bagi semua
pengguna Android, terutama dari kalangan difabel.
14. Handset layouts, aplikasi Android dapat berjalan pada beragam ukuran layar
dan dapat dikoneksikan ke external screen melalui HDMI atau Miracast
(wirelesssly). (Hasnun et al. 2018).
Berdasarkan penjelasan diatas dapat disimpulkan bahwa Android mendukung
fitur-fitur pendukung yakni mendukung fitur Storage Media penyimpanan,
Connectivity, jaringan, Massaging, Web browser, Dukungan media, Dukungan
perangkat keras, Multitouch, Multitasking, Dukungan Flash, Fitur-fitur berbasis
suara, Tangkapan layar, Aksebilitas, dan Handset layouts.

2.8. Sejarah Perkembangan Android


Pada tahun 2000, sebelum produk smartphone dipasarkan, Google
mengakuisisi perusahaan bernama Android. Perusahaan ini adalah perusahaan start-
up yang didedikasikan untuk pengembangan sistem operasi tertanam dan perangkat
lunak untuk perangkat seluler. Lalu ada Android Inc. sebagai grup Google. Para
pendiri Android termasuk Andy Rubin, Rich Miner, Nick Sears dan Chris White
pindah ke Google. Saat itu, sistem operasi Android hanya dikembangkan oleh
Google untuk keperluan internal dan belum mendapatkan lisensi open source.
Untuk memperkuat adopsi teknologi Android, pengembangan Google membentuk
Open Handset Alliance (OHA). OHA adalah sebuah konsorsium yang
beranggotakan lebih dari 34 perusahaan di bidang perangkat keras, perangkat lunak,
dan telekomunikasi. Ini termasuk HTC, Intel, Motorola, Qualcomm, T-Mobile dan
Nvidia, Asus. Android pertama kali dirilis dengan OHA sebagai standar open
source pada 5 November 2007. Alasan Google merilis Android sebagai open source
adalah untuk memasuki pasar produk berbasis Android dan memudahkan pengguna
untuk mengakses layanan Google. Digunakan sebagai yang baru sebagai media
periklanan dapat meningkatkan pendapatan (income) Google yang merupakan
bagian dari pendapatan dari pengembangan aplikasi OS dan Android. Model
periklanan dalam Android mempunyai style yang sangat berbeda dengan iklan
17

berbasis web yaitu Google AdSense. Di Android, menggunakan AdMob


(periklanan seluler), ini ditampilkan dengan cara yang lebih interaktif di aplikasi.
Sistem operasi Android memiliki 2 saluran distribusi. Saluran distribusi pertama
didukung oleh Google atau Google Mail Services (GM5). Baris kedua dari sistem
operasi ini bebas menggunakan mode alokasi tanpa dukungan langsung dari
Google, yang disebut Open Handset Allocation (OHD). Meskipun Android adalah
OS open source pertama yang berbasis perangkat seluler tertanam pada saat itu,
banyak orang masih percaya bahwa Android hanyalah perangkat lunak untuk
ponsel. Meskipun Android semakin sukses di pasaran, namun perkembangan
Android tidak hanya dalam lingkup sistem operasi, tetapi juga dalam
pengembangan aplikasi dengan menggunakan Android SDK. Optimisme yang
tinggi dari banyak produsen di grup OHA dipengaruhi oleh semakin populernya
perangkat berbasis OS Android, yang mengubah dominasi pasar produk perangkat
seluler yang sebelumnya dikuasai oleh Nokia dan Apple. (Istiyanto, J 2013).
Menurut penjelasan tersebut, sejarah android dapat disimpulkan bahwa
Android OS pertama kali digunakan untuk internal Google saja, akan tetapi dengan
perkembangan zaman, Google akhirnya membuat sebuah sistem operasi Android
dalam bentuk open source untuk kalangan umum.

2.9. Versi Android


Android terus berkembang dan memiliki banyak versi-versi terbarukan yang
terus bermunculan dalam rentang waktu tertentu. Selain itu disetiap versi Android
yang dirilis memiliki tingkatan API yang berbeda-beda dan fitur-fitur yang semakin
meningkat dan lengkap dari fitur-fitur sebelumnya. Sejak awal rilis, versi Android
pertama tidak memiliki nama. Adapun awal kemunculan Android pada tanggal 23
September 2009 dan tetap eksis hingga sampai sekarang ini, Android terus
berkembang dengan versi terbarunya yang telah bermunculan dengan
pengembangan fitur-fitur yang lebih modern (Herlinah dan Musliadi 2019).
Adapun versi-versi tersebut sebagai berikut :
18

1. Android 1.0: Astro (Alpha)


Android versi pertama ini belum diluncurkan secara komersial hal ini karena
OS ini hanya sebagai kebutuhan komersil. Versi ini dibuat pada 23 September 2008
oleh Bapak Android yakni Andy Rubin. Versi Android ini bermula dari HTC
Dream yang merupakan smartphone pertama. (Jaka 2021). Meski versi
komersialnya belum dirilis, versi Android ini sudah mendukung akses web browser,
streaming YouTube, media player, Google Map, dan sinkronisasi dengan aplikasi
Google lainnya. (Takdirillah 2020).

Gambar 2.1. Android 1.0: Astro (Alpha) (Takdirillah 2020)

2. Android 1.1: Bender (Beta)


Android versi ini juga belum dirilis secara komersial hal ini karena OS ini hanya
untuk kebutuhan komersil saja. Versi android kedua ini diluncurkan pada 09
Februari 2009 dengan peran Bapak Android yaitu Andy Rubin. Versi Android ini
bermula dari HTC Dream yang merupakan smartphone pertama. (Jaka 2021).
19

Gambar 2.2. Android 1. 1 Bender (Beta) (Takdirillah 2020)

3. Android 1.5: Cupcake


Dibandingkan dengan versi Android ketiga, versi terdahulu tidak menggunakan
nama manisan. Nama Android sudah mulai menggunakan nama dessert di setiap
versi yang dirilis. Ini adalah versi Android ketiga atau Cupcake versi 1.5, yang
dirilis pada 30 April 2009. Ia memiliki berbagai fungsi pada perangkat ponsel pintar
untuk menggantikan ponsel fitur pada saat itu. (Jaka 2021). Baru pada tanggal 30
April 2009 Android 1.5 Cupcake memulai peluncuran komersialnya. Versi
Cupcake merupakan versi yang dirilis secara komersial pertama, sejak saat itu
Android mulai menggunakan nama "dessert" di setiap versi Android yang dirilis.
Beberapa fitur yang dimiliki Android Cupcake, seperti dukungan rotasi layar
otomatis, widget, dan keyboard virtual. (Takdirillah 2020). Berikut adalah gambar
dari simbol Android 1.5: Cupcake:
20

Gambar 2.3. Android 1.5: Cupcake (Takdirillah 2020)

4. Android 1.6: Donut


Selanjutnya android pada versi ini dirilis pada 15 September 2009. Dalam versi
Donut ini, Android telah menambahkan beberapa fungsi, seperti persentase baterai,
dukungan gerakan, fungsi pencarian di pasar Android atau fungsi yang disediakan
Google yakni Play Store.. (Takdirillah 2020). Berikut adalah gambar dari simbol
Android 1.6: Donut :

Gambar 2.4. Android 1.6: Donut (Takdirillah 2020)


21

5. Android 2.0: Éclair


Satu bulan kemudian, Android diperbarui lagi pada 26 Oktober 2009 untuk
memperbaiki bug dan memperkaya fitur-fiturnya. Pembaruan Android versi 2.0
disebut Eclair, pada versi ini memiliki beberapa fungsi, seperti multi-touch,
wallpaper hidup, perubahan antarmuka dan dukungan browser untuk HTML5.
(Takdirillah 2020). Berikut adalah gambar dari simbol Android 2.0 :

Gambar 2.5. Android 2.0: Éclair (Takdirillah 2020)

6. Android 2.2: Froyo


Android merilis versi terbaru 2.2 Froyo pada 20 Mei 2010. Pada versi Froyo ini,
Android sudah mulai dikenal luas oleh vendor atau produsen ponsel. Pembaruan
Android 2.2 menghadirkan beberapa fitur unggulan, seperti memperbesar gambar
di galeri melalui gerakan, fungsi tethering USB dan hotspot WIFI yang
ditingkatkan, dan dukungan untuk GIF animasi di browser web. (Takdirillah 2020).
Berikut adalah gambar dari simbol Android 2.2: Froyo :
22

Gambar 2.6. Android 2.2: Froyo (Takdirillah 2020)

7. Android 2.3 Gingerbread


Dalam versi kali ini, Android telah menjadi sistem operasi atau operating
system seluler populer. Kerja sama dengan perusahaan produksi seluler Samsung
dalam pembuatan produk seri Samsung Galaxy telah meningkatkan popularitas
Android. Versi 2.3 dari Gingerbread dirilis pada 6 Desember 2010. Sejumlah fitur
ditambahkan, seperti dukungan NFC, fungsi salin atau tempel untuk memilih kata
dengan menekan layar, dan dukungan untuk beberapa sensor lainnya. (Takdirillah
2020).

Gambar 2.7. Android 2.3 Gingerbread (Takdirillah 2020)


23

8. Android 3.0 Honeycomb


Versi ini telah dirilis pada 22 Februari 2011. Versi Android ini didedikasikan
untuk perangkat tablet dan menghadirkan sejumlah fungsi untuk komputasi bisnis
tablet. Android Honeycomb memiliki fitur-fitur seperti dukungan prosesor multi
core, dukungan video chat dengan Google Talk, dan akselerasi saat berpindah
aplikasi yang menggunakan fungsi multitasking aplikasi terbaru. (Takdirillah
2020). Berikut adalah gambar dari simbol Android 3.0: Honeycomb :

Gambar 2.8. Android 3.0 Honeycomb (Takdirillah 2020)

9. Android 4.0 Ice Cream Sandwich


Pada 19 Oktober 2011, Android meluncurkan kembali sandwich es krim versi
4.0 yakni sebagai versi terbarunya. Versi ini menghadirkan fitur yang dimiliki oleh
Honeycomb untuk dapat menjalankan pada ponsel cerdas yang sebelumnya hanya
ditujukan untuk PC tablet. Selain fitur-fitur sebelumnya di Honeycomb, versi 4.0
juga menambahkan beberapa fitur lain seperti perbaikan antarmuka dan kostum
widget. (Takdirillah 2020). Berikut adalah gambar dari simbol Android Ice Cream
Sandwich:
24

Gambar 2.9. Android 4.0 Ice Cream Sandwich (Takdirillah 2020)

10. Android 4.1 Jelly Bean


Pada 27 Juni 2012, Android versi ini telah dirilis. Versi JellyBean ini fokusnya
kepada peningkatan kinerja antar muka. Fitur mutakhirnya ialah termasuk keyboard
yang dapat disesuaikan pengguna dan dukungan gerakan pada keyboard, UI yang
lebih halus, dukungan tampilan nirkabel, dan widget yang dapat disesuaikan dan
diubah ukurannya. (Takdirillah 2020).

Gambar 2.10. Android 4.1 Jelly Bean (Takdirillah 2020)


25

11. Android 4.4 KitKat


Android memilih nama KitKat untuk menggunakan versi terbaharunya, yakni
versi 4.4, yang diluncurkan pada 31 Oktober 2013. Dalam versi ini, Android meng-
improve pengoptimalan kinerja dengan menyediakan fitur yang lebih baik dari
sebelum-sebelumnya. Beberapa fiturnya ialah seperti WebView berbasis
Chromium, dioptimalkan untuk kinerja perangkat dengan spesifikasi rendah, dan
dukungan untuk sensor batch dan step detector. (Takdirillah 2020). Berikut adalah
gambar dari simbol Android 4.4: Kitkat yang terlihat seperti berikut:

Gambar 2.11. Android 4.4 KitKat (Takdirillah 2020)

12. Android 5.0 Lollipop


Pada 25 Juni 2014, versi ini telah diumumkan ke masyarakat umum. Ketika
versi ini diperkenalkan, Android tidak hanya menjadi operating system pada
perangkat ponsel pintar saja, tetapi juga dapat berjalan di perangkat seluler lainnya
(seperti Android TV dan Google Fit). Beberapa fitur yang ditambahkan dalam versi
ini mengikuti antarmuka pengguna yang dirancang oleh Google, yaitu desain
material dan perlindungan pengaturan ulang pabrik untuk mencegah ponsel cerdas
disetel ulang saat hilang.. (Takdirillah 2020). Berikut adalah gambar dari simbol
Android 5.0: Lollipop :
26

Gambar 2.12. Android 5.0 Lollipop (Takdirillah 2020)

13. Android 6.0 Marshmallow


Pada Android versi ini diluncurkan pada 5 Mei 2015. Fitur yang dikenali dengan
versi Android Marshmallow ini antara lain yaitu dukungan sensor sidik jari untuk
akses smartphone, kemampuan menjalankan beberapa aplikasi pada layout layar
dengan dukungan multi-window, dukungan platform virtual reality, dan
pengurangan bandwidth dalam mode penghemat data. (Takdirillah 2020). Berikut
adalah gambar dari simbol Android 6.0: Marshmallow.

Gambar 2.13. Android 6.0 Marshmallow (Takdirillah 2020)


27

14. Android 7.0 Nougat


Android 7.0 Nougat diluncurkan pada 19 Oktober 2016, didedikasikan untuk
meningkatkan kinerja antarmuka pengguna, membuatnya lebih intuitif, dan
menggunakan lebih banyak aplikasi pada fungsi multi-jendela secara bersamaan.
Selain penyempurnaan sebelumnya, Android Nougat juga menambahkan beberapa
fitur lain, seperti dukungan night light atau night mode, keyboard default yang dapat
mengirimkan animasi GIF secara real-time, dan dukungan untuk panggilan multi-
endpoint. (Takdirillah 2020). Berikut adalah gambar dari simbol Android 7.0:
Nougat :

Gambar 2.14. Android 7.0 Nougat (Takdirillah 2020)

15. Android 8.0 Oreo


Android memilih nama Oreo untuk menggunakannya di versi Android 8.0 yang
dirilis pada Agustus 2017. Antarmuka pengguna AndroidOreo lebih sederhana dan
memungkinkan akses yang lebih mudah ke aplikasi. Update versi Oreo ini
menghadirkan sejumlah fitur, seperti fungsi auto-fill yang memudahkan pengisian
form, misalnya mendukung gambar dalam gambar dan mengoptimalkan startup
agar lebih cepat. (Takdirillah 2020). Berikut adalah gambar dari simbol Android
8.0: Oreo :
28

Gambar 2.15. Android 8.0 Oreo (Takdirillah 2020)

16. Android 9.0 Pie


Pada Agustus 2018, Android merilis Android Pie. Fitur luar biasa dari versi 9.0
Pie ialah kemampuannya untuk memiliki AI atau kecerdasan buatan. Dengan
bantuan fungsi AI smartphone, Anda akan secara otomatis menggunakan
smartphone Anda untuk menganalisis dan memahami pola penggunaan Anda.
Selain itu, fitur lain seperti "adaptive brightness" akan secara otomatis
menyesuaikan kecerahan layar dan mendukung ponsel tanpa bingkai. (Takdirillah
2020). Berikut adalah gambar dari simbol Android 9 :

Gambar 2.16. Android 9.0 Pie (Takdirillah 2020)


29

17. Android 10
Versi terbaru dari Android ialah diberi nama yang berbeda dari sebelum-
sebelumnya yang biasanya diberni nama dengan “dessert”. Versi Android kali ini
dikenal dengan nama Android 10. Hal ini karena untuk memperingati 10 tahun atau
telah memasuki satu dekade bisnis Android secara resmi. Versi ini fokusnya kepada
peningkatan mode malam atau gelap, dan meningkatkan fungsi penguat suara untuk
menyesuaikan kualitas audio. (Takdirillah 2020). Berikut adalah gambar dari
simbol Android :

Gambar 2.17. Android 10 (Takdirillah 2020)

Tabel 2.1. Perkembangan Versi Android (Herlinah and Musliadi 2019;


Takdirillah 2020)

No Nama Release API


Fitur Baru Icon
Versi Android Date Level
23
1.0 No Name September 1 - -
2008
09
1.1 No Name Februari 2 - -
2009
30

No Nama Release API


Fitur Baru Icon
Versi Android Date Level

27 April
1.5 Cupcake 3 -
2009

 Screen Size
15 Diversity
1.6 Donut September 4  Android Market
2009  Quick Search
Box
 Home Screen
2.0 26 Customization
– Eclair Oktober 5-7  Speech-to-Text
2.1 2009  Google Maps
Navigation
 Dalvik JIT

2.2  Portable
20 Mei Hotspot
– Froyo 8
2010  Voice Action
2.2.3

 Gaming APIs
2.3 06
 NFC
– Gingerbread Desember 9 - 10
 Battery
2.3.7 2010
Management

 Quick Settings
3.0 22
11 -  System Bar
– Honeycomb Februari
13  Tablet-Friendly
3.2.6 2011
Design
31

No Nama Release API  Fitur Baru


Icon
Versi Android Date Level
 Android Beam
4.0 18  Data Usage
Ice Cream 14 -
– Oktober Control
Sandwich 15
4.0.4 2011  Custom Home
Screen
 Account
4.1 Switching
09 Juli 16 -
– Jelly Bean  Actionable
2012 18
4.3.1 Notifications
 Google Now
 Smart Dialer
4.4 31  Immersive
19 -
– KitKat Oktober Design
20
4.4.4 2013  Voice : Ok
Google

5.0 12
21 -  Multiscreen
– Lollipop November
22  Notifications
5.1.1 2014  Material Design

 Battery (Doze &


6.0 05
App Standy)
– Marshmallow Oktober 23
 Permissions
6.0.1 2015
 Now On Tap
32

No Nama Release API


Fitur Baru Icon
Versi Android Date Level

7.1 22
24 -  GIF Keyboard
– Nougat Agustus
25
7.1.2 2016  Multi window

8.0 21
26 -  Picture-in-
– Oreo Agustus
27
8.1 2017 Picture

 Adaptive
06
Battery
9.0 Pie Agustus 28
 Adaptive
2018
Brightness

 Digital
Wellbeing
 Dark Theme
03
 Smart Reply
10 10 September 29
 Sound Amplifier
2019
 Privacy &
Security
 Live Caption
33

No Nama Release API


Fitur Baru Icon
Versi Android Date Level

 Chat Bubbles
 Screen

08 Recorder

11 11 September 30  Device Control

2020  Predictive Tool


 One-time
permission

Berdasarkan tabel tersebut dapat ditarik kesimpulan bahwa nama dan versi
pada sistem operasi android mengalami perubahan dan pengembangan fitur dari
masa ke masa yang membuat setiap masa berbeda dan lebih baik dari versi
sebelumnya.

2.10. Android Studio


Android Studio merupakan sebuah lingkungan pengembangan terintegrasi
(IDE) resmi untuk mengembangkan aplikasi Android berdasarkan IntelliJ IDEA.
Selain menjadi editor kode yang kuat dan alat pengembang IntelliJ. (Developer
2020). Selain menjadi editor kode dan alat pengembangan IntelliJ yang andal,
Android Studio juga menyediakan lebih banyak fitur untuk meningkatkan efisiensi
kerja saat membuat aplikasi Android, seperti:
1. Membangun sistem berdasarkan Gradle yang bersifat flexible
2. Emulator yang cepat dan kaya fitur
3. Lingkungan pengembangan terpadu untuk semua perangkat Android
4. Instant Run, dapat mendorong perubahan ke aplikasi yang sedang berjalan
tanpa membuat Aplikasi baru
5. Template kode dan integrasi GitHub, digunakan untuk membangun fungsi
aplikasi yang sama dan mengimpor kode sampel
34

6. Kerangka dan alat pengujian yang ekstensif


7. Alat lint untuk meningkatkan kinerja, kegunaan, kompatibilitas versi, dan
masalah lainnya.
8. Dukungan C + dan NDK
9. Dukungan bawaan untuk Google Cloud Platform, dapat dengan mudah
mengintegrasikan Google Cloud Messaging dan App Engine. (Suryana 2018).

Berdasarkan penjelasan diatas, Android Studio adalah tools dalam


pengembangan sebuah perangkat lunak aplikasi Android yang memiliki fitur yang
lebih lengkap hingga saat ini sehingga membuatnya lebih unggul dari tools lainnya.
Android Studio juga didukung oleh Google, hal ini dapat dilihat terdapatnya sebuah
library yang disediakan oleh Google yakni Google Cloud Platform yang dapat
digunakan dalam pengembangan aplikasi Android agar memudahkan developer
dalam pembuatan aplikasi yang berguna bagi pemakainya secara optimal.

2.11. Flowchart
Diagram alir atau flowchart adalah metode penulisan algoritma menggunakan
notasi grafis. Diagram alir adalah gambar atau diagram yang menunjukkan urutan
atau langkah suatu program dan hubungan antara proses dan pernyataannya.
Gambar diwakili oleh sebuah simbol. Oleh karena itu, setiap simbol
menggambarkan proses tertentu. Pada saat yang sama, prosesnya dijelaskan dengan
menghubungkan garis. Menggunakan diagram alur akan memudahkan kita untuk
memeriksa bagian-bagian analisis masalah yang terlupakan. Selain itu, flowchart
juga dapat digunakan sebagai alat komunikasi antar programmer yang bekerja
dalam tim proyek. Diagram alir membantu analis dan pemrogram memecah
masalah menjadi bagian-bagian yang lebih kecil dan membantu menganalisis
alternatif lain dalam operasi. (Barakbah 2013). Diagram alir adalah deskripsi grafis
dari langkah-langkah program dan urutan proses. Diagram alir dapat membantu
analis dan pemrogram memecah masalah menjadi bagian-bagian yang lebih kecil
dan membantu menganalisis alternatif dalam operasi. Diagram alir seringkali dapat
memecahkan masalah dengan lebih mudah, terutama yang memerlukan penelitian
dan evaluasi lebih lanjut. Flowchart adalah diagram simbolis yang menunjukkan
35

aliran data dan tahapan operasi dalam sistem yang digunakan oleh editor dan
personel sistem. (Ratumurun 2015).
Maka dari penjelesan diatas, Flowchart merupakan sebuah algoritma aliran
proses berbentuk visualisasi dari bagan atau bentuk-bentuk yang memperlihatkan
sebuah proses langkah-langkah atau urutan-urutan prosedur dilengkapi dengan
hubungan antar proses dari suatu program yang dibangun. Adapun bagan atau
simbol tersebut sebagai berikut:

Tabel 2.2. Simbol-simbol Flowchart (Barakbah 2013)

Simbol Nama Arti/Fungsi

Mempresentasikan Input data


Input / Output saat ini atau output atau
informasi data yang diproses.

Proses Memperkenalkan operasi.

Keluar atau masuk ke bagian lain


Penghubung dari diagram alur, terutama
dalam halaman yang sama.

Anak Panah Merepresentasikan aliran kerja.

Penjelasan Sebuah komentar tambahan.


36

Simbol Nama Arti/Fungsi

Kondisi dalam mengambil


Keputusan
keputusan pada program.

Preparation Pendeklarasian awal

Operasi spesifik ada di tempat


Predefined Process
lain.

Input atau Output dalam format


Dokumen
yang dicetak.

Awalan atau akhiran sebuah


Terminal Points
diagram alir.

Input atau Output yang


On-line Storage menggunakan penyimpanan
akses langsung.

Input yang dimasukkan secara


Manual Input
manual dari keyboard.

Input atau Output yang


Magnetik Disk
menggunakan disk magnetik.

Input Output yang menggunakan


Punched Tape
pita kertas berlubang.
37

Simbol Nama Arti/Fungsi

Input output yang menggunakan


Punched Card
kartu berlubang.

Input atau Output yang


Magnetic Tape
menggunakan pita magnetik.

Input atau Output menggunakan


Magnetic Drum
drum magnetik.

Output yang ditampilkan pada


Display
terminal.

Penyimpanan yang tidak dapat

Off-line Storage diakses oleh komputer secara


langsung.

Manual Operation Operasi Manual.

Communcation Transmisi data melalui channel


Link komunikasi, seperti telepon.
38

2.12. Storyboard
Storyboard adalah Papan cerita yang mempresentasikan visual pertama dari
cerita yang akan diproduksi. Tujuan utama dari stroryboard sebagai penjelasan
mengenai narasi dan alur. Storyboard pada dasarnya sama dengan sinopsis, namun
dalam bentuk gambar. Biasanya pengguna awam akan lebih paham ketika
mendapatkan sinopsisnya, karena tampil dalam bentuk panel bergambar, bukan
jalan cerita dalam alur cerita. Karena cerita maka perlu dibayangkan dan
dibayangkan jalan cerita yang ada.
Storyboard merupakan rangkaian gambar manual yang dibuat secara
keseluruhan untuk mendeskripsikan sebuah cerita. Sinopsisnya menggambarkan
penampilan setiap adegan. Pertama, buat sinopsis untuk adegan awal, yang
merupakan penggunaan awal aplikasi oleh pengguna, lalu sintesis sinopsis untuk
adegan berikutnya, yaitu halaman untuk memasukkan konten dalam program.
Papan sinopsis dikembangkan untuk setiap topik yaitu Skenario satu berupa
pendahuluan dan Skenario dua berupa tampilan menu Tampilan menu meliputi
tampilan pendahuluan, standar dan kemampuan dasar, indikator, bahan, evaluasi,
dan literatur. Setiap adegan keluaran memiliki tombol kembali untuk kembali ke
menu utama. (Samsudin 2015). Adapun berikut contoh penggunaan Storyboard:

Gambar 2.18. Contoh StoryBoard (Samsudin 2015)


39

2.13. Unified Modeling Language


UML adalah singkatan dari Unified Modeling Language, yang merupakan
metode pemodelan visual untuk alat desain sistem berorientasi objek. Definisi lain
dari UML adalah sebagai bahasa yang telah menjadi standar untuk
memvisualisasikan, mendesain, dan mendokumentasikan sistem perangkat lunak.
Saat ini, UML telah menjadi bahasa standar untuk menulis perangkat lunak cetak
biru. (Haqi dan Setiawan 2019). Sedangkan menurut Mulyani UML (Unified
Modeling Language) merupakan bahasa pemodelan grafis yang digunakan sebagai
standar untuk pemodelan sistem dengan menggunakan metode pemodelan
berorientasi objek. (Mulyani 2017). UML digunakan untuk tujuan tertentu yaitu:
1. Desain perangkat lunak..
2. Metode komunikasi antara perangkat lunak dan proses bisnis.
3. Jelaskan sistem secara rinci untuk dianalisis dan temukan persyaratan sistem.
4. Mendokumentasikan sistem, proses, dan organisasi yang ada. (Muslihudin
2016).
Dari penjelasan tersebut, UML adalah sebuah model komunikasi konseptual
berguna sebagai upaya memodelkan penjabaran suatu sistem secara rinci dan
dokumentasi sistem serta proses didalamnya dengan metodologi pemodelan
berbasis obyek. Berikut merupakan diagram yang digunakan dalam pengembangan
sistem yaitu use case diagram, activity diagram, sequence diagram dan class
diagram.

2.14. Use case Diagram


Use case diagram merupakan diagram yang menggambarkan dan
merepresentasikan partisipan, use case, dan dependensi proyek. Diagram ini
bertujuan untuk menjelaskan konsep hubungan antara sistem dan dunia luar.
(Mulyani 2017). Sedangkan menurut Whitten yang dikutip dari Muhamad
Muslihudin, Oktafianto. Use case Diagram adalah serangkaian langkah dalam
operasi (skenario) yang saling terkait yang dilakukan secara otomatis dan manual
untuk menyelesaikan satu tugas bisnis.. (Muslihudin 2016). Berikut ini adalah
kumpulan simbol pada diagram use case.
40

Tabel 2.3. Simbol Use Case Diagram (Sukamto dan Shalahuddin 2014)

No Simbol Nama Deskripsi

Berfungsi sebagai satu


1 Use Case kesatuan untuk bertukar
pesan antar unit atau aktor.

Menggambarkan aktor
yang berinteraksi dengan
2 Aktor
sistem untuk bertukar
informasi.

Menggambarkan hubungan
3 Asosiasi antara kasus penggunaan
dan peserta.

<<extend>> Hubungan usecase lainnya,


4 <<extend>> usecase yang ditambahkan
bisa ada secara terpisah.

Hubungan antara
5 Generalisasi
generalisasi dan spesialisasi
41

No Simbol Nama Deskripsi

Relasi tambahan dimana


<<include>>
use case tambahan
6 <<include>>
mengharuskannya untuk
menjalankan fungsinya

Berikut adalah Contoh dari penggunaan usecase diagram:

Gambar 2.19. Contoh Usecase Diagram (Samsudin 2018)


42

Berdasarkan uraian diatas, usecase diagram merupakan diagram yang


menggambarkan suatu aktor, usecase dan dependecies saling terhubung dan
berkaitan antara satu dengan lainnya dalam satu skenario untuk tujuan melengkapi
satu tugas bisnis tunggal.

2.15. Activity Diagram


Diagram aktivitas atau activity diagram, yaitu jenis diagram pada UML yang
dapat memodelkan proses-proses yang terjadi pada sistem. (Haqi dan Setiawan
2019). Activity diagram merupakan Gambaran mengenai alur kerja sistem atau
aktivitas proses bisnis atau menu dalam perangkat lunak.(Sukamto dan Shalahuddin
2014).

Tabel 2.4. Simbol Activity diagram (Sukamto dan Shalahuddin 2014)

No Simbol Nama Deskripsi

Keadaan awal aktivitas


1 Status awal sistem, diagram aktivitas
memiliki status awal

Aktivitas Kegiatan
dilakukan oleh sistem,
2 Aktivitas kegiatan biasanya
dimulai dengan kata
kerja
43

No Simbol Nama Deskripsi

Asosiasi Cabang, jika


Decision atau
3 ada beberapa acara
percabangan
untuk dipilih

Penggabungan dengan
Join atau asosiasi dan gabungan
4
Penggabungan lebih dari satu aktivitas
menjadi satu

Sebuah diagram
5 Status akhir aktivitas memiliki status
akhir

Pemisahan organisasi

atau bisnis bertanggung


6 Swimlane
jawab atas aktivitas yang
terjadi
44

Adapun contoh activity diagram yakni sebagai berikut:

Gambar 2.20. Contoh Acitivity Diagram (Samsudin 2018)

Dari uraian yang dijelaskan sebelumnya, Diagram aktivitas atau diagram


aktivitas merupakan jenis diagram pada UML yang menggambarkan alur kerja
proses yang terjadi pada sistem atau proses bisnis.
45

2.16. Sequence Diagram


Diagram sekuens adalah jenis diagram dalam UML yang menggambarkan
interaksi berdasarkan deret waktu. Diagram urutan juga dapat menggambarkan
urutan atau tahapan yang harus diselesaikan untuk menghasilkan konten yang mirip
dengan diagram usecase.. (Haqi dan Setiawan 2019). Sedangkan menurut John
Satzinger yang penulis kutip dari Tridanini dan Suardika, Diagram urutan adalah
diagram yang digunakan untuk menentukan urutan interaksi antara pengguna dan
sistem untuk kasus masukan dan keluaran dan penggunaan. (Tridanini dan Suardika
2012). Adapun simbol-simbol pada sequence diagram adalah sebagai berikut:

Tabel 2.5. Simbol Sequence Diagram (Samsudin 2018)

No Simbol Nama Deskripsi

Menggambarkan orang-
1 Actors orang yang berinteraksi
dengan sistem.

Menggambarkan hubungan
2 Entity Class
aktivitas yang dilakukan.

Menggambarkan sebuah
3 Boundary Class
representasi formulir.

Menggambarkan sebuah

4 Control Class penghubung antara table


dengan boundary
46

No Simbol Nama Deskripsi

Menggambarkan tempat
A focus of control dan
5 mulai dan berakhirnya
A life line
sebuah message

Menggambarkan pengiriman
6 A message
pesan

Contoh berikut adalah contoh penggunaan sequence diagram :

Gambar 2.21. Contoh Sequence diagram (Samsudin 2018)


47

Dapat simpulkan, Sequence diagram adalah bagian dari UML yang


menjelaskan dan menggambarkan bagaimana suatu actor berinteraksi dengan
sistem yang divisualisasikan kedalam diagram yang berisi urutan dan tahapan atau
hubungan kegiatan yang dilakukan.

2.17. Class Diagram


Menurut John Satzinger yang penulis kutip dari Danini mengatakan bahwa
dalam UML terdapat dua jenis diagram kelas, yaitu diagram kelas domain dan
diagram kelas desain. Fokus diagram kelas domain adalah pada konten tertentu di
lingkungan kerja pengguna, bukan kelas perangkat lunak yang akan dirancang
nanti. Tujuan utama perancangan diagram kelas adalah untuk mencatat dan
mendeskripsikan kelas-kelas dalam pemrograman yang akan dibangun. Diagram
kelas desain menjelaskan kelas OOP yang diperlukan dalam pemrograman,
navigasi antar kelas, nama atribut dan atribut, serta nama metode dan atribut.
Sedangkan menurut Haqi dan Setiawan, class diagram adalah jenis diagram pada
UML yang digunakan untuk menampilkan class dan package yang ada di sistem,
dan class serta package tersebut akan digunakan di masa yang akan datang. Oleh
karena itu diagram dapat memberikan gambaran sistem dan relasi yang terdapat
pada sistem.(Haqi dan Setiawan 2019). Berikut kumpulan simbol pada class
diagram :

Tabel 2.6. Simbol Class Diagram (Sukamto dan Shalahuddin 2014)

No Simbol Nama Deskripsi

Sebuah struktur sistem


1 Operasi
terdapat sebuah operasi.
48

No Simbol Nama Deskripsi

Mirip dengan konsep


antarmuka dalam
2 Interface
pemrograman berorientasi
objek.

Hubungan antar kelas


memiliki arti umum, dan
3 Asosiasi
asosiasi biasanya disertai
dengan multiplisitas.

Hubungan antara kelas


dengan satu jenis makna
digunakan oleh kelas lain,
4 Asosiasi berarah
dan asosiasi tersebut
biasanya disertai dengan
multiplisitas.

Hubungan antar kelas


dengan peminatan dan

5 Generalisasi pengertian generalisasi


(khusus umum)

deskripsi
49

No Simbol Nama Deskripsi

Arti hubungan antar kelas


Dependency atau
6 dan hubungan
ketergantungan
ketergantungan antar kelas

Hubungan antar kelas dan


7 Agregasi arti semua bagian (whole
parts)

Berikut adalah contoh dari class diagram seperti berikut:

Gambar 2.22. Contoh class diagram (Samsudin 2018)


50

Berdasarkan penjelasan tersebut maka disimpulkan Class diagram adalah


bagian dari UML untuk menggambarkan paket-paket dala sebuah sistem yang akan
dibangun. Diagram kelas dapat menguraikan sistem dan hubungan yang terdapat
pada sistem yang akan dibangun.

2.18. Penelitian sebelumnya


Penelitian sebelumnya terkait penelitian ini adalah dapat dilihat sebagai
berikut::
Tabel 2.7. Penelitian sebelumnya

No Judul Jurnal Tahun Metode Kelemahan Kelebihan

1 Pemanfaatan 2017 Kualitatif Sistem yang Aplikasi dapat


Cloud Speech API dikembangkan mencerna kata yang
Untuk tidak bisa berjalan diucapkan oleh
Pengembangan pada penggalan pengguna dan dapat
Media kata atau kalimat memberikan respon
Pembelajaran dan masih terbatas jawaban benar atau
Bahasa Inggris pada penggunaan salah.
Menggunakan satu kata dalam
Teknologi Speech Bahasa Inggris.
Recognition
51

No Judul Jurnal Tahun Metode Kelemahan Kelebihan

2 Implementasi 2019 Kualitatif Sistem tidak Aplikasi dapat


Google Speech menampilkan lis- mengkoreksi hafalan
API pada Aplikasi listt surah dalam pengguna dengan
Koreksi Hafalan Al-Qur’an. Selain menerapkan Google
Al-Qur’an itu aplikasi tidak speech API.
Berbasis Android menerapkan
Algoritma tertentu
dalam
membandingkan
string atau ayat
pada database.

3 Rancang Bangun 2019 Kuantitatif Pengguna masih Aplikasi menerapkan


Aplikasi Bantu menyetorkan metode hafalan per-
Hafal Al-Qur’an hafalan secara halaman yakni
Menggunakan manual dengan menerapkan metode
Metode At-Taisir meminta guru menghafal At-Taisir.
Berbasis Android pendamping untuk Sistem juga
memilih predikat menampilkan
hafalan yang halaman muroja’ah
disetorkan. Hal ini yang berisi potongan
memungkinkan awal pada ayat di
pengguna masih setiap halaman.
membutuhkan
orang lain.

Berdasarkan penelitian-penelitian tersebut, yang berbeda dengan maksud


penelitian yang dilakukan oleh penulis adalah penulis membangun sebuah aplikasi
52

No Judul Jurnal Tahun Metode Kelemahan Kelebihan

4 Pengembangan 2019 Kuantitatif Aplikasi yang Aplikasi menerapkan


Aplikasi Al- dikembangkan metode hafalan
Quran Untuk tidak menyediakan Tikrar dalam
Membantu fitur latihan menghafal ayat.
Hafalan Al-Quran muroja’ah hafalan Pengguna dapat
Secara Mandiri ayat. menghitung dan
Menggunakan mencatat seberapa
Metode Tikrar banyak ayat yang
telah dibaca dan
dimuroja’ah.

5 Sistem Pendeteksi 2018 Kualitatif Sistem yang Aplikasi bisa melihat


Tingkat dibangun hanya dan memberikan
Kesamaan Teks berfokus pada informasi mengenai
pada Pengusulan pattern abstrak kesamaan antara
Proposal bukan dokumen dokumen dalam
Penelitian Internal secara keseluruhan. bentuk persen beserta
Menggunakan status plagiatnya.
Algoritma Rabin-
Karp

yang dapat memberikan informasi apakah bacaan ayat yang diucapkan oleh
pengguna, sudah tepat atau belum dengan disertai dengan informasi tingkat akurasi
persamaannya. Dengan menerapkan Google Speech API yang digunakan untuk
menginput suaranya. Yang kemudian dikonversi kedalam sebuah string atau teks.
Penulis menggunakan algoritma Rabin Karp untuk melakukan perbandingan string
matching pada ayat yang dibacakan dengan sebuah database ayat yang benar.
53

Kemudian penulis mengembangkan aplikasi, dimana pada aplikasi yang dibangun


terdapat activity untuk menampilkan list surah dan detail activity untuk muroja’ah
hafalan. Aplikasi ini nantinya dapat dijadikan sebagai media bagi pengguna untuk
meruja’ah secara mandiri dengan memanfaatkan smartphone mereka.
BAB III
METODE PENELITIAN

3.1. Tempat dan Waktu Penelitian


3.1.1. Tempat Penelitian
Adapun tempat penelitian yang penulis lakukan berlokasi di Pondok
Pesantren Darul Huffazh Al Arief yang berlokasi di Jalan Bejo Gang Bambu II
No.5, Bandar Khalifah, Deli Serdang, Sumatera Utara.

Gambar 3.1. Denah Lokasi Tempat Penelitian

3.1.2. Waktu dan Jadwal Pelaksanaan Penelitian


Dalam penelitian ini, penulis perlu mempelajari jadwal dan tahapan untuk
mencapai tenggat waktu pembuatan sistem. Jadwal dan tahapan penelitian adalah
sebagai berikut:

54
Tabel 3.1. Waktu dan Jadwal Pelaksanaan Penelitian

Tahun 2020
Aktivitas Kegiatan Oktober November Desember Januari Februari Maret

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3

Planning dan Persiapan

Pengajuan Judul

Riset Kebutuhan

Pembuatan Proposal Skripsi

Bimbingan Proposal Skripsi

Studi Literatur

Pengajuan Seminar Proposal

Seminar Proposal

Pengumpulan dan Analisis

Data

Merancang Sistem

Mendesain antarmuka

Melakukan Coding Program

Pengujian Program

55
56

Tahapan pelaksanaan penelitian ini sebagai berikut:


1. Planning dan persiapan
Tahapan planning dan persiapan ini penulis melakukan penelitian untuk
mencari obyek yang menjadi masalah pada masyarakat serta solusi yang akan
dijadikan dalam penelitian.
2. Pengajuan judul
Setelah melakukan tahapan persiapan maka penulis melakukan pengajuan
judul proposal skripsi ke prodi sistem informasi kemudian disetujui dan
diberikan surat tugas untuk pembimbing skripsi.
3. Riset kebutuhan
Pada tahap ini, penulis melakukan observasi, riset dan wawancara kepada
sebagian masyarakat yang ingin menghafal Al-Qur’an khususnya generasi
milenial dan siswa penghafal Al-Qur’an di Pondok Pesantren Darul Huffazh
Al Arief.
4. Pembuatan proposal skripsi
Pada tahap ini penulis membuat proposal skripsi mengenai penelitian yang
akan dilakukan, termasuk Bab Satu Pendahuluan, Bab Dua Tinjauan Pustaka
dan Bab Tiga Metode Penelitian.
5. Bimbingan proposal skripsi
Setelah itu penulis melakukan bimbingan skripsi kepada Bapak Samsudin,
ST.,M.Kom selaku dosen pembimbing 1, Bapak Ali Ikhwan, M.Kom selaku
dosen pembimbing 2, dan Ibu Raisa Amdana Putri, S.Kom, M.TI selaku
dosen pendamping.
6. Studi literatur
Dalam pembuatan proposal skripsi penulis juga melakukan studi literatur
mengenai teori-teori yang diterapkan maupun mengenai penelitian-penelitian
sebelumnya yang terkait dalam topik bahasan yang diambil guna mendukung
penelitian yang penulis lakukan.
57

7. Pengajuan seminar proposal


Pada tahap ini penulis melakukan pengajuan berkas sebagai syarat seminar
proposal secara online untuk lanjut ke tahap seminar proposal.
8. Seminar proposal
Pada tahap ini penulis melaksanakan seminar proposal untuk menentukan
apakah obyek penelitian yang diangkat oleh penulis layak dan memenuhi
syarat untuk dilanjutkan ke skripsi.
9. Pengumpulan dan analisis data
Pada tahap ini penulis akan mengumpulkan data-data serta sumber-sumber
yang diperlukan dalam mendukung penelitian kemudian melakukan analisa
terhadap semua data yang diperoleh untuk dijadikan sebagai bahan skripsi.
10. Perancangan sistem
Pada tahapan ini penulis melakukan perancangan sistem untuk mendapatkan
hasil yang sistematis mengenai alur sistem yang akan dirancang.
11. Desain interface
Pada tahapan ini penulis mulai melakukan desain rancangan interface pada
aplikasi yang akan dikembangkan dengan mendefenisikan alur aplikasi yang
akan dikembangkan agar lebih mudah dalam tahapan selanjutnya.
12. Pembuatan coding
Pada tahapan ini penulis mulai melakukan perancangan dengan menggunakan
kode pemrograman untuk memberikan sebuah fungsi terhadap sistem yang
akan dibangun.
13. Pengujian program
Tahapan terakhir adalah penulis melakukan testing program terhadap
keseluruhan aplikasi yang telah dikembangkan agar dapat mengetahui
keberhasilan dari sistem yang penulis bangun terhadap kebutuhan
masyarakat.

3.2. Kebutuhan Sistem


Kebutuhan sistem yang diperlukan terbagi atas dua yakni sebagai berikut:
58

3.2.1. Perangkat Keras


Adapun spesifikasi hardware dalam pembuatan aplikasi android ini adalah:
a. Prosessor Intel® Core™ i5-8265U
b. RAM 4.00 GB
c. Harddisk 500 GB
d. Samsung Galaxy J3
3.2.2. Perangkat Lunak
Adapun software yang digunakan dalam pembuatan skripsi dan
pembangunan sistem ini adalah sebagai berikut:
a. Microsoft Windows 10 Home Single Language version 10.0.17763
b. Microsoft Office Word Professional Plus 2010 version 14.0.4760.1000
c. Microsoft Office PowerPoint Professional Plus 2010 v14.0.4760.1000
d. Microsoft Office Visio 2013
e. StarUML version 3.1.1
f. Mendeley Desktop version 1.19.4
g. Android Studio version 3.5.3
h. AVD Manager Nexus S API 28
i. Firefox Browser version 77.0b5
j. IntelliJ IDEA 2020.1.4 x64

3.3. Cara Kerja


Dalam penelitian ini, penulis menggunakan metode penelitian dan
pengembangan (R&D) yang digunakan untuk menghasilkan produk dan menguji
keefektifan produk yang dihasilkan. Untuk mendapatkan produk yang sesuai dalam
penelitian ini juga diperlukan metode pengembangan sistem, dalam penelitian ini
penulis menggunakan metode pengembangan aplikasi cepat (rapid application
development / RAD).
3.3.1. Metode Pengumpulan Data
Metode pengumpulan data yang penulis lakukan adalah menggunakan
metode penelitian kualitatif, dengan melakukan observasi dan pengamatan secara
59

langsung dengan teknik pengumpulan data berdasarkan hasil wawancara dan


penelitian kepustakaan yang dijelaskan sebagai berikut:
3.3.1.1. Observasi
Adapun observasi yang penulis lakukan adalah dengan melakukan
wawancara terhadap ustadz dan santri di Pondok Pesantren Darul Huffazh Al Arief
dan masyarakat umum khususnya generasi milenial yang sedang menghafal Al-
Qur’an.
3.3.1.2. Pengumpulan Data
Adapun teknik pengumpulan data, penulis melakukan wawancara terhadap
penghafal dengan tujuan melakukan analisis kebutuhan dalam muroja’ah hafalan
Al-Qur’an. Kemudian penulis mewawancarai guru atau ustadz sebagai ahli dalam
bidang tahfizh Al-Qur’an guna mendukung penelitian ini. Selain melakukan teknik
wawancara penulis juga melakukan penelitian kepustakaan yaitu studi literatur
dengan mencari data dan informasi yang bersumber dari website, jurnal maupun
buku yang mendukung materi penelitian penulis.
3.3.2. Metode Pengembangan Sistem
Metode pengembangan sistem yang dibangun pada penelitian ini
menggunakan metode pengembangan RAD (Rapid Application Development).
Adapun tahapan-tahapan (Rolly dan Hakiem 2015) yang dilakukan dalam
pengembangan sistem yang dibangun adalah seperti berikut:
a. Requirements planning
Dalam tahapan ini penulis bertujuan membangun aplikasi muroja’ah
muroja’ah hafalan Al-Qur’an untuk memenuhi kebutuhan masyarakat
khususnya para hafizh dalam menambah hafalan Al-Qur’an melalui aplikasi
yang dibangun. Dalam aplikasi tersebut tersedia fitur muroja’ah hafalan ayat
Al-Qur’an menggunakan Google Speech API.
b. RAD design workshop
Setelah mengetahui tahap reuirements planning, penulis melakukan desain
perancangan dengan membuat pemodelan terhadap aplikasi. Desain yang
dimaksud meliputi perancangan proses aplikasi dan desain interface. Dalam
60

perancangan sistem, penulis menggunakan flowchart, diagram UML dan


Stroyboard.
c. Implementation
Dalam fase ini akan dilakukan implementasi aplikasi yang terdiri dari:
1. Membangun Aplikasi
Dalam tahapan ini aplikasi dirancang menggunakan Android Studio
menggunakan bahasa pemrograman Kotlin dan Google Speech API.
2. Menguji Aplikasi
Pada tahapan ini penulis melakukan testing terhadap keseluruhan aplikasi
yang dikembangkan dengan menggunakan metode blackbox testing
untuk mengetahui keberhasilan dari aplikasi yang dibangun.

3.3.3. Kerangka Berpikir


Adapun kerangka berpikir pada penelitian ini adalah sebagai berikut:
Ma had
Mulai Tahfidzul
Requirements
Qur an Yayasan
Planning
Islamic Centre
Observasi Sumatera Utara

Metode Flowchart
Pengumpulan Wawancara
Data
Use Case
Diagram
Studi Pustaka

Activity
Diagram
Rapid
Metode
Application RAD Design
Pengembangan
Development Workshop
Sistem Sequence
(RAD)
Diagram

Class Diagram

Rancangan
Interface

Storyboard

Coding Kotlin

Implementation

Testing
Selesai

Gambar 3.2. Kerangka Berpikir Penelitian


BAB IV
HASIL DAN PEMBAHASAN

4.1. Tempat dan Waktu Penelitian


Sebelum melakukan desain perancangan aplikasi, penulis melakukan analisis
kebutuhan dengan melakukan studi Pustaka dan studi lapangan terlebih dahulu.
4.1.1. Analisis masalah
Dalam tahapan ini, penulis melakukan observasi dan wawancara untuk
mencari kemungkinan berupa solusi-solusi untuk mengatasi masalah yang
didapatkan. Berdasarkan hasil pengamatan dan wawancara yang penulis lakukan
didapatkan sebuah permasalahan yakni sebagai berikut:
a. Seorang yang ingin melakukan muroja’ah bergantung dengan orang lain
untuk bisa mengkoreksi atau mengetahui status muroja’ah hafalannya.
b. Terbatasnya ruang, jarak dan waktu seorang penghafal dengan guru atau
mudabbir sehingga hanya di waktu dan tempat tertentu saja untuk bisa
mengetahui status hafalan muroja’ahnya sudah benar atau belum.
c. Seorang penghafal Al-Qur’an membutuhkan fasilitas dukungan teknologi
dalam mendukung kegiatan menghafal dan muroja’ah hafalannya sebelum
menyetorkan hafalannya ke mudabbir dengan fasih.

4.1.2. Analisis isi aplikasi


Aplikasi muroja’ah hafalan Al-Qur’an merupakan aplikasi berbasis android
untuk digunakan dalam membantu pengguna dalam menghafal Al-Qur’an dengan
melakukan muroja’ah hafalannya. Aplikasi ini berisikan tentang list surah Al-
Qur’an, selain itu terdapat activity atau halaman untuk latihan murojaah dimana
pada halaman ini nantinya para hafizh dapat mengetahui hafalannya sudah benar
atau belum beserta persentase persamaan ayat yang diucapkan pengguna. Aplikasi
ini mengimplementasikan Google Speech API dan menerapkan Algoritma Rabin
Karp dalam menghitung jumlah persamaan ayat yang diucapkan pengguna.

61
62

4.2. Tahap Desain


Berikut adalah rancangan desain dan alur kerja aplikasi yang dibangun.
4.2.1. Flowchart
Alur kerja aplikasi muroja’ah yang akan dibangun secara umum ditunjukkan
dalam gambar berikut ini:
Mulai

Pilihan Ucapkan
Pilih Surah Ya
Surah Ayat

Konversi Suara ke Teks


(Google Speech API)
Ya

Hasil
Konversi
Tidak suara ke
teks

String Matching
Data Ayat
menggunakan
yang Benar
Algoritma Rabin Karp

Status dan
Selesai Hasil Ulangi
Similarity

Tidak

Gambar 4.1. Flowchart Aplikasi Muroja’ah


1. Mulai aplikasi.
2. Aplikasi menampilkan pilihan surah.
3. Pengguna memilih surah.
4. Kemudian pengguna menginputkan suara/ayat.
5. Aplikasi mengkonversi suara ke string menggunakan Google Speech API.
6. Hasil konversi suara ditampilkan pada aplikasi.
7. Proses string matching (Algoritma Rabin Karp) dengan data ayat yang benar.
8. Aplikasi akan menampilkan output berupa status dan hasil similarity ayat.
9. Setelah itu pengguna dapat mengulanginya.
10. Selesai.
63

Adapun alur proses dari Algoritma Rabin Karp pada aplikasi yang dibangun
adalah sebagai berikut:

Start

Input:
Suara

Menampilkan:
Suara = Suara.toString() Data Ayat yang Benar
Suara

Suara =
Suara.toLowerCase(). Suara
filter { it in 'a'..'z' }

K=3

Kgram =
Suara.windowed Kgram
(size = K, step = 1)

jlhKgram jlhKgram = Kgram.size

i=0

A
64

Gambar 4.2.a. Flowchart Proses Algoritma Rabin Karp Aplikasi Muroja’ah

False
i<=jlhKgram

True

hashing = ((kgram[i][0].toInt() *
(Math.pow(7.0, 2.0))) + (kgram[i][1].toInt() *
hashing
(Math.pow(7.0, 1.0))) + (kgram[i][2].toInt() *
(Math.pow(7.0, 0.0))) % 10007)

HashingUcapanList hashingUcapanList.add(hashing),
hashingPatternList hashingPatternList.add(hashing)

countSameHashing = 0

hashing in False
hashingUcapanList

True B

False hashing in
hashingPatternList

True

hashUcapan False
True
countSameHashing++ == Break
hashPattern

Gambar 4.2.b. Lanjutan Flowchart Proses Algoritma Rabin Karp Aplikasi


Muroja’ah
65

Similarity = (2.0 * countSameHashing) /


(hashingUcapanList.size + Similarity
hashingPattern1List.size) * 100

Similarity = Similarity.toFloat()

Menampilkan:
Similarity

Finish

Gambar 4.2.c. Lanjutan Flowchart Proses Algoritma Rabin Karp Aplikasi


Muroja’ah
Adapun Uraian dari diagram alur di atas adalah sebagai berikut:
1. Mulai program.
2. Pengguna menginputkan suara pada aplikasi.
3. Kemudian suara tersebut diproses dengan mengubahnya kedalam sebuah string.
4. Aplikasi menampilkan ucapan suara pengguna.
5. Kemudian suara yang diubah ke dalam string tersebut, diproses dengan tahap
text preprocessing yaitu menjadi sekumpulan karakter dengan huruf kecil
semua dan membersihkan atau memfilter karakter dengan huruf abjad a kecil
sampai dengan z kecil.
6. Kemudian aplikasi akan merequest data ayat yang benar.
66

7. Aplikasi menampilkan suara yang telah dilakukan tahap text preprocessing.


8. Setelah itu aplikasi akan membuat variabel Kgram dengan menginisialisasikan
K dengan nilai 3 (tiga).
9. Setelah itu aplikasi akan memproses Kgram dengan memisahkan kalimat
tersebut menjadi tiga bagian sebanyak K yaitu tiga, dengan bergeser ke kanan
sebanyak satu karakter.
10. Kemudian aplikasi mendapatkan output nilai Kgram.
11. Setelah itu aplikasi akan menghitung jumlah Kgram tersebut dan akan
dimasukkan kedalam variabel jlhKgram.
12. Setelah itu aplikasi akan mendapatkan output jlhKgram.
13. kemudian setelah itu akan dilakukan proses perulangan dengan membuat
variabel i dengan nilai 0 (nol).
14. Setelah itu aplikasi akan dihadapkan dengan sebuah kondisi. jika i lebih kecil
sama dengan dari jumlah Kgram.
15. Jika benar maka akan dilakukan sebuah proses perhitungan hashing, dengan
terlebih dahulu mengubah setiap karakter pada Kgram kedalam sebuah bilangan
ASCII dan mengkalikannya dengan basis, dalam hal ini basis berjumlah 7
(tujuh) dengan pangkat posisi array karakter dan % 10007.
16. Aplikasi akan mendapatkan output hashing.
17. Setelah itu hashing ucapan dan hashing pattern akan ditambahkan kedalam
masing-masing hashingUcapanList dan hashingPatternList.
18. Kemudian akan kembali kedalam sebuah kondisi i<=jlhKgram. dan jika kondisi
salah maka aplikasi akan berlanjut kedalam proses countSameHasing atau
menghitung jumlah hashing yang sama.
19. Kkemudian aplikasi akan mengenali variabel countSameHashing yang bernilai
0 (nol).
20. Kemudian aplikasi akan dihadapkan kedalam sebuah kondisi pencarian jika
hashing berada di hashingUcapanList.
21. Maka akan berlanjut kedalam sebuah kondisi pencarian hashing in
hashingPatterList,
67

22. Jika benar maka aplikasi akan membandingkan kondisi, jika hashUcapan sama
dengan hashPattern maka variabel countSameHashing ditambah 1 (satu).
23. Jika salah maka akan dilakukan proses break tanpa penambahan nilai.
24. Setelah itu kembali kedalam sebuah kondisi hashing in hashingUcapanList.
25. Jika kondisi salah maka akan berlanjut kedalam sebuah proses Similarity yaitu
dengan menghitung tingkat persamaannya dengan rumus 2 (dua) di kali
counSameHashing atau jumlah hashing yang sama kemudian dibagi dengan
jumlah hashingUcapanList.size atau jumlah hashing ucapan pada
hashingUcapanList kemudian menambahkan jumlah hashingPatternList.size
atau jumlah hashing pattern pada hashingUcapanList dan dikalikan dengan
100.
26. Setelah itu aplikasi akan mendapatkan nilai perhitungan Similarity.
27. Kemudian aplikasi akan melakukan proses Similarity dengan menjadikan nilai
Similarity tadi menjadi bilangan berkoma.
28. Setelah itu aplikasi akan menampilkan nilai Similarity tersebut.
29. Selesai.
Berikut adalah contoh penerapan manual dari tahapan proses Algoritma
Rabin Karp pada aplikasi muroja’ah yang dibangun. Adapun contohnya ialah pada
ayat-ayat surah Al-Mau’un.
1. Input suara/ayat pengguna
Terdapat dua kumpulan string, yakni string pattern yaitu string asli berupa data
ayat yang benar. Dan string speech berupa string dari ayat yang diucapkan
pengguna atau string uji, dalam hal ini dikenali dengan variabel speech. Adapun
contoh penerapannya ialah pada ayat-ayat surah Al-Ma’un yang dapat dilihat pada
tabel berikut:
Tabel 4.1. Contoh penerapan string matching pada aplikasi
No Speech
Pattern
Ayat
1 aroaitalladziyukadzibubiddin Aroaitalladzi yukadzibu biddin

2 fadzalikalladziiyadu\'ulyatim Fadzalikal ladzii yadu'ul yatim


68

3 walayahudualatoamilmiskin Wala yahudu ala toa mil miskin

No Speech
Pattern
Ayat
4 fawailullilmushollin Fawailul lil mushollin

5 allazinahumanshalatihimsahun Allazinahum an shalatihim


sahun

6 alladzinahumyuroun Alladzinahum yuroun

7 wayamnaunalma\'un Wayam naunal ma'un

2. Tahap text preprocessing


Pada tahap ini string pattern dan string speech dilakukan proses filtering dan
pembersihan data. Yaitu dengan menjadikan semua karakter menjadi huruf kecil
semua dan menyaring seluruh karakter menjadi kumpulan huruf dari huruf a kecil
sampai z kecil dan menghapus spasi beserta simbol-simbol lainnya seperti tanda
koma atas, koma, titik, dan lain sebagainya. Adapun hasilnya dapat dilihat pada
tabel berikut:
Tabel 4.2. Tahap text preprocessing
No Speech
Pattern
Ayat
1 aroaitalladziyukadzibubiddin aroaitalladziyukadzibubiddin

2 fadzalikalladziiyaduulyatim fadzalikalladziiyaduulyatim

3 walayahudualatoamilmiskin walayahudualatoamilmiskin

4 fawailullilmushollin fawailullilmushollin

5 allazinahumanshalatihimsahun allazinahumanshalatihimsahun

6 alladzinahumyuroun alladzinahumyuroun
69

7 wayamnaunalmaun wayamnaunalmaun

3. Tahap parsing Kgram


Pada tahap ini dilakukan proses pembentukan pola kata pada string dengan cara
membagi string menjadi beberapa bagian. Dalam hal ini penulis memecah menjadi
3 (tiga) bagian potongan-potongan. Yang dapat dilihat pada tabel berikut:

Tabel 4.3. Tahap parsing Kgram


No Speech
Pattern
Ayat
1 [aro, roa, oai, ait, ita, tal, all, [aro, roa, oai, ait, ita, tal, all,
lla, lad, adz, dzi, ziy, iyu, lla, lad, adz, dzi, ziy, iyu,
yuk, uka, kad, adz, dzi, zib, yuk, uka, kad, adz, dzi, zib,
ibu, bub, ubi, bid, idd, ddi, ibu, bub, ubi, bid, idd, ddi,
din] din]

2 [fad, adz, dza, zal, ali, lik, [fad, adz, dza, zal, ali, lik,
ika, kal, all, lla, lad, adz, ika, kal, all, lla, lad, adz,
dzi, zii, iiy, iya, yad, adu, dzi, zii, iiy, iya, yad, adu,
duu, uul, uly, lya, yat, ati, duu, uul, uly, lya, yat, ati,
tim] tim]

3 [wal, ala, lay, aya, yah, ahu, [wal, ala, lay, aya, yah, ahu,
hud, udu, dua, ual, ala, lat, hud, udu, dua, ual, ala, lat,
ato, toa, oam, ami, mil, ilm, ato, toa, oam, ami, mil, ilm,
lmi, mis, isk, ski, kin] lmi, mis, isk, ski, kin]

4 [faw, awa, wai, ail, ilu, lul, [faw, awa, wai, ail, ilu, lul,
ull, lli, lil, ilm, lmu, mus, ull, lli, lil, ilm, lmu, mus,
ush, sho, hol, oll, lli, lin] ush, sho, hol, oll, lli, lin]

5 [all, lla, laz, azi, zin, ina, [all, lla, laz, azi, zin, ina,
nah, ahu, hum, uma, man, nah, ahu, hum, uma, man,
70

No Speech
Pattern
Ayat
ans, nsh, sha, hal, ala, lat, ans, nsh, sha, hal, ala, lat,
ati, tih, ihi, him, ims, msa, ati, tih, ihi, him, ims, msa,
sah, ahu, hun] sah, ahu, hun]

6 [all, lla, lad, adz, dzi, zin, [all, lla, lad, adz, dzi, zin,
ina, nah, ahu, hum, umy, ina, nah, ahu, hum, umy,
myu, yur, uro, rou, oun] myu, yur, uro, rou, oun]

7 [way, aya, yam, amn, mna, [way, aya, yam, amn, mna,
nau, aun, una, nal, alm, lma, nau, aun, una, nal, alm, lma,
mau, aun] mau, aun]

4. Tahap perhitungan Hashing dan perhitungan hasil similarity


Pada tahap ini dilakukan proses untuk mentransformasikan string menjadi
sebuah hash value atau nilai yang unik berdasarkan bilangan American Standard
Code for Information Interchange (ASCII). Berikut adalah tabel karakter ASCII.
Tabel 4.4. Tabel Karakter ASCII

Char Bilangan Char Bilangan Char Bilangan Char Bilangan


ASCII ASCII ASCII ASCII
a 97 i 105 p 112 x 120
b 98 j 106 q 113 y 121
c 99 k 107 r 114 z 122
d 100 g 103 s 115
e 101 l 108 t 116
f 102 m 109 u 117
g 103 n 110 v 118
h 104 o 111 w 119
71

Sebagai contoh pada Kgram pertama yaitu [aro]. Dalam hal ini basis ditentukan
dengan nilai 7 (tujuh) karena angka tersebut paling sesuai dengan hasil persentase
dari similarity yaitu dengan hasil maksimal 100%.

Tabel 4.5. Tahap menghitung hashing pada Kgram


Char Nilai ASCII (decimal) Char ASCII *
basis ^ posisi
karakter dimulai
dari belakang
a 97 (97 * (7^2)) +
r 114 (114 * (7^1)) +
o 111 (111 * (7^0))
Hasil hashing [aro] = 5662

Berikut perhitungan hashing lengkap pada seluruh ayat surah Al-Ma’un. Dan
kemudian aplikasi akan menghitung jumlah hash pada masing-masing Kgram di
string pattern dan juga string speech. Setelah itu aplikasi akan membandingkan dan
menghitung jumlah hash yang sama. Dan terakhir adalah menghitung similarity.
Dengan rumus (2 * jumlah hash yang sama) / (jumlah hashing speech + jumlah
hashing pattern) * 100.

Tabel 4.6. Tahap menghitung jumlah hasing dan hasil similarity


Jumlah Hasil
Nomor
Pattern Speech Hash yang Similarity
Ayat
Sama
1 1. aro=5662.0 1. aro=5662.0 26 100%
2. roa=6460.0 2. roa=6460.0
3. oai=6223.0 3. oai=6223.0
4. ait=5604.0 4. ait=5604.0
5. ita=6054.0 5. ita=6054.0
6. tal=6471.0 6. tal=6471.0
7. all=5617.0 7. all=5617.0
72

Jumlah Hasil
Nomor
Pattern Speech Hash yang Similarity
Ayat
Sama
8. lla=6145.0 8. lla=6145.0
9. lad=6071.0 9. lad=6071.0
10. adz=5575.0 10. adz=5575.0
11. dzi=5859.0 11. dzi=5859.0
12. ziy=6834.0 12. ziy=6834.0
13. iyu=6109.0 13. iyu=6109.0
14. yuk=6855.0 14. yuk=6855.0
15. uka=6579.0 15. uka=6579.0
16. kad=6022.0 16. kad=6022.0
17. adz=5575.0 17. adz=5575.0
18. dzi=5859.0 18. dzi=5859.0
19. zib=6811.0 19. zib=6811.0
20. ibu=5948.0 20. ibu=5948.0
21. bub=5719.0 21. bub=5719.0
22. ubi=6524.0 22. ubi=6524.0
23. bid=5637.0 23. bid=5637.0
24. idd=5945.0 24. idd=5945.0
25. ddi=5705.0 25. ddi=5705.0
26. din=5745.0 26. din=5745.0
2 1. fad=5777.0 1. fad=5777.0 25 100%
2. adz=5575.0 2. adz=5575.0
3. dza=5851.0 3. dza=5851.0
4. zal=6765.0 4. zal=6765.0
5. ali=5614.0 5. ali=5614.0
6. lik=6134.0 6. lik=6134.0
7. ika=5991.0 7. ika=5991.0
8. kal=6030.0 8. kal=6030.0
73

Jumlah Hasil
Nomor
Pattern Speech Hash yang Similarity
Ayat
Sama
9. all=5617.0 9. all=5617.0
10. lla=6145.0 10. lla=6145.0
11. lad=6071.0 11. lad=6071.0
12. adz=5575.0 12. adz=5575.0
13. dzi=5859.0 13. dzi=5859.0
14. zii=6818.0 14. zii=6818.0
15. iiy=6001.0 15. iiy=6001.0
16. iya=6089.0 16. iya=6089.0
17. yad=6708.0 17. yad=6708.0
18. adu=5570.0 18. adu=5570.0
19. duu=5836.0 19. duu=5836.0
20. uul=6660.0 20. uul=6660.0
21. uly=6610.0 21. uly=6610.0
22. lya=6236.0 22. lya=6236.0
23. yat=6724.0 23. yat=6724.0
24. ati=5670.0 24. ati=5670.0
25. tim=6528.0 25. tim=6528.0
3 1. wal=6618.0 1. wal=6618.0 23 100%
2. ala=5606.0 2. ala=5606.0
3. lay=6092.0 3. lay=6092.0
4. aya=5697.0 4. aya=5697.0
5. yah=6712.0 5. yah=6712.0
6. ahu=5598.0 6. ahu=5598.0
7. hud=6015.0 7. hud=6015.0
8. udu=6550.0 8. udu=6550.0
9. dua=5816.0 9. dua=5816.0
10. ual=6520.0 10. ual=6520.0
74

Jumlah Hasil
Nomor
Pattern Speech Hash yang Similarity
Ayat
Sama
11. ala=5606.0 11. ala=5606.0
12. lat=6087.0 12. lat=6087.0
13. ato=5676.0 13. ato=5676.0
14. toa=6558.0 14. toa=6558.0
15. oam=6227.0 15. oam=6227.0
16. ami=5621.0 16. ami=5621.0
17. mil=6184.0 17. mil=6184.0
18. ilm=6010.0 18. ilm=6010.0
19. lmi=6160.0 19. lmi=6160.0
20. mis=6191.0 20. mis=6191.0
21. isk=6057.0 21. isk=6057.0
22. ski=6489.0 22. ski=6489.0
23. kin=6088.0 23. kin=6088.0
4 1. faw=5796.0 1. faw=5796.0 18 100%
2. awa=5683.0 2. awa=5683.0
3. wai=6615.0 3. wai=6615.0
4. ail=5596.0 4. ail=5596.0
5. ilu=6018.0 5. ilu=6018.0
6. lul=6219.0 6. lul=6219.0
7. ull=6597.0 7. ull=6597.0
8. lli=6153.0 8. lli=6153.0
9. lil=6135.0 9. lil=6135.0
10. ilm=6010.0 10. ilm=6010.0
11. lmu=6172.0 11. lmu=6172.0
12. mus=6275.0 12. mus=6275.0
13. ush=6642.0 13. ush=6642.0
14. sho=6474.0 14. sho=6474.0
75

Jumlah Hasil
Nomor
Pattern Speech Hash yang Similarity
Ayat
Sama
15. hol=5981.0 15. hol=5981.0
16. oll=6303.0 16. oll=6303.0
17. lli=6153.0 17. lli=6153.0
18. lin=6137.0 18. lin=6137.0
5 1. all=5617.0 1. all=5617.0 26 100%
2. lla=6145.0 2. lla=6145.0
3. laz=6093.0 3. laz=6093.0
4. azi=5712.0 4. azi=5712.0
5. zin=6823.0 5. zin=6823.0
6. ina=6012.0 6. ina=6012.0
7. nah=6173.0 7. nah=6173.0
8. ahu=5598.0 8. ahu=5598.0
9. hum=6024.0 9. hum=6024.0
10. uma=6593.0 10. uma=6593.0
11. man=6130.0 11. man=6130.0
12. ans=5638.0 12. ans=5638.0
13. nsh=6299.0 13. nsh=6299.0
14. sha=6460.0 14. sha=6460.0
15. hal=5883.0 15. hal=5883.0
16. ala=5606.0 16. ala=5606.0
17. lat=6087.0 17. lat=6087.0
18. ati=5670.0 18. ati=5670.0
19. tih=6523.0 19. tih=6523.0
20. ihi=5978.0 20. ihi=5978.0
21. him=5940.0 21. him=5940.0
22. ims=6023.0 22. ims=6023.0
23. msa=6243.0 23. msa=6243.0
76

Jumlah Hasil
Nomor
Pattern Speech Hash yang Similarity
Ayat
Sama
24. sah=6418.0 24. sah=6418.0
25. ahu=5598.0 25. ahu=5598.0
26. hun=6025.0 26. hun=6025.0
6 1. all=5617.0 1. all=5617.0 16 100%
2. lla=6145.0 2. lla=6145.0
3. lad=6071.0 3. lad=6071.0
4. adz=5575.0 4. adz=5575.0
5. dzi=5859.0 5. dzi=5859.0
6. zin=6823.0 6. zin=6823.0
7. ina=6012.0 7. ina=6012.0
8. nah=6173.0 8. nah=6173.0
9. ahu=5598.0 9. ahu=5598.0
10. hum=6024.0 10. hum=6024.0
11. umy=6617.0 11. umy=6617.0
12. myu=6305.0 12. myu=6305.0
13. yur=6862.0 13. yur=6862.0
14. uro=6642.0 14. uro=6642.0
15. rou=6480.0 15. rou=6480.0
16. oun=6368.0 16. oun=6368.0
7 1. way=6631.0 1. way=6631.0 13 100%
2. aya=5697.0 2. aya=5697.0
3. yam=6717.0 3. yam=6717.0
4. amn=5626.0 4. amn=5626.0
5. mna=6208.0 5. mna=6208.0
6. nau=6186.0 6. nau=6186.0
7. aun=5682.0 7. aun=5682.0
8. una=6600.0 8. una=6600.0
77

Jumlah Hasil
Nomor
Pattern Speech Hash yang Similarity
Ayat
Sama
9. nal=6177.0 9. nal=6177.0
10. alm=5618.0 10. alm=5618.0
11. lma=6152.0 11. lma=6152.0
12. mau=6137.0 12. mau=6137.0
13. aun=5682.0 13. aun=5682.0

4.2.2. Usecase Diagram


Diagram usecase menggambarkan proses yang dapat dilakukan pengguna
pada sistem yang dibangun. Diagram usecase pada aplikasi yang penulis bangun
memungkinkan seorang aktor atau pengguna dapat memilih surah, menginputkan
suara, melihat status, dan melihat persentase kesamaan atau similarity. Gambaran
diagram usecase pada sistem yang penulis bangun dapat dilihat sebagai berikut :
78

Gambar 4.3. Use Case Diagram Aplikasi muroja’ah yang dibangun

4.2.3. Activity Diagram


Diagram aktivitas menggambarkan alur kerja dari proses yang terjadi di
sistem atau proses bisnis. Adapun diagram aktivitas pada aplikasi yang dibangun
ialah pengguna dapat melihat pilihan surah. Kemudian pengguna dapat memilih
surah yang kemudian sistem akan mengidentifikasi surah yang dipilih oleh
pengguna. Setelah itu pengguna dapat melihat halaman atau aktivitas murojaah
practice, kemudian pengguna dapat menginputkan suara atau ucapan ayat yang akan
dikirim ke server Google Speech API. Google Speech API akan mengenali suara dan
mengubahnya menjadi teks. Setelah itu sistem akan melakukan perhitungan string
matching menerapkan algoritma Rabin Karp. Kemudian user akan mendapatkan
informasi mengenai akurasi similarity dari ayat yang diucapkannya.
79

Adapun gambaran activity diagram yang penulis bangun dapat dilihat sebagai
berikut:

Gambar 4.4. Activity Diagram Aplikasi muroja’ah yang dibangun


80

4.2.4. Sequence Diagram


Sequence diagram menjelaskan tahapan dan interaksi yang dilakukan oleh
aktor atau pengguna terhadap suatu aplikasi yang dikembangkan. Pada aplikasi yang
dibangun, Adapun sequence diagramnya ialah sistem akan menjalankan method
onCreate terlebih dahulu, kemudian pengguna dapat memilih surah pada
MainActivity. Setelah itu pengguna akan menginputkan suara dengan menggunakan
method getSpeechInput yang berfungsi untuk mengubah suara pengguna kedalam
string. Setelah diubah kedalam string maka akan dilakukan perbandingan string atau
string matching dengan menggunakan algoritma Rabin Karp. Setelah itu sistem akan
memberikan informasi dengan menampilkan status dan akurasi persentase kesamaan
kedua string antara ayat yang diucapkan pengguna dengan database ayat. Adapun
gambaran sequence diagram pada aplikasi yang penulis bangun sebagai berikut:

Gambar 4.5. Sequence Diagram Aplikasi muroja’ah yang dibangun

4.2.5. Class Diagram


Diagram kelas menggambarkan paket atau kelas yang ada di sistem. Diagram
kelas dapat menguraikan sistem dan hubungan yang terdapat pada sistem yang
dibangun. Adapun diagram kelas pada aplikasi yang dibangun terdiri dari dua kelas
81

yaitu Surah dan detail Surah. Adapun attributes dari kelas surah bersifat private
yakni surahNumber bertipe integer, surahName bertipe string, jlhAyat bertipe
integer. Sedangkan Method pada kelas Surah adalah public getListSurah() dengan
tipe data ArrayList<Surah>. Sedangkan pada kelas detailSurah memiliki attribute
ayat bersifat private dengan tipe data integer. Memiliki method askSpeechInput()
bersifat private dan onActivityResult() bersifat public. Adapun kedua kelas tersebut
memiliki relasi composition yang berarti kelas ayat tidak akan bisa ada tanpa adanya
kelas surah. Adapun Multiplicity dari relasi tersebut 1 kelas surah sebanyak n kelas
ayat. Adapun gambaran class diagram pada aplikasi yang penulis bangun sebagai
berikut :

Gambar 4.6. Class Diagram Aplikasi muroja’ah yang dibangun


82

4.2.6. Storyboard
Storyboard merupakan visualisasi ide dari aplikasi yang dibangun, sehingga
dapat memberikan gambaran tentang aplikasi yang dibangun. Adapun Storyboard
dari aplikasi yang akan penulis bangun dapat dilihat pada Tabel 4.7 berikut.
Tabel 4.7. Storyboard Aplikasi Muroja’ah
Keterangan
Tampilan Gambar
No

1 Pilihan Tampilan ini berisi


Surah mengenai
recyclerview atau
daftar list pilihan
surah, yang terdiri
dari 144 (serratus
empat belas) surah
yaitu yang bermula
dari Surah Al-
Fatihah samapi
dengan Surah An-
Nas
83

Tabel 4.7.a. Storyboard Aplikasi Muroja’ah


Keterangan
No Tampilan Gambar

2 Murojaah Tampilan ini berisi


Practice button untuk
mengkonversi suara
menggunakan
google speech API
dan berisikan
tentang status dan
hasil tingkat
kesamaan antara
ayat yang
diucapkan dengan
data ayat yang
benar
84

Tabel 4.7.b. Storyboard Aplikasi Muroja’ah


Keterangan
No Tampilan Gambar

3 Google Tampilan ini


Speech berisikan tentang
Google Speech
untuk merekam dan
mengenali suara
yang akan diubah
ke teks

4.2.7. Desain Interface (Antar Muka)


Perancangan layout akan menggambarkan interface (antarmuka) aplikasi
muroja’ah yang dikembangkan. Berikut adalah desain interface pada sistem yang
dikembangkan.
85

a. Tampilan awal daftar surah


Tampilan awal merupakan tampilan pembuka dari aplikasi muroja’ah.
Tampilan ini tampil pada saat aplikasi di onCreate atau dijalankan. Tampilan
ini berisikan recyclerview atau daftar-daftar surah dalam bentuk list. Adapun
rancangan tampilan awal akan terlihat seperti berikut ini:

Gambar 4.7. Desain Tampilan Awal Daftar Surah


86

b. Tampilan latihan murojaah


Tampilan latihan murojaah adalah tampilan yang didapatkan setelah user
memilih surah yang ingin dikoreksi hafalannya. Tampilan ini berfungsi untuk
melihat status dan tingkat persamaan ayat yang diucapkan dengan data yang
benar. Adapun rancangan tampilan latihan murojaah akan tampak seperti
berikut:

Gambar 4.8. Desain Tampilan Latihan Murojaah


87

c. Tampilan google speech


Tampilan google speech adalah tampilan yang akan terlihat jika user memilih
button Murojaah Now. Tampilan ini berfungsi untuk mengenali ucapan
pengguna dan kemudian mengkonversi suara atau ucapan tersebut kedalam
sebuah teks. Adapun rancangan tampilan google speech ini adalah sebagai
berikut

Gambar 4.9. Desain Tampilan Google Speech


88

4.3. Tahap Implementasi


Tahap implementasi adalah proses menciptakan dan mengimplementasikan
aplikasi yang ingin dibangun secara keseluruhan dari sudut pandang
hardware (perangkat keras) dan software (perangkat lunak).
a. Tampilan awal daftar surah
Tampilan awal merupakan tampilan pembuka dari aplikasi muroja’ah.
Tampilan ini tampil ketika pertama kali aplikasi ini dijalankan. Tampilan
ini berisikan recyclerview atau daftar-daftar surah dalam bentuk list.
Berikut adalah implementasi tampilan awal aplikasi yang dibangun yang
terdapat pada gambar berikut ini:

Gambar 4.10. Implementasi tampilan awal aplikasi


89

b. Tampilan latihan murojaah


Tampilan latihan murojaah adalah tampilan yang didapatkan setelah user
memilih surah yang ingin dikoreksi hafalannya. Tampilan ini berfungsi
untuk melihat status dan tingkat persamaan ayat yang diucapkan dengan
data ayat yang benar. Adapun implementasi tampilan latihan murojaah
sebelum dan sesudah diinputkan suara bisa dilihat pada gambar berikut:

Gambar 4.11. Implementasi tampilan sebelum input suara


90

Gambar 4.12. Implementasi tampilan setelah input suara

c. Tampilan google speech


Tampilan google speech adalah tampilan yang akan terlihat jika user
memilih button Murojaah Now. Tampilan ini berfungsi untuk mengenali
ucapan pengguna dan kemudian mengkonversi suara atau ucapan tersebut
91

kedalam sebuah teks. Adapun implementasi tampilan google speech ini


dapat dilihat pada gambar berikut.

Gambar 4.13. Implementasi tampilan google speech


92

4.4. Tahap Testing


Dalam tahap testing ini, penulis melakukannya setelah tahap implementasi
selesai, dengan menjalankan program aplikasi yang dibangun untuk melihat apakah
masih terdapat error atau program berjalan dengan aman dan lancar. Pada tahap ini,
dilakukan pengujan aplikasi dengan metode blackbox testing. Metode ini adalah
metode untuk melakukan pengujian terhadap program aplikasi berdasarkan fungsi-
fungsi yang ada didalam program aplikasi yang dibangun.
Adapun pengujian yang penulis lakukan menggunakan device atau perangkat
Android versi Lollipop 5.1.1 Samsung Galaxy J3 2016 Smartphone dan diperoleh
hasil pengujian seperti berikut:
Tabel 4.8. Pengujian Blackbox Testing pada sistem yang dibangun

Hasil
Jenis Kegiatan
No

Menampilkan daftar list surah Al-


RecyclerView Qur’an berserta nomor surah dan Sesuai
1
jumlah ayatnya

Menampilkan halaman praktik


On Click surah’s item
murojaah (Murojaah Practice Activity) Sesuai
2 list pada RecyclerView
sesuai dengan surah yang dipilih

On Back Pressed pada


Mengembalikan halaman atau activity Sesuai
3 Murojaah Practice
ke halaman awal (main activity)
Activity

Sesuai
Murojaah Now Button Menanpilkan tampilan google speech
4

Sesuai
Google Speech Mengkonversi suara ke teks
5
93

Hasil
Jenis Kegiatan
No

Menampilkan tingkat perbandingan


atau persamaan ucapan menggunakan Sesuai
Similarity Textview
6 Algoritma Rabin Karp dalam satuan
persen

Menampilkan status apakah ucapan Sesuai


Status Textview
7 sudah benar atau tidak

Sesuai
Next Button Membersihkan data
8

Berdasarkan hasil blackbox testing yang penulis lakukan terhadap lima


orang yang berbeda menyatakan bahwa sistem aplikasi yang dibangun telah
berjalan sesuai dengan fungsi yang semestinya. Maka berdasarkan hasil tersebut
dapat disimpulkan bahwa sistem aplikasi yang penulis bangun dan kembangkan
telah tervalidasi melalui pengujian blackbox testing. Dan hasil pengujian tersebut
mengungkapkan bahwa sistem aplikasi yang dibangun telah berhasil berjalan sesuai
dengan fungsi yang semestinya.
BAB V
KESIMPULAN DAN SARAN

5.1. Kesimpulan
Berdasarkan pembahasan pada bab-bab sebelumnya, maka dapat ditarik
beberapa kesimpulan diantaranya ialah sebagai berikut:
1. Aplikasi yang dibangun adalah aplikasi muroja’ah hafalan Al-Qur’an berbasis
Android dengan menerapkan Google Speech API dan Algoritma Rabin Karp.
Aplikasi akan memberikan informasi berupa status muroja’ah pengguna
beserta tingkat akurasi persamaan ayat yang diucapkan.
2. Aplikasi dibangun menggunakan Android Studio dengan bahasa
pemrograman Kotlin.
3. Sampel surah yang diterapkan pada aplikasi yang dibangun sebanyak jumlah
ayat pada enam surah. Surah tersebut terdiri dari Surah Al-Fatihah, Al-Maun,
Al-Kausar, Al-Ikhlas, Al-Falaq, dan An-Nas.
4. Aplikasi muroja’ah hafalan Al-Qur’an mengimplementasikan teknologi
Speech Recognition in Artificial Intelligence dengan mengimplementasikan
layanan dari Google Speech API yang berguna untuk mengenali suara/ayat
yang diucapkan pengguna dengan mengkonversi suara tersebut kedalam
sebuah string/teks Bahasa Indonesia.
5. Aplikasi muroja’ah hafalan Al-Qur’an menerapkan proses string matching
menggunakan algoritma Rabin Karp sebagai proses dalam membandingkan
antara ayat yang diucapkan oleh pengguna dengan data ayat yang benar yang
terdapat pada file String.xml. Sehingga aplikasi akan menampilkan persentase
akurasi kesamaan ayat. Dalam proses membandingkan ayat tersebut terdapat
beberapa proses yang dilakukan yaitu pertama melakukan proses
preprocessing dengan menjadikan seluruh kalimat menjadi huruf kecil dan
membersihkan atau filter kalimat yang diucapkan oleh pengguna hanya terdiri
dari huruf abjad tanpa spasi, simbol, dan karakter-karakter lainnya. Kedua
memisahkan karakter yang sudah dibersihkan tadi menjadi tiga bagian

93
94

Kgram. Ketiga melakukan proses hashing Kgram dengan mengkonversi


bagian-bagian Kgram tersebut menjadi bilangan ASCII (American Standard
Code for Information Interchange), kemudian menghitung jumlah hash yang
sama pada setiap Kgram. Keempat melakukan perhitungan persamaan
(similarity) pada kalimat atau ayat yang diucapkan oleh pengguna. Setelah
didapatkan similarity-nya maka aplikasi akan memberikan informasi
mengenai status benar atau belum tepat beserta persentase akurasi
persamaannya.

5.2. Saran
Berdasarkan penelitian yang penulis lakukan, adapun saran untuk penelitian
selanjutnya adalah sebagai berikut:
1. Konversi suara yang diucapkan oleh pengguna sebaiknya diubah kedalam
bahasa arab.
2. Menambahkan isi ayat pada setiap surah yang belum terdapat pada aplikasi.
3. Menambahkan fitur mencari letak kesalahan jika terdapat kesalahan pada saat
muroja’ah. Dan dapat mengidentifikasi jika terdapat missing atau kesalahan
bacaan huruf baik satu huruf maupun lebih.
4. Menambahkan fitur koreksi kesalahan yang lebih kompleks seperti koreksi
panjang pendek ayat (harakat), tajwid, qalqalah dan lainnya yang terdapat
pada ilmu baca Al-Qur’an yang benar.
5. Mengimplementasikan aplikasi pada layanan cloud provider lainnya atau
membuat data training ayat yang benar dengan menerapkan bidang ilmu
Machine Learning atau Natural Languages Processing.
DAFTAR PUSTAKA

Aristanto, Eko, Syarif Hidayatullah, and Ike Kusdyah Rachmawati. 2019. TAUD
TABUNGAN AKHIRAT Perspektif “Kuttab Rumah Qur’an.” Sidoarjo: Uwais
Inspirasi Indonesia.
Baeker, R. M., J. Grudin, W. A. S. Buxton, and S. Greenberg. 1995. Readings in
Human-Computer Interaction: Toward The Year 2000. USA: Morgan
Kaufmann Publishers Inc.
Barakbah, Ali Ridho. 2013. “Logika Dan Algoritma. Program Studi Teknik
Informatika Departemen Teknik Informatika Dan Komputer Politeknik
Elektronika Negeri Surabaya.” Jurnal Media Pembelajaran Berbasis
Komputer.
Developer, Android. 2020. “Meet Android Studio.” Android Developer. Retrieved
June 8, 2020 (https://developer.android.com/studio/intro).
Enterprise, Jubilee. 2015. Mengenal Dasar-Dasar Pemrograman Android. Jakarta:
PT Elex Media Komputindo.
Haqi, Bay, and Heri Satria Setiawan. 2019. Aplikasi Absensi Dosen Dengan Java
Dan Smartphone Sebagai Barcode Reader. Jakarta: Elex Media Komputindo.
Hasnun, S., B. K. Marcel, and W. S. Michael. 2018. Pemograman Android Dengan
Android Studio. Yogyakarta: Andi Offset.
Hendriyani, Yeka, and Karmila Suryani. 2020. Pemrograman Android Teori Dan
Aplikasi. Pasuruan: CV. Penerbit Qiara Media.
Herlinah, and Musliadi. 2019. Pemrograman Aplikasi Android Dengan Android
Studio, Photoshop, Dan Audition. Jakarta: PT Elex Media Komputindo.
Istiyanto, J, E. 2013. Pemrograman Smartphone Menggunakan SDK Android Dan
Hacking Android. Yogyakarta: Graha Ilmu.
Jaka. 2021. “Daftar Urutan Versi Android Terbaru 2021 | Dari Paling Awal Sampai
Android 11!” Jalantikus.Com. Retrieved February 14, 2021
(https://jalantikus.com/tips/urutan-versi-android/).
Mahya, Ainun, and Arina P. n.d. Musa Si Hafiz Cilik Penghapal Al-Quran.

95
96

Cimanggis: Huta Publisher.


Mujahidin, Z. 2013. “Implementasi Metode Rabin Karp Untuk Mendeteksi Tingkat
Kesamaan Dua Dokumen.” Jurnal Tugas Akhir.
Mulyani, Sri. 2017. Metode Analisis Dan Perancangan Sistem. Bandung: Abdi
Sistematika.
Muslihudin, Muhamad. 2016. Analisis Dan Perancangan Sistem Informasi
Menggunakan Model Terstruktur Dan UML. Yogyakarta: Penerbit Andi.
Nata, Abuddin. 2016. Pendidikan Dalam Perspektif Alquran. Jakarta:
Prenadamedia Group.
Pane, Syafrial Fachrie, Wahyu Kurnia Sari, and Zanwar Arif Wicaksono. 2020.
Membuat Aplikasi Pengolahan Data Administrasi Barang Menggunakan
Aplikasi Apex Online. Bandung: Kreatif Industri Nusantara.
Purnama, Yulian. 2014. “Mengapa Perlu Menghafal Al Qur’an?” Muslimah.or.Id.
Retrieved May 14, 2020 (https://muslimah.or.id/6222-mengapa-perlu-
menghafal-al-quran-1.html).
Putra, Doddi Aria, Herry Sujaini, and Helen Sasty Pratiwi. 2015. “Implementasi
Algoritma Rabin-Karp Untuk Membantu Pendeteksian Plagiat Pada Karya
Ilmiah.” Jurnal Sistem Dan Teknologi Informasi (JUSTIN) 4(1):66–74.
Rahmaddeni, Didik Sazali, and Agustin. 2018. “Sistem Pendeteksi Tingkat
Kesamaan Teks Pada Pengusulan Proposal Penelitian Internal Menggunakan
Algoritma Rabin-Karp.” 4(2).
Ratumurun, S. 2015. “Sistem Informasi Akuntansi Permintaan Barang Dari Gudang
Pada PT. Mauwasa Sejahtera Ambon.” Cita Ekonomika, Jurnal Ekonomi,
IX(1), 57–64.
Rolly, Nicky, and Nashrul Hakiem. 2015. “Pengembangan Aplikasi Mobile
Academic Information System (AIS) Berbasis Android Untuk Pengguna
Dosen Dan Mahasiswa (Studi Kasus : Pusat Teknologi Informasi Dan
Pangkalan Data (Pustipanda) UIN Syarif Hidayatullah Jakarta).” Jurnal
Teknik Informatika 8(1):16–21.
Sadulloh, S. Q. 2008. 9 Cara Praktis Menghafal Al-Quran. Gema Insani.
Samsudin, Samsudin. 2015. “Perancangan Aplikasi Interactive Learning Berbasis
97

Multimedia.” 9(1).
Samsudin, Samsudin. 2018. Penentuan Penerimaan Remunerasi Dosen Dengan
Rule Based Reasoning. Medan.
Saputra, Dhanar Intan Surya, Sitaresmi Wahyu Handani, and Gilang Aji Diniary.
2017. “Pemanfaatan Cloud Speech Api Untuk Pengembangan Media
Pembelajaran Bahasa Inggris Menggunakan Teknologi Speech Recognition.”
Telematika 10(2):92–105.
Siahaan, Andysah Putera Utama, Solly Aryza, Eko Hariyanto, Rusiadi, Andre
Hasudungan Lubis, Ali Ikhwan, and Phak Len Eh Kan. 2018. “Combination
of Levenshtein Distance and Rabin-Karp to Improve the Accuracy of
Document Equivalence Level.” International Journal of Engineering and
Technology(UAE) 7(2 Special Issue 27):17–21.
Sukamto, Rosa Ariani, and Muhammad Shalahuddin. 2014. Rekayasa Perangkat
Lunak Terstruktur Dan Berorientasi Objek. Bandung: Informatika.
Supriyanta, Puji Widodo, and Bekti Maryuni Susanto. 2014. “Aplikasi Konversi
Suara Ke Teks Berbasis Android Menggunakan Google Speech API.”
Bianglala Informatika 2(2):11–19.
Suryana, D. 2018. Android Studio: Belajar Android Studio. Bandung: Dayat
Suryana Independent.
Takdirillah, Robby. 2020. “Inilah Urutan Versi Android Dari Awal Hingga Terbaru
(Lengkap).” Dicoding.Com. Retrieved February 14, 2021
(https://www.dicoding.com/blog/urutan-versi-android/).
Triandini, Wvi, and I. Gede Suardika. 2012. Step By Step Desain Proyek
Menggunakan UML. Yogyakarta: CV. Andi Offset.
Wahidi, Ridhoul, and Muhammad Syukron Maksum. 2013. Beli Surga Dengan Al-
Qur’an. Medpress Digital.
Wiguna, Ahmad Aulia, and Ifan Rizqa. 2015. “Pemanfaatan Algoritma Rabin-Karp
Untuk Mengetahui Tingkat Kemiripan Dari Source Code Pada Pemrogaman
LISP.” Skripsi FIK Udinus.
Wirawan, Teddy Pandu. 2007. “Penggunaan Algoritma Rabin-Karp Dalam
Pencocokan String.” (10).
LAMPIRAN

Anda mungkin juga menyukai