blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah...

32
TUGAS RESUME DASAR PEMROGRAMAN Yang dibina oleh Ika Atsari Dewi, STP. Disusun : Kelompok1 1. Dedy Iskandar (115100307113012) 2.Dhanis Ulan (115100307113018) 3. Endra Cahyono (115100307113011) 4. Ma’ruf Pambudi (115100307113021) 5.Reta Wahyu (115100307113023) 6. Selvi Putri S (115100301113002)

Transcript of blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah...

Page 1: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

TUGAS RESUME

DASAR PEMROGRAMAN

Yang dibina oleh Ika Atsari Dewi, STP.

Disusun :

Kelompok1

1. Dedy Iskandar (115100307113012)

2. Dhanis Ulan (115100307113018)

3. Endra Cahyono (115100307113011)

4. Ma’ruf Pambudi (115100307113021)

5. Reta Wahyu (115100307113023)

6. Selvi Putri S (115100301113002)

JURUSAN TEKNOLOGI INDUSTRI PERTANIAN

FAKULTAS TEKNOLOGI PERTANIAN

UNIVERSITAS BRAWIJAYA

2012

Page 2: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

ARRAY

Array (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data sama). Hal ini berbeda dengan variable biasa yang hanya mampu menampung satu buah nilai. Setiap nilai yang disimpan di dalam array disebut dengan elemen array, sedangkan nilai urut yang digunakan untuk mengakses elemennya disebut dengan indeks array.

1. Deklarasi Arraya. Format

NamaArray : array [IndeksAwal..IndeksAkhir] of tipe_data ;

b. Contoh :var

A : array[1..100] of integer;terendah, tertinggi : integer;

beginterendah : Low (A); {akan menghasilkan nilai 1}tertinggi : High (A); {akan menghasilkan nilai

100}end.

2. Mengakses Elemen ArrayLangkah awal yang harus dilakukan adalah mengisikan nilai ke dalam elemen-elemen array bersangkutan. Adapun bentuk umum untuk pengisian elemen array sebagai berikut :

NamaArray [indeks] := nilai;

Contoh : Kode 1

varA : array[1..100] of integer;

beginA [1] := 1; {mengisi elemen pertama dengan nilai 1}A [2] := 2; {mengisi elemen kedua dengan nilai 2}A [3] := 3; {mengisi elemen ketiga dengan nilai 3}……A [100] := 100; {mengisi elemen keseratus dengan nilai

100}end.

Kode 1 tersebut akan melakukan pengisian 100 elemen array dengan nilai 1 sampai 100 sehingga kode tersebut akan lebih sederhana apabila dituliskan dengan menggunakan struktur pengulangan pada kode 2 di bawah ini :

Kode 2var

A : array [1..100] of integer;i : integer;

beginfor i:=1 to 100 do

Page 3: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

beginA [i] := i ;end;

end.

3. Array sebagai Tipe Data BentukanSama halnya dengan record, array juga digunakan sebagai tipe data bentukan, yaitu dengan cara mendeklarasikannya di bagian yang diawali dengan kata kunci type. Berikut ini contoh array yang didefinisikan sebagai tipe data :type

Bilangan = array [1..100] of integer;

Setelah mendefinisikan array tersebut, maka kita dapat menggunakannya untuk mendeklarasikan variable lain di dalam program. Berikut contoh pendeklarasian variable yang menggunakan tipe bentukan berupa array :var

X : Bilangan;

4. Array KonstanNilai yang terkandung di dalam sebuah array dapat bernilai konstan, artinya nilai-nilai tersebut tidak dapat diubah. Untuk melakukan hal tersebut, kita harus mendeklarasikan array bersangkutan degan kata kunci const. Berikut ini bentuk umum pendeklarasiannya :const

NamaArray : array [IndeksAwal..IndeksAkhir] of tipe_data = (nilai1, nilai2,…);

Misalnya :const

A : array [1..5] of char = (‘A’, ‘B’, ‘C’, ‘D’, ‘E’);

5. Array sebagai ParameterHal ini sering kita jumpai pada saat kita akan melakukan pencarian maupun pengurutan dari sekumpulan data. Berikut ini contoh penggunaan array di dalam sebuah prosedur :type

Bilangan = array [1..100] of integer;procedure InputArray ( A: Bilangan; N : integer);var

i : integer;begin

for I :=1 to N dowrite (‘Masukkan elemen array ke- ‘ , i);readln (A[i]);

