Anda di halaman 1dari 14

STUDI KASUS SEQUENTIAL FILE

TUGAS
pada Mata Kuliah Praktikum Algoritma & Pemrograman

DISUSUN OLEH : ALVIAN KURNIAWAN (211011401033)

TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
Jl. Surya Kencana No. 1 Pamulang Telp (021)7412566, Fax. (021)7412566

Tangerang Selatan – Banten


GAMBARAN

Deskripsi

TUJUAN INSTRUKSIONAL

KONSEP RECORD / STRUKTUR DAN POINTER

KONSEP FILE

PENGELOLAAN FILE

STUDI KASUS
Deskripsi:

Pengertian File Sequential

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. Organisasi file secara urut (sequential file) memungkinkan pengaksesan record di file
secara berurutan.

Urutan data record yang direkamkan di file sama dengan urutan sewaktu data itu direkamkan.
Urutan tidak berubah walaupun data baru ditambahkan. Data baru yang direkamkan akan
menempati urutan record selanjutnya setelah record terakhir yang telah ada. Ada 2 macam
organisasi file secara urut, yaitu : Sequential  mempunyai panjang record yang tetap, Line
Sequential  bisa berbeda-beda, setiap record terdapat pembatas berupa carriage return (CR) dan line
feed (LF).

Tujuan Instruksional

Mahasiswa diharapkan dapat :


Menjelaskan pengertian dan manfaat Record/Struktur & Pointer, serta cara penulisannya dalam
program

Menjelaskan pengertian dan manfaat File, serta cara penulisannya dalam program

Menjelaskan pengelolaan Sequential File (Input data dan baca data)

Menjelaskan penggunaan Sequential File (Input data dan baca data) dalam C/C++
Menggunakan Sequential File (Input data dan baca data) dalam C/C++
Definisi Record/Struktur
Collections of related variables under one name. Structures may contain variables of many
diferent data types. Structures are commonly used to defines records to be stored in files
Pengelompokan dari variable-variable (yang memungkinkan untuk memiliki tipe data yang
berbeda) yang bernaung dalam satu nama. Variable-variable yang membentuk suatu struktur
selanjutnya disebut sebagai elemen atau anggota struktur
Pengelompokan sekumpulan data dengan tipe yang sama dan/atau berbeda yang saling
terkait dalam satu blok data

Konsep Record / Struktur Konsep Pointer


Deklarasi Record/Struktur

struct

tipe_data1 nama_variabel-1; tipe_data2 nama_variabel-


2;
…dst
} nama_tipe_data_struktur;

Ex :

struct

char Kode_Barang[7]; char Nama_Barang[25];


int Jumlah_Barang; float Harga_Satuan;
} Data_Barang;
Isi Memori untuk pendeklarasian Data_Barang

Kode_Barang[7]

Nama_Barang[25]
Data_Barang
Jumlah_Barang

Harga_Satuan

Mengakses Record/Struktur
Dikarenakan struktur terdiri dari lebih dari satu variabel dengan tipe data yang berbeda, hal ini
mengakibatkan terdapat penanganan khusus untuk mengakses variabel dalam struktur, yaitu :
nama_tipe_data_struktur.nama_variabel-x

Ex :

Data_Barang.Kode_Barang[5]

scanf(“%s”, &Data_Barang.Kode_Barang[5]);

printf(“Kode Barang : %s”, Data_Barang.Kode_Barang[5]);

Deklarasi Pointer
tipe_data *nama_variabel_Pointer;
Ex :

float *Ptr_Nilai; float Nilai = 12.12;


PtrNilai Nilai

12.12
Lihat di file : Pointer.C
Definisi File
Storage of data (all such data not lost when a programs terminates)

Data yang disimpan pada external memory dan bersifat permanen

Tempat penyimpanan data dalam disk

Jenis Jenis File :

1.Berdasarkan Jenis Data yang disimpan [2]

File Teks : semua data yang disimpan dalam file akan diubah menjadi teks

File Biner : semua data yang disimpan dalam file akan disimpan berdasarkan nilai binernya

Perbedaan

No Kategori File Teks File Biner


1 Jenis Penyimpanan Teks Bilangan Biner
2 Kecepatan Akses Lebih lambat Lebih Cepat
3 Pengaksesan Semua program Hanya oleh programmer
pengolah kata yang mengetahui tipe dari
data yang disimpan

2.Berdasarkan Operasi Input/Output


