Program bantu transformasi tata bahasa bebas konteks ke bentuk normal chomsky - USD Repository

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  

PROGRAM BANTU

TRANSFORMASI TATA BAHASA BEBAS KONTEKS

KE BENTUK NORMAL CHOMSKY

SKRIPSI

  Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains

  Program Studi Matematika Oleh :

  

Wiwit Kristiani

NIM : 013114007

PROGRAM STUDI MATEMATIKA

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

  

2007

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  

M o t t o

Sebab Aku ini mengetahui rancangan-rancangan apa yang ada pada-Ku mengenai kamu, demikianlah firman Tuhan, yaitu rancangan damai sejahtera dan bukan rancangan kecelakaan, untuk memberikan kepadamu hari depan yang penuh harapan.

  Terkutuklah orang yang mengandalkan manusia, yang mengandalkan kekuatannya sendiri, dan yang hatinya

menjauh daripada Tuhan! ia akan seperti semak bulus di

padang belantara, ia tidak akan mengalami datangnya keadaan baik;........................ Diberkatilah orang yang mengandalkan Tuhan, yang

menaruh harapannya pada Tuhan! ia akan seperti pohon

yang ditanam di tepi air.....................dan yang tidak berhenti menghasilkan buah.

  

Kado kecil ini dipersembahkan untuk :

“ Yang tersayang Bapak dan Ibu serta pribadi-

pribadi yang selalu menyanyangiku...”

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  PERNYATAAN KEASLIAN KARYA Penulis menyatakan dengan sesungguhnya bahwa skripsi yang penulis tulis ini tidak memuat karya atau bagian karya dari orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

  Yogyakarta, ...........................

  Penulis, Wiwit Kristiani

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  

ABSTRAK

  Bentuk Normal Chomsky merupakan salah satu bentuk akhir dari tata bahasa bebas konteks yang dalam ilmu teori bahasa dan otomata dipakai untuk menunjukkan bagaimana menghasilkan untai-untai dalam sebuah bahasa.

  Dalam skripsi ini transformasi ke bentuk normal Chomsky diimplementasikan dalam suatu program. Transformasi bisa dilakukan jika tata bahasa bebas konteks sudah mengalami penyederhanaan, yang dilakukan dengan proses pengecekan ketidaksederhanaan tata bahasa bebas konteks oleh program. Penulisan input tata bahasa bebas konteks menggunakan tombol – tombol yang disediakan program pada layar ‘Layar_Input_Produksi’ dengan simbol awal S, simbol terminal yang terdiri dari huruf ‘a’ sampai ‘e dan non terminal terdiri dari huruf kapital ‘A’ sampai ‘E’ dan ‘S’.

  Hasil dari implementasi proses transformasi ini ditampilkan dalam dua langkah. Langkah pertama menampilkan hasil input yang sudah dalam bentuk normal Chomsky dan perubahan terminal lebih dari satu menjadi non terminal. Langkah kedua merupakan hasil akhir tata bahasa bebas konteks dalam bentuk normal Chomsky dengan menampilkan hasil langkah pertama yang sudah dalm bentuk normal Chomsky dan hasil perubahan non terminal dalam langkah pertama yang lebih dari dua menjadi tepat 2 non terminal. Hasil transformasi menunjukkan untuk setiap M produksi, N non terminal, K terminal, dengan P jumlah simbol tiap hasil produksi, maka maksimum jumlah produksi pada langkah pertama didapatkan (M+K) produksi dan maksimum jumlah produksi pada langkah ke dua (bentuk normal Chomsky) didapatkan (M+K)+(P-2) produksi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  

ABSTRACT

Chomsky Normal Form is one of the form in simplifying Contexs Free

Grammar that in grammar and automata theory is used to show how to generate

  derivation in a grammar.

  In this thesis transformation Contexs Free Grammar to Chomsky Normal

  

Form is implemented. Transformation can be executed if Context Free Grammar

  is in the simple form. The writing of program which is provided by clicking the button application in input screen ’Layar_Input_Produksi.’ with first symbol S, terminal symbol which contain of ‘a’ until ‘e’ and non terminal which contain of capital letter ‘A’until ‘E’ and ‘S’.

  Result of this transformation process is shown in two step. First step show result with input which it has been in Chomsky Normal Form and the change of terminal more than one to non terminal. Second step is the final result of context

  free grammar

  in Chomsky Normal Form and result of the non terminal changing in first step which more than two non terminal become two non terminal. Transformation result show that for M production, N non terminal, K terminal, with P amount each symbol production, then amount production maximum at the first step is obtained (M+K) production and amount production maximum at the second step (Chomsky Normal Form) is obtained (M+K) + (P-2) production.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