end;

Penggunaan array yang tidak diperbolehkan :procedure InputaArray (A : array [1..100] of integer; N); {SALAH}

Perbaikan array dari kode di atas :procedure InputArray (A : array of integer; N);{BENAR}

Page 4: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

6. Array Dimensi Satu

• Setiap elemen array dapat diakses melalui indeks.

• Indeks array secara default dimulai dari 0.

• Deklarasi Array

tipe nama_var[ukuran];

dimana:

tipe : jenis elemen array (ex. char, int)

ukuran : jumlah maksimal elemen array

Contoh :

int Nilai [5];

7. Array Dimensi Dua

• Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom.

• Bentuknya dapat berupa matriks atau tabel.

• Deklarasi array :

tipe_array nama_array[baris][kolom];

Contoh :

int X[3][4];

Page 5: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

8. Array Dimensi Banyak

• Bentuk umum deklarasi array dimensi banyak : tipe_datanama_var[uk_1][uk_2]..

[uk_n];

dimana : uk_1, uk_2, uk_n adalah ukuran dari array.

Contoh deklarasi:

int nilai[4][2][7];

9. Array Tak Berukuran

• Array dapat dideklarasikan tanpa memberi ukuran (jumlah data dalam array).

Dengan syarat: Harus langsung diinisialisasi. Hanya elemen pertama yang boleh tidak berukuran. Contoh:

Contoh :int nilai[] = {32, 45, 67,21};

int nilai[][2]={{9,7},{4,2},{8,3}};

Page 6: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

RECORD

Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal dengan

nama Tipe Record (rekaman), perbedaan antara record dengan array adalah bahwa dalam larik

semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa mempunyai tipe yang

berbeda antara satu sama lainnya. Data item yang merupakan elemen record biasanya disebut

dengan FIELD.

Beberapa contoh pemakaian misalnya rekaman data akademis mahasiswa, rekaman gaji

pegawai, persediaan barang dalam gudang dan lain-lain.

Rekaman dapat muncul dalam berbagai bentuk, misalnya informasi yang tertulis pada kartu

dan tersimpan dalam sebuah kotak; sebagai informasi yang diketikkan lewat terminal komputer dan

tersimpan dalam harddisk. Biasanya rekaman-rekaman dalam computer tersimpan dalam bentuk

berkas (file) yang tak gayut terhadap program yang menggunakannya.

Bentuk Umum penulisan Rekord

type

Pengenal = Record

Namafield_1 : Typedata;

Namafield_2 : Typedata;

............

Namafield_N : Typedata;

end;

Atau dapat juga dideklarasikan sebagai berikut:

var

Pengenal = Record

Namafield_1 : Typedata;

Namafield_2 : Typedata;

............

Namafield_N : Typedata;

end;

Page 7: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

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_field

Pada deklarasi diatas yang dimaksud dengan field designator-nya adalah :

x.nilai1

x.nilai2

y.nilai1

y.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);

uses wincrt; type wisatawan = Record Nama : string[30]; JenisKelamin : string[20]; Alamat : string[20]; Umur : real;

end; var Wstw:Wisatawan;

begin clrScr;

Page 8: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

write ('Nama:');ReadLn(Wstw.Nama);

write ('Alamat:');Readln(Wstw.Alamat);

write ('Jenis Kelamin:');Readln(Wstw.JenisKelamin);

write ('Umur:');Readln(Wstw.Umur);

writeln; Writeln('Nama Anda:',Wstw.Nama);

writeln('Alamat Anda:',Wstw.Alamat);

writeln('Jenis Kelamin Anda:',Wstw.JenisKelamin);

writeln('Umur Anda:',Wstw.Umur:0:0);

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 :

Page 9: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Read (p.no,p.kode,p.juml,p.harga,q.no,q.kode,q.juml,q.harga);

CONTOH :

Pernyataan seperti :

Data.nim :=‘22297566’

Data.Nama:=‘Abdul Kadir’

Data.Fakultas:=‘Teknik’

Dapat diganti dengan :

WITH Data DO begin

nim :=‘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

Batu:string[10];

Kayu:char;

END;

var

brg_X:barangX;

brg_Y:barangY;

Karena kedua variabel record brg_X dan brg_Y memiliki nama field yang sama, Jika misalnya

kemudian dikenakan pernyataan :

Page 10: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

WITH brg_X, brg_Y Do

