## Journal of Information Sistem Research (JOSH)
Volume 1, No. 3, April 2020 ISSN 2686-228X (media online) Hal: 216 - 222

## Implementasi Algoritma Crochemore-Perrin Pada Aplikasi Silsilah Keturunan Nabi Berbasis Android

## Afrinda Yunus Siregar
Program Studi Teknik Informatika, STMIK Budi Darma, Medan, Indonesia Email: a.yunussiregar@gmail.com
Abstrak −Nabi  yang  wajib  kita  imani  hanya  ada  dua  puluh  lima  (25)  Nabi,  di  dalam  dua  puluh  lima  Nabi,  setiap  Nabi mempunyai silsilah keturunan, dengan banyaknya  silsilah keturunan Nabi, setiap umat islam terutama para remaja laki laki maupun  wanita,  perlu  mengetahui  silsilah  keturunan  Nabi,  akan  jadi  masalah  bila  saat  ditanya  seseorang  tentang  silsilah keturunan Nabi tidak tahu sama sekali, karena banyak umat islam rasa ingin tahu tentang silsilah keturunan Nabi hanya sedikit dan hanya orang-orang tertentu saja yang tahu. Dalam hal pencarian silsilah keturunan Nabi Algoritma Crochemore-Perrin sangat pantas digunakan kaena karena mampu melakukan pencarian dari dua arah yaitu dari depan dan dari belakang, algoritma Crochemore-Perrin memfaktorkan pattern menjadi dua bagian pattern kiri, dan pattern kanan sehingga pattern sama dengan pattern kiri pattern kanan. algoritma Crochemore-Perrin dapat menyelesaikan masalah proses pencarian silsilah keturunan Nabi karena  lebih  mudah  dan  cepat.  Adapun  solusi  masalah  dari  permasalahan  tersebut  adalah  dengan  cara  merancang  dan membangun  aplikasi  pencarian  silsilah  keturunan  Nabi  yang  mudah  diakses  dimanapun  berada  dan  mudah  dalam mengoprasikannya Dengan adanya aplikasi silsilah keturunan nabi diharapkan dapat memudahkan masyarakat islam mencari dan mengetahui tentang silsilah keturunan Nabi.
Kata Kunci: Nabi, Pencarian, Algoritma Crochemore-Perrin, Aplikasi..
Abstract −The prophet who is obliged to believe there are only twenty-five (25) prophets, in the twenty-five prophets, every prophet has a genealogy, with so many genealogies of the Prophet, every Muslim, especially young men and women, need to know the genealogy of the Prophet , it would be a problem if when someone asked about the Prophet's lineage did not know at all,  because  many  Muslims  curiosity  about the  Prophet's  genealogy was  few  and only  certain people knew.  In  the  case  of searching the genealogy of the Prophet, the Crochemore-Perrin algorithm is very suitable to use because it is able to search from two directions, from front and back, the Crochemore-Perrin algorithm factifies the pattern into two parts of the left pattern, and the right pattern so that the pattern is the same as the left pattern. right. Crochemore-Perrin algorithm can solve the problem of searching the Prophet's lineage because it is easier and faster. The solution to the problem of these problems is to design and build a search application for the Prophet's genealogy that is easily accessible wherever it is and easy to operate. With the application of the genealogy of prophets is expected to facilitate the Islamic community to find and know about the genealogy of the Prophet.
Keywords: Prophet, Search, Crochemore-Perrin Algorithm, Application.

