Dasar Struktur File
• File
adalah sebuah organisasi dari sejumlah record. Masing-masing record bisa
terdiri dari satu atau beberapa field. Setiap field terdiri dari satu atau
beberapa byte.
• Gambar struktur File :
• Catatan : record adalah nama lain dari
struktur(struct)
DASAR FILE –Cont. 1
• Tahapan operasi File :
v Membuka
/ mengaktifkan file
v Melaksanakan proses file
v Menutup file
Membuka/Mem-aktifkan File
• Bentuk deklarasi :
Keterangan :
• Namafile berupa nama dari file yang akan diaktifkan
• Mode berupa jenis operasi yang akan dilakukan terhadap
file
• Prototipe ada pada file stdio.h
Jenis
Operasi File
• r menyatakan file hanya akan dibaca, jika file belum
ada maka tidak akan berhasil
• w menyatakan bahwa file baru diciptakan. Jika file
tersebut sudah ada dalam disk, isinya yang lama akan terhapus
• a untuk membuka file yang sudah ada untuk ditambah
dengan data, jika file belum ada akan dibuat yang baru
• r+ sama dengan “r” tetapi selain file dapat dibaca,
file juga dapat ditulisi
• w+ sama dengan “w” tetapi selain file dapat ditulisi,
file juga dapat dibaca
• a+ sama dengan “w” tetapi selain file dapat ditulisi,
file juga dapat dibaca
JENIS OPERASI FILE –Cont. 1
• Berhasil tidak nya operasi pengaktifan file dapat
dilihat pada keluaran fungsi fopen()
• Jika keluaran fungsi berupa NULL(suatu makro yang
didefenisikan pada file stdio.h), berarti operasi pengaktifan file gagal ->
misal membuka file dengan mode ‘r’ tapi file nya belum ada
• Contoh :
Ø Menciptakan dan mengaktifkan file bernama “coba.txt”
Ø Dengan mode yaitu “w” (mode penulisan ke file)
Ø Dan menempatkan pointer ke file ke variabel pointer pf
JENIS OPERASI
FILE –Cont. 2
• Contoh bentuk pengaktifan file :
If (pf =
fopen(“coba.txt”, “w” ) ==NULL)
{
Printf(“file tidak dapat diciptakan !\n”);
exit(1);
//keluar dari program
}
Keterangan :
Ø pf akan diisi dengan keluaran dari fungsi fopen()
Ø Jika nilainya NULL, maka akan mencetak “File” tidak
dapat diciptakan”, setelah itu program dihentikan
MENUTUP FILE
• Apabila file sudah tidak diproses lagi, maka file
tersebut ditutup, karena adanya keterbatasan jumlah file yang dapat dibuka
secara serentak
• Perintah yang digunakan : fclose();
• Bentuk deklarasi :
• Bentuk deklarasi yang lain :
OPERASI FILE Operasi Penyimpanan dan Pembacaan File Per Karakter
Operasi penyimpanan file
• Penyimpanan karakter ke file menggunakan perintah :
fputc()
• Bentuk deklarasi :
Ø ptr_file adalah pointer ke File yang berisi keluaran
dari fopen(),
Ø kar berupa karakter yang akan disimpan dalam file
CONTOH PROGRAM TULIS
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE
*pf;/* Pointer-ke-FILE */
char
kar; /* Ciptakanfile */
if
((pf = fopen("COBA.TXT","w")) == NULL)
{
printf("filetakdapatdiciptakan!\r\n");
exit(1);
}
//Masukkankarakterper karaktersampaiditekanENTER
while((kar=getchar())
!= '\n')
fputc(kar,
pf);
fclose(pf);
/* tutupfile */
}
OPERASI
FILE –Cont. 1
• Operasi pembacaan file
• Pembacaan karakter dari suatu file memakai perintah :
fgetc().
• Bentuk deklarasi :
Algoritma proses pembacaan file per karakter :
- Buka file coba.txt dengan mode ‘r’ jika tidak berhasil dibuka maka
-
Beri
keterangan pada layar bahwa file tak ada
-
Selesai
2. Baca sebuah karakter dari file, jika karakter sama
dengan EOF (tanda akhir file) maka ke langkah 4
3. Tampilkan karakter ke layar dan kembali ke langkah
2
4. Tutup file
5. selesai
Contoh
Program Baca
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE
*pf;
char
kar;
if((pf=fopen("COBA.TXT","r"))
== NULL ) /* bukafile */
{
printf("filetakdapatdibuka!\r\n");
exit(1);
} /*Baca karakterper karaktersampaiditemuiEOF*/
while((kar=fgetc(pf))
!= EOF)
putchar(kar);
printf("\n");
fclose(pf);
/* tutupfile */
}
Contoh
Program Baca Tulis
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE
*pf; /* Pointer-ke-FILE */
char
kar; /* Ciptakanfile */
if
((pf = fopen("COBA.TXT","r+")) == NULL)
{
printf("filetakdapatdiciptakan!\r\n");
exit(0);
}
while((kar=fgetc(pf))
!= EOF) /* bacakardarifile */
putchar(kar);
while((kar=getchar())
!= '\n') /*bacakardrkeyboard*/
fputc(kar,
pf);
fclose(pf);
}
Jenis File
• File biner : file yang pola penyimpanan di dalam disk
berbentuk biner, yaitu seperti bentuk pada memori RAM(komputer). Dipakai untuk
menyimpan data kompleks, mis : struct
• File teks : file yang pola penyimpanan datanya dalam
bentuk karakter. Dipakai untuk menyimpan data seperti karakter atau string
• Penentuan mode teks dan mode biner :
• t untuk mode teks
• b untuk mode biner
• Contoh :
• “rt” : mode file adalah teks dan file hendak dibaca
• “rt+” : mode file adalah teks dan file bisa dibaca dan
ditulis bisa juga ditulis : “r+t”
• “rb” : mode file adalah biner dan file hendak dibaca
Operasi
baca dan tulis file integer
• Perintah yang digunakan : _putw(), _getw()
• Bentuk deklarasi :
Kegunaan :
_getw() untuk membaca sebuah data bertipe int dari
file
_putw() untuk menyimpan sebuah data bertipe int ke
file
Contoh
program tulis
#include <stdio.h>
#include <stdlib.h>
void main( )
{
FILE
*pf; /* ptr-ke-FILE*/
int
nilai, data, i;
if((pf=fopen("BILANGAN.TXT",
"wb")) == NULL )
{
printf("filegagaldiciptakan!\n");
exit(1);
}
printf("Masukkanbanyaknyadata
: ");
scanf("%d",&data);
for
(i=0;i<data;i++)
{
printf("\nBilanganyang
disimpan: ");
scanf("%d",
&nilai); /* bacanilaidrkeyboard */
_putw(nilai,
pf); /* bacabilangankefile */
}
printf("\nOke.
Data sudahdisimpandalamfile.\n");
fclose(pf);
/*
menutupfile */
}
Contoh
program baca
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE
*pf; /* ptrkefile */
int
nilai, nomor= 0; /* Bukafile bineruntukdibaca*/
if((pf=fopen("BILANGAN.TXT","rb"))
== NULL)
{
printf("Filegagaldibuka.\n");
exit(1);
}
printf("Isifile
BILANGAN.TXT : \n");
while(1)
/* file berhasildibuka*/
{
nilai=
_getw(pf); /* Baca sebuahintdrfile */
if
(feof(pf) != 0)
break;
/*Jikaakhirfile, keluarloop*/
printf("%2d.
%d \n", ++nomor, nilai); /* Tampilkankelayar*/
}
fclose(pf);
/*
Tutupfile */
}
Operasi
baca dan simpan data string pada file
• Perintah yang digunakan : fgets() dan fputs()
• Bentuk deklarasi :
Kegunaan :
fputs() : menyimpan string str kedalam file
fgets() : membaca string dari file sampai ditemukannya
karakter baris baru ‘\n’ atau setelah
(n-1) karakter, dengan n adalah
panjang maksimal string yang dibaca per waktu-baca
Note : saat simpan, fputs() tidak menambahkan karakter
baris – baru (‘\n’) dengan
sendirinya, dan karakter null tidak
ikut disimpan
Baik fgets() maupun fputs() digunakan untuk file teks.
CONTOH
PROGRAM BACA
#include <stdio.h>
#include <stdlib.h>
void main( )
{
FILE
*pf; /* ptr-ke-FILE*/
int
data, i;
char
nama[40];
if((pf=fopen("latihan.txt",
"r")) == NULL )
{
printf("filegagaldibuka!\n");
exit(1);
}
/*Baca
file per string sampaiditemuiEOF*/
while
(fgets(nama,6,pf))
printf("%s\n",nama);
fclose(pf);
/*
menutupfile */
}
Menghapus
file
• Bentuk deklarasi :
Namafile : pointer yang menunjuk ke nama file yang aka
dihapus
• Jika operasi hapus berhasil, akan menghasilkan output
= 0
• Prototype : stdio.h
Contoh
program hapus
#include <stdio.h>
#include <stdlib.h>
#define PJG 65
void main()
{
int
kode;
char
namafile[PJG];
printf("Namafile
yang akandihapus: ");
gets(namafile);
kode=
remove(namafile);
if(kode==
0)
printf("Filesudahdihapus\n");
else
printf("Gagaldalammenghapusfile\n");
}
Mengganti
nama File
• Bentuk deklarasi :
• Jika operasi penggantian berhasil, akan menghasilkan
output = 0
• Prototype : stdio.h
Contoh
program ganti nama
#include <stdio.h>
#include <stdlib.h>
#define PJG 65
void main()
{
int
kode;
char
namafilelama[PJG], namafilebaru[PJG];
printf("Namafile
yang akandiganti: ");
gets(namafilelama);
printf("Namafile
yang baru: ");
gets(namafilebaru);
kode=
rename(namafilelama, namafilebaru);
if(kode==
0)
printf("Namafile
sudahdiganti\n");
else
printf("Gagaldalammenggantinama\n");
}
gimana mudah kan cara nya buat teman" yg baru belajar. selamat mencaoba dan sukses salam
kampus terbaik di medan Universitas Medan Area
thanks ajarannya gan
BalasHapusIa sama"
BalasHapus