Bahasa Assembly(assembler)
Bahasa yang di gunakan oleh programer untuk membuat program sehingga dapat diproses oleh mikrokontroler.
Bahasa C/C++
Penulisan program dalam bahasa C
#include merupakan file header atau library #define merupakan definisi konstanta #if -#endif merupakan kode program, dll
2. Buatlah struktur Gambaran ketika melakukan Compiler /terjemahaan ……….?
Bagian-bagian Compiler:
a.
Lexical
Analiysis (scanner), Lexical Analysis sering disebut Scanner bertugas untuk mendekomposisi
program sumber menjadi bagian-bagian kecil. Tugasnya secara detail adalah
mengindentifikasi semua besaran yang membangun suatu bahasa; mentransformasikan,
dan menentukan jenis token; menangani kesalahan dan tabel simbol. Contoh
besaran Leksikal :
1.
Identifier,
dapat berupa keyword atau nama kunci,
seperti IF.. ELSE, BEGIN..END (pada Pascal), INTEGER (pascal), INT,FLOAT
(bahasa C).
2.
Konstanta,
terdiri
dari besaran yang merupakan bilangan bulat (integer), bilangan pecahan
(float/Real), boolean (true/false), karakter, string, dan sebagainya.
3.
Operator,
terdiri dari operator aritematika ( + - * /), operator logika ( < = > ).
4.
Delimiter,
berguna
sebagai pemisah/pembatas, seperti kurung buka, kurung tutup, titik, koma,titik
dua, titik-koma
5.
White
Space, pemisah yang diabaikan oleh program seperti : enter,
spasi, ganti baris, akhir file.
b.
Syntax
Analysis, bertugas memeriksa kebenaran urutan dari
token-token yang terbentuk oleh lexical analysis. Syntax Analysis sering
disebut Parser, sedangkan proses
pen-deteksian-nya (pengenalan token) disebut dengan parsing. Pengelompokan
token-token kedalam class syntax (bentuk syntax), seperti procedure, Statement,dan expression.
c.
Semantics
Analyser, proses ini adalah proses kelanjutan dari proses
kompilasi sebelumnya, yaitu analisa leksikal (scanning) dan analisa sintaks
(parsing). Parser hanya akan
mengenali simbol-simbol '=', '+' dan '*', parser tidak mengetahui makna dari simbol-simbol
tersebut, untuk mengenali simbol-simbol tersebut Compiler menggunakan Analysis
Semantics. Pemeriksaan biasa dilakukan pada tabel indentifier, tabel display, dan tabel block.
d.
Intermediate
Code, bertujuan untuk memperkecil usaha dalam membuat compilator
dari sejumlah bahasa ke sejumlah mesin.
e.
Code
Optimization, bertujuan untuk mengoptimalkan code,
terdiri dari:
1. Dependensi
Optimasi, bertujuan untuk menghasilkan kode program yang berukuran lebih kecil
dan cepat.
2. Optimasi
Lokal, adalah optimasi yang dilakukan hanya pada suatu blok dari source code.
3. Optimasi
Global, biasanya dilakukan dengan suatu graph terarah yang menunjukkan jalur
yang mungkin selama ekskusi programa.
f.
Table
Management,memiliki dua fungsi penting yaitu : (1)
membantu pemeriksaan kebenaran semantik dari program sumber, (2) membantu dan
mempermudah dalam pembuatan intermediate code dan proses pembangkitan kode. Ada
beberapa jenis Tabel Informasi:
1. Tabel identifier, berfungsi
menampung semua identifier yang terdapat dalam program.
2. Tabel Array,
berfungsi menampung informasi tambahan untuk sebuah array.
3. Tabel blok, mencatat
variabel-variabel yang ada pada blok yang sama.
4. Tabel Real, menyimpan
elemen tabel bernilai real.
5. Tabel string,menyimpan
informasi string.
6. Tabel display,
mencatat blok yang aktif.
g.
Error
Handling, yaitu kesalahan program dalam proses penerjemahan
pada Compiler. Kesalahan program dapat berupa :
1.Kesalahan
Leksikal karena kesalahan dalam mengetik/mengeja.
2.Kesalahan
Sintaks karena kesalahan rumus, misalnya dalam operasi aritematika dengan tanda
kurung yang jumlahnya kurang.
3.Kesalahan
Semantic karena tipe data yang salah atau variabel yang belum didefinisikan.
3. Rubalah Bilangan :
Desimal ke Biner = 87(d), 73 (d), 94 (d) & 47 (d) Biner ke Hexsadesimal = 101001(b), 10110(b), 1110011(b), 001100(b) dan 11011100(b) Hexsadesimal ke Biner = 5F(h), E7(h), 89(h), A4(h), 55(h), 27(h), D9(h), EF(h), CA(h)
=> Desimal ke Biner
87(d)=0101 0111
73(d)=0100 1001
94(d)=0101 1110
47(d)=0010 1111
=> Biner ke Hexsadesimal
101001(b)=29
10110(b)=16
1110011(b)=73
001100(b)=c
11011100(b)=dc
=>Hexsadesimal ke Biner
5f(h)=0101 1111
E7(h)=1110 0111
89(h)=1000 1001
A4(h)=1010 0100
55(h)=0101 0101
27(h)=0010 0111
D9(h)=1101 1001
EF(h)=1110 1111
CA(h)=1100 1010
Nama : Ade Nurul Khasanah
NIM : 13170481
Kelas : 13.3A.35
Dosen : Dany Pratmanto M.Kom
Tidak ada komentar:
Posting Komentar