SlideShare a Scribd company logo
1 of 10
ƒ File bertipe record
„ -------------------
Pada file bertipe dapat diakses secara urut, dapat juga diakses
secara acak. Berarti komponen- komponen di dalam file bertipe
dapat dibaca atau direkamkan di manapun di dalam file, beda dengan
file text yang hanya dapat diakses secara sequential(urut).
dalam membuka file bertipe ada 2 cara yaitu dengan ,
Rewrite -> Untuk membuat dan sekaligus membuka file baru .
Reset -> Untuk membuka file yang sudah ada.
File bertipe dapat bertipe integer, real, char, string, array dan
record , namun disini akan dibahas file bertipe record.
Untuk file bertipe baik yang dibuka dengan procedure standard
rewrite ataupun reset mempunyai sifat read/write, yaitu dapat
membaca dan merekamkan data ke dalam file bertipe sekaligus.
Sedang pada file text hanya mempunyai satu keadaan yaitu read atau
write saja.
Untuk membuat suatu file yang dibuka menjadi read-only atau write-
only dapat digunakan variabel terdefinisi yaitu : filemode
secara default Filemode bernilai 2 yang berarti bisa read/write.
„ I. Procedure dan fungsi standard untuk file bertipe
Selain procedure dan fungsi standard yang dapat digunakan untuk
semua tipe file (dapat dilihat di modul file dan directory). Masih
terdapat beberapa procedure dan fungsi standard lainya yang dapat
digunakan di file bertipe, yaitu :
… I.1. Procedure standard write dan read
write digunakan untuk merekamkan satu atau lebih nilai ke dalam
file.
Read digunakan untuk membaca satu atau lebih nilai dari file.
Perbedaan penggunaan dari procedure ini adalah terletak pada
variabel file yang digunakan.
… I.2. Procedure standard Seek
Digunakan untuk mengarahkan penunjuk file ke suatu komponen ter
tentu di dalam file, sehingga memungkinkan untuk membaca komponen
atau menuliskan komponen secara acak.
sintak :
seek(f;n : logint);
f = variabel file
n = posisi record
komponen pertama record adalah adalah bernomor 0.
ex :
seek(filepeg,5);
read(filepeg,No_peg,Nama,Alamat);
menunjukkan komponen record ke 6 (nomor 5) di baca dari file.
… I.3. Procedure Standard Truncate
Digunakan untuk menghapus sejumlah komponen atau record mulai dari
posisi record tertentu.
Sintak :
Truncate(F);
ex :
seek(filepeg,5);
Truncate(filepeg);
Pada contoh diatas mulai no record ke 5 (komponen ke 6) sampai
terakhir akan dihapus dari file.
… I.4. Fungsi Standard Filepos
Fungsi standard ini digunakan untuk menghasilkan letak posisi
sekarang dari penunjuk file dengan sintak :
Filepos(f):longint;
Ex :
seek(filepeg,5);
Writeln(filepos(filepeg));
Pada contoh ini, penunjuk file diarahkan ke nomor record 5 dan
bila digunakan fungsi filepos maka akan dihasilkan nilai integer 5
, yang merupakan letak dari penunjuk file.
… I.5. Fungsi standard Filesize
Fungsi standard ini digunakan untuk menghasilkan jumlah dari
komponen atau record yang tersedia di file.
sintak :
Filesize(f):longint;
Fungsi ini harus digunakan setelah file dibuka dan tidak dapat
digunakan sebelum file dibuka.
Ex :
Assign(filepeg,'Pegawai.dat');
Reset(filepeg);
writeln('Jumlah record yang ada =',filesize(filepeg));
Contoh listing program dari penanganan file bertipe record seperti
membuat file baru, menambah data record di file, mengedit data
record, dan menampilkan data record.
Ex.1 :
Program membuat_file_baru_dan_isi;
uses crt;
type
mahasiswa=record
npm : string[10];
nama: string[25];
kls : string[4];
ipk : real;
end;
var
filesiswa : file of mahasiswa;
{deklarasi file siswa sebagai file record mahasiswa}
recordsiswa : mahasiswa;
lagi : char;
begin
assign(filesiswa,'siswa.dat');
{menghubungkan variabel file dgn external file}
rewrite(filesiswa);
{buka file baru filesiswa jika ada akan langsung tertimpa}
lagi := 'Y';
while upcase(lagi)='Y' do
begin
clrscr;
with recordsiswa do{menyertakan penyebut record}
begin
write('N P M =');readln(npm);
write('Nama =');readln(nama);
write('Kelas =');readln(kls);
write('I P K =');readln(ipk);
end;
write(filesiswa,recordsiswa);
{menulis isi recordsiswa ke file siwa}
write('ada data lagi =');readln(lagi);
end;
close(filesiswa); {tutup filesiswa}
end.
program tampildata;
uses crt;
type
mahasiswa = record
npm : string[10];
nama : string[25];
kls : string[4];
ipk : real;
end;
var
filesiswa : file of mahasiswa;
{filesiswa adalah file bertipe record mahasiswa}
recordsiswa : mahasiswa;
begin
assign(filesiswa,'siswa.dat');
{hubungkan varibel file dengan external file}
reset(filesiswa); {membuka file yang sudah ada }
clrscr;
while not eof(filesiswa) do begin
read(filesiswa,recordsiswa);
{membaca isi filesiswa lalu dimasukan ke recordsiswa}
with recordsiswa do
writeln(npm:10,nama:25,kls:4,ipk:3:2);
{menampilkan dilayar}
end;
close(filesiswa);{menutup file }
readln;
end.
Program mencari_record;
uses crt;
type
mahasiswa=record
npm : string[10];
nama: string[25];
kls : string[4];
ipk : real;
end;
var
filesiswa : file of mahasiswa;
recordsiswa : mahasiswa;
CariNpm : string[10];
ketemu : boolean;
lagi : char;
begin
assign(filesiswa,'siswa.dat');
{menghubungkan varibel file dgn external file}
reset(filesiswa);{buka file yang sudah ada}
lagi := 'Y';
while upcase(lagi)='Y' do
begin
ketemu := false;
write('Npm yang dicari =');readln(carinpm);
{masukan npm yang akan dicari}
while not eof(filesiswa) do
{baca selam isi filesiswa blm habis}
begin
read(filesiswa,recordsiswa);
{baca isi filesiswa lalu dimasukan ke recordsiwa}
if recordsiswa.npm =carinpm then
begin
ketemu := true;
with recordsiswa do
writeln(npm:10,nama:25,kls:4,ipk:3:2);
end;
end;
if ketemu=false then
writeln('data tidak ada');
write('cari lagi =');readln(lagi);
seek(filesiswa,0);
end;
close(filesiswa);
end.
program koreksi_data;
uses crt;
type
mahasiswa=record
npm : string[10];
nama : string[25];
kls : string[4];
ipk : real;
end;
var
filesiswa : file of mahasiswa;
recordsiswa : mahasiswa;
ketemu : boolean;
lagi : char;
npmcari:string[10];
jumrec,i : integer;
begin
assign(filesiswa,'siswa.dat');
{menghubungkan tipefile dengan external file}
reset(filesiswa);{buka file yang sudah ada }
jumrec := filesize(filesiswa);
{menghitung jumlah record di file}
lagi := 'Y';
while upcase(lagi)='Y' do
begin
write('NPM yang dicari =');readln(Npmcari);
for i:= 1 to jumrec do
begin
seek(filesiswa,i-1);
{Cari record di file siswa pada posisi i}
read(filesiswa,recordsiswa);{baca isi record di file}
if recordsiswa.npm=npmcari then
begin
ketemu:=true;
with recordsiswa do
begin
writeln('npm =',npm:10);
write('npm koreksi =');readln(npm);
writeln('nama =',nama:25);
write('nama koreksi =');readln(nama);
writeln('Kls =',kls:4);
write('Kls koreksi =');readln(kls);
writeln('Ipk =',ipk:3:2);
write('IPK koreksi =');readln(ipk);
end;
end;
seek(filesiswa,i-1);
write(filesiswa,recordsiswa);
end;
if not ketemu then
writeln('data tidak ada');
write('isi lagi =');readln(lagi);
end;
close(filesiswa);
end.
program tambah_data;
type
mahasiswa=record
npm : string[10];
nama: string[25];
kls : string[4];
ipk : real;
end;
var
filesiswa : file of mahasiswa;
recordsiswa : mahasiswa;
lagi:char;
begin
assign(filesiswa,'siswa.dat');
{i$-}
reset(filesiswa); {i$+}
if ioresult <> 0 then rewrite(filesiswa);
lagi :='Y';
seek(filesiswa,filesize(filesiswa));
while upcase(lagi)='Y' do
begin
with recordsiswa do
begin
write('Npm =');readln(npm);
write('nama =');readln(nama);
write('kelas =');readln(kls);
write('IPK =');readln(ipk);
end;
write(filesiswa,recordsiswa);
write('isi lagi =');readln(lagi);
end;
close(filesiswa);
end.
program menu_file;
uses crt;
type
mahasiswa=record
npm : string[10];
nama: string[25];
kls : string[4];
ipk :real;
end;
var
filesiswa : file of mahasiswa;
recordsiswa : mahasiswa;
procedure filebaru;
var
lagi : char;
begin
assign(filesiswa,'siswa.dat');
rewrite(filesiswa);
lagi := 'Y';
while upcase(lagi)='Y' do
begin
clrscr;
with recordsiswa do
begin
write('N P M =');readln(npm);
write('Nama =');readln(nama);
write('Kelas =');readln(kls);
write('I P K =');readln(ipk);
end;
write(filesiswa,recordsiswa);
write('ada data lagi =');readln(lagi);
end;
close(filesiswa);
end;
procedure tambahdata;
var
lagi:char;
begin
assign(filesiswa,'siswa.dat');
{i$-}
reset(filesiswa); {i$+}
if ioresult <> 0 then rewrite(filesiswa);
lagi :='Y';
seek(filesiswa,filesize(filesiswa));
while upcase(lagi)='Y' do
begin
with recordsiswa do
begin
write('Npm =');readln(npm);
write('nama =');readln(nama);
write('kelas =');readln(kls);
write('IPK =');readln(ipk);
end;
write(filesiswa,recordsiswa);
write('isi lagi =');readln(lagi);
end;
close(filesiswa);
end;
procedure koreksidata;
var
ketemu : boolean;
lagi : char;
npmcari:string[10];
jumrec,i : integer;
begin
assign(filesiswa,'siswa.dat');
reset(filesiswa);
jumrec := filesize(filesiswa);
lagi := 'Y';
while upcase(lagi)='Y' do
begin
ketemu := false;
write('NPM yang dicari =');readln(Npmcari);
for i:= 1 to jumrec do
begin
seek(filesiswa,i-1);
read(filesiswa,recordsiswa);
if recordsiswa.npm=npmcari then
begin
ketemu:=true;
with recordsiswa do
begin
writeln('npm =',npm:10);
write('npm koreksi =');readln(npm);
writeln('nama =',nama:25);
write('nama koreksi =');readln(nama);
writeln('Kls =',kls:4);
write('Kls koreksi =');readln(kls);
writeln('Ipk =',ipk:3:2);
write('IPK koreksi =');readln(ipk);
end;
end;
seek(filesiswa,i-1);
write(filesiswa,recordsiswa);
end;
if not ketemu then
writeln('data tidak ada');
write('isi lagi =');readln(lagi);
end;
close(filesiswa);
end;
procedure tampildata;
begin
assign(filesiswa,'siswa.dat');
reset(filesiswa);
clrscr;
while not eof(filesiswa) do
begin
read(filesiswa,recordsiswa);
with recordsiswa do
writeln(npm:10,nama:25,kls:4,ipk:3:2);
end;
close(filesiswa);
readln;
end;
procedure caridata;
var
CariNpm : string[10];
ketemu : boolean;
lagi : char;
begin
assign(filesiswa,'siswa.dat');
reset(filesiswa);
lagi := 'Y';
while upcase(lagi)='Y' do
begin
ketemu := false;
write('Npm yang dicari =');readln(carinpm);
while not eof(filesiswa) do
begin
read(filesiswa,recordsiswa);
if recordsiswa.npm =carinpm then
begin
ketemu := true;
with recordsiswa do
writeln(npm:10,nama:25,kls:4,ipk:3:2);
end;
end;
if ketemu=false then
writeln('data tidak ada');
write('cari lagi =');readln(lagi);
seek(filesiswa,0);
end;
close(filesiswa);
end;
{modul utama}
var
pil : char;
flag : boolean;
label awal;
begin
flag := true;
while flag = true do
begin
awal :
clrscr;
writeln('Pilihan menu file bertipe record');
writeln('1. file baru dan isi');
writeln('2. Tambah data ');
writeln('3. Koreksi data berdasar npm ');
writeln('4. Cari data berdasar npm ');
writeln('5. Tampil data ');
writeln('6. keluar');
writeln;
write('Pilihan anda =');readln(pil);
if not (pil in ['1'..'6']) then
begin
writeln(char(7));
writeln('Data tidak ada');
goto awal;
end;
case pil of
'1' : filebaru;
'2' : tambahdata;
'3' : koreksidata;
'4' : caridata;
'5' : tampildata;
'6' : halt;
end;
end;
end.

