Anda di halaman 1dari 3

Berikut contoh program manipulasi file di C :

Program ini berfungsi untuk mengecek sepasang string dalam file datat.txt , apakah merupakan
string yang sama atau beda.
Bila sama, program akan mencetak SAMA dalam file teks.txt.
Bila berbeda, program akan mencetak TIDAK SAMA dalam file tersebut, dan bila berbeda panjang

karakter dua string tersebut, maka program akan mencetak JUMLAH KARAKTER STRING TIDAK
SAMA.
Program ini akan terus mengecek sepasang string sampai akhir. Misalnya :
Dalam datat.txt terdapat : Saya Saya bingung bignung sekali sekli
Maka output pada teks.txt :
SAMA
TIDAK SAMA
JUMLAH KARAKTER STRING TIDAK SAMA
Berikut cara kerjanya :
#include<stdio.h>
Fungsi manipulasi file terdapat dalam library stdio.h, karena itu library tersebut harus
kita loadterlebih dahulu.
FILE *in,*out;
Pointer bertipe file ini perlu dideklarasikan, karena semua manipulasi file yang dilakukan akan
melibatkan dua pointer ini.
Dalam program ini, *in untuk menunjuk pada file input (datat.txt), sedangkan *out untuk menunjuk
pada file output (teks.txt).
if (( in = fopen(datat.txt , r)) == NULL) printf (File tidak bisa dibaca\n);
Program melakukan operasi membaca file, yaitu dengan menggunakan fungsi fopen dan modus r
(read). Bila dapat terbaca, maka pointer akan diberikan akses untuk menunjuk file tersebut, guna
operasi-operasi berikutnya.
Bila gagal membaca (hasil balikan fungsi adalah NULL), maka akan dicetak File tidak bisa
dibacasebagai notifikasi bahwa terjadi kesalahan.
out = fopen(teks.txt, w);
Bila program dapat mengakses file input, maka pointer *in akan diberikan alamat akses file inputan
tersebut. Kemudian, dilakukan fungsi fopen dengan modus w (write) untuk mengakses teks.txt
sebagai file output (lokasi penulisan output). Bila file output ini belum kita buat sebelumnya, maka
secara otomatis akan terbuat seiring dijalankannya fungsi ini.
while (!feof(in)) {
Selama belum menemui akhir file (EOF : End of File), lakukan statement pada body while.
fscanf(in,%s %s, &t, &u);
a=strlen(t);
b=strlen(u);
Baca file yang ditunjuk oleh pointer *in , yaitu datat.txt, ambil satu pasang string, simpan masingmasing string dalam variabel string t dan u. Kemudian hitung panjang karakter masing-masing string.
if (a==b) {
if (strcmp(t,u) == 0) fprintf(out,SAMA);
else fprintf(out,TIDAK SAMA);
}
else fprintf(out, JUMLAH KARAKTER STRING TIDAK SAMA);
Jika jumlah karakter dari dua string yang dibaca adalah sama (a==b), cek apakah tiap karakter dari

dua string tersebut (t,u) sama atau berbeda, dengan menggunakan fungsi strcmp(t,u). Fungsi
strcmp() akan mengembalikan bilangan nol apabila dua string yang dibandingkan memiliki karakter
yang sama, dan akan mengembalikan bilangan bukan nol apabila karakternya berbeda. Bila sama,
cetak pada file output SAMA. Bila berbeda, cetak TIDAK SAMA.
Jika jumlah karakter dari dua string yang dibaca adalah berbeda, cetak pada file output JUMLAH
KARAKTER STRING TIDAK SAMA.
fclose(in);
Setelah operasi dilakukan, tutup akses file ke input dengan fungsi fclose().

Demikian deskripsi cara kerja program di atas. Pada dasarnya, program yang memanfaatkan
manipulasi fungsi sama seperti program biasa, namun program manipulasi fungsi memanfaatkan
pointer sebagai pengakses input-input dalam file.

Anda mungkin juga menyukai