Penggunaan Program Pengujian Program

i jButton ‘BATAL’, berfungsi untuk membatalkan simbol yang dimasukkan dan proses yang telah dilakukan oleh user.

B. Penggunaan Program

Dalam hal ini akan dijelaskan penggunaan program perubahan tata bahasa bebas konteks menjadi tata bahasa bebas konteks dalam bentuk normal Chomsky. B.1 Masukan Input Program B.1.1 Aturan Penulisan Tata Bahasa Bebas Konteks Penulisan masukan yang berupa tata bahasa bebas konteks agar dapat dimengerti program memilikai beberapa aturan, yaitu : 1. Simbol non terminal dapat berupa huruf kapital ‘A, B, C, D, E’ dan‘S’. 2. Simbol terminal dapat berupa huruf Yunani ‘a, b, c, d, e’. 3. Simbol tanda panah untuk memisahkan non terminal dengan produksi berupa gabungan karakter ‘-’ dan ‘’. 4. Simbol yang memisahkan antara dua produksi dari sebuah non terminal dengan tanda ’|’. S →aB | bb | Ac Simbol-simbol di atas disediakan program dalam bentuk tombol-tombol pada form Layar_Input_Produksi. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI B.2 Proses Program Proses transformasi yang dilakukan program sehingga mencapai bentuk normal Chomsky, yaitu : a. Input berupa tata bahasa bebas konteks yang tidak mengandung ε dan produksi tunggal. b. Program melakukan pengecekan produksi yang tidak bisa dicapai dari simbol awal dan tidak bisa diturunkan. c. Program akan membiarkan produksi yang sudah dalam bentuk normal Chomsky dan menampilkan dalam output. d. Untuk produksi berbentuk A → w dengan 1 w , program akan mengkonversikan menjadi untai-untai yang hanya memuat non terminal-non terminal, yang dalam program ini dilambangkan dengan huruf kapital Z yang diikuti dengan angka dimulai dari 0. w Hasil langkah c dan d di masukkan dalam output sebagai langkah 1, sehingga semua produksi berbentuk A → w dengan sebuah terminal atau string yang semuanya terdiri dari non terminal. w e. Proses selanjutnya program memecah string pada ruas kanan produksi yang panjangnya lebih dari dua non terminal. f. Setelah program melakukan langkah a sampai e sehingga dicapai bentuk normal Chomsky, keluaran akan ditampilkan dalam output.

C. Pengujian Program

Contoh : 1. Mentransformasikan tata bahasa bebas konteks : P = S Bb | AA | de → A → aBb B bC | bbbb → C c → Gambar 4.5. Form hasil pengujian program contoh 1. Berdasarkan percobaan yang ditampilkan gambar 4.5 di atas, input merupakan tata bahasa bebas konteks yang sudah sederhana. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Produksi yang sudah dalam bentuk normal Chomsky ditampilkan dalam output pada langkah 1. S → AA C c → Dari bentuk produksi awal, produksi yang belum memenuhi bentuk normal Chomsky adalah : S → Bb | de A → aBb B bC | bbbb → Untuk mentransformasikannya, pertama program akan mengubah simbol terminal menjadi simbol non terminal yang dalam program ini dilambangkan dengan huruf kapital Z diikuti dengan angka dimulai dari 0 : S → BZ0 | AA | Z1Z2 A → Z3BZ0 B Z0C | Z0Z0Z0Z0 → Dan menambahkan non terminal hasil perubahan ke terminal yang diubah : Z0 →b Z1 →d Z2 →e Z3 →a Produksi yang sudah mengalami perubahan di atas ditampilkan dalam output pada langkah 1. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Selanjutnya dari hasil output langkah 1, program mentransformasikan produksi sampai didapatkan hasil bentuk normal Chomsky. Produksi yang memiliki simbol non terminal lebih 2 diubah : A → Z3BZ0 B Z0Z0Z0Z0 → Program akan mengubah produksi di atas dengan mengubah 2 string pertama dan seterusnya : A →Z4Z0 B →Z6Z0 Kemudian menambahkan simbol non terminal hasil perubahan ke simbol non terminal yang diubah : Z4 →Z3B Z6 →Z5Z0 Hasil transformasi dari output langkah 1 tersebut selanjutnya ditampilkan pada output pada langkah 2. 2. Mentransformasikan tata bahasa bebas konteks : N = S, A, B , C, D Σ = a, b, c, d, e Ρ = S → Aab | bbC | aaD A → Abe | aaB | e B → Ac | bcC C → cd PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 4.6. Form Layar_Tambah_Produksi contoh 2. Dalam contoh 2 pada gambar 4.6 terdapat non terminal ‘D’ berada di hasil produksi sebelah kanan tanda panah tetapi tidak terdapat di pemproduksi sebelah kiri tanda panah. Hal ini menunjukkan bahwa input merupakan tata bahasa bebas konteks yang belum sederhana. Sehingga setelah user menekan tonbol ‘OK’ maka akan tampil pesan sebagai berikut : Gambar 4.7. Form hasil pengecekan contoh 2. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Jika user menekan tombol ‘Yes’, maka tata bahasa bebas konteks akan ditransformasikan dengan mengabaikan penyederhanaan tata bahasa bebas konteks, yaitu tanpa harus menurunkan non terminal D sampai ke terminal. Gambar 4.8. Form hasil transformasi contoh 2. Tetapi jika user menekan tombol ‘No’, maka untuk sampai ke bentuk normal Chomsky user harus mengedit tata bahasa bebas konteks tersebut sampai ke bentuk yang sederhana. 3. Mentransformasikan tata bahasa bebas konteks : N = S, A, B , C, D Σ = a, b, c, d, e Ρ = S → aabAac | BB | BBB | Ddee PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI A → aaa | cdA B → BDc | c C → cde D → e Gambar 4.9. Form Layar_Tambah_Produksi contoh 3. Non terminal ‘C’ hanya terletak di pemproduksi sebelah kiri tanda panah. Hasil produksi sebelah kanan tanda panah tidak terdapt non terminal ‘C’. Terbukti bahwa input merupakan tata bahasa bebas konteks yang belum sederhana. Sehingga setelah user menekan tonbol ‘OK’ maka akan tampil pesan sebagai berikut : Gambar 4.10. Form hasil pengecekan contoh 3. Jika user menekan tombol ‘Yes’, maka tata bahasa bebas konteks akan ditransformasikan walaupun non terminal C tidak bisa dicapai dari simbol awal. Gambar 4.11. Form hasil transformasi contoh 3. Jika user menekan tombol ‘No’, maka untuk sampai ke bentuk normal Chomsky user harus mengedit tata bahasa bebas konteks tersebut sampai ke bentuk yang sederhana sesuai dengan pesan yang ditampilkan.

D. PembahasanAnalisis Program