Dokumen tersebut membahas tentang pemrograman modular yang menerapkan konsep fungsi dan lingkup identifier. Program dibagi menjadi modul-modul kecil yang diimplementasikan dengan fungsi untuk menyelesaikan tugas tertentu. Fungsi dapat berupa fungsi library maupun fungsi yang didefinisikan pengguna. Lingkup identifier mencakup lingkup lokal dan global.
2. Pemrograman Modular
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
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
3
4. Pemrograman Modular
Bahasa pemrograman melengkapi fasilitas modular
dengan menggunakan fungsi pada setiap subprogram.
Contoh pembagian program menjadi beberapa
subprogram.
Program Utama
SubProgram SubProgram
SubProgram
SubProgram
SubProgram
4
5. Library vs User-defined
Functions
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
7. Konstruksi Fungsi
Contoh :
formal parameter
Int maksimum (int x, int y)
Int maksimum (int x, int y)
mulai
mulai
int maks = x
int maks = x
if (y > maks) maks = y
if (y > maks) maks = y
return maks
return maks
selesai
selesai
tutup
tutup
main
main
mulai
mulai
int a,b,max;
int a,b,max;
masukkan bilangan pertama (a)
masukkan bilangan pertama (a)
masukkan bilangan kedua (b)
masukkan bilangan kedua (b)
max = maksimum(a,b)
max = maksimum(a,b)
cetak “Bilangan yg lebih besar : “ max
cetak “Bilangan yg lebih besar : “ max
selesai
selesai
tutup
tutup
Fungsi
Pemanggil
Actual parameter
7
8. Lingkup Identifier (scope)
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
9. Lingkup Identifier
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
10. Lingkup Identifier
Contoh :
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
10
di fungsi2()
11. 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
12. 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
13. 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