SlideShare a Scribd company logo
1 of 13
Fungsi / Method



Pemrograman modular



Library functions vs user-defined functions



Lingkup identifier

1
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
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
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
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
Konstruksi Fungsi


Format
return-value-type
{
statements;
}



return-value-type:

function-name( parameter-list )

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


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
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
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
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()
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
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
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

More Related Content

What's hot

Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul IShofura Kamal
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi FundamentalAkmal Fajar
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IIShofura Kamal
 
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-VecomBab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-VecomYouTuber,G-Vecom
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalMeycelino A. T
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1beiharira
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingMelina Krisnawati
 
Laporan praktikum modul 4 (pemrograman applet)
Laporan praktikum modul 4 (pemrograman applet)Laporan praktikum modul 4 (pemrograman applet)
Laporan praktikum modul 4 (pemrograman applet)Devi Apriansyah
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanPisca Prasetyo
 
Konsep Dan Asas Pengaturcaraan
Konsep Dan Asas PengaturcaraanKonsep Dan Asas Pengaturcaraan
Konsep Dan Asas Pengaturcaraanask3areu
 
Function pada Bahasa Pemograman Pascal
Function pada Bahasa Pemograman PascalFunction pada Bahasa Pemograman Pascal
Function pada Bahasa Pemograman PascalGamz Zewata
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanAndri Yanto
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarDisma Ariyanti W
 

What's hot (19)

Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul I
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi Fundamental
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul II
 
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-VecomBab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Pengaturcaraan c
Pengaturcaraan cPengaturcaraan c
Pengaturcaraan c
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
Pertemuan1
Pertemuan1Pertemuan1
Pertemuan1
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
 
Laporan praktikum modul 4 (pemrograman applet)
Laporan praktikum modul 4 (pemrograman applet)Laporan praktikum modul 4 (pemrograman applet)
Laporan praktikum modul 4 (pemrograman applet)
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 
Konsep Dan Asas Pengaturcaraan
Konsep Dan Asas PengaturcaraanKonsep Dan Asas Pengaturcaraan
Konsep Dan Asas Pengaturcaraan
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
Function pada Bahasa Pemograman Pascal
Function pada Bahasa Pemograman PascalFunction pada Bahasa Pemograman Pascal
Function pada Bahasa Pemograman Pascal
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrograman
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman Dasar
 

Viewers also liked

Modul ajar sinyal rangkaian modul 4
Modul ajar sinyal rangkaian modul 4Modul ajar sinyal rangkaian modul 4
Modul ajar sinyal rangkaian modul 4Sofi Orient
 
The Legrand Legacy Gen1 Part1 makeover
The Legrand Legacy Gen1 Part1 makeoverThe Legrand Legacy Gen1 Part1 makeover
The Legrand Legacy Gen1 Part1 makeoverWistfulRose
 
The Legrand Legacy--Gen2 University Part2--Burn
The Legrand Legacy--Gen2 University Part2--BurnThe Legrand Legacy--Gen2 University Part2--Burn
The Legrand Legacy--Gen2 University Part2--BurnWistfulRose
 
Gen1 Part 5- Finally
 Gen1 Part 5- Finally Gen1 Part 5- Finally
Gen1 Part 5- FinallyWistfulRose
 
The Legrand Legacy Generation 1- Part 2
The Legrand Legacy Generation 1- Part 2The Legrand Legacy Generation 1- Part 2
The Legrand Legacy Generation 1- Part 2WistfulRose
 
Perkembangan dan pertumbuhan
Perkembangan dan pertumbuhanPerkembangan dan pertumbuhan
Perkembangan dan pertumbuhandina septiana
 
mulberry county(fully furnished)
mulberry county(fully furnished)mulberry county(fully furnished)
mulberry county(fully furnished)pankaj khurana
 
Dulcibella Legacy-G2-uni
Dulcibella Legacy-G2-uniDulcibella Legacy-G2-uni
Dulcibella Legacy-G2-uniWistfulRose
 
