Routin-routin Konversi File OPERASI FILE
410
Direktorat Pembinaan SMK | 2008
ios::boolalpha Gunakan
versi karakter yang benar dan salah untuk input dan output.
ios::dec Output
dalam dasar angka 10, format desimal. ios::oct
Keluaran angka dengan format 8 angka oktal.
ios::hex Output
dalam format angka 16, heksadesimal. ios::showbase
Mencetak indikator inti pada setiap awal nomor. Misalnya,
angka heksadesimal yang diawali dengan 0x.
ios::showpoint Menunjukkan
titik desimal untuk semua angka floating‐point apakah
ia dibutuhkan. ios::uppercase
Ketika konversi heksadesimal angka, menunjukkan angka AF
sebagai huruf besar.
ios::showpos Menempatkan
tanda positif sebelum semua nomor. ios::scientific
Mengkonversi semua angka floating‐point untuk notasi ilmiah
pada output.
ios::fixed Mengkonversi
semua floating‐point nomor ke titik tetap pada output.
ios::unitbuf Buffer
output. Jika pada saat mnulis program
menginginkan keluaran berupa format bilangan hexadesimal, maka
yang harus dikerjakan adalah menambah dengan menulis
potongan program dibawah ini: number =
0x3FF ;
cout Dec:
number \n; cout.setf ios::hex;
cout Hex:
number \n; cout.setf ios::dec;
ketika di”run”, maka pprogram akan menghasilkan keluaran sebagai
berikut: Dec:
1023 Hex:
3ff Ketika konversi angka ke karakter
dilakukan, maka fungsi keanggotaannya ditulis:
int file_var.widthint size;
suatu saat output harus ditentukan sesuai dengan jumlah karakter yang
digunakan. Sebagai contoh misalnya sejumlah 3 angka, secara umum
dikonversi menjadi karakter string “3”. Jika diatur sampai empat, maka
hasilnya menjadi
dimana menunjukan satu ruang karakter.
Perhatikan fungsi dibawah ini: int
file_var.precisionint digits; pernyataan program diatas
digunakan untuk mengatur berapa banyak angkat yang akan
dimunculkan setelah tanda koma ,. Dan kemudian menuliskan fungsi
seperti dibawah ini: char
file_var.fillchar pad;
2008 | Direktorat Pembinaan SMK
411
program diatas digunakan untuk menentukan karakter, dimana
karakter digunakan sebagai penambah angka ketika angka terlalu
kecil. Fungsi-fungsi tersebut dapat disebut dengan pengarah, atau
programer dapat menggunakan IO manipulator.
Sebuah IO manipulator adalah sebuah fungsi khusus yang
digunakan dalam pernyataan IO untuk mengubah format. Jika
dipikirkan sebuah manipulator dapat dianalogikan seperti halnya peluru
ajaib, dimana ketika ditembakan melaluimasuk atau setelah keluar
dari sebuah file, akan mengubah kondisi sebuah file tersebut.
Manipulator tidak menyebabkan beberapa keluaran tetapi hanya
mengubah kondisinya saja. Sebagai contoh pada
manipulator hex hanya melakukan konversi keluaran menjadi
hexadesimal. include
iostream number
= 0x3FF; cout Number is hex number
dec \n; sebuah file header iostream
mendefinisikan kumpulan dasar dari sebuah menipulator yang dapat
dilihat pada tabel dibawah ini:
Tabel 12.4. IO manipulator MANIPULATOR
DESKRIPSI dec
Keluaran angka dalam format desimal.
hex Keluaranangka
dalam format hexadesimal. oct
Keluaran angka dalam format oktal.
ws Loncati
space pada masukan. endl
Keluaran pada end‐of‐line
ends Keluaran
pada end‐of‐string `\0. flush
Lakukan pembufferan keluaran out.
Selain tebal diatas ada juga manipulator yang didefinisikan ole file
header iomanip dapat dilihat pada tabel dibawah ini:
Tabel 12.5. Fungsi IO manipulator pada C MANIPULATOR
DESKRIPSI setiosflagslong flags
Atur pemilih flag konversi.
resetiosflagslong flags Reset
flag terpilih. setbaseint base
Atur konersi dasar menuju 8, 10, atau 16. Urutkan
secara umum dec, hex, oct.
setwint width Atur
lebar keluaran. setprecisionint precision
Atur presisi dari keluaran floating‐point.
setfillchar ch Atur
karakter yang di blokditandai.
412
Direktorat Pembinaan SMK | 2008
Untuk lebih jelasnya perhatikan penggunaan IO manipulator pada program dibawah ini.
program 12.3
includeconio.h include
iostream include
iomanip
using namespace std;
int
main {
int number =
12 ;
angka untuk keluarkan
float real =
12.34 ;
angka yang nyata cout
123456789012345678901234567890\n ;
ruler keluaran cout number
‐\n ;
cout setw 5
number ‐\n
; cout setw
5 setfill number
‐\n ;
cout setiosflags ios::showpos| ios::left setw 5
number ‐\n
; cout real
‐\n ;
cout setprecision 1
setiosflags ios::fixed real ‐\n
; cout setiosflags ios::scientific real
‐\n ;
getch; return
; }
Keluaran dari program diatas setelah di compile adalah: 123456789012345678901234567890
12 ‐
12‐ 12
‐ +12
‐ 12.34
‐ 12.3
‐ 1e+01
‐