SlideShare a Scribd company logo
5 Metode Sorting dan Aplikasinya
Tugas Kuliah Algoritma dan Struktur Data
Kiki Andriani
Manajemen Informatika
Politeknik Negeri Lampung
Bandar Lampung, Lampung
Kikiandriyani123@gmail.com
Abstract—
Abstract— Paper ini membahas dan mengkaji implementasi 5
metode sorting yaitu Bubble Sort, Selection Sort, Insert Sort,
Merge Sort, dan Quick Sort yang disertai contoh yang
digunakan untuk membuat sebuah program.
Index Terms— Algoritma, Bubble Sort, Slection Sort, Insert
Sort, Merge Sort, Quick Sort (key words)
I. INTRODUCTION IN SORTING
Sorting adalah proses menyusun elemen – elemen dengan
tata urut tertentu dan proses tersebut terimplementasi dalam
bermacam aplikasi. Kita ambil contoh pada aplikasi
perbankan. Aplikasi tersebut mampu menampilkan daftar
account yang aktif.
Hampir seluruh pengguna pada sistem akan memilih
tampilan daftar berurutan secara ascending demi
kenyamanan dalam penelusuran data.
Beberapa macam algoritma sorting telah dibuat karena
proses tersebut sangat mendasar dan sering digunakan. Oleh
karena itu, pemahaman atas algoritma – algoritma yang ada
sangatlah berguna.
II. TYPE METODE SORTING
1. Bubble Sort
2. Selection Sort (Ascending):
3. Insert short
4. Merge sort (metode penggabungan)
5. Quick Sort
III. EASE OF USE METODE SHORTING
1. Bubble Sort
Konsep Buble Sort yaitu Metode pengurutan
gelembung (Bubble Sort) diinspirasikan oleh
gelembung sabun yang berada dipermukaan air.
Karena berat jenis gelembung sabun lebih ringan
daripada berat jenis air, maka gelembung sabun
selalu terapung ke atas permukaan. Prinsip di atas
dipakai pada pengurutan gelembung.Bubble sort
(metode gelembung) adalah metode/algoritma
pengurutan dengan dengan cara melakukan
penukaran data dengan tepat disebelahnya secara
terus menerus sampai bisa dipastikan dalam satu
iterasi tertentu tidak ada lagi perubahan. Jika tidak
ada perubahan berarti data sudah terurut. Disebut
pengurutan gelembung karena masing-masing kunci
akan dengan lambat menggelembung ke posisinya
yang tepat
2. Selection Sort (Ascending)
Pengurutan dilakukan dengan memilih elemen tesar
dan menempatkan pada posisinya,kemudian mencari
element terbesar berikutnya dan menempatkan pada
tempatnya, dan seterusnya.
3. Insert short
Data dicek satu per satu mulai dari yang kedua
sampai dengan yang terakhir. Apabila ditemukan
data yang lebih kecil daripada data sebelumnya,
maka data tersebut disisipkan pada posisi yang
sesuai. Akan lebih mudah apabila membayangkan
pengurutan kartu.
Pertama-tama anda meletakkan kartu-kartu tersebut
di atas meja, kemudian melihatnya dari kiri ke
kanan. Apabila kartu di sebelah kanan lebih kecil
daripada kartu di sebelahkiri, maka ambil kartu
tersebut dan sisipkan di tempat yang sesuai.
4. Merge sort (metode penggabungan)
Merge Sort merupakan jenis pengurutan yang
dirumuskan dalam 3 tahap berpola divide-and-conquer.
berikut tahapan Merge Sort :
• Divide = Memilah elemen – elemen dari
rangkaian data menjadi dua bagian.
• Conquer = setiap bagian dengan memanggil
prosedur merge sort secara rekursif
Kombinasi = Mengkombinasikan dua bagian tersebut secara
rekursif untuk mendapatkan rangkaian data yang berurutan.
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini
terjadi jika bagian yang akan diurutkan menyisakan tepat
satu elemen. Sisa pengurutan satu elemen tersebut
menandakan bahwa bagian tersebut telah terurut sesuai
rangkaian yagn dikehendaki.
5. Quick Sort
Quick sort merupakan metode pengurutan dengan
algoritma berdasarkan pola divide-and-conquer.
IV. PREPARE YOUR METODE
 Selection Sort
