Pemrograman Terstruktur (Part 1)

121
create by nova elins03 1 PEMROGRAMAN TERSTRUKTUR Nova El Maidah, S.Si.

Transcript of Pemrograman Terstruktur (Part 1)

Page 1: Pemrograman Terstruktur (Part 1)

create by nova elins03 1

PEMROGRAMAN TERSTRUKTUR

Nova El Maidah, S.Si.

Page 2: Pemrograman Terstruktur (Part 1)

create by nova elins03 2

SILABUS:

1. FLOWCHART2. SINTAKSIS DAN SEMANTIK

PASCAL/DELPHI3. STRUKTUR KENDALI SELEKSI4. KENDALI ITERASI5. PROCEDURE DAN FUNCTION6. REKURSI

Page 3: Pemrograman Terstruktur (Part 1)

create by nova elins03 3

SUMBER:

1. Gottfried, Baron S.1986. Programming with Pacsal. Singapore: McGraw-Hill.

2. Hasbi, M. 2003. Struktur Data dan Algoritma dalam Pemrograman Turbo Pascal. Yogyakarta: Gava Media

3. Suyanto, Yohanes. 2005. Pemrograman Terstruktur dengan Delphi. Yogyakarta: UGM Press.

Page 4: Pemrograman Terstruktur (Part 1)

create by nova elins03 4

PEMROGRAMAN TERSTRUKTUR

FLOWCHART

Page 5: Pemrograman Terstruktur (Part 1)

create by nova elins03 5

FLOWCHART

Flowchart adalah presentasi visual dari aliran data dalam pemrosesan informasi, operasi dan sistem, dan urutan proses yang dikerjakan.

Flowchart adalah representasi secara diagram yang menggambarkan urutan operasi dalam penyelesaian suatu masalah.

Page 6: Pemrograman Terstruktur (Part 1)

create by nova elins03 6

FLOWCHART

Beberapa simbol standar, yang sering digunakan pada penggambaran floowchart pada program komputer

Page 7: Pemrograman Terstruktur (Part 1)

create by nova elins03 7

FLOWCHARTAwal atau akhir program

Operasi komputasi atau proses

Operasi input atau output

Kotak keputusan dan pencabangan

Konektor atau penghubung 2 bagian program

Garis aliran proses

Page 8: Pemrograman Terstruktur (Part 1)

create by nova elins03 8

FLOWCHART

Beberapa petunjuk penggambaran flowchart:1. Semua proses tertampung dalam gambar

dengan urutan yang logis.2. Flowchart harus jelas, rapi dan mudah

ditelusuri serta tidak boleh mengandung arti ganda.

3. Arah alur proses biasanya dari kiri ke kanan atau dari atas ke bawah.

Page 9: Pemrograman Terstruktur (Part 1)

create by nova elins03 9

FLOWCHART

4. Hanya boleh ada satu aliran keluar dari simbol proses.

5. Hanya boleh ada satu aliran masuk ke simbol kotak keputusan, tetapi untuk keluarnya boleh 2 atau 3 jalur.

atau

ya

tidak = 0

> 0< 0

Page 10: Pemrograman Terstruktur (Part 1)

create by nova elins03 10

FLOWCHART6. Hanya boleh ada satu jalur pada simbol terminal.

Dengan kata lain, satu jalur masuk saja atau satu jalur keluar saja.

7. Jika flowchart menjadi kompleks dan rumit, buatlah dalam subflowchart sehingga lebih mudah dipahami.

8. Pastikan setiap flowchart mempunyai terminal awal dan akhir.

Page 11: Pemrograman Terstruktur (Part 1)

create by nova elins03 11

FLOWCHARTKelebihan Flowchart:1. Komunikasi: flowchart dapat menjadi sarana

komunikasi bagi pihak-pihak yang terlibat dalam pengembangan program.

2. Analisis: flowchart dapat digunakan untuk analisis masalah.

3. Penulisan program: flowchart mambantu konsentrasi penulisan program karena alurnya sudah jelas.

Page 12: Pemrograman Terstruktur (Part 1)

create by nova elins03 12

FLOWCHART

4. Pelacakan kesalahan: flowchart membantu dalam proses pelacakan program.

5. Pemeliharan program: bagian program yang diubah dapat ditentukan dengan melihat flowchart sehingga lebih efisien waktu

Page 13: Pemrograman Terstruktur (Part 1)

create by nova elins03 13

FLOWCHARTKeterbatasan Flowchart:1. Logika rumit: kadang logika program menjadi

sedemikian kompleks sehingga penggunaan flowchart menjadi begitu rumit.

2. Modifikasi: jika flowchart perlu dimodifikasi maka harus dilakukan penggambaran ulang seutuhnya.

3. Reproduksi: karena flowchart berbentuk simbol-simbol dan tidak dapat langsung diketik, maka reproduksi dalam media lain menjadi masalah tersendiri.

Page 14: Pemrograman Terstruktur (Part 1)

create by nova elins03 14

FLOWCHART

Jumlah = 0

Jumlah =Jumlah+1

