D. Perancangan Struktur Data
Program transformasi kebentuk normal Chomsky ini terdapat 3 kelas Java dan 4 GUI Form Java, yaitu :
1. Kelas java dengan objek ‘Huruf’ dan ‘Chomsky’ 2. Frame Form Java dengan objek ‘Layar_Sampul’, ‘Layar_Utama’,
‘Layar_Tambah_Produksi’ dan ‘Layar_Input_Produksi’
D.1 Kelas Huruf
Kelas CFG meliputi konstruktor, beberapa method dan field. Field kelas CFG :
String huruf;
int jumHuruf;
Konstruktor :
public HurufString hrf, int jumHrf
Method :
public String getHuruf{} public int getJumHuruf{}
public void tambahJumHuruf{}
D.2 Kelas Chomsky
Field kelas Chomsky :
String [] produksi; int jumProduksi;
String [] produksi1; int jumProduksi1;
String [] produksi2; int jumProduksi2;
String [] mappingZ; int jumMappingZ;
String [] mappingZ1; int jumMappingZ1;
Huruf [] terminal1; Huruf [] nonTerminal1;
int jumTerminal1, jumNonTerminal1; Huruf [] terminal2;
Huruf [] nonTerminal2; int jumTerminal2, jumNonTerminal2;
Konstruktor :
public Chomsky {}
Method :
public String [] ambilProduksi{} public String [] ambilProduksi1{}
public String [] ambilProduksi2{} public String cekProduksi{}
public String getHurufTerminal1int index{} public String getHurufTerminal2int index{}
public String getHurufNonterminal1int index{} public String getHurufNonterminal2int index{}
public int getJumHurufTerminal1int index{} public int getJumHurufTerminal2int index{}
public int getJumHurufNonTerminal1int index{} public int getJumHurufNonTerminal2int index{}
public int getJumTerminal1{} public int getJumTerminal2{}
public int getJumNonTerminal1{} public int getJumNonTerminal2{}
public void inisialisasi{} private String nilaiZString hrf{}
public void prosesChomsky1{} public void prosesChomsky2{}
public void setJumlahHurufString produk{} public void setJumlahHuruf2String produk{}
public void tambahProduksiString produk{} private String ubahHurufBesarString hrf, int totalHrf{}
D.3 Frame Form Java
Frame Form Java meliputi kelas Layar_Sampul, Layar_Utama, Layar_Tambah_Produksi dan Layar_Input_Produksi yang diimport menggunakan
‘import javax.swing.JOptionPane’, ‘import javax.swing.DefaultComboBoxModel’ dan ‘import javax.swing.DefaultListModel’ yang berisi kelas-kelas untuk
membuat komponen GUI yang disediakan pada masing-masing form.
E. Implementasi