Anda di halaman 1dari 22

Modul VII File

MODUL VII
FILE (BERKAS)
A. Tujuan
1. Mahasiswa dapat memahami konsep file.
2. Mahasiswa dapat mengatahui dan mengimplementasikan file dalam program.
B. Dasar Teori
B.1 Pengertian File
File adalah media penyimpanan data yang bersifat tetap. File dapat berupa
eksternal atau file yang mempunyai alat input atau output (I/O) sendiri, maupun
internal yang berarti bahwa suatu variabel atau karakter yang berfungsi sebagai
sumber atau tujuan dari beberapa operasi input dan output. Istilah pengambilan atau
perekaman data dari atau ke file disebut dengan access.
File atau berkas komputer atau berkas adalah entitas dari data yang
disimpan di dalam sistem berkas yang dapat diakses dan diatur oleh pengguna. File
juga dapat didefinisikan sebagai kumpulan informasi yang biasanya disimpan
dalam sebuah disk komputer, informasi disimpan dalam bentuk file-file yang
dikemudian hari dapat diambil kembali.
File atau berkas diorganisasikan dari sejumlah record. Masing-masing
record bisa terdiri dari satu atau beberapa field. Setiap field terdiri dari satu atau
beberapa byte (Anggreni, 2019).

Gambar 7.1 Berkas/File

Sistem berkas akan memberikan sebuah nama terhadap sebuah berkas agar
dapat dikelola dengan mudah. Sebuah berkas berisi aliran data (data stream) yang

Praktikum Dasar Pemrograman (2023) Modul VII - 1


Modul VII File

berisi sekumpulan data yang saling berkaitan serta atribut berkas (yang bersifat
wajib atau opsional), yang kadang-kadang disebut properties yang berisi informasi
yang berkaitan dengan berkas yang bersangkutan. Informasi mengenai kapan
sebuah berkas dibuat adalah contoh dari atribut berkas.
Ukuran sebuah berkas umumnya direpresentasikan dalam satuan byte. Jika
bilangan terlalu besar untuk direpresentasikan dalam satuan byte, maka dapat
menggunakan satuan KB (Kilobyte, yang berarti 1,024 byte), MB (Megabyte, yang
berarti 1,048,576 byte), GB (Gigabyte, yang berarti 1,073,741, 824 byte), dan TB
(Terabyte, yang berarti 1,099,511,627,776 byte). Dalam mekanisme penyimpanan
berkas, komputer akan menyimpan berkas dalam dua jenis ukuran yaitu ukuran
fisik dan ukuran logis. Ukuran fisik berkas merujuk kepada aktual dari berkas,
yakni berapa banyak byte yang terdapat di dalam berkas. Sementara ukuran logis
merujuk kepada jumlah ruangan yang dialokasikan oleh sistem berkas untuk
menempatkan berkas yang bersangkutan di dalam media penyimpanan. Struktur
data dari file ditunjukkan pada gambar di bawah ini:

Gambar 7.2 Struktur Data dari File

Dalam C++ file adalah sebuah stream yang disimpan dalam media
penyimpanan luar. Karena merupakan sebuah stream, operasi yang berlaku pada
stream berlaku juga untuk file. Stream adalah suatu logika device yang
menghasilkan dan menerima informasi atau wadah yang digunakan untuk
menampung keluaran dan menampung aliran data.

Praktikum Dasar Pemrograman (2023) Modul VII - 2


Modul VII File

File yang disimpan di dalam disk harus diberi nama agar terhindar akan
terjadinya kesalahan. Jenis data yang akan dipergunakan juga dapat membedakan
dengan file lainnya. Syarat pemberian nama untuk program fortran terdiri dari:
a. Maksimum panjangnya nama file hanya 8 karakter dan tidak boleh
mengandung karakter khusus.
b. Dapat ditambahkan extension sepanjang 3 karakter, juga tidak boleh
mengandung karakter khusus.
B.2 Operasi File
Statement untuk operasi file dibagi menjadi:

Paramete
r Mode Arti

r Membuka file sesuai namafilenya untuk dibaca, jika file tidak


ada maka akan bernilai NULL.

