Anda di halaman 1dari 17

LAPORAN PRAKTIKUM

DASAR PEMROGRAMAN
Laporan ini disusun untuk memenuhi tugas mingguan mata kuliah
Praktikum Dasar Pemrograman

Semester 1 Tahun Akademik 2020/2021

Oleh :
Nama : Popy Anisa

NPM : 207006018

LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNIK UNIVERSITAS SILIWANGI
TASIKMALAYA
2020
BAB VI
ARRAY BERTIPE RECORD

TUJUAN PRAKTIKUM

Praktikan diharapkan dapat :

1. Memahami penggunaan tipe record pada array

2. Mengimplementasikan array bertipe record dalam sebuah studi kasus

DASAR TEORI

6.1 Array Bertipe Record

Elemen dari array selain bertipe sederhana(integer, char, real, boolean, string)
juga dapat bertipe terstruktur(record). Contohnya jika ingin menyimpan
sekumpulan data mahasiswa (data mahasiswa terdiri dari NIM, Nama, Kode Mata
Kuliah, dan Nilai) maka dibutuhkan sebuah array/table untuk menampung
sekumpulan data tersebut.

Ilustrasi:

NO NIM Nama KodeMK Nilai

1 037006001 Anton Parlin MPK1112 B

2 037006010 Jaya Amalia MBB1144 A

3 037006013 Dessy Purnama MPB2233 A

99 037006068 Indriani MKK4441 A

100 037006076 Sutiyana Arta MBB1144 C

VI-1
VI-2

Array tersebut terdiri dari 100 elemen dimana masing-masing elemennya bertipe
record yangtediri dari field NIM, Nama, KodeMK, Nilai.

Deklarasi Array:
const Nmaks = 100;
type Mahasiswa = record
NIM : longint;
Nama : string[25];
KodeMK : string[6];
Nilai : char;
end;
var
TabMhs : array [1..Nmaks] of Mahasiswa {deklarasi
array TabMhs yang berisi elemen record Mahasiswa}

Untuk mengakses elemen TabMhs:


TabMhs[5].NIM {mengakses field NIM dari elemen kelima array TabMhs}

TabMhs[5].Nama {mengakses field Nama dari elemen kelima array TabMhs}

TabMhs[5].KodeMK {mengakses field KodeMK dari elemen kelima array TabMhs}

TabMhs[5].Nilai {mengakses field Nilai dari elemen kelima array TabMhs}

Program 6.1 Membaca sejumlah data mahasiswa, menyimpannya dalam sebuah


array, kemudian menampilkannya

program DataMHS;
uses
crt;
const
Nmaks = 50;
type
Mahasiswa = record
NIM : longint;
Nama : string[25];
KodeMK : string[6];
Nilai : char;
end;
var
TabMhs : array[1..Nmaks] of Mahasiswa;
i, JumMhs : integer;
input : char;
VI-3

Begin
i:=0;
repeat
clrscr;
i:=i + 1;
writeln('INPUT DATA MAHASISWA');
writeln('====================');
write('NIM : '); readln(TabMhs[i].NIM);
write('Nama : '); readln(TabMhs[i].Nama);
write('Kode Mata Kuliah : '); readln(TabMhs[i].KodeMK);
write('Nilai : '); readln(TabMhs[i].Nilai);
write('Input Data Lagi(y/t)? '); readln(input);
until (input = 't') or (input = ‘T’) or (i = Nmaks);
{input data mahasiswa sampai input =’t’ / ‘T’ atau array tidak
cukup lagi}
JumMhs := i; writeln;
if i = Nmaks then {jika array sudah penuh}
writeln('Tabel array penuh, nggak muat lagi!!!');
writeln(' OUTPUT DATA MAHASISWA ');
writeln('============================================');
writeln(' NIM Nama KodeMK Nilai ');
writeln('============================================');
for i:=1 to JumMhs do
writeln(TabMhs[i].NIM:9,TabMhs[i].Nama:20,TabMhs[i].
KodeMK:10, TabMhs[i].Nilai:10);
readln;
end.
VI-4

Tampilan dilayar 1

Tampilan dilayar 2

Analisis:

1. Nama program tidak boleh menggunakan spasi. Tetapi jika nama program
lebih dari satu kata, menggunakan symbol underscore (_).

2. Setiap program diakhiri dengan symbol titik koma (;).

3. Program yaitu perintah untuk menuliskan judul program yang akan


dijalankan.

4. Fungsi uses crt dapat mengatur jumlah karakter maksimal dalam setiap
baris.
VI-5

5. Var berfungsi untuk menghitung nilai variasi data.

6. Array yaitu tipe data terstruktur yang dapat menyimpan sejumlah data yang
bertipe sama dengan menggunakan nama yang sama.

7. Begin yaitu perintah dasar pascal yang digunakan untuk memulai program.

8. Clrscr berfungsi untuk membersihkan pemrograman dari tampilan

