• Tidak ada hasil yang ditemukan

Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach Dengan Metode Substitusi

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach Dengan Metode Substitusi"

Copied!
56
0
0

Teks penuh

(1)

APLIKASI PENGUBAH BENTUK NORMAL CHOMSKY MENJADI BENTUK NORMAL GREIBACH

DENGAN METODE SUBSTITUSI

(Skripsi)

Oleh

ANDIKHA Y.C DABUKKE

PROGRAM STUDI ILMU KOMPUTER JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG

(2)

i

ABSTRAK

Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach

Dengan Metode Substitusi

Oleh

Andikha Y.C. Dabukke

Penelitian ini dilakukan dengan membuat aplikasi pengubah bentuk normal Chomsky menjadi bentuk normal Greibach dengan metode substitusi. Bentuk normal Greibach merupakan salah satu bentuk dari Tata Bahasa Bebas Konteks. Proses pembuatan aplikasi ini dimulai dari proses perancangan algoritma dengan menggunakan metode prototype untuk mendapatkan aplikasi pengubah bentuk normal Chomsky menjadi bentuk normal Greibach. Pengujian aplikasi ini adalah dengan menguji proses pengubahan dari bentuk normal Chomsky menjadi bentuk normal Greibach dan hasilnya aplikasi sudah dapat mengubah bentuk normal Chomksy menjadi bentuk normal Greibach dengan baik. Bentuk normal Greibach dengan metode subtitusi hanya bisa didapat apabila masukan yang dimasukkan sudah dalam bentuk normal Chomsky.

(3)

ii

ABSTRACT

Application to Change Chomsky Normal Form

to Greibach Normal Form With Substitution Method

By

Andikha Y.C. Dabukke

The research was conducted with making an application to change Chomsky Normal Form (CNF) to Greibach Normal Form (GNF) with substitution method. Greibach Normal From (GNF) is one form of Context Free Grammar (CFG). The development of the application starts by making algorithm with prototype method to change Chomksy Normal Form (CNF) to Greibach Normal Form (GNF). This Application testing is to test change process of Chomsky Normal Form to Greibach Normal Form and the results application can change Chomsky Normal Form to Greibach Normal Form smoothly. The input for the application must be on Chomksy Normal Form (CNF).

(4)

APLIKASI PENGUBAH BENTUK NORMAL CHOMSKY

MENJADI BENTUK NORMAL GREIBACH DENGAN METODE SUBSTITUSI

Oleh

Andikha Y.C Dabukke

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar SARJANA KOMPUTER

Pada

Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

PROGRAM STUDI ILMU KOMPUTER JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG

(5)
(6)
(7)
(8)

vii

RIWAYAT HIDUP

Penulis dilahirkan di Bandar Lampung pada 7 Juni 1991, sebagai anak pertama dari lima bersaudara dengan ayah Bilman Dabukke dan ibu Yuliana Turnip.

Penulis menyelesaikan pendidikan di TK Xaverius Way Halim Permai, Bandar Lampung tahun 1997, Sekolah Dasar Xaverius 03 Way Halim Permai, Bandar Lampung tahun 2003, Sekolah Menengah Pertama Xaverius 04 Way Halim Permai, Bandar Lampung tahun 2006, kemudian melanjutkan Sekolah Menengah Atas Negeri 09 Bandar Lampung dan kemudian lulus di tahun 2009.

Pada tahun 2009, penulis terdaftar sebagai mahasiswa Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung.

(9)

viii

PERSEMBAHAN

Kepersembahan karya ini untuk :

Bapak dan Ibuku tercinta, aku bangga terlahir sebagai buah cinta kalian. Adik adikku (Christina, Rosalina, Tommy, Stefani)

dan semua keluarga yang terus mendukungku. Terima Kasihku untuk Semuanya.

(10)

ix

MOTTO

(11)

x

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa karena karunia-Nya sehingga penulis dapat menyelesaikan penelitian ini yang dituangkan dalam karya tulis ilmiah.

Tugas akhir ini disusun sebagai syarat untuk memperoleh gelar Sarjana Komputer di Jurusan Ilmu Komputer Universitas Lampung. Judul tugas akhir ini adalah

“Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach

Dengan Metode Substitusi”.

Penulis banyak menghadapi kesulitan dalam penyusunan tugas akhir ini. Berkat dorongan dan semangat yang diberikan dari berbagai pihak, akhirnya penulis dalam menyelesaikan tugas akhir ini. Penulis pada kesempatan ini mengucapkan terima kasih kepada :

1. Ibu Dra. Wamiliana, MA., Ph.D. sebagai pembimbing I penulis yang telah memberikan ide untuk tugas akhir dan membimbing penulis serta memberikan dorongan sehingga tugas akhir ini dapat diselesaikan.

2. Bapak Rico Andrian, S.Si., M.Kom sebagai pembimbing II penulis yang telah memberikan masukan – masukan untuk tugas akhir ini, sehingga penulis dapat menyelesaikan tugas akhir ini.

(12)

xi

