Fungsi Struktogram

24

Click here to load reader

Transcript of Fungsi Struktogram

Page 1: Fungsi Struktogram

TEKNIK MIKROPROSESSOR

STRUKTOGRAM

Fungsi Struktogram

Tujuan Instruksional Umum

Þ Mengerti fungsi struktogram

Tujuan Instruksional Khusus

Peserta harus dapat:

Þ Merencanakan jalannya program

Þ Menjelaskan fungsi struktogram bentuk linier (berurutan/sekuens)

Þ Menjalankan fungsi struktogram bentuk keputusan (percabangan,alternatip)

Þ Menjelaskan fungsi struktogram bentuk pengulangan (loop)

Waktu 8 x 45 menit

Alat Bantu Mengajar / Persiapan

Þ OHP

Þ Papan tulis putih

Þ Spidol

Þ Transparan

Kepustakaan

Þ

Keterangan

Þ Materi ini disajikan sebagai pengantar untuk pembuatan program pada mata pelajaran : Mikroprosessor, Bahasa Basic dan Turbo Pascal.

Halaman:

0-1

Dikeluarkan oleh: Tanggal:

Arie Eric Rawung /Sugiono 21-May-97

d o c u m e n t

Program Studi / Bidang Studi:

Elektronika IndustriNama :

Page 2: Fungsi Struktogram

Struktur Materi Pelajaran

Fungsi Struktogram

Perencanaan Jalannya Program

Struktur Program (Struktogram)

Struktur Linier (berurutan/sequens)

Struktur keputusan (percabangan,alternatif)

Struktur pengulangan (Loop)

Page 3: Fungsi Struktogram

Pembagian tahap Mengajar Metode Alat bantu Waktu

Pengajaran Mengajar

1. Motivasi

1.1.Guru menjelaskan tujuan pelajaran Ceramah LP 5’

2. Elaborasi

1.2.Guru menjelaskan perencanaan jalannya program Ceramah OHP PTP

71’

1.3.Guru menjelaskan fungsi struktogram bentuk linier (berurutan/sequens)

Ceramah OHP PTP

68’

1.4.Guru menjelaskan fungsi struktogram bentuk keputusan (percabangan alternatip)

Ceramah OHP PTP

68’

1.5.Guru menjelaskan fungsi struktogram bentuk pengulangan (Loop)

Ceramah OHP PTP

68’

3. Konsolidasi

1.6.Guru memberikan kesempatan pada peserta untuk bertanya

TJ PT 20’

1.7.Guru menjelaskan kembali hal-hal yang belum dimengerti oleh peserta

Ceramah T + J

PT 10’

1.8.Guru bersama-sama dengan peserta menyimpulkan pelajaran

Diskusi PT 20’

4. Evaluasi

1.9.Peserta mengisi lembar latihan MLL LL 30’

Halaman:

0-3

Page 4: Fungsi Struktogram

TEKNIK MIKROPROSESSOR

STRUKTOGRAM

Fungsi Struktogram

Tujuan Instruksional Umum

Þ Mengerti fungsi struktogram

Tujuan Instruksional Khusus

Peserta harus dapat:

Þ Merencanakan jalannya program

Þ Menjelaskan fungsi struktogram bentuk linier (berurutan/sekuens)

Þ Menjalankan fungsi struktogram bentuk keputusan (percabangan,alternatip)

Þ Menjelaskan fungsi struktogram bentuk pengulangan (loop)

Informasi Teori

Perencanaan Jalannya Program

Untuk memberikan kejelasan, setelah menganalisa masalah yang terjadi dengan tepat, maka dibuat sedikit atau banyak detail dari jalannya program yang telah direncanakan. Dengan ini kita dapat mengurangi kesukaran pemrograman, walaupun demikian pada saat kita membuat kesalahan logika pada suatu jalannya program, sering memberikan pelajaran yang baik untuk mendapatkan pemahaman dan jalan keluar lebih baik.

Sebuah perencanaan jalannya program menggambarkan urut-urutan proses atau jalannya fungsi sebuah program, perencanaan ini juga menunjukkan urutan yang mana atau syarat yang mana dari pelaksanaan kejadian sebelumnya, yang akan diulang.

Pada perencanaan jalannya program dapat dituangkan dalam bentuk aliran program (Flow Chart) atau struktur program ( Struktogram ).