## 1. PENDAHULUAN
Agama islam adalah agama yang di turunkan oleh Allah SWT kepada Nabi Muhammad Saw sebagai utusannya yang terakhir dan berlaku bagi seluruh manusia, di manapun dan kapan pun, yang ajarannya meliputi seluruh aspek kehidupan manusia. Nabi adalah seorang manusia laki-laki yang memperoleh wahyu dari Tuhan tentang agama dan misinya, disampaikan kepada umatnya, untuk meelanjutkan syari’at yang diemban oleh rasul sebelumnya.
Nabi yang wajib kita imani hanya ada dua puluh lima (25) Nabi, di dalam dua puluh lima Nabi, setiap Nabi mempunyai silsilah keturunan, dengan banyaknya  silsilah keturunan Nabi sangat sulit untuk di ingat. setiap umat islam terutama para remaja laki laki maupun wanita perlu mengetahui silsilah keturunan Nabi, akan jadi masalah bila saat ditanya seseorang tentang silsilah keturunan Nabi tidak tahu sama sekali, karena banyak umat islam rasa ingin tahu tentang silsilah keturunan Nabi hanya sedikit dan hanya orang-orang tertentu saja yang tahu.
Algoritma Crochemore-Perrin, yang sering juga disebut  algoritma Two Way Algorithm, atau Algoritma Dua Arah dipublikasikan Maxime Crochemore dan Dominique Perrin pada tahun 1991 [1]. Dalam hal pencarian silsilah  keturunan  Nabi  Algoritma  Crochemore-Perrin  sangat  pantas  digunakan  karena  mampu  melakukan pencarian  dari  dua  arah  yaitu  dari  depan  dan  dari  belakang,  dan  algoritma  Crochemore-Perrin  memfaktorkan pattern menjadi dua bagian pattern kiri, dan pattern kanan sehingga pattern sama dengan pattern kiri pattern kanan.
Penulis  menggunakan  Algoritma  Crochemore-Perrin  Berdasarkan  dari    penelitian  yang  dilakukan  oleh Boby Halim Lukmana yang berjudul “Penerapan Algoritma Crochemore-Perrin Pada Pencarian Jurnal Berbasis Mobile”, dengan hasil penelitian bahwa penggunaan Algoritma Crochemore-Perrin cukup baik dalam melakukan pencarian jurnal [1]. Pada penelitian lain yang dilakukan oleh Dany Breslauer yang berjudul “Saving comparisons in  the  Crochemore-Perrin  string-matching  algorithm”  dengan  hasil  penelitannya  menyatakan  bahwa  Algoritma Crochemore-Perrin  lebih  baik  dari  algoritma  string  matching  lain  karena  lebih  sederhana  dalam  peroses pencariannya  [2].  Maka  dari  itu  Penulis  mengambil  kesimpulan  untuk  memilih  algoritma  Crochemore-Perrin karena  algoritma  Crochemore-Perrin  dapat  menyelesaikan  masalah  proses  pencarian  silsilah  keturunan  Nabi sehingga lebih mudah dan cepat. Adapun solusi masalah dari permasalahan tersebut adalah dengan cara merancang dan membangun aplikasi  pencarian silsilah keturunan Nabi  yang mudah diakses dimanapun berada dan mudah dalam  mengoprasikannya.  Dengan  adanya  aplikasi  silsilah  keturunan  nabi  diharapkan  dapat  memudahkan

## Journal of Information Sistem Research (JOSH)
Volume 1, No. 3, April 2020 ISSN 2686-228X (media online) Hal: 216 - 222
masyarakat islam mencari dan mengetahui tentang silsilah keturunan Nabi. Aplikasi yang akan dirancang hanya bisa dijalankan pada smartphone system operasi Android dan bersifat offline.

## 2. METODOLOGI PENELITIAN

## 2.1 Implementasi
Implementasi  merupakan  kegiatan  akhir  dari  proses  penerapan  sistem  baru  di  mana  sistem  yang  baru  ini  akan dioperasikan secara menyeluruh. Terhadap sistem yang baru itu sudah harus dilakukan proses analisis dan desain secara terinci [3].
Proses implementasi terdiri dari 3 tahap, yaitu :
1. Penerapan dan proses implementasi.
2. Pelaksanaan proses implementasi.
3.  Tindak lanjut proses implementasi.

## 2.2 Algoritma
Algoritma adalah urutan logis langkah-langkah penyelesaian masalah yang disusun secara sistematis. Meskipun algoritma  sering  dikaitkan  dengan  ilmu  komputer,  namun  sesunggunghnya  dalam  kehidupan  sehari-haripun banyak  terdapat  proses  yang  digambarkan  dalam  suatu  algoritma.  Cara  membuat  kue  atau  masakan,  misalnya dinyatakan dalam suatu resep. Misalnya resep membuat masakan rendang padang adalah sebuah algoritma [4].

## 2.3 Silsilah
Silsilah  adalah  suatu  bagan  yang  menampilkan  hubungan  keluarga  (silsilah)  dalam  suatu  struktur  pohon.  Data genealogi  ini  dapat  ditampilkan  dalam  berbagai  format.  Salah  satu  format  yang  sering  digunakan  dalam menampilkan silsilah adalah bagan dengan generasi yang lebih tua di bagian atas dan generasi yang lebih muda di bagian  bawah.  Bagan  keturunan  yang  menampilkan  semua  keturunan  dari  satu  individu  memiliki bagian  yang paling sempit  di  bagian atas.  Bagan leluhur, yang merupakan suatu  pohon yang menampilkan  leluhur seorang individu,  memiliki  bentuk  yang  lebih  menyerupai  suatu  pohon,  dengan  bagian  atas  yang  lebih  lebar  daripada bagian  bawahnya.  Beberapa  bagan  leluhur  ditampilkan  dengan  seorang  individu  berada  pada  sebelah  kiri  dan leluhurnya di sebelah kanan [5].

