260 likes | 593 Views
R EC OR D. Kelompok 3. Kelompok 3. Nama : Eka Prastya NIM : 12510030011123. Kelompok 3. Nama : Maretha Yosepin NIM : 125100300111025. Kelompok 3. Nama : Candra A. Hastuti NIM : 125100300111027. Kelompok 3. Nama : Umi Sadiyah NIM : 125100300111029. Kelompok 3.
E N D
Kelompok 3 Nama : Eka Prastya NIM : 12510030011123
Kelompok 3 Nama : Maretha Yosepin NIM : 125100300111025
Kelompok 3 Nama : Candra A. Hastuti NIM : 125100300111027
Kelompok 3 Nama : Umi Sadiyah NIM : 125100300111029
Kelompok 3 Nama : Dian Ardifa Iswari NIM : 125100300111031
Kelompok 4 Nama : Dian Nur S NIM : 125100300111033
Kelompok 4 Nama : Hana Retno P NIM : 125100300111035
Kelompok 4 Nama : ILham Aditya NIM : 125100300111037
Kelompok 4 Nama : Khairina Wardina NIM : 125100300111041
Kelompok 4 Nama : Emirudin Badar NIM : 125100300111043
What is Record? • Record adalah sekumpulan elemen data yang memiliki tipe dan panjang data yang berbeda-beda tapi memiliki nama yang sama. • Struct/Record merupakan koleksi satuan data yang heterogen, yaitu terdiri dari berbagai type: integer, string, char etc. • Data item yang merupakan elemen record biasanya disebut dengan FIELD.
Record sering digunakan dalam program terutama yang berhubungan dengan file. Misalnya, sebuah record tentang data karyawan, yang terdiri dari nama, alamat, umur dan pekerjaan.
Deklarasi Record Type Name of record = record name of field (1) : type of field (1); name of field (2) : type of field (2); name of field (3) : type of field (3); :: : : : : name of field (n) : type of field (n); end;
Contoh Program Record • program rekord; • usescrt; • typeTSiswa = recordnim : string[8];nama : string[25];agama : string[10];ktp : string[25];end; • vars : TSiswa;umur : integer;ts : integer;tl : integer; • beginclrscr;write (’Masukkan tahun sekarang: ‘);readln (ts);writeln (’Isikan data anda dalam Form ini’);write (’NIM : ‘);readln (s.nim);write (’NAMA : ‘);readln (s.nama);write (’TAHUN LAHIR : ‘);readln (tl);umur := (ts-tl);write (’AGAMA : ‘);readln (s.agama);write (’NO.KTP : ‘);readln (s.ktp);writeln;writeln (’Berikut ini informasi yang anda berikan: ‘);writeln (’NIM : ‘, s.nim);writeln (’NAMA : ‘, s.nama);writeln (’Umur : ‘, umur);writeln (’AGAMA : ‘, s.agama);writeln (’NO.KTP : ‘, s.ktp);READLN; end.
iTab Template
Array dalam Record • uses wincrt; • type pegawai=record • nik,nama:string; • gaji:real; • status:char; • totalgaji:real; • end; • larikpeg=array[1..20] of pegawai; • var • peg:larikpeg; • n,i,j:byte; • lagi:char; • xx:pegawai; • begin • {mengisi Data Pegawai} • Repeat • clrscr; • lagi:='y'; • while lagi='y' do • begin • inc(n); • writeln(' mengisi data pegawai ke,n); • write(' masukan nik ==> ');readln(peg[n].nik); • write(' masukan nama ==> ');readln(peg[n].nama); • write(' gaji pokok ==> ');readln(peg[n].gaji); • write(' status ? <menikah=k, tidak=t> ');readln(peg[n].status); • if peg[n].status='k' then peg[n].totalgaji:= peg[n].gaji+(0.2*peg[n].gaji)
Array dalam Record • else peg[n].totalgaji:=peg[n].gaji+(0.1*peg[n].gaji); • writeln; • write(' apakah akan mengisi lagi y/t? ');readln(lagi); • writeln; • end; • clrscr; • writeln(' ':10,'Daftar gaji pegawai PT. Maju Terus'); • writeln(' ========================================================= '); • writeln(' | no | nik | nama | gaji pokok | gaji bersih | '); • writeln(' ========================================================= '); • for i:=1 to n do • writeln(i:4,peg[i].nik:9,peg[i].nama:12,' Rp',peg[i].gaji:10:2,' Rp',peg[i].totalgaji:10:2); • writeln(' ======================================================= '); • {mengurutkan} • writeln; • for i:=1 to n-1 do • begin • for j:=i+1 to n do • begin
Array dalam Record • if (peg[i].totalgaji<peg[j].totalgaji) then • begin • xx:=peg[i];peg[i]:=peg[j];peg[j]:=xx; • end; • end; • end; • writeln(' ':3,'Daftar gaji pegawai PT. Maju Terus Sesudah Diurutkan'); • writeln(' ========================================================= '); • writeln(' | no | nik | nama | gaji pokok | gaji bersih | '); • writeln(' ========================================================= '); • for i:=1 to n do • writeln(i:4,peg[i].nik:9,peg[i].nama:12,' Rp',peg[i].gaji:10:2,' Rp',peg[i].totalgaji:10:2); • writeln(' ====================================================== '); • writeln; • write(' Apakah Ingin Menambah Data Karyawan lagi y/t? ');readln(lagi); • until(lagi='t'); • end.
Record dalam Array • uses wincrt; • type tb_brg=record • kb:string; • nb:string; • hb:string; • end; • var • brg:array[1..10] of tb_brg; • a,b,ke:integer; • tukar:tb_brg; • pilih:char; • posisi:array[1..10] of integer; • begin • pilih:='y'; • while ((pilih='y') or (pilih='Y')) do • begin • ke:=ke+1; • writeln; • writeln(' Masukan Jenis Barang ke ',ke,' : '); • writeln('====================================='); • write('Masukan Kode Barang : ');readln(brg[ke].kb); • write('Masukan Nama Barang : ');readln(brg[ke].nb); • write('Masukan Harga Barang : ');readln(brg[ke].hb);
Record dalam Array • writeln('===================================='); • write('Tambah Barang yang Lain ? y/t: ');readln(pilih); • end; • clrscr; • for a:=1 to ke do • begin • writeln; • writeln(' Tabel Barang '); • writeln('--------------------------------------------'); • writeln('no | Kode | Barang | Harga |'); • writeln('============================================'); • for a:=1 to ke do • writeln(a:6,'|',brg[a].kb:10,'|',brg[a].nb:12,'|',brg[a].hb:12,'|'); • writeln('--------------------------------------------'); • writeln; • end; • end.