Program Algoritma Insertion Sort Bahasa C

Program Algoritma Insertion Sort Bahasa C – Hallo sobat kopi coding, pada postingan ini kita akan mempelajari cara membuat program algoritma insertion sort di bahasa pemograman C.

Program Algoritma Insertion Sort Bahasa C

Insertion Sort merupakan salah satu algoritma pengurutan yang dimana melakukan perbandingkan elemen array dengan elemen array dengan memiliki nilai tertinggi dalam array. Jika elemen array pembanding memiliki nilai lebih tinggi, maka elemen array tersebut akan tukar posisi dengan elemen array yang memiliki nilai lebih rendah dan elemen array yang memiliki nilai lebih rendah akan menjadi elemen pembanding sampai posisi yang tepat ditemukan. Untuk mengetahui proses pengurutan ada dibagian kesimpulan.

Pada contoh insertion sort kali ini kita mencoba untuk mengurutkan 10 bilangan yang secara acak, dengan angka yang akan diurutkan sebagai berikut: 6, 9, 21, 14, 3, 52, 107, 99, 5, 1. Langsung aja yuk kita lihat source code algoritma insertion sort di bahasa C..

Program Algoritma Insertion Sort Bahasa C

Source Code :

#include <stdio.h>

int main(){
  int n, array[100], i, j, tmp;

  printf("Masukkan jumlah banyaknya data: ");
  scanf("%d", &n);

  printf("Masukkan %d angka integer\n", n);

  for(i = 0; i < n; i++){
    scanf("%d", &array[i]);
  }

  for (i = 1; i <= n; i++){
    j = i;
    while(j > 0 && array[j-1] > array[j]){
      tmp = array[j];
      array[j] = array[j-1];
      array[j-1] = tmp;

      j--;
    }
  }

  printf("Hasil pengurutan sebagai berikut:\n");

  for (i = 0; i <= n-1; i++){
    printf("%d ", array[i]);
  }
  printf("\n");
  
  return 0;
}

Simpan source code dengan nama file insertionsort.c, tetapi sesuaikan aja dengan nama file yang dinginkan dan jangan lupa harus berektensi .c

Penjelasan :

Penjelasan source algoritma insertion sort di C setiap barisnya :

  • Baris 4 : mendeklarasikan variable n, array[100], i, j, tmp yang bertipe integer.
  • Baris 6-7 : memasukkan nilai dari user untuk dimasukkan kedalam variable n.
  • Baris 9-13 : melakukan perulangan untuk memasukkan nilai-nilai kedalam array.
  • Baris 15-24 : proses algoritma insertion sort untuk membandingkan dan pertukaran nilai elemen-elemen array.
  • Baris 26-31 : melakukan perulangan untuk menampilkan hasil proses pengurutan dengan insertion sort.

Compile & Run :

Untuk cara melakukan compile dan run source code bahasa C sebagai berikut:

$ gcc -o insertionsort insertionsort.c
$ ./insertionsort

berikut hasil screenshot dari compile dan run source codenya:

Gambar hasil program algoritma insertion sort bahasa C
Gambar hasil program algoritma insertion sort bahasa C

Contoh Inputan :

Masukkan jumlah banyaknya data: 10
Masukkan 10 angka integer
6
9
21
14
3
52
107
99
5
1

Contoh Output :

Hasil pengurutan sebagai berikut:
1 3 5 6 9 14 21 52 99 107

Kesimpulan :

Dari hasil program, source code algoritma insertion sort tersebut berhasil dapat dijalankan tanpa ada error dan menampilkan hasil pengurutan yang sesuai. berikut ada langkah-langkah proses pengurutan yang dilakukan program:

Proses sorting array [6, 9, 21, 14, 3, 52, 107, 99, 5, 1]

Putaran ke- 1 [6 9 21 14 3 52 107 99 5 1]
elemen pembanding: 6
Hasil Pemindahan: [6 9 21 14 3 52 107 99 5 1]

Putaran ke- 2 [6 9 21 14 3 52 107 99 5 1]
elemen pembanding: 9
Hasil Pemindahan: [6 9 21 14 3 52 107 99 5 1]

Putaran ke- 3 [6 9 21 14 3 52 107 99 5 1]
elemen pembanding: 21
Hasil Pemindahan: [6 9 21 14 3 52 107 99 5 1]

Putaran ke- 4 [6 9 21 14 3 52 107 99 5 1]
elemen pembanding: 14
Proses perbandingan: 21 dengan 14 : tukar posisi
Hasil Pemindahan: [6 9 14 21 3 52 107 99 5 1]

Putaran ke- 5 [6 9 14 21 3 52 107 99 5 1]
elemen pembanding: 3
Proses perbandingan: 21 dengan 3 : tukar posisi
Proses perbandingan: 14 dengan 3 : tukar posisi
Proses perbandingan: 9 dengan 3 : tukar posisi
Proses perbandingan: 6 dengan 3 : tukar posisi
Hasil Pemindahan: [3 6 9 14 21 52 107 99 5 1]

Putaran ke- 6 [3 6 9 14 21 52 107 99 5 1]
elemen pembanding: 52
Hasil Pemindahan: [3 6 9 14 21 52 107 99 5 1]

Putaran ke- 7 [3 6 9 14 21 52 107 99 5 1]
elemen pembanding: 107
Hasil Pemindahan: [3 6 9 14 21 52 107 99 5 1]

Putaran ke- 8 [3 6 9 14 21 52 107 99 5 1]
elemen pembanding: 99
Proses perbandingan: 107 dengan 99 : tukar posisi
Hasil Pemindahan: [3 6 9 14 21 52 99 107 5 1]

Putaran ke- 9 [3 6 9 14 21 52 99 107 5 1]
elemen pembanding: 5
Proses perbandingan: 107 dengan 5 : tukar posisi
Proses perbandingan: 99 dengan 5 : tukar posisi
Proses perbandingan: 52 dengan 5 : tukar posisi
Proses perbandingan: 21 dengan 5 : tukar posisi
Proses perbandingan: 14 dengan 5 : tukar posisi
Proses perbandingan: 9 dengan 5 : tukar posisi
Proses perbandingan: 6 dengan 5 : tukar posisi
Hasil Pemindahan: [3 5 6 9 14 21 52 99 107 1]

Putaran ke- 10 [3 5 6 9 14 21 52 99 107 1]
elemen pembanding: 1
Proses perbandingan: 107 dengan 1 : tukar posisi
Proses perbandingan: 99 dengan 1 : tukar posisi
Proses perbandingan: 52 dengan 1 : tukar posisi
Proses perbandingan: 21 dengan 1 : tukar posisi
Proses perbandingan: 14 dengan 1 : tukar posisi
Proses perbandingan: 9 dengan 1 : tukar posisi
Proses perbandingan: 6 dengan 1 : tukar posisi
Proses perbandingan: 5 dengan 1 : tukar posisi
Proses perbandingan: 3 dengan 1 : tukar posisi
Hasil Pemindahan: [1 3 5 6 9 14 21 52 99 107]

Dari analisa proses pengurutan diatas terdapat 10 kali putaran dan setiap putaran melakukan satu per satu perbandingan dari elemen kiri index array sampai kanan index array dengan tentangga kiri index dan berurutan tanpa mengulang dari awal sebelah kiri indexnya.

Sekian tutorial cara membuat program algoritma insertion sort di bahasa pemograman C, semoga bermanfaat.

Happy Coding 🙂

Share Post:

Add a Comment

Your email address will not be published. Required fields are marked *