N = N + 1

mulai

N = 0

N = 50 ?tidak

yaCetak Jumlah

selesai

CONTOH: Penjumlahan 50 BilanganAsli Pertama

Page 15: Pemrograman Terstruktur (Part 1)

create by nova elins03 15

FLOWCHART

M = 1F = 1

F = F * M

M = M + 1

mulai

Baca N

N = M ?

Cetak F

selesai

tidak

ya

CONTOH:Mencari Faktorial dari Suatu Bilangan

Page 16: Pemrograman Terstruktur (Part 1)

create by nova elins03 16

PEMROGRAMAN TERSTRUKTUR

SINTAKSIS DAN SEMANTIK

Page 17: Pemrograman Terstruktur (Part 1)

create by nova elins03 17

SINTAKSIS

Bahasa pemrograman adalah himpunan aturan, simbol dan kata-kata khusus untuk membuat program. Aturannya terdiri atas sintaksis dan semantik.

Sintaksis merupakan himpunan aturan formal yang mendefinisikan bagaimana kombinasi huruf, angka dan simbol dapat digunakan dalam bahasa pemrograman.

Page 18: Pemrograman Terstruktur (Part 1)

create by nova elins03 18

SINTAKSIS

CONTOH DIAGRAM SINTAKSISunsignedinteger

unsignedintegersign

+

-

Page 19: Pemrograman Terstruktur (Part 1)

create by nova elins03 19

INDENTIFIER

INDENTIFIER (PENAMAAN ELEMEN PROGRAM)

PASCAL:

DELPHI:

huruf angka

huruf

huruf angka

huruf_

_

Page 20: Pemrograman Terstruktur (Part 1)

create by nova elins03 20

INDENTIFIERBerikut kata-kata yang tidak boleh digunakan

sebagai nama program karena sudah dikenali sebagai perintah dalam program PASCAL atau DELPHI:and case dispinterfacearray class divas const doasm constructor downtobegin destructor else

Page 21: Pemrograman Terstruktur (Part 1)

create by nova elins03 21

INDENTIFIER

end gotoexcept ifexport implementationfile infinalization inheritedfinally initializationfor inlinefuction interface

Page 22: Pemrograman Terstruktur (Part 1)

create by nova elins03 22

INDENTIFIER

is or repeatlabel out resourcestringlibrary packed setmod procedure shlnil program shrnot property stringobject raise thenof record threadvar

Page 23: Pemrograman Terstruktur (Part 1)

create by nova elins03 23

INDENTIFIER

to until withtry uses xortype varunit while

Page 24: Pemrograman Terstruktur (Part 1)

create by nova elins03 24

DATA DAN TIPE DATA

TIPE DATA ORDINAL:1. Integer(bilangan bulat)2. Boolean(logika)3. Char(karakter)

Page 25: Pemrograman Terstruktur (Part 1)

DATA DAN TIPE DATATabel Variasi Tipe Data Bilangan Integer

Tipe Data Minimum Maksimum FormatInteger -2147483648 2147483647 Signed 32-bitCardinal 0 4294967295 Unsigned 32-bitShortint -128 127 Signed 8-bitSmallint -32768 32767 Signed 16-bit

Longint -2147483648 2147483647 Signed 32-bitInt64 -263 263 – 1 Signed 64-bitByte 0 255 Unsigned 8-bitWord 0 65535 Unsigned 16-bitLongword 0 4294967295 Unsigned 32-bit

Page 26: Pemrograman Terstruktur (Part 1)

create by nova elins03 26

DATA DAN TIPE DATA

Varian tipe data logika adalah: boolean, bytebool, wordbool dan longbool.

Tipe data logika hanya mempunyai dua nilai yaitu: true(bernilai biner 1) dan false(bernilai biner 0).

Page 27: Pemrograman Terstruktur (Part 1)

create by nova elins03 27

DATA DAN TIPE DATA

Tipe data char terdiri atas ansichar dan widechar.

Tipe data char digunakan untuk mendefinisikan tipe data yang nilainya merupakan himpunan karakter yang dikenal komputer yaitu yang dinyatakan dalam kode ASCII.

Page 28: Pemrograman Terstruktur (Part 1)

DATA DAN TIPE DATATIPE DATA REAL

Tabel Variasi Tipe Data RealTipe Data Minimum Maksimum Digit Ukuran

(byte)Real48 2.9 x 10-39 1.7 x 1038 11-12 6Single 1.5 x 10-45 3.4 x 1038 7-8 4Double 5.0 x 10-324 1.7 x 10308 15-16 8Real 5.0 x 10-324 1.7 x 10308 15-16 8Extended 3.6 x 10-4951 1.1 x 104932 19-20 10Comp -263 + 1 263 – 1 19-20 8Currency -922337203685477.5808 922337203685477.5807 19-20 8

Page 29: Pemrograman Terstruktur (Part 1)

create by nova elins03 29

DATA DAN TIPE DATA

TIPE DATA REALTabel Variasi Tipe Data Real