KATA PENGANTAR

  Segala pujian syukur hormat dan kemuliaan hanya bagi Tuhan Yesus Kristus Raja di bumi dan di surga, yang telah memberkati semua usaha yang telah dilakukan penulis sehingga dapat menyelesaikan tugas akhir ini.

  Dalam menulis tugas akhir ini bayak hambatan dan kesulitan yang penulis temukan. Namun berkat bantuanNya dan dukungan dari banyak pihak, akhirnya tugas ini dapat terselesaikan. Oleh karena itu, penulis ingin mengucapkan terima kasih kepada :

  1. Tuhan Yesus Kristus yang selalu menyertai, memberkati, memberikan hikmat dan atas semua kasih karuniaNya, You’re best of the best of my life .

  2. Bapak dan ibu yang terkasih yang setia menemani mencurahkan tenaga, pikiran dan kasih sayangnya untuk anaknya.

  Engkau anugerah terbaik yang diberikan Tuhan kepadaku .

  3. Bapak Ir.Ig Aris Dwiatmoko, M.Sc. selaku dekan Fakultas MIPA.

  4. Bapak YG Hartono,S.Si., M.Sc. selaku Kepala Program Studi Matematika.

  5. Bapak Drs. J J. Siang, M.Sc. selaku dosen pembimbing. Terima kasih atas segala bimbingan, kritik, saran, dan kesabarannya dalam membimbing penulis selama menyelesaikan tugas akhir ini.

  6. Ibu Lusia K B, S.Si., M.Sc. Terima kasih atas saran dan perhatiannya.

  7. Ibu Ch. Eny Murwaningtyas, S.Si., M.Si. selaku dosen FMIPA.

  Terimakasih atas segala dukungan, kritik dan saran yang diberikan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  8. Ibu M.V. Any Herawati, S.Si., M.Si. Terima kasih atas saran dan perhatiannya.

  9. Seluruh Dosen FMIPA, Staf Sekretriat dan Laboratorium Universitas Sanata Dharma Yogyakarta.

  10. My lovely “Zadrach S,S.T” . Aku tahu kamu membantu dan ada selalu untukku “maafin ya kalo sering aku marahin t4 pelampiasan kalo jengkel

  

marah dll” . Thank’s for all, you’re shine and the best grace of my Lord.

11. Agus G,S.T ”kerja yang rajin dan kapan nikahnya”

  di Papua

   My brother Sigit Eka&Familys (Jakarta) and my sister Yesi & Mita , yang rajin donk belajarnya ...mumpung masih da kesempatan lho..”be the best 4 all guys”..

  12. My best friend, Thomas.S (Lahat) “Sang Pecinta Wanita” & Bertha terima kasih banget ya untuk segala bantuan arahan dan perhatiannya “kapan

  “i pray my nikahnya?punya anak yang banyak ya” dan Anak2 Kos Adi 2. BigBoss Lord JC blessing your life in anything” .

  13. Boru Anel Sri MK,S.Si dan Boru Tomi (Medan), Stefani Suryati L,S.Si

  (Flores) dan Om Ulizz (Maluku), Ikke (Cirebon) terima kasih buat segala

  bantuan dan tumpangannya, Moris Titi Cindy (Kalimantan) yang ada di kos Flamboyan, Ronal (Borneo), smua-a makasih ya bantuannya, jangan lupain aku ya...kalian semua memang teman yang terbaik yang aku punya dan aku kenal “i pray my BigBoss Lord JC blessing your life in anything” .

  14. Anak-Anak Matematika ‘01 , Maria, Fanya (Sulawesi), Daniel, Ajeng, Very, Indah (Wonogiri), Alam (Kediri), Erika (Kaliurang), April, Deta

  PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  (Jakarta), Teddy, Ray, Agnes, Upik, Rita, Andre, Aril, Tabita, Dani cew, Yuli, cuprit jelek. Terima kasih ya...

  Thanks..

  15. Kakak-Kakak Matematika angkatan atas dan adik-adik kelasku.

  

16. Anak-Anak KKN , Pedukuhan Gedang Prambanan, Frida, Fajar, Uut

(Jogja), Mira, Adri (Purwokerto), Abdi, Ema. Chiayo... man.......

  17. Anak-Anak kost Luna , Yusta (Westprog), Ve (Borneo), Ela, Ika, Novi, Ponco, Ayak, Ningrum, Yuni, Ita dua-duanya, Feni, Kadek (Bali), Eva,

  jadilah yang terbaik..OK !! Riri, Dina, Beni OB ( Magelang ) ...

  18. Buat: Made&Wawan (Bali), Agus (Pati), Ade (Jepara), Parto (Lampung), Wawan (Banyumas), Novi (Blora), Yoga (Klaten), Andri (Temanggung), Theo Yustri&Ariel (Purwodadi), M’Seka dan Lisa (Prambpurwd), thanks..

  19. Buat Yulius JB, Mambo,Nu2ng dan sahabat2 di UPC KA .. Semangat ya..!

  20. Teman-teman di Puskesmas Kragan I , dr. Noer, dr. Sigit, bu Warni dan yang ga ku sebutin ..maafin aku ya yang sering bolos..& makasih ijinnya..

  21. Temen- Temenku yang ada di “GFK”, maafin ya,,,aku telat trus laporannya...

  22. Temen-Temenku PAFI , sorry aku sering ga kumpul, besuk dech klo ga sibuk, ..he..he. dan Mbak Susi , makasih ya.. selalu membantuku..

  23. Dan semua pihak yang telah banyak membantu terselesaikannya skripsi ini tetapi penulis lupa menulisnya.

  

