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.
Kelemahan bahasa tingkat rendah antara lain :
1. Bahasa Komputer I Sulit dipelajari karena programmer harus mengetahui seluk beluk perangkat keras yang digunakan.
2.Bahasa Komputer I Bahasa 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
ada standardisasi. Contoh : bahasa assembly untuk mikroprosesor Intel 8088 dengan bahasa assembly
untuk mikroprosesor Z-80 sangat jauh berbeda
3.Bahasa Komputer I Fungsi-fungsi yang tersedia sangat terbatas, misalnya tidak ada fasilitas untuk pemrograman grafik, fungsi-
fungsi numerik & string, dll.
fungsi numerik & string, dll.
Selain memiliki kelemahan, bahasa assembly memiliki beberapa kelebihan yang tidak dimiliki oleh bahasa lain, yaitu :
- Bahasa tingkat tinggi (High Level Language)
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.
• 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.
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 “;”)
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.
thanks atas info yang dibrikan
BalasHapus