A. Proses pengurutan dengan menggunakan metode
selection sort secara terurut naik adalah :
1. Mencari data terkecil dari data pertama sampai data
terakhir, kemunian di tukar posisinya dengan data
pertama.
2. mencari data terkecil dari data kedua sampai data
terakhir, kemudian di tukar dengan posisinya dengan
data kedua.
3. mencari data terkecil dari data ketiga sampai data
terakhir, kemudian di tukar posisinya dengan data ketiga
4. dan seterusnya sampai semua data turut naik. apabila
terdapat n buah data yang akan di urutkan, maka
membutukan (n - 1) langkah pengurutan, dimana data
terakhir yaitu data ke-n tidak perlu di urutkan karena
hanya tinggal satu satunya.
B. Contoh:
Bubble sort:
10 36 5 7 9 8
10 5 36 7 9 8
5 10 36 7 9 8
5 10 36 7 9 8
5 10 36 7 9 8
5 10 7 36 9 8
5 7 10 36 9 8
5 7 10 36 9 8
5 7 10 9 36 8
5 7 9 10 36 8
5 7 9 10 36 8
5 7 9 10 8 36
5 7 9 8 10 36
5 7 9 8 10 36
5 7 8 9 10 36
5 7 8 9 10 36
Selection Sort:
PROSES 1
0 1 2 3 4 5
10 36 5 7 9 8
PEMBANDING POSISI
10 < 36 0
10> 5 2 (Tukar idx)
5< 7 0
5< 9 0
5< 8 0
5 36 10 7 9 8
PROSES 2
0 1 2 3 4 5
5 10 36 7 9 8
PEMBANDING POSISI
36 > 10 2 (tukar idx)
10> 7 3 (tukar idx)
7< 9 1
5 7 10 36 9 8
PROSES 3
0 1 2 3 4 5
5 7 10 36 9 8
PEMBANDING POSISI
10< 36 2
10> 9 4 (tukar idx)
9> 8 5 (tukar idx)
5 7 8 36 9 10
PROSES 4
0 1 2 3 4 5
5 7 8 36 9 10
PEMBANDING POSISI
36> 9 4 (tukar idx)
9< 10 3 (tukar idx)
5 7 8 9 36 10
PROSES 5
0 1 2 3 4 5
5 7 8 9 36 10
PEMBANDING POSISI
53> 10 5 (tukar idx)
5 7 8 9 10 36
Insert Sort:
PROSES 1
0 1 2 3 4 5
10 36 5 7 9 8
Temp Cek Geser
5 Temp < 10 Data ke -0 ke posisi 1
5 Temp < 36 Data ke -1 ke posisi 2
5 10 36 7 9 8
PROSES 2
0 1 2 3 4 5
5 10 36 7 9 8
Temp Cek Geser
7 Temp < 10 Data ke -1 ke posisi 2
7 Temp < 36 Data ke -2 ke posisi 3
5 7 10 36 9 8
Proses ke 3
0 1 2 3 4 5
5 7 10 36 9 8
Temp Cek Geser
8 Temp < 10 Data ke -2 ke posisi 3
8 Temp < 36 Data ke -3 ke posisi 4
5 7 8 10 36 9
PROSES 4
0 1 2 3 4 5
5 7 8 10 36 9
Temp Cek Geser
9 Temp < 10 Data ke -3 ke
posisi 4
9 Temp < 36 Data ke -4 ke
posisi 5
5 7 8 9 10 36
Quick sort
Sebagai contoh, data yang akan diurutkan sejumlah 12
elemen sebagai berikut :
33 45 18 7 5 99 57 25 55 10 40 50
Misalnya element yang dipilih adalah element yang
pertama, maka variabel Sementara bernilai 33. Setelah
diatur, maka nilai 33 akan menempati posisi ke I, yaitu
posisi urutan ke 6 sebagai berikut :
Tampak bahwa kondisi berikut terpenuhi, yaitu :
1. Semua elemen di posisi ke 1 sampai dengan posisi
ke 5 (10, 25, 18, 7,dan 5) akan lebih kecil atau
sama dengan nilai 33 yang dipilih.
2. Semua elemen di posisi ke 7 sampai dengan ke 12
(57,99,55,45,40 dan 50) aka lebih besar atau sama
dengan nilai 33 yang dipilih.
Dengan demikian, data tersebut akan terpecah menjadi 2
partisi, sebagai berikut :
(10 25 18 7 5) 33 (57 99 55 45 40 50)
Proses ini diulangi kembali untuk masing-masing partisi
data, yaitu untuk data (10, 25, 18, 7, 5) dan data (57, 99, 55,
45, 40, 50). Untuk partisi yang pertama, bila nilai Sementara
yang diambil adalah data pertama kembali dalam partisi
bersangkutan, yaitu 10 dan diatur kembali sedemikian rupa,
maka nilai data yang dipilih akan terletak di posisi sebagai
berikut:
(5 7) 10 (18 25) 33 (57 99 55 45 40 50)
Untuk mengurutkan masing-masing partisi, maka proses
tersebut diulangi kembali dan tiap-tiap partisi dipecah-pecah
kembali lebih lanjut. Kurung yang menutupi partisi
menunjukkan data yang belum urut dan perlu diurutkan
kembali. Sedang data yang tidak berada diantara tanda
kurung merupakan data yang sudah diurut. Iterasi selanjutya
sampai didapatkan data yang telah urut semuanya adalah
sebagai berikut ini.
5 ( 7) 10 (18 25) 33 (57 99 55 45 40 50)
5 7 10 18 (25) 33 (57 99 55 45 40 50)
5 7 10 18 25 33 (50 40 55 45) 57 (99)
5 7 10 18 25 33 (50 40 55 45) 57 99
5 7 10 18 25 33 (45 40) 50 (55) 57 99
5 7 10 18 25 33 (45 40) 50 55 57 99
5 7 10 18 25 33 40 (45) 50 55 57 99
5 7 10 18 25 33 40 45 50 55 57 99
Bila diamati lebih lanjut, maka quick sort dapat
didefinisikan dengan lebih mudah menggunakan prosedur
rekursi. Misalnya untuk partisi sebagai berikut
Merge sort
Contoh penerapan atas sebuah larik/array sebagai data
sumber yang akan diurutkan {3, 9, 4, 1, 5, 2} adalah sebagai
berikut:
a. pertama kali larik tersebut dibagi menjadi dua bagian, {3,
9, 4} dan {1, 5, 2}
b. Kedua larik kemudian diurutkan secara terpisah sehingga
menjadi {3, 4, 9} dan {1, 2, 5}
c. Sebuah larik baru dibentuk yang sebagai penggabungan
dari kedua larik tersebut {1}, sementara nilai-nilai dalam
masing larik {3, 4, 9} dan {2, 5} (nilai 1 dalam elemen larik
ke dua telah dipindahkan ke larik baru)
d. langkah berikutnya adalah penggabungan dari masing-
masing larik ke dalam larik baru yang dibuat sebelumnya
e. {1, 2} ↔{3, 4, 9} dan {5}
f. {1, 2, 3} ↔ {4, 9} dan {5}
g. {1, 2, 3, 4}↔{9} dan {5}
h. {1, 2, 3, 4, 5}↔{9} dan {null}
i. {1, 2, 3, 4, 5, 9}↔{null}dan {null}
Daftar Pustaka
MERGE SORT
http://populeritas.blogspot.com/2013/01/metode-
pengurutan-merge-sort.html
QUICK SORT http://kudaneal.blogspot.com/2010/11/v-
behaviorurldefaultvmlo.html