Tipe Panjang Maksimum Kebutuhan Memori Keterangan

ShortString 255 karakter 2-256 byte Kompatibilitas dengan versi awal

AnsiString 231 karakter 4 byte – 2 GB 8 bit(ANSI) karakter, DBCS, ANSI, MBCS

LongString 231 karakter 4 byte – 2 GB Lebih disukai untuk banyak keperluan

WideString 230 karakter 4 byte – 2 GB Karakter uncode, aplikasi multiuser & multilanguage

Page 30: Pemrograman Terstruktur (Part 1)

30

EKSPRESI DAN OPERATORTabel Operator Aritmatika Biner

Operator Operasi Tipe Operan Tipe Hasil Contoh+ Penjumlahan Integer Integer X + Y

Real Real– Pengurangan Integer Integer Result – 1

Real Real* Perkalian Integer Integer P*Lebar

Real Real/ Pembagian Integer Integer X/2

Real Realdiv Pembagian

BulatInteger Integer W div 5

mod Sisa Hasil Bagi

Integer Integer B mod 7

Page 31: Pemrograman Terstruktur (Part 1)

create by nova elins03 31

EKSPRESI DAN OPERATORAturan yang digunakan dalam penentuan hasil

operator aritmatika:1. Nilai x/y bertipe Extended,tidak peduli dari x

dan y.2. Operator selain /, akan menghasilkan

Extended jika paling tidak ada satu operan bertipe real.

3. Hasil operasi bertipe Int64 jika operan bertipe bilangan bulat dan paling tidak ada satu operan bertipe Int64.

Page 32: Pemrograman Terstruktur (Part 1)

create by nova elins03 32

EKSPRESI DAN OPERATOR4. Hasil operasi bertipe Integer jika operan

bertipe bilangan bulat dan tidak ada satupun operan bertipe Int64.

5. Jika suatu operan merupakan data berupa data subrange dari tipe Integer, maka operan itu diperlakukan sebagai Integer.

6. Nilai x div y adalah sebesar x/y dibulatkan ke arah nol pada Integer terdekat.

Page 33: Pemrograman Terstruktur (Part 1)

create by nova elins03 33

EKSPRESI DAN OPERATOR7. Nilai x mod y adalah sisa hasil bagi jika x

dibagi y.8. Akan terjadi error jika nilai y bernilai nol

untuk ekspresi x/y, x div y, atau x mod y.

Page 34: Pemrograman Terstruktur (Part 1)

create by nova elins03 34

EKSPRESI DAN OPERATOROPERATOR BOOLEAN

Tabel Operator BooleanOperator Operasi Tipe

OperanTipe Hasil

Contoh

not Negasi Boolean Boolean not Cand Konjungsi Boolean Boolean D and Tor Disjungsi Boolean Boolean A or Bxor Disjungsi

ekslusifBoolean Boolean A xor B

Page 35: Pemrograman Terstruktur (Part 1)

create by nova elins03 35

EKSPRESI DAN OPERATORTabel Kebenaran Operasi Logika

A B A or B A and B A xor B not A not Bfalse false false false false true truefalse true true false true true falsetrue false true false true false truetrue true true true false false false

Page 36: Pemrograman Terstruktur (Part 1)

create by nova elins03 36

EKSPRESI DAN OPERATORBerikut urutan derajat tingkat operator:not* / div mod and+ - or< > <= >= = <>

Page 37: Pemrograman Terstruktur (Part 1)

create by nova elins03 37

EKSPRESI DAN OPERATOROPERATOR BITWISEMerupakan operator yang digunakan untuk operasi

operan integer secara bit-per-bit. not bitwise negasi and bitwise konjungsi or bitwise disjungsi xor bitwise disjungsi ekslusif shr bitwise geser kanan slr bitwise geser kiri

Page 38: Pemrograman Terstruktur (Part 1)

create by nova elins03 38

EKSPRESI DAN OPERATORAturan yang digunakan pada operasi bitwise:1. Hasil dari operasi not setipe dengan

operan.2. Jika operan untuk operasi and, or dan xor

kedua-duanya integer, hasilnya bertipe integer dengan kebutuhan memori terkecil dan memungkinkan untuk menyimpan nilai operan-operan.

Page 39: Pemrograman Terstruktur (Part 1)

create by nova elins03 39

EKSPRESI DAN OPERATOR3. Operasi x shl y dan x shr y, menggeser x ke

kiri atau ke kanan sejauh y bit, dengan y adalah bilangan cacah, nilainya sama dengan mengalikan atau membagikan x dengan 2y.

Page 40: Pemrograman Terstruktur (Part 1)

create by nova elins03 40

EKSPRESI DAN OPERATOROPERATOR RELASIONAL

Tabel Operator RelasionalOperator Operasi Tipe operan Tipe hasil Contoh

= kesamaan Simple, string boolean I = max<> ketaksamaan Simple, string Boolean X <> Y< Kurang dari Simple, string boolean A < B> Lebih dari Simple, string Boolean D > num

<= Kurang dari atau sama

Simple Boolean Count <= 10

