## Implementasi  Finite State Automata  dalam  Proses Pengisian  Kartu Rencana  Studi Mahasiswa
Ridwan Ahmad Ma’arif 1 , Fauziah 2
1 ridwan.22693@gmail.com, 2 fauziah@civitas.unas.ac.id
Program Studi  Teknik Informatika, Universitas Nasional Jakarta
Abstract—Filling out the Study  Plan Card is an obligatory activity  for  active  students  at  a  university.  The   number  of courses and  there  are conditions in the  taker is a  common thing among students, but did not rule out that there are still many  students  who  are  wrong  in  taking  the  course  so  that the denied access to a course because there are compulsory courses that have not been taken. This paper discusses how Finite  State  Automata  method  of  NFA  type  can  be implemented in filling out the  study plan card  (KRS). With the implementation of this method, the  user is expected to be helpful  in  filling  out  the  study  plan  card  and  can  better understand  how  the  process  of  filling  out  the  study  plan card is correct.
Intisari-Me ngisi  Kartu  Re ncana  Studi merupakan kegiatan  yang  waji b  dil akukan  untuk  mahasiswa aktif  di sebuah  universitas.  Banyaknya  matakuliah  dan  terdapat Syarat  dalam  peng ambilannya  merupakan  suatu  hal yang  lumr ah  dikalangan  mahasiswa,  akan  te tapi   ti dak menutup kemungkinan  bahwa  masih  banyak  mahasiswa yang  salah  dalam  pe ngambilan  matakuliah  sehingga menye babk an  di tol aknya  akses  pengambilan  suatu matakuliah  disebabk an  ada  matakuliah  waji b  yang belum  di  ambil.  Pada  paper  ini  me mbahas  tentang bagai mana  metode   Finite   State   Automata  jenis  NFA dapat  dii mple mentasikan  dalam  me ngisi  kartu  rencana studi  (KRS).  De ngan  di  ter apkan  metode  ini,  user di har apkan dapat ter bantu dal am mengisi kartu rencana studi  dan  dapat  le bih  paham  bag ai mana  proses  mengisi kartu rencana  studi  benar.
Kata  kunci—Me ngisi  Kar tu  Renc ana  Studi,  Mengisi KRS,  Finite  State Automata,  Mesin NFA.

## I. PENDAHULUAN
Teori  bahasa  dan  automata  me rupakan    bagian  ilmu ko mputer. Teori in i sangat berguna untuk pengembangan ilmu ko mputer lebih  lanjut baik dala m perangkat  keras  (hardware ), dan perangkat lunak(software)[1].
Teori  bahasa  bertindak  sebgai  sarana  komunikasi  ba ik sesama  manusia  ataupun  antara  manusia  dan  mesin.
Sedangkan teori automata adalah teori  mengenai  mesin -mesin abstrak,  dan  berka itan  erat  dengan  teori  bahasa  forma l. Automata  dapat  diterapkan  pada  aplikasi  pengisian  KRS mahasiwa.
Kartu rencana studi (KRS) ada lah ka rtu yang berisi daftar mata   ku liah   yang  akan  d iikuti  oleh  setiap  mahasiswa  dala m satu semester.  Dala m  KRS tercantu m data  mahasiswa (NPM, Na ma,  Kelas,  Fa kultas,  Jurusan,  Jumlah  Se mester  dan  Tahun Akademik  yang  diikuti),  Kode  Mata  Kuliah,  Mata  Ku liah , SKS  dan Kelas yang diikuti  [2].
Pengisian  KRS  haruslah  sangat  diperhatikan,  karena  di beberapa mata  ku liah  terdapat syarat dala m pengambilan mata kuliah.  Contohnya,  jika  mahasiswa  ingin   meng a mbil  mata kuliah  Bahasa  dan  Autama  ma ka  mahasiswa  tersebut  harus menga mbil  Algorit ma  Pe mogra man  terlebih   dahulu.  Sebagai mahasiswa  ha l  ini  haruslah  dipaha mi,  ka rena  sering  kali mahasiswa  lupa  mengamb il  mata  kuliah  yang  menjadi  syarat untuk  mata  kuliah  lainya  bahkan  untuk  syarat  skirpsi,  o leh karena  itu  dibutuhkanlah  sebuah  aplikasi  yang  mengatur pengisian  kartu  rencana  studi.  Pada  penelitian   in i  penerapan automata  digunakan  untuk  mengenal  dan  menangkap  pola dala m  proses  aplikasi  bantu  ini.  Finite  State  Automata(FSA) jens NFA me rupakan mode l yang digunakan untuk merancang aplikasi yang dapat me mbantu dala m pengisian  kartu rencana studi [3].

## II. TINJAUAN  PUSTAKA
Metode yang digunakan dalam perancangan aplikasi bantu ini  yaitu  menggunakan FSA. Metode  yang  digunakan  yaitu dengan  menggunakan finite  state ,  yang  mana  jika  d ia mbil contoh kasus sebagai berikut:
Tuple M pada FSA jen is NFA  diantaranya (Q, Ʃ, δ,  S,  F) yang  mengartikan  untuk  Q=himpunan  state,  Ʃ=himpunan input,  δ=fungsi  transis,  S=state  awal,  F=state  akhir  sebagai contoh sederhana dengan NFA[4].
Dari  diagra m  Ga mba r  1,  kita  bisa  me lihat  bahwa  tuple-nya sebagai berikut:
Q = {q1,q2,q3,q4} Ʃ = {0,1} δ = Fungsi transisi δ(q1,0)=q2,  δ(q1,1)=q2,  δ(q2,0)=q2,
Gambar1.  Diagram  NFA
δ (q2,1)=(q3,q4),  δ(q3,0)=q3,  δ(q3,1)=q4,
δ (q4,0)=q4,  δ(q4,1)=q4 S = {q1} F = {q4}
Dari  fungsi transisi tersebut maka tabel transisinya yaitu:
Table 1. Tabel Transisi  0 1 q1 q1 q1 q2 q3 (q3,q4) q3 q3 q4 q4 q4 q4
Kasus  pada  Tabel  1  dapat  diterapkan  kedala m pengisian KRS , sebagai contoh bila q1  itu adalah mata  kuliah Algorit ma Pe mogra man  dan  q2  adalah  Bahasa  dan  Automata,  dan himpunan input 0 sebagai di t idak a mb il dan himpunan input 1 sebagai amb il, ma ka untuk bisa mengamb il mata kuliah Bahasa dan  Autama  harus  mengamb il  mata  kuliah  Algorit ma Pemograman  (q1) terlebih dahulu [5].

## III.  METODE  PENELITIAN
Sistem  dirancang  dengan  menggunakan flowchart. Bagan ini  menje laskan tentang gambaran  u mu m pada ap likasi bantu pengambilan  mata kuliah.  Untuk  jelasnya  dapat  dilihat  di Aplikasi  bantu  pengisian Kartu  Rencana  Studi dirancang untuk  me mva lidasi  mata  kuliah  yang  sudah  diambil  o leh mahasiswa  sehingga  apabila  mahasiswa  ingin  menga mbil suatu  mata  kuliah  maka   sistem  akan  mela kukan   validasi terhadap  mata  kuliah  yang  akan  dia mb il,  apakah  sudah me menuhi syarat atau tidak.  Pada flowchart aplikasi  ini dapat dijelaskan sebagai berikut:
 Mahasiswa melakukan  pengisian KRS
Mahasiswa  menentukan  jadwa l  ku liah   yang  akan diambil  di semester berikutnya.
 Sistem  akan   me mva lidasi  mata  kuliah  yang  dia mbil, apakah  sudah  memenuhi  syarat  atau belum  me menuhi syarat.
 Sistem  a kan  mena mpilkan  laporan  diterimanya  atau ditolaknya  pengisian k rs tersebut.  Bila  di  tola k  maka mahasiswa akan d iminta untuk mengisi ke mba li k rs dan bila  diterima  mahasiswa  sudah  dapat  melan jutkan perkuliahan di semester berikutnya.
Sistem dirancang dengan menggunakan flowchart. Flowchart ini  menje laskan tentang gambaran  u mu m pada ap likasi bantu pengambilan  mataku liah.  Untuk  je lasnya  dapat  dilihat diaplikasi  bantu  pengisian Kartu  Rencana  Studi dirancang untuk  me mva lidasi  mata  kuliah  yang  sudah  diambil  o leh mahasiswa  sehingga  apabila  mahasiswa  ingin  menga mbil suatu  mata  kuliah  maka   sistem  akan  mela kukan   validasi terhadap  mata  kuliah  yang  akan  dia mb il,  apakah  sudah memenuhi  syarat atau tidak.
Pada flowchart aplikasi  ini  dapat  di  je laskan  sebagai berikut:
 Mahasiswa melakukan  pengisian KRS
