Tutorial membuat pengurutan atau sorting dengan Bubble Sort dalam Bahasa C
- Bubble Sort
- Insertion Sort
- Selection Sort
- Merge Sort
- Quick Sort
#include <stdio.h>
#include <conio.h>
#define max 5 //mendefinisikan bahwa variabel max memiliki nilai maksimal 5
#define total 10 //mendefinisikan bahwa variabel total memiliki nilai total 10
Setelah itu kita buat varibel masing-masing untuk inti program, varibel yang kita butuhin adalah :
int arr[max], i, j, temp;Nama dari variabel tersebut bebas, kemudian yang terakhir inti dari program tersebut :
for(i=0; i<max; i++)
{
printf("Masukkan Angka : \t");
scanf("%d",&arr[i]);
}
for(i=0; i<max ; i++)
{
for(j=0; j<(max-1)-i; j++)
{
if( arr[j] > arr[j+1] ) // tanda panah diganti jika ingin descending. Dari besar ke keci.
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("Data yang terurut secara Ascending:\n");
for(i=0; i<max; i++)
printf("\t\t\t\t\t%d\n",arr[i]);
Dan terakhir ini kode program lengkapnya, saya menggunakan pengkondisian switch-case untuk memilih fitur pengurutan dengan cara ascending atau descending.
#include <stdio.h>
#include <conio.h>
#define max 5
#define total 10
main()
{
int sorting;
menu:
printf("-----------Sorting's Menu------------\n");
printf("\n1.\tBubble Sort Asc\n2.\tBubble Sort Desc\n");
printf("3.\tKeluar dari menu ini\n");
printf("\n-----Created By : @irfancheinID------\n");
printf("Pilih Menu\t: \t");scanf("%d", &sorting);
switch(sorting)
{
case 1 :
{
int arr[max], i, j, temp;
for(i=0; i<max; i++)
{
printf("Masukkan Angka : \t");
scanf("%d",&arr[i]);
}
for(i=0; i<max ; i++)
{
for(j=0; j<(max-1)-i; j++)
{
if( arr[j] > arr[j+1] )
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("Data yang terurut secara Ascending:\n");
for(i=0; i<max; i++)
printf("\t\t\t\t\t%d\n",arr[i]);
getch();
goto menu;
}
case 2:
{
int arr[max], i, j, temp;
for(i=0; i<max; i++)
{
printf("Masukkan Angka : \t");
scanf("%d",&arr[i]);
}
for(i=0; i<max ; i++)
{
for(j=0; j<(max-1)-i; j++)
{
if( arr[j] < arr[j+1] )
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("Data yang terurut secara Descending:\n");
for(i=0; i<max; i++)
printf("\t\t\t\t\t%d\n",arr[i]);
getch();
goto menu;
}
case 3:
{
return 0;
}
default:
printf("\n\tTidak Ada dalam Pilihan\n\t Silahkan Coba Kembali\n");
goto menu;
}
}
Hasil nya nih gan :