Topik 10 Fungsi
-
Upload
i-komang-agustino -
Category
Education
-
view
407 -
download
0
description
Transcript of Topik 10 Fungsi
Topik 10Fungsi
Algoritma & Struktur Data
PS. Manajemen Informatika
Sub Topik
1. Konsep Dasar Fungsi
2. Fungsi Menjadi Prosedur
3. Prosedur Menjadi Fungsi
Tujuan
Tujuan Instruksional Umum :
Mahasiswa diharapkan mampu membuat algoritma dengan fungsi
Tujuan Instruksional Khusus :
Mahasiswa mampu memahami konsep fungsi Mahasiswa mampu membuat algoritma
dengan fungsi Mahasiswa mampu mengubah fungsi menjadi
prosedur Mahasiswa mampu mengubah prosedur
menjadi fungsi
Konsep Fungsi
Fungsi adalah subprogram yang memberikan/mengembalikan sebuah nilai dari tipe tertentu (tipe dasar atau tipe bentukan)
Struktur fungsi sama dengan struktur algoritma biasa Notasi algoritmik fungsi :
FUNCTION NamaFungsi(input deklarasi parameter jika ada) tipe{ Spesifikasi fungsi, menjelaskan apa yang dilakukan dan yang dikembalikan oleh fungsi }
DEKLARASI{ Semua nama yang dipakai didalam fungsi dan hanya berlaku lokal didalam fungsi didefinisikan disini }
DESKRIPSI:{ badan fungsi, berisi instruksi-instruksi untuk menghasilkan nilai yang akan dikembalikan oleh fungsi }
return ekspresi { pengembalian nilai yang dihasilkan fungsi }
type menspesifikasikan tipe nilai yang diberikan oleh fungsi, dapat berupa tipe dasar maupun tipe bentukan
Struktur fungsi sama dengan struktur algoritma biasa return bertujuan untuk mengembalikan nilai yang
dihasilkan oleh fungsi ekspresi dapat berupa konstanta, atau sebuah peubah atau
sebuah rumus Fungsi diakses dengan cara memanggil namanya dari
program pemanggil, diikuti dengan daftar parameter aktual (jika ada)
Pengembalian nilai dapat dilakukan dengan dua cara, yaitu:• Ditampung didalam sebuah peubah yang bertipe sama
dengan tipe fungsipeubah NamaFungsi(parameter aktual, jika
ada)misalnya: y F(5) { y harus bertipe real }
• Langsung dimanipulasimisalnya: write(F(5))
Contoh Soal Kasus 1 :
Buatlah fungsi untuk menghitung luas segitiga dan program utama untuk memanggil fungsi tersebut!
English Structure
Fungsi Luas Segitiga:Input : alas, tinggiOutput : luasProses :
1. Menghitung luas = 0.5* (alas * tinggi)
Program Utama:Input : alas, tinggiOutput : luasProses :
2. Membaca nilai alas yang dimasukkan oleh user3. Membaca nilai tinggi yang dimasukkan oleh user4. Memanggil fungsi untuk menghitung luas segitiga5. Mencetak nilai luas
Pseudocode untuk Prosedur :
FUNCTION LuasSegitiga (input alas, tinggi : real) real
{ Menghitung luas segitiga, luas = (alas x tinggi) / 2
K. Awal : sembarangK. Akhir : luas segitiga tercetak }
DEKLARASI{tidak ada}
DESKRIPSI:return 0.5 * (alas * tinggi)
Pseudocode untuk Program Utama :
ALGORITMA Segitiga{ Menghitung luas segitiga dengan fungsi }
DEKLARASIalas, tinggi, luas : realFUNCTION LuasSegitiga(input alas, tinggi :
real) real{ Menghitung luas segitiga, luas = (alas x
tinggi)/2 }
DESKRIPSI:input(alas, tinggi)luas LuasSegitiga(alas,tinggi)output(luas)
Fungsi Menjadi Prosedur
Fungsi:
FUNCTION Maks(input a, b : integer) integer{ Mengembalikan harga terbesar dari a dan b }
DEKLARASI{ tidak ada }
DESKRIPSI:if a >= b then
return aelse
return bendif
Prosedur:
PROCEDURE TentukanMaks(input a, b : integer, output maks : integer)
{ Menentukan nilai terbesar dari a dan b, dan menyimpannya di maks
K. Awal : a dan b sudah terdefinisi nilainyaK. Akhir : maks berisi nilai terbesar dari a
atau b }
DEKLARASI{ tidak ada }
DESKRIPSI:if a ≥ b then
maks aelse
maks bendif
Prosedur Menjadi Fungsi
Prosedur:
PROCEDURE HitungRataRata(input Ndata : integer, output U : real)
{ Membaca data, menjumlahkannya dan menghitung rata-rata
K. Awal : Ndata sudah berisi banyaknya data : Ndata > 0K. Akhir : U berisi rata-rata seluruh data }
DEKLARASIx, i, jumlah : integer
DESKRIPSI:jumlah 0for i 1 to Ndata do
input(x)jumlah jumlah + x
endforU jumlah / Ndata
Fungsi:
FUNCTION RataRata(input Ndata : integer) real{ Membaca data, menjumlahkannya dan menghitung
rata-rataNdata berisi banyaknya data : Ndata > 0 }
DEKLARASIx, i, jumlah : integer
DESKRIPSI:jumlah 0for i 1 to Ndata do
input(x)jumlah jumlah + x
endforreturn jumlah / Ndata
Rangkuman
Fungsi bersifat mengembalikan nilai ke program pemanggil
Fungsi yang mengembalikan sebuah nilai bertipe sederhana dapat ditulis sebagai prosedur dengan parameter keluaran
Prosedur yang mempunyai sebuah parameter keluaran dapat ditulis sebagai sebuah fungsi
Fungsi sangat tepat digunakan jika nilai fungsi digunakan dalam suatu ekspresi aritmatika
Latihan Soal
Kasus 1:Buatlah algoritma program utama dengan fungsi untuk menghitung luas persegipanjang!
Kasus 2:Buatlah algoritma program utama dengan fungsi untuk menghitung ekspresi aritmatika berikut:
F(x) = 2x2 + 5x – 8, x R
REFERENSI
1. Budi Sutedjo, Michael A.N. 2000. “Algoritma dan Teknik Pemrograman”. Yogyakarta: ANDI OFFSET.
2. Fathul Wahid. 2004. “Dasar-Dasar Algoritma dan Pemrograman”. Yogyakarta: ANDI OFFSET.
3. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 1”. Bandung: Informatika.
4. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 2”. Bandung: Informatika.