Mahasiswa menentukan jadwal  kuliah yang akan diambil  di semester berikutnya.
 Sistem  me mva lidasi  mata ku liah yang dia mbil, apakah sudah memenuhi  syarat atau belum  memenuhi  syarat.
 Sistem mena mp ilkan laporan diterimanya atau ditolaknya pengisian KRS tersebut. Bila d i tola k  maka mahasiswa  a kan  diminta  untuk  mengisi  ke mbali  KRS dan  bila  diterima  mahasiswa  sudah  dapat  melan jutkan perkuliahan disemester berikutnya.
Gambar  2.  Flowchart untuk pengambilan Mata kuliah
Cara   kerja  dari  simulasi  pengisian  kartu  rencana  studi dapat dilihat  pada Gambar  3.
Ga mbar  3  3  menje laskan  alur  pengamb ilan   dari  sebuah mata kuliah dengan tujuan akhir pada pe minatan sistem cerdas. Pada desain di atas terdapat simbol  {A mbil,Tida k} simbo l  itu diumpa ma kan  untuk  mahasiswa  apakah  mataku liah  terkait akan  di  a mbil  atau  tidak.  Secara  fo rma l  finite  state  automata (FSA)  pada  Ga mba r  3  dinyatakan  dala m  5  tupel  ya itu
M=(Q,  ,  ,S,F).  yang dapat di jelaskan sebagai berikut:
Q = {Pengantar  Teknologi,  Fisika  Dasar,  Ko mputer  dan Masyarakat, Logika Informatika, Algorit ma Pe mrogra man   1,  A lgorit ma   Pe mrogra man 2, Rangkaian  Sistem  Dig ital,  Pe mrogra man  Visual, Struktur  Data,  Bahasa  &  Automata,  Basis  Data, Interaksi  Manusia  dan  Ko mputer,  Kriptografi, Sistem Jaringan Syaraf Tiruan, Te xt M ining, Sistem Cerdas}
 =    {Amb il,  Tida k}  h impunan  input  (1,0)  1:  a mb il,  0  : tidak ambil

=    Fungsi  transisi  untuk  pengambilan  mata kuliah (Tabel 2)
S =          Pengantar Teknologi F
=          Sistem  Cerdas
Terdapat simbol ø  dala m Tabe l 2. Simbo l ø adalah  simbol hampa[1].  Pada  kasus  ini,  simbol  ini  dia rtikan  bahwa  t idak ada  mata kuliah  lag i  setelah  sampa i  d i  state  sistem  cerdas. Dari Tabe l  2 tersebut, kita  mengetahui bahwa jika   kita  ingin menga mbil  suatu  mataku liah   ma ka  ada   mataku liah   yang  di amb il  terlebih  dahulu.  Contoh  jika  kita  ingin  menga mbil minat  sistem  cerdas  dengan  me mpe laja ri  rmataku liah kriptografi ma ka kita  harus mengamb il mata kuliah: Pengantar  Teknologi  –  Fisika  Dasar  –  Algorit ma   dan Pe mrogra man  1 – A lgorit ma  dan Pe mrogra man  2 - Bahasa & Automata - Kriptografi –  Siste m  Cerdas.  Contoh inilah yang disebut syarat dalam  pengambilan suatu matakuliah.
Hasil dari aplikasi bantu ini adalah daftar mata kuliah yang harus di amb il untuk bisa menga mbil suatu mataku liah yang di inginkan oleh mahasiswa.
Journal of Information Technology and Computer Science (JOINTECS)  Vol. 3, No. 3, September 2018 Journal of Information Technology and Computer Science (JOINTECS)  Vol. 3, No. 3, September 2018 Journal of Information Technology and Computer Science (JOINTECS)  Vol. 3, No. 3, September 2018 Journal of Information Technology and Computer Science (JOINTECS)  Vol. 3, No. 3, September 2018
Gambar  3.  Diagram  state NFA Untuk pengambilan  Mata Kuliah
 Ambil Tidak Pengantar  Teknologi {Fisika  Dasar,  Komputer  dan Masyarakat, Logika  Informatika} Pengantar  Teknologi Fisika Dasar Algoritma  Pemrograman  1 Fisika Dasar Komputer  dan  Masyarakat Algoritma  Pemrograman  2 Komputer  dan  Masyarakat Logika  Informatika Algoritma  Pemrograman  3 Logika  Informatika Algoritma  Pemrograman  1 {Algoritma Pemrograman 2, Rangkaian Sistem Digit al, Pemrograman  Visual,  Struktur Data} Algoritma  Pemrograman  1 Algoritma  Pemrograman  2 Bahasa  & Automata Algoritma  Pemrograman  2 Rangkaian  Sistem Digital Basis Data Basis Data Pemrograman  Visual {Basis  Data,Interaksi  Manusia dan  Komputer} Basis Data Struktur Data {Basis  Data,  Interaksi  Manusia dan  Komputer} Struktur Data Bahasa  & Automata Kriptografi Bahasa  & Automata Basis Data {Sistem  Jaringan  Syaraf  Tiruan, Text Mining} Basis Data Interaksi Manusia dan Komputer {Sistem  Jaringan  Syaraf  Tiruan, Text Mining} {Sistem Jaringan Syaraf Tiruan,  Text  Mining} Kriptografi Sistem Cerdas  1 Sistem Jaringan Syaraf Tiruan Sistem Cerdas  2 Sistem Jaringan Syaraf Tiruan Text Mining Sistem Cerdas  3 Text Mining Sistem Cerdas Ø ø

