Materi pemrograman dasar C tentang sorting

DeniHidayatullah4 0 views 23 slides Oct 23, 2025
Slide 1
Slide 1 of 23
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23

About This Presentation

aaaaa


Slide Content

Sorting

SORTING Pengurutan (sorting) adalah proses mengatur atau menyusun elemen-elemen dari sebuah himpunan data dalam suatu urutan tertentu , baik itu berdasarkan kriteria numerik ( misalnya , dari terkecil ke terbesar ), urutan alfabet , atau berdasarkan kriteria lainnya . Tujuan utama dari pengurutan adalah untuk mempermudah pencarian , analisis , atau manipulasi data. Proses pengurutan melibatkan perbandingan elemen-elemen di dalam kumpulan data, dan bila diperlukan , menukarnya hingga elemen-elemen tersebut berada pada posisi yang sesuai dengan urutan yang diinginkan . Contoh sederhana dari pengurutan adalah mengurutkan daftar nama berdasarkan abjad atau mengurutkan angka dari terkecil ke terbesar . Namun , pengurutan juga dapat menjadi proses kompleks tergantung pada skala dan kompleksitas data yang dihadapi .

JENIS JENIS SORTING 01 02 03 Bubble Sort Selection Sort Insertion Sort 04 Quick Sort 05 Merge Sort

Bubble Sort Bubble sort adalah algoritma pengurutan yang bekerja dengan membandingkan pasangan element yang saling berdampingan. Jika urutan pasangan element tersebut tidak sesuai, tukar posisinya. Proses ini dilakukan berulang kali hingga seluruh element dalam array terurut secara menaik (ascending) atau menurun (descending), tergantung keinginan programmer yang merancangnya.

Bubble Sort Berikut adalah langkah-langkah dalam algoritma bubble sort: Mulai dari indeks pertama array. Bandingkan element pertama dengan element kedua. Jika element pertama lebih besar dari element kedua, tukar posisi keduanya. Lanjutkan dengan membandingkan element kedua dengan element ketiga, dan seterusnya hingga satu element sebelum element terakhir. Setelah mencapai element terakhir, element terbesar akan berada di posisi terakhir. Ulangi langkah-langkah 2-4 untuk element-element yang belum terurut, tetapi kali ini hanya hingga element sebelum element terakhir yang sudah terurut pada iterasi sebelumnya. Algoritma berhenti ketika tidak ada lagi pertukaran posisi element yang dilakukan pada iterasi.

Ilustrasi

Bubble Sort Keuntungan dari bubble sort adalah algoritma ini mudah dipahami dan diimplementasikan. Namun kelemahannya, bubble sort memiliki kompleksitas waktu yang relatif tinggi, yaitu O(n2), di mana n adalah jumlah element di dalam array. Oleh karena itu, bubble sort lebih cocok digunakan untuk mengurutkan array yang kecil atau hampir terurut secara alami.

Selection Sort Selection sort adalah algoritma pengurutan yang bekerja dengan cara memilih element terkecil dalam array, dan menukar posisinya dengan elemen pertama. Proses ini diulangi sebanyak n – 1 kali, dimana n adalah jumlah total element array. Algoritma selection sort memiliki langkah-langkah sebagai berikut: Pilih element terkecil dalam array dengan cara membandingkan element satu per satu (menggunakan perulangan). Tukar posisi element terkecil dengan element pertama. Ulangi langkah 1 dan 2 untuk elemen-elemen berikutnya.

Ilustrasi

Selection Sort Kelebihan algoritma selection sort: Algoritma selection sort relatif sederhana dan mudah dipahami. Algoritma selection sort dapat digunakan untuk mengurutkan array dengan berbagai ukuran. Kekurangan algoritma selection sort: Algoritma selection sort memiliki kompleksitas waktu O(n2), yang artinya waktu eksekusi algoritma akan meningkat secara kuadrat seiring dengan bertambahnya ukuran array. Algoritma selection sort kurang efisien untuk mengurutkan array yang sudah terurut atau hamper terurut. Secara umum, algoritma selection sort cocok digunakan untuk mengurutkan array kecil atau array yang tidak perlu diurut dengan cepat.

Insertion sort Insertion sort adalah algoritma pengurutan yang bekerja dengan cara menyisipkan element baru ke dalam posisi yang tepat dalam array yang sudah terurut. Algoritma ini dimulai dari element kedua, dan membandingkannya dengan element pertama. Jika element kedua lebih kecil dari element pertama, maka element kedua disisipkan di depan element pertama. Proses ini diulangi untuk element ketiga, keempat, dan seterusnya.