w Membuka file untuk ditulis, jika sebelumnya sudah ada nama file
yang sama, maka akan dilakukan overwrite/menimpa file dengan
yang baru.

a Membuka file sesuai namafilenya untuk ditambahkan datanya


dipaling bawah baris terakhir. Jika file tidak ada, maka akan
membuat file baru secara otomatis.

r+ Sama dengan “r” tetapi selain file dapat dibaca juga dapat di tulis

w+ Sama dengan “w” tetapi selain file dapat ditulis juga dapat
dibaca

a+ Sama dengan ”a” tetapi selain file dapat ditulis file juga dapat
dibaca

a. Statement Open
Statement open digunakan untuk membuka file ke dalam memori,
sehingga dapat dimanfaatkan untuk pengambilan data atau penulisan data dari
atau ke file tersebut.
Bentuk format umum dari statement open adalah:
Open(<no. unit>,file = ‘<nama file data>’,Status=’<status>’)

Praktikum Dasar Pemrograman (2023) Modul VII - 3


Modul VII File

Contoh prgram dari statement open:


Dalam bahasa C
FILE *file;
file = fopen("nama_file", "mode");

Dalam bahasa C++


std::ofstream file;
file.open("nama_file", std::ios::out);

Penjelasan:
No. unit : adalah nomor yang menunjukkan spesifikasi alat yang
digunakan berupa nilai integer dan harus diletakkan
sebagai argumen pertama.
NamaFile data : merupakan nama file yang berisikan data yang akan
dipergunakan dalam pengambilan data maupun dalam
penulisan data. File ini dapat berupa file text atau jenis
file lainnya asalkan disesuaikan dengan sistem
pembacaan atau penulisan data dari program yang
Status : dibuat.
merupakan identitas dari file yang akan dipergunakan.
Jika file yang akan digunakan merupakan file lama
yang sudah berisikan data, maka status yang digunakan
adalah old. Old tersebut merupakan default dari
program fortran.

b. Status Close
Status close merupakan statement yang digunakan untuk menutup file
yang sudah tidak dipergunakan kembali. File tersebut dibuka oleh statement
open di atas.
Format yang digunakan untuk melaksanakan statement close tersebut
adalah:
Close(<no. unit>, Status = ‘<status>’)

Praktikum Dasar Pemrograman (2023) Modul VII - 4


Modul VII File

Contoh prgram dari statement close:


Dalam bahasa C :
FILE *file;
file = fopen("contoh.txt", "w");

Dalam bahasa C++ :


std::ofstream file;
file.open("contoh.txt", std::ios::out);

Penjelasan:
No. unit : merupakan nomor unit yang akan ditutup, sama dengan
nomor unit yang digunakan pada statement open.
Status
: merupakan konstanta karakter yang menunjukkan status
dari file yang akan ditutup, dapat berupa Keep atau Delete.
Keep berarti bahwa file yang ditutup akan disimpan,
sedangkan Delete berarti file yang ditutup dihapus dari
disk.

c. Statement Write
Statement write dapat digunakan untuk menulis data ke dalam suatu file
tertentu dengan menggunakan no. unit yang ditentukan dalam statement Open
File.
Bentuk format dari Statement Write ini sebagai berikut:
Write(<no. unit>, <format>) >I/O List>

Contoh prgram dari statement write:


Dalam bahasa C :
ssize_t bytesWritten;
const char *data = "Ini adalah contoh penulisan ke dalam
file.";
fileDescriptor = open("contoh.txt", O_WRONLY | O_CREAT |
O_TRUNC, S_IRUSR | S_IWUSR);

Praktikum Dasar Pemrograman (2023) Modul VII - 5


Modul VII File

Dalam bahasa C++ :


std::ofstream file;
file.open("contoh.txt", std::ios::out | std::ios::trunc);

Penjelasan:
No. unit : merupakan nomor unit dari file yang sudah terbuka oleh
statement open file yang khusus digunakan untuk
menuliskan data hasil proses perhitungan ke dalam file dan
disimpan ke dalam disk.
Format : merupakan bentuk susunan dari jenis data yang akan
dituliskan ke dalam disk.
I/O List
: merupakan isi data dari yang akan dituliskan ke dalam file.
Baik berupa karakter ataupun berupa nilai dari hasil proses
perhitungan.

