Anda di halaman 1dari 96

BAB I

ALGORITMA DAN PEMOGRAMAN


Kompetensi Dasar
A.

: 1. Menguasai
Prosedur
Algoritma Pemrograman

Penyusunan

Pengertian
Pemograman : Proses menulis, menguji dan menyelesaikan
suatu masalah dalam bentuk program
Bahasa Pemograman : Bahasa yang digunakan oleh seorang
pemogram/programmer
agar
dapat
berkomunikasi
dengan
komputer
Program : Adalah kumpulan instruksi-instruksi tersendiri yang
biasanya disebut source code yang dibuat oleh programmer
(pembuat program)
Atau instruksi atau perintah yang disusun sedemikian rupa
sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan
suatu persoalan/masalah.
Algoritma : Penggambaran secara sistematis terhadap suatu
masalah yang akan diprogram
Flowchart : Aliran diagram gambaran terhadap suatu masalah
dari awal sampai akhir agar memudahkan dalam pembacaan
tehadap suatu masalah
Tujuan Belajar pemograman agar memudahkan seorang
programmer menyelesaikan masalah/persoalan

B.

Bahasa Pemograman
Ada 2 bahasa pemograman :
1.
Bahasa tingkat rendah
Bahasa rakitan (bahasa Inggris: assembly language) adalah bahasa
pemrograman komputer tingkat rendah. Bahasa rakitan merupakan
notasi untuk bahasa mesin yang dapat dibaca oleh manusia dan
berbeda-beda tergantung dari arsitektur komputer yang digunakan.
Bahasa mesin adalah pola bit-bit (serangkaian nomor-nomor biner)
tertentu yang merupakan kode operasi mesin. Bahasa mesin dibuat
lebih mudah dibaca dan ditulis dengan cara mengganti pola bit-bit
menjadi julukan-julukan yang disebut mnemonics.
2.

Bahasa tingkat tinggi


Bahasa yang dimengerti manusia, contoh BASIC, PASCAL, C, C++

Disusun oleh
Yuniawati, S.Pd

C.

Notasi Algoritma

Disusun oleh
Yuniawati, S.Pd

D.

Gambar 1 Simbol/notasi Flowchart


Program Prosedural
MASALAH
ALGORITMA
FLOWCHART
BAHASA PEMOGRAMAN
PROGRAM
UJICOBA/COMPILE Lihat ada kesalahan atau tidak
SIAP DIPAKAI / GO

Disusun oleh
Yuniawati, S.Pd

E.

Pemograman Pascal

Gambar 2 Program Pascal


Pascal adalah suatu bahasa pemrograman terstruktur. Hal tersebut
berarti semua program yang anda buat harus terstruktur dan teratur,
dalam hal ini ada pemakaian goto dan jump.
Struktur program pascal yang paling sederhana adalah :
uses ...;
var ...;
begin
.... {Your program is here}
end.
Adapun type variable yang disediakan pada TURBO PASCAL :
1.Ordinal types
Type data yang mempunyai urutan pasti, dan masih terbagi menjadi
a)
Integer
Type variable yang beguna untuk pengolahan data yang bulat, type
ini masih terbagi atas berberapa menurut jangkauan data dan
ukurannya :

b) Char
Type variabel yang berguna untuk pengolahan character ASCII, type
character ini penulisannya ditandai dengan dua buah petik tunggal
seperti : 'A', '3','*',#7 untuk menyatakan ' harus ditulis ''''
c) Boolean
Type varibale yang berguna untuk pengolahan hal yang hanya
mempunyai dua ketentuan yaitu benar(TRUE) dan salah(FALSE) saja.
2.Real types
Type variable yang beguna untuk pengolahan data yang tidak bulat,
untuk type real ini juga terbagi atas beberapa :

Disusun oleh
Yuniawati, S.Pd

1. Instruksi Input Output


Statemen-statemen yang digunakan untuk input/output.

Read/Readln [prosedur].
Perintah ini digunakan untuk memasukkan [input] data lewat
keyboard ke dalam suatu variabel. Sintaks: Read/Readln(x); (ingat,
selalu diakhiri dengan titik koma [;])
Keterangan : x = variabel.
Read = pada statemen ini posisi kursor tidak pindah ke baris
selanjutnya.
Readln = pada statemen ini posisi kursor akan pindah ke baris
selanjutnya setelah di input.

ReadKey [fungsi].
Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang
dihasilkan adalah char.

Write/Writeln [prosedur].
Digunakan untuk menampilkan isi dari suatu nilai variable di layar.
Sintaks: Write/Writeln(x);
Keterangan : x = variabel.
Write/Writeln= statement ini digunakan untuk mencetak variable ke
dalam monitor
Contoh : Writeln(Masukkan nilai alas segitigA=)

ClrScr [prosedur].
Perintah ini digunakan untuk membersihkan layar.

Disusun oleh
Yuniawati, S.Pd

10

sintaks: ClrScr; [Clear screen]


GotoXY[prosedur].
Untuk menempatkan posisi kursor pada layar.
Sintaks: GotoXY(X, Y: Byte);
Keterangan :
X = sumbu X (posisi horisontal)
Y = sumbu Y (posisi vertikal)

Uses Crt; (*menggunakan Unit Crt *)


Unit system merupakan unit yang secara otomatis akan disertakan
dalam setiap program, unit inilah mengatur semua perintah dasar
input dan output pada Pascal. Sedangkan unit-unit lain hanya akan
disertakan bila kita pilih pada bagian uses.

Textcolor
Mengatur warna tulisan yang dicetak dengan perintah Write dan
Writeln, yang pertama adalah perintah : TextColor(nomor warna);
TextColor(4 + 128);
Writeln('Merah dan berkedip-kedip');
Atau :
TextColor(Red + Blink);
Writeln('Merah dan berkedip-kedip');

2. Instruksi Percabangan
Salah satu perintah struktur pengambilan keputusan adalah :

If condition Then statement;


Dimana condition adalah sesuatu yang bernilai True atau False, dan
statement adalah perintah yang akan dijalankan.
Contoh kita akan membuat program menentukan pembayaran
berdasarkan jumlah belanja, jika diatas 100000 (seratus ribu)
mendapatkan potongan 3%, maka programnya adalah sebagai
berikut :
Uses Crt;
Var
Belanja : Real;
Begin
Clrscr;
Write(Jumlah belanja ? ); Readln(Belanja);
If Belanja > 100000 Then Belanja := Belanja * 0.97;
Writeln(Jumlah yang harus anda bayar ,Belanja:10:2);
Readln;
End.

If condition Then Statement1 Else Statement2;


Atau lebih baik ditulis sebagai
If conditon Then
Statement1
Else
Statement2;
Contoh
Uses Crt;
Var
Bilangan : Integer;

Disusun oleh
Yuniawati, S.Pd

11

Begin
Clrscr;
Write(Masukan Bilangan ? ); Readln(Bilangan);
If (Bilangan Mod 2) = 0 Then
Writeln (Genap)
Else
Writeln (Ganjil);
Readln;
End.

If condition Then Statement1 Else Statement2 dst lebih


dari 2;

If condition1 Then
Statement1
Else
If condition2 Then
Statement2
Else
If condition3 Then
Statement3
Else
Statement4;
Contoh kita akan membuat nilai huruf dari angka dengan kriteria 80
keatas mendapat A, 70 s/d 79 mendapat B, 60 s/d 69 mendapat C, 50
s/d 59 mendapat D, dan dibawah 49 mendapat E, maka dapat ditulis
menjadi :
if mark>=80 then
grade:='A'
else { 79 or below goes here }
if mark>=70 then
grade:='B'
else { 69 or below goes here }
if mark>=60 then
grade:='C'
else { 59 or below goes here }
if mark>=50 then
grade:='D'
else { 49 or below goes here }
grade:='E';

Case Of

Selain struktur kendali If, pascal juga menyediakan suatu struktur


Case, yang akan menjalankan statement berdasarkan range tertentu,
adapun syntaxnya adalah sebagai berikut :
Case variabel Of
Range1 : Statement1;
Range2 : Statement2;
Range3 : Statement3;

Disusun oleh
Yuniawati, S.Pd

12

End;
Case mark of
80..100: grade:='A';
70..79 : grade:='B';
60..69 : grade:='C';
50..59 : grade:='D';
End;
3. Instruksi Perulangan
Looping diartikan sebagai proses berulang terhadap statement
maupun serangkaian statement lebih dari satu kali.
a. For...........Do

Digunakan untuk mengulang statemen atau satu blok


statemen berulang kali sejumlah yang diinginkan

Dapat berbentuk perulangan positif (perulangan dengan


penghitung kecil ke besar)
For variabel := nilai awal To nilai akhir Do Statement;
Contoh :
Var I : Integer;
Begin
For I := 1 To 10 Do Writeln(Elektronika Industri);
End.

Perulangan negatif (perulangan dengan penghitung besar


ke kecil) dan perulangan tersarang(perulangan yang berada dalam
perulangan lainnya.
For variabel := nilai awal DownTo nilai akhir Do Statement;
Dimana variabel harus ordinal type
Var I : Integer;
Begin

For I := 10 DownTo 1 Do Writeln(Elektronika Industri);


End.
b. While.......Do
Digunakan untuk melakukan proses perulangan suatu statemen atau
blok statemen terus menerus selama kondisi ungkapan logika pada
while masih berlogika benar
While condition Do Statement;
Contoh :
I := 1;
While I <= 10 Do
Begin
Writeln(Elektronika Industri );
I := I + 1;
End;
c. Repeat..........Until
Digunakan untuk mengulang (Repeat) statemen satu blok statemen
sampai until kondisi yang diseleksi di until tidak terpenuhi
Repeat
Statement;

Disusun oleh
Yuniawati, S.Pd

13


Until condition;
Contoh
I := 11;
Repeat
Writeln( Elektronika Industri);
DEC(I);
Until I=0;
3. Instruksi Array
Array adalah variabel yang dapat menampung sejumlah data yang
ditandai dengan suatu index pada masing-masing elemennya.
Contoh :
Var
Nilai : Array [1..10] of Integer;
Dalam hal ini variabel Nilai adalah suatu array yang memiliki 10
element, yaitu Nilai[1], Nilai[2], Nilai[3], , Nilai[10]. Pada masingmasing elemennya dapat menampung satu nilai Integer.
Contoh :
Nilai[1] := 60;
Nilai[2] := 75;

Nilai[10] := 90;
Writeln(Nilai[1]);
Writeln(Nilai[2]);

Writeln(Nilai[10]);
Var
Matrix : Array [1..3,1..3] Of Integer;
Adalah contoh array 2 dimensi, yang terdiri dari elemen
Matrix
[1,2],
Matrix[1,3],
Matrix[2,1],
Matrix[2,2],
Matrix[3,1], Matrix[3,2], dan Matrix[3,3].
Jadi jumlah elemennya adalah 3 x 3 = 9 elemen.
Var
Matrix : Array [1..3,1..3] Of Integer;
Adalah contoh array 2 dimensi, yang terdiri dari elemen
Matrix
[1,2],
Matrix[1,3],
Matrix[2,1],
Matrix[2,2],
Matrix[3,1], Matrix[3,2], dan Matrix[3,3].
Jadi jumlah elemennya adalah 3 x 3 = 9 elemen.

Matrix[1,1],
Matrix[2,3],

Matrix[1,1],
Matrix[2,3],

4. Prosedur dan Fungsi


Procedure dan function merupakan sub-program yang memiliki
bagian deklarasi dan begin-end; tersendiri layaknya suatu program pascal.
Tujuan pemakaian procedure maupun function adalah untuk memecah
program kita menjadi kesatuan logika yang lebih kecil (sub-sub program)
untuk menghindari perulangan pengetikan dan memudahkan pembacaan.
Contoh pemakaian procedure :
uses crt;
begin
clrscr;

Disusun oleh
Yuniawati, S.Pd

14

writeln('ABC');
writeln('Press any key when ready ...')
Var
I : Byte;
Akar,Bagi : Word;
Begin
Writeln(Upper('Bilangan Prima dari 1 s/d 100');
Writeln(Replicate('-',30);
For I := 1 To 100 do
If (Bil > 1 And Bil < 4) Then
Write(I : 4)
Else
Begin
Akar := Round(Sqrt(Bil));
Bagi := 3;
While (Bagi <= Akar) And (Bil Mod Bagi <> 0) Do
Bagi := Bagi + 1;
If Bagi > Akar Then
Write(I : 4);
End;
End.
F.

Pemecahan Masalah
Buatlah algoritma program dan flow chart dari permasalahan mengisi
gelas dengan air dari keran.
Algoritma Program
Step 1 : Letakkan gelasdi bawah keran
Step 2 : Hidupkan air
Step 3 : lihat gelas
Step 4 : Apakah sudah penuh?
Step 5 : Jika tidak kembali ke step 3 (Untuk keadaan lain teruskan ke
Step 6)
Step 6 : Matikan air
Step 7 : Pindahkan gelas dari bawah keran

Disusun oleh
Yuniawati, S.Pd

15

Flow Chart
Sekuen atau formula kerja yang digunakan untuk memecahkan
masalah pemrograman disebut Algoritma program. Programmer harus
menggunakan daftar urutan pekerjaan. Dalam kasus permasalahan
menyeberang jalan step.
perintah-perintah sederhana dapat dinyatakan sebagai berikut:
Step 1 : Berjalanlah ke sudut jalan dan berhenti
Step 2 : Lihat dan cermati lampu pengatur lalu lintas
Step 3 : Apakah pada arah anda lampu menyala hijau?
Step 4 : Jika lampu pada arah anda menyala merah, kembali ke Step 2
(Untuk keadaan lain teruskan ke Step 5)
Step
Step
Step
Step
Step
Step
Step

5:
6:
7:
8:
9:
10
11

Lihat ke arah kiri


Apakah masih ada kendaraan yang lewat?
Jika ia, kembali ke Step 5
Lihat ke arah kanan
Apakah masih ada kendaraan yang lewat?
: Jika ia, kembali ke Step 8
: Menyeberanglah dengan hati-hati

Kesebelas langkah ini adalah bahasa bayi, yang pada kenyataannya


dilakukan pada setiap menyeberang jalan yang sibuk dan ada lampu
mengatur lalu lintas. Kesebelas sekuen perintah ini disebut juga
dengan Algoritma Program.
Dari sebelas step algoritma program di atas dapat disusun flow chart
kasus menyeberang jalan sangat ramai seperti Gambar berikut:

Disusun oleh
Yuniawati, S.Pd

16

Flow Chart untuk Kasus Menyeberang Jalan Ramai

Disusun oleh
Yuniawati, S.Pd

17

TES FORMATIF
1.

Jelaskan perbedaan antara data numeris dan alfanumeris?

2.

Jelaskan pengertian tentang :


a.

Algoritma

b.

Flowchart

c.

Program

3.

Tentukan yang mana merupakan variable dan konstanta ?


a.

x2 = 16

b.

Nilai = 20 mA

c.

Suhu ruangan = 600 R

4.

Jelaskan tentang simbol flowchart ?

5.

Jelaskan tentang prosedur pemograman?

Buat algoritma, dan flowchart untuk


6.

Mengukur nilai resistansi resistor AVOMETER?

7.

Menyalakan kipas angin

8.

Menghitung nilai arus listrik pada hukum ohm I

9.

Menentukan suatu bilangan N ganjil atau genap

10.

Membuka pintu ruangan

Disusun oleh
Yuniawati, S.Pd

18

NO
JOBSHEET
1

JUDUL
INSTRUKSI INPUT OUTPUT

PARAF DAN NILAI

MENGUASAI
PROSEDUR
PENYUSUNAN Tanggal :
ALGORITMA PEMROGRAMAN PASCAL
ELEKTRONIKA INDUSTRI SMKN 29
I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus yang


diberikan dengan bahasa PASCAL

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
1.
Prosedur pemograman yaitu.
MASALAH
ALGORITMA : Penggambaran secara sistematis terhadap suatu
masalah yang akan diprogram
FLOWCHART

: Aliran diagram gambaran terhadap suatu


masalah
dari
awal
sampai
akhir
agar
memudahkan dalam pembacaan tehadap suatu
masalah
BAHASA PEMOGRAMAN
PROGRAM
masalah

Kumpulan beberapastatemen terhadap suatu

UJICOBA/COMPILE Lihat ada kesalahan atau tidak


SIAP DIPAKAI / GO
Contoh :
Menghitung Luas Segitiga
A. ALGORITMA
Variabel input
a=alas; tinggi=t
Proses
L = (a*t)/2
Variabel output
1. Masukan alas
2. Masukan tinggi
3. Hitung L:= (a*t)/2
4. Cetak Luas
1)
Perintah Read dan Readln

START
INPUT
Masukan alas

INPUT
Masukan Tinggi

PROSES
L = (a*t)/2

OUTPUT
Cetak Luas

Disusun oleh
Yuniawati, S.Pd

END

19

Digunakan untuk meminta masukan dari keyboard untuk


diolah komputer

Tipe data yang dicetak dapat berupa integer, real,


character string dan Boolean

Read meminta masukan tidak pindah baris, Readln


meminta masukan pindah baris
2)
Perintah Write dan Writeln

Digunakan untuk mencetak hasil proses.

Tipe data yang dicetak dapat berupa integer, real,


character string dan Boolean

Write meminta masukan tidak pindah baris, Writeln


meminta masukan pindah baris
III. Alat dan Bahan
1) Komputer
1 set
2) CD program PASCAL
1 buah

