0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan27 halaman

Modul 5 - Records Sequential File

Dokumen tersebut membahas tentang penyimpanan dan pengorganisasian data dalam komputer menggunakan file dan record. File adalah kumpulan record serupa, sedangkan record adalah kumpulan item data terkait yang dapat disimpan dalam bentuk struktur hierarki dengan menggunakan field dan sub-field. Record dapat disimpan dalam memori menggunakan array paralel atau struktur data non-homogen bergantung pada bahasa pemrograman yang digunakan.

Diunggah oleh

Reza Nugraha
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan27 halaman

Modul 5 - Records Sequential File

Dokumen tersebut membahas tentang penyimpanan dan pengorganisasian data dalam komputer menggunakan file dan record. File adalah kumpulan record serupa, sedangkan record adalah kumpulan item data terkait yang dapat disimpan dalam bentuk struktur hierarki dengan menggunakan field dan sub-field. Record dapat disimpan dalam memori menggunakan array paralel atau struktur data non-homogen bergantung pada bahasa pemrograman yang digunakan.

Diunggah oleh

Reza Nugraha
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 27

+

Records and Sequential


File
+
n Memori utama komputer tidak menyimpan informasi secara
permanen. Begitu komputer dimatikan, maka informasi yang
dimanipulasi di dalam memori utama komputer pun hilang.

n Agar informasi tetap dapat digunakan dan dimanipulasi di


lain waktu, maka informasi tersebut harus disimpan di dalam
media penyimpanan permanen atau sering dinamakan juga
memori sekunder komputer.

n Informasi yang disimpan di dalam media penyimpanan


sekunder dikelompokan dalam bentuk arsip (file). Satu buah
arsip atau lebih menyimpan informasi berkategori sama.
Misalnya data2 karyawan disimpan dalam arsip karyawan.
Setiap arsip dikenali melalui Namanya, sehingga tidak boleh
ada nama arsip yang sama.

n Informasi yang direkam di dalam arsip disebut rekaman


(record).
+
n Seperti yang telah kita pelajari, kumpulan data sering kali
diatur ke dalam hierarki field, record, dan file.

n Secara khusus record adalah kumpulan item data terkait,


yang masing-masing disebut field atau atribut, dan file
adalah kumpulan record serupa.

n Setiap item data itu sendiri mungkin merupakan item grup


yang terdiri dari sub item; item-item yang tidak dapat
diuraikan disebut item elementer atau atom atau skalar.

n Nama yang diberikan ke berbagai item data disebut


identifier.
+
n Seperti yang kita ketahui bahwa record adalah kumpulan
item data, ini berbeda dari array linier dengan cara berikut,
n Record mungkin merupakan kumpulan data yang tidak
homogen; yaitu item data dalam sebuah record mungkin
memiliki tipe data yang berbeda.
n Item data dalam record diindeks berdasarkan nama atribut, jadi
mungkin tidak ada urutan alami elemennya.

n Di bawah hubungan item grup dengan sub item, item data


dalam sebuah record membentuk struktur hierarki yang
dapat dijelaskan dengan menggunakan angka “level”. Mari
kita pahami melalui contoh berikut.
+
Example
n Misalkan sebuah rumah sakit menyimpan catatan pada setiap
bayi yang baru lahir yang berisi item data berikut: Nama,
Jenis Kelamin, Tanggal Lahir, Ayah, dan Ibu. Asumsikan
bahwa Tanggal Lahir adalah item grup dengan sub item
Bulan, Hari dan Tahun, dan Ayah dan Ibu adalah item grup,
masing-masing dengan sub item Nama dan Usia.

n Mari kita gambarkan struktur dari catatan di atas. (Nama


muncul tiga kali dan usia muncul dua kali dalam struktur.)
+
+
n Nomor di sebelah kiri setiap pengenal disebut nomor level.
Amati bahwa setiap item kelompok diikuti oleh sub itemnya,
dan level sub itemnya 1 lebih banyak dari level item grup.
Selanjutnya item adalah suatu kelompok jika dan hanya jika
segera diikuti oleh item dengan nomor level yang lebih
besar.

n Beberapa pengenal dalam struktur record juga dapat


merujuk ke array elemen. Misalnya, jika baris pertama dari
struktur di atas dituliskan sbb:

1 Newborn(20)
+
Ini akan menunjukkan file berisi 20 records, dan notasi
subskrip biasa akan digunakan untuk membedakan antara
record yang berbeda dalam file. Atau bisa dituliskan sbb:

Newborn1, Newborn2, Newborn3, . . .

Atau

Newborn[1], Newborn[2], Newborn[3],. . .

untuk menunjukkan record yang berbeda dalam file.


+ n Example:

