Jurusan : Sistem informasi
Kelas : Malam
SOAL:
A. Jelaskan pengertian Set Instruksi dalam ilmu komputer
B. Sebutkan operasi set instruksi untuk arithmetic beserta fungsinya
C. 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
D. Jelaskan Perbedaan translator compiler dan translator interpreter
E. Jelaskan fase-fase dari sebuah proses compilasi.
JAWABAN:
A . SET INSTRUKSI DALAM KOMPUTER
Pengertian Set Instruksi Dalam Komputer
Dalam pengertiannya Set Instruksi (instruction set) adalah sekumpulan instruksi yang lengkap dan berbeda. Set instruksi ini dapat di mengerti oleh sebuah CPU, set instruksi sering juga sering disebut sebagai bahasa mesin (machine code), karena aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, agar dapat dimengerti oleh manusia (programmer).
Pengertian Set Instruksi dalam (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) adalah suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).
ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.
Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti dari mana asal operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya) disebut pengalamatan.
B. PERASI SET INSTRUKSI UNTUK ARITHMETIC DAN FUNGSINYA
Tindakan CPU untuk melakukan operasi arithmetic :
ü Transfer data sebelum atau sesudah.
ü Melakukan fungsi dalam ALU.
ü Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
ADD | Penjumlahan |
SUBTRACT | Pengurangan |
MULTIPLY | Perkalian |
DIVIDE | Pembagian |
ABSOLUTE | |
NEGATIVE | |
DECREMENT | |
INCREMENT | |
(*)Yang ke 5 sampai 8 merupakan instruksi operand tunggal. | |
C. Gunakan register alamat: A, B, C, D, E. Register yang menyimpan hasil: T, Y
1) (A × D)/(B – C)+E
· MPY T, A, D ⟶ T := A × D
SUB Y, B, C ⟶ Y := B - C
DIV Y, T, Y ⟶ Y := T / Y
ADD Y, Y, E ⟶ Y := Y + E
Memerlukan 4 kali operasi
2) A / B – D/ E + C
· DIV Q, A, B ⟶ Q := A / B
DIV P, D, E ⟶ P := D / E
SUB P, Q, P ⟶ P := Q-P
ADD P, P, C ⟶ P := P + C
Memerlukan 4 kali operasi
3) A / (B – D)+C
· Y = A / (B – D) + C
SUB E, B, D ⟶ E := B - D
DIV E, A, E ⟶ E := A / E
ADD E, E, C ⟶ E := E + C
Memerlukan 3 kali operasi
4) A / (B – D + C)
· Y = A / (B – D + C)
ADD N, D, C ⟶ N := D + C
SUB N, B, N ⟶ N := B - N
DIV N, A, N ⟶ N := A / N
Memerlukan 3 kali operasi
5) A + B / (C + D) × E
· Y = A + B / (C + D) × E
ADD Y, C, D Y := C + D (1)
DIV Y, B, Y Y := B / Y (2)
ADD Y, A, Y Y := A + Y (3)
MPY Y, Y, E Y := Y × E (4)
Memerlukan 4 kali operasi
D. PERBEDAAN TRANSLATOR COMPILER DAN TRANSLATOR INTERPRETER
Translator Adalah suatu program dimana mengambil input sebuah program yang ditulis pada satu bahasa program (source language) ke bahasa lain (The object on target language) contohnya Interpreter,compiler dan assembler.
Compiler :
Compiler adalah program sistem yang digunakan sebagai alat bantu dalam pemrogaman.Perangkat lunak yang melakukan proses penterjemahan code (yang dibuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini adalah bahasa mesin. Pada beberapa compiler, output berupa bahasa mesin dilaksanakan dengan proses assembler yang berbeda. Compiler hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan dilaksanakan sebelum program tersebut dieksekusi. Contoh bahasa pemrograman yang menggunakan compiler adalah Java, C, Pascall, Basic, dll.
Interpreter :
Interpreter adalah Perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di dalam kode tersebut.Interpreter tidak membangkitkan object code, hasil translasi hanya dalam bentuk internal.Contoh bahasa pemrograman interpreter yaitu PHP, ASP, Perl, dan lain-lain.
E. FASE- FASE DARI SEBUAH PROSES COMPILASI
1).Penganalisa Leksikal
Membaca program sumber, karakter demi karakter. Sederetan satu atau lebih karakter dikelompokkan menjadi satu kesatuan mengacu pada pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber. Kelompok karakter yang membentuk sebuah token dinamakan lexeme untuk token tersebut. Setiap token yang dihasilkan disimpan di dalam table symbol. Sederetan karakter yang tidak mengikuti pola token akan dilaporkan sebagai token tak dikenal (unidentified token)
2).Penganalisa Sintaks
Memeriksa kesesuaian pola deretan token dengan aturan sintaks yang ditentukan dalam bahasa sumber. Sederetan token yang tidak mengikuti aturan sintaks akan dilaporkan sebagai kesalahan sintaks (sintx error). Secara logika deretan token yang bersesuaian dengan sintaks tertentu akan dinyatakan sebagai pohon parsing (parse tree)
3).Penganalisa Semantik
Memeriksa apakah token an ekspresi dari batasan-batasan yang ditetapkan. Batasan-batasan tersebut misalnya:
a. Panjang maksimum token identifier adalah 8 karakter
b. Panjang maksimum ekspresi tungal adalah 80 karakter
c. Nilai bilangan bulat adalah -32768 s/d 32767
d. Operasi aritmatika harus melibatkan operan-operan yang bertipe sama
4)Pembangkit Kode Antara
Membangkitkan kode antara (intermediate code) berdasarkan pohon parsing. Pohon parse selanjutnya diterjemahkan oleh suatu penerjemah yang dinamakan penerjemah berdasarkan sintx (syntax-directed translator). Hasil penerjemahan ini biasanya merupakan perintah tiga alamat (three-address code) yang merupakan representasi program untuk suatu mesin abstrak. Perintah tiga alamat bisa berbentuk quadruples (op, arg1, arg2, result), tripels (op, arg1, arg2). Ekspresi dengan satu argument dinyatakan dengan menetapkan arg2 dengan – (strip, dash)
5).Pengoptimal kode
Melakukan optimasi (penghematan space dan waktu komputasi), jika mungkin terhadap kode antara
6).Pembangkit Kode Mesin
Membangkitkan kode dalam bahasa target tertentu (misalnya bahasa mesin).

Tidak ada komentar:
Posting Komentar