Social Icons

Pages

Selasa, 16 Oktober 2012

Berikut ini merupakan contoh projek dengan menggunakan bahasa C++. P

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<windows.h>


//variabel global
int index_kereta=5;
int index_pembelian=3;

//tipe data bentukan alias struck
struct krt{
    char kode[100];
   char nama[100];
   char jurusan_akhir[100];
   float tarif;

};
struct pembelian{
   char nama_pembeli[100];
   char nama_kereta[100];
   int jml_tiket;
   float total;
};

//Inisailasasi struknya
krt kereta[1000];
pembelian beli[1000];

//Pengisian data default
void isi_kereta(){
    char* kd;
   char* nm;
   char* jur;

   //data 1
   kd="KRT01";
   strcpy(kereta[1].kode,kd);
   nm="Sawunggalih Malam";
   strcpy(kereta[1].nama,nm);
   jur="Kutoarjo";
   strcpy(kereta[1].jurusan_akhir,jur);
   kereta[1].tarif=150000;

   //data 2
   kd="KRT02";
   strcpy(kereta[2].kode,kd);
   nm="Serayu IV";
   strcpy(kereta[2].nama,nm);
   jur="Kroya";
   strcpy(kereta[2].jurusan_akhir,jur);
   kereta[2].tarif=200000;

   //data 3
   kd="KRT03";
   strcpy(kereta[3].kode,kd);
   nm="Senja Utama";
   strcpy(kereta[3].nama,nm);
   jur="Solo";
   strcpy(kereta[3].jurusan_akhir,jur);
   kereta[3].tarif=300000;

   //data 4
   kd="KRT04";
   strcpy(kereta[4].kode,kd);
   nm="Argo Lawu";
   strcpy(kereta[4].nama,nm);
   jur="Solo";
   strcpy(kereta[4].jurusan_akhir,jur);
   kereta[4].tarif=350000;

   //data 4
   kd="KRT05";
   strcpy(kereta[5].kode,kd);
   nm="Argo Wilis";
   strcpy(kereta[5].nama,nm);
   jur="Yogyakarta";
   strcpy(kereta[5].jurusan_akhir,jur);
   kereta[5].tarif=350000;

}

void isi_pembelian(){
   char* nm;

   //data 1
   nm="Neng Restu";
   strcpy(beli[1].nama_pembeli,nm);
   strcpy(beli[1].nama_kereta,kereta[5].nama);
   beli[1].jml_tiket=2;
   beli[1].total=2*kereta[5].tarif;

   //data 2
   nm="Neng Siwi";
   strcpy(beli[2].nama_pembeli,nm);
   strcpy(beli[2].nama_kereta,kereta[3].nama);
   beli[2].jml_tiket=3;
   beli[2].total=3*kereta[3].tarif;

   //data 3
   nm="Stefany";
   strcpy(beli[3].nama_pembeli,nm);
   strcpy(beli[3].nama_kereta,kereta[1].nama);
   beli[3].jml_tiket=4;
   beli[3].total=4*kereta[1].tarif;

}




void bingkai_utama(){
    int a;
   textcolor(106);
   for(a=1;a<=80;a++){
       gotoxy(a,1);cprintf("=");
      gotoxy(a,4);cprintf("_");
      gotoxy(a,21);cprintf("_");
      gotoxy(a,24);cprintf("=");
   }
   for(a=1;a<=24;a++){
       gotoxy(1,a);cprintf("=");
      gotoxy(80,a);cprintf("=");
   }
   textcolor(110);
   gotoxy(27,3);cprintf("APLIKASI RESERVASI TIKET KA");
   textcolor(111);
   gotoxy(17,23);cprintf("Copyrigt2012.Neng Restu Anggraeni.All Righ Reserved");
}

void bingkai_informasi(){
    int a;
    clrscr();
   textcolor(110);
   for(a=20;a<=60;a++){
        gotoxy(a,8);cprintf("=");
      gotoxy(a,10);cprintf("=");
   }
   gotoxy(20,9);cprintf("|");
   gotoxy(a-1,9);cprintf("|");
   textcolor(106);

}
//==============================================================================
void insert_pembelian(){
    clrscr();
   int a,ketemu=0;
   char cek_kode[100];

    clrscr();
   bingkai_utama();
   textcolor(107);
   gotoxy(20,7);cprintf("Pembelian Tiket Kereta Api");
   fflush(stdin);
      gotoxy(20,9);cprintf(">> No Kereta     :");
      gotoxy(20,10);cprintf(">> Nama Pembeli  :");
   gotoxy(20,11);cprintf(">> Jumlah tiket  :");
   gotoxy(20,12);cprintf(">> Total (Rp)    :");

   //cek dulu...apakah kode kreta udah ada ato ga

   fflush(stdin);
   gotoxy(39,9);gets(cek_kode);
   for(a=1;a<=index_kereta;a++){
       if(strcmp(cek_kode,kereta[a].kode)==0){
          ketemu=ketemu+a;
        }
    }


   if (ketemu!=0){
       index_pembelian++;
        textcolor(109);
       strcpy(beli[index_pembelian].nama_kereta,kereta[ketemu].nama);
       fflush(stdin);
       gotoxy(39,10);gets(beli[index_pembelian].nama_pembeli);
       //fflush(stdin);
       gotoxy(39,11);scanf("%d",&beli[index_pembelian].jml_tiket);

      beli[index_pembelian].total=kereta[ketemu].tarif*beli[index_pembelian].jml_tiket;
      gotoxy(39,12);printf("%.2f",beli[index_pembelian].total);
       textcolor(109);
      getch();
       gotoxy(20,15);cprintf("Transaksi pembelian berhsail !");

    }else{
       textcolor(109);
       gotoxy(20,15);cprintf("Kode kreta tidak terdaftar !");
      gotoxy(20,16);cprintf("Silahkan anda coba lagi..");
   }
   //if()

   getch();
}