## IV. HASIL  DAN  PEMBAHASAN
Aplikasi yang dibuat merupakan aplikasi berbasis desk top . Dengan tampilan yang sederhana, sehingga me mudahkan user dalam  menggunakanya.
Form a wal  pada  aplikasi  in i  berisikan   ta mpilan login , dimana mahasiswa diwajibkan login dengan me masukan NIM dan password ,  agar  sistem  dapat  mendapatkan  data  KRS
mahasiswa di se mester sebelumnya. Form login aplikasi bantu pengisian k artu rencana studi dapat dilihat di Gambar  4. Setelah mahasiwa mela kukan login, selanjutnya manusia di minta  untuk  mengisikan k artu  rencana  studi dan  mahasiswa juga  dapat  memilih  peminatan  akhir  yang  diinginkan.  Untuk kasus ini kita me milih pe minatan sistem ce rdas. Ta mpilan form ini dapat dilihat di Gambar  5.
Gambar  4.Form  Login Aplikasi Bantu Pengisian  KRS
Gambar  5.  Form  Utama  Aplikasi Bantu Pengisian KRS
Gambar  6.  Pop Up Yang  Muncul Apabila KRS  Diterima
Gambar  7. Tampilan  Result KRS  Yang Aktif
Gambar  8.  Pop Up Yang  Muncul Apabila KRS  Ditolak
Gambar  9.  Tampilan  Result Yang Berisi  Mata Kuliah Yang Harus Diambil
Data  yang  telah  di input kedala m  ap likasi  ini  akan divalidasi o leh sistem, apakah k rs yang di isi me menuhi syarat atau  tidak.  Jika  p roses  validasi  selesai,  ma ka user akan  d i tampilkan  laporan  dite rimanya k rs yang  di  isikan.  Jelasnya lihat pada gambar-gambar  program  di atas:
Apabila  di  tolak,  maka user a kan  di  ta mpilkan  laporan kenapa ditolaknya k rs tersebut dan akan muncul re ko mendasi mata kuliah yang harus di ambil. Lihat Ga mbar 8.Pada Ga mba r 9,  mahasiswa diharuskan  me milih  mata kuliah yang tertera di result .  Sehingga  sistem  dapat  mengko mfirmasi k rs yang  di input.

## V. KESIMPULAN  DAN  SARAN
Finite  state  automata berjenis NFA sangat  sesuai  dalam gambaran  ke rja  sistem  pada  aplikasi  bantu  ini.  Pene mpatan mata kuliah dilaku kan menggunakan state yang telah diurutkan berdasarkan  ketentuan  dari  masing-masing  mata kuliah. Dengan  aplikasi  ini,  user  d iharapkan  dapat  terbantu  dan mengetahui  alur  mataku liah  yang  benar  sesuai  dengan kebijakan  di universitas  masing-masing.

## DAFTAR  PUSTAKA
[1] P.  Adenis  and  A.  Ray,  “State  Splitting  and  State Merging  in  Probabilistic  Finite  State  Automata ⋆ ,”
pp. 5145 –5150,  2011.
[2]  X.  Zhao,  J.  Xue,  C.  Hu,  R.  Ma,  and  S.  Zhang, “RESEARCH ON SOFTWARE BEHAVIOR MODELING  BASED  ON  E XTE NDED  FINITE STATE AUTOMATA.”
[3] R. O. Reddy, “A probabilistic finite state architecture to c lassify texture images,” 2016.
[4] S. Manko, S. Diane, and V. Lokhin, “Task Planning in Robot Groups for Problems with Implicitly Defined Scenarios Based on Finite-State Automata Technique,”  no. 1, pp. 348–351,  2017.
[5]  N.  D.  Switching,  N.  D.  Switching,  a nd  E.  Power, “MDC-DFA : A Multi-dimensional Cube Deterministic Finite  Automata  -  Based  F  eature  Matching Algorithm,” no. 2012,  pp. 1119–1124,  2015.