Top Banner
Topik 10 Fungsi Algoritma & Struktur Data PS. Manajemen Informatika
15

Topik 10 Fungsi

Jun 30, 2015

Download

Education

Algoritma dan Struktur Data
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Topik 10 Fungsi

Topik 10Fungsi

Algoritma & Struktur Data

PS. Manajemen Informatika

Page 2: Topik 10 Fungsi

Sub Topik

1. Konsep Dasar Fungsi

2. Fungsi Menjadi Prosedur

3. Prosedur Menjadi Fungsi

Page 3: Topik 10 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

Page 4: Topik 10 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 }

Page 5: Topik 10 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))

Page 6: Topik 10 Fungsi

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

Page 7: Topik 10 Fungsi

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)

Page 8: Topik 10 Fungsi

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)

Page 9: Topik 10 Fungsi

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

Page 10: Topik 10 Fungsi

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

Page 11: Topik 10 Fungsi

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

Page 12: Topik 10 Fungsi

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

Page 13: Topik 10 Fungsi

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

Page 14: Topik 10 Fungsi

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

Page 15: Topik 10 Fungsi

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.