Pendahuluan |
 |
Komputer
merupakan perangkat elektronik yang sudah tidak asing lagi di kalangan
anak-anak hingga orang dewasa, tentunya dengan tingkat pemahaman dan
penggunaan yang berbeda-beda.
Untuk
memudahkan pemahaman, sebuah komputer dapat dianalogikan sebagai
manusia. Secara normal manusia hidup mempunyai bentuk fisik dan
non-fisik. Bentuk fisik tersebut terdiri atas bagian-bagian yang
mempunyai fungsi berbeda, seperti kepala, tangan, telinga, dll. Susunan
dan letak bagian-bagian fisik hingga membentuk tubuh manusia dapat
dikatakan sebagai arsitektur manusia.
|
|
Bentuk
fisik saja tidak dapat disebut sebagai manusia hidup secara normal.
Untuk dapat disebut manusia yang hidup maka perlu adanya roh atau nyawa,
sebagai bentuk non-fisik. Bentuk non-fisik lainnya seperti akal pikiran
dan perasaan yang akan memperkerjakan bagian-bagian fisik untuk
aplikasi atau aktifitas tertentu sesuai dengan kehendak akal pikiran dan
perasaan itu sendiri. Demikian
juga dengan komputer juga mempunyai bagian fisik yang disebut Hardware
dan non-fisik yang disebut sebagai Software/Program Komputer. |
|
|
Arsitektur Komputer |
Analog
dengan manusia, komputer juga mempunyai bagian-bagaian yang mempunyai
fungsi berbeda-beda. Susunan letak dan hubungan antar bagian-bagian
hingga membentuk tubuh komputer disebut sebagai arsitektur komputer.
Atau dengan kata lain arsitektur komputer merupakan pengorganisasian
bagian-bagain fungsional sebuah komputer.
Pada prinsipnya sebuah sistem komputer terdiri dari 3 bagian utama, yaitu:
|
 |
Sistem komputer ini baru akan bekerja apabila ada program komputer yang berisi instruksi yang memerintahkan CPU.
|
|
|
CPU (Central Prosessing Unit) |
CPU
merupakan bagian fungsional yang utama dari sebuah sistem komputer,
dapat dikatakan bahwa CPU merupakan otak dari sebuah komputer. Di dalam
CPU inilah semua kerja komputer dilakukan. Hal-hal yang perlu dilakukan CPU adalah:
- Membaca, mengkodekan dan mengeksekusi instruksi program
- Mengirim data dari dan ke memori, serta dari dan ke bagian input/output.
- Merespon interupsi dari luar.
menyediakan clock dan sinyal kontrol kepada sistem.
|
 |
