SlideShare a Scribd company logo
1 of 8
MODUL 14
RECORD
I. PENDAHULUAN
Jika pada array komponen data harus memiliki tipe data yang sama, maka pada
record beberapa item data yang dikumpulkan dapat memiliki tipe data yang berbeda.
Masing masing item data disebut dengan FIELD. Jadi record terdiri dari kumpulan field
yang dapat berbeda tipe. Biasanya suatu record berisi beberapa field untuk sebuah
subyek tertentu. Misalnya record Langganan dapat terdiri dari field kode langganan,
nama langganan, alamat langganan dan besarnya piutang.
II. DEKLARASI RECORD
Deklarasi tipe record diawali dengan kata cadangan RECORD dan diikuti oleh suatu
daftar field dan diakhiri dengan kata cadangan END.
Contoh 1 :
type
Lgn = record
Kode : integer;
Nama : string[35];
Alamat : string[45];
Piutang ; real;
End;
Var
Langganan : Lgn;
Deklarasi variable tipe data record dapat langsung dilakukan di bagian
deklarasi variable :
Var
Langganan : record
Kode : integer;
Nama : string[35];
Alamat : string[45];
Piutang ; real;
End;
III. MENGGUNAKAN TIPE DATA RECORD
Tiap tiap komponen field dari record dapat dipergunakan dengan cara menuliskan :
Pengenal-record.pengenal-field[.pengenal.field]
Dari contoh 1 bila field nama akan dipanggil, misalnya akan diisi dengan suatu nilai
nama maka dapat ditulis :
Langganan.Nama := ‘Yahya Ayyash’;
Pengenal field
Pengenal record
Contoh 2 :
Type
Hasil = record
JariJari : real;
Keliling : real;
Luas : real;
End;
Var
Lingkaran : Hasil;
Begin
Write(‘Jari-jari lingkaran ? ‘); readln(Lingkaran.JariJari);
Lingkaran.Keliling := 2*PI*Lingkaran.JariJari;
Lingkaran.Luas := PI*sqr(Lingkaran.JariJari);
Writeln;
Writeln('Keliling Lingkaran = ‘,Lingkaran.Keliling:7:2);
Writeln('Luas Lingkaran = ‘,Lingkaran.Luas:7:2);
End.
IV. STATEMEN WITH
Penggunaan field di dalam record seperti contoh 2 meneyebabkan statemen
menjdai panjang akan lebih mudah dan lebih pendek bila pengenal record tidak selalu
harus ditulis dengan menggunakan statemen With.
Contoh 3 ;
Type
Hasil = record
JariJari : real;
Keliling : real;
Luas : real;
End;
Var
Lingkaran : Hasil;
Begin
With Lingkaran Do
Begin
Write(‘Jari-jari lingkaran ? ‘); readln(JariJari);
Keliling := 2*PI*JariJari;
Luas := PI*sqr(JariJari);
Writeln;
Writeln(“Keliling Lingkaran = ‘,Keliling:7:2);
Writeln(“Luas Lingkaran = ‘,Luas:7:2);
End;
End.
V. TIPE DATA RECORD DENGAN FIELD TIPE RECORD
Tipe data record dapat juga mempunyai field berupa tipe data record yang lainnya.
Misalnya item item data berikut :
1. Nama pegawai
2. Tanggal masuk
a. hari
b. bulan
c. tahun
3. Alamat pegawai
a. jalan
b. kota
4. Gaji
a. gaji pokok
b. tunjangan
c. lembur
Contoh 4 :
Type
Tgl = Record
Hari : 1..31;
Bulan : 1..12;
Tahun : word;
End;
alm =record
Jalan : string[35];
Kota : string[25];
End;
GajiPeg = Record
GajiPokok, Tunjangan, Lembur : real;
End;
Pegawai = Record
Nama : string[40];
TglMasuk : Tgl;
Alamat : Almt;
Gaji : GajiPeg;
End;
Var
DataPegawai : Pegawai;
TotalGaji : Real;
Begin
DataPegawai.Nama := ‘Badu’;
DataPegawai.TglMasuk.Hari := 15;
DataPegawai.TglMasuk.Bulan := 3;
DataPegawai.TglMasuk.Tahun := 1980’
DataPegawai.Alamat.Jalan := ‘gang Buntu 22’;
DataPegawai.Alamat.Kota := ‘ Yogyakarta’;
DataPegawai.Gaji.GajiPokok := 1000000;
DataPegawai.Gaji.Tunjangan := 1000000;
DataPegawai.Gaji.Lembur := 500000;
With DataPegawai Do
Begin
Writeln(‘Nama Pegawai : ‘,Nama);
With TglMasuk Do
Writeln(‘Tanggal masuk : ‘,Hari:2,’-‘,Bulan:2,’-‘,Tahun:4);
With Alamat Do
Begin
Writeln(‘Alamat : ‘,Jalan);
Writeln(‘ ;,Kota);
End;
With Gaji Do
Begin
TotalGaji := GajiPokok+Tunjangan+Lembur;
Writeln;
Writeln(‘Gaji Pokok : Rp ‘,GajiPokok:6:0);
Writeln(‘Tunjangan : Rp ‘,Tunjangan:6:0);
Writeln(‘Lembur : Rp ‘,Lembur:6:0);
Writeln(‘ ***TOTAL Rp ‘,TotalGaji:6:0);
End;
End;
End.
VI. RECORD BERVARIASI
Pada contoh 4 kita lihat field field pada record sudah tertentu dan pasti disebut
fixed record structure, kita juga dapat membuat sutu record yang mempunyai field
yang tidak pasti atau bervariasi disebut variant record.
Contoh 5 :
Uses crt;
Type
StatusMenikah = (Single, menikah, Cerai);
DataPribadi = record
Nama : string[20];
Gaji : real;
Case Status : StatusMenikah of
Single();
Menikah : (AnakM : 0..20);
Cerai : (AnakC : 0..20);
menikahLagi : Char)
end;
var
Karyawan : Array[1..20] of DataPribadi;
Jawab : Char;
JumlahData, I : Byte;
Procedure MasukkanData;
Begin
Clrscr;
Write(‘Jumlah Data ? ‘);readln(JumlahData);
For I := 1 to JumlahData Do
Begin
With Karyawan[I] Do
Begin
Writeln;
Write(‘ Nama Karyawan ? ‘);readln(Nama);
Write(‘ Gaji tiap Bulan ? ‘);readln(Gaji);
Write(“ status menikah (S/M/C) ? ‘);readln(Jawab);
If Upcase(Jawab)=’S’ then
Begin
Status := Single;
End;
If Upcase(Jawab)=’M’ then
Begin
Status := Menikah;
Write(“ Jmlah anak ? ‘);readln(AnakM);
End;
If Upcase(Jawab)=’C’ then
Begin
Status := Cerai;
Write(“ Jmlah anak ? ‘);readln(AnakC);
Write(“ Menikah lagi (Y/T) ? ‘);readln(MenikahLagi);
End;
End; {with karyawan[I]}
End; {for I }
End; {Masukkan data}
Procedure TampilkanHasil;
Begin
Clrscr;
Writeln(‘ D A F T A R K A R Y A W A N’);
Writeln(‘--------------------------------------------------------------------------------------------‘);
Writeln(‘ Gaji Status Jumlah Menikah’);
writeln(‘ Nama Karyawan Sebulan S/M/C Anak Lagi’);
writeln(‘----------------------------------------------------------------------------------------‘);
For I := 1 to JumlaData Do
Begin
With Karyawan[I] Do
Begin
Write(Nama:20, Gaji:10:2);
Case Status Of
Single : Writeln(‘ S’);
Menikah : writeln(“ M’,AnakM:11);
Cerai : writeln(‘ C’,AnakC:11,MenikahLagi:7);
End; {Case Status}
End; {With Karyawan[I]}
End; {For I }
Writeln(‘--------------------------------------------------------------------------------------‘);
End; {TampilkanHasil}
Begin {Modul utama}
MasukkanData;
TampilkanHasil;
End.
Tugas Mandiri:
Tulislah program untuk menampilkan sejumlah data pegawai yang terdiri dari Nomor pegawai,
nama pegawai, alamat, jabatan, gaji dan jenis kelamin. Banyaknya jumlah pegawai ditentukan
oleh pengguna.
==============
Referensi:
Jogiyanto, Konsep Dasar Pemrograman Bahasa Pascal, Andi Offset, Yogyakarta, 1993
  

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Das prog modul_14_record

  • 1. MODUL 14 RECORD I. PENDAHULUAN Jika pada array komponen data harus memiliki tipe data yang sama, maka pada record beberapa item data yang dikumpulkan dapat memiliki tipe data yang berbeda. Masing masing item data disebut dengan FIELD. Jadi record terdiri dari kumpulan field yang dapat berbeda tipe. Biasanya suatu record berisi beberapa field untuk sebuah subyek tertentu. Misalnya record Langganan dapat terdiri dari field kode langganan, nama langganan, alamat langganan dan besarnya piutang. II. DEKLARASI RECORD Deklarasi tipe record diawali dengan kata cadangan RECORD dan diikuti oleh suatu daftar field dan diakhiri dengan kata cadangan END. Contoh 1 : type Lgn = record Kode : integer; Nama : string[35]; Alamat : string[45]; Piutang ; real; End; Var Langganan : Lgn; Deklarasi variable tipe data record dapat langsung dilakukan di bagian deklarasi variable : Var Langganan : record Kode : integer; Nama : string[35]; Alamat : string[45]; Piutang ; real;
  • 2. End; III. MENGGUNAKAN TIPE DATA RECORD Tiap tiap komponen field dari record dapat dipergunakan dengan cara menuliskan : Pengenal-record.pengenal-field[.pengenal.field] Dari contoh 1 bila field nama akan dipanggil, misalnya akan diisi dengan suatu nilai nama maka dapat ditulis : Langganan.Nama := ‘Yahya Ayyash’; Pengenal field Pengenal record Contoh 2 : Type Hasil = record JariJari : real; Keliling : real; Luas : real; End; Var Lingkaran : Hasil; Begin Write(‘Jari-jari lingkaran ? ‘); readln(Lingkaran.JariJari); Lingkaran.Keliling := 2*PI*Lingkaran.JariJari; Lingkaran.Luas := PI*sqr(Lingkaran.JariJari); Writeln; Writeln('Keliling Lingkaran = ‘,Lingkaran.Keliling:7:2); Writeln('Luas Lingkaran = ‘,Lingkaran.Luas:7:2); End.
  • 3. IV. STATEMEN WITH Penggunaan field di dalam record seperti contoh 2 meneyebabkan statemen menjdai panjang akan lebih mudah dan lebih pendek bila pengenal record tidak selalu harus ditulis dengan menggunakan statemen With. Contoh 3 ; Type Hasil = record JariJari : real; Keliling : real; Luas : real; End; Var Lingkaran : Hasil; Begin With Lingkaran Do Begin Write(‘Jari-jari lingkaran ? ‘); readln(JariJari); Keliling := 2*PI*JariJari; Luas := PI*sqr(JariJari); Writeln; Writeln(“Keliling Lingkaran = ‘,Keliling:7:2); Writeln(“Luas Lingkaran = ‘,Luas:7:2); End; End. V. TIPE DATA RECORD DENGAN FIELD TIPE RECORD Tipe data record dapat juga mempunyai field berupa tipe data record yang lainnya. Misalnya item item data berikut : 1. Nama pegawai 2. Tanggal masuk a. hari b. bulan
  • 4. c. tahun 3. Alamat pegawai a. jalan b. kota 4. Gaji a. gaji pokok b. tunjangan c. lembur Contoh 4 : Type Tgl = Record Hari : 1..31; Bulan : 1..12; Tahun : word; End; alm =record Jalan : string[35]; Kota : string[25]; End; GajiPeg = Record GajiPokok, Tunjangan, Lembur : real; End; Pegawai = Record Nama : string[40]; TglMasuk : Tgl; Alamat : Almt; Gaji : GajiPeg; End; Var DataPegawai : Pegawai; TotalGaji : Real; Begin DataPegawai.Nama := ‘Badu’; DataPegawai.TglMasuk.Hari := 15;
  • 5. DataPegawai.TglMasuk.Bulan := 3; DataPegawai.TglMasuk.Tahun := 1980’ DataPegawai.Alamat.Jalan := ‘gang Buntu 22’; DataPegawai.Alamat.Kota := ‘ Yogyakarta’; DataPegawai.Gaji.GajiPokok := 1000000; DataPegawai.Gaji.Tunjangan := 1000000; DataPegawai.Gaji.Lembur := 500000; With DataPegawai Do Begin Writeln(‘Nama Pegawai : ‘,Nama); With TglMasuk Do Writeln(‘Tanggal masuk : ‘,Hari:2,’-‘,Bulan:2,’-‘,Tahun:4); With Alamat Do Begin Writeln(‘Alamat : ‘,Jalan); Writeln(‘ ;,Kota); End; With Gaji Do Begin TotalGaji := GajiPokok+Tunjangan+Lembur; Writeln; Writeln(‘Gaji Pokok : Rp ‘,GajiPokok:6:0); Writeln(‘Tunjangan : Rp ‘,Tunjangan:6:0); Writeln(‘Lembur : Rp ‘,Lembur:6:0); Writeln(‘ ***TOTAL Rp ‘,TotalGaji:6:0); End; End; End.
  • 6. VI. RECORD BERVARIASI Pada contoh 4 kita lihat field field pada record sudah tertentu dan pasti disebut fixed record structure, kita juga dapat membuat sutu record yang mempunyai field yang tidak pasti atau bervariasi disebut variant record. Contoh 5 : Uses crt; Type StatusMenikah = (Single, menikah, Cerai); DataPribadi = record Nama : string[20]; Gaji : real; Case Status : StatusMenikah of Single(); Menikah : (AnakM : 0..20); Cerai : (AnakC : 0..20); menikahLagi : Char) end; var Karyawan : Array[1..20] of DataPribadi; Jawab : Char; JumlahData, I : Byte; Procedure MasukkanData; Begin Clrscr; Write(‘Jumlah Data ? ‘);readln(JumlahData); For I := 1 to JumlahData Do Begin With Karyawan[I] Do Begin Writeln; Write(‘ Nama Karyawan ? ‘);readln(Nama); Write(‘ Gaji tiap Bulan ? ‘);readln(Gaji); Write(“ status menikah (S/M/C) ? ‘);readln(Jawab);
  • 7. If Upcase(Jawab)=’S’ then Begin Status := Single; End; If Upcase(Jawab)=’M’ then Begin Status := Menikah; Write(“ Jmlah anak ? ‘);readln(AnakM); End; If Upcase(Jawab)=’C’ then Begin Status := Cerai; Write(“ Jmlah anak ? ‘);readln(AnakC); Write(“ Menikah lagi (Y/T) ? ‘);readln(MenikahLagi); End; End; {with karyawan[I]} End; {for I } End; {Masukkan data} Procedure TampilkanHasil; Begin Clrscr; Writeln(‘ D A F T A R K A R Y A W A N’); Writeln(‘--------------------------------------------------------------------------------------------‘); Writeln(‘ Gaji Status Jumlah Menikah’); writeln(‘ Nama Karyawan Sebulan S/M/C Anak Lagi’); writeln(‘----------------------------------------------------------------------------------------‘); For I := 1 to JumlaData Do Begin With Karyawan[I] Do Begin
  • 8. Write(Nama:20, Gaji:10:2); Case Status Of Single : Writeln(‘ S’); Menikah : writeln(“ M’,AnakM:11); Cerai : writeln(‘ C’,AnakC:11,MenikahLagi:7); End; {Case Status} End; {With Karyawan[I]} End; {For I } Writeln(‘--------------------------------------------------------------------------------------‘); End; {TampilkanHasil} Begin {Modul utama} MasukkanData; TampilkanHasil; End. Tugas Mandiri: Tulislah program untuk menampilkan sejumlah data pegawai yang terdiri dari Nomor pegawai, nama pegawai, alamat, jabatan, gaji dan jenis kelamin. Banyaknya jumlah pegawai ditentukan oleh pengguna. ============== Referensi: Jogiyanto, Konsep Dasar Pemrograman Bahasa Pascal, Andi Offset, Yogyakarta, 1993   