Contoh Insertion Sort Pada Bahasa C (Ervina Sahrati Rangkuti-1144034-D4TI2D)

16:58 Pemrograman Web 11 Comments



INSERTION SORT PADA BAHASA C

            Insertion Sort adalah Suatu pengurutan angka yang membandingkan dua elemen data pertama, dengan data angka berikutnya, Kemudian data angka pertama dicek dengan data berikutnya satu persatu dan membandingkannya dengan data angka yang telah diurutkan sebelumnya. Insertion sort bekerja dengan membanding angka mulai dari angka terkecil sampai angka terbesar sehingga algoritma ini disebut dengan Comparison-based sort. Ide dasar dari algoritma insertion sort adalah mencari tempat yang tepat untuk setiap elemen array, dengan cara sequential search.
            Proses ini menyisipkan angka yang diproses ke tempat yang seharusnya. Proses ini dilakukan sebanyak N-1 tahapan yang dimulai dari 0. Caranya dengan membandingkan data ke-i(dimana I dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya. Jika ditemukan angka yang lebih kecil maka angka tersebut akan disisipkan sesuai dengan posisi yang seharusnya.
            Selain itu insertion sort mempunyai kekurangan dan kelebihan, diantaranya ;
Kelebihan Insertion Sort :
1.      Jika list sudah terurut maka insertion akan lebih cepat dibandingkan dengan quicksort.
2.      Sederhana dalam penerapannya.
3.      Stabil
Kekurangan Insertion Sort :
1.      Untuk jumlah angka yang besar tidak akan praktis.
2.      Banyak operasi yang diperlukan dalam mencari posisi yang tepat untuk angka larik.
            Berikut ini saya cantumkan contoh codingan Insertion Short pada Bahasa C :
/* insertion sort ascending order*/
#include <stdio.h>

int main()
{
            int n, array[1000], c, d, t;
           
printf("Enter number of elements\n");
scanf("%d", &n);

printf("Enter %d integers\n", n);

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

for (c = 1; c<=n - 1; c++) {
            d=c;

while ( d > 0 && array[d] < array[d-1]) {
            t = array[d];
            array[d] = array[d-1];
            array[d-1] =t;
           
d--;
}
}

printf("Sorted list in ascending order:\n");

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

Penjelasan dari codingan diatas adalah ;
#include <stdio.h>

Sebuah prosesor pengarah yang mengatakan kepada kompiler untuk meletakan kode dari header file stdio.h kedalam program.
int main()
{

Fungsi utama dari sebuah code Bahasa C. Fungsi ini memberikan nilai balik menurut type datanya. Dan karena memiliki nilai balik maka diberikan perintah return nilai. Int main () artinya main program mengembalikan nilai 0, dan fungsi main () tidak memiliki bagian deklarasi local, dan hanya memiliki sebuah pernyataan yang dapat di ekseskusi berupa fungsi output printf().

int n, array[1000], c, d, t;

Int n adalah Angka yang akan diurutkan jumlahnya bisa sampe 1000, dimana c, d, dan t adalah angka berikutnya untuk membandingkan angka yang lebih kecil ke angka yang lebih besar.
printf("Enter number of elements\n");
scanf("%d", &n);
printf("Enter %d integers\n", n);


Fungsi printf adalah untuk menampilkan keluaran data dan fungsi yang berisikan “Enter number of elements” sedangkan fungsi scanf berguna untuk membaca masukkan data.
for(c=0; c<n; c++) {
            scanf("%d", &array[c]);
}

 Untuk variabel c elemen dimulai dari angka 0, dimana c harus lebih kecil dari pada elemen n yang akan diinputkan sampe variabel c seterusnya. Scanf akan membaca data yang dimasukkan.
for (c = 1; c<=n - 1; c++) {
            d=c;

Untuk c = 1, c tidak lebih kecil sama dengan 1, dan perulangan akan terjadi sebanyak jumlah n yang dimasukkan, dimana variabel d dengan variabel c sama.
while ( d > 0 && array[d] < array[d-1]) {
            t = array[d];
            array[d] = array[d-1];
            array[d-1] =t;

Variabel d lebih besar dari pada 0, dimana t sama dengan variabel d. dan variabel d sama dengan variabel d-1, jadi d-1 adalah t.
d--;
}
}

Variabel d adalah untuk d selanjutnya.

printf("Sorted list in ascending order:\n");

 Fungsi printf adalah untuk menampilkan keluaran data dan fungsi yang memuat “Sorted list in ascending order)
for(c = 0; c<=n - 1; c++) {
            printf("%d\n", array[c]);
           
}

Untuk c = 1, c tidak lebih kecil sama dengan 1, dan perulangan akan terjadi sebanyak jumlah n yang dimasukkan dan Printf akan menampilkan data yang telah diinputkan.
return 0;
}
Return untuk melakukan perulangan.



Plagiarisme :



URL 




11 komentar: