28 February, 2015

Operasi I/O File Bahasa C

Pada postingan kali ini, penulis akan membahas sebuah topik mengenai "operasi i/o (input/output) file" yang disediakan oleh bahasa C secara mendasar. Sebelum masuk ke pembahasan, mari sedikit bertanya, Mengapa operasi file atau berkas penting untuk dipahami, dan untuk hal apa operasi ini digunakan? Sejauh ini, ketika ingin menyimpan data yang diperoleh melalui stream, data tersebut disimpan di dalam variabel sementara cth: char judul[] = "Salam untuk dia"; dan variabel beserta data yang disimpan akan dimusnahkan atau dihapus bersamaan dengan berakhirnya sesi eksekusi program. Berdasarkan penjelasan tersebut, data yang telah diperoleh sebelumnya itu tidak dapat digunakan lagi ketika program ingin dijalankan kembali, dan terpaksa operasi penginputan data harus dilakukan kembali.


Dengan memanfaatkan operasi i/o file yang disediakan oleh bahasa C, kita dapat menyimpan data ke dalam sebuah berkas atau file, yang dimana keberadaan file di dalam harddisk dan bersifat permanen, selama file tidak dihapus oleh pengguna. Inilah salah satu alasan mengapa operasi file dihadirkan, dan mengapa ini penting untuk dipahami ketika program memerlukan dukungan data yang permanen dan ketika dukungan database belum tersedia pada sistem. Alasan lain mengapa operasi I/O file dihadirkan, akan dapat dirasakan ketika masuk ke pembahasan lanjutan mengenai direktori dan lingkungan sistem. Tapi topik ini tidak akan dibahas pada postingan ini.

Bentuk Dasar Operasi File

Setelah mengetahui dasar dari tujuan penggunaan operasi file, sekarang saatnya mengetahui bentuk dasar penulisan perintah-perintah yang dapat digunakan dalam "operasi file pada bahasa c".
FILE *varName = fopen(const char *filename, const char *mode);
Perintah di atas merupakan perintah dasar yang pertama kali dilakukan sebelum dapat bekerja dengan operasi file lebih lanjut. Berikut penjelasan singkat mengenai bentuk dasar dari perintah di atas.
  1. FILE Tipe data yang dapat bekerja dengan stream data (input/output) dalam hal sumber data dan data haruslah merupakan data pointer
  2. *varName Nama variabel yang digunakan untuk menyimpan alamat file atau berkas yang diperoleh dari operasi fopen
  3. fopen Fungsi yang digunakan untuk melakukan interaksi dengan file pertama kali sebelum file digunakan untuk operasi lainnya. Fungsi ini akan mengembalikan alamat dari file jika file ditemukan, dan akan mengembalikan 0 (nol) jika file tidak ditemukan.
  4. *filename Nama dari sebuah file yang akan dijadikan sebagai stream input/output data
  5. *mode Mode akses yang digunakan ketika berinteraksi dengan file

Berikut ini merupakan rincian lebih lengkap mengenai mode akses yang dapat digunakan dalam bekerja dengan operasi file dalam bahasa c.
  1. "r" Mode akses yang digunakan jika operasi yang dibutuhkan hanya untuk pembacaan file saja. Pembacaan data dimulai dari posisi awal. Jika file tidak ditemukan atau belum ada sebelumnya, operasi pembukaan file akan gagal (diperlukan penanganan kesalahan ketika menggunakan mode ini)
  2. "w" Mode akses yang digunakan untuk melakukan operasi penulisan terhadap file. Penulisan dilakukan dari posisi awal file, itu artinya data yang ada sebelumnya di dalam file akan dihancurkan atau digantikan dengan data sekarang yang ingin dituliskan ke dalam file. Jila file belum ada sebelumnya, maka file baru akan dibuat terlebih dahulu dan proses penulisan data akan dilakukan sesegera mungkin
  3. "a" Mode akses yang digunakan untuk penulisan data tepat setelah posisi dari data terakhir di dalam file. Jadi, ketika ingin menambahkan data dan ingin mempertahankan data yang sudah ada sebelumnya, mode akses ini merupakan mode yang tepat untuk digunakan




Uraian mode akses di atas merupakan mode akses dasar dalam melakukan operasi file dalam bahasa C. Untuk mode akses lanjutan, diserahkan kepada pembaca sebagai bahan latihan lanjutan. Berikut contoh implementasi dari operasi i/o file dalam bahasa c.

Pada kode program di atas, penulis menggunakan dua buah file .csv dalam melakukan operasi file. File "heroes.csv" merupakan file yang menjadi sumber data (input). Sedangkan file "heroeswhodied.csv" merupakan file yang menjadi output data, dalam arti, operasi penulisan data terjadi pada file ini. Ketika program selesai dijalankan, koneksi seluruh file yang dibuka sebelumnya akan ditutup secara otomatis, namun ada baiknya melakukan pemutusan koneksi secara manual dan hal ini sangat dianjurkan.
Untuk keseluruhan file yang digunakan dalam postingan ini, dapat di unduh disini.

Penutup

Demikianlah untuk postingan kali ini. Jika terdapat kekurangan dan tutur kata yang kurang baik, mohon dimaafkan dan jika tidak keberatan mohon menuliskan satu dua kata mengenai postingan ini, baik kritik atau saran agar kedepannya dapat membantu penulis dalam meningkatkan mutu postingan dan pembahasan tentunya. Terima kasih. :)

No comments:

Post a Comment

Berikan komentar, Kritik dan saran teman-teman mengenai blog ini. Komentar, Kritik dan saran teman-teman sangat berarti untuk perkembangan Blog ini.
Salam Blogger, salam kodeprogramcpp.

Lihat Juga Berita Pilihan Ini