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);
}

Tuesday, June 26, 2007

SD: Tugas Array 26 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(>)

#define max 69
typedef char str[20];
typedef struct{
int nomor;
str nama;
float saldo;
}Rekening;

typedef Rekening ArrayRek[max];


int IsAda(ArrayRek fd, int no);
int IsSame(ArrayRek fd,int numb);
int CariBerdasarkanNomor(ArrayRek fd,int nomor);
int SaldoTerbesar(ArrayRek fd);
float TotalSaldo(ArrayRek fd);
void init(ArrayRek *fd);
void BukaRekening(ArrayRek *fd, int k);
void TampilkanSemua(ArrayRek fd, int j);
void Penyetoran(ArrayRek *fd, int numb, float uang);
void Penarikan(ArrayRek *fd, int numb, float uang);
void Transfer(ArrayRek *fd, int asal, int tujuan, float uang);
void Ubah(ArrayRek *fd, int no);
void Tutup(ArrayRek *fd, int no);


//File definition.c

#include "header.h"

int IsAda(ArrayRek fd, int no)
{
int indeks,i;
indeks=0;
for(i=1;i(<)max;i++)
{
if(no == fd[i].nomor)
indeks=i;
}
return indeks;
}

int IsSame(ArrayRek fd,int numb)
{
int i,c;
c=1;
for(i=1;i(<)max;i++)
{
if(numb==fd[i].nomor)
c=0;
}
if(c==0)
return 0;
else
return 1;
}

int CariBerdasarkanNomor(ArrayRek fd,int nomor)
{
int i,k;
for(i=1;i(<)max;i++)
{
if(nomor==fd[i].nomor)
k=nomor;
}
return nomor;
}

int SaldoTerbesar(ArrayRek fd)
{
int i,temp;
temp=1;
for(i=2;i(<)max;i++)
{
if(fd[i].saldo(>)fd[temp].saldo)
temp=i;
}
return temp;
}

float TotalSaldo(ArrayRek fd)
{
int i;
float tot;
tot=0;
for(i=1;i(<)max;i++)
{
tot=tot+fd[i].saldo;
}
return tot;
}

void init(ArrayRek *fd)
{
int i;
for(i=1;i(<)max;i++)
{
(*fd)[i].nomor=0;
strcpy((*fd)[i].nama," ");
(*fd)[i].saldo=0;
}
}

void BukaRekening(ArrayRek *fd, int k)
{
int i,j;
ArrayRek c;
for(i=1;i(<)k+1;i++)
{
do
{
printf("Nasabah Ke-%d\n",i);
for(j=1;j(<)max;j++)
{
c[j].nomor=(*fd)[j].nomor;
strcpy(c[j].nama,(*fd)[j].nama);
c[j].saldo=(*fd)[j].saldo;
}
printf("Nomor Rekening : ");scanf("%d",&(*fd)[i].nomor);
if(IsSame(c,(*fd)[i].nomor))
{
printf("Nama : ");scanf("%s",&(*fd)[i].nama);
printf("Saldo : ");scanf("%f",&(*fd)[i].saldo);
if((*fd)[i].saldo(<)500000)
{
printf("\nSaldo Harus Diatas 500000\n");
for(j=1;j(<)max;j++)
{
(*fd)[j].nomor=c[j].nomor;
strcpy((*fd)[j].nama,c[j].nama);
(*fd)[j].saldo=c[j].saldo;
}
}
}
else
printf("\nNomor Rekening Sudah dipakai\n");

}while((*fd)[i].saldo(<)500000||(IsSame(c,(*fd)[i].nomor)==0));
}
}

void TampilkanSemua(ArrayRek fd, int j)
{
int i;
for(i=1;i(<)j+1;i++)
{
printf("Nasabah ke-%d\n",i);
printf("Nomor Rekening : %d\n",fd[i].nomor);
printf("Nama : %s\n",fd[i].nama);
printf("Saldo : %f\n\n",fd[i].saldo);
}
}


void Penyetoran(ArrayRek *fd, int numb, float uang)
{
if(IsAda(*fd,numb)==0)
printf("Rekening Tidak Ditemukan");
else if(uang(<)10000)
printf("Jumlah minimal yang dapat disetor adalah 10000");
else
{
(*fd)[IsAda(*fd,numb)].saldo = (*fd)[IsAda(*fd,numb)].saldo + uang;
printf("Nomor rekening : %d\n",(*fd)[IsAda(*fd,numb)].nomor);
printf("Nama : %s\n",(*fd)[IsAda(*fd,numb)].nama);
printf("Saldo : %f\n",(*fd)[IsAda(*fd,numb)].saldo);
}
}

