Anda di halaman 1dari 29

Reka Wicaksana

2020-71-014

LAPORAN PRAKTIKUM
APLIKASI KOMPUTER
MODUL 6
(TIPE DATA ENUM DAN OPERASI FILE)

Nama : Reka Wicaksana


NIM : 2020-71-014
Jurusan : D3 Teknologi Listrik
Tgl Praktikum : 30 November 2020
Asisten : Acnessya Roumaulina Manik

SMART ELECTRONIC SYSTEMS LABORATORY


INSTITUT TEKNOLOGI PLN
JAKARTA
2020

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014
 TEORI TAMBAHAN
Struktur Dasar

int main(){

FILE *in=fopen(namafile,mode);

fclose(in);

getchar();

return 0;

FILE *in=fopen(namafile, mode); Langkah pertama kita wajib membuka file terlebih dahulu dengan
perintah fopen. Fungsi fopen diikuti dengan 2 variabel diantaranya namafile dan mode. Nama file
bebas kamu tentukan sendiri.

Setelah dibuka, file tersebut wajib kita close dengan perintah fclose(namavariabel). Karena diawal
kita membuka file lalu menyimpannya dalam variabel pointer “in”, maka diakhir program juga wajib
menutup file dengan fopen(in);

Parameter 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

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

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. Read File

Sesuai namanya, disini kita akan membuka file sesuai namanya lalu membaca isi
filenya. Untuk membaca isi file lalu menyimpannya ke dalam variabel, bisa mengan
menggunakan fscanf(namavariabelfile, format);

Contoh Isi file test.txt (letakkan di folder yang sama dengan file .cpp/.c) :

Mahir Koding#22

Hery Vandoro#21

Belajar C#24

int main(){

char nama[100];

int umur;

FILE *in=fopen("test.txt","r");

while(!feof(in)){

fscanf(in,"%[^#]#%d\n", &nama, &umur);fflush(stdin);

// %[^#] artinya kita menyimpan bagian dari string dalam file sampai tanda #.

// Kita tidak menggunnakan %s karena nama mengandung spasi

printf("%s %d\n", nama, umur);

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

fclose(in);

getchar();

return 0;

Bagaimana kalau seandainya file dengan nama test.txt tidak ada? 

int main(){

char nama[100];

int umur;

FILE *in=fopen("text.txt","r");

if(!in){ //cek apakah filenya ada atau tidak

printf("tidak ada file");

}else{

while(!feof(in)){

fscanf(in,"%[^#]#%d\n", &nama, &umur);fflush(stdin);

printf("%s %d\n", nama, umur);

fclose(in);

getchar();

return 0;

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Jika menggunakan mode read, pastikan tidak melakukan fclose terhadap file yang


tidak ada. Karena itu akan mengakibatkan error.

B. Write File

Write file artinya kita membuka file dalam mode write (siap untuk ditulis). Dengan
menggunakan format yang sama dengan diatas, 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;

printf("Masukkan nama : "); scanf("%[^\n]", &nama); fflush(stdin);

printf("Masukkan umur : "); scanf("%d", &umur); fflush(stdin);

FILE *out=fopen("test.txt","w");

fprintf(out,"%s#%d\n",nama, umur);

fclose(out);

printf("Sukses menambah data.");

getchar();

return 0;

Script diatas jika dijakankan 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

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014
C. 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;

Lalu apa perbedaannya Write dengan Append? Bukannya sama-sama mengisi data ke
file? Jawabannya sudah dijelaskan diatas, 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.

Jika ada pertanyaan yang kurang jelas silahkan berkomentar di bawah. Atau, jika
ingin request tutorial juga dapat ke halaman ini. Dukung terus Mahir Koding agar dapat
selalu mengupdate artikel dengan share dan like artikel ini. Terima Kasih.

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014
 SS PROGRAM & ANALISA PROGRAM
PROGRAM 23: ENUM

Pada pada program ini kita membuat program enum. Enum atau enumerasi adalah tipe
data bilangan bulat yang masing-masing bilangannya berbentuk konstanta identifier.
Pada program ini menggunakan 2 buah file header yaitu file bantuan yang digunakan
untuk menyimpan daftar-daftar fungsi yang akan digunakan di dalam program ini
diantaranya yaitu:
(Pada baris ke-1) #include<stdio.h> adalah Standar input-output header yang berisi
definisi makro, konstanta, dan deklarasi fungsi dari dua jenis yang digunakan untuk
berbagai standar input dan output. File header (Pada baris ke-2) adalah
#include<conio.h> adalah Console Input-Output header yang merupakan console input
dan output. Setelah memasukkan file header selanjutnya (Pada baris ke-3) masuk ke
Fungsi utama main() merupakan komponen yang dibutuhkan pada setiap program
bahasa C. Lalu (Pada baris ke-4) Program selalu diawali dengan tanda kurung
kurawal. Kurung kurawal ini dinamakan block statement yang gunanya untuk
mengurung beberapa statement menjadi 1 statement. Pada saat mengawali program
digunakan kurung kurawal buka ({).selanjutnya (Pada baris ke-5) terdapat enum
pecahan yang berarti enumerasi pecahan bilangan bulat dimana disitu terlihat pecahan
dalam satuan rupiah. Kemudian (Pada baris ke-13) terdapat int pecahan uang [7] yang
berarti bilangan bulat dimana int memiliki ukuran 2byte dengan jangkauan -32768 s/d
32767 dengan format %i atau %d didalamnya terdapat tujuh line yang menunjukan
angka bilangan bulat, pada awalan kita menggunkan fungsi tanda buka kurung kurawal
sebagai pembuka perintah int dan diakhiri dengan tanda tutup kurung kurawal serta
tanda titik koma. Selanjutnya (Pada baris ke-21) yaitu kita menggunakan tipe data
char dimana fungsinya yaitu membaca karakter atau string dengan memiliki kapasitas
ukuran 1 byte serta range -128 s/d 127 dengan format %c, didalam program ini terlihat
tanda char* adalah nama file yang akan dibuka atau dibuat misalnya dua puluh ribuan,
sepuluh ribuan, seribuan,lima ratusan, seratusan, dan lima puluhan . (Pada baris ke-28)
kita menggunkan int rupiah yaitu bilangan bulat dengan satuan rupiah tmp,I dengan
menambahkan tanda titik koma pada akhirannya. (Pada baris ke-29) yaitu printf()
yang berfungsi untuk tipe data integer untuk mendeklarasikan variable dari bilangan
dan ditutup dengan tanda titik koma (;).Lalu setelah ditampilkan oleh printf maka akan
diproses oleh perintah scanf (Pada baris ke-30), scanf berfungsi untuk memasukkan
semua jenis tipe data. perintah scanf berfungsi untuk menginput nilai bilangan dengan
menggunakan tipe data integer karena menggunakan tipe data %d yang merupakan
symbol dari tipe data integer.
Smart Electronic Systems Laboratory
Institut Teknologi PLN
Reka Wicaksana
2020-71-014
Lalu (Pada baris ke-31) terdapat perintah printf yang berfungsi menampilkan semua
jenis tipe data baik itu berupa karakter,numerik maupun symbol. printf digunakan
untuk menampilkan pernyataan masukkan bilangan yang akan di input. printf() yang
berfungsi untuk tipe data integer untuk mendeklarasikan variable dari bilangan dan
ditutup dengan tanda titik koma (;). Lalu (Pada baris ke-32)terdapat perintah tmp yang
berfungsi menampilkan semua jenis tipe data baik itu berupa karakter, numerik maupun
symbol. Didalmnya yaitu terdiri dari rupiah .printf digunakan untuk menampilkan
pernyataan masukkan bilangan yang akan di input. (Pada baris ke-33 dan 36) terdapat
for yaitu perulangan dimana i menunjukan 0 lebih kecil dari 7++ yaitu perulangan
abjad dalam bilangan bulat. Selanjutnya tmp= rupiah/pecahan uang, rupiah=
tmp*pecahan uang dimana menunjukan membuka sebuah file yang telah ditulis. (Pada
baris ke-38 dan 41) Terdapat if() yaitu membagi suatu alur proses menjadi dua cabang,
berdasarkan pernyataan yang diberikan.Lalu (Pada baris ke-39) terdapat perintah
printf yang berfungsi menampilkan semua jenis tipe data baik itu berupa karakter,
numerik maupun symbol, didalamnya terdapat tmp dan nama pecahan. Kemudian
terdapat if rupiah yang menunjukan alur proses pada perintah. Lalu (Pada baris ke-42)
terdapat perintah printf yang berfungsi menampilkan semua jenis tipe data baik itu
berupa karakter, numerik maupun symbol, didalmnya terdapat %d yang menunjukan
bilangan bulat serta rupiah tidak ada tukaran. (Pada baris ke-43) Printf() selanjutnya
yaitu untuk tipe data integer serta \n untuk line berikutnya. Dan (Pada baris ke-44)
program di akhiri dengan perintah getch() yang berfungsi untuk menahan tampilan
hasil ouput dan (Pada baris ke-45) setiap program selalu diakhiri dengan kurung
kurawal tutup untuk menandakan bahwa program tersebut telah selesai.

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014
PROGRAM 24

Pada program 24 ini memprogram cara menyimpan/mensave file. Pada program ini
terdapat file header yang digunakan yaitu:
(Pada baris ke-1) menggunakkan input header #include<stdio.h> ,yang merupakan
standar input- output header yang biasa digunakaan untuk mengimput . (Pada baris ke-
2) menggunakan input header #include<conio.h> yang berfungsi untuk menampilkan
fungsi antarmuka kepada pengguna . Lalu (Pada baris ke-3) #define CTRL_Z 26 ,
#define digunakan untuk mendefinisikan sebuah variable ( pin input – pin output )
dengan nama variable baru , fungsi mendefinisikan variable ini agar dalam pembuatan
program kita lebih mudah mengingat nama variable nya . Selanjutnya (Pada baris ke-
4) fungsi utama main() yang artinya merupakan komponen yang dibutuhkan pada
setiap program bahasa C. pada praktikum dilihat bahwa bentuk sederhana dari fungsi
main terdiri dari main yang diikuti dengan tanda buka dan tutup kurung. (Pada baris
ke-5) praktikum program ini adalah tanda buka kurung kurawal ({) berfungsi untuk
mengawali suatu program atau sebuah statement . kemudian (Pada baris ke-6)
FILE*pf; , ini adalah pendeklarasian dengan instruksi yang di bentuk hanya pointernya
saja kemudian di akhiri tanda titik koma yang berfungsi sebagai pembatas . lalu (Pada
baris ke-7) char kar,nama; , yaitu pendeklarasial nama menggunakan variable tipe data
char . lalu (Pada baris ke-8) printf berfungsi menmpilkan output ke monitor yaitu
("Masukkan nama file anda :"); yang merupakan sebuah statement yang di tempatkan
di dalam kiring dan di beri tanda petik di awal dan akhir kalimat serta di akhiri tanda
titik koma yang berfungsi sebagai pembatas . lalu (Pada baris ke-9)
scanf("%s",&nama); , scanf yaitu yang berfungsi mengambil input data dari keyboard
berupa numeric , karakter dan string kemudian %s digunakan untuk menampilkan nilai
string . lalu b(Pada baris ke-10)printf("\nmemasukan nama lengkap anda:\n"); , pirntf
berfungsi menampilkan output di monitor yaitu statemen yang di isi di dalam kurung
dan di kutip menggunakan tanda petik lalu di \n berfungsi sebagai new line lalu diakhiri
tanda titik koma sebagai pembatas . lalu (Pada baris ke-11) menggunakan
percabangan if , yaitu if((pf=fopen(&nama,"w"))==NULL) , pf merupakan poiter sama
dengan fopen yang di alamatkan pada rumus tadi yang habis kita buat , kemudian “w”
berguna untuk membuka file yang baru di tulis lalu tutup kurung dan == NULL berarti
kembalian apabila kita gagal membuka file.

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014
Kemudian (Pada baris ke-12) buka kurung kurawal ({) berfungsi untuk mengawali
suatu program atau sebuah statement . dan (Pada baris ke-13) puts("File tidak dapat
diciptakan !\r\n"); , puts berfungsi menampilkan output yang tidak memerlukan format ,
lalu statement yang diakhiri dengan tanda seru yang berarti logika not , kemudia r
berfungsi membuka file yang telah dibaca dan \n berfungsi sebagai new line dan tutup
kurung lalu titik koma sebagai pembatas . Lalu (Pada baris ke-14) } berfungsi untuk
menutup atau mengakhiri program . lalu kemudian (Pada baris ke-15)
while((kar=getche())!=CTRL_Z) , di sini menggunakan perulangan while, kemudian
kar sama dengan getche berarti nilai kar sama dengan getche , getche merupakan fungsi
yang digunakan untuk membaca karakter , dengan setelah memasukan sebuah karakter
kita tidak perlu menekan enter , dan karakter yang dimasukan ditampilkan dilayar ,
kemudian tanda seru yang berarti logika not sama dengan CTRL_Z , maka apabila kita
menekan tobol kombinasi itu maka program akan terhenti dan tersimpan . Lalu (Pada
baris ke-16) putc(kar,pf); , putc berfungsi untuk mencetak karakter kar, dan pointer
yang telah kita tentukan . dan di akhiri tanda titik koma sebagai pembatas . Lalu (Pada
baris ke-17) fclose(pf); berfungsi untuk menutup berkas stream yang diakhiri tanda
titik koma sebagai pembatas . selanjutnya . dan (Pada baris ke-18) diakhiri dengan
tanda } berfungsi untuk menutup atau mengakhiri program.

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014
 PROGRAM 25

Pada program 25 ini memprogram cara membuka file. Pada program ini terdapat file
header yang digunakan yaitu:
(Pada baris ke-1) menggunakkan input header #include<stdio.h> ,yang merupakan
standar input- output header yang biasa digunakaan untuk mengimput . (Pada baris ke-
2) menggunakan input header #include<conio.h> yang berfungsi untuk menampilkan
fungsi antarmuka kepada pengguna. Selanjutnya (Pada baris ke-3) fungsi utama
main() pada baris selanjutnya yang artinya merupakan komponen yang dibutuhkan
pada setiap program bahasa C. pada praktikum dilihat bahwa bentuk sederhana dari
fungsi main terdiri dari main yang diikuti dengan tanda buka dan tutup kurung. (Pada
baris ke-4) praktikum program ini adalah tanda buka kurung kurawal ({) berfungsi
untuk mengawali suatu program atau sebuah statement . kemudian (Pada baris ke-5)
FILE*pf; , ini adalah pendeklarasian dengan instruksi yang di bentuk hanya pointernya
saja kemudian di akhiri tanda titik koma yang berfungsi sebagai pembatas . lalu (Pada
baris ke-6)char kar,nama; yaitu pendeklarasial rumus menggunakan variable tipe data
char . (Pada baris ke-7) printf() berfungsi menmpilkan output ke monitor yaitu
("Masukkan nama file anda :"); yang merupakan sebuah statement yang di tempatkan
di dalam kiring dan di beri tanda petik di awal dan akhir kalimat serta di akhiri tanda
titik koma yang berfungsi sebagai pembatas . (Pada baris ke-8) scanf("%s",&nama);
scanf yaitu yang berfungsi mengambil input data dari keyboard berupa numeric ,
karakter dan string kemudian %s digunakan untuk menampilkan nilai string . lalu
(Pada baris ke-9) printf("Nama anda adalah:\n"); , pintf berfungsi menampilkan
output di monitor yaitu statemen yang di isi di dalam kurung dan di kutip menggunakan
tanda petik lalu di \n berfungsi sebagai new line lalu diakhiri tanda titik koma sebagai
pembatas . lalu (Pada baris ke-10) menggunakan percabangan if , yaitu
if((pf=fopen(&rumus,"r"))==NULL) , pf merupakan poiter sama dengan fopen yang di
alamatkan pada rumus tadi yang habis kita buat , kemudian “r” berguna untuk
membuka file yang baru di tulis lalu tutup kurung dan == NULL . kemudian (Pada
baris ke-11) buka kurung kurawal ({) berfungsi untuk mengawali suatu program atau
sebuah statement .

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014
dan (Pada baris ke-12) puts("File tidak dapat diciptakan !\r\n"); , puts berfungsi
menampilkan output yang tidak memerlukan format , lalu statement yang diakhiri
dengan tanda seru yang berarti logika not , kemudia r berfungsi membuka file yang telah
dibaca dan \n berfungsi sebagai new line dan tutup kurung lalu titik koma sebagai
pembatas . Lalu (Pada baris ke-13) } berfungsi untuk menutup atau mengakhiri
program . lalu kemudian (Pada baris ke-14) while((kar=getch(pf))!=EOF) , di sini
menggunakan perulangan while, kemudian kar sama dengan getche berarti nilai kar sama
dengan getche , getche merupakan fungsi yang digunakan untuk membaca karakter ,
dengan setelah memasukan sebuah karakter kita tidak perlu menekan enter , dan karakter
yang dimasukan ditampilkan dilayar , kemudian tanda seru yang berarti logika not sama
dengan CTRL_Z , maka apabila kita menekan tobol kombinasi itu maka program akan
terhenti dan tersimpan . lalu (Pada baris ke-15) putchar(kar); putchar berfungsi untuk
mencetak karakter kar, dan pointer yang telah kita tentukan . dan di akhiri tanda titik
koma sebagai pembatas . lalu (Pada baris ke-16) fclose(pf); nerfungsi untuk menutup
berkas stream yang diakhiri tanda titik koma sebagai pembatas . selanjutnya (Pada baris
ke-17) getch() dan Lalu (Pada baris ke-18) } berfungsi untuk menutup atau mengakhiri
program .

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN
Reka Wicaksana
2020-71-014

Smart Electronic Systems Laboratory


Institut Teknologi PLN

Anda mungkin juga menyukai