IV. Gambar Skema Rangkaian


Lihat flowchart
V. Langkah Kerja
1.
Siapkan computer dalam posisi ON
2.
Instal computer dengan program PASCAL, Copy folder
BORLAND TURBO PASCAL ke C atau D. Buka folder tesebut,
Instalisasi enter 4 kali.
3.
Buka ditempat kita install missal C, TP, BIN, TURBO.EXE
4.
Atau
Melalui : Start / Program / Turbo Pascal 7 / *

5.

Ketik program di bawah ini


PROGRAM MENGHITUNG_SEGITIGA;
USES CRT;
VAR
a, t, L : Real;
Begin
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
GOTOXY(5,6); WRITELN(MENGHITUNG LUAS SEGITIGA);
GOTOXY(5,7); WRITELN(++++++++++++++++++++++
++++++);
GOTOXY(2,8);WRITE
(MASUKAN ALAS =);READLN(a);

Disusun oleh
Yuniawati, S.Pd

20

GOTOXY(2,8);WRITE
(MASUKAN TINGGI =);READLN(t);
L:=(a*t)/2;
GOTOXY(2,8);WRITELN(LUAS SEGITIGA =,L:5:2);
END.
6.
Jalankan program Ctrl+F9. Jika program
masih salah
diperbaiki, jika sudah success berhasil.
7.
Untuk melihat hasil ALT+F5
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
Buat algoritma, flowchart dan program serta hasil program
1.
Menghitung luas dan keliling lingkaran
2.
Menghitung luas trapesium
3.
Menghitung volume kerucut
VIII. Kesimpulan
Buat kesimpulan

Disusun oleh
Yuniawati, S.Pd

21

NO
JOBSHEET
2

JUDUL
INSTRUKSI PERCABANGAN
Statemen IF

MENGUASAI
PROSEDUR
PENYUSUNAN
ALGORITMA PEMROGRAMAN PASCAL
ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus yang


diberikan dengan bahasa PASCAL

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
Instruksi percabangan IF adalah instruksi penyeleksian
kondisi/pilihan
a.
Struktur If............Then
If kondisi Then Statemen
Bila kondisi terpenuhi, maka statemen akan dikerjakan
b.
Struktur If.......Then.......Else
If kondisi Then Statemen 1 Else Statemen 2
Bila kondisi terpenuhi, maka statemen 1 akan dikerjakan, Bila
kondisi tidak terpenuhi, maka statemen 2 akan dikerjakan
c.
Struktur IF tersarang
Suatu statemen IF yang berada dalam lingkungan statemen IF
yang lain
If kondisi 1 Then Statemen 1
Else If kondisi2Then statemen 2
Else If kondisi3Then statemen 3
Else If kondisi4 Then statemen4
Else statemen 5
Bila kondisi terpenuhi, maka statemen 1 akan dikerjakan, Bila
kondisi 2 terpenuhi, maka statemen 2 akan dikerjakan. Bila
kondisi 3 terpenuhi, maka statemen 3 akan dikerjakan, Bila
kondisi 4 terpenuhi, maka statemen 4 akan dikerjakan. Bila
selain 4 kondisi diatas statemen 5.
III. Alat dan Bahan
1) Komputer
1 set
2) CD program PASCAL
1 buah
IV. Gambar Skema Rangkaian

START
INPUT
Masukan
nilai

Nilai
>60

Disusun oleh
Yuniawati, S.Pd

22

OUTPUT
Cetak LULUS

OUTPUT
Cetak GAGAL
Y

END
V. Langkah Kerja
1. Siapkan computer dalam posisi ON
2. Instal computer dengan program PASCAL, Copy folder BORLAND
TURBO PASCAL ke C atau D. Buka folder tesebut, Instalisasi enter
4 kali.
3. Buka ditempat kita install missal C, TP, BIN, TURBO.EXE
4. Atau
Melalui : Start / Program / Turbo Pascal 7 / *

5. Ketik program di bawah ini

PROGRAM SELEKSI_IF_1;
USES CRT;
VAR
nilai : Real;
Ket : String[5];
Begin
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
GOTOXY(5,6); WRITELN(LAPORAN NILAI SISWA);
GOTOXY(5,7); WRITELN(=====================);
GOTOXY(2,8);WRITE
(MASUKAN NILAI =);READLN(nilai);
If nilai > 60 Then Ket:= Lulus Else Ket :=Gagal;
GOTOXY(2,10);WRITELN(Keterangannya =,Ket);
END.

PROGRAM SELEKSI_IF_2;
USES CRT;
VAR
nilai : Real;
Grade : Char;
BEGIN
CLRSCR;

Disusun oleh
Yuniawati, S.Pd

23

TEXTCOLOR(9);
TEXTBACKGROUND(10);
GOTOXY(5,6); WRITELN(LAPORAN NILAI SISWA);
GOTOXY(5,7); WRITELN(=====================);
GOTOXY(2,8);WRITE
(MASUKAN NILAI =);READLN(nilai);
If nilai > 90 Then Grade :=A
Else If nilai > 75 Then Grade :=B
Else If nilai > 60 Then Grade :=C
Else If nilai > 40 Then Grade :=D
Else Grade:=E;
GOTOXY(2,10);WRITELN(Keterangannya =,Grade);
END.
6. Jalankan program Ctrl+F9. Jika program masih salah diperbaiki,
jika sudah success berhasil.
7. Untuk melihat hasil ALT+F5
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
Buat algoritma, flowchart dan program serta hasil program
1. Menentukan besar harga yang harus dibayar jika toko tersebut
memberi diskon 12% untuk harga lebih dari 180.000
2. Menentukan bilangan biner dari suatu bilangan desimal
3. Menghitung nilai siswa berdasarkan
a. Kehadiran 10%
c. UTS 30%
b. UAS 40%
d. Tugas 20%
Untuk nilai lebih dari atau sama dengan 80 = A
Untuk nilai lebih dari atau samadengan 60 = B
Untuk nilai lebih dari atau samadengan 50 = C
Untuk nilai lebih dari atau samadengan 40 = D
Untuk nilai lebih dari atau samadengan 30 = E
4. Menentukan akar persamaan kuadrat y = ax 2 + bx + c jika a, b
dan c diketahui,INPUT. OUTPUT D.Jika akar persamaan berbeda
D>0, Jika akar persamaan sama D=0, Jika akar persamaan tidak
real D<0.
5. Menentukan keterangan umur/usia
age < 2 ==> "You are a baby !"
* 2 to age < 12 ==> "You are a kid !"
* 12 to age < 18 ==> "You are a teenager !"
* 18 to age < 24 ==> "You are a young adult !"
* 24 to age < 40 ==> "You are an adult !"
* 40 to age < 55 ==> "You are middle aged !"
* 55 to age < 65 ==> (OLD OR Give comments yourself)
* age to 65 ==> LANJUT USIA/MANULA
VIII. Kesimpulan
Buat kesimpulan

Disusun oleh
Yuniawati, S.Pd

24

NO
JOBSHEET
3

JUDUL
INSTRUKSI PERCABANGAN
Statemen Case-Of

MENGUASAI
PROSEDUR
PENYUSUNAN
ALGORITMA PEMROGRAMAN PASCAL
ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus yang


diberikan dengan bahasa PASCAL

Siswa dapat membuat program dari masalah-masalah yang


diberi
II. Teori Singkat
Instruksi percabangan Case Of adalah memilih kemungkinan
lebih dari 2
a. Statemen Case-Of
Case <variable> Of
Konstanta 1 : Pernyataan
Konstanta 2 : Pernyataan
......
Konstanta n : Pernyataan
End;
b. Statemen Case Of-Else
Case <variable> Of
Konstanta 1 : Pernyataan
Konstanta 2 : Pernyataan
......
Else
Konstanta n : Pernyataan
End;
III. Alat dan Bahan
1) Komputer
2) CD program PASCAL

1 set
1 buah

IV. Gambar Skema Rangkaian

START
INPUT

Masukan ukuran jaket

INPUT
Masukan
jaket

Disusun oleh
Yuniawati, S.Pd

banyak

25

Ukuran
Jaket

Jumlah := Banyak *harga

OUTPUT
Cetak GAGAL

END
V. Langkah Kerja
1. Siapkan computer dalam posisi ON
2. Instal computer dengan program PASCAL, Copy folder BORLAND
TURBO PASCAL ke C atau D. Buka folder tesebut, Instalisasi enter
4 kali.
3. Buka ditempat kita install missal C, TP, BIN, TURBO.EXE
4. Atau
Melalui : Start / Program / Turbo Pascal 7 / *

5. Ketik program di bawah ini

PROGRAM CASE_1;
USES CRT;
VAR
UKURAN :CHAR;
BANYAK:INTEGER;
HARGA, JUMLAH :REAL;
BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
GOTOXY(5,6); WRITELN(JUMLAH HARGA SEPATU);
GOTOXY(5,7); WRITELN(=====================);
GOTOXY(2,8);WRITE(UKURANJAKET(S/M/L:);
READLN(UKURAN);
GOTOXY(2,9);WRITE(BANYAK JAKET:);READLN(BANYAK);

Disusun oleh
Yuniawati, S.Pd

26

CASE UKURAN OF
S:HARGA:= 50000;
M:HARGA:= 60000;
L:HARGA:= 70000;
END;
JUMLAH:=BANYAK*HARGA;
GOTOXY(2,10);WRITELN(JUMLAH DIBAYAR:Rp.,JUMLAH:8:0);
END.
6. Jalankan program Ctrl+F9. Jika program masih salah diperbaiki,
jika sudah success berhasil.
7. Untuk melihat hasil ALT+F5
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
Buat algoritma, flowchart dan program serta hasil program
1. Menghitung Jumlah harga blouse berdasarkan ukuran dan
banyak
a. S harga Rp. 45.000
b. M harga Rp. 75.000
c. L harga Rp. 100.000
2. Menentukan grade siswa dengan ketentuan Case mark of
80..100: grade:='A';
70..79 : grade:='B';
60..69 : grade:='C';
50..59 : grade:='D';
Else grade:='E';
End;
VIII. Kesimpulan
Buat kesimpulan

Disusun oleh
Yuniawati, S.Pd

27

NO
JOBSHEET
4

JUDUL
INSTRUKSI PERULANGAN
LOOPING

MENGUASAI
PROSEDUR
PENYUSUNAN
ALGORITMA PEMROGRAMAN PASCAL
ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus yang


diberikan dengan bahasa PASCAL

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
Instruksi perulangan ada 3 macam:
a. For...........Do

Digunakan untuk mengulang statemen atau satu blok


statemen berulang kali sejumlah yang diinginkan

Dapat berbentuk perulangan positif (perulangan dengan


penghitung kecil ke besar), perulangan negatif (perulangan
dengan penghitung besar ke kecil) dan perulangan
tersarang(perulangan yang berada dalam perulangan
lainnya.
b. While.......Do
Digunakan untuk melakukan proses perulangan suatu statemen
atau blok statemen terus menerus selama kondisi ungkapan
logika pada while masih berlogika benar
c. Repeat..........Until
Digunakan untuk mengulang (Repeat) statemen satu blok
statemen sampai until kondisi yang diseleksi di until tidak
terpenuhi
III. Alat dan Bahan
1) Komputer
2) CD program PASCAL

1 set
1 buah

IV. Gambar Skema Rangkaian

START
INPUT
Masukan I

I <=5

Disusun oleh
Yuniawati, S.Pd

28

OUTPUT
Cetak PASCAL

END

V. Langkah Kerja
1.
Siapkan computer dalam posisi ON
2.
Instal computer dengan program PASCAL, Copy
folder BORLAND TURBO PASCAL ke C atau D. Buka folder tesebut,
Instalisasi enter 4 kali.
3.
Buka ditempat kita install missal C, TP, BIN,
TURBO.EXE
4.
Atau
Melalui : Start / Program / Turbo Pascal 7 / *

5.

Ketik program di bawah ini


Progran perulangan positif
PROGRAM PERULANGAN_FOR_1 ;
USES CRT;
VAR
I :INTEGER;
BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
FOR I:=1 TO 5 DO WRITELN(PASCAL);
END.

Program Perulangan Negatif


PROGRAM PERULANGAN_FOR_2 ;
USES CRT;
VAR
I :INTEGER;

Disusun oleh
Yuniawati, S.Pd

29

BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
FOR I:= 5 TO 1 DO WRITELN (PASCAL);
END.
Uses Crt;
Var
a,b,c : Integer;
bagi : Real;
Begin
Writeln('----------------------------------------------');
Writeln(' a a*a a*a*a 1/a ');
Writeln('----------------------------------------------');
For a := 1 To 10 Do
Begin
b:= a*a;
c:=a*a*a;
bagi := 1/a;
Writeln(a:4,c:10,d:10,bagi:12:3);
End;
Writeln ('----------------------------------------------');

End. Program While Do


PROGRAM PERULANGAN_WHILE ;
USES CRT;
VAR
I :INTEGER;
BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
I:=0;
WHILE I < 6 DO
BEGIN
WRITELN (I);
I:=I + 1;
END;
END.

Repeat Until
PROGRAM PERULANGAN_REPEAT ;
USES CRT;
VAR
I :INTEGER;
BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
I:=0;
REPEAT

Disusun oleh
Yuniawati, S.Pd

30

I :=I +1;
WRITELN (I);
UNTIL I:= 5;
END.
8. Jalankan program Ctrl+F9. Jika program masih salah diperbaiki,
jika sudah success berhasil.
9. Untuk melihat hasil ALT+F5
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
1. Buat algoritma, flowchart dan program serta hasil program
Mencetak tulisan 1. Jurusan Elektronika Industri sebanyak 5 baris
6. SMKN 29 Jakarta sebanyak 6 baris
2. Untuk menghitung konversi suhu.dari Celcius menjadi Reamur dan
Farenheit Untuk input mulai 10 - 100.
Input: suhu dalam Celcius
Proses: R = 4/5 * C dan F = 9/5 * C + 32
Output: suhu dalam Reamur dan Farenheit
3.
Untuk menghitung pangkat
4.
Untuk menghitung deret aritmatika 2+4+6+....+N
5.
Untuk menghitung faktorial
VIII. Kesimpulan
Buat kesimpulan

