Laporan Tugas Proyek 1 - KLP 1 - Kls C - Teori Bahasa Dan Otomata

Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Anda di halaman 1dari 19

TUGAS

TEORI BAHASAN DAN OTOMATA


“Proyek 1: Finite Automata Application in Text Search”

Dosen Pengampu :
Dr. Anak Agung Istri Ngurah Eka Karyawati, S.Si., M.Eng.

Disusun Oleh :
Kelompok 1
Krishella Naomi D Laila Rumy (1308605019)
I Made Eko Satria Wiguna (1808561054)
Ghani Rasyid Hika (1808561058)
Kadek Nanda Banyu Permana (1808561050)
Muhammad Akbar Hamid (1808561064)

Kelas :
C

PROGRAM STUDI INFORMATIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
2020
KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Ida Sang Hyang Widhi Wasa Tuhan Yang Maha
Esa. Karena atas rahmat dan hidayah-Nya, kami dapat menyelesaikan Tugas Proyek 1 Teori
Bahasa dan Otomata walaupun tidak tepat pada waktunya.
Kami mengucapkan terima kasih kepada Ibu Anak Agung Istri Ngurah Eka Karyawati
selaku dosen pengampu mata kuliah Teori Bahasa dan Otomata pada semester 5, yang mana
telah memberikan pembelajaran secara daring dan materi-materi sehingga Tugas Proyek 1
Teori Bahasa dan Otomata dapat terselesaikan. Dan tak lupa juga kami berterima kasih kepada
kerabat serta teman-teman kami yang telah membantu secara langsung maupun tak langsung.
Kami menyadari bahwa Tugas Proyek 1 Teori Bahasa dan Otomata masih jauh dari
kesempurnaan, seperti kata pepatah "Tak Ada Gading yang Tak Retak". Oleh karena itu kami
mengharap kritik dan saran yang konstruktif dari semua pihak yang membutuhkan tugas ini.
Sebagai akhir kata kami berharap, semoga tugas ini dapat memberi manfaat bagi semua pihak
yang membaca.

Badung, 19 November 2020

Penyusun

ii
DAFTAR PUSTAKA

HALAMAN SAMPUL………………………………………………………………… i
KATA PENGANTAR…………………………………………………………………. ii
DAFTAR PUSTAKA………………………………………………………………….. iii
BAB I INTRODUCTION……………………………………………………………… 1
BAB II OVERVIEW…………………………………………………………………… 3
5
BAB III USING THE SYSTEM………………………………………….......................
BAB IV EXPERIMENT AND RESULTS……………………………………………... 9
BAB V CONCLUSION……………………………………………….…...................... 15
REFERENCE…………………………………………………………………………… 16

iii
BAB I
INTRODUCTION

