MODUL 7 bru 03

22
MODUL FILE TEKS TUJUAN Setelah melakukan pratikum , diharapkan dapat: Melakukan operasi file teks dengan: 1. Menggunakan stetemen Assign dan Rewrite. 2. Menggunakan stetemen Reset, Append dan Close PENDAHULUAN 1. PENGANTAR FILE TEKS Fungsi File adalah : agar program, data atau yang lainnya menjadi tidak hilang ketika computer dimatikan. Jadi data yang disimpan di file sewaktu – waktu dapat dibuka kembali. Struktur file memungkinkan kita untuk menyimpan data secara permanen dan mengaksesnya kembali bila perlu. Turbo Pascal menyediakan tiga macam file, yaitu : File bertipe File Teks File tak bertipe Selanjutnya jenis file yang akan dibahas adalah file teks 2. FILE TEKS Ciri khas dari file teks adalah karakter yang menyebabkan adanya baris baru. Karakter yang menyusun baris adalah Carriage Return dan Line Feed (CR dan LF). Kedua tanda ini secara bersama – sana disebut sebagai tanda akhir baris. a. Deklarasi File Teks File teks dideklarasikan dengan kata Text. Contoh : Var Matematika : Text ; PEMROGRAMAN PASCAL 103

Transcript of MODUL 7 bru 03

Page 1: MODUL 7 bru 03

MODUL

FILE TEKS

TUJUANSetelah melakukan pratikum , diharapkan dapat: Melakukan operasi file teks dengan:1. Menggunakan stetemen Assign dan Rewrite.2. Menggunakan stetemen Reset, Append dan Close

PENDAHULUAN1. PENGANTAR FILE TEKS

Fungsi File adalah : agar program, data atau yang lainnya menjadi tidak hilang ketika computer dimatikan.Jadi data yang disimpan di file sewaktu – waktu dapat dibuka kembali.Struktur file memungkinkan kita untuk menyimpan data secara permanen dan mengaksesnya kembali bila perlu.

Turbo Pascal menyediakan tiga macam file, yaitu : File bertipe File Teks File tak bertipe

Selanjutnya jenis file yang akan dibahas adalah file teks

2. FILE TEKSCiri khas dari file teks adalah karakter yang menyebabkan adanya baris baru.

Karakter yang menyusun baris adalah Carriage Return dan Line Feed (CR dan LF).

Kedua tanda ini secara bersama – sana disebut sebagai tanda akhir baris.

a. Deklarasi File Teks

File teks dideklarasikan dengan kata Text.

Contoh :

Var

Matematika : Text ;

Pada contoh di atas, Matematika adalah variable file teks

b.Langkah Operasi File

Secara umum, langkah yang diperlukan dalam melaksanakan operasi file teks adalah

sebagai berikut :

1. Mengaitkan variable file dengan file eksternal

2. Membuka file

3. Memproses file

4. Menutup file

PEMROGRAMAN PASCAL 103

Page 2: MODUL 7 bru 03

c. Fungsi dan Prosedure yang digunakan pada file teks

1. Rewrite

Fungsinya membuka file yang baru dimedia penyimpanan.

Bentuk pendeklarasian :

Rewrite (nama file) ;

Contoh : Rewrite(matematika);

Bila menggunakan Rewrite, ada dua kemungkinan yang terjadi:

Bila file sudah ada, isi file akan hilang. Akibatnya data yang disimpan

sebelumnya hilang.

Bila file belum ada, file akan diciptakan dan sesudah itu file sudah dalam

keadaan terbuka.

2. Assign

Fungsinya menghubungkan nama eksternal file ke suatu variable file.

Bentuk Pendeklarasian

Assign (nama file, nama eksternal);

Contoh : Assign (matematika, ‘A :\ Data.dat’);

3. Append

Fungsinya untuk membuka file yang sudah ada untuk keperluan menambah,

mengedit atau menghapus isi dari fie teks.

Bentuk pendeklarasian

Append (nama file) ;

4. Write/Writeln

