B. Perancangan Antarmuka
Perancangan antarmuka dibuat untuk memudahkan user dalam mengoperasikan perangkat lunak. Dalam perancangan antarmuka yang akan
dibuat terdiri dari 4 layar, yaitu layar Layar_Sampul, layar Layar_Utama, Layar Layar_Tambah_Produksi dan layar Layar_Input_Produksi.
B.1 Layar_Sampul
PROGRAM BANTU TRANSFORMASI TATA BAHASA BEBAS KONTEKS
KE BENTUK NORMAL CHOMSKY
Disusun oleh : Wiwit Kristiani - 013114007
Keluar Lanjut
Gambar 3.2 Perancangan Layar_Sampul Terdiri dari 2 label dan 2 tombol :
1. Label ‘Judul Skripsi’ 2. Label ‘Penyusun Skripsi’
3. Tombol ‘Keluar’ 4. Tombol ‘Lanjut’, untuk masuk ke Layar_Utama
B.2 Layar_Utama
CHOMSKY BARU PROSES CHOMSKY
KELUAR HASIL INPUT
HASIL OUTPUT 1 HASIL OUTPUT 2
Proses Transformasi Tata Bahasa Bebas Konteks ke Bentuk Normal Chomsky
CHOMSKY BARU PROSES CHOMSKY
KELUAR
Gambar 3.3. Perancangan Layar_Utama
Terdiri dari 1 label, 3 daftar dan 3 tombol : 1. Label text judul
2. Daftar Hasil Input 3. Daftar Hasil Output Langkah 1
4. Daftar Hasil Output Langkah 2 5. Tombol ‘Chomsky Baru’, untuk masuk ke ‘Layar_Tambah_Produksi’
6. Tombol ‘Proses Chomsky’, untuk mendapatkan output 7. Tombol ‘Keluar’, untuk kembali ke ‘Layar_Sampul’
B.3. Layar_Tambah_Produksi
Hapus Produksi OK
BATAL Edit Produksi
Tambah Produksi
Gambar 3.4. Perancangan Layar_Tambah_Produksi
Terdiri dari 1 daftar dan 5 tombol : 1. Daftar Masukan Produksi
2. Tombol ‘Tambah Produksi’ 3. Tombol ‘Edit Produksi’
4. Tombol ‘Hapus Produksi’ 5. Tombol ‘OK’
6. Tombol ‘BATAL’ PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
B.4. Layar_Input_Produksi
Gambar 3.5. Perancangan Layar_Input_Produksi Terdiri dari 3 label dan 15 tombol :
1. Label ‘S’ 2. Label tanda panah ‘
→’ 3. Label untuk tempat hasil produksi sebelah kanan tanda panah
4. Tombol non terminal ‘A, B, C, D, E, S’ 5. Tombol terminal ‘a, b, c, d, e’
6. Tombol tanda garis ‘|’ 7. Tombol ‘OK’
8. Tombol ‘HAPUS KARAKTER’ 9. Tombol ‘BATAL’
→
BATAL Produksi S
OK A
B C
D E
a b
c |
S d
e HAPUS KARAKTER
C. Perancangan Proses
Perancangan proses merupakan suatu gambaran proses program yang akan dibuat sehingga pengimplementasian ke dalam suatu program menjadi lebih jelas
dan mudah. Proses yang dilakukan adalah pengolahan masukkan yang dimasukkan oleh user, yang kemudian akan menampilkan informasi hasil
masukan dan hasil keluaran. Dalam perancangan proses transformasi kebentuk normal Chomsky ini
meliputi perancangan seluruh bagian program yang digambarkan dalam suatu flowchart. Flowchart secara keseluruhan, flowchart untuk pengecekan tata bahasa
bebas konteks dan flowchart untuk mentransformasikan tata bahasa bebas konteks ke dalam bentuk normal Chomsky yang terbagi menjadi dua yaitu flowchart untuk
melakukan perubahan dari terminal lebih dari satu menjadi non terminal dan flowchart untuk melakukan perubahan dari non terminal lebih dari dua sampai
menjadi tepat dua non terminal.. Flowchart untuk pengecekan tata bahasa bebas konteks terdiri flowchart pengecekan bentuk produksi yang tidak bisa diturunkan
sampai ke terminal dan flowchart pengecekan bentuk produksi yang tidak bisa dicapai dari simbol awal.
C.1 Flowchart Transformasi Tata Bahasa Bebas Konteks ke Bentuk Normal Chomsky
Dalam flowchart transformasi ke bentuk normal Chomsky yang terbagi
dalam pengecekan tata bahasa bebas konteks dan proses transformasi ke bentuk normal Chomsky ini terdiri dari 6 tahap bagian.
I n p u t : T a t a b a h a s a b e b a s
k o n t e k s
y a
y a T a h a p 1
T a h a p 2
Ρ Σ
Ν =
, ,
, S
G
Ν ∈
→ Ρ
B A
B A
, ?
:
, :
Σ ∪
Ν ′ ∉
→ Ρ
w w
A
, ,
: Σ ′
∪ Ν
∉ Ν ′
∉ →
Ρ w
A w
A T a h a p 3
t i d a k
t i d a k
t i d a k
Ν ∈
→ Σ
∈ Ν
∈ →
Ρ C
B A
B C A
a A
a A
, ,
, ,
, :
U b a h , u n t u k ,
w A
→ Ρ :
1 w
U b a h , u n t u k ,
w A
→ Ρ :
2 w
O u tp u t : b e n tu k n o r m a l c h o m s ky
, ,
, ,
Ρ ′ ′
Σ ′ Ν ′
= ′
S G
Σ ′ ∈
Ν ′ ∈
→ a
A a
A ,
,
Ν ′ ∈
→ C
B A
B C A
, ,
,
T a h a p 4
T a h a p 5
T a h a p 6 y a
t i d a k
Σ ∈
w Ν
∈ w
T a t a B a h a s a B e b a s K o n t e k s d i s e d e r h a n a k a n ?
y a y a
t i d a k M u l a i
S e l e s a i
Gambar 3.6 Diagram alir perancangan program transformasi ke bentuk normal Chomsky
C.2 Pengecekan Input Produksi Tunggal Tahap 1 Pengecekan input yang mengandung produksi tunggal dilakukan saat user
menginput produksi. Setelah user menginputkan hasil produksi yang berupa 1 simbol non terminal maka secara otomatis program akan hanya akan
mengaktifkan simbol terminal dan non terminal sehingga diharapkan user tidak hanya menginputkan satu non terminal. Pengecekan ini dilakukan secara terus
menerus selama user menginputkan tata bahasa bebas konteks. C.3 Flowchart Pengecekan Input Produksi Yang Tidak Bisa Diturunkan Sampai
ke Terminal Tahap 2 Pengecekan apakah input mengandung produksi yang tidak bisa
diturunkan sampai mencapai terminal dilakukan setelah user memasukkan semua tata bahasa konteks yang akan ditransformasikan. Pengecekan dilakukan dengan
cara : a Mencari non terminal yang hasil produksinya mengandung semua non
terminal. b Mencari produksi-produksi yang bisa menurunkan non terminal-non
terminal tersebut sehingga didapat non terminal-non terminal yang memproduksinya.
c Langkah b dilakukan berulang-ulang sampai tidak ada lagi non terminal yang ditambahkan
d Hasil non terminal-non terminal dan produksi-produksi dari langkah 1 sampai c yang ditemukan dibandingkan dengan non terminal dan produksi
dari input PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
e Jika ditemukan non terminal yang terdapat di hasil produksi tetapi tidak terdapt di non terminal yang dicari sebelumnya dari langkah a sampai c,
maka non terminal tersebut tidak bisa diturunnkan. Untuk input yang demikian user harus memasukkan input yang benar.
I nput : t at a bahas a bebas
k ont ek s
Ρ Σ
Ν =
, ,
, S
G
Ν ∈
→ Ρ
B A
B A
, ?
:
C ari dim ana
C ari dim ana
Apak ah ada , dim ana ,
s ebelah k anan ‘ ’
Tahap 3 : C ek produk s i y ang t idak bis a dic apai dari s im bol
awal at au dari produk s i s ebelum ny a. y a
t idak
y a
t idak
, ,
Σ ∈
∈ →
w N
A w
A A
A ,
, Σ
∪ Ν′
∈ Ν
∈ →
w A
w A
A w
A →
Ν ′ ∈
A
Σ ∪
Ν ∈
w
→ Σ
∪ Ν ′
∈ ∉ w
Mulai
Tat a Bahas a Bebas Kontek s dis ederhanak an ?
t idak Tahap 4 :
C ek bent uk norm al C hom s k y y a
Gambar 3.7 Diagram alir pengecekan produksi yang tidak bisa diturunkan hingga terminal Tahap 2.
C.4 Flowchart Pengecekan Input Produksi Yang Tidak Bisa Dicapai dari Simbol Awal Tahap 3
Pada tahap ini pengecekan dilakukan dengan cara : a Mencari non terminal hasil produksi simbol awal.
b Dari masing-masing non terminal yang didapat, dicari non termina-non terminal turunannya.
c Langkah b dilakukan berulang-ulang sampai tidak ada lagi non terminal yang ditambahkan
d Jika non terminal yang ditemukan dari langkah a sampai c sama dengan non terminal yang ada di sebelah kiri tanda panah maka tata bahasa bebas
konteks bisa dilanjutkan ke tahap selanjutnya. Tetapi jika ternyata di sebelah kiri tanda panah terdapat non terminal yang tidak terdapat di non
terminal yang ditemukan pada langkah a sampai c maka non teminal tersebut dikatakan tidak bisa dicapai dari simbol awal atau dari produksi
manapun. Sama dengan pengecekan pada tahap 2 untuk input yang demikian user harus memasukkan input yang benar.
Cari dimana
Cari dimana
Apakah ada , dimana ,
sebelah kiri ‘ ’
Tahap 4 : Cek bentuk normal Chomsky
ya tidak
, ,
Σ ∪
Ν ∈
Ν′ ∈
→ A
S A
S
A
B Ν′
∈ →
A B
A ,
A w
A →
→
Σ′ ∪
Ν ∈
∉ w
Tahap 2 : Cek produksi y ang tidak bisa diturunkan
hingga terminal
Σ′ ∪
Ν ∈
B
Ν′ ∈
A
Tata Bahasa Bebas Konteks disederhanakan ?
Input : Tata bahasa bebas
konteks
Ρ Σ
Ν =
, ,
, S
G
tidak
Gambar 3.8 Diagram alir pengecekan produksi yang tidak bisa dicapai dari simbol awal Tahap 3
C.5 Flowchart Perubahan Terminal Lebih dari 1 Menjadi Non Terminal Tahap 5
Flowchart dalam tahap 5 ini merupakan urutan langkah dari perubahan
terminal lebih dari satu menjadi non terminal. Pertama kali akan dilakukan pengecekan terhadap input apakah terdapat aturan produksi yang sudah dalam
bentuk normal Chomsky. Jika ada maka hasil tersebut akan dikirimkan ke output. Tetapi jika aturan-aturan produksi tersebut tidak dalam dalam bentuk normal
Chomsky akan dilakukan pengecekan kembali apakah dalam aturan produksi tersebut terdapat simbol terminal yang jumlahnya lebih dari satu. Jika ya maka
simbol terminal tersebut diubah menjadi simbol non terminal.. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tahap 3 : Cek produksi y ang tidak bisa dicapai
dari simbol awal
Ν ∈
→ Σ
∈ Ν
∈ →
Ρ C
B A
BC A
a A
a A
, ,
, ,
, :
2 ,
, ,
, ,
1 ,
:
2 1
≥ Σ
∈ =
≥ →
Ρ n
X X
X X
w w
w A
i n
Ubah dengan
Σ ∈
i
X
Ν ∈
i
C
Tambahkan i
i
X C
→
Tahap 6 : Ubah untuk ,
w A
→ Ρ:
2 w
ya
tidak
tidak
ya
Output : bentuk normal chomsky
Σ ′ ∈
Ν ′ ∈
→ a
A a
A ,
, Ν ′
∈ →
C B
A BC
A ,
, ,
, ,
, ,
Ρ′ ′
Σ ′ Ν′
= ′
S G
Ν ∈
w
Gambar 3.9 Diagram alir perubahan terminal lebih dari 1 menjadi non terminalTahap 5
C.6 Flowchart Perubahan NonTerminal Lebih dari 2 Menjadi Tepat 2 Non Terminal Tahap 6.
Setelah sebagian proses transformasi ke bentuk normal Chomsky yang digambarkan dalam flowchart tahap 5 selesai, proses tersebut akan dilanjutkan
sampai tercapai bentuk normal Chomsky yang diagram alirnya digambarkan dalam flowchart tahap 6 di bawah ini. Proses yang dilakukannya adalah :
a. 2 string pertama digantikan dengan non terminal baru berupa huruf kapital Z diikuti angka 0.
b. Non terminal baru Z0 dan non terminal kedua digantikan lagi dengan non terminal baru Z1 dan seterusnya sampai didapatkan tepat 2 non
terminal. c. Selanjutnya hasil dari transformasi dan aturan-aturan produksi baru
yang terbentuk tersebut dimasukkan dalam output .
T a h a p 5 : U b a h
d e n g a n
U b a h m e n j a d i
2 , . .
,
2 1
≥ Ν
∈ →
n B
B B
w
n
Ν ∈
→
−
Z B
Z A
n n
,
3
2 ,
, ,
, ,
1 ,
:
2 1
≥ Σ
∈ =
≥ →
Ρ n
X X
X X
w w
w A
i n
Σ ∈
i
X
Ν ∈
i
C
O u t p u t : B e n t u k N o r m a l C h o m s ky
Σ ′ ∈
Ν ′ ∈
→ a
A a
A ,
, Ν ′
∈ →
C B
A B C
A ,
, ,
Ρ ′ ′
Σ ′ Ν ′
= ′
, ,
, S
G
Gambar 3.10 Diagram alir perubahan non terminal lebih dari 2 menjadi tepat 2 non terminal Tahap 6
D. Perancangan Struktur Data