Dalam hierarki kelas-kelas bahasa menurut Chomsky, kelas bahasa yang paling
sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan tepat
dideskripsikan dengan menggunakan finite automata (FA); dengan kata lain bahasa yang dapat
diterima oleh suatu finite automata adalah bahasa reguler.
Finite automata merupakan mesin abstrak yang berupa sistem model matematika
dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana (bahasa
reguler) dan dapat diimplementasikan secara nyata di mana sistem dapat berada di salah satu
dari sejumlah berhingga konfigurasi internal disebut state.
Banyak model perangkat lunak yang menggunakan finite automata sebagai
penerapannya. Beberapa contoh penerapan finite automata dalam perangkat lunak adalah
scanning dokumen teks dalam halaman web guna menemukan kesamaan kata, frase dan bentuk
lain (Hopcroft et al., 2007).
Terdapat dua jenis finite automata, yaitu deterministik finite automata (DFA) dan non-
deterministik finite automata (NFA). Perbedaan di antara kedua jenis finite automata tersebut
terletak pada kontrol terhadap finite automata tersebut (Hopcroft et al., 2007). Deterministik
finite automata (DFA) bersifat deterministik, yang berarti bahwa automata tersebut tidak dapat
berada di lebih dari satu state pada saat yang bersamaan, sedangkan non -deterministik finite
automata (NFA) bersifat non-deterministik, yang berarti bahwa automata tersebut dapat berada
di beberapa state pada saat yang bersamaan atau dengan kata lain NFA dapat menebak di state
mana dia berikutnya akan berada (Hopcroft et al., 2007).
Ada banyak bahasa yang apabila digunakan akan membuat NFA lebih mudah dibangun
dibandingkan jika dibangun menggunakan DFA. Suatu bahasa yang diba ngun menggunakan
NFA ternyata tidak lebih powerful dibandingkan dengan ketika dibangun menggunakan DFA.
Setiap bahasa yang dapat dideskripsikan oleh suatu NFA ternyata dapat pula dideskripsikan
oleh satu DFA. Bukti bahwa DFA dapat melakukan apa saja yang dapat dilakukan NFA
melibatkan suatu konstruksi yang disebut dengan subset construction. Subset construction
adalah prosedur untuk mentransformasikan suatu NFA menjadi DFA (Hopcroft et al., 2007).
Jumlah state yang dimiliki oleh DFA maupun oleh NFA kurang lebih sama pada kebanyakan
kasus tetapi berbeda dalam jumlah transisi yang dimiliki oleh keduanya. Pada sebagian kecil

1
2

kasus, untuk membuat suatu DFA yang mengungkapkan bahasa yang sama dengan suatu NFA
dengan jumlah state n, bisa jadi—dalam kasus terburuk—diperlukan 2 n state (Hopcroft et al.,
2007).
Pemrograman web ialah proses pembuatan instruksi-instruksi untuk menciptakan
program/aplikasi berbasis internet yang dapat diakses melalui browser. Contoh dari
pemrograman web itu sendiri yakni: gmail, facebook, tumblr, dll.
Dapat dikatakan bahwa pemrograman web berkaitan dengan pembuatan situs, namun
levelnya berada di atas sekedar menyusun kode-kode HTML sederhana. Pemrograman web
mencakup perencanaan, konseptualisasi, pemodelan pengiriman media elektronik melalui
internet.
Bahkan pemrograman web yang baik mencakup pembuatan panel kontrol yang efektif
sehingga pemilik situs web dapat memilki kontrol terhadap situsnya, terkait konten, aplikasi,
dan aspek pendukung lainnya. Untuk mengenal pemrograman web lebih dalam, kita perlu
memahami jenis-jenis website.
Komponen utama dari sistem pencarian teks adalah mesin pencari teks (search engine).
Tugas mesin ini adalah untuk mengambil kemunculan pola dan kecocokan kata dalam koleksi
teks. Pola dapat berkisar dari kata, frasa atau string sederhana hingga bentuk yang lebih canggih
seperti ekspresi reguler. Efisiensi mesin pencari teks biasanya penting untuk keberhasilan
keseluruhan sistem basis data.
Konsep dasar dalam pencarian teks adalah memberikan teks sebagai data yang dicari.
Data ini dapat disimpan dalam satu atau banyak file. Teks merupakan bukan natural language,
tetapi teks hanyalah rangkaian (atau string) dari karakter. Sebagai tambahan, beberapa bagian
dari teks tidak dapat diidentifikasi (sebagai contoh, jika teks mengandung gambar atau teks
tersebut tidak dapat dicari (data tidak valid)), atau kita akan mencari teks di bagian berbeda
dan dengan cara berbeda.
Aplikasi Pencarian Teks Finite Automata menggunakan mesin non-deterministik finite
automata (NFA) dengan menerapkan extended transition function (delta topi) merupakan
aplikasi web-based programming yang mana terdapat front end dan back end sebagai
pengembangan aplikasinya dan menggunakan database sebagai penyimpanan file atau
dokumen. Secara singkat teks yang dicari akan diinputkan sendiri oleh user atau pengguna yang
mana teks yang akan dicari sebelumnya sudah disiapkan atau diupload pada database.
BAB II
OVERVIEW

