1 , Dini Hidayatul Qudsi 2 , Istianah Muslim 3
1 Jurusan Teknik Informatika, Politeknik Caltex Riau
3 Jurusan Sistem Informasi, Politeknik Caltex Riau Pekanbaru, Riau, Indonesia
2 Jurusan Sistem Informasi, Politeknik Caltex Riau Pekanbaru, Riau, Indonesia

## Abstract
Arabic is one of the most popular languages in Indonesia which is Muslim population being majority. Ability to recognize the types of sentence in Arabic Language is one of basic topic in Arabic language studying. The type of sentence in Arabic is known from the first word in the sentence, but often the first word of a sentence is not the original words, so it can not be found directly in the dictionary. In this reseach, the Arabic Stemming algorithm was modified to find the type of the word using affixes include to the word, this method refers to the rules in Sharf science, therefore this method is named as Affix Mapping Algorithm. The algorithm that has  been prepared is tested using Cyclomatic Complexity method and the result shows that the independent path obtained is 5, from the result it can be concluded that the algorithm is structured well, very easy to test, and last long.

## Keywords 3-5 Algorithm, Arabic Stemming, Arabic Word Affix

## PENDAHULUAN
Bahasa  Arab  merupakan  salah  satu  bahasa yang  populer  di  Indonesia,  hal  ini disebabkan  oleh banyaknya  umat  Muslim  di  Indonesia  yang  pasti menggunakan Bahasa Arab dalam proses beribadah. Hal ini membuat tingginya motivasi belajar Bahasa Arab  di  Indonesia  [1]  dan  dimasukkannya  Bahasa Arab  ke  dalam  kurikulum  di  berbagai  lembaga pendidikan di Indonesia mulai dari level Pendidikan Dasar sampai Perguruan Tinggi[2].
Salah satu materi pembelajaran Bahasa Arab adalah Pengenalan Jenis kalimat dalam Bahasa Arab yang  secara  teori  diatur  di  dalam  kaedah-kaedah Nahwu dan Sharf. Jenis kalimat secara mudah dapat ditentukan  setelah  mengetahui  jenis  kata  pertama pada kalimat tersebut, jika kata awal adalah Ism (kata benda)  maka  kalimat  tersebut  adalah  Jumlah
ah  [3].
Masalah  yang  sering  dijumpai  adalah  kata  pertama yang ada pada kalimat tersebut bukan kata asli tetapi kata yang sudah mendapatkan huruf tambahan (affix) sehingga tidak bisa langsung ditentukan apakah kata kerja atau kata benda.
Dengan  perkembangan  teknologi  yang  ada saat  ini  permasalahan  tersebut  bisa  diselesaikan dengan  menggunakan  sebuah  perangkat  lunak, namun  sebelum  perangkat  lunak  tersebut  dibangun diperlukan  suatu  Algoritma  yang  valid  yang  dapat diimplementasikan  pada  perangkat  lunak  tersebut. Algoritma  ini  dibangun  berdasarkan  kaidah-kaidah Ilmu Nahwu dan Sharf yang menjadi landasan utama pada keilmuan ini.
Beberapa penelitian terdahulu terkait hal ini sudah dilakukan dan menghasilan sebuah Algoritma yang  disebut  dengan  Arabic  Stemming,  dimana dilakukan  eliminasi  atau  penghilangan  huruf tambahan  pada  sebuah  kata  yang  tidak  dijumpai  di dalam  kamus  Bahasa  Arab,  kemudian  kata  tersebut di  cocokkan  ke  dalam  template  yang  sudah disediakan hingga akhirnya ditemukan bentuk dasar dari  kata  tersebut[4].  Berdasarkan  pengujian  yang sudah  dilakukan  Algoritma  Arabic  Stemming  ini mampu  memberikan  tingkat  efektifitas  yang  lebih baik  dibandingkan  algoritma-algoritma  sejenis sebelumnya[5].
Pada penelitian ini, disusun sebuah Algoritma  yang  mengambil  sebagian  tahapan  dari

