- Untuk menu pertama adalah sorting
- Jika disorting maka hanya pada kolom pertama tersorting (1),
- Ketika ditukar pada proses tukar tempat maka semu kolom akan tertukar (2),
- Dan setelah itu program akan melakukan sorting pada kolom kedua hingga terakhir (3). Karena dalam program ini hanya terdapat 3 kolom maka akan melakukan sorting pada kolom dua dan tiga,
- Pada menu kedua, dilakukan pencarian 3 data berturut-turut pada baris yang sama, jika ketemu maka program akan menampilkan ketemu, jika tidak maka program akan menampilkan data tidak di temukan
- Pada menu ketiga, program akan melakukan pencarian data kemudian jika data tersebut ada maka program akan menampilkan lokasi data, jika tidak ditemukan program akan menampilkan data tidak ditemukan
- Pada menu keempat, program akan berhenti
Setelah menganalisa program kahirnya selesai juga program sorting dan serchingnya. Jika sobat ingin programnya, Tancap gan ke TKP...
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int i, j;
int bantu;
void main()
{
const int baris=10, kolom=3;
int tukar, pindah, key;
int data[baris][kolom]={{10,8,12},{3,6,10},{15,7,5},{20,12,14},{7,14,21},{5,6,7},{1,10,20},{25,15,5},{6,8,3},{18,9,3}};
do
{
clrscr();
printf("\n\n");
printf(" Data : \n\n");
for(i=0; i<baris; i++)
{
printf(" | ");
for(j=0; j<kolom; j++)
{
printf(" %-3d ", data[i][j]);
}
printf(" | ");
printf("\n");
}
printf(" \n\n");
printf(" Pilihan : \n");
printf(" 1. Sorting data \n");
printf(" 2. Pencarian 3 data \n");
printf(" 3. Pencarian lokasi data \n");
printf(" 4. Exit \n");
printf(" Masukan pilihan anda : ");scanf("%d", &key);
switch(key)
{
case 1 : clrscr();
{
//---------------------------------- sorting kolom pertama
for(i=1; i<baris; i++)
{
for(j=baris-1; j>=i; j--)
{
if(data[j][0]<data[j-1][0])
{
for(int k=0; k<kolom; k++)
{
tukar = data[j][k];
data[j][k] = data[j-1][k];
data[j-1][k] = tukar;
}
}
}
}
//---------------------------------- sorting baris ke 2 dan 3
for(i=0; i<baris; i++)
{
for(int k=2; k<kolom; k++)
{
for(int kl=kolom-1; kl>=k; kl--)
{
if(data[i][kl]<data[i][kl-1])
{
pindah = data[i][kl];
data[i][kl] = data[i][kl-1];
data[i][kl-1] = pindah;
}
}
}
}
printf(" \n\n ");
printf(" Sorting selesai!!! \n\n");
printf(" Hasil data : \n\n");
for(i=0; i<baris; i++)
{
printf(" | ");
for(j=0; j<kolom; j++)
{
printf(" %-3d ", data[i][j]);
}
printf(" | ");
printf("\n");
}
getch();
}break;
case 2 :
{
printf("\n Pencarian pada baris yang sama \n");
int cari[3];
for(int cr=0; cr<3; cr++)
{
printf(" Data pencarian pada kolom %d : ", cr+1); scanf("%d", &cari[cr]);
}
for(j=0; j<baris; j++)
{
if(data[j][0]==cari[0] && data[j][1]==cari[1] && data[j][2]==cari[2])
{
bantu = j; break;
}
}
if(bantu==j)
{
printf(" Data ditemukan \n\n");
}
else
{
printf(" Data tidak ditemukan \n\n");
}
getch();
}break;
case 3 :
{
printf("\n Pencarian lokasi data \n");
int carix;
printf(" Masukan data yang ingin di cari : "); scanf("%d", &carix);
for(i=0; i<baris; i++)
{
for(j=0; j<kolom; j++)
{
if(data[i][j]==carix)
{
printf(" Data di temukan pada araay [ %d %d ] \n", i, j);
bantu = carix;
}
}
}
if(bantu!=carix)
{
printf(" Data tidak ditemukan \n\n");
}
getch();
}break;
case 4 : clrscr();break;
default :
{
printf("\n pilihan salah \n");
getch();
}break;
}
}
while(key !=4);
}
Woke, Semoga bermanfaat,
Salam senyum dariku........
alam senyum dariku untuk semuanya, tetaplah untuk bersemangat. Jangan lupa atau isi buku tamu ya sob. Sedikit pemberitahuan untuk sobat yang ingin mengambil [Copy-Paste], Owner tidak melarang sobat untuk memperbanyak artikel namun Owner berharap sobat berlaku dengan bijak agar mencantumkan link active maupun yang tidak. Owner berharap partisipasinya ya sob.
0 komentar: