Anda di halaman 1dari 6

DIKTATKULIAH

ALGORITMAdanSTRUKTURDATAII SORTING

V3/20092010 1

Pertemuan11

Waktu :135menit
TujuanPembelajaran :Mahasiswamampumenjelaskanteknikpemrograman
menggunakanSorting.
SubstansiMateri :Bubble/ExchangeSort,SelectionSort
TabulasiKegiatanPerkuliahan

No
Tahap
Kegiatan
KegiatanPengajar
Kegiatan
Mahasiswa
Media&
Alat
Waktu
1 Pendahuluan 1. Membukapertemuan
2. Mengulangmateripertemuan
sebelumnya
Menyimak
Bertanya
PapanTulis 20Menit
2 Penyajian
Materi
1. Pendahuluanteoripengurutandata
2. Bubble/ExchangeSort
3. SelectionSort

Menyimak
Bertanya
Menjawab
Pertanyaan
PapanTulis 80Menit
3 Penutup 1. Menyimpulkanmateripertemuan
2. Memberikantugaskecil
3. Menutuppertemuan
Menyimak Papantulis 35Menit

SORT
Sorting adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga
menjaditersusunsecarateraturmenurutsuatuaturantertentu.Adaduajenispengurutan:
1. Ascending(naik)
2. Descending(turun)

Contoh:
Dataacak :5 6 8 1 3 25 10
Ascending :1 3 5 6 8 10 25
Descending :25 10 8 6 5 3 1
MATERIKU LIAH
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII SORTING

V3/20092010 2

Untukmelakukanprosespengurutantersebutdapatdigunakanbeberapametode,yaitu:
1. Bubble/ExchangeSort
2. SelectionSort
3. InsertionSort
4. QuickSort

Bubble/ExchangeSort
Membandingkanelemenyangsekarangdenganelemenyangberikutnya,jikaelemenyang
sekarang>elemenberikutnyamakatukar.

Proses:
Langkah1

22 10 15 3 8 2
22 10 15 3 2 8
22 10 15 2 3 8
22 10 2 15 3 8
22 2 10 15 3 8
2 22 10 15 3 8

Contohdeklarasivariabledanprosedurnya:

ProcedureTukarData(vara,b:word);
Varc:word;
Begin
c:=a;
a:=b;
b:=c;
End;
Pengecekan dapat dimulai dari data paling awal
atau paling akhir. Pada contoh disamping
pengecekan dilakukan mulai dari data yang paling
akhir. Jika data paling akhir tersebut lebih kecil
data didepan nya maka ditukar.

Proses pengecekan berlanjut terus sampai
menjadikan data terurut.
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII SORTING

V3/20092010 3

ProcedureAsc_Bubble(vardata:array;jmldata:integer);
Var
i,j:integer;
begin
fori:=2tojmldatado
forj:=jmldatadowntoido
ifdata[j]<data[j1]then
TukarData(data[j],data[j1]);
End;

ProcedureDes_Bubble(vardata:array;jmldata:integer);
Var
i,j:integer;
begin
fori:=2tojmldatado
forj:=jmldatadowntoido
ifdata[j]>data[j1]then
TukarData(data[j],data[j1]);
End;

SelectionSort
Merupakan cara mengurutkan dengan membandingkan elemen yang sekarang dengan
elemenyangberikutnyasampaidenganelemenyangterakhir.Jikaditemukanelemenlain
yang lebih kecil dari elemen sekarang maka dicatat posisinya kemudian ditukar. Begitu
seterusnyasampaielementerakhir.
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII SORTING

V3/20092010 4

Proses:
Langkah1: Langkah2:

Langkah3: Langkah4:

i = 1 2 3 4 5 6
22 10 15 3 8 2

Pembanding Posisi
22 > 10 2
10 < 15 2
10 > 3 4
3 < 8 4
i = 1 2 3 4 5 6
2 10 15 3 8 22

Pembanding Posisi
10 < 15 2
10 > 3 4
3 < 8 4
3 < 22 4
i = 1 2 3 4 5 6
2 3 15 10 8 22

Pembanding Posisi
15 > 10 4
10 > 8 5
8 < 22 5

i = 1 2 3 4 5 6
2 3 8 10 15 22

Pembanding Posisi
10 < 15 4
10 < 22 4

Posisi data ke-4 (10) = tetap
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII SORTING

V3/20092010 5

Langkah5: Langkah6:

ProsespengurutantersebutadalahdenganmetodaSelectionascending.Untukdescending
makakebalikandariprosesdiatas.

ContohProcedureSelectionSort
ProcedureAsc_Selection;
Var
Min,pos:byte;
Begin
Fori:=1tomax1do
Begin
Pos:=i;
Forj:=i+1tomaxdo
Ifdata[j]<data[pos]thenpos:=j;
Ifi<>posthenTukarData(data[i],data[pos]);
End;
i = 1 2 3 4 5 6
2 3 8 10 15 22

Pembanding Posisi
15 < 22 5

Posisi data ke-5 (15) = tetap


Jadi urutan :

2 3 8 10 15 22
DIKTATKULIAH
ALGORITMAdanSTRUKTURDATAII SORTING

V3/20092010 6

End;

ProcedureDes_Selection;
Var
Min,pos:byte;
Begin
Fori:=1tomax1do
Begin
Pos:=i;
Forj:=i+1tomaxdo
Ifdata[pos]<data[j]thenpos:=j;
Ifi<>posthenTukarData(data[i],data[pos]);
End;
End;

ProcedureTukarDataadalahsamasepertiyangtelahdituliskansebelumnya.

Anda mungkin juga menyukai