A. Element - Element Instruksi
1. Operation Code (Opcode)
Menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
2. Source Operand Reference
Operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
3. Result Operand Reference
Merupakan hasil atau keluaran operasi.
4. Next Instruction Reference
Elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
B.
Tipe-Tipe
Intruksi
1. Pengolahan
Data (Data Processing)
Meliputi operasi-operasi
aritmatika dan logika. Operasi aritmatika memiliki kemampuan komputasi untuk
pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit
word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki
kemampuan untuk pengolahan data lain.
2. Perpindahan
Data (Data Movement)
Berisi instruksi
perpindahan data antar register maupun modul I/O untuk dapat diolah oleh CPU
maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang
diperlukan.
3. Penyimpanan
Data (Data Storage)
Berisi
instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting
dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi
berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan
walaupun sementara.
4. Kontrol
aliran program (Program Flow Control)
Berisi instruksi
pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk
pengontrolan status dan mengoperasikan percabangan ke set instruksi lain.
C. Tipe-Tipe Operand
1.
Addresses
2.
Numbers :
– Integer
or fixed point => sebuah integer yang skala dengan faktor tertentu. Penting
untuk dicatat bahwa faktor skala ditentukan oleh jenis, itu adalah sama untuk
semua nilai dari jenis fixed-titik tertentu.
– Floating point => sebuah bilangan yang
digunakan untuk menggambarkan sebuah nilai yang sangat besar atau sangat kecil
– Decimal (BCD )=> sistem pengkodean bilangan
desimal yang metodenya mirip dengan bilangan biner biasa; hanya saja dalam
proses konversi, setiap simbol dari bilangan desimal dikonversi satu per satu,
bukan secara keseluruhan seperti konversi bilangan desimal ke biner biasa.)
3.
Characters :
– ASCII
(American Standard Code for Information Interchange) => suatu standar
internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII
lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia
selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks.
– EBCDIC
(Extended Binary Coded Decimal Interchange Code) => kode 8 bit untuk huruf
yang dipakai pada sistem operasi komputer merk IBM, seperti z/OS, OS/390, VM,
VSE, OS/400, serta i5/OS
4.
Logical Data : Bila data berbentuk
binary: 0 dan 1
D. TIPE-TIPE
OPERASI
1. TRANSFER
DATA
·
Menetapkan lokasi operand
sumber dan operand tujuan.
·
Lokasi-lokasi tersebut
dapat berupa memori, register atau bagian paling atas daripada stack.
·
Menetapkan panjang data
yang dipindahkan.
·
Menetapkan mode
pengalamatan.
·
Tindakan CPU untuk
melakukan transfer data adalah :
·
Memindahkan data dari
satu lokasi ke lokasi lain.
·
Apabila memori dilibatkan
:
·
Menetapkan alamat memori.
·
Menjalankan transformasi
alamat memori virtual ke alamat memori aktual.
·
Mengawali pembacaan /
penulisan memori
o Operasi
set instruksi untuk transfer data :
o MOVE
: memindahkan word atau blok dari sumber ke tujuan
o STORE
: memindahkan word dari prosesor ke memori.
o LOAD
: memindahkan word dari memori ke prosesor.
o EXCHANGE
: menukar isi sumber ke tujuan.
o CLEAR
/ RESET : memindahkan word 0 ke tujuan.
o SET
: memindahkan word 1 ke tujuan.
o PUSH
: memindahkan word dari sumber ke bagian paling atas stack.
o POP
: memindahkan word dari bagian paling atas sumber
2. 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.
Operasi set instruksi
untuk arithmetic :
1. ADD : penjumlahan 5. ABSOLUTE
2. SUBTRACT :
pengurangan 6. NEGATIVE
3. MULTIPLY : perkalian 7. DECREMENT
4. DIVIDE :
pembagian 8.
INCREMENT
Nomor 5 sampai 8
merupakan instruksi operand tunggal.
3. LOGICAL
Tindakan CPU sama dengan
arithmetic
Operasi set instruksi
untuk operasi logical :
AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau
kanan menyebabkan konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau ke kanan
dengan ujung yang terjalin.
4. CONVERSI
Tindakan
CPU sama dengan arithmetic dan logical.
Instruksi
yang mengubah format instruksi yang beroperasi terhadap format data.
Misalnya
pengubahan bilangan desimal menjadi bilangan biner.
Operasi set instruksi untuk conversi :
TRANSLATE : menterjemahkan nilai-nilai dalam suatu
bagian memori berdasarkan tabel
korespodensi.
CONVERT : mengkonversi isi suatu word dari suatu
bentuk ke bentuk lainnya.
5. INPUT
/ OUTPUT
Tindakan CPU untuk
melakukan INPUT /OUTPUT :
Apabila memory mapped I/O maka menentukan alamat
memory mapped.
Mengawali perintah ke
modul I/O
Operasi set instruksi
Input / Ouput :
INPUT : memindahkan data
dari pernagkat I/O tertentu ke tujuan
OUTPUT : memindahkan data
dari sumber tertentu ke perangkat I/O
START I/O : memindahkan
instruksi ke prosesor I/O untuk mengawali operasi I/O
TEST I/O : memindahkan
informasi dari sistem I/O ke tujuan
6. TRANSFER
CONTROL
Tindakan CPU untuk
transfer control :
Mengupdate program
counter untuk subrutin , call / return.
Operasi set instruksi
untuk transfer control :
JUMP (cabang) :
pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
JUMP BERSYARAT : menguji
persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan
apa tergantung dari persyaratan.
JUMP SUBRUTIN : melompat
ke alamat tertentu.
RETURN : mengganti isi PC
dan register lainnya yang berasal dari lokasi tertentu.
EXECUTE : mengambil
operand dari lokasi tertentu dan mengeksekusi sebagai instruk
SKIP : menambah PC
sehingga melompati instruksi berikutnya.
SKIP BERSYARAT : melompat
atau tidak melakukan apa-apa berdasarkan pada persyaratan
HALT : menghentikan
eksekusi program.
WAIT (HOLD) : melanjutkan
eksekusi pada saat persyaratan dipenuhi.
NO OPERATION : tidak ada
operasi yang dilakukan
7. CONTROL
SYSTEM
Hanya dapat dieksekusi
ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi
suatu program yang berada dalam area khusus, biasanya digunakan dalam sistem
operasi.Contoh : membaca atau mengubah register kontrol.
E. Set
Instruksi dalam Organisasi dan Arsitektur Komputer
1.
Karakteristik Instruksi Mesin
Menurut
Kamus Besar Bahasa Indonesia, Karakteristik adalah ciri-ciri khusus atau
mempunyai sifat khas sesuai dengan perwatakan tertentu. Instruksi adalah
perintah atau arahan (untuk melakukan suatu pekerjaan atau melaksanakan suatu
tugas). Mesin adalah perkakas untuk menggerakkan, atau membuat sesuatu yang
dijalankan dengan roda-roda dan digerakkan oleh tenaga manusia atau motor
penggerak yang menggunakan bahan bakar minyak atau tenaga alam.
Jadi,
karakteristik-karakteristik instruksi mesin adalah ciri-ciri khusus atau sifat
khas yang dimiliki oleh instruksi-instruksi atau kode operasi dalam pemrograman
komputer.. Operasi CPU ditentukan oleh instruksi-instruksi yang dieksekusinya.
Instruksi-instruksi ini dikenal sebagai intruksi mesin atau instruksi computer.
Set fungsi dari instruksi-instruksi yang berbeda yang dapat di eksekusi oleh
CPU dikenal sebagai set instruksi CPU.
A.
Elemen-elemen Instuksi Mesin
Setiap
instruksi harus terdiri dari informasi yang diperlukan oleh CPU untuk
dieksekusi. Gambar langkah-langkah yang terdapat dalam eksekusi instruksi dan
bentuk elemen-elemen instruksi mesin, adalah sebagai berikut :
•
Kode Operasi : menentukan operasi-operasi yang akan dilakukan (misalnya:
ADD,I/O). Operasi itu dispesifilan oleh sebuah kode biner, dikenal sebagai kode
operasi.
•
Acuan Operand Sumber : Operasi dapat melibatkan satu atau lebih operand sumber,
dengan kata lain, operand adalah input bagi operasi.
•
Acuan Operand Hasil: Operasi dapat menghasilkan sebuah hasil.
•
Acuan Instruksi Berikutnya: Elemen ini memberitahukan CPU posisi instruksi
berikutnya yang harus diambil setelah menyelesaikan eksekusi suatu instruksi.
Instuksi berikutnya yang akan diambil berada di memori utama atau pada system
memori virtual, akan berada baik di dalam memori utama atau memori sekunder.
Umumnya, instruksi yang akan segera diambil selanjutnya, berada setelah
instruksi saat itu. Ketika acuan eksplisit dibutuhkan, maka alamat memori utama
atau alamat memori virtual harus disiapkan. Operand sumber dan hasil dapat
berada di salah satu dari ketiga daerah berikut ini:
•
Memori Utama atau Memori Virtual: Dengan adanya acuan instruksi berikutnya,
maka alamat memori utama atau memori virtual harus diketahui.
•
Register CPU: Dengan suatu pengecualian yang jarang terjadi, CPU terdiri dari
sebuah register atau lebih yang dapat diacu oleh instruksi-instruksi mesin.
Bila hanya terdapat sebuah register saja, maka acuan ke instruksi tersebut
dapat berbentuk implicit. Sedangkan jika terdapat lebih dari satu register,
maka setiap register diberi nomor yang unik, dan instruksi harus terdiri dari
nomor register yang dimaksud.
•
Perangkat I/O: Instruksi harus menspesifikan modul I/O dan perangkat yang
diperlukan oleh operasi. Jika digunakan I/O memori terpetakan, maka perangkat
ini merupakan memori utama atau memori virtual.
B.
Representasi Instruksi
Di
dalam computer, instruksi dipresentasikan oleh sehimpunan bit. Himpunan bit ini
dibagi menjadi beberapa bidang, dengan bidang-bidang ini berkaitan dengan elemen-elemen
yang akan memuat instruksi. Layout instruksi ini dikenal sebagai bentuk
instruksi. Contoh yang sederhana ditunjukkan pada gambar. Pada sebagian besar
set instruksi, dapat digunakan lebih dari satu bentuk. Selama berlangsungnya
eksekusi instruksi, instruksi dibaca ke dalam register instruksi yang terdapat
dalam CPU. Untuk melakukan operasi yang diperlukan, CPU harus dapat
mengeluarkan data dari berbagai bidang instruksi. Opcode direpresentasikan
dengan singkatan-singkatan, yang disebut mnemorik, yang mengindikasikan
operasi, contohnya adalah:
ADD
Add (Menambahkan)
SUB
Substract (Pengurangan)
MPY
Multiply (Perkalian)
DIV
Divide (Pembagian0
LOAD
Muatkan data data dari memori
STOR
Simpan data ke memori
Operand-operand
juga direpresentasikan secara simbolik. Misalnya instruksi ADD R,Y Berarti
tambahkan niali yang terdapat pada lokasi Y ke isi register R. Dalam contoh
ini, Y berkaitan dengan alamat lokasi di dalam memori, dan R berkaitan dengan
register tertentu. Perlu dicatat bahwa operasi dilakukan terhadap isi alamat,
bukan terhadap alamatnya.
Sehingga
adalah mungkin untuk menuliskan program bahasa mesin dalam bentuk simbolik.
Setiap opcode simbolik memiliki representasi biner yang tetap, dan pemrograman
dapat menetapkan masing-masing operand simbolik. Misalnya, pemrograman dapat
memulainya dengan definisi-definisi:
X=523
Y=514
dan
seterusnya. Sebuah program yang sederhana akan menerima input simbol ini,
kemudian mengkonversiakn opcode dan acuan operand menjadi bentuk biner, dan
akhirnya membentuk instruksi mesin biner.
F. FLOWCHART
1. Flowchart adalah bagan-bagan yang mempunyai
arus menggambarkan langkah-langkah penyelesaian suatu masalah
2. Merupakan cara penyajian dari suatu
algoritma
3. Ada 2 macam flowchart :
- System flowchart adalah urutan proses
dalam system dengan menunjukkan alat media input,
output serta jenis penyimpanan dalam proses pengolahan data.
- Program flowchart adalah urutan instruksi
yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu
program.
Symbol-symbol dalam FlowChart :
Symbol-symbol dalam FlowChart :
Contoh penyelesaian masalah algoritma
menggunakan FlowChart :
1. Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai
tersebut lebih besar atau sama dengan 60maka mahasiswa tersenut dinyatakan lulus,
jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
Jika nilai > = 60 maka
Keterangan = lulus
Tetapi jika salah
Keterangan = tidak lulus
Tulis nama dan keterangan.
Tahapan Pembuatan Program:
1. Mendefinisikan masalah dan
menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan,
fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman
yang digunakan.
2. Merealisasikan dengan langkah-langkah
sebagai berikut :