SlideShare a Scribd company logo
1 of 16
Pengurutan (sorting )

Oleh

: ROSIDA SIMAMORA

Prodi

: Teknik Informatika

Mata Kuliah : Pemrograman Turbo Pascal

Dosen

:
PEMROGRAMAN TURBO PASCAL
1. Proses mangatur sekumpulan obyek/data menurut urutan atau
susunan tertentu.
2. Urutan obyek/data tersebut dapat menaik (ascending) atau
menurun (desencending).
3. Data yang diurutkan dapat berupa data bertipe dasar atau data
bertipe struktur
4. Data yang sudah terurut memiliki keuntungan yaitu Mempercepat
proses pencarian data.
Algoritma pengurutan / sorting bermacam-macam dan setiap algoritma ini
memiliki kinerja yang berbeda-beda. Berikut ini macam-macam algoritma
pengurutan:

Metode Selection Sort
Metode Buble Sort
Metode Merge Sort
Metode Quick Sort

Metode Insertion Sort

Hal yang mempengaruhi Kecepatan Algoritma Sorting adalah Jumlah
Operasi Perbandingan & Jumlah Operasi Pemindahan Data
Selection Sort (Metode Seleksi).
Tehnik pengurutan dengan cara pemilihan elemen dgn memilih elemen data
terkecil utk kemudian dibandingkan & ditukarkan dgn elemen pd data
awal, dst s/d seluruh elemen shg akan menghasilkan pola data yg telah
disort.
Merupakan kombinasi antara sorting dan searching
Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang
memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang
tepat di dalam array.
Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan
data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua
akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua
(data[1]).
Ilustrasi Algoritma Selection Sort
29

27

10

8

76

21

1

2

3

4

5

6

8

27

10

29

76

21

1

2

3

4

5

6

8

10

27

29

76

21

1

2

3

4

5

6

8

10

21

29

76

27

1

2

3

4

5

6

8

10

21

27

76

29

1

2

3

4

5

6

8

10

21

27

29

76

1

2

3

4

5

6

Set Index awal = 1
Index terkecil = 4  8
Tukar index 1dengan 4

Set Index awal = 2
index terkecil = 3  10
Tukar index 2 dengan 3

Set Index awal = 3
index terkecil = 6  21
Tukar index 3 dengan 6

Set Index awal = 4
index terkecil = 6  27
Tukar index 4 dengan 6

Set Index awal = 5
index terkecil = 6  29
Tukar index 5 dengan 6

Index awal = 6 Selesai
Data sudah terurut secara
ascending
Program SelectionSort;
uses crt;
VAR
Data : array[1..10] of integer;
i,j,n,bantu : integer;
BEGIN
clrscr;
Writeln('Masukkan data anda !'); writeln;
Write('jumlah data anda ? '); readln(n);
writeln('Mulai memasukan data ');
for i:=1 to n do
begin
Write('Data ke-',i,' = ');
readln(data[i]);
end;
for i:=1 to N-1 do
for j := i+1 to N do
begin
if data[i] > data[j] then begin
Bantu := data[i];
data[i] := data[j];
data[j] := Bantu;
end;
end;

for i:=1 to n do
write('(',data[i],'),');
readln;
end.
Hasil program
Masukkan data anda !
jumlah data anda ? 5
Mulai memasukan data
Data ke-1 = 4
Data ke-2 = 6
Data ke-3 = 2
Data ke-4 = 8
Data ke-5 = 5
(2),(4),(5),(6),(8),
1. Metode Bubble Sort (Gelembung)
Teknik yang diinspirasi oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis
gelembung lebih ringan dari pada air, maka gelembung akan naik keatas. (benda yang berat akan
terbenam, benda ringan terapung).
Elemen data
pertukaran.

