• Tidak ada hasil yang ditemukan

Ope r a si File

Dalam dokumen MODUL PEMROGRAMAN BAHASA C (Halaman 69-74)

1. Tujuan

Mengenal, mempelajari dan memahami operasi input dan output ke file dalam pemrograman bahasa-C.

2. Teori Dasar

Dalam pembuatan program seringkali diperlukan suatu wadah I/O (Input dan Output) untuk menyimpan data hasil olahan, sehingga akan mempermudahkan kita untuk memanggil data tersebut bila sewaktu-waktu dibutuhkan. Wadah I/O yang banyak digunakan untuk menyimpan data adalah file.

Ada dua system file yang dimiliki oleh Turbo-C, yaitu Standar I/O dan System I/O. Standar I/O lebih mudah digunakan dibanding dengan System I/O,

2.1. Standar I/O

Berdasarkan penggunaannya standar I/O dapat dibagi menjadi empat jenis file;

Ø Operasi file yang khusus menangani karakter.

Ø Operasi file yang khusus menangani string.

Ø Operasi file yang menangani data campuran dan disimpan menurut format tertentu.

Ø Operasi file yang menangani data yang berbentuk record seperti pada structure.

2.2. File Text dan File Binary

Berdasarkan tipenya, Turbo-C membedakan jenis menjadi dua jenis, yaitu :

Ø File Text, dan

Untuk jenis file text, semua data akan disimpan dalam bentuk text, baik data itu berbentuk text maupun bilangan. O leh karena disimpan dalam bentuk text maka akan membutuhkan tempat yang banyak (bergantung banyaknya karakter).

Contohnya, bila kita memiliki bilangan berjenis float 334,36289 dan akan disimpan dalam bentuk file text, maka oleh karena itu data tersebut terdiri dari sembilan karakter dan setiap karakter membutuhkan satu lokasi alamat, maka data tersebut membutuhkan memori 9 byte.

Lain halnya dalam Binary file, kebutuhan memori terhadap suatu bilangan tergantung pada jenisnya, bila data tersebut berjenis float maka data tersebut membutuhkan 4 byte dan untuk data berjenis integer membutuhkan 2 byte. Jadi kesimpulannya data yang disimpan dalam bentuk biner lebih menguntungkan daripada data yang disimpan dalam bentuk text.

2.3. Membuka File Standar I/O

Meskipun file standar I/O dibagi menjadi empat jenis, akan tetapi keempat jenis ini memiliki perintah yang sama, secara umum dapat dituliskan sebagai berikut:

...

FILE *nama_pointer-file; ...

Nama_pointer_file = fopen(“nama_file”, ”modus”);

Tabel berikut ini menunjukkan beberapa modus file yang dikenal dalam Turbo-C. File terdapat dalam perintah fopen() harus dilengkapi dengan nama drive, directory dan sub-directorynya, bila file yang dipanggil tidak terdapat dalam drive yang dipanggil. Bila file akan dibuka sebelumnnya, maka pointer yang akan menunjuk pada file harus dideklarasikan terlebih dahulu, dengan cara menuliskan sebagai berikut :

FILE *nama_pointer_file; MODE KEGUNAANNYA “r” “w“ “a” “r+” “w+” “a+”

File dibuka dalam modus baca. File harus sudah ada sebelumnya. File dibuka dalam modus tulis. File akan diciptakan bila belum ada. Bila sudah ada maka isinya akan ditimpa. File dibuka dalam bentuk tambah.

File akan diciptakan bila belum ada, bila sudah ada, data akan ditambahkan setelah data terakhir yang terdapat dalam file tersebut. File dibuka dalam modus baca dan tulis.

File harus sudah ada sebelumnnya.

File dibuka dalam modus baca dan tulis bila file sudah ada maka isinya akan ditimpa.

File dibuka dalam modus baca dan tambah, bila file belum ada maka akan diciptakan sebuah file baru.

Berikut ini akan diberikan contoh program sederhana untuk membuka file dalam modus tulis, yang disimpan ke dalam subdirectory C:\CONTOH, dan file tersebut diberi nama CONTOH.TXT. Sebagai pointer file digunakan sebuah variabel pointer dengan nama variabel p_file.

FILE *p_file;

/* Membuka CONTOH.TXT dalam modus tulis */ p_file = fopen(“B:\\CONTOH\\CONTOH.TXT”, ”W”);

Bila file yang akan dikerjakan berbentuk text, maka modus dapat ditambah dengan akhiran ’t’ atau tanpa akhiran sama sekali, jadi :

p_file = fopen(“B:\\CONTOH\\CONTOH.TXT”, ”Wt”); Atau bisa juga dengan :

p_file = fopen(“B:\\CONTOH\\CONTOH.TXT”, ”W”);