More Related Content

Similar to Pascal - FileRecord.txt - Notepad.pdf

Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileGeorgius Rinaldo
 
Cheat sheet berdasarkan kategori
Cheat sheet berdasarkan kategoriCheat sheet berdasarkan kategori
Cheat sheet berdasarkan kategoriRizal Arifin
 
Pengenalan Teknologi Informasi - 7 - File
Pengenalan Teknologi Informasi - 7 - FilePengenalan Teknologi Informasi - 7 - File
Pengenalan Teknologi Informasi - 7 - FileKuliahKita
 
Modul Praktikum PW 2016 Bab 4 - OperasiFile
Modul Praktikum PW 2016 Bab 4 - OperasiFileModul Praktikum PW 2016 Bab 4 - OperasiFile
Modul Praktikum PW 2016 Bab 4 - OperasiFileleni_istikomah
 

Similar to Pascal - FileRecord.txt - Notepad.pdf (6)

Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi file
 
Cheat sheet berdasarkan kategori
Cheat sheet berdasarkan kategoriCheat sheet berdasarkan kategori
Cheat sheet berdasarkan kategori
 
Cheat Sheet Ubuntu
Cheat Sheet UbuntuCheat Sheet Ubuntu
Cheat Sheet Ubuntu
 
Pengenalan Teknologi Informasi - 7 - File
Pengenalan Teknologi Informasi - 7 - FilePengenalan Teknologi Informasi - 7 - File
Pengenalan Teknologi Informasi - 7 - File
 
