Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket

♥♥Lautan Ilmu Mahasiswa STT-PLN♥♥
STATUS
Ya Allah... Aku Beriman Hanya Kepadamu,,, Ya Allah... Aku Beribadah Hanya Kepadamu,,, Ya Allah... Aku Berdo'a Hanya Kepadamu,,, Jadikan Semua Impianku Menjadi Kenyataan Suatu Saat Nanti Dengan Semua Doa, Ikhtiyar, Dan Tawakkalku Ini... :-) :-) :-)




HOME KNOWLEDGE LINKIES SHOPPING NEWS MY CAMPUS PROFILE
Materi Kompilasi
Tuesday, November 12, 2013 @ 12:28 AM | 0 Comment Box(s)
1. Pengertian
Kompilasi Adalah Proses Membaca Suatu Program Yang Ditulis Dalam Suatu Bahasa Sumber Dan Menerjemahkan - Nya Ke Dalam Suatu Bahasa Sasaran. Proses Kompilasi Dilakukan Oleh Kompilator Yang Merupakan Sebuah Program Untuk Melakukan Proses Kompilasi Ini. Proses Kompilasi Dapat Digambarkan Dalam Gambar Berikut :


2. Pengelompokkan Proses Kompilasi
Proses Kompilasi Dapat Dikelompokkan Ke Dalam Dua Kelompok Besar Berikut :
  • Analisa
Program Sumber Dipecah - Pecah Dan Dibentuk Menjadi Bentuk Antara ( Intermediate Representation )
  • Sintesa
Membangun Program Sasaran Yang Diinginkan Dari Bentuk Antara

3. Fase - Fase Kompilasi
Proses Kompilasi Harus Melewati Fase - Fase Yang Digambarkan Dalam Skema Berikut :



Berikut Ini Penjelasan - Nya :
  • Penganalisa Leksikal
Membaca Program Karakter Demi Karakter. Sederetan Karakter Dikelompokkan Dalam Satu Kesatuan Yang Mengacu Pada Pola Kesatuan Kelompok Karakter ( Token ). Kelompok Karakter Yang Membentuk Sebuah Token Disebut Lexeme.Setiap Token Disimpan Dalam Tabel Simbol. Sederetan Karakter Yang Tidak Mengikuti Pola Token Akan Dianggap Sebagai Token Tak Dikenal ( Unidentified Token ). Contoh : Diketahui Pola Token : I = huruf ( huruf | angka )*, Maka Lexeme ab2c Dikenali Sebagai Token, Sedangkan 2abc Atau abC Tidak Dikenali Sebagai Token
  • Penganalisa Sintaks
Memeriksa Kesesuaian Pola Deretan Token Dengan Aturan Sintaks Yang Ditentukan Dalam Bahasa Sumber. Sederetan Token Yang Tidak Mengikuti Aturan Sintaks Akan Dilaporkan Sebagai Kesalahan Sintaks ( Sintax Error ). Secara Logika, Deretan Token Yang Bersesuaian Dengan Sintaks Tertentu Akan DinyatakanSebagai Pohon Parsing ( Parse Tree ). Contoh : Diketahui Ekspresi : E = If L Then, L = IOA, I = huruf ( huruf | angka )*, O = < | = | > | <= | >=, A = 0 | 1 | ... | 9. Maka, Ekspresi If a2 < 9 Then Adalah Ekspresi Yang Sesuai Sintaks, Sedangkan If a2 < 9 Do Atau If Then a2B < 9 Tidak Sesuai
  • Penganalisa Semantik
Memeriksa Token Dan Ekspresi Dari Batasan - Batasan Yang Ditetapkan. Batasan  - Batasan Tersebut, Di Antara - Nya :
    1. Panjang Maksimum Token Identifier Adalah 8 Karakter
    2. Panjang Maksimum Ekpresi Tunggal Adalah 80 Karakter
    3. Nilai Bilangan Bulat Adalah - 32768 Sampai Dengan 32767
    4. Operasi Aritmatika Harus Melibatkan Operan - Operan Yang Bertipe Sama
  • Pembangkit Kode Antara
Membangkitkan Kode Antara ( Intermediate Code ) Berdasarkan Pohon Parsing. Pohon Parse Selanjutnya Diterjemahkan Oleh Penerjemah Berdasarkan Syntax ( Syntax Directed Translator ). Hasil Penerjemahan Merupakan Perintah Tiga Alamat Yang Merupakan Representasi Program Untuk Suatu Mesin Abstrak. Perintah Tiga Alamat Ini Bisa Berbentuk Quadrapels ( Terdiri Dari Operator, Argument 1, Argument 2, Result ), Tripels ( Terdiri Dari Operator, Argument 1, Argument 2 ). Ekspresi Dengan Satu Argumen Biasa - Nya Dinyatakan Dengan Menetapkan Argument 2 Dengan Strip ( - )
  • Pengoptimal Kode
Melakukan Optimasi, Yaitu Penghematan Space Dan Waktu Kompilasi ) Jika Mungkin Terhadap Kode Antara
  • Pembangkit Kode
Membangkitkan Kode Dalam Bahasa Target Tertentu ( Misalnya Bahasa Mesin ) 

4. Contoh Proses Kompilasi
Berikut Contoh Proses Kompilasi Dengan Suatu Ekspresi Dalam Bahasa Sumber : 
position := initial + rate * 60.


Keterangan :
  1. id Adalah Token Untuk Identifier. Tiga Lexeme Untuk Token Ini Adalah Position, Initial, Dan Rate
  2. Penganalisa Sintaks Secara Logika Membangkitkan Pohon Parse
  3. Penganalisa Semantik Mendeteksi Mismatch Type. Perbaikan Dilakukan Dengan Memanggil Procedure "inttoreal" Yang Mengkonversi Integer Ke Real
  4. Quadrapels Dari :
    • temp1 := inttoreal ( 60 ) Adalah ( Inttoreal, 60, -, temp1 )
    • temp2 := id3 * temp1 Adalah ( *, id3, temp1, temp2 )
    •  temp3 := id2 + temp2 Adalah ( +, id2, temp2, temp3 )
    •  id1 := temp3 Adalah ( Assign, temp3, -, id1 )
  1. Pembangkit Kode Dalam Contoh Ini Menghasilkan Kode Dalam Bahasa Mesin 


 
Attention !!! :-) :-) :-) 
  • Put Your Link Or E-mail, And Real Nick Name
  • Ask Something, Request Tutorial / Freebies?
  • I Will Answer Your Mes On Your Blog Or Your E-Mail Or My Facebook Page(http://www.facebook.com/kormakka?ref=hl)
  • And No Harsh Word!
  • Keep Smiling :-) :-):-)

Labels:

♥I Am Ben Ha Jung♥

.♥I Am An Accousticer♥.
.♥Accoustic Guitar ♥.
.♥:) :) :)♥.
Presented For
♥Is My Best Campus♥

Chat Box
  • Put Your Link, Not E-mail
  • Request Tutorial / Freebies?
  • I Will Answer Your Mes On Your Blog
  • And No Harsh Word!
  • Keep Smiling :-) :-):-)
  • n
    Visitors
    Followers
    Label List
    Credits
    Layout made by S.Mell AND Ben Ha Jung
    Inspiration from fallingyou and Kim Seo
    resources from x x x x x.
    Copyright© All Rights Reserved Ben Ha Jung & Kim Seo Ansyah