4. motivasi, bimbingan dan kesabarannya dalam proses pengerjaan tugas akhir ini.

5. Bapak Prof. Suharso, Ph.D. selaku Dekan MIPA Universitas Lampung 6. Bapak dan Ibu dosen Jurusan Ilmu Komputer.

7. Keluargaku tercinta, Bapak , Ibu dan adik – adikku Christina, Rosalina, Tommy, dan Stefani yang selalu memberikan semangat, dukungan, doa dan segala yang terbaik untukku.

8. Sahabat – sahabatku tercinta Mardahai Tobok, Andreo Silalahi, dan Binner Sidahuruk yang telah memberikan semangat, dorongan, dan keceriaan.

9. Teman-teman Ilmu Komputer 2009 khususnya untuk Hilman Hudaya, Agatha Beny Himawan, Andriyan Hutomo, Dako Adi Ahmadi, Arif Andi Susanto, Ade Imba Wahyu, Dexter Natanael, Triwid, Resty Luciana, Erland, Karina, Efriansyah yang mendukung dalam pengerjaan tugas akhir ini .

10. Almamater tercinta Universtas Lampung.

Penulis menyadari bahawa skripsi ini jauh dari kesempurnaan, akan tetapi sedikit harapan semoga skripsi ini bermanfaat bagi perkembangan ilmu pengetahuan terutama bagi rekan rekan Ilmu Komputer.

Bandarlampung, Juni 2015 Penulis

(13)
(14)

xiii

2.7.2 Activity Diagram ... 18

2.8. Software Pendukung Pembuatan Aplikasi ... 20

BAB III METODE PENELITIAN

BAB IV HASIL DAN PEMBAHASAN 4.1. Pembentukan bentuk normal Greibach dengan substitusi ... 35

4.2. Metode Pengembangan Sistem ... 36

4.2.1. Identifikasi Alternatif Prototype ... 37

(15)

xiv

4.2.2.5. Kode program substitusi mundur ... 43

4.2.2.6. Kode program menampilkan bentuk normal Greibach ... 44

4.2.3. Pengujian Sistem ... 45

4.2.4. Transformasi Sistem ... 54

4.3. Implementasi aplikasi bentuk normal Greibach dengan metode substitusi ... 54

4.3.1. Antarmuka pengenalan ... 55

4.3.2. Antarmuka GNF... 56

4.3.2.1. Field aturan produksi ... 56

4.3.2.2. Kotak pesan peringatan aturan produksi salah ... 57

4.3.2.3. Menampilkan langkah – langkah dan hasil bentuk GNF ... 58

4.4. Kendala pengujian aplikasi ... 58

BAB V PENUTUP 5.1. Simpulan ... 59

(16)

xv

DAFTAR GAMBAR

Halaman

Gambar 1. Proses penyederhanaan CFG ... 9

Gambar 2. Ilustrasi model prototype ... 13

Gambar 3. Tahapan metode penelitian... 21

Gambar 4. Flowchart pembentukan GNF dengan substitusi ... 23

Gambar 5. Tahapan metode prototype ... 24

Gambar 6. Use Case Diagram Aplikasi Pengubah Bentuk Normal Chomksy (CNF) Menjadi Bentuk Normal Greibach (GNF) ... 25

Gambar 7. Activity Diagram Aplikasi Pengubah Bentuk Normal Chomsky (CNF) Menjadi Bentuk Normal Greibach (GNF) ... 28

Gambar 8. Proses pembentukan GNF dengan substitusi ... 35

Gambar 9. Antarmuka field aturan produksi ... 47

Gambar 10. Antarmuka fungsi aturan produksi salah ... 47

Gambar 11. Antarmuka fungsi menentukan urutan variabel ... 49

Gambar 12. Antarmuka fungsi substitusi bermasalah... 49

Gambar 13. Antarmuka fungsi tidak menemukan rekursif kiri ... 49

Gambar 14. Antarmuka fungsi substitusi mundur ... 50

(17)

xvi

Gambar 16. Antarmuka fungsi menampilkan seluruh hasil GNF ... 50

Gambar 17. Antarmuka fungsi menemukan bentuk rekursif kiri ... 52

Gambar 18. Antarmuka fungsi menyelesaikan bentuk rekursif kiri ... 52

Gambar 19. Antarmuka fungsi substitusi mundur rekursif kiri ... 53

Gambar 20. Antarmuka fungsi menampilkan langkah proses ... 53

Gambar 21. Antarmuka fungsi menampilkan seluruh bentuk GNF ... 53

Gambar 22. Antarmuka pengenalan bentuk CNF dan GNF ... 55

Gambar 23. Antarmuka menampilkan field aturan produksi ... 56

Gambar 24. Antarmuka pesan peringatan aturan produksi salah ... 57

(18)

xvii

DAFTAR TABEL

Halaman

Tabel 1. Notasi Use Case. ... 18

Tabel 2. Notasi Activity Diagram... 19

Tabel 3. Tahapan Desain Prototype ... 26

Tabel 4. Pengujian Prototype 1 ... 46

