Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id SORTING Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id.

Presentasi serupa


Presentasi berjudul: "Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id SORTING Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id."— Transcript presentasi:

1 Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id
SORTING Defri Kurniawan

2 Referensi Anany Levitin – introduction to the Design & Analysis of Algorithm3rd Edition (2012)

3 RENCANA KEGIATAN PERKULIAHAN SEMESTER
W Pokok Bahasan 1 Review Fungsi 2 Parameter & Tipe Kembalian Fungsi 3 Sorting 4 5 Searching 6 7 Review 1-6 8 Ujian Tengah Semester W Pokok Bahasan 9 Analisa Rekuren 10 11 Struct & ADT 12 13 Pointer 14 15 Presentasi Proyek Akhir 16 Ujian Akhir Semester

4 Content Algoritma Penyelesaian Masalah dengan Algoritma
Algoritma Bubble Sort Algoritma Selection Sort

5 Algoritma Apa itu algoritma ?

6 Algoritma Algoritma adalah urutan instruksi – instruksi yang jelas (logis) untuk menyelesaikan suatu masalah. Yakni untuk memperoleh output yang diperlukan untuk setiap input logis dalam waktu yang terbatas (Levitin, 2012)

7 Algoritma Kata ‘instruksi’ tersebut mengacu kepada kemampuan dari sesuatu (benda) atau seseorang untuk memahami dan melakukan instruksi yang diberikan. Yang dimaksud dalam hal ini adalah ‘komputer’. Perlu diingat bahwa sebelum era perangkat elektronik ditemukan, kata ‘komputer’ (computer) bemakna seseorang yang terlibat dalam proses perhitungan (compute/calculate) numerik.

8 Algoritma Masalah Algoritma ‘Komputer’ Input Output
Konsep Algoritma (Levitin, 2012) Masalah Algoritma ‘Komputer’ Input Output

9 Penyelesaian Masalah dengan Algoritma
Hal-hal penting dalam penyelesaian masalah dengan algoritma: Setiap langkah dalam sebuah algoritma harus jelas (nonambiguity), Rentang nilai input harus ditentukan secara rinci, Sebuah algoritma dapat digambarkan dalam beberapa cara yang berbeda,

10 Penyelesaian Masalah dengan Algoritma
Hal-hal penting dalam penyelesaian masalah dengan algoritma: Terdapat beberapa algoritma yang dapat digunakan dalam menyelesaikan masalah yang sama, Algoritma-algoritma yang digunakan dalam masalah yang sama dapat berasal dari gagasan-gagasan yang berbeda dan mampu menyelesaikan masalah dengan kecepatan yang sangat berbeda.

11 Contoh Persoalan Dengan Penyelesaian Algoritma
Hitung gaji total, dimana gaji total adalah gaji pokok ditambah tunjangan. tunjangan pegawai dilihat berdasarkan masa kerja. Jika masa kerja lebih dari sama dengan 3 tahun maka mendapat tunjangan 20% dari gaji pokok. Jika kurang dari 3 tahun tunjangan 10% dari gaji pokok.

12 Algoritma Menghitung Gaji Total Pegawai
Bahasa Natural: Read masa kerja, gaji pokok Jika masa kerja lebih dari sama dengan 3thn maka tunjangan 20% dari gaji pokok Jika tidak, tunjangan 10% dari gaji pokok Jumlahkan tunjangan yang didapat dengan gaji pokok sebagai gaji total Cetak gaji total

13 Algoritma Menghitung Gaji Total Pegawai
Notasi Algoritmik Nama Program Gaji_pegawai Kamus Tjg, mk, gapok, gatot : double Algoritma Read (mk, gapok ) If(mk>=3) then tjg  0.2 * gapok Else tjf  0.1 * gapok Gatot  gapok + tjg Write(‘gaji total’,gatot )

14 Algoritma Menghitung Gaji Total Pegawai
Flowchart

