Contoh Program (input, output, cari, hapus, dan update data)


السلام عليكم ورحمة الله وبركاته

Teman-teman sekalian kali ini saya ingin berbagi ilmu tentang cara membuat program sederhana dengan bahasa C++.
Lebih sepisifikannya lagi saya akan menjelaskan tentang input, output, cari, hapus, dan update data dalam C++
Untuk agar lebih menarik lagi pada program ini saya beri beberapa variasi antara lain "loading" yang saya buat dengan variasi fungsi "for" dan juga password dengan fungsi "if".
Baiklah mari kita beranjak pada penggunaan program berikut ini :

Penggunaan Program

Loading



Password



Apabila password yang dimasukan user salah maka akan muncul tampilan sebagai berikut :



Apabila password yang dimasukan user benar maka akan muncul tampilan utama





Tampilan Utama



Lalu apabila user menginputkan angka “1” maka akan muncul tampilan sebagai berikut :


Input Data


Setelah user menginputkan data lalu akan muncul tulisan bahwasannya data yang baru saja diinputkan telah dimasukan ke dalam file “Database.txt”. lalu setelah itu akan muncul tampilan sebagai berikut :

Maka akan muncul tampilan pertanyaan yang menanyakan kepada user untuk menginputkan huruf “y” bila ingin menginputkan data lagi atau huruf “t” apabila tidak ingin menginputkan data lagi dan keluar.
Apabila user menginputkan huruf “y” maka mesin akan kembali menampilkan tampilan input data.

Apabila user menginputkan huruf “t” maka mesin akan menampilkan pertanyaan kembali untuk meyakinkan user :

Apabila user menginputkan huruf “y” maka mesin akan mengakhiri proses compiling dan menampilkan tampilan akhir.
Apabila user menginputkan huruf “t” maka mesin akan kembali kepada tampilan awal.

Output/tampilkan data


Apabila user menginputkan angka “2” pada tampilan awal maka akan muncul tampilan seperti di atas yaitu mesin kan menampilkan seluruh data yang telah diinputkan oleh user dari awal sampai akhir.
Kemudian akan muncul tampilan pertanyaan sebagai berikut :

Apabila user menginputkan huruf “y” maka mesin akan kembali pada tampilan awal
Apabila user menginputkan huruf “t” maka mesin akan menampilkan pertanyaan untuk kedua kalinya untuk meyakinkan user :

Apabila user menginputkan huruf “y” maka mesin akan mengakhiri proses compiling dan menampilkan tampilan akhir.
Apabila user menginputkan huruf “t”maka mesin akan kembali kepada tampilan awal.

Mencari Data


Apabila user menginputkan angka “3” pada tampilan awal maka mesin akan menampilkan tampilan untuk mencari data seperti di atas

Kemudian setelah user menginputkan NIM yang ingin dicari maka dan menekan tombol “enter”.
Apabila NIM yang diinputkan ditemukan oleh mesin di dalam file yang telah ada maka akan muncul tampilan sebagai berikut :




Apabila NIM yang diinputkan tidak ditemukan oleh mesin di dalam file yang telah ada maka akan muncul tampilan sebagai berikut :

Kemudian akan muncul tampilan pertanyaan sebagai berikut :


Maka akan muncul tampilan pertanyaan yang menanyakan kepada user untuk menginputkan huruf “y” bila ingin mencari data lagi atau huruf “t” apabila tidak ingin mencari data lagi dan keluar.
Apabila user menginputkan huruf “y” maka mesin akan kembali menampilkan tampilan cari data.
Apabila user menginputkan huruf “t” maka mesin akan menampilkan pertanyaan kembali untuk meyakinkan user :

Apabila user menginputkan huruf “y” maka mesin akan mengakhiri proses compiling dan menampilkan tampilan akhir.
Apabila user menginputkan huruf “t” maka mesin akan kembali kepada tampilan awal.

Hapus Data


Apabila user menginputkan angka “4” pada tampilan awal maka mesin akan menampilkan tampilan untuk menghapus data seperti di atas
Kemudian setelah user menginputkan NIM yang ingin dihapus maka dan menekan tombol “enter”.
Apabila NIM yang diinputkan ditemukan oleh mesin di dalam file yang telah ada maka akan muncul tampilan sebagai berikut :

