imut

Minggu, 07 Oktober 2018

MIKROKONTROLLER

1. Jelaskan Perbedaan Bahasa Asembler/Asembly dengan Bahasa C/C++ ………. ?

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