Topik 10 Fungsi

Post on 30-Jun-2015

404 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Algoritma dan Struktur Data

Transcript

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.

top related