Aplikas Web Based Pencarian Teks Finite Automata menggunakan mesin non-
deterministik finite automata (NFA) dengan menerapkan extended transition function (delta
topi). Dalam text search, penerapan konsep NFA (Non-deterministic Finite Automata) dapat
digambarkan saat kita diberi satu set string yang akan disebut dengan kata kunci (keyword),
kemudian NFA akan menemukan kemunculan kata-kata yang akan kita inputkan.
Dalam hal ini, selanjutnya akan dirancang NFA yang memberi sinyal dengan
memasukkan kondisi penerimaan bahwa NFA telah melihat atau menemukan salah satu kata
kunci tersebut. Akan diinputkan satu karakter pada satu waktu ke dalam NFA ini yang
kemudian dapat mengenali kemunculan kata kunci (keyword) dalam teks ini. Terdapat bentuk
sederhana bagi sebuah NFA untuk dapat mengenali satu set string, diantaranya:
1) Terdapat state awal dengan transition ke dirinya sendiri pada setiap simbol yang
diinputkan, setiap karakter ASCII yang dapat dicetak jika kita memeriksa teks. Secara
intuitif, keadaan awal menunjukkan "tebakan" bahwa NFA belum mulai melihat salah satu
kata kunci, bahkan jika NFA telah melihat beberapa huruf dari salah satu kata ini.
2) Untuk setiap kata kunci a 1, a2…. ak, ada state k, anggap saja q 1, q 2…. q k. Terdapat transition
dari state awal ke q 1 pada simbol a 1, transition dari q 1 ke q 2 pada simbol a 2, dan seterusnya.
State qk adalah final state dan menunjukkan bahwa kata kunci (keyword) a1, a2…. ak telah
ditemukan.
Nondeterministic Finite Automata (NFA) didefenisikan sebagai 5 tuple yang merupakan
sebuah koleksi dari 5 obyek (Q, Σ, δ, q0, F) dimana :
- Q adalah seperangkat status/state yang jumlahnya terbatas.
- Σ adalah seperangkat simbol terbatas yang disebut alfabet.
- δ adalah fungsi transisi di mana δ: Q × Σ → 2Q
- Q →(2Q) digunakan karena dalam kasus NDFA, dari suatu keadaan, transisi dapat
terjadi pada kombinasi dari keadaan Q)
- q0 adalah keadaan awal dari mana input diproses (q0 ∈ Q).
- F adalah seperangkat status akhir / status Q (F ⊆ Q).

3
4

- ε – NFA (epsilon Non – deterministic Finitie Automata)


Terdapat beberapa fitur yang bisa dimanfaatkan o leh pengguna pada aplikasi ini, diatarnya :
Beranda : Menampilkan halaman depan website yang berisikan tampilan untuk mencari
teks yang diinginkan dan upload doc. Pada bagian ini dirancang menggukan slider dengan
bootsrap untuk lebih membuat website interaktif.
Cari : Fitur ini dapat digunakan untuk melakukan pecarian dokumen bahasa Bali. Pada
f ield atau kolom pencarian te ks yang akan dicari bisa diinputkan atau dimasukkan
banyak kata sesuai dengan keinginan user dan juga tidak terbatas untuk penggunaan
dari spasi.
Upload doc : Berfungsi untuk mengupload file bahasa bali yang akan dicari teks atau kata
kunci yang diinginkan.
Hasil : Pada fitur atau bagian hasil sendiri disini akan menampilkan dokumen-dokumen yang
dicari katanya yang telah diinputkan pada fitur cari. Bagian terpenting pada fitur hasil adalah
terdapat Time Consumed yang mana menyatakan waktu berapa lama waktu teks yang dicari.
Pada fitur ini juga kata yang dicari juga dapat dibuka dokumennya secara langsung melewati
fitur ini.
Quintuple : Fitur ini digunakan untuk menampilkan quintuple dan fungsi transisi dari teks
yang akan dicari.
BAB III
USING THE SYSTEM