sebelumnya.

9. Write untuk memasukkan atau menginputkan data kedalam suatu variabel.

10. Writeln untuk garis baru.

11. Readln untuk menampilkan/membaca sintak ke etc/tampilan.

12. End untuk mengakhiri sebuah program.

Keterangan:

Program ini menerima input berupa nim, nama, kode mata kuliah dan nilai yang
disimpan dalam array bertipe record, lalu menampilkan semua hasil inputannya
yang berada dalam array di layar keluaran.
VI-6

6.2 Latihan
6.2.1 Soal
1. Pengelola sebuah perpustakaan ingin agar data buku di perpustakaannya
dapat diolah dengan lebih mudah sehingga data buku tersebut dapat
tersimpan dengan baik dan ketika ingin melihat datanya kembali dapat
dilihat dengan mudah. Buatlah sebuah program dalam Pascal untuk
memenuhi permintaan pengelola perpustakaan tersebut. Program tersebut
minimal memiliki fasilitas untuk input dan menambah data buku,
menampilkan data buku, dan keluar dari program!
Struktur Data Buku
Kode Buku Judul Pengarang Jumlah
C001 Fisika Dasar Suprayogi 3
C002 Algoritma Rinaldi Munir 10
Pemrograman
C005 Microsoft Word Aldi Kusumah 5
N001 Harry Potter J.K. Rowling 8
… … … …
NF001 Aplikasi Iklan Yanuar Iman 5

2. Tambahkan pada latihan no. 1 fasilitas untuk menampilkan total jumlah


buku yang tersedia di perpustakaan
VI-7

6.2.2 Jawaban
1. data_perpus.pas

Program data_perpus;
uses crt;
const
Nmaks = 200;
type
data_buku = record
kode_buku : string[8];
judul_buku : string[30];
auth_buku : string[30];
jumlah_buku : integer;
end;
var
buku : array[1..Nmaks] of data_buku;
x, pil_menu, i : integer;
pil_isi : char;
begin
i := 0;
repeat
clrscr;
writeln('======================================');
writeln('Pilih Menu :');
writeln('1. Input Buku');
writeln('2. Tampilkan Buku yang telah di Input');
writeln('3. Keluar program');
writeln('======================================');
write('Menu : ');
readln(pil_menu);
case pil_menu of
1 :
repeat
i := i + 1;
if(i > Nmaks)then
writeln('Array Penuh')
begin
write('Masukkan Kode Buku : ');
readln(buku[i].kode_buku);
write('Masukkan Judul Buku : ');
readln(buku[i].judul_buku);
write('Masukkan Pengarang Buku : ');
readln(buku[i].auth_buku);
write('Masukkan Total Buku : ');
readln(buku[i].jumlah_buku);
write('Masukkan data lagi (y/n): ');
readln(pil_isi);
end;
until ((pil_isi = 'n') or (pil_isi = 'N') or (i = Nmaks));
2 :
VI-8

Begin
If ( I = 0) then writeln (‘Data Kosong’)
Begin
Writeln(‘ Data Buku ‘);
Writeln(‘=========================================’);
Writeln(‘ Kode Judul Pengarang Total ‘);
Writeln(‘=========================================’);
For x := 1 to i do
Begin
Writeln(buku[x].kode_buku:7,buku[x].judul_buku:20,buku[x].
Auth_buku:15,buku[x].jumlah_buku:8);
End;
End;
End;
3 :
Writeln(‘Keluardari Program ‘);
Else writeln(‘Pilihan Salah’);
End;
Readln;
Until (pil_menu = 3);
End.
VI-9

Tampilan dilayar 1

Tampilan dilayar 2
VI-10

Analisis :
1. Nama program tidak boleh menggunakan spasi. Tetapi jika nama program
lebih dari satu kata, menggunakan symbol underscore (_).

2. Setiap program diakhiri dengan symbol titik koma (;).

3. Program yaitu perintah untuk menuliskan judul program yang akan


dijalankan.

4. Fungsi uses crt dapat mengatur jumlah karakter maksimal dalam setiap
baris.

5. Record merupakan tipe data terstruktur yang berguna untuk


mengelompokkan sejumlah elemen data dengan tipe data yang berbeda.

6. Var berfungsi untuk menghitung nilai variasi data.

7. Array yaitu tipe data terstruktur yang dapat menyimpan sejumlah data yang
bertipe sama dengan menggunakan nama yang sama.

8. Begin yaitu perintah dasar pascal yang digunakan untuk memulai program.

9. Clrscr berfungsi untuk membersihkan pemrograman dari tampilan


sebelumnya.
VI-11

10. Write untuk memasukkan atau menginputkan data kedalam suatu


variabel.

11. Writeln untuk garis baru.

12. Ekspresi1 adalah ungkapan untuk memberikan nilai awal untuk


pengulangannya.

