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
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
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: 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
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].
11
Gambar 1 Contoh StateDiagramFinite 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;
Start ke stateA, 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.
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 RangkaianNDFA (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’. Rangkaiantersebut 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
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
14 4. Hasil dan Pembahasan
Rancangan statediagram 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 dijelaskansebagai berikut :
∑ = {0,1}
Q = {A,B,C,D,E,F,G,H}
S = {A}
F = {G,H}
Relasi Transisi :
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 Dipilih1
Telah DipilihTabel 2 Himpunan Abjad
Fungsi transisi ditunjukkan pada Tabel 3.
ᵟ 0 1
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
F interval Waktu Pergantian Gambar
G Keluar atau Gagal Mengganti Desktop
Background Merupakan final state
H Mulai atau Berhasil Mengganti Desktop
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.
17
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) {
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) {
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
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