Algoritma Pemrograman

dokumen-dokumen yang mirip
Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi.

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

Algoritma dan Struktur Data

Algoritma Pemrograman

Algoritma Pemrograman

ALGORTIMA DAN PEMROGRAMAN

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

BAB I TUJUAN DAN LANDASAN TEORI

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

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

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

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

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

STRUKTUR DASAR ALGORITMA

Struktur Pengulangan

Algoritma Pemrograman

ALGORITMA DAN STRUKTUR DATA 1

Algoritma Pemrograman

PERSEGI ANGKA-HURUF VERTIKAL

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

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

STRUKTUR DASAR ALGORITMA

Algoritma Pemrograman

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

Prosedur dan Fungsi. Kenapa Prosedur atau Fungsi?

STRUKTUR DASAR ALGORITMA

Algoritma Pemrograman

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

Procedure. Brigida Arie Minartiningtyas, M.Kom

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

Algoritma & Pemrograman

Bab 1 Algoritma dan Pemrograman Tersruktur

algoritma & pemrograman

Pertemuan 3 Prosedur dan Fungsi

Algoritma & Pemrograman Lanjut FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

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

Algoritma Pemrograman

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Procedure. Pertemuan 10 Algoritma Pemrograman

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

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

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

Konstruksi Dasar Algoritma

Algoritma Brute Force

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

Algoritma Pemrograman

FUNGSI DAN PROCEDURE

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

PERTEMUAN - 3 PEMROGRAMAN MODULAR

Algoritma dan Struktur Data

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

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

MODUL IV PENCARIAN DAN PENGURUTAN

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

CCH1A4 / Dasar Algoritma & Pemrogramanan

Algoritma Pemrograman

2 ATURAN PENULISAN TEKS ALGORITMA

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

POKOK BAHASAN - 2 PEMROGRAMAN MODULAR

Algoritma Brute Force

Algoritma Pendukung Kriptografi

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Pertemuan 3 Penyeleksian Kondisi

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

ALGORITMA PERULANGAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

ARRAY (LARIK) Altien Jonathan Rindengan, S.Si., M.Kom.

ALGORITMA & FLOWCHART

Algoritma Pemrograman

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

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

Algoritma Pemrograman

Algoritma Pemrograman

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

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

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Teori Algoritma. Struktur Algoritma

Kompleksitas Algoritma

Praktikum Modul Praktikum ke Judul Materi Tujuan / Sasaran Waktu (lama) Aplikasi yang digunakan

Kompleksitas Algoritma

Transkripsi:

Algoritma Pemrograman Pertemuan Ke-10 (Fungsi) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1

Sub Pokok Bahasan Pendahuluan Pendefinisian Fungsi Pemanggilan Fungsi Penggunaan Prosedur atau Fungsi? S1 Teknik Informatika-Unijoyo 2

Pendahuluan Seperti halnya prosedur, fungsi juga merupakan modul program yang mempunyai tujuan spesifik Fungsi adalah modul program yang memberikan/mengembalikan (return) sebuah nilai dan tipe tertentu (tipe dasar atau tipe bentukan) S1 Teknik Informatika-Unijoyo 3

Pendefinisian Fungsi Sebagaimana halnya dengan prosedur, fungsi diakses dengan memanggil namanya. Selain itu, fungsi juga dapat mengandung daftar parameter formal Parameter pada fungsi selalu merupakan parameter masukan. Jenis parameter masukan pada fungsi disebabkan oleh kenyataan bahwa parameter pada fungsi merupakan masukan yang digunakan oleh fungsi tersebut untuk menghasilkan nilai Struktur fungsi sama dengan struktur algoritma yang sudah dikenal sebelumnya: ada bagian header yang berisi nama fungsi dan spesifikasi fungsi bagian Deklarasi badan fungsi S1 Teknik Informatika-Unijoyo 4

Notasi algoritma untuk mendefinisikan fungsi function NamaFungsi(input daftar parameter formal) tipe hasil { Spesifikasi fungsi, menjelaskan apa yang dilakukan dan yang dikembalikan oleh fungsi. } DEKLARASI { semua nama yang dipakai dalam algoritma fungsi dideklarasikan di sini. Nama yang didefinisikan di dalam Deklarasi lokal hanya dikenal dan dipakai di dalam fungsi ini saja } DESKRIPSI: { badan fungsi, berisi kumpulan instruksi untuk menghasilkan nilai yang akan dikembalikan oleh fungsi } return hasil { pengembalian nilai yang dihasilkan fungsi } S1 Teknik Informatika-Unijoyo 5

Perihal fungsi Tipe hasil menspesifikasikan tipe nilai yang diberikan oleh fungsi. Nilai yang diberikan oleh fungsi dapat bertipe dasar maupun bertipe bentukan. Sebagaimana halnya pada prosedur, parameter fungsi pada fungsi tidak selalu harus ada Semua nama peubah/konstanta yang hanya berlaku di dalam fungsi saja dideklarasikan di dalam bagian Deklarasi (lokal). Nama yang didefinisikan di dalam bagian Deklarasi fungsi hanya dikenal dan berlaku di dalam fungsi yang bersangkutan saja, fungsi lain atau program utama tidak dapat menggunakannya S1 Teknik Informatika-Unijoyo 6