NO
JOBSHEET
5

Disusun oleh
Yuniawati, S.Pd

JUDUL
INSTRUKSI ARRAY

PARAF DAN NILAI

31

MENGUASAI
PROSEDUR
PENYUSUNAN
ALGORITMA PEMROGRAMAN PASCAL
ELEKTRONIKA INDUSTRI SMKN 29

Tanggal :

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus yang


diberikan dengan bahasa PASCAL

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
Instruksi array adalah instruksi yang memiliki tipe terstruktur yang
terdiri dari sejumlah komponen yang mempunyai tipe yang sama.
Array ada 2 jenis :
1. Array berdimensi satu
Nama Array = ARRAY [Tipe index]of tipe data;
Contoh : X : array [1..100] of integer
2. Array berdimensi 2/banyak
Nama Array = ARRAY [Tipe index 1, type index 2]of tipe data;
Contoh : Tabel : array [1..3,1..2] of byte
III. Alat dan Bahan
1) Komputer
2) CD program PASCAL

1 set
1 buah

IV. Gambar Skema Rangkaian

START
INPUT
Masukan I

I <=20

OUTPUT
Cetak NILAI KE I

OUTPUT
Cetak NILAI PRAKTIK
END

Disusun oleh
Yuniawati, S.Pd

32

V. Langkah Kerja
1.
Siapkan computer dalam posisi ON
2.
Instal computer dengan program PASCAL, Copy
folder BORLAND TURBO PASCAL ke C atau D. Buka folder tesebut,
Instalisasi enter 4 kali.
3.
Buka ditempat kita install missal C, TP, BIN,
TURBO.EXE
4.
Atau
Melalui : Start / Program / Turbo Pascal 7 / *

5.

Ketik program di bawah ini


Program array berdimensi Satu
Program ARRAY_1_DIMENSI;
USES CRT;
VAR
NILAI PRAKTEK
:ARRAY [1..20] OF REAL;
I, JUMLAH DATA
: BYTE;
BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
WRITE (MASUKKAN BANYAKNYA DATA :);
READLN(JUMLAH DATA);
FOR I:=1 TO JUMLAH DATA DO
BEGIN
WRITE (NILAI KE I,:); READLN(NILAI PRAK[I]);
END;
READLN;
END.

Program Perulangan Negatif


Program array berdimensi Dua
Program ARRAY_2_DIMENSI;
USES CRT;
VAR
MATRIK
:ARRAY [1..3,1..2] OF SHORTINT;
I, J
: BYTE;
BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
MATRIK[1,1]:= -11;

Disusun oleh
Yuniawati, S.Pd

33

MATRIK[2,1]:= -76;
MATRIK[3,1]:= 8;
MATRIK[1,2]:= -1;
MATRIK[2,2]:= 11;
MATRIK[3,3]:= 18;
FOR I:=1 TO3 DO
BEGIN
FOR J:=1 TO 2 DO
WRITE (MATRIK[I,J] :5);
WRITELN;
END;
READLN;
END.
10.Jalankan program Ctrl+F9. Jika program masih salah diperbaiki,
jika sudah success berhasil.
11.Untuk melihat hasil ALT+F5
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
Buat algoritma, flowchart dan program serta hasil program
Mencetak tulisan 1.
Siswa ke 1 :
Nama siswa :
Nilai
:
Data siswa sebanyak 10, Nama siswa, Nilai diisi
6. Matrik
32
-15
-1/5
-27
20
38
18
26
-29

VIII. Kesimpulan
Buat kesimpulan

NO
JOBSHEET
6

JUDUL
INSTRUKSI
PROSEDUR DAN FUNGSI

MENGUASAI
PROSEDUR
PENYUSUNAN
ALGORITMA PEMROGRAMAN PASCAL
ELEKTRONIKA INDUSTRI SMKN 29

Disusun oleh
Yuniawati, S.Pd

PARAF DAN NILAI

Tanggal :

34

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus yang


diberikan dengan bahasa PASCAL

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
Prosedur adalah suatu program terpisah dalam blok tersendiri
yang berfungsi sebagai sub program (program bagian dan diawali
dengan kata cadangan prosedur
Prosedure nama (daftar_parameter);
Bagian Deklarasi;
Bagian Pernyataan;
1.
Parameter dalam Prosedur
a. Parameter Bersifat lokal
b. Parameter bersifat global
2.
Pemanggilan Parameter
a.
Pemanggilan secara nilai (by value)
b.
Pemanggilan secara acuan (by reference)
c.
Pemanggilan parameter sebagian secara nilai dan
sebagian secara acuan
Fungsi secara garis besar sama dengan prosedur yang
membedakannya adalah nama fungsi harus dideklarasikan dengan
type datanya.
Function Identifier (daftar parameter):
Type;
Contoh :
Function Faktorial ( Var fak, hasil) : Integer) : Integer;
III. Alat dan Bahan
1) Komputer
2) CD program PASCAL
IV. Gambar Skema Rangkaian

1 set
1 buah

START
INPUT
A
PROSES
B := A * A

OUTPUT
Cetak B

Disusun oleh
Yuniawati, S.Pd

35

END
V. Langkah Kerja
1.
Pemanggilan secara nilai (by value)
2.
Siapkan computer dalam posisi ON
3.
Instal computer dengan program PASCAL, Copy folder
BORLAND TURBO PASCAL ke C atau D. Buka folder tesebut,
Instalisasi enter 4 kali.
4.
Atau
Melalui : Start / Program / Turbo Pascal 7 / *

5.
6.

Buka ditempat kita install missal C, TP, BIN, TURBO.EXE


Ketik program di bawah ini

Program Prosedur
Prosedure Kali;
USES CRT;
VAR
A, B : Byte
BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
WRITE (isi nilainya :); READLN(A);
B :=A * A
END;
BEGIN
KALI;
WRITELN (NILAI B=,B);
END.

Program Prosedur Pemanggilan


Prosedur Hitung (Var X, Y, Z : Byte);
USES CRT;
BEGIN
CLRSCR;
Z:= X + Y
WRITELN (NILAI X =, X);
WRITELN (NILAI Y =, Y);
WRITELN (NILAI Z =, Z);
END;
VAR

Disusun oleh
Yuniawati, S.Pd

36

A, B, C : BYTE;
BEGIN
A:=5; B:=7; C:= 3;
HITUNG (A, B, C);
WRITELN (NILAI A=,A,NILAI B=,B,NILAI C=,C);
READLN;
END.

Program fungsi
Function Kali : Byte;
USES CRT;
VAR
A, B : Byte
BEGIN
CLRSCR;
TEXTCOLOR(9);
TEXTBACKGROUND(10);
WRITE (isi nilainya :); READLN(A);
B :=A * A
END;
BEGIN
KALI;
WRITELN (NILAI B=,B);
END.
Program Pemanggilan Fungsi
Function Hitung (Var X, Y, Z : Byte): Byte;
USES CRT;
BEGIN
CLRSCR;
Z:= X + Y
WRITELN (NILAI X =, X);
WRITELN (NILAI Y =, Y);
WRITELN (NILAI Z =, Z);
END;
VAR
A, B, C : BYTE;
BEGIN
A:=5; B:=7; C:= 3;
HITUNG (A, B, C);
WRITELN (NILAI A=,A,NILAI B=,B,NILAI C=,C);
READLN;
END.

Disusun oleh
Yuniawati, S.Pd

37

12.Jalankan program Ctrl+F9. Jika program masih salah diperbaiki,


jika sudah success berhasil.
13.Untuk melihat hasil ALT+F5
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
Buat algoritma, flowchart dan program serta hasil program dengan
prosedur dan fungsi
1. Menghitung Hukum Ohm

Disusun oleh
Yuniawati, S.Pd

38

2.
3.
4.
5.

Menghitung phitagoras
Menghitung Konsumsi daya listrik
Konversi bilangan
Menentukan hari dan tanggal

VIII. Kesimpulan
Buat kesimpulan

Program untuk tampilan hari dan tanggal

Disusun oleh
Yuniawati, S.Pd

39

Program Konversi Bilangan

Disusun oleh
Yuniawati, S.Pd

40

Disusun oleh
Yuniawati, S.Pd

41

Disusun oleh
Yuniawati, S.Pd

42

Disusun oleh
Yuniawati, S.Pd

43

Disusun oleh
Yuniawati, S.Pd

44

Disusun oleh
Yuniawati, S.Pd

45

Disusun oleh
Yuniawati, S.Pd

46

TES FORMATIF
Buat algoritma, flowchart dan program pascal untuk :
1.

Menghitung Luas dan Keliling trapesium?

2.

Menghitung y = x2 x 6?

3.

Menghitung nilai pangkat?

4.

Menghitung nilai rata-rata ulangan siswa, ada 5 nilai ulangan harian


Jika nilai rata-rata 6.50 dinyatakan LULUS KOMPETENSI
Jika nilai rata-rata 6.50 dinyatakan TIDAK LULUS KOMPETENSI

5.

KOnversi suhu Reamur, Farenheit dan Kelvin dari suhu celcius

6.

Menentukan suatu bilangan N genap atau ganjil

7.

Menentukan nilai diskriminan suatu persamaan Y = ax 2 + bx +c jika


D = 0, nilai akar sama
D<0, nilai akar bilangan tidak real
D>0, nilai akar bilangan nyata

8.

Menentukan nilai konversi bilangan desimal biner

9.

Menentukan tampilan
*
**
***
****
*****
******
Menentukan tampilan
#######
######
#####
####
###
##
#

10.

BAB III

Disusun oleh
Yuniawati, S.Pd

47

MIKROPROSESSOR DAN
MIKROKONTROLLER
Kompetensi Dasar

A.

: 1. Mengidentifikasi
Arsitektur
Mikroprosessor dan Mikrokontroller

PENGERTIAN
MIKROPROSESSOR
DAN
MIKROKONTROLLER
1.
Mikroprosesor
Adalah suatu chip (IC=Integrated Circuits) yang di dalamnya
terkandung rangkaian ALU (Arithmetic-Logic Unit), rangkaian CU
(Control Unit) dan register-register. Mikroprosesor disebut juga
dengan CPU (Central Processing Unit).ALU: menyediakan fungsi
pengolahan.
CU: mengontrol fungsi prosesor.
Register: tempat penyimpanan sementara dalam mikroprosesor.
Suatu sistem yang menggunakan mikroprosesor sebagai
komponen utama disebut sistem mikroprosesor. Pada umumnya,
sistem mikroprosesor terdiri dari Central Processing Unit (CPU),
memori (ROM dan RAM) dan unit Unit Input Output I/O termasuk
interface.
Sifat mikroprosesor yang dapat diprogram dan sangat
fleksibel untuk pemakai dalam suatu sistem. Karena pemakaiannya
yang memberikan banyak keuntungan, maka tidaklah heran jika
saat ini aplikasi Mikroprosesor telah dipakai dalam berbagai bidang
seperti :
Informatika : Personal computer, Main Frame, Periperal I/O dll
Industri : berbagai system control industri, perangkat bantu
mesin-mesin industri/proses.
Transportasi : Traffic light, system pengatur perjalanan KA
Pendidikan : teaching aids, microprosesor
evaluation and
development systems.
Kedokteran : peralatan bantu jenis diagnosa, terapi &
rehabilitasi
Telekomunikasi : berbagai jenis produk telekomunikasi seperti
macam-macam pesawat telepon, mesin fax, modem, telepon
genggam, auto dialer.
Peralatan kantor : kalkulator, organizer, mesin foto copy, mesinmesin ATM, berbagai jenis memori card & smart card
Hiburan : pemilih channel televise terprogram rumah tangga.

2.

Mikrokontroller
Adalah chip yang di dalamnya terkandung sistim interkoneksi
antara mikroprosesor, RAM, ROM, I/O interface dan beberapa

Disusun oleh
Yuniawati, S.Pd

48

peripheral. Mikrokontroler disebut juga On-chip-Peripheral. 1 keping


IC mikrokontroller = 1 sistem mikroprosessor
Mikrokontroler itu sendiri dapat diumpamakan sebagai
bentuk minimum dari sebuah mikrokomputer (single chip
computer). Mikrokontroler terdiri dari perangkat keras (hardware),
perangkat lunak (software), memori, CPU (central processing unit)
dan lain sebagainya, yang terpadu dalam satu keping chip yang
fleksibel dan mudah dibawa kemana-mana serta dapat diprogram
ulang (reprogrammable). Mikrokontroler tidak seperti sistem
komputer yang mampu menangani berbagai macam program
aplikasi (misalnya pengolah kata, angka dan lain sebagainya),
mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu
saja (hanya satu program saja yang biasa disimpan).
Mikrokontroler keluarga MCS-51 pertama kali dikembangkan
oleh Intel Corp pada tahun 1970, lalu terus diperbaharui dan
diproduksi oleh berbagai vendor terkemuka dunia, yakni : Atmel,
Dallas, Philips semiconductors, dsb.

B.

PERBEDAAN
MIKROPROSESSOR
DAN
MIKROKONTROLLER
Sekilas mikrokontroler hampir sama dengan mikroprosesor,
namun terdapat perbedaan di antara keduanya yakni :
1. Ditinjau dari segi arsitekturnya, mikroprosesor hanya merupakan
single chip CPU, sedangkan mikrokontroler merupakan complete
chip di mana di dalam IC-nya terdapat ROM, RAM, EPROM,
serial/paralel interface, timer, interrupt, dalan lainnya.
2. Pada sistem komputer perbandingan RAM dan ROM-nya besar,
artinya program-program pengguna disimpan dalam RAM yang
relatif besar, sedangkan rutin-rutin antarmuka perangkat keras
disimpan dalam ruang ROM yang kecil. Sebaliknya pada
mikrokontroler, perbandingan ROM dan RAM-nya yang besar,
artinya program kontrol disimpan dalam ROM yang ukurannya
relatif lebih besar, sedangkan RAM digunakan sebagai tempat
penyimpanan sementara.
3. Pada aplikasinya, mikroprosesor hanya berfungsi sebagai CPU
(central processing unit) yang menjadi otak komputer, sedangkan
mikrokontroler pada umumnya digunakan untuk melaksanakan
tugas-tugas yang berorientasi kontrol pada rangkaian yang
membutuhkan jumlah komponen minimum dan biaya rendah.

C.

JENIS

MIKROKONTROLLER

JENIS

MIKROPROSESSOR

DAN

Jenis jenis Mikroprosesssor

Microprosesor berdasarkan atas teknologi bahannya:

Teknologi Konsumsi Daya Siklus Perintah

Berdasarkan Atas Lebar Bus Dan Pabrik Pembuatnya


Jenis Mikroprosessor

Disusun oleh
Yuniawati, S.Pd

49

1971: 4004 Microprocessor


Pada tahun 1971 munculah microprocessor pertama Intel ,
microprocessor 4004 ini digunakan pada mesin kalkulator Busicom.
Dengan penemuan ini maka terbukalah jalan untuk memasukkan
kecerdasan
buatan
pada
benda
mati.
1972: 8008 Microprocessor
Pada tahun 1972 munculah microprocessor 8008 yang berkekuatan 2
kali
lipat
dari
pendahulunya
yaitu
4004.
1974: 8080 Microprocessor
Menjadi otak dari sebuah komputer yang bernama Altair, pada saat itu
terjual
sekitar
sepuluh
ribu
dalam
1
bulan
1978: 8086-8088 Microprocessor
Sebuah penjualan penting dalam divisi komputer terjadi pada produk
untuk komputer pribadi buatan IBM yang memakai prosesor 8088 yang
berhasil mendongkrak nama intel.
1982: 286 Microprocessor
Intel 286 atau yang lebih dikenal dengan nama 80286 adalah sebuah
processor yang pertama kali dapat mengenali dan menggunakan
software
yang
digunakan
untuk
processor
sebelumnya.
1985: Intel386 Microprocessor
Intel 386 adalah sebuah prosesor yang memiliki 275.000 transistor
yang tertanam diprosessor tersebut yang jika dibandingkan dengan
4004 memiliki 100 kali lipat lebih banyak dibandingkan dengan 4004
1989: Intel486 DX CPU Microprocessor
Processor yang pertama kali memudahkan berbagai aplikasi yang
tadinya harus mengetikkan command-command menjadi hanya
sebuah klik saja, dan mempunyai fungsi komplek matematika sehingga
memperkecil
beban
kerja
pada
processor.
1993: Intel Pentium Processor
Processor generasi baru yang mampu menangani berbagai jenis data
seperti suara, bunyi, tulisan tangan, dan foto.
1995: Intel Pentium Pro Processor
Processor yang dirancang untuk digunakan pada aplikasi server dan
workstation, yang dibuat untuk memproses data secara cepat,
processor ini mempunyai 5,5 jt transistor yang tertanam.
1997: Intel Pentium II Processor
Processor Pentium II merupakan processor yang menggabungkan Intel
MMX yang dirancang secara khusus untuk mengolah data video, audio,
dan grafik secara efisien. Terdapat 7.5 juta transistor terintegrasi di
dalamnya sehingga dengan processor ini pengguna PC dapat mengolah
berbagai data dan menggunakan internet dengan lebih baik.

Disusun oleh
Yuniawati, S.Pd

50

1998: Intel Pentium II Xeon Processor


Processor yang dibuat untuk kebutuhan pada aplikasi server. Intel saat
itu ingin memenuhi strateginya yang ingin memberikan sebuah
processor
unik
untuk
sebuah
pasar
tertentu.
1999: Intel Celeron Processor
Processor Intel Celeron merupakan processor yang dikeluarkan sebagai
processor yang ditujukan untuk pengguna yang tidak terlalu
membutuhkan kinerja processor yang lebih cepat bagi pengguna yang
ingin membangun sebuah system computer Processor Intel Celeron ini
memiliki bentuk dan formfactor yang sama dengan processor Intel
jenis Pentium, tetapi hanya dengan instruksi-instruksi yang lebih
sedikit, L2 cache-nya lebih kecil,
1999: Intel Pentium III Processessor
Processor Pentium III merupakan processor yang diberi tambahan 70
instruksi baru yang secara dramatis memperkaya kemampuan
pencitraan tingkat tinggi, tiga dimensi, audio streaming, dan aplikasiaplikasi
video
serta
pengenalan
suara.
1999: Intel Pentium III Xeon Processor
Intel kembali merambah pasaran server dan workstation dengan
mengeluarkan seri Xeon tetapi jenis Pentium III yang mempunyai 70
perintah SIMD. Keunggulan processor ini adalah ia dapat mempercepat
pengolahan informasi dari system bus ke processor , yang juga
mendongkrak performa secara signifikan. Processor ini juga dirancang
untuk
dipadukan
dengan
processor
lain
yang
sejenis.
2000: Intel Pentium 4 Processor
Processor Pentium IV merupakan produk Intel yang kecepatan
prosesnya mampu menembus kecepatan hingga 3.06 GHz. Pertama
kali keluar processor ini berkecepatan 1.5GHz dengan formafactor pin
423, setelah itu intel merubah formfactor processor Intel Pentium 4
menjadi pin 478 yang dimulai dari processor Intel Pentium 4
berkecepatan 1.3 GHz sampai yang terbaru yang saat ini mampu
menembus kecepatannya hingga 3.4 GHz.
2003: AMD memperkenalkan x86-64, versi 64-bit dari x86 instruction
set.
2004: AMD mendemonstrasikan x86 dual-core processor chip.
2005:
Intel
menjual
prosesor
Dual-Core
pertamanya.
2006: Dell Inc. mengumumkan akan menawarkan system prosesor
berbasis
AMD.
2006: Intel Memperkenalkan prosesor core 2 duo di bulan juli.
2007: Intel memperkenalkan prosesor core 2 quad di bulan januari.
Jenis Jenis Mikrokontroller
a. Mikrokontroller ATMEL
Mikrokontroler buatan ATMEL ini merupakan keluarga MCS-51 dari
Intel Corp (www.atmel.com). Saat ini mikrokontroler ATMEL merupakan
mikrokontroler yang paling banyak digunakan karena harganya relatif
murah dan mudah didapatkan. Mikrokontroler ini dapat diprogram

Disusun oleh
Yuniawati, S.Pd

51

menggunakan port paralel atau serial. Selain itu, mikrokontroler ini dapat
beroperasi hanya dengan satu chip dan beberapa komponen dasar,
seperti resistor, kapasitor dan kristal. Berikut ini diberikan contoh
beberapa tipe mikrokontroler ATMEL beserta fitur dan kelengkapannya..
Tabel 1.2. Tipe-tipe Mikrokontroler ATMEL

b. Mikrokontroler PIC
Mikrokontroler PIC (Peripheral Interface Controller) merupakan
keluarga mikrokontroler tipe RISC (Reduce Instruction Set Programs) yang
diproduksi oleh Microchip (www.microchip.com). Mikrokontroler PIC dibuat
pertama kali pada tahun 1975 untuk meningkatkan kinerja sistem pada
I/O. Masing-masing mikrokontroler memiliki kekhasan yang berbeda dalam
hal jenis memori yang digunakan, ada yang menggunakan EEPROM, ada
yang menggunakan Flash memori, bahkan ada yang menggunakan OTP
(One Time Programmable) atau memori sekali program.
c. Mikrokontroler Maxim
Mikrokontroler Maxim diproduksi oleh Maxim corp yang merupakan
salah satu produsen chip yang fokus pada komponen digital dan
komunikasi (www.maximic. com). Produknya adalah chip mikrokontroler,
akuisisi data dan komponen radio frekuensi. Maxim merupakan produsen
yang cukup inovatif dalam melahirkan produk-produk berteknologi tinggi,
misalnya mikrokontroler 80C400 kecepatan tinggi yang mendukung
jaringan komputer (computer networking). Beberapa chip mikrokontroler
Maxim juga mendukung penggunaan perangkat lunak compiler berbasis
bahasa C, diantaranya : Keil-C sebagai compiler C, macro assemblers, real
time kernels, debuggers dan simulator di lingkungan IDE (Interface Design
Environmet).
d. Mikrokontroler Renesas
Renesas merupakan produsen semikonduktor gabungan antara
Mitsubishi dan Hitachi. Salah satu produk mikrokontroler Renesas yang
dikenal adalah R8C/Tiny Series yang termasuk keluarga M16C dan
mempunyai beberapa seri antara lain R8C/10, R8C/12, yang berbeda
kapasitas flash ROM dan jumlah pin I/O.

Disusun oleh
Yuniawati, S.Pd

52

D.

ARISTEKTUR MIKROPROSESSOR
Blok sistem mikroprosesor
Data Bus

motor

sensor
Clock
Generator

CPU
Z 80

ROM

RAM

PPI

PIO
monitor

dll

Adress Bus

fgy
Control Bus
Gambar 3 Blok Sistem Mikroprosessor
Fungsi dari masing-masing blok tersebut
Clock Generator
Berfungsi sebagai master timer bagi sistem mikroprosesor
CPU

Mengendalikan jalannya operasi di seluruh bagian


computer

Menangkap/fetch instruksi, menerjemahkan/ decoded,


execute dalam urutan dan melaksanakan

Melaksanakan operasi aritmatika : tambah, kurang, kali,


bagi dan operasi logika : AND, OR, NOT, EX-OR, shift dll

Mengirim atau mengambil data dari piranti I/O

Berisikan address counter untuk menahan alamat


instruksi berikutnya atau data yang mau diambil dari memori.
General purpose register yang berfungsi untuk menyimpan

Disusun oleh
Yuniawati, S.Pd

53

data sementara, juga rangkaian yang akan membangkitkan


sinyal kontrol bus.
Memori
Menyimpan data atau informasi baik berupa data atau
instruksi.
Unit penyimpanan informasi : bit, byte, dan word
RAM (Random Access Memory) sebagai read dan write
memori. Biasanya berfungsi untuk menyimpan program
sementara para pemakai.
ROM (Read Only Memory) berfungsi sebagai read program
dari sistem mikroprosesor yang digunakan,
sifatnya
permanen.
Input Output (I/O)
Untuk berkomunikasi dengan rangkaian luar baik secara
serial maupun parallel.
Input digunakan untuk memasukkan informasi atau
perintah yang akan diproses oleh CPU seperti papan ketik,
A/D converter. Output digunakan untuk menyampaikan
informasi olahan CPU pada alat peraga video, printer atau
ke D/A converter.
Arsitektur Mikroprosesor Z-80
Seperti telah disebutkan sebelumnya, mikroprosesor merupakan
jantung pa
da sistem mikroprosesor yang sering disebut sebagai Central Prosesing
Unit (Unit Pemroses Sentral). CPU Z-80 merupakan sebuah mikroprosesor
yang dibuat dalam serpih rangkaian terpadu dengan jumlah penyemat 40
buah. CPU Z-80 memiliki kemampuan dalam perhitungan aritmatika,
logika dan kontrol
CPU Z-80 memiliki 2 register yaitu general purpose register dan
special purpose register.:
Main Register
General
Purpose
Register

Spesial
Purpose
Register

Alternate
Register
A

A
F
Accumulat
Flag
or
B
C
B
D
E
D
Interupt
Memory
H
L
H
Vektor
Refresh
I
R
Index Register (IX)
Index Register (IY)
Stack Pointer (SP)
Program Counter (PC)

F
C
E
L

General Purpose Register


Rgister yang biasanya digunakan dalam pemograman. Terdapat 2 x
6 buah general register yang dapat digunakan sebagai 8 bit register atau
16 bit register secara berpasang-pasangan misalnya BC, DE, dan HL.
Programmer dapat memiliki diantara satu, register mana yang akan

Disusun oleh
Yuniawati, S.Pd

54

digunakan untuk berkerja dengan hanya melalui sebuah perintah/instruksi


pertukaran untuk semua set.
Untuk menangani sebuah interupsi yang cepat membutuhkan
response/tindakan, maka diperlukan 1 set General Purpose register dan
accumulator /flag register cadanganuntuk menangani langsung insterpsi
tersebut. Dan untuk itu hanya diperlukan sebuah perintah yang berfungsi
menanganinya diantara routine-routine tersebut. Sebenarnya yang
dilakukan adalah mengurangi waktu untuk menyimpan isi register ke
memori luar (stack selama proses interupsi/subroutine processing).
Spesial Purpose Register
Register yang jarang digunakan dalam pemograman dan digunakan dalam
fungsi-fungsi tertentu

Program Counter, digunakan untuk menhold 16 bit address dari


instruksi yang berlaku yang diambil dari memori. PC secara otomatis
akan bertambah setelah isinya ditransfer ke address line.
Stack Pointer, digunakan untuk menhold 16 bit address dari stack
teratas dimana saja dalam eksternal memori system (RAM) memori.
eksternal stack memori menganut azas LIFO(Last In First Out)
Index Register (IX dan IY), Kedua register ini menhold 16 bit
address dasar yang dipakai dalam mode indexed addressing.
Interrupt Page Address Register (I), mikroprosesor ini dapat
beroperasi dimana sebuah call yang tidak langsung ke memori lokasi
dalam memori dicapai dalam meresponse sebuah interrupt.
Memori Refresh Register, Berguna untuk merefresh memori dinamik
hingga dapat berlaku seperti static memori. Register ini otomatis
bartambah setelah setiap instruksi diakses.

Accumulator dan Flag Register


Mikroprosesor Z-80 memiliki 2 buah 8 bit accumulator dan 8 bit flag
register. Accumulator menhold hasil aritmatika dan logika. Flag register
menunjukkan kondisi tertentu untuk 8/16 bit operasi, contoh apakah
menunjukkan ada dan tidaknya hasil sebuah operasi zero atau sama
dengan negative.
Arithmetic and Logic Unit (ALU)
Instruksi Aritmatika dan Logika 8 bit dari CPU dilaksankan dalam ALU. ALU
berkomunikasi dengan register dan data bus dalam internal data bus.
Instruksi yang dilaksanakan di ALU : ADD, Substract, Logika AND, Logika
OR, Logika EXOR, Compare, Left or Right Shifts or Rotates, Increment,
Decrement, Set bit, Reset bit, Test bit.
Instrucion Register and CPU Controls
Semua setiap instruksi yang diperoleh dari memori ditenpatkan di
Instruction Register dan didecoded (diterjemahkan), bagian pengendali
(control section) mengerjakan kegiatan ini dan menghasilkan dan
menyiapkan semua signal-signal pengendali yang diperlukan untuk
membaca atau menulis data dari dan ke register. Juga mengendalikan ALU
dan menyediakan semua signal untuk mengendalikan bagian luar CPU.
Gambar 4 Bagan Arsitekstur Mikroprosesor Z-80

Disusun oleh
Yuniawati, S.Pd

55

Proses yang terjadi didalam CPU Z-80 dapat dijelaskan sebagai


berikut
Mula-mula CPU mengirimkan suatu alamat yang ditunjukkan oleh isi
program counter ke memori luar melalui jalur alamat. Kemudian lokasi
ingatan yang terpilih akan memberikan isinya berupa suatu instruksi
kepada CPU melalui jalur data untuk dilaksanakan. Didalam CPU, kode
operasi dari instruksi tersebut dimasukkan kedalam register instruksi
untuk dipecahkan sandinya. Setelah terpecahkan, CPU akan mengerti apa
yang harus dilaksanakan, sehingga CPU akan membangkitkan signal
kemudi yang diperlukan guna pelaksanaan instruksi tersebut. Signal-signal
kemudi yang dibangkitkan akan mengirim operasi apa yang harus
dilakukan dari instruksi tersebut ke bagian yang dituju untuk
mengolahnya. Jika instruksi tersebut selesai dilaksanakan, maka CPU akan
kembali melaksankan instruksi selanjutnya. Proses ini akan berlangsung
terus sampai seluruh instruksi selesai dilaksanakan.
0.
Feature Kasus pada Zilog Z-80
CPU

Disusun oleh
Yuniawati, S.Pd

56

Gambar 5. Susunan dan Konfigurasi Pin Z-80 CPU


Keterangan Gambar 5 adalah sebagai berikut:
Mikroprosesor 8 bit dengan arsitektur I/O Terisolasi
16 bit Address Bus dengan kemampuan: pengalamatan
memori 64 Kbyte, Pengalamatan I/O 256 byte
148 instruksi
8 buah Register 8 bit sebagai Regiter utama, buah register 8
bit sebagai Register alternatif, 4 buah Register 16 bit, 2
buah Register 8 bit fungsi khusus.
Frekuensi Clock 2,5 MHz - 4 Mhz
Komsumsi Daya: Aktif 150 mA
Kemasan PDIP
Kendali CPU menjalankan fungsi-fungsi sebagai berikut:

M1* (Machin Cycle One: satu siklus mesin) merupakan pin


keluaran aktif rendah jika CPU sedang mengambil sandi
operasi instruksi dari memori. Pada saat ini bus alamat
berisi alamat memori seperti data yang ada pada Register
PC, dan data bus mengarah masuk.
MREQ* (Memori Request: pesan memori) merupakan pin
Keluaran aktif rendah pada waktu saluran alamat berisi
alamat memori
IORQ* (Input Output Request: pesan Input Output) Keluaran
aktif rendah pada waktu saluran alamat A0 s/d A7 berisi
alamat I/O

Disusun oleh
Yuniawati, S.Pd

57

