Anda di halaman 1dari 7

APLIKASI KONVERSI REGULAR GRAMMAR MENJADI

EKSPRESI REGULAR DENGAN MENGGUNAKAN BAHASA


PEMROGRAMAN JAVA
Mila Tasmawati
Jurusan Teknik Informatika
Fakultas Teknologi Industri
Universitas Gunadarma
18 Oktober 2008

ABSTRAKSI
Teori bahasa dan otomata merupakan bagian dari model dan gagasan mendasar
mengenai komputasi. Pemanfaatan otomata dapat diterapkan di beragam bidang yang
merupakan asal dari teori otomata ditambah dengan pengunaan di bidang komputer.
Berdasarkan gagasan di atas, penulisan tugas akhir ini membahas tentang
pembuatan suatu aplikasi yang dapat digunakan sebagai sarana pembelajaran mahasiswa
dalam memahami bagaimana mengubah tata bahasa regular grammar menjadi ekspresi
regular.
Pengembangan pada aplikasi ini dilakukan melalui beberapa tahap, tahap pertama
yakni pengumpulan data, dilanjutkan dengan tahap perancangan aplikasi, pembuatan
flowchart, pembuatan struktur navigasi, pembuatan program serta tahap implementasi
program.
Diharapkan dengan adanya aplikasi ini dapat membuat pengguna memahami
bagaimana langkah - langkah mengubah tata bahasa regular grammar menjadi ekspresi
regular.
Program aplikasi ini dibuat dengan menggunakan bahasa pemrograman java
dengan versi J2SDK1.4.2_05, dengan menggunakan NetBeans IDE 5.0 sebagai
editornya.

Kata Kunci : JAVA, OOP

1. Pendahuluan

1.1 Latar Belakang


Ilmu Komputer adalah ilmu beragam topik yang berkaitan dengan
pengetahuan yang berisi tentang teori, komputer, mulai dari analisa abstrak
metodologi, desain dan implementasi, algoritma sampai subyek yang lebih
berhubungan dengan komputasi, konkret seperti bahasa pemrograman,
komputer, dan algoritmanya dalam perangkat lunak, termasuk perangkat
perspektif perangkat lunak (software) keras. Sebagai suatu disiplin ilmu, Ilmu
maupun perangkat keras (hardware). Komputer lebih menekankan pada
Dalam ilmu komputer mencakup pemrograman komputer, dan rekayasa

1
perangkat lunak (software), sementara ditambah dengan pengunaan di bidang
teknik komputer lebih cenderung komputer. Pada setiap jurusan terkait
berkaitan dengan hal-hal seperti ilmu komputer di Universitas
perangkat keras komputer (hardware). Gunadarma diwajibkan mempelajari
Namun demikian, kedua istilah tersebut matakuliah teori bahasa dan otomata.,
sering disalah-artikan oleh banyak orang namun laboratorium Teori Bahasa dan
[7]. Otomata yang ada khususnya di kampus
Teori komputasi telah dimulai kalimalang, belum mempunyai alat
sejak rancangan algoritma Euclid dan pembelajaran yang memudahkan
pengunaan kompleksitas aksiomatik oleh mahasiswa mempelajari topik topik
bangsa Babilonia. Komputasi merupakan yang diberikan dikarenakan pada setiap
pengetahuan yang sangat penting karena praktikum Teori Bahasa dan Otomata,
membahas bagaimana cara pembuatan mahasiswa hanya mempelajari secara
mesin yang mampu melakukan proses- manual seperti saat belajar di dalam
proses intelektual yang mulanya hanya kelas.
dapat dilakukan secara mekanis oleh Oleh karena itu penulis mencoba
manusia. Kita mengetahui bahwa proses membuat suatu aplikasi program yang
intelektual apapun yang dapat dilakukan dapat membantu mahasiswa dalam
secara mekanis oleh manusia dapat memahami Teori bahasa dan otomata
dilakukan oleh komputer digital. dengan tema Aplikasi konversi
Teori bahasa dan otomata Regular Grammar menjadi Ekspresi
merupakan bagian dari model dan Regular dengan menggunakan bahasa
gagasan mendasar mengenai komputasi. pemrograman JAVA.
Teori otomata mempelajari model mesin Dengan aplikasi ini diharapkan
komputer menggunakan model mahasiswa dapat mengerti dan
matematika. Pemanfaatan otomata dapat memahami bagaimana mengubah bentuk
diterapkan di beragam bidang yang regular grammar ke dalam ekspresi
merupakan asal dari teori otomata regular.

