26
ALGORITMA DAN PEMROGRAMAN 2 3 SKS By : Sri Rezeki Candra Nursari

ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Embed Size (px)

Citation preview

Page 1: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

ALGORITMA DAN PEMROGRAMAN 2

3 SKS By : Sri Rezeki Candra Nursari

Page 2: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

MATERI

• Teks/string• Pointer• File• Struktur• Kelas/Class• Konstruktor dan

Destruktor• Kelas dan Obyek

• Overloading Operator• Inheritance (Pewarisan)• Polimorfisme • Template Fungsi dan

Kelas• Sort• Search

Page 3: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

SELEKSI/SELECTION SORT

Pertemuan 13

3 SKS

Page 4: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

SORT• Sort adalah suatu proses pengurutan data

yang sebelumnya disusun secara acak atau tidak teratur menjadi urut.

• Pengurutan terbagi menjadi 2 yaitu :–Ascending (pengurutan dari kecil ke besar)–Descending (pengurutan dari besar ke kecil)

Page 5: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

SORT• Untuk masalah pengurutan pada array kita tidak

dapat langsung menukar isi dari variabel yang ada, tetapi menggunakan metode swap

• Macam-macam metode pengurutan, yaitu :– Selection Sort (Metode pengurutan seleksi)– Insertion Sort (Metode pengurutan sisip

langsung)– Bubble Sort (Metode pengurutan gelembung)

Page 6: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Selection Sort (Metode pengurutan seleksi)

• Melakukan pengurutan dengan cara mencari data yang terkecil kemudian menukarkannya dengan data yang digunakan sebagai acuan atau sering dinamakan pivot

• Suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya sampai ke elemen yang terakhir.

• Jika ditemukan elemen lain yang kecil elemen sekarang maka dicatat posisinya dan langsung dilakukan penukaran

Page 7: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Selection Sort (Metode pengurutan seleksi)

• Proses pengurutan dengan metode seleksi adalah

1. Dilakukan pengulangan dari 1 sampai dengan (N-1)2. Tiap-tiap pengulangan dicari data yang paling kecil di

antara data ke (i+1) sampai dengan data terakhir (=N)

3. Data terkecil ini kemudian ditukarkan dengan pivot, yaitu data ke-i

4. Apabila data terkecil tersebut lebih besar daripada data ke-i, proses penukaran tidak perlu dilakukan

Page 8: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Selection Sort (Metode pengurutan seleksi)

• Algoritmanya sebagai berikut :1. i 12. Selama (i <= N-1) kerjakan baris 3 s.d. 93. k i4. j i + 15. Selama (j <= N) kerjakan baris 6 s.d. 76. Jika (Data[k] > Data[j]) maka k j7. j j + 18. Tukar Data [i] dengan Data [k]9. i i + 1

Page 9: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Pengurutan Selection SortItera

siData Data Data Data Data Data Data Data Data[1] [2] [3] [4] [5] [6] [7] [8] [9]

Awal 65 2 44 26 19 22 5 3 12i=1 65 2 44 26 19 22 5 3 12i=2 2 65 44 26 19 22 5 3 12i=3 2 3 44 26 19 22 5 65 12i=4 2 3 5 26 19 22 44 65 12i=5 2 3 5 12 19 22 44 65 26i=6 2 3 5 12 19 22 44 65 26i=7 2 3 5 12 19 22 44 65 26i=8 2 3 5 12 19 22 26 65 44

Akhir 2 3 5 12 19 22 26 44 65

Page 10: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

SELECTION SORT• Dapat dilihat dari penggalan program berikut ini :

void selectionsort(int Array[ ], const int size) {int i, j, smallest, temp;for(i=0; i<size; i++) {

smallest = i;for(j=i; j<size; j++)

{if(Array[smallest] > Array[j])

{smallest =j;

} }temp = Array[i];Array[i] = Array[smallest];numlist[smallest] = temp;} }

Page 11: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Selection Sort - Ascending

Programcontoh 01

Page 12: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Algoritma.........?????Pseudocode.......??????

Page 13: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Selection Sort - Descending

Programcontoh 02

Page 14: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Algoritma.........?????Pseudocode.......??????

Page 15: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

INSERTION SORT

Pertemuan 13

3 SKS

Page 16: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

INSERTION SORT

• Metode ini biasa juga disebut metode penyisipan langsung.

• Metode ini sering digunakan dalam kehidupan nyata, misalnya saat anda mengurutkan kartu

Page 17: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Insertion Sort (Metode penyisipan langsung)

• Dimulai dari data ke-2 kemudian disisipkan pada tempat yang sesuai.

• Data pada posisi pertama diandaikan memang sudah pada tempatnya

ATAU• Suatu metode pengurutan yang dimulai dari

data ke-2 nilainya dibandingkan dengan data-data sebelumnya kemudian mencari posisi yang tepat untuk menyisipkan

Page 18: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Insertion Sort (Metode penyisipan langsung)

• Proses pengurutan dengan metode penyisipan langsung adalah

1. Data di cek satu persatu mulai dari yang kedua sampai dengan yang terakhir

2. Apabila ditemukan data yang lebih kecil daripada data yang sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai

Page 19: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Insertion Sort (Metode penyisipan langsung)

• Algoritmanya sebagai berikut :1. i 22. Selama (i <= N) kerjakan baris 3 s.d. 103. x data[i]4. Data[0] x5. j i -16. Selama (x < data[j]) kerjakan baris 7 s.d. 87. data[j+1] > data[j] 8. j j - 19. data [j+1] x 10.i i + 1

Page 20: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Pengurutan Straight Insertion SortItera

siData Data Data Data Data Data Data Data Data[1] [2] [3] [4] [5] [6] [7] [8] [9]

Awal 65 2 70 26 19 22 5 3 12i=2 65 2 70 26 19 22 5 3 12i=3 2 65 70 26 19 22 5 3 12i=4 2 65 70 26 19 22 5 3 12i=5 2 26 65 70 19 22 5 3 12i=6 2 19 26 65 70 22 5 3 12i=7 2 19 22 26 65 70 5 3 12i=8 2 5 19 22 26 65 70 3 12i=9 2 3 5 19 22 26 65 70 12

Akhir 2 3 5 12 19 22 26 65 70

Page 21: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

INSERTION SORT

• Dapat dilihat dari penggalan program berikut ini:

for(k=1; k<=n-1; k++){ i=k;x=A[i];while(i>=0 && A[i-1]>x)

{ A[i] = A[i-1];i--;

}A[i]=x;}

Page 22: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Insertion SortAscending

Programcontoh 03

Page 23: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Algoritma.........?????Pseudocode.......??????

Page 24: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Insertion SortDescending

Programcontoh 04

Page 25: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Algoritma.........?????Pseudocode.......??????

Page 26: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 · PDF fileMATERI • Teks/string • ... (Metode pengurutan seleksi) ... Dilakukan pengulangan dari 1 sampai dengan (N-1) 2. Tiap-tiap pengulangan

Tugas :• Contoh 1,2,3 dan 4, buat program

dengan menggunakan class dan konstruktor

• Algoritma dan pseudocode contoh nomor 2,3 dan 4

• Kumpulkan tanggal 8 Juni 2015