begin

writeln(batu);

writeln(kayu);

end;

dapat menyebabkan hasil tidak seperti yang diharapkan.

Record yang Bervariasi

Yaitu suatu record dengan field yang bisa berubah pada saat program berjalan. Hal yang

perlu diperhatikan adalah bahwa beberapa field yang berada dalam record tidak pernah muncul

dalam serempak, hanya akan ada satu field yang terpakai dalam satu saat.

Record varian akan memberikan fasilitas untuk menentukan field yang diperlukan pada saat

program berjalan (RUN-TIME), berdasarkan keperluannya.

Bentuk umum Record Varian :

TYPE namarecord = RECORD

Nama_field_1 : jenis;

Nama_field_2 : jenis;

……………………..

nama_field_n : jenis;

Case Tagfield:jenis Of

nama_tagfield : (Nama_field:jenis);

nama_tagfield : (Nama_field_1, Nama_field_2:jenis);

……………………..

nama_tagfield : (Nama_field_n:jenis);

END;

Contoh : Type status=(T,P,J);

gaji=RECORD

napeg :string[25];

nopeg :string[10];

bagian :string[15];

CASE stat :status OF

T:(gaji:integer);

P:(gajiperjam,jmlmax:integer);

Page 11: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

J:(upahperjam,lembur:integer);

end;

Perbedaan contoh program antara array tipe record dan array dalam record.

Array Tipe Record

type barang=RECORD

namabrg:string[20];

jmlbrg:byte;

hargabrg:real;

total:real;

end;

var jual:array [1..10] of barang

i,j:integer;

tot1:real;

begin

i:=1;

write(‘Nama barang :’);readln(jual[i].nmbrg);

Repeat

write(‘Jumlah barang :’);readln(jual[i].jmlbrg);

write(‘Harga barang :’);readln(jual[i].hrgbrg);

jual[i].total:=jual[i].jmlbrg* jual[i]. jual[i].hrg.brg;

inc (I);

write(‘Nama barang :’);readln(jual[i].nmbrg);

until (jual[i].nmbrg=‘0’) or (I=11);

dec(i);

clrscr;

writeln (‘-----------------------------------------------’);

writeln (‘No nama barang jumlah harga total’);

writeln (‘----------------------------------------------’);

for j:=1 to I do

begin

gotoxy(1,j+3);write (j);

gotoxy(5,j+3);write(jual[i].nmbrg);

gotoxy(26,j+3);write(jual[i].jmlbrg:10);

gotoxy(37,j+3);write(jual[i].hrgbrg:10:2);

Page 12: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

gotoxy(48,j+3);write(jual[i].total:10:2);

tot1:=tot1 + jual[j].total ;

end;

writeln (‘------------------------------------------------’);

writeln(‘ Total :’,tot1:10:2’);

writeln (‘-------------------------------------------------’);

end.

Array dalam record

Type barang= RECORD

nmbrg:string[20];

jmlbrg:array[1..3]of byte;

hrgbrg:real;

total:real;

end;

var jual:barang;

tbarang, i:integer;

Begin

clrscr;

write(‘Nama Barang :’);readln(jual.nmbrg);

for i:=1to 3 do

begin

write(‘Jumlah barang ’,I,’ : ’);readln(jual.jmlbrg[i]);

tbarang:=tbarang+jual.jmlbrg[i];

end;

write(‘Harga barang :’);readln(jual.hrgbrg);

jual.total:=tbarang*jual.hrgbrg;

writeln(‘Total Harga Barang = ‘, jual.total:10:2);

end.

Page 13: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

PROCEDURE DAN FUNCTION

Procedure dan Function adalah suatu program terpisah dalam blok sendiri yang berfungsi

sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses

sebagian dari pekerjaan program utama.

PROCEDURE

Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur.

Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul

prosedurnya.

Prosedur banyak digunakan pada program yang terstruktur, karena :

1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit

menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.

2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur

dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

Sebagaimana halnya sebuah program, suatu procedure juga memiliki header dan block. Perbedaan

bentuknya dengan program hanyalah pada bagian header-nya saja.

Bentuk Umum header suatu procedure adalah :

PROCEDURE nama;

Atau

PROCEDURE nama (formal parameter : jenis);

Jika kita menggunakan procedure dalam suatu program, maka procedure tersebut harus

dituliskan pada bagian deklarasi.

Contoh :