Hal yang penting untuk menghindari banyak kesalahan pada flow chart, bahwa masing-masing blok mempunyai sebuah masukan (S) dan sebuah keluaran (E).

Nassi Shneiderman membangun sebuah bentuk khusus yang dikenal dengan “Struktogram” yang kemudian ditetapkan sebagai DIN 66261.Pada struktogram memiliki satu masukan dan satu keluaran.

Halaman:

1-1

Page 5: Fungsi Struktogram

Benar Salah

Struktur Program (Struktogram )

Pada struktur program ada 3 bentuk konstitusi yang boleh digunakan sebagai bangun program.

1. Struktur linier (berurutan/sequens)

Start

1S

1E

END

Perintah-perintah yang ada dalam urutan perintah, pelaksanaannya berlangsung secara berurutan, dimana setelah pelaksanaan satu perintah maka isi PC (Penghitung Perintah) akan naik satu untuk melaksanakan perintah berikutnya.

2. Struktur Pengulangan (Loop)

Flow Chart STRUKTOGRAM DIN 66261

Loncat keluar bila syarat untuk mengakhiri program terpenuhi

Operasi Yang Diulang

1E

Halaman:

1-2

Operasi 2

Operasi 1

Operasi 2

Operasi 1

Y

1S

t

END

Operasi yang diulang

Syarat pemenuhan untuk

mengakhiri program

Start

Page 6: Fungsi Struktogram

Flow Chart STRUKTOGRAM DIN 66261

Operasi Yang Diulang

Loncat keluar bila syarat untuk mengakhiri program terpenuhi

1E

Pengulangan program bagian yang dapat dijalankan berulang-ulang disebut sebagai tubuh dari pengulangan. Pada masing-masing pengulangan, minimal ada satu syarat loncat dan pada setiap pelaksanaan pengulangan, syarat loncat tersebut harus diuji.

Hasil pengujian akan mempengaruhi jalannya program bagian/tubuh pengulangan atau jalannya perintah berikutnya.

Pengulangan pada umumnya terdiri dari beberapa bagian berikut ini :

- Inisialisasi

- Pengisian register atau lokasi memori yang dipakai pada pengulangan.

Contoh : alamat awal penyimpan data, nilai awal dari suatu penghitung.

- Pengosongan register atau flag.

Bagian ini hanya dilaksanakan satu kali

- Tubuh pengulangan

Hal ini tediri dari program yang harus berulang-ulang dilaksanakan.

Contoh : Perhitungan, memeriksa kondisi masukan keluaran.

Rangka pengulangan ini dapat terdiri dari struktur pengulangan atau alternatip.

- Aktualisasi dari Parameter Pengulangan

Pada pemprosesan blok data, contoh penunjuk alamat pada setiap pelaksanaan pengulangan harus dinaikkan 1 atau diturunkan 1.

- Aktualisasi syarat untuk mengakhiri pengulangan untuk digunakan :

- Penghitung, yaitu setiap pelaksanaan pengulangan isi register atau lokasi memori dinaikan atau diturunkan.Pada pencapaian suatu nilai tertentu maka pengulangan akan berakhir.

