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


Komentar
Posting Komentar