Input dan Output File pada Bahasa Pemrograman C

Assalamu'alaikum poinreaders,
Pada kesempatan kali ini kita akan belajar materi mengenai Bahasa C, yaitu tentang Operasi Input dan Output (I/O) File pada bahasa C. Oke langsung saja simak ulasan berikut...

Input dan Output File pada Bahasa Pemrograman C

Bahasa C menyediakan akses pada fungsi tingkat tinggi serta tingkat rendah untuk menangani file di perangkat penyimpanan kita. Seorang programmer bahasa C harus bisa membuka, menutup, menulis serta membaca sebuah file text atau biner untuk media penyimpanan. Nah, pada pembahasan kali ini kita akan belajar cara memanajemen file pada bahasa pemrograman C.

A. Membuka dan Menutup File

1. Membuka File

Untuk membuka file yang sudah ada kita dapat menggunakan fungsi fopen(). Fungsi ini akan menginisialisasi objek dari tipe FILE yang berisi semua informasi yang diperlukan untuk mengontrol berkas / file.

Format Penulisan (pendeklarasian variabel):
FILE *nama_variabel;

Format Penulisan (membuka file):
fopen("lokasi_file/nama_file", "jenis_operasi_file");

Jenis Operasi File:
Jenis Operasi Deskripsi
r Hanya membaca file text.
w Membuat file text baru. Jika file sudah ada, maka isi file tersebut akan dikosongkan.
a Menambahkan teks pada file text. Jika file tidak ada, maka file yang baru akan dibuat.
r+ Membaca dan menulis teks pada file text.
w+ Membaca dan menulis teks pada file text. Jika file sudah ada, maka file tersebut akan di replace. Sedangkan jika file tidak ada, maka file baru akan dibuat.
a+ Membaca dan menambahkan teks pada file text. Jika file tidak ada, maka file baru akan dibuat.
rb Hanya membaca file biner.
wb Membuat file biner baru. Jika file sudah ada, maka isi file tersebut akan dikosongkan.
ab Menambahkan teks pada file biner. Jika file tidak ada, maka file yang baru akan dibuat.
rb+ atau r+b Membaca dan menulis teks pada file biner.
wb+ atau w+b Membaca dan menulis teks pada file biner. Jika file sudah ada, maka file tersebut akan di replace. Sedangkan jika file tidak ada, maka file baru akan dibuat.
ab+ atau a+b Membaca dan menambahkan teks pada file biner. Jika file tidak ada, maka file baru akan dibuat.

2. Menutup File

Untuk menutup file kita dapat menggunakan fungsi fclose(). Fungsi ini digunakan untuk menutup file apabila file sudah tidak diproses lagi. Karena adanya keterbatasan jumlah file yang dapat dibuka secara serentak, maka file harus ditutup.

Format Penulisan:
fclose(nama_variabel_file);

Contoh Penulisan :
#include <stdio.h>

main() {
   FILE *file;

   file = fopen("file.txt", "r");
   if(file == NULL){
       printf("File tidak ditemukan!");
   }else{
       printf("File tersedia!");
   }
   fclose(file);
   getch();
}

Output :
Membuka dan menutup file dengan fungsi fopen() dan fclose()
Gambar 1. Membuka dan menutup file dengan fungsi fopen() dan fclose()


B. Menulis File

Untuk menulis file kita dapat menggunakan fungsi fputc(), fputs() dan fprintf(). Fungsi fputc() digunakan untuk menulis nilai karakter (char), sedangkan fungsi fputs() dan fprintf() digunakan untuk menulis sebuah string.

Format Penulisan fputc():
fputc('karakter', nama_variabel_file);

Format Penulisan fputs():
fputs("string", nama_variabel_file);

Format Penulisan fprintf():
fprintf(nama_variabel_file, "string");

Contoh Penulisan :
#include <stdio.h>