Tampilan Awal Website

Pada tampilan website, dibuat secara sederhana yang menampilan nama website yaitu ‘Text
Search’ dan sebuah form yang bertuliskan ‘Masukkan Text’ yang nantinya akan diisi oleh user
serta bisa dilihat ada Fitur ‘Upload doc’ untuk memasukkan file dokumen nantinya dan tombol
‘Cari’ untuk meneruskan pencarian text pada form ‘Masukkan Text’.

Tampilan ketika user memasukkan kata ‘covid’

5
6

Hasil pencarian user


7

Jadi ketika user menginputkan kata ‘covid’ pada form dan menekan tombol cari, website akan
menampilkan kata yang diinputkan oleh user dalam tampilan website seperti pada gambar
sebelumnya. Kita juga dapat melihat alur website ini berjalan dengan melihat proses NFA yang
terjadi pada gambar di bawah ini.

Tampilan ketika melihat Quintuple, dimana Proses NFA yang terjadi dalam Website
ketika user menginputkan kata covid

Tampilan Website ketika user mengklik kata Upload doc


8

Jadi dalam tampilan ini terlihat bahwa user bisa mengupload dokumen berupa doc yang ingin
digunakan dalam website Text Search ini. User dapat memilih ingin mengupload secara
Changed atau Gradually. Changes berarti user mengganti data yang baru dengan semua data
yang ada dalam database di website ini. Gradually berarti user menumpukkan data baru yang
diupload bersama data lama dalam website ini.

Tampilan data yang tersimpan dalam ‘My Files’


BAB IV
EXPERIMENT AND RESULTS

Evaluasi Black Box


Evaluasi dengan pengujian black box memperoleh hasil bahwa secara umum hasil input dan
output dari sistem sudah sesuai dengan hasil yang diharapkan. Fitur-fitur yang disediakan
program sudah berjalan dengan baik dan tidak memiliki makna ganda dalam penggunaannya.
No Skenario Pengujian Hasil yang diharapkan Kesimpulan
1 Cek mesin pencarian dengan Menampilkan dokumen dari Berhasil
input keyword ‘covid’ keyword yang dimasukkan
user
2 Klik ‘My Files’ pada Menampilkan semua Berhasil
halaman ‘Upload doc’ dokumen yang tersimpan
dalam website
3 Klik ‘Upload doc’ dan Menghapus dokumen Berhasil
mengupload secara sebelumnya dan
‘Changed’ menggantikan dengan file
yang baru
4 Klik ‘Upload doc’ dan Menambahkan dokumen baru Berhasil
mengupload secara tanpa menghapus dokumen
‘Gradually’ yang sama
5 Klik ‘Quintuple’ pada proses Menampilkan quintuple dari Berhasil
pencarian proses pencarian kata yang
diinputkan user

9
10

Evaluasi Penambahan Dokumen


Pada program ini, terdapat dua pilihan atau tipe ketika akan mengupload atau
memasukkan dokumen yang mana akan digunakan untuk pencarian teksnya, yaitu Changed
dan Gradually. Untuk perbedaan antara Changed dan Gradually adalah jika pada Changed akan
mengupload baru atau mengganti semua dokumen lama dengan dokumen yang baru akan di
upload, sedangkan pada Gradually akan menambah dokumen yang baru dengan tidak
menghapus dokumen yang telah di upload atau dokumen lama. Berikut evaluasi pada
penambahan dokumen :
1. Pada tampilan utama, jika ingin mengupload dokumen klik pada bagian Upload Doc

2. Disini dokumen yang di upload adalah sejumlah 20 dokumen (doc1 – doc20).

3. Pada bagian My Files akan berisi sebagai berikut