RD* (Read: Baca) Keluaran aktif rendah pada waktu CPU


melakukan operasi baca/memasukkan data
WR* (Write: Tulis) Keluaran aktif rendah pada waktu CPU
melakukan operasi tulis/mengeluarkan data
RFSH* (Refresh: Penyegaran) Keluaran aktif rendah jika CPU
mengeluarkan alamat memori untuk menyegarkan memori
mekanik
HALT* Keluaran aktif rendah pada saat CPU melaksanakan
instruksi Halt/berhenti
WAIT* Masukan dibuat aktif rendah oleh alat luar yang
menyela kerja CPU
INT* (Interrupt: interupsi) Masukan aktif rendah jika ada luar
yang meminta layanan interupsi
NMI* (Non Mascable Interrupt: interupsi yang tidak bisa
dihalang) Masukan aktif rendah jika ada selaan yang yang
tak dapat dihalangi
RESET* Masukan dibuat aktif rendah oleh alat luar untuk
membuat CPU ada dalam keadaan awal
BUSRQ* (Buss Request: pesan bus) Sinyal masukan yang
dibuat aktif rendah jika ada alat luar yang meminjam bus
sistem
BUSAK* (Bus Akcnowledge) Keluaran aktif rendah yang
menandakana CPU mengijinkan peminjaman bus sistem.

Z-80 CPU dalam menggendalikan sistem menggunakan enam


pin kendali dan empat diantaranya digunakan untuk
berkomunikasi dengan Memori dan I/O. Cara berkomunikasinya
menggunakan status bit seperti tabel berikut:
Tabel Operasi Komunikasi Memori

Input Output (I/O) merupakan komponen pokok dari Sistim


Mikroprosesor. Informasi di luar CPU harus dikumpulkan dan di
proses. Begitu di proses informasi harus disajikan dan dikirim
untuk
mengendalikan
berbagai
alat
Input
Output.
Perkembangan
Mikroelektronika
telah
mendukung
perkembangan I/O dari Unprogrammable ke Programmable
Sistim. Beberapa komponen I/O terprogram yang sangat

Disusun oleh
Yuniawati, S.Pd

58

populer dalam dunia Sistim Mikroprosesor adalah Z-80 PIO dan


PPI 8255.
I/O Paralel
Z-80 PIO (Programmable Input Output)
IC Z-80 PIO adalah IC I/O paralel terprogram yang prilakunya
dapat disetel menggunakan program. Z-80 PIO adalah salah
satu chip yang diproduksi untuk pasilitas antar muka dengan Z80 CPU. Z-80 PIO memiliki kelengkapan:
1. Dua periperal port antar muka paralel 8 bit independent
dengan kendali jabat tangan
2. Penggerak I/O terinterupsi
3. Empat mode operasi
a. Mode 0: Byte Output dengan jabat tangan
b. Mode 1: Byte Input dengan jabat tangan
c. Mode 2: Byte Bidirectional dengan jabat tangan (hanya
untuk Port A)
d. Mode 3: Untuk Bit Control
4. Logika interupsi dengan prioritas daisy chain
5. Semua Input dan Output Kompatibel dengan TTL
6. Susunan pin IC Z-80 PIO dilukiskan seperti Gambar 6

Gambar Diagram Mode Kerja Z-80 PIO

Disusun oleh
Yuniawati, S.Pd

59

Gambar 6 Susunan Pin IC Z-80 PIO


Z-80 PIO terdiri dari dua port yaitu Port A dan Port B.
Masing-masing port dilengkapi dengan pena-pena jabat tangan.
Dengan 40 pin dalam dua lajur
PPI 8255

8255 adalah chip Programmable Peripheral Interface,


berfungsi untuk antar muka paralel dengan perilaku dapat diatur
dengan program. PPI 8255 terdiri dari tiga port I/O 8 bit yaitu: Port
A, Port B, dan Port C. Masing-masing port dapat dibuat menjadi port
masukan maupun port keluaran. Gambar 8. menunjukkan diagram
blok bagian dalam dari PPI 8255.

Disusun oleh
Yuniawati, S.Pd

60

Gambar 7 Diagram blok PPI 8255


PPI 8255 memiliki Buffer bus data dua arah, yang berarti
dapat berfungsi baik sebagai port input maupun port output. Arah
aliran data dapat dijelaskan menggunakan pengaturan logika
Read/Write. Secara mudah dapat diuraikan dengan tabel berikut:
Tabel Format Pembacaan dan Penulisan PPI 8255

PPI 8255 bekerja dalam tiga mode, yaitu:


1. Mode 0: Port A, Port B, dan Port C bekerja sebagai port I/O
sederhana tanpa jabat tangan. Pada mode ini CPU sama sekali tidak
memperhatikan status 8255. CPU mentransfer data tanpa
mempersoalkan apa yang terjadi pada 8255. Port A dan Port B

Disusun oleh
Yuniawati, S.Pd

61

bekerja sebagai port 8 bit sedangkan Port C dapat dibuat bekerja


dalam 8 bit atau berdiri sendiri dalam 4 bit lower dan 4 bit upper
secara terpisah. Pemakaian mode 0 pada PPI 8255 secara diagram
dapat digambarkan pada Gambar 9.

Gambar 8 Diagram Operasi PPI 8255 Mode 0


2. Mode 1: Port A, Port B bekerja sebagai port I/O dengan jabat
tangan menggunakan sebagian dari pena Port C. Saluran PC0, PC1,
dan PC2 berfungsi sebagai saluran jabat tangan untuk Port B
sedangkan Port A menggunakan saluran PC3, PC4, dan PC5 sebagai
sinyal jabat tangan. PC6 dan PC7 dapat digunakan untuk saluran
I/O. Diagram operasi 8255 pada mode 1 digambarkan pada Gambar.

Gambar 9 Diagram Operasi PPI 8255 Mode 1


3. Modus 2: Hanya Port A dapat dibuat sebagai port I/O dua arah
dengan jabat tangan. Port A dapat digunakan sebagai port untuk
transfer data dua arah dengan jabat tangan. Ini artinya data dapat
masuk atau keluar dari saluran yang sama. Mode ini
mengembangkan sistem saluran (bus) ke mikroprosesor atau
mentransfer byte data ke dan dari floppy disk controller. Pada mode
2 saluran PC3 sampai PC7 digunakan sebagai saluran jabat tangan
untuk Port A. Bentuk operasi 8255 sebagai mode 2 digambarkan
pada diagram Gambar.

Disusun oleh
Yuniawati, S.Pd

62

Gambar 10 Diagram Operasi PPI 8255 Mode 2


Penyusunan dan Pengiriman Control Word
Format Control Word PPI 8255 ditunjukkan pada Gambar 12 berikut:

Gambar (a) Format Control Word Mode Set

Disusun oleh
Yuniawati, S.Pd

63

Gambar 11 Format Control Word Port C Bit Set/Reset


Gambar 11a digunakan untuk menformat Control Word berdasar
pada mode kerja. Sedangkan gambar 11b digunakan untuk
menformat Control Word untuk Port C pada operasi Set/Reset bit.
I/O Serial
I/O serial adalah unit masukan keluaran yang bekerja atas dasar
prinsip urut/seri. Dalam hal ini diperlukan proses konversi dari data
paralel ke bentuk serial. Ada dua teknik konversi yang ditawarkan
yaitu:

Teknik perangkat lunak

Teknik perangkat keras.


E.

ARSITEKTUR MIKROKONTROLLER

Mikrokontroler AT89C51 adalah salah satu seri mikrokontroler pada


keluarga MCS-51. Mikrokontroler ini yang memiliki daya rendah,
performansi yang tinggi dan merupakan jenis IC CMOS 8 bit
microcomputer dengan 4 Kbytes Flash memori (PEROM). Fasilitas chip
flash program memori menjadikannya dapat kembali diprogram ulang di
dalam sistem yang telah diprogram atau dengan sebuah pemrogram
konvensional memori non volatile. Gambar 1 memperlihatkan sebuah
diagram blok mikrokontroler MCS-51.

Disusun oleh
Yuniawati, S.Pd

64

1. Gambar 12. Diagram Blok keluarga MCS-51


IC mikrokontroler dikemas dalam bentuk yang berbeda. Namun
pada dasarnya fungsi kaki yang ada pada IC memiliki persamaan.
Bentuk IC seri mikrokontroler AT89C51 dapat dilihat pada gambar 2
sebagai berikut.

Gambar 13. Konfigurasi Kaki IC Mikrokontroler


Penjelasan fungsi tiap kaki IC mikrokontroler 8051 adalah sebagai
berikut :

Port 0
Merupakan port yang memiliki dua kegunaan (dual-purpose port). Pada
desain yang minimum (sederhana) digunakan sebagai port I/O
(Input/Output). Pada desain yang lebih lanjut pada perancangan
dengan memori eksternal digunakan sebagai data dan alamat yang dimultiplex. Port 0 terdapat pada pin 32-39
Port 1

Disusun oleh
Yuniawati, S.Pd

65

Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC
8032/8052 yang menggunakan P1.0 dan P1.1 sebagai input eksternal
untuk timer ketiga (T3). Port 1 terdapat pada pin 1 8.
Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan
sebagai port I/O. pada desain lebih lanjut digunakan sebagai high byte
dari alamat (address). Port 2 terdapat pada pin 21-28.
Port 3
Merupakan dual-purpose port. Selain sebagai port I/O juga
mempunyai fungsi khusus yang ditunjukkan pada tabel 1 di bawah ini.

Tabel 1. Fungsi Khusus Port 3


PORT PIN

ALTERNATE FUNCTIONS
RXD (serial input port)

P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7

TXD (serial output port)


INT 0 (external interupt 0)
INT 1 (external interupt 1)
T0 (timer 0 external input)
T1 (timer 1 external input)
WR (external data memory write strobe)
RD (external data memory read strobe)

PSEN (Program Store Enable)


PSEN adalah kontrol sinyal yang mengijinkan untuk mengakses
program (code) memori eksternal. Pin ini dihubungkan ke pin OE
(output enable) dari EPROM. PSEN akan selalu bernilai 0 pada
pembacaan program memori internal. PSEN terdapat pada pin 29.
ALE (Address Latch Enable)
Digunakan untuk men-demultiplex alamat (address) dan data bus.
Ketika menggunakan program memori eksternal port 0 akan berfungsi
sebagai alamat (address) dan data bus. Pada setengah paruh pertama
cycle ALE akan bernilai 1 sehingga mengijinkan penulisan alamat pada
register eksternal dan pada setengah paruh berikutnya akan bernilai
satu hingga port 0 dapat digunakan sebagai data bus. ALE terdapat
pada pin 30.
EA (External Access)
Jika EA diberi masukan 1 maka akan menjalankan program memori
internal saja dan akan melaksanakan instruksi dari ROM/EPROM ketika
isi program hitung (counter) kurang dari 4096 atau 1000H. Jika EA
diberi masukan 0 (ground) maka hanya akan menjalankan program
memori eksternal ( PSEN akan bernilai 0). EA terdapat pada pin 31.
RST (Reset)
RST pada pin 9 merupakan reset dari AT89C51. Jika pada pin ini diberi
masukan 1 selama minimal 2 machine cylce maka system akan direset dan register-register internal pada AT89C51 akan berisi nilai
default tertentu.

Disusun oleh
Yuniawati, S.Pd

66

On-Chip Oscillator
AT89C51 memiliki on-chip oscillator yang dapat bekerja jika di-drive
menggunakan
kristal.
Tambahan
kapasitor
diperlukan
untuk
menstabilkan sistem. Nilai kristal yang biasa digunakan pada keluarga
AT89C51 adalah 12 MHz walaupun pada jenis 80C31BH-1 dapat
menggunakan kristal dengan menggunakan frekuensi sampai dengan
16 MHz.
Koneksi Power
AT89C51 beroperasi pada tegangan 5 Volt. Pin Vcc terdapat pada pin
40 sedangkan Vss (GND) terdapat pada pin 20.

Disusun oleh
Yuniawati, S.Pd

67

TES FORMATIF
1.
2.
3.
4.

Gambarkan blok sistem mikroprosessor ?


Jelaskan tentang perkembangan mikroprosessor?
Jelaskan perbedaan antara mikroprosessor dan mikrokontroller?
Jelaskan fungsi dan peran CPU pada mikroprosessor dan
mikrokontroller?
5. Sebutkan beberapa aplikasi peralatan elektronik dengan
otomasi?
6. Jelaskan tentang register yang ada pada mikroprosessor Z80?
7. Jelaskan tentang perbedaan ROM dan RAM?
8. Jelaskan tentang mode 2 pada PPI 8255?
9. Bagaimana proses kerja pengiriman data pada mikroprosessor Z
80?
10. Sebutkan fungsi dari CPU mikroprosessor Z80?

Disusun oleh
Yuniawati, S.Pd

68

BAB III
PEMOGRAMAN SISTEM
MIKROPROSESSOR
Kompetensi Dasar
Mikroprosessor

: 3. Mampu

Memprogram

Sistem

A.

Z 80 SIMULATOR
Cara Aplikasi Mikroprosessor Z 80
File Menu:
Clear Memory, meng-clear isi memori, seluruh lokasi memori diisi
dengan NOP (00H)
Load Program, memasukan program ke dalam memori. Program
harus dalam format file HEX intel atau binary (OBJ) dengan panjang
maksimum 64Kbyte.
Tampilan Z 80 simulator

Gambar 14 Pemograman Z 80 Simulator


Save Memory, menyimpan isi memori dalam bentuk file ke dalam
media pnyimpan.
Simulation Menu:

Disusun oleh
Yuniawati, S.Pd

69

Start (F1), memulai mode simulasi Z-80 dan menjalankan instruksi


mulai dari lokasi sesuai dengan parameter alamat awal program.
Nulai default-nya adalah 0000H dan nilai ini dapat dirubah
menggunakan instruksi change starting address dari menu
option.
Step (F2), intruksi ini hanya tersedia pada mode simulasi step by
step. Instruksi selanjutnya akan dijalankan setelah menekan
tombol F2 pada keyboard.
Stop (F3), menghentikan jalannya program. Setelah program
selesai dijalnkan, simulator akan memberikan informasi mengenai
jumlah total instruksi yang dijalankan, durasi waktu dari simulasi,
dan durasi real time dalam siklus clock.
Rate Menu (memungkinkan pengguna untuk merubah kecepatan
simulasi, dan ini bisa dilakukan selama simulasi berjalan):
Step By Step (langkah demi langkah), kecepatan waktu eksekusi
instruksi terserah pengguna.
Slow (Lambat), dengan waktu interval 1500 ms)
Normal (biasa), dengan waktu interval 250 ms)
Fast (cepat), dengan waktu interval sekitar 50 ms)
Extremely Fast (sangat cepat), waktu interval sangat singkat dan
bergantung pada kecepatan komputer
Ultimate (No Refresh), jendela utama simulator didak disegarkan
sehingga akan mempercepat proses eksekusi program. Hal ini
dilakukan dalam kombinasi dgn Breakpoints Manager untuk
mensimulasikan rutin penunda waktu yang lama secepat mungkin.
Tools Menu:
Memory Editor, untuk menampilkan isi memori. Nilai setiap lokasi
memori dapat dirubah dengan meng-klik-nya, isikan nilai yang baru,
kemudian tekan tombol ENTER. Kotak pengeditan akan secara
otomatis pindah ke lokasi selanjutnya, untuk mengakhiri tekan
tombol ESC.
Disassembler,
untuk
men-disassembler
suatu
program.
Disassembler toidak tergantung pada simulator, dia memiliki
memori sendiri (terpisah), sehingga perlu untuk me-load program
(dalam format Intel HEX atau binary image) ke memori
disassembler terlebih dahulu. Proses disassembler akan dimulai
dengan instruksi yang sesuai pada menu disassembler, dan setelah
selesai pengguna akan diminta memberikan nama file, file disimpan
dalam bentuk file listing (LST).
Peripheral Devices, merupakan tools yang mengamati dan
mengendalikan instruksi IN dan OUT dengan 4 buah peralatan I/O
eksternal yang dapat di setup dan satu terminal yang dapat
digunakan untuk melihat karakter ASCII dari data yang dikirimkan
ke port tersebut.

