Dasar komputer pemrog 2 a
Download
1 / 25

Dasar Komputer & Pemrog 2 A - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

Dasar Komputer & Pemrog 2 A. minggu 5. PROCEDURE DAN FUNCTION. Procedure dan Function adalah suatu program yang terpisah dalam blok sendiri

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Dasar Komputer & Pemrog 2 A' - janet


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Dasar komputer pemrog 2 a

DasarKomputer & Pemrog 2 A

minggu 5


PROCEDURE DAN FUNCTION

  • Procedure dan Function adalahsuatuprogram yang terpisahdalambloksendiri

  • Dan memilikifungsisebagai sub-program (modul program) yang merupakansebuah program keciluntukmemprosessebagiandaripekerjaan program utama.

PROCEDURE

Prosedurdiawalidengankatacadangan Procedure didalambagiandeklarasiprosedur.

Prosedurdipanggildandigunakandidalamblok program yang lainnyadenganmenyebutkanjudulprosedurnya.


Prosedurbanyakdigunakanpada program yang terstruktur, karena :

1. Merupakanpenerapankonsep program modular, yaitumemecah-mecah program yang rumitmenjadi program-program bagian yang lebihsederhanadalambentukprosedur-prosedur.

2. Untukhal-hal yang seringdilakukanberulang-ulang, cukupdituliskansekalisajadalamprosedurdandapatdipanggilataudipergunakansewaktu-waktubiladiperlukan.

suatu procedure jugamemiliki header dan block. Perbedaanbentuknyadengan program hanyalahpadabagian header-nyasaja.


BentukUmum header suatu procedure adalah:

PROCEDURE nama;

Atau

PROCEDURE nama (formal parameter : jenis);

Jikamenggunakan procedure dalamsuatu program, maka procedure tersebutharusdituliskanpadabagiandeklarasi.


Contoh : Misalakandibuatsuatu procedure untukmenentukanbilanganbulatterbesardiantaratigabilanganbulat, maka procedure tersebutadalahsebagaiberikut :

PROCEDURE maksimum;

VAR max : integer;

BEGIN

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

IF c > max THEN max := c;

WRITELN(max);

END.


Selanjutnya, didalamsuatu program, procedure inidapatdigunakandenganbentukpenulisansebagaiberikut :

PROGRAM contoh_1; HEADER program utama

VAR a,b,c : integer;

PROCEDURE maksimum;

VAR max : integer;

BEGIN

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

IF c>max THEN max := c; utama

WRITELN(max);

END;

BEGIN

READLN(a,b,c);

Maksimum statement program utama

END.


JANGKAUAN IDENTIFIER

Identifier yang dideklarasikandalamsuatublok program hanyaberlakupadablokdimana identifier tersebutdidefinisikan.

1. PROGRAM p;

VAR x : real;

PROCEDURE pl;

VAR y : integer;

begin

………………..; daerahberlakunya y daerah

………………..; berlakunyax

end;

begin

………………..;

………………..;

end.

y → variabel global


PROCEDURE DENGAN PARAMETER

Nilaididalamsuatumodul program Pascal sifatnyaadalahlokal,

artinyahanyadapatdigunakanpadamodulatau unit program yang bersangkutansaja, tidakdapatdigunakanpadamodulatau unit program yang lainnya.

Contoh :

ProsedurTanya_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 sifatnyaadalahlokaluntukprosedurTanya_hitung, artinyahanyadapatdigunakanpadamodulitusaja, Padamodul yang lain tidakdapatdigunakan, contoh :

ProsedurTanya_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


FUNCTION

Blok fungsihampirsamadenganblokprosedur, hanyafungsiharusdideklarasikandengantipenyaataujenishasilnya.

Tipedeklarasiinimenunjukkantipehasildarifungsi

Padabahasa Pascal dikenalbeberapafungsi, misalkan : abs, pred, sqrt, sqr, succdansebagainya.

Fungsi-fungsitersebutbiasanyadikenaldengan Built in Function.

Sedangkanfunction yang akanbicarakandisiniadalahfungsi yang kitabuatsendiri.

Berbedadengan procedure, function merupakanmodul program yang menghasilkansuatukuantitas.

Hal inidapatdilihatdaribentuk header-nya yang menyebutkanjenis data darikuantitas yang dihasilkan.


dihasilkan.

Secaraumumbentuk header suatu function adalah :

FUNCTION nama : jenishasil;