09 pd fungsi rekursif
09 pd fungsi rekursif09 pd fungsi rekursif
09 pd fungsi rekursifSofi Orient
 
Remaja dan perkembangannya
Remaja dan perkembangannyaRemaja dan perkembangannya
Remaja dan perkembangannyadina septiana
 
Freedom of press Universitas Tarumanagara
Freedom of press Universitas TarumanagaraFreedom of press Universitas Tarumanagara
Freedom of press Universitas TarumanagaraYustus Nelsen
 
Bisnis Manajement 2013 (Universitas Tarumanagara)
Bisnis Manajement 2013 (Universitas Tarumanagara)Bisnis Manajement 2013 (Universitas Tarumanagara)
Bisnis Manajement 2013 (Universitas Tarumanagara)Yustus Nelsen
 
Memahami Karakteristik dan Perbedaan Individu
Memahami Karakteristik dan Perbedaan IndividuMemahami Karakteristik dan Perbedaan Individu
Memahami Karakteristik dan Perbedaan Individudina septiana
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaDevandy Enda
 
Attention Vietnam Packaging Design Credentials
Attention Vietnam Packaging Design CredentialsAttention Vietnam Packaging Design Credentials
Attention Vietnam Packaging Design CredentialsAttention Vietnam
 

Viewers also liked (18)

Modul ajar sinyal rangkaian modul 4
Modul ajar sinyal rangkaian modul 4Modul ajar sinyal rangkaian modul 4
Modul ajar sinyal rangkaian modul 4
 
The Legrand Legacy Gen1 Part1 makeover
The Legrand Legacy Gen1 Part1 makeoverThe Legrand Legacy Gen1 Part1 makeover
The Legrand Legacy Gen1 Part1 makeover
 
The Legrand Legacy--Gen2 University Part2--Burn
The Legrand Legacy--Gen2 University Part2--BurnThe Legrand Legacy--Gen2 University Part2--Burn
The Legrand Legacy--Gen2 University Part2--Burn
 
Gen1 Part 5- Finally
 Gen1 Part 5- Finally Gen1 Part 5- Finally
Gen1 Part 5- Finally
 
The Legrand Legacy Generation 1- Part 2
The Legrand Legacy Generation 1- Part 2The Legrand Legacy Generation 1- Part 2
The Legrand Legacy Generation 1- Part 2
 
Perkembangan dan pertumbuhan
Perkembangan dan pertumbuhanPerkembangan dan pertumbuhan
Perkembangan dan pertumbuhan
 
Bangun Ruang Tabung
Bangun Ruang TabungBangun Ruang Tabung
Bangun Ruang Tabung
 
Bangun Ruang Tabung
Bangun Ruang TabungBangun Ruang Tabung
Bangun Ruang Tabung
 
mulberry county(fully furnished)
mulberry county(fully furnished)mulberry county(fully furnished)
mulberry county(fully furnished)
 
Dulcibella Legacy-G2-uni
Dulcibella Legacy-G2-uniDulcibella Legacy-G2-uni
Dulcibella Legacy-G2-uni
 
09 pd fungsi rekursif
09 pd fungsi rekursif09 pd fungsi rekursif
09 pd fungsi rekursif
 
Remaja dan perkembangannya
Remaja dan perkembangannyaRemaja dan perkembangannya
Remaja dan perkembangannya
 
Freedom of press Universitas Tarumanagara
Freedom of press Universitas TarumanagaraFreedom of press Universitas Tarumanagara
Freedom of press Universitas Tarumanagara
 
Bisnis Manajement 2013 (Universitas Tarumanagara)
Bisnis Manajement 2013 (Universitas Tarumanagara)Bisnis Manajement 2013 (Universitas Tarumanagara)
Bisnis Manajement 2013 (Universitas Tarumanagara)
 
Memahami Karakteristik dan Perbedaan Individu
Memahami Karakteristik dan Perbedaan IndividuMemahami Karakteristik dan Perbedaan Individu
Memahami Karakteristik dan Perbedaan Individu
 