File berpenyangga (buffered files) atau file arus (stream file) atau file standar (standards file) :
menggunakan penyangga (buffer) untuk menampung sementara data yang akan dipindahkan dari
memori internal komputer ke dan/atau dari file. Menyediakan fasilitas untuk melakukan format
data yang akan dibaca dan/atau dimasukan pada file, sehingga lebih cocok digunakan untuk
operasi input/output pada file teks.
File tidak berpenyangga (unbuffered files) : tidak menggunakan penyangga (buffer), sehingga
data langsung dibaca dari dalam file dan/atau dimasukan ke dalam file. Tidak menyediakan
format data khusus , sehingga lebih cocok digunakan untuk operasi input/output pada file biner.
Jenis File :

3.Berdasarkan Cara Pengaksesan


File Sekuensial (Sequential File) : Data dalam file diakses secara sekuensial/berurutan mulai dari
urutan pertama sampai dengan akhir file.

File Random (Random File) : Data dalam file diakses secara random/acak tergantung kebutuhan
Pengelolaan File
Mengaktifkan atau Membuka File (1)
Header File : stdio.h

Sintaks :

FILE *Pointer_File; (Buffer untuk file) Pointer_File=fopen(char *Nama_File, char *Mode)


atau Pointer_File=fopen(”<Nama File>”,”<Mode File>”);

Mode File : r, w, a, t, b, r+, w+, a+, rb, wb, ab, rb+, wb+, ab+ (penjelasan masing-masing fungsi
mode file lihat slide 24-25)

ex : FILE *File_Coba File_Coba=fopen(“Coba.Dat”,”w”);

Mengaktifkan atau Membuka File (2)


Header File : fstream.h

Sintaks :

ofstream Pointer_File;atau (Buffer ofstream


Pointer_File(“<Nama_File>”, <Mode File>); file) Pointer_File.open(“<Nama_File>”)
atau Pointer_File.open(”<Nama File>”, <Mode File>);

Mode File : ios::app, ios::ate, ios::in, ios::out, ios::nocreate ios::noreplace, ios::true, ios::binary

ex : ofstream File_Coba File_Coba.open(“Coba.Dat”,ios::app); atau bisa juga


File_Coba.open(“Coba.Dat”,ios::app | ios::out);
Memproses file (1)

Header File : stdio.h

Menyimpan data ke dalam file

Perintah yang digunakan : fputc(), fgetc(), putw(), getw(),

fputs(), fgets(), fscanf(), fprintf(), fwrite(), fread()

ex : fprintf(File_Coba, “%d %s %5.2f”,Nomor, Nama, Nilai); fscanf(stdin, “%d %s


%f”,&Nomor, &Nama, &Nilai);

Membaca data
Perintah yang digunakan : rewind(), fseek(), ftell(), fread(),

fscanf()

ex : fread(File_Coba, “%d %s %5.2f”,Nomor, Nama, Nilai); fscanf(File_Coba, “%d


%s %5.2f”,Nomor, Nama, Nilai);

Memproses file (2)

Header File : fstream.h

Menyimpan data ke dalam file

Sintaks :

ofstream Pointer_File; atau


ofstream Pointer_File(“<Nama_File>”, <Mode File>); (buffer file)
➢ Pointer_File.put(); atau
➢ Pointer_File<<Nama_Data; atau
➢ Pointer_File.write((char*)&Rekaman, sizeof(Rekaman));
ex : FILE *File_Coba File_Coba=fopen(“Coba.Dat”,”w”);
Memproses file (3)

Header File : fstream.h

Membaca data

Sintaks :

int Max=<Jumlah max karakter per baris>; char penyangga[Max];


ifstream Pointer_File; atau
ifstream Pointer_File(“<Nama_File>”, <Mode File>); (buffer file)

➢ Pointer_File.get(); atau
➢ Pointer_File.getline(penyangga, Max); atau
➢ Pointer_File.read((char *)&Rekaman, sizeof(Rekaman));
ex : ifstream File_Coba (“Coba.Dat”,ios::app | ios::out); File_Coba.getline(penyangga, Max); atau
File_Coba.read((char *)&Mahasiswa, sizeof(Mahasiswa));

Menutup File

Header File : stdio.h

Sintaks :

fclose(Pointer_File); {Menutup sebuah file yang aktif} atau fcloseall(Pointer_File); {Menutup


semua file yang aktif}

ex : fcose(File_Coba); fcloseall();

Header File : fstream.h


Sintaks :

offstream Pointer_File; (Buffer untuk file) Pointer_File.close()