Pemanggilan Fungsi Fungsi diakses dengan cara memanggil namanya dari program pemanggil, diikuti dengan daftar parameter aktual (bila ada) Karena fungsi menghasilkan nilai, maka nilai tersebut dapat ditampung dalam sebuah peubah yang bertipe sama dengan tipe fungsi atau nilai yang dikembalikan oleh fungsi dapat langsung dimanipulasi. Parameter aktual dapat berupa konstanta, nama konstanta, atau nama peubah S1 Teknik Informatika-Unijoyo 7

Contoh 1: Fungsi untuk menghasilkan nilai F(x)= x 2 +2x 3, xєr function F(input x:real) real { Mengembalikan nilai F(x) = x 2 + 2x 3, x Є R } DEKLARASI { tidak ada } DESKRIPSI: return x*x + 2*x 3 Keterangan : F adalah nama fungsi, tipenya real x adalah parameter (by value) formal Di dalam badan fungsi, nilai yang dihasilkan oleh fungsi dikembalikan (return) ke titik pemanggilan: return x*x + 2*x 3 S1 Teknik Informatika-Unijoyo 8

Contoh 2: Pemanggilan Fungsi F(x)= x 2 +2x 3, xєr Fungsi dapat dipanggil dari program utama atau dari modul program lain. Di dalam DEKLARASI program pemanggil harus dideklarasikan prototip atau header fungsi yang digunakan. Pendeklarasian prototip fungsi di dalam DEKLARASI diperlukan agar fungsi tersebut dikenal oleh program pemanggil serta cara fungsi dipanggil Fungsi dari Contoh 1 dapat dipanggil untuk menampilkan tabel nilai- nilai x dan F(x) di dalam selang [10,15] dengan x x = 0.5 seperti contoh berikut: S1 Teknik Informatika-Unijoyo 9

Algoritma CONTOH_PEMANGGILAN_FUNGSI { Program utama untuk pemanggilan fungsi F } DEKLARASI x : real function F(input x:real) real { Mengembalikan nilai F(x) = x2 + 2x 3, x Є R } return x*x + 2*x - 3 DESKRIPSI: write( ------------------- ) write( x F(x) ) write( ------------------- ) x 10.0 while x 15.0 do write(x,,f(x)) x x + 0.5 endwhile write( ------------------- ) Program CONTOH_PEMANGGILAN_FUNGSI; var x : real; function F(x : real) : real; F := x*x + 2*x - 3 end; writeln( ------------------- ); writeln( x F(x) ); writeln( ------------------- ); x := 10.0; while x <= 15.0 do writeln(x:6:2,,f(x) :6:2); x := x + 0.5; end; writeln( ------------------- ); end. S1 Teknik Informatika-Unijoyo 10

Penggunaan Prosedur atau Fungsi? Fungsi lebih tepat digunakan apabila modul program mengembalikan sebuah nilai, sementara prosedur digunakan bila modul menghasilkan efek netto dari (satu atau) sekumpulan aksi. Namun dalam praktek, seringkali perbedaan antara keduanya tidak jelas, karena sebuah prosedur dapat juga ditulis sebagai fungsi, demikian pula sebaliknya. Pemilihan apakah sebuah modul direalisasikan sebagai fungsi atau prosedur bergantung pada kebutuhan dan seni memprogram Fungsi dapat dikonversikan sebagai prosedur dengan menyatakan nilai yang dikembalikan oleh fungsi tersebut sebagai parameter keluaran prosedur. Demikian juga, prosedur yang mempunyai satu buah parameter keluaran dapat ditulis sebagai fungsi dengan menyatakan parameter keluaran sebagai nilai yang dikembalikan oleh fungsi S1 Teknik Informatika-Unijoyo 11

(a) Mengubah fungsi menjadi prosedur Contoh: fungsi Maks dan program utama untuk menentukan bilangan terbesar di antara dua buah bilangan Algoritma MENENTUKAN_MAKSIMUM { Program utama yang memanggil fungsi MAKS untuk menentukan nilai maksimum dari dua buah bilangan buat a dan b. } DEKLARASI (* Program Utama *) a, b : integer function Maks(input a,b : integer) integer { Mengembalikan harga terbesar dari a dan b } DEKLARASI (* Fungsi *) { tidak ada } DESKRIPSI : (* Fungsi *) if a b then return a else return b endif DESKRIPSI : (* Program Utama *) read(a,b) write(maks(a,b)) S1 Teknik Informatika-Unijoyo 12

Program CONTOH_PEMANGGILAN_FUNGSI; var a : integer; b : integer; function Maks(a, b : integer) : integer; if a >= b then Maks := a else Maks := b; end; write( Masukkan nilai a? ); readln(a); write( Masukkan nilai b? ); readln(b); writeln( Nilai yang terbesar adalah :,Maks(a,b)); end. S1 Teknik Informatika-Unijoyo 13

