Nama : Junita Simanjuntak
Kelas : Pagi
Prodi : D3 Akuntansi
1.
Set instruksi adalah suatu perintah yang diberikan
kepada sebuah PC ataupun CPU guna menjalankan sebuah OS ( Operating System )
dari suatu CPU tersebut.Set instruksi juga biasanya digunakan untuk
perantara komunikasi dari programmer menuju mesin, set instruksi biasanya
berupa bahasa mesin yang digunakan sebagai jembatan komunikasi antara manusia
dengan komputer.
Instruction Set Architecture ( ISA ) didefinisikan sebagai 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.
2.
Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan
2. SUBTRACT : Pengurangan
3. MULTIPLY : Perkalian
4. DIVIDE : Pembagian
5. ABSOLUTE
6. NEGATIVE
7. DECREMENT
8. INCREMENT
3. operasi arimetika berikut menggunakan format instruksi 3 alamat assembly dan hitung jumlah operasinya.
1) (A x D)/(B – C)+E
MPY Y,A,D Y:=AXD (1)
DIV Y,Y,T Y:=Y/T (2)
SUB Y,B,C Y:=B-C (3)
ADD Y,Y,E Y:=Y+E (4)
Memerlukan 4 kali operasi
2) A / B – D / E + C
DIV Y,A,B Y:=A/B (1)
SUB Y,Y,B Y:=Y-B (2)
DIV Y,D,E Y:=D/E (3)
ADD Y,Y,C Y:=Y+C (4)
Memerlukan 4 kali operasi
3) A / (B – D) + C
SUB Y,B,D Y:=B-D (1)
ADD Y,T,A Y:=T/A (2)
DIV Y,Y,C Y:=Y+C (3)
Memerlukan 3 kali Operasi
4) A / (B – D + C)
SUB Y,B,D Y:=B-D (1)
ADD Y,Y,C Y:=Y+C (2)
DIV Y,T,A Y:=T/A (3)
Memerlukan 3 kali Operasi
5) A + B / (C + D) x E
ADD Y,C,D Y:=C-D (1)
ADD Y,A,B Y:=A+B (2)
DIV Y,B,T Y:=B/T (3)
MPY Y,Y,E Y:=YXE (4)
Memerlukan 4 kali operasi
4. Perbedaan translator compiler dan translator interpreter
Translator
Pengertian Translator
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). Jika source language adalah high level language, seperti cobol, pascal, fortran maka object language adalah low-level language atau mesin language. Translator seperti ini disebut COMPILER.
Dibawah ini adalah macam-macam Translator :
Assembler
Compiler
Interpreter
A.compiler
Compiler
Compiler atau Kompilator merupakan sebuah program komputer yang berfungsi untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang di tulis dalam bahasa pemrogrman lain salah satunya adalah C++, atau Compiler atau Kompilator adalah perangkat lunak yang digunakan untuk mengubah source code / kode pemrograman menjadi bahasa mesin agar dapat dijalankan oleh komputer.
Istilah Compiler biasah digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (Contoh bahasa C++, Pascal, FORTRAN, Visual C#, COBOL, Visual Basic, Java, atau xBase) diterjemahkan menjadi bahasa mesin, biasanya menggunakan bahasa Assembly sebagai perantara. salah satu contoh Compiler dalam Bahasa C++ adalah Visual C++, GNU Compiler Collection (GCC) dan Borland C++.
Tahap Kompilasi:
Pertama source code (program yang ditulis) dibaca kememori computer).
Source code tersebut diubah menjadi objek code (bahasa Assembly).
Objek
code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang
bisa dieksekusi.
Komplier
memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh computer,
program yang dieksekusi oleh compiler adalah dapat berjalan lebih cepat
disbanding program yang diperoduksi oleh interpreter, disamping itu juga
bersifat independen.
Interpreter
Pengertian 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.
Proses ini
sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung
berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses
penterjemahan dilaksanakan sebelum program tersebut dieksekusi. Interpreter
atau dalam bahasa Indonesia dikenal sebagai Juru Bahasa berbeda dengan
Translator atau penterjemah dalam segi media yang dipakai untuk menerjemahkan.
Interpreter akan menterjemahkan bahasa sumber ke dalam bahasa sasaran secara
langsung atau orally sementara translator akan menerjemahkan bahasa sumber ke
bahasa sasaran secara tertulis. Java dijalankan menggunakan interpreter yaitu
Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi
menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
1. Perbedaan antara Compiler dengan Interpreter :
1) Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh source code. Kalau interpreter butuh source code.
2) Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek dengan library ) . Kalau interpreter tidak ada proses terpisah.
3) JIka compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam library.
4) Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
5) Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan.
5.
Fase Fase compilasi sebagai berikut:
*Penganalisa Leksikal
Membaca program sumber,karakter demi karakter.Sederetan(satu atau
lebih)karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan
kelompok karakter(token) yang ditentukan dalam bahasa sumber.kelompok karakter
yang membentuk sebuah token dinammakan lexeme untuk token tersebut.setiap token
yang dihasilkan disimpan di dalam tabel simbol.sederetan karakter yang tidak
mengikuti pola token akan dilaporkan sebagai token tak dikenal(unidentified
token).
*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 (sintax error).Secara logika deretan token
yang bersesuaian dengan sintaks tertentu akan dinyatakan sebagai pohon parsing
(parse tree).
Penganalisa Semantik
memeriksa token dan ekspresi dari batasan-batasan yang ditetapkan.
Batasan-batasan
tersebut misalnya :
a. panjang maksimum token identifier adalah 8 karakter,
b. panjang maksimum ekspresi tunggal adalah 80 karakter,
c. nilai bilangan bulat adalah -32768 s/d 32767,
d. operasi aritmatika harus melibatkan operan-operan yang bertipe sama
*Pembangkit Kode Antara
membangkitkan kode antara (intermediate code) berdasar-kan pohon parsing. Pohon
parse selanjutnya diterjemahkan oleh suatu penerjemah yang dinamakan penerjemah
berdasarkan sintak (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 argumen dinyatakan dengan menetapkan arg2 dengan - (strip,
dash).
*Pengoptimal kode
Melakukan optimasi (penghematan space dan waktu komputasi), jika
mungkin,terhadap kode antara.
*Pembangkit Kode Mesin
Membangkitkan kode dalam bahasa target tertentu (misalnya bahasa mesin).
