• Tidak ada hasil yang ditemukan

Array & Program Modular

N/A
N/A
Protected

Academic year: 2021

Membagikan "Array & Program Modular"

Copied!
7
0
0

Teks penuh

(1)

Array & Program Modular

A. Tujuan

Setelah melakukan praktikum, diharapkan praktikan dapat :

1. Menggunakan sebuah Array berindek satu atau berindek dua untuk

mendeklarasikan sebuah variabel.

2. Menggunakan Procedure & Function dalam program pascal.

B. Teori Singkat

Array adalah suatu tipe variabel yang menyimpan data dalam

beberapa tempat, seakan-akan merupakan gabungan dari beberapa

variabel sejenis sekaligus. Untuk memakai variabel array harus ditunjukan

variabel keberapa yang akan dioperasikan.

Tata cara penulisan tipe variabel array adalah :

variabel : Array [n1..m1] Of tipe variabel;

Variabel : Array [n1..m1,n2..m2] Of tipe variabel;

dimana cara yang pertama digunakan untuk Array berindek (dimensi)

satu, sedangkan car kedua adalah untuk array berindek (dimensi) dua.

Variabel adalah nama variabel yang akan didefenisikan, n1,n2 dan

seterusnya adalah nomor awal array yang akan didefenisikan, m1,m2 dan

seterusnya adalah nomor akhir array yang didefenisikan dan tipe variabel

adalah tipe variabel isi.

Prosedur (Procedure) dan fungsi (Function) merupakan modul

suatu program yang akan dipisahkan di suatu tempat lain dan

dilambangkan dengan satu kata pada penulisan programnya.

Prosedur adalah potongan program yang akan berdiri sendiri dan

tidak bisa dioperasikan sendiri. Dalam suatu program Pascal, letak

prosedur ini setelah bagian deklarasi dan sebelum bagian program induk.

Untuk mendefenisikan suatu prosedur, anda harus memberikan kata

(2)

‘Procedure’ sebagai pengenal suatu prosedur. Kata Procedure akan diikuti

oleh nama prosedur, dan bila nama ini dipanggil, program yang terdapat

diantara Begin dan End; setelah kata Procedure yang akan dijalankan.

Fungsi merupakan suatu potongan program yang akan

memberikan suatu hasil. Karena memberikan suatu nilai, fungsi tidak

dapat berdiri sendiri melainkan memerlukan suatu tempat untuk

menampung nilai tersebut.

C. Latihan-Latihan

1. Program untuk mencari hasil perkalian matriks dimensi dua dengan

matriks dimensi satu (LATIH6A.PAS)

=

=

0

35

3

B

;

4

2

11

65

56

34

45

0

23

A

C = A x B

Program KaliMatrik; Uses Crt; Var A : Array [1..3,1..3] of Real; B,C : Array [1..3] of Real; I,J : Integer; Begin ClrScr;

A[1,1] := 23;A[1,2] := 0; A[1,3] := 45; A[2,1] := 34;A[2,2] := 56;A[2,3] := 35; A[3,1] := 11;A[3,2] := 2; A[3,3] := 4; B[1] := 3; B[2] := 35; B[3] := 0; For I := 1 to 3 do Begin C[I] := 0; For J := 1 to 3 do Begin

C[I] := C[I] + A[I,J]*B[J]; End; End; Writeln('Matrik A3x3 :'); Writeln('---'); For I := 1 to 3 do Begin For J := 1 to 3 do Begin Write(A[I,J]:8:2,' '); End; Writeln; End;

(3)

Writeln; Writeln('Matrik B3x1 :'); Writeln('---'); For I := 1 to 3 do Begin Writeln(B[I]:8:2,' '); End; Writeln; Writeln('Matrik C3x1 :'); Writeln('---'); For I := 1 to 3 do Begin Writeln(C[I]:8:2,' '); End; End.

2. Buatlah Program untuk mencari hasil penjumlahan matrik dan simpan dengan

nama LATIH6B.PAS

=

=

45

2

-3

50

44

5

0

7

34

-B

;

4

2

11

65

56

34

45

0

23

A

C = A + B

3. Program Untuk menghitung Perkalian dua buah matriks dimensi dua

LATIH6C.PAS

Bentuk umum : A

M,N

x B

N,L

= C

M,L

Contoh :

=

=

45

2

-3

50

44

5

0

7

34

-B

;

4

2

11

65

56

34

45

0

23

A

C = A x B Æ

=

20

98

286

325

2744

884

225

0

598

C

Program PerkalianMatriksDuaDimensi; Uses crt; Var i,j,k : byte; M,N,L : byte;

A,B,C : array[1..25,1..25] of real; Begin

ClrScr;

write('Jumlah baris matriks pertama : '); readln(M);

write('Jumlah kolom baris pertama/baris matriks kedua : '); readln(N);

write('Jumlah kolom matriks kedua : '); readln(L);

(4)

{memasukkan data matriks pertama} writeln('Matriks yang pertama : '); for i:=1 to N do begin for j:=1 to N do begin write('A[',i,',',j,'] = ');readln(A[i,j]); end; writeln; end;

