Minggu, 01 November 2009

Tugas1: Teknik Kompilasi

1. Bahasa pemrograman digolongkan menjadi beberapa tingkatan yaitu :
  • Bahasa tingkat rendah (Low Level Language)

Bahasa tingkat rendah merupakan bahasa pemrograman yang berorientasi pada mesin. Disebut tingkat rendah karena bahasa ini lebih dekat ke bahasa mesin daripada bahasa manusia. Yang tergolong dalam bahasa tingkat rendah adalah bahasa assembly.
Bahasa Komputer I
Kelemahan bahasa tingkat rendah antara lain :
1. Bahasa Komputer ISulit dipelajari karena programmer harus mengetahui seluk beluk perangkat keras yang digunakan.
2.Bahasa Komputer IBahasa assembly untuk satu jenis mikroprosesor satu dengan yang lain sangat jauh berbeda karena belum
ada standardisasi. Contoh : bahasa assembly untuk mikroprosesor Intel 8088 dengan bahasa assembly
untuk mikroprosesor Z-80 sangat jauh berbeda

3.Bahasa Komputer IFungsi-fungsi yang tersedia sangat terbatas, misalnya tidak ada fasilitas untuk pemrograman grafik, fungsi-
fungsi numerik & string, dll.

Bahasa Komputer I
Selain memiliki kelemahan, bahasa assembly memiliki beberapa kelebihan yang tidak dimiliki oleh bahasa lain, yaitu :
Bahasa Komputer I1. kecepatan eksekusi dari program yang ditulis dengan bahasa assembly sangat tinggi, paling cepat dibanding dengan program-program yang dibuat menggunakan bahasa yang lain.
2. Bahasa Komputer IExecutable file yang dihasilkan oleh bahasa assembly ukurannya paling kecil. Buktinya : hampir semua program virus yang banyak beredar adalah dibuat dengan menggunakan bahasa assembly karena ukurannya paling kecil, sehingga kehadiran virus tersebut menjadi lebih sulit terdeteksi.
Bahasa Komputer I
  • Bahasa tingkat tinggi (High Level Language)

Bahasa Komputer I Bahasa tingkat tinggi lebih dekat ke bahasa manusia dari pada bahasa mesin. Bahasa tingkat tinggi merupakan bahasa pemrograman yang memiliki aturan-aturan gramatikal dalam penulisan ekspresi atau pernyataan dengan standar yang mudah dipahami oleh manusia. Yang tergolong bahasa tingkat tinggi, Bahasa Komputer I
Kelebihan bahasa tingkat tinggi antara lain :
1. Mudah dipelajari
2. Mempunyai fasilitas trace & debug untuk mendeteksi adanya kesalahan (error)
3.Mempunyai fungsi/library yang lengkap sehingga dapat mempermudah dan mempercepat pembuatan program.

  • Bahasa Tingkat Menengah (medium-level language)

    Merupakan bahasa yang menggabungkan elemen dari bahasa tingkat tinggi dan bahasa tingkat rendah.
    Bahasa tingkat tinggi yang mengutamakan kemudahan dalam membuat program dan bahasa tingkat rendah mempunyai kecepatan eksekusi. Contoh bahasa tingkat menengah yaitu C / C++, Fortran.

    2. Bahasa Komputer IAnggota-anggota compiler
    Bahasa Komputer I
    Preprocessor
    Untuk menggabungkan skeletal program yang menjadi input untuk compiler, dan melakukan fungsi - fungsi macro processing, file inclusion, rational preprocessor, dan language extensions.
    Assembler
    Melakukan pemrosesan terhadap output dari compiler yang menghasilkan kode-kode biner yang belum memiliki alamat memory (memory addressing)
    Loader and link-editor
    Melakukan penggabungan antara relocatable machine code dengan library ataupun relocatable object files untuk mendapatkan absolut machine code.


    3.

    3.1 Diagram Anggota compiler


    3.2 Diagram Proses Kompilasi

    Tahap analisis:
    - lexical analyzer
    - syntax analyzer
    - semantic analyzer.
    Tahap sintesis:
    - intermediate code generator
    - code optimizer
    - code generator.
    Symbol table manager
    untuk membuat record dari identifier yang digunakan dalam source program dan mengumpulkan atribut yang menyangkut setiap identifier
    Error Handler
    Bagian kompiler yang menangani dan melaporkan kesalahan yang ditemukan.


    4.
    . int x;
    int y;
    int z;
    z = x + y;

    Hasil scanning potongan program diatas sebagai berikut:
    Int t-int (reserved word)
    x t-identifier (variable name)
    ; t-spesial (special symbol yang bernilai “;”)
    Int t-int (reserved word)
    y t-identifier (variable name)
    ; t-spesial (special symbol yang bernilai “;”)
    Int t-int (reserved word)
    z t-identifier (variable name)
    ; t-spesial (special symbol yang bernilai “;”)
    z t-identifier (variable name)
    = t-op (operator yang bernilai “=”)
    x t-identifier (variable name)
    + t-op (operator yang bernilai “+”)
    y t-identifier (variable name)


    Referensi :
    "Diktat Kuliah Bahasa Komputer I", Politeknik Elektronika Negeri Surabaya – ITS.
    “Teknik Kompilasi“, Bina Nusantara.



















    1 komentar:

    Thank's to visit my blog's