Minggu, 21 Maret 2021

Teknik kompilasi dan penerapan nya pada bidang geografi

Kompilasi merupakan teknik/proses yang di lakukan oleh kompilator dalam melakukan pembacaan suatu program yang ditulis dalam bahasa sumber, kemudian diterjemahkan ke bahasa tujuan. 



Proses kompilasi dikelompokkan ke dalam dua kelompok besar :

1. Phase Analysis :

Tahapan tahapan proses Analysis meliputi :

- Lexical Analyzer

Pada Compiler, lexical analyzer biasa disebut juga sebagai scanner. Lexical analyzer adalah tahapan pertama yang dilakukan pada compiler. Proses yang dilakukan pada tahapan ini adalah membaca program sumber karakter per karakter.

- Syntax Analyzer

Setelah tahapan lexical analyzer selesai berikutnya adalah tahapan syntax analyzer, Pada tahapan ini token yang didapatkan dari hasil lexical analysis  diurutkan lalu dikelompokkan ke dalam suatu struktur tertentu secara spesifik.

- Semantic Analyzer

Setelah tahapan syntax analyzer selesai berikutnya adalah tahapan semantic analyzer. Tahapan semantic analyzer merupakan tahapan yang penting karena merupakan pusar dari tahapan kompilasi, Pada tahapan ini program sumber akan diperiksa untuk mencari kemungkinan kesalahan semantic dengan cara memanfaatkan struktur hirarkikal yang dihasil dari tahapan syntax analyzer. 


2. Phase Synthesis :

Tahapan tahapan proses Synthesis meliputi :

- Intermediate Code Generator

Intermediate code generator merupakan tahapan awal dari phase synthesis. Proses yang dilakukan pada tahapan ini me-generate atau membangkitkan suatu code berdasarkan parsing tree, lalu selanjutnya diterjemahkan ke dalam bentuk three address code, quadruples atau triples.

- Code Optimizer

Setelah melakukan tahapan intermediate code generator berikutnya yang dilakukan adalah tahapan code optimizer. pada tahapan ini dilakukan optimisasi code sehingga menjadi code yang executable dengan cara menghilangkan redudansi pada code.

- Code Generator

Tahapan code generator ini merupakan tahapan terakhir pada proses kompilasi. Pada tahapan ini dilakukan penentuan register untuk masing-masing variable lalu akan diterjemahkan ke dalam Bahasa mesin, dan akhirnya akan menghasilkan relocatable machine code atau assembly code.

- Symbol Table Manager

Symbol Table adalah sebuah struktur data dengan record-record untuk setiap identifier dengan field-field untuk setiap atribut dari identifier tersebut.

- Error Handler

Error handler merupakan bagian dari compiler untuk menangani dan melaporkan jika ditemukan suatu error.


Implementasi kompilasi modern pada bidang geografi

Pada masa sekarang ini banyak bidang bidang dari ilmu pengetahuan yang sudah mengadopsi teknik kompilasi modern, salah satunya adalah dalam bidang ilmu geografi. Salah satu contoh dari implementasi kompilasi dalam bidang ilmu geografi disini adalah GIS (Geographic Information System), GIS yang berguna untuk menyimpan, memanipulasi dan menganalisa informasi geografi.



Sistem Informasi Geografis disini adalah sistem komputer yang memiliki kemampuan untuk membangun, menyimpan, mengelola dan menampilkan informasi berefrensi geografis, misalnya data yang diidentifikasi menurut lokasinya, dalam sebuah database. 

Teknologi Sistem Informasi Geografis dapat digunakan untuk investigasi ilmiah, pengelolaan sumber daya, perencanaan pembangunan, kartografi dan perencanaan rute. 

Misalnya, SIG bisa membantu perencana untuk secara cepat menghitung waktu tanggap darurat saat terjadi bencana alam, atau SIG dapat digunaan untuk mencari lahan basah (wetlands) yangmembutuhkan perlindungan dari polusi.

Komponen Sistem Informasi Geografis :

a. Perangkat Keras (hardware)

Perangkat keras SIG adalah perangkat-perangkat fisik yang merupakan bagian dari sistem komputer yang mendukung analisis goegrafi dan pemetaan. Perangkat keras SIG mempunyai kemampuan untuk menyajikan citra dengan resolusi dan kecepatan yang tinggi serta mendukung operasioperasi basis data dengan volume data yang besar secara cepat. 

b. Perangkat Lunak (software)

Perangkat lunak digunakan untuk melakukan proses menyimpan, menganalisa, memvisualkan data-data baik data spasial maupun non-spasial.