Berikut ini saya akan menampilkan contoh program sorting dalam bahasa C++. Program ini bertujuan agar data yang telah kita inputkan sebelumnya, diurutkan dari yang paling kecil sampai yang paling besar maupun sebaliknya.
Banyak cara yang bisa digunakan untuk melakukan pengurutan, yaitu: Bubble Short, Exchange Short, Selection Short dan Insertion Short. Berikut ini adalah listing programnya (berupa tampilan menu yang mengurutkan data dari yang terkecil sampai yang terbesar).
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
void main()
{
clrscr();
int A[5];
int i,j,tampung,pos;
int pilih;
for (pilih=5; pilih<=5; pilih++)
{
printf("\n\n\t\tMenu Utama\n");
printf("\t==========================\n");
printf("\t|| 1. Bubble Short || \n");
printf("\t|| 2. Exchange Short || \n");
printf("\t|| 3. Selection Short || \n");
printf("\t|| 4. Insertion Short || \n");
printf("\t|| 5. Keluar || \n");
printf("\t==========================\n");
printf("\n Masukan Pilihan Anda (1-5)... "); scanf("%i",&pilih);
switch (pilih)
{ case 1:
printf("\n\n1. Bubble Short \n");
for (i=0; i<5; i++)
{ printf("\tData ke-%i : ",i+1);
scanf("%i",&A[i]);
}
printf("\n\tSebelum Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
for (i=1; i<5; i++)
{ for (j=5-1; j>=i; j--)
{ if (A[j] < A[j-1])
{ tampung = A[j];
A[j] = A[j-1];
A[j-1] = tampung;
}
}
}
printf("\n\tSetelah Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
break;
case 2:
printf("\n\n2. Exchange \n");
for (i=0; i<5; i++)
{ printf("\tData ke-%i : ",i+1);
scanf("%i",&A[i]);
}
printf("\n\tSebelum Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
for (i=0; i<5-1; i++)
{ for (j=i+1; j<5; j++)
{ if (A[i] < A[j])
{ tampung = A[i];
A[i] = A[j];
A[j] = tampung;
}
}
}
printf("\n\tSetelah Sorting : ");
for (i=4; i>0-1; i--)
{ printf("%i ",A[i]);
}
break;
case 3:
printf("\n\n3. Selection Short \n");
for (i=0; i<5; i++)
{ printf("\tData ke-%i : ",i+1);
scanf("%i",&A[i]);
}
printf("\n\tSebelum Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
for (i=0; i<5-1; i++)
{ pos=i;
for (j=i+1; j<5; j++)
{ if (A[j] < A[pos])
{ pos=j;
}
}
if (pos != i)
{ tampung = A[pos];
A[pos] = A[i];
A[i] = tampung;
}
}
printf("\n\tSetelah Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
break;
case 4:
printf("\n\n4. Insertion Short \n");
for (i=0; i<5; i++)
{ printf("\tData ke-%i : ",i+1);
scanf("%i",&A[i]);
}
printf("\n\tSebelum Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
for (i=1; i<5; i++)
{ tampung=A[i];
j = i-1;
while (A[j] > tampung && j >= 0)
{ A[j+1] = A[j];
j--;
}
A[j+1] = tampung;
}
printf("\n\tSetelah Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
break;
case 5:
printf("\n\nAnda Keluar... \n Tekan Enter!!");
break;
}}
getch();
}
Semoga bermanfaat dan selamat mencoba... :)
Banyak cara yang bisa digunakan untuk melakukan pengurutan, yaitu: Bubble Short, Exchange Short, Selection Short dan Insertion Short. Berikut ini adalah listing programnya (berupa tampilan menu yang mengurutkan data dari yang terkecil sampai yang terbesar).
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
void main()
{
clrscr();
int A[5];
int i,j,tampung,pos;
int pilih;
for (pilih=5; pilih<=5; pilih++)
{
printf("\n\n\t\tMenu Utama\n");
printf("\t==========================\n");
printf("\t|| 1. Bubble Short || \n");
printf("\t|| 2. Exchange Short || \n");
printf("\t|| 3. Selection Short || \n");
printf("\t|| 4. Insertion Short || \n");
printf("\t|| 5. Keluar || \n");
printf("\t==========================\n");
printf("\n Masukan Pilihan Anda (1-5)... "); scanf("%i",&pilih);
switch (pilih)
{ case 1:
printf("\n\n1. Bubble Short \n");
for (i=0; i<5; i++)
{ printf("\tData ke-%i : ",i+1);
scanf("%i",&A[i]);
}
printf("\n\tSebelum Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
for (i=1; i<5; i++)
{ for (j=5-1; j>=i; j--)
{ if (A[j] < A[j-1])
{ tampung = A[j];
A[j] = A[j-1];
A[j-1] = tampung;
}
}
}
printf("\n\tSetelah Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
break;
case 2:
printf("\n\n2. Exchange \n");
for (i=0; i<5; i++)
{ printf("\tData ke-%i : ",i+1);
scanf("%i",&A[i]);
}
printf("\n\tSebelum Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
for (i=0; i<5-1; i++)
{ for (j=i+1; j<5; j++)
{ if (A[i] < A[j])
{ tampung = A[i];
A[i] = A[j];
A[j] = tampung;
}
}
}
printf("\n\tSetelah Sorting : ");
for (i=4; i>0-1; i--)
{ printf("%i ",A[i]);
}
break;
case 3:
printf("\n\n3. Selection Short \n");
for (i=0; i<5; i++)
{ printf("\tData ke-%i : ",i+1);
scanf("%i",&A[i]);
}
printf("\n\tSebelum Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
for (i=0; i<5-1; i++)
{ pos=i;
for (j=i+1; j<5; j++)
{ if (A[j] < A[pos])
{ pos=j;
}
}
if (pos != i)
{ tampung = A[pos];
A[pos] = A[i];
A[i] = tampung;
}
}
printf("\n\tSetelah Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
break;
case 4:
printf("\n\n4. Insertion Short \n");
for (i=0; i<5; i++)
{ printf("\tData ke-%i : ",i+1);
scanf("%i",&A[i]);
}
printf("\n\tSebelum Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
for (i=1; i<5; i++)
{ tampung=A[i];
j = i-1;
while (A[j] > tampung && j >= 0)
{ A[j+1] = A[j];
j--;
}
A[j+1] = tampung;
}
printf("\n\tSetelah Sorting : ");
for (i=0; i<5; i++)
{ printf("%i ",A[i]);
}
break;
case 5:
printf("\n\nAnda Keluar... \n Tekan Enter!!");
break;
}}
getch();
}
Semoga bermanfaat dan selamat mencoba... :)