modul-mikro.doc
TRANSCRIPT
NO JOBSHEET
BAB IALGORITMA DAN PEMOGRAMAN Kompetensi Dasar :1. Menguasai Prosedur Penyusunan Algoritma Pemrograman
A. 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/persoalanB. Bahasa PemogramanAda 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++
C. Notasi Algoritma
Gambar 1 Simbol/notasi Flowchart
D. Program ProseduralMASALAHALGORITMA
FLOWCHART
BAHASA PEMOGRAMAN
PROGRAM
UJICOBA/COMPILE Lihat ada kesalahan atau tidak
SIAP DIPAKAI / GO
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 typesType 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 :
1. Instruksi Input OutputStatemen-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.
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 PercabanganSalah 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;
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;
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 1 And Bil < 4) Then
Write(I : 4)
Else
Begin
Akar := Round(Sqrt(Bil));
Bagi := 3;
While (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
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 5 : Lihat ke arah kiri
Step 6 : Apakah masih ada kendaraan yang lewat?
Step 7 : Jika ia, kembali ke Step 5
Step 8 : Lihat ke arah kanan
Step 9 : Apakah masih ada kendaraan yang lewat?
Step 10 : Jika ia, kembali ke Step 8
Step 11 : 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:
Flow Chart untuk Kasus Menyeberang Jalan Ramai
TES FORMATIF1. 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
NO JOBSHEET
1JUDUL
INSTRUKSI INPUT OUTPUTPARAF DAN NILAI
Menguasai Prosedur Penyusunan Algoritma Pemrograman PASCALELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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 diprogramFLOWCHART : Aliran diagram gambaran terhadap suatu masalah dari awal sampai akhir agar memudahkan dalam pembacaan tehadap suatu masalahBAHASA PEMOGRAMAN
PROGRAM: Kumpulan beberapastatemen terhadap suatu masalah
UJICOBA/COMPILE Lihat ada kesalahan atau tidak
SIAP DIPAKAI / GO
Contoh :Menghitung Luas SegitigaA. ALGORITMA
Variabel input
a=alas; tinggi=t
Proses
L = (a*t)/2Variabel output
1. Masukan alas
2. Masukan tinggi
3. Hitung L:= (a*t)/2
4. Cetak Luas1) Perintah Read dan Readln
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 buahIV. Gambar Skema Rangkaian
Lihat flowchartV. 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);
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 monitorVII. Pertanyaan dan Tugas
Buat algoritma, flowchart dan program serta hasil program
1. Menghitung luas dan keliling lingkaran2. Menghitung luas trapesium
3. Menghitung volume kerucut
VIII. Kesimpulan
Buat kesimpulan
NO JOBSHEET
2JUDUL
INSTRUKSI PERCABANGAN
Statemen IFPARAF DAN NILAI
Menguasai Prosedur Penyusunan Algoritma Pemrograman PASCALELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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/pilihana. 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
Y
V. Langkah Kerja
1. Siapkan computer dalam posisi ON2. 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.EXE4. 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;
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 monitorVII. 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 berdasarkana. 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 = ax2 + 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 "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/MANULAVIII. Kesimpulan
Buat kesimpulan
NO JOBSHEET
3JUDUL
INSTRUKSI PERCABANGAN
Statemen Case-OfPARAF DAN NILAI
Menguasai Prosedur Penyusunan Algoritma Pemrograman PASCALELEKTRONIKA INDUSTRI SMKN 29Tanggal :
I. Tujuan Praktek
Siswa dapat menyelesaikan masalah-masalah kasus yang diberikan dengan bahasa PASCAL
Siswa dapat membuat program dari masalah-masalah yang diberiII. Teori Singkat
Instruksi percabangan Case Of adalah memilih kemungkinan lebih dari 2
a. Statemen Case-OfCase Of
Konstanta 1 : Pernyataan
Konstanta 2 : Pernyataan
......
Konstanta n : Pernyataan
End;
b. Statemen Case Of-Else
Case Of
Konstanta 1 : Pernyataan
Konstanta 2 : Pernyataan
......
Else
Konstanta n : Pernyataan
End;
III. Alat dan Bahan
1) Komputer
1 set
2) CD program PASCAL
1 buah
IV. Gambar Skema Rangkaian
V. Langkah Kerja
1. Siapkan computer dalam posisi ON2. 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.EXE4. 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);
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 banyaka. S harga Rp. 45.000b. 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 kesimpulanNO JOBSHEET
4JUDUL
INSTRUKSI PERULANGANLOOPINGPARAF DAN NILAI
Menguasai Prosedur Penyusunan Algoritma Pemrograman PASCALELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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
1 set
2) CD program PASCAL
1 buah
IV. Gambar Skema Rangkaian
Y
T
V. Langkah Kerja
1. Siapkan computer dalam posisi ON2. 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.EXE4. 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;
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
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+....+N5. Untuk menghitung faktorial
VIII. Kesimpulan
Buat kesimpulan
NO JOBSHEET
5JUDUL
INSTRUKSI ARRAYPARAF DAN NILAI
Menguasai Prosedur Penyusunan Algoritma Pemrograman PASCALELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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
1 set
2) CD program PASCAL
1 buah
IV. Gambar Skema Rangkaian
Y
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;
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
-272038
1826-29
VIII. Kesimpulan
Buat kesimpulan
NO JOBSHEET
6JUDUL
INSTRUKSI
PROSEDUR DAN FUNGSIPARAF DAN NILAI
Menguasai Prosedur Penyusunan Algoritma Pemrograman PASCALELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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
1 set
2) CD program PASCAL
1 buahIV. Gambar Skema Rangkaian
V. Langkah Kerja
1. Pemanggilan secara nilai (by value)
2. Siapkan computer dalam posisi ON3. 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. Buka ditempat kita install missal C, TP, BIN, TURBO.EXE6. Ketik program di bawah ini
Program ProsedurProsedure 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 PemanggilanProsedur 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
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.
12. Jalankan program Ctrl+F9. Jika program masih salah diperbaiki, jika sudah success berhasil.
13. Untuk melihat hasil ALT+F5VI. 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
2. Menghitung phitagoras
3. Menghitung Konsumsi daya listrik
4. Konversi bilangan
5. Menentukan hari dan tanggal
VIII. Kesimpulan
Buat kesimpulan
Program untuk tampilan hari dan tanggal
Program Konversi Bilangan
TES FORMATIFBuat 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 = ax2 + bx +c jika
D = 0, nilai akar sama
D0, nilai akar bilangan nyata
8. Menentukan nilai konversi bilangan desimal biner9. Menentukan tampilan *
**
***
****
*****
******
10. Menentukan tampilan #######
######
#####
####
###
##
#
BAB III
MIKROPROSESSOR DAN MIKROKONTROLLER
Kompetensi Dasar :1. Mengidentifikasi Arsitektur Mikroprosessor dan MikrokontrollerA. PENGERTIAN MIKROPROSESSOR DAN MIKROKONTROLLER1. 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, mesin-mesin ATM, berbagai jenis memori card & smart card
Hiburan : pemilih channel televise terprogram rumah tangga.
2. MikrokontrollerAdalah chip yang di dalamnya terkandung sistim interkoneksi antara mikroprosesor, RAM, ROM, I/O interface dan beberapa 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 Jenis Mikroprosessor dan MikrokontrollerJenis jenis Mikroprosesssor
Microprosesor berdasarkan atas teknologi bahannya:
Teknologi Konsumsi Daya Siklus Perintah
Berdasarkan Atas Lebar Bus Dan Pabrik Pembuatnya
Jenis Mikroprosessor
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 MicroprocessorPada 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 MicroprocessorSebuah 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 MicroprocessorIntel 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 MicroprocessorProcessor 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 ProcessorProcessor generasi baru yang mampu menangani berbagai jenis data seperti suara, bunyi, tulisan tangan, dan foto.
1995: Intel Pentium Pro ProcessorProcessor 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 ProcessorProcessor 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.
1998: Intel Pentium II Xeon ProcessorProcessor 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 ProcessorProcessor 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 ProcessessorProcessor Pentium III merupakan processor yang diberi tambahan 70 instruksi baru yang secara dramatis memperkaya kemampuan pencitraan tingkat tinggi, tiga dimensi, audio streaming, dan aplikasi-aplikasi video serta pengenalan suara.
1999: Intel Pentium III Xeon ProcessorIntel 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 ProcessorProcessor 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 Mikrokontrollera. 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 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.D. Aristektur Mikroprosessor
Blok sistem mikroprosesor
Data Bus
fgy
Control Bus
Gambar 3 Blok Sistem MikroprosessorFungsi 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 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 pada 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 RegisterAlternate Register
A
AccumulatorF
FlagAF
BCBC
DEDE
HLHL
General
Purpose
Register
Interupt Vektor
IMemory Refresh
R
Index Register (IX)
Index Register (IY)
Stack Pointer (SP)
Program Counter (PC)
Spesial
Purpose
Register
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 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 RegisterRegister 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
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.
Feature Kasus pada Zilog Z-80 CPU
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
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 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 Z-80 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
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 lajurPPI 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.
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 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.
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
Gambar 11 Format Control Word Port C Bit Set/ResetGambar 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.
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 di-multiplex. Port 0 terdapat pada pin 32-39
Port 1
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 3PORT PINALTERNATE FUNCTIONS
P3.0RXD (serial input port)
P3.1TXD (serial output port)
P3.2 (external interupt 0)
P3.3 (external interupt 1)
P3.4T0 (timer 0 external input)
P3.5T1 (timer 1 external input)
P3.6 (external data memory write strobe)
P3.7 (external data memory read strobe)
(Program Store Enable)
adalah kontrol sinyal yang mengijinkan untuk mengakses program (code) memori eksternal. Pin ini dihubungkan ke pin (output enable) dari EPROM. akan selalu bernilai 0 pada pembacaan program memori internal. 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.
(External Access)
Jika 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 diberi masukan 0 (ground) maka hanya akan menjalankan program memori eksternal ( akan bernilai 0). 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 di-reset dan register-register internal pada AT89C51 akan berisi nilai default tertentu.
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.
TES FORMATIF1. Gambarkan blok sistem mikroprosessor ?
2. Jelaskan tentang perkembangan mikroprosessor?
3. Jelaskan perbedaan antara mikroprosessor dan mikrokontroller?
4. 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?BAB III
PEMOGRAMAN SISTEM MIKROPROSESSORKompetensi Dasar :3. Mampu Memprogram Sistem MikroprosessorA. 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:
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.
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.
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
7JUDUL
PENGOPERASIAN MPF-IPARAF DAN NILAI
MeMPROGRAM SISTEM MIKROPROSESSORELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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
Address field data field
3. Untuk mengisi data tekan key DATA 3E
4. Untuk menaikkan address selanjutnya tekan +
5. Masukan data yang lain sama dengan contoh diatas sampai program selesai.
TABEL DATA
AlamatObjek KodeMnemonikKeterangan
1800
1802
1804
1806
1808
181A
181B
3E 20
06 2F
0E 37
16 34
1E 4C
80
76LD A, 20
LD B, 2F
LD C, 37
LD D, 34
LD E, 4C
ADD A, B
Halt
Muati register A dengan 20H
Muati register B dengan 2FH
Muati register C dengan 37H
Muati register D dengan 34H
Muati register E dengan 4CH
Tambahkan isi register B dengan register A disimpan di A
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 KesimpulanNO JOBSHEET
8JUDUL
PENGOPERASIAN Z 80 SIMULATORPARAF DAN NILAI
MeMPROGRAM SISTEM MIKROPROSESSORELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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
TerlampirW. 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 :BarisLabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
001
002
003
004
005
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, diassembler5. 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 KesimpulanB. 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 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
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
C. 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
BCDEHLKode1
0
0
0
0
1
11
0
0
1
1
0
01
0
1
0
1
0
1
Format instruksi
,
,
1. Register
register
LD R, R
Isi register R dengan isi dari register R
R
R
01......
Contoh LD A, B Isi reg A dengan isi reg B01111000=78H
LD B, AIsi reg B dengan isi reg A01000111=47H
2. Register
memori
LD R, (HL) Isi reg R dengan nilai yang ada dalam memori (dimana address memori terdapat dalam register H dan L)
01...110
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
N
00...110........
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
register
LD (HL), RMenyalin isi register R ke memori yang beralamat HL
LD (HL), B= 01110000 = 70
01110...
LD (IX+d), RMenyalin isi register R ke memori yang beralamat IX+d
LD (IX+4H), A = DD 77 04
LD (IY+d), RMenyalin isi register R ke memori yang 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), A02
JOBSHEET
9JUDUL
INSTRUKSI TRANSFER DATA Z80
DENGAN Z80 SIMULATORPARAF DAN NILAI
MeMPROGRAM SISTEM MIKROPROSESSORELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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
,
Tabel instruksi dapat dilihat dalam user manual MPF-I
Data tranfer 8 bit
Register
A
BCDEHLKode1
0
0
0
0
1
11
0
0
1
1
0
01
0
1
0
1
0
1
Format instruksi
,
,
1. Register
register
2. Register
memori
3. Register
data
4. Memori
register
5. Memori
memori
6. Memori
data
III. 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 :
BarisLabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
001
002
003
004
005
006
007LD A, 05H
LD B, 06H
LD C, 07H
LD D,08H
LD E, B
LD H, C
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, diassembler5. 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 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
BarisLabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
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
BarisLabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
c. Hasil
RegisterB=..........................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
BarisLabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
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
LabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
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
Penyelesaian :
a. Algoritma
b. Program
LabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
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 )
10000...
ADC A,r
Tambahkan isi r dengan A lalu simpan di A (A=A+ r+ C )
10001...
SUB r
Tambahkan isi r dengan A lalu simpan di A (A=A- r )
10010...
SBC A,r
Tambahkan isi r dengan A lalu simpan di A (A=A- r - C )
10011...
2. Konstanta 8 bit
ADD A, n (A = A + n)
11000110
SUB n(A =A n)
11010110
ADC A, n ( A = A + n + C)
11001110
SBC A, n (A = A n C)
11011110
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)
00..1001
ADD IX, rr (IX = IX + rr)
DD
00..1001
ADD IY, rr (IY = IY + rr )
FD
00..1001
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
01..1010
SBC HL, rr (HL = HL rr C)
Untuk instruksi artmatika diatas semua bit terpengaruh
NO JOBSHEET
10JUDUL
INSTRUKSI ARITMATIKA
DENGAN Z80 SIMULATORPARAF DAN NILAI
MeMPROGRAM SISTEM MIKROPROSESSORELEKTRONIKA INDUSTRI SMKN 29Tanggal :
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)
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)
III. Alat dan Bahan
1) Komputer
1 set
2) CD program Z80 simulator
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 :BarisLabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
001
002
003
004
005
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, diassembler5. 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
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
BarisLabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
c. Hasil
RegisterA=.................C=...................B=.........................D=..................
Alamat 100C H=..........................
Alamat 100E H=...........................
Masalah2
Sama seperti masalah 1 tetapi kurangkan
Masalah 3Mengisi 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=
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
BarisLabelAlamat
(Hex)Kode Program
Op-Code (Hex)MnemonikKeterangan
c. Hasil
RegisterA=.....