LAPORAN RESMI
PRAKTIKUM ALGORITMA PEMROGRAMAN (ALPRO)
MODUL VI
“RECORD”
Disusun Oleh :
TGL PRAKTIKUM : 13 DESEMBER 2012
NAMA : Azza Devi Manzilia
NRP : 120411100110
KELAS/KELOMPOK : D2
DOSEN PENGAMPU : ARIK
KURNIAWATI,S.Kom.,M.kom
ASISTEN :
ANDI HARTONO
|
Disetujui : ....../……./………../Bangkalan
|
(ANDI HARTONO)
10.04.111.00020
|
JURUSAN TEKNIK
INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS
TRUNOJOYO MADURA
2012 / 2013
BAB I
PENDAHULUAN
1.1 Latar
Belakang
Bahasa pascal
merupakan dasar dari bahasa pemrograman. Untuk membuat program biasanya
dibutuhkan tipe data yang banyak dan bermacam-macam tipe. Seiring dengan
berjalanya waktu ditemukanya record yang berfungsi untuk mengumpulkan beberapa
tipe data yang berbeda (field) menjadi satu tipe yang disebut dengan record.
Kehadiran record dalam dunia pascal dianggap sebagai berkah karena record dapat
menyederhanakan beberapa tipe yang berbeda sehingga akan menjadi lebih efisien
dalam beberapa hal.
1.2 Tujuan
1.
Praktikan
mengerti tentang pengertian record dan fungsinya.
2.
Praktikan
mampu membuat program menggunakan record.
BAB II
DASAR TEORI
2.1 Teori
Singkat
Record
Record
adalah elemen larik yang bertipe terstruktur. Dengan menggunakan tipe data
record, beberapa item data yang masing-masing dapat mempunyai tipe data
berbeda-beda dapat dikumpulkan. 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
TabelMhs dalam Gambar 6.1. adalah sebuah larik (sejumlah 100 elemen) yang
elemennya menyatakan nilai ujian mata kuliah (MK) yang diambil seorang
mahasiswa. Data (field) setiap mahasiswa adalah NIM (Nomor Induk Mahasiswa),
nama mahasiswa, mata kuliah yang diambil, dan nilai mata kuliah tersebut.
BAB III
TUGAS PENDAHULUAN
3.1 prepraktikum
Kerjakan tugas-tugas di bawah ini
sebelum praktikum dimulai.
1.
Sebutkan dan
jelaskan keuntungan-keuntungan penggunaan record!
2.
Kapankan
sebaiknya record digunakan? Jelaskan!
3.
Buatlah
algoritma untuk mengurutkan data berdasarkan nomor mahasiswa (NPM) dengan
urutan dari yang terkecil ke yang terbesar serta mempunyai kemampuan untuk
menampilkan jumlah total mahasiswa sesuai dengan kriteria yang dimasukkan oleh user.
Misalnya: user ingin mengetahui jumlah mahasiswa yang mempunyai nilai A untuk
mata kuliah X, maka algoritma akan menampilkan jumlah mahasiswa yang mempunyai
nilai A untuk mata kuliah X .
Masukan :
jumlah mahasiswa.
Selanjutnya
memasukkan record data mahasiswa. Data (field)
setiap mahasiswa adalah NPM (Nomor Pokok Mahasiswa), nama mahasiswa, mata
kuliah yang diambil, dan nilai mata kuliah tersebut. Untuk nilai huruf akan terisi secara
otomatis sesuai
range
nilai
pada
grade nilai berikut
nilai rata-ratanya.
Keluaran : hasil pengurutan data berdasarkan NPM
Hasil
ditampilan dalam bentuk tabel seperti di bawah ini
NIM
|
NAMA
|
MAKUL
|
NILAI ANGKA
|
NILAI HURUF
|
|
||||
RATA-RATA
|
|
|
JAWABAN
1.
Keuntungan record
·
Record dapat
mengumpulkan beberapa tipe data yang berbeda menjadi satu kesatuan.
·
Tipe data record juga
dapat memiliki field berupa tipe data record yang lainnya.
· Biasanya suatu record
berisi beberapa field untuk
sebuah subyek tertentu.
2.
Record sebaiknya
digunakan pada saat kita ingin menggabungkan beberapa tipe data (field)
menjadi satu kesatuan.
3.
Algoritma
DEKLARASI
program data;
uses wincrt;
type
mahasiswa = record
nama : string[20];
NIM : string[10];
makul :
string[30];
nilai : integer;
end;
var
mhs : array [1..10] of
mahasiswa;
bantuan : mahasiswa;
n, x, y,jum : integer;
ratarata : real;
huruf : char;
DESKRIPSI
begin
write('masukkan jumlah siswa:');readln(n);
writeln;
for x := 1 to n do
begin
write ('nama mahasiswa ke-',x,':');readln(mhs[x].nama);
write ('NIM mahasiswa ke-',x,':');readln(mhs[x].NIM);
write ('mata kuliah mahasiswa ke-',x,':');readln(mhs[x].makul);
write ('nilai mahasiswa ke-',x,':');readln(mhs[x].nilai);
end;
for x := 1 to n-1 do
for y := 1 to n-1 do
if mhs[y].Nama >
mhs[y+1].Nama then
begin
bantuan := mhs[y];
mhs[y]:= mhs[y+1];
mhs[y+1]:= bantuan;
end;
for x := 1 to n-1 do
for y := 1 to n-1 do
if mhs[y].NIM >
mhs[y+1].NIM then
begin
bantuan:=mhs[y];
mhs[y]:=mhs[y+1];
mhs[y+1]:= bantuan;
end;
Begin
If (mhs[x].nilai >= 80)
Then huruf := 'A'
Else
If (mhs[x].nilai < 80) and
(mhs[x].nilai>=70) Then huruf := 'B'
Else
If (mhs[x].nilai < 70) and
(mhs[x].nilai>=60) Then huruf := 'C'
Else
If (mhs[x].nilai < 60) and
(mhs[x].nilai>=50) Then huruf := 'D'
Else
huruf :='E';
End;
begin
jum:= 0;
Writeln('----------------------------------------------------------');
Writeln(' NIM NAMA MAKUL
NILAI HURUF ');
Writeln('----------------------------------------------------------');
For x:= 1 To n Do
Begin
Writeln(mhs[x].NIM:5,mhs[x].Nama:13,mhs[x].makul:10,mhs[x].nilai:10,
huruf:10);
jum := mhs[x].nilai+jum;
end;
ratarata := jum / n;
writeln;
writeln(' rata-rata
');
writeln(
ratarata:40:2 );
end;
end.
BAB IV
IMPLEMENTASI
4.1 Kegiatan
Praktikum
Pada saat
praktikum, kerjakan tugas-tugas berikut ini:
1. Buat program untuk tugas prepraktikum 3!
2. Tugas tambahan (ditentukan oleh asisten praktikum)!
Jawab
1.
Jawaban tugas prepraktikum nomor 3
program data;
uses wincrt;
type
mahasiswa = record
nama :
string[20];
NIM :
string[10];
makul :
string[30];
nilai :
integer;
end;
var
mhs : array [1..10] of
mahasiswa;
bantuan : mahasiswa;
n, x, y,jum : integer;
ratarata : real;
huruf : char;
begin
write('masukkan jumlah siswa:');readln(n);
writeln;
for x := 1 to n do
begin
write ('nama mahasiswa ke-',x,':');readln(mhs[x].nama);
write ('NIM mahasiswa ke-',x,':');readln(mhs[x].NIM);
write ('mata kuliah mahasiswa ke-',x,':');readln(mhs[x].makul);
write ('nilai mahasiswa ke-',x,':');readln(mhs[x].nilai);
writeln;
end;
for x := 1 to n-1 do
for y := 1 to n-1 do
if mhs[y].Nama >
mhs[y+1].Nama then
begin
bantuan := mhs[y];
mhs[y]:= mhs[y+1];
mhs[y+1]:= bantuan;
end;
for x := 1 to n-1 do
for y := 1 to n-1 do
if mhs[y].NIM >
mhs[y+1].NIM then
begin
bantuan:=mhs[y];
mhs[y]:=mhs[y+1];
mhs[y+1]:= bantuan;
end;
Begin
If (mhs[x].nilai >=
80) Then huruf := 'A'
Else
If (mhs[x].nilai <
80) and (mhs[x].nilai>=70) Then huruf := 'B'
Else
If (mhs[x].nilai <
70) and (mhs[x].nilai>=60) Then huruf := 'C'
Else
If (mhs[x].nilai <
60) and (mhs[x].nilai>=50) Then huruf := 'D'
Else
huruf :='E';
End;
begin
jum:= 0;
Writeln('----------------------------------------------------------');
Writeln(' NIM NAMA MAKUL
NILAI HURUF ');
Writeln('----------------------------------------------------------');
For x:= 1 To n Do
Begin
Writeln(mhs[x].NIM:5,mhs[x].Nama:13,mhs[x].makul:10,mhs[x].nilai:10,
huruf:10);
jum := mhs[x].nilai+jum;
end;
ratarata := jum / n;
writeln;
writeln(' rata-rata
');
writeln(
ratarata:40:2 );
end;
end.
BAB V
TUGAS AKHIR
5.1 Tugas Akhir
Buatlah algoritma dan terjemahkan dalam bahasa pascal untuk memasukkan
data belanja dan menampilkannya dalam bentuk nota Belanja. Total Harga, Total
belanja, Total Bayar dan Total Kembali atau sisa didapat dengan melakukan
proses perhitungan kemudian hasilnya ditampilkan dalam bentuk seperti contoh
dibawah ini.
NOTA BELANJA Toko Makmur Jl.
Raya Trunojoyo Telang Kamal Bangkalan
Tanggal Pembelian : 08-10-2012
Nama Pembeli : Ricky Nitinegoro
Alamat : Jl. Mawar No. 23 Bangkalan
JAWAB
Hasil Runing
program nota_harga;
uses wincrt;
type
nota = record
jumlah : integer;
total : string;
end;
id = record
kode,nama : string;
Total,harga: longint;
barang: nota;
end;
var
notabarang: array [1..10] of id;
a,i,j,n,bayar,sisa: longint;
b,c,d,bantuan: string;
procedure jumlah (n: integer);
begin
for i:= 1 to n do
begin
write('Masukkan nama barang ke-
',i,' : '); readln(notabarang[i].nama);
write('Masukkan kode barang ke-
',i,' : '); readln(notabarang[i].kode);
write('Masukkan harga barang ke-
',i,' : '); readln(notabarang[i].harga);
write('Masukkan jumlah barang
ke- ',i,' : '); readln(notabarang[i].barang.jumlah);
writeln;
end;
writeln;
write('uang yang anda bayarkan :
'); readln(a);
writeln;
clrscr;
for i:= 1 to n-1 do
for j:= 1 to n-1 do
begin
if (notabarang[j].kode) >
(notabarang[j+1].kode) then
begin
bantuan := notabarang[j].kode;
notabarang[j].kode:=
notabarang[j+1].kode;
notabarang[j+1].kode:=bantuan;
end;
end;
for i:=1 to n do
begin
notabarang[i].Total:=notabarang[i].barang.jumlah * notabarang[i].harga;
end;
bayar:=0;
writeln(' NOTA BELANJA ');
writeln(' TOKO REJEKI MAKMUR
II');
writeln(' Jl. pondok no.25 ');
writeln;
writeln('Tanggal Pembelian :
',b);
writeln;
writeln('Nama Pembeli : ',c);
writeln;
writeln('Alamat : ',d);
writeln('................................................................');
writeln(': No :
Kode : Nama Barang
: Harga : jumlah : Total Harga :');
writeln('................................................................');
for i:=1 to n do
begin
writeln(':',i:3,':':3,notabarang[i].kode:6,':':4,notabarang[i].nama:10,':':6,notabarang[i].harga:6,':':2,
notabarang[i].barang.jumlah:5,':':4,notabarang[i].Total:7,':':7);
bayar:=notabarang[i].total+bayar;
end;
sisa:= a - bayar;
writeln('................................................................');
writeln(':','Total Pembelian
(Rp)':30,':':19,bayar:7,':':7);
writeln(':','Total Bayar
(Rp)':30,':':19,a:7,':':7);
writeln(':','Total Kembalian
(Rp)':30,':':19,sisa:7,':':7);
writeln('................................................................');
end;
begin
Write('Masukkan Tanggal Pembelian : ');readln(b);
Write('Masukkan Nama Pembeli :
');readln(c);
Write('Masukkan Alamat Pembeli :
');readln(d);
writeln;
write('Masukkan jumlah barangnya :
'); readln(n);
writeln;
jumlah (n);
end.
BAB VI
PENUTUP
6.1 Kesimpulan
Dari
kegiatan praktikum diatas dapat disimpulkan bahwa record
dapat mengumpulkan beberapa tipe data yang berbeda menjadi satu kesatuan. 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. Record sebaiknya digunakan pada saat kita ingin menggabungkan
beberapa tipe data (field) menjadi satu kesatuan.
6.2 Saran
1.
Kepada asisten praktikum sebaiknya
konsisten terhadap kelonggaran waktu yang telah ditentukan dan disiapkan dulu
semua atau bahan yang mendukung kegiatan praktikum.
2.
Untuk praktikan sebaiknya datang
tepat waktu.
No comments:
Post a Comment