Selasa, 15 Mei 2018

Insertion Sort Python

Insertion pada Python 


Insertion sort adalah sebuah metode pengurutan data dengan menempatkan setiap elemen data pada pisisinya dengan cara melakukan perbandingan dengan data – data yang ada. Inde algoritma dari metode insertion sort ini dapat dianalogikan sama seperti mengurutkan kartu, dimana jika suatu kartu dipindah tempatkan menurut posisinya, maka kartu yang lain akan bergeser mundur atau maju sesuai kondisi pemindahanan kartu tersebut. Dalam pengurutan data, metode ini dipakai bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array diurutkan.

Langkahnya seperti di bawah ini :
  1. Bandingkan data ke-2 dengan data ke-1, jika data ke-2 lebih kecil maka tukar posisinya, jika tidak biarkan aja.
  2. Data ke-3 dibandingkan dengan data ke-1 dan ke-2, jika data ke-3 lebih kecil kemudian tukar lagi posisinya.
  3. Data ke-4 dibandingkan dengan data ke-3, ke-2, dan ke-1, jika data ke-4 lebih kecil dari ketiganya maka letakkan data ke-4 ke posisi paling depan. Begitu seterusnya sampai tidak ada lagi data yang bisa dipindahkan.

Contoh Source Code Insertion sort :

1. Pengurutan data dari terkecil ke terbesar :


data = [54,26,93,17,77,31,44,55,20]
i = 1
for i in range(len(data)):
    value = data[i]
    temp = i
    while temp > 0 and data[temp-1] > value:
        print (data)
        data[temp]=data[temp-1]
        temp=temp-1
    data[temp]= value
print (data)

2. Pengurutan data dri terbesar ke terkecil :

data2 = [54,26,93,17,77,31,44,55,20]
j = len(data2)-1
for j in range(len(data2)):
    value = data2[j]
    temp = j
    
    while temp > 0 and data2[temp-1] < value:
        print (data2)
        data2[temp]=data2[temp-1]
        temp=temp-1
    data2[temp]= value
print (data2)

Gampangkan...Selamat Mencoba...

Tidak ada komentar:

Posting Komentar

Sejarah, Kegiatan, dan Dokumnetasi Angkatan Teknik Informatika 2017 (INTEGER_17)

Sejarah, Kegiatan, dan Dokumentasi Angkatan Teknik Informatika 2017 (INTEGER_17) Assalamualaikum Wr. Wb. INTEGER Information Te...