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)

1.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.

2.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.

3.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

 


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: