Showing posts with label Matriks. Show all posts
Showing posts with label Matriks. Show all posts

Saturday, June 30, 2007

SD: Tugas 29 Juni 2007

/*karena format HTML, maka semua karakter lebih besar (>) dan lebih kecil (<) diganti dengan karakter ((>)) dan ((<)) sorry (^-^)*/

//file header.h

#include (<)conio.h(>)
#include (<)stdio.h(>)
#include (<)stdlib.h(>)
#include (<)string.h(>)

typedef char str[20];
typedef int harga[4][5];

void tampil(harga *r);
void carimurah(harga r, str kota);


//file definition.c

#include "header.h"


void tampil(harga *r)
{
int i;
(*r)[0][0]=275000;
(*r)[0][1]=250000;
(*r)[0][2]=400000;
(*r)[0][3]=900000;
(*r)[0][4]=600000;

(*r)[1][0]=160000;
(*r)[1][1]=225000;
(*r)[1][2]=375000;
(*r)[1][3]=875000;
(*r)[1][4]=575000;

(*r)[2][0]=150000;
(*r)[2][1]=200000;
(*r)[2][2]=375000;
(*r)[2][3]=875000;
(*r)[2][4]=600000;

(*r)[3][0]=175000;
(*r)[3][1]=250000;
(*r)[3][2]=350000;
(*r)[3][3]=900000;
(*r)[3][4]=550000;
printf("\t Jakarta Surabaya Banjarmasin Manado Denpasar\n\n");
printf(" Garuda");
for(i=0;i(<)5;i++)
printf(" %7d",(*r)[0][i]);
printf("\n\n Mandala");
for(i=0;i(<)5;i++)
printf(" %7d",(*r)[1][i]);
printf("\n\nAdam Air");
for(i=0;i(<)5;i++)
printf(" %7d",(*r)[2][i]);
printf("\n\nLion Air");
for(i=0;i(<)5;i++)
printf(" %7d",(*r)[3][i]);
}

void carimurah(harga r, str kota)
{

int i,j,x;
str maskapai;
printf("\n");
if(strcmp(kota,"jakarta")==0)
j=0;
else if(strcmp(kota,"surabaya")==0)
j=1;
else if(strcmp(kota,"banjarmasin")==0)
j=2;
else if(strcmp(kota,"manado")==0)
j=3;
else if(strcmp(kota,"denpasar")==0)
j=4;
else
j=5;
if(j(<)5)
{
x=r[0][j];
for(i=1;i(<)4;i++)
{
if(r[i][j](<)x)
{
x=r[i][j];
}
}
printf("Maskapai dengan tiket termurah : ");
for(i=0;i(<)4;i++)
{
if(x==r[i][j])
{
switch(i)
{
case 0:
strcpy(maskapai,"Garuda");
break;
case 1:
strcpy(maskapai,"Mandala");
break;
case 2:
strcpy(maskapai,"Adam Air");
break;
case 3:
strcpy(maskapai,"Lion Air");
break;
}
printf("\n- %s",maskapai);
}
}
printf("\n\tdengan harga tiket Rp.%d",x);
}
else
printf("Maaf Kota yang dicari tidak ada\n(Masukkan kota yang dicari dengan huruf kecil)");
}


//file main.c

#include "header.h"
void main()
{
harga a;
str Tujuan;

tampil(&a);
printf("\n\nMencari maskapai dengan tiket termurah\n");
printf("\nTujuan : ");scanf("%s",&Tujuan);
carimurah(a,Tujuan);
getch();
}

SD: Unguided 29 Juni 2007

/*karena format HTML, maka semua karakter lebih besar (>) dan lebih kecil (<) diganti dengan karakter ((>)) dan ((<)) sorry (^-^)*/
//File header.h

//file header.h

#include (<)stdio.h(>)
#include (<)conio.h(>)
#include (<)stdlib.h(>)
#include (<)time.h(>)
#define max 11

typedef struct{
int element[max][max];
int row;
int column;
}allmat;

void input(allmat *a);
void tampilgenap(allmat a);
void tampilganjil(allmat a);
float totalelement(allmat a);
void jumlah(allmat a);


//file definition.c

#include "header.h"

void input(allmat *a)
{
int i,j,k,x;
srand((unsigned)time(NULL));
printf("Jumlah baris matriks : ");scanf("%d",&(*a).row);
printf("Jumlah kolom matriks : ");scanf("%d",&(*a).column);
for(i=0;i(<)(*a).row;i++)
{
for(j=0;j(<)(*a).column;j++)
{
x=rand()%10;
(*a).element[i][j]=x;
}
printf("\n");
}
for(k=0;k(<)(*a).row;k++)
{
for(j=0;j(<)(*a).column;j++)
{
printf("%5d ",(*a).element[k][j]);
}
printf("\n");
}
printf("\n\n");
}

void tampilgenap(allmat a)
{
int j,k,sub=0;
for(k=0;k(<)a.row;k++)
{
for(j=0;j(<)a.column;j++)
{
if(a.element[k][j]%2==0)
printf("%5d ",a.element[k][j]);
else
printf("%5d ",sub);
}
printf("\n");
}
printf("\n\n");
}

void tampilganjil(allmat a)
{
int j,k,sub=1;
for(k=0;k(<)a.row;k++)
{
for(j=0;j(<)a.column;j++)
{
if(a.element[k][j]%2!=0)
printf("%5d ",a.element[k][j]);
else
printf("%5d ",sub);
}
printf("\n");
}
printf("\n\n");
}