Lain halnya bila kita akan membuka file B:\CONTOH\CONTOH.TXT yang berjenis binary dalam modus tulis, bubuhi modus dengan akhiran ‘b’, maka penulisan dapat dilakukan sebagai berikut:

p_file = fopen(“B:\\CONTOH\\CONTOH.TXT”,”Wb”);

Apabila fungsi dari fopen()tidak berfungsi, atau file tersebut tidak dapat dibuka, maka fungsi ini akan memberikan hasil NULL.

2.4. Menutup File Standar I/O

Bila file tidak akan digunakan lagi maka file tersebut harus ditutup dengan menggunakan perintah fclose(), adapun bentuk umum penulisannya adalah :

fclose(nama_pointer_file);

Contoh penulisannya dalam program adalah : fclose(p_file);

2.5. System I/O

Pada system I/O, bahasa C tidak menyediakan tempat penampung untuk keper luan operasi filenya, melainkan pemrogram sendirilah yang harus mengaturnya. Adapun keuntungan dari pemakaian system ini adalah dari kecepatan pengaksesannya saja.

Untuk pengaksesan file ini digunakan dengan menggunakan fungsi _open(),

_create(), dan _close(). Fungsi _open() digunakan untuk membuka file. Fungsi _create() digunakan untuk menciptakan file baru atau mengosongkan file yang

sudah ada. Fungsi _close() digunakan untuk menutup file yang dibuka. Untuk membaca dan menulis file ini digunakan fungsi _read() dan _write().

3. Tugas Pendahuluan

1. Sebutkan beberapa jenis modus operasi file yang dikenal oleh pemrograman bahasa C, serta kegunaannya.

2. Berikan contoh program sederhana untuk operasi file yang ada baik itu untuk modul baca dan modus tulisnya.

3. Baga imana cara mendeklarasikan, membuka dan menutup file yang bertipe text dalam modus baca (read).

4. Bagaimana cara mendeklarasikan, membuka dan menutup file yang bertipe text dalam modus tulis (write).

4. Prosedure Percobaan

1. Buatlah program untuk memasukkan data bertipe float sebagai berikut : 25.5 29.5 35.0 44.5 50.0 65.5 72.0 78.5

2. Kemudian buatlah program untuk membaca data tersebut dalam bentuk file text, selanjutnya buatlah kembali data tersebut diatas menjadi file yang baru. Sehingga anda harus mempunyai dua buah file text dengan data yang sama.

5. Tugas Akhir

Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda yang anda lakukan.

LAMPIRAN – TC – 09

Contoh Program 9.1

/* Contoh program 9.1 */

/* Program membuka file dan mengisi file dalam bentuk text */ #include<stdio.h> #include<conio.h> main() { FILE *coba; int m; clrscr();

printf(“ Tuliskan data integer : ”); scanf(“ %d ”,&m);

/* Membuka file LATIH.TXT */ coba = fopen(“C:\LATIH.TXT”); /* Menulis file LATIH.TXT */ fprintf(coba, ”%d”, m); fclose(coba);

}

Contoh Program 9.2

/* Contoh program 9.2 */

/* Program membuka file dan mengisi file dalam bentuk text */ /* dengan data variabel array */

#include<stdio.h> #include<conio.h> main() { FILE *coba; int n, i; float F[20], PF[20]; clrscr();

printf(“ Tuliskan banyaknya data : ”); scanf(“ %d”, &n);

for (i = 1;i < n;i++) {

printf(“Tuliskan data ke %d : ”, n); scanf(“%f”, &F[i]);

PF[i]=F[i] * F[i]; }

/* Membuka file LATIH.TXT */

coba = fopen(“C:\LATIH.TXT”, ”w”); /*Menulis file LATIH.TXT */

for (i = 1;i < =n;i++)

fprintf(coba, ”%f %f”, F[i], PF[i]); fclose(coba);

Contoh Program 9.3

/* Contoh program 9.3 */

/* Program membuka file dan membaca file dalam bentuk text */ /* dengan data variabel array */

#include<stdio.h> #include<conio.h> main() { FILE *coba; int n, I; float F[20], PF[20], f1, paf; clrscr();

/* Membuka file LATIH.txt */

coba = fopen(“C:\ALATIH.TXT”, ”r”); /* Membaca file LATIH.TXT */

i = 1;

while((fscanf(coba,”%f %f”, &f1, &paf)) != EOF) { F[i] = f1; PF[i] = paf; i = i + 1; } n = i;

for (i = 1;i <= n;i++) {

printf(“%f %f”, F[i], PF[i]); }

fclose(coba); }

Dalam dokumen MODUL PEMROGRAMAN BAHASA C (Halaman 69-74)

Dokumen terkait