>= Lebih dari atau sama

Simple Boolean I >= 1

Page 41: Pemrograman Terstruktur (Part 1)

create by nova elins03 41

EKSPRESI DAN OPERATORKONSTANTA adalah bilangan, teks, atau objek

lain yang nilainya tetap.Contoh deklarasi konstanta:constBintang = ‘*******’;Kosong = ‘ ’;Pi = 3.14159;Maksimum = 20;

Page 42: Pemrograman Terstruktur (Part 1)

create by nova elins03 42

EKSPRESI DAN OPERATORJika ingin menentukan tipe data pada

konstanta secara langsung pada deklarasi kostanta;

constBilanganDesimal : Double = 1.234;I : integer = 10;pesan : string = ‘contoh

deklerasi’;

Page 43: Pemrograman Terstruktur (Part 1)

create by nova elins03 43

EKSPRESI DAN OPERATORVARIABELContoh deklarasi variabel:vara,b : integer;r : real;hari : string;

Page 44: Pemrograman Terstruktur (Part 1)

create by nova elins03 44

EKSPRESI DAN OPERATORVariabel juga dapat diinisialisasikan pada

bagian deklerasi: varhari : string = ‘senin’,’selasa’;I : integer = 10;d : double = 3.141579;

Page 45: Pemrograman Terstruktur (Part 1)

create by nova elins03 45

STRUKTUR PROGRAMStruktur Program Pascal1. Header2. Block

a. DeclerationLabelsConstantsType definitionsVariableProcedure & Function

b. Statement

Page 46: Pemrograman Terstruktur (Part 1)

create by nova elins03 46

STRUKTUR PROGRAMCONTOHPROGRAM circle(input,output):VAR area,radius : real;BEGINread(radius);area :=3.14159*sqr(radius);write(radius,area)

END.

Page 47: Pemrograman Terstruktur (Part 1)

create by nova elins03 47

STRUKTUR PROGRAMCONTOH PROGRAM KOMENTAR{komentar yang akan ditulis}(* komentar yang akan ditulis*)// komentar yang akan ditulis

Page 48: Pemrograman Terstruktur (Part 1)

create by nova elins03 48

KONSTRUKSI PROGRAMSTATEMENT INPUTDigunakan untuk memasukan data yang

dibutuhkan oleh program.Perintah yang digunakan adalah: read dan readln.

Cara mendeklarasikan perintah read:read(input variables)

Page 49: Pemrograman Terstruktur (Part 1)

create by nova elins03 49

KONSTRUKSI PROGRAMCONTOHread(a,b,c);Perintah diatas akan membaca nilai yang

diinput keprogram berturut-turut sebagai a, b, c.

Cara mendeklarasikan perintah readln:readln(input variables)

Page 50: Pemrograman Terstruktur (Part 1)

create by nova elins03 50

KONSTRUKSI PROGRAMCONTOH:readln(a,b,c);Perintah diatas akan membaca input data

berturut-turut sebagai a, b, c kemudian kursor akan turun satu baris.

Page 51: Pemrograman Terstruktur (Part 1)

create by nova elins03 51

KONSTRUKSI PROGRAMSTATEMENT OUTPUTAdalah perintah yang digunakan untuk

menampilakan hasil perhitungan, operasi ataupun teks pada display.

Perintah yang digunakan adalah: write dan writeln.

Cara mendeklarasikan:write(output data items)writeln(output data items)

Page 52: Pemrograman Terstruktur (Part 1)

create by nova elins03 52

KONSTRUKSI PROGRAMCONTOH:a = 3;b = 7;write(‘nilai = ’, a+b);Penggalan program diatas akan menghasilkan

tampilam di layar:nilai = 10

Page 53: Pemrograman Terstruktur (Part 1)

create by nova elins03 53

KONSTRUKSI PROGRAMCONTOH:a = 3;b = 7;writeln(‘nilai = ’, a+b);Penggalan program diatas akan menghasilkan

tampilan dilayar:nilai = 10Kemudian kursor pindah ke baris berikutnya.

Page 54: Pemrograman Terstruktur (Part 1)

create by nova elins03 54

CONTOH PROGRAM LINGKARAN KONSOL PROGRAM LINGKARAN GUI

Page 55: Pemrograman Terstruktur (Part 1)

create by nova elins03 55

PEMROGRAMAN TERSTRUKTUR

STRUKTUR KENDALI SELEKSI

Page 56: Pemrograman Terstruktur (Part 1)

create by nova elins03 56

STRUKTUR KENDALI SELEKSI

KONDISI DAN EKSPRESI BOOLEANEkspresi boolean bisa berjadi dari: Variabel atau konstanta boolean Ekspresi diikuti operator relasional diikuti

ekspresi Ekspresi boolean diikuti operator boolean

diikuti ekspresi boolean

Page 57: Pemrograman Terstruktur (Part 1)

create by nova elins03 57

STRUKTUR KENDALI SELEKSI

Pascal mempunyai dua perintah untuk percabangan (seleksi) dan tiga perintah untuk perulangan (iterasi)

