Modul 7 File Final Final
Modul 7 File Final Final
MODUL 7
FILE (BERKAS)
A. Tujuan
1. Mahasiswa dapat memahami konsep file.
2. Mahasiswa dapat mengatahui dan mengimplementasikan file dalam program.
B. Dasar Teori
1. Pengertian File
File adalah kumpulan data dan informasi yang saling berhubungan dan juga
tersimpan di dalam ruang penyimpanan sekunder. Definisi file dapat juga diartikan
sebagai arsip atau data yang tersimpan di dalam komputer.
Dalam bidang komputer, file memiliki beberapa tipe, diantaranya tipe data
terdiri dari character, numeric, dan binary. Selain itu, ada juga file yang bertipe
program.
Pada umumnya file pada komputer tersimpan di dalam folder tertentu,
tergantung di mana si pemilik file ingin menyimpannya. Masing-masing file
memiliki ekstensi yang berbeda sesuai dengan jenis filenya.
Ekstensi file adalah tanda yang membedakan antara satu jenis file dengan
jenis file lainnya. Misalnya, file gambar akan memiliki ekstensi jpg, gif, png, dan
lain-lain. Sedangkan untuk file video akan memiliki ekstensia mpeg, avi, mp4,
wmv, dan lain-lain.
2. Operasi File
Pada dasarnya, operasi file terbagi 3 jenis. Read (R), Write(W), dan
Append(A). Read artinya membaca isi file, write menulis data ke file dan append
menambahkan data ke baris terakhir dalam file :
Read File
Sesuai namanya, di sini kita akan membuka file sesuai namanya lalu
membaca isi filenya. Untuk membaca isi file lalu menyimpannya ke dalam
variabel, bisa dengan menggunakan fscanf(namavariabelfile, format); Jika
menggunakan mode read, pastikan tidak melakukan fclose terhadap file
yang tidak ada. Karena itu akan mengakibatkan error.
Write File
Write file artinya kita membuka file dalam mode write (siap untuk
ditulis). Dengan menggunakan format yang sama dengan di atas, kita akan
mencoba membuat file baru dengan isi NAMA#UMUR. Menyimpan data
ke file bisa menggunakan perintah fprintf(namavariabelfile, format);
int main(){
char nama[100];
int umur;
FILE *out=fopen("test.txt","w");
fprintf(out,"%s#%d\n",nama, umur);
fclose(out);
getchar();
return 0;
}
Script di atas jika dijalankan maka akan membuat file baru jika
sudah ada datanya (overwrite). Lalu, hasil inputan nama dan umur akan
disimpan dalam file test.txt dengan format NAMA#UMUR.
Append file
Append artinya menambahkan data pada file baris terakhir. Jika belum ada
data/filenya, maka append akan membuatkan file baru. Contoh :
int main(){
char nama[100];
int umur;
printf("Masukkan nama : "); scanf("%[^\n]",
&nama); fflush(stdin);
printf("Masukkan umur : "); scanf("%d", &umur);
fflush(stdin);
FILE *out=fopen("test.txt","a");
fprintf(out,"%s#%d\n",nama, umur);
fclose(out);
printf("Sukses menambah data.");
getchar();
return 0;
}
Perbedaan write dengan append yaitu bahwa write akan selalu
membuat file baru untuk mengoverwrite file nama. Append, akan
menambahkan data ke baris paling terakhir jika ada file yang dituju. Jika
tidak, maka akan membuat file baru.
Operasi file adalah proses input/baca dari file dan proses output/tulis ke
file.
Jenis-jenisoperasi file pada C :
Tabel B2.1 Jenis – jenis operasi file pada bahasa C
No Mode Fungsi
1 R Menyatakan file hanya dapat dibaca (file harus sudah
ada).
2 W Menyatakan file baru akan dibuat/diciptakan (file yang
sudah ada akan dihapus).
3 A Untuk membuka file yang sudah ada dan akan dilakukan
proses penambahan data (jika file belum ada, otomatis
akan dibuat).
4 W+ Untuk membuka file dengan tujuan untuk pembacaan
atau penulisan.
5 R+ Untuk membuka file yang sudah ada dan akan dilakukan
proses pembacaan dan penulisan.
6 Rb Membuka sebuah file binary untuk pembacaan.
No Mode Fungsi
1 ios::app Menambahkan data terakhir outputfile.
3. Sintaxnya :
Seekp(intposisi);atau seekp(offset, acuan);
contoh :
#include <iostream>
#include <conio.h>
#include <fstream>
using namespace
std; void main()
char karakter;
fstreamfHuruf("huruf.txt",
ios::out); fHuruf.close();
fHuruf.open("huruf.txt", ios::in|
ios::out); for (char huruf = TAT;
huruf<=TZT; huruf++) fHuruf.put(huruf);
cout<<"Membacadariawalhinggaakhir"<<endl
; for (char huruf=TAT; huruf<=TZT;
huruf++) { fHuruf.seekg(huruf-TAT,
ios::beg); fHuruf.get(karakter);
cout<<karakter;
cout<<endl;
_getch();
#include <fstream>
using namespace std;
void main()
{
char karakter;
fstreamfHuruf("huruf2.txt", ios::out);
fHuruf.close();
fHuruf.open("huruf2.txt", ios::out|ios::in);
cout<<"posisipenunjuk file setelah file
dibuka"<<endl; cout<<"Masukan :
"<<fHuruf.tellg()<<endl; cout<<"Keluaran :
"<<fHuruf.tellp()<<endl;
for(char huruf=TAT; huruf<=TZT; huruf+
+)fHuruf<<huruf; cout<<"Posisipenunjuk file
setelahperekaman"<<endl;
_getch();
}
C. Studi Kasus/Permasalahan
D. Flowchart
- Flowchart
string barang[100];
int harga[100];
string belanjaan[100];
int hargaSatuan[100];
int totalBelanjaan;
int banyakBarang;
int banyakBelanjaan;
int uangBayar;
int menu();
int menu Utama();
void admin();
void user();
void input Barang();
void editBarang();
void tampilBarang();
void printout();
void display_barang();
void keranjang_belanjaan();
void bayar();
void printResi();
int main(){
menu();
}
int menu(){
switch(menu Utama()){
case 1:
system("cls");
admin();
sleep(1);
menu();
break;
case 2:
system("cls");
user();
sleep(1);
menu();
break;
case 3:
exit(0);
break;
default:
cout<<"\tInputan anda salah.. Pilih 1-3"<<endl;
system("pause");
sleep(1);
menu();
break;
}
system ("pause");
return 0;
}
return input;
}
void admin(){
int pill;
switch(pill){
case 1:
inputBarang();
admin();
break;
case 2:
system("pause");
system("cls");
editBarang();
admin();
break;
case 3:
system("pause");
system("cls");
tampilBarang();
case 4:
system("pause");
system("cls");
menu();
break;
default:
cout<< "Inputan anda salah... Pilih 1
- 4"<<endl;
system("pause");
admin();
break;
}
void user(){
char pill;
display_barang();
if(pill=='y'||pill=='Y'){
keranjang_belanjaan();
} else if( pill == 'n' || pill == 'N'){
menu();
} else{
cout<< "Inputan anda salah!!";
user();
}
}
void inputBarang(){
char pilihan;
int i=0;
int x;
do{
cout<< "\n|======== SILAHKAN MASUKAN BARANG
YANG INGIN DIMASUKAN =========|"<<endl;
cout<< "|~~~~~~~~~~~~~~~~~~~~~|"<<endl;
cout<< "Masukan nama barang : ";
cin>> barang[i];
cout<< "Masukan harga : ";
cin>> harga[i];
i++;
banyakBarang++;
tampilBarang() ;
do{
cout<< "|\n======= SILAHKAN MASUKAN INDEX
BARANG YANG INGIN DIUBAH =======|"<<endl;
cout<< "|~~~~~~~~~~~~~~~~~~~~~|"<<endl;
cout<< "Index Barang : ";
cin>>index;
cout<< "Masukan Harga Terbaru : ";
cin>>hargaNew;
harga[index-1]=hargaNew;
void tampilBarang(){
cout<< "|========= BERIKUT LIST BARANG YANG TELAH
DIINPUTKAN ===========|"<<endl;
cout<< "|~~~~~~~~~~~~~~~~~~~~~|"<<endl;
cout<< "|No. Nama Barang Harga Barang
|"<<endl;
for (int i = 0; i < banyakBarang; i++){
cout<< "|"<<i+1<<". "<<barang[i]<<"
Rp. "<<harga[i]<<endl;
}
cout<<
"|-----------------------------------------------------
----------|"<<endl;
cout<< "|~~~~~~~~~~~~~~~~~~~~~|"<<endl;
cout<< "|
=============================================================
==|"<<endl;
void printout(){
ofstream fileBarang;
fileBarang.close();
cout<< "File berhasil dicetak!"<<endl;
}
void display_barang(){
cout<< "|============ BERIKUT LIST BARANG SERTA
HARGANYA ===============|"<<endl;
cout<< "|~~~~~~~~~~~~~~~~~~~~~|"<<endl;
cout<< "|No. Nama Barang Harga Barang
|"<<endl;
for (int i = 0; i < banyakBarang; i++){
cout<< "|"<<i+1<<". "<<barang[i]<<"
Rp. "<<harga[i]<<endl;
}
cout<<
"|-----------------------------------------------------
----------|"<<endl;
cout<< "|~~~~~~~~~~~~~~~~~~~~~|"<<endl;
cout<< "|
=============================================================
==|"<<endl;
}
void keranjang_belanjaan(){
int pilihan;
int index;
int i;
display_barang();
do{
cout<< "|============ SILAHKAN MASUKAN YANG
INGIN ANDA BELI ============|"<<endl;
cout<< "|~~~~~~~~~~~~~~~~~~~~~|"<<endl;
cout<< "Masukan Index: ";
cin>>index;
belanjaan[i]=barang[index-1];
hargaSatuan[i]=harga[index-1];
totalBelanjaan=totalBelanjaan+harga[index-1];
i++;
banyakBelanjaan++;
bayar();
printResi();
}void bayar(){
cout<< "| TOTAL BELANJAAN ANDA
|"<<endl;
cout<<
"|-----------------------------------------------------
----------|"<<endl;
for (int i = 0; i < banyakBelanjaan; i++){
cout<< "|"<<i+1<<". "<<belanjaan[i]<<"
Rp. "<<hargaSatuan[i]<<endl;
}
void printResi(){
ofstream fileResi;
fileResi.close();
cout<< "Resi berhasil dicetak!";
}
- Hasil Running
E. Analisa
F. Kesimpulan
.
DAFTAR PUSTAKA