pemrograman terstruktur (part 2)
Embed Size (px)
DESCRIPTION
bahan kuliah pemrograman terstruktur (setelah midtest)TRANSCRIPT

PEMROGRAMAN TERSTRUKTUR (PART 2)Nova El Maidah, S.Si.
create by n ova elins03
1

SILABUS
1. TIPE DATA SKALAR DEFINISIAN PENGGUNA
2. SET3. LARIK4. SORTING
create by n ova elins03
2

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

PEMROGRAMAN TERSTRUKTUR
TIPE DATA SKALAR DEFINISIAN PENGGUNA
create by n ova elins03
4

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

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

TIPE DATA ENUMERASI
Bentuk umum tipe data ini adalah:TypeNamaTipe = (data-1,data-2,…,data-n);
create by n ova elins03
7

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

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

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

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

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

TIPE DATA ENUMERASI
Enumerasi juga dapat didefinisikan langsung pada variabel, misalnya:
varKartu : (Club,Diamond,Heart,Spade);
create by n ova elins03
13

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

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

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

TIPE DATA ENUMERASI
CONTOH 4:typeUkuran = (Kecil=5, Sedang=10,
Besar=Kecil+Sedang);
create by n ova elins03
17

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

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

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

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

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

TIPE DATA SUBRANGE
TypeTJamKerja = 1..24;
VarJamKerja : TJamKerja;
Atau:
VarJamKerja : 1..24;
create by n ova elins03
23

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

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

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

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

PEMROGRAMAN TERSTRUKTUR
SET
create by n ova elins03
28

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

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

DEFINISI SETCONTOH 9Perhatikan deklarasi berikut:typeTUkuran = (Kecil, Sedang, Besar);TUkuranBaju = set of TUkuran;
varLenganPendek,LenganPanjang :
TUkuranBaju;
create by n ova elins03
31

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

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

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

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

PEMBENTUKAN SETCONTOH 12[Kecil, Sedang, Besar][Sedang, Besar][Besar, Kecil][Sedang][ ]
create by n ova elins03
36

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

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

OPERASI PADA SETGabungan dari 2 set adalah set yang berisi semua
anggota dari 2 set asal.
create by n ova elins03
39

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

OPERASI PADA SET
Nilai dariLenganPendek := [Kecil,Besar];LenganPanjang := [Kecil,Sedang,
Besar];
create by n ova elins03
41

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

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

OPERASI PADA SET
Nilai dariLenganPendek := [Sedang];LenganPanjang := [ ];
create by n ova elins03
44

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

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

OPERASI PADA SET
Nilai dariLenganPendek := [Sedang];LenganPanjang := [Kecil,Sedang];
create by n ova elins03
47

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)

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

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

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

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

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

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

PEMROGRAMAN TERSTRUKTUR
LARIK SATU DIMENSI
create by n ova elins03
55

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

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

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

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

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

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

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

INDEKS DALAM LARIKIndeks tertingi dan terrendah juga dapat diketahui
saat program berjalan dengan memanfaatkan fungsi Low dan High:
create by n ova elins03
63

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

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

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

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

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

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

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

PEMROGRAMAN TERSTRUKTUR
LARIK MULTIDIMENSI
create by n ova elins03
71

LARIK DUA DIMENSILarik berdimensi dua berguna untuk
mendefinisikan matriks, yang banyak digunakan dalam aplikasi numeris.
create by n ova elins03
72

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

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

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

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

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

LARIK DINAMIS DUA DIMENSIUntuk mendeklarasikannya adalah sebagai berikut:typenamaarray = array of array of tipedata;
create by n ova elins03
78

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

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

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

PEMROGRAMAN TERSTRUKTUR
SORTING (PENGURUTAN DATA)
create by n ova elins03
82

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

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

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

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]

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

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

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

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

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

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

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

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

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

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

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

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

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

QUICK SORTUntuk segmen atas dan segmen bawah lakukan
prosedur yang sama sampai semua data terurut.
create by n ova elins03
100