d. Statement Read
Statement read dapat digunakan untuk membaca data dari suatu file
tertentu dengan menggunakan no. unit yang ditentukan dalam Statement Open
File.
Bentuk format dari Statement Read ini diperlihatkan sebagai berikut:
Read(<no. unit>, <format>) < I/O List >

Contoh prgram dari statement read:


Dalam bahasa C :
int fileDescriptor;
ssize_t bytesRead;
char buffer[BUFFER_SIZE];
fileDescriptor = open("contoh.txt", O_RDONLY);

Dalam bahasa C :
std::ifstream file;
file.open("contoh.txt", std::ios::in);

Praktikum Dasar Pemrograman (2023) Modul VII - 6


Modul VII File

Penjelasan:
No. unit : merupakan nomor unit dari file yang sudah terbuka oleh
statement open file yang khusus digunakan untuk membaca
data dari file.
Format : merupakan bentuk susunan dari jenis data yang akan
digunakan untuk membaca data dari file.
I/O List : merupakan isi dari variabel yang akan digunakan untuk
membaca data dari file.

Praktikum Dasar Pemrograman (2023) Modul VII - 7


Modul VII File

C. Studi Kasus
Membuat program E-Money dengan pengimplementasian file pada program

Praktikum Dasar Pemrograman (2023) Modul VII - 8


Modul VII File

D. Hasil
D.1 Hasil Flowchart

Gambar 6.4 Hasil Flowchart

Praktikum Dasar Pemrograman (2023) Modul VII - 9


Modul VII File

D.2 Script Program


#include <stdio.h>
#include <fstream>
using namespace std;

// Struktur data untuk E-money


struct EMoney {
int saldo;
int bayarr;
int jumlah;
int pilihan;
};

// Fungsi untuk mengisi saldo


void isiSaldo(struct EMoney *emoney, int jumlah) {
emoney->saldo += jumlah;
printf("Saldo berhasil diisi sebesar %d\n", jumlah);
ofstream strukIsiSaldo;
strukIsiSaldo.open("Struk Isi Saldo.txt");
strukIsiSaldo << "Jumlah isi saldo: " << jumlah <<
endl;
strukIsiSaldo << "Total Saldo: " << emoney->saldo <<
endl;
strukIsiSaldo.close();
}

// Fungsi untuk melakukan pembayaran


void bayar(struct EMoney *emoney, int bayarr) {
if (emoney->saldo >= bayarr) {
emoney->saldo -= bayarr; // Mengurangi saldo
printf("Pembayaran berhasil sebesar %d\n",
bayarr); // Mengganti jumlah dengan bayarr
ofstream strukPembayaran;
strukPembayaran.open("Struk Pembayaran.txt");
strukPembayaran << "Jumlah pembayaran: " <<
bayarr << endl;
strukPembayaran << "Sisa Saldo: " << emoney-
>saldo << endl;
strukPembayaran.close();
} else {
printf("Saldo tidak mencukupi \n");
}
}

// Fungsi untuk mengecek saldo