Perintah perintah dasar linux
Perintah perintah dasar linuxPerintah perintah dasar linux
Perintah perintah dasar linux
 
Modul Praktikum PW 2016 Bab 4 - OperasiFile
Modul Praktikum PW 2016 Bab 4 - OperasiFileModul Praktikum PW 2016 Bab 4 - OperasiFile
Modul Praktikum PW 2016 Bab 4 - OperasiFile
 

More from Jurnal IT

Belajar Java Dasar
Belajar Java DasarBelajar Java Dasar
Belajar Java DasarJurnal IT
 
12_Sinkronisasi.pdf
12_Sinkronisasi.pdf12_Sinkronisasi.pdf
12_Sinkronisasi.pdfJurnal IT
 
11_GUI Pada Java.pdf
11_GUI Pada Java.pdf11_GUI Pada Java.pdf
11_GUI Pada Java.pdfJurnal IT
 
9_Multithreading.pdf
9_Multithreading.pdf9_Multithreading.pdf
9_Multithreading.pdfJurnal IT
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdfJurnal IT
 
7_Packages.pdf
7_Packages.pdf7_Packages.pdf
7_Packages.pdfJurnal IT
 
6_String.pdf
6_String.pdf6_String.pdf
6_String.pdfJurnal IT
 
5_Pewarisan.pdf
5_Pewarisan.pdf5_Pewarisan.pdf
5_Pewarisan.pdfJurnal IT
 