## 2.4 Nabi
Nabi  adalah  seorang  manusia  laki-laki  yang  memperoleh  wahyu  dari  Tuhan  tentang  agama  dan  misinya, disampaikan kepada umatnya, untuk melanjutkan syari'at yang diemban oleh rasul sebelumnya. Berbeda dengan rasul  yang  membawa  risalah  (syari'at)  baru.  Al-Qur'an  menyebut  beberapa  orang  sebagai  nabi.  Nabi  pertama adalah Adam, sedangkan nabi sekaligus rasul terakhir ialah Nabi Muhammad SAW. Percaya kepada para nabi dan para rasul merupakan salah satu Rukun Iman dalam Islam. Di dalam sebuah hadist dari AbiZar bahwa Rasulullah SAW bersabda ketika ditanya tentang jumlah para nabi. “(Jumlah para Nabi itu) adalah seratus dua puluh empat ribu (124.000) nabi”. “Lalu berapa jumlah Rasul diantara mereka?” beliau menjawab: “Tiga ratus dua belas(312)” (HR At-Turmuzy). Dari sekian banyaknya Nabi, tetapi yang harus kita imani sebagi mana dijelaskan dalam Al- Quran yaitu hanya duapuluh lima (25) Nabi, dan ini merupakan salah satu rukun iman yang ke empat yaitu percaya kepada Nabi dan Rasul [6].
Nabi  sebelum  diangkat  menjadi  nabi  memiliki  ciri-ciri  kenabian  /  nubuwwah  yang  disebut  juga  dengan irhash. Nabi Muhammad SAW sejak kecil terkenal dengan akhlak yang mulia dengan sebutan al amin. Berikut adalah ciri atau sifat-sifat para nabi:
1. Shiddiq
Shiddiq  artinya  benar.  Bukan  hanya  perkataannya  yang  benar,  tapi  juga  perbuatannya  juga  benar.  Sejalan dengan ucapannya.
Mustahil Nabi itu bersifat pembohong/kizzib, dusta, dan sebagainya.
2. Amanah
Amanah  artinya  benar-benar  bisa  dipercaya.  Jika satu  urusan  diserahkan  kepadanya,  niscaya  orang percaya bahwa  urusan  itu  akan  dilaksanakan  dengan  sebaik-baiknya.  Oleh  karena  itulah  Nabi  Muhammad  SAW dijuluki oleh penduduk Mekkah dengan gelar “Al Amin” yang artinya terpercaya jauh sebelum beliau diangkat jadi Nabi.
3. Tabligh
Tabligh  artinya  menyampaikan.  Segala firman  Allah  yang  ditujukan  oleh  manusia,  disampaikan  oleh  Nabi. Tidak ada yang disembunyikan meski itu menyinggung Nabi.
4. Fathonah
Artinya Cerdas. Mustahil Nabi itu bodoh atau jahlun. Dalam menyampaikan 6.236 ayat Al Qur’an kemudian menjelaskannya dalam puluhan ribu hadits membutuhkan kecerdasan yang luar biasa [7].
.

## Journal of Information Sistem Research (JOSH)
Volume 1, No. 3, April 2020 ISSN 2686-228X (media online) Hal: 216 - 222