I/O Ports Editor, menyediakan akses yang lengkap untuk


mengendalikan range port I/O. Nilai pada port I/O tertentu
dapatdirubah dengan meng-kliknya, kotak pengeditan akan secara
otomatis pindah ke lokasi selanjutnya, untuk mengakhiri tekan
tombol ESC.

Disusun oleh
Yuniawati, S.Pd

70

External Modules, untuk menampilkan interface otomatis dengan


lima modul clinet/server eksternal. Untuk itu diperlukan untuk
memberikan class name dari perlatan eksternal pada form
ApplicationName.
Assembler, untuk memulai program assembler. Source file dapat
diedit, di assemble, kemudian di-load ke memori simulator. Ekstensi
default untuk file yang dibuat adalah ASM. Setelah proses assemble
selesai, akan dihasilkan dua file, satu adalah file dengan ekstensi
OBJ (binary image) yang dapat langsung di-load ke memori CPU,
dan yang kedua adalah file dengan ekstensi LST yang merupakan
assembler listing yang dapat digunakan untuk debugger. Jika
diinginkan untuk membuat file HEX, maka program juga akan
menghasilkan file dalam format Intel HEX. Hal ini juga bisa
dilakukan menggunakan assembler eksternal seperti TASM atau
MASM
Breakpoints Manager, untuk memulai program debugger yang
digunakan untuk men-debug dan memonitor jalannya program.
BASIC Compiler, untuk memulai BASIC Compiler.
IEEE 754 Conversion Tool , untuk memulai tool konversi angka
real menjadi reprersentasi floating point IEEE 754 tunggal yang
akan digunakan sebagai tipe single data oleh compiler BASIC.
Simulation Log Viewer, untuk menampilkan seluruh instruksi
yang disimulasikan, register-register Z-80 dan flag status.
Interactive Assembler Editor, untuk menampilkan jendela
assebler interaktif bagi pemula, sehingga tidak perlu mengingat
mnemonik dari intsruksi Z-80.
Options Menu:
Enable Logging, opsi ini meminta simulataor membuat file
LOG.TXT pada folder aplikasi yang menampilkan seluruh instruksi
yang disimulasikan, register-register Z-80 dan flag status.
Change Clock Frequency, bila opsi ini dipilih maka
memungkinkan bagi user untuk mengubah parameter frekwensi
yang digunakan untuk menghitung durasi real-time dari simulasi.
Nilai yang dapat diberikan dalam MHz akan digunakan untuksesi
selanjutnya. Nilai defaultnya adalah 4 MHz.
Change Starting Address, opsi ini memungkinkan user untuk
merubah alamat awal simulasi.Nilai yang dimasukan akan diingat
untuk digunakan pada sesi selanjutnya. Nilai defaultnya adalah
0000H.
Enable Unofficial Instructions, bila opsi ini dipilih maka akan
mengaktifkan dokumentasi tidak resmi (documented unofficial) dari
instruksi Z80
Prompt For Value Before IN Instruction, bila opsi ini dipilih
maka program akan selalu meminta user memasukan byte pada
setiap port secara manual. Jika tidak dipilih, maka nilai akan diambil
dari jendela Peripheral Devices or I/O Ports Editor
Enable IN/OUT Instructions Logging, bila opsi ini dipilih akan
setiap instruksi IN dan OUT akan menghasilkan log file dengan
nama IO.TXT pada folder aplikasi.

Disusun oleh
Yuniawati, S.Pd

71

Show Confirmation Boxes, bila opsi ini dipilih akan menampilkan


box konfirmasi hasil eksekusi dan membutuhkan respon dari user
untuk menutup jendela tersebut.
Change Registers Arrangement, opsi ini untuk memilih tata
letak panel register pada jendela utama simulator. Ada dua pilihan
tata letak.
Use Simple Editor in Basic Compiler and Assembler, bila opsi
ini dipilih akan menampilkan jendela editor sederhana yang akan
digunakan dalam compiler BASIC dan assembler sehingga lebih
nyaman digunakan.
Change Color Theme, opsi ini akan menampilkan kota dialog
dengan beberapa pilihan skema warna yang tersedia.

NO
JOBSHEET
7

JUDUL
PENGOPERASIAN MPF-I

MEMPROGRAM SISTEM MIKROPROSESSOR


ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat mengoperasikan MPF-I


II. Teori Singkat
MPF-I Z-80 adalah salah satu trainer set yang ada pada
mikroprosesor. Spesifikasi MPF-I dapat ditinjau dari hardware dan
software. Untuk memulai alamat suatu program dimulai dari 1800
1FFFH.
III.

Alat dan Bahan


Trainer set MPF-I Z80
Adaptor/catu daya

IV. Gambar Skema/Rangkaian


Terlampir
V.

Langkah Kerja
Setelah power di-on-kan maka pada display akan terlihat P F-I
1.
Tekan ADDR
2.
Tekan 1800H karena RAM mulai address pada lokasi 1800H,
angka akan muncul pada address field (empat digit dari kiri)
atau tekan key PC.
Format display untuk address

1
3.
4.

0 0

Address field data field


Untuk mengisi data tekan key DATA 3E
Untuk menaikkan address selanjutnya tekan +

Disusun oleh
Yuniawati, S.Pd

72

5.

Masukan data yang lain sama dengan contoh diatas sampai


program selesai.
TABEL DATA
Alama
Objek
Mnemonik
Keterangan
t
Kode
1800
3E 20
LD A, 20
Muati register A dengan 20H
1802
06 2F
LD B, 2F
Muati register B dengan 2FH
1804
0E 37
LD C, 37
Muati register C dengan 37H
1806
16 34
LD D, 34
Muati register D dengan 34H
1808
1E 4C
LD E, 4C
Muati register E dengan 4CH
181A
80
ADD A, B
Tambahkan isi register B dengan
register A disimpan di A
181B
76
Halt
Selesai

6. Setelah program selesai dimasukkan sebaiknya sebelum


dijalankan kita periksa dulu apakah sudah benar data yang
kita masukkan. Caranya tekan ADDR 1800 atau PC (khusus
alamat awal). Kita lihat pada data field apakah isinya sesuai
dengan program kita. Pemeriksaan selanjutnya cukup kita
tekan key + dan lihat isinya sampai program selesai.
7. Kemudian tinggal pelaksanaan program, ada dua cara untuk
memulai pelaksanaan program pada address awal 1800H :
Tekan RS, PC, lalu GO atau Tekan RS ADDR 1800 lalu GO
Untuk melihat isi dari suatu register tekan tombol moni, reg
VI. Pertanyaan dan Tugas
1. Berapa isi reg A = ............
reg F =................
reg B= ............
reg C = ...............
reg D= .............
reg E = ...............
2.
Ganti isi data dari register tersebut apakah sama dengan hasil
percobaaan?
VII. Kesimpulan
Buat Kesimpulan

Disusun oleh
Yuniawati, S.Pd

73

NO
JOBSHEET
8

JUDUL
PENGOPERASIAN Z 80
SIMULATOR

MEMPROGRAM SISTEM MIKROPROSESSOR


ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat mengoperasikan Z 80 Simulator


II. Teori Singkat
Z80 adalah sebuah mikroprosesor yang didesain dan dijual oleh
Zilog mulai Juli 1976. Mikroprosesor ini digunakan secara luas pada
komputer desktop maupun komputer embedded. Mikroprosesor ini adalah
salah satu CPU yang paling populer sepanjang masa. Walaupun Zilog
mencoba membuat versi 16-bit (Z800 / Z280) dan 32-bit (Z380) dari
arsitektur Z-80 yang 8/16-bit, namun chip pengembangan tersebut tidak
pernah sukses. Zilog juga berusaha keras menembus pasar workstation
dengan Z8000 dan Z80000 32-bit (keduanya secara teknis tidak terkait
dengan Z80). Saat ini, Zilog berkonsentrasi pada pasar embedded yang
terus berkembang, dan keluarga CPU terbarunya, eZ80 8/16/24-bit,
sebuah Z80 yang cepat dengan jangkauan pengalamatan 16 MB, berhasil
dengan baik.
Z 80 simulator adalah software untuk mensimulasi mikroprosessor Z
80, yang hampir mirip dengan trainer MPF I
IV.

Alat dan Bahan


PC
CD software Z 80 simulator
Adaptor/catu daya

IV. Gambar Skema/Rangkaian


Terlampir

Disusun oleh
Yuniawati, S.Pd

74

W.
1.
2.
Bari
s
001
002
003
004
005

Langkah Kerja
Buka program Z80 simulator.
Pada menu utama Z80 simulator, buka di Tools,
Assembler. Mulai pada baris 001 ketik program di bawah ini
dengan menggunakan tab. Masukkan program dibawah ini :
Label
Alamat Kode Program Mnemo
Keterangan
(Hex)
Op-Code (Hex)
nik
LD A, 20
LD B, 2F
LD C, 37
LD D, 34
LD E, 4C

3.

Pada Sub Menu Assembler, buka tools pilih Assembler.


Lihat apa ada error, jika ada perbaiki. Jika succes, simpan program
tersebut.
4.
Untuk melihatnya buka sub menu Dissambler. Load
Program pilih nama filenya akan terlihat hasilnya dengan buka
tools, diassembler
5.
Untuk menjalankan program buka kembali di menu utama
Z80 simulator.Buka File, Load Program pilih filenya.Buka
Simulation pilih start. Buka Rate, step by step tekan F2.
6.
Lihat hasil pada menu utama Z80 simulator pada registernya,
Dan untuk melihat isi alamat di memori editor
VI. Pertanyaan dan Tugas
1. Berapa isi reg A = ............
reg F =................
reg B= ............
reg C = ...............
reg D= .............
reg E = ...............
VII. Kesimpulan
Buat Kesimpulan

Disusun oleh
Yuniawati, S.Pd

75

B.

SISTEM PENGALAMATAN
Kejelasan yang sistimatik tentang cara pengalamatan sangat
penting pada pengolahan data dalam jenis prosesor yang baru, sebab
program yang disusun tanpa penggunaan pengalamatan yang pasti,
maka
program
tersebut
menjadi
kurang
efektif
dalam
penganalisaannya. Semakin panjang kode operasi sebuah perintah,
maka dapat juga dikombinasikan banyak cara pengalamatan. Ada 4
cara yaitu :
1)
Immediate (Segera)
Kode mesin mengandung konstanta untuk segera/langsung diakses.
Kode operasi hanya dapat mengandung satu petunjuk tentang
panjang dari operan yang mengikutinya. Selain itu bagian alamat
masih harus mengandung sebuah keterangan tentang tujuan
dimana konstanta harus dihubungkan kepadanya.
Contoh :
LD HL, 1234H
ADD A, 12H
LD (HL), 12H
JP, 0916H
2)
Direct (Langsung)
Disini kode mesin mengandung sebuah atau lebih alamat-alamat
yang kemudian isi dari alamat-alamat ini akan diakses lebih lanjut.
Panjang alamat-alamat ini berbeda menurut keadaan, apakah itu
mengenai sebuah register, alamat penyimpan atau alamat
masukan/keluaran, perintah dapat mengandung sebuah petunjuk,
apakah bagian pertama diberikan sebagai alamat tujuan atau
sumber.
Contoh :
LD A, (1234)
LD E, C
OUT (20H), A
JP, (IX)
3)
Indirect (Tidak langsung)
Kode mesin mengandung sebuah petunjuk, dimana cara untuk
mendapatkan alamat dari operan yang akan diakses. Petunjuk

Disusun oleh
Yuniawati, S.Pd

76

dapat terjadi pada sebuah Register CPU atau pada sebuah lokasi
penyimpan dan disana alamat efektif akan didapatkan untuk semua
pengalamatan secara tidak langsung dengan Register, memberikan
kode mesin yang pendek.
Contoh :
PUSH dan POP menaikkan atau menurunkan Register alamat yang
dipkai secara otomatis dan terjadi apakah sebelum atau sesudah
pelaksanaan perintahnya.
Pengalamatan tidak langsung dibagi menjadi :
Pengalamatan tidak langsung dengan register

Auto Increment : Pre dan Post (POP)

Auto decrement : Pre (PUSH) dam Post


Pengalamatan tidak langsung dengan alamat penyimpan

Auto Increment

Auto Decrement
4)

Terindeks

C.

Pembentukan
alamat
melalui
penyusunan
Disini alamat efektif disusun dari beberapa bagian yang mana
bagian-bagian ini dapat berasal dari register-register CPU,
Regsiter masukan/keluaran atau dari lokasi penyimpan
Contoh : RST 5
Pembentukan alamat
melalui
pennambahan
Disini alamat efektif disusun dari beberapa bagian yang mana
bagian-bagian dapat berasal dari Register-register CPU, Register
register masukan/keluaran dari lokasi penyimpan
Contoh :
LD E, (IX+12)
JR 12H
INSTRUKSI TRANSFER DATA

Komputer merupakan suatu mesin yang menerima masukan berupa


instruksi-instruksi, dengan instruksi tersebut akan melakukan fungsi
tertentu. Kumpulan instruksi-instruksi yang lengkap dan membentuk fu
ngsi tertentu disebut program. Himpunan instruksi (instruction set) adalah
kumpulan instruksi yang dikenal (dapat diartikan, diterjemahkan dan
dieksekusi) oleh suatu komputer.
Jenis-jenis instruksi Z80
Data tranfer 8 bit
Register
A
B
C
D
E
H

Disusun oleh
Yuniawati, S.Pd

Kode

1
0
0
0
0
1

1
0
0
1
1
0

1
0
1
0
1
0

77

Format instruksi

Op Code

Operand tujuan
,

1. Register

register

LD R, R

Isi register R dengan isi dari register R


R

Contoh LD A, B

2. Register

Isi reg B dengan isi reg A 01000111=47H


memori

Isi reg A dengan isi reg B 01111000=78H

LD B, A

Operand asal

LD R, (HL) Isi reg R dengan nilai yang ada


dalam memori (dimana address memori
terdapat dalam register H dan L)
.
1
1
0

Contoh LD C, (HL) = 01001110 =46

LD R, (IX+d) Isi reg R dengan nilai yang ada


pada nilai di IX ditambah d
Contoh :
LD B, (IX+19) misal IX = 25AF H maka reg B akan terisi nilai
yang terkandung di meori 25AF+19 = 25CB H

LD R,(IY+d) Isi reg R dengan nilai yang ada pada nilai di IY


ditambah d
3. Register
data
LD R, N

Isi register R dengan nilai N(binary 8 digit)


R

0
N

N
.

0000 0000 (00H) sampai dengan 1111 1111 (FFH)


atau 0 255 desimal

LD A, 40H = 00111110 =3E 40


LD E, 0FH = 00011110 = 1E 0F
4. Memori

LD (HL), R

register
Menyalin isi register
beralamat HL

ke

memori

yang

LD (HL), B= 01110000 = 70

Disusun oleh
Yuniawati, S.Pd

78

LD (IX+d), R Menyalin isi register


beralamat IX+d

ke

memori

yang

ke

memori

yang

LD (IX+4H), A = DD 77 04
LD (IY+d), RMenyalin isi register
beralamat IY+d

LD (IY+60), A = FF 77 60
5. Memori

memori

Transfer data dari memori ke akumulator

LD A,(BC) OA
Transfer data dari akumulator ke memori

LD (BC), A

JOBSHEET
9

02

