Belajar C: File (Bagian 1/2)

bagustambunan
4 min readJan 9, 2021

--

Halo halo adik-adikku, praktikan-praktikanku sekalian. Kembali lagi bersama aslab kesayangan kalian disini dan ini adalah Pertemuan 11 Praktikum Dasar Pemrograman. Kali ini aku akan membahas materi terakhir di praktikum kita, yakni File.

Dalam dunia komputer, File adalah informasi yang tersimpan dalam penyimpanan. File dapat memiliki berapa atribut, diantaranya nama file, size (ukuran), ekstensi (contoh: jpg, pdf, mp4, txt), lokasi penyimpanan, tanggal dibuat, pemilik, dll.

Contoh File

Berdasarkan contoh gambar di atas, dapat kita ketahui bahwa:

  • Nama file: Lirik
  • Ekstensi file: .txt
  • Lokasi penyimpanan: C:\Users\Eru Chitanda\Music
  • …Dst

Biar gak bosen belajarnya, sambil dengerin musik aja

Ni lagunya fav aku banget. Si cowok salah sangka terus diemin si cewek, si cewek gatau kalo si cowok cemburu sampe ragu buat nelpon, padahal mereka sama-sama kangen AAAAAA sweet banget 🥰🥰😘😘

Ohh ya… Kali ini kita cukup membahas file teks (ekstensi txt) saja.

Open: Membuka File

Membuka file (open) artinya program yang kita buat akan dapat membuka suatu file di penyimpan untuk selanjutnya dapat di baca, atau ditulis. Berikut adalah contoh bentuk dasar untuk membuka file:

fopen("Lirik.txt","r")

“Lirik.txt” adalah lokasi file yang ingin dibuka

“r” adalah mode yang digunakan saat membuka file. “r” artinya “read”, artinya file ini dibuka untuk dibaca isinya. Sebenarnya ada banyak mode yang bisa digunakan saat membuka file, sebagai berikut:

Memeriksa keberadaan file

Buat file bernama “membuka_file.c” kemudian ketik code berikut, simpan dan jalankan.

#include <stdio.h>int main(){FILE *fileLirik;fileLirik = fopen("Lirik.txt","r");if(fileLirik == NULL) printf("File tidak ada");else printf("File ada");}

Setelah dijalankan, program akan menampilkan “File tidak ada” sebagai output.

Ya iyalah! Kan file nya memang belum ada! Kita dapat mengetahui apakah file yang kita akses tsb ada atau tidak, menggunakan penggalan code:

if(fileLirik == NULL)

Penggalan code tsb akan memeriksa hasil pencarian file, apabila NULL (kosong), berarti file tidak ditemukan. Nih aku kasih komentar di program tadi biar makin jelas.

Sekarang kita akan membuat sendiri file “Lirik.txt” nya, biar bisa dibuka oleh program.

Buat file txt baru dengan nama “Lirik” dan taruh di folder yang sama dengan file program c kamu. Lalu jalankan program kamu tadi. Maka sekarang file ditemukan, dan program akan memberi output “File ada”. Mantap kan??

Read: Membaca Isi File

Membaca isi file (read) artinya program yang kita buat akan membaca isi pada suatu file. Ada banyak fungsi yang dapat digunakan untuk membaca file, seperti: fgetc(), getw(), fgets(), fscanf(), fread()

Tapi kali ini kita cukup membahas fgets() saja.

Mempersiapkan file

Pertama-tama, buka dulu file “Lirik.txt” kita tadi bang. Lalu masukkan teks berikut, dan simpan

Tak mengerti
Apa yang telah terjadi
Kau tak lagi sama
Engkau bukan engkau

Yap! Itu adalah lirik awal lagu “Dengan Caraku” tadi… Udah disimpan kan? Oke lanjut…

Membaca isi file dengan fgets()

Buat file baru bernama “membaca_file.c” di folder yang sama, kemudian ketik code berikut, simpan dan jalankan.

#include <stdio.h>int main(){// Membuat variabel pointer untuk menyimpan alamat memori dari file yang akan dibukaFILE *fileLirik;// Membuka file "Lirik.txt" dalam mode "r"if((fileLirik = fopen("Lirik.txt","r")) == NULL) printf("File tidak ada");// Membuat varibel string "buff", yang nantinya akan digunakan untuk menyimpan data teks yang diperoleh dari filechar buff[255];// Mengambil 1 baris teks sepanjang 10 karakter dari "fileLirik", kemudian disimpan varibel "buff"fgets(buff, 10, fileLirik);printf("%s", buff);}

Program akan memberi output:

Tak menge

Kok gak lengkap ngab?? Iya lah… kan kamu cuma baca 10 karakter di 1 baris… Sekarang coba banyakin karakter yang mau dibaca, ubah 10 menjadi 255. Maka hasilnya akan menjadi:

Tak mengerti

Wah keren ngab… Tapi,, kok cuma 1 baris? Perasaan tadi isi file nya 4 baris deh.. Ywdh tinggal banyakin aja dong fungsi fgets() nya

#include <stdio.h>int main(){// Membuat variabel pointer untuk menyimpan alamat memori dari file yang akan dibukaFILE *fileLirik;// Membuka file "Lirik.txt" dalam mode "r"if((fileLirik = fopen("Lirik.txt","r")) == NULL) printf("File tidak ada");// Membuat varibel string "buff", yang nantinya akan digunakan untuk menyimpan data teks yang diperoleh dari filechar buff[255];// Mengambil baris ke 1fgets(buff, 255, fileLirik);printf("%s", buff);// Mengambil baris ke 2fgets(buff, 255, fileLirik);printf("%s", buff);// Mengambil baris ke 3fgets(buff, 255, fileLirik);printf("%s", buff);// Mengambil baris ke 4fgets(buff, 255, fileLirik);printf("%s", buff);}

Kok kayak gak efektif ya?? Apa gak ada cara lain biar gak capek? Gimana kalo lirik lagu nya se-milyar baris???

Kita bisa pakai perulangan!

Dengan perulangan while, kita dapat membaca setiap baris pada file. Perulangan while akan berhenti saat fgets() menghasilkan null atau sudah tidak ada lagi baris yang dibaca.

— — — — — —

Bersambung ke: Belajar C: File (Bagian 2/2)

Referensi: https://www.petanikode.com/c-file/

--

--

bagustambunan

Hobi : Berpikir, mendengar musik, minum air, tidur siang, membaca teori konspirasi tanpa mempercayainya