yang paling kecil diapungkan “diangkat keatas” melalui proses

Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang
dengan elemen berikutnya
Algoritma Bubble Sort
1. Pengecekan mulai dari data ke-1 sampai data ke-n
2. Bandingkan data ke-n dengan data sebelumnya (n-1)
3. Jika lebih kecil maka pindahkan bilangan tersebut dengan bilangan yg ada didepannya
sebelumnya ) satu persatu (n-1,n-2,n-3,....dst)
4. Jika lebih besar maka tidak terjadi pemindahan
5. Ulangi langkah 2 dan 3 s/d sort optimal.

(
Analogi :
Larik dengan urut menaik, elemen larik yang berharga paling kecil ‘diapungkan’, artinya diangkat
ke atas (atau ke ujung kiri larik) melalui proses pertukaran.
Proses pengapungan ini dilakukan sebanyak N-1 langkah dengan N adalah ukuran larik.
Pada akhir setiap langkah ke-I, larik L[1..N] akan terdiri atas dua bagian yaitu bagian yang
sudah terurut, yaitu L[1..I] dan bagian yang belum terurut L[I+1..N]. Setelah langkah terakhir,
diperoleh larik L[1..N] yang terurut menaik.
29

27

10

8

76

21

1

2

3

4

5

6

Langkah 1: Index ke n = 6 sampai ke 2.
Index 6
Index (n-1) = 5
Index = 4
Index = 3
Index = 2
8

8
27
27

8
25

8
10
10
10

8

25

27

10

21

2

3

4

5

6

10
25

10
27
27

76
76
76
76
76

76

1

21
21
21
21
21

Langkah 2: Index ke n = 6 sampai ke 3
Index 6
Index (n-1) = 5
Index = 4
Index = 3

10

21
21
21
21

76
76
76
76
8

10

25

27

21

76

1

2

3

4

5

6

Langkah 3: Index ke n = 6 sampai ke 4.
Index 6
Index (n-1) = 5
Index = 4
8
10
21
25
1

2

3

21

27

4

5

21
27
27

21
25

76

76
76
76

6

Langkah 4: Index ke n = 6 sampai ke 5.
Index 6
Index (n-1) = 5

8

10

21

25

27

2

3

4

5

76

76

1

76
76

27

25

27
27

6

Langkah 5: Index ke n = 6 .
Index 6

8

10

21

25

27

76

1

2

3

4

5

6

Elemen sudah urut dan proses sorting selesai
Contoh 2 :
Contoh 3 :

Bubble Sort Disebut juga dengan metode Penukaran (Exchange Sort), yaitu metoda yang mendasarkan
pada penukaran elemen untuk mencapai keadaan urut yang diinginkan.
Algoritma Metode gelembung :
- langkah 0 : Baca vector yang akan diurutkan (dalam program utama)
- langkah 1 : Kerjakan langkah 2 untuk i = 1 sampai N-1
- langkah 2 : Kerjakan langkah 3 untuk j = 1 sampai N- i
- langkah 3 : Tes apakah A[j] > A[j +1] ? Jika ya, tukarkan nilai kedua elemen ini
- langkah 4 : Selesai
Contoh Program Buble Sort
program BubleShort;
uses crt;
VAR
Data
: array[1..10] of integer;
i,j,n,bantu
: integer;
BEGIN
clrscr;
Writeln('Masukkan data anda !');writeln;
Write('jumlah data anda ? ');readln(n);
writeln('Mulai memasukan data ');
for i:=1 to n do
begin
Write('Data ke-',i,' = ');
readln(data[i]);
end;
for i:=1 to N-1 do

Hasil :
Masukkan data anda !
jumlah data anda ? 5
Mulai memasukan data
Data ke-1 = 5
Data ke-2 = 3
Data ke-3 = 6
Data ke-4 = 2
Data ke-5 = 3
(2),(3),(3),(5),(6),

for j := 1 to N-i do
begin
if data[j] > data[j+1] then
begin
Bantu := data[j];
data[j] := data[j+1];
data[j+1] := Bantu;
end;
end;
for i:=1 to n do
write('(',data[i],'),');
readln;
end.
Metode INSERTION SORT (Sisip)
Analogi :
mengurutkan satu set kartu dari kartu yang bernilai paling kecil hingga yang paling besar.
Seluruh kartu diletakkan pada meja, kita sebut meja pertama, disusun dari kiri ke kanan dan a
ke bawah.
Kemudian pada meja kedua tempat meletakkan kartu yang diurutkan.
Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama dan letakkan pada m
kedua.
Ambil kartu kedua dari meja pertama, bandingkan dengan kartu yang berada pada meja ked
kemudian letakkan pada urutan yang sesuai setelah perbandingan.
Proses tersebut akan berlangsung hingga seluruh kartu pada meja pertama telah diletak
berurutan pada meja kedua.
Contoh :
Jika sudah terurut 3,6,9, dan selanjutnya belum terurut 5,7,2,....
5 akan disisipkan di antara 3 dan 6, sehingga menjadi 3,5,6,9.
7 akan disisipkan di antara 6 dan 9, sehingga menjadi 3,5,6,7,9.
2 akan disisipkan sebelum 3, sehingga menjadi 2,3,5,6,7,9.
Contoh :

More Related Content

What's hot

6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)Kelinci Coklat
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Dasar dasar matematika teknik optimasi (matrix hessian)
Dasar dasar matematika teknik optimasi (matrix hessian)Dasar dasar matematika teknik optimasi (matrix hessian)
Dasar dasar matematika teknik optimasi (matrix hessian)Muhammad Ali Subkhan Candra
 
