Anda di halaman 1dari 19

Penerapan Finite State Automata

Pada Pergantian Desktop Background

Artikel Ilmiah

Peneliti :
Yessy Willy Leimena (672012067)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika


Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Januari 2017
Penerapan Finite State Automata
Pada Pergantian Desktop Background

Artikel Ilmiah

Dijaukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer

Peneliti :
Yessy Willy Leimena (672012067)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika


Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Januari 2017

2
3
4
5
6
7
8
Penerapan Finite Automata
Pada Pergantian Desktop Background
Yessy Willy Leimena 1, Magdalena A. Ineke Pakereng 2
Fakultas Teknologi Informasi
Universits Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email: 672012067@student.uksw.edu1, ineke.pakereng@staff.uksw.edu 2

Abstract

This study aims to turn the desktop background can be carried out in accordance with
the wishes of the user PC or laptop. finite state automata are used to facilitate the planning
of any process of change of desktop background into the state. Research completed through
four phases of research that needs analysis process and data collection, system design,
system implementation, testing and analysis. Results from this study is a user-app that can be
used to change the desktop background.

Keywords: FSA,Desktop Background

Abstrak

Penelitian ini bertujuan untuk pergantian desktop background dapat dilakukan sesuai
dengan keinginan pengguna PC atau laptop. finite state automata digunakan untuk
memudahkan dalam memetakan setiap proses dari pergantian desktop background ke dalam
state. Penelitian diselesaikan melalui empat tahapan penelitian yaitu proses Analisis
kebutuhan dan pengumpulan data, Perancangan sistem, Implementasi Sistem, Pengujian dan
Analisis. Hasil dari penelitian ini adalah sebuah apllikasi yang dapat digunakan user untuk
mengganti desktop background.

Kata Kunci : FSA,Desktop Background

1
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
Salatiga
2
Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga

9
1. Pendahuluan

Mengganti desktop background dari sebauh PC atau laptop merupakan hal yang biasa
dilakukan oleh user, desktop background akan diganti sesuai dengan keinginan, terkadang
user mengganti desktop background dengan lebih dari satu gambar dan ingin gambar tersebut
berganti sesuai dengan keinginan dan kapan gambar tersebut berganti misalnya setiap tanggal
terentu atau jam tertentu harus berganti dengan gambar yang telah dipilih.
Teori Bahasa dan Automata merupakan salah satu bagian ilmu komputer yang didasari
oleh model dan gagasan mendasar mengenai komputer. Sebagai keluaran dari automata,
bahasa memungkinkan penyampaian gagasan dan pemikiran manusia, sedangkan sebagai
ilmu yang juga mempelajari mengenai mesin abstrak, automata dapat membaca input berupa
string dari alphabet yang diberikan dari input file.
Berdasarkan latar belakang yang ada maka dilakukan penelitian tentang proses pergantian
desktop background dengan menggunakan finite state automata Penelitian ini diharapkan
dapat membantu user dalam proses pergantian desktop background.

2. Tinjauan Pustaka
Sudah banyak penelitian tentang penerapan atau penggunaan Finite State Auotmata, salah
satu contoh penelitian berjudul “Penerapan Teori Bahasa dan Automata untuk Mengecek
Kebenaran Format SMS pada SMS Premium”, menjelaskan tentang penggunaan teori bahasa
dan automata untuk mengatasi permasalahan terhadap pengecekan format SMS premium. Ini
telah dibuktikan dengan tiga hal yang menjadi ciri-ciri algoritma yang baik telah dipenuhi
oleh algoritma teori bahasa dan automata untuk pengecekan tersebut, yaitu 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 efisiensi waktu dan memori [1].
Penelitian yang kedua “Perancangan dan Implementasi Finite Automata pada Simulasi
Vending Machine”. Lewat rancangan state diagram berdasarkan konsep Mealy Machine
yang telah dibuat, maka aplikasi simulasi vending machine dapat dibuat, dan hasil dari setiap
input yang dipilih oleh user pada aplikasi sesuai dengan hasil rancangan tersebut [2].
Berdasarkan penelitian yang pernah dilakukan tentang teori bahasa dan automata dan
finite automata, maka akan dilakukan penelitian tentang penerapan Finite State Automata
Pada Pergantian Desktop Background.
Finite State Automata (FSA) disebut juga Finite Automata (FA) merupakan suatu model
matematika dari suatu sistem yang menerima input dan menghasilkan output diskrit [3].
Finite State Automata memiliki state yang banyaknya berhingga (terbatas), dan dapat
berpindah-pindah dari satu state ke state lain. Perubahan state ini dinyatakan dengan fungsi
transisi. State adalah kondisi atau keadaan atau kedudukan. Prinsip kerja Finite State
Automata adalah sebagai berikut: (1) Menerima input string, (2) Membaca (menyerap
substring) karakter awal dengan kontrol berada pada state awal, (3) Dengan kontrol dan
karakter awal yang telah dibaca, state akan berpindah ke state baru, (4) Proses berlanjut
sampai semua string terserap habis, (5) Jika state akhir yang ditempati saat string habis
tersebut berada dalam himpunan final state yang telah ditentukan, maka string tersebut
diterima atau dikenali oleh Finite State Automata tersebut. Jika tidak, maka string tersebut
ditolak atau tidak dikenali oleh Finite State Automata itu.

10
Sebuah Finite State Automata M dinyatakan dengan lima tupel, yaitu (Q , Σ , δ , S , F ),
dimana:
Q = himpunan state
Σ = himpunan alfabet masukan
δ = fungsi transisi
S = initial state atau state awal
F = final state atau himpunan state akhir

Gambar 1 Contoh State Diagram Finite State Automata [3]

Keterangan Gambar 1 : (1) Gambar lingkaran menyatakan state, (2) Label pada
lingkaran adalah nama state tersebut, (3) Busur panah menyatakan transisi atau perpindahan
state, (4) Gambar lingkaran yang didahului sebuah busur panah tanpa label menyatakan state
awal, (5) Gambar lingkaran ganda menyatakan final state.
Maka;
Q = {A, B}
∑ = {0, 1}
S = {A}
F = {B}
ẟ = Fungsi transisi
{((A,0), A), ((A,1), B), ((B,0), B), ((B,1), A)}
Contoh bila string yang masuk adalah ‘1011’, maka string tersebut bergerak dari
Start ke state A, kemudian membaca karakter ‘1’ dan berpindah ke state B, yang merupakan
state tujuan dari hasil pembacaan karakter ‘1’. Kemudian string selanjutnya yang dibaca
adalah ‘0’. Karena state tujuan dari pembacaan karakter ‘0’ adalah B sendiri, maka state
tidak berpindah. Selanjutnya membaca karakter ‘1’. Berpindah dari state B ke state A yang
merupakan state tujuan setelah membaca karakter ‘1’. Setelah itu, karakter ‘1’ dibaca dan
state berpindah ke state B. Pembacaan string berhenti karena karakter sudah habis. State
terkahir yang ditempati adalah state B, dank arena state B berada dalam himpunan final state,
maka string ‘1011’ diterima oleh Finite State Automata tersebut.
NDFA (Non Deterministic Finite Automata) adalah salah satu bagian dari automata
berhingga atau Finite State Automata (FSA). Pada Non Deterministic Finite Automata
(NFA) dimungkinkan satu simbol menimbulkan transisi ke lebih dari satu kondisi dan
memberikan beberapa kemungkinan gerakan sehingga keluarannya tidak dapat dipastikan.
Selain itu dimungkinkan juga terjadinya transisi spontan atau transisi –ε.
NDFA (Non Deterministic Finite Automata) didefenisikan sebagai M yang merupakan
sebuah koleksi dari 5 obyek (Q , Σ , s , F , ∆ ) dimana :
- Q adalah sebuah himpunan hingga dari state.
- Σ adalah sebuah abjad masukan.
- s adalah salah satu kedudukan di dalam Q yang ditetapkan sebagai kedudukan permulaan.

11
- F adalah sebuah koleksi dari kedudukan-kedudukan yang diterima atau final (koleksi /
himpunan dari kondisi akhir).
- ∆ adalah sebuah relasi pada (Q x Σ) x Q dan dinamakan relasi transisi.
Salah satu rangkaian NDFA (Non Deterministic Finite Automata ) terlihat pada Gambar 2.

Gambar 2 Rangkaian NDFA (Non Deterministic Finite Automata) [4]

Rangkaian pada Gambar 2 tergolong dalam NDFA (Non Deterministic Finite


Automata) karena beberapa transisi yang berasal dari satu kondisi yaitu kondisi q0 memiliki
input yang sama yaitu ‘a’. Rangkaian tersebut akan menerima string ab, aab, aabaab, aba,
dan abaaba, tetapi tidak akan menerima string abb dan aabb.

3. Metode dan Perancangan Sistem

Tahapan Penelitian yang digunakan dalam penelitian ini dapat dibagi ke dalam 4 (empat)
tahap yaitu: (1) tahap analisis kebutuhan dan pengumpulan data, (2) tahap studi literatur, (3)
tahap implementasi dan perancangan Finite State Automata, (4) tahap pengujian Finite State
Automata, (5) tahap penulisan laporan.
Analisis Kebutuhan dan Pengumpulan
Data

Studi Literatur

Perancangan dan Implementasi Finite


State Automata

Pengujian Finite State Automata

Penulisan Laporan

Gambar 3 Tahapan Penelitian

12
Tahapan Penelitian pada Gambar 3, dapat dijelaskan sebagai berikut, Tahap Analisis
Kebutuhan dan Pengumpulan Data: Pada tahapan ini dilakukan analisis terhadap
permasalahan yang ada, terkait dengan proses penerapan Finite State Automata pada
pergantian gambar desktop background; Tahap Studi Literatur: Dalam tahapan ini dilakukan
pengumpulan terhadap data dari jurnal-jurnal terkait, buku, serta sumber mengenai
pembahasan terkait penelitian tersebut; Tahap Perancangan Finite State Automata: pada
tahap ini akan dilakukan perancangan Finite State Automata menggunakan NDFA (Non
Deterministic Finite Automata); Tahap Pengujian Finite State Automata: pada tahap terakhir
ini dilakukan pengujian terhadap penerapan Finite State Automata pada pergantian gambar
desktop background menggunakan NDFA (Non Deterministic Finite Automata) yang telah
dibuat. Pengujian dilakukan dengan evaluasi terhadap keseluruhan perancangan Finite State
Automata pada pergantian gambar desktop background menggunakan NDFA (Non
Deterministic Finite Automata) yang telah dibuat, apakah sudah berjalan dengan semestinya.
Jika belum maka dilakukan perbaikan-perbaikan yang diperlukan, jika belum maka
dilakukan perbaikan-perbaikan yang diperlukan; Tahap Penulisan Laporan: Dalam tahap ini
dilakukan penulisan laporan dari tahapan penelitian yang dilakukan.

Gambar 4 Proses Diagram State

Gambar 4 menunjukkan proses diagram state dari proses pergantian background. Start
state dari proses diagram state adalah lokasi awal dan menuju ke final state yaitu mengganti
background dan gagal mengganti background dengan menerima input dari pilih gambar atau
tidak pilih gambar.

13
4. Hasil dan Pembahasan

Rancangan state diagram pada proses pergantian desktop background dijelaskan berikut.

Gambar 5 State Diagram Proses Pergantian Desktop Background

Gambar 5 menunjukkan rancangan diagram state proses pergantian desktop background


dengan tuple dijelaskan sebagai berikut :
∑ = {0,1}
Q = {A,B,C,D,E,F,G,H}
S = {A}
F = {G,H}
Relasi Transisi :
Δ = {((A,1)B)), ((A,0)G)), ((B,1)D)), ((B,1)C)), ((C,1)E)), ((D,1)E)), ((F,1)H)),
((F,0)G))}

14
Himpunan hingga dari state ditunjukkan pada Tabel 1.

STATE DESKRIPSI
A Masuk Aplikasi
B Pilih Gambar
C Sebelum/Selanjutnya
D Posisi Gambar
E Lokasi Gambar
F interval Waktu Pergantian Gambar
G Keluar atau Gagal Mengganti Desktop
Background Merupakan final state
H Mulai atau Berhasil Mengganti Desktop
Background Merupakan final state
Tabel 1 Himpunan State

Himpunan abjad yang sudah ditentukan, ditunjukkan pada Tabel 2.

ABJAD DESKRIPSI
0 Belum Dipilih
1 Telah Dipilih
Tabel 2 Himpunan Abjad

Fungsi transisi ditunjukkan pada Tabel 3.

ᵟ 0 1

