• Tidak ada hasil yang ditemukan

LAPORAN KEMAJUAN PENELITIAN DOSEN PEMULA GENERATOR POHON UNTUK GRAMMAR BERBASIS ALGORITMA COCKE YOUNGER KASAMI PADA PEMBELAJARAN OTOMATA

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAPORAN KEMAJUAN PENELITIAN DOSEN PEMULA GENERATOR POHON UNTUK GRAMMAR BERBASIS ALGORITMA COCKE YOUNGER KASAMI PADA PEMBELAJARAN OTOMATA"

Copied!
67
0
0

Teks penuh

(1)

LAPORAN KEMAJUAN PENELITIAN DOSEN PEMULA

GENERATOR POHON UNTUK GRAMMAR BERBASIS ALGORITMA COCKE YOUNGER KASAMI PADA

PEMBELAJARAN OTOMATA

Tahun ke 1 dari rencana 1 tahun WIJANARTO, M.Kom (0628027003) AJIB SUSANTO, M.Kom (0615127404)

UNIVERSITAS DIAN NUSWANTORO JANUARI2016

(2)
(3)

iii PRAKATA

Laporan kemajuan penelitian ini di buat, sebagai salah satu syarat untuk melanjutkan penelitian ke tahap selanjutnya. Penulis bersyukur kehadirat Alloh SWT, karena telah mencapai tahap ini, yang merupakan kelanjutan dari proposal terdahulu.

Model generator yang di pilih serta disain arsitktur aplikasi dalam penelitian ini merupakan inti dari penelitian ini sendiri. Prototipe sederhana yang di hasilkan merupakan lagkah kecil menuju penyempurnaan aplikasi yang dapat di gunakan sebagai media simulasi pembelajaran teori dan bahasa otomata.

Capaian ini bukan merupakan akhir dari penelitian, butuh penyempurnaan hingga dapat menghasilkan suatu aplikasi yang handal dan efisien dalam rangka menunjang pembelajaran teori dan bahasa otomata.

Dengan demikian penulis tidak lupa mengucapkan terima kasih yang sebesar-besarnya atas terselesaikannya laporan ini, baik kepada mahasiswa, asisten peneliti, karyawan serta kolega dosen, penulis sampaikan penghargaan yang setingi-tingginya.

(4)

iv DAFTAR ISI HALAMAN SAMPUL……….. i HALAMAN PENGESAHAN……… ii PRAKATA………. iii DAFTAR ISI……….. iv DAFTAR TABEL ... vi

DAFTAR GAMBAR ... vii

DAFTAR LAMPIRAN ... viii

RINGKASAN... ix

BAB 1 PENDAHULUAN………. 1

1.1.Latar Belakang ………..……….. 1

1.2.Rumusan Masalah……… 1

1.3.Batasan Masalah……….. 2

BAB 2 TINJAUAN PUSTAKA……… 3

2.1.Teori Bahasa dan Otomata... 3

2.2.Generator... 3

2.3.Grammar... 3

2.4. Abjad, String dan Bahasa... 4

2.5.Teknik Parsing... 5

2.6.Algoritma Cocke-Younger-Kasami... 6

BAB 3 TUJUAN DAN MANFAAT PENELITIAN……… 14

3.1. Tujuan Penelitian……… 14

3.2. Manfaat Penelitian……….. 14

3.3. Luaran Penelitian……… 14

3.4. Kontribusi Penelitian……….. 14

3.5. Kerangka Penelitian……… 15

BAB 4 METODE PENELITIAN 4.1. Teknik Penelitin ….………... 17

4.2. Lokasi Penelitian... 17

4.3. Model Penelitian ... 17

4.3.1. Penentuan Model Generator Pohon... 17

4.3.2. Perancangan dan Pembangunan Arsitektur Sistem... 18

4.4.Rapid Application Development………... 19

4.5.Implementasi Aplikasi……… 20

BAB 5HASIL YANG DI CAPAI………. 21

5.1 Hasil Penelitian ... 21

5.1.1 Model Generator Pohon ... 21

5.1.2 Implementasi RAD ... 23

A. Fase Planning ... 23

A.1 Tujuan ... 23

A.2 Kebutuhan ... 23

A.3 Fungsional ... 24

A.4 Ruang Lingkup ... 25

B. Fase Analisis ………... 25

B.1 Use Case Diagram ... 25

(5)

v

B.3 Activity Diagram ... 29

B.3 Sequence Diagram ... 31

B.4 Class Diagram ... 32

BAB 6. RENCANA TAHAPAN BERIKUTNYA ... 33

BAB 7. KESIMPULAN DAN SARAN ... 34

DAFTAR PUSTAKA ...35 LAMPIRAN 1 Justifikasi Anggaran Penelitian

LAMPIRAN 2 Susunan organisasi tim peneliti dan pembagian tugas LAMPIRAN 3 Biodata ketua dan anggota.

LAMPIRAN 4 Surat pernyataan ketua peneliti LAMPIRAN 5 Submission Akcnowledment LAMPIRAN 6 Artikel Proceeding

(6)

vi

DAFTAR TABEL

Tabel 1. Model Matriks Cocke-Younger-Kasami (CYK)……… 8 Tabel 2. Opsi dan parameter aplikasi genTree………... 23 Tabel 3. Fungsi dan Fasilitas Generator Pohon ………. 24

(7)

vii

DAFTAR GAMBAR

Gambar 1. Parsing Tree………. 5

Gambar 2. Algoritma Cocke-Younger-Kasami (CYK)……… 7

Gambar 3. Tabel string „w‟ dengan panjang 5……… 9

Gambar 4. Tabel perbandingan substring „w‟ dalam G ……… 10

Gambar 5. Tabel Menghitung baris terbawah………... 10

Gambar 6.Konstruksi Baris Kedua kolom 1.………... 11

Gambar 7.Konstruksi Baris Kedua Kolom 2………... 11

Gambar 8.Konstruksi Baris Kedua Kolom 3………... 12

Gambar 9.Konstruksi Baris Kedua Kolom 4………... 12

Gambar 10.Hasil Akhir Entri Tabel CYK………... 13

Gambar 11. Kerangka Pikir Penelitian ……….. 15

Gambar 12.Model Generator Pohon………... 17

Gambar 13.Rancangan Arsitektur Generator Pohon ...………... 18

Gambar 14.Fase RAD ………...………..……... 19

Gambar 15.Kernel Model Generator Pohon ………... 22

Gambar 16.Use Case Gentree ………..………..…..……... 26

Gambar 17.Robustness Class Analysis ...………..………...……... 29

Gambar 18.Activity Diagram Output Terminal…………..………... 30

Gambar 19.Activity Diagram Output File ...………..………... 30

Gambar 20.Sequence Diagram Output Termiinal…………..……….…... 31

Gambar 21.Sequence Diagram Output File…………..………... 31

(8)

viii

DAFTAR LAMPIRAN

Lampiran 1 Biodata Peneliti Lampiran 2 Active Submission

(9)

ix RINGKASAN

Analisa sintaksis merupakan rangkaian proses dalam rangka memvalidasi suatu string yang diterima oleh suatu bahasa. Pada bagian ini seringkali sulit untuk di jelaskan dengan baik, khususnya saat melakukan penurunan aturan hingga menjadi pohon yang valid di terima oleh bahasa. Dalam studi otomata, memahami proses penurunan aturan hingga menjadi pohon (parsing tree) penting untuk di ajarkan dengan baik. Dalam penelitian ini kami memilih algoritma Cocke Younger Kasami (CYK) sebagai salah satu kasus dasar pengajaran studi otomata dalam analisa sintak hingga menghasilkan pohon. Algoritma CYK adalah algoritma untuk parsing terhadap context free grammar (CFG) dalam bentuk Chomsky Normal Form (CNF).

Penelitian ini bertujuan menghasilkan suatu aplikasi yang dapat men-generate informasi yang berupa file gambar visual dan tekstual yang merupakan representasi pohon dari string yang di terima bahasa, penurunan aturan dari grammar, serta kode dasar dari file gambar yang dapat di kompilasi dan di kustomisasi tersendiri. Aplikasi juga menampilkan informasi mengenai proses penurunan string input hingga menjadi pohon juga. Beberapa studi kasus akan di analisa dalam penelitian ini untuk memperoleh pemahaman yang lebih mendalam tentang bagaimana aplikasi menangani permasalahan yang variatif sedemikian sehingga menghasilkan penurunan aturan dan pohon yang valid serta mudah untuk di pahami.

Metode yang digunakan dalam mengembangkan aplikasi penelitian ini adalahRapid Application Development (RAD) dan diharapkan menghasilkan aplikasi berbasis console sederhana, yang terdiri dari rancangan arsitektur sistem, untuk mewujudkan model menjadi aplikasi. Fokus dari bagian ini adalah bagaimana manipulasi terhadap data, komunikasi data antar obyek dan sebagainya.Selanjutnya, mengembangkan sistem, setelah arsitektur terbentuk maka disain input dan output dalam bentuk prototype di buatdan fungsionalitas aplikasi di kembangkan dengan metode RAD. Analisa studi kasus terhadap beberapa variasi grammar dan input string akan di lakukan, di harapkan dari studi ini dapat di peroleh informasi nyata bagaimana aplikasi menangani data dan menghasilkan penurunan aturan dan pohon yang valid. Terakhir,penulisan laporan penelitiandi harapkan dalam bentuk laporan kegiatan, paper atau prosiding dalam skala nasional.