Final Project APSI : ANALISIS PERANCANGAN SISTEM INFORMASI PENJUALAN SUPERMAR...
Final Project APSI : ANALISIS PERANCANGAN SISTEM INFORMASI PENJUALAN SUPERMAR...Final Project APSI : ANALISIS PERANCANGAN SISTEM INFORMASI PENJUALAN SUPERMAR...
Final Project APSI : ANALISIS PERANCANGAN SISTEM INFORMASI PENJUALAN SUPERMAR...Ferdinand Jason
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapCheria Asyifa
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianFahrul Usman
 
Metode transportasi
Metode transportasiMetode transportasi
Metode transportasihazhiyah
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
Perancangan dan Analisa Sistem
Perancangan dan Analisa SistemPerancangan dan Analisa Sistem
Perancangan dan Analisa Sistemguestb7aaaf1e
 
Statistik deskriptif
Statistik deskriptifStatistik deskriptif
Statistik deskriptifGrizia Zhulva
 
10 penjadwalan dengan metode pert
10 penjadwalan dengan metode pert10 penjadwalan dengan metode pert
10 penjadwalan dengan metode pertSimon Patabang
 
Makalah array
Makalah arrayMakalah array
Makalah arrayAnanda II
 
Sorting shell-sort bw
Sorting   shell-sort bwSorting   shell-sort bw
Sorting shell-sort bwFajar Zain
 
5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutanAnna Fitria
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Melina Krisnawati
 

What's hot (20)

6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Dasar dasar matematika teknik optimasi (matrix hessian)
Dasar dasar matematika teknik optimasi (matrix hessian)Dasar dasar matematika teknik optimasi (matrix hessian)
Dasar dasar matematika teknik optimasi (matrix hessian)
 
Final Project APSI : ANALISIS PERANCANGAN SISTEM INFORMASI PENJUALAN SUPERMAR...
Final Project APSI : ANALISIS PERANCANGAN SISTEM INFORMASI PENJUALAN SUPERMAR...Final Project APSI : ANALISIS PERANCANGAN SISTEM INFORMASI PENJUALAN SUPERMAR...
Final Project APSI : ANALISIS PERANCANGAN SISTEM INFORMASI PENJUALAN SUPERMAR...
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Metode transportasi
Metode transportasiMetode transportasi
Metode transportasi
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Perancangan dan Analisa Sistem
Perancangan dan Analisa SistemPerancangan dan Analisa Sistem
Perancangan dan Analisa Sistem
 
