Thursday, October 13, 2011

Sequential File

A.   Pengertian Sequential File
Sequential file merupakan suatu cara ataupun suatu metode penyimpanan dan pembacaan data yang dilakukan secara berurutan. Dalam hal ini, data yang ada akan disimpan sesuai dengan urutan masuknya. Data pertama dengan nomor berapapun, akan disimpan ditempat pertama, demikian pula dengan data berikutnya yang juga akan disimpan ditempat berikutnya.
Dalam melakukan pembacaan data, juga akan dilakukan secara berurutan, artinya, pembacaan akan dimulai dari data paling awal dan dilanjutkan dengan data berikutnya sehingga data yang dimaksud bisa diketemukan.
Berikut beberapa keuntungan dan kerugian dari sequential file.
Keuntungan    :
-   Merupakan organisasi file yang sederhana.
-   Jarak setiap aplikasi yang tersimpan sangat jelas.
-  Metode penyimpanan didalam memory sangat sederhana, sehingga efisien untuk menyimpan record yang besar.
-  Sangat murah untuk digunakan, sebab medianya cukup menggunakan magnetic tape.
Kerugian
- Seandainya diperlukan perubahan data, maka seluruh record yang tersimpan didalam master file, harus semuanya diproses.
-  Data yang tersimpan harus sudah urut (sorted). Posisi data yang tersimpan sangat susah untuk up-to-date, sebab master file hanya bisa berubah saat proses selesai dilakukan. Tidak bisa dilkukan pembacaan secara langsung.

B.     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 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 :
‘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

No comments:

Post a Comment