void Penarikan(ArrayRek *fd, int numb, float uang)
{
if(IsAda(*fd,numb)==0)
printf("Rekening Tidak Ditemukan");
else if((*fd)[IsAda(*fd,numb)].saldo - uang(<)10000)
printf("Uang tidak mencukupi (harus ada sisa 10000");
else
{
(*fd)[IsAda(*fd,numb)].saldo = (*fd)[IsAda(*fd,numb)].saldo - uang;
printf("Nomor rekening : %d\n",(*fd)[IsAda(*fd,numb)].nomor);
printf("Nama : %s\n",(*fd)[IsAda(*fd,numb)].nama);
printf("Saldo : %f\n",(*fd)[IsAda(*fd,numb)].saldo);
}
}

void Transfer(ArrayRek *fd, int asal, int tujuan, float uang)
{
if(IsAda(*fd,asal)==0||IsAda(*fd,tujuan)==0)
printf("Nomor rekening yang anda masukkan tidak valid");
else
{
(*fd)[IsAda(*fd,asal)].saldo = (*fd)[IsAda(*fd,asal)].saldo - uang;
(*fd)[IsAda(*fd,tujuan)].saldo = (*fd)[IsAda(*fd,tujuan)].saldo + uang;
printf("Transaksi Selesai");
}
}

void Ubah(ArrayRek *fd, int no)
{
if(IsAda(*fd,no)==0)
printf("Rekening Tidak Ditemukan");
else
{
printf("nomor rekening : %d\n",(*fd)[IsAda(*fd,no)].nomor);
printf("Saldo : %f\n",(*fd)[IsAda(*fd,no)].saldo);
printf("Nama : ");scanf("%s",(*fd)[IsAda(*fd,no)].nama);
}
}

void Tutup(ArrayRek *fd, int no)
{
if(IsAda(*fd,no)==0)
printf("Rekening Tidak Ditemukan");
else
{
(*fd)[IsAda(*fd,no)].saldo=0;
strcpy((*fd)[IsAda(*fd,no)].nama,"(REKENING DITUTUP)");
(*fd)[IsAda(*fd,no)].nomor=0;
}
}


//File main.c

#include "header.h"

void main()
{
ArrayRek rt;
int b,a,f,o,ah;
float wang;
init(&rt);
do
{
system("cls");
printf("MENU\n");
printf(" 1. Buka Rekening\n");
printf(" 2. Tampilkan Semua Daftar Nasabah\n");
printf(" 3. Mencari Data Nasabah Berdasarkan No Rekening\n");
printf(" 4. Nasabah dengan saldo terbesar\n");
printf(" 5. Saldo Total Seluruh Nasabah\n");
printf(" 6. Penyetoran Uang\n");
printf(" 7. Penarikan Uang\n");
printf(" 8. Transfer Uang\n");
printf(" 9. Ubah Data Nasabah\n");
printf("10. Tutup Rekening\n");
printf(" 0. Keluar\n");
printf("Masukkan pilihan anda : ");scanf("%d",&b);
system("cls");
switch(b)
{
case 1:
init(&rt);
printf("Banyaknya Rekening Yang Ingin Dibuka : ");
scanf("%d",&a);
BukaRekening(&rt,a);
getch();
break;
case 2:
TampilkanSemua(rt,a);
getch();
break;
case 3:
printf("Nomor Rekening : ");
scanf("%d",&f);
ah=CariBerdasarkanNomor(rt,f);
printf("Nomor Rekening : %d\n",rt[ah].nomor);
printf("Nama : %s\n",rt[ah].nama);
printf("Saldo : %f\n\n",rt[ah].saldo);
getch();
break;
case 4:
printf("Nasabah Dengan Saldo Terbesar : \n");
ah=SaldoTerbesar(rt);
printf("Nomor Rekening : %d\n",rt[ah].nomor);
printf("Nama : %s\n",rt[ah].nama);
printf("Saldo : %f\n\n",rt[ah].saldo);
getch();
break;
case 5:
printf("Saldo Total Seluruh Nasabah Adalah : %f",TotalSaldo(rt));
getch();
break;
case 6:
printf("Nomor rekening: ");
scanf("%d",&f);
printf("Jumlah uang yang ingin disetor: ");
scanf("%f",&wang);
Penyetoran(&rt,f,wang);
getch();
break;
case 7:
printf("Nomor rekening: ");
scanf("%d",&f);
printf("Jumlah uang yang ingin diambil: ");
scanf("%f",&wang);
Penarikan(&rt,f,wang);
getch();
break;
case 8:
printf("Nomor rekening asal: ");scanf("%d",&f);
printf("Nomor rekening asal: ");scanf("%d",&o);
printf("Jumlah uang yang ingin disetor: ");scanf("%f",&wang);
Transfer(&rt,f,o,wang);
getch();
break;
case 9:
printf("Nomor rekening: ");scanf("%d",&f);
Ubah(&rt,f);
getch();
break;
case 10:
printf("Nomor rekening: ");scanf("%d",&f);
Tutup(&rt,f);
getch();
break;
case 0:
printf("Terima Kasih Telah Menggunakan program ini");
break;
default:
printf("\nNomor yang anda masukkan salah\n");
getch();
break;
}
}while(b!=0);
getch();
}

