Algoritma

10
Metode Pengurutan (Sorting) Algoritma dan Struktur Data

Transcript of Algoritma

Page 1: Algoritma

Metode Pengurutan

(Sorting)Algoritma dan Struktur Data

Page 2: Algoritma

Pendahuluan• Di dalam konsep Algoritma dan Struktur Data,

dikenal istilah pengurutan (sorting). • Sorting merupakan suatu metode untuk

mengurutkan sekumpulan data secara ascending atau descending.

• Kenapa harus belajar algoritma pengurutan?o Karena dalam pembuatan program komputer, adakalanya kita harus

melakukan pengurutan data, misalnya menampilkan nama mahasiswa secara berurutan berdasarkan NIM.

Page 3: Algoritma

Algoritma Pengurutan• Ada banyak macam Algoritma Pengurutan, di

antaranya:1. Bubble Sort2. Selection Sort3. Insertion Sort4. Merge Sort5. Quick Sort6. Heap Sort

Page 4: Algoritma

Bubble Sort• Bubble Sort merupakan jenis algoritma

pengurutan yang paling sederhana.• Cara kerja dari algoritma ini adalah

membandingkan elemen yang sekarang dengan eleman berikutnya. Jika elemen yang sekarang > elemen berikutnya, maka tukar nilai kedua elemen.

Page 5: Algoritma

Contoh Bubble Sort ascending:

6 4 8 1 0 56 4 8 1 0 54 6 8 1 0 54 6 8 1 0 54 6 8 1 0 54 6 8 1 0 54 6 1 8 0 54 6 1 8 0 54 6 1 0 8 54 6 1 0 8 54 6 1 0 5 84 6 1 0 5 8

0 1 2 3 4 5Selesai untuk tahap ke-1

Angka 8 akan berhenti pada indeks ke-5

(terakhir)

Page 6: Algoritma

Contoh Bubble Sort ascending:

4 6 1 0 5 8

0 1 2 3 4 5

Selesai untuk tahap ke-2

Angka 8 akan berhenti pada indeks ke-4

4 6 1 0 5 84 6 1 0 5 84 6 1 0 5 84 1 6 0 5 84 1 6 0 5 84 1 0 6 5 84 1 0 6 5 84 1 0 5 6 84 1 0 5 6 8

Page 7: Algoritma

Contoh Bubble Sort ascending:

Begitu seterusnya, hingga semua terurut dari kecil ke besar.

4 1 0 5 6 8

4 6 1 0 5 8

1 0 4 5 6 8

0 1 4 5 6 8

0 1 4 5 6 8

0 1 4 5 6 8

Tahap ke-1

Tahap ke-2

Tahap ke-3

Tahap ke-4

Tahap ke-5

Tahap ke-6

Page 8: Algoritma

Algoritma Bubble Sorting (ascending)

for (i=0; i<=max-2; i++) { for (j=i+1; j<=max-1; j++) { if (deret[i] > deret[j]) { temp = deret[i]; deret[i] = deret[j]; deret[j] = temp; } } }

Page 9: Algoritma

Selection Sort• Selection Sort adalah mekanisme pengurutan

yang dilakukan dengan membandingkan elemen yang sekarang dengan elemen berikutnya sampai dengan elemen yang terakhir. Jika ditemukan eleman lain yang nilainya lebih kecil dari elemen sekarang, maka dicatat posisi/ indeksnya, lalu ditukar kemudian.

Page 10: Algoritma

Algoritma Selection Sort (ascending)

for (i=0; i<=max-2; i++) { idxTerkecil = i; for (j=i+1; j<=max-1; j++) { if (deret[idxTerkecil] > deret[j]) { idxTerkecil = j; } } //setelah didapatkan nilai terkecil, maka tukar dengan nilai ke-i temp = deret[i]; deret[i] = deret[idxTerkecil]; deret[idxTerkecil] = temp; }