Sorting Oleh Tim Teaching Bernadus Anggo Seno Aji

Sorting Oleh : Tim Teaching - Bernadus Anggo Seno Aji, S. Kom. , M. Kom.

Bahan kajian Mata kuliah Notasi Algoritmik, Tipe Dasar, Nilai, Percabangan Perulangan UTS Fungsi Prosedur Array Searching Sorting UAS

Pengurutan Merupakan suatu proses untuk mengatur dimana posisi suatu data seharusnya. 2 macam pengurutan: pengurutan internal, yaitu pengurutan terhadap sekumpulan data yang disimpan dalam memori (RAM) komputer yang dapat diakses setiap elemennya secara langsung. pengurutan eksternal, yaitu pengurutan data yang disimpan dalam memori sekunder, biasanya data bervolume besar sehingga tidak mampu untuk dimuat semuanya dalam memori. https: //visualgo. net/sorting

Algoritma Pengurutan Internal Counting Sort Maximum Sort Insertion Sort Bubble Sort Shaker Sort Heap Sort Shell Sort Quick Sort Radix Sort Selection Sort dll
![Kamus dan Persoalan Umum Diberikan sebuah tabel integer Tab. Int [1. . N] yang Kamus dan Persoalan Umum Diberikan sebuah tabel integer Tab. Int [1. . N] yang](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-5.jpg)
Kamus dan Persoalan Umum Diberikan sebuah tabel integer Tab. Int [1. . N] yang isinya sudah terdefinisi. Tuliskan sebuah algoritma yang mengurutkan elemen tabel sehingga tersusun Membesar: Tab. Int[1] ≤ Tab. Int[2] ≤ Tab. Int[3]. . . ≤ Tab. Int[N] Mengecil: Tab. Int[1] ≥ Tab. Int[2] ≥ Tab. Int[3]. . . ≥ Tab. Int[N]

Bubble Sort

Bubble Sort Merupakan salah satu bentuk pengurutan yang menerapkan pertukaran harga pada prosesnya. Idenya adalah gelembung air yang akan "mengapung": elemen berharga kecil/besar akan "diapungkan", artinya diangkat ke atas melalui pertukaran. Proses dilakukan sebanyak N tahapan (yang dalam sorting disebut sebagai "pass"). Pada setiap Pass, tabel terdiri dari dua bagian: bagian yang sudah terurut yaitu [1. . Pass-1] dan ide dasarnya adalah mengapungkan elemen ke “Pass" sampai pada tempatnya.

Bubble Sort Descending ? A= 5 1 4 2 i = 1, 2, 3, …, 5 8 A[i] > A[i+1] PASS = 2 PASS = 1 j=1 5 1 4 2 8 j=1 5 4 2 8 1 j=2 5 4 1 1 4 2 8 j=2 5 4 2 8 1 j=3 5 4 2 1 1 2 8 j=3 5 4 8 2 2 8 1 j=4 5 4 2 8 1 1 8 5 4 8 2 1 5 4 2 8 1

Bubble Sort Descending ? A= 5 1 4 2 i = 1, 2, 3, …, 5 8 A[i] > A[i+1] PASS = 4 PASS = 3 j=1 5 4 8 2 1 j=2 5 8 4 4 8 2 1 5 8 4 2 1 j=1 8 5 4 2 1

![Bubble Sort: Algoritma Descending A[i] dan A[i+1] belum terurut descending maka perlu di urutkan Bubble Sort: Algoritma Descending A[i] dan A[i+1] belum terurut descending maka perlu di urutkan](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-11.jpg)
Bubble Sort: Algoritma Descending A[i] dan A[i+1] belum terurut descending maka perlu di urutkan
![Bubble Sort: Algoritma Ascending A[i] dan A[i+1] belum terurut ascending maka perlu di urutkan Bubble Sort: Algoritma Ascending A[i] dan A[i+1] belum terurut ascending maka perlu di urutkan](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-12.jpg)
Bubble Sort: Algoritma Ascending A[i] dan A[i+1] belum terurut ascending maka perlu di urutkan

Selection Sort

Selection Sort Idenya adalah menghasilkan nilai maksimum/minimum tabel (untuk efisiensi, hanya indeks dimana harga maksimum ditemukan yang dicatat), kemudian menukarnya dengan elemen terujung. Elemen terujung ini "diisolasi" dan tidak diikut sertakan pada proses berikutnya. Proses diulang untuk sisa tabel.

Selection Sort Descending ? A= 5 1 4 2 i = 1, 2, 3, …, 5 PASS = 1 8 5 1 4 j=1 8 2 4 2 A[i-1] > A[i] PASS = 2 8 5 1 5 4 j=2 i_max = 5 1 8 8 5 2 1 5 i_max = 5 4 2 1

Selection Sort Descending ? A= 5 1 4 2 i = 1, 2, 3, …, 5 PASS = 3 8 5 4 2 A[i-1] > A[i] PASS = 4 5 8 1 4 j = 3 i_max = 3 8 5 4 8 2 1 8 5 2 i_max = 4 1 j=4 5 8 4 2 1


Selection Sort: Algoritma Descending Proses Pencarian indeks Maksimum Proses pertukaran elemen

Selection Sort: Algoritma Ascending Proses Pencarian indeks Minimum Proses pertukaran elemen

Insertion Sort

Insertion Sort Idenya adalah mencari tempat yang "tepat" untuk setiap elemen tabel, Caranya dengan sequential search, kemudian sisipkan elemen tabel yang diproses ke tempat yang seharusnya.

Insertion Sort Descending ? A= 5 1 4 2 i = 1, 2, 3, …, 5 1 4 2 A[i-1] > A[i] PASS = 2 PASS = 1 5 8 5 1 4 4 1 i=2 1 2 8 i=3 4 1 5 8 4 2 8 5 4 1 2 8

Insertion Sort Descending ? A= 5 1 4 2 i = 1, 2, 3, …, 5 4 1 2 2 1 A[i-1] > A[i] PASS = 4 PASS = 3 5 8 8 4 5 2 4 1 2 8 1 i=5 i=4 2 5 4 2 8 1 8 8 5 8 4 2 1 5 4 2 1

![Insertion Sort: Algoritma Descending temp > A[i-1] artinya temp belum menemukan posisinya yang tepat, Insertion Sort: Algoritma Descending temp > A[i-1] artinya temp belum menemukan posisinya yang tepat,](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-25.jpg)
Insertion Sort: Algoritma Descending temp > A[i-1] artinya temp belum menemukan posisinya yang tepat, sehingga A[i] akan selalu di replace dengan A[i-1] Jika temp > A[i-1] = false maka sudah dipastikan temp menemukan posisinya di i
![Insertion Sort: Algoritma Ascending temp > A[i-1] artinya temp belum menemukan posisinya yang tepat, Insertion Sort: Algoritma Ascending temp > A[i-1] artinya temp belum menemukan posisinya yang tepat,](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-26.jpg)
Insertion Sort: Algoritma Ascending temp > A[i-1] artinya temp belum menemukan posisinya yang tepat, sehingga A[i] akan selalu di replace dengan A[i-1] Jika temp > A[i-1] = false maka sudah dipastikan temp menemukan posisinya di i

Varian Algoritma Sorting Bubble sort, Selection Sort, Insertion Sort Proses perbandingan dari belakang ? ? ? Ascending/descending ? ? ? Array Statis vs Array Dinamis ? ? ?

Sorting pada Tipe Bentukan

Sorting pada tipe bentukan Bagaimana untuk data array yang merupakan tipe bentukan ? ? Misalnya terdapat data siswa yang ingin di urutkan berdasarkan tinggi badan, dari yang paling rendah sampai yang paling tinggi Perhatikan contoh di halaman selanjutnya
![Sorting pada data tipe bentukan [1] Sorting pada data tipe bentukan [1]](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-30.jpg)
Sorting pada data tipe bentukan [1]
![Sorting pada data tipe bentukan [2] Sorting pada data tipe bentukan [2]](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-31.jpg)
Sorting pada data tipe bentukan [2]
![Sorting pada data tipe bentukan [3] Sorting pada data tipe bentukan [3]](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-32.jpg)
Sorting pada data tipe bentukan [3]
![Sorting pada data tipe bentukan [4] Sorting pada data tipe bentukan [4]](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-33.jpg)
Sorting pada data tipe bentukan [4]
![Sorting pada data tipe bentukan [5] Sorting pada data tipe bentukan [5]](http://slidetodoc.com/presentation_image/f007535d62643fb6913d9e891ad71e47/image-34.jpg)
Sorting pada data tipe bentukan [5]

Referensi Liem, Inggriani. 2007. Diktat Kuliah Dasar Pemrograman (Bagian Pemrograman Prosedural). Bandung: Institut Teknologi Bandung https: //visualgo. net/sorting

Terima Kasih
- Slides: 36