Bahwasannya NIM yang dimasukan telah ditemukan dan berhasil dihapus

Lalu setelah NIM yang dimasukan berhasil dihapus akan muncul tampiilan seluruh data yang ada di file dari awal sampai akhir untuk menunjukan bahwasannya NIM yang telah berhasil dihapus tadi benar-benar telah dihapus :

Tapi apabila NIM yang dimasukan tidak ditemukan maka akan muncul tampilan sebagai berikut :

Kemudian akan muncul tampilan pertanyan untuk menanyakan kepada user apakah user ingin menghapus data lagi atau tidak :

Maka akan muncul tampilan pertanyaan yang menanyakan kepada user untuk menginputkan huruf “y” bila ingin menghapus data lagi atau huruf “t” apabila tidak ingin menghapus data lagi dan keluar.
Apabila user menginputkan huruf “y” maka mesin akan kembali menampilkan tampilan hapus data.
Apabila user menginputkan huruf “t” maka mesin akan menampilkan pertanyaan kembali untuk meyakinkan user :

Apabila user menginputkan huruf “y” maka mesin akan mengakhiri proses compiling dan menampilkan tampilan akhir.
Apabila user menginputkan huruf “t” maka mesin akan kembali kepada tampilan awal.

Update Data


Apabila user menginputkan angka “5” pada tampilan awal maka mesin akan menampilkan tampilan untuk meng-update/memperbarui data seperti di atas
Kemudian setelah user menginputkan NIM yang ingin di-update/diperbarui maka dan menekan tombol “enter”.

Apabila NIM yang diinputkan ditemukan oleh mesin di dalam file yang telah ada maka akan muncul tampilan sebagai berikut :

Kemudian akan muncul tampilan input data guna mang-update/memperbarui data yang telah dipilih :


Kemudian akan muncul tampilan pertanyaan untuk menanyakan kepada user aapakah ingin meng-update/memperbarui data lagi atau tidak :

Maka akan muncul tampilan pertanyaan yang menanyakan kepada user untuk menginputkan huruf “y” bila ingin meng-update/memperbarui data lagi atau huruf “t” apabila tidak ingin meng-update/memperbarui data lagi dan keluar.
Apabila user menginputkan huruf “y” maka mesin akan kembali menampilkan tampilan update data.
Apabila user menginputkan huruf “t” maka mesin akan menampilkan pertanyaan kembali untuk meyakinkan user :

. Apabila user menginputkan huruf “y” maka mesin akan mengakhiri proses compiling dan menampilkan tampilan akhir.
Apabila user menginputkan huruf “t” maka mesin akan kembali kepada tampilan awal

Keluar


Sebelum bberanjak kepada tampilan akhir mesin akan menampilkan pertanyaan kepada user untuk meyakinkan user apakah ingin benar-benar keluar atau tidak seperti tampilan di atas.
Apabila user menginputkan huruf “t” maka mesin akan kembali kepada tampilan awal
Apabila user menginputkan huruf “y” maka mesin akan mengakhiri proses compiling dan menampilkan tampilan akhir :


Baiklah teman-teman sekalian sekarang kita akan beranjak pada penjelasan source code

Loading

Password

Input data

Input Data
database.open(data1, ios::binary | ios::app);
        gotoxy(40,6);
        cin.getline(a.nama,50);//Hanya pancingan
        cout<<"Nama     :";
        cin.getline(a.nama,50);
        gotoxy(40,7);
        cout<<"NIM      :";
        cin>>a.nim;
        gotoxy(40,8);
        cout<<"Fakultas :";
        cin>>a.fakultas;
        gotoxy(40,9);
        cout<<"Prodi    :";
        cin>>a.prodi;
        gotoxy(40,10);
        cout<<"Semester :";
        cin>>a.semester;
        gotoxy(40,11);
        cout<<"Daerah   :";
        cin>>a.daerah;
        gotoxy(40,12);
        cout<<"Taegeup  :";
        cin>>a.taegeup;
        gotoxy(40,13);
        cout<<"Sabuk    :";
        cin>>a.sabuk;
        database.write((char*) &a, sizeof (a));
        database.close();
