Pendahuluan
Ilmu komputer memiliki dua komponen utama yaitu model dan gagasan
mendasar mengenai komputasi, serta teknik rekayasa untuk perancangan
sistem komputasi. Teori bahasa dan automata merupakan bagian pertama dari
dua komponen utama tersebut. Teori bahasa dan automata ini sangat berguna
untuk pengembangan ilmu komputer lebih lanjut, baik pada perangkat keras
(hardware), maupun perangkat lunak (software) [1].
Penggunaan automata pada perangkat lunak terutama pada fase
perancangan perangkat lunak atau aplikasi. Bahasa pemograman bertindak
sebagai sarana komunikasi antara manusia dan komputer, yang dipakai untuk
membantu dalam memperoleh pemecahan. Sebagai keluaran dari automata,
bahasa memungkinkan penyampaian gagasan dan pemikiran manusia,
sedangkan sebagai ilmu yang juga merupakan mempelajari mengenai mesin
abstrak, automata dapat membaca input yang diberikan sehingga automata
dapat memberikan keluaran untuk tahap-tahap atau state selanjutntya.
Automata dapat diterapkan pada aplikasi bantu pengecekan transkrip
nilai sekaligus membantu mahasiswa dalam memberi informasi untuk
matakuliah yang harus diulang. Pengecekan transkrip diperlukan untuk
mengetahui hasil studi mahasiswa dan mahasiswa tidak lupa untuk lulus pada
setiap matakuliah yang disediakan untuk syarat skripsi nantinya. Pengecekan
transkrip nilai dilakukan dikarenakan mahasiswa sering kali lupa mengulang
matakuliah penting yang menjadi syarat dalam pengambilan skripsi. Sebuah
aplikasi bantu untuk pengecekan transkrip nilai dilakukan dengan
memberikan input hasil studi mahasiswa sampai saat ini. Hasil studi
mahasiswa itu nanti akan diproses untuk menghasilkan output yang
memberikan informasi adakah matakuliah yang harus diulang sekaligus
memberikan rekomendasi konsentrasi sesuai dengan hasil studi mahasiswa
tersebut. Pada pembuatan aplikasi bantu ini akan menggunakan konsep
automata. Penerapan automata digunakan untuk mengenal dan menangkap
pola dalam proses pada aplikasi bantu ini. Oleh sebab itu, pada penelitian ini
digunakan model FSA untuk merancang atau mendesain aplikasi yang dapat
digunakan untuk membantu dalam pengecekan transkrip nilai. Pada
penelitian studi kasus yang diambil adalah Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana khususnya program studi S1 Teknik
informatika. Diharapkan juga aplikasi ini dapat menjadi model untuk
program studi yang lain.
2. Tinjauan Pustaka
2
Pada penelitian tersebut, diperoleh kesimpulan bahwa Algoritma
Teori Bahasa dan Automata sangat cocok dalam mengatasi permasalahan
pengecekan format SMS pada SMS premium karena sesuai dengan dengan
tiga kriteria yang baik. 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 waktu yang efisien dan
efisien dalam penyimpanan data [2].
Penelitian yang lain adalah Penggunaan Algoritma Greedy Dalam
Aplikasi Vending Machine. Pada penerapan ini ditekankan mengenai cara
agar sebuah vending machine dapat memberikan uang kembalian secara
optimal. Yang dimaksud dengan optimal adalah uang kembalian mempunyai
jumlah koin paling sedikit di antara semua kemungkinan uang kembalian.
Algoritma Greedy bisa diterapkan sebagai salah satu cara untuk
menyelesaikan jumlah uang kembalian pada vending machine. Algoritma
Greedy dapat menghasilkan solusi secara optimal sehingga pembeli pada
vending machine tidak perlu khawatir dengan uang kembalian [3].
Melalui penelitian ini, akan dirancang dan diimplementasikan
pemodelan FSA (Finite State Automata) untuk pengecekan transkrip nilai.
Finite State Automata (FSA) merupakan suatu model matematika dari suatu
sistem yang menerima input dan output diskrit. Finite State Automata (FSA)
merupakan mesin automata dari bahasa regular. Suatu Finite State Automata
(FSA) memiliki state yang banyaknya berhingga, dan dapat berpindah-
pindah dari suatu state ke state lain. Finite State Automata (FSA)
berdasarkan pendefinisian kemampuan berubah state-state-nya bisa
dikelompokkan kedalam Deterministik Finite Automata (DFA) dan Non-
deterministic Finite Automata (NFA). Pada DFA dan NFA memiliki
persamaan yaitu pada penerimaan bahasa yang sama. Perbedaan pada DFA
dan NFA adalah DFAdalam menerima inputan mempunyai tepat satu busur
keluar tapi pada NFA dalam menerima input bisa terdapat 0, 1, atau lebih
busur keluar [1].
Berdasarkan beberapa penelitian yang pernah dilakukan terkait Teori
Bahasa dan Automata, maka dilakukan penelitian yang bertujuan untuk
membantu dalam menentukan KRS (Kartu Rencana Studi) dengan
pemodelan FSA (Finite State Automata). Hasil dari penelitian ini bermanfaat
bagi mahasiswa pada proses perwalian untuk langkah pengambilan
matakuliah dan juga konsentrasi.
3. Metode Penelitian
3
dapat berfungsi secara maksimal dalam membantu dalam pengecekan
transkrip nilai. Metode Prototyping Model bisa dilihat pada Gambar 1 [4].
4
matakuliah selanjutnya di Fakultas Teknologi Informasi. Ada pula syarat
yang harus dipenuhi mahasiswa antara lain:
1. MKDU (Matakuliah Dasar Umum) harus lulus dan tidak boleh
mendapat nilai CD.
2. Tidak boleh terdapat matakuliah yang bernilai E.
Untuk melihat lebih jelas dapat dilihat melalui flowchart untuk
pengambilan matakuliah konsentrasi. Flowchart untuk pengambilan
matakuliah konsentrasi dapat dilihat pada Gambar 2.
Mulai
Mahasiswa
melakukan registrasi
matakuliah
Ambil
Tidak Ya
konsentrasi
Ambil matakuliah
Ambil matakuliah
konsentrasi
Mengulang
Tidak Ya
matakuliah
Ambil matakuliah
Ulang matakuliah
baru
Tidak
Mengambil
Kerja Praktek
Ya
Selesai
5
Gambar 3 Desain Automata untuk Matakuliah Dasar-dasar Pemograman
6
Tabel 1 Fungsi Transisi untuk Matakuliah Dasar-dasar Pemograman
δ x z
Dasar-dasar Pemograman {Algoritma dan {Dasar-dasar
Struktur Data, Pemograman,
Konsep Bahasa Algoritma dan
Pemograman} Struktur Data,
Konsep Bahasa
Pemograman}
Jaringan ᴓ ᴓ
7
Matakuliah sebelum penjurusan juga terdapat matakuliah umum.
Untuk matakuliah umum diwajibkan untuk lulus. Desain automata untuk
matakuliah umum Pendidikan Agama dapat dilihat pada Gambar 4.
Jaringan ᴓ ᴓ
8
Gambar 5 Desain Automata untuk Matakuliah Konsentrasi Jaringan
9
Tabel 3 Fungsi Transisi untuk Matakuliah Konsentrasi Jaringan
δ x z
Jaringan {Manajemen Jaringan, {Jaringan, Manajemen
Metodologi Penelitian, Jaringan, Metodologi
Teknologi Jaringan Penelitian, Teknologi
Wireless, Pemograman Jaringan Wireless,
Jaringan, Teknologi Pemograman Jaringan,
Streaming, Keamanan Teknologi Streaming,
Jaringan, Routing & Keamanan Jaringan,
Switching 1, Routing & Routing & Switching 1,
Switching 2} Routing & Switching 2}
Manajemen Jaringan Jaringan Terdistribusi {Manajemen Jaringan,
Jaringan Terdistribusi}
Jaringan Terdistribusi Kerja Praktek {Jaringan Terdistribusi,
Kerja Praktek}
Metodologi Penelitian Kerja Praktek {Metodologi Penelitian,
Kerja Praktek}
Teknologi Jaringan Teknologi Jaringan {Teknologi Jaringan
Wireless Seluler Wireless, Teknologi
Jaringan Seluler}
Teknologi Jaringan Kerja Praktek {Teknologi Jaringan
Seluler Seluler, Kerja Praktek}
Pemograman Jaringan Kerja Praktek {Pemograman Jaringan,
Kerja Praktek}
Teknologi Streaming Kerja Praktek {Teknologi Streaming,
Kerja Praktek}
Keamanan Jaringan Kerja Praktek {Keamanan Jaringan,
Kerja Praktek}
Routing & Switching 1 Kerja Praktek {Routing & Switching
1, Kerja Praktek}
Routing & Switching 2 Kerja Praktek {Routing & Switching
2, Kerja Praktek}
Kerja Praktek Skripsi Kerja Praktek
Skripsi ᴓ ᴓ
10
Disarankan berdasarkan evaluasi pada prototype sebelumnya,
didapatkan informasi baru tentang kebutuhan membangun aplikasi nantinya,
yaitu validasi kelulusan matakuliah umum. Pada tahap ini, ditambahkan fitur
validasi kelulusan matakuliah umum. Hasil dari prototype kedua ini
dievaluasi kembali dan telah memenuhi kebutuhan dari user. Tahapan
prototyping berakhir pada prototype kedua dikarenakan hasil dari aplikasi
sudah memenuhi kebutuhan user.
Penelitian ini berfokus pada aplikasi bantu pengecekan transkrip nilai.
Penyimpanan data pada aplikasi ini menggunakan Microsoft Access sebagai
database. Perancangan analisa sistem aplikasi bantu pengecekan transkrip
nilai menggunakan metode UML (Unified Modelling Language ) akan
dipaparkan sebagai berikut:
Proses pada use case diagram yaitu user yang menggunakan aplikasi
ini dapat memilih 2 pilihan menu yang disediakan yaitu menu penjurusan dan
menu skripsi. Pada menu penjurusan user dapat melihat data matakuliah
sebelum memilih konsentrasi. User dapat meng-update data tersebut dengan
menginputkan nilai, dari nilai matakuliah yang sudah keluar. Pada menu
skripsi tidak jauh beda dengan menu penjurusan tetapi yang membedakan
pada menu skripsi ini menyajikan data matakuliah setelah mahasiswa
menentukan pilihan konsentrasi. Use Case Diagram dapat dilihat pada
Gambar 6.
<<extend>>
Dosen
<<include>>
update data matakuliah konsentrasi
<<extend>>
Mengatur Skripsi
<<extend>>
Mahasiswa
11
sudah keluar (update data). Activity diagram sangat bermanfaat dalam
memodelkan sebuah proses untuk memahami proses secara seluruhan dapat
dilihat pada Gambar 7.
Dosen sistem
transkrip
mahasiswa matakuliah
+id
+nim +nim +kode matakuliah
+nama 1 0..* +kode matakuliah +nama matakuliah
+konsentrasi +nilai
0..* 1 +update()
+update() +update() +insert()
+insert() +insert() +delete()
+delete() +delete()
Proses aplikasi ini pada Sequence diagram adalah object1 atau dosen
meng-input-kan NIM, sistem akan me-request pada database. Setelah tahap
itu database menampilkan nama mahasiswa sesuai dengan NIM yang
diinputkan. Pada tahap selanjutnya object1 atau dosen memilih salah satu
tombol antara tombol penjurusan dan tombol skripsi, setelah memilih salah
12
satu tombol sistem akan langsung me-request kembali ke database untuk
meminta data transkrip nilai. Sesudah transkrip nilai ditampilkan object1 atau
dosen dapat menginputkan nilai pada kolom yang disediakan. Inputan nilai
tersebut oleh sistem akan disimpan di database dan database akan
memunculkan kembali data transkrip nilai mahasiswa yang telah di-update.
Sequence diagram dapat dilihat pada Gambar 9.
Sistem Database
Object1 : Dosen
1 : input nim()
2 : request data()
9 : transkrip mahasiswa()
13
Gambar 10 Form Awal pada Aplikasi Bantu Mahasiswa dalam Menentukan Kartu
Rencana Studi (KRS)
14
Gambar 12 Menu Penjurusan
15
Kode Program 2 Perintah untuk Menampilkan Matakuliah Rekomendasi Semester
Selanjutnya
5. Simpulan
16
6. Daftar Pustaka
[1]. Utdirartatmo, Firrar. Teori Bahasa dan Otomata. 2005. Graha Ilmu.
[2]. Sugiono, Bambang. Penerapan Teori Bahasa dan Automata untuk
Mengecek Kebenaran Format SMS Premium. 2010. Fakultas Teknologi
Informasi Universitas Kristen Satya Wacana.
[3]. Nugroho, Aryo. Penggunaan Algoritma Greedy Dalam Aplikasi Vending
Machine. 2007. Fakultas Teknologi Informasi Institut Teknologi
Bandung.
[4]. Pressman, Roger. Software Engineering: A Practitioner’s Approach.
1982.
[5]. Melly E.P, Rizky Indah, Wamiliana, Kurniawan, Didik. Penerapan
Konsep Finite State Automata (FSA) pada Mesin Pembuat Minuman
Kopi Otomatis. 2012. FMIPA Universitas Lampung.
[6]. Brownlee, Jason. Finite State Machine (FSM). 2002.
[7]. Nataliani, Yessica. Penerapan Alogoritma Vektor pada Finite Automata
untuk Perkiraan Kecocokan String DNA Aves. AITI (Vol 4 No. 1-1).
17