2 1. 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
Penerapan Teori Bahasa dan Automata di Indonesia sudah sangat berkembang, terutama pada pengembangan ilmu komputer. Sudah ada beberapa lembaga dan perorangan yang menggunakan Teori bahasa dan Automata dalam memecah suatu masalah. Salah satunya adalah untuk mengecek kebenaran Format SMS pada SMS Premium.
3
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
Metode yang digunakan dalam perancangan aplikasi bantu ini adalah metode Prototyping Model. Metode prototyping dirancang agar dapat menerima perubahan-perubahan dalam rangka menyempurnakan prototype yang sudah ada sehingga pada akhirnya dapat menghasilkan aplikasi yang
4
dapat berfungsi secara maksimal dalam membantu dalam pengecekan transkrip nilai. Metode Prototyping Model bisa dilihat pada Gambar 1 [4].
Gambar 1 Metode Pengembangan Prototyping [4]
Tahapan pada prototyping adalah sebagai berikut:
Model prototype memiliki beberapa keuntungan seperti, melibatkan
user dalam pengembangan sistem, lebih menghemat waktu dalam
pengembangan dan dalam penerapan menjadi lebih mudah karena mengetahui keingginan user. Pada tahap Listen to Customer tahap ini
customer (user) menerangkan aplikasi apa yang diinginkan. Setelah
mengetahui keinginan customer untuk selanjutnya menyiapkan data-data yang nantinya digunakan untuk membangun aplikasi. Data yang dipakai adalah gaftar alir 2012 dari data tersebut menghasilkan urutan pengambilan matakuliah sehingga dapat dibuat desain automata dari data tersebut.
Pada Fakultas Teknologi Informasi memiliki beberapa aturan dalam melakukan registrasi. Setiap semester pada Fakultas Teknologi Informasi mahasiswa diwajibkan untuk melakukan registrasi matakuliah. Pada tahap ini mahasiswa memilih matakuliah yang akan diambil dan yang sudah ditetapkan. Pengambilan matakuliah ini juga dibatasi jumlah SKS pada setiap mahasiswa. SKS ini berguna untuk membatasi mahasiswa dalam pengambilan matakuliah supaya mahasiswa tidak mengambil matakuliah berlebihan. Setelah pemilihan matakuliah tahap selanjutnya mahasiswa melakukan perwalian pada setiap wali studi masing-masing mahasiswa. Wali studi akan melihat data transkrip untuk mengetahui hasil studi mereka dan memberikan arahan dari konsultasi mahasiswa terhadap matakuliah tersebut. Tetapi sering sekali mahasiswa tidak melakukan konsultasi kepada para wali studi untuk menentukan matakuliah yang mereka ambil atau matakuliah yang harus diambil. Untuk pengambilan matakuliah pada Fakultas Teknologi Informasi harus memenuhi kosyarat yang ada. Kosyarat ini terdapat pada gaftar alir dan berfungsi sebagai salah satu syarat untuk pengambilan
5
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.
Gambar 2 Flowchart untuk Matakuliah Konsentrasi
Dari kondisi tersebut dapat dibangun aplikasi bantu pengecekan transkrip nilai. Dalam tahap ini dibuat desain automata untuk perancangan pembangunan aplikasi ini. Perancangan desain automata dibuat berdasarkan jadwal matakuliah kaprogdi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana. Desain automata tersebut digunakan untuk membuat rule untuk jalannya aplikasi nantinya. Salah satu dari desain automata untuk matakuliah dasar-dasar pemograman untuk mahasiswa yang ingin mengambil konsentrasi jaringan (sebelum penjurusan), desain automatanya dapat lihat pada Gambar 3.
Mulai Mahasiswa melakukan registrasi matakuliah Ambil konsentrasi
Ambil matakuliah Ambil matakuliah konsentrasi
Tidak Ya
Mengulang matakuliah Ambil matakuliah
baru Ulang matakuliah
Mengambil Kerja Praktek Registrasi Kerja Praktek Skripsi Skripsi Selesai Tidak Ya Tidak Ya Ya Tidak Persetujuan Skripsi
6
Gambar 3 Desain Automata untuk Matakuliah Dasar-dasar Pemograman
Pada desain automata untuk matakuliah dasar-dasar pemograman terdapat simbol {x,z} simbol itu diumpamakan untuk matakuliah lulus dan matakuliah yang tidak lulus, x untuk matakuliah lulus dan z untuk matakuliah yang belum lulus. Simbol ɛ (ɛ-move) berfungsi sebagai pengubah state tanpa membaca inputan. Untuk simbol ɛ digunakan saat mahasiswa akan mengulang matakuliah. Pada desain automata tersebut state awal dimulai dari matakuliah dasar-dasar pemograman dan state terakhir berada pada Jaringan. Secara formal finite state automata pada Gambar 3 dinyatakan dalam 5 tupel atau M=(Q,∑,δ,S,F), artinya :
Q = himpunan state/kedudukan
∑ = himpunan simbol input/masukan/abjat δ = fungsi transisi
S = state awal
F = himpunan state akhir
Maka untuk menyatakan Gambar 3 adalah sebagai berikut:
Q = {Dasar-dasar Pemograman, Algoritma dan Struktur Data, Grafika Komputer, Pemograman Berorientasi Objek, Pemograman Visual, Kecerdasan Buatan, Konsep Bahasa Pemograman, Rekayasa Perangkat Lunak, Jaringan}
∑ = {x,z}
S = {Dasar-dasar Pemograman} F = {Jaringan}
7
Tabel 1 Fungsi Transisi untuk Matakuliah Dasar-dasar Pemograman
δ x z
Dasar-dasar Pemograman {Algoritma dan Struktur Data, Konsep Bahasa Pemograman} {Dasar-dasar Pemograman, Algoritma dan Struktur Data, Konsep Bahasa Pemograman}
Algoritma dan Struktur Data {Grafika Komputer, Pemograman Berorientasi Objek} {Algoritma dan Struktur Data, Grafika Komputer, Pemograman Berorientasi Objek}
Grafika Komputer Jaringan Grafika Komputer
Pemograman Berorientasi Objek Pemograman Visual {Pemograman Berorientasi Objek, Pemograman Visual}
Pemograman Visual Jaringan Pemograman
Visual
Kecerdasan Buatan Jaringan Kecerdasan
Buatan Konsep Bahasa Pemograman Rekayasa
Perangkat Lunak {Konsep Bahasa Pemograman, Rekayasa Perangkat Lunak}
Rekayasa Perangkat Lunak Jaringan Rekayasa
Perangkat Lunak
8
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.
Gambar 4 Desain Automata untuk Matakuliah Umum Pendidikan Agama
Matakuliah umum diwajibkan untuk diambil dan lulus bagi seluruh mahasiswa sebelum memilih konsentrasi. Secara formal finite state automata pada Gambar 4 dinyatakan dalam 5 tupel atau M=(Q,∑,δ,S,F)
Maka untuk menyatakan Gambar 4 adalah sebagai berikut: Q = {Pendidikan Agama, Etika Kristen, Jaringan}
∑ = {x,z}
S = { Pendidikan Agama } F = {Jaringan}
δ = fungsi transisi untuk matakuliah umum Pendidikan Agama (Tabel 2)
Tabel 2 Fungsi Transisi untuk Matakuliah Umum Pendidikan Agama
δ x z
Pendidikan Agama Etika Kristen {Pendidikan Agama, Etika Kristen} Etika Kristen Jaringan Etika Kristen
Jaringan ᴓ ᴓ
Pada desain automata untuk matakuliah setelah penjurusan berbeda dengan matakuliah setelah memilih penjurusan atau konsentrasi. Contoh desain automata untuk matakuliah konsentrasi jaringan dapat dilihat pada Gambar 5.
9
Gambar 5 Desain Automata untuk Matakuliah Konsentrasi Jaringan
Secara formal finite state automata pada Gambar 4 dinyatakan dalam 5 tupel atau M=(Q,∑,δ,S,F)
Maka untuk menyatakan Gambar 4 adalah sebagai berikut:
Q = {Jaringan, Manajemen Jaringan, Jaringan Terdistribusi, Metodologi Penelitian, Teknologi Jaringan Wireless, Teknologi Jaringan Seluler, Pemograman Jaringan, Teknologi Streaming, Keamanan Jaringan, Routing & Switching 1, Routing & Switching 2, Kerja Praktek, Skripsi}
∑ = {x,z} S = {Jaringan} F = {Skripsi}
10
Tabel 3 Fungsi Transisi untuk Matakuliah Konsentrasi Jaringan
δ x z
Jaringan {Manajemen Jaringan,
Metodologi Penelitian, Teknologi Jaringan Wireless, Pemograman Jaringan, Teknologi Streaming, Keamanan Jaringan, Routing & Switching 1, Routing & Switching 2} {Jaringan, Manajemen Jaringan, Metodologi Penelitian, Teknologi Jaringan Wireless, Pemograman Jaringan, Teknologi Streaming, Keamanan Jaringan, Routing & Switching 1, 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 Wireless Teknologi Jaringan Seluler {Teknologi Jaringan Wireless, Teknologi Jaringan Seluler} Teknologi Jaringan Seluler
Kerja Praktek {Teknologi Jaringan 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 ᴓ ᴓ
Pada tahap ini perancangan aplikasi dapat dilakukan setelah membuat desain automata. Selanjutnya adalah build/revise mock-up atau pembangunan aplikasi. Pada tahap ini dihasilkan aplikasi bantu pengecekan transkrip nilai. Aplikasi dibuat berdasarkan desain automata yang telah dirancang. Hasil dari pembangunan aplikasi ini adalah sebagai berikut:
1. Rata-rata skor untuk rekomendasi konsentrasi berdasarkan nilai matakuliah yang sudah diambil.
2. Penyimpanan data transkrip mahasiswa.
Tahapan selanjutnya yaitu user melakukan customer test driver mock-up. Pada tahap ini user akan melakukan evaluasi untuk mengetahui kekurangan dan kendala-kendala pada prototype pertama.
11
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.
Gambar 6 Use Case Diagram Sistem
Pada Activity Diagram proses dimulai saat dosen memasukkan atau
input NIM (Nomor Induk Mahasiswa) mahasiswa. Tahap penginputan
tersebut akan diproses oleh sistem dan pada saat itu tombol penjurusan dan tombol skripsi dapat dipilih. Pada saat user memilih tombol penjurusan maka muncul data transkrip. Dalam data transkrip tersebut terdapat data matakuliah sebelum konsentrasi dan rekomendasi konsentrasi. Apa bila user memilih tombol skripsi maka akan ditampilkan data transkrip. Dalam data transkrip tersebut terdapat data matakuliah konsentrasi dan rekomendasi matakuliah konsentrasi. Dosen dapat memasukkan nilai mahasiswa yang
Dosen
Mengatur Penjurusan
Mengatur Skripsi
update data matekuliah penjurusan
lihat data matakuliah penjurusan
update data matakuliah konsentrasi
lihat data matakuliah konsentrasi
<<extend>> <<extend>>
<<extend>> <<extend>>
Mahasiswa
Lihat Rekomendasi penjurusan
Saran Pengambilan Matakuliah
<<include>> <<include>>
12
sudah keluar (update data). Activity diagram sangat bermanfaat dalam memodelkan sebuah proses untuk memahami proses secara seluruhan dapat dilihat pada Gambar 7.
Gambar 7 Activity Diagram Update Data
Class Diagram adalah model static yang menggambarkan struktur
dan deskripsi class serta hubungan antara class. Pada aplikasi ini memiliki tiga class yaitu
1. Mahasiswa 2. Transkrip 3. Matakuliah
Pada setiap class masing-masing memiliki attribute dan operation sendiri-sendiri. Pada class transkrip mempunyai relasi dengan class mahasiswa dan class matakuliah. Penjelasan class diagram dapat dilihat pada Gambar 8.
Gambar 8 Class Diagram
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
Dosen sistem
input NIM menampilkan menu pilihan
menu penjurusan menampilkan data transkrip
update data menyimpan data
menampilkan data trankrip
mahasiswa +nim +nama +konsentrasi +update() +insert() +delete() transkrip +id +nim +kode matakuliah +nilai +update() +insert() +delete() matakuliah +kode matakuliah +nama matakuliah +update() +insert() +delete() 1 0..* 1 0..*
13
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.
Gambar 9 Sequence Diagram Update Data 4. Hasil dan Pembahasan
Aplikasi yang dibuat merupakan aplikasi desktop untuk aplikasi bantu pengecekan transkrip nilai. Aplikasi dibuat sederhana dengan maksud dapat mudah dipahami.
Form awal pada aplikasi bantu pengecekan transkrip nilai berisikan form untuk login. Pada form ini user diharuskan mengisi tabel NIM. Form
awal aplikasi bantu pengecekan transkrip nilai ini dapat dilihat pada Gambar 10. Object1 : Dosen Sistem Database 1 : input nim() 2 : request data() 3 : nama mahasiswa() 4 : penjurusan/skripsi() 5 : request() 6 : transkrip mahasiswa() 7 : input nilai() 8 : save nilai() 9 : transkrip mahasiswa()
14
Gambar 10 Form Awal pada Aplikasi Bantu Mahasiswa dalam Menentukan Kartu
Rencana Studi (KRS)
Form Awal pada Aplikasi Bantu pengecekan transkrip nilai ini
terlihat hanya dapat mengisi tabel NIM dan nama saja sedangkan tombol untuk menu Penjurusan dan Skripsi belum bisa dipilih, maka untuk dapat memilih menu Penjurusan dan Skripsi user diharus untuk mengisi tabel NIM. Setelah user mengisi tabel NIM maka pada tabel nama akan muncul nama mahasiswa sesuai dengan NIM yang dimasukkan. Data transkrip mahasiswa dan nama mahasiswa telah disimpan pada database aplikasi ini. Form inputan NIM dapat dilihat pada Gambar 11.
Gambar 11 Form Inputan NIM
Setelah mengisi form inputan NIM, user dapat memilih menu penjurusan dan menu skripsi. Pada menu penjurusan user dapat melihat jadwal matakuliah sebelum penjurusan (matakuliah rekomendasi semester selanjutnya), transkrip nilai matakuliah sebelum penjurusan dan rata-rata skor untuk rekomendasi konsentrasi. Menu penjurusan dapat dilihat pada Gambar 12.
15
Gambar 12 Menu Penjurusan
Perintah untuk perhitungan skor pada menu penjurusan dapat dilihat pada Kode Program 1.
Kode Program 1 Perintah untuk Proses Perhitungan Skor Penjurusan/Konsentrasi
1 decimal totalNilai = 0.0m; 2 decimal totalSKS = 0.0m;
3 var daftarNilai = Nilai.SelectAll(); 4 foreach (var t in transkrip)
5 {
6 var n = daftarNilai.Where(x => x.Huruf == t.Nilai
7 ).First(); 8 totalSKS += int.Parse(t.MataKuliah.KreditKelas) 9 + int.Parse(t.MataKuliah.KreditPraktikum); 10 totalNilai += (int.Parse(t.MataKuliah.KreditKelas) 11 + int.Parse(t.MataKuliah.KreditPraktikum)) * n.Angka; 12 }
13 return totalNilai / totalSKS;
Kode Program 1 merupakan perintah yang digunakan untuk menghitung skor penjurusan. Nilai skor diperoleh dengan cara menghitung total nilai dibagi dengan total sks akademik. Nilai A berarti 4, nilai AB berarti 3.5, B berarti 3, BC berarti 2.5, C berarti 2, CD berarti 1.5, D berarti 1, dan E berarti 0. Total nilai ini kemudian dibagi dengan total sks akademik (baris 13).
Pada menu penjurusan juga diberikan informasi tentang matakuliah umum yang harus diulang. Seperti pada Gambar 8 pada bagian kanan bawah terdapat kolom untuk matakuliah umum yang harus diulang. Menu penjurusan pada aplikasi ini user dapat melihat melihat jadwal matakuliah sebelum penjurusan (matakuliah rekomendasi semester selanjutnya). Kode program untuk menampilkan matakuliah rekomendasi semester selanjutnya dapat dilihat pada Kode Program 2.
16
Kode Program 2 Perintah untuk Menampilkan Matakuliah Rekomendasi Semester
Selanjutnya
Kode Program 2 merupakan perintah yang digunakan pada proses
rekomendasi matakuliah semester selanjutnya. Daftar matakuliah dibaca dari database dengan kriteria matakuliah untuk semester 1 sampai dengan semester 6 (baris 2). Kemudian dipilih lagi untuk diambil matakuliah yang angka semesternya adalah nilai semester transkrip terbaru + 1, dengan kata lain semester selanjutnya (baris 4).
Selain menu penjurusan juga terdapat menu skripsi. Pada menu skripsi ini user dapat melihat data transkrip mahasiswa setelah mahasiswa mengambil matakuliah konsentrasi sebelum mengambil tugas akhir atau skripsi. Menu skripsi ini juga menampilkan matakuliah konsentrasi yang belum lulus atau harus diulang. Menu skripsi dapat dilihat pada Gambar 12.
Gambar 12 Menu Skripsi 5. Simpulan
Berdasarkan penelitian terhadap sistem, maka dapat diambil kesimpulan sebagai berikut: (1) FSA (Finite State Automata) dapat diimplementasikan sebagai aplikasi untuk membantu pengecekan transkrip nilai; (2) Aplikasi yang dikembangkan dapat membantu wali studi dalam menentukan Kartu Rencana Studi (KRS) mahasiswa. Kedepannya aplikasi ini dapat dikembangkan sebagai berikut: (1) Aplikasi ini dapat dikembangkan menjadi aplikasi online agar semua mahasiswa dapat menggunakan; (2) Aplikasi ini diharapkan menjadi model untuk program studi lain.
17 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