Misal akan dibuat suatu procedure untuk menentukan bilangan bulat terbesar diantara tiga bilangan

bulat, maka procedure tersebut adalah sebagai berikut :

1

2

3

4

5

6

7

PROCEDURE maksimum;

VAR max : integer;

BEGIN

IF a > b THEN max := a ELSE max :=

b;

IF c > max THEN max := c;

WRITELN(max);

END.

Page 14: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Selanjutnya, di dalam suatu program, procedure ini dapat digunakan dengan bentuk penulisan

sebagai berikut :

1

2

3

4

5

6

7

8

9

10

11

12

13

PROGRAM contoh_1;

VAR a,b,c : integer;

PROCEDURE maksimum;

VAR max : integer;

BEGIN

IF a>b THEN max := a ELSE max :=

b;

IF c>max THEN max := c; utama

WRITELN(max);

END;

BEGIN

READLN(a,b,c);

Maksimum

END.

1

2

3

4

5

6

7

8

9

10

11

12

13

PROGRAM CONTOH_2;

VAR p,l,t,vol,panj : real; PROCEDURE kotak; VAR v,pl : real; BEGIN v := p * l * t ; pl := p + 2.0 * t; writeln(v,pl); END;

BEGIN writeln(‘panjang’:10,’lebar’:10,’tinggi’ : 10); readln(p,l,t); kotak; END.

Page 15: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

JANGKAUAN IDENTIFIER

Identifier yang dideklarasikan dalam suatu blok program hanya berlaku pada blok dimana

identifier tersebut didefinisikan.

1

2

3

4

5

6

7

8

9

10

PROGRAM p; VAR x : real; PROCEDURE pl; VAR y : integer; begin

………………..; ………………..; end;

begin ………………..; ………………..; end. y → variabel global

1

2

3

4

5

6

7

8

9

10

11

12

13

14

PROGRAM p; VAR x, y : real;

PROCEDURE pl; VAR y : integer;

begin end;

begin

x := ....... y := .......

end.

y (real) berlaku disemua blok program P, kecuali di P1, x (real) berlaku disemua blok P, kecuali di P2

hanya berlaku di P1 saja (lokal)

x dan y yang dimaksud adalah x dan y real (variabel global)

Page 16: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

PROCEDURE DENGAN PARAMETER

Nilai di dalam suatu modul program Pascal sifatnya adalah lokal, artinya hanya dapat

digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada

modul atau unit program yang lainnya.

Contoh :

1

2

3

4

5

6

7

8

9

10

Prosedur Tanya_hitung; Var X,Y :real; Begin Write (‘Nilai X ?’); Readln(X); Y:=X * X; Writeln(‘Nilai Y = ‘,Y:6:2); End; Begin Tanya_Hitung; End. Hasilnya : Nilai X ? 5 Nilai Y = 25.00

Keterangan :

Variabel X dan Y sifatnya adalah lokal untuk prosedur Tanya_hitung, artinya hanya dapat digunakan

pada modul itu saja, Pada modul yang lain tidak dapat digunakan, contoh :

1

2

3

4

5

6

7

8

9

10

Prosedur Tanya_hitung; Var X,Y :real; Begin

Write (‘Nilai X ?’); Readln(X); Y:=X*X; End; Begin Tanya_Hitung; Writeln(‘Nilai Y = ‘,Y:6:2); End. Hasilnya : Error 31: Unknown identifier

Page 17: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Supaya nilai variabel dapat digunakan di modul lainnya, maka dapat dilakukan dengan cara :

1. Dibuat bersifat global

Harus dideklarasikan di atas modul yang menggunakannya.

Pada contoh diatas, variabel A dab B bersifat global untuk prosedur kedua, ketiga dan

utama, tetapi tidak bersifat global untuk prosedur kesatu, sehingga prosedur kesatu tidak dapat

menggunakan variabel-variabel tersebut.

Var

A,B : real;

Procedure kesatu;

Begin

……

……

Var

A,B : word;

Procedure kedua;

Begin

……

……

End; (*akhir dari procedure kedua*)

Procedure ketiga;

Begin

Procedure kesatu;

Begin

…….

……..

Page 18: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Begin …… …… End. (*akhir dari modul utama*)

Pada contoh ini, variabel A dan B bersifat global untuk semua modul.

2. Dikirimkan sebagai parameter ke modul yang membutuhkannya.