void list_pembelian(){
    int a;
    if(index_pembelian==0){
          bingkai_informasi();
          gotoxy(29,9);cprintf("Data Kereta Kosong!!");
      getch();
   }else{
       textcolor(106);
      for(a=1;a<=80;a++){
          gotoxy(a,1);cprintf("=");
         gotoxy(a,3);cprintf("=");
      }
      textcolor(110);
        gotoxy(7,2);cprintf("Nama Pembeli");
      gotoxy(30,2);cprintf("Nama Kreta");
      gotoxy(49,2);cprintf("Jumlah Tiket");
      gotoxy(68,2);cprintf("Total");

      int b=3;
      textcolor(107);
      for(a=1;a<=index_pembelian;a++){
          b++;
         gotoxy(2,b);cprintf(beli[a].nama_pembeli);
         gotoxy(26,b);cprintf(beli[a].nama_kereta);
         gotoxy(54,b);cprintf("%d",beli[a].jml_tiket);
         gotoxy(65,b);cprintf("%.2f",beli[a].total);
      }

   }
}

void menu_pembelian(){
    int pilih=0;

   do{
        clrscr();
       bingkai_utama();
       textcolor(107);
      Sleep(300);
       gotoxy(20,7);cprintf("Data transaksi pembelian tiket :");Sleep(300);
       gotoxy(20,9);cprintf("1. List data pembelian");Sleep(300);
       gotoxy(20,10);cprintf("2. Tambah data pembelian"); Sleep(300);
      gotoxy(20,11);cprintf("3. Kembali"); Sleep(300);
       gotoxy(20,13);cprintf(">> Pilihan : ");scanf("%d",&pilih);

      if(pilih==1){
          clrscr();
          list_pembelian();
         getch();
      }else if(pilih==2){
          insert_pembelian();
      }else if(pilih==3){

      }else{
          bingkai_informasi();
         gotoxy(31,9);cprintf("Pilihan anda salah");
         getch();
      }

   }while(pilih!=3);

}


//==============================================================================

void ubah_ka(){
    clrscr();
    int a,ketemu=0;
   char edit[100];

    if(index_kereta==0){
          bingkai_informasi();
          gotoxy(29,9);cprintf("Data Kereta Kosong!!");
      getch();
   }else{
        clrscr();
       bingkai_utama();
       textcolor(107);
       gotoxy(20,7);cprintf("Ubah Data Kereta Api");
       fflush(stdin);
          gotoxy(20,9);cprintf(">> No Kereta     : ");gets(edit);

                for(a=1;a<=index_kereta;a++){
                        if(strcmp(edit,kereta[a].kode)==0){
                                ketemu=ketemu+a;
                        }
                }


                if (ketemu==0){
                        textcolor(109);
                       gotoxy(20,11);cprintf("Data tidak ditemukan!!");
                        getch();
                }else{
                       textcolor(109);
                       gotoxy(20,11);cprintf("Data ditemukan!!");
                  textcolor(107);
                  gotoxy(20,12);cprintf("Nama kereta   : ");printf(kereta[ketemu].nama);
                  gotoxy(20,13);cprintf("Jurusan Akhir : ");printf(kereta[ketemu].jurusan_akhir);
                  gotoxy(20,14);cprintf("Tarif         : ");printf("%.2f",kereta[ketemu].tarif);

                        getch();

                        textcolor(109);
                       gotoxy(20,15);cprintf("Input Data Baru :");
                  textcolor(107);
                  gotoxy(20,16);cprintf("Nama Kereta   :");
                       gotoxy(20,17);cprintf("Jurusan akhir :");
                       gotoxy(20,18);cprintf("Tarif (Rp)    :");

                       fflush(stdin);
                       gotoxy(36,16);gets(kereta[ketemu].nama);
                       fflush(stdin);
                       gotoxy(36,17);gets(kereta[ketemu].jurusan_akhir);
                       //fflush(stin);
                       gotoxy(36,18);scanf("%f",&kereta[ketemu].tarif);

                  textcolor(109);
                       gotoxy(20,19);cprintf("Data telah diperbaharui!!");
                  getch();

                }//else

    }//else atas

}

void hapus_ka(){
    clrscr();
    int a,ketemu=0;
   char edit[100];

    if(index_kereta==0){
          bingkai_informasi();
          gotoxy(29,9);cprintf("Data Kereta Kosong!!");
      getch();
   }else{
        clrscr();
       bingkai_utama();
       textcolor(107);
       gotoxy(20,7);cprintf("Hapus Data Kereta Api");
       fflush(stdin);
          gotoxy(20,9);cprintf(">> No Kereta     : ");gets(edit);

                for(a=1;a<=index_kereta;a++){
                        if(strcmp(edit,kereta[a].kode)==0){
                                ketemu=ketemu+a;
                        }
                }


                if (ketemu==0){
                        textcolor(109);
                       gotoxy(20,11);cprintf("Data tidak ditemukan!!");
                        getch();
                }else{
                       textcolor(109);
                       gotoxy(20,11);cprintf("Data ditemukan, tekan ENTER untuk mengahapus!!");
                  textcolor(107);
                  gotoxy(20,12);cprintf("Nama kereta   : ");printf(kereta[ketemu].nama);
                  gotoxy(20,13);cprintf("Jurusan Akhir : ");printf(kereta[ketemu].jurusan_akhir);
                  gotoxy(20,14);cprintf("Tarif         : ");printf("%.2f",kereta[ketemu].tarif);

                        getch();

                  for(ketemu;ketemu<=index_kereta;ketemu++){
                            kereta[ketemu]=kereta[ketemu+1];
                  };
                        //indek berkurang satu
                        index_kereta--;

                  textcolor(109);
                       gotoxy(20,19);cprintf("Data berhasil dihapus!!");
                  getch();

                }//else

    }//else atas

}


void insert_ka(){
    clrscr();
   int a,ketemu=0;
   char cek_kode[100];

    clrscr();
   bingkai_utama();
   textcolor(107);
   gotoxy(20,7);cprintf("Tambah Data kereta api");
   fflush(stdin);
      gotoxy(20,9);cprintf(">> No Kereta     :");
      gotoxy(20,10);cprintf(">> Nama Kereta   :");
   gotoxy(20,11);cprintf(">> Jurusan akhir :");
   gotoxy(20,12);cprintf(">> Tarif (Rp)    :");

   //cek dulu...apakah kode kreta udah ada ato belum, karena kode kreta itu
   //sebagai primary key, jadi ga boleh ada data yang sama..

   fflush(stdin);
   gotoxy(39,9);gets(cek_kode);
   for(a=1;a<=index_kereta;a++){
       if(strcmp(cek_kode,kereta[a].kode)==0){
          ketemu=ketemu+a;
        }
    }


   if (ketemu==0){
       index_kereta++;
        textcolor(109);
       strcpy(kereta[index_kereta].kode,cek_kode);
       fflush(stdin);
       gotoxy(39,10);gets(kereta[index_kereta].nama);
       fflush(stdin);
       gotoxy(39,11);gets(kereta[index_kereta].jurusan_akhir);
       //fflush(stdin);
       gotoxy(39,12);scanf("%f",&kereta[index_kereta].tarif);

       textcolor(109);
       gotoxy(20,15);cprintf("Data Kereta Baru Berhasil Masuk !");

    }else{
       textcolor(109);
       gotoxy(20,15);cprintf("Kode kreta telah terdaftar !");
      gotoxy(20,16);cprintf("Silahkan anda coba lagi..");
   }
   //if()

   getch();
}

void list_ka(){
    int a;
    if(index_kereta==0){
          bingkai_informasi();
          gotoxy(29,9);cprintf("Data Kereta Kosong!!");
      getch();
   }else{
       textcolor(106);
      for(a=1;a<=80;a++){
          gotoxy(a,1);cprintf("=");
         gotoxy(a,3);cprintf("=");
      }
      textcolor(110);
        gotoxy(4,2);cprintf("Kode Kreta");
      gotoxy(27,2);cprintf("Nama Kreta");
      gotoxy(47,2);cprintf("Jurusan Akhir");
      gotoxy(70,2);cprintf("Tarif");

      int b=3;
      textcolor(107);
      for(a=1;a<=index_kereta;a++){
          b++;
         gotoxy(2,b);cprintf(kereta[a].kode);
         gotoxy(20,b);cprintf(kereta[a].nama);
         gotoxy(43,b);cprintf(kereta[a].jurusan_akhir);
         gotoxy(67,b);cprintf("%.2f",kereta[a].tarif);
      }

   }
}

void menu_keretaapi(){
    int pilih=0;

   do{
        clrscr();
       bingkai_utama();
       textcolor(107);
      Sleep(300);
       gotoxy(20,7);cprintf("Data kereta api :");Sleep(300);
       gotoxy(20,9);cprintf("1. List kereta api");Sleep(300);
       gotoxy(20,10);cprintf("2. Tambah data kereta api"); Sleep(300);
      gotoxy(20,11);cprintf("3. Ubah data kereta api"); Sleep(300);
      gotoxy(20,12);cprintf("4. Hapus data kereta api"); Sleep(300);
       gotoxy(20,13);cprintf("5. Kembali");           Sleep(300);
       gotoxy(20,15);cprintf(">> Pilihan : ");scanf("%d",&pilih);

      if(pilih==1){
          clrscr();
          list_ka();
         getch();
      }else if(pilih==2){
          insert_ka();
      }else if(pilih==3){
          ubah_ka();
      }else if(pilih==4){
          hapus_ka();
      }else if(pilih==5){

      }else{
          bingkai_informasi();
         gotoxy(31,9);cprintf("Pilihan anda salah");
         getch();
      }

   }while(pilih!=5);

}

void menu(){
    int pilih=0;

   do{
        clrscr();
       bingkai_utama();
       textcolor(107);
      Sleep(300);
       gotoxy(20,7);cprintf("Menu utama :");Sleep(300);
       gotoxy(20,9);cprintf("1. Data kereta api");Sleep(300);
       gotoxy(20,10);cprintf("2. Transaksi pembelian tiket"); Sleep(300);
       gotoxy(20,11);cprintf("3. Keluar");           Sleep(300);
       gotoxy(20,13);cprintf(">> Pilihan :");scanf("%d",&pilih);

      if(pilih==1){
          menu_keretaapi();
      }else if(pilih==2){
         menu_pembelian();
      }else if(pilih==3){
          bingkai_informasi();
         gotoxy(29,9);cprintf("Anda telah keluar program");
      }else{
          bingkai_informasi();
         gotoxy(31,9);cprintf("Pilihan anda salah");
         getch();
      }
   }while(pilih!=3);
}


void bg_login(){

    char user[20];
   char pass[20];


    //buat
    textcolor(106);
   int a=29;
    gotoxy(a,1);cprintf("                 __,-_-_--_-.___         ___,-----._ ");
    gotoxy(a,2);cprintf("               /,--'   ||  `,---.'-._ -''       .    ");
    gotoxy(a,3);cprintf("              //    \  ||  /     | | _-.         `    ");
    gotoxy(a,4);cprintf("             /'--.--,-'.`---...__| || | `-.           ");
    gotoxy(a,5);cprintf("           ,'      ((_ ))           H |    `-.        ");
    gotoxy(a,6);cprintf("           |o       `--'         o  H`|-._   |`-.     ");
    gotoxy(a,7);cprintf("    ,--._ ,---..            ,,-----.  |   `-.|   `-.  ");
    gotoxy(a,8);cprintf("  ,'    _ |_`_||    ,--.    ||_81__|. | -.   |`-._    ");
    gotoxy(a,9);cprintf("     ,-'   |       ((_ ))         | : | -. -.| -_ `-  ");
    gotoxy(a,10);cprintf("   ,'      |--...__,`--'.__..._-_-. : |-...__|   _-   ");
    gotoxy(a,11);cprintf("           |=_= -_-\::::/-_--_-=_=' : |      |`''---   ");
    gotoxy(a,12);cprintf("      ,'   |    \-_/||||\-_/         _|      |         ");
    gotoxy(a,13);cprintf("           |_______`----'_________ ______.... ......   ");
    gotoxy(a,14);cprintf("           |=======[____]=========|       __ | -- __   ");
    gotoxy(a,15);cprintf("        _, |     ||  ||  | |     --   --'  __/'--'     ");
    gotoxy(a,16);cprintf("   _,-     |     ||  ||  | |      | ___,--'            ");
    gotoxy(a,17);cprintf("           `--.  ''--''--'-' ,----' -                  ");
    gotoxy(a,18);cprintf("            _ '_----_-------','-  _                    ");
   textcolor(111);
   gotoxy(40,20);cprintf("------- Kami Hadir Untuk Melayani Anda");
   textcolor(106);
   gotoxy(1,4);cprintf("------------------------------|");
   gotoxy(1,2);cprintf("------------------------------|");
   gotoxy(31,3);cprintf("|");
   textcolor(110);
   gotoxy(3,3);cprintf("APLIKASI RESERVASI TIKET KA");
   textcolor(111);
   gotoxy(3,7);cprintf("Login Aplikasi");
   gotoxy(3,9);cprintf("Username :");
   gotoxy(3,10);cprintf("Password :");
   textcolor(110);
   gotoxy(14,9);scanf("%s",& user);
   textcolor(110);
   gotoxy(3,12);cprintf("Tekan Enter Uuntuk Login");
   gotoxy(14,10);scanf("%s",& pass);

   //ceking validasi
   textcolor(107);
   gotoxy(3,13);cprintf("Ceking program");
   for(a=1;a<=6;a++){
       cprintf(".");Sleep(300);
   }
   if(strcmp(user,"Restu")==0 && strcmp(pass,"mocha")==0){

        bingkai_informasi();
      gotoxy(29,9);cprintf("Anda berhasil Login !!");
      getch();
      menu();

   }else{
       clrscr();
      textcolor(110);
      for(a=20;a<=60;a++){
          gotoxy(a,8);cprintf("=");
         gotoxy(a,10);cprintf("=");
      }
      gotoxy(20,9);cprintf("|");
      gotoxy(a-1,9);cprintf("|");
      textcolor(106);
       gotoxy(29,9);cprintf("User dan Password Salah!!!");
      getch();
      clrscr();
      bg_login();
   }

}



void main(){
clrscr();
    //isi data default
   isi_kereta();
   isi_pembelian();
   bg_login();


getch();
}#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<windows.h>