(10)

1

BAB 1. PENDAHULUAN 1.1.Latar Belakang

Otomata dan teori bahasa merupakan bagian yang sangat berperan dalam teknik komputasi pada komputer saat ini. Dilain pihakotomata dan teori bahasa sulit untuk dipahami secara manual karena algoritma dan pendekatan yang sangat rumit untuk dipelajari(Wantah Satria, 2013). Grammar merupakan salah satu bagian dari ilmu otomata, yang implementasinya adalah bagaimana merepresentasikan secara linier dari suatu grammar atau di kenal dengan istilah parsing. Parsing merupakan bentuk representasi linier yang menghasilkan suatu pohon (Parsing Tree) (Aho, 1973; Appel, 1998; Grune, 2008). Pemodelan bahasa ke dalam suatu bentuk matematis sudah di kenalkan oleh Chomsky.(Aho, 2007).

Otomata dan teori bahasa di kenal sangat rumit dan lambat perkembangannnya, baik dari segi algoritma dan teori maupun implementasinya. Namun keberadaannya menjadi sangat sentral di dunia komputasi, karena tanpanya komputer tidak dapat berkembang seperti saat ini. Salah satu bagian dari otomata adalah teori parsing atau grammar atau analisa sintak (Hopcroft et.all, 2001), yang akan menjadi focus implementasi dalam penelitian ini

Berdasarkan latar belakang di atas maka penulis akan mengangkat tema penelitian yaitu pembuatan alat generator pohon yang menghasilkan penurunan aturan dan pembuatan pohon baik secara tekstual atau visual dari suatu contex free grammar pada algoritma CYK untuk mempermudah proses pembelajaran pada mata kuliah teori bahasa dan otomata.

1.2. Rumusan Masalah

Berdasarkan latar belakangdi atas, permasalah yang di hadapi dan yang akan diteliti adalah :

a. Bagaimana membuat model generator untuk menghasilkan pohon dari string dan contex free grammar dalam bentuk Chomsky Normal Form ? b. Bagaimana mewujudkan model di atas menjadi prototipe alat bantu yang

(11)

2

grammar berbasis algoritma CYK pada matakuliah teori bahasa dan otomata.

1.3.Batasan Masalah

Tentu saja terdapat beberapa batasan dalam rangka menyelesaiakan masalah yang di kemukakan di atas, diantaranya adalah :

1. Model penyelesaian masalah yaitu membatasi input grammar berupa bentuk normal Chomsky (Chomsky Normal Form) dan string sebagai input.

2. Algoritma parsing yang di pakai adalah Cocke-Younger-Kasami (CYK). 3. Output yang di hasilkan berupa informasi dalam bentuk file yang terdiri

dari hasil penurunan (left most derivation), pohon, baik secara tektual maupun visual (image) serta source code untuk pohon (file *.dot).

4. Aplikasi hanya dapat di jalankan dengan Java SE 1.7dan Graphviz 2.38 terinstall di komputer.

(12)

3

BAB 2. TINJAUAN PUSTAKA 2.1. Teori Bahasa dan Otomata

Teori otomata merupakan ilmu tentang perangkat komputer atau mesin yang abstrak (Hopcroft,2001). Otomata telah banyak bermanfaat dan terus meningkat hingga sangat besar perannya dalam penerapan di ilmu alam(Neumann,1951). Dalam decade terakhir, otomata telah banyak digunakan dalam bagian-bagian tertentu dari ilmu matematika, tetapi tidak secara eksklusif, matematika fisika atau matematika terapan. Peran otomata dalam matematika adalah menyajikan bagian yang penting dalam aspek fungsional.Konsep finite automata dan formal grammar digunakan dalam perancangan dan pembangunan perangkat lunak. Sementara Mesin Turing di yakini dapat membantu memahami dari apa yang diharapkan pada suatu perangkat lunak.

2.2. Generator

Secara umum makna generator dalam ilmu komputer adalah rutin atau modul khusus yang dapat digunakan untuk mengontrol prilaku iterasi atau loop (Wikipedia, 2015). Dalam penelitian ini, generator yang di maksud merupakan proses translasi input kode sumber menjadi output program yang dapat di eksekusi (Aho et.al, 2007., Aho and Ullman, 1973), melalui analisa lexical dan pemaknaan semantik, yang di hasilkan oleh grammar.

2.3. Grammar

Grammar merupakan aturan kontekstual suatu sintak dengan terdapat semantik didalamnya dari suatu bahasa formal. Sintak yang di gunakan dalam penelitian ini menggunakan CNF (Chomsky-Norm Form) yang berasal dari Context Free Grammar (CFG) (Aho et.all, 2007., Appel, 1998., Watt et.all 2000), yang terdiri dari himpunan berhingga simbol terminal, simbol non terminal, simbol awal dan aturan produksiN  |, dimana N adalah simbol non terminal , berarti terdiri dari serta adalah string terminal atau non

(13)

4

terminalyang mungkin kosong serta simbol | yang berarti alternatif, himpunan tadi di sebut sebagai context-free grammar, singkatnya grammar.

Bahasa atau grammar menentukan abstraksi sintak dalam suatu himpunan Abstract Syntax Tree (AST), tiap simpul non terminal dari AST mempunyai label aturan produk yang berlaku dan grammar tidak menghasilkan suatu kalimat untuk simbol terminal yang tidak berperan dalam abstraksi sintak.

Noam Chomsky menggolongkan tingkatan tata bahasa menjadi empat golongan menurut aturan produksi dalam Chomsky-hierarchy of grammar (Grune, 2008), yaitu :

1. Tipe 0 – recursively enumerable grammars or unrestricted grammars. 2. Tipe 1 – context-sensitive grammars.

3. Tipe 2 – context-free grammars. 4. Tipe 3 – regular grammars.

Penelitian ini menggunakan Context-Free Grammar yang termasuk kedalam tipe 2 dari Chomsky-hierarchy of grammar. Aturan produksi dalam Context-Free Grammar adalah pada sisi kiri hanya boleh terdapat satu simbol non-terminal. Sebagai contoh Context-Free Grammar adalah sebagai berikut:

S → AB A → AA | a B → BB | b

2.4. Abjad, String dan Bahasa

Dalam teori bahasa dan otomata di kenal 3 definisi formal yang penting yaitu abjad (himpunan simbol), string (barisan simbol dari himpunan abjad), dan bahasa (kumpulan dari string) (Aho, 2007;Appel, 1998;Hopcroft, 2001).

Abjad merupakan himpunan simbol yang terbatas dan tidak kosong. Secara umum, notasi yang di pakai adalah “∑” (sigma)yang melambangkan suatu abjad. Berikut contoh abjad :

1. ∑ = {0, 1} , himpunan abjad biner.

2. ∑ = {a, b, c, ... , z} , himpunan huruf kecil.

(14)

5

String adalah kumpulan simbol yang terbatas dari beberapa abjad. Notasi dari string ditulis dengan “w” sementara panjang dari string dinotasikan dengan dengan “|w|”. Berikut contoh suatu string dan operasinya :

w = 01001 ; |w| = 5 w = contoh ; |w| = 6

Bahasa merupakan kumpulan dari string. Suatu bahasa yang anggotanya semua string yang mungkin dari suatu abjad atau bahasa yang tidak memiliki aturan (∑*). Notasi dari bahasa dilambangkan dengan simbol “L”.

2.5. Teknik Parsing

Parsing merupakan proses analisis sintaksis dari data masukan, yang diberikan sebagai sebuah string text, untuk menentukan struktur suatu grammar(Skrzypczak,2011).Output dari proses parsing yaitu menjawab apakah string text yang diberikan termasuk kedalam bahasa yang menjelaskan grammar tertentu. Output tambahan yang dihasilkan dari proses parsing adalah parsing tree.

Parsing Tree merupakan representasi berbentuk pohon (tree) dari proses penurunan (derivation)(Grune,2008;Parr, 2011). Dalam tree ini digambarkan secara jelas bagaimana simbol terminal string dikelompokkan kedalam substring yang masing-masingdimiliki olehbahasasalah satu variabeldaritata bahasa. Tetapi parsing tree mungkin lebih penting digunakan pada compiler, dimana struktur data merepresentasikan source dari program. Pada compiler, struktur tree dari source program menyediakan translasi dari source program kedalam kode yang dapat dieksekusi dengan mengikuti fungsi natural dan rekursif untuk mendukung proses translasi, seperti gambar 1 di bawah ini.

(15)

6

Dalam proses penurunan (derivation) terdapat dua pendekatan, yaitu left-most derivation dan right-most derivation(Aho, 2007 ; Parr 2010,2011). 1. Left-most derivation adalah proses penurunan dengan menurunkan variabel

paling kiri terlebih dahulu.

Contoh : S → aAS | a A → SbA | ba

Dari aturan tersebut, untuk memperoleh string “aabbaa” prosesnya adalah : S → aAS → aSbAS → aabAS → aabbaS → aabbaa

2. Right-most derivation adalah proses penurunan dengan menurunkan variabel paling kanan terlebih dahulu.

Contoh : S → aAS | a A → SbA | ba

Dari aturan tersebut, untuk memperoleh string “aabbaa” prosesnya adalah : S → aAS → aAa → aSbAa→ aSbbaa→ aabbaa

Terdapat dua teknik dalam melakukan proses parsing, yaitu top-down parsing dan bottom-up parsing (Aho, 2007). Top-down parsing adalah proses pembentukan parsing tree mulai dari akar (root) menuju ke daun (leaf). Bottom-up parsing adalah proses pembentukan parsing tree mulai dari daun (leaf) menuju ke akar (root). Kedua teknik parsing tersebut dapat diterapkan sebagai directional dan non-directiona. Metode directional dapat membangun partial tree saat melakukan pemrosesan selanjutnya pada string yang dimasukkan, kecuali grammar yang bersifat ambigu dan membutuhkan beberapa pemrosesan sebelumnya. Metode directional dapat dikembangkan kedalam bentuk yang deterministic supaya tidak terjadi ambiguitas. Sedangkan metode non-directional pada tahap pertama membentuk struktur data yang merangkum struktur gramatikal dari string yang dimasukkan, kemudian pada tahap kedua membuat parsing tree dari struktur data tersebut.

2.6. Algoritma Cocke-Younger-Kasami

Algoritma Cocke-Younger-Kasami (CYK) menggunakan tata bahasa Context-Free Grammar. Kelemahan dari algoritma Cocke-Younger-Kasami

(16)

7

(CYK) adalah pada tata bahasanya, harus dalam bentuk Chomsky Normal Form (CNF), yaitu tidak terdapat string kosong, produksi unit, dan produksi useless(Aho, 2007). Tetapi masalah ini bukan menjadi hambatan karena Context-Free Grammar sudah dapat diubah kedalam bentuk Chomsky Normal Form (CNF) (Grune, 2008).

Algoritma Cocke-Younger-Kasami (CYK) merepresentasikan struktur data tabel (array) 2 dimensi atau matriks berbentuk segitiga, dimana masing-masing entri menampung hasil parsing semantara, kemudian akan digunakan untuk tahap selanjutnya hingga semua string yang diinputkan telah selesai diproses. Berikut adalah pseudocode algoritma Cocke-Younger-Kasami (CYK)(Lange,2009; Nathan,2009).

Gambar 2 : Algoritma Cocke-Younger-Kasami (CYK)

Gambar 2 dapat di jelaskan sebagai berikut, untuk input grammar G dalam bentuk Chomsky normal form (CNF) dan suatu string w atas terminal alphabet dari G, outputnya berupa Tabel T yang berisi tiab substring v dari string w, himpunan non terminal turunan v, misalnya properti sintaktik. Pada saat tertentu T menunjukan pada kita bahwa w adalah string dari G. Dengan demikian, menggunakan notasi yang di tunjukan di atas pada gambar 2, menunjukan dimana penurunan non terminal dari substring ai…aj dari w di simpan dalam Tij. Properti Sintatik w dapat

input:G=(N,Σ,S,)dalamCNF, string w=a1..an∈Σ+

CYK(G,w)= 1 for i=1…n do 2 Ti,i := {AN | A ai} 3 for j=2…n do 4 for i=j-1…1 do 5 Ti,j:=; 5 for h=i…j-1 do 6 for all A BC

7 if B Ti,h and C Th+1,j then

8 Ti,j:=Ti,j {A}

(17)

8

di hitung dari seluruh property sintaktik substring v dari string w dengan pendekatan pemrograman dinamis. Dengan menyimpan non terminal yang di turunkan oleh v dalam table Tv dan menghitung Tw dengan mengkombinasikan entri yang di simpan pada Tv sesuai aturan dari G dan seluruh kemungkinan pemisahan dari w ke dalam m yang merupakan substring v, dimana m adalah jumlah maksimal symbol dalam sisi kanan aturan grammar.

Algoritma Cocke-Younger-Kasami (CYK) bekerja dengan cara mengisi matriks segitiga n x n, dimana masing-masing entriberisi simbol-simbol non-terminal, yang diinisialisasi pertama kali kosong. Input dari algoritma ini adalah string a1a2a3...an yang diproses oleh grammar G yaitu Context Free Grammardalam bentuk Chomsky Normal Form. Tabel 1 menunjukan model matriks yang digunakan dalam algoritma Cocke-Younger-Kasami (CYK)yang berasal dari Context Free Grammar, dengan ukuran sesuai panjang string, string disini adalah “baaba” sehingga |baaba| = n = 5, maka matrik yang di buat adalah 5 X 5, dengan grammar :

S  AB | BC A  BA | a B  CC | b C  AB | a

Tabel 1 : Model Matriks Cocke-Younger-Kasami (CYK)

b a a b a 1 2 3 4 5 b 0 a 1 a 2 b 3 a 4

Matrik pada table 1 di isi dengan beberapa langkah sesuai algoritma. Langkah pertama melakukan iterasi i, dimana ibernilai mulai dari 1 sampai panjang string n=4, kemudian dilakukan pengisian matriks pada entri (Ti, i) dengan setiap simbol non-terminal yang memproduksi string ke-i. Kemudian dilakukan iterasi i dimana i bernilai mulai dari j-1, dimana j=2 sepanjang n, dengan demikianperlu dilakukan iterasi untuk h dimana h bernilai mulai dari

(18)

9

isampai j-1, demikian juga dilakukan pengisian terhadap matriks entri(i,j) dengan simbol non-terminal yang memproduksi BC, dimana B merupakan simbol-simbol terminal pada matriks entri(i,k) dan C merupakan simbol-simbol non-terminal pada entri(k,j). Algoritma mengenali string yang dimasukkan berdasarkan grammar yang diberikan, jika simbol start dari grammar berada di entri(0,n)dalam matriks.

Berikut implementasi dari contoh diatas dengan teknik parsing berbasis algoritma CYK. Chomsky Normal Form didefinisikan sebagai himpunan kondisi yang tiap rule dalam grammar harus terpenuhi dalam bentuk sebagai berikut :

a. ABC ;paling banyak 2 simbol di sisi kanan b. Aa atau ;terdapat terminal simbol

c. S ;string kosong

Dimana B, C  V-{S}, lalu di buat Tabel segitiga dimana tiap baris berhubungan dengan salah satu panjang substring, yaitu

- Baris terbawah dengan panjang string 1 - Kedua dari bawah dengan panjang string 2 - …

- Baris teratas merupakan string w

Gambar 3. Tabel string „w‟ dengan panjang 5

Lalu tentukan matrik Xi,i yaitu himpunan variable A sedemikian rupa

sehingga Awi merupakan produksi dari G. Langkah selanjutnya adalah

bandingkan paling banyak n pasang himpunan dari hasil komputasi sebelumnya, (Xi, i , Xi+1, j), (Xi, i+1 , Xi+2, j) … (Xi, j-1 , Xj, j ) seperti pada gambar 4 sebagai

(19)

10

Gambar 4. Tabel perbandingan substring „w‟dalam G Dari kasus di atas, grammar CNF G :

S  AB | BC A  BA | a B  CC | b C  AB | a

Dimana w = baaba, apakah w di terima oleh G ?Pertama-tama hitung baris bawah, yaitu seperti gambar 5 berikut,

Gambar 5. Menghitung baris terbawah X1,2 = (Xi,i ,Xi+1, j) = (X1,1 , X2,2) {B}{A,C} = {BA, BC}

Langkah selanjutnya, kita akan mengisi baris kedua dari bawah kolom pertama dengan cara cari produksi rule untuk mengenerate BA atau BC, terdapat dua rule yaitu S dan A, sehingga X1,2={S,A},

S AB | BC ABA | a B CC | b C AB | a

(20)

11

Hasil dari perhitungan di atas dapat di tunjukan dalam gambar 6 seperti di bawah ini.

Gambar6. Konstruksi Baris Kedua kolom 1

Selanjutnya kita akan konstruksi baris kedua dari bawah selanjutnya, dengan menghitung sebagai berikut, cari produksi rule yang menghasilkan Y, ada satu yaitu B, untuk mendapatkan X2,3 = (Xi,i ,Xi+1,j) = (X2,2 , X3,3)  {A,C}{A,C} =

{AA, AC, CA, CC} = Y, X2,3= {B}, seperti di tunjukan pada gambar 7,

S  AB | BC A  BA | a

BCC | b C  AB | a

Gambar7. Konstruksi Baris Kedua Kolom 2

Langkah selanjutnya, mengenerate baris kedua pada kolom 3, adalah dengan cara mencari produksi rule Y={AB,CB}, yaitu X3,4 = (Xi,i ,Xi+1,j) = (X3,3 , X4,4) {A,

C}{B} = {AB, CB} = Y, terdapat 2 yaitu S dan C shingga X3,4={S,C}, seperti

terbentuk pada gambar 8 berikut

SAB | BC A  BA | a B  CC | b

(21)

12

Gambar8. Konstruksi Baris Kedua Kolom 3

Langkah selanjutnya adalah mengisi baris kedua kolom 4, dengan mencari produksi rule yang menghasilkan Y={S,A}, X4,5 = (Xi,i ,Xi+1,j) = (X4,4 , X5,5)

{B}{A, C} = {BA, BC} = Y, sehingga X4,5={S,A}, seperti pada gambar 9

berikut,

S AB | BC ABA | a B  CC | b CAB | a

Gambar9. Konstruksi Baris Kedua Kolom 4

Langkah selanjutnya adalah mengisi Baris ketiga kolom 1 hingga 3 caranya mirip dengan sebelumnya, cari produksi rule yang menghasikan Y=, hasilnya tidak ada S dan A, karena tidak ada elemen di himpunan tersebut sehingga X1,3={},

