T1__Full text Institutional Repository | Satya Wacana Christian University: Penerapan Finite State Automata pada Layanan Reservasi Tiket Bis T1 Full text

Penerapan Finite State Automata
Pada Layanan Reservasi Tiket Bis

Artikel Ilmiah

Peneliti:
Yansen Timoti Manalu (672013076)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Mei 2017

Penerapan Finite State Automata
Pada Layanan Reservasi Tiket Bis

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer

Peneliti:
Yansen Timoti Manalu (672013076)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Mei 2017

2

3

4

5


6

7

8

9

10

1.

Pendahuluan

Pada era modern ini, perkembangan teknologi mengalami kemajuan yang sangat pesat.
Seiring perkembangan teknologi semakin meningkat, persaingan dalam dunia bisnis pun
semakin meningkat. Salah satu contohnya adalah bisnis travel. Agar dapat berkembang dan
terus bertahan, maka perlu adanya peningkatan pelayanan dan kualitas.
Jasa layanan reservasi tiket bus sudah banyak di berbagai tempat. Namun pelayanannya

masih berupa pelanggan datang langsung kepada agen ataupun melalui telepon. Sehingga
dianggap kurang efektif bagi konsumen karena konsumen tidak dapat leluasa mengetahui
jadwal bus yang tersedia.
Teori Bahasa dan Automata merupakan sebuah metode yang memiliki model dan
gagasan dalam perancagan sebuah sistem. Dengan metode ini akan dirancang sebuah sistem
layanan Reservasi Tiket Bus.
Berdasarkan latar belakang masalah tersebut, maka dilakukan penelitian yang berjudul
Penerapan Finite State Automata Pada Layanan Reservasi Tiket Bus. Adanya sistem ini
diharapkan konsumen bisa mendapatkan layanan yang lebih efektif lagi.
2.

Tinjauan Pustaka

Penelitian berjudul yang berjudul Perancangan dan Implementasi Finite State
Automata pada Game Quiz Ular Tangga Berbasis Android. Automata membantu
pengembagan Game ular tangga sehingga beberapa kemungkinan bisa terjadi. Game Quiz ular
tangga ini membantu user dalam proses belajar yang tidak membosankan [1].
Penelitian yang berjudul “Perancangan dan Implementasi Finite Automata pada
Simulasi Vending Machine”, kesimpulan yang didapat penelitian ini adalah Finite Automata
dapat dijadikan sebagai logika dasar untuk membuat simulasi vending machine . Lewat

rancangan diagram state berdasarkan konsep Mealy machine yang telah dibuat, maka apliksi
simulasi vending machine dapat dibuat dan hasil dari setiap input yang dipilih oleh user pada
aplikasi sesuai dengan hasil rancangan tersebut [2].
Penelitian yang lain adalah "Perancangan dan Implementasi Pemesanan Tiket Pesawat
(Studi Kasus Pandalas Tour Yogyakarta)", dimana pada penelitian ini membahas bahwa
pentingnya sistem e-commerce pada bisnis travel. Sistem yang dibangun berupa reservasi tiket
online yang dapat mempermudah konsumen untuk mengetahaui informasi tentang jadwal tiket
pesawat. Sistem dibangun menggunakan bahasa pemograman PHP dan MYSQL sebagai
database [3].
Berdasarkan penelitian-penelitian sebelumnya terkait Teori Bahasa dan Automata,
maka akan dilakukan penelitian yang membahasa tentang Penerapan Finite State Automata
Pada Layanan Reservasi Tiket Bus. Adanya sistem ini diharapkan konsumen bisa
mendapatkan layanan yang lebih efektif lagi.
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 str ing 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 [5].
11

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;
Q = {A, B}
∑ = {0, 1}
S = {A}
F = {B}
δ = Fungsi transisi
δ (A, 0) = A
δ (A, 1) = B
δ (B, 0) = B
δ (B, 1) = A
Berdasarkan fungsi transisi tersebut, dapat dibuat tabel transisi seperti pada Tabel 1.
Tabel 1 Tabel Transisi Berdasarkan Gambar 1
δ
0
1
A
A
B
B


B

A

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 sta te tidak berpindah.
Selanjutnya membaca karakter ‘1’. Berpindah dari state B ke state A 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 [4].

12

3.

Metode dan Perancangan


Penelitian yang dilakukan, diselesaikan melalui tahapan yang terbagi dalam empat
tahapan, yaitu: (1) Identifikasi masalah, (2) Perancangan sistem yang meliputi perancangan
finite state automata , (3) Implementasi sistem, (4) Pengujian sistem dan analisis hasil
pengujian sistem.

Gambar 1 Tahapan Penelitian

Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Ta hap Pertama:
Identifikasi masalah, yaitu mengidentifikasi masalah-masalah yang ada serta mengumpulkan
data terkait tentang kebutuhan yang dibutuhkan dalam proses Reservasi Tiket Bus; Tahap
kedua : adalah perancangan Finite State Automata , pada tahap ini adalah menentukan
himpunan state, menentukan abjad masukan, membuat fungsi transisi, menentukan initial
state, menentukan final state dan membuat diagram NDFA; Tahap ketiga : adalah
Implementasi sistem, pada tahap ini adalah mengimplementasikan Perancangan Finite State
Automata ke dalam bentuk Sistem Reservasi Tiket Bus; Tahap keempat: Pengujian Sistem dan
analisis Pengujian, yaitu melakukan pengujian sistem apakah sistem yang telah dirancang
telah sesuai dengan yang sudah direncanakan serta melakukan analisis pengujian sistem
apakah masih ada error pada saat sistem dijalankan.


13

Gambar 2 Proses Layanan Reservasi Tiket Bus
Rancangan Prose Layanan Reservasi Tiket Bus pada Gambar 2 dirancang sesuai
berjalannya sistem Layanan Reservasi Tiket bus. Proses tersebut sangat berguna dalam
merancang Finite State Automata . Setiap Proses yang terjadi didalamnya ada sebuah
state/kondisi pada Finite State Automata .
4. Hasil dan Pembahasan
Proses pada Sistem Layanan Reservasi Tiket Bus ini konsumen dapat dengan leluasa
mengetahui informasi tiket bus. Konsumen dapat langsung memilih tujuannya. Setelah itu
konsumen juga bisa langsung memilih Bus mana yang tersedia sesuai jadwal yang sudah
konsumen pilih. Setelah itu konsumen dapat langsung melakukan transaksi pembayaran dan
melakukan konfirmasi. Finite State Automata adalah sebagai dasar algoritma untuk merancang
suatu sistem. Dengan Finite State Automata dapat membantu untuk mengetahui apa saja yang
dibutuhkan oleh sistem. Maka dari itu Finite State Automata sangat membantu dalam
perancangan Sistem Layanan Tiket Bus.

14

Gambar 4 Rancangan Diagram State Sistem Layanan Reservasi Tiket Bus


Gambar 4 menunjukkan rancangan diagram State Sistem Layanan Reservasi Tiket Bus
dengan tuple sebagai berikut:
Q = {Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15}
∑ = {TRUE, FALSE , 1, 2, 3, 4, 5, 6, 7, 8}
S = {Q1}
F = {Q15}
δ = Relasi Transisi
Relasi Transisi untuk Layanan Reservasi Tiket Bus
Δ = {(Q1, T), Q2), (Q1, T), Q3), (Q2, F), Q1), (Q2, 1), Q4), (Q2, 2), Q5), (Q2, 3), Q6), (Q2,
4), Q7), (Q3, F), Q1), (Q3, 5), Q8), (Q3, 6), Q9), (Q3, 7), Q10), (Q3, 8), Q11), (Q4, T),
Q12), (Q5, T), Q12), (Q6, T), Q12), (Q7, T), Q12), (Q8, T), Q12), (Q9, T), Q12), (Q10,
T), Q12), (Q11, T), Q12), (Q12, T), Q13), (Q13, F), Q1)}
Algoritma yang diterapkan pada diagram state layanan reservasi tiket, sebagai berikut:
Jika Menu pesan Tiket (Q1) bernilai TRUE maka akan menuju ke Menu Tiket Ekonomi
(Q2), jika Menu Tiket Ekonomi (Q2) bernilai FALSE maka akan menuju ke Menu pesan
Tiket (Q1), jika Menu Tiket Ekonomi (Q2) bernilai 1 maka tiket yang dipilih adalah Tiket 1
(Q4), jika Menu Tiket Ekonomi (Q2) bernilai 2 maka tiket yang dipilih adalah Tiket 2 (Q5),
jika Menu Tiket Ekonomi (Q2) bernilai 3 maka tiket yang dipilih adalah Tiket 3 (Q6), jika
Menu Tiket Ekonomi (Q2) bernilai 4 maka tiket yang dipilih adalah Tiket 4 (Q7), jika Menu

