Implementasi Finite Automata Dalam Mesin Karaoke Dennish Candra Cahya Kusuma Program Studi Ilmu Komputer, Sekolah Tinggi Manajemen Informatikan dan Komputer, Nusa Mandiri Email:
[email protected]
Abstrak—Makalah ini berisi tentang finite automata yang mana merupakan cikal bakal dari adanya program komputer yang saat ini sudah menjadi salah satu dari kebutuhan manusia. Deterministic Finite Automata atau biasa disingkat DFA adalah salah satu dari Finite Automata yang akan dibahas penerapannya dalam mesin karaoke. Kata Kunci—Mesin Karaoke, Automata, DFA
1 PENDAHULUAN Teknologi yang saat ini sudah menjadi salah satu kebutuhan manusia pada awalnya bermula dari pembuatan komputer yang bertujuan untuk perang. Salah satu momen yang bersejarah adalah pengembangan komputer yang dibuat untuk memecah kode enkripsi dari negara jerman, enkripsi ini adalah kode koordinat lokasi yang akan di bom oleh negara jerman sehingga memaksa sekutu untuk membuat pemecah kode enkripsinya yang dikenal sebagai nama Colossus.
berada disalah satu dari sejumlah berhingga konfigurasi internal disebut state. State sistem merupakan ringkasan informasi yang berkaitan dengan masukan-masukan sebelumnya yang diperlukan untuk menentukan perilaku sistem pada masukanmasukan berikutnya. Finite Automata menggunakan prosedur yang saat diberikan masukan "string berhingga" akan berhenti, Finite Automata menyatakan "ya" dengan sejumlah berhingga komputasi jika string tersebut merupakan elemen bahasa sehingga lebih berfokus pada pengenalan dimana bila diberikan suatu program (string) akan menyatakan apakah string tersebut termasuk di bahasa atau tidak. 2.1 Model Finite Automata Model Finite Automata memiliki ciri-ciri sebagai berikut, antara lain: 1. Tidak ada memori sementara. 2. Head hanya bergerak 1 arah. 3. Hanya berisi memori masukan berupa tape yang berisi string masukan dan sejumlah kendali berhingga. 2.2 Properti Finite Automata Finite Automata memiliki beberapa properti sebagai berikut: 1. Q adalah finite set yang disebut states 2. adalah finite set yang disebut alphabet 3. : Q Q adalah fungsi transisi 4. q0 Q adalah state awal 5. F Q adalah states yang diterima
Gambar 1. Colossus Bahasa automata adalah bahasa dasar yang digunakan manusia untuk berkomunikasi dengan sebuah mesin. Bahasa ini digunakan untuk mesin-mesin tingkat rendah sebagai contoh yaitu lampu lalu lintas. Karaoke adalah salah satu hiburan yang dapat banyak kita temukan di mal-mal atau area wisata, beberapa tempat karaoke ini memberikan layanan yang sederhana yaitu dengan masuk ke sebuah ruangan kecil yang cukup untuk 3 orang dan untuk menyalakan mesinnya dibutuhkan beberapa koin yang dimasukkan ke mesin tersebut, proses ini adalah salah satu contoh penggunaan finite automata dalam kehidupan seharihari. 2 DASAR TEORI Finite automata adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana (bahasa reguler) dan dapat diimplementasikan secara nyata dimana sistem dapat
2.3 Cara Kerja Finite Automata Finite Automata bekerja dengan cara mesin membaca memori masukan berupa tape yaitu 1 karakter tiap saat (dari kiri ke kanan) menggunakan head baca yang dikendalikan oleh kotak kendali state berhingga dimana pada mesin terdapat sejumlah state berhingga. Finite Automata selalu dalam kondisi yang disebut state awal (initial state) pada saat Finite Automata mulai membaca tape. Perubahan state terjadi pada mesin ketika sebuah karakter berikutnya dibaca. Ketika head telah sampai pada akhir tape dan kondisi yang ditemui adalah state akhir, maka string yang terdapat pada tape dikatakan diterima Finite Automata (String-string merupakan milik bahasa bila diterima Finite Automata bahasa tersebut). 2.4 Finite State Diagram (FSD) Perilaku Finite Automata dimodelkan dengan Finite State Diagram (FSD) dapat juga disebut State Transition Diagram. Finite State Diagram terdiri dari: 1. Lingkaran menyatakan state. Lingkaran diberi label sesuai dengan nama state tersebut, Adapun pembagian lingkaran adalah Lingkaran bergaris tunggal berarti state sementara dan Lingkaran 1
bergaris ganda berarti state akhir. Anak Panah menyatakan transisi yang terjadi. Label di anak panah menyatakan simbol yang membuat transisi dari 1 state ke state lain, 1 anak panah diberi label start untuk menyatakan awal mula transisi dilakukan. Berikut adalah contoh Finite State Diagram dari mesin cuci koin. 2.
q0
25
q25
25
q50
25
q75
25
Gambar 2. Finite State Diagram Mesin Cuci Koin Dari Gambar 2 kita dapat membuat formal definition ((q0,q25,q50,q75),25, ,q0,q75). 3 PENERAPAN DETERMINISTIC FINITE AUTOMATA PADA MESIN KARAOKE
Salah satu tempat bermain yang memiliki box karaoke adalah TIMEZONE. Terdapat banyak mesin permainan disana yang akan dapat dimainkan apabila kita memasukkan koin dalam jumlah tertentu yang masing-masing mesin memerlukan jumlah koin yang berbeda untuk dapat dimainkan. Pada makalah ini, akan dibahas penggunaan Deterministic Finite Automata pada salah satu mesin di TIMEZONE yaitu mesin karaoke. 3.1 Cara Kerja Mesin Karaoke Untuk dapat memutar lagu pada mesin karaoke di TIMEZONE, pertama kita harus memasukkan koin sebanyak 3 koin, setelah dimasukkan 3 koin maka mesin akan memutarkan lagu yang kita pilih, akan tetapi apabila jumlah koin yang dimasukkan melebihi 3 koin maka sisa koin akan di akumulasi sampai berjumlah kelipatan 3. Contoh, apabila dimasukkan 5 koin maka pengguna hanya dapat memutar 1 lagu saja, sedangkan apabila dimasukkan 9 koin maka pengguna dapat memutar 3 lagu. 3.2 Finite State Diagram Dari cara kerja mesin karaoke yang di bahas di atas, kita dapat membuat Finite State Diagram dari mesin karaoke di TIMEZONE seperti gambar dibawah ini.
q0
1
1
q1
q2
1
q3
1
Gambar 5. Finite State Diagram Mesin Karaoke 3.3 Formal Definition Dari Finite State Diagram di atas, maka Formal Definition-nya adalah ((q0,q1,q2,q3),1, ,q 0,q3) dengan tabel sebagai berikut :
Gambar 3. Mesin Karaoke Saat ini terdapat banyak mesin karaoke yang diletakkan didalam box yang dapat berisi 3 orang untuk menyanyi, mesin-mesin tersebut akan dapat memutar sebuah lagu hanya dengan memasukkan jumlah koin tertentu, tentunya menggunakan koin khusus yang dijual dikasirnya.
q0 q1 q2 q3
1 q1 q2 q3 q3
Gambar 6. Tabel Mesin Karaoke 4 KESIMPULAN Dari keseluruhan pembahasan dan penjelasan di atas, kita dapat melihat bahwa Finite Automata banyak digunakan pada kehidupan sehari-hari sebagai salah satu contoh adalah mesin permainan di TIMEZONE yang pada makalah ini kita ambil adalah mesin karaoke. Dengan tentang Finite Automata, sangat banyak manfaat yang didapat di lingkungan sekitar kita. Pembahasan dan penjelasan diatas adalah salah satu contoh pemanfaatan Finite Automata di sekitar kita. Dalam mesin karaoke di TIMEZONE pemanfaatan Finite Automata digunakan dalam proses memutar lagu, mulai dari awal koin belum dimasukkan dengan state q0 sampai koin dimasukkan sebanyak 3 koin atau accept state q3.
Gambar 4. TIMEZONE 2
REFERENSI http://batam.tribunnews.com/2011/04/21/beli-koran-tribun-dapatpotongan-free-game-di-timezone-kepri-mal, diakses pada tanggal 3 September 2015 pukul 18.25. http://ayo-wirausaha.blogspot.co.id/2010/09/peluang-usaha-karaokebox-rumahan.html, diakses pada tanggal 3 September 2015 pukul 18.25. https://id.wikipedia.org/wiki/Teori_otomata#Mesin_Turing, diakses pada tanggal 3 September 2015 pukul 19.25. http://www.globalkomputer.com/Bahasan/Teori-Bahasa-danOtomata/Topik/Finite-Automata.html diakses pada tanggal 3 September 2015 pukul 19.35.
PERNYATAAN DENGAN INI SAYA MENYATAKAN BAHWA MAKALAH YANG SAYA TULIS INI ADALAH TULISAN SAYA SENDIRI, BUKAN SADURAN, ATAU TERJEMAHAN DARI MAKALAH ORANG LAIN, DAN BUKAN PLAGIASI. Jakarta, 3 September 2015
Dennish Candra C. K. / 14001884
3