8
5.1. Prototipe Program Compiler
Pada program compiler, pengguna dapat melakukan dua aktifitas utama, yaitu: 1 melakukan kompilasi source code dari rule, dan 2 melakukan test,
yakni melihat beberapa contoh soal yang dapat dibangkitkan dari rule tersebut. Aktifitas dan proses kompilasi yang berlangsung di dalam program
compiler dapat dilihat pada sequence diagram pada gambar 2.
Gambar 2. Sequence diagram dari rancangan prototipe compiler
5.2. Prototipe Program Generator Soal
Program generator soal berfungsi untuk membangkitkanmembentuk sejumlah soal dari sejumlah source code rule yang sudah bebas error berdasarkan
hasil dari program kompilasi. Proses pembangkitan soal oleh generator soal digambarkan dalam sequence diagram pada gambar 3.
9
Gambar 3. Sequence diagram dari rancangan prototipe generator soal
Untuk menjalankan proses generator soal, penguna harus menyiapkan beberapa hal sebagai parameter bagi proses pembentukan soal, yaitu:
1. Memilih rule mana yang akan dilibatkan dalam proses pembentukan soal
2. Menentukan berapa jumlah soal yang akan dibentuk
3. Menentukan tipe output dari hasil pembentukan soal.
4. Menentukan nama file dimana soal-soal yang terbentuk akan disimpan
Untuk fleksibilitas, prototipe generator soal direncanakan dapat menghasilkan output berupa naskah soal sesuai jumlah yang diinginkan dalam
beberapa format, yaitu: 1.
format text file .txt 2.
format HTML .html 3.
format PDF .pdf, dan 4.
script SQL .sql untuk pembentukan database bank soal.
10
5.3. Program Parser
Bahasa pemrograman untuk definisi rule, program Kompilasi, dan program Generator Soal, semuanya melibatkan satu program utama yang sangat
penting, yaitu program parser sebagai inti dari sebuah compiler yang bertugas untuk melakukan analisa leksikal, analisa sintaksis, dan analisa semantik terhadap
source code yang ditulis dalam suatu bahasa pemrograman. Untuk memudakan pembuatan progam parser, digunakan tools Parser
Generator yaitu Java Compilers Compiler JavaCC beserta utilty JJTree yang tergabung dalam paket JavaCC. Dalam membangun sebuah parser dengan
JavaCC dan JJTree dilakukan langkah-langkah sebagai berikut: 1.
Menyusun grammar dari bahasa yang akan dirancang 2.
Membuat sejumlah Java class untuk penanganan node dan semantik 3.
Melakukan kompilasi dengan JJTree 4.
Melakukan kompilasi dengan JavaCC 5.
Melakukan kompilasi dengan Java Compiler Setelah proses kompilasi, maka semua class buatan maupun class yang
auto-generate, akan membentuk program parser yang mekanisme dari proses kerjanya dapat dilihat dalam activity diagram dalam gambar 4.
11
Gambar 4. Activity diagram program parser
Interpretasi semantik yang paling utama dalam parser yang dibangun adalah proses pembentukan soal yang meliputi:
1. Pembentukan nilai acak terhadap variabel-variabel,
2. Perhitungan hasil dari operasi berdasarkan rumus yang didefinisikan,
3. Pembentukan opsi untuk pilihan jawaban,
4. Pembentukan naskah soal.
6. Implementasi 6.1. Rancangan Bahasa Pemrograman