Tabel 5. Pengujian Prototype 2 ... 47

Tabel 6. Pengujian Prototype 3 ... 51

(19)

xviii

DAFTAR KODE PROGRAM

Halaman

Kode Program 1. Kode program pengurutan ruas kiri ... 30

Kode Program 2. Kode program periksa aturan produksi ... 31

Kode Program 3. Kode program rekursif kiri ... 31

Kode Program 4. Kode program substitusi z ... 32

Kode Program 5. Kode program pengecekan masukan Chomksy ... 40

Kode Program 6. Kode program urutan variabel ... 41

Kode Program 7. Kode program substitusi bermasalah ... 42

Kode Program 8. Kode program penyelesaian rekursif kiri ... 43

Kode Program 9. Kode program substitusi mundur ... 44

(20)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Teori bahasa automata merupakan salah satu teori komputasi pada Ilmu Komputer. Teori komputasi datang dari bahasa dan rekayasa sistem, terutama yang berbasiskan matematika. Teori bahasa automata dapat dijadikan suatu gagasan mendasar dalam komputasi yang menjadi tools untuk mengenali suatu persoalan atau masalah karena dapat memberikan konsep dan prinsip untuk memahami suatu persoalan yang berkolerasi dengan bidang ilmu komputer.

(21)

2

dipenuhi antara lain yaitu aturan produksinya harus dalam bentuk normal Chomsky (CNF), tidak bersifat rekursif kiri, dan tidak memuat produksi yang

menghasilkan  (epsilon). Bentuk normal Greibach (GNF) dapat dilakukan dengan dua cara yaitu dengan cara substitusi dan matriks.

Aturan produksi dalam teori bahasa automata adalah proses yang menspesifikasikan bagaimana suatu tata bahasa mentransformasi suatu string ke bentuk lainnya. Aturan produksi dinyatakan dalam bentuk α → β, α menghasilkan atau menurunkan β. α merupakan simbol ruas kiri sedangkan β merupakan simbol ruas kanan. Simbol – simbol tersebut dapat berupa terminal dan nonterminal dimana simbol nonterminal dapat diturunkan menjadi simbol terminal. Simbol terminal disimbolkan dengan huruf kecil (a,b,c, dan sebagainya ), sedangkan simbol nonterminal disimbolkan dengan huruf besar (A,B,C, dan sebagainya).

(22)

3

Penghilangan produksi useless  Pengubahan kedalam bentuk normal Chomsky (CNF)  Penghilangan rekursif kiri  Pengubahan kedalam bentuk normal Greibach (GNF) dengan metode substitusi.

Impelementasi untuk menentukan Bentuk Normal Greibach (GNF) ini cukup sulit dan cukup rumit, karena harus melalui tahapan – tahapan yang cukup banyak dan memerlukan ketelitian yang sangat tinggi. Penelitian ini dimaksudkan untuk menentukan bentuk normal Greibach (GNF) dengan menggunakan suatu aplikasi. Aplikasi ini dibuat dengan menggunakan metode substitusi untuk mendapatkan bentuk normal Greibach (GNF). Pada aplikasi ini diberikan tahap dari proses agar memudahkan pemahaman dalam melakukan penyederhanaan pada setiap tahapannya serta mempercepat proses dalam pencarian bentuk normal Greibach (GNF).

1.2 Rumusan Masalah

Bagaimana membuat aplikasi dengan menggunakan Metode Substitusi dan tidak menggunakan Metode Matriks.

1.3 Batasan Masalah

Batasan masalah dalam penelitian ini yaitu grammar yang dimasukkan harus dalam aturan produksi bentuk normal Chomsky (CNF).

1.4 Tujuan

(23)

4

1.5 Manfaat

Manfaat dari penelitian ini adalah;

1. Mempermudah dalam hal mencari bentuk normal Greibach (GNF) dengan menggunakan aplikasi ini.

(24)

BAB II

TINJAUAN PUSTAKA

2.1 Teori Bahasa dan Automata

Bahasa merupakan suatu sistem yang meliputi pengekspresian gagasan, konsep, fakta, termasuk simbol – simbol serta aturan agar mempunyai makna. Automata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana state menyatakan informasi mengenai input. Bahasa dan automata mempunyai hubungan yakni bahasa dijadikan input oleh mesin automata lalu mesin tersebut membuat keputusan untuk mengindikasikan bahwa input tersebut dapat diterima atau tidak (Keprof dan Ulman, 1979).

(25)

6

Suatu bahasa formal bisa dibangkitkan oleh dua atau lebih tata bahasa berbeda. Suatu bahasa disebut formal karena grammar dibentuk mendahului pembangkitan setiap kalimatnya. Bahasa manusia bersifat sebaliknya yaitu grammar dibentuk untuk meresmikan kata-kata yang hidup di masyarakat (Utdirartatmo, 2005).

Tata bahasa berfungsi untuk menentukan kebenaran dalam penulisan suatu pernyataan, sesuai dengan aturan yang terdapat pada suatu program. Masukan yang tidak sesuai dengan tata bahasa yang telah ditetapkan, maka proses tidak bisa dilakukan (Merliana, 2014).