//variabel global
int index_kereta=5;
int index_pembelian=3;

//tipe data bentukan alias struck
struct krt{
    char kode[100];
   char nama[100];
   char jurusan_akhir[100];
   float tarif;

};
struct pembelian{
   char nama_pembeli[100];
   char nama_kereta[100];
   int jml_tiket;
   float total;
};

//Inisailasasi struknya
krt kereta[1000];
pembelian beli[1000];

//Pengisian data default
void isi_kereta(){
    char* kd;
   char* nm;
   char* jur;

   //data 1
   kd="KRT01";
   strcpy(kereta[1].kode,kd);
   nm="Sawunggalih Malam";
   strcpy(kereta[1].nama,nm);
   jur="Kutoarjo";
   strcpy(kereta[1].jurusan_akhir,jur);
   kereta[1].tarif=150000;

   //data 2
   kd="KRT02";
   strcpy(kereta[2].kode,kd);
   nm="Serayu IV";
   strcpy(kereta[2].nama,nm);
   jur="Kroya";
   strcpy(kereta[2].jurusan_akhir,jur);
   kereta[2].tarif=200000;

   //data 3
   kd="KRT03";
   strcpy(kereta[3].kode,kd);
   nm="Senja Utama";
   strcpy(kereta[3].nama,nm);
   jur="Solo";
   strcpy(kereta[3].jurusan_akhir,jur);
   kereta[3].tarif=300000;

   //data 4
   kd="KRT04";
   strcpy(kereta[4].kode,kd);
   nm="Argo Lawu";
   strcpy(kereta[4].nama,nm);
   jur="Solo";
   strcpy(kereta[4].jurusan_akhir,jur);
   kereta[4].tarif=350000;

   //data 4
   kd="KRT05";
   strcpy(kereta[5].kode,kd);
   nm="Argo Wilis";
   strcpy(kereta[5].nama,nm);
   jur="Yogyakarta";
   strcpy(kereta[5].jurusan_akhir,jur);
   kereta[5].tarif=350000;

}

void isi_pembelian(){
   char* nm;

   //data 1
   nm="Neng Restu";
   strcpy(beli[1].nama_pembeli,nm);
   strcpy(beli[1].nama_kereta,kereta[5].nama);
   beli[1].jml_tiket=2;
   beli[1].total=2*kereta[5].tarif;

   //data 2
   nm="Neng Siwi";
   strcpy(beli[2].nama_pembeli,nm);
   strcpy(beli[2].nama_kereta,kereta[3].nama);
   beli[2].jml_tiket=3;
   beli[2].total=3*kereta[3].tarif;

   //data 3
   nm="Stefany";
   strcpy(beli[3].nama_pembeli,nm);
   strcpy(beli[3].nama_kereta,kereta[1].nama);
   beli[3].jml_tiket=4;
   beli[3].total=4*kereta[1].tarif;

}




void bingkai_utama(){
    int a;
   textcolor(106);
   for(a=1;a<=80;a++){
       gotoxy(a,1);cprintf("=");
      gotoxy(a,4);cprintf("_");
      gotoxy(a,21);cprintf("_");
      gotoxy(a,24);cprintf("=");
   }
   for(a=1;a<=24;a++){
       gotoxy(1,a);cprintf("=");
      gotoxy(80,a);cprintf("=");
   }
   textcolor(110);
   gotoxy(27,3);cprintf("APLIKASI RESERVASI TIKET KA");
   textcolor(111);
   gotoxy(17,23);cprintf("Copyrigt2012.Neng Restu Anggraeni.All Righ Reserved");
}

void bingkai_informasi(){
    int a;
    clrscr();
   textcolor(110);
   for(a=20;a<=60;a++){
        gotoxy(a,8);cprintf("=");
      gotoxy(a,10);cprintf("=");
   }
   gotoxy(20,9);cprintf("|");
   gotoxy(a-1,9);cprintf("|");
   textcolor(106);

}
//==============================================================================
void insert_pembelian(){
    clrscr();
   int a,ketemu=0;
   char cek_kode[100];

    clrscr();
   bingkai_utama();
   textcolor(107);
   gotoxy(20,7);cprintf("Pembelian Tiket Kereta Api");
   fflush(stdin);
      gotoxy(20,9);cprintf(">> No Kereta     :");
      gotoxy(20,10);cprintf(">> Nama Pembeli  :");
   gotoxy(20,11);cprintf(">> Jumlah tiket  :");
   gotoxy(20,12);cprintf(">> Total (Rp)    :");

   //cek dulu...apakah kode kreta udah ada ato ga

   fflush(stdin);
   gotoxy(39,9);gets(cek_kode);
   for(a=1;a<=index_kereta;a++){
       if(strcmp(cek_kode,kereta[a].kode)==0){
          ketemu=ketemu+a;
        }
    }


   if (ketemu!=0){
       index_pembelian++;
        textcolor(109);
       strcpy(beli[index_pembelian].nama_kereta,kereta[ketemu].nama);
       fflush(stdin);
       gotoxy(39,10);gets(beli[index_pembelian].nama_pembeli);
       //fflush(stdin);
       gotoxy(39,11);scanf("%d",&beli[index_pembelian].jml_tiket);

      beli[index_pembelian].total=kereta[ketemu].tarif*beli[index_pembelian].jml_tiket;
      gotoxy(39,12);printf("%.2f",beli[index_pembelian].total);
       textcolor(109);
      getch();
       gotoxy(20,15);cprintf("Transaksi pembelian berhsail !");

    }else{
       textcolor(109);
       gotoxy(20,15);cprintf("Kode kreta tidak terdaftar !");
      gotoxy(20,16);cprintf("Silahkan anda coba lagi..");
   }
   //if()

   getch();
}