SD: Unguided Array 26 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(>)

#define max 69
typedef char str[20];
typedef struct{
int nomor;
str nama;
float saldo;
}Rekening;

typedef Rekening ArrayRek[max];

int IsSame(ArrayRek fd,int numb);
int CariBerdasarkanNomor(ArrayRek fd,int nomor);
int SaldoTerbesar(ArrayRek fd);
float TotalSaldo(ArrayRek fd);
void init(ArrayRek *fd);
void BukaRekening(ArrayRek *fd, int k);
void TampilkanSemua(ArrayRek fd, int j);

//File definition.c

#include "header.h"

int IsSame(ArrayRek fd,int numb)
{
int i,c;
c=1;
for(i=1;i(<)max;i++)
{
if(numb==fd[i].nomor)
c=0;
}
if(c==0)
return 0;
else
return 1;
}

int CariBerdasarkanNomor(ArrayRek fd,int nomor)
{
int i,k;
for(i=1;i(<)max;i++)
{
if(nomor==fd[i].nomor)
k=nomor;
}
return nomor;
}

int SaldoTerbesar(ArrayRek fd)
{
int i,temp;
temp=1;
for(i=2;i(<)max;i++)
{
if(fd[i].saldo(>)fd[temp].saldo)
temp=i;
}
return temp;
}

float TotalSaldo(ArrayRek fd)
{
int i;
float tot;
tot=0;
for(i=1;i(<)max;i++)
{
tot=tot+fd[i].saldo;
}
return tot;
}

void init(ArrayRek *fd)
{
int i;
for(i=1;i(<)max;i++)
{
(*fd)[i].nomor=0;
strcpy((*fd)[i].nama," ");
(*fd)[i].saldo=0;
}
}

void BukaRekening(ArrayRek *fd, int k)
{
int i,j;
ArrayRek c;
for(i=1;i(<)k+1;i++)
{
do
{
printf("Nasabah Ke-%d\n",i);
for(j=1;j(<)max;j++)
{
c[j].nomor=(*fd)[j].nomor;
strcpy(c[j].nama,(*fd)[j].nama);
c[j].saldo=(*fd)[j].saldo;
}
printf("Nomor Rekening : ");scanf("%d",&(*fd)[i].nomor);
if(IsSame(c,(*fd)[i].nomor))
{
printf("Nama : ");scanf("%s",&(*fd)[i].nama);
printf("Saldo : ");scanf("%f",&(*fd)[i].saldo);
if((*fd)[i].saldo(<)500000)
{
printf("\nSaldo Harus Diatas 500000\n");
for(j=1;j(<)max;j++)
{
(*fd)[j].nomor=c[j].nomor;
strcpy((*fd)[j].nama,c[j].nama);
(*fd)[j].saldo=c[j].saldo;
}
}
}
else
printf("\nNomor Rekening Sudah dipakai\n");

}while((*fd)[i].saldo(<)500000||(IsSame(c,(*fd)[i].nomor)==0));
}
}

void TampilkanSemua(ArrayRek fd, int j)
{
int i;
for(i=1;i(<)j+1;i++)
{
printf("Nasabah ke-%d\n",i);
printf("Nomor Rekening : %d\n",fd[i].nomor);
printf("Nama : %s\n",fd[i].nama);
printf("Saldo : %f\n\n",fd[i].saldo);
}
}


//File main.c

#include "header.h"

