Pertemuan 3 Prosedur dan Fungsi

dokumen-dokumen yang mirip
Contoh Prosedur tanpa parameter: uses crt; var i:byte;

Algoritma Pemrograman

Algoritma Pemrograman

PROSEDUR DAN FUNCTION

MATERI 5 Procedure. Pendeklarasian suatu procedure pada program : PROGRAM Judul_Program; PROCEDURE Nama_Prosedur; BEGIN. {Statemen prosedur} END.

Algoritma Pemrograman

Algoritma Pemrograman

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

Algoritma Pemrograman

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Pertemuan 3 Penyeleksian Kondisi

Sesi/Perkuliahan ke: VI Tujuan Instruksional Khusus : 4. Pokok Bahasan : Deskripsi singkat : Referensi :

BAB I TUJUAN DAN LANDASAN TEORI

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

dengan menyebutkan judul prosedurnya. dalam bentuk prosedur-prosedur. diperlukan.

PROCEDURE DAN FUNCTION PROCEDURE. Parameter dalam Prosedur: C/: PROGRAM CONTOH_2; VAR p,l,t,vol,panj : real;

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

PROCEDURE. Bentuk Umum : PROGRAM judul_program ; PROCEDURE judul_prosedur ; Begin Statement prosedur ; End ; Begin Statement program utama ; end.

menunjukkan tipe hasil dari fungsi. sqr, succ dan sebagainya. buat sendiri.

Subprogram. Definisi

Algoritma Pemrograman

Materi ke-4 Praktikum Algoritma dan Pemrograman kelas Matematika PEMROGRAMAN MODULAR

Algoritma Pemrograman

Dasar Komputer & Pemrograman 2A

Algoritma Pemrograman

OPERASI STRING. Delete(var s:string;index:integer;count:integer);

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan 4 Perulangan

PROSEDUR DAN FUNGSI. Altien Jonathan Rindengan, S.Si., M.Kom

ALGORTIMA DAN PEMROGRAMAN

PROCEDURE DAN FUNCTION

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

Algoritma Pemrograman

Algoritma Pemrograman

Catatan Kuliah PAM 282 Pemrograman Komputer II

- KONSEP MODULAR Pengertian Konsep Modular memecah program ke dalam modul-modul. Contoh modul yang sering digunakan adalah : Prosedur & Fungsi

POKOK BAHASAN - 2 PEMROGRAMAN MODULAR

Algoritma Pemrograman

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa

IT132 Dasar-Dasar Pemrograman. Ramos Somya, S.Kom., M.Cs.

Pertemuan 2 Operasi String

Sesi/Perkuliahan ke: VII

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

Teori Algoritma. Struktur Algoritma

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY

Algoritma Pemrograman

Algoritma Pemrograman

Bab 1 Algoritma dan Pemrograman Tersruktur

Procedure. Pertemuan 10 Algoritma Pemrograman

Algoritma Pemrograman

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

IT132 Dasar-Dasar Pemrograman. Ramos Somya

PROCEDURE DAN FUNCTION PADA ALGORITMA

PERTEMUAN - 3 PEMROGRAMAN MODULAR

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-6 - Hal 21

ALGORITMA DAN STRUKTUR DATA 1

Pertemuan 6 Array Objektif: 1. Memahami cara mendeklarasi tipe indeks dalam array 2. Dapat membuat program sederhana menggunakan array Pertemuan 6 53

Algoritma dan Struktur Data

Prosedur dan Fungsi di Turbo Pascal

Algoritma Pemrograman

Algoritma Pemrograman

BAB V S U B R U T I N STMIK AMIKOM PURWOKERTO

Pertemuan 4 Diagram Alur / Flowchart

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

FUNGSI DAN PROCEDURE

Procedure bertujuan untuk membagi-bagi sebuah program menjadi beberapa sub program, sehingga program menjadi lebih sederhana dan efisien.

Pengantar dalam Bahasa Pemrograman Turbo Pascal

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

Modul Algoritma Dan Pemrograman Pascal

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

Algoritma Pemrograman

Bambang Heru S Departemen Teknik Kimia Universitas Indonesia

Modul Algoritma dan Pemograman Rismira Andriyani, S.Kom i

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3

Procedure. Pertemuan 6 Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma 2015

Pengenalan Pascal. Tujuan Pembelajaran

BAB III PENGENALAN STRUKTUR BAHASA PASCAL. Kompetensi Dasar : 1. Mahasiswa mengenal dan memahami struktur bahasa Pascal

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-3 - Hal 1

Algoritma Pemrograman

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Algoritma Pemrograman

Function. Pertemuan 7 Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma 2015

Catatan Kuliah STRUKTUR DATA BAB III REKURSIF

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Algoritma Pemrograman

MATERI 4 PENYELEKSIAN KONDISI

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Pertemuan 2 Operasi String

PROSEDUR (Lanjutan) Parameter. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

CCH1A4 / Dasar Algoritma & Pemrogramanan

STRUKTUR BAHASA PEMROGRAMAN

Algoritma Pemrograman

Dasar Pemrograman TIP FTP UB

Transkripsi:

Pertemuan 3 Prosedur dan Fungsi Objektif: 1. Memahami penggunaan prosedur dan fungsi 2. Mengerti pengiriman parameter dalam prosedur dan fungsi 3. Dapat membuat program sederhana menggunakan prosedur dan fungsi Pertemuan 3 42

P3.1 Teori Prosedur Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Procedure diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. 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. Struktur prosedur terdiri dari 3 bagian yaitu : o Judul o Deklarasi o Deskripsi/Badan Prosedur procedure NAMA_PROSEDUR; { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } { Kondisi awal : keadaan sebelum prosedur dilaksanakan } { Kondisi akhir : keadaan setelah prosedur dilaksanakan } (* DEKLARASI *) { Semua nama yang dipakai prosedur didefinisikan di sini dan hanya berlaku lokal } (* DESKRIPSI *) { badan prosedur, berisi semua langkah atau aksi } Ketika NAMA_PROSEDUR dipanggil, kendali program berpindah secara otomatis ke prosedur tersebut. Instruksi di dalam badan prosedur dilaksanakan. Setelah semua instruksi selesai dilaksanakan, kendali program berpindah secara otomatis ke instruksi sesudah pemanggilan prosedur. Kebanyakan program memerlukan pertukaran informasi antara prosedur (atau fungsi) dan titik dimana ia dipanggil. Penggunaan parameter menawarkan mekanisme penukaran Prosedur dan Fungsi 43

informasi tersebut. Tiap item data ditransfer antara parameter aktual dan parameter formal yang bersesuaian. Parameter aktual adalah parameter yang disertakan ketika pemanggilan, sedangkan paramater formal adalah parameter yang dideklarasikan di bagian header prosedur itu sendiri. Ketika prosedur dipanggil, parameter aktual menggantikan parameter formal. Berdasarkan maksud penggunaannya, terdapat tiga jenis parameter formal yang disertakan di dalam prosedur, yaitu: Prosedur dengan Parameter Masukan / Nilai Parameter masukan adalah parameter yang nilainya berlaku sebagai masukan untuk prosedur. Pada parameter masukan, nilai parameter aktual diisikan ke dalam parameter formal yang bersesuaian. Nilai ini digunakan di dalam badan prosedur yang bersangkutan. Nilai yang dinyatakan oleh parameter masukan tidak dapat dikirim dalam arah sebaliknya. Itulah alasan mengapa parameter jenis ini diacu sebagai parameter masukan. Perubahan nilai parameter di dalam badan prosedur tidak mengubah nilai parameter aktual. Karena yang dipentingkan adalah nilainya, maka nama parameter aktual boleh berbeda dengan nama parameter formal yang bersesuaian. Struktur Prosedur dengan parameter masukan sebagai berikut : procedure NAMA_PROSEDUR(parameter : tipe_param); { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } { Kondisi awal : keadaan sebelum prosedur dilaksanakan } { Kondisi akhir : keadaan setelah prosedur dilaksanakan } (* DEKLARASI *) { Semua nama yang dipakai prosedur didefinisikan di sini dan hanya berlaku lokal } (* DESKRIPSI *) { badan prosedur, berisi semua langkah atau aksi } Prosedur dengan Parameter Acuan Parameter acuan adalah parameter yang berfungsi sebagai masukan sekaligus keluaran bagi prosedur tersebut. Bila prosedur yang mengandung parameter acuan dipanggil, nama parameter aktual di dalam program pemanggil menggantikan nama parameter formal yang bersesuaian di dalam prosedur. Jadi, nama parameter aktual akan digunakan selama pelaksanaan prosedur. Akibat penggunaan parameter masukan/keluaran, bila parameter actual Prosedur dan Fungsi 44