Record Kelas siswa dapat diatur sebagai berikut:

1 Student(20)

2 Name

3 Last

3 First

3 MI (Middle Initial)

2 Test(3)

2 Final

2 Grade

Identifier Student(20) menunjukkan bahwa ada 20 siswa. Identifier


Test(3) menunjukkan bahwa ada tiga tes per siswa. Perhatikan bahwa
ada 8 item dasar per siswa, karena ujian dihitung tiga kali. Secara
keseluruhan, ada 160 item dasar di seluruh struktur siswa.
+
Indexing Items in a Record
n Misalkan kita ingin mengakses beberapa item data dalam
sebuah record. Dalam beberapa kasus, kita tidak bisa begitu
saja menulis nama data item karena nama yang sama dapat
muncul di tempat berbeda dalam record.

n Oleh karena itu, untuk menentukan item tertentu, kami


mungkin harus mengkualifikasikan nama dengan
menggunakan nama item grup yang sesuai dalam struktur.
Kualifikasi ini ditunjukkan dengan menggunakan titik
desimal untuk memisahkan item grup dari sub item.
+
Example
n Perhatikan struktur record Newborn dalam contoh bayi baru
lahir yang diberikan di atas. Jenis kelamin dan tahun tidak
memerlukan kualifikasi, karena masing-masing mengacu
pada item unik dalam strukturnya. Di sisi lain, misalkan kita
ingin merujuk pada usia bapak. Ini bisa dilakukan dengan
menulis

Newborn.Father.Age atau Father.Age


+
n Misalkan baris pertama dalam struktur record dalam contoh
bayi baru lahir yang diberikan di atas diganti dengan

1 Newborn(20)
Artinya, Newborn didefinisikan sebagai file dengan 20 record.
Kemudian setiap item secara otomatis menjadi array 20 elemen.
Beberapa bahasa memungkinkan jenis kelamin bayi yang baru
lahir keenam dirujuk dengan menulis

Newborn.Sex[6] atau Sex[6]

Secara analogi, usia ayah dari bayi keenam yang baru lahir dapat
dirujuk dengan menulis

Newborn. Father. Age[6] atau Father.Age[6]


+
n Pertimbangkan struktur record Siswa dalam contoh siswa
yang diberikan di atas. Karena Siswa dideklarasikan sebagai
file dengan 20 siswa, semua item secara otomatis menjadi 20
elemen array. Selanjutnya, Test menjadi array dua dimensi.
Secara khusus, tes kedua untuk siswa keenam dapat dirujuk
dengan menulis

Student. Test[6, 2] atau Test[6, 2]

Urutan subskrip sesuai dengan urutan pengidentifikasi yang


memenuhi syarat. Sebagai contoh,

Test[3,1]

tidak mengacu pada tes ketiga dari siswa pertama, tetapi pada tes
pertama dari siswa ketiga.
+
Representation of Records in
Memory; Parallel Arrays
n Jika record mungkin berisi data yang tidak homogen, maka
elemen record tidak dapat disimpan dalam array. Beberapa
bahasa pemrograman, seperti PL / 1, Pascal dan COBOL,
memiliki struktur rekaman yang dibangun ke dalam bahasa
tersebut.

n Example:
Perhatikan struktur record Newborn dalam contoh bayi baru lahir.
Seseorang dapat menyimpan record seperti itu di PL / 1 deklarasi
berikut, yang mendefinisikan agregat data yang disebut struktur:
+
+
n Mari kita amati bahwa variabel SEX dan YEAR adalah unik;
karenanya referensi ke sana tidak perlu memenuhi syarat. Di
sisi lain, AGE tidaklah unik. Karenanya, kami harus
menggunakan seperti itu

FATHER.AGE atau MOTHER.AGE

ketika kita ingin merujuk usia ayah atau usia ibu.

n Jika bahasa pemrograman tidak tersedia struktur hierarki


yang diberi label di PL / 1, Pascal dan COBOL. Dengan
asumsi record berisi data non-homogen, record mungkin
harus disimpan dalam variabel individual, satu untuk setiap
item data elementernya.
+
n Di sisi lain, jika kita ingin menyimpan seluruh file record,
perhatikan bahwa semua elemen data yang dimiliki oleh
identifier yang sama memiliki tipe yang sama. File seperti itu
dapat disimpan dalam memori sebagai kumpulan array
paralel; yaitu, di mana elemen dalam array yang berbeda
dengan subskrip yang sama menjadi milik record yang sama.
Untuk memahami array paralel ini, mari kita lihat contoh
berikut.