1.2 Batasan Masalah


Penulisan ini difokuskan pada Program yang dibuat hanya untuk
pembuatan aplikasi yang memecahkan permasalahan pengubahan
memvisualisasikan konversi regular hanya dalam bentuk simbol abjad dari
grammar menjadi ekspresi reguler bentuk regular grammar menjadi
sehingga dapat membantu pengguna ekspresi regular.
untuk mempelajari topik tersebut.

2. Landasan Teori

2.1 String atau Untai dari himpunan berhingga. Himpunan V


Sebelumnya kita memahami = { a, b, c, , z } adalah contoh yang
dahulu alfabet dan operasi umum dari sebuah alfabet dan { , , ,
penggabungan (concatenation / } merupakan 4 karakter alfabet (yang
konkatenasi). State/stata sederhana, termasuk subalfabet dari alfabet
sebuah alfabet V adalah sebuah simbol Yunani).

2
Konkatenasi dari dua karakter V.V = V adalah himpunan yang terdiri
alfabet seperti a dan b membentuk dari string dengan panjang 3 atas V.
deretan karakter, yakni ab. Operasi Secara umum V.V. .V = V adalah
konkatenasi juga dapat digunakan himpunan yang terdiri dari string dengan
terhadap barisan karakter. Sebagai panjang n atas V. Selanjutnya, yang
contoh, ab dikonkatenasi dengan ab dimaksud dengan penutup atau closure
menjadi abab. Sebuah string (kata atau dari V, ditulis V+, dinotasikan sebagai
kalimat) dari sebuah alfabet V adalah yang mendefinisikan V+ = V U V U V
sebuah anggota dari alfabet V atau U
bagian dari anggota yang berasal dari Sebagai pelengkap, string khusus
konkatenasi kosong atau beberapa e yang disebut string kosong (null /
karakter dari alfabet V. Contoh string empty string) sering dikombinasikan
yang berasal dari alfabet V = { a, b, c} dengan V+ untuk membentuk himpunan
adalah a, ca, ccba, dan bbb. closure V* dari V. Jadi, V* = { e } U V
V.V = V adalah himpunan yang U V U = { e } U V+ .
terdiri dari string dengan panjang string
2 dari anggota V, sedangkan V.V.V =

2.2 Tata Bahasa / Grammar


Bahasa pemrograman harus Tata bahasa yang terdiri dari
didefinisikan dengan benar. Bahasa aturan produksi  , dimana || = ||.
pemrograman dapat dikatakan baik || menunjukkan panjang dari . Ciri dari
dengan spesifikasi [3] : kelas ini adalah , (V T|VN )*, 0 <
1. Himpunan dari simbol (atau alfabet) || ||.
dapat digunakan untuk menyusun 3. Context free grammar
program program yang diinginkan. Tata bahasa yang terdiri dari
2. Himpunan dari semua bentuk umum aturan produksi  , dimana || = ||
program-program yang diinginkan. dan anggota dari VN. Ciri dari kelas ini
3. Semua bentuk umum dari program- adalah VN, (VT |VN)*.
program yang diinginkan 4. Regular grammar/ tata bahasa regular
mempunyai pengertian. Tata bahasa yang terdiri dari
Klasifikasi tata bahasa menurut aturan produksi  , dimana || = ||
aturan Noam Chomsky, antara lain [3] : dan anggota dari VN dan dapat
1. Unrestricted grammar berbentuk aB atau a, dimana a anggota
Kelas pertama ini adalah tata VT dan B anggota VN. Ciri dari kelas ini
bahasa yang aturannya tidak dibatasi. adalah V N , {V T , V T VN }
Ciri dari kelas ini adalah , (V T|VN atau V N , {V T , V N VT }.
)*, ||> 0.
2. Context sensitive grammar