More Related Content

What's hot

Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
Dea Rokhmatun Iradewa
 

What's hot (18)

207 p10
207 p10207 p10
207 p10
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 
Makalah Algoritma DAA 1
Makalah Algoritma DAA 1Makalah Algoritma DAA 1
Makalah Algoritma DAA 1
 
Kelompok 6
Kelompok 6Kelompok 6
Kelompok 6
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Tugas kelompok 6
Tugas kelompok 6Tugas kelompok 6
Tugas kelompok 6
 
Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
 
Makalah shell sort
Makalah shell sortMakalah shell sort
Makalah shell sort
 
Laporan tugas struktur data
Laporan tugas struktur dataLaporan tugas struktur data
Laporan tugas struktur data
 
Sorting insert binary
Sorting insert binarySorting insert binary
Sorting insert binary
 
Tria opita
Tria opitaTria opita
Tria opita
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017
 
Modul 4 pbo
Modul 4 pboModul 4 pbo
Modul 4 pbo
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Struktur data chapter_12
Struktur data chapter_12Struktur data chapter_12
Struktur data chapter_12
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
Ifc modul 4(sotring)
Ifc   modul 4(sotring)Ifc   modul 4(sotring)
Ifc modul 4(sotring)
 

Similar to kiki andriani , 5 metode sorting

Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).ppt
FaldoPku
 

Similar to kiki andriani , 5 metode sorting (18)

Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
SD pert 6 sorting.pptx
SD pert 6 sorting.pptxSD pert 6 sorting.pptx
SD pert 6 sorting.pptx
 
Informatika (BK).pptx
Informatika (BK).pptxInformatika (BK).pptx
Informatika (BK).pptx
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).ppt
 
Msw a4 format
Msw a4 formatMsw a4 format
Msw a4 format
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
 
Tugas Algoritma
Tugas AlgoritmaTugas Algoritma
Tugas Algoritma
 
Revitalia purba
Revitalia purbaRevitalia purba
Revitalia purba
 
Struktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptxStruktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptx
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
Array statis if
Array statis ifArray statis if
Array statis if
 
belajar algoritma
belajar algoritmabelajar algoritma
belajar algoritma
 
desain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdfdesain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdf
 
Pertemuan 11 ok
Pertemuan 11 okPertemuan 11 ok
Pertemuan 11 ok
 
Cluster
ClusterCluster
Cluster
 

Recently uploaded

Recently uploaded (20)

MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
 
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJARAKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Sosialisme Kapitalis Karl Marx (Dosen Pengampu: Khoirin Nisai Shalihati)
Sosialisme Kapitalis Karl Marx (Dosen Pengampu: Khoirin Nisai Shalihati)Sosialisme Kapitalis Karl Marx (Dosen Pengampu: Khoirin Nisai Shalihati)
Sosialisme Kapitalis Karl Marx (Dosen Pengampu: Khoirin Nisai Shalihati)
 
Solusi Masalah Pendidikan Kelompok 9 Wawasan Pendidikan.pptx
Solusi Masalah Pendidikan Kelompok 9 Wawasan Pendidikan.pptxSolusi Masalah Pendidikan Kelompok 9 Wawasan Pendidikan.pptx
Solusi Masalah Pendidikan Kelompok 9 Wawasan Pendidikan.pptx
 
Solusi dan Strategi ATHG yang di hadapi Indonesia (Kelas 11).pptx
Solusi dan Strategi ATHG yang di hadapi Indonesia (Kelas 11).pptxSolusi dan Strategi ATHG yang di hadapi Indonesia (Kelas 11).pptx
Solusi dan Strategi ATHG yang di hadapi Indonesia (Kelas 11).pptx
 
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docxCONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
 