2.2 Hirarki Bahasa Menurut Chomsky

Bahasa memiliki 4 penggolongan tingkat bahasa yang ditampilkan dalam suatu hirarki yang disebut Hirarki Chomsky, penggolongan tersebut adalah sebagai berikut (Chomsky, 1959):

a. Tipe 0 : Phrase-Structure Grammar/ PSG atau Unrestricted grammar (natural language)

Tipe ini tidak mempunyai batasan dalam aturan produksinya, sebagai contoh : Abc aa

Be aBaB b. Tipe 1 : Context Sensitive Grammar/ CSG

Batasan pada tipe ini yaitu, panjang string pada ruas kiri (α) lebih kecil atau sama dengan ruas kanan (β), seperti terlihat pada contoh berikut :

(26)

7

c. Tipe 2 : Context-Free Grammar/ CFG

Batasan pada bahasa bebas konteks yaitu ruas kiri tepat mempunyai satu simbol variabel, sebagai contoh :

A Bcde B CFcgh

d. Tipe 3 : Regular Grammar/ RG

Batasan untuk tipe regular adalah ruas kiri tepat mempunyai satu simbol variabel dan ruas kanan paling banyak mempunyai satu simbol variabel yang terletak paling kanan, jadi ruas kanan bisa memiliki simbol terminal yang tidak terbatas, sebagai contoh :

A a B aB

2.3 Context Free Grammar (CFG)

Tata Bahasa Bebas Konteks (CFG) adalah kumpulan berhingga dari variabel-variabel biasa disebut nonterminal. Variabel tersebut merepresentasikan suatu bahasa. Bahasa yang direpresentasikan oleh nonterminal dideskripsikan secara rekursif, dimana tiap simbol primitive disebut terminal. Aturan-aturan yang berhubungan dengan nonterminal disebut produksi (Utdirartatmo, 2005).

(27)

8

Penulisan CFG didasarkan pada ketentuan berikut ini :

1) Simbol nonterminal ditulis dengan huruf A sampai Z, kecuali S, S digunakan sebagai simbol awal.

2) Huruf a sampai z, huruf Yunani α sampai ζ dan bilangan (digit) adalah simbol terminal.

Kumpulan nonterminal, kumpulan terminal dan simbol awal dari grammar dapat diketahui dengan menguji produksinya. Suatu grammar dapat disajikan dengan mendaftarkan produksi dari grammar tersebut.

Aturan produksi pada CFG , berlaku dua hal berikut :

1) Ruas kiri dari aturan produksi terdiri dari satu simbol nonterminal.

2) Ruas kanan dapat berupa string yang dibentuk dari simbol terminal dan nonterminal.

Proses penurunan kalimat dari simbol awal suatu tata bahasa dapat digambarkan sebagai rangkaian penerapan atursan produksi yang dimiliki tata bahasa tersebut. Proses penerapan atuan produksi ini dimulai terhadap simbol awal dari tata bahasa tersebut. CFG dapat dimisalkan dengan simbol awal S, himpunan simbol nonterminal S. A himpunan simbol nonterminal a,b dan kumpulan aturan produksi sebagai berikut :

S aAS | a A SbA | ba

(28)

9

Gambar 1. Proses penyederhanaan CFG

Proses penyerhanan CFG :

1) Proses penyederhanan menggunakan aturan produksi CFG.

2) Penghilangan produksi ε(epsilon) yaitu produksi yang tidak memuat simbol variabel yang tidak memiliki penurunan dan tidak pernah dicapai dengan penurunan apapun dari simbol awal.

3) Penghilangan produksi unit yaitu produksi dimana ruas kiri dan kanan hanya berupa satu simbol variabel dan keberadaanya membuat tata bahasa memiliki kerumitan yang tidak perlu.

4) Penghilangan produksi useless yaitu produksi dalam bentuk α ε atau bisa dianggap sebagai produksi kosong.

5) Pengubahan dilakukan kedalam bentuk CNF yaitu aturan produksi yang ruas kanannya terdiri atas sebuah terminal atau dua variabel.

6) Penghilangan rekursif kiri yaitu produksi dapat menyebabkan pohon penurunan tumbuh ke kiri.

7) Pengubahan ke dalam bentuk GNF dengan metode substitusi.

(29)

10

2.4 Greibach Normal Form

Bentuk normal Greibach (GNF) merupakan bentuk normal yang memiliki banyak konsekuensi teoritis dan prakatis. GNF membatasi posisi munculnya terminal-terminal dan variabel-variabel karena dalam bentuk ini aturannya sudah jelas, yaitu ruas kiri non terminal dan ruas kanan terdiri atas satu buah terminal lalu diikuti oleh simbol – simbol variabel (Koch, 2010). CFG dikatakan dalam GNF jika setiap aturan produksinya ada dalam bentuk:

A

a:simbol terminal (tunggal), a ε T

Ș: rangkaian simbol-simbol variabel (V*)