Insertion sort Algoritma Insertion Sort memiliki langkah-langkah sebagai berikut: Mulai dari element kedua dalam array. Bandingkan element kedua dengan element pertama. Jika element kedua lebih kecil dari element pertama, maka sisipkan element kedua di depan element pertama. Ulangi langkah 2 dan 3 untuk elemen-element berikutnya. Pada langkah 2 dan 3, element kedua akan dibandingkan dengan elemen-element sebelumnya secara berturut-turut. Jika element kedua lebih kecil dari element sebelumnya, maka element kedua akan disisipkan di depan element tersebut.

Ilustrasi

Insertion sort Kelebihan algoritma insertion sort: Algoritma insertion sort relatif sederhana dan mudah dipahami. Algoritma insertion sort dapat digunakan untuk mengurutkan array dengan berbagai ukuran. Algoritma Insertion Sort efisien untuk mengurutkan array yang sudah terurut atau hampir terurut. Kekurangan algoritma insertion sort: Algoritma insertion sort memiliki kompleksitas waktu O(n2), yang artinya waktu eksekusi algoritma akan meningkat secara kuadrat seiring dengan bertambahnya ukuran array. Secara umum, algoritma insertion sort cocok digunakan untuk mengurutkan array kecil atau array yang tidak perlu diurut dengan cepat.

Quick Sort Quick sort adalah algoritma pengurutan yang menggunakan pendekatan divide and conquer. Algoritma ini ditemukan oleh Tony Hoare pada tahun 1960. Algoritma quick sort bekerja dengan memilih sebuah element pivot dari array dan mempartisi atau membagi array menjadi dua bagian, yaitu bagian kiri yang berisi element-element yang lebih kecil dari pivot, dan bagian kanan yang berisi element-element yang lebih besar dari pivot. Kemudian, algoritma ini secara rekursif mengurutkan kedua bagian tersebut hingga seluruh array terurut.

Quick Sort Algoritma quick sort memiliki langkah-langkah sebagai berikut: Pilih sebuah element pivot dari array. Element pivot bisa dipilih secara acak, atau bisa juga dipilih dari element terakhir. Potong array menjadi dua bagian berdasarkan pivot. Bagian kiri berisi element-element yang lebih kecil dari pivot, sedangkan bagian kanan berisi element-element yang lebih besar dari pivot. Pada langkah ini, element-element yang lebih kecil ditempatkan di sebelah kiri pivot, dan element-element yang lebih besar ditempatkan di sebelah kanan pivot. Pivot sendiri akan berada di posisi yang tepat setelah partisi. Secara rekursif, lakukan langkah 1 dan 2 pada kedua bagian array yang sudah dipartisi. Terus lakukan rekursi hingga kedua bagian array hanya memiliki satu element, yang berarti bagian tersebut sudah terurut. Setelah kedua bagian array terurut, gabung kembali kedua bagian tersebut untuk mendapatkan array yang sudah terurut secara keseluruhan.

Ilustrasi

Quick Sort Kelebihan algoritma quick sort: Quick sort memiliki kompleksitas waktu O(n log n) dalam kasus terbaik dan terburuk, sehingga algoritma ini efisien untuk mengurutkan array berukuran besar. Quick sort adalah algoritma yang stabil, yang berarti urutan element yang sama akan tetap sama setelah diurutkan. Kekurangan algoritma quick sort: Algoritma quick sort cukup kompleks dan agak susah dipahami. Quick sort butuh ruang tambahan untuk menyimpan array sementara. Secara umum, algoritma quick sort cocok digunakan untuk mengurutkan array berukuran besar.

Merge Sort Merge sort adalah algoritma pengurutan yang bekerja dengan cara membagi array menjadi dua bagian yang sama besar, kemudian mengurutkan setiap bagian tersebut secara rekursif. Setelah itu, kedua bagian yang sudah terurut digabung menjadi satu array. Algoritma merge sort memiliki langkah-langkah sebagai berikut: Bagi array menjadi dua bagian yang sama besar. Proses ini dilakukan secara rekursif sampai array hanya memiliki satu elemen. Urutkan setiap bagian secara rekursif. Gabungkan kedua bagian yang sudah terurut. Element yang lebih kecil akan diletakkan di bagian depan, dan element yang lebih besar akan diletakkan di bagian belakang.

Ilustrasi

Merge Sort Kelebihan algoritma merge sort: Merge sort memiliki kompleksitas waktu O(n log n), yang berarti algoritma ini efisien untuk mengurutkan array berukuran besar. Merge sort adalah algoritma yang stabil, dimana urutan element yang sama akan tetap sama setelah diurutkan. Kekurangan algoritma merge sort: Algoritma merge sort cukup kompleks dan agak susah dipahami. Merge sort butuh ruang tambahan untuk menyimpan array sementara. Secara umum, algoritma merge sort cocok digunakan untuk mengurutkan array berukuran besar.

NEXT.. Searcing

Terimakasih
Tags