“LORD JC BLESS U ALL”

  PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DAFTAR ISI

  Halaman

  HALAMAN JUDUL

  i .......................................................................................

  HALAMAN PERSETUJUAN PEMBIMBING .......................................... ii

HALAMAN PENGESAHAN ........................................................................ iii

HALAMAN PERSEMBAHAN ...................................................................... iv HALAMAN KEASLIAN KARYA ............................................................... v ABSTRAK

  vi ......................................................................................................

  

ABSTRACT ................................................................................................... vii

KATA PENGANTAR ..................................................................................... viii

DAFTAR ISI ................................................................................................... xi

DAFTAR GAMBAR ...................................................................................... xv

  BAB I PENDAHULUAN A. Latar Belakang Masalah .................................................................

  1 B. Rumusan Masalah ...........................................................................

  2 C. Batasan Masalah ............................................................................

  2

  3 D. Tujuan Penulisan ..............................................................................

  E. Manfaat Penulisan ............................................................................

  3 F. Metode Penelitian ........................................................................... .

  3 G. Sistematika Penulisan ......................................................................

  4

  PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  BAB II LANDASAN TEORI A. Tata Bahasa Bebas Konteks ... ..........................................................

  5 1. Definisi Tata Bahasa Bebas Konteks ..........................................

  5 B. Penyederhanaaan Tata Bahasa Bebas Konteks ...............................

  6

  1. Penghilangan Produksi Yang Tidak Bisa Diturunkan Hingga Terminal ..........................................................................

  7 2. Penghilangan Produksi Yang Tidak Bisa Dicapai Dari S ...............

  9 C. Bentuk Normal Chomsky .................................................................

  11 1. Definisi Bentuk Normal Chomsky ............................................

  11 2. Pembentukan Bentuk Normal Chomsky ...................................

  12 D. Pemprograman Java ............................................................................

  16 1. Java ...........................................................................................

  16 2. JDK (Java Development Kit) ...................................................

  17 3. NETBEANS ..…............................................................................

  18 4. Pemprograman Berorientasi Objek ..........................................

  18 5. Objek, Data, Method .................................................................

  18 BAB III PERANCANGAN DAN IMPELMENTASI A. Perancangan Sistem............................................................................

  19 B. Perancangan Antarmuka.....................................................................

  22 1. Layar_Sampul.............................................................................

  22 2. Layar_Utama...............................................................................

  23 3. Layar_Tambah_Produksi.............................................................

  24

  PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  4. Layar_Input_Produksi .................................................................

  25 C. Perancangan Proses ............................................................................

  26

  1. Flowchart Transformasi Tata Bahasa Bebas Konteks ke Bentuk normal Chomsky ..................................................................

  26 2. Pengecekan Input Produksi Tunggal (Tahap 1) .........................

  28

  3. Flowchart Pengecekan Input Produksi Yang Tidak Bisa Diturunkan Sampai ke Terminal (Tahap 2) .................................

  28

  4. Flowchart Pengecekan Input Produksi Yang Tidak Bisa Dicapai dari Simbol Awal (Tahap 3) .........................................

  30

  5. Flowchart Perubahan Terminal Lebih dari 1 Menjadi Non Terminal (Tahap 5) ............................................................

  32

  6. Flowchart Perubahan Non Terminal Lebih dari 2 Menjadi Tepat 2 Non Terminal (Tahap 6) ......................................................

  34 D. Perancangan Struktur Data ..............................................................

  35 1. Kelas Huruf ................................................................................

  35 2. Kelas Chomsky ..........................................................................

  35 3. Frame Form Java ........................................................................

  37 E. Implementasi .....................................................................................

  37 1. Pengecekan Bentuk Produksi tunggal ..........................................

  37

  2. Pengecekan Produksi Yang Tidak Bisa Diturunkan Hingga Terminal .....................................................................................

  41

  3. Pengecekan Produksi Yang Tidak Bisa Dicapai dari Simbol Awal .............................................................................................

  44

  PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  4. Pengecekan Bentuk Normal Chomsky ......................................

  46 5. Pengubahan Simbol Terminal Menjadi Non Terminal ................

  47

  6. Pengubahan Simbol Non Terminal Lebih dari 2 Menjadi Tepat 2 Non Terminal ................................................................

  48 BAB IV HASIL DAN PEMBAHASAN A. Hasil Impelmentasi ...........................................................................

  50 Form 1. Layar_Sampul ...................................................................

  51 2. Form Layar_Utama .......................................................................

  52 3. Form Layar_Tambah_Produksi ..................................................

  53 4. Form Layar_Input_Produksi ......................................................

  55 B. Penggunaaan Program .......................................................................

  56 1. Masukkan (Input) Program .........................................................

  56 2. Proses Program ............................................................................

  57 C. Pengujian Program ..............................................................................

  58 D. Pembahasan / Analisis Program ..........................................................

  65 BAB V PENUTUP A. Kesimpulan ........................................................................................

  68 B. Saran ...................................................................................................

  69 DAFTAR PUSTAKA .......................................................................................

  70

  