Pada source code ini saya akan menjelaskan tentang input data kedalam suatu file. Pertama kita buat sebuah “struct” dengan mendeklarasikan sebuah variabel dengan tipe data “char”, lalu kita deklarasikan variabel “ofstream” agar leih simpel memanggilnya. Di sini saya deklarasikan struct dengan variabel “a” lalu ofstreamnya “database” kemudian kita deklarasikan variabel array untuk file “data1” kemudian kita panggil variabel ofstream “database” beserta pembuka file “.open” kemudian kita panggil juga variabel array kemudian kita deklarasikan “ios::binary” untuk memasukan data ke dalam file dengan metode “binary” yang hanya dipahami mesin lalu kita deklarasikan “ios::app” guna memasukan data ke dalam file apabila masih kosong dan apabila file yang dituju sudah ada isinya maka akan di tambahkan kepada baris terakhir file tersebut sehingga file yang sudah ada tidak tertimpa atau terhapus, lalu kita kita ketikan “cout” dan “cin” dengan variabel masing-masing kemudian kita dekalarasikan perintah untuk menulis dengan memanggil variabel “ofstream” beserta perintah menulis “.write” kemudian kita panggil alamat “char” yaitu untuk mengisi struct dengan variabel “a” kemudian kita tutup file dengan memanggil variabel “ofstream” beserta penutup file “.close”.       



Output data

Tampilkan/output Data
data.open(data1, ios::binary);
        while (data.read( (char*) &a, sizeof(a)))
        {
            garis();
            cout<<"Nama     : "<<a.nama<<endl;
            cout<<"NIM      : "<<a.nim<<endl;
            cout<<"Fakultas : "<<a.fakultas<<endl;
            cout<<"Prodi    : "<<a.prodi<<endl;
            cout<<"Semester : "<<a.semester<<endl;
            cout<<"Daerah   : "<<a.daerah<<endl;
            cout<<"Taegeup  : "<<a.taegeup<<endl;
            cout<<"Sabuk    : "<<a.sabuk<<endl;
        }
        database.close();
Untuk menampilkan seluruh data yang ada di dalam file pertama kita deklarasikan varibel ifstream “data” lalu kita panggil varibel “ifstream” beserta pembuka file “.open” kemudian kita panggil vaibel array dari file yang dituju “data1” kemudian kita deklarasikan “ios::binary” untuk mengubah data yang berupa “binary” menjadi data yang bisa di pahami user/manusia kemudian untuk menampilkan data kita gunakan fungsi “while” dengan memanggil variabel “ifstream” beserta perintah untuk membaca file “.read” kemudian kta pangil alamat “struct” dan variabelnya untuk menampilkan data yang ada di dalam file dari awal sampai akhir kemudian kita tutup file dengan memanggil varaibel “ifstream” beserta pentutup file “.close”




Cari data

Cari Data
data.open("Database.txt",ios::binary);
        while(data.read((char*) &a, sizeof(a)))
        {
            if(strcmp(a.nim, cari)==0)
            {
                system("cls");
                batas();
                setcolor(2);
                gotoxy(48,9);
                cout<<"Nama     : "<<a.nama<<endl;
                gotoxy(48,10);
                cout<<"NIM      : "<<a.nim<<endl;
                gotoxy(48,11);
                cout<<"Fakultas : "<<a.fakultas<<endl;
                gotoxy(48,12);
                cout<<"Prodi    : "<<a.prodi<<endl;
                gotoxy(48,13);
                cout<<"Semester : "<<a.semester<<endl;
                gotoxy(48,14);
                cout<<"Daerah   : "<<a.daerah<<endl;
                gotoxy(48,15);
                cout<<"Taegeup  : "<<a.taegeup<<endl;
                gotoxy(48,16);
                cout<<"Sabuk    : "<<a.sabuk<<endl;
            }
        }
        data.close();