JUDUL
INSTRUKSI TRANSFER DATA Z80
DENGAN Z80 SIMULATOR

MEMPROGRAM SISTEM MIKROPROSESSOR


ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus transfer


data yang diberikan dengan bahasa Z80 assembly

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
Komputer merupakan suatu mesin yang menerima masukan
berupa instruksi-instruksi, dengan instruksi tersebut akan melakukan
fungsi tertentu. Kumpulan instruksi-instruksi yang lengkap dan
membentuk fungsi tertentu disebut program. Himpunan instruksi
(instruction set) adalah kumpulan instruksi yang dikenal (dapat
diartikan, diterjemahkan dan dieksekusi) oleh suatu komputer.
Format instruksi

Op Code

Operand tujuan

Operand asal
,

Tabel instruksi dapat dilihat dalam user manual MPF-I


Data tranfer 8 bit
Register
A
Kode
1
1
1

Disusun oleh
Yuniawati, S.Pd

79

B
C
D
E
H
L

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

Format instruksi

Op Code

,
Operand tujuan

1. Register

register

2. Register

memori

3. Register

data

4. Memori

register

5. Memori

memori

6. Memori

data

III.

Operand asal

Alat dan Bahan


Komputer/PC
1set
CD program Z80 simulator

IV. Gambar Skema/Rangkaian


Terlampir
V. Langkah Kerja
1.
Buka program Z80 simulator.
2.
Pada menu utama Z80 simulator, buka di Tools, Assembler.
Mulai pada baris 001 ketik program di bawah ini dengan
menggunakan tab. Masukkan program dibawah ini :
Bari
Label
Alamat Kode Program
Mnemonik
Keterangan
s
(Hex)
Op-Code (Hex)
001
LD A, 05H
002
LD B, 06H
003
LD C, 07H
004
LD D,08H
005
LD E, B
006
LD H, C
007
LD L, D
3.
Pada Sub Menu Assembler, buka tools pilih Assembler. Lihat
apa ada error, jika ada perbaiki. Jika succes, simpan program
tersebut.
4.
Untuk melihatnya buka sub menu Dissambler. Load
Program pilih nama filenya akan terlihat hasilnya dengan buka
tools, diassembler
5.
Untuk menjalankan program buka kembali di menu utama Z80
simulator.Buka File, Load Program pilih filenya.Buka Simulation
pilih start. Buka Rate, step by step tekan F2.

Disusun oleh
Yuniawati, S.Pd

80

6.

Lihat hasil pada menu utama Z80 simulator pada registernya,


Dan untuk melihat isi alamat di memori editor

VI. Hasil Pengujian dan Pengamatan


Tulis Hasil Pengamatan diatas dan Pertanyaan pada register Z80
simulator
VII. Pertanyaan dan Tugas
Selesaikan masalah-masalah berikut ini!!Isi tabel
Masalah 1
Mengisi register-register A=26H, B=28H, C=39H. Menyalin isi register B
dan C ke register D dan E.
a. Algoritma
Mengisi register A =
Mengisi register B =
Mengisi register C =
Mengisi register D =
Menyalin isi register B ke D=
Menyalin isi register C ke E=

b. Program
Baris
Label

Alama
t
(Hex)

Kode
Program
Op-Code
(Hex)

Mnemonik

Keterangan

Masalah 2
Menyalin isi register D dan E ke alamat penyimpan data (RAM) alamat
1A00H dan 1A01H.
Register D = 0E H
Register E = 54 H
Penyelesaian :
a. Algoritma
Mengisi Register D dengan data 0EH =
Mengisi Register E dengan data 54H =
Mengisi Register HL dengan data 1A00H =
Memindahkan D ke isi alamat 1A00H=
Mengisi Register HL dengan data 1A01H =
Memindahkan E ke isi alamat 1A01H=
b. Program
Baris
Label
Alama
Kode
Mnemonik
Keterangan
t
Program
(Hex)
Op-Code
(Hex)

Disusun oleh
Yuniawati, S.Pd

81

c. Hasil
Register

B=..........................C=.........................
Alamat 1A00 H=..........................
Alamat 1A01 H=...........................

Masalah 3
Mengisi lokasi penyimpan data (RAM) yang alamatnya 1910 dengan
data 56H dan 1911H dengan data 78H. Menyalin isi lokasi RAM alamat
1910H dan 1911H ke register B dan C.
Program dimulai pada alamat 1C00H
Penyelesaian :
a. Algoritma
b. Program
Baris
Label
Alamat Kode Program
Mnemonik
Keterangan
(Hex)
Op-Code (Hex)

c. Hasil
Alamat RAM 1910 H=..........................
Alamat RAM 1911 H=...........................
Register D=..........................
E=........................................
Masalah 4
Mengisi alamat penyimpan data RAM 1B00H dengan data AAH.
Menyalin isi penyimpan
data RAM alamat 1B00H ke alamat 1BFFH melalui akumulator.
Program dimulai pada alamat 1C00H
Penyelesaian :
a. ALgoritma
b. Program
Label
Alamat
Kode Program
Mnemonik
Keterangan
(Hex)
Op-Code (Hex)

c. Hasil
Alamat RAM 1B00 H=..........................
Alamat RAM 1BFF H=...........................
Isi akumulator = ........................................
Masalah 5
Mengisi lokasi RAM alamat 1E05H, 1E06H, 1E07H, masing-masing
dengan data 01H, 02H, dan 03H. Pengisian diatas memepergunakan
pengalamatan terindeks dengan alamat offset 1E00H.
Program dimulai pada alamat 1D00H

Disusun oleh
Yuniawati, S.Pd

82

Penyelesaian :
a. Algoritma
b. Program
Label
Alamat
(Hex)

Kode Program
Op-Code (Hex)

Mnemonik

Keterangan

c. Hasil
Alamat RAM 1E05 H=..........................
Alamat RAM 1E06 H=...........................
Alamat RAM 1E07 H= ..........................
VIII. Kesimpulan
Buat kesimpulan

D.

INSTRUKSI ARITMATIKA
Operasi ini mempunyai form seperti di bawah ini :
1.
Register dengan register CPU A, B, C, D, E, H, L

ADD A,r
Tambahkan isi r dengan A lalu simpan di A (A=A+ r )
1
0
0
0
0
.
.
.

ADC A,r
Tambahkan isi r dengan A lalu simpan di A (A=A+ r+ C )
1
0
0
0
1
.
.
.

SUB r
Tambahkan isi r dengan A lalu simpan di A (A=A- r )
1
0
0
1
0
.
.
.

SBC A,r
Tambahkan isi r dengan A lalu simpan di A (A=A- r - C )
1
0
0
1
1
.
.
.
2.
Konstanta 8 bit

ADD A, n (A = A + n)
1
1
0
0
0
1
1
0

SUB n
(A =A n)
1
1
0
1
0
1
1
0

ADC A, n ( A = A + n + C)
1
1
0
0
1
1
1
0

SBC A, n (A = A n C)

Disusun oleh
Yuniawati, S.Pd

83

1
1
0
1
1
1
3.
Register tidak langsung
ADD A, (HL)
SUB (HL)
ADC A, (HL)
SBC A, (HL)
4.
Indeks Offset
ADD A, (IX+e)
ADD A, (IY+e)
SUB (IX + e)
SUB (IY+e)
ADC A, (IX + e)
ADC A, (IY+e)
SBC A, (IX + e)
SBC A, (IY+e)

Operasi Instruksi Aritmatika 16 Bit

ADD HL, rr (HL=HL +rr)


rr = BC (00) , DE (01) , HL (10), SP (11), IX (11), IY (11)
0
0
.
.
1
0
0
1
ADD IX, rr (IX = IX + rr)
DD
0

ADD IY, rr (IY = IY + rr )


FD
0
0
.
.
1
0
0
1
Untuk instruksi aritmatika diatas bit flag H, N dan C terpengaruh.
Juga pada aritmatika dengan operan 16 bit terdapat perintah yang
melibatkan bit carry dalam perhitungan

ADC HL, rr ( HL = HL + rr +C)


ED
0

SBC HL, rr (HL = HL rr C)


Untuk instruksi artmatika diatas semua bit terpengaruh

Disusun oleh
Yuniawati, S.Pd

84

NO
JOBSHEET
10

JUDUL
INSTRUKSI ARITMATIKA
DENGAN Z80 SIMULATOR

MEMPROGRAM SISTEM MIKROPROSESSOR


ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus aritmatika


yang diberikan dengan bahasa Z80 assembly

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
Operasi Instruksi Aritmatika 8 Bit
Operasi ini mempunyai form seperti di bawah ini :
1.
Register dengan register CPU A, B, C, D, E, H,
L
ADD A,r
ADC A,r
SUB r
SBC A,r
2.
Konstanta 8 bit

ADD A, n (A = A + n)

SUB n
(A =A n)

ADC A, n ( A = A + n + C)

SBC A, n (A = A n C)
3.
Register tidak langsung
ADD A, (HL)

Disusun oleh
Yuniawati, S.Pd

85

SUB (HL)
ADC A, (HL)
SBC A, (HL)
4.
Indeks Offset
ADD A, (IX+e)
SUB (IX + e)
ADC A, (IX + e)
SBC A, (IX + e)

ADD A, (IY+e)
SUB (IY+e)
ADC A, (IY+e)
SBC A, (IY+e)

III. Alat dan Bahan


1) Komputer
2) CD program Z80 simulator

1 set
1 buah

IV. Gambar Skema Rangkaian


Terlampir
V. Langkah Kerja
1.
Buka program Z80 simulator.
2.
Pada menu utama Z80 simulator, buka di
Tools, Assembler. Mulai pada baris 001 ketik program di bawah ini
dengan menggunakan tab. Masukkan program dibawah ini :
Bari
s
001
002
003
004
005

Label

Alamat
(Hex)

Kode Program
Op-Code (Hex)

Mnemonik

Keterangan

LD B, 09H
LD A,B
LD E, 2AH
ADD A,E
LD C,A

3.

Pada Sub Menu Assembler, buka tools pilih


assembler. Lihat apa ada error, jika ada perbaiki. Jika succes,
simpan program tersebut.
4.
Untuk melihatnya buka sub menu Dissambler.
Load Program pilih nama filenya akan terlihat hasilnya dengan
buka tools, diassembler
5.
Untuk menjalankan program buka kembali di
menu utama Z80 simulator.Buka File, Load Program pilih
filenya.Buka Simulation pilih start. Buka Rate, step by step
tekan F2.
6.
Lihat hasil pada menu utama Z80 simulator
pada registernya. Dan untuk melihat isi alamat di memori editor
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
Masalah 1
Mengisi register C dengan data 37H.
Mengisi register B dengan data 28H.
Mengisi register D dengan data 1CH

Disusun oleh
Yuniawati, S.Pd

86

Tambahkan register C dengan B simpan di alamat 100CH


Tambahkan register C dengan D simpan di alamat 100EH
Penyelesaian :
a. Algoritma
Mengisi Register C dengan data 37H =
Mengisi Register B dengan data 28H =
Mengisi Register D dengan data 1CH =
Tambahkan register C dengan B=
Mengisi register HL dengan data 100CH=
Hasil penambahan di akumulator pindahkan ke simpan di alamat
100CH=
Tambahkan register C dengan D=
Mengisi register HL dengan data 100EH=
Hasil penambahan di akumulator pindahkan ke simpan di alamat
100EH=
b. Program
Baris
Label
Alama
Kode
Mnemonik
Keterangan
t
Program
(Hex)
Op-Code
(Hex)

c. Hasil
Register
A=.................C=...................
B=.........................
D=..................
Alamat 100C H=..........................
Alamat 100E H=...........................
Masalah2
Sama seperti masalah 1 tetapi kurangkan
Masalah 3
Mengisi data pada alamat 1503H dengan data 4AH.
Mengisi data pada alamat 1705H dengan data 2CH.
Mengisi data pada alamat 171BH dengan data 1EH
Tambahkan data pada alamat 1503 dengan data pada alamat 1705
simpan di register C
Tambahkan data pada alamat 1705H dengan data pada alamat
171BH simpan di alamat 140EH
Penyelesaian :
a. Algoritma
Mengisi register HL dengan data 1503H=
Mengisi data pada alamat 1503H dengan data 4AH.=
Mengisi register HL dengan data 1705H=
Mengisi data pada alamat 1705H dengan data 2CH. =
Mengsi register HL dengan data 171BH=
Mengisi data pada alamat 171BH dengan data 1EH=
Tambahkan data pada alamat 1503 dengan data pada alamat 1705
=
Hasil penjumlahan di akumulator simpan di register C=

Disusun oleh
Yuniawati, S.Pd

87

Tambahkan data pada alamat 1705H dengan data pada alamat


171BH
Mengisi register HL dengan 140EH=
Hasil penjumlahan di akumulator simpan di alamat 140EH=
b. Program
Baris
Label
Alama
Kode
Mnemonik
Keterangan
t
Program
(Hex)
Op-Code
(Hex)

c. Hasil
Register

A=..........................C=.........................
Alamat 1503 H=..........................
Alamat 1705 H=...........................
Alamat 171B H=...........................

Masalah4
Sama seperti masalah 3 tetapi kurangkan
VIII. Kesimpulan
Buat kesimpulan

E.

INSTRUKSI LOGIKA
Operasi ini mempunyai form seperti di bawah ini :
1. Logika AND
Register
AND AA7
AND BA0
AND H
A4
Bilangan n (00 FF)
AND n EG
n
Memori (beralamat HL)
AND HL
A6
Memori beralamat indeks register)
AND (Ix+d)
DD
A6
d
AND (Iy+d)
FD
A6
d
2. Logika OR
Register
OR A
B7
OR B
B0
OR H
B4
Bilangan n (00 FF)
OR n
FG
n
Memori (beralamat HL)

Disusun oleh
Yuniawati, S.Pd

88

OR HL
B6
Memori beralamat indeks
OR (Ix+d)
DD
OR (Iy+d)
FD
3. Logika XOR
Register
XOR A AF
XOR B
A8
XOR HAC
Bilangan n (00 FF)
XOR n
EE
n
Memori (beralamat HL)
XOR HL
AE
Memori beralamat indeks
XOR (Ix+d)
DD
XOR (Iy+d)
FD

NO
JOBSHEET
11

register)
B6
d
B6
d

register)
AE
d
AE
d

JUDUL
INSTRUKSI LOGIKA
DENGAN Z80 SIMULATOR

MEMPROGRAM SISTEM MIKROPROSESSOR


ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah kasus logika yang


diberikan dengan bahasa Z80 assembly

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
Operasi Instruksi Logika
Operasi ini mempunyai form seperti di bawah ini :
1. Logika AND
Register
AND AA7
AND BA0
AND H
A4
Bilangan n (00 FF)
AND n EG
n
Memori (beralamat HL)

Disusun oleh
Yuniawati, S.Pd

89

AND HL
A6
Memori beralamat indeks
AND (Ix+d)
DD
AND (Iy+d)
FD
2. Logika OR
Register
OR A
B7
OR B
B0
OR H
B4
Bilangan n (00 FF)
OR n
FG
n
Memori (beralamat HL)
OR HL
B6
Memori beralamat indeks
OR (Ix+d)
DD
OR (Iy+d)
FD
3. Logika XOR
Register
XOR A AF
XOR B
A8
XOR HAC
Bilangan n (00 FF)
XOR n
EE
n
Memori (beralamat HL)
XOR HL
AE
Memori beralamat indeks
XOR (Ix+d)
DD
XOR (Iy+d)
FD

III. Alat dan Bahan


1) Komputer
2) CD program Z80 simulator

register)
A6
d
A6
d

register)
B6
d
B6
d

register)
AE
d
AE
d
1 set
1 buah

IV. Gambar Skema Rangkaian