void list_pembelian(){
    int a;
    if(index_pembelian==0){
          bingkai_informasi();
          gotoxy(29,9);cprintf("Data Kereta Kosong!!");
      getch();
   }else{
       textcolor(106);
      for(a=1;a<=80;a++){
          gotoxy(a,1);cprintf("=");
         gotoxy(a,3);cprintf("=");
      }
      textcolor(110);
        gotoxy(7,2);cprintf("Nama Pembeli");
      gotoxy(30,2);cprintf("Nama Kreta");
      gotoxy(49,2);cprintf("Jumlah Tiket");
      gotoxy(68,2);cprintf("Total");

      int b=3;
      textcolor(107);
      for(a=1;a<=index_pembelian;a++){
          b++;
         gotoxy(2,b);cprintf(beli[a].nama_pembeli);
         gotoxy(26,b);cprintf(beli[a].nama_kereta);
         gotoxy(54,b);cprintf("%d",beli[a].jml_tiket);
         gotoxy(65,b);cprintf("%.2f",beli[a].total);
      }

   }
}

void menu_pembelian(){
    int pilih=0;

   do{
        clrscr();
       bingkai_utama();
       textcolor(107);
      Sleep(300);
       gotoxy(20,7);cprintf("Data transaksi pembelian tiket :");Sleep(300);
       gotoxy(20,9);cprintf("1. List data pembelian");Sleep(300);
       gotoxy(20,10);cprintf("2. Tambah data pembelian"); Sleep(300);
      gotoxy(20,11);cprintf("3. Kembali"); Sleep(300);
       gotoxy(20,13);cprintf(">> Pilihan : ");scanf("%d",&pilih);

      if(pilih==1){
          clrscr();
          list_pembelian();
         getch();
      }else if(pilih==2){
          insert_pembelian();
      }else if(pilih==3){

      }else{
          bingkai_informasi();
         gotoxy(31,9);cprintf("Pilihan anda salah");
         getch();
      }

   }while(pilih!=3);

}


//==============================================================================

void ubah_ka(){
    clrscr();
    int a,ketemu=0;
   char edit[100];

    if(index_kereta==0){
          bingkai_informasi();
          gotoxy(29,9);cprintf("Data Kereta Kosong!!");
      getch();
   }else{
        clrscr();
       bingkai_utama();
       textcolor(107);
       gotoxy(20,7);cprintf("Ubah Data Kereta Api");
       fflush(stdin);
          gotoxy(20,9);cprintf(">> No Kereta     : ");gets(edit);

                for(a=1;a<=index_kereta;a++){
                        if(strcmp(edit,kereta[a].kode)==0){
                                ketemu=ketemu+a;
                        }
                }


                if (ketemu==0){
                        textcolor(109);
                       gotoxy(20,11);cprintf("Data tidak ditemukan!!");
                        getch();
                }else{
                       textcolor(109);
                       gotoxy(20,11);cprintf("Data ditemukan!!");
                  textcolor(107);
                  gotoxy(20,12);cprintf("Nama kereta   : ");printf(kereta[ketemu].nama);
                  gotoxy(20,13);cprintf("Jurusan Akhir : ");printf(kereta[ketemu].jurusan_akhir);
                  gotoxy(20,14);cprintf("Tarif         : ");printf("%.2f",kereta[ketemu].tarif);

                        getch();

                        textcolor(109);
                       gotoxy(20,15);cprintf("Input Data Baru :");
                  textcolor(107);
                  gotoxy(20,16);cprintf("Nama Kereta   :");
                       gotoxy(20,17);cprintf("Jurusan akhir :");
                       gotoxy(20,18);cprintf("Tarif (Rp)    :");

                       fflush(stdin);
                       gotoxy(36,16);gets(kereta[ketemu].nama);
                       fflush(stdin);
                       gotoxy(36,17);gets(kereta[ketemu].jurusan_akhir);
                       //fflush(stin);
                       gotoxy(36,18);scanf("%f",&kereta[ketemu].tarif);

                  textcolor(109);
                       gotoxy(20,19);cprintf("Data telah diperbaharui!!");
                  getch();

                }//else

    }//else atas

}