Dalam
melakukan hal-hal di atas, jelas CPU perlu menyimpan data untuk
sementara waktu. CPU perlu mengingat lokasi instruksi terakhir sehingga
CPU akan dapat mengambil instruksi berikutnya. CPU perlu menyimpan
instruksi dan data untuk sementara waktu pada saat instruksi sedang
dieksekusi.Dengan kata lain, CPU memerlukan memori internal berukuran
kecil yang disebut Register. Arithmetic and Logic Unit (ALU) berfungsi membentuk operasi-operasi aritmatika dan logic terhadap data Register menyimpan data sementara dan hasil operasi ALU. Control unit menghasilkan sinyal,, yang akan mengontrol operasi ALU, dan pemindahan data ke ALU atau dari ALU.
|
|
|
Memori |
Adalah bagian fungsional komputer yang berfungsi untuk menyimpan program dan data.
RAM (Random Access Memory) Adalah
memori yang dapat dibaca atau ditulisi. Data dalam sebuah RAM bersifat
volatile, artinya data akan terhapus bila catu daya dihilangkan. Karena
sifat RAM yang volatile ini, maka program computer tidak tersimpan di
RAM. RAM hanya digunakan untuk mcnyimpaii data seinantara, yang ticlak
begilu vital saal aliran daya terpiilus.
ROM (Read Only Memory) adalah
memori yang hanya dapat dibaca. Data yang tersimpan dalam ROM bersifat
non-volatile, artinya data tidak akan lerhapus meskipun catu daya
IcrpuWis. Kaicna sil`alnya yang dcinikiaii, maka ROM dipergunakan untuk
menyimpan program. Ada beberapa tipe ROM, diantaranya ROM murni, PROM,
dan EPROM. PROM (Programmable ROM) adalah ROM yang dapat diprogram
sendiri oleh pemakai.
|
RAM Chip
|
ROM Chip
|
|
|
|
Perantara Input/Output |
Untuk
melakukan hubungan dengan piranti di luar sistem komputer membutuhkan
perantara I/O. Perangkat I/O sebagai jembatan penghubung antara
mikrokomputer dengan piranti di luar system dapat menerima data dari
mikrokomputer dan dapat pula memberi data ke mikrokomputer.
Ada dua macam perantara I/O, yaitu piranti untuk hubungan serial (UART-universal asynchronous receiver-transmitter) dan piranti untuk hubungan paralel (PlO-paralel input output).
|
|
|
|
|
|
Instruksi Mesin |
Sebuah
komputer akan bekerja apabila mendapat instruksi-inslruksi yang dikcmas
dalam sebuah program. Semua instruksi, tersebut diproses oleh komputcr
di CPU. Microproscsor dari CPU hanya akan mengeksckusi instruksi yang
dikenali. Instruksi-instruksi ini dikenal sebagai instruksi mesin (machine instruction) atau inslruksi komputer (computer instruction). Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set) CPU.
Untuk mengetahui tentang instruksi mesin perlu diketahui:
|
|
|
Sistem Bilangan |
Bilangan Biner Bilangan biner merupakan bilahgan dengan dasar 2, yang memiliki lambaing bilangan 0 dan 1.
Berikut ini padanan bilangan biner dengan bilangan desimal.
Desimal
|
Biner
|
Desimal
|
Biner
|
0
|
0000
|
8
|
1000
|
1
|
0001
|
9
|
1001
|
2
|
0010
|
10
|
1010
|
3
|
0011
|
11
|
1011
|
4
|
0100
|
12
|
1100
|
5
|
0101
|
13
|
1101
|
6
|
0110
|
14
|
1110
|
7
|
0111
|
15
|
1111
|
|
 |
Setiap
bit dalam bilang biner memiliki bobot nilai sendiri-sendiri. Bobot
nilai bit ke-0 adalah 1, bobot nilai bit ke-1 adalah 2, dan seterusnya.
Bit ke..
|
5
|
4
|
3
|
2
|
1
|
0
|
Bobot nilai
|
32
|
16
|
8
|
4
|
2
|
1
|
Contoh:bilangan biner 1101, memiliki nilai desimal:
1
|
|
1
|
|
0
|
|
1
|
|
|
(1 x 8)
|
+
|
(1 x 4)
|
+
|
(0 x 2)
|
+
|
(1 x 1)
|
=
|
13
|
Dalam bahasa instruksi mesin bilangan ini diberi huruf B pada akhir bilangan, misalnya 1101B.
|
|
|
Bilangan Heksadesimal |
Bilangan Heksadesimal merupakan bilang berbasil 16, dengan lambang bilangan
0 1 2 3 4 5 6 7 8 9 A B C D E F
Huruf
A - F mewakili bilangan desimal 10-15. Bilangan Heksadesimal banyak
dipakai dalam system computer karena setiap digit bilangan heksadesimal
mewakili 4-bit bilangan biner. Dengan demikian, 1 byte (8 bit) bilangan
biner dapat ditulis dengan 2 digit bilangan heksadesimal
Contoh:

|
|
|
Elemen - Elemen Instruksi Mesin |
Agar
dapat dieksekusi, setiap instruksi harus berisi informasi yang
diperlukan oleh CPU. Informasi itu dituangkan dalam elcmen-elemen
instruksi:
- Operation Code/Kode Operasi: menspesifikasikan operasi yang akan dilakukan (misalnya, ADD).
Operasi dispesifikasikan oleh kode biner, yang dikenal sebagai kode operasi, atau opcode.
- Source Operand Reference/Referensi Operand Sumber: operasi dapat mencakup satu atau lebih sumber, operand merupakan input bagi operasi.
- Result Operand Reference/Reference Operand Hasil: operasi dapat membuat hasil operasi.
- Next Instruction Reference/Reference Operand Selanjutnya:
elemen ini memberitahu CPU posisi instruksi berikutnya yang harus
diambil setelah menyelesaikan eksekusi suatu instruksi.
Sumber dan hasil operand dapat berada di salah satu dari ketiga daerah di bawah ini:
- Memori utama atau memori virtual: dengan referensi alamat berikutnya, maka alamat memori utama atau virtual harus diketahui.
- Register CPU: instruksi harus diberi nomor register yang dimaksud.
- Perangkal I/O: instruksi harus menspesifikasikan modul I/O yang diperlukan oleh operasi.
|
|
|
|
Representasi Instruksi |
Representasi Instruksi Dalam komputer, instruksi direpresentasikan oleh sekumpulan bit. Dalam penulisan format instruksi (instruction format) biasanya dibagi dalam beberapa kolom berkaitan dengan elemen-elemen yang akan mengisi instruksi.
Apa Itu Mnemonic? singkatan-singkatan yang mcngindikasikan suatu operasi yang merupakan representasi dari opcode. Contoh:
Mnemonic
ADD |
Add (penambahan) |
SUB |
Substract (pengurangan) |
LOAD |
Muatkan data dari memori |
INC |
Increment (penambahan dengan satu) |
Artinya menambah secara langsung 8 bit data ke dalam isi akumulator dan menyimpan hasil di akumulator. Operand juga dapat direpresentasikan secara simbolik. Misalnya:
Artinya
tambahkan nilai lokasi Y ke isi register R F`emrogram dapat mendahului
dengar definisi-definisi: X = 513,Y = 514, dst. Program akan
mengkonversikan opcode dan refercnsi operand menjadi bentuk biner,
akhirnya akan membentuk instruksi mesin biner.
|
|
|
Jenis-jenis Instruksi |
- Data Processing/Pengolahan Data: instruksi-instruksi aritmetika dan logika.
- Data Storage/Penyimpanan Data: instruksi-instruksi memori.
- Data Movement/Perpindahan Data: instruksi I/O.
- Control/Kontrol: instruksi pemeriksaan dan percabangan.
Instruksi aritmetika (arithmetic instruction) memiliki kemampuan untuk mengolah data numeric. Sedangkan instruksi logika (logic instruction)
beroperasi pada bit-bit word sebagai bit, bukan sebagai bilangan.
Operasi-operasi tersebut dilakukan terutama dilakukan untuk data di
register CPU.
Instruksi-inslruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
Instruksi-instruksi
I/O diperlukan untuk memindahkan program dan data kedalam memori dan
mengembalikan hasil komputasi kepada pengguna.
Instruksi-instruksi control digunakan untuk memeriksa nilai data, status komputasi dan mencabangkan ke set instruksi lain.
|
|
|
Jenis-jenis Operasi |
Jumlah
opcode suatu mesin akan sangat berbeda dengan jumlah opcode mesin
lainnya. Akan tetapi, jenis operasi pada semua mesin memiliki kesamaan. Penggolongan jenis operasi yang umum adalah sebagai berikut:
- Operasi Transfer Data
- Operasi Aritmetika
- Operasi Logika
- Operasi Percabangan
- Operasi Pemindahan Kontrol
- Operasi I/O
Kumpulan instruksi-instruksi ini dikenal dengan set instruksi.
|
|
|
|
|
Program Komputer |
Sebuah
komputer yang hanya terdiri dari perangkat keras CPU, monitor
(perangkat output), dan keyboard (perangkat input), belum dapat
dikatakan sebagai komputer. Karena dengan hardware saja komputer itu
belum dapat hidup, apalagi untuk aplikasi kerja tertentu. Analog manusia
secara normal sebuah komputer hams mempunyai roh atau nyawa yaitu
berupa program sistem operasi dan program aplikasi melakukan aktifitas
tertentu sesuai dengan aplikasi programnya.
Memberikan program kepada komputer biasanya kita kenal dengan Install.
|
 |