Fungsinya untuk menyimpan data ke file teks

Bentuk pendeklarasian :

Write (nama file, nama field) ;

5. Read/Readln

Fungsinya untuk membaca satu / lebih field dari file ke dalam satu / lebih field

Bentuk pendeklarasian

Read (nama file, nama field) ;

6. Reset

PEMROGRAMAN PASCAL 104

Page 3: MODUL 7 bru 03

Fungsinya membuka file yang sudah ada sebelumnya.

Bentuk pendeklarasiannya :

Reset (nama file) ;

Contoh : Reset (matematika) ;

7. Close

Fungsinya menutup file yang telah dibuka dengan append, rewrite dan reset

Bentuk pendeklarasian :

Close (nama file);

Contoh : Close (matematika);

8. EOF (End Of File) Fungsinya menghasilkan posisi apakah sudah diakhir file atau belum, dengan statementJika EOF di akhir baris maka EOF = true sebaliknya kalau tidak diakhir maka EOF = false.

3. APLIKASI3.1 Membuat File Teks Baru

Langkah – langkahnya :1. Deklarasikan pada bagian pendeklarasian sebuah nama file dengan tipe TEXT.2. Hubungkan nama eksternal file dengan variable file dengan menggunakan Assign3. Buka file teks yang baru terbentuk dengan Rewrite4. Masukan data yang akan disimpan ke masing – masing field5. Simpan data – data tersebut dengan menggunakan write/writeln6. Ulangi langkah 4 dan 5 bila masih ada data yang akan disimpan.7. Tutup file teks dengan menggunakan Close

Contoh Misalkan akan disimpan data beberapa nilai mata kuliah dari seorang mahasiswa.Yang diinput adalah Nama, NBP, Mata Kuliah dan Nilai yang diperoleh.Data disimpan ke eksternal file yaitu di D:\STKIP\PK\ip.dat {sesuaikan dengan tempat penyimpanan}.

PEMROGRAMAN PASCAL 105

Page 4: MODUL 7 bru 03

Output

Ketika file khsku dihubungkan dengan file eksternal IP, maka ketika file eksternal dibuka dengan menggunakan media notepad maka data yang diinput akan tersimpan secara otomatis.

Output rekaman data pada file eksternal ip

Latihan

PEMROGRAMAN PASCAL 106

Nama File

khsku

Membuat File khsku

Menutup File khsku

Menghubungkan file khsku dengan file eksternal ip

Menyimpan data

Page 5: MODUL 7 bru 03

Membuka file khsku

Membaca data yang

telah disimpan

pada program sebelumn

ya

Akan dibuat program pustakaku, program berikut akan menyimpan data beberapa mahasiswa yang meminjam buku di perpustakaan.a. Deklarasikan nama filenya adalah pustaka dengan tipe Textb. Hubungkan nama file dengan eksternal file ptk.dat agar data – data yang diinput

tersimpan pada file ptk.datc. Buka file pustaka dengan menggunakan Rewrited. Field – field yang diinput adalah nama, NBP, jurusan, judul buku, jumlah hari

keterlambatan pengembaliane. Dalam hal ini perhitungan bagi keterlambatan adalah :

Denda = telat * 500 f. Simpan dengan menggunakan writelng. Ulangi langkah d, e dan f bila masih ada data yang akan disimpan.h. Tutup file teks dengan menggunakan close.(-----------------------------Nama file : Lat71.Pas-----------------------------)

3.2 Membuka File teks yang sudah adaLangkah – langkahnya :1. Deklarasikan pada bagian pendeklarasian sebuah nama file dengan tipe TEXT.2. Hubungkan nama eksternal file dengan variable file dengan menggunakan Assign3. Buka file teks dengan Reset4. Baca data yang ada dalam file dengan menggunakan Read5. Tampilkan masing – masing field ke layar monitor6. Ulangi langkah 4 dan 5 bila belum berakhir dari file (EOF)7. Tutup file teks dengan menggunakan close.

ContohMenampilkan data yang disimpan pada contoh sebelumnya.

Saat pemanggilan/pembacaan data yang disimpan dengan menggunakan Readln dan menampilkan kembali ke layar monitor dengan menggunakan writeln, panjangnya format masing – masing field harus sesuai dengan panjang format saat penyimpanan. Kalau berbeda, maka hasil yang diperoleh akan salah karena akan mengambil sebagian dari isi field lain. Output

PEMROGRAMAN PASCAL 107

Page 6: MODUL 7 bru 03

Problem!!Bila file teks dibuka dengan rewrite, dan file tersebut sudah ada sebelumnya, maka isi dari file teks tersebut akan dihapus karena dianggap baru.

SolusiPerlu suatu pengecekan , apakah file teks yang akan dibuka sudah ada atau belum.Seandainya sudah ada maka tampilkan suatu pesan.Langkah – langkah :1. Buka file teks dengan reset

Gunakan suatu compiler directive yang mengapit reset tersebut yaitu mulai {$I+} dan diakhiri dengan {$I-} untuk mengembalikan ke posisi default.Menggunakan compiler directive, jika file sudah ada maka tidak akan terjadi kesalahan, sebaliknya bila file teks ada maka akanterjadi kesalahan.\

2. Kesalahan dari membuka file dapat diketahui dari fungsi IORESULT

Kalau tidak terjadi kesalahan berarti file sudah ada pada hardisk (media penyimpanan). Untuk keamanan munculkan suatu pesan yaitu “ Apakah file tersebut akan ditimpa atau tidak ?”

3. Bila file sudah ada tetapi akan ditimpa maka file akan dibuka dengan reset dan dibuka ulang dengan rewrite untuk keperluan perekaman data, karena reset hanya untuk membaca data.

Contoh :

PEMROGRAMAN PASCAL 108

Page 7: MODUL 7 bru 03

Output

Atau

Output rekaman data pada file eksternal ip

PEMROGRAMAN PASCAL 109

Page 8: MODUL 7 bru 03

Latihan.1. File teks yang dibuat pada Lat71.Pas, akan dibaca dan hasilnya akan ditampilkan ke

layar monitor.Buatlah bahasa program sesuai dengan algoritma berikut dan gambarkan flowchartnya.Algoritmanya sebagai berikut!

i. Mulaiii. Deklarasikan nama filenya adalah pustaka dengan tipe Text

iii. Hubungkan nama file dengan eksternal file ptk.dat agar data – data yang akan ditampilkan dibaca dari file ptk.dat

iv. Buka file pustaka dengan menggunakan Resetv. Baca field – field nama, NBP, jurusan, judul buku, jumlah hari

keterlambatan pengembalian dari ptk.dat di E:/PK dengan menggunakan perintah Read / readln

vi. Tampilkan dengan panjang format masing – masing field – field tersebut harus sesuai dengan panjang format waktu penyimpanan .Catatan : Jika berbeda maka hasil yang diperoleh akan salah karena akan mengambil sebagian dari isi field lain.

vii. Sedangkan field Denda sebelum ditampilakan dilakukan proses sebagai berikut :

Denda = telat * 500 viii. Pembacaan data pada file teks dilanjutkan sampai akhir dari file (EOF)

ditemukan, jika belum ulangi dari langkah v

ix. Tampilkan data sesuai dengan bentuk berikut :

PEMROGRAMAN PASCAL 110

berubah

Page 9: MODUL 7 bru 03

<<<<< Daftar Peminjam di Perpustakaan Matematika STKIP PGRI <<<<<--------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------No Nama NBP Jurusan Judul Buku Telat Denda--------------------------------------------------------------------------------------------------1. …………. …………. …….. ………..….. ……… …. … 2. …………. …………. …….. ………..….. ……… ..……. n. …………. …………. ……. ………..….. ……… …. … ---------------------------------------------------------------------------------------------------

x. Tutup file teks dengan menggunakan close. (-----------------------------Nama file : Lat72.Pas-----------------------------)

2. Buatlah bahasa program seperti no 1, akan tetapi munculkan sebuah pesan kalau data yang akan dibuat sudah ada. Karena itu modifikasi program yang telah ada pada no1 dengan menggunakan compiler directive yaitu {$I+} dan {$I+} . Tampilkan pesan “ Apakah file tersebut akan ditimpa atau tidak ?”. Jika dijawab dengan ‘Y’ maka file teks yang sudah ada isinya akan terhapus sebaliknya jika dijawab dengan ’T’, maka proses tidak dilanjutkan dan keluar dengan menggunakan Halt. Gunakan IORESULT untuk mengecek kesalahan. Dalam hal ini, kombinasikan untuk membuka file antara Reset dengan rewrite .

(------------------------Nama file : Lat73.Pas-----------------------------)

3.3 Menampilkan data tertentuLangkah – langkahnya :1. Deklarasikan pada bagian pendeklarasian sebuah nama file dengan tipe TEXT.2. Hubungkan nama eksternal file dengan variable file dengan menggunakan Assign3. Buka file teks dengan Reset4. Tanyakan data yang kan dicari untuk ditampilkan5. Lakukan pencarian data dengan tahapan sebagai berikut :

a) Baca data tiap baris dari file dengan menggunaka Readln b) Bandingkan data yang dibaca dengan data yang akan dicaric) Tampilkan bila data yang dibaca sama dengan data yang dicari dengan

menggunakan writed) Ulangi langkah a) untuk membaca baris berikutnya bila ada yang dibaca belum

mencapai akhir file (Not EOF)e) Tampilkan pesan bahwa data tidak ada defile, bila data yang dibaca tidak sama

dengan data yang sedang dicari sedangkan pembacaan sudah mencapai akhir file (EOF)

6. Tutup file teks dengan menggunakan close.

Contoh

PEMROGRAMAN PASCAL 111

Page 10: MODUL 7 bru 03

Akan ditampilkan data yang disimpan dari contoh 3.1, data yang akan ditampilkan hanya data yang ingin dicari saja. Pada contoh berikut dicari data sesuai dengan nama mata kuliah.

Output

Problem !!Masalah dalam penerimaan data untuk string(1) Huruf Besar/Kecil(2) Panjang dari field (variable), yaitu : karakter kosong dianggap sebuah huruf

Solusi Untuk solusi dari problem satu adalah :

Menggunakan fungsi upcase untuk kedua field, yaitu field yang dicari dan field pencari

Untuk solusi dari problem dua adalah : Karakter kosong di awal atau di akhir field dibuang.Kelemahan dari bahasa program diatas, bila dilakukan pencarian dengan mata kuliah yang diinput “Pemograman Komputer” maka pencarian tidak akan berhasil, karena panjang field mata kuliah didalam data adalah 20 sedangkan panjang data yang diinput adalah 19.

PEMROGRAMAN PASCAL 112

Page 11: MODUL 7 bru 03

Penduplikasian dari spasi

Langkah – langkah untuk menduplikasi karakter kosong sesuai dengan filed yang dicari adalah sebagai berikut :a. Dibuat karakter kosong dengan panjang sesuai dengan banyak karakter field

yang dicari.b. Duplikasi karakter kosong yang dibuat dan menghilangkan karakter kosong

tersebut sebanyak karakter field pencari yang di input.c. Karakter field pencari disamakan dengan karakter kosong point b dengan di

tambah dengan field pencari yang diinput

Contoh:

Output

Atau

PEMROGRAMAN PASCAL 113

Page 12: MODUL 7 bru 03

Latihan Buatlah program untuk mencari data pada file teks latihan 1 berdasarkan nama sipeminjam, ikuti algoritma berikut!(i) Mulai(ii) Deklarasikan nama filenya adalah pustaka dengan tipe Text(iii) Hubungkan nama file dengan eksternal file ptk.dat agar data – data yang akan

ditampilkan dibaca dari file ptk.dat.(iv) Buka file pustaka dengan menggunakan Reset.(v) Buat karakter kosong dengan panjang sesuai panjang karakter nama yang

dideklarasikan pada variable.(vi) Input nama yang dicari/ ditampilkan datanya.(vii) Duplikasi karakter kosong yang dibuat dan menghilangkan karakter kosong

tersebut sebanyak karakter nama yang di input, dengan caraCari := copy(spasi, 1, 20-length(cari)) + cari;

(viii) Baca field – field nama, NBP, jurusan, judul buku, jumlah hari keterlambatan pengembalian dari ptk.dat di E:/PK dengan menggunakan perintah readln

(ix) Jika nama/peminjam yang di cari ada maka akan ditampilkan data NBP, Jurusan, judul buku yang dipinjam dan jumlah keterlambatan.

(x) Sedangkan field Denda sebelum ditampilakan dilakukan proses sebagai berikut :

Denda = telat * 500 (xi) Jika tidak ada maka akan ditampilkan pesan “Nama yang diinput tidak

meminjam pada perpustakaan Matematika STKIP PGRI “(xii) Tutup file teks pustaka dengan close(xiii) Selesai.

(------------------------Nama file : Lat74.Pas-----------------------------)

3.4 Menambah dataLangkah – langkahnya sama dengan “Membuat Data Baru” tetapi eksternal file dibuka dengan AppendYaitu :1. Deklarasikan pada bagian pendeklarasian sebuah nama file dengan tipe TEXT.2. Hubungkan nama eksternal file dengan variable file dengan menggunakan Assign3. Buka file teks yang baru terbentuk dengan Append4. Masukan data yang akan disimpan ke masing – masing field5. Simpan data – data tersebut dengan menggunakan write/writeln6. Ulangi langkah 4 dan 5 bila masih ada data yang akan disimpan.7. Tutup file teks dengan menggunakan Close

PEMROGRAMAN PASCAL 114

Page 13: MODUL 7 bru 03

Data yang ditambah

ContohBerikut ini adalah contoh program penambahan data pada contoh sebelumnya.

Output pada file eksternal

LatihanBuatlah program menambah data dari lat 71.pas, dengan langkah – langkah yang sama dengan cara membuat data baru (copy aja bahasa program lat71.pas) tetapi eksternal file dibuka dengan append.

(------------------------Nama file : Lat75.Pas-----------------------------)

PEMROGRAMAN PASCAL 115

Page 14: MODUL 7 bru 03

3.5 Mengoreksi data (Pengayaan)Langkah – langkahnya :1. Deklarasikan dua buah variable file dengan tipe Text2. Hubungkan kedua variable file dengan masing – masing eksternal filenya.3. Buka file teks pertama untuk keperluan pembacaan data, dibuka dengan Reset

Buka file teks kedua (Dummy file) untuk keperluan penulisan dengan Rewrite4. Masukkan data yang dikoreksi5. Lakukan pencarian data yang akan dikoreksi dengan tahapan

a) Baca data tiap baris (record) dari file teks pertama dengan readb) Bandingkan data yang dibaca dengan data yang dicari.c) Bila pencarian sudah sampai akhir file (EOF) dan data dicari tidak ada,

tampilkan pesan “ Data Tidak Ada “d) Rekam record pada file teks kedua dan ulangi langkah a) bila belum mencapai

EOFe) Bila data yang dibaca sama dengan data yang dicari maka lakukan :

Masukkan isi data yang akan dikoreksi Rekam data yang dikoreksi ke Dummy File Baca data berikutnya dari data pertama dan simpa ke file teks kedua

sampai EOF dari data pertama.6. Tutup data dengan menggunakan Close bila operasi sudah selesai untuk kedua file7. Hapus file teks pertama dengan Erase8. Ganti nama dummy file dengan nama yang telah dihapus dengan Rename

PEMROGRAMAN PASCAL 116

Page 15: MODUL 7 bru 03

4 LATIHAN 1. Buatlah bahasa program penyimpanan data serta algoritma dengan kata – kata dan

flowchartnya.Misalkan data mahasiswa yang dibuat pada modul 6 pada latihan ke-4, setiap kali program dijalankan data yang telah dimasukkan akan hilang karena tidak disimpan kedalam file. Untuk masalah tersebut, yaitu agar data yang telah dimasukkan tidak hilang, maka data akan disimpan ke dalam file di drive E:/PK/ pada folder local masing – masing dengan nama Mhs.DatKarena file ini belum ada sebelumnya, maka dibuat terlebih dahulu pada bahasa program dengan menggunakan rewrite .Data – data yang disimpan hanya field – field yang diinput dari keyboard, sedangkan field yang diperoleh dari hasil proses perhitungan tidak disimpan, dengan tujuan agar media penyimpanan tidak cepat penuh.Gunakan pengulangan untuk memasukkan data mahasiswa yang lebih dari satu orang. Jadi untuk data mahasiswa tersebut yang disimpan adalah fielld – field : NBP, Nama, UTS,UAS, Tugas sedangkan field – field NA dan indeks tidak disimpan.Gunakan format penulisan untuk masing – masing field sesuai dengan panjang/jarak yang diinginkan.Setelah data diinput, coba lihat hasilnya dengan membuka file Mhs.Dat

2. Buatlah bahasa program dan flowchart dari kasus berikut!File teks yang dibuat pada latihan 1 akan dibaca dan hasilnya akan ditampilkan ke layar monitor. Baca field – field NBP, Nama,UTS,UAS, Tugas, Presentasi, Kuis dari file Mhs.Dat di E:/PK/ dan panjang format masing – masing field harus sesuai dengan panjang format waktu penyimpanan. Sedangkan field NA dan Indeks sebelum ditampilkan dilakukan proses sebagai berikut :

NA = 0,25*UTS + 0,30*UAS + 0,20*Tugas + 0,20*Presentasi + 0,05*Kuis Jika NA ≥ 81 maka Indeks = ‘A’ Jika 66 ≤ NA < 80 maka Indeks = ‘B’ Jika 56 ≤ NA < 66 maka Indeks = ‘C’ Jika 41 ≤ NA < 56 maka Indeks = ‘D’ Jika NA < 41 maka Indeks = ‘E’

Pembacaan data pada file teks dilanjutkan sampai akhir dari file (EOF) ditemukan. Dalam hal ini file teks dibuka dengan Reset. Bentuk tampilan dilayar adalah :

<<<<< Daftar Nilai Mahasiswa <<<<<-------------------------------------------------

------------------------------------------------------------------------------------------------------------ No NBP Nama UTS UAS Tugas Presentasi Kuis NA Indeks

------------------------------------------------------------------------------------------------------------1. ………… ………… ……. …….. …….. ……… ……. …. ….. 2. …………. …………. ……. …….. …….. ……… ..….. …. …… n. ………… ………… ……. …….. …….. ………… ……. …. …….

------------------------------------------------------------------------------------------------------------

Nilai A = …. Orang

PEMROGRAMAN PASCAL 117

Page 16: MODUL 7 bru 03

Nilai B = …. OrangNilai C = …. Orang

Nilai D = …. OrangNilai E = …. Orang

3. Buatlah bahasa program seperti no 2, akan tetapi munculkan sebuah pesan kalau data yang akan dibuat sudah ada. Karena itu modifikasi program yang telah ada pada no1 dengan menggunakan compiler directive yaitu {$I+} dan {$I+} . Tampilkan pesan “ Apakah file tersebut akan ditimpa atau tidak ?”. Jika dijawab dengan ‘Y’ maka file teks yang sudah ada isinya akan terhapus sebaliknya jika dijawab dengan ’T’, maka proses tidak dilanjutkan dan keluar dengan menggunakan Halt. Gunakan IORESULT untuk mengecek kesalahan. Dalam hal ini, kombinasikan untuk membuka file antara Reset dengan rewrite .

4. Buatlah program untuk mencari data file teks mhs.dat (program no 1) berdasarkan NoBP.5. Buatlah program untuk menambah data file teks mhs.dat (program no 1)

PEMROGRAMAN PASCAL 118