void hapus_ka(){
    clrscr();
    int a,ketemu=0;
   char edit[100];

    if(index_kereta==0){
          bingkai_informasi();
          gotoxy(29,9);cprintf("Data Kereta Kosong!!");
      getch();
   }else{
        clrscr();
       bingkai_utama();
       textcolor(107);
       gotoxy(20,7);cprintf("Hapus Data Kereta Api");
       fflush(stdin);
          gotoxy(20,9);cprintf(">> No Kereta     : ");gets(edit);

                for(a=1;a<=index_kereta;a++){
                        if(strcmp(edit,kereta[a].kode)==0){
                                ketemu=ketemu+a;
                        }
                }


                if (ketemu==0){
                        textcolor(109);
                       gotoxy(20,11);cprintf("Data tidak ditemukan!!");
                        getch();
                }else{
                       textcolor(109);
                       gotoxy(20,11);cprintf("Data ditemukan, tekan ENTER untuk mengahapus!!");
                  textcolor(107);
                  gotoxy(20,12);cprintf("Nama kereta   : ");printf(kereta[ketemu].nama);
                  gotoxy(20,13);cprintf("Jurusan Akhir : ");printf(kereta[ketemu].jurusan_akhir);
                  gotoxy(20,14);cprintf("Tarif         : ");printf("%.2f",kereta[ketemu].tarif);

                        getch();

                  for(ketemu;ketemu<=index_kereta;ketemu++){
                            kereta[ketemu]=kereta[ketemu+1];
                  };
                        //indek berkurang satu
                        index_kereta--;

                  textcolor(109);
                       gotoxy(20,19);cprintf("Data berhasil dihapus!!");
                  getch();

                }//else

    }//else atas

}


void insert_ka(){
    clrscr();
   int a,ketemu=0;
   char cek_kode[100];

    clrscr();
   bingkai_utama();
   textcolor(107);
   gotoxy(20,7);cprintf("Tambah Data kereta api");
   fflush(stdin);
      gotoxy(20,9);cprintf(">> No Kereta     :");
      gotoxy(20,10);cprintf(">> Nama Kereta   :");
   gotoxy(20,11);cprintf(">> Jurusan akhir :");
   gotoxy(20,12);cprintf(">> Tarif (Rp)    :");

   //cek dulu...apakah kode kreta udah ada ato belum, karena kode kreta itu
   //sebagai primary key, jadi ga boleh ada data yang sama..

   fflush(stdin);
   gotoxy(39,9);gets(cek_kode);
   for(a=1;a<=index_kereta;a++){
       if(strcmp(cek_kode,kereta[a].kode)==0){
          ketemu=ketemu+a;
        }
    }


   if (ketemu==0){
       index_kereta++;
        textcolor(109);
       strcpy(kereta[index_kereta].kode,cek_kode);
       fflush(stdin);
       gotoxy(39,10);gets(kereta[index_kereta].nama);
       fflush(stdin);
       gotoxy(39,11);gets(kereta[index_kereta].jurusan_akhir);
       //fflush(stdin);
       gotoxy(39,12);scanf("%f",&kereta[index_kereta].tarif);

       textcolor(109);
       gotoxy(20,15);cprintf("Data Kereta Baru Berhasil Masuk !");

    }else{
       textcolor(109);
       gotoxy(20,15);cprintf("Kode kreta telah terdaftar !");
      gotoxy(20,16);cprintf("Silahkan anda coba lagi..");
   }
   //if()

   getch();
}

void list_ka(){
    int a;
    if(index_kereta==0){
          bingkai_informasi();
          gotoxy(29,9);cprintf("Data Kereta Kosong!!");
      getch();
   }else{
       textcolor(106);
      for(a=1;a<=80;a++){
          gotoxy(a,1);cprintf("=");
         gotoxy(a,3);cprintf("=");
      }
      textcolor(110);
        gotoxy(4,2);cprintf("Kode Kreta");
      gotoxy(27,2);cprintf("Nama Kreta");
      gotoxy(47,2);cprintf("Jurusan Akhir");
      gotoxy(70,2);cprintf("Tarif");

      int b=3;
      textcolor(107);
      for(a=1;a<=index_kereta;a++){
          b++;
         gotoxy(2,b);cprintf(kereta[a].kode);
         gotoxy(20,b);cprintf(kereta[a].nama);
         gotoxy(43,b);cprintf(kereta[a].jurusan_akhir);
         gotoxy(67,b);cprintf("%.2f",kereta[a].tarif);
      }

   }
}

void menu_keretaapi(){
    int pilih=0;

   do{
        clrscr();
       bingkai_utama();
       textcolor(107);
      Sleep(300);
       gotoxy(20,7);cprintf("Data kereta api :");Sleep(300);
       gotoxy(20,9);cprintf("1. List kereta api");Sleep(300);
       gotoxy(20,10);cprintf("2. Tambah data kereta api"); Sleep(300);
      gotoxy(20,11);cprintf("3. Ubah data kereta api"); Sleep(300);
      gotoxy(20,12);cprintf("4. Hapus data kereta api"); Sleep(300);
       gotoxy(20,13);cprintf("5. Kembali");           Sleep(300);
       gotoxy(20,15);cprintf(">> Pilihan : ");scanf("%d",&pilih);

      if(pilih==1){
          clrscr();
          list_ka();
         getch();
      }else if(pilih==2){
          insert_ka();
      }else if(pilih==3){
          ubah_ka();
      }else if(pilih==4){
          hapus_ka();
      }else if(pilih==5){

      }else{
          bingkai_informasi();
         gotoxy(31,9);cprintf("Pilihan anda salah");
         getch();
      }

   }while(pilih!=5);

}

