1 / 21

Algoritma dan Struktur Data

Algoritma dan Struktur Data. SubAlgoritma (Prosedur & Fungsi). SubAlgoritma/SubProgram. Masalah: program menjadi besar dan kompleks untuk melakukan pengecekan kesalahan menjadi sangat rumit. Program besar dipecah-pecah menjadi prosedur-prosedur dan fungsi-fungsi .

latif
Download Presentation

Algoritma dan Struktur Data

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritma dan Struktur Data SubAlgoritma (Prosedur & Fungsi)

  2. SubAlgoritma/SubProgram • Masalah: program menjadi besar dan kompleks untuk melakukan pengecekan kesalahan menjadi sangat rumit. • Program besar dipecah-pecah menjadi prosedur-prosedur dan fungsi-fungsi . • Memudahkan dalam pengecekan kesalahan dan juga program menjadi lebih mudah dimengerti dan menghindari penulisan kode program yang berulang-ulang.

  3. SubProgram • Subroutinesinonim dgn "subprogram." Istilah ini ada krn terminologi di Fortan dan bhs assembly. • Function dan Procedure juga sinonim dgn "subprogram“. • Predicate  fungsi dgn nilai balik boolean (misal sukses atau gagal) • Method atau Member function subprogram yg digunakan dlm object-oriented programming (OOP) yg menggambarkan aksi dari suatu objek • Event handler  atau handler, subprogram yg dipanggil saat ada “event”, misal prosedur yg dijalankan ketika ada event mouse click

  4. Prosedur (Procedure) • Subprogram yang dapat dipanggil di dalam program (atau subprogram lain). • Tidak menghasilkan nilai balik. • Deklarasi prosedur: procedurenama_procedure(); begin {proses} end; • Contoh: procedure Hello(); begin WriteLn(‘Hello World'); end;

  5. Memanggil Prosedur • Contoh pemanggilan procedure begin Hello(); end.

  6. Fungsi (Function) • Subprogram yang menghasilkan nilai balik (seperti fungsi matematis) • Deklarasi prosedur: functionnama_function(): [tipedata_nilai_balik]; begin {proses} end; • Contoh function pi(): double; begin pi := 3.14; end;

  7. Memanggil fungsi • Contoh pemanggilan fungsi var nilai: real; begin nilai := pi(); WriteLn(nilai); end.

  8. Parameter • adalah argumen berupa nilai yg diberikan ke dalam suatu prosedur/fungsi • Prosedur bisa mempunyai parameter: • Value parameter (parameter passing by value) • memasukkan nilai ke dalam parameter • nilai yg dimasukkan hanya bisa berubah di dalam prosedur • Variable parameter (parameter passing by reference) • Memasukkan nilai ke dalam parameter • nilai yg dimasukkan berubah di dalam dan luar prosedur

  9. Prosedur dgn Value parameter • Deklarasi prosedur: • Diawali reserved word procedurekemudian nama prosedur • Deklarasi parameter diapit/didalam "(" dan ")" setelah nama prosedur • Deklarasi sintaks: procedure nama_procedure([nama_param]:[tipe_data] [;dst]);

  10. Contoh Value Parameter pada Prosedur • Contoh deklarasi: procedure WriteValue(text:string; nilai: int); begin WriteLn(text,'=',nilai); end; • Pemanggilan prosedur dgn value parameter: [nama_proc]([nilai/variable],[dst]); Misal: WriteValue('Isi nilai=',i);

  11. Fungsi dgn Value parameter • Deklarasi fungsi: • Diawali reserved word function kemudian nama fungsi • Deklarasi parameter diapit "(" dan ")" setelah nama fungsi • Antar parameter dipisah tanda titik koma ";" • Deklarasi sintaks: • Di Pascal functionnama_procedure( [nama_param]:[tipe_data] [;dst]): [tipe_data]; begin {proses} [nama_procedure] := [nilai_balik]; end;

  12. Fungsi dgn Value parameter • Deklarasi sintaks: • Di Delphi functionnama_procedure( [nama_param]:[tipe_data] [;dst]): [tipe_data]; begin {proses} result := [nilai_balik]; end;

  13. Contoh Value Parameter pada Fungsi • Contoh deklarasi: function NilaiInteger(nilai: integer): integer; begin NilaiInteger:=nilai; //di Delphi result:=nilai end; • Pemanggilan function dgn value parameter: NilaiInteger(i); • Untuk mengisi nilai balik fungsi ke suatu variable: var a:integer; begin a = NilaiInteger(i); end;

  14. Reference Parameter • Deklarasi prosedur/fungsi: • Hampir sama dengan value parameter, tapi sebelum nama parameter ditambahi keyword var • Bila memerlukan output seperti nilai balik lebih dari 2. • Deklarasi sintaks: functionnama_procedure(var [nama_param]:[tipe_data] [;dst]): [tipe_data]; begin {proses} end; • Pemanggilan procedure dgn value parameter [nama_proc]([variable],[dst]);

  15. Contoh Prosedur dgn Ref Parameter • Contoh deklarasi prosedur procedure WriteValue(text:string; varnilai:integer) begin nilai := 10; WriteLn(text, '=',nilai); end; • Pemanggilan prosedur dgn ref parameter Misal: WriteValue('Isi nilai=',i); • nilai i = ??

  16. Contoh Fungsi dgn Ref Parameter • Contoh deklarasi fungsi function NilaiInteger(var nilai:integer):integer; begin nilai := nilai*3; NilaiInteger := nilai; end; • Pemanggilan function dgn reference parameter NilaiInteger(i); //tanpa assignment • Untuk mengisi (assign) nilai balik fungsi ke suatu variable a = NilaiInteger(i); nilai i = ??

  17. Prosedur/Fungsi Overloading • Prosedur/Fungsi overloading  prosedur/fungsi dengan nama yang sama tetapi dengan tipe data fungsidan/atau parameter yang berbeda • Diakhir deklarasi prosedur/fungsi ditambahkan identifier overload;

  18. Contoh Prosedur/Fungsi Overloading • Contoh: function Convert (nilai:string; kali : integer ): integer; overload; var nilaiInt,errorCode:integer; begin Val(nilai,nilaiInt,errorCode); //di Delphi StrToInt Convert := nilaiInt * kali; end; function Convert (nilai: string):float; overload; var nilaiFloat:real; errorCode:integer; begin Val(nilai,nilaiFloat,errorCode); //di Delphi StrToFloat Convert := nilaiFloat; end;

  19. Prosedur/Fungsi Rekursif • Prosedur/Fungsi rekursif prosedur/fungsi yang memanggil dirinya sendiri terus menerus di dalam badan prosedur/fungsi tsb. • Pemanggilan akan berhenti saat suatu kondisi berhenti (tidak memanggil dirinya) ditentukan.

  20. Contoh Prosedur/Fungsi Rekursif • Contoh f(n)=n! dimana n! = n *(n – 1)! Misal n = 2, maka: f(2) = 2! = 2 * (2-1)! = 2 * 1! = 2 * f(1) f(1) = 1! = 1 * (1-0)! = 1 * 0! = 1 * f(0) f(0) = 0! = 1 function Factorial(lNum:integer): LongInt; begin if (lNum < 2) then //contoh kondisi berhenti Factorial := 1 else //pemanggilan fungsi diri Factorial := lNum * Factorial(lNum - 1); end;

More Related