diubah nilainya di dalam badan prosedur, maka sesudah pemanggilan prosedur nilai parameter aktual di titik pemanggilan juga berubah. Ini berbeda dengan parameter masukan, yang dalam hal ini meskipun nilai parameter aktual di dalam badan prosedur diubah, nilai parameter aktual tersebut tidak berubah di titik pemanggilan. Struktur Prosedur dengan parameter masukan sebagai berikut : procedure NAMA_PROSEDUR( parameter : tipe_param); { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } { Kondisi awal : keadaan sebelum prosedur dilaksanakan } { Kondisi akhir : keadaan setelah prosedur dilaksanakan } (* DEKLARASI *) { Semua nama yang dipakai prosedur didefinisikan di sini dan hanya berlaku lokal } (* DESKRIPSI *) { badan prosedur, berisi semua langkah atau aksi } Prosedur memanggil Prosedeur yang lain Di dalam suatu prosedur dapat memanggil prosedur yang lainnya, untuk contoh prosedur yang memanggil prosedur lain dapat dilihat di contoh kasus. Prosedur Tersarang Prosedur tersarang (nested procedure) adalah prosedur yang berada di dalam prosedur yang lainnya. Struktur procedure tersarang sebagai berikut : Program Procedure Procedure Begin End; Begin End; Begin; End; Prosedur Rekursif Di dalam pascal diperkenankan memanggil procedurenya sendiri. istilah ini disebut sebagai recursion. Dalam penggunaanya membutuhkan memory yang besar. Karena pada setiap pemanggilan sejumlah memory tambahan dibutuhkan. Contoh program prosedur rekursif dapat dilihat di contoh kasus. Prosedur dan Fungsi 45

Function Blok fungsi hamper sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukan tipe hasil dari fungsi. Tipe tersebut ditulis pada akhir deklarasi fungsi yang didahului dengan titik koma, sebagai berikut : Function identifier( daftar-parameter): type; Contoh : Function factorial ( fak,hasil: integer) : integer; Function dengan parameter nilai 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; 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( a,b : integer) : integer; 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. Function Rekursi Rekursi adalah dimana suatu function memanggil dirinya sendiri. Proses dapat dilihat pada contoh berikut. Dimana fungsi faktor dipanggil oleh dirinya sendiri. Prosedur dan Fungsi 46

P3.2 Contoh Kasus Penggunaan Prosedur Program garis Procedure garis ; Begin Writeln( ------- ); End; Begin; garis; Writeln( pascal ); garis; End; Penggunaan Prosedur dengan parameter masukan / nilai Program pengiriman_parameter_secara_nilai; procedure kali(a,b : integer); hasil : integer hasil :=a*b; writeln('hasil =',hasil:6); bil1,bil2 : integer; write('bilangan 1 =');readln(bil1); write('bilangan 2 =');readln(bil2); kali(bil1,bil2); Penggunaan Prosedur dengan parameter acuan program pengiriman_parameter_secara acuan; procedure kali( a,b,c : integer); c:=a*b; x,y,z : integer; write('nilai x=');readln(x); write('nilai y=');readln(y); kali(x,y,z); {mengirimkan parameter secara acuan} writeln('nilai z =',z:5); Prosedur memanggil prosedur yang lain Prosedur dan Fungsi 47

