Call Number | T-0514 (SoftcopyT-0126) Souce Code T-0026 |
Collection Type | Tesis |
Title | Pengembangan penerjemah lingu ke java dengan attribute grammar |
Author | Jimmy; |
Publisher | Depok: Pascasarjana Fak. Ilmu Komputer UI, 2006 |
Subject | Programming languages (Computers) |
Location | FASILKOM-UI; |
Nomor Panggil | ID Koleksi | Status |
---|---|---|
T-0514 (SoftcopyT-0126) Souce Code T-0026 | 06/11014 | TERSEDIA |
Banyak sistem perangkat lunak yang sudah dikembangkan bertahun-tahun yang lalu dan masih digunakan hingga saat ini. Bahasa pemrograman yang dipakai dalam mengimplementasi sistem tersebut sudah termakan usia dan sudah jarang digunakan. Akibatnya, modifikasi sistem untuk akomodasi perubahan kebutuhan sulit untuk dilakukan karena langkanya programer yang mengerti bahasa pemrograman yang sudah kuno. Solusi yang paling umum adalah mengimplementasikan sistem baru dengan bahasa pemrograman yang paling tren saat itu. Akan tetapi, tidak ada jaminan bahwa hal yang sama tidak akan terjadi lagi beberapa tahun kemudian. Selain itu, pengembangan sistem baru membutuhkan biaya yang tidak sedikit. Belum lagi apabila fitur yang hendak diakomodasi hanya sebagian kecil dari keseluruhan sistem yang besar, pembangunan sistem baru tentunya bukan solusi yang baik. Penelitian ini mencoba untuk melakukan pendekatan terhadap penyusunan bahasa spesifikasi sebagai alternatif solusi. Bahasa spesifikasi tersebut dinamakan Lingu. Bahasa spesifikasi Lingu dapat ditransformasi ke dalam bahasa pemrograman dengan memanfaatkan penerjemah yang dapat secara otomatis mengenerasi program. Selain itu, ada pula fitur verifikasi terhadap kebenaran spesifikasi yang dapat menjamin program yang dirancang bekerja sesuai dengan yang diinginkan. Tesis ini menyoroti implementasi penerjemah di mana sistem attribute grammar digunakan sebagai metoda pengembangan. Sistem attribute grammar yang dipakai adalah UUAG yang merupakan hasil pengembangan Universitas Utrecht dengan berbasis bahasa pemrograman Haskell. Penerjemah ini dimaksudkan untuk mentransformasikan bahasa spesifikasi Lingu menjadi bahasa pemrograman Java sebagai studi kasus penerjemahan. Lingu adalah bahasa spesifikasi yang dirancang secara khusus untuk keperluan aplikasi yang bertitik berat pada operasi basis data. Sebelumnya, dua penerjemah serupa sudah dikerjakan. Penerjemah yang pertama adalah penerjemah untuk Lingu ke Java. Penerjemah tersebut diimplementasi melalui pendekatan yang berbeda, yaitu dengan menggunakan alat bantu pengembangan kompilator yang disebut JavaCC. Penerjemah yang kedua adalah penerjemah untuk MuPL, yaitu bahasa spesifikasi yang merupakan versi awal dari Lingu, ke dalam bahasa pemrograman Java. Penerjemah ini menggunakan JavaCUP sebagai sarana pengembangannya. UUAG, JavaCC, dan JavaCUP memiliki cara kerja yang berbeda. Dari hasil implementasi ketiga jenis penerjemah, analisa perbandingan di antara ketiganya diberikan pula. Ada beberapa aspek yang dijadikan sebagai obyek perbandingan, antara lain kinerja, aplikasi, dan pengelolaan. Secara garis besar, UUAG memiliki sifat modularitas yang tinggi apabila dibandingkan dengan JavaCC maupun JavaCUP. Sifat ini memberikan kemudahan untuk mengadaptasikan perubahan-perubahan baik dari segi tata bahasa maupun semantik. Akan tetapi, definisi tata bahasa perlu dilakukan secara hati-hati karena UUAG dapat menerima tata bahasa yang bersifat ambigu. Ambiguitas tata bahasa dapat beresiko pada kesalahan program dalam menafsirkan semantik yang sesungguhnya.