void main()
{
ArrayRek rt;
int b,a,f,o;
init(&rt);
do
{
system("cls");
printf("MENU\n");
printf(" 1. Buka Rekening\n");
printf(" 2. Tampilkan Semua Daftar Nasabo\n");
printf(" 3. Mencari Data Nasabo Berdasarkan No Rekening\n");
printf(" 4. Nasabo dengan saldo terbesar\n");
printf(" 5. Saldo Total Seluruh Nasabo\n");
printf(" 0. Keluar\n");
printf("Masukkan pilihan anda : ");scanf("%d",&b);
system("cls");
switch(b)
{
case 1:
init(&rt);
printf("Banyaknya Rekening Yang Ingin Dibuka : ");
scanf("%d",&a);
BukaRekening(&rt,a);
getch();
break;
case 2:
TampilkanSemua(rt,a);
getch();
break;
case 3:
printf("Nomor Rekening : ");
scanf("%d",&f);
o=CariBerdasarkanNomor(rt,f);
printf("Nomor Rekening : %d\n",rt[o].nomor);
printf("Nama : %s\n",rt[o].nama);
printf("Saldo : %f\n\n",rt[o].saldo);
getch();
break;
case 4:
printf("Nasabo Dengan Saldo Terbesar : \n");
o=SaldoTerbesar(rt);
printf("Nomor Rekening : %d\n",rt[o].nomor);
printf("Nama : %s\n",rt[o].nama);
printf("Saldo : %f\n\n",rt[o].saldo);
getch();
break;
case 5:
printf("Saldo Total Seluruh Nasabo Adalo : %f",TotalSaldo(rt));
getch();
break;
case 0:
printf("Terima Kasih Telo Menggunakan program ini");
break;
default:
printf("\nNomor yang anda masukkan salo\n");
getch();
break;
}
}while(b!=0);
getch();
}

SD: Guided Array 26 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(>)
#define Max 21

typedef struct
{
int TI[Max-1];
int Neff;
}tabint;

void makeempty(tabint *t);
void bacaisi(tabint *t);
void tulisisi(tabint t);
int lastidx(tabint t);
int countx(tabint a, int x);
int min(tabint a);


definition.c

#include "header.h"

void makeempty(tabint *t)
{
(*t).Neff=0;
}

void bacaisi(tabint *t)
{
int i,n;
printf("Banyaknya elemen yang akan dientri : ");scanf("%d",&n);
printf("\n");
printf("Masukkan isi : \n");
for(i=1;i<=n;i++)
{
printf("--%d-- ",i);
scanf("%d", &((*t).TI[i]));
}
(*t).Neff=n;
}

void tulisisi(tabint t)
{
int i;
printf("\n");
if(lastidx(t)==0)
printf("Label Kosong");
else
{
for(i=1;i<=lastidx(t);i++)
{
printf("%d\t",(t).TI[i]);
}
}
printf("\n");
}

int lastidx(tabint t)
{
return (t.Neff);
}

int countx(tabint a, int x)
{
int tot,i;
tot=0;
for(i=1;i<=x;i++)
{
tot=tot+a.TI[i];
}
return tot;
}

int min(tabint a)
{
int temp,i;
temp=1;
for(i=2;i<=a.Neff;i++)
{
if(a.TI[i](<)a.TI[temp])
temp=i;
}
return a.TI[temp];
}


main.c

#include "header.h"

void main()
{
tabint t;
int y;
char pil;
makeempty(&t);
do
{
system("cls");
printf("Menu\n");
printf("1. Make Empty\n");
printf("2. Input Elemen Tabel\n");
printf("3. Lihat Tabel\n");
printf("4. Count X\n");
printf("5. Minimum\n");
printf("esc untuk keluar\n");
printf("Masukkan pilihan anda\n");
pil=getch();
switch(pil)
{
case '1':
makeempty(&t);
printf("Tabel sudah dikosongkan");
getch();
break;
case '2':
bacaisi(&t);
getch();
break;
case '3':
printf("\nIsi Tabel : ");
tulisisi(t);
getch();
break;
case '4':
printf("\nMasukan jumlah elemen yang ingin dijumlahkan : ");scanf("%d",&y);
printf("Jumlah dari %d elemen pertama adalah : %d",y,countx(t,y));
getch();
break;
case '5':
printf("\nNilai Minimum : %d",min(t));
getch();
break;
}
}while(pil!=27);
}

Friday, June 22, 2007

SD: ADT Tugas 22 Juni 2007

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

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

typedef struct{
int hari;
int bulan;
int tahun;
}tanggal;

void tanggalpinjam(tanggal *t);
tanggal tanggalbatasmaks(tanggal t);
void tanggalkembali(tanggal tawal,tanggal takhir);
int denda(tanggal tawal, tanggal takhir);

//file main.c

#include "header.h"

void main()
{
tanggal pinjam,kembali;
tanggalpinjam(&pinjam);
kembali=tanggalbatasmaks(pinjam);
printf("\nTanggal Kembali : %d-%d-%d",kembali.hari,kembali.bulan,kembali.tahun);
tanggalkembali(pinjam,kembali);
getch();
}

//file definition.c

#include "header.h"

void tanggalpinjam(tanggal *t)
{
printf("Input Tanggal Peminjaman : ");
scanf("%d",&(*t).hari);
printf("Input Bulan Peminjaman : ");
scanf("%d",&(*t).bulan);
printf("Input Tahun Peminjaman : ");
scanf("%d",&(*t).tahun);
}

tanggal tanggalbatasmaks(tanggal t)
{
tanggal batas;
batas.tahun=t.tahun;
batas.bulan=t.bulan;
batas.hari=t.hari+3;
if (batas.hari(>)30)
{
batas.bulan=batas.bulan+1;
batas.hari=batas.hari-30;
}
if (batas.bulan(>)12)
{
batas.tahun=batas.tahun+1;
batas.bulan=batas.bulan-12;
}
return batas;
}

void tanggalkembali(tanggal tawal,tanggal takhir)
{
printf("\n\nInput Tanggal Pengembalian : ");
scanf("%d",&takhir.hari);
printf("Input Bulan Pengembalian : ");
scanf("%d",&takhir.bulan);
printf("Input Tahun Pengembalian : ");
scanf("%d",&takhir.tahun);
printf("\nDenda sebesar:Rp. %d",denda(tawal,takhir));
}

int denda(tanggal tawal, tanggal takhir)
{
tanggal sem;
if (takhir.hari(<)tawal.hari)
{
takhir.bulan=takhir.bulan-1;
takhir.hari=takhir.hari+30;
}
sem.hari=takhir.hari-tawal.hari;
if (takhir.bulan(<)tawal.bulan)
{
takhir.tahun=tawal.tahun-1;
takhir.bulan=takhir.bulan+12;
}
sem.bulan=takhir.bulan-tawal.bulan;
sem.tahun=takhir.tahun-tawal.tahun;
sem.hari=sem.hari-3;
if ((sem.hari+(sem.bulan*30)+(sem.tahun*360))*500 (< )0)
return 0;
else
return (sem.hari+(sem.bulan*30)+(sem.tahun*360))*500;
}

SD: ADT Unguided 22 Juni 2007

//file header.h
/*karena format HTML, maka semua karakter lebih besar (>) dan lebih kecil (<) diganti dengan karakter ((>)) dan ((<))*/ ]

#include (<)conio.h(>)

#include (<)stdio.h(>)

typedef struct{
int jam;
int menit;
int detik;
}waktu;

waktu inputdetik(int f);
int selisihdalamdetik(waktu w1, waktu w2);
waktu tambah(waktu w1,waktu w2);
waktu kurang(waktu w1,waktu w2);

//file main.c

#include "header.h"

