Filesequential (Minggu Ke XIII)
Filesequential (Minggu Ke XIII)
Filesequential (Minggu Ke XIII)
Sesi/Perkuliahan ke: 12
Deskripsi singkat : Dalam pertemuan ini akan mempelajari tentang konsep file
sequential, pembuatan file sequential dan operasi file sequential
Reference :
1. Insap Santoso, Ir.,MSc, Program-program Terapan Menggunakan Quick
Basic, Andi Yogyakarta.
2. Jogiyanto H.M, Teori dan Aplikasi Program Komputer Bahasa Basic, Andi
Yogyakarta.
3. Rijanto Tosin, Quick Basic, Dinastindo.
BERKAS SEQUENTIAL
4. Modifikasi dari data yang ada di statemen READ-DATA lebih sulit dilakukan
oleh pemakai program. Perubahan, penambahan, atau pengurangan data di
statemen READ-DATA harus dilakukan dengan membuka dan merubah
program yang mengandung data tersebut, sehingga pemakai program harus
mengerti programnya. Dengan menggunakan file data, modifikasi data dapat
dilakukan dengan lebih mudah oleh si pemakai program, karena tidak terlibat
langsung dengan perubahan programnya.
File data pada dasarnya terdiri atas record-record yang memuat informasi.
Dibawah ini adalah contoh data yang akan direkam ke dalam file.
NAMA UMUR ALAMAT
Zeini 27 Jakarta
Rudi 30 Bandung
Supriyatno 26 Jakarta
Sari 24 Jakarta
Jhonny 19 Jakarta
Abdi 25 Jakarta
Data diatas terdiri atas 3 field yaitu field Nama, Umur dan Alamat. Data
tersebut memuat 6 buah record. Kumpulan dari record tersebut tersimpan dalah
sebuah file.
Untuk membedakan antara satu file dengan file lainnya diperlukan sebuah
nama untuk masing-masing file. Aturan yang berlaku untuk nama file data sama
halnya dengan yang berlaku untuk nama file program.
Di dalam BASIC, file data dapat dibedakan dalam 2 tipe tergantung dari format atau
organisasi dari data tersebut yang disimpan didalam file, yaitu file data sequential
(akses urut) dan file data random (akses acak)
File data akses sequential (urut) sebenarnya merupakan berkas teks ASCII.
Setiap record dalam file data akses urut tersimpan sebagai sebuah baris teks, yang
diakhiri dengan carriage-retur n dan line-feed (CR-LF).
Panjang setiap record dalam file data akses urut bisa berbeda satu sama lain.
Gambar dibawah ini menyajikan contoh sebuah file data akses urut dengan 3 record
yang setiap recordnya terdiri atas 3 buah field Nama, Umur dan Alamat.
Record 1
“ Z e i n i “ , 23 “ J a k a r t a “
Dalam file data akses urut, tipe data yang akan disimpan dalam field
menentukan posisi awal dan akhir dari field yang bersangkutan.
Membuka File
Sebelum data yang disimpan dalam file data bisa dibaca, atau untuk
menyimpan data ke dalam file data, terlebih dahulu file data tersebut harus dibuka.
Pada saat membuka file data akses urut, tentukan terlebih dahulu apakah file tersebut
sebagai file input, yaitu file yang isinya akan dibaca, atau sebagai file output, yaitu
tempat untuk merekam data.
Bentuk umum statemen untuk membuka file data akses urut adalah sebagai
berikut :
Keterangan :
mode : adalah mode operasi dari file yang akan dibuka. Pada file data akses
urut, mode file dibedakan menjadi 2, yaitu :
O : menunjukkan output mode, yaitu file akan digunakan untuk
diisi dengan data (output akan direkamkan ke file).
I : menunjukkan input mode, yaitu file akan digunakan untuk
diambil datanya (input akan diambil dari file).
Nomor file : merupakan bilangan bulat antara 1 sampai dengan 255. Digunakan
untuk menyatakan nomor file yang akan dibuka.
Nama file : merupakan nama dari file.
Keterangan :
mode : terdiri atas 3 macam, yaitu
OUTPUT sama dengan mode “O”
menunjukkan bahwa file akan dibuka sebagai file
output, yaitu file yang akan diisi. Perlu berhati-hati
karena jika file yang akan dibuka belum ada, maka file
akan dibuat, dan siap diisi data. Tetapi jika nama file
sudah ada dalam media eksternal yang dimaksud, maka
file tersebut akan dikosongkan terlebih dahulu, yakni
dengan menghapus semua isinya, kemudian data yang
baru akan dituliskan ke dalam file yang sudah kosong
tersebut.
INPUT sama dengan mode “I”
menunjukkanbahwa file akan dibuka sebagai file input,
yaitu file yang isinya akan dibaca.
APPEND menunjukkan append mode, yaitu pada waktu file
dibuka, posisi file berada di akhir file, sehingga file
dapat ditambah dengan data yang baru. Mode ini tidak
terdapat pada alternatif pertama. Dalam hal ini, file
yang ditunjuk harus sudah ada dalam media eksternal
yang dimaksud. Jika pilihan in idigunakan, maka file
yang lama akan tetap ada, lengkap dengan datanya,
sedangkan data yang baru akan ditambahkanpada posisi
setelah data yang lama.
Contoh penulisan statemen OPEN untuk membuat file yang baru (output mode) :
OPEN “O”,#1,”HASIL.DAT”
Contoh penulisan statemen OPEN untuk membuka file yang telah ada (input mode) :
OPEN “I”,#1,”C:\Mydocumen\ALAMAT.DAT”
Artinya : Buka file ALAMAT.DAT yang tersimpan pada direktori Mydocument yang
ada pada Drive C.
Menutup File
File yang sudah diisi data perluditutup. Kegunaannyaadalah untuk bahwa
pada saat file ditutup, semua data yang ada di dalam penyangga (buffer, yaitu tempat
penyimpan data sementara yang menggunakan memori internal) akan dituliskan
kedalam file, sehingga menghindari kemungkinan adanya data yang hilang.
Kegunaan yang kedua adalah untuk membebaskan nomor file, sehingga bisa
digunakan oleh program yang lain.
Bentuk umum :
Dengan nomor file adalah nomor file yang akan ditutup. Jika nomor file tidak
dituliskan, maka semua file yang sedang terbuka akan ditutup semuanya.
Keterangan:
Nomor file : menyatakan nomor dari file yang akan digunakan untuk menyimpan
rekaman data. File yang akan digunakan harus sudah dibuka dengan
menggunakan statemen OPEN dalam bentuk OUTPUT atau APPEND.
Dafpar : merupakan ekspresi string atau numerik yang menyatakan data yang
akan disimpan ke dalam file.
Contoh :
WRITE #1, “Zeini”,23,”Jakarta”
Bentuk umumnya :
Contoh : Menyimpan data ke dalam suatu file dengan nama ALAMAT yang akan
disimpan pada direktori MYDATA yang ada pada drive C.
Setelah program di atas dijalankan, maka pada direktori MYDATA yang ada
pada drive C akan terbentuk satu file baru dengan nama ALAMAT. Dengan
menggunakan statemen WRITE#, susunan data di dalam file ALAMAT dapat
digambarkan sebagai berikut :
”Zeini”,23,”Jakarta”
”Rudi”,30,”Bandung”
”Supriyatno”,26,”Jakarta”
”Sari”,24,”Jakarta”
”Jhonny”,19,”Jakarta”
”Abdi”,25,”Jakarta”
Dari susunan diatas terlihat bahwa data yang disimpan didalam file dipisahkan
dengan tanda koma.
Bandingkan dengan jika penulisan data menggunakan statemen PRINT#
OPEN “C:/MYDATA/ALAMAT” FOR OUTPUT AS #1
PRINT#1,”Zeini”,23,”Jakarta”
PRINT#1,”Rudi”,30,”Bandung”
PRINT#1,”Supriyatno”,26,”Jakarta”
PRINT#1,”Sari”,24,”Jakarta”
PRINT#1,”Jhonny”,19,”Jakarta”
PRINT#1,”Abdi”,25,”Jakarta”
CLOSE#1
END
Hasilnya :
Zeini 23 Jakarta
Rudi 30 Bandung
Supriyatno 26 Jakarta
Sari 24 Jakarta
Jhonny 19 Jakarta
Abdi 25 Jakarta
Dari susunan di atas terlihat bahwa antara field yang satu dengan field yang
lainnya tidak dipisahkan oleh tanda koma sebagai pembatas (delimiter). Sehingga
dalam satu record akan dianggap hanya terdiri dari satu field saja. Oleh sebab itu,
agar posisi field-field dalam satu record tetap terjaga maka sebaiknya gunakan
statemen WRITE# untuk menulis data ke dalam file.
Contoh : Mencetak isi data yang tersimpan di dalam file ALAMAT yang ada pada
direktori MYDATA pada drive C. File ini sebelumnya telah dibuat dengan
menggunakan statemen WRITE#.
-------------------------------------------------
NAMA UMUR ALAMAT
-------------------------------------------------
Zeini 23 Jakarta
Rudi 30 Bandung
Supriyatno 26 Jakarta
Sari 24 Jakarta
Jhonny 19 Jakarta
Abdi 25 Jakarta
-------------------------------------------------
Menambah Data
Untuk menambah data di dalam file diperlukan penulisan dengan
menggunakan WRITE#, namun dalam file yg diorganisasikansecara urut, akses
terhadap recorddata akan dilakukan secara berurutan mulai dari recordpertama
sampai dengan terakhir.
Contoh : Menambah data yang yang akan tersimpan pada file ALAMAT, dimana file
ini sebelumnya telah dibuat dengan menggunakan statemenWRITE#.
OPEN “C:\MYDATA\ALAMAT” FOR APPEND AS #1
Nama$ = “xxx”
DO UNTIL Nama$=””
INPUT “Nama = “; Nama$
If Nama$=””THEN EXIT DO
INPUT “Umur =”;Umur
INPUT “Alamat= “;ALM$
PRINT “---------------------------------------------------------“
WRITE#1, Nama$, Umur, ALM$
LOOP
CLOSE
END
Hasil setelah dijalankan :
Nama = Iwan
Umur = 32
Alamat = Jakarta
-------------------------------------------
maka di dalam file ALAMAT akan bertambah satu data baru pada record terakhir
sehingga hasilnya jika program untuk membaca isi data pada contoh sebelumnya
dijalankan adalah sebagai berikut :
-------------------------------------------------
NAMA UMUR ALAMAT
-------------------------------------------------
Zeini 23 Jakarta
Rudi 30 Bandung
Supriyatno 26 Jakarta
Sari 24 Jakarta
Jhonny 19 Jakarta
Abdi 25 Jakarta
Iwan 32 Jakarta
-------------------------------------------------
INSTRUKSI FILE
1. FILEATTR
Digunakan untuk mendapatkan keterangan mengenai akses suatu file sewaktu
file tersebut dibuka dengan statemen OPEN.
Bentuk Umum :
FILEATTR (nomor file, atribut)
Keterangan :
Nomor file : bilangan bulat yang menyatakan nomor file. File yang
dinyatakan disini merupakan file yang sebelumnya telah cibuka dengan
statemen OPEN
Atribut : parameter ini terdiri dari dua pilihan nilai yaitu :
• nilai 1 berarti fungsi FILEATTR akan mengembalikan sebuah bilangan
yang menunjukkan jenis akses dari file yang bersangkutan, yakni :
Bilangan Jenis File *
1 Input
2 Output
4 Random
8 Append
32 Binary
Contoh : Buka 3 file dengan setiap metoda akses yang berbeda. Kemudian file
tersebut diperiksa dengan menggunakan fungsi FILEATTR untuk mengetahui
akses pada file bersangkutan.
For I = 1 to 4
X = FILEATTR(I,1)
SELECT CASE x
CASE 2
Jenis$=”OUTPUT”
CASE 4
Jenis$=”RANDOM”
CASE 8
Jenis$=”APPEND”
END SELECT
PRINT I, Jenis$, FILEATTR(I,2)
Next I
END
Hasilnya :
2. FILES
Digunakan untuk menampilkan nama-nama file dalam suati direktori / disket.
Bentuk umum :
FILES spesfile
Keterangan :
Spesfile : merupakan ekspresi string yang menunjukkan spesifikasi file yang
akan ditampilkan. Spesifikasi ini mencakup penentuan nama drive dan
direktori dari file-file yang akan ditampilkan.
Contoh :
3. KILL
Digunakan untuk menghapus suatu file dari disk.
Bentuk umum :
KILL spesfile
Keterangan :
Spesfile : merupakan ekspresi string yang menunjukkan spesifikasi file yang
akan dihapus. Spesifikasi ini mencakup penentuan nama drive dan direktori
dari file-file yang akan ditampilkan
Contoh :
Print “Ketik nama file yang akan dihapus atau tekan ENTER untuk
mengakhiri”
Line Input “Nama File :”;namafl$
If namafl$=”” then END
KILL namafl$
4. NAME…AS…
Digunakan untuk mengganti nama suatu file.
Bentuk umum :
NAME nama1 AS nama2
Keterangan :
Nama1 : nama file yang akan diganti
Nama2 : nama file baru sebagai pengganti nama1
Contoh :
NAME “Coba.BAS” AS “LATIH.BAS”
5. MKDIR
Digunakan untuk membuat sebuah direktori baru.
Bentuk umum :
MKDIR namapath
Keterangan :
Namapath : ekspresi string yang menunjukkan nama direktori yang akan
dibuat.
Contoh :
MKDIR “DirData”
6. CHDIR
Digunakan untuk pindah dari satu direktori ke direktori lainnya.
Bentuk umum :
CHDIR namapath
Keterangan :
Namapath : ekspresi string yang menunjukkan nama direktori yang akan
dituju.
Contoh :
CHDIR “C:\DATA1”
7. RMDIR
Digunakan untuk menghapus suatu direktori.
Bentuk umum :
RMDIR namapath
Keterangan :
Namapath : Namapath : ekspresi string yang menunjukkan nama direktori
yang akan dihapus.
Contoh :
RMDIR “C”\DATA1”
8. SEEK
Digunakan sebagai statemen maupun fungsi.
Penggunaan SEEK sebagai statemen berarti menempatkan pointer pada posisi
tertentu dalam suatu file.
Bentuk umum :
SEEK #nomor file,Pos
Keterangan :
Nomor file : nomor file untuk penempatan pointer.
Pos : posisi pointer yang akan ditempatkan.
9. FREEFILE
Digunakan untuk mendapatkan bilangan selanjutnya dari nomor file yang
terakhir dipakai.
Bentuk umum :
FREEFILE
Contoh :
10. RESET
Digunakan untuk menutup semua file dalam dik.
Bentuk umum :
RESET
Contoh :
OPEN “Data1” FOR RANDOM AS #1
OPEN “Data2” FOR RANDOM AS #2
OPEN “Data3” FOR RANDOM AS #3
CLOSE#1
RESET
END
11. LOF
Digunakan untuk mengetahui ukuran file. Satuan yang digunakan adalah byte.
Bentuk umum :
LOF (nofil)
Keterangan :
Nofil : menyatakan nomor file yang merupakan indikasi untuk menentukan
file yang akan diperiksa ukurannya.
Contoh :
Bentuk umum :
Keterangan :
Nomor file : nomor file yang akan di LOC atau UNLOCK
Rec : jumlah record atau byte yang akan dikunci.
Start : nomor record atau byte pertama yang akan dikunci
End : nomor record atau byte terakhir yang akan dikunci.
Contoh :
LOCK #2
LOCK #2,32
LOCK #2, TO 32
UNLOCK #2
UNLOCK #2, 2 TO 30
13. LOC
Digunakan untuk mengetahui posisi akhir dari record yang dibaca atau ditulis.
Bentuk umum :
LOC (nomor file)