yaitu X1,3 = (Xi,i ,Xi+1,j) (Xi, i+1 ,Xi+2,j) = (X1,1 , X2,3) , (X1,2 , X3,3)  {B}{B} U {S,

A}{A, C}= {BB, SA, SC, AA, AC} = Y.

S AB | BC A BA | a

B  CC | b CAB | a

(22)

13

Selanjutnya untuk X2,4 = (Xi,i ,Xi+1,j) (Xi,i+1 ,Xi+2,j) = (X2,2 , X3,4) , (X2,3 , X4,4) 

{A, C}{S, C} U {B}{B}= {AS, AC, CS, CC, BB} = Y, cari produksi rule yang menghasilkan Y, terdapat satu yaitu B, X2,4={B}.

S  AB | BC A  BA | a

BCC | b CAB | a

Untuk X3,5 = (Xi,i ,Xi+1,j) (Xi, i+1 ,Xi+2, j) = (X3,3 , X4,5) , (X3,4 , X5,5) {A,C}{S,A}

U {S,C}{A,C} = {AS, AA, CS, CA, SA, SC, CA, CC} = Y, cari produksi rule yang menghasilkan Y, ada satu yaitu B, sehingga X3,5 ={B}.

S  AB | BC A  BA | a

BCC | b CAB | a

Begitu seterusnya X1,4 ={}, X2,4 ={S,A,C} dan X1,5 ={S,A,C} hingga hasil

akhir dari parsing string “baaba” di atas adalah seperti pada gambar 10 berikut :

Gambar 10. Hasil Akhir Entri Tabel CYK

Gambar 3 di atas menunjukan hasil pembentukan table dengan |w|=5, sekali gus menjawab apakah w di terima G dan hasilnya diterima, kita dapat lihat bahwa S dalam X1,n dimana n=5 dengan entri selX15={SAC} maka jika SX15 maka baaba G.Algoritma CYK secara benar terbukti dapat mengkomputasi Xij untuk

semua i dan j, dengan demikian w berada dalam L(G) jika dan hanya jika S berada dalam X1n, dan algoritma ini berjalan pada O(n3).

(23)

14

BAB 3. TUJUAN DAN MANFAAT PENELITIAN 3.1 Tujuan Penelitian

Tujuan dalam penelitian yang akan di capai adalah membuat aplikasi atau tool yang mampu men-generate input grammar Chomsky Normal Form dan string yang diterima bahasa untuk menghasilkan output berupa penurunan aturan (left most derivation rule), pohon baik dalam bentuk text maupun visual (image) serta source code untuk pohon (*.dot). Sehingga alat ini mempermudah pemahanan siswa yang belajar parsing terhadap suatu grammar (CYK). Alat ini dapat menjadi kontributor dalam memberi dukungan pada proses belajar teori bahasa dan otomata.

3.2 Manfaat Penelitian

Dari tujuan yang ingin di capai, maka penulis ingin mengambil manfaat dari generator yang di hasilkan sebagai berikut :

1.Mempermudah pemahaman siswa terhadap bagaimana penurunan aturan dengan algoritma CYK.

2.Sebagai alat visualisasi pohon yang di hasilkan oleh algoritma CYK dalam bentuk tektual dan visual secara valid., tanpa harus menggambarmanual. 3.Sebagai alat bantu pembelajaran siswa pada mata kuliah teori bahasa dan

otomata .

3.3 Luaran Penelitian

Luaran dari penelitian ini adalah suatu aplikasi berbasis console atau terminal dalam kompresi jar, yaitu suatu generator pohon (tektual dan visual), aturan penurunan dan source code untuk pohon.Aplikasi ini diberi nama Generator Tree (selanjutnya di singkat GT). Aplikasi berbasis konsole ini memerlukan parameter untuk menjalankannya yang akan di bahas pada bagian implementasi.

3.4 Kontibusi Penelitian

Kontribusi dari aplikasi yang di buat ini di harapkan dapat memberi dukungan terhadap proses belajar mengajar (PBM) pada matakuliah teori dan bahasa otomata pada bagian parsing, dan selanjutnya secara kontinyu akan disempurnakan. Selain itu penelitian di harapkan memberi kemudahan dalam hal otmatisasi dalam hal

(24)

15

menghasilkan suatu pohon yang valid dan dapat di percaya berbasis suatu algoritma dalam pembelajaran teori dan bahasa otomata.

3.5 Kerangka Pikir

Teori bahasa dan otomata merupakan salah satu matakuliah terpenting dalam studi ilmu komputer. Masalah dalam dunia komputer masih banyak bergantung pada mata kuliah ini, karena dalam lingkup pemrograman pembuatan alat yang di pakai pasti berbasis pada teori bahasa dan otomata. Dengan kata lain bahasa formal, yaitu bahasa yang hanya di pahami oleh komputer, merupakan studi yang penting untuk di kuasai mahasiswa. Pemahaman terhadap teknik bahasa formal diharapkan membantu mahasiswa dapat membuat disain bahasanya sendiri. Generator pohon berbasis algoritma CYK, merupakan alat sederhana untuk di gunakan sebagai pemahaman suatu hal yang rumit, karena dapat menghasilkan representasi logik yang sederhana baik dalam bentuk tekstual maupun gambar (image), seperti di jelaskan pada gambar 11 di bawah ini,

Gambar. 11 Kerangka Pikir Penelitian

Gambar 11 menunjukan kerangka pikir dalam penelitian ini, dimana pertama kali kita tentukan model terhadap grammar dan input untuk grammar tersebut. Model Grammar yang di tentukan merupakan representasi dari mata

Model GrammarCNF

Generator Pohon

- Pohon

(tektual dan gambar) - LMD

- Source Code

DOT

Antarmuka GraphViz

Teori dan Bahasa Otomata

Kemudahan memahami Algoritma

(25)

16

kuliah teori bahasa dan otomata, bagian parsing atau analisa sintaksis. Dalam hal ini penulis ingin mengimplementasikan model Contex Free Grammar(CFG) dalam bentuk Chomsky Normal Form(CNF) sebagai aturan dasarnya. Tentu saja diperlukan string input untuk menghasilkan pohon dari model yang di maksud yang akan di lakukan oleh Generator Pohon. Generator Pohon merupakan inti atau kernel dari kerangka diatas, yang terdiri dari parsing berbasis algoritma CYK yang akan membaca rule berbentuk CNF dan akan memproduksi tabelturunan secara left most derivation, apakah string input dapat di terima oleh model atau tidak. Jika input dapat di terima oleh model dari hasil parsing dengan algoritma CYK, maka hasil penurunan tersebut di oleh menjadi pohon secara logic dalam 3 bentuk yaitu terurut dengan format prefix, infix dan postfix. Pohon yang di hasilkan akan di lakukan traversal dan di masukan ke dalam stack tiap kunjungan ke node. Data dari stack terebut di baca untuk di tulis dalam bahasa DOT, yaitu suatu domain specific language yang menghasilkan graph. Untuk merealisasikannya diperlukan antarmuka GraphViz, karena kerangka diatas akan di implementasikan dengan java. GraphViz merupakan antar muka berbasis java untuk DOT, sedemikian rupa sehingga akan di hasilkan pohon dalam bentuk gambar (dengan format PNG). Hasil generator pohon ini di harapkan akan mempermudah pemahaman siswa terhadap ilmu yang di peroleh dalam kelas teori.

(26)

17

BAB 4. METODE PENELITIAN

4.1.Teknik Penelitian

Teknik yang kami pakai dalam penelitian ini adalah teknik perekayasaan pada perangkat lunak, dimana secara umum akan di gunakan untuk membangun perangkat lunak aplikasi yang menjadi tujuan dalam penelitian ini. Metode perekayasaan yang di gunakan adalah terdiri dari penentuan model penelitian, lalu mengerjakan disain arsitektur aplikasi dan di implementasikan dengan metode Rapid Application Development (RAD).

4.2.Lokasi Penelitian

Penelitian di lakukan di lingkungan Universitas Dian Nuswantoro, khususnya untuk pengujian dan simulasi aplikasi pada mahasiswa, di laboratorium dasar Fakultas Ilmu Komputer Universitas Dian Nuswantoro, Semarang.

4.3.Model Penelitian

Metode rekayasa perangkat lunak yang akan dilakukan terdiri dari penentuan model generator pohon, yaitu Context Free Grammar (CFG) dalam bentukChomsky Normal Form (CNF) di translasikan menjadi daftar penurunan aturan , pohon dan source code untuk pohon (*.dot), dilanjutkan dengan membuat generator berbasis Cocke-Younger-Kasami (CYK), selanjutnyadisain arsitektur sistem di buat berbasis UML, sedang pembangunan sistem dengan metode RAD (Somerville,2011).

4.3.1. Penentuan Model Generator Pohon

Menentukan model standar notasi algoritmik merupakan jantung dari penelitian ini, di karenakan model ini merupakan kerangka utama dari aplikasi yang akan di hasilkan. Model notasi yang di pilih merupakan model notasi Chomsky Norm Form (CNF) (Skrzypczak,2011). Secara umum arsitektur model grammar yang di pakai adalah seperti dalam gambar 12 sebagai berikut :

Gambar 12. Model Generator Pohon

Input CNF dan

string Generator Pohon

left most derivation rule , pohon dan dot

(27)

18