float totalelement(allmat a)
{
int j,k;
float tot=0;
for(k=0;k(<)a.row;k++)
{
for(j=0;j(<)a.column;j++)
{
tot=tot+a.element[k][j];
}
}
return tot/(float)(k*j);
}

void jumlah(allmat a)
{
int j,k,genap=0,ganjil=0;
float tot=0;
for(k=0;k(<)a.row;k++)
{
for(j=0;j(<)a.column;j++)
{
if(a.element[k][j]%2==0)
genap=genap+1;
else
ganjil=ganjil+1;
}
}
printf("Jumlah Element Genap adalah : %d ",genap);
printf("\nJumlah Element Ganjil adalah : %d ",ganjil);

}


//file main.c

#include "header.h"

void main()
{
int opt;
allmat b;
do
{
system("cls");
printf("MENU\n");
printf("1. Menginputkan elemen matriks\n");
printf("2. Menampilkan elemen matriks yang ganjil\n");
printf("3. Menampilkan elemen matriks yang genap\n");
printf("4. Menghitung rata-rata total elemen matriks\n");
printf("5. Menghitung total elemen matriks\n");
printf("0. Keluar\n");
printf("Masukkan pilihan anda : ");scanf("%d",&opt);
printf("\n");
switch(opt)
{
case 1:
input(&b);
break;
case 2:
tampilganjil(b);
break;
case 3:
tampilgenap(b);
break;
case 4:
printf("Rata-ratanya adalah : %f",totalelement(b));
break;
case 5:
jumlah(b);
break;
case 0:
printf("BYE");
break;
default:
printf("Nomor yang anda masukkan salah");
break;
}
getch();
}while(opt!=0);
}

SD: Guided 29 Juni 2007

/*karena format HTML, maka semua karakter lebih besar (>) dan lebih kecil (<) diganti dengan karakter ((>)) dan ((<)) sorry (^-^)*/

//file header.h

#include (<)stdio.h(>)
#include (<)conio.h(>)
#include (<)stdlib.h(>)
#define max 20

typedef struct{
int elmt[max] [max];
int row;
int column;
}matrix;

void createempty(matrix *m);
void masukkanmatrix(matrix *m, char nama);
void tampilkanmatrix(matrix m, char nama);
void transpose(matrix *m);


//file definition.c

#include "header.h"

void createempty(matrix *m)
{
(*m).row=0;
(*m).column=0;
}

void masukkanmatrix(matrix *m, char nama)
{
int i,j;
printf("\nMasukkan matrix %c\n",nama);
for(i=0;i(<)(*m).row;i++)
{
for(j=0;j(<)(*m).column;j++)
{
printf("baris %d, kolom %d = ",i+1,j+1);
scanf("%d",&((*m).elmt[i][j]));
}
printf("\n");
}
}

void tampilkanmatrix(matrix m, char nama)
{
int i,j;
printf("\nMatrix %c :\n",nama);
for(i=0;i(<)m.row;i++)
{
for(j=0;j(<)m.column;j++)
{
printf("%5d ",m.elmt[i][j]);
}
printf("\n");
}
}

void transpose(matrix *m)
{
int i,j;
matrix c;
c.column=(*m).column;
c.row=(*m).row;
for(i=0;i(<)(*m).row;i++)
{
for(j=0;j(<)(*m).column;j++)
{
c.elmt[i][j]=(*m).elmt[i][j];
}
}
for(i=0;i(<)(*m).column;i++)
{
for(j=0;j(<)(*m).row;j++)
{
(*m).elmt[i][j]=c.elmt[j][i];
}
}
(*m).row=c.column;
(*m).column=c.row;
}


//file main.c

#include "header.h"

void main()
{
int opt;
matrix a,b,c;

createempty(&a);
createempty(&b);

do
{
system("cls");
printf("MENU\n");
printf("1. Menginisialisasikan matriks A dan matriks B\n");
printf("2. Menginputkan elemen matriks A dan matriks B\n");
printf("3. Menampilkan matriks A dan matriks B\n");
printf("4. Transpose matriks A dan matriks B\n");
printf("0. Keluar\n");
printf("Masukkan pilihan anda : ");scanf("%d",&opt);
printf("\n");
switch(opt)
{
case 1:
createempty(&a);
createempty(&b);
printf("Matrix A dan matrix B sudah dikosongkan\n");
break;
case 2:
printf("Jumlah baris matriks A : ");scanf("%d",&a.row);
printf("Jumlah kolom matriks A : ");scanf("%d",&a.column);
masukkanmatrix(&a,'A');
printf("Jumlah baris matriks B : ");scanf("%d",&b.row);
printf("Jumlah kolom matriks B : ");scanf("%d",&b.column);
masukkanmatrix(&b, 'B');
break;
case 3:
tampilkanmatrix(a, 'A');
printf("\n");
tampilkanmatrix(b,'B');
break;
case 4:
printf("Sebelum Transpose");
tampilkanmatrix(a, 'A');
printf("\n");
tampilkanmatrix(b,'B');
transpose(&a);
transpose(&b);
printf("\n\nOperasi Selesai\n\n");
printf("Sesudah Transpose");
tampilkanmatrix(a, 'A');
printf("\n");
tampilkanmatrix(b,'B');
break;
case 0:
printf("BYE");
break;
default:
printf("Nomor yang anda masukkan salah");
break;
}
getch();
}while(opt!=0);
}