13. Ekspresi2 adalah ungkapan untuk memberikan nilai awal untuk


pengulangannya.

14. Kondisi berupa suatu ekspresi boolean yang menghasilkan true atau
false.

15. Aksi yang akan dilaksanakan jika kondisi yang dipasangkan dengan aksi
bersangkutan dipenuhi.

16. Readln untuk menampilkan/membaca sintak ke etc/tampilan.

17. End untuk mengakhiri sebuah program.

Keterangan:
Program ini dibuat untuk menginput data buku, menampilkan buku
yang telah di input, dan keluar program. Disini user diperintahkan untuk
memilih aksi, yang harus dilakukan apakah aksi nomor 1.Input buku, 2.
Tampilkan buku yang telah di input, 3. Keluar program.
VI-12

2. data_perpus.pas
program data_perpus; uses crt;
const
Nmaks = 200;
type
data_buku = record
kode_buku : string[8];
judul_buku : string[30];
auth_buku : string[30];
jumlah_buku : integer;
end;
var
buku : array[1..Nmaks] of data_buku;
x, pil_menu, i, total : integer;
pil_isi : char;
begin
i := 0;
repeat
clrscr;
writeln('======================================');
writeln('Pilih Menu :'); writeln('1. Input Buku');
writeln('2. Tampilkan Buku yang telah di Input');
writeln('3. Tampilkan Total Buku');
writeln('4. Keluar program');
writeln('======================================');
write('Menu : ');readln(pil_menu); case pil_menu of
1 :
repeat
i := i + 1;
if(i > Nmaks) then
writeln('Array Penuh')
begin
write('Masukkan Kode Buku : ');
readln(buku[i].kode_buku);
write('Masukkan Judul Buku : ');
readln(buku[i].judul_buku);
write('Masukkan Pengarang Buku : ');
readln(buku[i].auth_buku);
write('Masukkan Total Buku : ');
readln(buku[i].jumlah_buku);
write('Masukkan data lagi (y/n): ');
readln(pil_isi);
end;
VI-13

until ((pil_isi = 'n') or (pil_isi = 'N') or (i = Nmaks));


2 :
begin
if(i = 0) then writeln('Data Kosong');
begin
writeln(' Data Buku ');
writeln('======================================');
writeln(' Kode Judul Pengarang Total ');
writeln('======================================');
for x:=1 to i do
begin
writeln(buku[x].kode_buku:7,buku[x].judul_buku:20,
buku[x].auth_buku:15,buku[x].jumlah_bu ku:8);
end;
end;
end;
3 :
begin
total:= 0;
for x:= 1 to i do
total:= total+buku[x].jumlah_buku;
writeln('Total :',total);
end;
4 :
writeln('Keluar dari Program'); else
writeln('Pilihan Salah'); end;
readln;
until (pil_menu = 4);
end.
VI-14

Tampilan dilayar 1

Tampilan dilayar 2
VI-15

Analisis :

1. Nama program tidak boleh menggunakan spasi. Tetapi jika nama


program lebih dari satu kata, menggunakan symbol underscore
(_).

2. Setiap program diakhiri dengan symbol titik koma (;).

3. Program yaitu perintah untuk menuliskan judul program yang


akan dijalankan.

4. Fungsi uses crt dapat mengatur jumlah karakter maksimal dalam


setiap baris.

5. Record merupakan tipe data terstruktur yang berguna untuk


mengelompokkan sejumlah elemen data dengan tipe data yang
berbeda.

6. Var berfungsi untuk menghitung nilai variasi data.

7. Array yaitu tipe data terstruktur yang dapat menyimpan sejumlah


data yang bertipe sama dengan menggunakan nama yang sama.
8. Begin yaitu perintah dasar pascal yang digunakan untuk memulai
program.
VI-16

9. Clrscr berfungsi untuk membersihkan pemrograman dari tampilan


sebelumnya.

10. Write untuk memasukkan atau menginputkan data kedalam suatu


variabel.

11. Writeln untuk garis baru.

12. Ekspresi1 adalah ungkapan untuk memberikan nilai awal untuk


pengulangannya.

13. Ekspresi2 adalah ungkapan untuk memberikan nilai awal untuk


pengulangannya.

14. Kondisi berupa suatu ekspresi boolean yang menghasilkan true atau
false.

15. Aksi yang akan dilaksanakan jika kondisi yang dipasangkan dengan
aksi bersangkutan dipenuhi.

16. Readln untuk menampilkan/membaca sintak ke etc/tampilan.

17. End untuk mengakhiri sebuah program.

Keterangan:

Program ini sebenarnya sama dengan yang sebelumnya, akan tetapi


di dalam program ini ditambahkan syntax untuk aksi menampilkan total
buku. Jadi, jumlah buku yang telah di input di setiap bukunya, akan dijumlah
dan ditampilkan pada aksi 3. Tampilkan Total Buku.

Anda mungkin juga menyukai