void menu(){
    int pilih=0;

   do{
        clrscr();
       bingkai_utama();
       textcolor(107);
      Sleep(300);
       gotoxy(20,7);cprintf("Menu utama :");Sleep(300);
       gotoxy(20,9);cprintf("1. Data kereta api");Sleep(300);
       gotoxy(20,10);cprintf("2. Transaksi pembelian tiket"); Sleep(300);
       gotoxy(20,11);cprintf("3. Keluar");           Sleep(300);
       gotoxy(20,13);cprintf(">> Pilihan :");scanf("%d",&pilih);

      if(pilih==1){
          menu_keretaapi();
      }else if(pilih==2){
         menu_pembelian();
      }else if(pilih==3){
          bingkai_informasi();
         gotoxy(29,9);cprintf("Anda telah keluar program");
      }else{
          bingkai_informasi();
         gotoxy(31,9);cprintf("Pilihan anda salah");
         getch();
      }
   }while(pilih!=3);
}


void bg_login(){

    char user[20];
   char pass[20];


    //buat
    textcolor(106);
   int a=29;
    gotoxy(a,1);cprintf("                 __,-_-_--_-.___         ___,-----._ ");
    gotoxy(a,2);cprintf("               /,--'   ||  `,---.'-._ -''       .    ");
    gotoxy(a,3);cprintf("              //    \  ||  /     | | _-.         `    ");
    gotoxy(a,4);cprintf("             /'--.--,-'.`---...__| || | `-.           ");
    gotoxy(a,5);cprintf("           ,'      ((_ ))           H |    `-.        ");
    gotoxy(a,6);cprintf("           |o       `--'         o  H`|-._   |`-.     ");
    gotoxy(a,7);cprintf("    ,--._ ,---..            ,,-----.  |   `-.|   `-.  ");
    gotoxy(a,8);cprintf("  ,'    _ |_`_||    ,--.    ||_81__|. | -.   |`-._    ");
    gotoxy(a,9);cprintf("     ,-'   |       ((_ ))         | : | -. -.| -_ `-  ");
    gotoxy(a,10);cprintf("   ,'      |--...__,`--'.__..._-_-. : |-...__|   _-   ");
    gotoxy(a,11);cprintf("           |=_= -_-\::::/-_--_-=_=' : |      |`''---   ");
    gotoxy(a,12);cprintf("      ,'   |    \-_/||||\-_/         _|      |         ");
    gotoxy(a,13);cprintf("           |_______`----'_________ ______.... ......   ");
    gotoxy(a,14);cprintf("           |=======[____]=========|       __ | -- __   ");
    gotoxy(a,15);cprintf("        _, |     ||  ||  | |     --   --'  __/'--'     ");
    gotoxy(a,16);cprintf("   _,-     |     ||  ||  | |      | ___,--'            ");
    gotoxy(a,17);cprintf("           `--.  ''--''--'-' ,----' -                  ");
    gotoxy(a,18);cprintf("            _ '_----_-------','-  _                    ");
   textcolor(111);
   gotoxy(40,20);cprintf("------- Kami Hadir Untuk Melayani Anda");
   textcolor(106);
   gotoxy(1,4);cprintf("------------------------------|");
   gotoxy(1,2);cprintf("------------------------------|");
   gotoxy(31,3);cprintf("|");
   textcolor(110);
   gotoxy(3,3);cprintf("APLIKASI RESERVASI TIKET KA");
   textcolor(111);
   gotoxy(3,7);cprintf("Login Aplikasi");
   gotoxy(3,9);cprintf("Username :");
   gotoxy(3,10);cprintf("Password :");
   textcolor(110);
   gotoxy(14,9);scanf("%s",& user);
   textcolor(110);
   gotoxy(3,12);cprintf("Tekan Enter Uuntuk Login");
   gotoxy(14,10);scanf("%s",& pass);

   //ceking validasi
   textcolor(107);
   gotoxy(3,13);cprintf("Ceking program");
   for(a=1;a<=6;a++){
       cprintf(".");Sleep(300);
   }
   if(strcmp(user,"Restu")==0 && strcmp(pass,"mocha")==0){

        bingkai_informasi();
      gotoxy(29,9);cprintf("Anda berhasil Login !!");
      getch();
      menu();

   }else{
       clrscr();
      textcolor(110);
      for(a=20;a<=60;a++){
          gotoxy(a,8);cprintf("=");
         gotoxy(a,10);cprintf("=");
      }
      gotoxy(20,9);cprintf("|");
      gotoxy(a-1,9);cprintf("|");
      textcolor(106);
       gotoxy(29,9);cprintf("User dan Password Salah!!!");
      getch();
      clrscr();
      bg_login();
   }

}



void main(){
clrscr();
    //isi data default
   isi_kereta();
   isi_pembelian();
   bg_login();


getch();
}

Tidak ada komentar:

Posting Komentar