08 pd method fungsi

13
Pemrograman modular Library functions vs user-defined functions Lingkup identifier 1 Fungsi / Method

Transcript of 08 pd method fungsi

Page 1: 08 pd method fungsi

Pemrograman modular Library functions vs user-defined functions Lingkup identifier

1

Fungsi / Method

Page 2: 08 pd method fungsi

Program dibagi menjadi modul-modul Modul dalam bahasa pemrograman diimplementasikan

dengan Fungsi atau Method Fungsi dibentuk dengan mengelompokkan sejumlah

perintah untuk menyelesaikan tugas tertentu. Modul diperlukan jika kelompok perintah tersebut kerap

kali digunakan di tempat lain dalam program Modul sering disebut juga dengan Sub-Program

2

Pemrograman Modular

Page 3: 08 pd method fungsi

3

Pemrograman Modular

Keuntungan: Rancangan top-down dengan teknik sub-goal:

Masalah besar/kompleks dapat dijadikan masalah-masalah lebih kecil/sederhana

Program besar/kompleks dapat dibagi menjadi modul-modul yang lebih kecil/sederhana.

Dapat dikerjakan oleh lebih dari satu orang dengan koordinasi yang relatif mudah

Mencari kesalahan relatif lebih mudah karena alur logika lebih jelas; kesalahan juga dapat dilokalisasi dalam satu modul.

Modifikasi dapat dilakukan tanpa menggangu program secara keseluruhan

Mempermudah dokumentasi

Page 4: 08 pd method fungsi

Bahasa pemrograman melengkapi fasilitas modular dengan menggunakan fungsi pada setiap subprogram.

Contoh pembagian program menjadi beberapa subprogram.

4

Program Utama

SubProgram SubProgram SubProgram

SubProgram SubProgram

Pemrograman Modular

Page 5: 08 pd method fungsi

Fungsi dalam Java: Library functions

fungsi-fungsi standar yang sudah disediakan oleh library println() dan nextInt() sqrt(), sin() dan cos()

User-defined functions fungsi-fungsi yang didefinisikan sendiri oleh pemrogram

5

Library vs User-defined Functions

Page 6: 08 pd method fungsi

Format

return-value-type function-name( parameter-list ){

statements;}

return-value-type: tipe data yang dikembalikan oleh fungsi Jika return-value-type diganti void maka fungsi tidak

mengembalikan nilai parameter-list: daftar nilai yang dikirimkan dari fungsi pemanggil

sebagai parameter fungsi yang dipanggil ini

6

Konstruksi Fungsi

Page 7: 08 pd method fungsi

Contoh :

7

Int maksimum (int x, int y) mulai int maks = x if (y > maks) maks = y return maks selesaitutup

Int maksimum (int x, int y) mulai int maks = x if (y > maks) maks = y return maks selesaitutup

main mulai int a,b,max; masukkan bilangan pertama (a)

masukkan bilangan kedua (b)max = maksimum(a,b)cetak “Bilangan yg lebih besar : “ max

selesaitutup

main mulai int a,b,max; masukkan bilangan pertama (a)

masukkan bilangan kedua (b)max = maksimum(a,b)cetak “Bilangan yg lebih besar : “ max

selesaitutup

Fungsi

Pemanggil

Actual parameter

formal parameter

Konstruksi Fungsi

Page 8: 08 pd method fungsi

Lingkup identifier meliputi bagian-bagian program dimana sebuah identifier masih bisa diakses.

Lingkup identifier meliputi : Local Global

Local identifier Dideklarasikan di dalam fungsi, termasuk daftar

parameter. Lingkupnya terbatas pada fungsi tempat dideklarasikan.

8

Lingkup Identifier (scope)

Page 9: 08 pd method fungsi

Global identifier Dideklarasikan di luar fungsi

Ruang lingkupnya meliputi seluruh program

Dapat diakses dari fungsi-fungsi dalam program

Disarankan tidak banyak menggunakan identifier global karena:

Jika program semakin besar, kecenderungan error semakin besar .

Sulit melacak bila terjadi kesalahan. Data tidak terjaga dengan baik, setiap fungsi dapat mengubah

nilai variabel tanpa sepengetahuan fungsi lainnya.

9

Lingkup Identifier

Page 10: 08 pd method fungsi

Lingkup Identifier

Contoh :

10

int x; fungsi1(){

- -

}

int y; fungsi2(){

int z;-

}main(){ int z, y; -}

lingkup dari variabel x

lingkup dari variabel y

z dan y hanya dikenal oleh main()z di main() berbeda dgn yang di fungsi2()y di main() berbeda dgn yang di fungsi2()

Page 11: 08 pd method fungsi

Latihan Buatlah algoritma untuk mencari nilai minimum dari 3

buah bilangan yang diinputkan oleh user (buat fungsi minimum)

Buatlah algoritma untuk menentukan suatu nilai yang diinputkan user ganjil atau genap (buat fungsi cekganjilgenap)

Buatlah algoritma untuk menghitung nilai faktorial dari suatu bilangan yang diinputkan oleh user (buat fungsi faktorial)

11

Page 12: 08 pd method fungsi

Latihan Buatlah algoritma untuk menghitung luas segitiga dari alas

dan tinggi yang bertipe integer dan diinputkan oleh user (buat fungsi LuasSegitiga)

Buatlah algoritma untuk menghitung volume kerucut dari diameter bertipe double yang diinputkan oleh user (buat fungsi VolumeKerucut)

Buatlah algoritma untuk menentukan Mahasiswa lulus atau tidak berdasarkan beberapa nilai yang diinputkan oleh user. Nilai tersebut adalah : Nilai Tugas, Nilai Quiz, Nilai UTS, dan Nilai UAS. Prosentase perhitungan Nilai Akhir adalah 20%*Tugas + 10%*Quiz, 30%*UTS, dan 40%*UAS. Jika Nilai Akhir melebihi 70 maka Mahasiswa Lulus, dan jika tidak maka Mahasiswa Gagal (buat fungsi KelulusanMahasiswa)

12

Page 13: 08 pd method fungsi

Latihan Buatlah algoritma untuk menghitung volume tabung

atau kerucut dari diameter dan tinggi yang diinputkan oleh user. Jika diameter alas bernilai ganjil, maka volume dihitung berdasarkan volume tabung, namun jika diameter alas genap, maka volume dihitung berdasarkan volume kerucut (buat fungsi pengecekan bilangan ganjil atau genap, fungsi menghitung volume tabung dan fungsi menghitung volume kerucut)

13