DAFTAR GAMBAR

  Form hasil pengujian program contoh 1 ....................................

  55

  54

  52

  51

  34

  33

  31

  29

  27

  25

  24

  23

  22

  21

  Gambar 4.5

  Halaman

Gambar 4.4 Form Layar_Input_Produksi .......................................................Gambar 4.3 Form Layar_Tanbah_Produksi ....................................................Gambar 4.2 Form Layar_Utama .....................................................................Gambar 4.1 Form Layar_Sampul ...................................................................Gambar 3.10 Diagram alir perubahan non terminal lebih dari 2 menjadi tepat 2 non terminal (Tahap 6) ...................................................Gambar 3.9 Diagram alir perubahan terminal lebih dari 1 menjadi non terminal (Tahap 5) ..............................................................Gambar 3.8 Diagram alir pengecekan produksi yang tidak bisa dicapai dari simbol awal (Tahap 3) ........................................................Gambar 3.7 Diagram alir pengecekan produksi yang tidak bisa diturunkan hingga ke terminal (Tahap 2) .......................................Gambar 3.6 Diagram alir perancangan program transformasi tata bahasa bebas konteks ke bentuk Normal Chomsky ...................................Gambar 3.5 Perancangan Layar_Input_Produksi............................................Gambar 3.4 Perancangan Layar_Tambah_Produksi........................................Gambar 3.3 Perancangan Layar_Utama..........................................................Gambar 3.2 Perancangan Layar_Sampul........................................................Gambar 3.1 Diagram alir tahapan transformasi tata bahasa bebas konteks ke bentuk normal Chomsky .......................................................

  58 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 4.6 Form Layar_Tambah_Produksi contoh 2 ..................................Gambar 4.7 Form hasil pengecekan program contoh 2 .......................................

  Gambar 4.8

  Form hasil transformasi contoh 2 ..............................................

Gambar 4.9 Form Layar_Tambah_Produksi contoh 3 ...................................Gambar 4.10 Form hasil pengecekan program contoh 3 .......................................Gambar 4.12 Form hasil transformasi contoh 3 ...............................................

  61

  61

  62

  63

  64

  64 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB I PENDAHULUAN A. Latar Belakang Masalah Teori bahasa dan otomata merupakan disiplin ilmu yang mempunyai

  peranan penting dalam dunia pemprograman komputer. Dalam ilmu teori bahasa dan otomata membahas bagaimana suatu proses pekerjaan yang terdiri dari berbagai tahap (perpindahan dari suatu tahap ke tahap berikutnya ditentukan oleh masukan yang diberikan) dapat dideskripsikan ke dalam notasi sehingga memudahkan pengolahan ke tahap selanjutnya.

  (grammar)

  Tata bahasa dapat didefinisikan secara formal sebagai kumpulan dari himpunan-himpunan variabel, simbol-simbol terminal, simbol awal yang dibatasi oleh aturan-aturan produksi.

  Sistem dalam ilmu teori bahasa dan otomata yang dipakai untuk mendefinisikan bahasa adalah tata bahasa bebas konteks / context free grammar

  (cfg).

  Penggunaan tata bahasa bebas konteks untuk mendefinisikan bahasa akan memudahkan pekerjaan dalam memeriksa rangkaian kata berdasarkan tata bahasa atau parsing.

  Sebagai sebuah langkah final dari penyederhanaan tata bahasa bebas konteks, disajikan sebuah bentuk baku atau bentuk normal untuk produksi- produksi. Salah satu bentuk normal yang sangat berguna untuk tata bahasa bebas konteks adalah Bentuk Normal Chomsky / Chomsky Normal Form (CNF).

  Dengan bentuk normal Chomsky akan didapatkan keterhubungan pasti diantara

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  panjang dari sebuah untai dan banyaknya langkah penurunannya sebanyak dua kali untai yang dapat diturunkan.

  B. Rumusan Masalah

  Permasalahan-permasalahan yang akan dibahas berdasarkan latar belakang di atas dapat dirumuskan dalam pertanyaan berikut ini :

  1. Bagaimana cara menyederhanakan tata bahasa bebas konteks?

  2. Bagaimana pembentukan bentuk normal Chomsky?

  3. Bagaimana mengimplementasikan pembentukan bentuk normal Chomsky dalam suatu program?

  C. Batasan Masalah

  Dalam tugas akhir ini permasalahan yang akan dibahas dibatasi pada :

  1. Dalam aplikasinya untuk dapat diubah dalam bentuk normal Chomsky, input berupa tata bahasa bebas konteks yang tidak mengandung ε dan produksi tunggal.

  2. Jumlah maksimum produksi input adalah 10.

  3. Jumlah maksimum simbol hasil produksi (sebelah kanan tanda panah) adalah 20 simbol.

  4. Program hanya bisa menguji apakah produksi tata bahasa bebas konteks yang diinputkan merupakan produksi yang sederhana, tetapi tidak mampu menyederhanakan input produksi tata bahasa bebas konteks yang tidak sederhana.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  5. Program dibuat mengunakan bahasa Java dengan Java Development Kit 1.5.0 yang diedit dengan NetBeans 3.6

  D. Tujuan Penulisan

  Tujuan yang hendak dicapai dari penulisan ini adalah membuat suatu program cara mentransformasi tata bahasa bebas konteks ke bentuk normal Chomsky.

  E. Manfaat Penulisan

  Hasil program yang dibuat ini diharapkan memberikan manfaat, antara lain :

  1. Mempermudah pengguna (user) untuk mentransformasikan tata bahasa bebas konteks ke bentuk normal Chomsky.

  2. Pengguna (user) mengetahui tahap demi tahap perpindahan tata bahasa konteks menjadi bentuk normal Chomsky.

  F. Metode Penulisan

  Metode yang digunakan dalam penulisan skripsi ini adalah :

  1. Studi pustaka tentang cara mentransformasi tata bahasa bebas konteks ke bentuk normal Chomsky.

  2. Implementasi transformasi tata bahasa bebas konteks ke bentuk normal Chomsky dalam suatu program

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  3. Jalankan program untuk mentransformasi bahasa bebas konteks ke bentuk normal Chomsky.

  4. Analisis dan perhatikan hasil akhirnya.