{memasukkan data matriks kedua} writeln('Matriks yang kedua : '); for i:=1 to N do begin for j:=1 to N do begin write('B[',i,',',j,'] = ');readln(B[i,j]); end; writeln; end; {perkalian matriks} for i:=1 to M do begin for j:=1 to N do begin C[i,j]:=0; for k:=1 to L do begin

C[i,j] := C[i,j] + A[i,j]*B[k,j]; end;

end; end;

{mencetak hasil perkalian} Clrscr;

writeln('Hasil dari perkalian matriks : '); writeln; for i:=1 to M do begin for j:=1 to L do begin write(C[i,j]:9:2); end; writeln; end; end.

4. Program untuk mencari hasil persamaan (LATIH6D.PAS)

X=Cos(w

5

) dimana nilai w = 1,2,3…10

Program Trigonometri; Uses Crt;

Var

(5)

w : Integer;

Function Radian(Sudut : Real) : Real;

{ Merubah Derajat ke Radian }

Begin

Radian := (Sudut/360)*(2*Pi); End;

Function Pangkat(Dasar,Pangkat : Real) : Real; Begin Pangkat := exp((Pangkat)*ln(Dasar)); End; {Program Utama} Begin ClrScr; Writeln(' No w X '); Writeln('---'); For w:=1 to do Begin SudutRadian := Radian(Pangkat(W,5)); X := Cos(SudutRadian); Writeln(w:2,' ',w:2,' ',X:8:4); End; Writeln('---'); End.

5. Program untuk mencari hasil konversi suhu dari Reamur ke Celcius

(LATIH6E.PAS)

Program KonversiSuhu; Uses Crt; Var C,R : Real; Procedure Celcius; Begin C := 5/4 * R;

Writeln('Suhu dalam Clecius = ',C:6:2); End;

{Program Utama Untuk Memanggil Procedure}

Begin ClrScr;

Write('Masukan suhu yang akan dikonversikan (R) = '); Readln(R); {Membaca harga R}

Celcius; {Memanggil Procedure Reamur} ReadLn;

End.

6. Program aplikasi menggunakan procedure dan function (LATIH6F.PAS)

Program Fungsi_Dan_Parameternya; Uses

Crt; Var

Pilihan : Char;

(6)

Procedure TullsDiXY(K,Y : Integer; Pesan : String); Begin If (X in [1..80]) and (Y in (1..25) then Begin GotoXY (X,Y); Write(Pesan); End; End; Procedure CetakMenu; Begin TulisXY(10,10,’Opeasi Aritmatika ‘); TulisXY(10,11,’--- ‘); TulisXY(10,12,’1. Jumlahkan‘); TulisXY(10,13,’2. Kalikan‘); TulisXY(10,14,’3. Kurangi‘); TulisXY(10,15,’4. Bagi‘); TulisXY(10,16,’5. Selesai‘); End; Procedure TekanSembarangTombol; Var Tombol :Char; Begin

TulisDiXY (1,25,’Tekan sembarang tombol); Tombol := ReadKey;

GotoXY (1,25) ; ClrEol;

End;

Function BacaBilangan : Real; Var

Bil : Real; Begin

GotoXY (10,17);

ClrEol;

Write(’Masukan bilangan yang akan dihitung);

Readln (Bil);

BacaBilangan := Bil; End;

Function BacaKarakter : Char; Var Ch : Char; Begin Oh : ReadKey; Write(Ch); BacaKarakter := Ch; End;

Function PilihanSalah(ChAwal ,ChAkhir:Char; Var ChPilih: Char) : Boolean; Begin

GotoXY (10,17);

ClrEol:

TullsDiXY (10,17),’Masukkan nomor operasi : ‘); ChPilih := BacaKarakter;

(7)

End;

Function Jumlahkan (A,B:Real):Real; Begin

Jumlahkan := A + B; End;

Function Kalikan (A,B:Real):Real; Begin

Kalikan := A * B; End;

Function Kurangi (A,B:Real):Real; Begin

Kurangi := A - B; End;

Function Bagilah (A,B:Real):Real; Begin

Bagilah := A I B; End;

Procedure CetakHasil (Bil:Real); Begin

GotoXY (10,17);

ClrEol;

Write (‘Hasilnya : ‘,Bil:10:2); TekanSembarangTombol; End; Procedure PilihSalah; Begin GotoXY (10,17); ClrEcl;

Write(’Pilihan tak salah !’,#7); TekanSembarangTombol; End; {Program Utama} Begin ClrScr; CetakMenu; Repeat Bil1 := BacaBilangan; Bil2 := BacaBilangan;

If PilihanSah (‘1’,’5’,Pilihan) Then Begin

Case Pilihan of

‘1’ : Hasil := Jumlahkan (Bi1l,Bil2);

‘2’ : Hasil := Kalikan (Bil1,Bil2);

‘3’ : Hasil := Kurangi (Bil1,Bil2);

‘4’ : Hasil := Bagilah (Bil1,Bil2);

‘5’ : ; End;

If Pilihan in [‘1’..’4’] Then CetakHasil (Hasil);

Else PilihanSalah;

Until PILIHAN := ‘5’; End.

D. Tugas-Tugas

Buatlah program pascal dengan metode modul program menggunakan

procedure untuk menghitung tahanan total dua resistor yang terhubung

Referensi

Dokumen terkait