Top Banner
Algoritma dan Pemrograman Sorting (Pengurutan) Nisa’ul Hafidhoh [email protected]
18

Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Apr 07, 2019

Download

Documents

trankhuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Algoritma dan Pemrograman

Sorting (Pengurutan)

Nisa’ul Hafidhoh

[email protected]

Page 2: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Rencana Kegiatan Perkuliahan Semester

# Pokok Bahasan

1 Fungsi

2 Prosedur

3Sorting

4

5Searching

6

7 Review Pertemuan 1 - 6

8 Ujian Tengah Semester

# Pokok Bahasan

9Analisis Rekuren

10

11Struck & ADT

12

13Pointer

14

15 Presentasi Tugas Besar

16 Ujian Akhir Semester

Page 3: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Fungsi Swap

• Fungsi yang digunakan untuk menukarkan dua buah nilai

Page 4: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

• void swap (int x, int y){

int temp;temp = x;x = y;y = temp;

}

Page 5: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Sorting

• Metode pengurutan data yang sebelumnyatersusun secara acak atau tidak terurutmenjadi terurut dan teratur berdasarkanaturan tertentu.

• Ascending (pengurutan dariangka/karakter terkecil menuju terbesar)

• Descending (pengurutan dariangka/karakter terbesar menuju terkecil)

Page 6: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Algoritma Sorting Brute Force

• Brute force adalah pendekatan yang ‘mudah’untuk menyelesaikan masalah dan mudahuntuk diimplementasikan.

• Kata force mengacu pada sebuah computerdan bukan pada sesuatu yang bersifatcerdas.

• Beberapa algoritma pengurutan brute forceyang sederhana diantaranya adalah BubbleSort dan Selection Sort

Page 7: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Proses Bubble sort

• Algoritma bubble sort membandingkan elemen-elemen yang berdekatan dan menukarnya jikaelemen-elemen tersebut belum urut.

• Dengan melakukan hal tersebut secaraberulang, maka akan mem-bubble up elementerbesar pada posisi terakhir.

• Pada iterasi selanjutnya akan mem-bubble upelemen ke-2 dan seterusnya hingga pada proseske n – 1 semua elemen akan terurut.

Bubble Sort Process

Page 8: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Algoritma Bubble Sort

Algoritma BubbleSort(A[0 … n-1])

//Mengurutkan array yang diberikan dengan

selection sort

//Input: sebuah array A[0 … n-1] dengan

elemen-elemen yang dapat diurutkan

//Output: array A[0 … n-1] yang telah

diurutkan

for i 0 to n – 2 do

for j 0 to n – 2 – i do

if A[j + 1] < A[j] swap A[j] and A[j+1]

Page 9: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Contoh Iterasi Bubble Sort

Contoh:

90 50 70 95 30 35 15

Page 10: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Contoh Iterasi Bubble Sort

Contoh:

90 50 70 95 30 35 15

50 90 70 95 30 35 15

50 70 90 95 30 35 15

50 70 90 30 95 35 15

50 70 90 30 35 95 15

50 70 90 30 35 15 | 95

Page 11: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Contoh Iterasi Bubble Sort

Contoh:

50 70 90 30 35 15 | 95

50 70 30 90 35 15 | 95

50 70 30 35 90 15 | 95

50 70 30 35 15 | 90 95

Page 12: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Contoh Iterasi Bubble Sort

Contoh:

50 70 30 35 15 | 90 95

50 30 70 35 15 | 90 95

50 30 35 70 15 | 90 95

50 30 35 15 | 70 90 95

Page 13: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Contoh Iterasi Bubble Sort

Contoh:

50 30 35 15 | 70 90 95

30 50 35 15 | 70 90 95

30 35 50 15 | 70 90 95

30 35 15 | 50 70 90 95

Page 14: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Contoh Iterasi Bubble Sort

Contoh:

30 35 15 | 50 70 90 95

30 15 | 35 50 70 90 95

Page 15: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Contoh Iterasi Bubble Sort

Contoh:

30 15 | 35 50 70 90 95

15 | 30 35 50 70 90 95

Page 16: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Program Bubble Sort

void bubble_sort(int iarr[], int num) {

int i, j, temp;

for (i = 0; i < num - 1; i++) {

for (j = 0; j < num – 1 - i; j++) {

if (iarr[j] > iarr[j + 1]) {

temp = iarr[j];

iarr[j] = iarr[j + 1];

iarr[j + 1] = temp;

}

}

}

}

Page 17: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Program Utama Bubble Sort

void bubble_sort(int[], int);

void main() {

int arr[30], num, i;

printf("\nEnter no of elements :");

scanf("%d", &num);

printf("\nEnter array elements :");

for (i = 0; i < num; i++)

scanf("%d", &arr[i]);

bubble_sort(arr, num);

return 0;

}

Page 18: Algoritma dan Pemrograman Sorting (Pengurutan)dinus.ac.id/repository/docs/ajar/3_Buble_Sort.pdf · Algoritma dan Pemrograman Sorting ... Contoh: 90 50 70 95 30 35 15. ... Program

Kelebihan & Kekurangan

• Kelebihan

– Metode sederhana

– Algoritma mudah dipahami

• Kekurangan

– Kurang efisien, terutama untuk data banyak

– Pengulangan tetap dilakukan terus walau data sudah terurut