#include conio.h>
#include ctype.h>
#include string.h>
#include dos.h>
#include stdlib.h>
#include stdio.h>
#define maks 15
// ======= Deklarasi Variabel Global ===========
pembukaan();
struct ip1 { char kuliah[20],indeks;
int bobot,amutu,hasil;
};
struct ip2 { char nama[20],npm[10],jur[30],jenjang[30];
int nilai,totalbobot;
float ip;
};
struct ipk1 { int j_am,j_sks; };
struct ipk2 { char nama[20],npm[10],jur[30],yad[30];
int tot_am,tot_sks;
float ipk;
};
struct ip1 data1[maks],td1[maks];
struct ip2 data2,td2;
struct ipk1 data3[maks],td3[maks];
struct ipk2 data4,td4;
int i,banyak,ada,ada2,pilih=1,x,jumlah;
char buffer[81],namafile[20],ambil[30],temp[20];
char *p;
char tekan,kode,huruf;
FILE *fl;
// ======= Deklarsi Prototype ==========
menu_ip();
menu_ipk();
menu_info();
menu_selesai();
// ======= Deklarasi fungsi ===========
int warna(int dp,int blk)
{
textcolor(dp);
textbackground(blk);
return(0);
}
kotak3d(int a,int b,int kiri, int atas, int kanan, int bawah)
{
int i=0;
_setcursortype(_NOCURSOR);
textcolor(b);
gotoxy(kiri,atas);cprintf("Ú");
for (i=kiri+1;i<=kanan;i++) { gotoxy(i,atas);cprintf("Ä"); } for (i=atas+1;i<=bawah;i++) { gotoxy(kiri,i);cprintf("³"); } gotoxy(kiri,bawah+1);cprintf("À"); textcolor(a); for (i=atas+1;i<=bawah;i++) { gotoxy(kanan+1,i);cprintf("³"); } for (i=kiri+1;i<=kanan;i++) { gotoxy(i,bawah+1);cprintf("Ä"); } gotoxy(kanan+1,atas);cprintf("¿"); gotoxy(kanan+1,bawah+1);cprintf("Ù"); window(1,1,79,25); return(0); } kotak(int a,int kiri, int atas, int kanan, int bawah) { int i=0; _setcursortype(_NOCURSOR); textcolor(a); gotoxy(kiri,atas);cprintf("Â"); for (i=atas+1;i<=bawah;i++) { gotoxy(kiri-1,i);cprintf(" ³"); } gotoxy(kiri-1,bawah+1);cprintf(" À"); for (i=atas+1;i<=bawah;i++) { gotoxy(kanan+1,i);cprintf("³ "); } for (i=kiri+1;i<=kanan;i++) { gotoxy(i,bawah+1);cprintf("Ä"); } gotoxy(kanan+1,atas);cprintf("Â"); gotoxy(kanan+1,bawah+1);cprintf("Ù "); window(1,1,79,25); return(0); } bayang(int x1,int y1,int jum1,int x2,int y2,int jum2) { int x,y; warna(0,1); for(x=0;x<=jum1;x++) { gotoxy(x1+x,y1);cprintf("ß"); } for(y=0;y<=jum2;y++) { gotoxy(x2,y2+y);cprintf("Û"); } return(0); } animasi(int a,int b, int c) { int x,y; warna(0,a); for(x=0;x<=39;x++) { for(y=1;y<=24;y++) { gotoxy(b-x,y);cprintf(" "); gotoxy(c+x,y);cprintf(" "); } delay(25); sound(350*x); delay(2); nosound(); } window(1,1,80,25); return(0); } sora(int e, int d) { int t; for(t=0;t<=e;t++) { sound(e*t); delay(d); nosound(); } return(0); } hapus() { warna(4,7); window(1,1,80,25); kotak3d(15,4,2,6,77,7); warna(4,7); gotoxy(3,7);cprintf(" HITUNG IP HITUNG IPK INFO SELESAI "); for(x=0;x<=15;x++) { warna(1,1); gotoxy(2,24-x); cprintf(" "); } warna(4,7); return(0); } pembukaan() { warna(15,7); clrscr(); kotak3d(15,4,2,1,77,4); warna(4,7); gotoxy(23,2);cprintf(" PROGRAM MENGHITUNG IP DAN IPK "); gotoxy(23,3);cprintf(" FAKULTAS MIPA TERAPAN "); gotoxy(15,4);cprintf(" U N I V E R S I T A S P A D J A D J A R A N "); window(2,6,78,25);warna(14,1);clrscr(); window(1,25,78,25);warna(15,7);clrscr(); window(1,1,80,25); kotak3d(15,4,2,6,77,7); warna(4,7); gotoxy(3,7);cprintf(" HITUNG IP HITUNG IPK INFO SELESAI "); gotoxy(3,25);cprintf(">>");
return(0);
}
hapus2()
{
warna(4,7);
gotoxy(9,7);cprintf(" HITUNG IP ");
gotoxy(27,7);cprintf(" HITUNG IPK ");
gotoxy(47,7);cprintf(" INFO ");
gotoxy(60,7);cprintf(" SELESAI ");
return(0);
}
waktu()
{
struct date d;
struct time t;
hapus();
warna(15,1);
kotak3d(0,7,30,14,52,19);
getdate(&d);
do
{
warna(14,1);
gotoxy(36,15);cprintf(" TANGGAL ");
gotoxy(36,18);cprintf(" WAKTU ");
warna(15,1);
gotoxy(35,16);cprintf("%d - %d - %d",d.da_day,d.da_mon,d.da_year);
gettime(&t);
gotoxy(36,19);cprintf("%02d : %02d : %02d",t.ti_hour,t.ti_min, t.ti_sec);
}
while(!kbhit());
getch();
hapus();
return(0);
}
ceknumerik( int x, int y)
{
char data[30],buf[30];
int num;
gotoxy(x,y);
strcpy(data," ");
strcpy(buf," ");
do
{
tekan=getch();
if(isdigit(tekan))
{
buf[0]=tekan;
cprintf("%c",tekan);
strcat(data,buf);
}
} while(tekan !=13);
num=atoi(data);
return(num);
}
pesan(int p,int q, char pesan[30])
{
hapus();
_setcursortype(_NOCURSOR);
warna(14,4);
cprintf("\a");
gotoxy(25,14);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ");
gotoxy(25,15);cprintf(" ³ ³ ");
gotoxy(25,16);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ");
bayang(26,17,31,57,14,2);
textcolor(14+BLINK);textbackground(4);
gotoxy(p,q);cprintf("%s",pesan);
warna(15,1);
getch();
return(0);
}
keterangan()
{
warna(14,1);
gotoxy(17,20);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ");
gotoxy(17,21);cprintf(" ³ Masukan Nama file Dengan Ekstension .dat ³ ");
gotoxy(17,22);cprintf(" ³ Data.dat ³ ");
gotoxy(17,23);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ");
warna(14+BLINK,1);
gotoxy(20,22);cprintf(" þþþ> ");
return(0);
}
tanya_nf()
{
hapus();
_setcursortype(_NORMALCURSOR);
warna(14,4);
gotoxy(22,14);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ");
gotoxy(22,15);cprintf(" ³ Nama File : ³ ");
gotoxy(22,16);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ");
bayang(23,17,31,54,14,2);
warna(14+BLINK,1);
gotoxy(4,23);cprintf("Enter");
gotoxy(63,23);cprintf("Esc");
warna(15,1);
gotoxy(10,23);cprintf("= Lanjutkan");
gotoxy(67,23);cprintf("= Batal");
return(0);
}
judul()
{
gotoxy(1,4);cprintf("ÚÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(1,5);cprintf("³No³ Mata Kuliah ³ Bobot SKS ³ Indeks ³Angka Mutu (AM)³Bobot x AM³");
gotoxy(1,6);cprintf("ÃÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´");
return(0);
}
judul2()
{
warna(14,1);
gotoxy(14,4);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ");
gotoxy(14,5);cprintf(" ³ Semester Ke - ³ Jumlah (AM x SKS) ³ Jumlah SKS ³ ");
gotoxy(14,6);cprintf(" ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ");
return(0);
}
info()
{
warna(15,1);
kotak3d(0,7,23,10,61,22);
warna(14,1);
gotoxy(24,11);cprintf( " (C) Created By, Muhi Budi Noor ");
gotoxy(24,12);cprintf( " FMIPA - UNPAD '98 ");
warna(15,1);
gotoxy(24,14);cprintf(" How To Contact :");
gotoxy(24,15);cprintf(" Phone : (021) 89961074 ");
gotoxy(24,16);cprintf(" E-mail : Muhie@EudoraMail.com");
gotoxy(24,18);cprintf(" - For My Lovely, Va.....");
gotoxy(24,19);cprintf(" Thank's for all your support.");
gotoxy(24,21);cprintf(" - For all of You.... ");
gotoxy(24,22);cprintf(" Hope You can use this well.");
tekan=getch();
hapus();
return(0);
}
tanya_id()
{
hapus();
warna(14,4);
gotoxy(22,10);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ");
gotoxy(22,11);cprintf(" ³ ISIKAN BIODATA ANDA ³ ");
gotoxy(22,12);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ");
bayang(23,13,31,54,10,2);
warna(14,1);
flushall();
gotoxy(18,16);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ");
gotoxy(18,17);cprintf(" ³ NAMA : ³ ");
gotoxy(18,18);cprintf(" ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ");
gotoxy(18,19);cprintf(" ³ NPM : ³ ");
gotoxy(18,20);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ");
gotoxy(32,19);cprintf("þþþþþþþþ ");
return(0);
}
sks()
{
hapus();
warna(15,1);
kotak3d(0,7,10,10,68,23);
_setcursortype(_NORMALCURSOR);
warna(14,1);
gotoxy(12,11);cprintf(" ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ");
gotoxy(12,12);cprintf(" º Rentang SKS º Beban Studi Yang Boleh Diambil º ");
gotoxy(12,13);cprintf(" ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ ");
gotoxy(12,14);cprintf(" º 3.00 - 4.00 º 21 - 24 SKS º ");
gotoxy(12,15);cprintf(" ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ ");
gotoxy(12,16);cprintf(" º 2.50 - 2.99 º 18 - 21 SKS º ");
gotoxy(12,17);cprintf(" ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ ");
gotoxy(12,18);cprintf(" º 2.00 - 2.49 º 15 - 18 SKS º ");
gotoxy(12,19);cprintf(" ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ ");
gotoxy(12,20);cprintf(" º 1.50 - 1.99 º 12 - 15 SKS º ");
gotoxy(12,21);cprintf(" ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ ");
gotoxy(12,22);cprintf(" º 0.00 - 1.49 º 01 - 12 SKS º ");
gotoxy(12,23);cprintf(" ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ");
tekan=getch();
hapus();
return(0);
}
// ========= Fungsi untuk IP ===========
identitas_ip()
{
tanya_id();
_setcursortype(_NORMALCURSOR);
warna(15,1);
gotoxy(32,17);buffer[0]=20; p=cgets(buffer);
strcpy(data2.nama,p);
gotoxy(32,19);buffer[0]=9; p=cgets(buffer);
strcpy(data2.npm,p);
kode=data2.npm[2];
kode=toupper(kode);
switch (kode)
{
case 'A' : strcpy(data2.jur,"MANAJEMEN INFORMATIKA");
break;
case 'B' : strcpy(data2.jur,"TEKNIK INFORMATIKA");
break;
case 'C' : strcpy(data2.jur,"TEKNIK KOMPUTER");
break;
case 'D': strcpy(data2.jur,"GEOFISIKA");
break;
case 'E' : strcpy(data2.jur,"INSTR. ELEKTRONIKA");
break;
case 'F' : strcpy(data2.jur,"KIMIA INDUSTRI");
break;
case 'G' : strcpy(data2.jur,"ANALISIS KIMIA");
break;
}
return(0);
}
masukdata_ip()
{
int x;
do
{
hapus();
_setcursortype(_NORMALCURSOR);
warna(14,4);
gotoxy(20,14);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ");
gotoxy(20,15);cprintf(" ³ Jumlah Mata Kuliah Yang diambil : ³ ");
gotoxy(20,16);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ");
bayang(21,17,41,62,14,2);
warna(15,4);
banyak=ceknumerik(57,15);
ada=banyak;
warna(14,4);
if (banyak > maks)
{
pesan(29,15,"Data Maksimum adalah 15");
}
}
while (banyak>maks);
data2.totalbobot=0;
data2.nilai=0;
hapus();
for (i=1;i<=banyak;i++) { _setcursortype(_NORMALCURSOR); warna(14,4); gotoxy(26,10);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ "); gotoxy(26,11);cprintf(" ³ MATA KULIAH KE ³ "); gotoxy(26,12);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "); bayang(27,13,24,51,10,2); warna(14+BLINK,4); gotoxy(46,11);cprintf("%d",i); warna(14,1); gotoxy(15,15);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ "); gotoxy(15,16);cprintf(" ³ Nama Mata Kuliah : ³ "); gotoxy(15,17);cprintf(" ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ "); gotoxy(15,18);cprintf(" ³ Bobot SKS : SKS ³ "); gotoxy(15,19);cprintf(" ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ "); gotoxy(15,20);cprintf(" ³ Indeks [ A...D ] : ³ "); gotoxy(15,21);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "); warna(15,1); gotoxy(38,20);cprintf("þ"); flushall(); gotoxy(38,16);buffer[0]=20;p=cgets(buffer); strcpy(data1[i].kuliah,p); data1[i].bobot=ceknumerik(38,18); flushall(); do { gotoxy(38,20);cprintf("þ"); gotoxy(38,20);tekan=getch(); gotoxy(38,20);cprintf("%c",toupper(tekan)); } while(isdigit(tekan)); getchar(); data1[i].indeks=tekan; huruf=data1[i].indeks; huruf=toupper(huruf); switch (huruf) { case 'A' : data1[i].amutu=4; break; case 'B' : data1[i].amutu=3; break; case 'C' : data1[i].amutu=2; break; case 'D' : data1[i].amutu=1; break; case 'E' : data1[i].amutu=0; break; default : data1[i].amutu=0; } // of switch data2.totalbobot=data2.totalbobot+data1[i].bobot; data1[i].hasil=data1[i].bobot*data1[i].amutu; data2.nilai=data2.nilai+data1[i].hasil; } // end of for data2.ip=(float)data2.nilai/data2.totalbobot; if ((data2.ip >= 3.00) && (data2.ip <= 5.00)) strcpy(data2.jenjang,"21 - 24 SKS"); else if ((data2.ip >= 2.50) && (data2.ip <= 2.99)) strcpy(data2.jenjang,"18 - 21 SKS"); else if ((data2.ip >= 2.00) && (data2.ip <= 2.49)) strcpy(data2.jenjang,"15 - 18 SKS"); else if ((data2.ip >= 1.50) && (data2.ip <= 1.99)) strcpy(data2.jenjang,"12 - 15 SKS"); else if ((data2.ip >= 0.00) && (data2.ip <= 1.49)) strcpy(data2.jenjang,"0 - 12 SKS"); hapus(); return(0); } tampildata_ip() { int x=0; sora(50,10); window(2,6,78,24);warna(14,1);clrscr(); warna(14,1); gotoxy(2,2);cprintf("Nama : "); gotoxy(2,3);cprintf("NPM : "); gotoxy(44,2);cprintf("Jurusan : %s",data2.jur); gotoxy(13,2);cprintf(strupr(data2.nama)); gotoxy(13,3);cprintf(strupr(data2.npm)); judul(); for(i=1;i<=banyak;i++) { x+=1; gotoxy(1,6+x);cprintf("³%d",i); gotoxy(4,6+x);cprintf("³"); gotoxy(6,6+x);cprintf("%s",data1[i].kuliah); gotoxy(28,6+x);cprintf("³"); gotoxy(34,6+x);cprintf("%d",data1[i].bobot); gotoxy(40,6+x);cprintf("³"); gotoxy(45,6+x);cprintf("%c",toupper(data1[i].indeks)); gotoxy(49,6+x);cprintf("³"); gotoxy(56,6+x);cprintf("%d",data1[i].amutu); gotoxy(65,6+x);cprintf("³"); gotoxy(70,6+x);cprintf("%2d",data1[i].hasil); gotoxy(76,6+x);cprintf("³"); if (x==10) { gotoxy(1,wherey());cprintf("\nÀÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ"); warna(14+BLINK,1); gotoxy(28,wherey());cprintf("\nTekan Sembarang Tombol....... "); getch(); x=0; window(2,6,78,24);warna(14,1);clrscr(); gotoxy(2,2);cprintf("Nama : "); gotoxy(2,3);cprintf("NPM : "); gotoxy(44,2);cprintf("Jurusan : %s",data2.jur); gotoxy(13,2);cprintf(strupr(data2.nama)); gotoxy(13,3);cprintf(strupr(data2.npm)); judul(); } } gotoxy(1,wherey());cprintf("\nÀÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´"); gotoxy(28,wherey());cprintf("\n³ %2d ³ ³ %2d ³",data2.totalbobot,data2.nilai); gotoxy(28,wherey());cprintf("\nÀÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÙ "); gotoxy(2,18);cprintf("Nilai IP = %.2f",data2.ip); gotoxy(2,19);cprintf("SKS Yad = %s",data2.jenjang); tekan=getch(); hapus(); pembukaan(); return(0); } simpan_ip() { tanya_nf(); gotoxy(38,15);tekan=getch(); if (tekan==27) { hapus(); return(0); } gotoxy(3,23);cprintf(" "); keterangan(); warna(15,4); gotoxy(38,15);scanf("%s",namafile); if ((fl=fopen(namafile,"wb"))==NULL) { pesan(33,15,"FILE ERROR"); hapus(); return(0); } for(i=1;i<=banyak;i++) { fwrite(&data1[i],sizeof(data1[i]),1,fl); fwrite(&data2,sizeof(data2),1,fl); } pesan(30,15,"File sudah disimpan..! "); fclose(fl); hapus(); return(0); } buka_ip() { int k=1,j=1; tanya_nf(); gotoxy(38,15);tekan=getch(); if (tekan==27) { hapus(); return(0); } gotoxy(3,23);cprintf(" "); keterangan(); warna(15,4); gotoxy(38,15);scanf("%s",namafile); _setcursortype(_NOCURSOR); if ((fl=fopen(namafile,"rb"))==NULL) { pesan(34,15,"FILE TIDAK ADA"); hapus(); return(0); } sora(50,10); window(2,6,78,24);warna(14,1);clrscr(); judul(); while(fread(&td1[k],sizeof(td1[k]),1,fl)==1) { fread(&td2,sizeof(td2),1,fl); gotoxy(2,2);cprintf("Nama : "); gotoxy(2,3);cprintf("NPM : "); gotoxy(44,2);cprintf("Jurusan : %s",td2.jur); gotoxy(13,2);cprintf(strupr(td2.nama)); gotoxy(13,3);cprintf(strupr(td2.npm)); warna(14,1); gotoxy(1,6+j);cprintf("³%d",k); gotoxy(4,6+j);cprintf("³"); gotoxy(6,6+j);cprintf("%s",td1[k].kuliah); gotoxy(28,6+j);cprintf("³"); gotoxy(34,6+j);cprintf("%d",td1[k].bobot); gotoxy(40,6+j);cprintf("³"); gotoxy(45,6+j);cprintf("%c",toupper(td1[k].indeks)); gotoxy(49,6+j);cprintf("³"); gotoxy(56,6+j);cprintf("%d",td1[k].amutu); gotoxy(65,6+j);cprintf("³"); gotoxy(70,6+j);cprintf("%2d",td1[k].hasil); gotoxy(76,6+j);cprintf("³"); if (j==10) { gotoxy(1,wherey());cprintf("\nÀÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ"); warna(14+BLINK,1); gotoxy(28,wherey());cprintf("\nTekan Sembarang Tombol....... "); getch(); j=0; window(2,6,78,24);warna(14,1);clrscr(); judul(); } k++;j++; } gotoxy(1,wherey());cprintf("\nÀÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´"); gotoxy(28,wherey());cprintf("\n³ %2d ³ ³ %2d ³",td2.totalbobot,td2.nilai); gotoxy(28,wherey());cprintf("\nÀÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÙ "); gotoxy(2,18);cprintf("Nilai IP = %.2lf",td2.ip); gotoxy(2,19);cprintf("SKS Yad = %s",td2.jenjang); tekan=getch(); fclose(fl); hapus(); return(0); } menu_ip() { int mip=1; kotak(15,7,8,20,12); bayang(7,14,16,23,9,4); hapus2(); do { warna(15,4); gotoxy(9,7);cprintf(" HITUNG IP "); warna(4,7); gotoxy(8,9);cprintf(" Input Data "); gotoxy(8,10);cprintf(" Tampil Data "); gotoxy(8,11);cprintf(" Simpan Data "); gotoxy(8,12);cprintf(" Buka Data "); warna(15,1); if(mip==1) { gotoxy(8,9);cprintf(" Input Data "); warna(4,7); gotoxy(5,25);cprintf(" Memasukan Identitas anda dan data IP "); } if(mip==2) { gotoxy(8,10);cprintf(" Tampil Data "); warna(4,7); gotoxy(5,25);cprintf(" Menampilkan data IP ke Layar "); } if(mip==3) { gotoxy(8,11);cprintf(" Simpan Data "); warna(4,7); gotoxy(5,25);cprintf(" Menyimpan Data IP ke Disk "); } if(mip==4) { gotoxy(8,12);cprintf(" Buka Data "); warna(4,7); gotoxy(5,25);cprintf(" Membuka Data IP dari Disk "); } tekan=getch(); switch (tekan) { case 72 : if(mip==1) mip=4; else mip--; break; case 80 : if(mip==4) mip=1; else mip++; break; case 75 : hapus(); menu_selesai(); tekan=5; break; case 77 : hapus(); menu_ipk(); tekan=5; break; } if(tekan==13) { switch(mip) { case 1 : identitas_ip(); masukdata_ip(); kotak(15,7,8,20,12); bayang(7,14,16,23,9,4); break; case 2 : if (ada==0) { pesan(29,15,"Anda Belum Memasukan Data"); hapus(); kotak(15,7,8,20,12); bayang(7,14,16,23,9,4); break; } tampildata_ip(); kotak(15,7,8,20,12); bayang(7,14,16,23,9,4); break; case 3 : simpan_ip(); kotak(15,7,8,20,12); bayang(7,14,16,23,9,4); break; case 4 : buka_ip(); kotak(15,7,8,20,12); bayang(7,14,16,23,9,4); break; } } } while(tekan!=5); warna(3,1); hapus(); return(0); } // ====== Fungsi untuk IPK ========= identitas_ipk() { tanya_id(); _setcursortype(_NORMALCURSOR); warna(15,1); gotoxy(32,17);buffer[0]=20; p=cgets(buffer); strcpy(data4.nama,p); gotoxy(32,19);buffer[0]=9; p=cgets(buffer); strcpy(data4.npm,p); kode=data4.npm[2]; kode=toupper(kode); switch (kode) { case 'A' : strcpy(data4.jur,"MANAJEMEN INFORMATIKA"); break; case 'B' : strcpy(data4.jur,"TEKNIK INFORMATIKA"); break; case 'C' : strcpy(data4.jur,"TEKNIK KOMPUTER"); break; case 'D': strcpy(data4.jur,"GEOFISIKA"); break; case 'E' : strcpy(data4.jur,"INSTR. ELEKTRONIKA"); break; case 'F' : strcpy(data4.jur,"KIMIA INDUSTRI"); break; case 'G' : strcpy(data4.jur,"ANALISIS KIMIA"); break; } return(0); } masukdata_ipk() { do { hapus(); _setcursortype(_NORMALCURSOR); warna(14,3); data4.tot_am=0; data4.tot_sks=0; warna(14,4); gotoxy(18,14);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ "); gotoxy(18,15);cprintf(" ³ Jumlah Semester Yang Ditempuh : ³ "); gotoxy(18,16);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "); bayang(19,17,44,63,14,2); warna(15,4); jumlah=ceknumerik(56,15); ada2=jumlah; if (jumlah > maks)
{
pesan(29,15,"Data Maksimum adalah 15");
}
} while(jumlah>maks);
hapus();
for(i=1;i<=jumlah;i++) { _setcursortype(_NORMALCURSOR); warna(14,4); gotoxy(29,10);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ "); gotoxy(29,11);cprintf(" ³ SEMESTER KE ³ "); gotoxy(29,12);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "); bayang(30,13,21,51,10,2); warna(14+BLINK,4); gotoxy(46,11);cprintf("%d",i); warna(14,1); gotoxy(21,16);cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ "); gotoxy(21,17);cprintf(" ³ Jumlah ( AM x SKS ) : ³ "); gotoxy(21,18);cprintf(" ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ "); gotoxy(21,19);cprintf(" ³ Jumlah SKS : ³ "); gotoxy(21,20);cprintf(" ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "); warna(15,1); data3[i].j_am=ceknumerik(50,17); data3[i].j_sks=ceknumerik(50,19); data4.tot_am=data4.tot_am+data3[i].j_am; data4.tot_sks=data4.tot_sks+data3[i].j_sks; } hapus(); return(0); } tampildata_ipk() { int y=0; data4.ipk=(float)data4.tot_am/data4.tot_sks; if ((data4.ipk>=3.00) && (data4.ipk <=5.00)) strcpy(data4.yad,"21 - 24 SKS"); if ((data4.ipk>=2.50) && (data4.ipk<=2.99)) strcpy(data4.yad,"18 - 21 SKS"); if ((data4.ipk>=2.00) && (data4.ipk<=2.49)) strcpy(data4.yad,"15 - 18 SKS"); if ((data4.ipk>=1.50) && (data4.ipk<=1.99)) strcpy(data4.yad,"12 - 15 SKS"); if ((data4.ipk>=0.00) && (data4.ipk<=1.49)) strcpy(data4.yad,"0 - 12 SKS");
hapus();
sora(50,10);
window(2,6,78,24);warna(14,1);clrscr();
gotoxy(2,2);cprintf("Nama : ");
gotoxy(2,3);cprintf("NPM : ");
gotoxy(44,2);cprintf("Jurusan : %s",data4.jur);
gotoxy(13,2);cprintf(strupr(data4.nama));
gotoxy(13,3);cprintf(strupr(data4.npm));
judul2();
for(i=1;i<=jumlah;i++)
{
y+=1;
gotoxy(14,6+y);cprintf(" ³ ");
gotoxy(22,6+y);cprintf("%d",i);
gotoxy(30,6+y);cprintf(" ³");
gotoxy(40,6+y);cprintf("%d",data3[i].j_am);
gotoxy(50,6+y);cprintf(" ³");
gotoxy(57,6+y);cprintf("%d",data3[i].j_sks);
gotoxy(64,6+y);cprintf(" ³");
if (y==10)
{
gotoxy(14,wherey());cprintf("\n ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
warna(14+BLINK,1);
gotoxy(28,wherey());cprintf("\nTekan Sembarang Tombol....... ");
getch();
y=0;
window(2,6,78,24);warna(14,1);clrscr();
gotoxy(2,2);cprintf("Nama : ");
gotoxy(2,3);cprintf("NPM : ");
gotoxy(44,2);cprintf("Jurusan : %s",data4.jur);
gotoxy(13,2);cprintf(strupr(data4.nama));
gotoxy(13,3);cprintf(strupr(data4.npm));
judul2();
}
}
gotoxy(14,wherey());cprintf("\n ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(30,wherey());cprintf("\n ³ %2d ³ %2d ³",data4.tot_am,data4.tot_sks);
gotoxy(14,wherey());cprintf("\n ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
gotoxy(2,18);cprintf("Nilai IPK = %.2lf",data4.ipk);
gotoxy(2,19);cprintf("SKS Yad = %s",data4.yad);
tekan=getch();
hapus();
return(0);
}
simpan_ipk()
{
tanya_nf();
gotoxy(38,15);tekan=getch();
if (tekan==27)
{
hapus();
return(0);
}
gotoxy(3,23);cprintf(" ");
keterangan();
warna(15,4);
gotoxy(38,15);scanf("%s",namafile);
if ((fl=fopen(namafile,"wb"))==NULL)
{
pesan(33,15,"FILE ERROR");
hapus();
return(0);
}
for(i=1;i<=jumlah;i++)
{
fwrite(&data3[i],sizeof(data3[i]),1,fl);
fwrite(&data4,sizeof(data4),1,fl);
}
pesan(30,15,"File sudah disimpan..! ");
fclose(fl);
hapus();
return(0);
}
buka_ipk()
{
int p=1,s=1;
tanya_nf();
gotoxy(38,15);tekan=getch();
if (tekan==27)
{
hapus();
return(0);
}
gotoxy(3,23);cprintf(" ");
keterangan();
warna(15,4);
gotoxy(38,15);scanf("%s",namafile);
_setcursortype(_NOCURSOR);
if ((fl=fopen(namafile,"rb"))==NULL)
{
pesan(34,15,"FILE TIDAK ADA");
hapus();
return(0);
}
hapus();
sora(50,10);
window(2,6,78,24);warna(14,1);clrscr();
judul2();
while(fread(&td3[p],sizeof(td3[p]),1,fl)==1)
{
fread(&td4,sizeof(td4),1,fl);
gotoxy(2,2);cprintf("Nama : ");
gotoxy(2,3);cprintf("NPM : ");
gotoxy(44,2);cprintf("Jurusan : %s",td4.jur);
gotoxy(13,2);cprintf(strupr(td4.nama));
gotoxy(13,3);cprintf(strupr(td4.npm));
gotoxy(14,6+s);cprintf(" ³ ");
gotoxy(22,6+s);cprintf("%d",p);
gotoxy(30,6+s);cprintf(" ³");
gotoxy(40,6+s);cprintf("%d",td3[p].j_am);
gotoxy(50,6+s);cprintf(" ³");
gotoxy(57,6+s);cprintf("%d",td3[p].j_sks);
gotoxy(64,6+s);cprintf(" ³");
if (s==10)
{
gotoxy(14,wherey());cprintf("\n ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
warna(14+BLINK,1);
gotoxy(28,wherey());cprintf("\nTekan Sembarang Tombol....... ");
getch();
s=0;
window(2,6,78,24);warna(14,1);clrscr();
judul2();
}
p++;s++;
}
gotoxy(14,wherey());cprintf("\n ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(30,wherey());cprintf("\n ³ %2d ³ %2d ³",td4.tot_am,td4.tot_sks);
gotoxy(14,wherey());cprintf("\n ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
gotoxy(2,18);cprintf("Nilai IPK = %.2lf",td4.ipk);
gotoxy(2,19);cprintf("SKS Yad = %s",td4.yad);
tekan=getch();
fclose(fl);
hapus();
return(0);
}
menu_ipk()
{
int mipk=1;
kotak(15,26,8,39,12);
bayang(26,14,16,42,9,4);
hapus2();
do
{
warna(15,4);
gotoxy(27,7);cprintf(" HITUNG IPK ");
warna(4,7);
gotoxy(27,9);cprintf(" Input Data ");
gotoxy(27,10);cprintf(" Tampil Data ");
gotoxy(27,11);cprintf(" Simpan Data ");
gotoxy(27,12);cprintf(" Buka Data ");
warna(15,1);
if(mipk==1)
{
gotoxy(27,9);cprintf(" Input Data ");
warna(4,7);
gotoxy(5,25);cprintf(" Memasukan Identitas anda dan data IPK ");
}
if(mipk==2)
{
gotoxy(27,10);cprintf(" Tampil Data ");
warna(4,7);
gotoxy(5,25);cprintf(" Menampilkan data IPK ke layar ");
}
if(mipk==3)
{
gotoxy(27,11);cprintf(" Simpan Data ");
warna(4,7);
gotoxy(5,25);cprintf(" Menyimpan Data IPK ke Disk ");
}
if(mipk==4)
{
gotoxy(27,12);cprintf(" Buka Data ");
warna(4,7);
gotoxy(5,25);cprintf(" Membuka Data IPK dari Disk ");
}
tekan=getch();
switch (tekan)
{
case 72 : if(mipk==1) mipk=4;
else mipk--;
break;
case 80 : if(mipk==4) mipk=1;
else mipk++;
break;
case 75 : hapus();
menu_ip();
tekan=5;
break;
case 77 : hapus();
menu_info();
tekan=5;
break;
}
if(tekan==13)
{
switch(mipk)
{
case 1 : identitas_ipk();
masukdata_ipk();
kotak(15,26,8,39,12);
bayang(26,14,16,42,9,4);
break;
case 2 : if (ada2==0)
{
pesan(29,15,"Anda Belum Memasukan Data");
hapus();
kotak(15,26,8,39,12);
bayang(26,14,16,42,9,4);
break;
}
tampildata_ipk();
kotak(15,26,8,39,12);
bayang(26,14,16,42,9,4);
break;
case 3 : simpan_ipk();
kotak(15,26,8,39,12);
bayang(26,14,16,42,9,4);
break;
case 4 : buka_ipk();
kotak(15,26,8,39,12);
bayang(26,14,16,42,9,4);
break;
}
}
}
while(tekan!=5);
warna(3,1);
hapus();
return(0);
}
menu_info()
{
int minfo=1;
kotak(15,41,8,58,11);
bayang(41,13,20,61,9,3);
hapus2();
do
{
warna(15,4);
gotoxy(47,7);cprintf(" INFO ");
warna(4,7);
gotoxy(42,9);cprintf(" Pembuat Program ");
gotoxy(42,10);cprintf(" Rentang SKS ");
gotoxy(42,11);cprintf(" Waktu & Tanggal ");
warna(15,1);
if(minfo==1)
{
gotoxy(42,9);cprintf(" Pembuat Program ");
warna(4,7);
gotoxy(5,25);cprintf(" Melihat Data pembuat program ini ");
}
if(minfo==2)
{
gotoxy(42,10);cprintf(" Rentang SKS ");
warna(4,7);
gotoxy(5,25);cprintf(" Melihat rentang pengambilan SKS ");
}
if(minfo==3)
{
gotoxy(42,11);cprintf(" Waktu & Tanggal ");
warna(4,7);
gotoxy(5,25);cprintf(" Melihat Waktu & Tanggal Sekarang ");
}
tekan=getch();
switch (tekan)
{
case 72 : if(minfo==1) minfo=3;
else minfo--;
break;
case 80 : if(minfo==3) minfo=1;
else minfo++;
break;
case 75 : hapus();
menu_ipk();
tekan=4;
break;
case 77 : hapus();
menu_selesai();
tekan=4;
break;
}
if(tekan==13)
{
switch (minfo)
{
case 1 : hapus();
info();
kotak(15,41,8,58,11);
bayang(41,13,20,61,9,3);
break;
case 2 : sks();
kotak(15,41,8,58,11);
bayang(41,13,20,61,9,3);
break;
case 3 : waktu();
kotak(15,41,8,58,11);
bayang(41,13,20,61,9,3);
break;
}
}
}
while (tekan!=4);
warna(3,1);
hapus();
return(0);
}
tanya_exit()
{
int m_ex=1;
warna(15,1);
kotak3d(0,7,30,14,48,17);
hapus2();
do
{
warna(14,1);
gotoxy(34,15);cprintf(" ANDA YAKIN ");
warna(15,1);
gotoxy(32,17);cprintf(" Ya ");
gotoxy(41,17);cprintf(" Tidak ");
warna(4,15);
if(m_ex==1) { gotoxy(32,17);cprintf(" Ya "); }
if(m_ex==2) { gotoxy(41,17);cprintf(" Tidak "); }
tekan=getch();
switch (tekan)
{
case 75 : if(m_ex==1) m_ex=2;
else m_ex--;
break;
case 77 : if(m_ex==2) m_ex=1;
else m_ex++;
break;
}
if(tekan==13)
{
switch (m_ex)
{
case 1 : warna(1,0);
sora(100,5);
for(i=1;i<=25;i++)
{
gotoxy(1,1);
delline();
delay(30);
}
clrscr();
_setcursortype(_NORMALCURSOR);
exit(0);
break;
case 2 : tekan=3;
hapus();
menu_ip();
break;
}
}
}
while (tekan!=3);
warna(3,1);
hapus();
return(0);
}
menu_selesai()
{
kotak(15,56,8,73,9);
bayang(56,11,20,76,9,1);
hapus2();
do
{
warna(15,4);
gotoxy(60,7);cprintf(" SELESAI ");
warna(15,1);
gotoxy(57,9);cprintf(" Program Selesai ");
warna(4,7);
gotoxy(5,25);cprintf(" Keluar dari Program ");
tekan=getch();
switch (tekan)
{
case 75 : hapus();
menu_info();
tekan=3;
break;
case 77 : hapus();
menu_ip();
tekan=3;
break;
case 13 : tanya_exit();
break;
}
} while(tekan!=3);
return(0);
}
main()
{
animasi(7,40,41);
pembukaan();
menu_ip();
do
{
_setcursortype(_NOCURSOR);
warna(4,7);
gotoxy(3,7);cprintf(" HITUNG IP HITUNG IPK INFO SELESAI ");
tekan=getch();
switch(tekan)
{
case 75 : if(pilih==1) pilih=4;
else pilih--;
switch (pilih)
{
case 1 : menu_ip();
break;
case 2 : menu_ipk();
break;
case 3 : menu_info();
break;
case 4 : menu_selesai();
break;
}
break;
case 77 : if(pilih==4) pilih=1;
else pilih++;
switch (pilih)
{
case 1 : menu_ip();
break;
case 2 : menu_ipk();
break;
case 3 : menu_info();
break;
case 4: menu_selesai();
break;
}
break;
case 59 : hapus();
info();
getch();
break;
case 27 : exit(0);
}
}
while (tekan!=27);
return(0);
}
Label: Materi


0 komentar:
Post a Comment