Langsung ke konten utama

Jawaban Tugas MIKROKONTROLER P4


1) .  Perbedaan Bahasa Asembler/Asembly dengan Bahasa C/C++ 
        - Bahasa Assembly 
           Karena Bahasa Mesin sangat rumit untuk diprogram secara langsung (karena                 berupa bilangan numeric), sehingga dibuat suatu symbol pelambang (mnemonic)           untuk     mewakili masing-masing instruksi tersebut yang lebih mudah diingat dan           dibaca oleh manusia (bayangkan apakah anda lebih mudah mengingat nama teman       anda atau nomor telepon rumahnya?).
       - Bahasa Mesin 
          Setiap jenis CPU memiliki bahasa mesin-nya masing-masing. Instruksi bahasa              mesin   dinyatakan dalam bilangan numeric (Binari) yang tersimpan sebagai byte            dimemori. Masing-masing instruksi memiliki kode numerik yang unik yang disebut          sebagai “operation code” atau “opcode”. Setiap perintah diawali dengan suatu                opcode dan dapat diikuti oleh data.
2) . struktur Gambaran ketika melakukan Compiler
       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) . Rubah Bilangan
          Desimal ke Biner
          87 = 1010111
          73 = 1001001
          94 = 1011110
          47 = 101111
          Biner ke Hexsadesimal
          101001 = 29
          10110   = 16
          1110011 = 73
          001100 = c
          11011100 = dc
          Hexsadesimal ke Biner
          5F = 1011111
         E7 = 10111110
         89 = 10001001
         A4 = 10100100
         55 = 1010101
         27 = 100111
         D9 = 11011001
         EF = 11101111

         CA = 11001010
Nama : Faiz Firmansyah

NIM : 13170370

Dosen : Dany Pratmanto M.KOM

Kelas : 13.3A.35 

Komentar

Postingan populer dari blog ini

Pertemuan 3 dan 4 Sistem Operasi

Pertemuan 3 PENJADWALAN PROSES      Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.  Penjadwalan bertugas memutuskan hal-hal berikut:      1. Proses harus berjalan.      2. Kapan dan berapa lama proses itu berjalan. Kriteria Penjadwalan Adil (Fairness) adalah proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses. Efisiensi (Utilisasi) adalah pemroses yang dihitung dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer. Waktu Tanggap (Response Time) Sistem Interaktif didefinisikan sebagai waktu yang dihabiskan dari saat katakter terakhir dari perintah dimasukkan oleh program sampai hasil pertama muncul di perangkat masukan keluaran seperti layar. Sistem waktu nyata didefinisika...

Sistem operasi pertemuan 5

Pertemuan 5 KONKURENSI DAN KEAMANAN SISTEM  A. Pengertian Konkurensi      Konkurensi merupakan landasan umum perancangansistem operasi. Proses-proses disebut konkuren jika proses-proses (lebih dari satu proses) ada pada saat yang sama. Proses-proses konkuren dapat sepenuhnya tidak bergantung dengan lainnya tapi dapat juga saling berinteraksi. Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik. B. Prinsip-prinsip Konkurensi Prinsip-prinsip konkurensi meliputi : Alokasi layanan pemroses untuk proses-proses Pemakaian bersama dan persaingan untuk mendapatkan sumberdaya Komunikasi antar proses Sinkronisasi aktivitas banyak proses  Konkurensi dapat muncul pada konteks berbeda, yaitu : untuk banyak pemakai untuk strukturisasi dari aplikasi untuk strukturisasi dari satu proses untuk strukturisasi sistem operasi  Konteks Konkurensi Konteks Konkurensi untuk Strukturisasi Satu Pro...

Pengertian Branch Prediction - Data Flow Analysis - Speculative Execution

    1. Branch Prediction         Dalam artsitektur komputer, sebuah prediktor cabang adalah sirkuitdigital yang mencoba untuk menebak arah mana cabang (misalnya astruktur if-then-else) akan pergi sebelum ini diketahui pasti. Tuujuan dari prediktor cabang penting dalam mikroprossesor pipeline hari ini untuk mencapai kinerja tinggi.        Dua arah percabangan biasanya diimplementasikan dengan instruksi lompat berrsyarat dapat menjadi "tidak diambil" dan melanjutkan eksekusi  dengan cabang pertama dari kode yang mengikuti segera setelah lompat bersyarat atau dapat "diambil" dan melompat ke tempat yang berbeda di memori program dimana cabang kedua kod adalah disimpan. hal ini tidak diketahui secara pasti apakah lompat bersyarat akan diambil smapai kondisi telah dihitung dan lompat bersyarat telah lulus eksekusi dlam pipa intruksi.         Tanpa prediksi cabang prosesor harus menunggu sampai intruksi lo...