Kendali percabangan:1. Statement if2. Statement case

Page 58: Pemrograman Terstruktur (Part 1)

create by nova elins03 58

STRUKTUR KENDALI SELEKSI

Kendali perulangan meliputi:1. Statement for2. Statement while3. Statement repeat

Page 59: Pemrograman Terstruktur (Part 1)

create by nova elins03 59

STRUKTUR KENDALI SELEKSI

STATEMENT IFPerintah IF…THEN digunakan untuk

mewujudkan percabangan bersyarat.Cara mendeklarasikannya adalah:IF boolean expression THEN statemantIF boolean expression THEN statemant1 ELSE statement2

Page 60: Pemrograman Terstruktur (Part 1)

create by nova elins03 60

STRUKTUR KENDALI SELEKSI

CONTOH:IF Nilai <= 100 THEN Nilai := Nilai+1;IF (i>j) THEN writeln(i,‘lebih dari’,j)ELSE writeln (i,’kurang dari’,j);

IF (i>j) THEN writeln(i, ‘lebih dari’,j);

IF (i<j) THEN writeln(i,’kurang dari’,j);

Page 61: Pemrograman Terstruktur (Part 1)

create by nova elins03 61

STRUKTUR KENDALI SELEKSI

selesai

mulai

Proses A

Proses CProses B

kondisi

Flowchart IF THEN ELSE

ya

tidak

Page 62: Pemrograman Terstruktur (Part 1)

create by nova elins03 62

STRUKTUR KENDALI SELEKSI

CONTOH: Cek Nilai

Page 63: Pemrograman Terstruktur (Part 1)

create by nova elins03 63

STRUKTUR KENDALI SELEKSI

CONTOH PROGRAM: Buatlah program untuk menampilkan bilangan terbesar diantara 3 bilangan yang dimasukan.

Page 64: Pemrograman Terstruktur (Part 1)

create by nova elins03 64

STRUKTUR KENDALI SELEKSImulai

Baca A,B,C

A > B ?

M BM A

M C

Cetak M

M > C ?

ya

tidak

selesai

tidak

ya

Page 65: Pemrograman Terstruktur (Part 1)

create by nova elins03 65

STRUKTUR KENDALI SELEKSI

Program Mencari Bilangan Terbesar

Page 66: Pemrograman Terstruktur (Part 1)

create by nova elins03 66

STRUKTUR KENDALI SELEKSI

CONTOH PROGRAM: menampilkan tulisan ‘password benar’ jika memasukan tulisan ‘asdfg’ dan ‘password salah’ untuk masukan lainnya.

Page 67: Pemrograman Terstruktur (Part 1)

create by nova elins03 67

STRUKTUR KENDALI SELEKSImulai

selesai

Baca password

= ‘asdfg’ ?

Cetak pesan salahCetak pesan benar

Page 68: Pemrograman Terstruktur (Part 1)

create by nova elins03 68

STRUKTUR KENDALI SELEKSI

Program Kata Kunci

Page 69: Pemrograman Terstruktur (Part 1)

create by nova elins03 69

STRUKTUR KENDALI SELEKSI

STATEMENT CASEStatement case digunakan untuk mengatasi

kendali seleksi yang statementnya merupakan pilihan dari beberapa group.

Page 70: Pemrograman Terstruktur (Part 1)

create by nova elins03 70

STRUKTUR KENDALI SELEKSI

Cara mendeklarasikannya:CASE expression OFpilihan 1 : statement 1pilihan 2 : statement 2

.

.pilihan n : statement n

END

Page 71: Pemrograman Terstruktur (Part 1)

create by nova elins03 71

STRUKTUR KENDALI SELEKSI

Cara mendeklarasikannya:CASE expression OFpilihan 1 : statement 1pilihan 2 : statement 2

.

.ELSE statement nEND

Page 72: Pemrograman Terstruktur (Part 1)

create by nova elins03 72

STRUKTUR KENDALI SELEKSI

CONTOH PROGRAM1. PROGRAM CONTOH CASE2. PROGRAM KALKULATOR

Page 73: Pemrograman Terstruktur (Part 1)

create by nova elins03 73

PEMROGRAMAN TERSTRUKTUR

KENDALI ITERASI

Page 74: Pemrograman Terstruktur (Part 1)

create by nova elins03 74

KENDALI ITERASIStatemant dalam iterasi disebut badan iterasi. Badan

iterasi dijalankan melalui beberapa fase: Saat aliran kendali program masuk ke dalam badan

iterasi disebut entri iterasi. Setiap kali iterasi dijalankan, satu kali perulangan ini

dinamakan iterasi. Bagian pengecekan kondisi bertugas

mengendalikan iterasi dilakukan atau tidak. Bagian ini dapat berada di bagian awal maupun di bagian akhir kendali iterasi.

Page 75: Pemrograman Terstruktur (Part 1)

create by nova elins03 75

KENDALI ITERASI Setelah semua iterasi lengkap dilaksanakan,

