Penerapan Finite State Automata
Pada Pemetaan Sistem Parkiran
Kendaraan Motor di Kampus UKSW Salatiga
Artikel Ilmiah
Peneliti :
Jerry Adrian Pelupessy (672012140)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
2
Penerapan Finite State Automata
Pada Pemetaan Sistem Parkiran
Kendaraan Motor di Kampus UKSW Salatiga
Artikel Ilmiah
Dijaukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Jerry Adrian Pelupessy (672012140)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
8
Penerapan Finite State Automata
Pada Pemetaan Sistem Parkiran
Kendaraan Motor di Kampus UKSW Salatiga
Jerry Adrian Pelupessy 1, Magdalena A. Ineke Pakereng 2
Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email: 672012140@student.uksw.edu1, ineke.pakereng@staff.uksw.edu2
Abstract
UKSW Salatiga has a public parking for cars and motorcycle’s, where it is manually managed by KAMTIBPUS as campus’s security. Motorcycle’s parking system has many step and rule that is applied. The theory of automata is used as base logic to draw the mapping of motorcycle’s parking system at UKSW. The mapping which conducted is done by dividing every system using finite states automata to make applying the system easier.
Keywords: Theory of Automata, Finite State Automata, Motorcycle’s Parking System
Abstrak
UKSW Salatiga memiliki sarana parkiran untuk kendaraan mobil dan motor, dimana dilakukan secara manual oleh KAMTIBPUS selaku pihak keamanan kampus. Sistem parkiran kendaraan motor memiliki banyak tahap dan aturan yang diberlakukan. Teori bahasa automata digunakan sebagai logika dasar untuk melakukan pemetaan sistem parkiran kendaraan motor di kampus UKSW. Pemetaan yang dilakukan adalah dengan cara membagi tiap sistem menggunakan finite state automata sehingga memudahkan penyelesaian sistem.
Kata Kunci: Teori Bahasa Automata, Finite State Automata, Sistem Parkiran Kendaraan Motor
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana. 2)
9
1. Pendahuluan
Teori Bahasa dan Automata merupakan salah satu bagian ilmu komputer yang didasari oleh model dan gagasan mendasar mengenai komputer. Sebagai keluaran dari automata, bahasa memungkinkan penyampaian gagasan dan pemikiran manusia, sedangkan sebagai ilmu yang juga mempelajari mengenai mesin abstrak, automata dapat membaca input berupa string dari alphabet yang diberikan dari input file.
Salah satu contoh penerapan teori bahasa dan automata adalah pada parkiran di kampus UKSW Salatiga. UKSW Salatiga memiliki parkiran untuk kendaraan mobil dan motor, dimana sistemnya dilakukan secara manual oleh pihak keamanan kampus. Sistem parkiran yang dilakukan bagi kendaraan mobil berbeda dengan kendaraan motor. Sistem parkiran kendaraan mobil yang dilakukan lebih simple dibandingkan dengan sistem parkiran yang dilakukan bagi kendaraan motor. Sistem parkiran kendaraan motor memiliki lebih banyak tahap dan aturan yang diberlakukan. Berdasarkan latar belakang tersebut maka dilakukan penelitian yang menerapkan Teori Bahasa dan Automata dengan konsep finite state automata pada pemetaan sistem parkiran kendaraan motor di kampus UKSW Salatiga.
2. Tinjauan Pustaka
Sudah banyak penelitian tentang penerapan atau penggunaan Finite State Auotmata, salah satu contoh penelitian berjudul “Penerapan Teori Bahasa dan Automata untuk Mengecek Kebenaran Format SMS pada SMS Premium”, menjelaskan tentang penggunaan teori bahasa dan automata untuk mengatasi permasalahan terhadap pengecekan format SMS premium. Ini telah dibuktikan dengan tiga hal yang menjadi ciri-ciri algoritma yang baik telah dipenuhi oleh algoritma teori bahasa dan automata untuk pengecekan tersebut, yaitu pertama algoritma teori bahasa dan automata memberikan keluaran yang benar terhadap hasil yang diinginkan, kedua algoritma teori bahasa dan automata memberikan hasil yang pasti terhadap string yang diberikan, dan yang ketiga adalah dengan menggunakan algoritma teori bahasa dan automata diperoleh efisiensi waktu dan memori [1].
Penelitian yang kedua “Perancangan dan Implementasi Finite Automata pada Simulasi Vending Machine”. Lewat rancangan state diagram berdasarkan konsep Mealy Machine yang telah dibuat, maka aplikasi simulasi vending machine dapat dibuat, dan hasil dari setiap input yang dipilih oleh user pada aplikasi sesuai dengan hasil rancangan tersebut [2].
Penelitian yang ketiga berjudul “Perangkat Lunak Pengucapan Kata Bahasa Indonesia Berdasarkan Pemenggalan Kata Dengan Finite State Automata”. Penelitian ini menjelaskan tentang perancangan aplikasi yang menggunakan Finite State Automata sebagai mesin abstrak yang akan mengenali dan memenggal kata dalam kalimat, sesuai dengan kalimat yang diucapkan [3].
10
Finite State Automata (FSA) disebut juga Finite Automata (FA) merupakan suatu model matematika dari suatu sistem dan yang menerima input menghasilkan output diskrit [4]. Finite State Automata memiliki state yang banyaknya berhingga (terbatas), dan dapat berpindah-pindah dari satu state ke state lain. Perubahan state ini dinyatakan dengan fungsi transisi. State adalah kondisi atau keadaan atau kedudukan. Prinsip kerja Finite State Automata adalah sebagai berikut: (1) Menerima input string, (2) Membaca (menyerap substring) karakter awal dengan kontrol berada pada state awal, (3) Dengan kontrol dan karakter awal yang telah dibaca, state akan berpindah ke state baru, (4) Proses berlanjut sampai semua string terserap habis, (5) Jika state akhir yang ditempati saat string habis tersebut berada dalam himpunan final state yang telah ditentukan, maka string tersebut diterima atau dikenali oleh Finite State Automata tersebut. Jika tidak, maka string tersebut ditolak atau tidak dikenali oleh Finite State Automata itu.
Sebuah Finite State Automata M dinyatakan dengan lima tupel, yaitu (Q , Σ , δ , S , F ), dimana:
Q = himpunan state
Σ = himpunan alfabet masukan δ = fungsi transisi
S = initial state atau state awal
F = final state atau himpunan state akhir
Gambar 1 Contoh State Diagram Finite State Automata [4]
Keterangan Gambar 1: (1) Gambar lingkaran menyatakan state, (2) Label pada lingkaran adalah nama state tersebut, (3) Busur panah menyatakan transisi atau perpindahan state, (4) Gambar lingkaran yang didahului sebuah busur panah tanpa label menyatakan state awal, (5) Gambar lingkaran ganda menyatakan final state.
Maka;
Berdasarkan fungsi transisi tersebut, dapat dibuat tabel transisi seperti pada Tabel 1. Tabel 1 Tabel Transisi Berdasarkan Gambar 1
δ 0 1
A A B
11
Contoh bila string yang masuk adalah ‘1011’, maka string tersebut bergerak dari Start ke state A, kemudian membaca karakter ‘1’ dan berpindah ke state B, yang merupakan state tujuan dari hasil pembacaan karakter ‘1’. Kemudian string selanjutnya yang dibaca adalah ‘0’. Karena state tujuan dari pembacaan karakter ‘0’ adalah B sendiri, maka state tidak berpindah. Selanjutnya membaca karakter ‘1’. Berpindah dari state B ke stateA yang merupakan state tujuan setelah membaca karakter ‘1’. Setelah itu, karakter ‘1’ dibaca dan state berpindah ke state B. Pembacaan string berhenti karena karakter sudah habis. State terakhir yang ditempati adalah state B, dan karena state B berada dalam himpunan final state, maka string ‘1011’ diterima oleh Finite State Automata tersebut.
NDFA (Non Deterministic Finite Automata) adalah salah satu bagian dari automata berhingga atau Finite State Automata (FSA). Pada Non Deterministic Finite Automata (NFA) dimungkinkan satu simbol menimbulkan transisi ke lebih dari satu kondisi dan memberikan beberapa kemungkinan gerakan sehingga keluarannya tidak dapat dipastikan. Selain itu dimungkinkan juga terjadinya transisi spontan atau transisi –ε.
NDFA (Non Deterministic Finite Automata) didefenisikan sebagai M yang merupakan sebuah koleksi dari 5 obyek (Q , Σ, s , F , ∆ ) dimana :
Q adalah sebuah himpunan hingga dari state. Σ adalah sebuah abjad masukan.
s adalah salah satu kedudukan di dalam Q yang ditetapkan sebagai kedudukan permulaan. F adalah sebuah koleksi dari kedudukan-kedudukan yang diterima atau final (koleksi / himpunan dari kondisi akhir).
∆ adalah sebuah relasi pada (Q x Σ) x Q dan dinamakan relasi transisi.
Salah satu rangkaian NDFA (Non Deterministic Finite Automata) terlihat pada Gambar 2.
Gambar 2 Rangkaian NDFA (Non Deterministic Finite Automata) [5]
Rangkaian pada Gambar 2 tergolong dalam NDFA (Non Deterministic Finite Automata) karena beberapa transisi yang berasal dari satu kondisi yaitu kondisi q0 memiliki input
yang sama yaitu ‘a’. Rangkaian tersebut akan menerima string ab, aab, aabaab, aba, dan abaaba, tetapi tidak akan menerima string abb dan aabb.
3. Metode dan Perancangan
12
Gambar 3 Tahapan Penelitian
Tahapan Penelitian pada Gambar 3, dapat dijelaskan sebagai berikut, Tahap Analisis Kebutuhan dan Pengumpulan Data: Pada tahap ini dilakukan analisis dan pengumpulan data terkait dengan sistem yang dilakukan pada parkiran kendaraan motor di kampus UKSW Salatiga; Tahap Studi Literatur: Dalam tahap ini dilakukan pengumpulan terhadap data dari jurnal-jurnal terkait, buku, serta sumber mengenai pembahasan terkait penelitian tersebut; Tahap Perancangan dan Implementasi Finite State Automata: Pada tahap ini akan dilakukan perancangan finite state automata menggunakan NDFA (Non Deterministic Finite Automata); Tahap Pengujian Finite State Automata: Pada tahap terakhir ini dilakukan pengujian terhadap penerapan finite state automata pada parkiran kendaraan motor di kampus UKSW Salatiga menggunakan NDFA (Non Deterministic Finite Automata) yang telah dibuat. Pengujian dilakukan dengan evaluasi terhadap keseluruhan perancangan finite state automata pada parkiran kendaraan motor di kampus UKSW Salatiga menggunakan NDFA (Non Deterministic Finite Automata) yang telah dibuat, apakah sudah berjalan dengan semestinya, jika belum maka dilakukan perbaikan-perbaikan yang diperlukan; Tahap Penulisan Laporan: Dalam tahap ini dilakukan penulisan laporan dari tahapan penelitian yang dilakukan.
Pengumpulan data tentang sistem dalam melakukan parkir kendaraan motor pada area parkiran motor di kampus UKSW Salatiga adalah melalui wawancara dengan pihak KAMTIBPUS UKSW selaku pengelola parkiran, serta simulasi langsung di lapangan.
13
Gambar 4 Denah Parkiran Kendaraan Motor di Kampus UKSW
Keterangan Gambar 4: (1) Warna putih pada denah adalah jalan, (2) Busur panah warna ungu adalah area pintu masuk parkiran, (3) Warna coklat adalah tempat pengambilan kartu parkir, (4) Warna abu-abu adalah area parkiran, (5) Warna merah adalah tempat pengembalian kartu parkir dan pemeriksaan STNK, (6) Warna hijau adalah tempat penulisan keterangan tidak membawa STNK, (7) Busur panah warna biru adalah area pintu keluar parkiran, (8) Warna hitam adalah area sekitar parkiran.
4. Hasil dan Pembahasan
Rancangan state diagram pada pemetaan sistem parkiran kendaraan motor di kampus UKSW dapat dilihat pada Gambar 5, yang menjelaskan tentang pemetaan sistem parkiran kendaraan motor di kampus UKSW berdasarkan sistem atau tahap yang dilakukan pengendara motor dalam melakukan parkir kendaraan motor. Berikut adalah sistem atau tahap yang dilakukan pengendara motor dalam melakukan parkir kendaraan motor, yaitu:
1. Masuk area pintu parkir. 2. Menerima kartu parkir. 3. Parkir kendaraan.
4. Untuk pengendara yang tidak memiliki STNK saat melakukan parkir, diharuskan menulis keterangan tidak memiliki STNK.
5. Pengendara mengeluarkan kendaraannya dari tempat parkir dan menyerahkan kartu parkir dan STNK untuk diperiksa oleh pihak pengelola parkir.
14
Gambar 5 State Diagram Sistem Parkiran
State diagram pada Gambar 5 dinyatakan dalam 5 tupel, yaitu:
Q = {S1, S2, S3, S4, S5, S6}
Untuk keterangan abjad, himpunan simbol input yang menyatakan apa yang dilakukan pengendara; (a) ambil kartu parkir, (b) parkir motor, (c) tulis keterangan tidak ada STNK, (d) kembalikan kartu parkir dan pemeriksaan STNK, (e) keluar parkiran. Sedangkan untuk keterangan state yang menyatakan tempat atau area : (S1) area pintu masuk parkiran, (S2) tempat pengambilan kartu parkir, (S3) area parkiran, (S4) tempat penulisan keterangan tidak memiliki STNK, (S5) tempat pengembalian kartu parkir dan pemeriksaan STNK, (S6) area pintu keluar parkiran.
Relasi transisi dapat dipetakan dalam tabel, menjadi seperti pada Tabel 2. Tabel 2 Tabel Relasi transisi sistem parkiran
15
Tabel 2 menjelaskan tentang perpindahan state apabila ada input yang masuk. Misalnya pada state S1 mendapat input a maka akan berpindah ke state S2, sesuai Gambar 5. Kemudian dari state S2 mendapat input b maka akan berpindah ke state S3. Bila mendapat input d maka akan berpidah ke state S5. Begitu seterusnya untuk cara membaca transisi dari state yang lain. Perpindahan state akan bernilai Ø (Bahasa kosong) apabila tiap input yang masuk tidak sesuai. Misalnya state S1 apabila mendapat input b, maka akan bernilai Ø (Bahasa kosong). Begitu juga seterusnya untuk state yang lain, yang mendapat input tidak sesuai.
Gambar 6 State Diagram Parkiran Kosong
State diagram pada Gambar 6, menyatakan area tempat parkir yang masih kosong, sehingga pengendara dapat melakukan parkir kendaraan di area parkir tersebut. Dinyatakan dalam 5 tupel, yaitu:
Untuk keterangan abjad pada Gambar 6, himpunan simbol input yang menyatakan parkiran yang masih kosong (a), dan parkiran yang sudah penuh (b). Sedangkan untuk keterangan state yang menyatakan area parkir, yang dibagi menjadi 8 area parkir.
16
Tabel 3 Tabel Relasi transisi parkiran kosong
∆ a b
Algoritma keamanan sistem parkiran kendaraan motor di kampus UKSW adalah sebagai berikut:
Petugas pintu masuk parkir
1 Masukkan nomor kendaraan
2 Cek kelengkapan pengendara
3 Berikan kartu parkir sesuai kelengkapan pengendara
4 Jika pengendara menggunakan helm, maka berikan kartu parkir hijau 1
5 Jika pengendara tanpa helm, maka berikan kartu parkir merah 1
6 Jika pengendara dan boncengan menggunakan helm, maka berikan kartu parkir hijau 2
7 Jika pengendara dan boncengan tanpa helm, maka berikan kartu parkir merah 2
8 Jika pengendara menggunakan helm dan boncengan tanpa helm, maka berikan kartu parkir hijau
merah
9 Jika pengendara tanpa helm dan boncengan menggunakan helm, maka berikan kartu parkir merah
hijau
10 Masukan data pengendara
11 Cek data pengendara
12 Periksa STNK Kendaraan
13 Ambil kembali kartu parkir pengendara
Algoritma menjelaskan tentang gambaran aplikasi yang dibuat, berguna untuk keamanan dalam sistem parkiran kendaraan motor di kampus UKSW. Konsep aplikasi dijalankan oleh petugas parkir.
Pseudocode keamanan sistem parkiran kendaraan motor di kampus UKSW, dijelaskan sebagai berikut
IF pengendara menggunakan helm THEN kartu parkir hijau 1 IF pengendara tanpa helm THEN kartu parkir merah 1
IF pengendara menggunakan helm AND boncengan menggunakan helm THEN kartu parkir hijau 2 IF pengendara tanpa helm AND boncengan tanpa helm THEN kartu parkir merah 2
17
READ data_pengendara PRINT data pengendara end
Rancangan pseudocode merupakan gambaran konsep aplikasi yang dibuat, berguna untuk membatu petugas parkir dalam menentukan pengecekan kelengkapan pengendara dan pemberian kartu parkir sesuai kelengkapan pengendara sebelum melakukan parkir dan sebelum keluar dari tempat parkir.
Kode Program 1 Perintah Untuk Menampilkan Keterangan Kelengkapan Pengendara
Kode Program 1 merupakan perintah yang digunakan untuk menampilkan kelengkapan pengendara. Kelengkapan pengendara yang dimasukkan ke dalam aplikasi oleh petugas parkir berguna untuk aplikasi dalam menentukan kartu parkir yang nanti diberikan oleh petugas parkir untuk pengendara.
Kode Program 2 Perintah Untuk Input Nomor Kendaraan dan Kelengkapan Pengendara
Kode Program 2 merupakan perintah untuk memasukkan nomor kendaraan dan kelengkapan pengendara sesuai keterangan kelengkapan pengendara yang dilakukan oleh petugas parkir, kemudian aplikasi akan menentukan kartu parkir apa yang harus diberikan petugas parkir kepada pengendara sesuai keterangan yang dimasukkan.
18
Gambar 7 Output Program
Gambar 6 adalah hasil output dari program yang dibuat. Input dilakukan secara manual menggunakan keyboard oleh petugas parkir, kemudian diproses sehingga menampilkan kartu parkir warna apa yang harus diberikan petugas parkir kepada pengendara.
Tabel 4 Tabel Analisis Pengujian dan Hasil Start state Input State yang
dilewati
Final state Jumlah state yang dilewati
Tabel 4 menjelaskan tentang analisis pengujian dan hasil dari konsep finite state automata yang dibuat. Analisis pengujian dan hasil pertama menunjukkan, start state S1 sampai final state S6 melalui 4 state, yaitu state S2, S3, S4, S5, memiliki 5 input, yaitu input a, b, c, d, e. Analisis pengujian dan hasil kedua menunjukkan, start state S1 sampai final state S6 melalui 3 state, yaitu state S2, S3, S5, memiliki 4 input, yaitu input a, b, d, e. Analisis pengujian dan hasil ketiga menunjukkan, start state S1 sampai final state S6, melalui 2 state, yaitu state S2 dan S5, dan memiliki 3 input, yaitu input a, d, e. Analisis pengujian dan hasil keempat menunjukkan, start state S1 sampai final state S6, tidak melalui state yang lain, dan memiliki 1 input, yaitu input e.
5. Simpulan
19
6. Daftar Pustaka
[1] Sugiono, B., 2010. Penerapan Teori Bahasa dan Automata untuk Mengecek Kebenaran Format SMS pada SMS Premium, Skripsi, Salatiga: Universitas Kristen Satya Wacana. [2] Irawan, J. Ch., Pakereng, M. A. I., Somya, R., Perancangan dan Implementasi Finite
Automata pada Simulasi Vending Machine, Skripsi, Salatiga: Universitas Kristen Satya Wacana.
[3] Kuswardayan, I., Tjahyanto, A., Siregar, K. M. S., 2005. Perangkat Lunak Pengucapan Kata Bahasa Indonesia Berdasarkan Pemenggalan Kata Dengan Finite State Automata. Insitute Teknologi Sepuluh Nopember.
[4] Utdirartatmo, F., 2001. Teori Bahasa dan Otomata. Yogyakarta: J & J Learning.