Suatu CFG merupakan GNF bila hasil produksinya (ruas kanan) diawali dengan satu simbol terminal, selanjutnya bisa diikuti oleh rangkaian simbol variabel. Bentuk contoh CFG dalam GNF:

S a | aAB A aB

B cS

Bentuk normal Greibach didapatkan bila tata bahasa semula harus memenuhi syarat sebagai berikut:

1. Sudah dalam bentuk normal Chomsky (CNF) 2. Tidak bersifat rekursif kiri

3. Tidak menghasilkan ε (epsilon)

(30)

11

2.5 Metode Substitusi

Prinsip dalam pembentukan bentuk normal Greibach (GNF) dengan substitusi menurut Koch (2010) meliputi :

1) Dimisalkan aturan produksi yang sudah dalam bentuk GNF.

2) Tentukan pengurutan simbol variabel dengan berdasarkan aturan produksi yang ada.

3) Lakukan perubahan pada aturan produksi yang belum sesuai dengan aturan.

4) Lakukan substitusi mundur sehingga semua aturan produksi diawali simbol terminal.

5) Lakukan substitusi pada aturan produksi baru sebagai penghilangan rekursif.

2.6 Aturan Produksi Rekursif

Aturan produksi yang rekursif memiliki ruas kanan (hasil produksi) yang memuat simbol variabel pada ruas kiri. Suatu aturan produksi dalam bentuk : A βA merupakan aturan produksi yang rekursif kanan.

Keterangan :

ș=(VT)* atau kumpulan simbol variabel dan terminal. Contoh aturan

produksi yang rekursif kanan: S  dS B adB Produksi dalam bentuk: A

Aturan produksi yang rekursif kiri,

(31)

12

Produksi yang rekursif kanan menyebabkan pohon penurunan tumbuh ke kanan, sebaliknya produksi yang rekursif kiri menyebabkan pohon penurunan tumbuh ke kiri. Pada tata bahasa yang diterapkan, bentuk rekursif kiri tak diinginkan. Penurunan tersebut bisa mengakibatkan loop yang terus berulang sehingga perlu menghilangkan sifat rekursif kiri dari aturan produksi. Penghilangan rekursif kiri memungkinkan suatu CFG harus diubah ke dalam GNF (Merliana, 2014).

2.6.1 Penghilangan Rekursif Kiri

Langkah-langkah penghilangan rekursif kiri sebagai berikut :

 Pisahkan aturan produksi yang rekursif kiri dan yang tidak, misalnya : Aturan produksi yang rekursif kiri : A Aα1| Aα2| Aα3| ... Aαn Aturan produksi yang tidak rekursif kiri (termasuk produksi ε) :

A β1| β2| β3| ... βm

 Tentukan α1, α2, .... αn, dan β1, β2, .... βm dari setiap aturan produksi yang memiliki simbol ruas kiri yang sama.

 Lakukan penggantian aturan produksi yang rekursif kiri, menjadi sebagai berikut:

- A β1Z | β2Z | .... βmZ - Z α1| α2 | α3| .... αn - Z α1Z | α2Z | α3Z | .... αnZ

(32)

13

 Hasil akhir berupa aturan produksi pengganti ditambah dengan aturan produksi semula yang tidak rekursif kiri.

2.7 Metode Pengembangan Aplikasi

Perancangan aplikasi memerlukan suatu metode atau langkah untuk membangun atau mengembangkan aplikasi. Pengembangan aplikasi ini menggunakan Metode Prototype. Pelanggan (customer) membayangkan kumpulan kebutuhan yang diinginkan tapi tidak terspesifikasikan secara detail dari segi masukan (input), proses, maupun keluaran (output). Pengembang perangkat lunak harus menspesifikasikan sebuah kebutuhan secara detail dari segi teknis dimana pelanggan sering kurang mengerti mengenai hal teknis ini. Metode prototype dapat digunakan untuk menyambungkan ketidakpahaman pelanggan mengenai hal teknis dan memperjelas spesifikasi kebutuhan yang diinginkan pelanggan kepada pengembang perangkat lunak (Rosa dan Shalahuddin, 2011).

(33)

14

Program prototype dibuat agar pelanggan lebih terbayang dengan apa yang sebenarnya diinginkan. Program prototype biasanya merupakan program yang belum jadi. Program ini biasanya menyediakan tampilan dengan simulasi alur perangkat lunak sehingga tampak seperti perangkat lunak yang sudah jadi. Program prototype ini dievaluasi oleh pelanggan atau user sampai ditemukan spesifikasi yang sesuai dengan keinginan pelanggan atau user (Rosa dan Shalahuddin, 2011).

Prototype dimulai dengan mengumpulkan kebutuhan. Pengembang dan user bertemu dan mendefinisikan obyektif keseluruhan perangkat lunak yang dibuat, mengidentifikasi segala kebutuhan yang diketahui, dan kemudian