A G B
B Ø C,D
C Ø D
D Ø E
E Ø F
F G H
G Ø Ø
H Ø Ø
Tabel 3 Fungsi Transisi

Tabel 2 menjelaskan tentang perpindahan apabila terdapat input yang masuk. Contohnya
pada state A bila mendapat input 1 maka akan berpindah ke state B bgtu juga untuk state B
bila mendapat input 1 maka akan berpindah ke state C dan D sesuai dengan Gambar 5.
Begitu seterusnya untuk membaca transisi dari state yang lain. Untuk perpindahan state yang
bernilai Ø (Bahasa kosong) apabila tiap input yang tidak sesuai. Misalnya state B bila
mendapat input 0 maka akan bernilai Ø (Bahasa kosong), begitu juga untuk state yang lain
bila mendapat input yang tidak sesuai.

15
Berdasarkan hasil rancangan N-DFA, maka akan dirancang juga algoritma agar dapat
digunakan sebagai acuan dalam pembuatan pseudocode, rancangan algoritma akan dijelaskan
sebagai berikut.
Algoritma proses pergantian gambar desktop background adalah sebagai berikut:
User
1. Masuk ke aplikasi
2. Memilih gambar yang akan digunakan untuk background
3. Jika gambar terpilih maka akan ditampilkan lokasi gambar tersebut
4. Jika gambar lebih dari satu maka dapat melihat semua gambar yang dipilih
5. Menentukan posisi gambar stretch, tile atau fill image
6. Menentukan interval pergantian gambar desktop background tiap satuan detik dan menit
7. Menentukan interval pergantian gambar desktop background setiap hari dan tanggal yang
ditentukan
8. Jika belum menentukan interval waktu pergantian maka akan muncul peringatan
9. Mulai pergantian gambar desktop background

Algoritma yang dibuat merupakan gambaran dari proses pergantian gambar desktop
background, algoritma tersebut akan mempermudah pembuatan aplikasi yang akan
digunakan oleh user nantinya. Selanjutnya merupaka proses pembuatan pseudocode yang
nantinya akan menjadi acuan dalam pembuatan program atau aplikasi.
Kamus
select, state, endstate = string
Start

state == A
input select
read select
If select == 1, then state = B
If select == 0, then state = G
Read state== B
Input select
Read select
If select == 1, then state = D
If select == 0, then state = Ø
Input select
Read select
If select == 1, then state = C
If select == 0, then state = Ø
Read state== C
Input select
Read select
If select == 1, then state = E
If select == 0, then state = Ø
Read state== D
Input select
Read select
If select == 1, then state = D
If select == 0, then state = Ø
Read state ==E
Input select
Read select
If select == 1, then state = F

16
If select == 0, then state = Ø
Read state == F
Input select
Read select
If select == 1, then state = H
If select == 0, then state = G
End

Rancangan pseudocode merupakan gambaran konsep aplikasi yang dibuat, maka akan dibuat
program dengan bahasa pemograman C#.
Kode Program 1 Untuk pilih Gambar yang akan Diganti.

private string []images;


private int indexOfImage;

private void btnBrowse_Click(object sender, EventArgs e)


{
btnNext.Enabled = !true;
btnPrevious.Enabled = !true;
if (openFileDialog.ShowDialog() == DialogResult.OK) {
indexOfImage = 0;
if (openFileDialog.FileNames.Length == 1)
{
images = openFileDialog.FileNames;
}
else if(openFileDialog.FileNames.Length > 1 ) {
images = openFileDialog.FileNames;
btnNext.Enabled = true;
btnPrevious.Enabled = true;
}
cmbBoxPicPos.SelectedIndex = 0;
txtLocation.Text = images[indexOfImage].ToString();
PicBox.Image = Image.FromFile(images[indexOfImage]);
}
}

