Sequential File Bahasa C

HOOOPP ! seperti biasa, saya ingin berbagi😀 (mau ngapain nih sekarang?) okey dokey sekarang saya ingin berbagi tentang “sequential file” menggunakan bahasa C tentunya😉 . Sequential file , yaitu data data dalam program akan kita tuliskan ke dalam sebuah file , disini kita akan tuliskan ke dalam file berekstensi “.txt” . Sequential file  memiliki 3 metode : Read, Write, Append

  • Read : isi dari sebuah file (.txt) dibaca dan diproses oleh program yang dibuat  (ditampilkan)
  • Write : data yang dihasilkan dari program yang dibuat dituliskan ke dalam file(.txt) . Jika nama file belum ada , maka otomatis akan dibuat. Jika file memang sudah ada, maka seluruh isi dari file tersebut akan dihapus dan digantikan dengan data yang baru (dari program yang dibuat)
  • Append : tidak berbeda jauh dengan metode “write”, perbedaannya adalah jika menggunakan “append” maka data dari program yang dimasukan ke dalam file akan langsung ditambahkan di bawah data lama di dalam file ,sehingga data lama tidak terhapus tetapi ditambah.

Mari mari lanjut langsung ke dalam penerapannya di dalam bahasa C !😀

Ada beberapa hal penting dalam sequential file :

  1. dalam sebuah file harus diakhiri dengan “dummy data” mengapa? agar ketika kita membaca sebuah file kita bisa mengetahui  baris akhir dari isi file yang akan kita baca.
  2. fscanf() , membaca isi file
  3.  fprintf() , menuliskan isi pada file
  4. fopen() , membuka file
  5. fclose() , menutup file

Sebagai awal , dimisalkan terdapat sebuah file bernama (“daftar_nama.txt”)

karena file berisi nama maka kecil  kemungkinan “#” merupakan nama , maka tanda “#” akan dijadikan dummy data

file diatas berisi :

nina
andi
budi
badu
#

READ

disini, kita akan membaca isi dari “daftar_nama.txt”

 

#include<stdio.h>
#include<string.h>
int main()
{
/*var nama menampung nama yang dibaca dalam file
 *var data merupakan file
 */
char nama[50];
FILE * data; 
/*membuka file dan menggunakan metode READ*/
data = fopen("daftar_nama.txt","r");
/*membaca isi file , selama bukan dummy data maka akan terus membaca dan menampilkan*/
fscanf(data,"%s\n",&nama);
    while(strcmp(nama,"#")!=0)
    {
        printf("%s\n",nama);
        fscanf(data,"%s\n",&nama);
    }
/*menutup file*/
fclose(data);
return 0;
}

Saat dieksekusi maka akan tampil :

nina
andi
budi
badu

WRITE

pada metode ini, kita ingin mengubah isi dari file “daftar_nama.txt” sesuai keinginan user . Pada baris setelah masukan data terakhir, kita tambahkan dummy data , agar nanti pembacaan isi file dengan metode read dapat berjalan lancar .

#include<stdio.h>
#include<string.h>
int main()
{
/*var nama menampung nama yang akan dimasukan kedalam file
 *var data merupakan file
 *var banyaks batasan perulangan masukan
 *var i counter perulangan
 */
int banyak;
int i;
char nama[50];
printf("berapa banyak nama?");
scanf("%d",&banyak);
FILE * data; 
/*membuka file dan menggunakan metode WRITE*/
data = fopen("daftar_nama.txt","w");
    for(i=0;i<banyak;i++)
    {
        printf("masukan nama : ");
        scanf("%s",&nama);
        fprintf(data,"%s\n",nama);
    }
fprintf (data,"#");
fclose(data);
return 0;
}

silahkan dicoba, lalu buka kembali file “daftar_nama.txt” dan lihat perubahannya !

APPEND

ini bisa kita gunakan jika lupa menambah dummy data di akhir baris pada suatu file😀

misal isi file :

nina
andi
budi
badu

#include <stdio.h>
int main()
{

FILE * data;

data = fopen("daftar_nama.txt","a");

/*menuliskan dummy data ke dalam file*/
fprintf(data,"#\n");

fclose(data);

return 0;

}

setelah dilakukan “append”, maka isi file menjadi :

nina
andi
budi
badu

#

YUHUUU ! itu dia dasar (inti) dari sequential file , semoga bermanfaat😉

Let’s Share Our Knowledge !

4 thoughts on “Sequential File Bahasa C

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s