## Pengembangan Algoritma Pengenalan Jenis Kalimat Pada Bahasa Arab
Arabic  Stemming  dan  kemudian  dikembangkan untuk  kebutuhan  penentuan  jenis  kata  pertama sebuah kalimat, dilanjutkan dengan penentuan jenis kalimatnya  berdasarkan  jenis  kata  pertamanya. Adapun bagian yang diambil dari Arabic Stemming adalah  pengenalan  huruf  tambahan  pada  suatu  kata dalam  Bahasa  Arab.  Jika  pada  Arabic  Stemming huruf-huruf tambahan itu  dihilangkan, pada penelitian  ini  huruf-huruf  tersebut  dipetakan  sesuai jenis  kata  yang  memungkinkan  untuk  dimasuki, karena huruf-huruf tersebut bersifat unik dan masuk pada  kata  yang  sudah  diatur  dalam  kaidah  Nahwu dan  Sharf.  Berdasarkan  pemetaan  tersebut  akan dikenali  jenis  kata  yang  diinginkan.  Setelah ditemukan  jenis  katanya,  maka  akan  dilanjutkan dengan  penentuan  jenis  kalimatnya,  apakah  Jumlah Ism Algoritma  ini  dinamakan  dengan  Algorima  Affix Mapping yang artinya pemetaan huruf imbuhan.
Pada tahap akhir, Algoritma yang dibangun akan  diuji  menggunakan  metode  Cyclomatic Complexity  untuk  mengetahui  kualitas  struktur dan kemudahan  dalam  proses  impelentasi  ke  suatu perangkat lunak.

## TINJAUAN PUSTAKA Algoritma Arabic Word Stemming
Algoritma Arabic Words Stemming merupakan  suatu  tahapan  untuk  memisahkan  kata- kata yang ada dalam sebuah kalimat berbahasa Arab, kemudian setiap kata yang ditemukan akan diubah ke dalam bentuk dasarnya dengan menghilangkan huruf imbuhan  dan  mencocokkan  kata  tersebut  ke  dalam template  yang  sudah  disediakan[4].  Secara  detail tahapan tersebut dapat dilihat pada Gambar 2.
Tahapan  yang  dilakukan  Arabic  Word Stemming  cukup  panjang  mengingat  banyaknya jumlah  perubahan  yang  mungkin  teradi  pada  suatu kata dalam Bahasa Arab.

## Algoritma
Algoritma  berasal  dari  kata  algorism  yang merupakan  nama  dari  ilmuan  yang  pertama  sekali far  Muhammad Ibnu  Musa  Al-Khawarizmi,  algoritma  memiliki cakupan yang sangat luas berbagai ilmu pengetahuan[6].
Pada  pemrograman  algoritma  didefenisikan sebagai sekumpulan langkah-langkah yang tersusun secara  sistematis  untuk  menyelesaikan  sebuah permasalahan,  Algoritma  yang  baik  memiliki  input dan  output  yang  jelas  sehingga  memberikan  solusi
yang  spesifik  pada  setiap  permasalahan  yang diselesaikannya.  Algoritma  disusun  dengan  bahasa alamiah  yang  mampu  diimplementasikan  dalam berbagai jenis bahasa mesin atau bahasa pemrograman.
Gambar 1. Tahapan Arabic Word Stemming (sumber : Tengku Mohd T. Sembok, Belal Abu Ata, 2013)

## Metode Cyclomatic Complexity
Metode  pengujian Cyclomatic Complexity merupakan  salah  satu  metode  pengujian  white  box testing  dimana pengujian  ini  dilakukan  untuk menelusuri  coding/algoritma  pemrograman  apakah sudah  sesuai  dengan  yang  seharusnya  melalui pengukuran  kompleksitas  dari  suatu  logikan pemrograman secara kuantitatif [7]. Maksimum nilai Complexity adalah 10, lebih besar nilai complexity, lebih  besar pula  kemungkinan akan  terjadinya  eror, lebih  sulit  pula  untuk  dipahami,  diuji  dan dimodifikasi[8]. Hasil  pengujian  dilihat  dari  jalur independen  yang  diperoleh,  contohnya  jika  jalur independen diperoleh hasil = 5, menunjukkan bahwa
algoritma  diasumsikan  terstruktur  dengan  baik, sangat mudah diuji dan bertahan lama[9].

## METODE PENELITIAN
Secara umum rangkaian penelitian ini dibagi ke  dalam  empat  tahapan;  Literatur  Review, Konsultasi  Ahli,  Pembuatan  Algoritma,  dan Pengujian seperti yang tampak pada Gambar 2.
Secara  detail  tahapan  yang  dilakukan  pada penelitian ini adalah sebagai berikut:
a. Literatur Review untuk mengumpulkan dan menganalisis  penelitian  terhadulu  yang  terkait terutama  terkait  impelentasi  teknologi  yang  sudah ada.  Selain  itu  juga  dilakukan  review  dari  sisi keilmuan  Nahwu  dan  Sharf  untuk  mengumpulkan kaidah-kaidah yang dibutuhkan. b. Konsultasi Ahli, dimana hasil dari Literatur
Review didiskusikan dengan Ahli di bidang Bahasa Arab  untuk  memastikan  kebenaran  dan  menyusun hipotesa awal.
c. Pembuatan  Algoritma,  berdasarkan  hasil
diskusi  dari  Ahli  dilakukan  peyusunan  Algoritma Affix  Mapping sesuai  rancangan  awal dan  hipotesa yang dibuat.
d. Pengujian
Algoritma
menggunakan
Cyclomatic  Complexity  untuk  memastikan  struktur alogritma dan  kemudahan  proses  implementasi  ke dalam perangkat lunan nantinya.
Gambar 2. Tahapan Penelitian
HASIL DAN PEMBAHASAN
Algoritma yang dihasilkan telah diuji keakuratannya menggunakan  metode  pengujian Cyclomatic  Complexity.  Di  bawah  ini  merupakah tahapan yang dilakukan dalam melakukan pengujian Cyclomatic Complexity.

## Pembuatan Flowchart
Gambar 3 merupakan flowchart dari kaedah Ilmu Nahwu-Sharf dalam pengenalan jenis kalimat.
Gambar 3. Flowchart Algoritma

## Hasil Algoritma
Gambar  4  merupakan  Algoritma Pengenalan Jenis Kalimat Bahasa Arab.
Gambar 4. Hasil Algoritma
Pembuatan Flowgraph

## Pengembangan Algoritma Pengenalan Jenis Kalimat Pada Bahasa Arab
Penomoran flowgraph pada Gambar 5 mengacu pada penomoran yang terdapat pada algoritma (Gambar 4).

## Gambar 9. Flowgraph
Dari  Flowgraph  pada Gambar  5,  dapat  dihitung Cyclomatic Complexity, dimana E merupakan Edge (dilambangkan  dengan  garis  yang  menghubungkan antar  Node),  N  merupakan  Node  (dilambangkan dengan  lingkaran  kecil  berisi  nomor)  dan  P merupakan  simpul  predikat  (node  yang  terdiri  dari satu  input  dan  lebih  dari  satu output).  Berikut merupakan  perhitungan  Cyclomatic  Compexity  V (G).
V (G) = E N + 2 V (G) = 14 11 + 2 = 5
V (G) = P + 1 V (G) = 4 + 1 = 5 Dari  perhitungan  di  atas  diperoleh  V  (G)  =  5, menunjukkan  jumlah  jalur  independen  yang  perlu ditelusuri  adalah  5.  jalur  dimana  jalur  independen dapat dilihat pada Tabel 1.