AtauFUNCTION nama (formal parameter : jenis ) : jenis_hasil;

Akandibuatsuatufungsidengannama MAX yang dapatmenentukan integer terbesardiantaradua integer.

Function MAX (x,y : integer) : integer;

Begin

If x < y then MAX := y ;

Else MAX := x;

End;

Selanjutnyakitadapatmenggunakan


Selanjutnyakitadapatmenggunakanfungsidiatasdalamsuatu program, misalnyadenganmenyatakansebagaiberikut :

P := MAX(a,b);

Z := MAX(a+b,a*b);

Q := MAX(MAX(a,b),c);

…………………………

dsb.


Function LOG (x : real) : real; Begin

LOG := ln (x) / ln (10.0);

End;

Function POWER (x,y : real) : real; Begin

POWER := exp (y * ln (X))

End;

ab= POWER (a,b)

ba= POWER (b,a)

(p + q)r/s = POWER (p + q, r/s)

………………………………..

dll


Contoh :

Function Hitung(Var A,B : integer): integer;

Begin

Hitung := A + B;

End;

VarX,Y : integer;

Begin

Write(‘Nilai X ? ‘);

Readln(X);

Write(‘Nilai Y ? ‘);

Readln(Y);

Writeln;

Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y));

End.

Hasilnya:

Nilai X ? 2

Nilai Y ? 3

1 + 3 = 5


  • Perbedaanfungsidenganproseduradalah :

  • Padafungsi, nilai yang dikirimkanbalikterdapatpadanamafungsinya

  • (kalaupadaprosedurpada parameter yang dikirimkansecaraacuan).

  • Padacontoh, namafungsitersebutadalahHitungdannilai yang dikirimbalikberadapadanamafungsitersebut.

  • Sehingganamafungsiiniharusdigunakanuntukmenampunghasil yang akandikirimkandarifungsi, sebagaiberikut :

    • Hitung:= A + B;

    • Namafungsi yang berisinilai yang akandikirimkan


Karenanilaibalikberadadinamafungsitersebut, makafungsitersebutdapatlangsungdigunakanuntukdicetakhasilnya, sebagaiberikut :

Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y));

Namafungsi yang langsungdigunakanuntukditampilkanhasilnya.

Ataunilaifungsitersebutdapatjugalangsungdipindahkankepengenalvariabel yang lainnya, sebagaiberikut :

Hasil := Hitung(X,Y);

Writeln(X,’ + ‘,Y, ‘ + ‘,Hasil);

Sedangpadaprosedur, namaprosedurtersebuttidakdapatdigunakanlangsung, yang dapatlangsungdigunakanadalahparameternya yang mengandungnilaibalik


REKURSIF

Suatufungsiatauprosedurdalambahasa Pascal dapatbersifatrekursif. Artinya, fungsiatauprosedurtersebutdapatmemanggildirinyasendiri. Berikutinisebuahcontohfungsidanprosedur yang rekursif.

function faktorial (nilai : integer) : integer; begin

if nilai <= 0 then faktorial := 1;

else faktorial := nilai * faktorial (nilai-1)

end;

Var

N : integer;

Begin

Write(‘Berapafaktorial ? ‘);

Readln(N);

Writeln(N,’ faktorial = ‘,faktorial(N):9:0);

End.

faktorial (4) = 4 * faktorial (3)

3 * faktorial (2)

2 * faktorial (1)


1 * faktorial (0)

1

= 4 * 3 * 2 * 1 * 1

= 24

Bilangan Fibonanci: F (0) = 0

F (1) = 1

F (n) = F ( n-1 ) + F (n-2); untuk n >1

Function fibonacci ( n : integer ) : integer;

Begin

If n = 0 then fibonacci := 0

Else

If n := 1 then fibonacci := 1

Else fibonacci := fibonacci (n-1) + fibonacci (n-2);

End;


Procedure reverse ( num : integer );

Begin

If num < 10 then write(num)

Else begin

Write(num mod 10);

Reverse(num div 10);

End;

End;


  • FungsiStandar

  • Fungsistandararutmatika

    • • FungsistandarABS

    • Bentukumum : ABS(x);

    • Digunakanuntukmemutlakkansuatunilai yang ditunjukkanolehargumen x.

    • Contoh:

    • Begin

    • X:=-2.3;

    • Write(‘Nilai X = ‘,X,’ Nilai mutlaknya = ‘,Abs(X):3:1);

  • End.

  • Fungsi standar EXP Bentuk Umum : EXP(x:):real;

  • Digunakanuntukmenghitungnilaipangkatdaribilangan e yaitusebesar ex. Hasilnyaberupanilai real.


