algoritma dan pemrograman sorting (pengurutan) filepointer 14 15 presentasi tugas besar 16 ujian...

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

Upload: dinhdang

Post on 21-Jun-2019

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritma dan Pemrograman Sorting (Pengurutan) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

Algoritma dan Pemrograman

Sorting (Pengurutan)

Nisa’ul Hafidhoh

[email protected]

Page 2: Algoritma dan Pemrograman Sorting (Pengurutan) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

Fungsi Swap

• Fungsi yang digunakan untuk menukarkan dua buah nilai

Page 4: Algoritma dan Pemrograman Sorting (Pengurutan) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

• void swap (int x, int y){

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

}

Page 5: Algoritma dan Pemrograman Sorting (Pengurutan) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

Contoh Iterasi Bubble Sort

Contoh:

90 50 70 95 30 35 15

Page 10: Algoritma dan Pemrograman Sorting (Pengurutan) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

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) filePointer 14 15 Presentasi Tugas Besar 16 Ujian Akhir Semester. Fungsi Swap •Fungsi yang digunakan untuk menukarkan dua buah nilai

Kelebihan & Kekurangan

• Kelebihan

– Metode sederhana

– Algoritma mudah dipahami

• Kekurangan

– Kurang efisien, terutama untuk data banyak

– Pengulangan tetap dilakukan terus walau data sudah terurut