G. Sistematika Penulisan

  Bab I Pendahuluan Menjelaskan uraian-uraian yang mendasari pembahasan skripsi,

  yaitu latar belakang masalah, masalah yang akan dibahas, batasan masalah, tujuan penulisan, manfaat penulisan, metodelogi penulisan, serta sistematika penulisan.

  Bab II Landasan Teori Dalam bab ini menjelaskan beberapa teori yang mendasari

  pembentukan bentuk normal Chomsky yang selanjutnya diimplementasikan ke dalam program.

  Bab III Perancangan dan Implementasi Menjelaskan perencanaan rancangan program dan penerapan rancangan program yang telah dibuat. Bab IV Hasil dan pembahasan Menjelaskan hasil dari rancangan program dan melakukan percobaan serta analisa hasil perancangan. Bab V Penutup Kesimpulan dan saran dari hasil pembahasan masalah dan analisa secara keseluruhan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II LANDASAN TEORI A. Tata Bahasa Bebas Konteks Tata Bahasa Bebas Konteks / Contexs Free Grammar ( CFG) merupakan

  salah satu cara untuk mendefinisikan bahasa (language). Dengan tata bahasa bebas konteks dapat diketahui untai-untai yang dihasilkan dalam bahasa.

  A.1 Definisi Tata Bahasa Bebas Konteks Ν Σ S Ρ

  Tata bahasa bebas konteks didefinisikan sebagai G = ( , , , ), dengan :

  Ν = himpunan simbol nonterminal.

  Σ = himpunan terminal-terminal atau alphabeth.

  S ∈ Ν = simbol awal.

  Ρ = aturan produksi, dimana P

  • ⊆ Ν × Ν ∪ Σ atau dapat dijelaskan sebagai ( )
  • N → Ν ∪ Σ .

  ( )

  Nonterminal Ν yang ada disebelah kiri produksi dapat digantikan oleh string w

  • yang ada di sebelah kanan tanda panah, dimana w Ν ∪ Σ .

  ∈ ( ) L

  Tata bahasa bebas konteks G dalam mendefinisikan sebuah bahasa

  L

  atau dinotasikan (G ) dengan cara menetapkan sebuah himpunan produksi,

  L

  dimana hanya string-string dari yang dapat disusun oleh himpunan produksi tersebut. Setiap string yang dapat dibentuk dari keadaan awal melalui proses S penggantian semua nonterminal oleh aturan-aturan produksi sampai tidak ada lagi

  L nonterminal yang tersisa merupakan bagian .

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  Contoh : N = (S, A, B, C)

  Σ = (a, b, c) →

  Ρ = S Abb | BC | abbC →

  A a B → ab

  → C c

  String yang dapat dibentuk dari CFG di atas adalah L = (abb, abc, abbc) Penurunan string berdasarkan CFG di atas : S → Abb → abb

  ( ) 1 ( ) 2 S → BC → abc ( ) 1 ( ) 2 S → abbC → abbc ( ) 1 ( ) 2 B.

   Penyederhanaan Tata Bahasa Bebas Konteks

  Pembentukan tata bahasa bebas konteks terkadang belum dalam bentuk yang sederhana, sehingga ketidaksederhanaan ini akan membuat tata bahasa bebas konteks menjadi rumit dengan aturan-aturan produksi yang tidak berarti. Oleh karena itu perlu dilakukan penyederhanaan tata bahasa bebas konteks dengan menempatkan pembatasan-penbatasan, sehingga pohon penurunan yang dihasilkan tidak rumit dan mudah ditelusuri.

  Langkah-langkah penyederhanaan tata bahasa bebas konteks : 1. Penghilangan produksi yang tidak bisa diturunkan hingga simbol terminal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  2. Penghilangan produksi yang tidak bisa dicapai dari . S

  3. Menghilangkan produksi - ε

  4. Menghilangkan produksi tunggal Dalam skripsi ini, karena input yang berupa tata bahasa bebas konteks dianggap sudah sederhana jadi tidak dilakukan penyedehanaan melainkan hanya melakukan pengecekan. Pengecekan tersebut adalah penghilangan produksi yang tidak bisa diturunkan sampai mencapai simbol terminal dan produksi yang tidak bias dicapai dari . Sedangkan pengecekan untuk penyedehanaan menghilangkan S produksi tunggal dan produksi ε dilakukan secara manual yaitu langsung saat

  