## 2.5 Algoritma Crochemore-Perrin
Algoritma Crochemore-Perrin , yang sering juga disebut algoritma Two Way Algorithm , atau Algoritma Dua Arah dipublikasikan Maxime Crochemore dan Dominique Perrin pada tahun 1991. Algoritma ini memfaktorkan pattern menjadi dua bagian pattern kiri, dan pattern kanan sehingga pattern sama dengan pattern kiri pattern kanan. Fase pencocokan pada algoritma ini terdiri dari dua bagian, pertama mencocokkan karakter pattern kanan dari kiri ke kanan, lalu mencocokkan karakter pattern kiri dari kanan ke kiri. Hal ini diilustrasikan pada gambar 2.1.
Fase  inisialisasi  pada  algoritma  ini  menghitung  faktorisasi  yang  baik  dari  pattern  atas  patternkiri  dan patternkanan.  Jika  (u,  v)  merupakan  sebuah  faktorisasi  dari  pattern, maka  sebuah  pengulangan  di  (u,  v)  adalah sebuah kata w, sehingga dua persyaratan ini terpenuhi: 1. w adalah akhiran dari u atau u adalah akhiran dari w 2. w adalah awalan dari v atau v adalah awalan dari w
Algorithma Crochemore-Perrin memilih faktorisasi kritis (pattern kiri, pattern kanan) sehingga |pattern kiri| < per(x) dan |pattern kiri| mempunyai nilai minimal. Dengan kata lain, kata w muncul di kedua sisi dari potongan u dan v dengan memungkinkan overvlow di  kedua sisi. Panjang dari  perulangan terkecil (u, v) disebut  periode lokal,  dan  dinotasikan  dengan  r(u,  v).  Setiap  faktorisasi  dari  (u,  v)  paling  tidak  mempunyai  satu  pengulangan. Dapat dilihat dengan mudah bahwa 1 r(u, v) |x|. Faktorisasi (u, v) dari x sehingga r(u, v) = per(x) disebut faktorisasi kritis dari x. Jika (u, v) adalah faktorisasi kritis dari x, maka pada posisi pada |u| di x, periode lokal dan periode global akan sama [1].
Berikut ini adalah cara kerja dari algoritma Crochemore-Perrin adalah sebagai berikut:
1. Langkah pertama adalah algoritma Crochemore-Perrin di mulai dengan menentukan pattern kanan dan pattern kiri, sebagai teks acuan pencarian.
2. Algoritma ini akan mencocokkan teks dengan sesuai, maka geser pattern awal sebanyak satu karakter kekanan. Pattern berdasarkan pattern kanan dan periode :
a. Jika  karakter  sesuai  dengan  pattern  kanan,  beri  tanda  sebagai  periode  awal,  dan  lanjutkan  kekarakter selanjutnya, kemudian peroses awal pencarian selanjutnya dimulai dari periode terakhir.
b. Jika tidak sesuai geser karakter satu persatu dan kembali ke langkah (a) [1].

## 3. HASIL DAN PEMBAHASAN
Peroses  pencarian  silsilah  keturunan  Nabi  sangat  lambat  dilakukan  dengan  manual  maka  diperlukan  suatu algoritma  pencarian  yaitu  algoritma crochemore-perrin untuk  mempermudah  dan  mempercepat  dalam pencariannya dan mengimplementasikannya kedalam sebuah aplikasi. Dimana algoritma akan melakukan proses pencarian semua karakter pada text berdasarkan pattern yang sudah ditentukan. Pada algoritma crochemore-perrin, ketika pattern sudah  ditemukan,  proses  pencarian  akan  terus  dilakukan  jika  panjang  karakter  pada text masih memungkinkan.
Pada  proses  pencarian  silsilah  keturunan  Nabi,  menentukan  terlebih  dahulu pattern atau  kata  kunci  yang dicari. Kemudian algoritma crochemore-perrin akan melakukan peroses pencocokan pada tiap karakter text yang ada didalam database untuk  menemukan pattern yang dicari. Jika ditemukan, kemungkinan akan ada beberapa pilihan nama nabi  yang cocok dengan pattern atau kata kunci  yang dicari. Kemudian memilih salah satu  nama nabi, maka akan muncul nama keturunan nabi  tersebut, Jika tidak ditemukan karakter nama Nabi yang diacari , maka tambah kata kunci atau ganti kata kuncinya.
Aplikasi mobile pencarian silsilah keturunan Nabi yang akan dirancang dengan menggunakan algoritma crochemore-perrin .  Dalam  algoritma  pencarian  algoritma crochemore-perrin terdapat  teks  dan  pattern.  Pada perancangan  aplikasi  pencarian  nama  Nabi  yang digunakan  sebagai  pattern  adalah  kata  yang  ingin  dicari  pada form pengetikan  kata  dan  yang  digunakan  sebagai  teks  adalah  kata  kesuluruhan  dari  nama  keturunan.  Panjang pattern harus lebih kecil dari teks.
Sebagai contoh penerapan algoritma crochemore-perrin pada pencarian silsilah keturunan nabi.
Tabel 1 . Contoh silsilah keturunan Nabi
No Nama Nabi Silsilah Keturunan 1 Ibrahim Adamas>Syits>Anusy>Qaina>Mahlail>Yarid >Idrisas>Mutawasylah>Lamak>Nuh>Sam>Arfakhsyadz >Syalih>Abir>FalRa’u>Saruj> Nahur> Azar 2 Idris Alaihis Salam Adam as>Syits>Anusy >Qainan >Mahlail >Yarid> Idris as 3 Nuh Alaihis Salam Adam  as>Syits>Anusy  >Qainan  >Mahlail  >Yarid>Idris  as> Mutawasylah > Lamak 4 Shaleh Adam as >Syits >Anusy>Qainan >Mahlail >Yarid> Idris as> Mutawasylah>Lamak  >Nuh  as  >Sam>  Iram  (Aram) Amir>Tsamud>Hadzir>Ubaid >Masah >Asif >Ubaid