15 Algoritma Sorting Brute Force
Brute force adalah pendekatan yang ‘mudah’ untuk menyelesaikan masalah. Kata force mengacu pada sebuah computer dan bukan pada sesuatu yang bersifat cerdas. Brute force merupakan pendekatan yang paling mudah untuk diimplementasikan. Beberapa algoritma pengurutan brute force yang sederhana diantaranya adalah Bubble Sort dan Selection Sort

16 Algoritma Bubble Sort

17 Algoritma Bubble Sort Jenis algoritma pengurutan lain yang berbasis brute force adalah Bubble Sort. Algoritma bubble sort membandingkan elemen-elemen yang berdekatan dan menukarnya jika elemen-elemen tersebut belum urut. Dengan melakukan hal tersebut secara berulang, maka akan mem- bubble up elemen terbesar pada posisi terakhir.

18 A0, . . ., Aj  Aj+1, . . ., An-i-1 | An-i ≤ . . . ≤ An-1
Algoritma Bubble Sort Pada iterasi selanjutnya akan mem-bubble up elemen ke-2 dan seterusnya hingga pada proses ke n – 1 semua elemen akan terurut. Proses iterasi i (0 ≤ i ≤ n-2) dari bubble sort dapat direpresentasikan sebagai berikut: A0, . . ., Aj  Aj+1, . . ., An-i-1 | An-i ≤ ≤ An-1

19 Algoritma Bubble Sort Algoritma BubbleSort(A[0 … n-1]) //Mengurutkan array yang diberikan dengan inputan //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 i<n do for j  0 to j<n – i do if A[j + 1] < A[j] swap A[j] and A[j+1]

20 Algoritma Bubble Sort for(i=1;i<n;i++){ for(j=0;j<n-i;j++) { if(data[j+1]<data[j]){ temp=data[j]; data[j]=data[j+1]; data[j+1]=temp; }

21 Algoritma Bubble Sort Contoh 90  50 70 95 30 35 15
90   95   15 | 95

22 Algoritma Bubble Sort Contoh 50  70  90  30 35 15 | 95
50  70  90  | 95  | 95  15 | 95 |

23 Algoritma Bubble Sort Contoh 50  70  30 35 15 | 90 95
50  70  |  |  15 | |

24 Algoritma Bubble Sort Contoh 50  30 35 15 | 70 90 95
50  |  |  15 | |

25 Algoritma Bubble Sort Contoh 30  35  15 | 50 70 90 95
30  35  15 | | 30  15 | 15 |

26 Algoritma Selection Sort

27 Algoritma Selection Sort
Selection Sort dapat terurut naik (ascending), maupun turun (descending) Proses pengurutan naik (ascending) selection sort dilakukan dengan cara mencari data terkecil dari data pertama sampai dengan data terakhir, kemudian ditukar posisinya dengan data pertama. Selanjutnya mencari data terkecil dari data kedua sampai dengan data terakhir kemudian ditukar posisinya dengan data kedua Dan seterusnya sampai semua data terurut naik. Apabila terdapat n buah data yang akan diurutkan, maka membutuhkan (n-1) langkah pengurutan. Data terakhir, yaitu data ke-n tidak perlu diurutkan karena tinggal satu-satunya.

28 Algoritma Selection Sort
Algoritma SelectionSort(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 – 1 do min  i for j  i to n do if A[j] < A[min] min  j if A[i]!=A[min] swap A[i] and A[min]

29 Algoritma Selection Sort
for(i=0;i<n-1;i++){ indexmin=i; for(j=i;j<n;j++){ if(data[j]<data[indexmin]) { //jika data[j] kurang dari data[indexmin] lakukan penukaran indexmin=j; } if(data[i]!=data[indexmin]){ temp=data[i]; data[i]=data[indexmin]; data[indexmin]=temp;

30 Algoritma Selection Sort
Contoh | 15 | | | | |95 90 |95


Download ppt "Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id SORTING Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id."

Presentasi serupa


Iklan oleh Google