2.3 Tata Bahasa Regular dan Ekspresi Regular


Tata bahasa regular didefinisikan selanjutnya, bahasa yang dihasilkan oleh
terdiri dari aturan produksi  , tata bahasa ini disebut regular. Untuk
dimana || = || dan anggota VN dan merepresentasikan bahasa regular
dapat berbentuk aB atau a, dimana a digunakan ekspresi regular.
anggota VT dan B anggota VN. Untuk

3
Ekspresi regular menggunakan dari bahasa yang dinotasikan dengan dua
tiga operator yaitu konkatenasi ekspresi. Contoh, e1 | e2 = { x | x
(penggabungan/concatenation), anggota L1 atau x anggota L2 }. Closure
alternation, dan closure. Diasumsikan ditunjukkan dengan kurung kurawal { },
ada dua ekspresi e1 dan e2 yang atau dengan subskrip *, yang berarti
dihasilkan dari bahasa L1 dan L2. pengulangan dari ekspresi kosong atau
Concatenation didefinisikan sebagai lebih. Seperti, { e1 } = e1* = { x | x
e1e2 = { xy | x anggota L1 dan y anggota L1* } dimana L1* adalah
anggota L2 }. Alternation dinotasikan penutup dari L1.
dengan | atau +, merupakan gabungan
pemrograman Java. J2SE
2.4 Java [6] Didesain untuk jalan pada
Java menurut definisi dari Sun komputer desktop dan komputer
adalah nama untuk sekumpulan workstations.
teknologi untuk membuat dan Enterprise Edition (J2EE):
menjalankan perangkat lunak pada Dengan built-in mendukung
komputer standalone ataupun pada untuk servlets. JSP, dan XML,
lingkungan jaringan. Java dikembangkan edisi ini ditujukan untuk aplikasi
pada bulan Agustus 1991, dengan nama berbasis server.
semula Oak. Pada Januari 1995, karena Micro Edition (J2ME): Didesain
nama Oak dianggap kurang komersial, untuk piranti dengan memori
maka diganti menjadi Java. Pada terbatas, layar display terbatas
Desember 1998, Sun memperkenalkan dan power pemrosesan yang juga
nama Java 2 (J2) sebagai generasi terbatas.
kedua dari java platform. Konvensi
nama baru ini diterapkan untuk semua
edisi Java yaitu Standard Edition (J2SE),
Enterprise Edition (J2EE), dan Micro
Edition (J2ME).
Ada tiga platform Java yang
telah didefinisikan (Gambar 2.1), yang
masing-masing diarahkan untuk tujuan
tertentu dan untuk lingkungan komputasi
yang berbeda-beda:
Standard Edition (J2SE): J2SE Gambar 2.1 Tiga platform Java 2
merupakan inti dari bahasa

2.5 Kelebihan Java

2.5.1 Sederhana dan Ampuh Java secara cepat jika telah memahami
Java dirancang untuk mudah konsep dasar pemrograman berorientasi
dipelajari, terutama bagi programmer objek. Java tidak memiliki hal-hal yang
yang telah mengenal C/C++ akan mudah mengejutkan dan aneh. Java memberi
sekali untuk berpindah ke Java. Pemakai anda kemampuan untuk menuangkan
dapat belajar membuat program dengan semua ide, karena bahasa pemrograman