3_Pengertian_Class_Object_Method.pdf
3_Pengertian_Class_Object_Method.pdf3_Pengertian_Class_Object_Method.pdf
3_Pengertian_Class_Object_Method.pdfJurnal IT
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdfJurnal IT
 
1_Pengenalan_Java.pdf
1_Pengenalan_Java.pdf1_Pengenalan_Java.pdf
1_Pengenalan_Java.pdfJurnal IT
 
delphi part 13.pdf
delphi part 13.pdfdelphi part 13.pdf
delphi part 13.pdfJurnal IT
 
delphi part 11.pdf
delphi part 11.pdfdelphi part 11.pdf
delphi part 11.pdfJurnal IT
 
delphi part 8 new.pdf
delphi part 8 new.pdfdelphi part 8 new.pdf
delphi part 8 new.pdfJurnal IT
 
delphi part 7 new.pdf
delphi part 7 new.pdfdelphi part 7 new.pdf
delphi part 7 new.pdfJurnal IT
 
delphi part 6.pdf
delphi part 6.pdfdelphi part 6.pdf
delphi part 6.pdfJurnal IT
 
delphi part 5.pdf
delphi part 5.pdfdelphi part 5.pdf
delphi part 5.pdfJurnal IT
 
delphi part 4.pdf
delphi part 4.pdfdelphi part 4.pdf
delphi part 4.pdfJurnal IT
 