Statistik deskriptif
Statistik deskriptifStatistik deskriptif
Statistik deskriptif
 
10 penjadwalan dengan metode pert
10 penjadwalan dengan metode pert10 penjadwalan dengan metode pert
10 penjadwalan dengan metode pert
 
Makalah array
Makalah arrayMakalah array
Makalah array
 
Sorting shell-sort bw
Sorting   shell-sort bwSorting   shell-sort bw
Sorting shell-sort bw
 
5 perulangan
5 perulangan5 perulangan
5 perulangan
 
Data Array
Data ArrayData Array
Data Array
 
Teori antrian
Teori antrianTeori antrian
Teori antrian
 
5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 

Viewers also liked

Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataAli Must Can
 
Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Muhammad Martayuda
 
Struktur data (bubble sort)
Struktur data (bubble sort)Struktur data (bubble sort)
Struktur data (bubble sort)Ahmad Irham
 
Kelompok6 tahapan pengembangan aplikasi
Kelompok6 tahapan pengembangan aplikasiKelompok6 tahapan pengembangan aplikasi
Kelompok6 tahapan pengembangan aplikasiRobbyyanto Robbyyanto
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (7)

Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan data
 
Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
 
Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)
 
Struktur data (bubble sort)
Struktur data (bubble sort)Struktur data (bubble sort)
Struktur data (bubble sort)
 
Kelompok6 tahapan pengembangan aplikasi
Kelompok6 tahapan pengembangan aplikasiKelompok6 tahapan pengembangan aplikasi
Kelompok6 tahapan pengembangan aplikasi
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Pengurutan (sorting )

Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritmaSelamatriady
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode SortingNurul Habibah
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianShofura Kamal
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanReskidtc
 
9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-dataWandi Parlente
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Mutia Rahmadania
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaMutia Rahmadania
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Algoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionAlgoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionGeorgius Rinaldo
 
Struktur data chapter_14
Struktur data chapter_14Struktur data chapter_14
Struktur data chapter_14Sejahtera Affif
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingDea Rokhmatun Iradewa
 
program pencarian data dengan bahasa C
program pencarian data dengan bahasa Cprogram pencarian data dengan bahasa C
program pencarian data dengan bahasa Ckir yy
 

Similar to Pengurutan (sorting ) (20)

Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritma
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
 
Tugas Algoritma
Tugas AlgoritmaTugas Algoritma
Tugas Algoritma
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
ratna mustika sari
ratna mustika sariratna mustika sari
ratna mustika sari
 
Algoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionAlgoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertion
 
Struktur data chapter_14
Struktur data chapter_14Struktur data chapter_14
Struktur data chapter_14
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 
program pencarian data dengan bahasa C
program pencarian data dengan bahasa Cprogram pencarian data dengan bahasa C
program pencarian data dengan bahasa C
 
Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 