dilakukan “perancangan kilat”. Perancangan kilat berfokus pada penyajian dari aspek-aspek perangkat lunak tersebut yang nampak bagi pelanggan/pemakai (contohnya pendekatan input dan format output). Perancangan kilat membawa kepada konstruksi sebuah prototype. Prototype tersebut dievaluasi oleh pelanggan atau pemakai dan dipakai untuk menyaring kebutuhan pengembangan perangkat lunak. Iterasi terjadi pada saat prototype disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya (Pressman, 2002).

(34)

15

dapat dimodifikasi, memungkinkan dimodifikasi beberapa kali sampai keadaan yang ditetapkan user. Metode ini dikatakan revolusi karena merubah proses pengembangan sistem informasi yang lama (Mulyanto, 2008).

Metode prototype mempunyai tahapan – tahapan, yaitu ; 1. Identifikasi alternatif prototype

Identifikasi alternatif prototype ini didasarkan atas permintaan user (user requirement). Alternatif prototype ini meliputi user interface, transaksi utama, dan fungsi – fungsi pemrosesan sederhana.

2. Rancang bangun prototype

Rancang bangun prototype dilakukan untuk melihat tahapan – tahapan dalam pembuataan aplikasi ini sampai aplikasi benar – benar dapat digunakan. 3. Evaluasi prototype

Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan perubahan jika diperlukan. Evaluasi dilakukan dengan melakukan pengujian terhadap sistem.

4. Kode sistem

Pengkodean sistem dilakukan pada saat evaluasi selesai agar mendapatkan sistem yang komplit.

5. Pengujian Sistem

Sistem yang telah selesai pada tahap kode sistem, kemudian dilakukan pengujian. Pengujian dilakukan secara langsung kepada pelanggan untuk mengetahui apakah kebutuhan sudah sesuai dengan kebutuhan pelanggan atau belum. Pengujian sistem ini dilakukan dengan black box testing.

(35)

16

6. Transformasi sistem

Transformasikan sistem menjadi perangkat lunak yang berorientasi penuh dengan melakukan penambahan program – program yang dibutuhkan, perbaikan, dan pengujian perangkat lunak secara berkala.

Penggunaan metode prototype ini memiliki keuntungan dan kelemahan. Keuntungan penggunaan prototype meliputi (Kusnendar, 2012);

1. Komunikasi user-developer

Pengembang selalu meminta pendapat user dalam segala proses pembuatan perangkat lunak.

2. Membantu analis

Menentukan kebutuhan analis yang sebenarnya. 3. Peran user meningkat

Evaluasi yang dilakukan oleh user menjadi meningkat karena dilakukan berkali – kali.

4. Pengembangan lebih cepat

Program yang dihasilkan dapat langsung dibuat serta user dapat langsung melihat perkembangan tahap demi tahap.

5. Implementasi mudah

User sudah mengenal tentang perangkat lunak yang dikembangkan.

Kelemahan penggunaan metode prototype meliputi; 1. Pemakai menjadi sibuk

(36)

17

2. Pemakai sulit melakukan evaluasi

Bentuk prototype yang sering berubah menyebabkan sulit melakukan evaluasi karena harus disesuaikan dengan kebutuhan user.

3. User ingin cepat selesai

Bentuk program yang sudah terlihat sejak awal membuat user ingin program cepat selesai.

4. User berharap terlalu banyak

Evaluasi dan komunikasi yang terlalu sering menjadi membuat user sering berubah keinginan (Kusnendar, 2012).

2.7.1 Use case

Use case diagram merupakan pemodelan untuk sistem atau aplikasi yang dibuat. Use case mendeskripsikan sebuah interaksi antara satu aktor atau lebih dengan sistem atau aplikasi yang dibuat. Use case secara umum digunakan untuk mengetahui fungsi isi yang ada di dalam sebuah sistem atau aplikasi dan orang - orang yang berhak menggunakan fungsi – fungsi tersebut. Use case memiliki dua hal utama yaitu pendefinisian apa yang disebut aktor dan use case.

1) Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem atau aplikasi yang dibuat di luar sistem yang dibuat sendiri.

2) Use case merupakan fungsionalitas yang disediakan sistem atau aplikasi sebagai unit – unit yang saling bertukar pesan antar unit atau aktor (Rosa dan Shalahuddin, 2011).

(37)

18

Tabel 1. Notasi Use case

Simbol Nama Keterangan

Actor Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga bisa dianggap sebagai actor. Use case Use case digambarkan

sebagai lingkaran elips dengan nama use case dituliskan didalam elips tersebut.

Association Asosiasi digunakan untuk menghubungkan actor

(38)

19

Tabel 2. Notasi Activity Diagram

Simbol Deskrispsi

Status awal Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.

Aktivitas Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja.

Percabangan Asosiasi percabangan dimana jika ada pilihan aktivitas maksimal dua aktivitas.

Penggabungan / join Asosiasi penggabungan dimana

lebih dari satu aktivitas

digabungkan menjadi satu.

Status akhir Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.

Swimlane Memisahkan organisasi bisnis

(39)

20

2.8 Software pendukung pembuatan aplikasi

Software yang digunakan untuk mendukung aplikasi ini adalah PHP (Hypertext Prepocessor). PHP merupakan singkatan dari Personal Home Page, namun karena dalam perkembangannya PHP tidak hanya digunakan membuat halaman web pribadi, PHP saat ini merupakan singkatan dari Hypertext Preprocessor. PHP adalah bahasa pemrograman script server side yang didesain untuk pengembangan web, tetapi juga bisa digunakan sebagai bahasa pemrograman secara umum atau non web. PHP yakni bahasa berbentuk skrip yang ditempatkan dalam server dan diproses di server yang hasilnya dikirim ke klien dengan menggunakan browser. PHP dapat membentuk suatu tampilan berdasarkan permintaan terkini. Prinsip PHP mempunyai fungsi sama dengan skrip – skrip seperti ASP (Active Server Page), Cold Fusion, ataupun Perl. PHP sebenarnya dapat dipakai secara command line, maksudnya adalah bahwa skrip PHP dapat dijalankan tanpa melibatkan web server maupun browser (Kadir, 2008).

(40)

BAB III

METODE PENELITIAN

3.1 Metode Penelitian

Gambar 3. Tahapan Metode Penelitian

(41)

22

substitusi ini dilakukan dengan cara merancang algoritma dalam bentuk flowchart. Proses pembuatan aplikasi ini menggunakan metode pengembangan sistem prototype. Metode prototype merupakan model yang dimulai dari pengumpulan kebutuhan pelanggan terhadap perangkat lunak digunakan, lalu dibuat prototype agar pelanggan lebih mengerti dengan apa yang diinginkan. Metode prototype ini memiliki keuntungan yaitu pengguna dapat mengetahui kesesuaian antara aplikasi yang dihasilkan dengan kebutuhan tanpa harus menunggu sampai aplikasi diimplementasikan. Aplikasi pengubah bentuk normal Greibach dengan metode substitusi yang sudah didapat selanjutnya diimplementasikan dan digunakan oleh pelanggan.

3.1.1 Proses pembentukan bentuk normal Greibach dengan metode substitusi

(42)

23

Gambar 4. Flowchart pembentukan GNF dengan substitusi

3.1.2 Metode Prototype

(43)

24

Gambar 5 . Tahapan metode prototype 3.1.2.1Identifikasi Alternatif Prototype

(44)

25

Gambar 6. Use Case Diagram Aplikasi Pengubah Bentuk Normal Chomsky (CNF) ke Bentuk Normal Greibach (GNF)

3.1.2.2. Rancang Bangun Prototype

(45)

26

dilakukan antara pengguna dengan aplikasi. Penjelasan lebih lanjut tentang rancang bangun prototype ini dijelaskan pada Tabel 3 berikut ini.

Tabel 3. Tahapan Desain Prototype

Prototype Fungsi yang diinginkan

1 Fungsi yang diinginkankan prototype1: 1. Fungsi untuk membuat field untuk masukan produksi. 2. Fungsi untuk mengecek apakah masukan produksi

memenuhi syarat yang sudah ditetuntukan atau belum, dalam hal ini harus dalam bentuk normal Chomsky. 2 Fungsi yang diinginkan prototype 2: 1. Fungsi untuk menentukan urutan variabel produksi.

2. Fungsi untuk melakukan substitusi bermasalah.

3. Fungsi untuk menemukan jika terdapat bentuktidak rekursif kiri.

4. Fungsi untuk melakukan substitusi mundur.

5. Fungsi untuk menampilkan langkah – langkah proses pengerjaan apabila tidak terdapat bentuk rekursif kiri. 6. Fungsi untuk menamplikan semua hasil bentuk normal

Greibach yang telah didapat.

3 Fungsi yang diinginkan prototype 3: 1. Fungsi untuk menemukan jika terdapat bentuk rekurif kiri.

2. Fungsi untuk mengubah bentuk rekursif kiri menjadi bentuk normal Greibach.

3. Fungsi untuk melakukan substitusi mundur.

4. Fungsi untuk menampilkan langkah – langkah proses perngerjaan apabila terdapat bentuk rekursif kiri.

5. Fungsi untuk menamplikan semua hasil bentuk normal Greibach yang telah didapat.

3.1.2.2.1 Activity Diagram

(46)

27

(47)

28

(48)

29

3.1.2.3. Evaluasi Prototype

Evaluasi sistem ini dilakukan secara langsung kepada pihak pengguna, sehingga jika masih terdapat kekurangan dapat langsung diperbaiki. Kekurangan atau ketidaksesuaian prototype pada aplikasi ini diperbaiki pada pembangunan prototype selanjutnya. Tahap ini diperlukan untuk memastikan apakah aplikasi berjalan dengan baik, serta mengindentifikasi kesalahan, sehingga dapat langsung dilakukan perbaikan hingga aplikasi dapat digunakan.

(49)

30

3.1.2.4Kode Sistem

