Anda di halaman 1dari 17

Algoritma & Pemrograman 1

10. OPERASI FILE SEQUENTIAL

Operasi terhadap file yang diorganisir secara sequential hanya dapat dilakukan secara berurutan.

I. PENYISIPAN RECORD / PENAMBAHAN RECORD BARU Untuk penambahan record ke dalam suatu file, maka posisi record terakhir harus diketahui, karena record yang baru diletakan pada posisi setelah record terakhir. Flowchart proses penyimpanan data ke file start

Input NPM, NM$, NILAI

NPM= 0

END

NPMO=NPM NM$O=NM$ NILAIO=NILAI

WRITE NPMO,NMO,NILAIO

Operasi File sequential

Algoritma & Pemrograman 1

Flowchart proses penambahan record baru. start

Read Data
NM,UM,ALM

/*

INPUT NM1,UM1, ALM1

NMO= NM1 UMO=UM1 ALMO=ALM1

WRITE NMO,UMO,ALMO

END Jika yang akan dilakukan adalah menyisipkan recor yang sudah ada, maka diperlukan satu file baru untuk menampung hasil akhir dari penyisipan. Untuk penyisipan record, posisi yang akan ditempati oleh record baru harus diketahui dengan jelas Posisi ini dpat diketahui dengan cara memeriksa salah satu isi dari suatu record System flowchart dibawah memperlihatkan bahwa data yang akan disisipkan diinput melelui keyboard

Operasi File sequential

Algoritma & Pemrograman 1

Sedang file yang akan disisipkan data diambil dari FILE01 dan file baru hasil penyisipan adalah FILE 02

FILE 02

FILE 01

II. PENGHAPUSAN RECORD Penghapusan dilakukan dengan cara membaca record satu persatu lalu menuliskan kembali ke file baru. Namun dalam proses pembacaan tersebut dilakukan pemeriksaan terhadap setiap record. Jika pada waktu pembacaan record ditemukan reocrd yang akan dihapus maka record tersebut diabaikan atau tidak ditulis ke file baru. Penghapusan record dilakukan terhadap file FILE01. Record yang akan dihapus diinput melalui keyboard. Hasil penghapusan record disimpan di dalam file FILE02. System flowchart proses penghapusan record

FILE 02

FILE 01

Operasi File sequential

Algoritma & Pemrograman 1

Flowchart penghapusan record


START

INPUT NMH

1
READ FILE 01 NM1, UM1, AKM1

/*

END

NM1= NMH

NMO=NM1 UMO=UM1 ALMO=ALM1

WRITE FILE02 NMO,UMO,ALMO

1 1

Operasi File sequential

Algoritma & Pemrograman 1

III. PERUBAHAN ISI RECORD Perubahan record merupakan modifikasi terhadap isi record dari suatu file. Record yang akan dimodifikasi dicari dengan memeriksa isi salah satu field. Untuk mengadakan perubahan pada record ke 3 maka proses pembacaan record dilakukan mulai dari record pertama sampai pada record yang dituju. Flowchart perubahan record start

Input NAMA$ 1
Baca FILE02 NPM2,NM2$, NILAI

/*

END

2
NM2= NAMA

INPUT NPMB,NMB$, NILAIB

NPMO=NPMB NMO$=NMB$ NILAIO=NILAIB

WRITE FILE02 NPMO,NMO$,NILAIO

Operasi File sequential

Algoritma & Pemrograman 1

STATEMENT BASIC UNTUK ORGANISASI FILE

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 : OPEN mode,[#]nomor file,namafile

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.

Operasi File sequential

Algoritma & Pemrograman 1

Alternatif lain untuk statemen OPEN adalah : OPEN nama file FOR mode AS [#]nomor 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.

Operasi File sequential

Algoritma & Pemrograman 1

Contoh penulisan statemen OPEN untuk membuat file yang baru (output mode) : OPEN O,#1,HASIL.DAT

Atau dapat dituliskan dengan alternatif kedua sebagai berikut : OPEN HASIL.DAT FOR OUTPUT AS #1

Artinya : Buat file HASIL.DAT untuk diisi data.

Contoh penulisan statemen OPEN untuk membuka file yang telah ada (input mode) : OPEN I,#1,C:\Mydocumen\ALAMAT.DAT

Atau dapat dituliskan dengan alternatif kedua sebagai berikut : OPEN ALAMAT.DAT FOR INPUT AS #1

Artinya : Buka file ALAMAT.DAT yang tersimpan pada direktori Mydocument yang ada pada Drive C.

Menutup File File yang sudah diisi data perlu ditutup. Kegunaannya adalah 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.

Operasi File sequential

Algoritma & Pemrograman 1

Bentuk umum : CLOSE [#nomor file]

Dengan nomor file adalah nomor file yang akan ditutup. Jika nomor file tidak dituliskan, maka semua file yang sedang terbuka akan ditutup semuanya.

Menyimpan Data Ke File Untuk merekam / menyimpan data kedalam file digunakan statemen WRITE#. Bentuk umumnya :

WRITE #nomor file,dafpar 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

Selain penulisan menggunakan statemen WRITE#, terdapat alternatif lain untuk penulisan data, yaitu dengan menggunakan statemen PRINT#.

Operasi File sequential

Algoritma & Pemrograman 1

Bentuk umumnya : PRINT #nomor file,dafpar

Keterangan : nomorfile dan dafpar fungsinya sama dengan nomor file dan dafpar pada statemenWRITE# Contoh : PRINT#1,Zeini,23,Jakarta

Contoh : Menyimpan data ke dalam suatu file dengan nama ALAMAT yang akan disimpan pada direktori MYDATA yang ada pada drive C. OPEN C:/MYDATA/ALAMAT FOR OUTPUT AS #1 WRITE#1,Zeini,23,Jakarta WRITE#1,Rudi,30,Bandung WRITE#1,Supriyatno,26,Jakarta WRITE#1,Sari,24,Jakarta WRITE#1,Jhonny,19,Jakarta WRITE#1,Abdi,25,Jakarta CLOSE#1 END

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

Operasi File sequential

10

Algoritma & Pemrograman 1

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,

Operasi File sequential

11

Algoritma & Pemrograman 1

agar posisi field-field dalam satu record tetap terjaga maka sebaiknya gunakan statemen WRITE# untuk menulis data ke dalam file. Mengambil Data Dari File Untuk membaca atau mengambil data yang tersimpan dalam suatu file maka diperlukan proses pembacaan data. Untuk itu digunakan statemen INPUT#. Bentuk umumnya : INPUT #nomor file, varlist Keterangan : Nomor file : merupakan nomro dari file yang akan dibaca. File yang akan digunakan harus sudah dibuka dengan menggunakan statemen OPEN dalam bentuk INPUT. Varlist : merupakan nama variabel yang akan digunakan untuk

menampung data yang dibaca. Variabel ini dapat berupa variabel string maupun numerik tetapiharus disesuaikan dengan data yang akan dibaca.

Langkah-langkah di dalam menampilkan semua data yang ada didalam filedata akses urut adalah sebagai berikut : 1. File dibuka dengan mode I atau INPUT, karena data akan diambil dari file ini. 2. Data diambil atau dibaca dari file mulai dari record pertama sampai dengan record terakhir atau akhir dari file. Akhir dari file dapat dideteksi dengan fungsi EOF dengan sintaks : EOF(nomor file) 3. Bila belum sampai di akhir file atau belum mencapai record yang terakhir, maka data dapat dibaca dengan menggunakan statemen INPUT#. 4. Setelah semua data dibaca dari file, untuk mengakhiri penggunaan file, maka file harus ditutup dengan statemen CLOSE atau END.

Operasi File sequential

12

Algoritma & Pemrograman 1

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

PRINT DAFTAR ALAMAT KOLEGA PRINT PRINT PRINT -------------------------------------------- PRINT NAMA UMUR ALAMAT

PRINT--------------------------------------------- Items$= \ \ ## \ \

OPEN C:\MYDATA\ALAMAT FOR INPUT AS #1

Do Until EOF(1) INPUT #1,Nm$,Umur,ALM$ PRINT USING item$; Nm$; Umur;ALM$ LOOP PRINT--------------------------------------------- CLOSE END

Operasi File sequential

13

Algoritma & Pemrograman 1

Hasil setelah dijalankan :

DAFTAR

ALAMAT KOLEGA

------------------------------------------------NAMA UMUR ALAMAT

------------------------------------------------Zeini Rudi Supriyatno Sari Jhonny Abdi 23 30 26 24 19 25 Jakarta Bandung Jakarta Jakarta Jakarta 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. Jadi penambahan data dapat menyebabkan data yang telah disimpan sebelumnya akan terhapus. Hal ini disebabkan data yang baru akan ditulis dengan cara menimpa data sebelumnya. Untuk itu penambahan data harus dilakukan dengan memperhatikan record data didalamnya. Agar dalam penambahan data tidak menyebabkan data yang lama terhapus, maka digunakan mode APPEND pada statemen OPEN sewaktu membuka file yang bersangkutan.

Operasi File sequential

14

Algoritma & Pemrograman 1

Mode APPEND menyebabkan penunjuk (pointer) record akan ditempatkan diakhir file yaitu record terakhir. Dengan demikian,penambahan record akan dimulai pada record terakhir sehingga tidak menghapus record sebelumnya.

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 :

Operasi File sequential

15

Algoritma & Pemrograman 1

DAFTAR

ALAMAT KOLEGA

------------------------------------------------NAMA UMUR ALAMAT

------------------------------------------------Zeini Rudi Supriyatno Sari Jhonny Abdi Iwan 23 30 26 24 19 25 32 Jakarta Bandung Jakarta Jakarta Jakarta Jakarta Jakarta

-------------------------------------------------

Record baru menempati posisi record yang terakhir.

SOAL FILE SEQUENTIAL 1. Buat flowchart untuk menyimpan data ke dalam file. Spesifikasi data tersebut adalah : nomor induk pegawai, nama pegawai, alamat dan gaji pokok. Proses input data berakhir jika operator mengisi 0 untuk nomor induk pegawai. 2. Buat flowchart dengan permasalahan soal no.1 namun data pegawai yang disimpan ke file hanya pegawai dengan gaji pokok > 200. Sebaliknya, untuk gaji pokoklebih kecil atau sama dengan 200 dicetak melalui printer.

Operasi File sequential

16

Algoritma & Pemrograman 1

3. Perhatikan sistem flowchart sebagai berikut :

Mhsnew.dat

Mhs.dat File mhs.dat terdiri dari field : nomor induk mahasiswa, nama, alamat, dan ipk. Buat flowchart untuk proses penghapusan record filemhs.dat. Spesifikasi proses adalah sebagai berikut : Record yang dihapus ditentukan berdasarkan nomor induk mahasiswa ( NIM ) yang diinput melalui keyboard Data di dalam file.mhs.dat telah diurutkan berdasarkan NIM Hasil proses penghapusan pada file mhs.dat disimpan ke file mhsnew.dat Proses selesai jika operator mengetik 0 untuk nomor induk mahasiswa.

Operasi File sequential

17

Anda mungkin juga menyukai