Pengurutan (sorting )

  • 1. Pengurutan (sorting ) Oleh : ROSIDA SIMAMORA Prodi : Teknik Informatika Mata Kuliah : Pemrograman Turbo Pascal Dosen : PEMROGRAMAN TURBO PASCAL
  • 2. 1. Proses mangatur sekumpulan obyek/data menurut urutan atau susunan tertentu. 2. Urutan obyek/data tersebut dapat menaik (ascending) atau menurun (desencending). 3. Data yang diurutkan dapat berupa data bertipe dasar atau data bertipe struktur 4. Data yang sudah terurut memiliki keuntungan yaitu Mempercepat proses pencarian data.
  • 3. Algoritma pengurutan / sorting bermacam-macam dan setiap algoritma ini memiliki kinerja yang berbeda-beda. Berikut ini macam-macam algoritma pengurutan: Metode Selection Sort Metode Buble Sort Metode Merge Sort Metode Quick Sort Metode Insertion Sort Hal yang mempengaruhi Kecepatan Algoritma Sorting adalah Jumlah Operasi Perbandingan & Jumlah Operasi Pemindahan Data
  • 4. Selection Sort (Metode Seleksi). Tehnik pengurutan dengan cara pemilihan elemen dgn memilih elemen data terkecil utk kemudian dibandingkan & ditukarkan dgn elemen pd data awal, dst s/d seluruh elemen shg akan menghasilkan pola data yg telah disort. Merupakan kombinasi antara sorting dan searching Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array. Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]).
  • 5.
  • 6. Ilustrasi Algoritma Selection Sort 29 27 10 8 76 21 1 2 3 4 5 6 8 27 10 29 76 21 1 2 3 4 5 6 8 10 27 29 76 21 1 2 3 4 5 6 8 10 21 29 76 27 1 2 3 4 5 6 8 10 21 27 76 29 1 2 3 4 5 6 8 10 21 27 29 76 1 2 3 4 5 6 Set Index awal = 1 Index terkecil = 4  8 Tukar index 1dengan 4 Set Index awal = 2 index terkecil = 3  10 Tukar index 2 dengan 3 Set Index awal = 3 index terkecil = 6  21 Tukar index 3 dengan 6 Set Index awal = 4 index terkecil = 6  27 Tukar index 4 dengan 6 Set Index awal = 5 index terkecil = 6  29 Tukar index 5 dengan 6 Index awal = 6 Selesai Data sudah terurut secara ascending
  • 7.
  • 8. Program SelectionSort; uses crt; VAR Data : array[1..10] of integer; i,j,n,bantu : integer; BEGIN clrscr; Writeln('Masukkan data anda !'); writeln; Write('jumlah data anda ? '); readln(n); writeln('Mulai memasukan data '); for i:=1 to n do begin Write('Data ke-',i,' = '); readln(data[i]); end; for i:=1 to N-1 do for j := i+1 to N do begin if data[i] > data[j] then begin Bantu := data[i]; data[i] := data[j]; data[j] := Bantu; end; end; for i:=1 to n do write('(',data[i],'),'); readln; end. Hasil program Masukkan data anda ! jumlah data anda ? 5 Mulai memasukan data Data ke-1 = 4 Data ke-2 = 6 Data ke-3 = 2 Data ke-4 = 8 Data ke-5 = 5 (2),(4),(5),(6),(8),
  • 9. 1. Metode Bubble Sort (Gelembung) Teknik yang diinspirasi oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung lebih ringan dari pada air, maka gelembung akan naik keatas. (benda yang berat akan terbenam, benda ringan terapung). Elemen data pertukaran. yang paling kecil diapungkan “diangkat keatas” melalui proses Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya Algoritma Bubble Sort 1. Pengecekan mulai dari data ke-1 sampai data ke-n 2. Bandingkan data ke-n dengan data sebelumnya (n-1) 3. Jika lebih kecil maka pindahkan bilangan tersebut dengan bilangan yg ada didepannya sebelumnya ) satu persatu (n-1,n-2,n-3,....dst) 4. Jika lebih besar maka tidak terjadi pemindahan 5. Ulangi langkah 2 dan 3 s/d sort optimal. (
  • 10. Analogi : Larik dengan urut menaik, elemen larik yang berharga paling kecil ‘diapungkan’, artinya diangkat ke atas (atau ke ujung kiri larik) melalui proses pertukaran. Proses pengapungan ini dilakukan sebanyak N-1 langkah dengan N adalah ukuran larik. Pada akhir setiap langkah ke-I, larik L[1..N] akan terdiri atas dua bagian yaitu bagian yang sudah terurut, yaitu L[1..I] dan bagian yang belum terurut L[I+1..N]. Setelah langkah terakhir, diperoleh larik L[1..N] yang terurut menaik. 29 27 10 8 76 21 1 2 3 4 5 6 Langkah 1: Index ke n = 6 sampai ke 2. Index 6 Index (n-1) = 5 Index = 4 Index = 3 Index = 2 8 8 27 27 8 25 8 10 10 10 8 25 27 10 21 2 3 4 5 6 10 25 10 27 27 76 76 76 76 76 76 1 21 21 21 21 21 Langkah 2: Index ke n = 6 sampai ke 3 Index 6 Index (n-1) = 5 Index = 4 Index = 3 10 21 21 21 21 76 76 76 76
  • 11. 8 10 25 27 21 76 1 2 3 4 5 6 Langkah 3: Index ke n = 6 sampai ke 4. Index 6 Index (n-1) = 5 Index = 4 8 10 21 25 1 2 3 21 27 4 5 21 27 27 21 25 76 76 76 76 6 Langkah 4: Index ke n = 6 sampai ke 5. Index 6 Index (n-1) = 5 8 10 21 25 27 2 3 4 5 76 76 1 76 76 27 25 27 27 6 Langkah 5: Index ke n = 6 . Index 6 8 10 21 25 27 76 1 2 3 4 5 6 Elemen sudah urut dan proses sorting selesai
  • 13. Contoh 3 : Bubble Sort Disebut juga dengan metode Penukaran (Exchange Sort), yaitu metoda yang mendasarkan pada penukaran elemen untuk mencapai keadaan urut yang diinginkan. Algoritma Metode gelembung : - langkah 0 : Baca vector yang akan diurutkan (dalam program utama) - langkah 1 : Kerjakan langkah 2 untuk i = 1 sampai N-1 - langkah 2 : Kerjakan langkah 3 untuk j = 1 sampai N- i - langkah 3 : Tes apakah A[j] > A[j +1] ? Jika ya, tukarkan nilai kedua elemen ini - langkah 4 : Selesai
  • 14. Contoh Program Buble Sort program BubleShort; uses crt; VAR Data : array[1..10] of integer; i,j,n,bantu : integer; BEGIN clrscr; Writeln('Masukkan data anda !');writeln; Write('jumlah data anda ? ');readln(n); writeln('Mulai memasukan data '); for i:=1 to n do begin Write('Data ke-',i,' = '); readln(data[i]); end; for i:=1 to N-1 do Hasil : Masukkan data anda ! jumlah data anda ? 5 Mulai memasukan data Data ke-1 = 5 Data ke-2 = 3 Data ke-3 = 6 Data ke-4 = 2 Data ke-5 = 3 (2),(3),(3),(5),(6), for j := 1 to N-i do begin if data[j] > data[j+1] then begin Bantu := data[j]; data[j] := data[j+1]; data[j+1] := Bantu; end; end; for i:=1 to n do write('(',data[i],'),'); readln; end.
  • 16. Analogi : mengurutkan satu set kartu dari kartu yang bernilai paling kecil hingga yang paling besar. Seluruh kartu diletakkan pada meja, kita sebut meja pertama, disusun dari kiri ke kanan dan a ke bawah. Kemudian pada meja kedua tempat meletakkan kartu yang diurutkan. Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama dan letakkan pada m kedua. Ambil kartu kedua dari meja pertama, bandingkan dengan kartu yang berada pada meja ked kemudian letakkan pada urutan yang sesuai setelah perbandingan. Proses tersebut akan berlangsung hingga seluruh kartu pada meja pertama telah diletak berurutan pada meja kedua. Contoh : Jika sudah terurut 3,6,9, dan selanjutnya belum terurut 5,7,2,.... 5 akan disisipkan di antara 3 dan 6, sehingga menjadi 3,5,6,9. 7 akan disisipkan di antara 6 dan 9, sehingga menjadi 3,5,6,7,9. 2 akan disisipkan sebelum 3, sehingga menjadi 2,3,5,6,7,9. Contoh :