11

4. Disini dokumen yang akan di upload secara Gradually. Sebagai contoh dokumen yang
dimasukkan adalah sejumlah 10 dokumen (doc21 – doc30).

5. Berikut tampilannya pada My Files.


12

6. Sekarang dokumen yang akan di upload akan menggunakan tipe Changed. Sebagai contoh
disini file yang di upload

Evaluasi Time Consuming


Disini aplikasi akan diuji dengan faktor waktu yang dibutuhkan apakah berbanding terbalik,
berbanding lurus atau sebanding dengan banyaknya string atau kata yang di input dan dokumen
yang diupload.
• Uji dengan banyaknya kata yang di input dengan kondisi jumlah dokumen yang sama,
yaitu 50 dokumen.
1. Pengujian testing waktu yang diperlukan menggunakan kata “pandemi”
13

2. Pengujian testing waktu yang diperlukan menggunakan kata “pandemi covid”

3. Pengujian testing waktu yang diperlukan menggunakan kata “pandemi covid-19”

Dengan ini kesimpulan yang diberikan adalah, banyaknya kata tidaklah berpengaruh pada
penerapan pencarian teks pada mesin nfa menggunakan delta topi atau bisa dibilang waktu
yang dibutuhkan berbanding terbalik dengan banyaknya string atau kata pada inputan.
• Uji dengan jumlah dokumen yang di upload atau tersimpan dengan kondisi kata yang
dicari adalah sama.
1. Pada kondisi ini kata yang digunakan adalah kata “Pandemi” dengan dokumen yang
di upload adalah 50 dokumen (doc1 – doc50).

2. Menambahkan 20 dokumen. Total 70 dokumen (doc1 – doc70).

3. Menambahkan 20 dokumen . Total 90 dokumen (doc1 – doc90).


14

Dengan ini kesimpulan yang diberikan adalah, banyaknya dokumen pada aplikasi yang
diuji sangatlah berpengaruh pada waktu yang dibutuhkan dalam mencari seuatu teks atau
string yang diberikan atau berbanding lurus dengan waktu yang dibutuhkan.
BAB V
CONCLUSION

Aplikasi Pencarian Teks Finite Automata menggunakan mesin Non -deterministic


Finite Automata (NFA) merupakan aplikasi berbasis web yang mana dapat mencari teks kata
(kata kunci sesuai keinginan user) dari sebuah teks file yang sudah diupload sebelumnya yang
mana berekstensi .txt. Fitur-fitur yang disediakan juga tidak memiliki makna ganda dan
memiliki fungsinya masing-masing. Semakin banyak dokumen yang ada didalam database
akan mempengaruhi waktu yang dibutuhkan sistem untuk mencari dokumen -dokumen yang
sesuai dengan kata kunci yang dimasukkan oleh user. Dan juga cepat lambatnya pencarian teks
dalam dokumen tergantung juga pada posisi kata kunci yang dicari di dalam sebuah dokumen.

15
REFERENCE

AAIN Eka Karyawati. Modul Week 5: Non-Deterministic Finite Automata (NFA) Conversion
of NFA to DFA. Universitas Udayana.
AAIN Eka Karyawati. Modul Week 7: Application of DFA and NFA – Text Search. Universitas
Udayana.
Ezhilarasu P, K. N. (2015). Applications of Finite Automata in Text Search - A Review .
JCSET, 116-119.
J. E. Hopcroft. An n log n algorithm for minimizing in a finite automaton.InProc. International
Symposium of Theory of Machines and Computa-tions, pages 189–196. Academic
Press, 1971.
J. E. Hopcroft, J. D. Ullman, Introduction to Automata Theory, Languages, and Computation,
Addison-Wesley, 1979.
Ricardo A. Baeza-yates, G. N. (n.d.). Text Searching: Theory and Practice. Depto. de Ciencias
de la Computaci´on, 1-27.

16

Anda mungkin juga menyukai