Aplikasi Penyederhanaan Context Free Grammar
1Rico Andrian, 2Wamiliana, 3Andriyan Hutomo1Jurusan Ilmu Komputer FMIPA Unila 2Jurusan Matematika FMIPA Unila 3Jurusan Ilmu Komputer FMIPA Unila
Abstract
This research is done by making an application to simplify Context Free Grammar (CFG). The process of making the application starts from designing the algorithm using eXtreme Programming method as system development methods until get the application to simplify Context Free Grammar (CFG). The testing method to test the application is Black Box Testing. The result shows that the application can simplify Context Free Grammar smoothly, and how to simplify Context Free Grammar step by step. Context Free Grammar (CFG) simplification has three stages, eliminating espsilon production, eliminating unit production and eliminating useless production, those three stages must be done sequentially.
Keyword : Black Box Testing, Context Free Grammar, eXtreme Programming, Simplification.
1 Pendahuluan
Teori bahasa automata merupakan salah satu teori komputasi pada Ilmu Komputer. Teori bahasa automata dapat dijadikan suatu gagasan mendasar dalam komputasi yang menjadi tools untuk mengenali suatu persoalan atau masalah karena dapat memberikan konsep dan prinsip untuk suaru permasalahan yang berkolerasi dengan bidang Ilmu Komputer. Teori bahasa automata memiliki empat tipe grammar yang disebut dengan Hirarki Chomsky, yaitu Unrestricted Grammar (UG),
Context Sensitive Grammar (CSG), Context Free Grammar (CFG), dan Regular Grammar (RG)[1]. Context free Grammar atau tata bahasa bebas konteks adalah kumpulan berhingga dari
variabel-variabel biasa yang disebut non terminal. Variabel tersebut merepresentasikan suatu bahasa. Bahasa yang direpresentasikan oleh non terminal dideskripsikan secara rekursif, dimana tiap simbol primitive disebut terminal. Aturan-aturan yang berhubungan dengan non terminal disebut produksi[2]. CFG dalam penggunaannya membutuhkan perlakuan seperti penyederhanaan dan perubahan bentuk. CFG sebelum dirubah ke dalam bentuk normal Chomsky harus melalui proses penyederhanaan. Proses penyederhanaan CFG ada tiga tahapan yaitu penghilangan produksi unit, useless dan epsilon (produksi kosong).
Penyederhanaan CFG sering menemui kendala seperti banyaknya aturan produksi yang membuat penyederhanaan CFG menjadi sulit. Kesulitan dalam penyederhanaan tersebut menarik untuk dibuat aplikasi yang dapat menyederhanakan CFG. Aplikasi yang dibuat dapat melakukan proses penyederhanaan CFG dan menampilkan langkah penyederhanaannya. Hasil yang didapat adalah CFG yang sudah disederhanakan.
2 Metode Pengembangan Sistem
Aplikasi Penyederhanaan Grammar ini dikembangkan menggunakan metode Extreme Programming (XP). Penelitian ini tidak menggunakan seluruh tahapan dalam XP karena aplikasi yang
Gambar 1. Tahapan Metode Pengembangan sistem
2.1 Planning Game
Planning game merupakan tahap menentukan kebutuhan aplikasi. Pengembang bertemu dengan client
dan membahas seperti apa aplikasi yang diinginkan oleh client pada tahapan ini. Tahap ini dilakukan secara intensif hingga pengembang dan client memiliki pandangan yang sama tentang aplikasi yang dibuat[3]. Pembuatan algoritma untuk menyederhanakan Context Free Grammar merupakan salah satu proses yang dikerjakan dalam tahapan planning game
2.2 Refactoring
Proses penulisan kode dalam membuat aplikasi penyederhanaan grammar ini menggunakan proses refactoring. Proses refactoring adalah proses untuk meningkatkan cara penulisan program namun tidak merubah proses dari program tersebut[3].
2.3 Simple Design
Tahap ini merupakan tahap pembuatan desain. Desain yang dibuat untuk aplikasi ini berupa desain sederhana dimana semua button diberi nama dengan jelas sehingga memudahkan client dalam menggunakannya[3]. Aplikasi ini pada dasarnya digunakan oleh banyak pihak karena aplikasi ini dihosting ke dalam laman web.
2.4 Small Release
Pembuatan aplikasi dipecah menjadi empat tahapan. Tujuan dari dilakukannya release berkala adalah untuk menghindari error yang bertumpuk apabila program dikeluarkan langsung secara utuh[3].
XP
Penyederhanaan CFG
Planning Game
Aplikasi Penyederhanaan CFG Pengujian
Refactoring
Small Release Simple Design
Tabel 1. Tahapan Small Release
Release ke- Fungsi Tercapai
Release 1 Aplikasi dapat menghilangkan produksi epsilon serta menampilkan prosesnya
Release 2 Aplikasi dapat menghilangkan produksi epsilon dan produksi
unit serta menampilkan prosesnya
Release 3 Aplikasi dapat menghilangkan produksi epsilon, produksi unit dan produksi useless dan menampilkan hasil akhir serta proses pengerjaan.
Release 4 Aplikasi dapat menghilangkan produksi epsilon, produksi unit dan produksi useless dan menampilkan hasil akhir serta proses pengerjaan dan memiliki tampilan yang memadai bagi pengguna.
2.5 Pengujian
Sistem yang telah selesai dibangun melalui tahap pengkodean, kemudian diuji. Pengujian sistem dilakukan langsung kepada pengguna untuk mengetahui apakah sistem yang dibuat telah memenuhi kebutuhan pengguna atau belum. Pengujian sistem menggunakan metode black box testing.
3 Implementasi dan Hasil
Implementasi dan hasil dari pembuatan aplikasi penyederhanaan Context Free Grammar yaitu sebagai berikut.
3.1 Laman Pengenalan
Laman pengenalan merupakan laman yang berisi ketentuan aplikasi. Laman ini mengenalkan pengguna tentang CFG dan pengenalan bentuk simbol epsilon yang digunakan dalam aplikasi. Simbol
epsilon pada aplikasi berupa tanda ^ bukan ε. Laman Pengenalan dapat dilihat pada Gambar 2 berikut
3.2 Laman Penyederhanaan CFG
Laman Ini merupakan laman inti dari aplikasi penyederhanaan CFG. Laman ini berisi field untuk memasukkan jumlah produksi yang akan dimasukkan, aturan produksinya dan menampilkan hasil penyederhanaan serta langkah-langkahnya.
Laman Aturan Produksi
Antarmuka ini menampilkan jumlah field aturan produksi sesuai yang diinginkan oleh pengguna. Antarmuka untuk menampilkan field aturan produksi dapat dilihat pada Gambar 3 berikut ini.
Gambar 3. Menampilkan field aturan produksi
Kotak Peringatan
Kotak peringatan akan kuncul apabila jumlah produksi yang dimasukkan masih salah. Kotak Peringatan dapat dilihat pada Gambar 4 berikut ini.
Gambar 4. Kotak Peringatan
Laman Hasil Penyederhanaan CFG
Laman hasil merupakan laman yang menampilkan hasil akhir dari penyederhanaan CFG. Tampilan laman hasil ditunjukan pada Gambar 5 berikut:
Gambar 5. Laman Hasil
3.3 Pengujian
Tahap ini adalah tahapan pengujian terhadap aplikasi yang telah dikembangkan. Pengujian ini bertujuan mencari kesalahan – kesalahan pada aplikasi. Aplikasi harus benar – benar sesuai dengan kebutuhan pelanggan.
Tabel 2. Hasil Pengujian Fungsional Fungsional
No
Kebutuhan Fungsional Hasil
1. Aplikasi dapat mengecek apakah jumlah produksi yang dimasukkan bukan karakter lain selain angka.
Baik 2. Aplikasi dapat menampilkan informasi bentuk Context
Free Grammar
Baik 3. Aplikasi dapat menampilkan seluruh proses yang
terjadi dari aturan Context Free Grammar yang belum disederhanakan sampai Context Free Grammar yang sudah disederhanakan.
Baik
4. Aplikasi dapat menampilkan seluruh hasil Context
Free Grammar yang telah didapat.
4. Kesimpulan
Kesimpulan yang diperoleh dari penelitian ini adalah ;
1. Penyederhanaan Context Free Grammar memiliki tiga proses yang harus dilakukan secara berurut yaitu, penghilangan produksi epsilon, produksi unit, dan produksi useless.
2. Setiap produksi unit yang selesai di subtitusi akan dihasilkan produksi useless.
5. Referensi
[1]Chomsky, Noam. 1959. On Certain Formal Properties Of Grammar. MIT:New Jersey.
[2] Utdirartatmo, Firrar. 2005. Teori Bahasa Automata. Graha Ilmu: Yogyakarta.