- Juga pada pengujian sebuah hasil (perhitungan bila sesuatu nilai tercapai, lebih besar atau lebih kecil maka pengulangan berakhir.

- Sebuah kemungkinan lain adalah pengujian bit kontrol dari isi register atau mencari, pengulangan dapat dipengaruhi melalui hasil dari jalannya program atau melalui pembacaan blok masukan keluaran.

- Keputusan untuk mengakhiri pengulangan

Kriteria keputusan selalu melihat pada kondisi bit flag

Halaman:

1-3

Start

Operasi yang diulang

END

1S

Syarat pemenuhan untuk

mengakhiri program

t

Y

Page 7: Fungsi Struktogram

a. Pengujian Pengulangan pada akhir struktur pengulangan ( Repeat Until )

Kekurangan pada instruksi ini, bahwa bagian yang diulang akan langsung berjalan pada saat masuk ke dalam pengulangan dan pengulangan berikutnya tergantung dari pemenuhan syarat.

Inisialisasi parameter pengulangan

Tubuh pengulangan

Aktualisasi parameter pengulangan

Aktualisasi syarat pengulangan

Ya Apakah syarat untuk pengulangan terpenuhi ? Tidak

Penutup pengulangan

b. Pengujian Pengulangan pada awal struktur pengulangan ( While DO )

Tubuh pengulangan hanya akan dijalankan pada awal bila syarat pengulangan terpenuhi.

Inisialisasi parameter pengulangan

Aktualisasi syarat untuk mengakhiri pengulangan

Apakah syarat untuk mengakhiri pengulangan terpenuhi tidak

Ya Tubuh pengulangan

Aktualisasi parameter pengulangan

Apakah syarat untuk pengulangan terpenuhi ? Tidak

Penutup pengulangan

- Penutup Pengulangan

Di sini hasil yang didapat dari perhitungan pada saat pengulangan di simpan atau isi asli/awal dari register yang dipakai pada saat pengulangan di isi kembali pada register yang bersangkutan

Halaman:

1-4

Mengisi penghitung- Mengisi alamat awal Menghapus register

- Perhitungan

- Pengurangan atau penambahan Penunjuk alamat

- Pengurangan penghitung Membanding hasil dengan konstanta

- Menguji bit flag yang dipakai Sebagai syarat pengulangan

- Menyimpan hasil Mengambil kembali register

Page 8: Fungsi Struktogram

Contoh 1

Sebuah Mikroprosessor harus menambah 12 bilangan biner (panjang 8 bit) yang berada pada blok data, alamat awal blok data diberi simbol DATA. Hasil akhir penjumlahan diletakkan pada register HL. Alamat awal Mikroprosessor : 0900 H, alamat DATA ; 0A00 H.

Pemecahan :

- Penjumlahan harus terjadi pada tubuh pengulangan jumlah pengulangan harus dihitung pada register B.

- Karena penghitung, untuk memulai pengulangan tidak pernah diisi dengan 0, maka dipergunakan struktur repeat - until.

- Untuk blok data, diperlukan 1 penjumlah data, register IX

- Karena hasil dapat lebih besar dari 8 bit, maka Register HL dipakai sebagai tempat penghitung dan hasil.

- Operan tunggal /data 8 bit dapat diisi ke register E dan untuk kemudian ditambahkan dengan isi register HL untuk mendapatkan hasil sementara pada setiap pengulangan.

Parameter Masukan : alamat awal dari blok data ( DATA )

Parameter Keluaran : HL berisikan hasil dari program

Register yang berubah : B, DE, HL, IX

STRUKTOGRAM

Mengisi penghitung (b) dengan 0CH

Mengisi penunjuk data (IX) dengan alamat awal blok data (DATA)

Menghapus register HL dan E

Mengisi E dengan data dari blok data dan tambahkan dengan isi register HL

Menambah 1 penunjuk data (IX) untuk data berikutnya

Penghitung pengulangan -1

Apakah penghitung pengulangan belum sama dengan 0 ?

Halaman:

1-5

Page 9: Fungsi Struktogram

Program :

Tanda Alamat ( HEX )

Kode Operasi

(HEX) MnemonikKeterangan

ADD 12

LOOP

0900

0901

0902

0903

0904

0905

0906

0907

0908

0909

090A

090B

090C

090D

090E

090F

0910

0911

0912

0913

0914

06

0C

DD

2A

00

0A

16

00

62

6A

DD

5E

00

19

DD

23

05

C2

0A

09

FF

LD B, 0CH

-

LD IX,(DATA)

-

-

-

LD D, 00H

-

LD H, D

LD L, D

LD E,(IX+0)

-

-

ADD HL, DE

INC IX

-

DEC B

JPNZ, LOOP

-

HALT

Jumlah data dalam blok data di isi ke register B

Alamat dari blok data yaitu Data dan DATA+1 ke register IX

Menghapus register operan (D)

Menghapus register operan (H)

Menghapus register operan (L)

Mengisi reg.E dengan operan dari blok data yang alamatnya ditunjuk oleh IX

Menghasilkan hasil sementara

Alamat data berikutnya (IX+1)

Aktualisasi syarat pengulangan

menguji syarat pengulangan

Program selesai

Contoh 2 :

Mikroprosessor menampilkan urutan ke port keluaran. Alamat awal urutan karakter yang diberi simbol KATA adalah 0C00H. Alamat port keluaran yang diberi simbol P DATA adalah 00H. Data yang dipakai sebagai akhir dari data KATA adalah FFH. alamat awal Mikroprosessor : 0500H.

Pemecahan :

Parameter masukan : alamat awal dari data KATA

data sebagai tanda akhir urutan data adalah FFH.

Parameter keluaran : alamat port keluaran P DATA = 00H.

Register yang berubah : tidak ada.

STRUKTOGRAM

Menyelamatkan register AF, BC, HL ke Stack

Mengisi register penunjuk data dengan alamat awal data (KATA)

Cycle endless

Mengisi register dengan data dari data KATA yang ditunjuk

Membandingkan isi register dengan data akhir dari data KATA

Apakah isi register sama dengan data akhir dari data KATA ?

mengeluarkan isi register ke alamat port P DATA

Isi register penunjuk data di tambah 1

Halaman:

1-6

Page 10: Fungsi Struktogram

Program :

Tanda Alamat ( HEX )

Kode Operasi

(HEX) Mnemonik

Keterangan

LOOP

END

END

0500

0501

0502

0503

0504

0505

0506

0507

0508

0509

050A

050B

050C

050D

050E

050F

0510

0511

0512

0513

0514

0515

0516

0517

F5

C5

E5

21

00

0C

0E

FF

3E

B9

28

14

05

D3

00

0C

23

18

08

05

E1

C1

F1

FF

PUSH AF

PUSH BC

PUSH HL

LD HL,KATA

-

-

LD C, FFH

-

LD A, (HL)

CPC

JPZ, END

-

OUT (P DATA),A

-

INC HL

JP LOOP

-

-

POP HL

POP BC

POP AF

HALT

Menyimpan isi register AF,BC

dan HL ke stack

Mengisi register HL dengan alamat dari blok data

Mengisi reg.C dengan data akhir blok data

Mengisi reg A dengan isi memori yang ditunjuk oleh HL

Membandingkan isi A dengan isi C

Loncat ke label END, jika AKKU=FFH

Keluarkan isi AKKU ke port P DATA

Isi reg HL ditambah 1

Loncat tak bersyarat ke LOOP

Mengambil kembali isi register

AF,BC dan H L dari stack

Program selesai

Halaman:

1-7

Page 11: Fungsi Struktogram

3. Struktur Keputusan ( Percabangan, Alternatip )

Flow Chart STRUKTOGRAM DIN 66261

Syarat untuk memenuhiOperasi 2

Y t

Operasi 2 Operasi 1

Struktur ini terdiri dari sebuah blok pengontrol, yang telah ditentukan dan akan menjalankan alternatip bila syarat tertentu terpenuhi.

Contoh :

Inisialisasi port B = In, Port A = Out

Membaca nilai biner dari masukan port B

Membandingkan nilai masukan port B dengan data AB

Apakah masukan data Port B sama dengan AB ?

Y t

Mengeluarkan data AA ke port A

Mengeluarkan data 55 ke port A

Halaman:

1-8

Start

Operasi yang diulang

END

1S

Syarat pemenuhan untuk

mengakhiri program

t1E

Y

Parameter Masukan :

Kata kendala 8255 untuk port A = Out dan port B = in adalah 82H

Alamat port B = 01H

Parameter Masukan :

Alamat port = 00HAlamat register kontrol = 03H

Alamat awal program 0600H

Page 12: Fungsi Struktogram

Program :

Tanda Alamat ( HEX )

Kode Operasi

(HEX) Mnemonik

Keterangan

END

0600

0601

0602

0603

0604

0605

0606

0607

0608

0609

060A

060B

060C

060D

060E

060F

0610

0611

0612

0613

0614

0615

0616

3E

82

D3

03

DB

01

FE

AB

CA

12

06

3E

55

D3

00

C3

16

06

3E

AA

D3

00

FF

LD A, 82H

-

OUT 03, A

-

In A, 01H

-

CP, ABH

-

JPZ,0612

-

-

LD A, 55H

-

OUT 00H, A

-

JP 0616

-

-

LD A, AAH

-

OUT 00, A

-

HALT

Mengisi reg kontrol 8255 dengan data kendala 82H

Membaca nilai biner dari port B

Membandingkan nilai yang dibaca dari port B dengan konstanta ABH

Loncat ke alamat 0612 untuk mengeluarkan data AA ke port A, jika nilai yang dibaca = ABH

Mengeluarkan data 55H ke port A

Loncat tak bersyarat untuk mengakhiri program

Mengeluarkan data AAH ke port A

Program selesai

Contoh 2 : .

STRUKTOGRAM

Inisialisasi port A = Out, port B = In

Membaca nilai biner dari masukan B

Membandingkan nilai masukan dengan data 01

Apakah masukan B = 01 ?

Y t

Mengisi Membandingkan nilai masukan dengan data 02

AKKU dengan data 0FH

Apakah nilai masukan = 02?

Y t

Mengisi AKKU dengan data 0FH

Mengisi AKKU dengan data 00H

Mengeluarkan isi AKKU ke port A

Halaman:

1-9

Parameter Masukan :

Kata kendala 8255 untuk port A = Out dan port B = Input

Alamat port B = 01H

Parameter Masukan :

Alamat port = 00HAlamat register kontrol = 03H

Alamat awal program 1800H

Page 13: Fungsi Struktogram

Program :

Tanda Alamat ( HEX )

Kode Operasi

(HEX) Mnemonik

Keterangan

1800 3E LD A, 82H Mengisi register kontrol 8255 dengan kata kendala 82H

1801 82 -1802 D3 OUT 03H, A1803 031804 DB IN A, 01H Membaca nilai biner dari port B1805 01 -1806 FE CP 01H Membandingkan nilai yang dibaca dari port B

dengan konstanta 01H1807 01 -1808 CA JPZ, 181AH Loncat ke alamat 181AH untuk mengisi akku

dengan data 0F, jika nilai yang dibaca = 01H1809 19 -180A 18 -180B FE CP 02H Membandingkan nilai yang dibaca dari port B

dengan konsta 02H180C 02 -180D CA JPZ, 1815H Loncat ke alamat 1815H untuk mengisi akku

dengan data F0H, jika nilai yang dibaca = 02H180E 15 -180F 18 -

DOO 1810 3E LD A, 00H Mengisi akku dengan data 00H1811 00 -1812 C3 JP 181CH Loncat tak bersyarat untuk mengeluarkan isi akku

ke port A1813 1B -1814 18 -

DFO 1815 3E LD A, F0H Mengisi akku dengan data F0H1816 F0 -1817 C3 JP 181CH Loncat tak bersyarat untuk mengeluarkan isi akku

ke port A1818 1B -1819 18 -181A 3E LD A, 0FH Mengisi akku dengan data 0FH

DOF 181B 0F -181C D3 OUT 00, A Mengeluarkan isi akku ke port A181D 00 -

END 181E FF HALT Program selesai

Halaman:

1-10

Page 14: Fungsi Struktogram

Suatu program yang agak komplek dapat disusun dan dikembangkan dengan kombinasi dari ketiga bentuk diatas.

Contoh sebagai berikut :

1. FLOW CHART

4S

4E

1E

STRUKTOGRAM

Syarat untuk Operasi 1

Y t

Operasi 1 Inisialisasi

Syarat untukOperasi 2

Y tOperasi 4

Operasi 2 Operasi 3 Loncat mengulangi

operasi 4 jika syarat pengulangan terpenuhi

Halaman:

1-11

YSyarat untuk pengulangan

Operasi 4

Inisialisasi

Operasi 3Operasi 2

Operasi 1

3E

Y t

2E3S

Syarat untuk operasi 2

2S

Y Syarat untuk operasi 1

t

t

1S

END

Start

Page 15: Fungsi Struktogram

2.

Loncat keluar jika syarat untuk mengakhiri program terpenuhi

Syarat untuk operasi 1

Y t

Operasi 1

3.

Halaman:

1-12

IE

2E

Y

Syarat untuk Operasi 1

2S

Operasi 1

END

t

YSyarat untuk mengakhiri

program

t

1S

Start

Page 16: Fungsi Struktogram

1E

Syarat untuk mengakhiri Program

t Y

Operasi 1

Syarat untuk mengakhiri Program

t Y

Operasi 2

Halaman:

1-13

Operasi 1

t

Syarat untuk mengakhiri

program

Operasi 2

END

Y

YSyarat untuk mengakhiri

program

t

1S

Start

Page 17: Fungsi Struktogram

4.

Operasi 1

Syarat untuk memanggilprogram bagian

t y

Operasi program bagian

Operasi 2

Halaman:

1-14

1E

2E

Operasi 2

Operasi 1

t Syarat untuk mengakhiri

program

Program bagian

Y

2S

1S

Start

Page 18: Fungsi Struktogram

Latihan

1

Halaman:

2-1

Page 19: Fungsi Struktogram

Jawaban

2

Halaman:

3-1

Page 20: Fungsi Struktogram

Transparan

Halaman:

4-1