n Example:
Pertimbangkan daftar keanggotaan yang berisi nama, umur, jenis
kelamin dan nomor telepon masing-masing anggota. Kita dapat
menyimpan file dalam empat array paralel, NAMA, USIA, SEX dan
TELEPON, seperti yang digambarkan pada figure 5.6 ; yaitu, untuk
subskrip K tertentu, elemen NAMA [K], USIA [K], SEX [K] dan
TELEPON [K] termasuk dalam record yang sama.
+
+
n Example:
Perhatikan kembali record bayi baru lahir dalam contoh bayi baru
lahir sebelumnya. Seseorang dapat menyimpan file dari record
tersebut dalam sembilan array linier, seperti

NAME, SEX, MONTH, DAY, YEAR, FATHERNAME, FATHERAGE,


MOTHERNAME, MOTHERAGE

satu larik untuk setiap item data dasar. Di sini kita harus
menggunakan nama variabel yang berbeda untuk nama dan usia
ayah dan ibu, yang tidak diperlukan pada contoh sebelumnya.
Sekali lagi, kami berasumsi bahwa array itu paralel, yaitu untuk
subskrip K tetap, elemennya

NAME[K], SEX[K], MONTH[K],….., MOTHERAGE[K]

milik record yang sama.


+
Records with Variable Lengths
n Pertimbangkan sebuah sekolah dasar menyimpan record
untuk setiap siswa yang berisi data-data berikut: Nama, Nomor
Telepon, Ayah, Ibu, Saudara kandung. Di sini Ayah, Ibu, Saudara
kandung masing-masing berisi nama ayah, ibu, dan saudara
laki-laki atau perempuan siswa yang bersekolah di sekolah
yang sama. Tiga record tersebut mungkin sebagai berikut.

Di sini, XXXX berarti orang tuanya telah meninggal atau tidak tinggal
bersama siswa tersebut, atau siswa tersebut tidak memiliki saudara
kandung di sekolah. Dari record di atas, kita dapat mempelajari
bahwa record memiliki panjang variabel, karena elemen data
Saudara kandung dapat berisi nol atau lebih nama.
+
Sequential File
n Sequential File adalah sekumpulan record yang disimpan di
dalam media penyimpanan sekunder computer, yang dapat
diakses secara berurutan mulai dari record pertama sampai
dengan record terakhir, record demi record secara searah.

n Karena computer tidak mengetahui akhir arsip, maka di


dalam sequential file ditambahkan record fiktif yang
berfungsi sebagai tanda bahwa akhir arsip sudah tercapai
sehingga pembacaan record dihentikan.

(a) Urutan akses (satu per satu)

..

Record 1 Record 2 MARK


+ (b)

Record 1
Record 2

Arah MARK
akses

Setiap record di dalam file boleh bertipe dasar maupun bertipe


terstruktur yang telah didefinisikan. Record bertipe terstruktur
terdiri atas satu atau lebih field dari tipe tertentu.
+
Cara mendeklarasikan file
sequential
KAMUS

type Rekaman : record <deklarasi nama field dan tipenya>

type ArsipBeruntun : SeqFile of Rekaman and MARK = <rekaman fiktif>


+
Contoh file sequential:

1. File MHS yang berisi data mahasiswa (NIM, Nama dan IPK).
Keterangan:
NIM = Nomor Induk Mahasiswa
IPK = Indeks Prestasi Kumulatif

KAMUS
type DataMhs : record <NIM : integer, Nama : string, IPK : real>
type FileMhs : SeqFile of DataMhs and MARK = <999999,’.’,0.00>

MHS : FileMhs (Nama File mahasiswa)


+

123456 Miki 3.82

234567 Donal 2.97

345678 Gufi 2.74

456789 Pluto 3.02

999999 . 0.00
+
2. File BILANGAN yang berisi sekumpulan bilangan bulat.
Setiap record adalah sebuah bilangan bulat.

KAMUS
type BilBulat : integer
type ArsipBIL : SeqFile of BilBulat and MARK = <9999>

BILANGAN : ArsipBIL (nama file bilangan bulat)

345 78 -120 0 26 698 125 9999


+
Latihan Kasus:
Pengelolaan Data Mahasiswa
Sebuah file sequential KULIAH akan diisi data nilai seluruh matakuliah
yang diambil mahasiswa pada satu semester. Satu orang mahasiswa
dapat memiliki beberapa buah nilai karena dalam satu semester ia
mengambil beberapa matakuliah dan setiap mahasiswa tidak sama
matakuliahnya.

Record dengan NIM yang sama disimpan berurutan. Setiap record


berisi data:
a. NIM
b. Nama Mahasiswa
c. Kode matakuliah yang diambil
d. SKS
e. Indeks nilai matakuliah yang berangkutan berupa huruf: A, B, C, D, E

Pada bagian KAMUS, deklarasikan tipe file di atas.

Anda mungkin juga menyukai