delphi part 3.pdf
delphi part 3.pdfdelphi part 3.pdf
delphi part 3.pdfJurnal IT
 

More from Jurnal IT (20)

Belajar Java Dasar
Belajar Java DasarBelajar Java Dasar
Belajar Java Dasar
 
12_Sinkronisasi.pdf
12_Sinkronisasi.pdf12_Sinkronisasi.pdf
12_Sinkronisasi.pdf
 
11_GUI Pada Java.pdf
11_GUI Pada Java.pdf11_GUI Pada Java.pdf
11_GUI Pada Java.pdf
 
9_Multithreading.pdf
9_Multithreading.pdf9_Multithreading.pdf
9_Multithreading.pdf
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
 
7_Packages.pdf
7_Packages.pdf7_Packages.pdf
7_Packages.pdf
 
6_String.pdf
6_String.pdf6_String.pdf
6_String.pdf
 
5_Pewarisan.pdf
5_Pewarisan.pdf5_Pewarisan.pdf
5_Pewarisan.pdf
 
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
 
3_Pengertian_Class_Object_Method.pdf
3_Pengertian_Class_Object_Method.pdf3_Pengertian_Class_Object_Method.pdf
3_Pengertian_Class_Object_Method.pdf
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
 
1_Pengenalan_Java.pdf
1_Pengenalan_Java.pdf1_Pengenalan_Java.pdf
1_Pengenalan_Java.pdf
 
delphi part 13.pdf
delphi part 13.pdfdelphi part 13.pdf
delphi part 13.pdf
 
delphi part 11.pdf
delphi part 11.pdfdelphi part 11.pdf
delphi part 11.pdf
 
delphi part 8 new.pdf
delphi part 8 new.pdfdelphi part 8 new.pdf
delphi part 8 new.pdf
 
delphi part 7 new.pdf
delphi part 7 new.pdfdelphi part 7 new.pdf
delphi part 7 new.pdf
 
delphi part 6.pdf
delphi part 6.pdfdelphi part 6.pdf
delphi part 6.pdf
 
delphi part 5.pdf
delphi part 5.pdfdelphi part 5.pdf
delphi part 5.pdf
 
delphi part 4.pdf
delphi part 4.pdfdelphi part 4.pdf
delphi part 4.pdf
 
delphi part 3.pdf
delphi part 3.pdfdelphi part 3.pdf
delphi part 3.pdf
 

Recently uploaded

REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatArfiGraphy
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxRizkyPratiwi19
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxPurmiasih
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxsdn3jatiblora
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 

Recently uploaded (20)

REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptx
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 

Pascal - FileRecord.txt - Notepad.pdf

  • 1. ƒ File bertipe record „ ------------------- Pada file bertipe dapat diakses secara urut, dapat juga diakses secara acak. Berarti komponen- komponen di dalam file bertipe dapat dibaca atau direkamkan di manapun di dalam file, beda dengan file text yang hanya dapat diakses secara sequential(urut). dalam membuka file bertipe ada 2 cara yaitu dengan , Rewrite -> Untuk membuat dan sekaligus membuka file baru . Reset -> Untuk membuka file yang sudah ada. File bertipe dapat bertipe integer, real, char, string, array dan record , namun disini akan dibahas file bertipe record. Untuk file bertipe baik yang dibuka dengan procedure standard rewrite ataupun reset mempunyai sifat read/write, yaitu dapat membaca dan merekamkan data ke dalam file bertipe sekaligus. Sedang pada file text hanya mempunyai satu keadaan yaitu read atau write saja. Untuk membuat suatu file yang dibuka menjadi read-only atau write- only dapat digunakan variabel terdefinisi yaitu : filemode secara default Filemode bernilai 2 yang berarti bisa read/write. „ I. Procedure dan fungsi standard untuk file bertipe Selain procedure dan fungsi standard yang dapat digunakan untuk semua tipe file (dapat dilihat di modul file dan directory). Masih terdapat beberapa procedure dan fungsi standard lainya yang dapat digunakan di file bertipe, yaitu : … I.1. Procedure standard write dan read write digunakan untuk merekamkan satu atau lebih nilai ke dalam file. Read digunakan untuk membaca satu atau lebih nilai dari file. Perbedaan penggunaan dari procedure ini adalah terletak pada variabel file yang digunakan. … I.2. Procedure standard Seek Digunakan untuk mengarahkan penunjuk file ke suatu komponen ter tentu di dalam file, sehingga memungkinkan untuk membaca komponen atau menuliskan komponen secara acak.
  • 2. sintak : seek(f;n : logint); f = variabel file n = posisi record komponen pertama record adalah adalah bernomor 0. ex : seek(filepeg,5); read(filepeg,No_peg,Nama,Alamat); menunjukkan komponen record ke 6 (nomor 5) di baca dari file. … I.3. Procedure Standard Truncate Digunakan untuk menghapus sejumlah komponen atau record mulai dari posisi record tertentu. Sintak : Truncate(F); ex : seek(filepeg,5); Truncate(filepeg); Pada contoh diatas mulai no record ke 5 (komponen ke 6) sampai terakhir akan dihapus dari file. … I.4. Fungsi Standard Filepos Fungsi standard ini digunakan untuk menghasilkan letak posisi sekarang dari penunjuk file dengan sintak : Filepos(f):longint; Ex : seek(filepeg,5); Writeln(filepos(filepeg)); Pada contoh ini, penunjuk file diarahkan ke nomor record 5 dan bila digunakan fungsi filepos maka akan dihasilkan nilai integer 5 , yang merupakan letak dari penunjuk file. … I.5. Fungsi standard Filesize Fungsi standard ini digunakan untuk menghasilkan jumlah dari komponen atau record yang tersedia di file. sintak : Filesize(f):longint; Fungsi ini harus digunakan setelah file dibuka dan tidak dapat digunakan sebelum file dibuka. Ex : Assign(filepeg,'Pegawai.dat'); Reset(filepeg); writeln('Jumlah record yang ada =',filesize(filepeg)); Contoh listing program dari penanganan file bertipe record seperti membuat file baru, menambah data record di file, mengedit data record, dan menampilkan data record.
  • 3. Ex.1 : Program membuat_file_baru_dan_isi; uses crt; type mahasiswa=record npm : string[10]; nama: string[25]; kls : string[4]; ipk : real; end; var filesiswa : file of mahasiswa; {deklarasi file siswa sebagai file record mahasiswa} recordsiswa : mahasiswa; lagi : char; begin assign(filesiswa,'siswa.dat'); {menghubungkan variabel file dgn external file} rewrite(filesiswa); {buka file baru filesiswa jika ada akan langsung tertimpa} lagi := 'Y'; while upcase(lagi)='Y' do begin clrscr; with recordsiswa do{menyertakan penyebut record} begin write('N P M =');readln(npm); write('Nama =');readln(nama); write('Kelas =');readln(kls); write('I P K =');readln(ipk); end; write(filesiswa,recordsiswa); {menulis isi recordsiswa ke file siwa} write('ada data lagi =');readln(lagi); end; close(filesiswa); {tutup filesiswa} end. program tampildata; uses crt; type mahasiswa = record npm : string[10]; nama : string[25]; kls : string[4]; ipk : real; end; var filesiswa : file of mahasiswa; {filesiswa adalah file bertipe record mahasiswa}
  • 4. recordsiswa : mahasiswa; begin assign(filesiswa,'siswa.dat'); {hubungkan varibel file dengan external file} reset(filesiswa); {membuka file yang sudah ada } clrscr; while not eof(filesiswa) do begin read(filesiswa,recordsiswa); {membaca isi filesiswa lalu dimasukan ke recordsiswa} with recordsiswa do writeln(npm:10,nama:25,kls:4,ipk:3:2); {menampilkan dilayar} end; close(filesiswa);{menutup file } readln; end. Program mencari_record; uses crt; type mahasiswa=record npm : string[10]; nama: string[25]; kls : string[4]; ipk : real; end; var filesiswa : file of mahasiswa; recordsiswa : mahasiswa; CariNpm : string[10]; ketemu : boolean; lagi : char; begin assign(filesiswa,'siswa.dat'); {menghubungkan varibel file dgn external file} reset(filesiswa);{buka file yang sudah ada} lagi := 'Y'; while upcase(lagi)='Y' do begin ketemu := false; write('Npm yang dicari =');readln(carinpm); {masukan npm yang akan dicari} while not eof(filesiswa) do {baca selam isi filesiswa blm habis} begin read(filesiswa,recordsiswa); {baca isi filesiswa lalu dimasukan ke recordsiwa} if recordsiswa.npm =carinpm then begin ketemu := true; with recordsiswa do
  • 5. writeln(npm:10,nama:25,kls:4,ipk:3:2); end; end; if ketemu=false then writeln('data tidak ada'); write('cari lagi =');readln(lagi); seek(filesiswa,0); end; close(filesiswa); end. program koreksi_data; uses crt; type mahasiswa=record npm : string[10]; nama : string[25]; kls : string[4]; ipk : real; end; var filesiswa : file of mahasiswa; recordsiswa : mahasiswa; ketemu : boolean; lagi : char; npmcari:string[10]; jumrec,i : integer; begin assign(filesiswa,'siswa.dat'); {menghubungkan tipefile dengan external file} reset(filesiswa);{buka file yang sudah ada } jumrec := filesize(filesiswa); {menghitung jumlah record di file} lagi := 'Y'; while upcase(lagi)='Y' do begin write('NPM yang dicari =');readln(Npmcari); for i:= 1 to jumrec do begin seek(filesiswa,i-1); {Cari record di file siswa pada posisi i} read(filesiswa,recordsiswa);{baca isi record di file} if recordsiswa.npm=npmcari then begin ketemu:=true; with recordsiswa do begin writeln('npm =',npm:10); write('npm koreksi =');readln(npm); writeln('nama =',nama:25); write('nama koreksi =');readln(nama);
  • 6. writeln('Kls =',kls:4); write('Kls koreksi =');readln(kls); writeln('Ipk =',ipk:3:2); write('IPK koreksi =');readln(ipk); end; end; seek(filesiswa,i-1); write(filesiswa,recordsiswa); end; if not ketemu then writeln('data tidak ada'); write('isi lagi =');readln(lagi); end; close(filesiswa); end. program tambah_data; type mahasiswa=record npm : string[10]; nama: string[25]; kls : string[4]; ipk : real; end; var filesiswa : file of mahasiswa; recordsiswa : mahasiswa; lagi:char; begin assign(filesiswa,'siswa.dat'); {i$-} reset(filesiswa); {i$+} if ioresult <> 0 then rewrite(filesiswa); lagi :='Y'; seek(filesiswa,filesize(filesiswa)); while upcase(lagi)='Y' do begin with recordsiswa do begin write('Npm =');readln(npm); write('nama =');readln(nama); write('kelas =');readln(kls); write('IPK =');readln(ipk); end; write(filesiswa,recordsiswa); write('isi lagi =');readln(lagi); end; close(filesiswa); end. program menu_file;
  • 7. uses crt; type mahasiswa=record npm : string[10]; nama: string[25]; kls : string[4]; ipk :real; end; var filesiswa : file of mahasiswa; recordsiswa : mahasiswa; procedure filebaru; var lagi : char; begin assign(filesiswa,'siswa.dat'); rewrite(filesiswa); lagi := 'Y'; while upcase(lagi)='Y' do begin clrscr; with recordsiswa do begin write('N P M =');readln(npm); write('Nama =');readln(nama); write('Kelas =');readln(kls); write('I P K =');readln(ipk); end; write(filesiswa,recordsiswa); write('ada data lagi =');readln(lagi); end; close(filesiswa); end; procedure tambahdata; var lagi:char; begin assign(filesiswa,'siswa.dat'); {i$-} reset(filesiswa); {i$+} if ioresult <> 0 then rewrite(filesiswa); lagi :='Y'; seek(filesiswa,filesize(filesiswa)); while upcase(lagi)='Y' do begin with recordsiswa do begin write('Npm =');readln(npm); write('nama =');readln(nama);
  • 8. write('kelas =');readln(kls); write('IPK =');readln(ipk); end; write(filesiswa,recordsiswa); write('isi lagi =');readln(lagi); end; close(filesiswa); end; procedure koreksidata; var ketemu : boolean; lagi : char; npmcari:string[10]; jumrec,i : integer; begin assign(filesiswa,'siswa.dat'); reset(filesiswa); jumrec := filesize(filesiswa); lagi := 'Y'; while upcase(lagi)='Y' do begin ketemu := false; write('NPM yang dicari =');readln(Npmcari); for i:= 1 to jumrec do begin seek(filesiswa,i-1); read(filesiswa,recordsiswa); if recordsiswa.npm=npmcari then begin ketemu:=true; with recordsiswa do begin writeln('npm =',npm:10); write('npm koreksi =');readln(npm); writeln('nama =',nama:25); write('nama koreksi =');readln(nama); writeln('Kls =',kls:4); write('Kls koreksi =');readln(kls); writeln('Ipk =',ipk:3:2); write('IPK koreksi =');readln(ipk); end; end; seek(filesiswa,i-1); write(filesiswa,recordsiswa); end; if not ketemu then writeln('data tidak ada'); write('isi lagi =');readln(lagi); end; close(filesiswa);
  • 9. end; procedure tampildata; begin assign(filesiswa,'siswa.dat'); reset(filesiswa); clrscr; while not eof(filesiswa) do begin read(filesiswa,recordsiswa); with recordsiswa do writeln(npm:10,nama:25,kls:4,ipk:3:2); end; close(filesiswa); readln; end; procedure caridata; var CariNpm : string[10]; ketemu : boolean; lagi : char; begin assign(filesiswa,'siswa.dat'); reset(filesiswa); lagi := 'Y'; while upcase(lagi)='Y' do begin ketemu := false; write('Npm yang dicari =');readln(carinpm); while not eof(filesiswa) do begin read(filesiswa,recordsiswa); if recordsiswa.npm =carinpm then begin ketemu := true; with recordsiswa do writeln(npm:10,nama:25,kls:4,ipk:3:2); end; end; if ketemu=false then writeln('data tidak ada'); write('cari lagi =');readln(lagi); seek(filesiswa,0); end; close(filesiswa); end; {modul utama} var
  • 10. pil : char; flag : boolean; label awal; begin flag := true; while flag = true do begin awal : clrscr; writeln('Pilihan menu file bertipe record'); writeln('1. file baru dan isi'); writeln('2. Tambah data '); writeln('3. Koreksi data berdasar npm '); writeln('4. Cari data berdasar npm '); writeln('5. Tampil data '); writeln('6. keluar'); writeln; write('Pilihan anda =');readln(pil); if not (pil in ['1'..'6']) then begin writeln(char(7)); writeln('Data tidak ada'); goto awal; end; case pil of '1' : filebaru; '2' : tambahdata; '3' : koreksidata; '4' : caridata; '5' : tampildata; '6' : halt; end; end; end.