Parameter yang dikirim dari modul utama ke modul prosedur disebut actual parameter, dan

parameter yang ada dan dituliskan pada judul prosedur disebut formal parameter.

2.1 Pengiriman parameter secara nilai

Parameter yang dikirimkan secara nilai, maka parameter formal yang ada di

prosedur akan berisi nilai yang dikirimkan yang kemudian bersifat lokal di prosedur.

Perhatikan procedure berikut :

Procedure konversi;

begin

f := (5/9) * c + 32; f dan c variabel global, c sebagai input

writeln(c,f); f sebagai output.

end;

Procedure di atas dapat dipanggil dengan variabel yang berbeda, tetapi penulisannya harus

diubah dengan menggunakan parameter sbb:

Procedure konversi (var f : real; c : real);

Begin disebut formal parameter

F := (5/9) * c + 32;

Writeln(c,f);

End;

Procedure kedua;

Begin

……

Procedure ketiga;

Begin

……

……

Page 19: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Selanjutnya procedure di atas dapat dipanggil dengan parameter lain, misalnya :

konversi (x,y) ;

actual parameter

x dan y disebut sebagai actual parameter.

Pada eksekusinya x akan menggantikan c dan y akan menggantikan f.

x dan y ini dapat berupa :

- konstanta

- variabel

- procedure, atau

- fungsi

Contoh :

Procedure Hitung(A,B : integer);

Var C : integer;

Begin

C := A + B;

Writeln(‘Nilai C = ‘,C)

End;

Var X,Y : integer;

Begin

Write(‘Nilai X ? ‘);

Readln(X);

Write(‘Nilai Y ?’);

Readln(Y);

Hitung(X,Y);

End.

Hasilnya :

Nilai X ? 2

Nilai Y ? 3

Nilai C = 5

Page 20: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

2.2 Pengiriman parameter secara acuan

Bila pengiriman parameter secara acuan (by reference), maka perubahan-perubahan yang

terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai actual parameter .

Procedure hitung(Var A,B,C : integer);

Menunjukkan pengiriman parameter secara acuan.

Contoh :

Procedure Hitung(Var A,B,C : integer);

Begin

C := A + B;

End;

Var X,Y,Z : integer;

Begin

X := 2; Y:= 3;

Hitung(X,Y,Z);

Writeln(‘X = ‘,X,’ Y = ‘,Y,’ Z = ‘,Z);

End.

Hasilnya :

X = 2 Y = 3 Z = 5

Acuan Forward

Digunakan untuk mendeklarasikan dimuka judul prosedur terpisah dari bloknya.

Contoh :

Procedure pro1(var I : integer); Forward;

Procedure pro2(var I : integer);

Begin

Writeln(‘prosedur pro’, I);

End;

Procedure pro1;

Begin

Writeln(‘prosedur pro’,I);

End;

Var I : integer;

Begin

I := 1; pro1(I);

I := 2; pro2(I);

End.

Hasilnya :

Page 21: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

prosedur pro1

prosedur pro2

Prosedur Standar

Prosedur yang disediakan oleh Turbo Pascal :

1. Prosedur standar EXIT

Digunakan untuk keluar dari suatu blok.

2. Prosedur standar HALT

Digunakan untuk menghentikan proses program baik di program bagian maupun di program

utama.

3. Prosedur standar MOVE

Bentuk umum : MOVE (Var source,dest; count : word);

Digunakan untuk menyalin suatu blok sebanyak count byte memori dari blok dimulai byte

pertama source dan disalinkan ke byte pertama dest.

4. Prosedur standar FILLCHAR

Digunakan untuk mengisi sejumlah byte nilai ke dalam suatu variabel, sebagai berikut

FillChar(x;count :word;ch);

X adalah variabel yang dapat bertipe apapun yang akan diisi dengan nilai tipe ordinal Ch

sebanyak count byte.

Function

Konsep fungsi dalam pascal hamper sama dengan konsep fungsi dalam matematika. Sebuah

fungsi digunakan untuk menghitung sebuah nilai berdasar satu atau beberapa nilai masukan. Dalam

pascal, fungsi akan membantu mewujudkan pemecahan masalah yang lebih sederhana, sehingga

program semakin mudah dibaca dan lebih mudah diubah atau dimodifikasi.

Pendeklarasian Function:

1. Function NamaFungsi(Parameter-Parameter) : Tipe Fungsi;2. Tipe Lokal3. Konstanta Lokal4. Variabel Lokal5. Sub Program Lokal (Fungsi/Prosedur)6. Begin7. Statement

