“RESUME DASAR PEMROGRAMAN”
MAKALAH UNTUK MEMENUHI TUGAS MATA KULIAH DASAR PEMROGRAMAN
Yang dibina oleh Ibu Ika Atsari Dewi,STP,MP
Disusun oleh :
1. Cahayati Ratna T. (115100307113006)
2. Dimas Bagus P. (115100307113005)
3. Fatwatul Amalia (115100307113009)
4. Fuad Febrianto (115100307113007)
5. Harmanto Widodo (115100307113022)
6. Oni Agustina (115100307113015)
7. Puput Windasari (115100307113014)
JURUSAN TEKNOLOGI INDUSTRI PERTANIAN
FAKULTAS TEKNOLOGI PERTANIAN
UNIVERSITAS BRAWIJAYA
2012
ARRAY & RECORD
1. ARRAY
Larik / array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang
mempunyai tipe yang sama.
1. Deklarasi Array
Array yang akan dipergunakan harus di deklarasikan terlebih dahulu. Deklarasi dari Array
diawali dengan kata cadangan Array diikuti oleh tipe index yang diletakkan diantara tanda “[
]” diikuti lagi oleh kata cadangan of dan tipe arraynya. Array dapat bertipe sederhana byte,
word, integer, real, boolean, char, string dan tipe scalar atau subrange.
Contoh:
Var
X : array [ 1..100 ] of integer ;
Larik X dideklarasikan sebagai larik tipe integer dengan jumlah elemen maksimum 100 elemen,
dimana nilai elemen larik ini harus berisi nilai integer.
Misalkan :
X [1] : = 18 ;
X [2] : = 5 ;
Bila nilai elemen ke-1 dari larik X akan ditampilkan, dapat dipergunakan perintah :
Writeln ( x[1] ) ;
2. Deklarasi Tipe Index Subrange Integer
Tipe index subrange integer sebagai berikut :
Var
NilaiHuruf : array [1..5] of char ;
Nilai [1..5] inilah yang dimaksud dengan index subrange integer.
Index dari larik diatas dapat dideklarasikan terlebih dahulu di bagian deklarasi tipe :
Type
Jangkauan = 1..5 ; {tipe subrange integer}
Var
NilaiHuruf : array [Jangkauan] of char ;
Begin
…
…
end.
3. Deklarasi Tipe Index Subrange Byte
Kalau index dari larik tidak sampai dengan 255, maka index dari larik ini dapat dideklarasikan
dengan tipe byte.
Var
X :array [0..255] of real ;
Karena nilai 0 sampai 255 merupakan nilai subrange byte, maka deklarasi ini dapat ditulis :
Var
X :array [byte] of real ;
4. Deklarasi Tipe Index Subrange Word
Jika jangkauan index dari 0 sampai 65525, maka index dari larik dapat dideklarasikan dengan tipe
word.
Var
X : array [byte] of word ;
5. Deklarasi Tipe Index Subrange Boolean
Index larik yang bertipe Boolean, hanya mempunyai maksimum 2 buah elemen saja.
Type
Keterangan = string [11] ;
Var
X : array [Boolean] of keterangan ;
6. Deklarasi Tipe Index Subrange Char
Tipe char adalah tipe subrange yang mempunyai nilai sebanyak 256 buah ( 0 – 255) sesuai
dengan urutan kode ASCII.
Var
X : array [char] of integer ;
7. Deklarasi Tipe Index Skalar
Index dari larik dapat berupa tipe scalar atau enumerated.
Contoh program:
Var
Jumlah : array [(Jan, Peb, Mar)] of integer ;
Begin
Jumlah[Jan] : = 125 ;
Jumlah{Peb] : = 75 ;
Jumlah[Mar] : = 18 ;
Writeln ( ‘Jumlah untuk bulan maret = ‘, Jumlah{Mar});
End.
Output program :
Jumlah untuk bulan Maret = 18
Contoh diatas dapat ditulis :
Type
Bulan = (Jan, Peb, Mar) ;
Var
Jumlah : array [Bulan] of integer ;
8. Deklarasi konstanta Larik
Larik tidak hanya dapat berupa suatu variable yang dideklarasikan di bagian deklarasi variable,
tetapi juga dapat berupa suatu konstanta yang dideklarasikan dibagian deklarasi konstanta.
Contoh program :
Const
X : array [1..5] of integer = (6, 25, 375, 5, 2) ;
Var
I : word ;
Begin
For I : = 1 to 5 do
Writeln ( ‘Nilai konstanta larik ke ‘, I, ‘=’, X[I] ) ;
End.
Output program :
Nilai Konstanta larik ke 1 = 6
Nilai Konstanta larik ke 2 = 25
Nilai Konstanta larik ke 3 = 375
Nilai Konstanta larik ke 4 = 5
Nilai Konstanta larik ke 5 = 2
9. String Sebagai Larik Tipe Char
String dapat dianggap sebagai suatu larik tipe char dengan index dari 0 sampai dengan panjang
dari string yang di definisikan.
Contoh program :
Var
I : word ;
Nama : string [255] ;
Begin
Write ( ‘Nama Anda ?’ ) ; readln ( Nama ) ;
Writeln ;
Writeln ( ‘Nama Anda kalau dibaca terbalik adalah : ‘ ) ;
For I : = ord (Nama [0] ) down to 1 do
Write (Nama [I] ) ;
End.
Output program :
Nama Anda ? Dita
Nama Anda kalau dibaca terbalik adalah :
Atid
10. Larik Dimensi Banyak
Larik dapat juga berdimensi lebih dari satu yang disebut dengan larik dimensi banyak, yang
dapat berdimensi dua, dimensi tiga dan seterusnya. Larik dimensi 2 mewakili suatu bentuk table
atau matrik, yaitu index yang pertama dapat menunjukkan baris dan index kedua dapat
menunjukkan kolom dari table atau metric.
Bentuk Umum :
Nama_larik = array [tipe index1] of array [tipe index2] of tipe
larik
Atau
Nama_larik = array [tipe index1, tipe index2] of tipe larik
Contoh program :
Var
Tabel : array [1..3, 1..2] of byte ;
I, J : byte ;
Begin
Tabel[1,1] : = 5 ;
Tabel[1,2] : = 25 ;
Tabel[2,1] : = 200 ;
Tabel[2,2] : = 22 ;
Tabel[3,1] : = 75 ;
Tabel[3,2] : = 50 ;
For I : = 1 to 3 do
Begin
For J : = 1 to 2 do
Write ( table [I,J] : 10 ) ;
Writeln ;
End ;
End.
Output program :
5 25200 2275 50
11. Parameter Larik
Larik dapat digunakan sebagai parameter yang dikirimkan baik secara nilai atau secara acuan
ke prosedur atau ke fungsi. Prosedur yang menggunakan parameter berupa larik harus
dideklarasikan didalam judul prosedur yang menyebutkan parameternya bertipe larik.
Contoh program :
Type
Larik = array [1..50, 1..50] of real ;
Var
I, J, K : byte ;
Procedure inverse (Var X : Larik ; N : byte ) ;
….
….
Begin
….
….
end.
2. RECORD
Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal
dengan nama Tipe Record (rekaman), perbedaan antara record dengan larik adalah bahwa
dalam larik semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa
mempunyai tipe yang berbeda antara satu sama lainnya. Tiap field berisi data dari tipe
dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu
sekumpulan elemen data yang berbeda-beda tipenya (di banding array).
DEKLARASI RECORD
Bentuk umum deklarasi suatu variabel berjenis record adalah sbb :
TYPE identifier = RECORD
Nama_field_1 : jenis;
Nama_field_2 : jenis;
……………………..
…………………….. nama_field_n : jenis;
END;
Contoh :
1. VAR nilai : RECORD
Nilai_1:intege;Nilai_2:intege;
END;
2. TYPE date = RECORD
Tanggal:1..31; Bulan:1…12;
Tahun:1900..2000;
END;
VAR event1,event2 : ARRAY [1..10] OF date;
3. TYPE account = RECORD
cust_no:integer; cust_type:char;
cust_balance:real; END;
VAR customer : account;
MEMPROSES VARIABEL BERJENIS RECORD
Perhatikan deklarasi variabel berikut :
TYPE nilai : RECORD
Nilai1:real;
Nilai2:real;
END;
VAR x,y :nilai;
Untuk memproses variabel x dan / atau y dilakukan dengan cara menyebutkan field
designatornya, yg terdiri dari atas :
Nama_record.nama_fied
Pada deklarasi diatas yang dimaksud dengan field designator-nya adalah :
x.nilai1x.nilai2y.nilai1y.nilai2
Jadi jika ingin membaca variabel x atau y atau keduanya, maka bentuk statement-nya adalah :
READ (x.nilai1, x.nilai2, y.nilai1, y.nilai2);
Selanjutnya, misal ingin dibuat program sederhana untuk menjumlahkan dua bilangan
kompleks a dan b yang hasilnya disimpan di c.
Secara aljabar penjumlahan dua bilangan kompleks adalah sebagai berikut :
a = x1 + iy1
b = x2 + iy +
c = (x1 + x2 ) + I(y1 + y2)
Maka bentuk garis besar programnya adalah sebagai berikut :
Program contoh ;
Type bk = record
Bag_nyata:integer;
Bag_imajiner:integer;
End;
Var a,b,c : bk; Begin
Read(a.bag_nyata,a.bag_imajiner,b.bag_nyata, b.bag_imajiner);
c.bag_nyata:=a.bag_nyata+b.bag_imajiner;
c.bag_imajiner:=a.bag_imajiner+b.bag_imajiner;
writeln(c.bag_nyata,’ +’,’i’,c.bag_imajiner);
End.
STATEMENT “WITH”
Selain cara yang telah disebutkan diatas, untuk memproses suatu record dapat
digunakan statement WITH. Dengan statement ini penulisannya akan lebih sederhana.
Bentuk Umum penulisan statement WITH ini adalah :
WITH nama_record DO statement
Perhatikan deklarasi dibawah ini :
TYPE x = RECORD
No :integer;
Kode :char; Juml
:integer;
Harga:real;
END; VAR
p,q : x;
Untuk membaca variabel p dan q di atas dengan memanfaatkan statement WITH
bentuknya menjadi :
WITH p,q DO read (no, kode, juml,harga);
Bandingkan jika digunakan cara sebelumnya :
Read(p.no,p.kode, p.juml,p.harga,q.no,q.kode,q.juml,q.harga);
CONTOH :
Pernyataan seperti:
Data.npm:=‘22297566’
Data.Nama:=‘Abdul Kadir’
Data.Fakultas:=‘Teknik’
Dapat diganti dengan :
WITH Data Do
Begin
npm:=‘22297566’
Nama:=‘Abdul Kadir’
Fakultas:=‘Teknik’
end;
Apabila di dalam pernyataan WITH terdapat lebih dari satu record, haruslah pada
kedua record tersebut tidak ada field dengan nama yang sama.
Sebagai contoh :
Type
BarangX=RECORD
Batu:integer;
Kayu:real;
END;
BarangY=RECORD
PROCEDURE & FUNCTION
1. PROCEDURE
PROCEDURE adalah sebuah kumpulan perintah (Statement) yang tidak mengembalikan
nilai balik terhadap pemanggilnya. Prosedur diawali dengan kata cadangan, untuk memanggil
input yang diberikan oleh pengguna bisa menggunakan parameter dan bisa juga tidak
menggunakan parameter (Optional). Jika kita menggunakan procedure dalam suatu program,
maka procedure tersebut harus dituliskan pada bagian deklarasi. Dan untuk
menuliskan/mendeklarasikan dalam prosedur menggunakan keyword “Sub”.
Sintak procedure :
Tanpa Parameter (Nilai di dalam suatu modul program Pascal yang bersifat lokal)
[Access Modifier] Sub NamaProcedure()
'Statement
End Sub
Ket. Access modifier = Private, Public, dan Friend.
Contoh:
Private sub phi ()
Dim xVar as Double = 3.14
MsgBox (“Nilai phi =” & xVar)
End Sub
Menggunakan Parameter
[Access Modifier] Sub NamaProcedure(Parameter As TipeData, Parameter2 As
TipeData)
'Statement
End Sub
Contoh:
Private sub pesan(ByVal xVar as String)
MsgBox (“Pesan =” & xVar)
End Sub
Cara pemanggilan procedure:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Pemanggilan tanpa parameter
phi()
'Pemanggilan dengan parameter
pesan("Hello World.")
End Sub
2. FUNGSI
Fungsi sebenarnya hampir sama dengan prosedur yang membedakannya adalah nama
fungsi harus dideklarasikan dengan type datannya yang merupakan hasil dari fungsi tersebut
Sehingga dapat dikatakan fungsi dapat mengembalikan nilai.
Bentuk umum :
FUNCTION identifier(daftar parameter) : type;
Contoh penulisan :
Function faktorial (var fak,hasil : integer): integer ;
1. Parameter Nilai dalam function
Parameter dalam function dapat dikirimkan secara nilai atau secara acuan. Penulisan judul
function yang menggunakan parameter secara Nilai adalah :
Function besar (a,b : real) : real ;
Contoh :
Program penggunaan_parameter_nilai;
Uses crt ;
Function besar (a,b: real); real ;
begin
if a > b then
besar := a
else
besar := b ;
end;
(modul utama)
Var
nil,nil2 : real ;
begin
write(‘bilangan 1=’),readln(nil 1);
write(‘bilangan 2=’),readln(nil 2);
writeln (‘bilangan terbesar=’,besar (nil,nil2)6:2);
readln ;
end.
2. Function dengan parameter acuan
Penulisan judul function dengan menggunakan parameter secara acuan adalah sama
dengan procedure yaitu ditambah Var pada deklarasi parameter.Dengan demikian nilai
parameter acuan dapat digunakan sebagai hasil balik.
Sintaks :
Function jumlah (var a,b : integer) : integar ;
Contoh :
Program pengiriman_parameter_secara_acuan;
Function kali(var bil1,bil2,jumlah:integer):integer ;
begin
kali:=bil1*bil2;
end;
var
x,y,z : integer ;
begin
write (‘bilangan 1 =’);readln(x);
write (‘bilangan 2 =’);readln(y);
writeln (x:3,’*’,y;3,’=’,kali (x,y,z):5);
writeln(x:3,’+’,y:3,’=’,z);
readln ;
end.
3. Function tanpa parameter
Suatu function tanap parameter berarti nilai balik yang akan dihasilkan merupakan nilai
yang sudah pasti. Jika pada function dengan parameter, parameternya digunakan untuk
input pada function dan function akan memberikan hasil balik sesuai dengan parameter
yang diberikan sehingga bisa diatur dari program pemanggil. Sedang pada function tanpa
parameter hasil dari function tidak dapat diatur. Sehinggan function tanpa parameter jarang
digunakan.
Contoh :
Function tiga : integer ;
begin
tiga:=3;
end ;
begin
writeln (tiga);
end ;
jadi hasil : 3
Function type string untuk membuat garis, ini juga merupakan contoh function tanpa
parameter.
Uses crt ;
Function garis : string ;
begin
garis:=’--------‘;
end ;
( modul utama )
begin
writeln (garis);
writeln (‘pascal’);
writeln (garis);
readln ;
end.
4. Rekursi pada function
Rekursi adalah dimana suatu function memanggil dirinya sendiri. Proses dapat dilihat
pada contoh berikut. Dimana fungsi faktor dipanggil oleh dirinya sendiri .
Contoh :
Program function_memanggil_function_yang_lain;
Uses crt ;
Function faktor (bilangan : integer) : real ;
begin
if bilangan n=0 then
faktor:=1
else
faktor:=faktor (bilangan n-1)*bilangan;
end;
var
n : integer;
begin
write (‘berapa faktorial=’),readln(n);
writeln (N:5,’faktorial =’, faktorial(n):9:0);
readln ;
end
Program :
1. Dengan bantuan variabel array, simpan dan tampilkan sepuluh jenis musik ini: pop, dangdut, jazz, keroncong, reggae, acapella, rock, heavy metal, instrumental, blues
program jenis_musik;
uses wincrt;
const
max = 10 ;
musik : array [1..10] of string =
('pop','dangdut','jazz','keroncong','reggae','acapella','rock','heavy metal','instrumental','blues') ;
var
i: integer;
begin
for i:= 1 to max do
begin
writeln (musik[i]);
end;
end.
2. Dengan array dan record simpan dan tampilkan data barang berikut:
-Nama: sari apel, kualitas: A, harga: 550
-Nama: jenangapel, kualitasB, harga: 750
-Nama: buahapel, kualitasC, harga: 950
program jenis_buah;
uses wincrt;
const
max = 3;
buah : array [1..3 ]of string=
('nama:sari apel, kualitas: A, harga: 550','Nama:
jenangapel, kualitasB, harga: 750','Nama: buahapel,
kualitasC, harga:950');
var
i: integer;
begin
for i:= 1 to max do
begin
writeln (buah[i]);
end;
end.
Daftar Pustaka
http://jazman.poltek-kampar.ac.id/pascal/parameter-jumlah
http://tsuwandzi.wordpress.com/tag/deklarasi-paskal/
http://justienadam.wordpress.com/2007/09/15/procedure-function/
http://www.indrabt.com/perbedaan-antara-function-dan-procedure.html
http://docwiki.embarcadero.com/RADStudio/en/Procedures_and_Functions
http://www.google.co.id/url?sa=t&rct=j&q=definisi
%20record.doc&source=web&cd=3&ved=0CFAQFjAC&url=http%3A%2F
%2Fopenstorage.gunadarma.ac.id%2Fhandouts%2FS1_TEKNIKINFORMATIKA%2FStruktur_Data
%2FARRAY%2520DAN
%2520RECORD.DOC&ei=FgDGT_3mA47QrQfFh4nBBQ&usg=AFQjCNEnl_4TyAD3topyQotYdMb7qhKhiA
http://marliza.staff.gunadarma.ac.id/Downloads/files/19568/ARRAY.pdf
http://dif4jc.wordpress.com/2007/06/22/array-pada-pascal/
http://bayoe.staff.uns.ac.id/files/2009/03/4-array-dan-record.pdf
http://elearning.gunadarma.ac.id/docmodul/pengantarstruktur_data/bab2-array_dan_record.pdf
foto kelompok:
Top Related