|
|
Program Sistem Operasi Komputer |
Adalah
program yang berfungsi sebagai roll sebuah komputer sehingga komputer
dapat mengatur sistem kerja dan mengaktifkan hubungan antar
komponen-komponen perangkat keras.
Ada beberapa program sistem operasi yang telah dikenal diantaranya, contoh:
- Program DOS
- Program Windows
- Program Linux, dll.
|
 |
|
|
Program Aplikasi Komputer |
Meskipun
sebuah komputer telah diberi program sistem operasi, komputer belum
dapat dipakai dengan optimal oleh pengguna. Komputer dapat dipergunakan
untuk fungsi tertentu setelah diberi program aplikasinya. Dengan kata
lain, Program Aplikasi Komputer berfungsi sebagai perantara pengguna
dengan komputer untuk fungsi tertentu (sebagai program interface user).
Contoh:
- Program MS Office, untuk kuperluan ketik
dan perkantoran.
- Program AdobePhotoshop, untuk keperluan
membuat atau meng-edit gambar.
- dll.
|


|
Suatu
program aplikasi komputer tidak selalu dapat diaplikasikan pada semua
program sistem operasi. Program aplikasi komputer juga mempunyai syarat
standar hardware. Contoh:
MS Word 2000, mempunyai syarat hardware
- minimal Pentium 133
- minimal RAM 16 MB untuk Windows 95/98
- minimal RAM 32 MB untuk Windows 2000
|
|
|
Bahasa Pemrograman |
Bahasa
pemrograman adalah bahasa-bahasa yang digunakan oleh seorang untuk
programer membuat program-program aplikasi sistem komputer maupun sistem
mikrokontroler. Sekarang ini telah banyak bahasa-bahasa pemrograman
yang telah kita kenal mulai dari bahasa assembler sampai dengan bahasa
pemrograman tingkat tinggi seperti, delphi, C++, Pascal, dan lain-lain.
|
|
|
|
|
|
Eksekusi Program |
Prosesor
dari sebuah komputer hanya dapat mengeksekusi program yang menggunakan
instruksi-instruksi yang dapat dikenalinya. Instruksi-instruksi tersebut
adalah instruksi mesin. Instruksi mesin ini berupa kode-kode biner. Bagaimana program dieksekusi? Semua
bahasa pemrograman, baik bahasa assembler maupun bahasa tingkat tinggi
yang digunakan akan dirubah menjadi bentuk kode biner oleh sebuah
compiler yang biasanya sudah tersedia dalam sebuah bahasa pemrograman,
kemudian disimpan dalam memori program.
|
Address (hex)
|
Kode biner
|
2000
|
00111110
|
2001
|
10110100
|
2002
|
00101111
|
2003
|
00110010
|
2004
|
00000000
|
2005
|
00100001
|
2006
|
01110110
|
2007
|
-
|
-
|
-
|
-
|
-
|
Listing memori program
|
Address (hex)
|
Op Code (hex)
|
Mnemonic
|
Operand
|
Uraian
|
2000 2001 2002 2003 2004 2005 2006
|
3E B4 2F 32 00 21 76
|
MVI
CMA STA
HLT
|
A,B4H
2100H
|
Isi akumulator dengan data B4 komplemen isi akumulator simpan hasil di alamat memori 2100H
berhenti
|
|
|
|
Kode Biner ASCII (American Standart Code for Information Interchange) |
Karakter
|
ASCII
|
Karakter
|
ASCII
|
Space ! " £ $ % & ` ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9
|
010 0000 010 0001 010 0010 010 0011 010 0100 010 0101 010 0110 010 0111 010 1000 010 1001 010 1010 010 1011 010 1100 010 1101 010 1110 010 1111 011 0000 011 0001 011 0010 011 0011 011 0100 011 0101 011 0110 011 0111 011 1000 011 1001
|
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
100 0001 100 0010 100 0011 100 0100 100 0101 100 0110 100 0111 100 1000 100 1001 100 1010 100 1011 100 1100 100 1101 100 1110 100 1111 101 0000 101 0001 101 0010 101 0011 101 0100 101 0101 101 0110 101 0111 101 1000 101 1001101 1010
|
|
|
|
Tabel Instruksi Set |
JENIS
|
OPERASI
|
URAIAN
|
Transfer data
|
MOVE STORE LOAD EXCHANGE CLEAR SET PUSH POP
|
Memindah data dari sumber ke tujuan Memindah data dari prosesor ke memori Memindah data dari memori ke prosesor Menukar data sumber dengan data tujuan Memindah data 0 ke tujuan Memindah data 1 ke tujuan Memindah data dari sumber ke bagian paling atas stack Memindah data dari bagian paling atas stack ke tujuan
|
Aritmatika
|
ADD SUBSTRACT MULTIPLY DIVIDE ABSOLUTE NEGATE INCREMENT DECREMENT
|
Menghitung jumlah dua buah operand Menghitung pengurangan dua buah operand Menghitung perkalian dua buah operand Menghitung pembagian dua buah operand Mengganti operand dengan nilai absolutnya Mengganti tanda operand Menambah 1 ke operand Mengurang 1 ke operand
|
Logika
|
AND OR NOT Exclusive-OR TEST COMPARE SHIFT ROTATE
|
Melakukan operasi logika terhadap bit Meiakukan operasi logika terhadap bit Melakukan operasi logika terhadap bit Melakukan operasi logika terhadap bit Menguji kondisi tertentu; setting flag berdasarkan hasil Membandingkan logika atau aritmatika dua buah operand Menggeser bit ke kanan/kiri Menggeser ke kanan/kiri dengan ujung terjalin
|
Pemindahan kontrol
|
JUMP JUMP Bersyarat JUMP ke Subrutine RETURN EXECUTE HALT WAIT NO OPERATION
|
Pemindahan tanpa syarat Pemindahan dengan syarat Melompat ke program lain diluar program utama Kembali ke program utama, biasanya akhir dari subi utin Mengambil operand dari lokasi tertentu dan mengeksekusi Menghentikan eksekusi program Menghentikan eksekusi, melanjutkan program bila syarat terpenuhi Tidak ada operasi tapi eksekusi jalan terus
|
Input/ output
|
INPUT (read) OUTPUT(write) START I/O TEST I/O
|
Memindah data dari perangkat I/O ke alamat tertentu Mengirim data dari sumber tertentu ke perangkat I/O Memindah instruski ke prosesor I/O untuk mengawali operasi I/O Mengirim status dari sistem I/O ke tujuan tertentu
|
|
|
Untuk mengetahui tentang prinsip dasar komputer dan bagaimana komputer bekerja, perlu diketahui tentang hal-hal berikut:
|
|

|
|
Bagaimana instruksi program diubah menjadi instruksi mesin? |
Setiap huruf yang membentuk instruksi (Mnemonic) dari bahasa pcmrograman mempunyai kode biner yang biasanya menggunakan standar ASCII. Kode-kode biner dari huruf tersebut kemudian ditranslasikan menjadi bentuk biner.
Contoh: instruksi CMA ; komplemenkan isi akumulator
|
Bentuk
fisik saja tidak dapat disebut sebagai manusia hidup secara normal.
Untuk dapat disebut manusia yang hidup maka perlu adanya roh atau nyawa,
sebagai bentuk non-fisik. Bentuk non-fisik lainnya seperti akal pikiran
dan perasaan yang akan memperkerjakan bagian-bagian fisik untuk
aplikasi atau aktifitas tertentu sesuai dengan kehendak akal pikiran dan
perasaan itu sendiri. Demikian
juga dengan komputer juga mempunyai bagian fisik yang disebut Hardware
dan non-fisik yang disebut sebagai Software/Program Komputer. |
|
|
|
0 Komentar