DAFTAR ISI
Panduane-learningBagiPengelola
Page 3 UniversitasMercuBuana Yogyakarta
2. clc;
%input data
a=2 (’input nilai a=2’);
b=5 (’input nilai a=5’);
%proses
c=a+b
d=a*b
e=c+d
%output data
cde
2. Struktur Data
Start
Luas =
phi*r^2
Luas
Stop
Pengujian Kedua
Jari-jari = 14
Luas Lingkaran = 616
Panduane-learningBagiPengelola
Page 5 UniversitasMercuBuana Yogyakarta
Pengujian Ketiga
Jari-jari=21
LuasLingkaran=1386
d. File sekuensial
Sequential file (Arsip sekuensial) adalah sekumpulan rekaman yang disimpan
dalam media penyimpanan sekunder komputer, yang dapat diakses secara sekuensial
mulai dari rekaman pertama sampai dengan rekaman yang terakhir, rekaman per
rekaman secara searah. File sekuensial berisi rekord-rekord data yang tidak mengenal
posisi baris atau nomor rekord pada saat aksesnya, dan setiap record dapat mempunyai
lebar yang berbeda-beda.
Akses terhadapnya selalu dimulai dari awal file dan berjalan satu persatu menuju
akhir dari file. Dengan demikian, penambahan file hanya dapat dilakukan terhadap
akhir file, dan akses terhadap baris tertentu harus dimulai dari awal file.
Fungsi baku yang terkait dengan file sekuensial ini antara lain adalah fprintf,
fscanf, dan rewind . Program berikut menyajikan penanganan file sekuensial tentang
data nasabah yang berisi tiga field, yaitu nomor identitas (account), nama (name), dan
posisi tabungannya (balance) untuk (1) menyajikan yang tabungannya bernilai nol, (2)
berstatus kredit, dan (3) berstatus debet. Misalny sebuah file data tersimpan dengan
nama klien.dat.
Rekaman terakhir adalah rekaman fiktif, yang menandai akhir dari arsip. Pada
beberapa implementasi, rekaman fiktif ini disebut sebagai EOF (End Of File). Arsip
sekuensial berasal dari hasil perekaman (penulisan) yang juga dilakukan rekaman per
rekaman. Setiap rekaman boleh berisi type dasar ataupun type terstruktur yang telah
didefinisikan, setiap rekaman strukturnya sama.
Elemen dari rekaman disebut sebagai "field", ada field (atau juga sekumpulan
field) rekaman yang disebut sebagai "key" karena kekhususannya dalam proses. Jika
key dari setiap rekaman tidak ada yang sama (unik), maka key menjadi identitas
rekaman, dan disebut "primary key". Setiap rekaman dapat diakses dan dikonsultasi
(dibaca) menurut urutannya dengan pemanggilan primitif akses yang tersedia.
Perekaman dapat dilakukan melalui primitif penulisan.
Perhatikan bahwa suatu arsip sekuensial hanya dapat disiapkan hanya pada salah
satu modus operasi: diakses/dibaca, atau ditulis. Dalam definisi arsip sekuensial, tidak
pernah sebuah arsip diproses untuk kedua modus: dibaca dan sekaligus ditulis.
Primitif-primitif tsb, akan didefinisikan kemudian.
char name[25];
FILE *cfPtr;
if ( (cfPtr = fopen("klien.dat","r+") ) == NULL )
printf("File could not be opened\n");
else {
printf ("Enter request\n"
"1 ‐ List accounts with zero balances\n"
"2 ‐ List accounts with credit balances\n"
"3 ‐ List accounts with debit balances\n"
"4 ‐ End of run\n? ") ;
scanf( "%d", &request )
while (request != 4) {
fscanf (cfPtr, "%d%s%f", &account, name, &balance);
switch (request) {
case 1:
printf ("\nAccounts with zero balances:\n");
while ( !feof(cfPtr) ) {
if (balance == 0)
printf ("%‐10d%‐13s7.2f\n", account, name, balance);
fscanf (cfPtr, "%d%s%f", &account, name, &balance);
}
break;
case 2:
printf ("\nAccounts with credit balances:\n");
while ( !feof(cfPtr) ) {
if (balance < 0)
printf ("%‐10d%‐13s7.2f\n", account, name, balance);
fscanf (cfPtr, "%d%s%f", &account, name, &balance);
}
break;
case 3:
printf ("\nAccounts with debit balances:\n");
while ( !feof(cfPtr) ) {
if (balance > 0)
printf ("%‐10d%‐13s7.2f\n", account, name, balance);
Panduane-learningBagiPengelola
Page 7 UniversitasMercuBuana Yogyakarta
fscanf (cfPtr, "%d%s%f", &account, name, &balance);
}
break;
}
rewind(cfPtr);
printf( "\n? ");
scanf ("%d", &request);
}
printf ("End of run.\n");
fclose(cfPtr)
Panduane-learningBagiPengelola
Page 9 UniversitasMercuBuana Yogyakarta
DAFTAR PUSTAKA