ALGORITMA PEMROGRAMAN (Semester 1) Pertemuan XI ALGORITMA PENGURUTAN (Sorting) Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika, S.T., M.T.I
Sub-Capaian Pembelajaran MK Mahasiswa mampu menerapkan algoritma pengurutan ke dalam program.
Peta Capaian Pembelajaran MK We Are Here!!! Mid Test
PUSTAKA WAJIB Munir, Rinaldi., Leony Lidya. 2016. Algoritma dan Pemrograman Dalam Bahasa Pascal, C, dan C++ Edisi Keenam. Bandung: Penerbit Informatika. BAB 16 ALGORITMA PENGURUTAN
Definisi algoritma untuk meletakkan kumpulan elemen data ke dlm urutan tertentu, berdasarkan satu atau beberapa kunci ke dalam tiap-tiap elemen Ada 2 macam urutan dalam proses pengurutan: 1. Ascending 2. Descending
Mengapa Data Harus Diurutkan? Agar data dapat dilihat dengan mudah. Untuk semua algoritma pengurutan yang akan dipelajari, kita menggunakan tipe data larik. DEKLARASI const max = 1000 type LarikInt : array [1.. N] of integer
Metode Pengurutan Beberapa metode pengurutan akan menemukan pemanggilan TUKAR. Kegunaan prosedur ini adalah menukar isi dua variabel. Berikut definisi Tukar : procedure Tukar (input/output a,b: integer) {mempertukarkan nilai a dan b} DEKLARASI temp : integer ALGORITMA temp a a b b temp
Menentukan Pengurutan yang Baik Ada 2 hal yang harus diperhatikan untuk menentukan pengurutan yang baik: 1. Jumlah pembandingan yang dilakukan 2. Jumlah penukaran atau penggeseran data yang dilakukan
Algoritma Pengurutan (1) insertion sorts1 Sistem Informasi
Insertion Sort (1) Cara mengurutkannya adalah dicek satu persatu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil dari data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai.
Insertion Sort (2) Metode ini sebenarnya juga digunakan dalam kehidupan nyata, misalnya saat anda mengurutkan kartu.
Algoritma Insertion Sort 1. i 2 2. Asumsikan L[1] dianggap sudah pada tempatnya 3. Selama (i<=n) kerjakan baris 4 sampai dengan 10 4. x Data[i] 5. j i 1 6. Selama (x < Data[j] ) kerjakan baris 7 dan 8 7. Data [j+i] Data [j] 8. j j 1 9. Data[j+1] x 10. i i + 1
Contoh Persoalan (1) Iterasi Data [1] Data [2] Data [3] Data [4] Data [5] Data [6] Data [7] Data [8] Awal 12 35 9 11 3 17 23 15 31 i=2 12 35 9 11 3 17 23 15 31 i=3 12 35 9 11 3 17 23 15 31 i=4 9 12 35 11 3 17 23 15 31 i=5 9 11 12 35 3 17 23 15 31 i=6 3 9 11 12 35 17 23 15 31 i=7 3 9 11 12 17 35 23 15 31 i=8 3 9 11 12 17 23 35 15 31 i=9 3 9 11 12 15 17 23 35 31 Data [9] Akhir 3 9 11 12 15 17 23 31 35
Penjelasan i = 2, x samadengan Data[2], yaitu 35 dan j=1. karena Data[1]=12 dan 35>12 maka proses dilanjutkan i=3, x samadengan Data[3], yaitu 9 dan j=2. karena Data[2]=35 dan 9<35 maka dilakukan penggeseran sampai menemukan yang lebih kecil dari 9. Hasilnya, Data[2]=12 dan Data[3]=35. Bagaimana dengan Data[1]? Data[1] = x yaitu 9. i=4, x samadengan Data[4], yaitu 11 dan j=3. karena Data[3]=35 dan 11<35, maka dilakukan penggeseran sampai ditemukan data yang lebih kecil dari 11. Hasil penggeseran Data[3]=12 dan Data[4]=45, Data[2] diisi 11 dst
Algoritma Insertion Sort
Algoritma Pengurutan (2) Bubble sort
Algoritma Algoritma pengurutan Buble (Apung) membandingkan elemen-elemen larik dari kanan ke kiri 1. Untuk setiap pass i = 1,2,,n-1, kerjakan: 2. Untuk setiap k=n, n-1,, i+1, kerjakan: 3. Bandingkan L[k] dengan L[k-1]. Jika L[k] < L[k-1] kerjakan: 4. Pertukarkan L[k] dengan L[k-1]
Contoh Persoalan
Contoh Persoalan
Contoh Persoalan
Potongan Prosedur
Algoritma Pengurutan (3) Selection sort
Algoritma Pengurutan Seleksi Algoritma Pengurutan Seleksi Minimum Maksimum
Algoritma Seleksi Maksimum Untuk setiap pass ke-i= n,n-1,, 2, lakukan: 1. Cari elemen terbesar (maks) mulai dari elemen ke-1 sampai dengan elemen ke-i 2. Pertukarkan maks dengan elemen ke-i
Algoritma Seleksi Maksimum
Algoritma Seleksi Maksimum
Algoritma Seleksi Maksimum
Petikan Algoritma
Performa Masing-Masing Algoritma
Latihan int arr[6] id 1 2 3 4 5 6 arr[id] 22 10 15 3 8 2 Jelaskan langkah-langkah pengurutan data secara ascending menggunakan Buble Sort, Selection Sort, dan Insertion sort
PREPARE FOR QUIZ NEXT WEEK, KEEP SPIRIT GUYSSS!!!
Tugas Besar (25%) Buatlah suatu program beserta laporannya dengan topik bebas dimana di dalam program tersebut memuat komponen larik, prosedur atau fungsi, dan sorting atau searching. Gunakan Kelompok sebelumnya (3 atau maksimal 4 orang) Minimal terdiri dari 50 baris (line of code) Topik antar kelompok harus berbeda. Jadwal Presentasi setelah pertemuan terakhir (Quiz) atau sebelum pelaksanaan UAS. Format laporan terdiri dari cover, source code, dan penjelasan singkat tentang program dan masing-masing prosedur/fungsi yang digunakan.