Pemrograman Terstruktur (Part 2)
description
Transcript of Pemrograman Terstruktur (Part 2)
![Page 1: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/1.jpg)
PEMROGRAMAN TERSTRUKTUR (PART 2)Nova El Maidah, S.Si.
create by n ova elins03
1
![Page 2: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/2.jpg)
SILABUS
1. TIPE DATA SKALAR DEFINISIAN PENGGUNA
2. SET3. LARIK4. SORTING
create by n ova elins03
2
![Page 3: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/3.jpg)
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.
create by n ova elins03
3
![Page 4: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/4.jpg)
PEMROGRAMAN TERSTRUKTUR
TIPE DATA SKALAR DEFINISIAN PENGGUNA
create by n ova elins03
4
![Page 5: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/5.jpg)
TIPE DATA SKALAR DEFINISIAN PENGGUNA
Dalam pemrograman bahasa Pascal, pengguna dapat membuat tipe data yang baru dengan menggunakan deklarasi type.
Ada 2 macam tipe data skalar definisian pengguna, yaitu:
1. Tipe data enumerasi2. Tipe data subrange
create by n ova elins03
5
![Page 6: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/6.jpg)
TIPE DATA ENUMERASIPascal memperbolehkan penggunanya
untuk mendefinisikan tipe data baru dengan menyebutkan satu per satu nilai literalnya.
Nilai-nilai literalnya dipisahkan dengan tanda koma dan berada dalam tanda kurung.
Tipe data seperti ini disebut tipe data enumerasi.
create by n ova elins03
6
![Page 7: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/7.jpg)
TIPE DATA ENUMERASI
Bentuk umum tipe data ini adalah:TypeNamaTipe = (data-1,data-2,…,data-n);
create by n ova elins03
7
![Page 8: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/8.jpg)
TIPE DATA ENUMERASICONTOH 1: Pada contoh ini akan
didefinisikan tipe data enumerasi yang disebut THari. Nilai literal dari tipe data ini adalah: Minggu, Senin, Selasa, Rabu, Kamis, Jumat dan Sabtu.
TypeTHari = (Minggu, Senin,
Selasa, Rabu, Kamis, Jumat, Sabtu);
VarHari : THari;
create by n ova elins03
8
![Page 9: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/9.jpg)
TIPE DATA ENUMERASI
Setiap nilai literal dari tipe data enumerasi mempunyai nomor urut.
Selain operasi dengan operator boolean, juga dapat dikerjakan operasi ord, pred dan succ.
create by n ova elins03
9
![Page 10: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/10.jpg)
TIPE DATA ENUMERASI
CONTOH 2: Berdasarkan CONTOH 1 dapat didefinisikan beberapa ekspresi boolean yang menggunakan nilai literal dalam THari
create by n ova elins03
10
![Page 11: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/11.jpg)
TIPE DATA ENUMERASI
Ekspresi NilaiMinggu < Selasa TrueRabu >= Sabtu FalseSenin <> Jumat Truepred(Jumat) = Kamis Truesucc(Jumat) = Sabtu Truesucc(Selasa) <> pred(Kamis) False
create by n ova elins03
11
![Page 12: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/12.jpg)
TIPE DATA ENUMERASICONTOH 3: mengacu ke CONTOH 1, relasi
berikut semuanya adalah bernilai benar:Succ(Minggu)=SeninPred(Senin)=MingguSucc(Senin)=SelasaPred(Jumat)=KamisSucc(Jumat)=SabtuOrd(Minggu)=0Ord(Senin)=1Ord(Sabtu)=6
create by n ova elins03
12
![Page 13: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/13.jpg)
TIPE DATA ENUMERASI
Enumerasi juga dapat didefinisikan langsung pada variabel, misalnya:
varKartu : (Club,Diamond,Heart,Spade);
create by n ova elins03
13
![Page 14: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/14.jpg)
TIPE DATA ENUMERASIDengan cara tersebut tidak dapat
didefinisikan lagi variabel dengan nilai literal yang sama, jadi pernyataan dibawah ini adalah salah.
varKartu1 : (Club,Diamond,Heart,Spade);Kartu2 : (Club,Diamond,Heart,Spade);
create by n ova elins03
14
![Page 15: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/15.jpg)
TIPE DATA ENUMERASICara mendeklarasikannya yang benar
adalah:varKartu1,Kartu2 : (Club, Diamond, Heart,
Spade);Atau:typeTKartu : (Club,Diamond,Heart,Spade);
varKartu1 : TKartu;Kartu2 : TKartu;
create by n ova elins03
15
![Page 16: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/16.jpg)
TIPE DATA ENUMERASI
Secara bawaan, urutan nilai enumerasi dimulai dari 0 dan berturut-turut diikuti oleh 1, 2, 3, dan seterusnya. Nomor urut ini juga dapat diurutakan secara eskplisit.
Untuk menetapkan nomor urut digunakan format:
nilai = ekspresikonstanta
create by n ova elins03
16
![Page 17: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/17.jpg)
TIPE DATA ENUMERASI
CONTOH 4:typeUkuran = (Kecil=5, Sedang=10,
Besar=Kecil+Sedang);
create by n ova elins03
17
![Page 18: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/18.jpg)
TIPE DATA ENUMERASI
varX:Ukuran;…X := Kecil; //Ord(X)=5X := Ukuran(6); //Ord(X)=6Inc(X); //Ord(X)=7
create by n ova elins03
18
![Page 19: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/19.jpg)
TIPE DATA ENUMERASI
typeContohEnum = (e1,e2,e3=1);
Nilai ordinal dari tepe data tersebut diatas adalah:
e1 = 0e2 = 1e3 = 1
create by n ova elins03
19
![Page 20: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/20.jpg)
TIPE DATA SUBRANGE
Konsep tipe data subrange dapat diterapkan pada tipe data ordinal yaitu: integer, char, boolean serta enumerasi.
Bentuk umum tipe data subrange adalah:
typenamatipedata=dataawal..dataakhir;
create by n ova elins03
20
![Page 21: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/21.jpg)
TIPE DATA SUBRANGECONTOH 5:typeTHari =(Minggu,Senin,Selasa,
Rabu,Kamis,Jumat, Sabtu);
THariKerja = Senin..Jumat;TBulan = 1..31;TKapital = ‘A’..’Z’;
create by n ova elins03
21
![Page 22: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/22.jpg)
TIPE DATA SUBRANGECONTOH 6: Berdasarkan CONTOH 5
dapat didefinisikan variabel berikut:varHariKerja,HariLibur:THariKerja;Tanggal : TBulan;JamKerja : 1..24;GajiKotor,GajiBersih: Double;JumlahKaryawan : 1..Maxint;
create by n ova elins03
22
![Page 23: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/23.jpg)
TIPE DATA SUBRANGE
TypeTJamKerja = 1..24;
VarJamKerja : TJamKerja;
Atau:
VarJamKerja : 1..24;
create by n ova elins03
23
![Page 24: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/24.jpg)
PENGGUNAAN TIPE DATA DEFINISIAN PENGGUNA
Tipe data enumerasi dan subrange dapat digunakan sebagai variabel kendali pada struktur for dan struktur pilihan case.
create by n ova elins03
24
![Page 25: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/25.jpg)
PENGGUNAAN TIPE DATA DEFINISIAN PENGGUNA
CONTOH 7: penggunaan tipe data enumerasi pada variabel kendali for adalah:
For HariKerja:=Senin to Jumat do begin……
End;
create by n ova elins03
25
![Page 26: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/26.jpg)
PENGGUNAAN TIPE DATA DEFINISIAN PENGGUNA
CONTOH 8: dengan variabel HariKerja seperti CONTOH 7 dapat dibuat struktur case sebagai berikut:
create by n ova elins03
26
![Page 27: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/27.jpg)
PENGGUNAAN TIPE DATA DEFINISIAN PENGGUNA
Case HariKerja ofSenin:writeln(‘hari kerja pertama’);Selasa:writeln(‘hari kerja kedua’);Rabu:writeln(‘hari kerja ketiga’);Kamis:writeln(‘hari kerja keempat’);Jumat:writeln(‘hari kerja kelima’);End;
create by n ova elins03
27
![Page 28: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/28.jpg)
PEMROGRAMAN TERSTRUKTUR
SET
create by n ova elins03
28
![Page 29: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/29.jpg)
DEFINISI SET
Set atau himpunan adalah kumpulan nilai bertipe data ordinal yang sama.
Range nilai pada set bergantung dari tipe data induknya.
Bentuk umum dari set adalah:set of tipedataindukDengan tipedatainduk adalah tipe
data ordinal.
create by n ova elins03
29
![Page 30: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/30.jpg)
DEFINISI SETTipe data induk tidak boleh memiliki
kemungkinan nilai lebih dari 256 macam dan nomor urutnya mulai dari 0 sampai 255.
Karena kapasitas dibatasi maka tipe data set biasanya menggunakan tipe data induk subrange.
create by n ova elins03
30
![Page 31: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/31.jpg)
DEFINISI SETCONTOH 9Perhatikan deklarasi berikut:typeTUkuran = (Kecil, Sedang, Besar);TUkuranBaju = set of TUkuran;
varLenganPendek,LenganPanjang :
TUkuranBaju;
create by n ova elins03
31
![Page 32: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/32.jpg)
DEFINISI SETCONTOH 10DeklarasitypeTSomeInts = 1..250;TIntSet = set of TSomeInts;
Deklaresi seperti CONTOH 10 sama seperti:type TIntSet = set of 1..250;
create by n ova elins03
32
![Page 33: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/33.jpg)
DEFINISI SETCONTOH 11Dengan tipe data seperti CONTOH 10 dapat
dibentuk variabel:varSet1, Set2 : TIntSet;Set1, Set2 : set of 1..250;
create by n ova elins03
33
![Page 34: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/34.jpg)
PEMBENTUKAN SETSet (himpunan) berisi sejumlah elemen dari nilai-
nilai pada tipe data induk.Set dibentuk dengan menulis satu per satu elemen
himpunan dengan diapit tanda kurung siku dan dipisahkan dengan koma.
[elemen1,elemen2, …,elemenn];
create by n ova elins03
34
![Page 35: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/35.jpg)
PEMBENTUKAN SET
Elemen-elemen yang masuk dalam set disebut anggota.
Pada CONTOH 12 adalah bentuk set berdasarkan tipe data pada CONTOH 9.
create by n ova elins03
35
![Page 36: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/36.jpg)
PEMBENTUKAN SETCONTOH 12[Kecil, Sedang, Besar][Sedang, Besar][Besar, Kecil][Sedang][ ]
create by n ova elins03
36
![Page 37: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/37.jpg)
PEMBENTUKAN SETCONTOH 13Konstruksi set of dapat juga diterapkan langsung
pada variabel.varMySet : set of ‘a’..’z’;..MySet := [‘a’, ‘b’, ‘c’];
create by n ova elins03
37
![Page 38: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/38.jpg)
OPERASI PADA SETAda 3 operasi yang dapat dilakukan pada set,
yaitu:1. Operasi gabungan (union) dengan simbol +2. Operasi irisan (intersection) dengan simbol *3. Operasi selisih (defference) dengan simbol -
create by n ova elins03
38
![Page 39: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/39.jpg)
OPERASI PADA SETGabungan dari 2 set adalah set yang berisi semua
anggota dari 2 set asal.
create by n ova elins03
39
![Page 40: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/40.jpg)
OPERASI PADA SETCONTOH 14Program ContohUnion;typeTUkuran = (Kecil, Sedang, Besar);TUkuranBaju = set of TUkuran;
varLenganPendek, LenganPanjang : TUkuranBaju;
BeginLenganPendek = [Kecil] + [Besar];LenganPanjang = [Kecil, Sedang] + [Kecil, Besar];
End.
create by n ova elins03
40
![Page 41: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/41.jpg)
OPERASI PADA SET
Nilai dariLenganPendek := [Kecil,Besar];LenganPanjang := [Kecil,Sedang,
Besar];
create by n ova elins03
41
![Page 42: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/42.jpg)
OPERASI PADA SETSet irisan dari 2 set adalah set yang menjadi
anggota set pertama dan sekaligus menjadi anggota pada set kedua.
create by n ova elins03
42
![Page 43: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/43.jpg)
OPERASI PADA SETCONTOH 15Program ContohIrisan;typeTUkuran = (Kecil, Sedang, Besar);TUkuranBaju = set of TUkuran;
varLenganPendek, LenganPanjang : TUkuranBaju;
BeginLenganPendek = [Kecil, Sedang] * [Sedang,
Besar];LenganPanjang = [Kecil] * [Sedang,Besar];
End.
create by n ova elins03
43
![Page 44: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/44.jpg)
OPERASI PADA SET
Nilai dariLenganPendek := [Sedang];LenganPanjang := [ ];
create by n ova elins03
44
![Page 45: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/45.jpg)
OPERASI PADA SETSet selisih dari dua set adalah set dengan
anggota berasal dari set pertama tetapi tidak menjadi anggota set kedua.
create by n ova elins03
45
![Page 46: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/46.jpg)
OPERASI PADA SETCONTOH 16Program ContohSelisih;typeTUkuran = (Kecil, Sedang, Besar);TUkuranBaju = set of TUkuran;
varLenganPendek, LenganPanjang : TUkuranBaju;
BeginLenganPendek = [Kecil,Sedang]-[Kecil,Besar];LenganPanjang = [Kecil,Sedang,Besar]– [Besar];
End.
create by n ova elins03
46
![Page 47: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/47.jpg)
OPERASI PADA SET
Nilai dariLenganPendek := [Sedang];LenganPanjang := [Kecil,Sedang];
create by n ova elins03
47
![Page 48: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/48.jpg)
PEMBANDINGAN SETPembandingan antar set menghasilkan nilai
boolean.Tabel 1 Operator Pembandingan Set
create by n ova elins03
48
Operator Arti
= Kesamaan set
<> Ketidaksamaan set
<= Himpunan bagian (subset, semua anggota set pertama adalah anggota set kedua)
>= Himpunan bagian (subset, semua anggota set kedua adalah anggota set pertama)
![Page 49: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/49.jpg)
PEMBANDINGAN SETCONTOH 17Mengacu pada CONTOH 9, berikut contoh ekspresi
dan nilainya.
create by n ova elins03
49
Ekspresi Nilai
[Kecil, Besar] = [Kecil, Sedang, Besar] False
[Kecil, Besar] = [Besar, Kecil] True
[Kecil, Sedang, Besar] = [Kecil..Besar] True
[Kecil, Sedang] <>[Sedang] True
[Kecil..Besar] <= [Besar] False
[Sedang] >= [Kecil, Sedang] False
![Page 50: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/50.jpg)
PEMBANDINGAN SETCONTOH 18Buatlah program untuk menentukan huruf apa
saja yang digunakan dalam kalimat. Input untuk program berupa sebaris teks dan output program adalah daftar huruf yang digunakan dalam teks tersebut.
Jawaban:
create by n ova elins03
50
![Page 51: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/51.jpg)
CEK KEANGGOTAANDalam Pascal disediakan operator in yang
digunakan untuk mengecek apakah suatu nilai merupakan anggota dari suatu himpunan.
Hasil dari operator in bertipe boolean.Bentuk umum dari operator in adalah:nilai in set
create by n ova elins03
51
![Page 52: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/52.jpg)
CEK KEANGGOTAAN
CONTOH 19Berdasarkan deklarasi berikut:typeTukuran = (Kecil,Sedang,Besar);TUkuranBaju = set of Tukuran;
varLenganPendek,LenganPanjang:
TUkuranBaju;Ukuran:TUkuran;
create by n ova elins03
52
![Page 53: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/53.jpg)
CEK KEANGGOTAAN
Beberapa ekspresi boolean yang menunjukan penggunaan in terlihat sebagai berikut:
1.Kecil in [Kecil,Sedang,Besar];2.Sedang in [Kecil,Besar];3.Ukuran in [Kecil,Sedang]4.Ukuran in LenganPendek
create by n ova elins03
53
![Page 54: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/54.jpg)
CEK KEANGGOTAANCONTOH 20: Buatlah program dalam aplikasi
GUI untuk menghitung jumlah huruf konsonan dan vokal dari suatu masukan teks.
JAWABAN
create by n ova elins03
54
![Page 55: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/55.jpg)
PEMROGRAMAN TERSTRUKTUR
LARIK SATU DIMENSI
create by n ova elins03
55
![Page 56: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/56.jpg)
TIPE DATA TERSTRUKTURTipe data terstruktur meliputi array, record dan
file.Karakteristik tipe data terstruktur secara umum
bahwa pengenal tunggal dapat mewakili banyak item data.
Item-item dalam data terstruktur dapat dimanipulasi secara bersamaan atau terpisah.
create by n ova elins03
56
![Page 57: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/57.jpg)
LARIK SATU DIMENSILarik atau array digunakan untuk menampung
agregat data (kumpulan dari beberapa data).Ciri array adalah data-data anggotanya memiliki
tipe data yang sama.Larik diwujudkan dengan pertama
mendeklarasikan tipe datanya, kemudian diikuti dengan definisi variabel dengan tipe data tersebut.
create by n ova elins03
57
![Page 58: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/58.jpg)
LARIK SATU DIMENSIDeklarasi larik dapat ditulis dalam kelompok type
sebagai berikut:typenamaaray = array [indeks] of tipedata;
varnamavariabel : namaarray;
Atau dalam kelompok var sebagai berikut:varnamavariabel:array [indeks] of
tipedata;
create by n ova elins03
58
![Page 59: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/59.jpg)
LARIK SATU DIMENSICONTOH 21typet_nama = array [1..30] of char; (1)t_data = array [1..100] of real; (2)
Atau dalam kelompok var sebagai berikut:varnama : t_nama; (3)data : t_data; (4)
create by n ova elins03
59
![Page 60: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/60.jpg)
PEMROSESAN LARIKLarik diakses melalui elemen-elemen dari
variabelnyaNama[1] := j;Nama[2] := o;Nama[3] := k;Nama[4] := o;Pengaksesan larik juga dapat melibatkan proses
iterasi dengan perintah kendali for..do:for i := 1 to 100 do begindata[i] := 0.0;
create by n ova elins03
60
![Page 61: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/61.jpg)
INDEKS DALAM LARIKBerikut adalah contoh deklarasi larik integer
dalam Pascal dalam lingkungan Delphi:Procedure TForm1.Button1Click(Sender:Tobject);varArraySaya : array [0..10] of integer;Bilangan : integer;
BeginArraySaya[0] := 1;Bilangan := ArraySaya[0];
End;
create by n ova elins03
61
![Page 62: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/62.jpg)
INDEKS DALAM LARIKSelain menentukan indeks tertinggi, juga dapat
ditentukan indeks terrendahnya.Perhatikan contoh berikut:Procedure TForm1.Button1Click(Sender:Tobject);VarArraySaya : array [14..24] of integer;Bilangan : integer;
BeginArraySaya[14] := 1;Bilangan := ArraySaya[14];
End;
create by n ova elins03
62
![Page 63: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/63.jpg)
INDEKS DALAM LARIKIndeks tertingi dan terrendah juga dapat diketahui
saat program berjalan dengan memanfaatkan fungsi Low dan High:
create by n ova elins03
63
![Page 64: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/64.jpg)
INDEKS DALAM LARIKProcedure TForm1.Button1Click(Sender:Tobject);VarArraySaya : array [14..24] of integer;IndeksTertinggi,IndeksTerrendah : integer;
BeginIndeksTertinggi := High(ArraySaya);IndeksTerrendah := Low(ArraySaya);Label1.Caption := ‘Indeks
Tertinggi:’+IntToStr(IndeksTertinggi);Label2.Caption := ‘Indeks Terrendah:’+IntToStr(IndeksTerrendah);
End;
create by n ova elins03
64
![Page 65: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/65.jpg)
KONSTANTA LARIKBerikut contoh deklarasi konstanta larik:Procedure TForm1.Button1Click(Sender:Tobject);TypeTMyStringArray : array [0..2] of string;
ConstMyIntArray : array [0..3] of integer = (1, 2,
3, 4);MyStringArray : TMyStringArray =(‘Satu’,
’Dua’, ’Tiga’);BeginListBox1.Items.Add(IntToStr(MyIntArray[0]));ListBox1.Items.Add(MyStringArray[0]);
End;
create by n ova elins03
65
![Page 66: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/66.jpg)
LARIK DINAMISLarik dinamis tidak mempunyai ukuran atau
panjang yang tetap. Ukuran atau panjang larik dapat ditentukan pada saat program berjalan.
Deklarasi untuk larik dinamis adalah:typenamatipe = array of tipedata;
varnamavar : namatipe;
Atauvarnamavar : array of tipedata;
create by n ova elins03
66
![Page 67: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/67.jpg)
LARIK DINAMISLarik dinamis diakses dengan cara yang sama
dengan larik statis dengan beberapa batasan: Penentuan panjang digunakan SetLength(larikdinamis,panjang)
Indeks menggunakan bilangan integer Indeks selalu diawali dengan 0 Indeks tertinggi adalah panjang atau ukuran
larik dikurangi dengan 1
CONTOH PROGRAM LARIK DINAMIS
create by n ova elins03
67
![Page 68: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/68.jpg)
LARIK SATU DIMENSICONTOH 22Menghitung deviasi dengan menggunakan
persamaan:deviasi = x[i] – rerata
Dimana x[i] adalah nilai-nilai input dan rerata adalah nilai yang didapat saat program dikerjakan.
JAWABANMisalkan nilai x dibatasi hanya 100 data.Program Deviasi
create by n ova elins03
68
![Page 69: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/69.jpg)
LARIK SATU DIMENSICONOTH 23Buatlah program untuk menyimpan data nama,
alamat dan kota dan menampilkannya.JAWABANDibatasi setiap nama, alamat dan kota hanya 60
karakter saja.Program Nama dan Alamat
create by n ova elins03
69
![Page 70: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/70.jpg)
LARIK SATU DIMENSISOAL LATIHAN:Tulis program yang mendeklarasikan x sebagai
larik 10 elemen bilangan bulat, membaca 10 data dari keyboard dan memasukan ke larik x, dan mencetak jumlahan dari semua elemen dalam larik x
create by n ova elins03
70
![Page 71: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/71.jpg)
PEMROGRAMAN TERSTRUKTUR
LARIK MULTIDIMENSI
create by n ova elins03
71
![Page 72: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/72.jpg)
LARIK DUA DIMENSILarik berdimensi dua berguna untuk
mendefinisikan matriks, yang banyak digunakan dalam aplikasi numeris.
create by n ova elins03
72
![Page 73: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/73.jpg)
PEMROSESAN LARIK DUA DIMENSICara mendeklarasikan larik dua dimensi adalah
sebagai berikut:typeTMatriks = array[1..5,1..6] of real;
varMat : TMatriks;
create by n ova elins03
73
![Page 74: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/74.jpg)
PEMROSESAN LARIK DUA DIMENSIContoh untuk mengakses larik tersebut dapat
berbentuk:Mat[3,2] := 10.0;
for i := 1 to 5 dofor j := 1 to 6 do
Mat[i,j] :=0.0;
create by n ova elins03
74
![Page 75: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/75.jpg)
PEMROSESAN LARIK DUA DIMENSICONTOH 24Buatlah program untuk mengolah matriks ukuran
3 x 3 yang meliputi: Pembacaan matriks Penulisan matriks Penjumlahan matriks Perkalian matriks
create by n ova elins03
75
![Page 76: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/76.jpg)
PEMROSESAN LARIK DUA DIMENSIPenyelesaian masalah ini dapat ditempuh dengan
menyusun prosedur untuk masing-masing keperluan, yaitu:
Prosedur bacamatriks untuk pembacaan matriks Prosedur tulismatriks untuk penulisan matriks Prosedur tambahmatriks untuk penjumlahan
matriks Prosedur kalimariks untuk perkalian matrik
create by n ova elins03
76
![Page 77: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/77.jpg)
PEMROSESAN LARIK DUA DIMENSIProsedur baca matrriks perlu 1 parameter variabel
matriks untuk menampung pembacaan sedang tulismatrik perlu 1 parameter nilai matriks karena nilai matriks hanya dibaca oleh prosedur ini.
Prosedur tambahmatriks dan kalimatriks perli 1 parameter variabel matriks dan 2 parameter nilai matriks. Parameter variabel digunakan untuk menampung hasil penjumlahan atau perkalian matriks.
Program Mengolah Matriks
create by n ova elins03
77
![Page 78: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/78.jpg)
LARIK DINAMIS DUA DIMENSIUntuk mendeklarasikannya adalah sebagai berikut:typenamaarray = array of array of tipedata;
create by n ova elins03
78
![Page 79: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/79.jpg)
LARIK DINAMIS DUA DIMENSICONTOH 25Segitiga Pascal adalah deretan bilangan yang
membentuk segitiga sebagai berikut:1
1 11 2 1
1 3 3 11 4 6 4 1
1 5 10 10 5 11 6 15 20 15 6 1
1 7 21 35 35 21 7 1
create by n ova elins03
79
![Page 80: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/80.jpg)
LARIK DINAMIS DUA DIMENSISegitiga Pascal tersebut dapat diubah bentuknya
menjadi:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 1Program Segitiga Pascal
create by n ova elins03
80
![Page 81: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/81.jpg)
LARIK MULTIDIMENSILarik adalah kumpulan komponen yang
mempunyai tipe data sama dan diurutkan pada dimensi N (N >= 1).
Setiap komponen diakses menggunakan N indeks, yang masing-masing indeks menunjukan posisi komponen dalam dimensi.
create by n ova elins03
81
![Page 82: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/82.jpg)
PEMROGRAMAN TERSTRUKTUR
SORTING (PENGURUTAN DATA)
create by n ova elins03
82
![Page 83: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/83.jpg)
PENGERTIANMetode pengurutan (sorting) data diklasifikasikan
menjadi 2 kategori:1. Pengurutan array (larik) disebut juga
pengurutan internal (internal sorting)2. Pengurutan berkas masuk urut (sequential
access file) disebut juga eksternal sorting.Sorting data dimungkinkan mengurutkan data
dengan 2 cara:1. Ascending (sorting data dari paling kecil ke
paling besar)2. Descending (sorting data dari paling besar ke
paling kecil)
create by n ova elins03
83
![Page 84: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/84.jpg)
ARRAY SORTINGDalam internal sorting ada beberapa metode yang
bisa digunakan:1. Penyisipan (insertion)2. Seleksi (selection)3. Penukaran (exchange)
create by n ova elins03
84
![Page 85: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/85.jpg)
INSERTIONDengan tujuan ingin membuat daftar elemen-
elemen yang urut dari data yang dimasukan secara acak.
Dilakukan dengan cara menempatkan elemen pertama ke dalam daftar lokasi pertama kemudian untuk penambahan elemen, elemen disisipkan ke dalam daftar sehingga daftar selalu dalam keadaan berurutan
create by n ova elins03
85
![Page 86: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/86.jpg)
INSERTION
CONTOH 26Dalam program dimasukan data berturut-turut 23,
-5, 2, 80, 16Berikut sorting data dengan cara insertion:
create by n ova elins03
86
Data[1] 23Data[2]Data[3]Data[4]Data[5]
Data[1] -5Data[2] 2Data[3] 23Data[4]Data[5]
Data[1] -5Data[2] 23Data[3]Data[4]Data[5]
![Page 87: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/87.jpg)
INSERTION
Program Insertion
create by n ova elins03
87
Data[1] -5Data[2] 2Data[3] 23Data[4] 80Data[5]
Data[1] -5Data[2] 2Data[3] 16Data[4] 23Data[5] 80
![Page 88: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/88.jpg)
SELECTIONMetode seleksi meliputi pencarian elemen terkecil
dan menempatkannya pada lokasi pertama. Berikutnya adalah mencari elemen terkecil selanjutnya dan menempatkannya di lokasi selanjutnya.
Berikut sorting data dengan metode selection:
create by n ova elins03
88
Data[1] 23Data[2] -5Data[3] 2Data[4] 80Data[5] 16
Data[1] -5Data[2] 23Data[3] 2Data[4] 80Data[5] 16
Data[1] -5Data[2] 2Data[3] 23Data[4] 80Data[5] 16
![Page 89: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/89.jpg)
SELECTION
Program Selection
create by n ova elins03
89
Data[1] -5Data[2] 2Data[3] 23Data[4] 80Data[5] 16
Data[1] -5Data[2] 2Data[3] 16Data[4] 80Data[5] 23
Data[1] -5Data[2] 2Data[3] 16Data[4] 23Data[5] 80
![Page 90: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/90.jpg)
BUBBLE SORTMetode pengurutan untuk mengurutka data dalam
tempatnya. Metode ini menyebabkan elemen yang terbesar
bergeser ke posisi yang terbawah dalam daftar sekali proses ke seluruh array dengan menjalankan pembandingan pada elemen-elemen secara berturut-turut dan menukarkan elemen-elemen tersebut jika diperlukan.
create by n ova elins03
90
![Page 91: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/91.jpg)
BUBBLE SORTcreate by n ova elins03
91
Data[1] 23Data[2] -5Data[3] 2Data[4] 80Data[5] 16
Data[1] -5Data[2] 2Data[3] 23Data[4] 80Data[5] 16
Data[1] -5Data[2] 2Data[3] 23Data[4] 16Data[5] 80
![Page 92: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/92.jpg)
BUBBLE SORTcreate by n ova elins03
92
Data[1] -5Data[2] 2Data[3] 23Data[4] 16Data[5] 80
Data[1] -5Data[2] 2Data[3] 16Data[4] 23Data[5] 80
Data[1] -5Data[2] 2Data[3] 23Data[4] 16Data[5] 80
![Page 93: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/93.jpg)
QUICK SORTPengurutan data berdasarkan nilai tengah (letak
secara fisik).Ada 8 data sebagai berikut yang akan diurutkan
dengan metode quick sort:
create by n ova elins03
93
Data[1] 23Data[2] -5Data[3] 14Data[4] 16Data[5] 80Data[6] 3Data[7] 5Data[8] 0
![Page 94: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/94.jpg)
QUICK SORTPertama adalah memilih elemen yang digunakan
untuk membagi daftar data menjadi 2 segmen. Dalam kasus ini data[4] merupakan perkiraan
nilai tengah.Tujuannya adalah membagi 2 daftar data dengan
16 sebagai nilai pembagi.Kelompok bawah berisi nilai kurang dari atau
sama dengan 16 dan kelompok atas berisi data yang nilainya lebih atau sama dengan 16.
create by n ova elins03
94
![Page 95: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/95.jpg)
QUICK SORTDalam elemen pertama dari daftar data, cari
secara mundur untuk nememukan elemen pertama yang lebih dari atau sama dengan nilai tengah
create by n ova elins03
95
Data[1] 23Data[2] -5Data[3] 14Data[4] 16Data[5] 80Data[6] 3Data[7] 5Data[8] 0
bawah
Nilai tengah
atas
![Page 96: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/96.jpg)
QUICK SORTNilai data[bawah] lebih dari nilai tengah dan nilai
data[atas] kurang dari nilai tengah, maka tukar nilai data[1] dan data[8]:
create by n ova elins03
96
Data[1] 0Data[2] -5Data[3] 14Data[4] 16Data[5] 80Data[6] 3Data[7] 5Data[8] 23
Nilai dari data[8]
Nilai dari data[1]
bawah
atas
![Page 97: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/97.jpg)
QUICK SORTUlangi prosedur tersebut. Cari dulu elemen
bawahberikutnya yang lebih dari atau sama dengan nilai tengah, yaitu data[4]. Kemudian cari elemen atas yang kurang dari atau sama dengan nilai tengah, yaitu data[7] :
create by n ova elins03
97
Data[1] 0Data[2] -5Data[3] 14Data[4] 16Data[5] 80Data[6] 3Data[7] 5Data[8] 23
Nilai dari data[8]
Nilai dari data[1]
bawah
atas
![Page 98: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/98.jpg)
QUICK SORTHasil prosedur berikutnya adalah sebagai berikut
serta variabel atas dan bawahnya:
create by n ova elins03
98
Data[1] 0Data[2] -5Data[3] 14Data[4] 5Data[5] 80Data[6] 3Data[7] 16Data[8] 23
bawah
atas
![Page 99: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/99.jpg)
QUICK SORTTukar kembali antara variabel atas dan bawah.
Kemudian hasilnya dibagi menjadi 2 segmen
create by n ova elins03
99
Data[1] 0Data[2] -5Data[3] 14Data[4] 5Data[5] 3Data[6] 80Data[7] 16Data[8] 23
Segmen bawah
Segmen atas
![Page 100: Pemrograman Terstruktur (Part 2)](https://reader031.fdocuments.net/reader031/viewer/2022012405/5571f76749795991698b5812/html5/thumbnails/100.jpg)
QUICK SORTUntuk segmen atas dan segmen bawah lakukan
prosedur yang sama sampai semua data terurut.
create by n ova elins03
100