Menu
CoddyTech

Implementasi (Bagian 2)

Pelajaran 6 dari 9 dalam kursus Insertion Sort, Seri DSA di Coddy.

Skenario: Mengurutkan [5, 2, 9, 1, 5]

Langkah 1: Keadaan Awal

  • Array Asli: [5, 2, 9, 1, 5]
  • Bayangkan ini sebagai kartu-kartu di tangan kita (atau array angka).

Langkah 2: Elemen Pertama (i=1, key=2)

  • Kita mulai dengan kartu kedua (elemen): key = 2.
  • Bandingkan 2 dengan 5 (satu-satunya elemen yang sudah terurut sejauh ini).
  • Karena 2 lebih kecil, geser 5 ke kanan lalu sisipkan 2 di tempatnya.
  • Array yang Diperbarui: [2, 5, 9, 1, 5]

Langkah 3: Elemen Kedua (i=2, key=9)

  • Pindah ke kartu berikutnya: key = 9.
  • Bandingkan 9 dengan 5.
  • Karena 9 lebih besar, tidak perlu menggeser.
  • Array yang Diperbarui: [2, 5, 9, 1, 5] (tidak berubah)

Langkah 4: Elemen Ketiga (i=3, key=1)

  • Pindah ke kartu berikutnya: key = 1.
  • Bandingkan 1 dengan 9, lalu dengan 5.
  • Geser 9 dan 5 ke kanan untuk memberi ruang bagi 1.
  • Array yang Diperbarui: [1, 2, 5, 9, 5]

Langkah 5: Elemen Keempat (i=4, key=5)

  • Pindah ke kartu berikutnya: key = 5.
  • Bandingkan 5 dengan 9.
  • Karena 5 lebih kecil, tidak perlu menggeser.
  • Array yang Diperbarui: [1, 2, 5, 9, 5] (tidak berubah)

Langkah 6: Elemen Kelima (i=5, key=5)

  • Pindah ke kartu terakhir: key = 5.
  • Bandingkan 5 dengan 9.
  • Karena 5 lebih kecil, tidak perlu menggeser.
  • Array yang Diperbarui: [1, 2, 5, 5, 9]

Hasil Akhir:

  • Array Terurut: [1, 2, 5, 5, 9]

Di setiap langkah, kita memilih sebuah kartu (elemen), membandingkannya dengan elemen yang sudah terurut, lalu menempatkannya di posisi yang tepat, sambil menggeser elemen lain jika perlu. Kita mengulangi proses ini sampai seluruh array terurut.

challenge icon

Tantangan

Mudah

Sekarang, implementasikan perulangan bagian dalam, yang mengurutkan setiap elemen.

 

Selesaikan pengurutan di dalam fungsi insertionSort.

Fungsi ini juga harus mencetak elemen-elemen array di akhir, satu per satu, dengan baris baru di antaranya.

Gunakan pelajaran sebelumnya dan petunjuk sebagai referensi :)

Coba sendiri

def insertionSort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        print(key)

Semua pelajaran di Insertion Sort, Seri DSA

Latihan sendiri: Compiler C online