Repi jayanti_2021 B_Analsis Kritis Jurnal
Repi jayanti_2021 B_Analsis Kritis JurnalRepi jayanti_2021 B_Analsis Kritis Jurnal
Repi jayanti_2021 B_Analsis Kritis Jurnal
 
Dokumen Tindak Lanjut Pengelolaan Kinerja Guru.docx
Dokumen Tindak Lanjut Pengelolaan Kinerja Guru.docxDokumen Tindak Lanjut Pengelolaan Kinerja Guru.docx
Dokumen Tindak Lanjut Pengelolaan Kinerja Guru.docx
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
Sejarah dan Perkembangan Agama Hindu.pptx
Sejarah dan Perkembangan Agama Hindu.pptxSejarah dan Perkembangan Agama Hindu.pptx
Sejarah dan Perkembangan Agama Hindu.pptx
 
perumusan visi, misi dan tujuan sekolah.ppt
perumusan visi, misi dan tujuan sekolah.pptperumusan visi, misi dan tujuan sekolah.ppt
perumusan visi, misi dan tujuan sekolah.ppt
 
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdf
 
Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024
 
Naufal Khawariz_2021 B_Analisis Kritis Jurnal.pdf
Naufal Khawariz_2021 B_Analisis Kritis Jurnal.pdfNaufal Khawariz_2021 B_Analisis Kritis Jurnal.pdf
Naufal Khawariz_2021 B_Analisis Kritis Jurnal.pdf
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.comModul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
 
1. Standar Operasional Prosedur PPDB Pada paud
1. Standar Operasional Prosedur PPDB Pada paud1. Standar Operasional Prosedur PPDB Pada paud
1. Standar Operasional Prosedur PPDB Pada paud
 
ALUR TUJUAN PEMBELAJARAN (ATP) B. Inggris kelas 7.pdf
ALUR TUJUAN PEMBELAJARAN (ATP) B. Inggris kelas 7.pdfALUR TUJUAN PEMBELAJARAN (ATP) B. Inggris kelas 7.pdf
ALUR TUJUAN PEMBELAJARAN (ATP) B. Inggris kelas 7.pdf
 