void cekSaldo(struct EMoney *emoney) {
printf("Saldo Anda saat ini: %d\n", emoney->saldo);
ofstream strukSisaSaldo;
strukSisaSaldo.open("Struk Sisa Saldo.txt");
strukSisaSaldo << "Saldo sekarang: " << emoney-
>saldo << endl;
strukSisaSaldo.close();
}
int main() {

struct EMoney emoney; // Membuat objek emoney


emoney.saldo = 0; // Inisialisasi saldo awal
do {
printf("\n ---------Selamat Datang Di E-Money

Praktikum Dasar Pemrograman (2023) Modul VII - 10


Modul VII File
P7KLP15-----------\n");
printf("| 1. Isi saldo
|\n");
printf("| 2. Bayar
|\n");
printf("| 3. Cek saldo
|\n");
printf("| 4. Keluar
|\n
_____________________________________________________");
printf("\n Pilih menu: ");
scanf("%d",&emoney.pilihan);

switch (emoney.pilihan) {
case 1:
printf("\nMasukkan jumlah saldo yang
akan diisi: ");
scanf("%d",&emoney.jumlah);
isiSaldo(&emoney, emoney.jumlah);
break;
case 2:
printf("\nMasukkan jumlah pembayaran:
");
scanf("%d", &emoney.bayarr);
bayar(&emoney, emoney.bayarr);
break;
case 3:
cekSaldo(&emoney);
break;
case 4:
printf("\nTerima kasih telah menggunakan
E-Money\n");
break;
default:
printf("\nPilihan tidak valid\n");
break;
}
} while (emoney.pilihan != 4);

return 0;
}

Praktikum Dasar Pemrograman (2023) Modul VII - 11


Modul VII File

D.3 Hasil Running

Gambar 7.3 Hasil Running

Gambar 7.3 Hasil Running File Isi Saldo

Gambar 7.4 Hasil Running File Pembayaran

Gambar 7.5 Hasil Running File Cek Saldo

Praktikum Dasar Pemrograman (2023) Modul VII - 12


Modul VII File

E. Analisa
#include <stdio.h>
Dari script diatas header #include <stdio.h> merupakan sebuah directive yang
digunakan untuk memasukkan library standard (stdio.h) input-output bahasa C ke
dalam program. Library stdio.h digunakan untuk memungkinkan program untuk
mengakses sintaks printf dan scanf yang digunakan untuk memasukan input dan
menampilkan output dalam bahasa pemrograman C.
#include <fstream>
Dari script diatas header #include <fstream> digunakan untuk mengakses file
dalam bahasa pemrograman C++. Dengan menggunakan <fstream>, kita dapat
melakukan operasi pembacaan atau penulisan pada file yang ada di dalam sistem.
Misalnya, kita dapat membaca isi dari sebuah file, menulis ke dalam sebuah file
atau mengubah isi dari sebuah file. Fungsi-fungsi untuk membuka, menutup,
membaca, dan menulis ke dalam file telah disediakan oleh <fstream>.
using namespace std;
Dari script diatas using namespace std; sebuah deklarasi yang
mengindikasikan bahwa kita akan menggunakan semua fungsi dan objek yang
terdapat dalam namespace std (standar library) secara default dalam program C++
yang kita buat. Dengan menggunakan deklarasi ini, kita dapat memanggil fungsi dan
objek dari namespace "std" tanpa harus menuliskan prefix "std::" pada setiap kali
kita menggunakannya.

// Struktur data untuk E-money


struct EMoney {
int saldo;
int bayarr;
int jumlah;
int pilihan;
};

Dari script diatas, terdapat struct Emoney yang digunakan untuk


mendeklarasi sebuah struktur yang bernama Emoney. Struktur ini memiliki empat
variabel, yaitu variabel saldo yang digunakan untuk menyimpan nilai saldo dari
E-Money, kemudian yang kedua ada variabel bayarr yang bertipe data integer
untuk menyimpan nilai pembayaran yang akan dilakukan, ketiga ada variabel
jumlah yang bertipe data int untuk menyimpan jumlah saldo yang akan diisi dan
terakhir ada variabel saldo yang bertipe data int untuk menyimpan pilihan menu
yang dipilih oleh pengguna. Sehingga dapat disimpulkan bahwa struktur data ini

Praktikum Dasar Pemrograman (2023) Modul VII - 13


Modul VII File

digunakan untuk menyimpan informasi terkait seperti saldo, jumlah pembayaran


dan pilihan menu yang dipilih oleh pengguna.

// Fungsi untuk mengisi saldo


void isiSaldo(struct EMoney *emoney, int jumlah) {
emoney->saldo += jumlah;
printf("Saldo berhasil diisi sebesar %d\n", jumlah);
}

Dari script diatas, terdapat void isiSaldo(struct EMoney *emoney, int


jumlah)yang merupakan sebuah fungsi yang digunakan untuk mengisi saldo pada
parameter emoney. Fungsi ini menerima dua parameter, yang pertama adalah
emoney pointer ke struct EMoney yang akan diisi variabel saldo-nya. Parameter
ini menggunakan pointer (*) untuk mengakses dan memodifikasi variabel dalam
struct EMoney yang ada di luar fungsi dan yang kedua ada variabel jumlah
bertipe data integer, yang merupakan jumlah saldo yang akan diisi ke dalam
variabel struct EMoney.

Kemudian script emoney->saldo += jumlah; digunakan untuk menambahkan


nilai dari variabel jumlah ke dalam saldo yang ada pada objek emoney. Operator
+= adalah operator penugasan (assignment) yang digunakan untuk menambahkan
nilai dari variabel kanan ke variabel kiri, dan kemudian mengupdate nilai variabel
kiri dengan hasil penjumlahan tersebut. Dalam hal ini, emoney->saldo adalah akses
ke variabel saldo pada objek emoney menggunakan operator panah -> yang
digunakan untuk mengakses atribut dari pointer ke suatu struct seperti halnya
struct EMoney. jumlah adalah variabel yang diberikan sebagai argumen ke fungsi
isiSaldo yang nilainya akan ditambahkan ke dalam variabel saldo pada parameter
emoney. Hasilnya saldo pada objek emoney akan diperbarui dengan penambahan
nilai jumlah tersebut. Setelah itu, pesan "Saldo berhasil diisi sebesar %d" dicetak
menggunakan sintaks printf, dimana %d adalah format specifier yang akan
digantikan oleh nilai aktual dari jumlah pada saat eksekusi program. Pesan tersebut
akan memberikan informasi kepada pengguna bahwa saldo berhasil diisi dengan
jumlah tertentu yang diberikan sebagai argumen ke fungsi isiSaldo.
ofstream strukIsiSaldo;
strukIsiSaldo.open("Struk Isi Saldo.txt");
strukIsiSaldo << "Jumlah isi saldo: " << jumlah << endl;
strukIsiSaldo << "Total Saldo: " << emoney->saldo << endl;
strukIsiSaldo.close();

Praktikum Dasar Pemrograman (2023) Modul VII - 14


Modul VII File

Dari script diatas dapat diketahui merupakan bagian dari program yang
bertujuan untuk membuat sebuah file teks (.txt) dan menuliskan beberapa
informasi ke dalamnya. Lebih spesifik, kode ini digunakan untuk membuat file
teks bernama "Struk Isi Saldo.txt" dan menuliskan informasi tentang jumlah
saldo yang telah diisi ke dalam file tersebut.
Pada baris pertama, "ofstream strukIsiSaldo;" membuat objek
"strukIsiSaldo" yang merupakan jenis kelas "ofstream". Kelas "ofstream"
digunakan untuk menulis pada sebuah file teks.
Pada baris kedua, "strukIsiSaldo.open("Struk Isi Saldo.txt");"

digunakan untuk membuka file " Struk Isi Saldo.txt" dan menyiapkan objek
"strukIsiSaldo" agar dapat menuliskan informasi ke dalamnya. Jika file " Struk
Isi Saldo.txt" belum ada di dalam sistem, maka perintah ini akan membuat file
tersebut secara otomatis.
Pada baris ketiga, "strukIsiSaldo << "Jumlah isi saldo: " << jumlah
<< endl;" menuliskan informasi jumlah saldo yang telah diisi ke dalam file
"Struk Isi Saldo.txt". Operator "<<"" digunakan untuk menambahkan teks
atau variabel ke dalam file. Dalam kasus ini, "jumlah" adalah sebuah variabel yang
telah didefinisikan sebelumnya dan berisi informasi tentang jumlah saldo yang
telah diisi.
Pada baris keempat, “strukIsiSaldo << "Total Saldo: " << emoney-
>saldo << endl;" menuliskan informasi Total saldo yang setelah diisi ke dalam
file "Struk Isi Saldo.txt". Operator "<<"" digunakan untuk menambahkan
teks atau variabel ke dalam file. Dalam kasus ini, " emoney->saldo " adalah
sebuah variabel yang telah didefinisikan sebelumnya dan berisi informasi tentang
jumlah saldo setelah diisi.
Pada baris terakhir, "strukIsiSaldo.close();" digunakan untuk menutup file
"Struk Isi Saldo.txt". Setelah menutup file, semua informasi yang telah dituliskan
sebelumnya akan disimpan secara permanen di dalam file tersebut.
// Fungsi untuk melakukan pembayaran
void bayar(struct EMoney *emoney, int bayarr) {
if (emoney->saldo >= bayarr) {
emoney->saldo -= bayarr; // Mengurangi saldo
printf("Pembayaran berhasil sebesar %d\n", bayar); // Mengganti
jumlah dengan bayarr
ofstream strukPembayaran;
strukPembayaran.open("Struk Pembayaran.txt");

Praktikum Dasar Pemrograman (2023) Modul VII - 15


Modul VII File
strukPembayaran << "Jumlah pembayaran: " << bayarr << endl;
strukPembayaran << "Sisa Saldo: " << emoney->saldo << endl;
strukPembayaran.close();
} else {
printf("Saldo tidak mencukupi\n");
}
}

Dari script diatas, terdapat fungsi bayar yang digunakan untuk mengurangi
variabel saldo yang diakses melalui parameter *emoney dengan melakukan
pembayaran sebesar variabel bayarr. Fungsi ini menerima dua parameter, yaitu
yang pertama ada parameter emoney yang berisi pointer untuk mengkases variabel
saldo pada struct Emoney. Parameter ini menggunakan pointer (*) untuk
mengakses dan memodifikasi variabel dalam struct EMoney yang ada di luar
fungsi dan yang kedua ada variabel bayarr bertipe data int, yang merupakan
variabel yang digunakan untuk mengurangi variabel saldo.

Setelah itu fungsi bayar melakukan pengecek apakah saldo pada objek emoney
(emoney->saldo) cukup untuk melakukan pembayaran sebesar bayarr dengan
menggunakan kondisi if(emoney->saldo >= bayarr). Jika saldo mencukupi,
maka saldo pada parameter emoney akan dikurangi sebesar bayarr dengan
menggunakan operator pengurangan dan penugasan emoney->saldo -= bayarr;
.

Kemudian script selanjutnya akan membuka file " Struk Pembayaran.txt"


dengan mode "ofstream" (output file stream) dan menyimpan objeknya ke dalam
variabel "strukPembayaran". Kemudian, program menuliskan "Jumlah
pembayaran: " diikuti dengan nilai variabel " bayarr" ke dalam file tersebut
menggunakan operator "<<". Selanjutnya, program menuliskan "Sisa Saldo: "
diikuti dengan nilai saldo terbaru yang sudah dikurangi dengan jumlah
pembayaran, yaitu "emoney->saldo", ke dalam file. Terakhir, program menutup
file "Struk Pembayaran.txt" dengan menggunakan fungsi "close()".

Jika saldo tidak mencukupi, maka akan dicetak pesan "Saldo tidak mencukupi"
menggunakan sintaks printf. Fungsi bayar akan selesai dan kontrol akan kembali
ke bagian pemanggilan fungsi di dalam switch statement pada fungsi utama (main
function).

Praktikum Dasar Pemrograman (2023) Modul VII - 16


Modul VII File
// Fungsi untuk mengecek saldo
void cekSaldo(struct EMoney *emoney) {
printf("Saldo Anda saat ini: %d\n", cek->saldo);
}
Dari script diatas, terdapat fungsi cekSaldo yang digunakan untuk
menampilkan saldo saat ini dari objek *cek yang dikirimkan sebagai parameter.
Fungsi ini menerima satu parameter, yaitu objek *cek memiliki pointer untuk
mengakses variabel yang terdapat dalam struct Emoney melalui pointer yang
terdapat pada parameter *cek. Kemudian fungsi cekSaldo hanya melakukan satu
tugas, yaitu menampilkan variabel saldo yang terdapat pada struct Emoney yang
dikirimkan melalui pointer parameter *cek. Hal ini dilakukan menggunakan
sintaks printf yang mencetak pesan "Saldo Anda saat ini: " diikuti dengan variabel
saldo yang diperoleh dari struct EMoney melalui pointer yang terdapat pada
parameter *cek menggunakan cek->saldo. Pesan ini akan ditampilkan pada layar
dengan menggunakan sintaks printf dan %d sebagai format specifier untuk
mencetak variabel saldo bertipe integer. Setelah pesan dengan variabel saldo
ditampilkan, fungsi cekSaldo akan selesai dan akan kembali ke bagian
pemanggilan fungsi ini di dalam switch statement pada fungsi utama (main
function).

ofstream strukSisaSaldo;
strukSisaSaldo.open("Struk Sisa Saldo.txt");
strukSisaSaldo << "Saldo sekarang: " << emoney->saldo <<
endl;
strukSisaSaldo.close();
Dari script diatas digunakan untuk menyimpan informasi saldo terbaru pada
file "Struk Sisa Saldo.txt". Pertama, objek ofstream "strukSisaSaldo"
dibuat untuk menulis pada file tersebut. Kemudian, dengan menggunakan operator
<<, teks "Saldo sekarang: " diikuti dengan nilai saldo yang diambil dari struktur
data EMoney ditulis pada file. Akhirnya, objek "strukSisaSaldo" ditutup dengan
memanggil metode "close()" untuk menyelesaikan proses penulisan pada file.

int main()
{
// isi Program
}
Dari script diatas dapat diketahui bahwa fungsi int main() merupakan fungsi
utama pada program C. Setiap program C wajib memiliki fungsi utama sebagai
titik awal eksekusi program. Program tersebut dapat berupa serangkaian instruksi,

Praktikum Dasar Pemrograman (2023) Modul VII - 17


Modul VII File

deklarasi variabel, operasi matematika, pengolahan data, dan tampilan output pada
layar.
struct EMoney emoney; // Membuat objek emoney
emoney.saldo = 0; // Inisialisasi saldo awal
Dari script diatas, terdapat script digunakan struct EMoney emoney; untuk
mendeklarasikan objek emoney dalam struct EMoney. Objek emoney akan
digunakan untuk menyimpan data saldo dan melakukan operasi pengisian saldo,
pembayaran, atau pemeriksaan saldo pada program E-Money. Setelah deklarasi,
objek emoney dapat diakses dan dimanipulasi menggunakan operator dot (.) untuk
mengakses atribut-atribut dalam struktur EMoney.

Kemudian script emoney.saldo = 0; digunakan untuk mendeklarasikan nilai


awal dari atribut saldo dalam objek emoney menjadi 0. Dalam program E-Money,
saldo adalah atribut yang digunakan untuk menyimpan jumlah saldo yang tersedia
dalam akun. Dengan mengatur emoney.saldo menjadi 0, kita mengatur nilai awal
saldo menjadi 0 ketika objek emoney pertama kali dibuat. Nilai saldo ini dapat
diubah dan diperbarui selama berjalannya program melalui operasi pengisian saldo
dan pembayaran.

do {
printf("\nSelamat Datang Di E-Money P6KLP15\n");
printf("1. Isi saldo\n");
printf("2. Bayar\n");
printf("3. Cek saldo\n");
printf("4. Keluar\n");
printf("Pilih menu: ");
scanf("%d",&emoney.pilihan);
} while (emoney.pilihan != 4);
Dari script diatas, terdapat loop do-while yang memungkinkan pengguna
memilih menu dalam program E-Money secara berulang sampai pengguna memilih
menu "Keluar" yaitu nomor 4. Setelah menampilkan daftar menu menggunakan
sintaks printf, program akan mengambil input dari pengguna menggunakan sintaks
scanf untuk memasukkan pilihan menu ke dalam variabel emoney.pilihan.
Kemudian, loop do-while akan berlanjut selama emoney.pilihan tidak sama dengan
4, yang berarti program akan terus menampilkan daftar menu dan meminta input
dari pengguna untuk memilih menu hingga pengguna memilih untuk keluar dengan
memilih menu "Keluar" yaitu nomor 4.

switch (emoney.pilihan) {
case 1:
printf("\nMasukkan jumlah saldo yang akan diisi: ");

Praktikum Dasar Pemrograman (2023) Modul VII - 18


Modul VII File
scanf("%d",&emoney.jumlah);
isiSaldo(&emoney, emoney.jumlah);
break;

case 2:
printf("\nMasukkan jumlah pembayaran: ");
scanf("%d", &emoney.bayarr);
bayar(&emoney, emoney.bayarr);
break;

case 3:
cekSaldo(&emoney);
break;

case 4:
printf("\nTerima kasih telah menggunakan E-Money\n");
break;

default:
printf("\nPilihan tidak valid\n");
break;

Pada script diatas, terdapat statement control switch case yang digunakan
untuk memproses pilihan menu yang dimasukkan oleh pengguna dalam program
E-Money. Pada case 1, ketika pengguna memilih menu nomor 1, program akan
menampilkan pesan "Masukkan jumlah saldo yang akan diisi" menggunakan
sintaks printf dan kemudian mengambil input jumlah saldo yang akan diisi dari
pengguna menggunakan sintaks scanf. Nilai tersebut akan disimpan dalam
variabel emoney.jumlah. Lalu fungsi isiSaldo(&emoney, emoney.jumlah);
akan dipanggil untuk mengisi saldo dalam emoney dengan nilai emoney.jumlah.
Kemudian pada case 2, ketika pengguna memilih menu nomor 2, program
akan menampilkan pesan "Masukkan jumlah pembayaran" menggunakan sintaks
printf dan kemudian mengambil input jumlah pembayaran dari pengguna
menggunakan sintaks scanf. Nilai tersebut akan disimpan dalam variabel
emoney.bayarr. Selanjutnya, fungsi bayar(&emoney, emoney.bayarr) akan
dipanggil untuk melakukan pembayaran dari saldo objek emoney dengan nilai
emoney.bayarr.

Lalu pada case 3, ketika pengguna memilih menu nomor 3, program akan
memanggil fungsi cekSaldo(&emoney) untuk menampilkan saldo saat ini dari
objek emoney dengan menggunakan sintaks printf.
Selanjutnya pada case 4, ketika pengguna memilih menu nomor 4, program
akan menampilkan pesan "Terima kasih telah menggunakan E-Money"

Praktikum Dasar Pemrograman (2023) Modul VII - 19


Modul VII File

menggunakan sintaks printf dan akan keluar dari loop do-while untuk
mengakhiri program.
Dan terakhir pada opsi default, ketika pengguna memilih pilihan yang tidak
valid (selain dari nomor 1-4), program akan menampilkan pesan "Pilihan tidak
valid" dengan menggunakan sintaks printf.

Praktikum Dasar Pemrograman (2023) Modul VII - 20


Modul VII File

F. Kesimpulan
1. File adalah sebuah organisasi dari sejumlah record. Untuk membuka file
menggunakan format Nama_object.open (nama_file,mode),untuk menulis
kalimat pada file menggunakan format Nama_obyek<<”Kalimat”, untuk
menghapus file menggunakan format remove(namafile), untuk mengubah
nama file menggunakan format rename(namafilelama, namafilebaru),
sedangkan untuk menutup file menggunakan format Nama_object.close();
2. Terdapat berbagai mode pada C++ diantaranya : ofstream adalah digunakan
untuk menginput data pada file, biasanya file yang digunakan berformat csv (ms.
Excel) atau berformat txt (notepad). Ifstream adalah mengoutputkan file yang
sudah ada ke dalam cmd, file yang di output ini boleh dalam bentuk csv atau txt
asalkan file sudah ada. Fstream adalah semacam library yang digunakan pada
c++ yang harus di panggil jika ingin menggunakan fungsi ofstream dan ifstream.

Praktikum Dasar Pemrograman (2023) Modul VII - 21


Modul VII File

DAFTAR PUSTAKA

Anonim, 2022. Modul Praktikum Algoritma dan Pemrograman. Laboratorium


Komputer dan Jaringan. Jurusan Teknik Elektro. Fakultas Teknik. Universitas
Mataram.
Anggreni, Renni S.kom. 2019 Operasi File Bag. 2 Yogyakarta : Deepublish
Rosa, A.S. 2018. Logika Algoritma dan Pemrograman Dasar. Bandung : Modula
Saputra, Agus. 2018. Pemrograman Komputer File. Cirebon : ASFA Solution
Suprapto. 2020. Bahasa Pemrograman. Jakarta: Direktorat Pembinaan SMK.
Tim EMS. 2021. Panduan Belajar Komputer Untuk Semua Orang. Jakarta : Mediakita

Praktikum Dasar Pemrograman (2023) Modul VII - 22

Anda mungkin juga menyukai