pesan Tiket (Q1) bernilai TRUE maka akan menuju ke Menu Tiket Eksekutif (Q3), jika
Menu Tiket Eksekutif (Q3) bernilai FALSE maka akan menuju ke Menu pesan Tiket (Q1),
jika Menu Tiket Eksekutif (Q3) bernilai 5 maka tiket yang dipilih adalah Tiket 5 (Q8), jika
Menu Tiket Eksekutif (Q3) bernilai 6 maka tiket yang dipilih adalah Tiket 6 (Q9), jika Menu
Tiket Eksekutif (Q3) bernilai 7 maka tiket yang dipilih adalah Tiket 7 (Q10), jika Menu
Tiket Eksekutif (Q3) bernilai 8 maka tiket yang dipilih adalah Tiket 8 (Q11), Jika Tiket yang
dipilih 1 bernilai TRUE maka akan menuju ke Menu Proses Data Penumpang (Q12), Jika
Tiket yang dipilih 2 bernilai TRUE maka akan menuju ke Menu Proses Data Penumpang
(Q12), Jika Tiket yang dipilih 3 bernilai TRUE maka akan menuju ke Menu Proses Data
Penumpang (Q12), Jika Tiket yang dipilih 4 bernilai TRUE maka akan menuju ke Menu
Proses Data Penumpang (Q12), Jika Tiket yang dipilih 5 bernilai TRUE maka akan menuju
ke Menu Proses Data Penumpang (Q12), Jika Tiket yang dipilih 6 bernilai TRUE maka akan
menuju ke Menu Proses Data Penumpang (Q12), Jika Tiket yang dipilih 7 bernilai TRUE
maka akan menuju ke Menu Proses Data Penumpang (Q12), Jika Tiket yang dipilih 8
15

bernilai TRUE maka akan menuju ke Menu Proses Data Penumpang (Q12), jika Menu
Proses Data Penumpang (Q12) bernilai TRUE maka akan menuju ke Menu Proses Status
Transaksi Tiket (Q13), jika Menu Proses Status Transaksi Tiket (Q13) bernilai FALSE maka
akan menuju ke Menu pesan Tiket (Q1).
Tabel 1 Himpunan State

Himpunan State
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9
Q10
Q11
Q12
Q13

Deskripsi
Menu Pesan Tiket
Menu Tiket Ekonomi
Menu Tiket Eksekutif
Tiket 1
Tiket 2
Tiket 3
Tiket 4
Tiket 5
Tiket 6
Tiket 7
Tiket 8
Menu Proses Data Penumpang
Menu Proses Status Transaksi Tiket

Tabel 2 Abjad Sebagai Simbol Input

Abjad
TRUE

FALSE

1
2
3
4
5
6
7
8

Deskripsi
True merupakan masukkan yang bernilai
benar yang akan membawa ke state
selanjutnya
False merupakan masukkan yang bernilai
salah yang akan membawa kembali ke
state awal
Nilai syarat apabila memilih Tiket 1
Nilai syarat apabila memilih Tiket 2
Nilai syarat apabila memilih Tiket 3
Nilai syarat apabila memilih Tiket 4
Nilai syarat apabila memilih Tiket 5
Nilai syarat apabila memilih Tiket 6
Nilai syarat apabila memilih Tiket 7
Nilai syarat apabila memilih Tiket 8

Sistem dimulai dari state awal yaitu Q1 dimana user harus memasukkan data pemesanan,
guna menjadi syarat proses pemilihan tiket yang nantinya tiket terbagi 2 kelas yaitu kelas
Ekonomi Q2 dan kelas Eksekutif Q3, setelah itu user dapat memilih tiket bus sesuai dengan
kelas yang telah dipilih yaitu Q4 adalah Tiket 1, Q5 adalah Tiket 2, Q6 adalah Tiket 3, Q7
adalah Tiket 4, Q8 adalah Tiket 5, Q9 adalah Tiket 6, Q10 adalah Tiket 7, Q11 adalah Tiket 8.
Setelah Proses pemilihan Tiket berhasil sistem akan melakukan hal yang sama, membaca
input dari user lalu bergeser ke state selanjutnya jika bernila TRUE. Namun jika bernilai FALSE maka proses akan kembali pada state awal yaitu Q1.

16

Pseudo-Code Sistem Reservasi Tiket Bus

Pseudo-Code merupakan rancangan sebuah bahasa program namun dapat dimengerti oleh
manusia sehingga dapat digunakan sebagai dasar perancangan berbagai bahasa pemrograman
lebih lanjut. Proses ini sangat membantu dalam pembuatan sistem Reservasi Tiket Bus.
Berikut kode program yang dibuat berdasarkan Pseudo-code.
Kode Program 1 Proses Pendataan Tiket

Kode program 1 merupakan proses dimana user dapat melakukan pengisian data ditiket
terlebih dahulu sebelum melakukan pemilihan bis, sehingga nantinya user dapat mengetahui
bis yang tersedia sesuai jadwal yang di inginkan.

17

Kode Program 2 Proses Pemilihan Bis

Setelah melakukan pendataan tiket, selanjutnya adalah proses pemilihan bis. Dimana bis
terbagi menjadi 2 kelas yaitu kelas Ekonomi dan VIP. Pemilihan berdasarkan bis yang tersedia
di hari yang ditentukan oleh user dan sesuai kelas yang ditentukan oleh user .
Kode Program 3 Proses Data Penumpang

