TUGAS MANDIRI 6 KAMPUS MILENIAL ITBI
NAMA : BEZARO TAFONAO
KELAS : MALAM
JURUSAN : SISTEM INFORMASI S1
** ORGANISASI & SISTEM KOMPUTER **
Soal 1. Jelaskan pengertian Set Instruksi dalam ilmu komputer
Jawab :
✔️Set intruksi adalah sekumpulan lengkap intruksi yang dapat dimengerti oleh CPU, set intruksi sering juga disebut bahasa mesin karena aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly untuk dimengerti manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia. Sebuah intruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti darimana asal operand-operand dan kemana hasil akan ditempatkan.
Soal 2. Sebutkan operasi set instruksi untuk arithmetic beserta fungsinya
Jawab :
✔️ARITHMETIC
Tindakan CPU untuk melakukan operasi arithmetic :
1. Transfer data sebelum atau sesudah.
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi dan flag.
Soal 3. Selesaikan operasi arimetika berikut menggunakan format instruksi 3 alamat assembly dan hitung jumlah operasinya
Contoh :
Gunakan register alamat: A, B, C, D, E. Register yang menyimpan hasil: T, Y
● Y = A / B × C
DIV Y, A, B Y := A / B (1)
MPY Y, Y, C Y := Y × C (2)
Memerlukan 2 operasi
● Y = A × B / (C – D) + E
SUB T, C, D T := C – D (1)
DIV Y, B, T Y := B / T (2)
MPY Y, A, Y Y := A × Y (3)
ADD Y, Y, E Y := Y + E (4)
Memerlukan 4 kali operasi
1) (A × D)/(B – C)+E
2) A / B – D / E + C
3) A / (B – D) + C
4) A / (B – D + C)
5) A + B / (C + D) × E
Jawab :
⚡1. Y= (A × D) / (B-C) + E
MPY Y, A, D => Y := A × D (1)
SUB T, B, C => T := B - C (2)
ADD T, T, E => T := T + E (3)
DIV Y, Y, T => Y := Y / T (4)
Memerlukan 4 Kali Operasi
⚡2. Y= A / B - D + C
SUB Y, B, D => Y := B - T (1)
DIV Y, Y, A => Y := Y / A (2)
ADD T, E, C => T := E + C (3)
DIV T, Y, T => T := Y / T (4)
Memerlukan 4 Kali Operasi
⚡3. Y = A / ( B - D ) + C
SUB Y, B, D => Y := B - D (1)
DIV Y, Y, A => Y := Y / A (2)
ADD Y, Y, C => Y := Y + C (3)
Memerlukan 3 Kali Operasi
⚡4. Y = A / ( B - D + C )
SUB T, B, D => T := B - D (1)
ADD T, T,C => T := T + C (2)
DIV T, T, A => T := T / A (3)
Memerlukan 3 Kali Operasi
⚡5. Y = A + B / ( C + D ) × E
ADD T, C, D => T := C + D (1)
MPY T, T, E => T:= T × E (2)
ADD Y, A, B => Y := A + B (3)
DIV Y, Y, T => Y := Y + T (4)
Memerlukan 4 Kali Operasi
Soal 4. Jelaskan Perbedaan translator compiler dan translator interpreter
Jawab :
✔️Perbedaan antara compiler dan interpreter yaitu :
✔️Compiler merupakan translator yang paling mudah untuk digunakan dalam nenerjemahkan bahasa dibandingkan interpreter dan assembler.
✔️Interpreter merupakan transalator yang menerjemahkan bahasa paling lambat dibandingkan assembler dan compiler.
Soal 5. Jelaskan fase-fase dari sebuah proses compilasi
Jawab :
⚡Lexical Analyzer
Pada Compiler, lexical analyzer biasa disebut juga sebagai scanner. Lexical analyzer adalah tahapan pertama yang dilakukan pada compiler. Proses yang dilakukan pada tahapan ini adalah membaca program sumber karakter per karakter. Satu atau lebih (deretan) karakter karakter ini dikelompokkan menjadi suatu kesatuan mengikuti pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber dan disimpan dalam table simbol, sedangkan karakter yang tidak mengikuti pola akan dilaporkan sebagai token tak dikenal.
⚡Syntax Analyzer
Setelah tahapan lexical analyzer selesai berikutnya adalah tahapan syntax analyzer atau biasa juga disebut Parser. Pada tahapan ini token yang didapatkan dari hasil lexical analysis diurutkan atau disusun lalu dikelompokkan ke dalam suatu struktur tertentu secara spesifik.
⚡Semantic Analyzer
Setelah tahapan syntax analyzer selesai berikutnya adalah tahapan semantic analyzer. Tahapan semantic analyzer merupakan tahapan yang penting karena merupakan pusar dari tahapan kompilasi, dan juga merupakan jembatan antara fase analysis dan fase synthesis pada compiler. Pada tahapan ini program sumber akan diperiksa untuk mencari kemungkinan kesalahan semantic dengan cara memanfaatkan struktur hirarkikal yang dihasil dari tahapan syntax analyzer. Pada tahapan ini akan dihasilkan suatu kode yang executable pada kompilasi yang sederhana lalu dimanipulasi dengan berbagai optimization dari translator sampai nanti benar-benar executable dihasilkan.
⚡Phase Synthesis :
Intermediate Code Generator
Intermediate code generator merupakan tahapan awal dari phase synthesis. Proses yang dilakukan pada tahapan ini me-generate atau membangkitkan suatu code berdasarkan parsing tree, lalu selanjutnya diterjemahkan ke dalam bentuk three address code, quadruples atau triples.
⚡Code Optimizer
Setelah melakukan tahapan intermediate code generator berikutnya yang dilakukan adalah tahapan code optimizer. Adapun yang dilakukan pada tahapan ini adalah mengoptimisasi code sehingga menjadi code yang executable. Tahapan ini dilakukan untuk mempercepat waktu eksekusi dari suatu program dengan cara menghilangkan redudansi pada code.
⚡Code Generator
Tahapan code generator ini merupakan tahapan terakhir pada proses kompilasi. Pada tahapan ini akan dilakukan penentuan register untuk masing-masing variable lalu instruksi-instruksi dalam bentuk antara akan diterjemahkan ke dalam Bahasa mesin, dan akhirnya akan menghasilkan relocatable machine code atau assembly code.
⚡Symbol Table Manager
Symbol Table adalah sebuah struktur data dengan record-record untuk setiap identifier dengan field-field untuk setiap atribut dari identifier tersebut.
⚡Error Handler
Error handler merupakan bagian dari compiler untuk menangani dan melaporkan jika ditemukan suatu error.
SEKIAN DAN TERIMA KASIH........🙏😊😊
Komentar
Posting Komentar