Program Tugas Besar Dasprog Universitas Jenderal Soedirman Purwokerto, program menampilkan puzzel yang output atau nilai yang benarnya adalah angka yang urut dari angka yang dimasukan.
Screenshoot Program
Berikut Source Code dari program tersebut:
#include<stdio.h>
#include<stdlib.h>
int kotak1[3][3];
int kotak2[3][3];
int sort[9];
int a,b,c,d,e,f,navigasi,temp;
//================================================
void tujuan()
{
a=0;
for(f=-999;f<999;f++)
{
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(f==kotak1[b][c])
{
sort[a]=kotak1[b][c];
a++;
}
}
}
}
a=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
kotak2[b][c]=sort[a];
a++;
}
}
}
//================================================
void input()
{
while(f!=1)
{
f=0;
a=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
printf("\nMasukan elemen [%d][%d] = ",b,c);
scanf("%d", &kotak1[b][c]);
a++;
}
}
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(kotak1[b][c]==0)
{f++;}
}
}
if(f!=1)
{printf("\n7anda harus memasukan angka 0 sebanyak 1 kali..!!\n");}
}
}
//================================================
void banding()
{
e=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(kotak1[b][c]==kotak2[b][c])
{e++;} //banyak nilai cocok
}
}
}
//================================================
void tukar()
{
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(kotak1[b][c]==0)
{
if(b==0&&c==0&&navigasi==1)
{
temp=kotak1[0][0];
kotak1[0][0]=kotak1[0][1];
kotak1[0][1]=temp;
}
if(b==0&&c==0&&navigasi==4)
{
temp=kotak1[0][0];
kotak1[0][0]=kotak1[1][0];
kotak1[1][0]=temp;
}
//=============================
if(b==0&&c==1&&navigasi==2)
{
temp=kotak1[0][1];
kotak1[0][1]=kotak1[0][0];
kotak1[0][0]=temp;
}
if(b==0&&c==1&&navigasi==1)
{
temp=kotak1[0][1];
kotak1[0][1]=kotak1[0][2];
kotak1[0][2]=temp;
}
if(b==0&&c==1&&navigasi==4)
{
temp=kotak1[0][1];
kotak1[0][1]=kotak1[1][1];
kotak1[1][1]=temp;
}
//=============================
if(b==0&&c==2&&navigasi==2)
{
temp=kotak1[0][2];
kotak1[0][2]=kotak1[0][1];
kotak1[0][1]=temp;
}
if(b==0&&c==2&&navigasi==4)
{
temp=kotak1[0][2];
kotak1[0][2]=kotak1[1][2];
kotak1[1][2]=temp;
}
//=============================
if(b==1&&c==0&&navigasi==3)
{
temp=kotak1[1][0];
kotak1[1][0]=kotak1[0][0];
kotak1[0][0]=temp;
}
if(b==1&&c==0&&navigasi==1)
{
temp=kotak1[1][0];
kotak1[1][0]=kotak1[1][1];
kotak1[1][1]=temp;
}
if(b==1&&c==0&&navigasi==4)
{
temp=kotak1[1][0];
kotak1[1][0]=kotak1[2][0];
kotak1[2][0]=temp;
}
//=============================
if(b==1&&c==1&&navigasi==3)
{
temp=kotak1[1][1];
kotak1[1][1]=kotak1[0][1];
kotak1[0][1]=temp;
}
if(b==1&&c==1&&navigasi==4)
{
temp=kotak1[1][1];
kotak1[1][1]=kotak1[2][1];
kotak1[2][1]=temp;
}
if(b==1&&c==1&&navigasi==2)
{
temp=kotak1[1][1];
kotak1[1][1]=kotak1[1][0];
kotak1[1][0]=temp;
}
if(b==1&&c==1&&navigasi==1)
{
temp=kotak1[1][1];
kotak1[1][1]=kotak1[1][2];
kotak1[1][2]=temp;
}
//=============================
if(b==1&&c==2&&navigasi==3)
{
temp=kotak1[1][2];
kotak1[1][2]=kotak1[0][2];
kotak1[0][2]=temp;
}
if(b==1&&c==2&&navigasi==2)
{
temp=kotak1[1][2];
kotak1[1][2]=kotak1[1][1];
kotak1[1][1]=temp;
}
if(b==1&&c==2&&navigasi==4)
{
temp=kotak1[1][2];
kotak1[1][2]=kotak1[2][2];
kotak1[2][2]=temp;
}
//=============================
if(b==2&&c==0&&navigasi==3)
{
temp=kotak1[2][0];
kotak1[2][0]=kotak1[1][0];
kotak1[1][0]=temp;
}
if(b==2&&c==0&&navigasi==1)
{
temp=kotak1[2][0];
kotak1[2][0]=kotak1[2][1];
kotak1[2][1]=temp;
}
//=============================
if(b==2&&c==1&&navigasi==2)
{
temp=kotak1[2][1];
kotak1[2][1]=kotak1[2][0];
kotak1[2][0]=temp;
}
if(b==2&&c==1&&navigasi==3)
{
temp=kotak1[2][1];
kotak1[2][1]=kotak1[1][1];
kotak1[1][1]=temp;
}
if(b==2&&c==1&&navigasi==1)
{
temp=kotak1[2][1];
kotak1[2][1]=kotak1[2][2];
kotak1[2][2]=temp;
}
//=============================
if(b==2&&c==2&&navigasi==3)
{
temp=kotak1[2][2];
kotak1[2][2]=kotak1[1][2];
kotak1[1][2]=temp;
}
if(b==2&&c==2&&navigasi==2)
{
temp=kotak1[2][2];
kotak1[2][2]=kotak1[2][1];
kotak1[2][1]=temp;
}
b=2;
c=2;
}
}
}
}
//================================================
void tampil_posisi_sekarang()
{
printf("Posisi Sekarang :\n\n");
a=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
printf("%d ",kotak1[b][c]);
a++;
}
printf("\n");
}
printf("==================================================\n");
}
//================================================
void tampil_posisi_tujuan()
{
printf("Posisi Tujuan :\n\n");
a=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
printf("%d ",kotak2[b][c]);
a++;
}
printf("\n");
}
printf("==================================================\n");
}
//================================================
void tampil_keterangan()
{
system("cls");
printf("==================================================\n");
printf("| TUGAS BESAR DASAR PEMROGRAMAN |\n");
printf("| TAHUN AKADEMIK 2013/2014 |\n");
printf("==================================================\n");
printf("Aturan:\n");
printf("1. Nilai yang dimasukan ke kolom, bertipe integer.\n");
printf("2. Salah satu nilai adalah 0.\n");
printf("3. Navigasi untuk menjalankan nilai 0 :\n");
printf(" 1. Kanan\n");
printf(" 2. Kiri\n");
printf(" 3. Atas\n");
printf(" 4. Bawah\n");
printf("==================================================\n");
}
//================================================
int main()
{
tampil_keterangan();
tampil_posisi_sekarang();
input();
tujuan();
tampil_keterangan();
tampil_posisi_sekarang();
tampil_posisi_tujuan();
while(e!=9)
{
printf("Navigasi : ");
scanf("%d",&navigasi);
tukar();
banding();
tampil_keterangan();
tampil_posisi_sekarang();
tampil_posisi_tujuan();
}
printf("\nHORE ANDA BERHASIL");
printf("\n\n");
system("pause");
return(0);
}
Screenshoot Program
Berikut Source Code dari program tersebut:
#include<stdio.h>
#include<stdlib.h>
int kotak1[3][3];
int kotak2[3][3];
int sort[9];
int a,b,c,d,e,f,navigasi,temp;
//================================================
void tujuan()
{
a=0;
for(f=-999;f<999;f++)
{
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(f==kotak1[b][c])
{
sort[a]=kotak1[b][c];
a++;
}
}
}
}
a=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
kotak2[b][c]=sort[a];
a++;
}
}
}
//================================================
void input()
{
while(f!=1)
{
f=0;
a=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
printf("\nMasukan elemen [%d][%d] = ",b,c);
scanf("%d", &kotak1[b][c]);
a++;
}
}
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(kotak1[b][c]==0)
{f++;}
}
}
if(f!=1)
{printf("\n7anda harus memasukan angka 0 sebanyak 1 kali..!!\n");}
}
}
//================================================
void banding()
{
e=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(kotak1[b][c]==kotak2[b][c])
{e++;} //banyak nilai cocok
}
}
}
//================================================
void tukar()
{
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(kotak1[b][c]==0)
{
if(b==0&&c==0&&navigasi==1)
{
temp=kotak1[0][0];
kotak1[0][0]=kotak1[0][1];
kotak1[0][1]=temp;
}
if(b==0&&c==0&&navigasi==4)
{
temp=kotak1[0][0];
kotak1[0][0]=kotak1[1][0];
kotak1[1][0]=temp;
}
//=============================
if(b==0&&c==1&&navigasi==2)
{
temp=kotak1[0][1];
kotak1[0][1]=kotak1[0][0];
kotak1[0][0]=temp;
}
if(b==0&&c==1&&navigasi==1)
{
temp=kotak1[0][1];
kotak1[0][1]=kotak1[0][2];
kotak1[0][2]=temp;
}
if(b==0&&c==1&&navigasi==4)
{
temp=kotak1[0][1];
kotak1[0][1]=kotak1[1][1];
kotak1[1][1]=temp;
}
//=============================
if(b==0&&c==2&&navigasi==2)
{
temp=kotak1[0][2];
kotak1[0][2]=kotak1[0][1];
kotak1[0][1]=temp;
}
if(b==0&&c==2&&navigasi==4)
{
temp=kotak1[0][2];
kotak1[0][2]=kotak1[1][2];
kotak1[1][2]=temp;
}
//=============================
if(b==1&&c==0&&navigasi==3)
{
temp=kotak1[1][0];
kotak1[1][0]=kotak1[0][0];
kotak1[0][0]=temp;
}
if(b==1&&c==0&&navigasi==1)
{
temp=kotak1[1][0];
kotak1[1][0]=kotak1[1][1];
kotak1[1][1]=temp;
}
if(b==1&&c==0&&navigasi==4)
{
temp=kotak1[1][0];
kotak1[1][0]=kotak1[2][0];
kotak1[2][0]=temp;
}
//=============================
if(b==1&&c==1&&navigasi==3)
{
temp=kotak1[1][1];
kotak1[1][1]=kotak1[0][1];
kotak1[0][1]=temp;
}
if(b==1&&c==1&&navigasi==4)
{
temp=kotak1[1][1];
kotak1[1][1]=kotak1[2][1];
kotak1[2][1]=temp;
}
if(b==1&&c==1&&navigasi==2)
{
temp=kotak1[1][1];
kotak1[1][1]=kotak1[1][0];
kotak1[1][0]=temp;
}
if(b==1&&c==1&&navigasi==1)
{
temp=kotak1[1][1];
kotak1[1][1]=kotak1[1][2];
kotak1[1][2]=temp;
}
//=============================
if(b==1&&c==2&&navigasi==3)
{
temp=kotak1[1][2];
kotak1[1][2]=kotak1[0][2];
kotak1[0][2]=temp;
}
if(b==1&&c==2&&navigasi==2)
{
temp=kotak1[1][2];
kotak1[1][2]=kotak1[1][1];
kotak1[1][1]=temp;
}
if(b==1&&c==2&&navigasi==4)
{
temp=kotak1[1][2];
kotak1[1][2]=kotak1[2][2];
kotak1[2][2]=temp;
}
//=============================
if(b==2&&c==0&&navigasi==3)
{
temp=kotak1[2][0];
kotak1[2][0]=kotak1[1][0];
kotak1[1][0]=temp;
}
if(b==2&&c==0&&navigasi==1)
{
temp=kotak1[2][0];
kotak1[2][0]=kotak1[2][1];
kotak1[2][1]=temp;
}
//=============================
if(b==2&&c==1&&navigasi==2)
{
temp=kotak1[2][1];
kotak1[2][1]=kotak1[2][0];
kotak1[2][0]=temp;
}
if(b==2&&c==1&&navigasi==3)
{
temp=kotak1[2][1];
kotak1[2][1]=kotak1[1][1];
kotak1[1][1]=temp;
}
if(b==2&&c==1&&navigasi==1)
{
temp=kotak1[2][1];
kotak1[2][1]=kotak1[2][2];
kotak1[2][2]=temp;
}
//=============================
if(b==2&&c==2&&navigasi==3)
{
temp=kotak1[2][2];
kotak1[2][2]=kotak1[1][2];
kotak1[1][2]=temp;
}
if(b==2&&c==2&&navigasi==2)
{
temp=kotak1[2][2];
kotak1[2][2]=kotak1[2][1];
kotak1[2][1]=temp;
}
b=2;
c=2;
}
}
}
}
//================================================
void tampil_posisi_sekarang()
{
printf("Posisi Sekarang :\n\n");
a=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
printf("%d ",kotak1[b][c]);
a++;
}
printf("\n");
}
printf("==================================================\n");
}
//================================================
void tampil_posisi_tujuan()
{
printf("Posisi Tujuan :\n\n");
a=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
printf("%d ",kotak2[b][c]);
a++;
}
printf("\n");
}
printf("==================================================\n");
}
//================================================
void tampil_keterangan()
{
system("cls");
printf("==================================================\n");
printf("| TUGAS BESAR DASAR PEMROGRAMAN |\n");
printf("| TAHUN AKADEMIK 2013/2014 |\n");
printf("==================================================\n");
printf("Aturan:\n");
printf("1. Nilai yang dimasukan ke kolom, bertipe integer.\n");
printf("2. Salah satu nilai adalah 0.\n");
printf("3. Navigasi untuk menjalankan nilai 0 :\n");
printf(" 1. Kanan\n");
printf(" 2. Kiri\n");
printf(" 3. Atas\n");
printf(" 4. Bawah\n");
printf("==================================================\n");
}
//================================================
int main()
{
tampil_keterangan();
tampil_posisi_sekarang();
input();
tujuan();
tampil_keterangan();
tampil_posisi_sekarang();
tampil_posisi_tujuan();
while(e!=9)
{
printf("Navigasi : ");
scanf("%d",&navigasi);
tukar();
banding();
tampil_keterangan();
tampil_posisi_sekarang();
tampil_posisi_tujuan();
}
printf("\nHORE ANDA BERHASIL");
printf("\n\n");
system("pause");
return(0);
}