STRUKTUR DATA
MINGGU 6
PRODI INFORMATIKA
FAKULTAS TEKNIK KOMPUTER
UNIVERSITAS COKROAMINOTO PALOPO
SHORTING
Capain MK
1. Memahami dan menjelaskan tujuan dari penggunaan
shorting
2. Dapat mempraktekkan/menggunakan shorting
SHORTING
Contoh:
Data Acak : 5 6 8 1 3 25 10
Ascending : 1 3 5 6 8 10 25
Descending : 25 10 8 6 5 3 1
Metode Pengurutan Data
Metode Sederhana
• Pengurutan berdasarkan perbandingan (comparison-based sorting)
• Bubble sort, exchange sort
• Pengurutan berdasarkan prioritas (priority queue sorting method)
• Selection sort, heap sort
• Pengurutan berdasarkan penyisipan dan penjagaan terurut (insert
and keep sorted method)
• Insertion sort, tree sort
Metode Advance
• Pengurutan berdasarkan pembagian dan penguasaan (devide and
conquer method)
• Quick sort, merge sort
• Pengurutan berkurang menurun (diminishing increment sort method)
• Shell sort
Deklarasi Array
• Deklarasikan:
int data[100];
int n; //untuk jumlah data
Keuntungan:
• karena paling mudah, dan dapat dijalankan dengan
cukup cepat dan efisien untuk mengurutkan list
yang urutannya sudah hampirbenar.
Kekurangan:
• algoritma ini paling lambat dan termasuk sangat
tidak efisien untuk dilakukan dibandingkan
dengan algoritma yang lain, terutama pengurutan
dilakukan terhadap elemen yang banyak jumlahnya.
Konsep Algoritma Bubble Short
elemen
Gambar Ilustrasi
algoritma bubble sort
untuk pengurutan
secara ascending
Iplementasi Bubble Short (2)
Iplementasi Bubble Short (2)
Algoritma Bubble Short
Versi 1
void bubble_sort(){
for(int i=1;i<n;i++){
for(int j=n-1;j>=i;j--){
if(data[j]<data[j-1])
tukar(&data[j],&data[j-1]); //ascending
}
}
}
Versi 2
void bubblesort2(){
for(i=1;i<n;i++){
for(int j=0;j<n-i;j++){
if(data[j]<data[j+1])
tukar(&data[j],&data[j+1]); //ascending
}
}
}
Metode 2: Iplementasi Bubble Short
Metode 2: Contoh Algoritma Bubble Short
#include <iostream>
using namespace std;
void tukar(int *, int *);
void cetakArray(int arr[], int ukuranArray);
const int ukuranArray = 5;
int main() {
int arr[ukuranArray] = {3, 7, 1, 9, 5};
cout << "Keadaan awal array" << endl;
cetakArray(arr, ukuranArray);
cout << endl;
// algoritma Bubble Sort
for (int i = 0; i < ukuranArray-1; i++) {
cout << "\nPerulangan ke #" << i+1 << endl;
for (int j = 0; j < ukuranArray-i-1; j++) {
// menampilkan keadaan array
cetakArray(arr, ukuranArray);
// logika pertukaran
if (arr[j] > arr[j+1]) {
cout << "[" << arr[j] << ">" << arr[j+1] << "]
Tukar\n";
tukar(&arr[j], &arr[j+1]);
}
}
}
Lanjut Metode 2: Contoh Algoritma Bubble
Short