kiki andriani , 5 metode sorting

  • 1. 5 Metode Sorting dan Aplikasinya Tugas Kuliah Algoritma dan Struktur Data Kiki Andriani Manajemen Informatika Politeknik Negeri Lampung Bandar Lampung, Lampung Kikiandriyani123@gmail.com Abstract— Abstract— Paper ini membahas dan mengkaji implementasi 5 metode sorting yaitu Bubble Sort, Selection Sort, Insert Sort, Merge Sort, dan Quick Sort yang disertai contoh yang digunakan untuk membuat sebuah program. Index Terms— Algoritma, Bubble Sort, Slection Sort, Insert Sort, Merge Sort, Quick Sort (key words) I. INTRODUCTION IN SORTING Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif. Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data. Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma yang ada sangatlah berguna. II. TYPE METODE SORTING 1. Bubble Sort 2. Selection Sort (Ascending): 3. Insert short 4. Merge sort (metode penggabungan) 5. Quick Sort III. EASE OF USE METODE SHORTING 1. Bubble Sort Konsep Buble Sort yaitu Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat 2. Selection Sort (Ascending) Pengurutan dilakukan dengan memilih elemen tesar dan menempatkan pada posisinya,kemudian mencari element terbesar berikutnya dan menempatkan pada tempatnya, dan seterusnya. 3. Insert short Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu. Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelahkiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai. 4. Merge sort (metode penggabungan) Merge Sort merupakan jenis pengurutan yang dirumuskan dalam 3 tahap berpola divide-and-conquer. berikut tahapan Merge Sort : • Divide = Memilah elemen – elemen dari rangkaian data menjadi dua bagian. • Conquer = setiap bagian dengan memanggil prosedur merge sort secara rekursif Kombinasi = Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data yang berurutan. Proses rekursi berhenti jika mencapai elemen dasar. Hal ini
  • 2. terjadi jika bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian yagn dikehendaki. 5. Quick Sort Quick sort merupakan metode pengurutan dengan algoritma berdasarkan pola divide-and-conquer. IV. PREPARE YOUR METODE  Selection Sort A. Proses pengurutan dengan menggunakan metode selection sort secara terurut naik adalah : 1. Mencari data terkecil dari data pertama sampai data terakhir, kemunian di tukar posisinya dengan data pertama. 2. mencari data terkecil dari data kedua sampai data terakhir, kemudian di tukar dengan posisinya dengan data kedua. 3. mencari data terkecil dari data ketiga sampai data terakhir, kemudian di tukar posisinya dengan data ketiga 4. dan seterusnya sampai semua data turut naik. apabila terdapat n buah data yang akan di urutkan, maka membutukan (n - 1) langkah pengurutan, dimana data terakhir yaitu data ke-n tidak perlu di urutkan karena hanya tinggal satu satunya. B. Contoh: Bubble sort: 10 36 5 7 9 8 10 5 36 7 9 8 5 10 36 7 9 8 5 10 36 7 9 8 5 10 36 7 9 8 5 10 7 36 9 8 5 7 10 36 9 8 5 7 10 36 9 8 5 7 10 9 36 8 5 7 9 10 36 8 5 7 9 10 36 8 5 7 9 10 8 36 5 7 9 8 10 36 5 7 9 8 10 36 5 7 8 9 10 36 5 7 8 9 10 36 Selection Sort: PROSES 1 0 1 2 3 4 5 10 36 5 7 9 8 PEMBANDING POSISI 10 < 36 0 10> 5 2 (Tukar idx) 5< 7 0 5< 9 0 5< 8 0 5 36 10 7 9 8 PROSES 2 0 1 2 3 4 5 5 10 36 7 9 8 PEMBANDING POSISI 36 > 10 2 (tukar idx) 10> 7 3 (tukar idx) 7< 9 1 5 7 10 36 9 8 PROSES 3 0 1 2 3 4 5 5 7 10 36 9 8 PEMBANDING POSISI 10< 36 2 10> 9 4 (tukar idx) 9> 8 5 (tukar idx) 5 7 8 36 9 10 PROSES 4 0 1 2 3 4 5 5 7 8 36 9 10 PEMBANDING POSISI 36> 9 4 (tukar idx) 9< 10 3 (tukar idx) 5 7 8 9 36 10 PROSES 5 0 1 2 3 4 5 5 7 8 9 36 10 PEMBANDING POSISI 53> 10 5 (tukar idx) 5 7 8 9 10 36
  • 3. Insert Sort: PROSES 1 0 1 2 3 4 5 10 36 5 7 9 8 Temp Cek Geser 5 Temp < 10 Data ke -0 ke posisi 1 5 Temp < 36 Data ke -1 ke posisi 2 5 10 36 7 9 8 PROSES 2 0 1 2 3 4 5 5 10 36 7 9 8 Temp Cek Geser 7 Temp < 10 Data ke -1 ke posisi 2 7 Temp < 36 Data ke -2 ke posisi 3 5 7 10 36 9 8 Proses ke 3 0 1 2 3 4 5 5 7 10 36 9 8 Temp Cek Geser 8 Temp < 10 Data ke -2 ke posisi 3 8 Temp < 36 Data ke -3 ke posisi 4 5 7 8 10 36 9 PROSES 4 0 1 2 3 4 5 5 7 8 10 36 9 Temp Cek Geser 9 Temp < 10 Data ke -3 ke posisi 4 9 Temp < 36 Data ke -4 ke posisi 5 5 7 8 9 10 36 Quick sort Sebagai contoh, data yang akan diurutkan sejumlah 12 elemen sebagai berikut : 33 45 18 7 5 99 57 25 55 10 40 50 Misalnya element yang dipilih adalah element yang pertama, maka variabel Sementara bernilai 33. Setelah diatur, maka nilai 33 akan menempati posisi ke I, yaitu posisi urutan ke 6 sebagai berikut : Tampak bahwa kondisi berikut terpenuhi, yaitu : 1. Semua elemen di posisi ke 1 sampai dengan posisi ke 5 (10, 25, 18, 7,dan 5) akan lebih kecil atau sama dengan nilai 33 yang dipilih. 2. Semua elemen di posisi ke 7 sampai dengan ke 12 (57,99,55,45,40 dan 50) aka lebih besar atau sama dengan nilai 33 yang dipilih. Dengan demikian, data tersebut akan terpecah menjadi 2 partisi, sebagai berikut : (10 25 18 7 5) 33 (57 99 55 45 40 50) Proses ini diulangi kembali untuk masing-masing partisi data, yaitu untuk data (10, 25, 18, 7, 5) dan data (57, 99, 55, 45, 40, 50). Untuk partisi yang pertama, bila nilai Sementara yang diambil adalah data pertama kembali dalam partisi bersangkutan, yaitu 10 dan diatur kembali sedemikian rupa, maka nilai data yang dipilih akan terletak di posisi sebagai berikut: (5 7) 10 (18 25) 33 (57 99 55 45 40 50) Untuk mengurutkan masing-masing partisi, maka proses tersebut diulangi kembali dan tiap-tiap partisi dipecah-pecah kembali lebih lanjut. Kurung yang menutupi partisi menunjukkan data yang belum urut dan perlu diurutkan kembali. Sedang data yang tidak berada diantara tanda kurung merupakan data yang sudah diurut. Iterasi selanjutya sampai didapatkan data yang telah urut semuanya adalah sebagai berikut ini. 5 ( 7) 10 (18 25) 33 (57 99 55 45 40 50) 5 7 10 18 (25) 33 (57 99 55 45 40 50) 5 7 10 18 25 33 (50 40 55 45) 57 (99) 5 7 10 18 25 33 (50 40 55 45) 57 99 5 7 10 18 25 33 (45 40) 50 (55) 57 99 5 7 10 18 25 33 (45 40) 50 55 57 99 5 7 10 18 25 33 40 (45) 50 55 57 99 5 7 10 18 25 33 40 45 50 55 57 99 Bila diamati lebih lanjut, maka quick sort dapat didefinisikan dengan lebih mudah menggunakan prosedur rekursi. Misalnya untuk partisi sebagai berikut
  • 4. Merge sort Contoh penerapan atas sebuah larik/array sebagai data sumber yang akan diurutkan {3, 9, 4, 1, 5, 2} adalah sebagai berikut: a. pertama kali larik tersebut dibagi menjadi dua bagian, {3, 9, 4} dan {1, 5, 2} b. Kedua larik kemudian diurutkan secara terpisah sehingga menjadi {3, 4, 9} dan {1, 2, 5} c. Sebuah larik baru dibentuk yang sebagai penggabungan dari kedua larik tersebut {1}, sementara nilai-nilai dalam masing larik {3, 4, 9} dan {2, 5} (nilai 1 dalam elemen larik ke dua telah dipindahkan ke larik baru) d. langkah berikutnya adalah penggabungan dari masing- masing larik ke dalam larik baru yang dibuat sebelumnya e. {1, 2} ↔{3, 4, 9} dan {5} f. {1, 2, 3} ↔ {4, 9} dan {5} g. {1, 2, 3, 4}↔{9} dan {5} h. {1, 2, 3, 4, 5}↔{9} dan {null} i. {1, 2, 3, 4, 5, 9}↔{null}dan {null} Daftar Pustaka MERGE SORT http://populeritas.blogspot.com/2013/01/metode- pengurutan-merge-sort.html QUICK SORT http://kudaneal.blogspot.com/2010/11/v- behaviorurldefaultvmlo.html