Minggu, 04 Desember 2016

Project C++



A.   DESKRIPSI PRORAM
Program untuk mendata setiap mahasiswa di universitasnya dan dapat mudah untuk mencari data mahasiswa bila sedang ada kesulitan untuk mencarinya, program ini sudah terdapat sebuah asrama dan kamar di mana mahasiswa itu bertempat tinggal. Kelemahan program ini adalah ketika tidak tersangkut pada jaringan internet dan kurang adanya GPS di mana dapat menetahui lebih detail keberadaan mahasiswa berada.

B.   PENGGUNAAN PROGRAM

1.      Berikut adalah menu utama program data mahasiswa

2.      Jika anda ingin memasukkan data diri anda maka anda harus menekan tombol nomor satu pada pilihan menu utama dan inputkan data anda secara lengkap dan jelas.




3.      Selanjutnya anda akan kembali ke menu utama. Jika anda inin melihat data anda atau mahasiswa yang lain maka tekan tombol nomor 2.jika ingin kembali ke menu utama maka anda harus menekan tombol [x].


4.      Jika anda ingin mencari data seserang mahasiswa maka anda harus menekan tombol 3 pada menu utama, setelah masuk anda akan di minta untuk memasukkan nomor induk atau nomor hp yang sesuai dengan mahasiswa yang bersangkutan.


5.      Setelah mengisi sesuai keinginan anda maka akan muncul data mahasiswa yang anda cari

6.      Setelah mencari jika anda akan menghapus  data diri maka anda tekan angka 4, otomatis data yang anda hapus akan hilang dengan sendirinya.

7.      Jika anda ingin menganti atau merubah data diri anda maka tekan tombol nomor 5 di situ anda di minta seperti kolom pencarian.

8.       Setelah itu isi data anda dengan perubahan yang anda inginkan
9.       Setelah selesai dengan program ini, jika anda ingin keluar maka anda menekan tombol 6.

C.                 PENJELASAN SOURCE CODE
ADALAH INPUT DATA MAHASISWA
void inputData()
    {
        gotoxy(14,1);
        cout<<"Nama Mahasiswa       : ";
        cin>>nama;
        gotoxy(14,2);
        cout<<"Nim                  : ";
        cin>>nim;
        gotoxy(14,3);
        cout<<"Nomor Hp Mahasiswa   : ";
        cin>>hp;
        gotoxy(14,4);
        cout<<"Daerah Asal          : ";
        cin>>daerah;
        gotoxy(14,5);
        cout<<"Program Studi        : ";
        cin>>prodi;
        gotoxy(14,6);
        cout<<"Tanggal lahir        : ";
        cin>>tgl;
        gotoxy(14,7);
        cout<<"Asrama               : ";
        cin>>gedung;
        gotoxy(14,8);
        cout<<"Kamar                : ";
        cin>>kamar;
    }

pada kolom atas adalahuntuk mengisi data mahasiswa pada umumnya.
ADALAH  INT MAIN
int main()
{
    system ("COLOR 02");
    rumah();
    getch();
    loading();
    rumah();
}

Adalah untuk  pengurutan data yang akan di jalankan.
TAMPILAN AWAL
gotoxy( 15,6);
    cout<<"**********************************************"<<endl;
    gotoxy( 12, 7 );
    cout<< "========(INFORMASI DATA MAHASISWA)==========="<<endl;
    gotoxy( 15,8);
    cout<<"**********************************************"<<endl;
    gotoxy( 23, 9 );
    cout<<"||1.masukkan data diri : ||"<<endl;
    gotoxy(23, 10);
    cout<<"||2.lihat data        : ||"<<endl;
    gotoxy(23, 11);
    cout<<"||3.cari data         : ||"<<endl;
    gotoxy(23, 12);
    cout<<"||4.hapus data         : ||"<<endl;
    gotoxy(23, 13);
    cout<<"||5.update data       : ||"<<endl;
    gotoxy(23, 14);
    cout<<"||6.keluar             : ||"<<endl;
    gotoxy(23, 15);
    cout<<"\n";
    gotoxy(23, 15);
    cout<<"##########~{ }~############"<<endl;

