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.
1. Pendahuluan
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.
2. Landasan Teori
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 =
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.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.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.
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