algoritma sorting

24
Algoritma Sorting Tenia Wahyuningrum

Upload: tenia-wahyuningrum

Post on 04-Jun-2015

961 views

Category:

Documents


1 download

DESCRIPTION

membahas 3 algoritma pengurutan, insertion sort, bubble sort, dan selection sort, kenapa cuma 3? soalnya sisanya buat tugas....., heeheh

TRANSCRIPT

Page 1: Algoritma sorting

Algoritma Sorting

Tenia Wahyuningrum

Page 2: Algoritma sorting

definisi

“algoritma untuk meletakkan kumpulan elemen data ke dlm urutan tertentu, berdasarkan satu atau beberapa kunci ke dalam tiap-tiap elemen”

Page 3: Algoritma sorting
Page 4: Algoritma sorting

perlu diurutkan

Contoh : Kamus, Al Quran

Page 5: Algoritma sorting

Sorting Method

1. Penyisipan langsung (straight insertion sort)

2. Penyisipan biner (binary insertion sort)

3. Seleksi (selection sort)4. Gelembung (buble sort)5. Shell (shell sort)6. Quick (quick sort)

Page 6: Algoritma sorting

Algoritma tukar data

BA

Page 7: Algoritma sorting

Temporary place

Page 8: Algoritma sorting

tmp = a; a = b; b = tmp;

Page 9: Algoritma sorting

insertion sort

Page 10: Algoritma sorting

Cara mengurutkannya adalah dicek satu persatu mulai dari yang kedua sampai dengan yang terakhir.

Apabila ditemukan data yanglebih kecil dari data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai.

Page 11: Algoritma sorting

Metode ini sebenarnya juga digunakan dalam kehidupan nyata, misalnya saat anda mengurutkan kartu.

Page 12: Algoritma sorting

int arr[6]

id 0 1 2 3 4 5

arr[id]22

10

15

3 8 2

Bagaimana cara mengurutkan data secara ascending?

Page 13: Algoritma sorting

Urutan langkah

i 0 1 2 3 4 5

arr[id] 22 10 15 3 8 2

i=1arr[id] 10 22 15 3 8 2

i=2arr[id] 10 15 22 3 8 2

i=3arr[id] 3 10 15 22 8 2

i=4arr[id] 3 8 10 15 22 2

i=5arr[id] 2 3 8 10 15 22

Page 14: Algoritma sorting

Petikan program

void insertion_sort(int arr[], int length) { int i, j ,tmp; for (i = 1; i < length; i++) { j = i; while (j > 0 && arr[j - 1] > arr[j]) { tmp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = tmp; j--; }//end of while loop print_array(arr,5);}//end of for loop

Page 15: Algoritma sorting

bubble sort

Page 16: Algoritma sorting

Cara mengurutkannya adalah membandingkan elemen yang sekarang dengan elemen yang berikutnya.

Jika elemen sekarang> elemen berikutnya, maka tukar

Page 17: Algoritma sorting

int arr[5]

id 0 1 2 3 4

arr[id] 5 4 3 2 1

Bagaimana cara mengurutkan data secara ascending?

Page 18: Algoritma sorting

Urutan langkah

id 0 1 2 3 4

arr[id] 5 4 3 2 1

4 5 3 2 1

4 3 5 2 1

4 3 2 5 1

3 4 2 1 5

3 2 4 1 5

3 2 1 4 5

2 3 1 4 5

2 1 3 4 5

1 2 3 4 5

Page 19: Algoritma sorting

void bubble_sort(int arr[], int size){ bool not_sorted = true; int j=0,tmp;

while (not_sorted){ not_sorted = false; j++; for (int i = 0; i < size - j; i++){ if (arr[i] > arr[i + 1]) { tmp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = tmp; not_sorted = true; }//end of if print_array(arr,5); }//end of for loop }//end of while loop }//end of bubble_sort

Page 20: Algoritma sorting

selection sort

Page 21: Algoritma sorting

Cara mengurutkannya adalah dengan membandingkan elemen sekarang dengan elemen yang berikutnya sampai terkahir.

Jika ditemukan elemen paling kecil, kemudian ditukar dengan elemen sekarang.

Page 22: Algoritma sorting

void selectSort(int arr[], int n){ int pos_min,temp;

for (int i=0; i < n-1; i++){ pos_min = i;

for (int j=i+1; j < n; j++){if (arr[j] < arr[pos_min])

pos_min=j;}

if (pos_min != i) { temp = arr[i]; arr[i] = arr[pos_min]; arr[pos_min] = temp; }

}}

Page 23: Algoritma sorting

Tugas terstruktur

• Buatlah kelompok (3 orang)• Pilihlah salah satu metode pengurutan • Buatlah algoritma dan programnya• Ceritakan bagaimana step / langkah

pengurutannya dengan ilustrasi/gambar/video/animasi

• Upload ke blog/youtube/slideshare masing-masing, maksimal sebelum UAS

• Kirimkan url masing-masing ke alamat [email protected], subject : tugas besar

Page 24: Algoritma sorting