Page 22: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

8. End;

Parameter dalam fungsi

Parameter adalah Parameter adalah variabel dalam sebuah prosedur atau fungsi yang

gunanya untuk menampungnilai yang dikirimkan oleh program yang memanggil prosedur atau fungsi

tersebut.Parameter dideklarasikan setelah nama prosedur atau fungsi, diikuti dengan jenis

variabelnya.

Macam Parameter pada fungsi:

Parameter bersifat Lokal artinya bahwa nilai yang terdapat didalam suatu modul program hanya

dapat digunakan pada modul yang bersangkutan sehingga tidak dapat digunakan pada modul lain.

Parameter bersifat Global artinya bahwa nilai dapat digunakan pada semua modul maka nilai

tersebut harus dideklarasikan di atas modul yang akan menggunakannya

1. Function nilai dengan parameter

yaitu parameter dalam fungsi yang dikirim secara nilai.

Sintaks:

Function besar(a,b : real) : real;

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 ini dapat digunakan sebagai hasil balik.

Sintaks :

FUNCTION jumlah(var a,b : integer) : integer;

3. Function tanpa parameter

Suatu function tanpa 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. Sehingga function tanpa parameter jarang

digunakan.

Page 23: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Tanpa parameter:

FUNCTION nama : jenis hasil;

begin

{statement};

end;

Fungsi Standard

Disamping jenis fungsi yang didefinisikan sendiri oleh pemakai, Pascal memiliki fungsi-fungsi

standard, antara lain :

1. Copy

Bentuk penulisan:

Copy(s:string;Integer;Index:integer;Count:Integer) :String;

Untuk menyalin sejumlah karakter (Count) mulai dari posisi yang ditunjuk (Index) dari nilai

string (s).

2. Concat

Bentuk penulisan:

Concat(s1 [,s2,s3…,sn];string):string;

Untuk merangkai beberapa nilai string yang ditunjukkan oleh nilai string s1,s2,s3,….,sn.

3. Pos

Bentuk penulisan :

Pos(Substr : string;s : string):Byte;

Untuk mencari posisi letak dari suatu nilai string (substr) yang ada di dalam nilai string yang

lain (S). Nilai yang dihasilkan adalah Byte.

4. Length

Page 24: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Bentuk penulisan:

Length(S : string):Integer;

Untuk menghitung panjang atau jumlah karakter yang ada di nilai string

Rekursi pada function

Rekursi adalah dimana suatu function memanggil dirinya sendiri.

Contoh :

Teknik Rekursif pada algoritma untuk menghitung faktorial dari bilangan bulat positif n,

adalah sebagai berikut :

Function FAK (n : integer) : integer

1. If n := 0 then FAK := 1

2. Else FAK := n * FAK(n-1)

Pemanggilan Fungsi

Parameter dalam fungsi (idem dengan prosedur), yaitu dapat dilakukan pemanggilan secara nilai (by

Value) atau secara acuan (by reference)

1. Parameter Secara Nilai ( By Value )

Bersifat satu arah, jika terjadi perubahan pada subprogram, maka tidak akan mempengaruhi

program utama.

Sintaks:

Function besar(a,b : real) : real;

2. Parameter Secara Acuan ( By Reference )

Bersifat dua arah, jika terjadi perubahan pada subprogram, maka program utamanya akan ikut

berubah.

Sintaks :

FUNCTION jumlah(var a,b : integer) : integer;

Page 25: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Daftar Pustaka

http://mykumpulanalgoritma.blogspot.com/2011/04/tugas-pascal-tentang-variabel-global.html

http://belajar-program.ueuo.com/?p=166

http://blog.binadarma.ac.id/yantox_ska/wp-content/uploads/2011/10/P8_Sub_Program.pdf

http://www.google.co.id/tanya/thread?tid=4d0f2ceb737dbae8

http://dediramadhan8.blogspot.com/2012/05/function-dalam-pascal.html

pertemuan_3_sd.pdf (application/pdf Object)

Program array bertipe record « Catatan One

4-array-dan-record.pdf (application/pdf Object)

Page 26: blog.ub.ac.idblog.ub.ac.id/.../2012/06/Resume-Tugas-Daspro.docx · Web viewArray (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data

Lampiran

Foto kelompok 1 Dasar Pemrograman :