Kode Program 1 menjelaskan tentang perintah pilih gambar yang akan diganti, perintah
pilih gambar menggunakan if dan else yang berfungsi untuk menunjukkan suatu kondisi jika
gambar telah dipilih maka akan berlanjut ke proses salanjutnya.
Kode Program 2 Perintah untuk Kondisi Fail
private void btnStart_Click(object sender, EventArgs e)
{
if (rbtnChangeBySchedule.Checked == false && rbtnChangeByInterval.Checked ==
false)
{
MessageBox.Show(this, "Anda belum menentukan pergantian background
berdasarkan" +
" Interval waktu atau Jadwal ", "Pesan",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else if (PicBox.Image == null)
{
MessageBox.Show(this, "Lokasi gambar belum dipilih", "Pesan",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}

17
Kode Program 2 menjelaskan tentang kondisi dimana belum memilih interval pergantian
waktu pergantian, maka akan muncul massageBox yang memberitahukan bahwa belum
memilih interval waktu pergantian gambar desktop.
Program dibuat menggunakan bahasa pemrograman C#, konsep pemrograman dirancang
berdasarkan input abjad dari rancangan N-DFA Tampilan hasil akhir dari program yang telah
dibuat ditunjukan pada Gambar 6

Gambar 6 Output Akhir dari Program

Gambar 6 merupakan output akhir dari program yang telah dibuat, input dilakukan
digunakan secara manual menggunakan mouse oleh user sehingga berhasil mengganti
gambar desktop background.
Tabel 4 Tabel Analisis Pengujian dan Hasil
Start state Input State yang Final state Jumlah state yang Jumlah
dilewati dilewati Input
A 1, 1, 1, 1, 1 B, C, E, F H 4 5
A 1, 1, 1, 1, 1 B, D, E, F H 4 5
A 1, 1, 1, 1, 0 B, C, E, F G 4 5
A 1, 1, 1, 1, 0 B, D, E, F G 4 5
A 0 - G - 1

Tabel 4 menjelaskan tentang analisis pengujian dan hasil dari konsep finite state
automata yang dibuat. Analisis pengujian dan hasil pertama menunjukan, start state A
sampai final state H melalui 4 state yaitu state B, C, E, F, memiliki 5 inputan, yaitu 1, 1, 1, 1,

18
1. Analisis pengujian dan hasil kedua menunjukan, start state A sampai final state H melalui
4 state yaitu state B, D, E, F, memiliki 5 inputan, yaitu 1, 1, 1, 1, 1. Analisis pengujian dan
hasil ketiga menunjukan, start state A sampai final state G melalui 4 state yaitu state B, C, E,
F, memiliki 5 inputan, yaitu 1, 1, 1, 1, 0. Analisi pengujian dan hasil keempat menunjukan
start state A sampai final state G melalui 4 state yaitu state B, D, E, F, memiliki 5 inputan,
yaitu 1, 1, 1, 1, 0. Analisis pengujian dan hasil kelima menunjukan start state A sampai final
state G tidak melalui state yang lain, dan memiliki 1 input, yaitu input 0.
5. Simpulan

Berdasarkan hasil penelitian, dan implementasi finite state automata pada proses
pergantian desktop background yang dilakukan dapat diambil kesimpulan bahwa: (1) Finite
state automata digunakan untuk membagi setiap proses pergantian desktop background ke
dalam state untuk mempermudah proses penyelesaian masalah; (2) Perancangan N-DFA
dapat digunakan sebagai acuan perancangan sebuah program yang dapat membantu proses
pergantian desktop background; (3) Gambaran aplikasi yang dibuat dalam bentuk algoritma,
pseudocode; (4) aplikasi yang dibuat dalam bentuk algoritma, pseudocode dan Graphical
User Interface adalah berdasarkan proses pergantian desktop background yang dirancang
pada mesin N-DFA yang telah dibuat.

6. Daftar Pustaka

[1] Sugiono, B., 2010. Penerapan Teori Bahasa dan Automata untuk Mengecek Kebenaran
Format SMS pada SMS Premium, Skripsi, Salatiga: Universitas Kristen Satya Wacana.
[2] Irawan, J. Ch., Pakereng, M. A. I., Somya, R., Perancangan dan Implementasi Finite
Automata pada Simulasi Vending Machine, Skripsi, Salatiga: Universitas Kristen Satya
Wacana.
[3] Utdirartatmo, F., 2001. Teori Bahasa dan Otomata. Yogyakarta: J & J Learning.
[4] Sutopo, M., 2010, Non Deterministic Finite Automata
(NFA)(http://mursids.blogspot.co.id/2010/02/nondeterministic-finite-automata-nfa.html
, diakses tanggal 5 Agustus 2016)

19

Anda mungkin juga menyukai