user menginput diharapkan tidak memasukkan tata bahasa konteks yang

mengandung produksi tunggal maupun produksi ε .

  B.1 Penghilangan Produksi Yang Tidak Bisa Diturunkan Hingga Terminal

  Produksi yang tidak bisa diturunkan atau yang tidak bisa mencapai terminal dikatakan tidak sederhana, karena bila diturunkan tidak akan pernah selesai atau tidak akan pernah menghasilkan terminal-terminal seluruhnya. Contoh :

  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

  Terlihat bahwa nonterminal D tidak mempunyai produksi atau tidak dapat menurunkan simbol terminal. Oleh karena itu nonterminal D dan setiap produksi yang mengandung nonterminal D dikatakan tidak berguna.

  Jika diketahui CFG = ( G

  

Ρ Σ Ν

, , ,

S

  ) maka hasil penyederhanaanya adalah = ( ), dimana G

  Ρ′ ′ Σ′ Ν′ , , , S

  Ν′ dan

  Ρ′

  dibentuk dengan langkah-langkah sebagai berikut.

  Algoritma :

  1. Inisialisasi Ν′ dengan semua nonterminal

  A

  → w merupakan sebuah produksi dalam G dengan w ∈ Σ

  • .
  • w ∈ Σ .
    • Tambahkan produksi tersebut ke
    • Ulangi langkah-langkah ini sampai tidak ada lagi nonterminal yang yang ditambah ke dalam Ν′ .

  2. Inilisiasasi dengan semua produksi Ρ′

  → w dimana

  A ∈ Ν′ dan

  3. - Tambahkan ke dalam Ν′ semua nonterminal

  A

  dimana

  A

  → w ,

  w* ) ( Σ ∪ Ν′ adalah sebuah produksi dalam Ρ .

  Ρ′ .

  Contoh penyederhanaan dengan menghilangkan nonterminal yang tidak bisa mencapai terminal : Ρ = S Aab | bbC | aaD

  → A Abe | aaB | e

  → B → Ac | bcC C → cd

  A

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  Ν′

  Ρ′

  Inisialisasi {A, C} A e ; C → cd → Nonterminal yang bisa {A, C, B} S Aab ; A Abe → → diturunkan ke {A, C} B Ac ; S bbC

  B bcC → → →

  Nonterminal yang bisa {A, C, B} A aaB → diturunkan ke {A, C, B}

  Ρ′ : S Aab | bbC →

  A Abe | aaB | e → B → Ac | bcC C → cd

  B.2 Penghilangan Produksi Yang Tidak Bisa Dicapai Dari S

  N = ( S, A, B , C, D ) Σ = ( a, b, c, d, e ) Ρ = S aabAac | BB | BBB | Ddee →

  A → aaa | cdA B → BDc | c C → cde D e →

  Nonterminal C di atas dikatakan redundan (berlebih) karena non terminal tersebut tidak akan pernah dicapai dari S atau dari produksi manapun.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  ′ Ν′ Σ′ S ′ Ρ′ Misalkan G = ( , , , ) merupakan hasil penyederhanaan dari G =

  Ν Σ S Ρ ( , , , ) yang dibentuk dengan langkah-langkah sebagai berikut.

  Algoritma :

  S 1. - Inisialisasi Ν′ dengan memuat simbol awal .

  ′ Ρ Σ′

  • Inisialisasi dan sebagai himpunanan kosong.

  A A

  2. Untuk setiap ∈ Ν′ , jika → w merupakan produksi dalam , maka : Ρ

  • A Masukkan → w ke dalam Ρ′ .

  w Ν′ .

  • Masukkan semua non terminal yang ada di dalam ke dalam

  w Σ′ - Masukkan semua terminal yang ada di dalam ke dalam .

  Ulangi langkah ini sampai tidak ada lagi produksi yang dapat ditambahkan

  Ρ′ ke dalam .

  Berikut adalah contoh penyederhanaan dengan menghilangkan nonterminal yang tidak bisa mencapai terminal : Ρ = S aabAac | BB | BBB | Ddee →

  A → aaa | cdA B → BDc | c C → cde D → e

  Ρ′ Σ′

  Ν′ φ

  Inisialisasi {S} φ →

  Produksi dari S {S, A, B, D} S aabAac | BB | Dde {a, b, c, d, e}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  Produksi dari {S, A, B, D} A → aaa | cdA {a, c, e} {A, B, D} B → BDc | c

  D → e

  Ρ′

  : S → aabAac | BB | Ddee A → aaa | cdA

  B → BDc | c D → e

  Bentuk Normal Chomsky C.

  Bentuk Normal Chomsky / Chomsky Normal Form (CNF) merupakan salah satu bentuk akhir dari penyederhanaan tata bahasa bebas konteks dimana bentuk untai-untainya lebih terstruktur.

  C.1 Definisi Bentuk Normal Chomsky A Ν Σ S Ρ

  tata bahasa bebas konteks G = ( , , , ) dikatakan dalam bentuk normal Chomsky, jika dan hanya jika setiap aturan dalam Ρ berbentuk sebagai berikut :

  A a

  1. Aa , untuk setiap ∈ Ν dan ∈ Σ

  A B

  2. ABC , untuk setiap , ,C ∈ Ν Dengan kata lain tata bahasa bebas konteks berbentuk normal Chomsky jika setiap produksinya terdiri dari tepat sebuah terminal tunggal maupun dua non terminal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  Σ ∈ w

  C.2 Pembentukan Bentuk Normal Chomsky

  Dengan adanya sebuah tata bahasa bebas konteks dalam bentuk normal Chomsky, maka dapat diketahui dengan tepat bagaimana langkah-langkah dalam melakukan penurunan sebuah string .

  Jika sebuah tata bahasa bebas konteks dan G

  ) (G L

  ε , maka G dapat ditransformasikan menjadi sebuah tata bahasa bebas konteks dalam bentuk normal Chomsky. Cara mentransformasikan grammar ke dalam bentuk normal Chomsky :

  1. Hilangkan semua produksi yang tidak diperlukan, produksi ε , dan produksi tunggal dalam G .

  Setelah dilakukan penyederhanaan tata bahasa konteks, maka akan meghasilkan semua produksi berbentuk

  Aw dengan

  1 ≥ w

  • Jika

  1 = w berarti

  , karena tidak ada produksi tunggal. Jadi sudah memenuhi bentuk normal Chomsky.

  • Jika 1 > w berarti w = , maka bisa memuat terminal dan non terminal keduanya. n

  Cara mengkonversikan menjadi untai-untai yang hanya memuat nonterminal-nonterminal :

  w

  Misalkan diketahui sebuah produksi yang berbentuk

  Aw ,

  untuk = . Jika ada w n

  X X X .... 2 1

  Σ ∈ i

  X , kita ganti dengan i

  X

  Ν ∈ i

  C dan tambahkan i i

  X C

  X X X .... 2 1 w

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  A

  Hasil step (1) : semua produksi berbentuk → w dengan sebuah w terminal atau string yang semuanya terdiri dari non terminal.

  G

  2. Transformasikan ke dalam CNF dengan memecah string pada ruas kanan produksi yang panjangnya lebih dari dua non terminal.

  Jika sebuah produksi AB B ..... B , B ∈ Ν ( dengan n1 2 n i 2 ) maka diubah dengan mengambil 2 non terminal pertama dan menggantikannya dengan 2 non terminal baru sampai mencapai tepat 2 non terminal.

  AZ B n n3 ZB B 1 2 M ZZ B n n n

  − 3 − 4 − 1 Z merupakan non terminal-non terminal baru. i

  Dalam tata bahasa yang dihasilkan setelah mengalami transformasi, ruas kanan dari masing-masing produksi terdiri dari baik sebuah terminal tunggal maupun yang lainnya berupa sebuah untai dari dua non terminal. Akibatnya, suatu tata bahasa bebas konteks yang tidak memuat ε dapat diturunkan oleh sebuah tata bahasa bebas konteks dalam bentuk normal Chomsky. Berikut ini merupakan contoh tata bahasa konteks yang sudah mengalami penyederhanaan dan akan ditransformasikan ke dalam bentuk normal Chomsky:

  N = ( S, A, B , C ) Σ = ( a, b, c, d, e )

  → Ρ = S Bb | AA | de

  → A aBb

  → B bC | bbbb

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  C → c Aturan-aturan produksi yang sudah dalam bentuk normal Chomsky :

  → S AA

  → C c

  Transformasi pertama (‘ ⇒ ’ bisa dibaca ‘berubah menjadi’) :

  Aw dengan w

  o Ubah produksi

  1

  w o Ganti semua terminal dalam menjadi nonterminal baru.

  → → B S Bb ⇒ S Ζ

  → → Ζ Ζ S de ⇒ S 1 2 A → aBb ⇒ A → Ζ B Ζ 3 B → bC ⇒ B → Ζ C

  B → bbbb ⇒ B → Ζ Ζ Ζ Ζ Terbentuk aturan produksi dan simbol variable baru :

  Ζ → b Ζ → d 1

  Ζ → e 2 Ζ → a 3 Produksi menjadi :

  S → B Ζ | AA | Ζ Ζ 1 2

  A Ζ B Ζ 3

  B Ζ C | Ζ Ζ Ζ Ζ

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  Ζ →

  → b 1 Ζ → d

  → Ζ

  Ζ Ζ C c

  → Ζ C | 6

  Ζ Ζ B

  Ζ A → 4

  S B | AA | → Ζ 1 Ζ 2

  Ζ Ζ Produksi dalam CNF :

  Ζ Ζ 6 Ζ → 5

  C c → Ζ

  → b 1 Ζ → d 2

  Terbentuk aturan produksi dan symbol variable baru : B 4

  Ζ Ζ Ζ B ⇒ → 6 Ζ Ζ

  Ζ Ζ Ζ B → 5

  Ζ Ζ B → Ζ Ζ Ζ Ζ B → ⇒ 5

  A → Ζ ⇒ 4

  → 3 Ζ B

  → w dengan 2 ≥ w A

  A

  → a Transformasi kedua : o Ubah produksi

  Ζ → e 3 Ζ

  Ζ → 3 Ζ 5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  Ζ → e 2 → a

  Ζ 3 Ζ → Ζ B 4 3

  → Ζ Ζ Ζ 5

  → Ζ Ζ Ζ 6 5 L

  Jika sebuah tata bahasa bebas konteks yang memuat ε , maka bisa didapatkan sebuah tata bahasa bebas konteks dalam bentuk normal Chomsky

  L

  untuk { ε } dan kemudian menambahkan produksi S → ε kepadanya. Tata bahasa yang dihasilkan adalah dalam bentuk normal Chomsky kecuali untuk produksi ε tunggal.

D. Pemrograman Java D.1 Java

  Java merupakan bahasa pemprograman berorientasi objek yang diciptakan oleh James Gosling dan beberapa team lainnya di Sun Microsystem. Karasteristik Java berukuran lebih kecil, efisien dan portable untuk berbagai hardware. Java terpilih sebagai bahasa pemprograman untuk aplikasi jaringan.

  Keunggulan java : 1. Java bersifat sederhana dan lebih mudah.

  2. Java bersifat lebih sederhana dibandingkan bahasa populer lain seperti C++. Sebagian dari Java dimodelkan dari C++, dengan memperbaiki beberapa karasteristik C++.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  Sebagai contoh, Java menggantikan konsep pewarisan jamak (multiple

  inhiritance)

  yang relatif kompleks dengan struktur yang sederhana yaitu

  interface , tidak menggunakan pointer, alokasi memori secara otomatis, dan sebagainya.

  3. Java berorientasi pada objek (Oriented Objek).

  Java merupakan bahasa pemprograman yang berorientasi objek (OOP). Java membagi program menjadi beberapa objek, kemudian memodelkan sifat dan tingkah lakunya masing-masing. Selanjutnya, Java menentukan dan mengatur interksi antara objek yang satu dengan yang lain.

  4. Java bersifat terdistribusi.

  Java dirancang untuk membuat pemrograman lebih terdistribusi yang memanfaatkan jaringan komputer lebih mudah untuk diwujudkan.

  5. Java bersifat Multiplatform Java bersifat mutiplatform, yakni dapat diterjemahkan oleh Java Interpreter pada berbagai sistem operasi, sehingga tidak bergantung pada arsitektur perangkat keras yang digunakan.

  6. Java bersifat MultiThread Java mempunyai kemampuan untuk menjalankan beberapa bagian program dalam waktu bersamaan.

  D.2 JDK (Java Development Kit)

  JDK merupakan perangkat pemprograman Java yang berisi kompiler dan interpreter yang direlase oleh Sun. Dalam skripsi ini, program menggunakan JDK

  1.5.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

D. 3 NETBEANS

  Ada beberapa macam editor yang digunakan untuk mengedit listing program Java. Diantaranya fasilitas editor pada lingkungan DOS, Notepad / Wordpad pada Windows, Ultra edit, dan NetBeans. yang digunakan dalam skripsi ini. NetBeans dari Java dapat dipakai untuk :

  1. Menulis program

  2. Mengkompilasi program

  3. Melakukan pencarian kesalahan (debugging) 4. Menjalankan program, dll.

  D.4 Pemprograman Berorientasi Objek

  Pemprograman Berorientasi Objek atau Object Oriented Programing

  (OOP)

  merupakan konsep pemprograman yang difokuskan pada penciptaan kelas yang merupakan abstraksi/blueprint/prototype dari suatu objek. Kelas harus mengandung sifat (data) dan tingkah laku (method) umum yang dimiliki objek- objek yang nantinya akan dibuat (diintansiasi). Data dan method merupakan anggota (member) dari suatu kelas.

  D.5 Objek, Data dan Method