main() {
   FILE *file;

   file = fopen("file.txt", "w+");
   fputc('Ini adalah karakter', file);
   fputs("\nstring pada fungsi fputs()\n", file);
   fprintf(file, "string pada fungsi fprintf()\n");
   fclose(file);
   printf("File berhasil dibuat & text berhasil dimasukan kedalam file.");
   getch();
}

Output :
Menulis file dengan fungsi fputc(), fputs() dan fprintf()
Gambar 2. Menulis file dengan fungsi fputc(), fputs() dan fprintf()


C. Membaca File

Untuk membaca file kita bisa menggunakan fungsi fgetc(), fgets() dan fscanf(). Fungsi fgetc() digunakan untuk membaca karakter pada file, sedangkan fungsi fgets() dan fscanf() digunakan untuk membaca string pada file. Pada fungsi fgets() hanya dapat membaca string pada file sampai ditemukannya baris baru (\n) atau sampai jumlah maksimal karakter yang sudah ditentukan, sedangkan pada fungsi fscanf() hanya membaca string sampai ditemukannya karakter spasi yang pertama.

Format Penulisan fgetc():
fgetc(nama_variabel_file);

Format Penulisan fgets():
fgets(nama_variabel, jml_karakter, nama_variabel_file);

Format Penulisan fscanf():
fscanf(nama_variabel_file, "string_kontrol", nama_variabel_file);

Contoh Penulisan :
#include <stdio.h>

main() {
   FILE *file;
   char isi[255], karakter;

   file = fopen("file.txt", "r");
   if(file == NULL){
    printf("File tidak tersedia!");
   }else{
    karakter = fgetc(file);
    printf("Fungsi fgetc(): %c\n", karakter);

    fgets(isi, 255, file);
    printf("Fungsi fgets(): %s\n", isi);

    fscanf(file, "%s", isi);
    printf("Fungsi fscanf(): %s\n", isi);
   }
   fclose(file);

   getch();
}

Output :
Membaca file dengan fungsi fgetc(), fgets() dan fscanf()
Gambar 3. Membaca file dengan fungsi fgetc(), fgets() dan fscanf()


D. Membaca dan Menulis File Biner

Untuk membaca file biner kita bisa menggunakan fungsi fread(), sedangkan untuk menulis file biner menggunakan fungsi fwrite().

Format Penulisan fread():
fread(alamat_memori, ukuran_bytes, ukuran_blok, nama_variabel_file);

Format Penulisan fwrite():
fwrite(alamat_memori, ukuran_bytes, ukuran_blok, nama_variabel_file);

Contoh Penulisan fread():
#include<stdio.h>

struct web
{
    char nama[50];
};

int main()
{
    FILE *file;
    struct web nama_web;

    file=fopen("file.bin","rb");
    if(!file)
    {
        printf("File tidak ditemukan!");
    }

    fread(&nama_web,sizeof(struct web),1,file);
    printf("%s\n",nama_web.nama);
    fclose(file);
    getch();
}

Contoh Penulisan fwrite():
#include<stdio.h>

struct web
{
    char nama[50];
};

int main()
{
    FILE *file;
    struct web nama_web;

    file=fopen("file.bin","wb");
    if (!file)
    {
        printf("Error!");
    }

    strcpy(nama_web.nama, "Pointopoin");
    fwrite(&nama_web, sizeof(struct web), 1, file);
    fclose(file);
    printf("File berhasil dibuat & data berhasil dimasukan kedalam file!");
    getch();
}

Output fread():
Membaca file biner menggunakan fungsi fread()
Gambar 4. Membaca file biner menggunakan fungsi fread()

Output fwrite():
Menulis file biner menggunakan fungsi fwrite()
Gambar 5. Menulis file biner menggunakan fungsi fwrite()


Semoga materi yang saya sampaikan tentang Bahasa C kali ini dapat dipahami sobat poinreaders. Silakan tulis pertanyaan seputar materi yang telah dibahas pada kolom komentar. jangan lupa follow akun sosial kami agar poinreaders bisa mendapatkan materi terbaru tentang bahasa pemrograman lainnya.

Share this

Related Posts

Previous
Next Post »