program procedure_memanggil_procedure_yang_lain; procedure satu(a1: integer); writeln(' nilai a =',a1:2,' ada diprocedure satu'); procedure dua(a2: integer); writeln(' nilai a =',a2:2,' ada diprocedure dua'); satu(a2); procedure tiga(a3: integer); writeln(' nilai a =',a3:2,' ada diprocedure tiga'); dua(a3); procedure empat(a4: integer); writeln(' nilai a =',a4:2,' ada diprocedure empat'); tiga(a4) {modul Utama} a : integer; clrscr; write('nilai a=');readln(a); empat(a); Prosedur dan Fungsi 48

Prosedur tersarang program contoh_procedure_tersarang; procedure satu; {deklarasi procedure satu} procedure dua; {awal procedure dua} writeln('procedure dua ada di procedure satu'); {akhir procedure dua} procedure tiga; {awal procedure tiga} writeln('procedure tiga ada di procedure satu'); {akhir procedure tiga} {awal procedure satu} writeln(' procedure satu'); dua; {memanggil procedure dua} tiga; {memanggil procedure tiga} {akhir procedure satu} {modul utama} clrscr; writeln(' modul utama'); satu; {memanggil procedure satu} Prosedur rekursif program procedure_memanggil_dirinya_sendiri; I : integer; procedure rekursi; writeln('pemangilan procedure ke-',i:5); i:=i+1; if i < 5 then rekursi; {modul utama} clrscr; i:=1; rekursi; Prosedur dan Fungsi 49

Function dengan parameter nilai program penggunaan_parameter_nilai; function besar(a,b :real) : real; if a>b then besar:=a else besar:=b; {modul utama} nil1,nil2 : real; write('bilangan 1=');readln(nil1); write('bilangan 2=');readln(nil2); writeln('bilangan terbesar =',besar(nil1,nil2):6:2); Function dengan parameter acuan program pengiriman_parameter_secara_acuan; function kali( bil1,bil2,jumlah : integer) : integer; kali:=bil1*bil2; jumlah:=bil1+bil2; x,y,z : integer; 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); Prosedur dan Fungsi 50

Function tanpa parameter function garis : string; garis:='----------'; {modul utama} writeln(garis); writeln('pascal'); writeln(garis); Function Rekursif program function_memanggil_funnction_yg_lain; function faktor(bilangan : integer) : real; if bilangan=0 then faktor:=1 else faktor:=faktor(bilangan-1)*bilangan; n : integer; write('berapa faktorial =');readln(n); writeln(n:5,' faktorial =',faktor(n):9:0); Prosedur dan Fungsi 51

P3.3 Latihan Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai. 1. Prosedur dan Fungsi merupakan pemrograman modular. Apakah perbedaan antara keduanya? Kapankah suatu fungsi dibuat dan digunakan? 2. Buatlah algoritma untuk membuat bentuk belah ketupat dari deretan angka berdasarkan batas nilai yang dimasukkan melalui piranti masukan dengan menggunakan Prosedur! Contoh: Masukkan batas nilai: 4 Hasil belah ketupat deretan angka: 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1 P3.4 Daftar Pustaka 1. Ifada N, Diktat Mata Kuliah Algoritma Pemrograman, Bangkalan: Jurusan Teknik Informatika Universitas Trunojoyo, 2005. 2. Munir R, Algoritma dan Pemrograman dengan Pascal dan C edisi Kedua, Bandung: Informatika, 2003. 3. Jogiyanto H, Turbo Pascal, Yogyakarta Andi, 2006. Prosedur dan Fungsi 52