Setelah melakukan pemilihan bis, user dapat langsung melakukan pengisian data pribadi
dengan lengkap. Kemudian user dapat langsung memilih seat yang di inginkan.

18

Kode Program 4 Proses Pemilihan seat penumpang

Kode program 4 menjelaskan dimana terdapat denah pemilihan seat. Dimana user dapat
dengan mudah memilih dan mengetahui seat yang masih tersedia.

Kode Program 5 Menu Output

19

Kode Program 5 merupakan code yang nantinya pada sistem akan menampilkan semua datadata yang telah di inputkan oleh user . Dimana user akan langsung mendapat kan kode
booking .

Gambar 5 Menu Reservasi Tiket Bis

.Gambar 5 merupakan hasil output dari program yang dibuat. User dapat melakuan
reservasi dan melakukan pengisian data tiket sesuai kebutuhan.
20

Gambar 6 Menu Data Bis

Gambar 6 merupakan tampilan output implementasi program saat melakukan pemilihan
bis. Dimana user dapat memilih bis sesuai jadwal yg di inginkan.

Gambar 7 Menu Data Penumpang

Gambar 7 merupakan tampilan output implementasi program berupa menu data
penumpang. Ada beberapa field yang harus diisi oleh user guna untuk kelengkapan data
penumpang

21

Gambar 8 Proses Pemilihan Seat

Gambar 8 merupakan tampilan output program saat melakukan pemilihan seat. Dimana
user dapat memilih langsung seat yang diinginkan dan juga dapat mengetahui jumlah seat yang
tersedia.

Gambar 9 Tampilan Output Program

Gambar 9 merupakan tampilan output tiket bis yang berupa data diri penumpang dan data
pemesanan tiket penumpang yang telah di input oleh user . Output dirancang menggunakan
Finite State Automata yang telah diimplementasikan kedalam program. program dibuat
menggunakan PHP sebagai bahasa pemrograman dan MYSQL sebagai database .

22

5.

Simpulan

Berdasarkan hasil dan penelitian dan implementasi Finite State Automata pada Sistem
Reservasi Tiket Bis dapat di ambil kesimpulan bahwa : (1) Finite State Automata digunakan
sebagai dasar logika dalam perancangan sistem Reservasi Tiket Bis; (2) Dengan adanya
perancangan sistem Reservasi Tiket Bis ini dapat mempermudah konsumen untuk melakukan
pemesanan tiket bis; (3) Program dirancang menggunakan PHP sebagai bahasa pemrograman
dan MYSQL sebagai database . Saran pengembangan yang dapat diberikan untuk penelitian
lebih lanjut adalah sebagai berikut : (1) Adanya penambahan Rute tujuan untuk diluar Pulau
Jawa; (2) Memperbaiki dan melakukan penambahan beberapa menu menjadi lebih baik; (3)
ditambahkannya sistem untuk bukti transfer berupa foto agar mempermudah dalam melakukan
transaksi pembayaran.
6.

Daftar Pustaka

[1] Yohannes, Y, 2013. Perancangan Dan Implementasi Finite State Automata Pada Game
Quiz Ular Tangga Berbasis Android, Skripsi, Salatiga: Universites KristenSatya Wacana.
[2] Irawan, J, 2012. Perancangan dan Implementasi Finite Automata pada Simulasi Vending
Machine, Skripsi, Salatiga: Universitas Kristen Satya Wacana.
[3] Rohman, N, 2015. Perancangan dan Implementasi Pemesanan Tiket Pesawat (Studi
Kasus Pandalas Tour Yogyakarta), Skripsi, Yogyakarta: Universitas Islam Negeri Sunan
Kalijaga.
[4] Utdirartatmo, F., 2001. Teori Bahasa dan Otomata . Yogyakarta: J & J Learning.

23

Dokumen yang terkait

Analisis komparatif rasio finansial ditinjau dari aturan depkop dengan standar akuntansi Indonesia pada laporan keuanagn tahun 1999 pusat koperasi pegawai

15 355 84

Analisis korelasi antara lama penggunaan pil KB kombinasi dan tingkat keparahan gingivitas pada wanita pengguna PIL KB kombinasi di wilayah kerja Puskesmas Sumbersari Jember

11 241 64

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

Representasi Nasionalisme Melalui Karya Fotografi (Analisis Semiotik pada Buku "Ketika Indonesia Dipertanyakan")

53 338 50

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

DAMPAK INVESTASI ASET TEKNOLOGI INFORMASI TERHADAP INOVASI DENGAN LINGKUNGAN INDUSTRI SEBAGAI VARIABEL PEMODERASI (Studi Empiris pada perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2006-2012)

12 142 22