Pharma Market
Pharma MarketPharma Market
Pharma Market
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada java
 
Attention Vietnam Packaging Design Credentials
Attention Vietnam Packaging Design CredentialsAttention Vietnam Packaging Design Credentials
Attention Vietnam Packaging Design Credentials
 

Similar to 08 pd method fungsi

Implementasi perangkat-lunak
Implementasi perangkat-lunakImplementasi perangkat-lunak
Implementasi perangkat-lunakbenzy swaroes
 
Laporan praktikum modul vi
Laporan praktikum modul viLaporan praktikum modul vi
Laporan praktikum modul viDevi Apriansyah
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++Akmal Fajar
 
Dianvs.blogspot.com perangkat lunak
Dianvs.blogspot.com perangkat lunakDianvs.blogspot.com perangkat lunak
Dianvs.blogspot.com perangkat lunaksuleman ganteng
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANBang Jo
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemogramanankg44
 
PERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptPERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptarfa442827
 
Pertemuan Ke IV.DOC
Pertemuan Ke IV.DOCPertemuan Ke IV.DOC
Pertemuan Ke IV.DOCJurnal IT
 
0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptxBom Bom
 
Pengertian pemrograman terstruktur
Pengertian pemrograman terstrukturPengertian pemrograman terstruktur
Pengertian pemrograman terstrukturPutri Sari
 
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104Devi Apriansyah
 
Modul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIModul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIsyahril17
 
Algorithma procedure pada pascal
Algorithma procedure pada pascalAlgorithma procedure pada pascal
Algorithma procedure pada pascalGamz Zewata
 
Struktur data chapter_08
Struktur data chapter_08Struktur data chapter_08
Struktur data chapter_08Sejahtera Affif
 
Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur DataAs Faizin
 
5 adp fungsi & rekursi
5   adp fungsi & rekursi5   adp fungsi & rekursi
5 adp fungsi & rekursiChabil_Juniar
 

Similar to 08 pd method fungsi (20)

Implementasi perangkat-lunak
Implementasi perangkat-lunakImplementasi perangkat-lunak
Implementasi perangkat-lunak
 
Ifc modul 1 (fungsi)
Ifc   modul 1 (fungsi)Ifc   modul 1 (fungsi)
Ifc modul 1 (fungsi)
 
Laporan praktikum modul vi
Laporan praktikum modul viLaporan praktikum modul vi
Laporan praktikum modul vi
 
TUGAS MANDIRI algoritma
TUGAS MANDIRI algoritmaTUGAS MANDIRI algoritma
TUGAS MANDIRI algoritma
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++
 
Dianvs.blogspot.com perangkat lunak
Dianvs.blogspot.com perangkat lunakDianvs.blogspot.com perangkat lunak
Dianvs.blogspot.com perangkat lunak
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemograman
 
PERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptPERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.ppt
 
Pertemuan Ke IV.DOC
Pertemuan Ke IV.DOCPertemuan Ke IV.DOC
Pertemuan Ke IV.DOC
 
0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx
 
Pengertian pemrograman terstruktur
Pengertian pemrograman terstrukturPengertian pemrograman terstruktur
Pengertian pemrograman terstruktur
 
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104
 
Modul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIModul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman II
 
Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
 
Algorithma procedure pada pascal
Algorithma procedure pada pascalAlgorithma procedure pada pascal
Algorithma procedure pada pascal
 
Struktur data chapter_08
Struktur data chapter_08Struktur data chapter_08
Struktur data chapter_08
 
Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur Data
 
5 adp fungsi & rekursi
5   adp fungsi & rekursi5   adp fungsi & rekursi
5 adp fungsi & rekursi
 

08 pd method fungsi

  • 1. Fungsi / Method  Pemrograman modular  Library functions vs user-defined functions  Lingkup identifier 1
  • 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
  • 6. Konstruksi Fungsi  Format return-value-type { statements; }  return-value-type: function-name( parameter-list ) 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
  • 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