Anjar Syaefa

Minggu, 21 Oktober 2012

PENGOLAHAN SEQUENTIAL FILE

PENGOLAHAN SEQUENTIAL FILE File merupakan fasilitas penyimpanan data pada external storage yang bersifat permanen, jika dibandingkan dengan penyimpanan ke RAM yang sifatnya sementara. Dengan pemakaian file kita dapat menghemat pemakaian RAM komputer yang memiliki jumlah yang terbatas serta dapat melakukan dokumentasi untuk jangka waktu yang panjang. Pada QBasic pengolahan file dapat dibagi atas tiga jenis, yaitu : 1. SEQUENTIAL FILE 2. RANDOM FILE 3. BINARY FILE Pada Sequential file (file urut) proses pengolahannya dilakukan secara linier dari awal sampai akhir, tanpa bisa kembali kebagian sebelumnya, kecuali proses dimulai lagi dari awal. Jadi dalam pengolahan datanya bersifat first in first out, artinya pembacaan data dari file ini harus dimulai dari data yang paling awal. Pada umumnya pengolahan data yang menggunakan file sebagai media INPUT maupun OUTPUT memiliki tiga tahap, yaitu : 1. Tahap membuka file (OPEN) 2. Tahap memproses (INPUT/OUTPUT) 3. Dan yang terakhir adalah tahap menutup file (CLOSE) Membuka File SEQUENTIAL Untuk membuka file sequential yang akan diproses dapat digunakan penulisan sebagai berikut : Syntax : Open filename [FOR mode] AS [#]filenum dimana mode terdiri dari : INPUT, membuka file untuk proses INPUT OUTPUT, membuka file baru untuk proses OUTPUT APPEND, membuka file untuk untuk proses OUTPUT dimana data baru ditambahkan pada bagian akhir. Contoh : Open “Siswa.Dat” For Append AS #1 Akan membuka Siswa.Dat sebagai OUPUT dimana data baru ditambahkan pada bagian akhir. Jika file Siswa.Dat belum ada, maka akan dibuat yang baru. Proses INPUT/OUTPUT Perintah proses INPUT/OUTPUT pada sequential file sangat tergantung kepada bentuk perlakuan terhadap data. Untuk penulisan yang berorientasi pada baris, anda dapat menggunakan perintah PRINT, dan pembacaanya dapat menggunakan LINEINPUT. Penulisan yang berorientasi kepada data, anda dapat menggunakan perintah WRITE dan INPUT untuk proses pembacaannya. Syntax : PRINT #filenumber,[USING stringexpressin;]expression list WRITE #filenumber[,expressionlist] INPUT #filenumber, variablelist LINEINPUT #filenumber, variable-string Contoh : Write #1, “920403024″,”Hendra”,80,90 menulis ke file nomor 1, dan data dapat dibaca kembali dengan perintah : Input #1,Nim$,Nama$,Teori,Praktek Catatan : Anda dapat menggunakan fungsi bantu EOF(filenumber) untuk memeriksa apakah berada diposisi akhir file. Proses CLOSE Untuk menutup file dapat digunakan perintah CLOSE. Syntax : CLOSE #filenumber Contoh : CLOSE #1 menutup file nomor 1. Contoh : ‘PROGRAM MENGISI DATA KE FILE SISWA.DAT OPEN “SISWA.DAT” FOR APPEND AS #1 DO PRINT “DATA SISWA KE -”;I INPUT “NO.INDUK :”,NOINDUK$ IF NOINDUK$ “” THEN INPUT “NAMA :”,NAMA$ INPUT “TEORI :”,TEORI INPUT “PRAKTEK :”,PRAKTEK WRITE #1,NOINDUK$,NAMA$,TEORI ENDIF LOOP UNTIL NOINDUK$ = “” CLOSE #1 END ‘PROGRAM BACA DATA DARI SISWA.DAT DAN MENCETAK KE LAYAR CLS OPEN “SISWA.DAT” FOR INPUT AS #1 PRINT “——————————————————————-” PRINT “NO.INDUK NAMA TEORI PRAKTEK RATA-RATA LULUS “ PRINT “——————————————————————-” POLA$=”\ \ \ \ ###.## ###.## ###.## \ \ “ VIEW PRINT 4 TO 23 WHILE NOT EOF(1) INPUT #1, NO_INDUK$,NAMA$,TEORI,PRAKTEK RATA = (TEORI+PRAKTEK)/2 IF RATA < 60 THEN LULUS$=”TIDAK” ELSE LULUS$ = “YA” ENDIF PRINT USING POLA$;NO_INDUK$;NAMA$;TEORI;PRAKTEK;RATA;LULUS$ WEND CLOSE #1 END