void main()
{
waktu b1,b2,time;
int pil,det;
do
{
system("cls");
printf("Menu\n");
printf("\n1. Detik Ke Waktu");
printf("\n2. Selisih dalam detik");
printf("\n3. Selisih waktu");
printf("\n4. Jumlah waktu");
printf("\n0. Keluar");
printf("\n\nMasukkan pilihan anda : ");scanf("%d",&pil);
system("cls");
switch(pil)
{
case 1:
printf("Input Detik ");scanf("%d",&det);
time=inputdetik(det);
printf("\nJam : %d ",time.jam);
printf("\nMenit : %d ",time.menit);
printf("\nDetik : %d ",time.detik);
getch();
break;
case 2:
printf("Masukkan Waktu Pertama : ");
printf("\nJam : ");scanf("%d",&b1.jam);
printf("\nMenit : ");scanf("%d",&b1.menit);
printf("\nDetik : ");scanf("%d",&b1.detik);
printf("Masukkan Waktu Kedua : ");
printf("\nJam : ");scanf("%d",&b2.jam);
printf("\nMenit : ");scanf("%d",&b2.menit);
printf("\nDetik : ");scanf("%d",&b2.detik);
printf("\nselisih waktu dalam detik adalah : %d ",selisihdalamdetik(b2,b1));
getch();
break;
case 3:
printf("Masukkan Waktu Pertama : ");
printf("\nJam : ");scanf("%d",&b1.jam);
printf("\nMenit : ");scanf("%d",&b1.menit);
printf("\nDetik : ");scanf("%d",&b1.detik);
printf("Masukkan Waktu Kedua : ");
printf("\nJam : ");scanf("%d",&b2.jam);
printf("\nMenit : ");scanf("%d",&b2.menit);
printf("\nDetik : ");scanf("%d",&b2.detik);
printf("\n\nselisih waktu adalah : ");
time=kurang(b1,b2);
printf("\nJam : %d ",time.jam);
printf("\nMenit : %d ",time.menit);
printf("\nDetik : %d ",time.detik);
getch();
break;
case 4:
printf("Masukkan Waktu Pertama : ");
printf("\nJam : ");scanf("%d",&b1.jam);
printf("\nMenit : ");scanf("%d",&b1.menit);
printf("\nDetik : ");scanf("%d",&b1.detik);
printf("Masukkan Waktu Kedua : ");
printf("\nJam : ");scanf("%d",&b2.jam);
printf("\nMenit : ");scanf("%d",&b2.menit);
printf("\nDetik : ");scanf("%d",&b2.detik);
printf("\n\njumlah waktu adalah : ");
time=tambah(b2,b1);
printf("\nJam : %d ",time.jam);
printf("\nMenit : %d ",time.menit);
printf("\nDetik : %d ",time.detik);
getch();
break;
case 0:
printf("BYE");
break;
default:
printf("Nomor yang anda masukkan salah");
getch();
break;
}
}while (pil!=0);
getch();
}

//file definition.c

#include "header.h"

waktu inputdetik(int time)
{
waktu conv;
conv.jam=time/3600;
conv.menit=(time%3600)/60;
conv.detik=(time%3600)%60;
return conv;
}

int selisihdalamdetik(waktu w1, waktu w2)
{
waktu t;
if (w1.detik(<)w2.detik) { w1.menit=w1.menit-1; w1.detik=w1.detik+60; } t.detik=w1.detik-w2.detik; if (w1.menit(<)w2.menit) { w1.jam=w1.jam-1; w1.menit=w1.menit+60; } t.menit=w1.menit-w2.menit; t.jam=w1.jam-w2.jam; t.detik=t.detik+(t.menit*60)+(t.jam*3600); return t.detik; } waktu kurang(waktu w1,waktu w2) { waktu t; if (w1.detik(<)w2.detik) { w1.menit=w1.menit-1; w1.detik=w1.detik+60; } t.detik=w1.detik-w2.detik; if (w1.menit(<)w2.menit) { w1.jam=w1.jam-1; w1.menit=w1.menit+60; } t.menit=w1.menit-w2.menit; t.jam=w1.jam-w2.jam; return t; } waktu tambah(waktu w1,waktu w2) { waktu t; t.detik=w1.detik+w2.detik; if (t.detik>=60)
{
w1.menit=w1.menit+1;
t.detik=t.detik-60;
}
t.menit=w1.menit+w2.menit;
if (t.menit>=60)
{
w1.jam=w1.jam+1;
t.menit=t.menit-60;
}
t.jam=w1.jam+w2.jam;
return t;
}

SD: ADT Demo 22 Juni 2007

//file header.h
/*karena format HTML, maka semua karakter lebih besar (>) dan lebih kecil (<) diganti dengan karakter ((>)) dan ((<)) sorry (^-^)*/
#include (<)conio.h(>)
#include (<)stdio.h(>)
typedef struct{
int x;
int y;
}point;

int issame(point p1,point p2);
void printpoint(point p);

//file main.c

#include "header.h"

void main()
{
point p1,p2;
printf("Masukkan koordinat x titik pertama : ");scanf("%d",&p1.x);
printf("Masukkan koordinat y titik pertama : ");scanf("%d",&p1.y);
printf("Masukkan koordinat x titik kedua : ");scanf("%d",&p2.x);
printf("Masukkan koordinat y titik kedua : ");scanf("%d",&p2.y);
printf("\nKoordinat titik pertama : ");printpoint(p1);
printf("\nKoordinat titik kedua : ");printpoint(p2);
if (issame(p1,p2))
printf("\nKedua titik sama");
else
printf("\nKedua titik tidak sama");
getch();
}


//file definition.c

#include "header.h"

int issame(point p1,point p2)
{
if((p1.x==p2.x)&&amp;amp;amp;(p1.y==p2.y))
return 1;
else
return 0;
}

void printpoint(point p)
{
printf(" (%d,%d)",p.x,p.y);
}