4
ini bukan merupakan scripting language menyediakan mekanisme peng-class-an
(bahasa naskah) yang menghilangkan sederhana, dengan model antar muka
kemampuan kita untuk berinovasi, tetapi dinamik yang intuitif hanya jika
dengan cara berorientasi objek yang diperlukan.
mudah dan jelas.
2.5.4 Kokoh
2.5.2 Aman Java membatasi anda dari
Java dirancang sebagai bahasa beberapa hal kunci supaya anda dapat
pemrograman yang handal dan aman. menemukan kesalahan lebih cepat saat
Aplikasi-aplikasi yang dibangun dengan mengembangkan program. Java
bahasa Java sangat handal dengan langsung memeriksa program saat anda
manajemen memori yang bagus. menuliskannya, dan sekali lagi ketika
Aplikasi Java juga dikenal sangat program di jalankan. Karena Java adalah
secure, yaitu kasus-kasus seperti buffer bahasa yang sangat ketat dalam hal tipe
everflow yang umumnya menjadi lubang data dan deklarasi, banyak kesalahan
keamanan aplikasi-aplikasi berbasis umum terjadi saat kompilasi. Hal ini
C/C++ tidak terjadi di Java, karena akan lebih menghemat waktu jika
pengaturan securitynya dibandingkan dengan keharusan
yang bagus. menjalankan program terlebih dahulu
Seperti yang kita ketahui dan memeriksa semua bagian program
ancaman virus dan penyusup ada untuk melihat ketidakcocokan dinamis
dimana-mana, bahkan dokumen word selama program berjalan. Ini adalah
processor dapat mengandung virus. contoh di mana Java lebih luwes dan
Salah satu prinsip kunci perancangan kokoh dari beberapa bahasa lain, tetapi
Java adalah keselamatan dan keamanan. dengan imbalan yang layak untuk
Java tidak pernah memiliki fasilitas dan kelebihan itu.
kemampuan yang tidak aman sampai
perlu ditangani secara khusus untuk 2.5.5 Interaktif
pengamanannya. Maka karena program Java memiliki beberapa
Java tidak dapat memanggil fungsi- kemampuan yang memungkinkan
fungsi global dan memperoleh akses ke program melakukan beberapa hal pada
berbagai sumber dalam sistem, terdapat saat bersamaan, tanpa harus kesulitan
sejumlah pengawasan yang dapat menangani proses yang akan terjadi
dilakukan oleh program Java yang tidak selanjutnya. Jalinan program-program
dapat dilakukan oleh sistem lain. Java yang mudah digunakan
memungkinkan kita untuk memikirkan
2.5.3 Berorientasi-Objek pembuatan perilaku khusus, tanpa harus
Paradigma pemrograman mengintegrasikan perilaku tersebut
berorientasi objek merupakan paradigma dengan model pemrograman global yang
pemrograman masa depan. Java mengatur perulangan kejadian.
merupakan bahasa pemrograman
berorientasi objek. 2.5.6 Netral Terhadap Berbagai
Java bukan turunan langsung dari Arsitektur
bahasa pemrograman manapun, juga Java telah mengambil beberapa
sama sekali tidak kompetibel dengan keputusan yang sulit dalam pembuatan
semuanya. Java memiliki keseimbangan, bahasa Java dan bagaimana program

5
dijalankan, jadi anda dapat sepenuhnya dalam bahasa asli suatu mesin untuk
percaya tulis sekali, jalan di mana saja, menghasilkan kinerja yang tinggi.
kapan saja, selamanya. Sistem program Java yang melakukan
optimasi tepat waktu tersebut tidak
2.5.7 Terinterpretasi dan Berkinerja- kehilangan keuntungan dari program
Tinggi yang netral terhadap platform. lintas
Java dilengkapi keajaiban lintas- platform berkinerja tinggi bukan
platform yang luar biasa dengan sekedar omong-kosong. Dalam aplikasi
kompilasi ke dalam representasi Java (*.class) merupakan Java bytecode
langsung yang disebut kode-byte Java yang berjalan di atas jvm (Java Virtual
(Java byte-code), yang dapat Machine), yang kemudian jvm-lah yang
diterjemahkan oleh sistem manapun akan menginterpresentasikan kode-kode
yang memilki program Java didalamnya. tersebut ke kode native atau kode mesin
Java, bagaimanapun dirancang untuk dari arsitektur yang bersangkutan. Hal
tetap berkinerja baik pada CPU yang sangat menarik karena urusan arsitektur
tidak terlalu kuat. Walaupun Java mesin bukan jadi masalah bagi
merupakan bahasa terinterpretasi, kode- programmer tapi menjadi urusan
kode Java telah dirancang dengan hati- kompiler pada bahasa pemrograman
hati sehingga mudah diterjemahkan ke Java.