Algoritma MENENTUKAN_MAKSIMUM { Program utama yang memanggil prosedur TentukanMaks untuk menentukan nilai maksimum dua buah bilangan bulat a dan b } DEKLARASI (* Program Utama *) a, b, m : integer Di samping sebagai fungsi, fungsi Maks juga dapat dituliskan sebagai prosedur TentukanMaks dan program utama procedure TentukanMaks(input a,b : integer, output maks : integer) { Menentukan nilai terbesar dari a dan b } { K.awal: a dan b sudah terdefinisi nilai } { K.akhir: maks berisi nilai terbesar dari a atau b } DEKLARASI (* Prosedur *) { tidak ada } DESKRIPSI : (* Prosedur *) if a b then maks a else maks b endif DESKRIPSI : (* Program Utama *) read(a,b) TentukanMaks(a,b,m) write(m) S1 Teknik Informatika-Unijoyo 14

Program CONTOH_PEMANGGILAN_FUNGSI; var a : integer; b : integer; m : integer; procedure Tentukan_Maks(a,b:integer; var maks:integer); if a >= b then Maks := a else Maks := b; end; write( Masukkan nilai a? ); readln(a); write( Masukkan nilai b? ); readln(b); Tentukan_Maks(a,b,m); writeln( Nilai yang terbesar adalah :,m); end. S1 Teknik Informatika-Unijoyo 15

(b) Mengubah prosedur menjadi fungsi Contoh: prosedur HitungRataRata dan program utama untuk menghitung nilai rata-rata dari sejumlah data bilangan bulat Algoritma MENGHITUNG_RATA_RATA { Program utama untuk menghitung nilai rata-rata N buah bilangan bulat yang dibaca dari piranti masukan} DEKLARASI (* Program Utama *) Ndata : integer rerata : real procedure HitungRataRata(input N : integer, output rata : real) { Menghitung nilai rata-rata N buah bilangan bulat } { K.awal: N berisi banyaknya bilangan bulat, N > 0 } { K.awal: rata berisi rata-rata seluruh bilangan } DEKLARASI (* Prosedur *) x : integer { data bilangan bulat yang dibaca dari piranti masukan } k : integer { pencacah banyak bilangan } jumlah : integer { jumlah seluruh bilangan } DESKRIPSI : (* Prosedur *) jumlah 0 { inisialisasi penjumlah } for k 1 to N do read(x) jumlah jumlah + x endfor rata jumlah/n { rata-rata seluruh bilangan } DESKRIPSI : (* Program Utama *) read(ndata) HitungRataRata(Ndata,rerata) write(rerata) S1 Teknik Informatika-Unijoyo 16

Program MENGHITUNG_RATA_RATA; var Ndata : integer; rerata : real; procedure HitungRataRata(N : integer; var rata : real); var x, k, jumlah : integer; jumlah := 0; for k := 1 to N do write( Nilai x? ); readln(x); jumlah := jumlah + x; end; rata := jumlah/n; end; writeln( Menghitung rata-rata N buah bilangan bulat ); write( Masukkan banyaknya data? ); readln(ndata); HitungRataRata(Ndata,rerata); writeln( Nilai rata-rata =,rerata) end. S1 Teknik Informatika-Unijoyo 17

Algoritma MENGHITUNG_RATA_RATA { Program utama untuk menghitung nilai rata-rata N buah bilangan bulat yang dibaca dari piranti masukan } DEKLARASI (* Program Utama *) Ndata : integer rerata : real Prosedur HitungRataRata memiliki satu parameter keluaran, karena itu ia dapat diubah menjadi fungsi. Apabila ditulis sebagai fungsi, maka parameter keluaran rata tidak diperlukan lagi, karena nilai rata merupakan nilai yang dihasilkan (return value) oleh fungsi function RataRata(input N : integer) real { Menghitung nilai rata-rata N buah bilangan bulat yang dibaca dari piranti masukan. Rata-rata bilangan merupakan nilai yang dikembalikan oleh fungsi } DEKLARASI (* Fungsi *) x : integer {data bilangan bulat} k : integer {pencacah banyak bilangan} jumlah : integer {jumlah seluruh bilangan} DESKRIPSI : (* Fungsi *) jumlah 0 { inisialisasi penjumlah } for k 1 to N do read(x) jumlah jumlah + x endfor return jumlah/n {rata-rata seluruh bilangan} DESKRIPSI : (* Program Utama *) read(ndata) write(ratarata(ndata)) S1 Teknik Informatika-Unijoyo 18

Program CONTOH_PEMANGGILAN_FUNGSI; var Ndata : integer; rerata : real; function RataRata(N : integer) : real; var x, k, jumlah : integer; jumlah := 0; for k := 1 to N do write( Nilai x? ); readln(x); jumlah := jumlah + x; end; RataRata := jumlah/n; end; writeln( Menghitung rata-rata N buah bilangan bulat ); write( Masukkan banyaknya data? ); readln(ndata); writeln( Nilai rata-rata =,RataRata(Ndata)) end. S1 Teknik Informatika-Unijoyo 19