Ini bekerja untuk menampilkan layar utama pada program ini
PILIHAN INPUT
case 1:
    {
        loading();
        system ("cls");
        int jumlah,l;
        cout<<"Jumlah Data Mahasiswa Yang Akan Dimasukkan  : ";
        cin>>jumlah;

        for(int a=1; a<=jumlah; a++)
        {
            system("cls");
            dt_mhs.inputData();
            fo.open(fauzi, ios::binary | ios::app);
            fo.write((char*) &dt_mhs, sizeof (dt_mhs));
            fo.close();
        }
        goto A;
    }

Ini adalah fungsi untuk memilih jika anda memilih nomor satu makaanda kan di minta untuk mengisi data diri anda.
LIHAT DATA
case 2:
    {
        loading();
        fi.open(fauzi, ios::binary);
        while (fi.read((char*) &dt_mhs, sizeof(dt_mhs)))
        {
            dt_mhs.outputData();
            cout<<"@$@$@$@$@$@$@$@$@"<<endl;
        }
        fi.close();
        B :
        string w;
        cout<<"keluar [x] : "<<endl;
        cin >> w;
        if (w == "x")
            rumah();
        else
            goto B;
    }
    break;

Source di atas adalah berfungsi untuk melihat data mahasiswa.

CARI DATA
case 3:
    {
        loading();
        int nimDicari, ketemu=0,cc,hpDicari;
        data_mahasiswa dt_mhs, nilaiKetemu;
        cout<<"-- Mencari Data Mahasiswa -- "<<endl;
        cout<<endl;
        cout<<"Pilihan :";
        cout<<" <1>. Menggunakan No.Hp"<<endl;
        cout<<"          <2>. Menggunakan NIM"<<endl;
        cout<<"masukkan pilihan anda = ";
        cin>>cc;
        switch (cc)
        {
        case 1:
        {
            cout<<"Dengan Menggunakan No.Hp : ";
            cin>>hpDicari;
            fi.open(fauzi, ios::binary);
            while(fi.read( (char*)&dt_mhs, sizeof(dt_mhs)))
            {
                if(dt_mhs.getHp()== hpDicari)
                {
                    nilaiKetemu = dt_mhs;
                    ketemu = 1;
                    break;
                }
            }
            if(ketemu == 0)
                cout<<"\nNim: "<<hpDicari<<"Ma'af Data Anda Tidak Ditemukan !-_-"<<endl;
            else
            {
                loading();
                nilaiKetemu.outputData();
                cout<<"\nNim: "<<hpDicari<<" Selamat Data yang Anda Cari ketemu ^_^"<<endl;
            }
            fi.close();
            cout<<endl;
            getch();
            loading();
            rumah();
        }
        break;
        case 2:
        {
            cout<<"Dengan Menggunakan NIM  : ";
            cin>>nimDicari;
            fi.open(fauzi, ios::binary);
            while(fi.read( (char*)&dt_mhs, sizeof(dt_mhs)))
            {
                if(dt_mhs.getNim()== nimDicari)
                {
                    nilaiKetemu = dt_mhs;
                    ketemu = 1;
                    break;
                }
            }
            if(ketemu == 0)
                cout<<"\nNim: "<<nimDicari<<" Ma'af Data Anda Tidak Ditemukan !-_-"<<endl;
            else
            {
                loading();
                nilaiKetemu.outputData();
                cout<<"\nNim: "<<nimDicari<<" Selamat Data yang Anda Cari ketemu ^_^"<<endl;
            }
            fi.close();
            cout<<endl;
            getch();
            loading();
            rumah();
        }
        break;
        default:
        {
            cout<<"Angka Yang Anda Masukkan Salah"<<endl;
            getch();
            loading();
            rumah();
        }
        }
        break;

Source di atas akan berfungsi jika anda ingin mencari data mahasiswa.
HAPUS DATA
case 4:
    {
        int nimDicari,po,hpDicari;
        system ("cls");
        loading();
        cout<<"-- Menghapus Data Mahasiswa -- "<<endl;
        cout<<endl;
        cout<<"Pilihan :";
        cout<<" <1>. Menggunakan NIM"<<endl;
        cout<<"          <2>. Menggunakan No.Hp"<<endl;
        cout<<"masukkan pilihan anda = ";
        cin>>po;
        switch (po)
        {
        case 1:
        {
            cout<<"Dengan Menggunakan NIM: ";
            cin>>nimDicari;

            fi.open(fauzi, ios::binary);
            fo.open("cadangan.txt", ios::out | ios::binary);

            int ketemu=0;
            while (fi.read((char*)&dt_mhs, sizeof(dt_mhs)))
            {
                if (dt_mhs.getNim() != nimDicari)
                    fo.write((char*)&dt_mhs, sizeof(dt_mhs));
                else
                    ketemu=1;
            }
            fi.close();
            fo.close();

            remove(fauzi);
            rename("cadangan.txt","data.dat");

            if(ketemu==1)
                cout<<"Mahasiswa dengan NIM "<<nimDicari<<" TELAH DIHAPUS!"<<endl;
            else
                cout<<"Mahasiswa dengan NIM "<<nimDicari<<" TIDAK DITEMUKAN!"<<endl;
        }
        break;
        case 2:
        {
            cout<<"Dengan Menggunakan No.Hp : ";
            cin>>hpDicari;

            fi.open(fauzi, ios::binary);
            fo.open("cadangan.txt", ios::out | ios::binary);

            int ketemu=0;
            while (fi.read((char*)&dt_mhs, sizeof(dt_mhs)))
            {
                if (dt_mhs.getHp() != hpDicari)
                    fo.write((char*)&dt_mhs, sizeof(dt_mhs));
                else
                    ketemu=1;
            }
            fi.close();
            fo.close();

            remove("data mahasiswa office.txt");
            rename("cadangan.txt", "dsta mahasiswa office.txt");

            if(ketemu==1)
                cout<<"Mahasiswa dengan No.Hp "<<hpDicari<<" TELAH DIHAPUS!"<<endl;
            else
                cout<<"Mahasiswa dengan No.Hp "<<hpDicari<<" TIDAK DITEMUKAN!"<<endl;
            getch();
            rumah();
        }
        break;
        default:
        {
            cout<<"Angka Yang Anda Masukkan Salah"<<endl;
            getch();
            loading();
            rumah();
        }
        }
        break;
    }

Funsi di atas bergunauntuk menhapus data mahasiswa jika ingin menghapusnya.
UPDATE DATA
case 5:
    {
        loading();
        system("cls");
        int ah,nimDicari,hpDicari;

        cout<<endl;
        cout<<"--Mengupdate Data Mahasiswa-- "<<endl;
        cout<<endl;
        cout<<"Pilihan :";
        cout<<" <1> Menggunakan NIM"<<endl;
        cout<<"          <2> Menggunakan No.Hp"<<endl;
        cout<<"masukkan pilihan anda = ";
        cin>>ah;
        switch (ah)
        {
        case 1:
        {
            cout<<"Dengan Menggunakan NIM : ";
            cin>>nimDicari;

            fa.open(fauzi, ios::in | ios::out);
            while (fa.read((char*) &dt_mhs, sizeof (dt_mhs)))
            {
                if(dt_mhs.getNim() == nimDicari)
                {
                    system("cls");
                    dt_mhs.outputData();
                    cout<<"Silahkan Masukkan Perubahan Data:"<<endl;
                    dt_mhs.inputData();


                    int pos=-1*sizeof(dt_mhs);
                    fa.seekp(pos, ios::cur);
                    fa.write((char*) &dt_mhs, sizeof (dt_mhs));
                    system("cls");
                    break;
                }
            }
            fa.close();
        }
        break;
        case 2:
        {
            cout<<"Dengan Menggunakan No.Hp: ";
            cin>>hpDicari;

            fa.open(fauzi, ios::in | ios::out);
            while (fa.read((char*) &dt_mhs, sizeof (dt_mhs)))
            {
                if(dt_mhs.getHp() == hpDicari)
                {
                    system("cls");
                    dt_mhs.outputData();
                    cout<<"Silahkan Masukkan Perubahan Data:"<<endl;
                    dt_mhs.inputData();

                    int pos=-1*sizeof(dt_mhs);
                    fa.seekp(pos, ios::cur);
                    fa.write((char*) &dt_mhs, sizeof (dt_mhs));
                    system("cls");
                    //break;
                }
            }
            fa.close();
        }
        break;
        }
        break;
    }

Fungsi di atas adalah diperuntukkan merubah data yag di inginkan mahasiswa tersebut.
KELUAR
case 6:
    {
        akhir();
    }
}

Adalah untuk mengakhiri program tersebut.
LOADING
void loading()
{
    int i;
    for (i=0; i<100; i++)
    {
        cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
        cout<<"\t\t\t\t\t\t\ttunggu sebentar ya ^_^"<<i+1<<"%";
        cout<<"\n";
        system ("cls");
    }
}


Funfsi untuk loading setiap data.