Untuk mencari data yang sudah ada di dalam file pertama kita panggil variabel “ifstream” beserta pembuka file “.open” lalu kita masukan file yang dituju lalu kita deklarasikan “ios::binary” untuk merubah data yang berupa “binary” menjadi data yang dapat dipahami user/manusia kemudian untuk menampilkan data yang telah dicari kita gunakan fungsi “while” dengan memanggil variabel “ifstream” beserta perintah untuk membaca “.read” lalu kita pangil alamat “struct” agar mesin dapat mencari data di dalam file yang dituju dengan benar. Di bagian ini yaitu bagian mencari data ada dua kemungkinan yaitu data yang ingin dicari ditemukan dan kemungkinan yang kedua yaitu data yang dicari tidak ditemukan maka dari itu kita gunakan fungsi “if” yaitu fungsi untuk mencocokan suatu kondisi tertentu yang telah ditentukan. Di dalam metode mencari data yang kita kenal ada 3 yatiu metode mencari sequnesial yaitu metode pencarian secara acak, yang kedua metode mencari binary yaitu metode pencarian dengan membagi dua data yang ada, yang ketiga metode mencari compare/perbandingan yaitu metode pencarian dengan membandingkan dua variabel. Tetapi metode yang saya pakai saat ini adalah metode pencarian compare/perbandingan karena menurut saya metode ini lebih mudah dipahami. Kemudian kita masuk pada cara menggunakan metode ini, pertama kita panggil fungsinya dengan menuliskan “strcmp” pada source codenya lalu kita tukiskan variabel “struct = a.nim” karena kita akan mencari data dengan patokan atau cek point nomer NIM kemudian kita beri “,” kemudian kita tuliskan variabel inputan. Maka dengan demikian mesin akan mencari data dengan alamat yang ddituju dengan benar dan apabila data yang dicari berhasil ditemukan maka mesin akan mencetaknya tetapi apabila mesin tidak menemukan data tersebut maka mesin tidak akan mencetaknya. Setelah proses pencarian selesai kita tutup file yang telah dibuka tadi dengan memanggil variabel “ifstream” beserta penutup file “.close”.    


  

Hapus data

Untuk menghapus data pertama kita cari terlebih dahulu data yang ingin kita hapus kemudian barulah kita mengahapus data tersebut. Maka pertama-tama kita panggil vairabel “ifstream” dan “ofstream” beserta pembuka file “.open”, lalu di dalam variabel “ifstream” kita panggil variabel untuk file “data1” lalu kita tuliskan “ios::binary”, kemudian di dalam variabel “ofstrream” kita tuliskan destinasi file yang ingin kita hapus “Sampah.dat” lalu kita tuliskan “ios::out” dan “ios::binary”. Kemudian untuk mencari data yang ingin kita hapus kita gunakan fungsi “while” caranya sama seperti yang telah saya jelaskan di bagian “Cari Data”. Tetapi di bagian ini akan agak sedikit berberda karena kita menggunakan fungsi tambahan yaitu “if”. Kondisi pertama adalah apabila NIM yang ada tidak cocok dengan NIM yang diinputkan oleh user maka mesin akan mengeksekusi “if” pertama yaitu menuliskan ulang data yang tidak cocok dengan patokan NIM yang telah diinputkan tadi kedalam file yang telah ditentukan, kemudian “else” atau kondisi kedua yaitu apabila NIM yang diinputkan cocok dengan NIM yang telah ada di dalam file maka mesin tidak akan menuliskan kembali data tersebut ke dalam file yang telah ditentukan atau mesin akan memindahkan data tersebut ke dalam destinasi file yang telah disiapkan tadi dengan fungsi “remove” atau dalam artiyan lain data tersebut dihapuskan. Begitulah cara kerja source code pada bagian hapus data ini.     



Update data

