Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehDwiky Poetry Telah diubah "9 tahun yang lalu
1
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S.Kom tertiaavini.wordpress.com UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
2
III.1. Defenisi Pengurutan
Pengurutan (sorting) adalah sekumpulan objek yang di proses menurut urutan atau susunan tertentu. Urutan tersebut dapat Menaik (Ascending) atau Menurun (Descending) Data yang diurut dapat dapat berupa tipe data sederhana (kecuali boolean) atau tipe data Terstruktur Keuntungan dari data terurut adalah mempercepat pencarian data, dapat mengetahui harga maksimun atau minimum. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
3
III.2. Pengurutan Internal dan Pengurutan Ekternal
Pengurutan dibagi menjadi 2 kelompok : Pengurutan Internal Pengurutan terhadap sekumpulan data yang disimpan di memori utama komputer. Bersifat sementara Pengurutan Eksternal Pengurutan data yang disimpan didalam memori sekunder. Bersifat tetap. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
4
III.2. Pengurutan Internal dan Pengurutan Ekternal
Algoritma pengurutan yang ada : Bubble Short (Pengurutan gelembung) Maksimum Sort (Pengurutan maksimum) Minimum Sort (Pengurutan minimum) Insertion Sort (Pengurutan sisip) Head sort (pengurutan diatas) shell Sort (Pengurutan ) Quick sort (pengurutan) Merge sort (pengurutan) Radix sort (pengurutan) Tree sort (pengurutan pohon) UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
5
III.2. Pengurutan Internal dan Pengurutan Ekternal
Banyaknya algoritma pengurutan yang tersedia menimbulkan pertanyaan : algoritma manakah yang memiliki kinerja paling baik?. Kinerja pengurutan data sangatlah menentukan kinerja sistem. Karena itu pemilihan Metode pengurutan yang cocok akan berperan penting dalam suatu aplikasi. Pada Bab ini metode pengurutan yang akan dibahas hanya tiga yaitu Pengurutan Gelembung (Bubble Sort) Pengurutan Maksimum/Minimun (Maximum / Minimum Sort) Pengurutan Sisip (Inserrtion Sort) UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
6
III.3. Pengurutan gelembung (Bubble sort)
Metode pengurutan gelembung di inspirasi dari gelembung sabun yang berada di atas permukaan air Karena berat jenis sabun lebih ringan dari pada berat jenis air, maka gelembung sabun akan selalu terapung diatas air. Prinsip pengapungan diatas digunakan pada pengurutan gelembung. Elemen larik yang berharga paling kecil “diapungkan” artinya diangkat keatas (atau ke ujung larik) melalui pertukaran Proses pengapungan ini dilakukan sebanyak N kali langkah. Pada akhir setiap langkah ke K, larik L[1..N] akan terdiri dari dua bagian yang sudah terurut yaitu L[1..K] dan bagian yang belum terurut L[K+1..N]. Setelah langkah terakhir diperoleh larik L[1..N] terurut menaik UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
7
III.3.1 Algoritma Pengurutan gelembung
Langkah 1 : Mulai dari elemen K = N, N-1,…2, bandingkan L[K] dengan L[K-1], jika L[K] < L[K-1], tukar L[K] dengan L[K-1] Pada akhir langkah 1, elemen L[1] berisi harga minimum pertama. Langkah 2 : Mulai dari elemen K = N, N-1,…3, bandingkan L[K] dengan L[K-1], jika L[K] < L[K-1] tukar L[K] dengan L[K-1] Pada akhir langkah 2, elemen L[2] berisi harga minimum kedua dari larik L[1..2] yang terurut. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
8
III.3.1 Algoritma Pengurutan gelembung
Langkah 3 : Mulai dari elemen K = N, N-1,…4, bandingkan L[K] dengan L[K-1], jika L[K] < L[K-1] tukar L[K] dengan L[K-1] Pada akhir langkah 3, elemen L[3] berisi harga minimum kedua dari larik L[1..3] yang terurut. Langkah N - 1 : Mulai dari elemen K = N, bandingkan L[K] dengan L[K-1], jika L[K] < L[K-1] tukar L[K] dengan L[K-1] Pada akhir langkah N, elemen L[N] berisi harga minimum dari larik L[1..N] yang terurut. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
9
III.3.1 Algoritma Pengurutan gelembung
Contoh : Terdapat larik berisi dengan 5 buah elemen ( N=5) yang belum terurut. Lakukan metode Bubble Sort untuk isi larik tersebut. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
10
III.3.1 Algoritma Pengurutan gelembung
Akhir dari langkah 5 menghasilkan deretan data didalam larik L yang sudah terurut menaik. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
11
III.3.1 Algoritma Pengurutan gelembung
Untuk seluruh prosedur pengurutan pada Bab ini menggunakan Deklarasi Array sebagai berikkut : {**Mendefenisikan struktur data**} type larik = array[1..100] of integer; var l : larik; i,n,k,temp : integer; Prosedur untuk menginput data sebanyak N data adalah write('Banyak data yang di input : ');readln(n); for i :=1 to n do begin write ('Data ke ',i,' : ');readln(l[i]); end; Prosedur untuk menampilkan data sebanyak data yang di input adalah writeln;writeln('Data yang sudah terurut adalah'); for k := 1 to n do write(l[k],' '); end. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
12
III.3.1 Algoritma Pengurutan gelembung
Prosedur Pengurutan Gelembung for i := 1 to n-1 do begin for k :=n downto i+1 do if l[k] < l[k-1] then {pertukaran l[k] dengan l[k-1]} temp := l[k]; l[k] := l[k-1]; l[k-1] := temp; end; UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
13
III.4. Pengurutan Maksimum dan minimum (Maksimum sort / Minimum Sort)
Metode pengurutan ini berdasarkan pada pemilihan nilai maksimum atau minimum didalam larik. Gagasannya adalah memilih elemen maksimum atau minimum yang di pertukarkan pada elemen ujung larik. Kemudian elemen ujung tersebut di isolasi untuk tidak disertakan lagi pada proses selanjutnya. Proses yang sama diulang untuk elemen larik yang tersisa sampai data telah terurut maksimum/minmum dan tidak dapat ditukar lagi. Metode pengurutan maksimum atau minimum disebut juga sebagai pegurutan berdasarkan pemilihan/seleksi (selection Sort) UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
14
III.4.1 Algoritma Pengurutan Maksimum
Secara ringkas , algoritma pengurutan maksimum dinyatakan dalam urutan langkah sebagai berikut : Langkah 1 Tentukan harga maksimum didalalam L[1..k] Pertukarkan harga maksimum dengan elemen L[k] Langkah 2 Tentukan harga maksimum didalalam L[1..k-1] Pertukarkan harga maksimum dengan elemen L[k-1] UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
15
III.4.1 Algoritma Pengurutan Maksimum
Langkah 3 Tentukan harga maksimum didalalam L[1..k-2] Pertukarkan harga maksimum dengan elemen L[k-2] Langkah N - 1 Tentukan harga maksimum didalalam L[1.. K-2] Pertukarkan harga maksimum dengan elemen L[N-2] Elemen yang tersisa adalah L[1], tidak perlu diurut lagi karena karna sudah terurut. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
16
III.4.1 Algoritma Pengurutan Maksimum
Contoh : tinjau larik dengan k = 6 buah elemen dibawah ini yang belum terurut. Larik ini akan diurut menaik UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
17
III.4.1 Algoritma Pengurutan Maksimum
Akhir dari langkah 5 menghasilkan deretan data didalam larik L yang sudah terurut menaik. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
18
III.4.1 Algoritma Pengurutan Maksimum
Prosedur Pengurutan Maksimum Menaik u := n; for i := 1 to n-1 do begin maks := l[1]; imaks := 1; for j := 2 to u do if l[j] > maks then maks := l[j]; imaks := j; end; {pertukaran maks dengan l[u]} temp := l[u]; l[u] := l[imaks]; l[imaks] := temp; {larik l[u..n] terurut, larik l[1..u-1] belum terurut} u := u-1; Untuk prosedur minimum, silakan anda lakukan sendiri sebagai latihan UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
19
III.4. Pengurutan Sisip ( Insertion Sort )
Pengurutan sisip (Insertion sort) adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dapat dilakukan dengan cara melakukan pencarian pencarian beruntun didalam larik. Selama pencarian posisi yang tepat dilakukan pergeseran elemen larik. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
20
III.4.1 Algoritma pengurutan sisip menaik
Andaikan : Misalkan L[1] dianggap sudah pada tempatnya Langkah 2 L[2] harus dicari tempatnya yang tepat pada L[1..2] dengan cara menggeser elemen L[1..1] kekanan, bila L[1..1] > L[2]. Misalkan posisi yang tepat adalah K, sisipkan L[2] pada L[K] Langkah 3 L[3] harus dicari tempatnya yang tepat pada L[1..3] dengan cara menggeser elemen L[1..2] kekanan, bila L[1..2] > L[3]. Misalkan posisi yang tepat adalah K, sisipkan L[3] pada L[K] UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
21
III.4.1 Algoritma pengurutan sisip menaik
Langkah N L[N] harus dicari tempatnya yang tepat pada L[1..N] , dengan cara menggeserkan elemen L[1…N-1] kekanan , bila L[1..N-1] > L[N]. Misalkan posisi yang tepat adalah K, sisipkan L[N] pada L[K] UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
22
III.4.1 Algoritma pengurutan sisip menaik
Contoh : tinjau larik dengan N = 6 buah elemen dibawah ini yang belum terurut. Larik ini akan diurut menaik UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
23
III.4.1 Algoritma pengurutan sisip menaik
Akhir dari langkah 5 menghasilkan deretan data didalam larik L yang sudah terurut menaik. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
24
III.4.1 Algoritma pengurutan sisip menaik
Prosedur Pengurutan Gelembung for k := 1 to n do begin temp := l[k]; j := k-1; while (temp <= l[j]) and (j>1) do l[j+1] := l[j];j := j -1; end; if temp >= l[j] then l[j+1] := temp else l[j+1] := l[j]; l[j] := temp; UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
25
Tugas : Buatlah program Pengurutan dengan metode
Gelembung menaik dan menurun Minimum Menaik dan menurun Maksimum menaik dan menurun Sisip menaik dan menurun Dari metode pengurutan diatas, manakah metode yang paling baik, jelaskan. UNIVERSITAS INDO GLOBAL MANDIRI JL. Jend. Sudirman No. 629 Km.4 Palembang Telp. (0711) – Fax (0711)
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.