Pemrograman Terstruktur (Part 1)
Transcript of Pemrograman Terstruktur (Part 1)
![Page 1: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/1.jpg)
create by nova elins03 1
PEMROGRAMAN TERSTRUKTUR
Nova El Maidah, S.Si.
![Page 2: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/2.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/3.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/4.jpg)
create by nova elins03 4
PEMROGRAMAN TERSTRUKTUR
FLOWCHART
![Page 5: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/5.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/6.jpg)
create by nova elins03 6
FLOWCHART
Beberapa simbol standar, yang sering digunakan pada penggambaran floowchart pada program komputer
![Page 7: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/7.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/8.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/9.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/10.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/11.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/12.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/13.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/14.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/15.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/16.jpg)
create by nova elins03 16
PEMROGRAMAN TERSTRUKTUR
SINTAKSIS DAN SEMANTIK
![Page 17: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/17.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/18.jpg)
create by nova elins03 18
SINTAKSIS
CONTOH DIAGRAM SINTAKSISunsignedinteger
unsignedintegersign
+
-
![Page 19: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/19.jpg)
create by nova elins03 19
INDENTIFIER
INDENTIFIER (PENAMAAN ELEMEN PROGRAM)
PASCAL:
DELPHI:
huruf angka
huruf
huruf angka
huruf_
_
![Page 20: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/20.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/21.jpg)
create by nova elins03 21
INDENTIFIER
end gotoexcept ifexport implementationfile infinalization inheritedfinally initializationfor inlinefuction interface
![Page 22: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/22.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/23.jpg)
create by nova elins03 23
INDENTIFIER
to until withtry uses xortype varunit while
![Page 24: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/24.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/25.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/26.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/27.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/28.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/29.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/30.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/31.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/32.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/33.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/34.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/35.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/36.jpg)
create by nova elins03 36
EKSPRESI DAN OPERATORBerikut urutan derajat tingkat operator:not* / div mod and+ - or< > <= >= = <>
![Page 37: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/37.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/38.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/39.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/40.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/41.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/42.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/43.jpg)
create by nova elins03 43
EKSPRESI DAN OPERATORVARIABELContoh deklarasi variabel:vara,b : integer;r : real;hari : string;
![Page 44: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/44.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/45.jpg)
create by nova elins03 45
STRUKTUR PROGRAMStruktur Program Pascal1. Header2. Block
a. DeclerationLabelsConstantsType definitionsVariableProcedure & Function
b. Statement
![Page 46: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/46.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/47.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/48.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/49.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/50.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/51.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/52.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/53.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/54.jpg)
create by nova elins03 54
CONTOH PROGRAM LINGKARAN KONSOL PROGRAM LINGKARAN GUI
![Page 55: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/55.jpg)
create by nova elins03 55
PEMROGRAMAN TERSTRUKTUR
STRUKTUR KENDALI SELEKSI
![Page 56: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/56.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/57.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/58.jpg)
create by nova elins03 58
STRUKTUR KENDALI SELEKSI
Kendali perulangan meliputi:1. Statement for2. Statement while3. Statement repeat
![Page 59: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/59.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/60.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/61.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/62.jpg)
create by nova elins03 62
STRUKTUR KENDALI SELEKSI
CONTOH: Cek Nilai
![Page 63: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/63.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/64.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/65.jpg)
create by nova elins03 65
STRUKTUR KENDALI SELEKSI
Program Mencari Bilangan Terbesar
![Page 66: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/66.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/67.jpg)
create by nova elins03 67
STRUKTUR KENDALI SELEKSImulai
selesai
Baca password
= ‘asdfg’ ?
Cetak pesan salahCetak pesan benar
![Page 68: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/68.jpg)
create by nova elins03 68
STRUKTUR KENDALI SELEKSI
Program Kata Kunci
![Page 69: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/69.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/70.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/71.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/72.jpg)
create by nova elins03 72
STRUKTUR KENDALI SELEKSI
CONTOH PROGRAM1. PROGRAM CONTOH CASE2. PROGRAM KALKULATOR
![Page 73: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/73.jpg)
create by nova elins03 73
PEMROGRAMAN TERSTRUKTUR
KENDALI ITERASI
![Page 74: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/74.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/75.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/76.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/77.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/78.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/79.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/80.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/81.jpg)
create by nova elins03 81
KENDALI ITERASI
6. Bagaimana proses diperbarui7. Bagaiman status program saat keluar dari
iterasi.
![Page 82: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/82.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/83.jpg)
create by nova elins03 83
KENDALI ITERASI
CONTOH PROGRAM: Program Rerata To Program Rerata Downto
![Page 84: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/84.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/85.jpg)
create by nova elins03 85
KENDALI ITERASI
Statement REPEATCara mendeklarasikannya:REPEAT statement UNTIL kondisiCONTOH PROGRAM
![Page 86: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/86.jpg)
create by nova elins03 86
KENDALI ITERASI
statement
kondisi statement
kondisi
Perbedaan WHILE dan REPEAT
![Page 87: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/87.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/88.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/89.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/90.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/91.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/92.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/93.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/94.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/95.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/96.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/97.jpg)
create by nova elins03 97
PEMROGRAMAN TERSTRUKTUR
PROCEDURE DAN FUNCTION
![Page 98: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/98.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/99.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/100.jpg)
create by nova elins03 100
PROCEDURE
Program Contoh ProcedureContoh Program dengan Procedure lainnya
![Page 101: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/101.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/102.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/103.jpg)
create by nova elins03 103
ATURAN CAKUPANContoh Ruang Lingkup
![Page 104: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/104.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/105.jpg)
create by nova elins03 105
FUNCTION
Contoh FungsiContoh Parameter
![Page 106: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/106.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/107.jpg)
create by nova elins03 107
PEMROGRAMAN TERSTRUKTUR
REKURSI
![Page 108: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/108.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/109.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/110.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/111.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/112.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/113.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/114.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/115.jpg)
create by nova elins03 115
REKUSRI
Program Terbilang dengan Delphi
![Page 116: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/116.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/117.jpg)
create by nova elins03 117
REKUSRI
Menara Hanoi KonsolMenara Hanoi Animasi
![Page 118: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/118.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/119.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/120.jpg)
create by nova elins03 120
REKURSI
⇒⇒⇒
⇒⇒⇒⇒
)'(')'(')'(')'('
)'(')'('
)'(')'(')'(')'('
)'(')'('
)'('
)'('
AwriteAPxBwriteBPx
AwriteABPx
BwriteBPxCwriteCPx
BwriteBCPx
Awrite
ABCPx
![Page 121: Pemrograman Terstruktur (Part 1)](https://reader033.fdocuments.us/reader033/viewer/2022052315/5571f76a49795991698b5c0a/html5/thumbnails/121.jpg)
create by nova elins03 121
REKURSI
Hasilnya adalah: ABCBABA