pemodelan finite state automata(fsa) untuk membantu...

16

Click here to load reader

Upload: nguyendat

Post on 02-Mar-2019

345 views

Category:

Documents


36 download

TRANSCRIPT

Page 1: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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.

Page 2: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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

Page 3: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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

Page 4: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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 matakuliahAmbil matakuliah

konsentrasi

Tidak Ya

Mengulang matakuliah

Ambil matakuliah baru

Ulang matakuliah

Mengambil Kerja Praktek

Registrasi Kerja Praktek

Skripsi Skripsi

Selesai

Tidak Ya

Tidak

Ya

YaTidak

Persetujuan Skripsi

Page 5: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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}

δ = fungsi transisi untuk matakuliah dasar-dasar pemograman (Tabel 1)

Page 6: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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

Jaringan ᴓ ᴓ

Page 7: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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.

Page 8: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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}

δ = fungsi transisi untuk matakuliah konsentrasi jaringan (Tabel 3)

Page 9: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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.

Page 10: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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

Page 11: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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

10..*

Page 12: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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

Page 13: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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.

Page 14: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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.

Page 15: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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.

Page 16: Pemodelan Finite State Automata(FSA) untuk Membantu ...repository.uksw.edu/bitstream/123456789/8574/3/T1_672007022_Full... · 4 dapat berfungsi secara maksimal dalam membantu. dalam

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

untuk Perkiraan Kecocokan String DNA Aves. AITI (Vol 4 No. 1-1).