2. Data dapat disimpan ke dalam 2 tempat penyimpanan :
1. Memory
2. File
Kelebihan penyimpanan dalam file :
1. Data yang disimpan melalui perantaraan variabel akan tersimpan secara
permanen
2. Updating data dapat dilakukan dengan mudah
Bagaimana Operasi untuk menyimpan data ke File ? Apakah sama seperti
menyimpan data ke dalam memory ?
3. Sertakan
#include
<fstream>
Bentuk objek
file dengan
ofstream
Lakukan
Penyimpanan
Tutup File
#include<fstream> ofstream berkasHasil (“buah.txt”) berkasHasil<<“apel
malang”<<endl;
Dapat dilakukan
seperti cout
berkasHasil.close()
Penjelasan :
Ofstream adalah kelas yang berguna untuk menangani file yang dikhususkan
untuk menciptakan file
berkasHasil adalah objek yang berkelas ofstream
“buah.txt” menyatan nama file yang menyimpan data
“apel malang” adalah data yang dikirimkan ke file
Endl untuk menambahkan ke baris baru
Close() adalah fungsi yang ada pada objek berkasHasil.
4. Dalam melakukan pengolahan file, maka file harus dibuka dan dapat ditulis sesuai
dengan kebutuhan.
Fungsi menulis, membaca file semuanya ada di library fstream.h
Contoh membaca file
Program tidak dapat menghasilkan apa-apa apabila belum pernah ada file yang
diciptakan.
Contoh
File yang sudah dibuat dan diisi dengan data dapat ditambahkan dengan data baru,
yaitu menggunkan perintah ios:app app artinya append (tambah)
Contoh program
Data yang disimpan dalam file dapat diformat, sehingga mempunyai format yang lebih
rapi.
Untuk keperluan ini maka digunakan library iomanip
5. Memeriksa kondisi file
C++ menyediakan sejumlah fungsi yang berguna untuk memeriksa kondisi-kondisi
pada operasi file, sehingga kejadian kesalahan pada saat eksekusi dapat
dikendalikan.
6. FUNGSI MANIPULATOR
Fungsi Manipulator
Fungsi ini pada umumnya digunakan untuk mengatur tampilan layar. untuk menggunakan
manipulator ini file header yang harus disertakan adalah iomanip.h
1.endl
endl merupakan suatu fungsi manipulator yang digunakan untuk menyisipkan karakter
NewLine atau mengatur pindah baris. Fungsi ini sangat berguna untuk piranti keluaran
berupa file di disk. File header yang harus disertakan adalah iostream.h
2. Setprecision()
Setprecision() merupakan suatu fungsi manipulator yang digunakan untuk mengatur
jumlah digit desimal yang ingin ditampilkan. File header yang harus disertakan adalah
iomanip.h.
Contoh:
8. 3. Setiosflags()
Fungsi setiosflags() merupakan suatu fungsi manipulator yang digunakan untuk mengatur
sejumlah format keluaran data. fungsi ini biasa pada fungsi cout(), file header yang harus
disertakan adalah iomanip.h.
Terdapat beberapa format keluaran untuk fungsi setiosflags(), antara lain :
3.1. Tanda format perataan kiri dan kanan
Terdapat dua buah tanda format yang digunakan untuk perataan kiri dan kanan,
pengaturan terhadap lebar variabel untuk perataan ki dan kanan ini melalui fungsi setw().
ios::left = Digunakan untuk mengatur pertaan sebelah kiri
ios::right = Digunakan untuk mengatur perataan sebelah kanan.
9. #include <conio.h>
#include <iostream.h>
#include <iomanip.h>
main()
{
int a = 87, b = 32;
clrscr();
cout<<"Penggunaan ios::left dan ios::right nn";
cout<<"Rata Sebelah Kiri = ";
cout<<setiosflags(ios::left)<<setw(10)<<a;
cout<<setiosflags(ios::left)<<setw(10)<<b<<endl;
cout<<"Rata Sebelah Kanan = ";
cout<<setiosflags(ios::right)<<setw(10)<<a;
cout<<setiosflags(ios::right)<<setw(10)<<b;
getch();
}
Contoh penggunaan setioflags
10. 3.2. Tanda Format Keluaran Notasi Konversi
Tanda format yang digunakan untuk keluaran Notasi, yaitu :
ios::scientific Digunakan untuk mengatur keluaran dalam bentuk notasi eksponensial.
ios::fixed digunakan untuk mengatur keluaran dalam bentuk notasi desimal.
#include <iostream.h>
#include <iomanip.h>
main()
{
clrscr();
cout<<"Penggunaan ios::scientific dan ios::fixedn";
cout<<"nHasil ios::scientific dari 84.83 adalah ";
cout<<setiosflags(ios::scientific)<<84.83<<endl;
cout<<"Hasil ios::fixed dari 29.43 adalah ";
cout<<setiosflags(ios::fixed)<<29.43<<endl;
getch();
}
Contoh Program
11. 3.3. Tanda Format Konversi Dec, Oct dan Hex
Terdapat tiga macam tanda format yang digunakan untuk konversi keluaran dalam
basis Decimal, Octal dan Hexadecimal, yaitu :
Ios::decDigunakan untuk mengatur keluaran dalam konversi basis desimal.
Ios::octDigunakan untuk mengatur keluaran dalam konversi basis octal.
Ios::hexDigunakan untuk mengatur keluaran dalam konversi basis Hexadecimal.
//tanda format ios::dec, ios::oct, ios::hex
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
main()
{
clrscr();
cout<<"Bilangan Decimal dari 35 = ";
cout<<setiosflags(ios::dec)<<35<<endl;
cout<<"Bilangan Octal dari 20 = ";
cout<<setiosflags(ios::oct)<<20<endl;
cout<<"Bilangan Hexadecimal dari 15 = ";
cout<<setiosflags(ios::hex)<<15;
getch();
}
12. 3.4. Tanda Format Menampilkan Simbol Plus (+)
Untuk menampilkan simbol Plus(+) pada bilangan genap dengan menggunakan tanda
format berikut :
Ios::showposUntuk menampilkan simbol plus (+) pada variabel yang memiliki nilai bilangan
positif.
//tanda format ios::showpos
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
main()
{
int a=8, b=-9;
clrscr();
cout<<"Tanpa Menggunakan ios::showposn";
cout<<"Nilai a = "<<a<<" Nilai b = "<<b<<endl;
cout<<setiosflags(ios::showpos);
cout<<"n";
cout<<"Dengan Menggunakan ios::showposn";
cout<<"Nilai a = "<<a<<" Nilai b = "<<b<<endl;
getch();
}
13. 4. setbase()
Merupakan suatu fungsi manipulator yang digunakan untuk konversi bilangan octal,
decimal dan hexadecimal. File header yang harus disertakan iomanip.h.
Bentuk penulisan :
setbase(base bilangan);
# include <stdio.h>
# include <conio.h>
# include <iostream.h>
# include <iomanip.h>
main()
{
int a;
clrscr();
cout<<"Penggunan Manipulator setbase()"<<"nn";
cout<<"Decimal Octal Hexadecimal"<<endl;
cout<<"----------------------------"<<"n";
for(a=250;a<=260;a++)
{
cout<<setbase(10)<<a<<" ";
cout<<setbase(8)<<a<<" ";
cout<<setbase(16)<<a<<endl;
}
}