Update Data
ubah.open(data1, ios::in | ios::out);
        while(ubah.read((char*) &a, sizeof(a)))
        {
            if(strcmp(a.nim, update)==0)
            {
                system("cls");
                batas();
                setcolor(2);
                gotoxy(48,9);
                cout<<"Nama     : "<<a.nama<<endl;
                gotoxy(48,10);
                cout<<"NIM      : "<<a.nim<<endl;
                gotoxy(48,11);
                cout<<"Fakultas : "<<a.fakultas<<endl;
                gotoxy(48,12);
                cout<<"Prodi    : "<<a.prodi<<endl;
                gotoxy(48,13);
                cout<<"Semester : "<<a.semester<<endl;
                gotoxy(48,14);
                cout<<"Daerah   : "<<a.daerah<<endl;
                gotoxy(48,15);
                cout<<"Taegeup  : "<<a.taegeup<<endl;
                gotoxy(48,16);
                cout<<"Sabuk    : "<<a.sabuk<<endl;
                setcolor(2);
                gotoxy(40,18);
                garispendek();
                setcolor(6);
                gotoxy(40,19);
                cout<<"|   Anda   akan    merubah    data   ini   |"<<endl;
                setcolor(2);
                gotoxy(40,20);
                garispendek();
                system("pause");
                system("cls");
                batas();
                setcolor(7);
                gotoxy(40,3);
                garispendek();
                setcolor(2);
                gotoxy(40,4);
                cout<<"Silahkan masukan perubahan  data berikut ini"<<endl;
                setcolor(7);
                gotoxy(40,5);
                garispendek();
                database.open(data1, ios::binary | ios::app);
                gotoxy(40,6);
                cin.getline(a.nama,50);//Hanya pancingan
                cout<<"Nama     :";
                cin.getline(a.nama,50);
                gotoxy(40,7);
                cout<<"NIM      :";
                cin>>a.nim;
                gotoxy(40,8);
                cout<<"Fakultas :";
                cin>>a.fakultas;
                gotoxy(40,9);
                cout<<"Prodi    :";
                cin>>a.prodi;
                gotoxy(40,10);
                cout<<"Semester :";
                cin>>a.semester;
                gotoxy(40,11);
                cout<<"Daerah   :";
                cin>>a.daerah;
                gotoxy(40,12);
                cout<<"Taegeup  :";
                cin>>a.taegeup;
                gotoxy(40,13);
                cout<<"Sabuk    :";
                cin>>a.sabuk;
                database.close();
                int pos=-1*sizeof(a);
                ubah.seekp(pos, ios::cur);
                ubah.write((char*) &a, sizeof(a));
            }
        }
        ubah.close();
Secara logika update/perbarui data adalah kita membuka file yang teah ada lalu kita cari data yang ingin kita update/perbarui lalu setelah data ditemukan barulah kita ganti data lama dengan data yang baru lalu kita tutup kembali file tersebut. Pertama kita deklarasikan variable fstream “ubah”, lalu kita panggil variable “fstream” beserta pembuka file “.open” lalu kita panggil variabel file “data1” lalu kita deklarasikan “ios::in” dan “ios::out”, kemudian untuk mencari data yang ingin kita update/perbarui kita gunakan fungsi “while” dan sama seperti yang telah saya jelaskan di bagian “pencarian data” kemudian setelah data yang ingin diupdate ditemukan lalu kita tumpuk data tadi dengan data yang baru caranya sama seperti yang telah saya jelaskan di bagian “input data”, maka secara otomatis data yang telah dicari tadi akan hilang dan digantikan dengan data yang baru dengan perintah “ios::cur” dan “ios::write” yang berfungsi menuliskan atau memasukan data pada tempat tertentu yang telah ditentukan berdasarkan data yang kita cari tadi sehingga data yang berubah hanya data yang kita cari tadi saja dan bukan semuanya. Setelah proses update/perbaruan data selesai maka kita tutup file yang telah kita buka tadi dengan memanggil variabel “fstream” beserta penutup file “.close”.

Baiklah teman-teman sekalian demikian yang dapat saya sampaikan apabila ada salah dan kurang saya minta maaf dan saya ucapkan terima Kasih banyak bagi yang telah membaca artikel ini, akhir kata saya ucapkan 

والسلام عليكم ورحمة الله وبركاته

Apabila teman-teman ingin melihat source codenya silahkan download source codenya di sini


http://www.mediafire.com/file/1cvizj6zdsafq1m/main.cpp



Komentar