Kode sistem dilakukan jika tahap evaluasi prototype telah selesai. Tahap ini prototype yang sudah ditentukan, diterjemahkan ke dalam bahasa pemrograman yang sesuai untuk menyatukannya menjadi aplikasi yang komplit. Aplikasi ini menggunakan bahasa pemrograman PHP (Hypertext Preprocessor) untuk membuat aplikasinya. Potongan kode program yang sudah dilakukan pada aplikasi dapat dilihat pada Kode Program 1 hingga Kode Program 4 berikut ini.

//mengurutkan ruas kiri

(50)

31

Kode Program 2. Kode program periksa aturan produksi

function rekursif_kiri($nt,$index){

(51)

32

Kode Program 4. Kode program substitusi z

3.1.2.5Pengujian Sistem

Sistem yang telah selesai pada tahap kode sistem, kemudian dilakukan pengujian. Pengujian dilakukan secara langsung kepada pelanggan untuk mengetahui apakah kebutuhan sudah sesuai dengan kebutuhan pelanggan atau belum. Pengujian sistem menggunaka black box testing. Pengujian black box testing berfokus pada output yang didapat dari berbagai jenis input. Pengujian sistem ini meliputi pengujian terhadap prototype dan fungsional yang telah dibuat oleh pengembang dan disetujui oleh pelanggan.

3.1.2.6Transformasi Sistem

(52)

33

serta pengujian perangkat lunak secara berulang. Tahap akhir dari transformasi sistem ini adalah aplikasi yang telah diuji dan dapat diterima oleh pengguna siap digunakan.

3.1.3 Aplikasi pembentukan GNF dengan metode substitusi

Aplikasi pengubah bentuk normal Chomsky menjadi bentuk normal Greibach dengan metode substitusi didapat apabila telah melewati tahapan – tahapan metode prototype. Tahap ini adalah tahap dimana aplikasi sudah dapat beroperasi penuh untuk diterima dan digunakan oleh pengguna.

3.2 Waktu dan Tempat Penelitian

Penelitian ini dilakukan di jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian dilakukan selama selama semester ganjil tahun ajaran 2014 / 2015.

3.3 Perangkat yang digunakan

Penelitian ini menggunakan perangkat keras (hardware) dan perangkat lunak (software) sebagai berikut :

a. Perangkat keras (hardware)

Perangkat keras yang digunakan adalah satu unit notebook dengan spesifikasi;

a. Intel Core i3-4030U, 1.9 Ghz

b. VGA 2 GB NVIDIA GEFORCE 820M c. RAM 2GB DDR3

(53)

34

b. Perangkat lunak (software)

Perangkat lunak yang digunakan adalah ; a. Sistem Operasi Windows Seven Ultimate 64 bit b. Adobe Dreamweaver CS5

c. XAMPP 1.8.1

(54)

BAB V

SIMPULAN DAN SARAN

5.1 SIMPULAN

Kesimpulan yang diperoleh dari penelitian ini adalah :

1. Bentuk normal Greibach hanya bisa didapatkan apabila aturan produksi yang diproses sudah dalam bentuk normal Chomsky.

2. Bentuk normal Greibach dengan metode subtitusi memiliki kekurangan dalam pengerjaannya.

5.2 SARAN

Saran yang dapat diberikan kepada pengembang penelitian ini lebih lanjut adalah sebagai berikut :

1. Aplikasi bentuk normal Greibach ini dapat ditambahkan metode matriks, sehingga aplikasi memiliki dua metode dalam pengerjaanya.

(55)

60

(56)

DAFTAR PUSTAKA

Chomsky, Noam. 1959. On Certain Formal Properties Of Grammar. MIT: New Jersey.

Kadir, Abdul.2008. Dasar Pemrograman Web dinamis menggunakan PHP. ANDI: Yogyakarta.

Keprof, J.E. and J.D Ulman ,1979. Introduction to Automata Theory, Languages, and Computation. Edison – Wesley: London.

Koch, Robert. 2010. Greibach Normal Form Transformation.Universitat Bonn: Germany.

Kusnendar, Jajang M.T. 2012. Rekayasa Pernagkat Lunak. UNIKU: Bandung. Merliana, Melly. 2014. Perangkat Lunak untuk Pembelajaran Penyederhanaan

Tata Bahasa Bebas Konteks dan Pengubahan ke dalam Bentuk Normal Greibach dengan Metode Substitusi.UNIKOM: Bandung.

Mulyanto, Agus. 2008. Sistem Informasi Konsep dan Aplikasi. Pustaka Belajar: Yogyakarta.

Pressman, Roger S. 2001. Software Engineering : A Practitioner’s Approach. The McGraw-Hill Companies, Inc: New York.

Rosa A. S dan Salahudin. 2011. Rekayasa Perangkat Lunak. Modula: Bandung. Utdirartatmo, Firrar. 2005. Teori Bahasa Automata. Graha Ilmu: Jogyakarta. Yuliano, Triswansyah. 2007. Pengenalan PHP. Politeknik Pos Indonesia:

Gambar

Gambar 1. Proses penyederhanaan CFG
Gambar 2. Ilustrasi Model prototype
Tabel 1.  Notasi Use case
Tabel 2.  Notasi Activity Diagram
+7

Referensi

Dokumen terkait