Penerapan Finite State Automata Pada Pergantian Desktop ...δ = fungsi transisi. S = initial state...

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

Transcript of Penerapan Finite State Automata Pada Pergantian Desktop ...δ = fungsi transisi. S = initial state...

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

2

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

3

4

5

6

7

8

9

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: [email protected], [email protected]

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

1Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

Salatiga 2Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga

10

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.

11

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.

12

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

Gambar 3 Tahapan Penelitian

Analisis Kebutuhan dan Pengumpulan

Data

Studi Literatur

Perancangan dan Implementasi Finite

State Automata

Pengujian Finite State Automata

Penulisan Laporan

13

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.

14

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

15

Himpunan hingga dari state ditunjukkan pada Tabel 1.

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.

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

16

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

17

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;

}

18

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

dilewati

Final state Jumlah state yang

dilewati

Jumlah

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,

19

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)