Konsep Pengelolaan File (3)
Modus Open file
Mod Descripti
e on
r Open a file for reading
w Create a file for writing. If the file already
exist, discard the current contents
a Append; open or create a file for writing at
the end of the file
r+ Open a file for update (reading and writing)
w+ Create a file for update. If the file already
exist, discard the current contents
a+ Append; open or create a file for update;
writing is done at the end of the file
rb Open a file for reading in binary mode

Konsep Pengelolaan File (4)


Modus Open file
Mode Description
wb Create a file for writing in binary mode. If the file already
exists, discard the current contents
ab Append; open or create a file for writing at the end of the
file in binary mode
rb+ Open a file for update (reading and writing) in binary
mode
wb+ Create a file for update in binary mode. If the file already
exist, discard the current contents
ab+ Append; open or create a file for update in binary mode;
writing is done at the end of the file
Konsep Pengelolaan File (5)
Operasi file Berpenyangga [1]

Operasi Kegunaa
n
fputc() Meletakan sebuah nilai karakter ke buffer
untuk direkam ke file
fgetc() Membaca sebuah nilai karakter dari file untuk
diletakan di buffer
putw() Meletakan sebuah nilai integer ke buffer
untuk direkam ke file
getw() Membaca sebuah nilai integer dari file untuk
diletakan di buffer
fputs() Meletakan sebuah nilai string ke buffer untuk
direkam ke file

Konsep Pengelolaan File (6)

Operasi file Berpenyangga [1]

Operasi Kegunaa
n
fgets() Membaca sebuah nilai string dari file untuk
diletakan di buffer
fprintf() Meletakan sekumpulan data terformat ke
buffer
untuk direkam ke file
fscanf() Membaca sekumpulan data terformat dari file
untuk diletakan di buffer
fwrite() Meletakan sebuah blok data ke buffer untuk
direkam ke file
fread() Membaca sebuah blok data dari file untuk
diletakan di buffer
Konsep Pengelolaan File (7)

Operasi file Berpenyangga

Operasi Kegunaan
fseek() Menempatkan pembacaan atau perekaman
suatu data ke posisi tertentu di file. Terdiri
dari 3 buah konstanta pencarian :
1. SEEK_SET/0 : Pembacaan data mulai
dari awal file
2. SEEK_CUR/1 : Pembacaan data mulai
dari posisi saat ini pada file
3. SEEK_END/2 : Pembacaan data mulai
dari akhir file
ftell() Mendapatkan posisi pembacaan atau
perekaman di suatu posisi tertentu di file.
fflush() Menyimpan data di buffer ke file
fgetpos() Mendapatkan posisi pembacaan atau
perekaman di file pada saat tertentu.

Konsep Pengelolaan File (8)

Operasi file Berpenyangga

Operasi Kegunaa
n
fsetpos() Mengembalikan posisi pembacaan atau
perekaman di file pada saat tertentu (mirip
dengan operasi fseek())
ferror() Mendeteksi kesalahan yang terjadi
perror() Menampilkan kesalahan yang terjadi
clearerr() Menghapus semua status kesalahan di flags
freopen() Menutup suatu file dan membuka file yang
lain dengan menggunakan pointer yang sama
Konsep Pengelolaan File (9)
Operasi File Tidak Berpenyangga[1]

Operasi Keguna
an
close() Menutup file
creat() Membuat file baru
lseek() Menempatkan pembacaan/menutup
file rekaman ke posisi
byte tertentu
open() Membuka file yang ada atau membuat
file baru
read() Membaca data dari file
write() Menyimpan data ke file

Konsep Pengelolaan File (10)


Operasi File [1]

Operasi Keguna
an
fdopen() Mengoperasikan file yang dibuat
dengan operasi tidak berpenyangga,
dengan menggunakan operasi file
berpenyangga
access() Mengecek keberadaan suatu file
rename() Mengganti nama file
unlink() Menghapus file
fileno() Mendapatkan nomor pengenal file
filelengt Mendapatkan ukuran file
h()
Kesimpulan:
Dari data diatas maka didapatkan kesimpulan yaitu Organisasi file sequential adalah Berkas/file
yang disusun sedemikian rupa sehingga dapat diakses secara sequential maupun secara direct
(langsung) atau kombinasi keduanya, direct dan sequential data merupakan segala sesuatu yang
masih dalam bentuk bahan mentah yang akan diproses. Data yang sudah diproses tersebut dan
berguna bagi orang yang menerimanya ini disebut sebagai informasi, lalu 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.

Anda mungkin juga menyukai