Modul 5 PDF
Modul 5 PDF
Oleh,
NPM : 197006018
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNIK UNIVERSITAS SILIWANGI
TASIKMALAYA
2019
MODUL 5
RECORD DAN ARRAY
TUJUAN PRAKTIKUM
Praktikan diharapkan dapat :
1. Mengerti dan menggunakan tipe data record dan array
2. Membuat dan dapat menganalogikan pembuatan struktur data array dengan baik
DASAR TEORI
5.1 RECORD
Record adalah salah satu tipe data terstruktur yang berguna untuk mengelompokkan sejumlah elemen data
dengan tipe berlainan. Elemen data ini biasa disebut field. Struktur umum pendeklarasian record pada Pascal
sebagai berikut :
type Nama_record = record
namafield1 : tipe1;
namafield2 : tipe2;
...
namafieldn : tipen
end;
Pada contoh di atas dideklarasikan record titik memiliki dua anggota x dan y yang masingmasing
bertipe integer, record r_tanggal terdiri dari field tanggal, bulan, dan tahun dengan tipe integer, dan record
mahasiswa terdiri dari nim bertipe integer, nama bertipe string, dan tanggal_lahir bertipe r_tanggal.
Mahasiswa adalah contoh record yang salah satu fieldnya bukan tipe dasar tetapi berupa tipe bentukan,
yaitu tanggal.
Apabila suatu record telah dideklarasikan, maka record ini dapat digunakan untuk mendefinisikan
suatu variable dengan aturan :
var
Nama_variabel : nama_record;
Contoh :
var
t : titik;
h : r_tanggal;
mhs : mahasiswa;
Anggota atau Field pada record yang sudah dibuat variabelnya dapat diakses dengan menggunakan bentuk
sebagai berikut :
nama_variabel_record.nama_field
Contoh :
t.x := 2;
t.y := 4;
writeln(‘Nim : ’,rec_mhs.nim);
writeln(‘Nama : ’,rec_mhs.nama);
write(‘Tanggal Lahir : ’,rec_mhs.tgl_lahir.tanggal,’-‘,
rec_mhs.tgl_lahir.bulan,’-‘, rec_mhs.tgl_lahir.tahun);
readln;
end.
Tampilan pada layar
Analisis
Program : Untuk menuliskan judul program yang akan dijalankan.
Var : Untuk menyimpan sebuah nilai dan nilai yang disimpan padanya dapat diubah selama
eksekusi program berlangsung.
Type : Untuk menuliskan record.
Record : Untuk menuliskan tipe data yang berbeda.
Begin : Untuk mengawali perogram.
Write : Untuk memasukkan atau menginputkan data kedalam suatu variabel.
Writeln : Untuk garis baru.
Readln : Untuk menampilkan atau mencetak isi dari suatu nilai variabel di layar (monitor).
End. : Untuk menggakhiri suatu program.
Pada program Data Mahasiswa menampilkan Nim, Nama, dan Tanggal Lahir. Program tersebut
menggunakan tipe data record, untuk pengelompokkan elemen dengan tipe berlainan. Field pada type r_tanggal
pada program diatas terdapat tanggal,bulan,dan tahun yang bertipe data integer, juga type mahasiswa dengan
program tersebut terdapat type yaitu r_tanggal merupakan record yaitu field nim,nama dan tgl_lahir, dan
bervariabel rec_mhs : mahasiswa.
5.2 ARRAY
Array(larik) merupakan tipe data terstruktur yang dapat menyimpan sejumlah data yang bertipe
sama dengan menggunakan nama yang sama. Setiap elemen array mempunyai indeks. Dengan
menggunakan indeks ini, setiap elemen array dapat diakses secara tersendiri.
Keadaan tersebut dapat diilustrasikan sebagai sebuah asrama mahasiswa yang setiap kamarnya
mempunyai nomor urut dan dihuni oleh seorang mahasiswa. Seorang mahasiswa dapat dibedakan dengan
nomor urut kamarnya. Asrama mahasiswa adalah arraynya, elemen-elemen asrama bertipe sama yaitu
mahasiswa, dan nomor kamar adalah indeksnya. Array dapat dibedakan menjadi array berdimensi satu,
array berdimensi dua dan array berdimensi banyak. Tetapi pada modul ini yang akan dibahas hanya array
berdimensi satu
Analisis
Pada program diatas menggunakan struktur array yang tipe indeks nya 1 sampai 5 [1..5]
.Program ini berfungsi untuk menginputkan suatu variabel berupa string yaitu judul buku, kemudian
digunakan struktur for bersarang untuk menampilkan pengualangan Judul Buku ke- sampai 5 kali.
Program 5.3 Program untuk mengisi array dengan n buah bilangan kemudian menghitung total
jumlahnya
program Penjumlahan_Array;
const NMaks = 20 ;
type LAngka = array[1..NMaks] of real;
var
Nilai : LAngka;
i, n : integer;
jum : real;
begin
writeln('# INPUT NILAI #');
write(‘Input Berapa nilai ? ’); readln(n);
for i:=1 to n do
begin
write('Nilai [',i,'] : '); readln(Nilai[i]);
end;
{Hitung total jumlah nilai} jum:=0;
for i:=1 to n do
jum:=jum + Nilai[i];
for i := to n do
[Output]
Kode MK : MKK 1107
Nama MK : Dasar Pemrograman
Sks : 2 sks
Program Mata_Kuliah
Uses crt;
Type
kuliah = record
kode_mk, nama_mk : string;
sks : integer;
end;
Var
k : kuliah;
Begin
clrscr;
write(‘Input Kode Mata Kuliah : ’); readln(k.kode_mk);
write(‘Input Nama Mata Kuliah : ’); readln(k.nama_mk);
write(‘Input Jumlah SKS : ’); readln(k.sks);
writeln;
writeln(‘Kode Mata Kuliah :’, k.kode_mk);
writeln(‘Nama Mata Kuliah :’, k.nama_mk);
writeln(‘Jumlah SKS :’, k.sks, ‘SKS’);
readln;
end.
Tampilan pada layar
Analisis
Program : Untuk menuliskan judul program yang akan dijalankan.
Var : Untuk menyimpan sebuah nilai dan nilai yang disimpan padanya dapat diubah selama
eksekusi program berlangsung.
Type : Untuk menuliskan record.
Record : Untuk menuliskan tipe data yang berbeda.
Begin : Untuk mengawali perogram.
Writeln : Untuk garis baru.
Readln : Untuk menampilkan atau mencetak isi dari suatu nilai variabel di layar (monitor).
End. : Untuk menggakhiri suatu program dan pengisian nilainya
Program ini menerima inputan berupa kode mata kuliah, nama mata kuliah, dan jumlah sks yang
disimpan dalam record, kemudian menampilkan hasil masukan data mata kuliah dalam bentuk record yang
berisi beberapa tipe data.
2. Dibaca dua buah titik yang terdapat pada diagram Cartesian : P1(x1,y1) dan P2(x2,y2). Buat program
untuk menghitung titik tengah dari P1 dan P2 dimana P1 dan P2 bertipe record dengan 2 buah field(x
dan y). Koordinat titik tengah : x = (x1 + x2)/2 y = (y1 + y2)/2
Contoh :
[input]
Koordinat Titik Pertama : 5 6
Koordinat Titik Kedua : 2 3
[output]
Koordinat Titik Tengah = 3.5 , 4.5
Program Diagram_Cartesian;
Uses crt;
Type
titik1 = record
x1, y1 : real;
end;
titik2 = record
x2, y2 : real;
end;
var
t1 : titik1;
t2 : titik2;
x, y : real;
begin
clrscr;
write(‘Input Koordinat Titik Pertama : ’); readln(t1.x1,t1.y1);
write(‘Input Koordinat Titik Kedua : ’); readln(t2.x2,t2.y2);
writeln(‘=============================’);
x := (t1.x1 + t2.x2)/2;
y := (t1.y1 + t2.y2)/2;
write(‘Koordinat Titik Tengah =’, x:0:1,’,’,y:0:1);
readln;
end.
Tampilan pada layar
Analisis
3. Buat program untuk menyimpan sejumlah bilangan bulat (banyaknya bilangan bulat tergantung
user) dalam sebuah array kemudian menampilkan isi array tersebut tetapi hanya yang termasuk ke
dalam bilangan positif dan kelipatan 2
Program Bilangan_Bulat;
Uses crt;
Const
Bmaks = 100;
Type
LBilangan = array [1..Bmaks] of integer;
Var
Bilangan : LBilangan;
i, n : integer;
begin
clrscr;
writeln(‘# MASUKKAN BILANGAN #’);
write (‘Input Bilangan : ’); readln(n);
for i:=1 to n do
begin
write(‘Bilangan[‘,i,’] : ’); readln(Bilangan[i]);
end;
write(‘Bilangan Positif dan Kelipatan Dua : ’);
for i:=1 to n do
if(Bilangan[i] mod 2=0) and (Bilangan[i]>0)then
write(‘ ’, Bilangan[i]);
readln;
end.
Analisis
Program : Untuk menuliskan judul program yang akan dijalankan.
Var : Untuk menyimpan sebuah nilai dan nilai yang disimpan
Type : Untuk menuliskan record.
Record : Untuk menuliskan tipe data yang berbeda.
Begin : Untuk mengawali perogram.
Write : Untuk memasukkan atau menginputkan data kedalam suatu variabel.
Writeln : Untuk garis baru.
Readln : Untuk menampilkan atau mencetak isi dari suatu nilai variabel di layar (monitor).
end. : Untuk menggakhiri suatu program
Program Bilangan_Bulat ini berfungsi untuk memilih bilangan bulatdan bilangan kelipatan dua dengan
menggunakan array dan for do dan untuk menginputkan data dari rumus if(bilangan[i] mod 2=0) and
(Bilangan[i]>0) then write(‘ ‘,Bilangan[i])
4. Buat program untuk menerima masukan sejumlah karakter dalam array(banyaknya input laralter
ditentukan oleh user) kemudian menampilkannya kembali dalam urutan terbalik!
Contoh :
[input]
Jumlah Input Karakter ? 3
INPUT
------------------------
Karakter – 1 : K
Karakter – 2 : O
Karakter – 3 : P
[output]
OUTPUT
----------------
P O K
program Karakter;
uses crt;
const
KMaks = 100;
type
Lkar = array[1..KMaks] of char;
var
kar : Lkar;
indeks : integer;
i, n : integer;
begin
clrscr;
write('Jumlah Input Karakter : '); readln(n);
writeln('INPUT');
writeln('=====');
for i:=1 to n do
begin
write('Karakter = ',i,' : '); readln(kar[i]);
end;
writeln;
writeln('OUTPUT');
writeln('******');
begin
for indeks :=i down to 1 do
write(kar[indeks]);
end;
readln;
end.
tampilan pada layar
Analisis
Program : Untuk menuliskan judul program yang akan dijalankan.
Var : Untuk menyimpan sebuah nilai dan nilai yang disimpan
Type : Untuk menuliskan record.
Record : Untuk menuliskan tipe data yang berbeda.
Begin : Untuk mengawali perogram.
Writeln : Untuk garis baru.
Readln : Untuk menampilkan atau mencetak isi dari suatu nilai variabel di layar (monitor).
end. : Untuk menggakhiri suatu program.
Program ini berfungsi untuk menginputkan beberapa karakter dengan menggunakan perintah write(‘Jumlah
Input Karakter : ‘); readln(n) maka output Yang dihasilkan adalah Jumlah Input Karakter : dan user memasukan
angka sesuai yang diingankan user sesuai dengan perintah array. pada program terdapat struktur pengulangan for
i:=1 to n do untuk mengulangi perintah write(‘Karakter =’,i,’ : ‘); sebanyak yang user inginkan pada perintah
sebelumnya. Pada program juga terdapat pengulangan for indeks := i down to 1 do yang akan membalikan karakter
yang sudah inputkan pada perintah for i:= 1 to n do.