SKRIPSI
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
iv
MOTTO
v
PERSEMBAHAN
vi
IMPLEMENTASI GOOGLE SPEECH API PADA APLIKASI TAHFIDZ
MUROJA’AH HAFALAN AL-QUR’AN MENGGUNAKAN ALGORITMA
RABIN KARP BERBASIS ANDROID
ABSTRAK
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
viii
KATA PENGANTAR
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,
x
DAFTAR ISI
Halaman
PERSETUJUAN SKRIPSI……………………………………….….………….ii
PENGESAHAN SKRIPSI……………………………….……….……………..iv
MOTTO ............................................................................................................. v
PERSEMBAHAN ............................................................................................. vi
ABSTRAK........................................................................................................ vii
KATA PENGANTAR………………………………………………….………..ix
2.2. Aplikasi.................................................................................. 6
xi
2.3. Tahfidz ................................................................................... 6
xii
3.3.2. Metode Pengembangan Sistem .................................. 59
LAMPIRAN……………………………………………………………………..98
xiii
DAFTAR GAMBAR
xiv
Gambar 3.1. Denah Lokasi Tempat Penelitian .................................................... 54
Gambar 4.2.a. Flowchart Proses Algoritma Rabin Karp Aplikasi Muroja’ah ...... 64
xv
DAFTAR TABEL
Tabel 4.8. Pengujian Blackbox Testing pada aplikasi yang dibangun .................. 92
xvi
BAB I
PENDAHULUAN
1
2
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 :
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
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
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
(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
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.
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 :
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
5.0 12
21 - Multiscreen
– Lollipop November
22 Notifications
5.1.1 2014 Material Design
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
Chat Bubbles
Screen
08 Recorder
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.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:
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:
Tabel 2.3. Simbol Use Case Diagram (Sukamto dan Shalahuddin 2014)
Menggambarkan aktor
yang berinteraksi dengan
2 Aktor
sistem untuk bertukar
informasi.
Menggambarkan hubungan
3 Asosiasi antara kasus penggunaan
dan peserta.
Hubungan antara
5 Generalisasi
generalisasi dan spesialisasi
41
Aktivitas Kegiatan
dilakukan oleh sistem,
2 Aktivitas kegiatan biasanya
dimulai dengan kata
kerja
43
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
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
Menggambarkan tempat
A focus of control dan
5 mulai dan berakhirnya
A life line
sebuah message
Menggambarkan pengiriman
6 A message
pesan
deskripsi
49
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
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
Pengajuan Judul
Riset Kebutuhan
Studi Literatur
Seminar Proposal
Data
Merancang Sistem
Mendesain antarmuka
Pengujian Program
55
56
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
61
62
Pilihan Ucapkan
Pilih Surah Ya
Surah Ayat
Hasil
Konversi
Tidak suara ke
teks
String Matching
Data Ayat
menggunakan
yang Benar
Algoritma Rabin Karp
Status dan
Selesai Hasil Ulangi
Similarity
Tidak
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)
i=0
A
64
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
Similarity = Similarity.toFloat()
Menampilkan:
Similarity
Finish
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
No Speech
Pattern
Ayat
4 fawailullilmushollin Fawailul lil mushollin
2 fadzalikalladziiyaduulyatim fadzalikalladziiyaduulyatim
3 walayahudualatoamilmiskin walayahudualatoamilmiskin
4 fawailullilmushollin fawailullilmushollin
5 allazinahumanshalatihimsahun allazinahumanshalatihimsahun
6 alladzinahumyuroun alladzinahumyuroun
69
7 wayamnaunalmaun wayamnaunalmaun
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]
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%.
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.
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
Adapun gambaran activity diagram yang penulis bangun dapat dilihat sebagai
berikut:
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 :
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
Hasil
Jenis Kegiatan
No
Sesuai
Murojaah Now Button Menanpilkan tampilan google speech
4
Sesuai
Google Speech Mengkonversi suara ke teks
5
93
Hasil
Jenis Kegiatan
No
Sesuai
Next Button Membersihkan data
8
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
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
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