FungsistandarLN Bentukumum : LN(x):real;

Digunakanuntukmenghitungnilailogaritmaalam (natural logarithm) darinilai x. Hasilnyaberupanilai real.

• FungsistandarINT

Bentukumum : INT(x:real):real;

Digunakanuntukmenghasilkannilai integer dari x. hasildarifungsiadalahtipe real dengannilai yang berupapembulatankebawah (nilaipecahandibuang) darinilai x.

Contoh :

Begin

X:=9.99;

Write(‘Nilai yang akandibulatkan = ‘,X);

Writeln(‘Nilaipembulatannya = ‘,Int(X):3:2);

End.

Hasil :

Nilai yang akandibulatkan = 9.99

Nilaipembulatannya = 9.00


FungsistandarFRAC Bentukumum : FRAC(x:):real;

Digunakanuntukmendapatkannilaipecahandariargumen x. Argumen x dapatbernilai real maupun integer danhasildarifungsiadalah real.

Contoh :

Begin

X:=9.99;

Write(‘Nilai X = ‘,X,’ Nilaipecahannya = ‘,Frac(X):4:3);

End.

Hasilnya : Nilai X = 9.99 Nilaipecahannya = 0.990

• FungsistandarSQR

Bentukumum : SQR(x);

Digunakanuntukmenghitungnilaipangkatkuadratdariargumen x.

Contoh :

Begin

X :=2;

Write(‘Nilai X = ‘,X,’ Nilaikuadratnya = ‘,sqr(x));

End.


FungsistandarSQRT Bentukumum : SQRT(x) : real;

Digunakanuntukmenghitungnilaiakardariargumen x, hasilnyaberupa real.

• FungsistandarPI, SIN, COS, ARCTAN

FungsiStandar Transfer Digunakanuntukmerubahsuatunilaikebentuknilai lain.

• FungsistandarCHR

Bentukumum : CHR(x:byte):char;

Digunakanuntukmerubahnilaidari byte x kebentukkarakter yang sesuaidengankode ASCII.

Contoh :

X := 66;

Write(‘Nilai X = ‘,x,’ Nilaikarakternya = ‘,CHR(X));

Hasilnya : Nilai X = 66 Nilaikarakternya = B

• FungsistandarORD

Bentukumum : ORD(x):longint;

Digunakanuntukmerubahnilai x kebentuknilailongint yang sesuaidengankode ASCII, merupakankebalikandarifungsi CHR.


FungsistandarROUND Bentukumum : ROUND(x:real):longint;

Digunakanuntukmembulatkannilaidari real x kenilailongint yang terdekat. Bilanilaipecahansamadenganataulebihbesardari 0.5 akandibulatkankeatas, sedangkalaulebihkecildari 0.5 akandibulatkankebawah.

Contoh :

Write(’10 dibagi 3 hasilpembulatanterdekat ‘,Round(10/3));

Writeln(’20 dibagi 3 hasilpembulatanterdekatadalah ‘,Round(20/3);

Hasilnya :

10 dibagi 3 hasilpembulatanterdekatadalah 3

20 dibagi 3 hasilpembulatanterdekatadalah 7

• FungsistandarTRUNC

Bentukumum : TRUNC(x:real):longint;

Digunakanuntukmembulatkannilaidari real x kenilailongintterkecil. Ataudengankata lain membulatkankebawah.


FungsiStandarLainnyaFungsistandar yang tidaktermasukdalamkelompokpembagiandiatas :

• Fungsi standar Hi, Lo, Swap

• FungsistandarRandom

Bentukumum : Random [(range :word)];

Digunakanuntukmenghasilkanangka random berkisardarinilailebihbesaratausamadengannoldanlebihkecildarisatu. Bila range tidakdisebutkan, hasildarifungsiiniadalah real, bila range disebutkan, hasilnyaadalah word.

• FungsistandarSizeOf

Bentukumum : SizeOf(x):word;

Digunakanuntukmenunjukkanbesarnya byte yang digunakanolehsuatuvariabel x, hasilnyaberupanilai word.

• FungsistandarUPCASE

Bentukumum : UpCase(Ch:char):char;

Digunakanuntukmerubahargumensuatukarakter yang ditunjukkanoleh Ch menjadibentukkarakterhurufbesar (upper case).


ad