Belajar C: File (Bagian 1/2)
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.
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/