BAGAIMANA CARA KERJA KOMPUTER ?




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.

Apa itu Komputer?
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:


* CPU
* Memori, terdiri memori program dan memori data, dan
* Perangkat Input/output

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:

1. Membaca, mengkodekan dan mengeksekusi instruksi program
2. Mengirim data dari dan ke memori, serta dari dan ke bagian input/output.
3. 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).

Ke Menu

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
* Elemen-elemen Instruksi Mesin
* Representasi Instruksi
* Jenis-jenis Instruksi
* Jenis-jenis Operasi


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

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)

Mnemonic

Operand
ADD

A

Artinya menambah secara langsung 8 bit data ke dalam isi akumulator dan menyimpan hasil di akumulator.
Operand juga dapat direpresentasikan secara simbolik.
Misalnya:
Mnemonic

Operand
ADD

R,Y

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.

Ke Menu

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
* Program Aplikasi Komputer
* Bahasa Pemrograman



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.

Ke Menu

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 1001
101 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:

* Arsitektur Komputer
* Instruksi Mesin
* Program Komputer
* Eksekusi Program



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.