Anda di halaman 1dari 16

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.

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

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

3
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

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

Registrasi Kerja Persetujuan


Praktek Skripsi

Tidak Skripsi Ya Skripsi

Selesai

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.

5
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}
δ = fungsi transisi untuk matakuliah dasar-dasar pemograman (Tabel 1)

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}

Algoritma dan Struktur Data {Grafika {Algoritma dan


Komputer, Struktur Data,
Pemograman Grafika Komputer,
Berorientasi Pemograman
Objek} Berorientasi
Objek}

Grafika Komputer Jaringan Grafika Komputer

Pemograman Berorientasi Objek Pemograman {Pemograman


Visual Berorientasi
Objek,
Pemograman
Visual}

Pemograman Visual Jaringan Pemograman


Visual

Kecerdasan Buatan Jaringan Kecerdasan


Buatan
Konsep Bahasa Pemograman Rekayasa {Konsep Bahasa
Perangkat Pemograman,
Lunak Rekayasa
Perangkat Lunak}

Rekayasa Perangkat Lunak Jaringan Rekayasa


Perangkat Lunak

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.

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.

8
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}
δ = fungsi transisi untuk matakuliah konsentrasi jaringan (Tabel 3)

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 ᴓ ᴓ

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.

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.

update data matekuliah penjurusan


<<extend>>
Mengatur Penjurusan

<<extend>>

lihat data matakuliah penjurusan

Dosen
<<include>>
update data matakuliah konsentrasi
<<extend>>
Mengatur Skripsi
<<extend>>

lihat data matakuliah konsentrasi


Lihat Rekomendasi penjurusan <<include>>

Mahasiswa

Saran Pengambilan Matakuliah

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

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

input NIM menampilkan menu pilihan

menu penjurusan menampilkan data transkrip

update data menyimpan data

menampilkan data trankrip

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.

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()

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

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()

4 : penjurusan/skripsi() 3 : nama mahasiswa()


5 : request()

7 : input nilai() 6 : transkrip mahasiswa()


8 : save nilai()

9 : transkrip mahasiswa()

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.

13
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.

14
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.

15
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.

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

Anda mungkin juga menyukai