program keluar dari kendali iterasi. Kondisi yang mengakibatkan program keluar dari kendali iterasi dinamakan kondisi penghentian kendali iterasi.

Page 76: Pemrograman Terstruktur (Part 1)

create by nova elins03 76

KENDALI ITERASI

Iterasi Dikendalikan Pencacahpencacah := 1;while pencacah <= 10 dobegin……pencacah := pencacah+1;

end

Page 77: Pemrograman Terstruktur (Part 1)

create by nova elins03 77

KENDALI ITERASI

Iterasi pencacah dalam bentuk flowchart

Pencacah 1

Pencacah pencacah+1

Proses lain

Pencacah <=10tidak

ya

Page 78: Pemrograman Terstruktur (Part 1)

create by nova elins03 78

KENDALI ITERASI

Iterasi Dikendalikan Pembataswhile not ((bulan=2) and (tanggal=30) do beginread(bulan,tanggal);……

end;

Page 79: Pemrograman Terstruktur (Part 1)

create by nova elins03 79

KENDALI ITERASI

Iterasi dikendalikan pembatas dalam bentuk flowchart

Baca data

Baca data

Proses lain

Data = pembatasya

tidak

Page 80: Pemrograman Terstruktur (Part 1)

create by nova elins03 80

KENDALI ITERASI

Cara Merancang IterasiPerlu diperhatikan hal-hal berikut untuk

merancang iterasi:1. Kondisi yang mengakhiri iterasi2. Kondisi inisialisasi3. Kondisi yang diperbarui4. Proses apa yang perlu diulang5. Bagaimana proses inisialisasi

Page 81: Pemrograman Terstruktur (Part 1)

create by nova elins03 81

KENDALI ITERASI

6. Bagaimana proses diperbarui7. Bagaiman status program saat keluar dari

iterasi.

Page 82: Pemrograman Terstruktur (Part 1)

create by nova elins03 82

KENDALI ITERASIStatement FORPerintah FOR..DO digunakan untuk melakukan

perulangan determinatif. Artinya, sebuah pernyataan akan dikerjakan berulang-ulang sebanyak n kali, n adalah bilang yang diketahui sebelumnya

Cara mendeklaraikannya:FOR pencacah := awal TO akhir DO statementFOR pencacah := awal DOWNTO akhir DO statement

Page 83: Pemrograman Terstruktur (Part 1)

create by nova elins03 83

KENDALI ITERASI

CONTOH PROGRAM: Program Rerata To Program Rerata Downto

Page 84: Pemrograman Terstruktur (Part 1)

create by nova elins03 84

KENDALI ITERASI

Statement WHILEStatement ini digunakan jika belum diketahui

kondisi keluar dari iterasinya.Cara mendeklarasikannya:WHILE kondisi DO statementCONTOH PROGRAM

Page 85: Pemrograman Terstruktur (Part 1)

create by nova elins03 85

KENDALI ITERASI

Statement REPEATCara mendeklarasikannya:REPEAT statement UNTIL kondisiCONTOH PROGRAM

Page 86: Pemrograman Terstruktur (Part 1)

create by nova elins03 86

KENDALI ITERASI

statement

kondisi statement

kondisi

Perbedaan WHILE dan REPEAT

Page 87: Pemrograman Terstruktur (Part 1)

create by nova elins03 87

KENDALI ITERASIPETUNJUK PEMILIHAN STATEMENT

ITERASIBerikut panduan untuk menentukan jenis iterasi

yang sesuai:1. Jika iterasi dikendalikan pencacah yang

sederhana gunakan statement for. Jika iterasi dikendalikan pencacah dan pembatas, atau iterasi harus mencacah dengan nilai kenaikan/penurunan selain 1 atau -1, gunakan while atau repeat.

Page 88: Pemrograman Terstruktur (Part 1)

create by nova elins03 88

KENDALI ITERASI

2. Jika iterasi dikendalikan pembatas atau badan iterasi selalu dijalankan paling tidak sekali, gunakan repeat.

3. Jika iterasi dikendalikan pembatas dan tidak ada informasi mengenai bagaimana badan iterasi dijalankan pertama kali, gunakan while.

Page 89: Pemrograman Terstruktur (Part 1)

create by nova elins03 89

KENDALI ITERASI

4. Jika while dan repeat dapat digunakan, pilihlah yang lebih baik merefleksikan semantik iterasi. Jika masalahnya dijalankan jika kondisi benar, gunakan while. Sebaliknya jika masalahnya akan berhenti jika kondisinya benar gunakan repeat.

5. Jika meragukan gunakanlah while.

Page 90: Pemrograman Terstruktur (Part 1)

create by nova elins03 90

KENDALI ITERASI

CONTOH: buatlah tabel sinus dan cosinus untuk 0° sampai dengan 90° dengan kenaikan sebesar 0.5°!

Kenaikannya bukan 1 atau -1, maka digunakan while.

Fungsi sin & cos dalam Pascal/Delphi menggunakan parameter radian. Jadi nilai dalam derajat diubah dulu ke radian.

Page 91: Pemrograman Terstruktur (Part 1)

create by nova elins03 91

KENDALI ITERASI

π radian = 180°1° = π/180 radianx° = xπ/180 radian

Program Daftar Sinus-Cosinus

Page 92: Pemrograman Terstruktur (Part 1)

create by nova elins03 92

KENDALI ITERASICONTOH: persamaan aljabar: x5 + 3x2 – 10 = 0

dapat diselesaikan dengan nilai pendekatan. Ubah persamaan menjadi: x = (10 – 3x2)1/5

Prosesnya: pilih suatu nilai x, kemudian disubtitusikan pada ruas kanan, maka didapat nilai x yang baru.

Jika nilai x yang lama sama atau mendekati nilai x yang baru, maka x tersebut adalah penyelesaian.

Page 93: Pemrograman Terstruktur (Part 1)

create by nova elins03 93

KENDALI ITERASI Proses akan berhenti jika nilai x sangat

mendekati atau setelah 50 kali iterasi. Buat variabel-variabel berikut: Cacah digunakan untuk mencatat cacah

iterasi. Nilainya akan bertambah satu setiap melakukan iterasi. Tebakan adalah nilai x yang akan disubtitusikan pada ruas kanan persamaan.

Page 94: Pemrograman Terstruktur (Part 1)

create by nova elins03 94

KENDALI ITERASI

Akar adalah nilai x yang baru. Cek adalah nilai x = (10 – 3x2)1/5. Kesalahan adalah selisish antara Akar dan

Tebakan. Tanda adalah variabel boolean yang digunakan untuk menentukan apakah iterasi diteruskan atau dihentikan.

Page 95: Pemrograman Terstruktur (Part 1)

create by nova elins03 95

KENDALI ITERASI Komputasi diteruskan sampai dicapai salah

satu kondisi berikut: nilai kesalahan kurang dari 0.00001 cacah iterasi maksimum 50 telah tercapai cek bilangan negatif, karena akar pangkat

5 dari bilangan negatif tidak dapat dihitung

Program Persamaan Aljabar

Page 96: Pemrograman Terstruktur (Part 1)

create by nova elins03 96

KENDALI ITERASI

CONTOH: buatlah program untuk menampilkan animasi pantulan lingkaran pada pinggir batas form dengan menggunakan komponen shape

PROGRAM ANIMASI LINGKARAN

Page 97: Pemrograman Terstruktur (Part 1)

create by nova elins03 97

PEMROGRAMAN TERSTRUKTUR

PROCEDURE DAN FUNCTION

Page 98: Pemrograman Terstruktur (Part 1)

create by nova elins03 98

SUBPROGRAM

Subprogram adalah bagian dari program yang dirancang untuk melaksanakan suatu tugas tertentu.

Program dipecah menjadi subprogram-subprogram yang lebih kecil.

Subprogram dapat berupa procedure atau function yang strukturnya sama seperti program.

Page 99: Pemrograman Terstruktur (Part 1)

create by nova elins03 99

PROCEDUREProcedure adalah bentuk subprogram yang hanya

bertugas mengerjakan suatu aktivitas.Struktur pendefinisian procedure adalah:procedure nama_procedure(parameter);[bagian deklarasi konstanta, tipe, variabel dan function/procedure];

begin[statement-statement]

end;

Page 100: Pemrograman Terstruktur (Part 1)

create by nova elins03 100

PROCEDURE

Program Contoh ProcedureContoh Program dengan Procedure lainnya

Page 101: Pemrograman Terstruktur (Part 1)

create by nova elins03 101

PARAMETER NILAI

Parameter digunakan bagian pemanggil untuk memberikan data pendukung aktifitas prosedur/fungsi atau menerima kembali data hasil proses di prosedur/fungsi.

Parameter yang digunakan untuk mendefinisikan prosedur/fungsi disebut parameter formal dan parameter yang digunakan untuk memanggil prosedur/fungsi disebut parameter aktual.

Page 102: Pemrograman Terstruktur (Part 1)

create by nova elins03 102

PARAMETER NILAIParameter formal ada 2 jenis: Parameter nilai: digunakan untuk membawa

data pendukung dari bagian pemanggil untuk diberikan ke prosedur/fungsi.

Parameter variabel: membawa data dari/ke prosedur/fungsi.

Page 103: Pemrograman Terstruktur (Part 1)

create by nova elins03 103

ATURAN CAKUPANContoh Ruang Lingkup

Page 104: Pemrograman Terstruktur (Part 1)

create by nova elins03 104

FUNCTIONFunction selain melakukan aktivitas

(=procedure), fungsi akan mengembalikan nilai hasil proses yang telah dilakukan kepada bagian pemanggil.

function nama_fungsi(parameter): tipe nilai output;[deklarasi konstanta, variable, tipe, prosedur/fungsi];Beginstatement

End;

Page 105: Pemrograman Terstruktur (Part 1)

create by nova elins03 105

FUNCTION

Contoh FungsiContoh Parameter

Page 106: Pemrograman Terstruktur (Part 1)

create by nova elins03 106

Diketahui jejari lingkaran adalah r. Luas lingkaran L = πr2 dan keliling lingkaran adalah K = 2πr. Buatlah program untuk mencari L dan K.

Dalam program tersebut buatlah procedure/function untuk menghitung L dan K.

Page 107: Pemrograman Terstruktur (Part 1)

create by nova elins03 107

PEMROGRAMAN TERSTRUKTUR

REKURSI

Page 108: Pemrograman Terstruktur (Part 1)

create by nova elins03 108

REKURSI

Adalah algoritma yang berisi ekspresi (statement) yang akan memanggil dirinya sendiri.

Merupakan algoritma yang lebih efisien untuk melakukan perulangan pada beberapa kasus iterasi.

Page 109: Pemrograman Terstruktur (Part 1)

create by nova elins03 109

REKURSI

Contoh: akan dicari nilai xn.Nilai xn adalah x*x*x*x*x*x*…*x atau perkalian

x dengan x sebanyal n kali. Atau perkalian n dengan xn-1.

Perkalian xn-1 adalah perkalian x dengan xn-2. begitu seterusnya untuk xn-3.

Prosesnya akan selesai jika n-nya bernilai 1 (x1).

Page 110: Pemrograman Terstruktur (Part 1)

create by nova elins03 110

REKURSIfunction Pangkat(X,N:integer):integer;Beginif N=1 then

Pangkat:=X;else

Pangkat:=X*Pangkat(X,N-1);End;

Page 111: Pemrograman Terstruktur (Part 1)

create by nova elins03 111

REKURSIPangkat(2,3)Pemanggilan 1: nilai X adalah 2 dan N adalah

3. Karena N tidak sama dengan 1, maka Pangkat dipanggil lagi untuk parameter X dan N-1. Proses pertama berhenti sementara untuk menunggu hasil pemanggilan kedua.

Pemanggilan 2: nilai X=2 dan N=2. Karena N tidak sama dengan 1 maka Pangkat dipanggil lagi dengan parameter X dan N-2 dan menunggu hasil pemanggilan ketiga.

Page 112: Pemrograman Terstruktur (Part 1)

create by nova elins03 112

REKURSI

Pemanggilan 3: nilai X=2 dan N=1, karena N=1 maka nilai X=2 disimpan sebagai hasil pemanggilan 3. hasil pemanggilan 3 dikirimkan ke pemanggilan 2.

Pemanggilan 2: mendapat nilai hasil pemanggilan 3 yaitu X=2. nilai hasil pemanggilan 3 akan dikalikan dengan X. Hasil perkaliannya adalah 4, dan akan dikirimkan ke pemanggilan 1.

Page 113: Pemrograman Terstruktur (Part 1)

create by nova elins03 113

REKURSI

Pemanggilan 1: akan mengalikan X dengan hasil pemanggilan 2, maka hasilnya adalah 8. hasil Pangkat(2,3) adalah 8.

Page 114: Pemrograman Terstruktur (Part 1)

create by nova elins03 114

REKUSRIFuction Faktorial(n:integer):integer;Beginif N=0 then

Result:=1else

Result:=N*Faktorial(N-1);End;

Page 115: Pemrograman Terstruktur (Part 1)

create by nova elins03 115

REKUSRI

Program Terbilang dengan Delphi

Page 116: Pemrograman Terstruktur (Part 1)

create by nova elins03 116

REKUSRIMENARA HANOITujuan permainan menara hanoi adalah memindahkan

semua piringan di tiang pertama ke piringan ketiga dengan aturan:

1. Sekali memindahkan hanya boleh memindahkan 1 piringan

2. Tidak boleh menaruh piringan yang lebih besar di atas piringan yang lebih kecil

3. Pada akhir setiap pemindahan semua piringan semua piringan harus berada di tiang

Page 117: Pemrograman Terstruktur (Part 1)

create by nova elins03 117

REKUSRI

Menara Hanoi KonsolMenara Hanoi Animasi

Page 118: Pemrograman Terstruktur (Part 1)

create by nova elins03 118

REKURSI

CONTOH: Analisis kegunaan dari prosedur berikut! Apa yang dihasilkan jika dipanggil dengan Px(‘ABC’)?

Page 119: Pemrograman Terstruktur (Part 1)

create by nova elins03 119

REKURSI

procedure Px(st:string);beginif length(st)>0 then begin

write(st[1]);Px(Copy(st,2,length(st)));Px(Copy(st,1,length(st)-1));

end;end;

Page 120: Pemrograman Terstruktur (Part 1)

create by nova elins03 120

REKURSI

⇒⇒⇒

⇒⇒⇒⇒

)'(')'(')'(')'('

)'(')'('

)'(')'(')'(')'('

)'(')'('

)'('

)'('

AwriteAPxBwriteBPx

AwriteABPx

BwriteBPxCwriteCPx

BwriteBCPx

Awrite

ABCPx

Page 121: Pemrograman Terstruktur (Part 1)

create by nova elins03 121

REKURSI

Hasilnya adalah: ABCBABA