3. Pembahasan Dan Implementasi

3.1 Perancangan Konsep Kerja Aplikasi


Pada proses perancangan konsep, yang diinginkan pada layar
akan dilakukan penentuan rencana kerja aplikasi. Lalu klik ok.
aplikasi sesuai dengan tujuan pembuatan b. Kemudian pengguna ketikkan
aplikasi. ekspresi regular yang ingin dicari
Cara kerja aplikasi konversi solusinya, selanjutnya klik ok.
regular grammar menjadi ekspresi c. Setelah itu aplikasi akan
regular akan dijelaskan sebagai berikut : menampilkan langkah langkah
a. Pengguna dapat memasukkan konversi sesuai inputan yang
beberapa himpunan produksi diterima.

3.2 Flowchart
Untuk menggambarkan alur sebagai urutan-urutan instruksi
hubungan antar form yang ada pada program, yang akan memudahkan
program ini digunakan suatu diagram pembuatan program.

3.3 Pembuatan Program


Pada pengembangan aplikasi 5.0 sebagai editornya. Sebelum memulai
konversi regular grammar menjadi pembuatan program, pengaturan Path
ekspresi regular ini digunakan java harus dilakukan terlebih dahulu.
J2SDK1.4.2_05 dengan NetBeans IDE

6
3.4 Spesifikasi Hardware dan Software
Pada pembuatan aplikasi ini 5. VGA SiS 6326.
penulis menggunakan spesifikasi Sedangkan perangkat lunak
hardware sebagai berikut : (software) yang digunakan dalam
1. Komputer dengan Processor pembuatan aplikasi ini adalah sebagai
Intel pentium 3 1000 Mhz berikut :
2. Kapasitas RAM sebesar 256 1. Windows XP Professional
MB 2. Java(TM) 2 SDK, Standard
3. Harddisk 40 GB Edition Version 1.4.2_05
4. TVM monitor 14 inch 3. NetBeans IDE 5.0

3.5 Implementasi Program


Pada bagian ini akan dijelaskan pada menu toolbar, lalu pilih sub menu
mengenai cara implementasi aplikasi pada Run File, dan pilih Run rg.java.
NetBeans. Setelah program berhasil
dikompil maka pilih menu run yang ada
2. Kadir, Abdul. Dasar
4. Penutup Pemrograman Java 2. Andi,
Yogyakarta, 2005.
4.1 Kesimpulan 3. Suryadi H.S. Pengantar Automata
Aplikasi ini diharapkan menjadi Bahasa Formal Dan Kompilasi.
solusi bagi para pengguna, khususnya Penerbit Gunadarma, Jakarta, 1995.
mahasiswa Gunadarma. 4. Indrajani, S.Kom, MM, Martin,
S.Kom. Pemrograman
4.2 Saran Berorientasi Objek dengan Java,
Diharapkan aplikasi ini dapat PT. Gramedia, Jakarta, 2004.
dikembangkan pada penerimaan string 5. Anonim, Regular Grammar .,
terminal tidak hanya berupa abjad, tetapi http://en.wikipedia.org/wiki/Regul
dapat berupa simbol dan angka. ar_grammar, 2008
6. Bambang Hariyanto, Esensi-esensi
Bahasa Pemrograman Java,
Referensi : Informatika, Bandung, 2003.
1. Anonim, Creating a GUI with JFC 7. Anonim, Ilmu Komputer .,
Swing, Sun Microsystems Inc ., http://id.wikipedia.org/wiki/Ilmu_k
http://java.sun.com/docs/books/tut omputer, 2008.
orial/uiswing/index.html, 2004.

Anda mungkin juga menyukai