Model terdiri dari 3 buah langkah yaitu Notasi CNF dan string input, yang berupa grammar (context free grammar) yang sudah dalam bentuk CNF serta string input yang dapat di terima oleh grammar, keduanya merupakan input yang akan di proses oleh generator pohon dan akan menghasilkan (menggenerate) pohon, baik secara visual (image/*.png) maupun textual (*.txt) dan source code pohon untuk dapat di kustomisasi dalam format *.dot.

4.3.2. Perancangan dan Pembangunan Arsitektur Sistem

Suatu sistem aplikasi di kembangkan dengan suatu metode atau cara yang beragam, penelitian ini akan menggunakan pendekatan dalam mengembangkan aplikasi yaitu Rapid Application Development (RAD). Adapun rancangan arsitektur secara umum sebagai kerangka pikirnya adalah seperti gambar 13 sebagai berikut :

Gambar 13. Rancangan Arsitektur Generator Pohon

Setup Parameter Input :

*.cnf –i *.str <[-ot *.txt]|[-oi *.png]|[-o]>

Validasi Input

Proses Input :

a. Alokasikan data matriks untuk parsing CYK

b. Proses Input string dan CNF dengan CYK

String Diterima

CNF?

Generate Pohon, Penurunan dan source code

Menampilkan Pesan Kesalahan Generate Pohon dengan

kesalahan Start dan End

Ya Tidak

Ya

(28)

19

Dari gambar 13 dapat diterangkan, input yang berupa file grammar dalam format Chomsky Norm Form dan input string (*.cnf, *.str)akan di baca atau di parsing dengan algoritma CYK. Jika semua input tidak sesuai (Validasi input) maka program selesai. Jika lolos validasi input maka langkah selanjutnya adalah mengalokasikann matrik atau table sesuai algoritma CYK. Setelah string input di periksa dan diterima oleh grammar maka akan di generate pohon, aturan penurunan dan source code untuk pohon visual. Jika input string tidak di terima oleh grammar, maka akan di tampilkan pesan kesalahan dan tetap akan di generate pohon yang terdapat kesalahan tersebut.

4.4.Rapid Application Development

Teknik pembangunan sistem yang di gunakan memanfaatkan pendekatan object oriented programming, dengan teknik Rapid Application Development (RAD). Disamping karena kemudahannya, teknik ini juga sangat cepat dalam membangun sistem skala menengah ke atas, berikut ditunjukan pada gambar 14.

Gambar 14. Fase RAD

Fase pengembangan sistem dengan metode RAD di bagi menjadi: (1) Fase

Planning, untuk menentukan tujuan, fungsionalitas dan scope yang akan di

kerjakan, (2) Fase User Design, yaitu menentukan interface dan bagaimana system akan bekerja dalam bentuk prototype, (3) Fase Construction, Prototype di konversi menjadi aplikasi yang sudah berfungsi, dengan pengkodea dan pengembangan fungsionalitas aplikasi, (4) Fase Cutover, merupakan fase terakhir dimana kegiatan utamanya adalah mencoba pada pemakai dan mendidik para pemakai (Sommerville, 2011).

(29)

20 4.5.Implementasi Aplikasi

Dalam rangka mencapai tujuan penelitian yaitu menghasilkan aplikasi generatorpohon berbasis algoritma CYK, kami akan mengimplementasikan penelitian sebagai berikut :

1. Menentukan dan membuat model untuk notasi CNF berbasis CFG sebagai input agoritma CYK.

2. Merancang tabel untuk algoritma CYK sebagai implementasi teknik parsing. 3. Mengintegrasikan tool atau alat untuk menghasilkan tree yaitu dengan

Aplikasi DOT dan antar muka graphViz

4. Membuat kompresi aplikasi dengan format Jar supaya mudah dan portable untuk di jalankan di semua platform.

(30)

21

BAB 5. HASIL YANG DICAPAI

5.1 Hasil Penelitian

Dalam penelitian pengembangan sistem (perekayasaan) generator pohon, akan di paparkan langkah demi langkah dan hasil yang telah di capai. Hasil yang di capai hingga saat ini di bagi dalam dua tahap pengembangan sistem yaitu pertama, penerapan model grammar yang dipilih yaitu Context Free Grammar dalam bentuk CNF (Chomsky Noramal Form) yang akan diolah dengan teknik parsing CYK (Cocke Younger Kasami). Kedua, mengimplementasikan rancangan generatorpohon dalam bentuk aplikasi console sederhana yang di kompres dengan dalam bentuk jar dengan pendekatan RAD, yang di implementasikan dengan menggunakan bahasa pemrograman Java SE 1.7 dengan Integrated Deveopment Environtment Eclipse Kepler.

5.1.1. Model Generator Pohon

Berdasarkan gambar 12 pada sub bab 4.3.1, model generator pohon merupakan kerangka blok yang terdiri dari input berupa notasi Context Free Grammar (CFG) dalam bentuk Chomsky Normal Form (CNF).Notasi CNF yang di piih sesuai dalam Cocke, Younger dan Kasami (Younger , 1967; Cocke, 1970;Kasami, 1969) sebagai grammarG={S,F,N,T}, S merupakan start symbol, F adalah fungsi transisi, N adalah symbol non terminal, serta T adalah symbol terminal. Notasinya lhsrhs, dimana lhs={S,N} sedangkan rhs={N,T}. Sementara string inputI={T | t1..n(a..z)} berupa alphabet huruf kecilt dari 1 hingga n yang berada dalam T.

Generator yang merupakan kernel dari model sebagai pemroses utama, di tuangkan dalam arsitektur yang di rancang pada gambar 15, yang tediri dari 5 blok yang saling berhubungan satu dengan yang lain, Aplikasi DOT, antarmuka GraphViz, Algoritma CYK, Struktur Data Pohon dan Koreksi Kesalahan Grammar. Keluaran dari model berupa 4 file yang terdiri dari file text (*.txt) dan gambar (*.png) untuk menyimpan pohon yang di hasilkan, file text (*.lmd) untuk menyimpan penurunan pohon dalam susunan left most derivation, serta file source code dari file gambar (*.dot) yang dapat di kustomisasi kemudian jika di perlukan.

(31)

22

Berikut gambar 15, yang merupakan building block kernel dari model generator pohon berada dalam kotak dengan outline warna merah.

Gambar 15. Kernel Model Generator Pohon

Semua bagian kernel model generator pohon di implementasikan dengan bahasa pemrograman java dan Aplikasi DOT. Bab selanjutnyan akan memaparkan implementasi dengan teknik pengembangan system Rapid Application Development.

Konstruksi Tabel Untuk Grammar

dan string input

Konstruksi Pohon dari penurunan

LMD Parsing Tabel

dengan teknik CYK

Menentukan Penurunan Left Most Derivation

(LMD)

Konstruksi source code dot dengan Traversal Pohon Antakmuka GraphViz Kompilasi dot dengan Aplikasi DOT Struktur Data Pohon File *.txt , File *.png File *.lmd, File *.dot Grammar CNF dan String input Kernel Generator Pohon

(32)

23 5.1.2. Implementasi RAD

Hasil implementasi metode RAD di tulis dengan paradigma object oriented dan akan di paparkan pada bagian di bawah ini.

A. Fase Planning

A.1 Tujuan

Menghasilkan aplikasi atau tool (generator) yang mampu men-generate input grammar (Model CNF) dan input string untuk bahasa tersebut menjadi tree dalam text dan image , left most derivation, source code dot. Dengan demikian alat ini diharapkan dapat membantu siswa dalam mempelajari mata kuliah teori bahasa dan otomata, khususnya dalam algoritma CYK .

A.2Kebutuhan

Aplikasiyang akan dibuat merupakan aplikasi console atau command line terminal application yang hanya dapat di jalankan di terminal atau command prompt pada platform windows. Aplikasi yang di buat untuk dapat menerima input berupa string grammar dan bahasa untuk grammar sedemikian rupa sehingga akan menghasilkan suatu output berdasarkan format dan parameter yang di kirim yaitu terdiri seperti table 3 berikut :

Format Aplikasi :

java –jar genTree.jar [opsi | [<file cnf><opsi [param]>]]

Tabel 2. Opsi dan parameter aplikasi genTree

Opsi Parameter Keterangan

-h - Akan mencetak menu bantuan untuk aplikasi genTree

-i <file *.str>-c

File *.str adalah input string untuk grammar *.cnf, diikuti parameter –c artinya output di tampilkan di console atau terminal dalam betuk window

<file *.str>-o

File *.str adalah input string untuk grammar *.cnf, diikuti parameter –o artinya output di tampilkan dalam file baik textual (*.txt) maupun grafik (*.png).

(33)

24 <file *.str>-o<file txt>

File *.str adalah input string untuk grammar *.cnf, diikuti parameter –o dan file txt, artinya output di tampilkan dalam file textual (*.txt) saja.

<file *.str>-o<file png>

File *.str adalah input string untuk grammar *.cnf, diikuti parameter –o dan file png artinya output di tampilkan dalam file grafik (*.png).

<file *.str>-ot

File *.str adalah input string untuk grammar *.cnf, diikuti parameter –ot artinya output di tampilkan dalam file *.txt yang namanya sama dengan file *.str

<file *.str>-ot<file txt>

File *.str adalah input string untuk grammar *.cnf, diikuti parameter –ot artinya output di tampilkan dalam file *.txt dengan nama file txt.

<file *.str>-oi

File *.str adalah input string untuk grammar *.cnf, diikuti parameter –oi artinya output di tampilkan dalam file *.png yang namanya sama dengan file *.str

<file *.str>-oi<file png>

File *.str adalah input string untuk grammar *.cnf, diikuti parameter –oi artinya output di tampilkan dalam file *.pngdengan nama file png

Demikian kebutuhan dari aplikasi dan cara menjalankan aplikasi untuk mendapatkan hasil output yang di inginkan, seperti di jelaskan dalam table 2 di atas.

A.3 Fungsional

Fungsi sistem ini adalah sebagai media yang menjembatani pengajar/dosen melakukan pendampingan kepada pembelajar/mahasiswa yang melakukan proses pembelajaran teori bahasa dan otomata. Tabel 3 berikut dapat lebih detail menjelaskan kebutuhan fungsional aplikasi yang di bangun.

Tabel 3 Fungsi dan Fasilitas Generator Pohon Kode Keterangan

Fungsi Dasar

D.1 Memberikan fasilitas untuk menampilkan penurunan suatu grammar di layar.

D.2 Memberikan fasilitas untuk menampilkan pohon di layar dalam bentuk preorder, inorder maupun postorder

(34)

25

citra pohon

D.4 Menyediakan fasilitas untuk menampilkan source code pohon dalam format DOT.

Fungsi Generator Pohon

C.1 Menyediakan fasilitas untuk menghasilkan file penurunan grammar C.2 Menyediakan fasilitas untuk menghasilkan file pohon baik dalam bentuk

citra maupun textual

C.2 Menyediakan fasilitas untuk menghasilkan file source code pohon dalam format DOT untuk kemudahan kustomisasi

A.4 Ruang Lingkup

Rancangan sistem yang dibuat merupakan sebuah sistem yang mampu menggenerateinput string Context Free Grammar (CFG) dalam bentuk Chomsky Normal Form (CNF) menjadi pohon dengan algoritma Cocke Younger Kasami (CYK) ,berisi modul utama program berupa executable jar file yang terdiri dari konstruktor table grammar, parsing table CYK, penurunan grammar dan struktur data untuk dapat menghasilkan pohon yang di maksud.Antar muka dan aplikasi luar yaitu dot dalam versi mini, juga berada dalam modul utama yang merupakan jembatan penghubung dari struktur data yang akan di olah menjadi citra pohon.

B. Fase Analisis

B.1. Use Case Diagram

Diagram Use-case di sini dijabarkan secara grafis yang menggambarkan interaksi antara sistem, sistem eksternal, dan pengguna dari aplikasi generator pohon yang akan dikembangkan. Diagram Use-case berikut menggambarkan siapa saja yang akan menggunakan aplikasi generator pohon, dan bagaimana cara pengguna berinteraksi dengan sistem yang dibuat. Use-case naratif akan menjelaskan sekuensi langkah-langkah dari setiap interaksi yang terjadi, sesuai dengan metode yang digunakan maka langkah-langkah yang dilakukan dalam membuat use-case diagram adalah sebagai berikut:

(35)

26 a) Mengidentifikasikan Pelaku Bisnis

Disini pelaku bisnis diartikan sebagai pemakai, user atau aktor yang akan terlibat dalam penggunaan aplikasi system ini, hanya terdapat satuactor dan satu system yang dapat di lihat pada tabel 8 di bawah ini, Generator pohon merupakan kernel atau inti sistemdari aplikasi yang bertugas menghasilkan file yang di maksud dalam aplikasi, sementara User adalah pemakai utama aplikasi yang memberikan input pada kernel sehingga dapat menghasilkan output yang di maksud oleh user, seperti di jelaskan pada table 4 di bawah ini:

Tabel 4. Identifikasi Pelaku Bisnis

Istilah Sinonim Deskripsi

1. Generator Pohon Generator Pohon Sistem yang dapat menghasilkan penurunan grammar, pohon tekstual dan grafis, serta source code dalam bentuk dot.

2. User Pengguna Individu atau orang yang memakai program Generator Pohon

b) Diagram model Use-case GenTree System

Generator pohon adalah aplikasi yang di beri nama sebagai genTreeyang merupakan singkatan dari Generator Tree, dan gambar 16 di bawah ini merupakan model utama dari system genTree yang di bangun dalam bentuk diagram use case.

(36)

27 - Console Session

Dalam console session user akan masuk ke terminal console untuk menjalankan aplikasi dengan memberi opsi dan parameter sesuai yang di butuhkan oleh aplikasi. Sesi ini merupakan persiapan user pada terminal console, karena aplikasi berbasis console.

- Parameterisasi Aplikasi

Parameterisasi aplikasi adalah user menspesifikasikan opsi dan parameter yang akan di berikan kepada aplikasi

- Help

User meminta bantuan bagaimana aplikasi di jalankan, untuk melakukan ini user menjalankan aplikasi tanpa parameter danopsi sama sekali atau dengan memberi –h pada opsi aplikasi.

- Terminal Output

Terminal output adalah suatu hasil yang di generate oleh aplikasi dalam bentuk textual pada console terminal dan window sederhana dengan tampilan kompak supaya mudah di pahami oleh user sesuai urutan generasi, berturut-turut adalah left most derivation, grafik pohon, pohon dalam bentuk list textual dan source code berformat dot.

- Generate File to Text

Generate File to Text adalah memberi perintah pada aplikasi yang di lakukan oleh user untuk menghasilkan output berupa file text dalam bentuk list pohon beserta left most derivation dan source code dot.

(37)

28

Generate File to Text adalah memberi perintah pada aplikasi yang di lakukan oleh user untuk menghasilkan output berupa file grafik (*.png) dalam bentuk list pohon beserta left most derivation dan source code dot.

- Generate All File

Generate All File adalah memberi perintah pada aplikasi yang di lakukan oleh user untuk menghasilkan output baik berupa file text (*.txt)dan file grafik (*.png) beserta left most derivation dan source code dot.

B.2 Analisa Class

Suatu awal pembacaan dari use case menyarankan bahwa bagian dari system berikut berupa suatu robustness analysis pada class seperti gambar 17 di bawah berikut yang terdiri dari :

 Terdapat 2controller objectyang mewakili Parameterisasi Aplikasi dan generator pohon itu sendiri.

 Boundary objects yang mewakili bagian komponen individual dari aplikasi genTree:

o Sesi console. o Help.

o Generate to Terminal o Generate File to Text. o Generate File to Image.

 Controller objects berhubungan pada use case untuk menghasilkan output pada terminal atau file

o Parameterisasi Aplikasi o Generator

 Suatu entity object yang mewakili hasil output aplikasi ke terminal  Suatu entity object yang mewakili hasil output aplikasi ke suatu file

(38)

29

Gambar 17Robustness Class Analysis

B.3 Activity Diagram

Diagram aktifitas menggambarkan berbagai alir aktifitas perancangan sistem, bagaimana alir berawal, keputusan yang mungkin terjadi, dan bagaimana berakhir. Grambar 18 dan 19 di bawah ini menunjukan diagram aktifitas yang di lakukan oleh user saat menggunakan genTree. Aktivitas dalam menjalankan aplikasi yang di tujukan hanya untuk menampilkan output ke layar, dalam hal ini layar terminal dan layar window. Output ini memerlukan parameter –c seperti di jelaskan pada table sebelumnya. Berikut gambar 18 menunjukan aktifitas aplikasi dalam menghasilkan output pada layar.

(39)

30

Gambar 18 Activity Diagram Output Terminal

Sementara pada gambar 19 di bawah ini, aktivitas yang di maksud adalah merupakan sequence aplikasi dalam mengenerate output ke suatu file, seperti di tunjukan pada gambar 19 berikut di bawah.

(40)

31

3 Sequence Diagram

Diagram Sequence menggambarkan perilaku pada sebuah scenario dapat di lihat pada gambar 20 dan 21 di bawah ini.

Gambar 20. Sequence Diagram Output Terminal

(41)

32

4 Class Diagram

Diagram class di sini menggambarkan hubungan antar class dan hubungan class dengan class pendukungnya. Gambar 22 menunjukan terdapat diagram classyang di hasilkan dari use case sebelumnya. Untuk DOT interface sengaja tidak di libatkan karena berupa aplikasi mini yang di sederhanakan dari aslinya, berikut selengkapnya diagram class dari genTree:

(42)

33

BAB 6. RENCANA TAHAPAN BERIKUTNYA

Dari hasil yang di capai, maka rencana tahap berikutnya dalam penelitian ini akan melanjutkan bagian implementasi diagram, Disain Interface, fase konstruksi dan evaluasi terhadap genTree, dengan melakukan eksperiment terhadap variasi inputan dan ingin mengetahui hasil dari generator.

(43)

34

BAB 7. KESIMPULAN DAN SARAN

Setelah melakukan penelitian perekayasaan guna membuat suatu aplikasi, maka hasil sementara yang dapat di simpulkan dalam penelitian ini adalah :

1. Pemilihan algoritma untuk di implementasikan dalam pengajaran teori bahasa otomata menjadi lebih mudah dimengerti dalam bentuk visual.

2. Aplikasi yang akandi bangun merupakan hasil implementasi dari model algoritma CYK dan grammar yang disesuaikan berhasil di kembangkan menjadi prototype aplikasi yang di beri nama genTree (Generator Tree).

Kedepan penelitian lanjutan dapat di kembangkan untuk dijadikan suatu model aplikasi sederhana dalam pengajaran teori bahasa dan otomata dengan memberi peluang pada algoritma lain untuk di komposisikan ke dalam aplikasi ini.

(44)

35 DAFTAR PUSTAKA

Alfred V Aho, Monica S Lam, Ravi Sethi , Jeffrey D Ullman, 2007,Compilers : principles, techniques, and tools Second Edition. New York : Pearson Education Addison Wesly.

Alferd V Aho, Jeffery D Ullman, 1973, The Theory of Parsing, Translation and Compiling. New York : Prentice Hall Englewood Cliffs, 1973. 0-13-914564-8. Andrew W Appel, Maia Ginsburg, 1998,Modern Compiler Implementation In C. New York : CAMBRIDGE UNIVERSITY PRESS.

Daniel M. Younger , 1967, Recognition And Parsing Of Context-Free Languages In Time n3 ,Information And Control 10, 189-208 (1967)

David A Watt, Deryck F Brown, 2000,Programming Language Processors in Java, Compiler and Intepreter. New York : Pearson Education, Addison Wesly. Dick Grune and Ceriel J.H. Jacobs, Parsing Techniques - A Practical Guide, 2nd ed., David Gries and Fred P. Schneider, Eds. New York, United States of America: Springer, 2008.

Ian Somerville, 2011, Software engineering, 9th edition, Pearson Education, Addison-Wesly, Boston, Massachusetts.

John Cocke and J. T. Schwartz, 1970, Programming Languages And Their Compilers

, Preliminary Notes Second Revised Version, Apri1, Courant Institute of Mathematical Sciences,New York University

John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ulman, Introduction to Automata Theory, Languages, and Computation, 2nd ed. United States of America: Addison-Wesley, 2001.

John Von Neumann, "The General and Logical Theory of Automata," Cerebral Mechanisms in Behavior, vol. I, no. 51, pp. 288-326, 1951.

Martin Lange, Hans Leiß, 2009, To CNF or not to CNF? An Efficient Yet Presentable Version of the CYK Algorithm, Informatica Didactica 8

Nathan Bodenstab, "Efficient Implementation Of The CKY Algorithm," Computational Linguistics, Final Project Paper 2009.

Piotr Skrzypczak, "Parallel Parsing of Context-Free Grammars," Blekinge Institute of Technology, Karlskorna, Master Thesis MCS-2011-28, 2011.

Shamshad Ali, "CYK Algorithm," International Journal of Scientific Research Engineering & Technology (IJSRET) , vol. I, no. 5, pp. 1-4, August 2012.

(45)

36

Stephen A. Blythe, Michael C. James, and Susan H. Rodger, "LLparse and LRparse: Visual and Interactive Tools for Parsing," Proceedings of the Twenty-fifth SIGCSE Technical Symposium on Computer Science Education, pp. 208-212, 1994.

Terence Parr, 2010, Language Implementation Patterns Create Your Own Domain-Specific and General Programming Languages. Raleigh, North Carolina Dallas, Texas : The Pragmatic Bookshelf.

Terence Parr, Kathleen Fisher, 2011,LL(*): the foundation of the ANTLR parser generator. s.l. : Vol 11 ACM SIGPLAN Notices - PLDI.

T. Kasami, K. Torii, 1969, A Syntax-Analysis Procedure For Unambiguous Context-Free Grammars, Journal Of The Acm (JACM) , Volume 16 Issue 3. Wantah Satria, Sri Handayaningsih, 2013 , Pembuatan Media Pembelajaran Untuk Proses Konversi Pada Finate Automata Berbasis Multimedia, Jurnal Sarjana Teknik Informatika

Volume 1 Nomor 1, Juni 2013 ,e-ISSN: 2338-5197.

http://en.wikipedia.org/wiki/Generator_%28computer_programming%29, di akses tanggal 2 April 2015

(46)

37 Lampiran 1. Justifikasi Anggaran Penelitian

1. Honor Honor Honor/Jam (Rp) Waktu (jam/minggu ) Minggu

Honor per Tahun (Rp) Th. 1 Th. 2 Ketua 7812.5 8 32 2,000,000 - Anggota 7000 5 28 980,000 - SUB TOTAL 2,980,000 - 2. Peralatan Penunjang Material Justifikasi Pemakaian Kuantitas Harga Satuan (Rp) Harga Peralatan Penunjang (Rp) Th. 1 Th. 2

USB Flas disk 16 GB Copy data &

aplikasi di Lab 2 buah 150.000 300,000 - Micro SDH 32 GB Dokumentasi 1 buah 260.000 260,000 - Upgrade Memori 2 GB

Menambah memori komputer

2 buah 320.000 640,000 -

Hardisk Eksternal 500 GB Backup Data 2 buah 800,000 1,600,000 - Modem CDMA Koneksi Internet 1 buah 500.000 500,000 -

SUB TOTAL 3,300,000 -

3. Bahan Habis Pakai

Material Justifikasi

Pemakaian Kuantitas

Harga

Satuan (Rp) Biaya per Tahun (Rp)

Th. 1 Th. 2 Materai 6000 Pengesahan Transaksi dan Perjanjian 10 lembar 7000 70,000 -

Kertas A4 S 80 G Cetak dokumen

& laporan 5 rim 36.000 180,000 - Kertas F4 70 G Cetak dokumen

& laporan 5 rim 37.000 185,000 - DVD-RW Burning aplikasi

dan modul 1 box 150.000 150,000 - Stop Map Buffalo Mengarsip

dokumen 22 buah 2.500 55,000 -

Stop Map Plastik Kantong Mengarsip

dokumen 26 buah 7.500 195,000 -

Folder File Mengarsip

dokumen kertas 10 buah 20.000 200,000 - Blocknote A4 Mencatat hasil

implementasi 20 buah 7.500 150,000 -

Ballpoint Alat tulis 15 lusin 20.000 300,000 -

Penggaris Alat gambar 6 buah 10.000 60,000 -

Biaya Komunikasi Komunikasi

(47)

38 Biaya Dokumentasi Dokumentasi

kegiatan 1 paket 200.000 200,000 - Biaya Pulsa Internet Koneksi internet 6 bulan 100.000 600,000 - Catridge Printer Deskjet Cetak dokumen

& laporan 1 buah 185.000 185,000 - Toner Printer laserjet Cetak dokumen

& laporan 1 buah 900.000 900,000 - Spidol White Board Alat tulis 4 lusin 85.000 340,000 - Clip, Staples, dll Clip, staples

dokumen 1 set 200.000 200,000 - SUB TOTAL 4,470,000 - 4. Perjalanan Material Justifikasi Perjalanan Kuantitas Harga

Satuan (Rp) Biaya per Tahun (Rp)

Th. 1 Th. 2

Perjalanan keLuar Kota Seminar/Prosidi

ng 2 orang

500,000 1,000,000 -

Taksi Dalam Kota Biaya Taksi

Dalam kota 4 PP

125,000 500,000

-

SUB TOTAL 1,500,000 -

5. Lain-lain

Material Justifikasi Kuantitas Harga Satuan (Rp)

Biaya per Tahun (Rp)

Th. 1 Th. 2 Sosialisasi Sosialisasi Penelitian 1 hari 300.000 300,000 - Laporan - Pengadaan Laporan 10 Eksemplar 10,000 100,000 - - Jilid Laporan HardCover 10 Paket 10,000 100,000 -

Call Paper/ Prosiding Registrasi

Pemakalah 2 Paket 360,000 720,000 - Sewa Laboratorium Komputer Simulasi Program kepada mahasiswa di Laboratorium 1 Paket 730,000 730,000 -

Forum Group Diskusi Honor

Pembahas 4 Orang 175,000 700,000 -

SUB TOTAL 2,650,000 -

TOTAL ANGGARAN YANG DIPERLUKAN SETIAP TAHUN (Rp)

Th. 1 Th. 2

14,900,000 - TOTAL ANGGARAN YANG DIPERLUKAN SELURUH TAHUN (Rp) 14,900,000

(48)
(49)

40

Lampiran 2. Susunan organisasi tim peneliti dan pembagian tugas

No Nama / NIDN Instansi Asal Bidang Ilmu Alokasi Waktu (jam/minggu) Uraian Tugas 1 Wijanarto / 0628027003 Univ. Dian Nuswantoro Ilmu Komputer 8

Koordinator & penanggung-jawab seluruh proses dan kegiatan

operasional penelitian, kajian teori dan pustaka, review instrumen penelitian, penyusunan laporan penelitian dan pengembangan modul generator pohon 2 Ajib Susanto / 615127404 Univ. Dian Nuswantoro Teknik Informatika 5

Koord. Laboratorium komputer untuk Ujicoba instrumen & pengumpulan data di lapangan,

(50)

41 Lampiran 3. Biodata ketua dan anggota.

A. Identitas Diri

1 Nama Lengkap (dengan gelar) Wijanarto, M.Kom.

2 Jenis Kelamin L

3 Jabatan Fungsional Asisten Ahli 4 NIP/NIK/Identitas lainnya -

5 NIDN 0628027003

6 Tempat dan Tanggal Lahir Yogyakarta, 28-02-1970

7 E-mail Wijanarto.udinus@gmail.com

8 Nomor Telepon/HP 081328635965

9 Alamat Kantor Jl. Nakulo I 5 – 11 Semarang 50131

10 Nomor Telepon/Faks 024-3520165

11 Lulusan yang Telah Dihasilkan S1 = 40 Orang

12. Mata Kuliah yg Diampu

1. Dasar Pemrograman

2. Algoritma Dan Pemrograman 3. Struktur Data

4. Strategi Algoritma

5. Pemrograman Berorientasi Obyek

B. Riwayat Pendidikan

S-1 S-2 S-3

Nama Perguruan Tinggi Universitas Brawijaya Universitas Gajah Mada

Bidang Ilmu Ilmu Administrasi Imlu Komputer

Tahun Masuk-Lulus 1990-1995 2004-2006

Judul Skripsi/Tesis/Disertasi Aspek Kultural Jawa Dalam Birokrasi Indonesia 1965-1992

Restorasi Citra Digital Dengan Algoritma Inpainting

Nama Pembimbing/Promotor Prof. Drs. Ismani, MPA. Drs. Irwan Noor MA.

Drs. Agus Harjoko, MSc.,Ph.D.

C. Pengalaman Penelitian Dalam 5 Tahun Terakhir

No Tahun Judul Peneitian Pendanaan

Sumber* Jml (Juta Rp) 1 2013 Translator Notasi Algoritmik Untuk Pengajaran Pemrograman Dasar PDP DIKTI 14.500.000 2 2014 Rekayasa E-Market

Untuk Kelompok Usaha Pemuda Binaan Dinas Pemuda Dan Olahraga Propinsi Jawa Tengah Sebagai Upaya

Peningkatan Pemasaran Dan Penjualan Produk UMKM

(51)

42

D. Pengalaman Pengabdian Kepada Masyarakat dalam 5 Tahun Terakhir

No Tahun Judul Pengabdian

Kepada Masyarakat

Pendanaan

Sumber* Jml (Juta Rp)

1 2009

Campaign Olimpiade Peserta OSN SMA SEMESTA

SMA Semesta 3000000 2 2010 Diklat Pranata Komputer

Kejaksaan Tinggi Jateng

Kejaksaan Tinggi Jateng

3 2013 Pembinaan OSK SMA 3

Semarang SMA 3 Semarang 1.500.000

4 2014

IbM Peningkatan

Keahlihan Bidang Teknologi Informasi dan Komunikasi pada

Daerah Binaan (Dabin) Sekolah Dasar di Lingkungan UPTD Cawas Klaten

Univ. Dian

Nuswantoro 3.000.000

E. Publikasi Artikel Ilmiah Dalam Jurnal alam 5 Tahun Terakhir

No Judul Artikel Ilmiah Nama Jurnal Volume/Tahun

1 Restorari Citra Digital Dengan

Algoritma Inpainting Techno-Com

Vol. 8 No.1/ 2009 2 Image Retrieval Berdasarkan

Properti Statistik Histogram

Techno-Science Vol. 38 No.2/2009 3 Vulnerabilitas Program

Buffer Overflow

Dian Vol. 10 No.1/2010

4

Solusi Pencarian N-Puzzle Dengan Langkah Optimal : Suatu Aplikasi Pendekatan Fungsional

Techno-Com Vol. 10. No.3/2011

5

Simulasi Dan Visualisasi

Algoritma Greedy Pemilihan Koin Dalam Bentuk Game

Dian Vol.11 No.3/2011

6

Perancangan Dan Pembangunan Aplikasi Perangkingan

Penerimaan Peserta Didik Smp Hasanuddin 04 Semarang Dengan Promethee Method

Techno-Com Vol. 11 No. 2/2012

7

Portabilitas Aplikasi Perangkingan Seleksi Penerimaan Siswa Baru Dengan Metode Promethee

Techno-Com Vol. 11 No.4 2012

8 Model Translator Notasi Algoritmik Ke Bahasa C

KOMMIT Gunadharma Vol. 7/2012

(52)

43 Otomatis Untuk Incoming Call

Dan SMS

10

Rancang Bangun Aplikasi Penyedia Layanan

Ambulans Menggunakan Teknologi Gis, Gsm Dan Gps (Gprs)

Techno Com Vol 12 No 3 Agustus2013

11

Aspek Pedagogik

Implementasi Translator

Notasi

Algoritmik Berbasis Parsing

Ll(*) Dan String

Template

Techno Com Vol 13 No 1 Feb2014

12

Translator Notasi

Algoritmik Dengan Ll(*)

Parsing Dan String

Template

SEMNAS TEKNOMEDIA ISSN : 2302-3805

13

Sistem Omatisasi

Pengelolaan Dan Penilaian

Laboratorium Berbasis Web

Techno Com Vol 13 No 1 Nopember2014

14

Rekayasa E-Market Untuk Kelompok Usaha Pemuda Binaan Dinas Pemuda Dan Olahraga Propinsi Jawa Tengah Sebagai Upaya Peningkatan Pemasaran Dan Penjualan Produk UMKM

Prosiding SNATIF UMK Kudus

2014

Prosiding SNATIF UMK Kudus

15

Rekayasa M-Market (Mobile Market) Untuk Kelompok Usaha Pemuda Binaan Dinas Pemuda Dan Olahraga Propinsi Jawa Tengah Sebagai Upaya Peningkatan Penjualan Produk UMKM

Jurnal Teknologi Informasi Techno.COM

Jurnal Teknologi Informasi Techno.COM Vol. 14 No. 1 Pebruari 2015

16

Routing Omatisasi Berbasis

Aloritma Genetik Untuk

Pengelolaan Tanggap

Darurat Bencana

Techno Com Vol 13 No 1 Mei2015

F. Pemakalah Seminar Ilmiah (Oral Presentation) dalam 5 Tahun Terakhir

No Nama Pertemuan Ilmiah /

Seminar Judul Artikel Ilmiah Waktu dan Tempat

1 KOMMIT Gunadharma Model Translator Notasi Algoritmik Ke Bahasa C

8 Oktober 2012, Universitas Gunadarma, Jakarta

(53)

44 2 SNATI UII 2013

Aplikasi Pengirim SMS Otomatis Untuk

Incoming Call Dan SMS

Yogyakarta 3 SEMNASTEKNOMEDIA AMIKOM 2014 Translator Notasi Algoritmik Dengan LL(*) Parsing Dan String Template Yogyakarta

G. Karya Buku dalam 5 Tahun Terakhir

No Judul Buku Tahun Jumlah

Halaman Penerbit

1 Teori Pengolahan Citra

Digital 2009 255 Andi Offset

2 Strategi Dan Analisis

Algoritma 2010 147

Universitas Dian Nuswantoro Press

H. Perolehan HKI dalam 5–10 Tahun Terakhir

No Judul/Tema HKI Tahun Jenis Nomor P/ID

1 Editor Translator Notasi

Algortmik 2014 Program Komputer C00201400636 2 Translator Notasi Algoritmik Untuk Pembelajaran Pemrograman Dasar 2014 Karya Tulis C00201403876

I. Pengalaman Merumuskan Kebijakan Publik/Rekayasa Sosial Lainnya dalam 5 Tahun Terakhir

No

Judul/Tema/Jenis Rekayasa Sosial Lainnya yang Telah Diterapkan

Tahun Tempat

Penerapan

Respon Masyarakat

J. Penghargaan dalam 10 tahun Terakhir (dari pemerintah, asosiasi atau institusi lainnya)

No Jenis Penghargaan Institusi Pemberi

(54)

45

Semua data yang saya isikan dan tercantum dalam biodata ini adalah benar dan dapat dipertanggungjawabkan secara hukum. Apabila di kemudian hari ternyata dijumpai ketidaksesuaian dengan kenyataan, saya sanggup menerima sanksi.

Demikian biodata ini saya buat dengan sebenarnya untuk memenuhi salah satu persyaratan dalam pengajuan Hibah Penelitian Dosen Pemula.

.

Semarang, 06-04-2015 Pengusul,

Gambar

Gambar 1 : Parsing Tree
Gambar 2 : Algoritma Cocke-Younger-Kasami (CYK)
Tabel 1 : Model Matriks Cocke-Younger-Kasami (CYK)  b  a  a  b  a  1  2  3  4  5  b  0  a  1  a  2  b  3  a  4
Gambar 3. Tabel string „w‟ dengan panjang 5
+7

Referensi

Dokumen terkait

Hasil penelitian mengatakan, hal terpenting yang perlu diketahui oleh calon pebisnis kreatif ialah tentang kapasistas dirinya kompeten dibidang apa saja sebab untuk

Hasil penelitian ini sesuai dengan penelitian yang dilakukan oleh Arum Widiastuti Tahun 2014 tentang Hubungan keaktifan mengikuti kelas ibu hamil dengan proses

Selain data intern, data ekstern, data primer, dan data sekunder, data dapat juga dibedakan ke dalam data diskrit dan data kontinu6. Data diskrit adalah data yang

Segala puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah memberikan rahmatNya yang begitu besar sehingga penulis dapat menyusun dan menyelesaikan skripsi

rendah dibandingkan nilai uji kepentingan. Ketiga kriteria tersebut diantaranya konten mudah diaplikasikan, penggunaan huruf, dan intensitas terjadi kesalahan

Dari pendapat-pendapat di atas asumsi normalitas dan varians yang homogen selalu ada, sedangkan asumsi yang lain, yaitu random sampling dan data variabelnya paling tidak

Hasil penelitian tentang urea darah juga ditampilkan pada Tabel 1, dan dapat diketahui bahwa kadar urea darah pada sapi Jawa yang diberi pakan konsentrat dengan

Kerangka penelitian dengan judul pengaruh pemberian pakan kuning telur yang berbeda terhadap pertumbuhandankelangsunganhidup larva ikancupangini menggunakan hewan uji