## Journal of Information Sistem Research (JOSH)
Volume 1, No. 3, April 2020 ISSN 2686-228X (media online) Hal: 216 - 222
No Nama Nabi Silsilah Keturunan 5 Ishaq Adam as>Syits>Anusy>Qainan>Mahlail>Yarid >Idris as>Mutawasylah>amak >Nuh as >Sam >Arfakhsyadz>Syalih>Abir>Falij>Ra’u>Saruj>Nahur  >Azar >Ibrahim as 6 Harun Izar>Fahnaz>Yasin>Ilyas 7 Muhammad Qasim>Abdullah>Ibrahim>zaenab>Ruqoiyah>Ummu kultsum 8 Sulaiman Raha’bam>Aynaman>Yahfayath>syalum>Nahur>Bal’athah 9 Ya’qub Yusuf> Bunyamin>Abumatta>Matta>Yunus 10 Daud Sulaiman>Hazekiyah>Heli>Maryam>isa
Melakukan pencarian dari contoh table 3.1 sebagai berikut :
TEKS : Idris Alaihis salam
Pattern kiri
: Alaihis
Pattern kanan : Salam T = Teks P = Periode X = Pattern Penyelesaian : Langkah pertama mencocokkan pattern kanan dengan teks yang yang akan dicari
Karena karakter “S” pada pattern dengan teks tidak cocok, maka geser pattern awal sebanyak satu karakter kekanan
Karena karakter “S” pada pattern dengan teks tidak cocok, maka geser pattern awal sebanyak satu karakter kekanan
Ditemukan karakter “S” di teks dan pettern sama, dan karakter lainnya tidak ada yang sama, maka geser karakter pettern sesuai posisi karakter “S”
Ditemukan karakter “S” di teks dan pettern sama, dan karakter lainnya tidak ada yang sama, maka geser karakter pettern sesuai posisi karakter “S”
Ditemukan karakter “S” di teks dan pettern sama, dan karakter lainnya tidak ada yang sama, maka geser karakter pettern sesuai posisi karakter “S”
Pettern di temukan. Karena setiap pettern dan teks sesuai.
T I D R I S A L A I H I S S A  L  A  M P 1 X A L A I H I S S A L A  M
T I D R I S A L A I H  I S S A  L  A M P 1 X A L A I H I S S A  L A M
T I D R I S A L A I H  I S
S A  L  A M P 1 X A L A I H I S S A L A M
T I D R I S A L A I H  I S S A  L  A M P 1 X A L A I H I S S A L A  M
T I D R I S A L A I
H  I S S  A  L A M P 1 X A L A I H I S S A L  A  M
T I D R I
S A L A I H  I S
S A  L A M P 1 X A L A I
H I S
S A  L A M
T I D R I S
A L A I H  I
S
S A  L A M P 1 X A L A I H  I S S A  L A M

## Journal of Information Sistem Research (JOSH)
Volume 1, No. 3, April 2020 ISSN 2686-228X (media online) Hal: 216 - 222
Kesimpulan hasil dari pencarian di atas maka akan muncul nama nabi Idris Alaihis Salam dengan keturunannya yaitu,Adam as>Syits>Anusy >Qainan >Mahlail >Yarid> Idris as.