## Independent Path
Tabel I. Independent Path Path No. Independent Path 1 1-2-3-11 2 1-2-4-5-11 3 1-2-4-6-7-11 4 1-2-4-6-8-9-11 5 1-2-4-6-8-10-11 Test Case Pengujian Setelah jalur independen didapatkan, algoritma diuji menggunakan test case sesuai dengan jalur independen yang diperoleh pada Tabel II.
Tabel 2. Test Case
Path PDL Input Hasil yang No. Diharapkan (Output sebenarnya pada Sistem) 1 2:if (Kata pertama adalah Nama and bukan termasuk Jumlah Ismiyah - Arab Name) (Dini = ) 2 4:elseif (Kata pertama ditemukan dalam Kamus Jumlah Ismiyah - database and termasuk Isim) 3 6:elseif (Kata pertama ditemukan dalam Kamus - database and tidak termasuk Isim) 4 8:elseif (Imbuhan Awal or Imbuhan Akhir termasuk Jumlah Ismiyah - Imbuhan Ism) 5 10:else - then

## KESIMPULAN
Berdasarkan pengujian algoritma yang telah dilakukan menggunakan metode pengujian Cyclomatic  Complexity,  jalur  independen  yang diperoleh  adalah  5,  menunjukkan  bahwa  algoritma diasumsikan  terstruktur  dengan  baik,  sangat  mudah diuji dan bertahan lama.  UCAPAN TERIMA KASIH Peneliti mengucapkan terima kasih kepada Direktorat Riset dan Pengabdian Masyarakat -Direktorat Jendral Penguatan  Ristek  dan  Pengembangan-Kementrian Riset,  Teknologi,  dan  Pendidikan  Tinggi  Republik Indonesia yang telah mendukung penelitian ini.

## DAFTAR PUSTAKA
[1] Wahab,  Muhbib  Abdul,  2015, Tantangan  dan prospek pendidikan Bahasa Arab di Indonesia,
Institutional Repository UIN Syarif Hidayatullah Jakarta,
http://repository.uinjkt.ac.id/dspace/bitstream/
123456789/28
299/3/MUHBIB%20ABDUL%20WAHAB- FITK.pdf.
[2] Muradi,  Ahmad,  2013,  Tujuan  Pembelajaran Bahasa  Asing  (Arab)  di  Indonesia,  Jurnal  Al Maqoyis,  vol  1  No.  1,  hal  128-136,  IAIN Antasari, Banjarmasin.
[3] Shanhaji,  A.  (2000).  Al  Imam  Matn  al Jurmiyah. Jakarta: Al Idrus.
[4] Tengku Mohd T. Sembok, Belal Mustafa Abu Ata,  Zainab  Abu  Bakar,  2011,  A  Rule  and Template  Based  Stemming  Algorithm  for
Arabic  Language,  International  Journal  of
Mathematical  Models  And  Methods  In Applied  Sciences,    Issue  5,  Volume  5,  974-
981. : http://www.naun.org/main/NAUN/ijmmas/20- 805.pdf
[5] Tengku Mohd T. Sembok, Belal Abu Ata, 2013, Arabic  Word  Stemming  Algorithms  and Retrieval  Effectiveness,  Proceedings  of  the World Congress on Engineering 2013 Vol III,
London, U.K., July 3 - 5, 2013.
[6] Sismoro Heri,  2005,  Pengantar  Logika Informatika  Algoritma  dan  Pemrograman Komputer, Ed.1, Penerbit Andi, Yogyakarta.
[7] Pressman, R. (2001). Software Engineering (pp. 481-484). Boston: McGraw Hill.
[8] Cyclomatic
Complexity. (2017).
Math.unipd.it.,  diakses tgl  10  Oktober  2017, from
http://www.math.unipd.it/~tullio/IS- 1/2004/Approfondimenti/cyclomatic.htm.
[9] Kanjilal,  J.  (2017).  How  to  analyze  the
Cyclomatic Complexity in your code. InfoWorld. diakses tgl 10 Oktober  2017, from https://www.infoworld.com/article/3097404/a pplication-development/how-to-analyze-the- cyclomatic-complexity-in-your-code.html