Terlampir
V. Langkah Kerja
1.
Buka program Z80 simulator.
2.
Pada menu utama Z80 simulator, buka di Tools, Assembler.
Mulai pada baris 001 ketik program di bawah ini dengan
menggunakan tab. Masukkan program dibawah ini :
Bari
Label
Alamat Kode Program
Mnemonik
Keterangan
s
(Hex)
Op-Code (Hex)
001
LD C, 3AH
002
LD A,C
003
LD D, 5BH
004
AND D
005
OR D
XOR D

Disusun oleh
Yuniawati, S.Pd

90

3.

Pada Sub Menu Assembler, buka tools pilih assembler. Lihat


apa ada error, jika ada perbaiki. Jika succes, simpan program
tersebut.
4.
Untuk melihatnya buka sub menu Dissambler. Load Program
pilih nama filenya akan terlihat hasilnya dengan buka tools,
diassembler
5.
Untuk menjalankan program buka kembali di menu utama Z80
simulator.Buka File, Load Program pilih filenya.Buka Simulation
pilih start. Buka Rate, step by step tekan F2.
6.
Lihat hasil pada menu utama Z80 simulator pada registernya.
Dan untuk melihat isi alamat di memori editor
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
Masalah 1
Mengisi register C dengan data 53H.
Mengisi register B dengan data 26H.
Mengisi register D dengan data 1AH
OR-kan register C dengan B simpan di register E
XOR-kan register C dengan D simpan di alamat 1405H
Penyelesaian :
a. Algoritma
Mengisi Register C dengan data 53H =
Mengisi Register B dengan data 28H =
Mengisi Register D dengan data 1AH =
OR-kan register C dengan B=
Hasil OR di akumulator register E=
XOR-kan register C dengan D=
Mengisi register HL dengan data 1405H=
Hasil XOR di akumulator pindahkan ke simpan di alamat 1405H=
b. Program
Baris
Label
Alama
Kode
Mnemonik
t
Program
(Hex)
Op-Code
(Hex)

Keterangan

c. Hasil
Register
A=.................C=................
B=..................
D=................ E=.........
Alamat 1405 H=..........................
Masalah2
Sama seperti masalah 1 tetapi AND-kan register B dan D simpan di
alamat 1300CH. OR-kan C dengan D simpan di register E.
Masalah 3

Disusun oleh
Yuniawati, S.Pd

91

Mengisi data pada alamat 1803H dengan data 35H.


Mengisi data pada alamat 1805H dengan data 4CH.
Mengisi data pada alamat 1711H dengan data 6DH
AND-kan data pada alamat 1803H dengan data pada alamat 1805
simpan di register D
XOR-kan data pada alamat 1711H dengan data pada alamat 1805H
simpan di alamat 190EH
Penyelesaian :
a. Algoritma
Mengisi register HL dengan data 1803H=
Mengisi data pada alamat 1803H dengan data 4AH.=
Mengisi register HL dengan data 1805H=
Mengisi data pada alamat 1805H dengan data 4CH. =
Mengsi register HL dengan data 1711H=
Mengisi data pada alamat 1711H dengan data 6DH=
AND-kan data pada alamat 1803 dengan data pada alamat 1805 =
Hasil penjumlahan di akumulator simpan di register D=
XOR-kan data pada alamat 1711H dengan data pada alamat
1805H=
Mengisi register HL dengan 190EH=
Hasil penjumlahan di akumulator simpan di alamat 190EH=
b. Program
Baris
Label
Alama
Kode
Mnemonik
Keterangan
t
Program
(Hex)
Op-Code
(Hex)

c. Hasil
Register

A=..........................D=.........................
Alamat 1803 H=..........................
Alamat 1805 H=...........................
Alamat 1711 H=...........................
Alamat 190EH=...........................

Masalah4
Sama seperti masalah 3 tetapi AND-kan data pada alamat 1803
dengan data pada alamat 1711H simpan di alamat 160DH. OR-kan
data pada alamat 1711H dengandata pada alamat 1805H simpan di
register E
VIII. Kesimpulan
Buat kesimpulan

Disusun oleh
Yuniawati, S.Pd

92

F.

INSTRUKSI LOMPAT, PANGGIL, KEMBALI, INPUT-OUTPUT,


AND KENDALI CPU ( JUMP, CALL, RETURN INSTRUCTION, INPUT
OUTPUT INSTRUCTION AND CONTROL INSTRUCTION)
1.

Instruksi lompat (Jump Instruction)


Digunakan apabila melompat dari intruksi yang satu ke instruksi
yang lain dalam suatu program
Contoh
JP 1200H
Lompat ke alamat 1200H
JPNZ 1802H Lompat jika Z belum nol ke alamat 1802H
2.
Instruksi panggil ( Call Instruction)
Digunakan untuk memanggil suatu sub rutin program
Contoh
CALL 0010H Panggil/menuju sub rutin di alamat 0010H
3.
Instruksi kembali/balik (Return Instruction)
Digunakan sebagai penutup program dari sub rutin. Intruksi ini
menyebabkan pelaksanaan program kembali ke program utama
Contoh
RET
Kembali ke rutin program
4.
Instruksi masuk/keluar (Input-Output Instruction)
Digunakan untuk proses pertukaran data yang ada pada peralatan
luar dengan isi CPU atau isi memori melalui saluran data.
Contoh
OUT(nn), A Keluar data dari A ke port dengan alamat
nn

Disusun oleh
Yuniawati, S.Pd

93

5.

Instruksi dasar kendali CPU ( Control Instruction)


Digunakan untuk mengemudikan CPU sehingga pelaksanaan
instruksi yang berada dalam kelompok instruksi ini tidak
mempengaruhi isi dari register serbaguna A dan F
Contoh
NOP
Tidak melakukan operasi apapun
HALT
Berhenti sampai suatu sinyal diterima

Program Looping/perulangan
LD A,93H
OUT (10H),A
CALL DELAY
LD A,56H
OUT (20H),A
JP 0003H
RST 38H
DELAY:
LD B,00H
LOOP1:
LD C,00H
LOOP2:
DEC C
JP NZ,LOOP2
DEC B
JP NZ,LOOP1
NOP

NO
JOBSHEET
12

JUDUL
INSTRUKSI LOOPING DENGAN
Z80 SIMULATOR

MEMPROGRAM SISTEM MIKROPROSESSOR


ELEKTRONIKA INDUSTRI SMKN 29

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat menyelesaikan masalah-masalah looping yang


diberikan dengan bahasa Z80 assembly

Siswa dapat membuat program dari masalah-masalah yang


diberikan
II. Teori Singkat
1.
Instruksi lompat (Jump Instruction)
Digunakan apabila melompat dari intruksi yang satu ke instruksi
yang lain dalam suatu program
Contoh
JP 1200H
Lompat ke alamat 1200H
JPNZ 1802H Lompat jika Z belum nol ke alamat 1802H
2.
Instruksi panggil ( Call Instruction)
Digunakan untuk memanggil suatu sub rutin program
Contoh
CALL 0010H Panggil/menuju sub rutin di alamat 0010H
3.
Instruksi kembali/balik (Return Instruction)

Disusun oleh
Yuniawati, S.Pd

94

Digunakan sebagai penutup program dari sub rutin. Intruksi ini


menyebabkan pelaksanaan program kembali ke program utama
Contoh
RET
Kembali ke rutin program
4.
Instruksi masuk/keluar (Input-Output Instruction)
Digunakan untuk proses pertukaran data yang ada pada peralatan
luar dengan isi CPU atau isi memori melalui saluran data.
Contoh
OUT(nn), A Keluar data dari A ke port dengan alamat
nn
5.
Instruksi dasar kendali CPU ( Control Instruction)
Digunakan untuk mengemudikan CPU sehingga pelaksanaan
instruksi yang berada dalam kelompok instruksi ini tidak
mempengaruhi isi dari register serbaguna A dan F
Contoh
NOP
Tidak melakukan operasi apapun
HALT
Berhenti sampai suatu sinyal diterima
III. Alat dan Bahan
1) Komputer
2) CD program Z80 simulator

1 set
1 buah

IV. Gambar Skema Rangkaian


Terlampir
V. Langkah Kerja
1.
Buka program Z80 simulator.
2.
Pada menu utama Z80 simulator, buka di Tools, Assembler.
Mulai pada baris 001 ketik program di bawah ini dengan
menggunakan tab. Masukkan program dibawah ini :
Bari
Label
Alamat Kode Program
Mnemonik
Keterangan
s
(Hex)
Op-Code (Hex)
001
LD A,93H
002
OUT
003
(10H),A
004
CALL
005
DELAY
006
LD A,56H
007
OUT
008
(20H),A
009
JP 0003H
010
RST 38H
011
DELAY:
LD
012
B,00H
013
LOOP1:LD C,00H
014
LOOP2:DEC C
JP
NZ,LOOP2
DEC B
JP
NZ,LOOP1
NOP

Disusun oleh
Yuniawati, S.Pd

95

3. Pada Sub Menu Assembler, buka tools pilih assembler. Lihat


apa ada error, jika ada perbaiki. Jika succes, simpan program
tersebut.
4. Untuk melihatnya buka sub menu Dissambler. Load Program
pilih nama filenya akan terlihat hasilnya dengan buka tools,
diassembler
5. Untuk menjalankan program buka kembali di menu utama Z80
simulator.Buka File, Load Program pilih filenya.Buka
Simulation pilih start. Buka Rate, step by step tekan F2.
6. Lihat hasil pada menu utama Z80 simulator pada registernya.
Dan untuk melihat isi alamat di memori editor
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
a. Hasil
Register
A=..........................
B=.........................
C=..........................
VIII. Kesimpulan
Buat kesimpulan

G.

IMPLEMENTASI
MIKROPROSESSOR
OTOMASI ELEKTRONIK

NO
JOBSHEET
13

JUDUL
MENYALAKAN LAMPU
LED/TRAFFIC LIGHT DENGAN
Z80 SIMULATOR
MEMPROGRAM SISTEM MIKROPROSESSOR
ELEKTRONIKA INDUSTRI SMKN 29

DALAM

SISTEM

PARAF DAN NILAI

Tanggal :

I. Tujuan Praktek

Siswa dapat membuat program menyalakan lampu LED/Traffic


Light dengan Z80 simulator
II. Teori Singkat
Mikroprosesor merupakan suatu komponen LSI (Large Scale
Integration) dengan kepadatan rangkaian yang tinggi, yang mampu

Disusun oleh
Yuniawati, S.Pd

96

melaksanakan fungsi suatu pemproses sentral CPU (Central Prosesing


Unit) seperti aritmatika logika dan kontrol.
Suatu sistem yang menggunakan mikroprosesor sebagai
komponen utama disebut sistem mikroprosesor. Pada umumnya,
sistem mikroprosesor terdiri dari Central Processing Unit (CPU), memori
(ROM dan RAM) dan unit Unit Input Output I/O termasuk interface.
Sifat mikroprosesor yang dapat diprogram dan sangat fleksibel
untuk pemakai dalam suatu sistem. Karena pemakaiannya yang
memberikan banyak keuntungan, maka tidaklah heran jika saat ini
aplikasi Mikroprosesor telah dipakai dalam berbagai bidang. Sistem
mikroprosessor dapat mengendalikan sistem elektronik seperti lampu
iklan, traffis light, motor stepper dan lain lain.
III. Alat dan Bahan
1) Komputer
2) CD program Z80 simulator

1 set
1 buah

IV. Gambar Skema Rangkaian


Terlampir
V. Langkah Kerja
1.
Buka program Z80 simulator.
2.
Pada menu utama Z80 simulator, buka di
Tools, Assembler. Mulai pada baris 001 ketik program di bawah ini
dengan menggunakan tab. Masukkan program dibawah ini :
Bari
Label
Alamat Kode Program
Mnemonik
Keterangan
s
(Hex)
Op-Code (Hex)
001
LD A, 35H
002
OUT (01), A
003
LD A, 49H
004
OUT (02),A
005
LD A, 59H
OUT (03),A
006
LD A, 5BH
007
OUT (04),A
008
3.

Pada Sub Menu Assembler, buka tools pilih


assembler. Lihat apa ada error, jika ada perbaiki. Jika succes,
simpan program tersebut.
4.
Untuk
melihatnya
buka
sub
menu
Dissambler. Load Program pilih nama filenya akan terlihat
hasilnya dengan buka tools, diassembler
5.
Untuk menjalankan program buka kembali di
menu utama Z80 simulator.Buka File, Load Program pilih
filenya.Buka Simulation pilih start. Buka Rate, step by step
tekan F2.
6.
Lihat hasil pada menu utama Z80 simulator
buka Tools pilih Pheripheral Devices. Devices 1 tekan OFF 01,

Disusun oleh
Yuniawati, S.Pd

97

Devices 2 tekan OFF 02, Devices 3 tekan OFF 03, Devices 4


tekan OFF 04
VI. Hasil Pengujian dan Pengamatan
Tulis hasil pengamatan di layar monitor
VII. Pertanyaan dan Tugas
Masalah 1
Buat Program menyalakan lampu LED S M K 2 9 J K T.
Menyala satu persatu, mati semua, menyala semua
Penyelesaian :
a. Algoritma
Menyala satu persatu
Mati semua
Menyala semua
b. Program
Baris
Label
Alama
Kode
Mnemonik
t
Program
(Hex)
Op-Code
(Hex)

Keterangan

Masalah 2
Buat program dengan kreasi sendiri
VIII. Kesimpulan
Buat kesimpulan

TES FORMATIF
1.

Jelaskan
macam-macam
pengalamatan
pada mikroprosessor Z-80?
2.
Ubah menjadi bilangan Heksa dan jelaskan
maksud instruksi transfer data berikut:
a.
LD A, 08H
b.
LD D,A
c.
LD B, (1980)
3.
Ubah menjadi bilangan Heksa dan jelaskan
maksud instruksi aritmatika berikut:

Disusun oleh
Yuniawati, S.Pd

98

a.
b.
c.
4.

ADD A,B
INC B
SUB A,D
Jelaskan tentang macam macam intruksi

transfer data?
5.

Ubah menjadi bilangan Heksa dan jelaskan


maksud instruksi logika berikut:
a.
AND A
b.
OR C
c.
XOR A
6.
Buat program mengendalikan penyalaan lampu LED,
dengan menyala semua, mati semua, menyala dari tengah
bergeser
7.
Ubah menjadi bilangan Heksa dan jelaskan maksud
instruksi logika berikut:
a.
JP 1340H
b.
JPNZ 1360H
8.
Mengisi register-register A=76H, D=29H, L=39H. Menyalin isi
register A ke register E. Menyalin isi register D ke register B. Menyalin
isi register L ke register H
9.
Mengisi register C dengan data 68H.
Mengisi register B dengan data 31H.
Mengisi register D dengan data 4CH
AND-kan register C dengan B simpan di register A
OR-kan register B dengan D simpan di alamat 1305H
10.
Mengisi register-register B=42H, E=21H, H=3AH. Menyalin isi
register B ke register C. Menyalin isi register E ke register D. Menyalin
isi register H ke register A

DATA MENEMONIC

Disusun oleh
Yuniawati, S.Pd

99

1
2
3
4
5
6
7
8
9
10
11
12

21
22
23
24
25
26
27
28
29
30
31
32

41
42
43
44
45
46
47
48
49
50
51
52

91
92
93
94
95
96
97
98
99
100
61
62

Disusun oleh
Yuniawati, S.Pd

71
72
73
74
75
76
77
78
79
80
81
82

100

13
14
15
16
17
18
19
20

33
34
35
36
37
38
29
40

53
54
55
56
57
58
59
60

63
64
65
66
67
68
69
70

Disusun oleh
Yuniawati, S.Pd

83
84
85
86
87
88
89
90

101

Anda mungkin juga menyukai