## 3.1 Implementasi
Tampilan program merupakan halaman antar muka user yang berfungsi untuk tempat menginputkan kata kunci (keyword) yang dicari dan tempat untuk melihat hasil pencarian (output) berupa informasi pada halaman aplikasi. Pada  aplikasi  silsilah  keturunan  nabi  yang  dirancang  tampilan  programnya  terdiri  dari  menu  utama,  menu pencarian, menu bantuan dan menu keluar adalah sebagai berikut:
1. Tampilan Menu Utama
Tampilan ini merupakan halaman awal dari aplikasi, pada tampilan ini terdiri dari tiga (3) pilihan sub menu yang  dapat  berpindah  kehalaman  baru  dengan  memberikan  action  pada  sub  menu  yang  dipilih,  sub  menu tersebut yaitu, Pencarian silsilah nabi, bantuan petunjuk penggunanan, tentang profil pembuat aplikasi, dan Keluar dari Aplikasi. Adapun screenshoot tampilan aplikasi silsilah keturunan nabi dapat dilihat pada gambar 1. dibawah.
Gambar 1 .  Tampilan Menu Utama
2. Menu Pencarian
Menu  pencarian  merupakan  halaman  untuk  user  melakukan  pencarian  silsilah  keturunan  nabi  diinginkan dengan cara menginputkan nama nabi pada Edittext yang telah disediakan pada aplikasi. Terdapat dua objek pada halaman ini yaitu Edittext dan Listview, Edittext berfungsi sebagai tempat user menginputkan nama nabi yang dicari sedangkan Listview berfungsi menampilkan isi yang ada di database. Screenshot halaman menu pencarian dapat dilihat pada gambar 2. dibawah.

## Journal of Information Sistem Research (JOSH)
Volume 1, No. 3, April 2020 ISSN 2686-228X (media online) Hal: 216 - 222
Menu  hasil  pencarian  merupakan  halaman  hasil  dari  pencarian  yang  dilakukan,  pada  halaman  ini  akan memuat informasi berupa nama nabi, keterangan, dan silsilah keturunan nabi. Screenshot halaman menu hasil pencarian dapat dilihat pada gambar 3 dibawah.
Gambar 3. Halaman Menu Hasil Pencarian
4. Menu Bantuan
Menu bantuan merupakan halaman yang disediakan untuk memberikan petunjuk penggunaan aplikasi silsilah keturunan nabi . Screenshoot untuk halaman tampilan bantuan dapat dilihat pada gambar 4.

## Gambar 4. Halaman Menu Bantuan

## 4. KESIMPULAN
Berdasarkan  hasil  akhir  pada  penelitian  skripsi  ini  penulis  menarik  sebuah  kesimpulan  yang  sekiranya  dapat bermanfaat bagi pembaca, adapun kesimpulannya sebagai berikut:
1.  Proses  pencarian  yang  dilakukan  apllikasi  silsilah  ketrunan  nabi  sangat  membantu  karena  dapat  melakukan pencarian silsilah keturunan nabi dengan cepat dan memberikan hasil yang tepat.
2.  Algoritma  Crochemore-Perrin  yang  telah  diterapkan  pada  aplikasi  silsilah  keturunan  nabi  berbasis  android sangat  efektif  dalam  proses  pencarian  karena  menghasilkan  banyak  informasi  saat  melakukan  pencarian, seperti nama nabi, keterangan nabi, dan silsilah keturunan nabi.
3.  Rancangan  aplikasi  silsilah  keturunan  nabi  menghasilkan  tampilan  interface  yang  sederhana  dan  tampilan output pencarian mudah untuk dimengerti.
Volume 1, No. 3, April 2020 ISSN 2686-228X (media online) Hal: 216 - 222

## REFERENCES
[1] B. H. Lukmana, “Penerapan Algoritma Crochemore-Perrin Pada Pencarian Jurnal Berbasis Mobile,” vol. 17, pp. 37–42, 2018.
[2]     D. Breslauer, “Saving comparisons in the Crochemore-Perrin string-matching algorithm b,” vol.  3975, no. 95, 1996.
[3]     Andri Kinoyo Kusrini, Tuntunan Praktis Membangun Sistem Informasi Akutansi Dengan Microsoft Visual Basic & SQL Server. Yogyakarta: Andi Offset, 2007.
[4]     Rinaldi Munir, Matimatika Diskrit. Bandung: Informatika, 2012.
[5]     Silsilah https://id.wikipedia.org/wiki/Silsilah
[5]    Febrianto putra,Ibadurrahman saleh,(2014,Juli.12). Pengertian Nabi dan Rasul dalam Pelajaran Agama Islam[online]. http://www.gerbangilmu.com/2014/07/pengertian-nabi-dan-rasul-pelajaran.html
[6]     Agus Nizami,(2011,Oktober.24). Empat Sifat Nabi: Shiddiq, Amanah, Fathonah,  dan Tabligh[online]. https://agusnizami.com/2011/10/24/4-sifat-nabi-shiddiq-amanah-fathonah-dan-tabligh/