modul-mikro.doc

112
BAB I ALGORITMA 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 Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program) 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.

Upload: ruky-dwinarputra

Post on 23-Jan-2016

45 views

Category:

Documents


1 download

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=.....