Top Banner
SORTING BAB IV
24

SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

May 30, 2019

Download

Documents

nguyen_ngoc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

SORTING BAB IV

Page 2: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Defenisi

Proses pengurutan data yang sebelumnya disusun secara acak sehingga tersusun secara teratur menurut suatu aturan tertentu.

Pada umumnya pengurutan ada 2 jenis

Ascending (Naik)

Descending (turun)

Page 3: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Contoh :

• Data acak :

5 6 8 1 3 25 10

• Terurut Ascending:

1 3 5 6 8 10 25

• Terurut Descending:

25 10 8 6 5 3 1

Page 4: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Metode

Ada beberapa metode pengurutan yaitu ;

1. Buble sort (Pengurutan Gelembung)

2. Selection Sort

3. Insertion Sort

4. Shell Sort

Page 5: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Prinsip

• Metode Buble dan selection menggunakan prinsip pertukaran elemen dalam proses pengurutan sehingga keduanya dinamakan dengan pertukaran (exchane sort)

• Metode Insertion dan Shell menggunakan prinsip geser dan sisip elemen dan proses pengurutan

• Ke-4 metode menggunakan operasi perbandingan elemen larik untuk menemukan urutan yang tepat.

Page 6: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Buble sort (Pengurutan Gelembung)

Dilakukan dengan prinsip gelebung air

Jika terurut menaik maka elemen yang terkecil dipindahkan keujung kiri melalui proses pertukaran

Proses ini dilakukan sebanyak N-1, N adalah ukuran larik L[N]

1 I, I+1 N Sudah terurut Belum terurut

Page 7: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Algoritma Pengurutan Gelembung

(Terurut Menaik)

• Untuk setiap pass I = 1,2,…,N-1 Lakukan :

Mulai dari elemen K = N, N-1,…., I+1 Lakukan :

1.1 Bandingkan L[K] dengan L[K-1]

1.2 Pertukarkan L[K] dengan L[K-1] Jika L[K] < L[K-1]

Page 8: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Algoritma

Deklarasi : int I,K,Temp; Deskripsi : for (I 1, I < N, I++) { for (K=N, K>i+1,K++) { if L[K] < L[K-1] //Tukar L[K] dengan L[K-1] { Temp L[K] L[K] L[K-1] L[K-1] Temp } } };

Page 9: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Proses pertukaran Temp L[K], L[K] L[K-1], L[K-1] Temp

Procedure tukar (int a,b)

Deklarasi :

int temp;

Deskripsi :

temp a

a b

b temp

Page 10: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Deklarasi : int I,K,Temp; Deskripsi : for (I 1, I < N, I++)

{ for (K=N, K>2,K++) { if L[K] < L[K-1] //Tukar L[K] dengan L[K-1] { tukar (L[K], L[K-1]) } } };

Page 11: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Metode Pengurutan Pilih

(Selection Sort)

• Metode ini memiliki konsep memilih data yang maksimum/minimum dari suatu kumpulan data larik L, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan

Page 12: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Metode Pengurutan Pilih

(Selection Sort)

• Data maksimum/minimum yang diperoleh, diasingkan ke tempat lain, dan tidak diikutsertakan pada proses pencarian data maksimum/minimum berikutnya

Page 13: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Perhatikan ilustrasi berikut

• Misalkan ada sekumpulan data acak berjumlah n elemen yang disimpan di dalam larik L, akan diurut menaik, maka langkah-langkah yang harus dilakukan adalah:

Page 14: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

• Menentukan jumlah iterasi, yaitu pass = n – 1.

• Untuk setiap pass ke-i = 1,2,...,pass, lakukan:

• Cari elemen terbesar (maks) dari elemen ke-i sampai ke-n.

• Pertukarkan maks dengan elemen ke-i.

• Kurangin n satu (n = n – 1).

Page 15: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Rincian tiap-tiap pas adalah sebagai

berikut:

• pass 1 • Cari elemen maksimum di dalam L[0...(n-1)]. • Pertukarakan elemen maksimum dengan elemen L[n-1].

• pass 2 • Cari elemen maksimum di dalam L[0...(n-2)]. • Pertukarakan elemen maksimum dengan elemen L[n-2].

• pass 3 • Cari elemen maksimum di dalam L[0...(n-3)]. • Pertukarakan elemen maksimum dengan elemen L[n-3].

. . . • pass 4

• Cari elemen maksimum di dalam L[0...1]. • Pertukarakan elemen maksimum dengan elemen L[1].

(Contoh Halaman 43 )

Page 16: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Algoritma

Deklarasi : int I,J, Imaks, Maks,Temp; Deskripsi : for (I N, I >1, I--) // jumlah pas = n-1 { Imaks 1 Maks L[1] for (J 2, J<I+1,J++) { if (L[J] > maks) { Imaks J Maks L[J] } }

{ Temp L[I] L[I] Maks L[Imaks] Temp } };

Page 17: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Latihan

• Buat contoh pengurutan seleksi minimum

Page 18: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Metode Pengurutan Sisip

(Insertion Sort)

• Metode ini dilakukan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan melakukan pencarian beruntun di dalam larik.

Page 19: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Metode Pengurutan Sisip

(Insertion Sort)

• Untuk setiap pass ke-i = 1,2,...,n-1 lakukan:

• X = L[i]

• Sisipkan x pada tempat yang sesuai anatara L[0]...L[i].

Page 20: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Rincian tiap-tiap pass adalah sebagai

berikut:

Dianggap pass 0 : L[0] dianggap sudah pada tempatnya. • pass 1 x = L[1] harus dicari tempatnya yang tepat pada L[0..1] dengan cara

menggeser elemen L[0..0] ke kanan bila L[0..0] lebih besar daripada L[1]. Misalkan posisi yang tepat adalah k, sisipkan L[1] pada L[k].

• pass 2 x = L[2] harus dicari tempatnya yang tepat pada L[0..2] dengan cara

menggeser elemen L[0..1] ke kanan bila L[0..1] lebih besar daripada L[2]. Misalkan posisi yang tepat adalah k, sisipkan L[2] pada L[k].

. . • pass n-1 x = L[n-1] harus dicari tempatnya yang tepat pada L[0..(n-1)]

dengan cara menggeser elemen L[0..(n-2)] ke kanan bila L[0..(n-2)] lebih besar daripada L[n-1]. Misalkan posisi yang tepat adalah k, sisipkan L[n-1] pada L[k].

Page 21: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil

Deklarasi int I,J,y; bolean ketemu; Deskripsi for(i=1;i<N;i++) { /* sisipkan L[i] ke dalam

bagian yang sudah terurut */

x = L[i]; /*cari posisi yang tepat

untuk x di dalam L[0..i-1] sambil menggeser */

j=i-1; ketemu = false;

while ((j>=0)&&(!ketemu))

{ if(x < L[j]) { L[j+1] = L[j]; j--; } else { ketemu = true; } } /* j < 1 or ketemu */ L[j+1] = x; } }

Page 22: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil
Page 23: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil
Page 24: SORTINGsi.ilkom.unsri.ac.id/wp-content/uploads/2018/11/BAB-III...Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil