MODUL 7 bru 03
-
Upload
zukrinurmustapa -
Category
Documents
-
view
356 -
download
2
Transcript of 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
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
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
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
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
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
Output
Atau
Output rekaman data pada file eksternal ip
PEMROGRAMAN PASCAL 109
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
<<<<< 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
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
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
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
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
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
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
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