Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan...
Transcript of Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan...
![Page 1: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/1.jpg)
PEMROGRAMAN DASAR
Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya
Method / Fungsi / Sub Program
Dr. Eng. Herman Tolle, ST., MT
Sistem Informasi PTIIK UB Semester Ganjil 2014/2015
![Page 2: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/2.jpg)
![Page 3: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/3.jpg)
Programming is FUN!
![Page 4: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/4.jpg)
7 Aspek Dasar Pemrograman
1. Membaca Input Data
2. Menampilkan Output Data
3. Melakukan proses perhitungan (Compute)
4. Penyimpanan Data (Store)
5. Penyeleksi Kondisi (Percabangan)
6. Perulangan (Repetisi)
7. Array
8. Method – Fungsi
![Page 5: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/5.jpg)
Definisi
Metode: Sekumpulan baris kode program yang mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama (main function)
• Dapat dipanggil berulang kali
• dapat memproses data (variabel) yang dikirim dari main function
![Page 6: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/6.jpg)
Manfaat Method / Function
Prosedur
• Menyederhanakan struktur program
• Mempermudah kendali program jika bekerja dengan source code yang panjang
Fungsi
• Mendefiniskan fungsi-fungsi tertentu
Prosedur/Fungsi
• Dapat digunakan secara berulang dalam main program
![Page 7: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/7.jpg)
Tipe Method
• Prosedur:
– sekumpulan proses
– fungsi yang tidak mengembalikan suatu nilai
• Fungsi:
– Sekumpulan proses dan mengembalikan nilai tertentu
• Dalam bahasa Java / C++, semua method disebut sebagai function (fungsi).
![Page 8: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/8.jpg)
Deklarasi Method
Modifier – return value – namaMethod –(parameter/argumen)
{
// block Statement
}
public static void main (String[] args)
{
//statement-statement
}
![Page 9: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/9.jpg)
Keterangan
• Modifier = Hak Akses: public, protected, private • static dan non static • return value = Nilai balikan jika metode melakukan
suatu kalkulasi dan mempunyai nilai yang disimpan, jika tidak ada return maka menggunakan kata kunci void
• Parameter/Argumen = Variabel yang dilewatkan dari luar metode atau yang digunakan di dalam metode
![Page 10: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/10.jpg)
Fungsi yang tidak mengembalikan nilai (Fungsi VOID)
modifier – void – namaMethod – [parameter/argumen]
{
// Block Statement
}
private static void InputData()
{
}
![Page 11: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/11.jpg)
Fungsi yang mengembalikan nilai (tipedata & return)
modifier – tipedata – namaMethod – [parameter/argumen]
{
// Block Statement
return …. ;
}
private static int HitungLuas(int Panjang, int Lebar)
{
return Panjang * Lebar;
}
private static float HitungLuas(int jariJari)
{
float luas = 0.5 * 3.1419 * jariJari;
return luas;
}
![Page 12: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/12.jpg)
Contoh: Program Menghitung Volume Kubus
class VolumeKubus {
public static void main(String args[]) {
Scanner masukan = new Scanner(System.in);
// Input panjang sisi
System.out.print("Masukkan panjang sisi: ");
int sisi = masukan.nextInt();
// hitung volume
int volume = sisi*sisi*sisi;
// cetak hasil
System.out.printf(“Volume Kubus = %d \n“,volume);
}
![Page 13: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/13.jpg)
Program Hitung Volume Kubus dengan Fungsi
import java.util.Scanner;
public class VolumeKubus {
private static int volume;
public static void main(String args[]) {
int rusuk;
rusuk = inputSisi();
volume = volumeKubus(rusuk);
cetakHasil();
}
Variabel global
Penyederhanaan struktur program
![Page 14: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/14.jpg)
private static int inputSisi() {
Scanner masukan = new Scanner(System.in);
System.out.print("Masukkan panjang sisi: ");
int sisi = masukan.nextInt();
return sisi;
}
private static int volumeKubus(int sisi) {
int hasil = sisi*sisi*sisi;
return hasil;
}
private static void cetakHasil() {
System.out.printf("Volume Kubus = %d \n", volume);
}
}
![Page 15: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/15.jpg)
Program Hitung Volume Kubus dengan Fungsi
import java.util.Scanner;
public class VolumeKubus {
// private static int volume;
public static void main(String args[]) {
int rusuk;
rusuk = inputSisi();
int volume = volumeKubus(rusuk);
cetakHasil(volume);
}
![Page 16: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/16.jpg)
private static int inputSisi() {
Scanner masukan = new Scanner(System.in);
System.out.print("Masukkan panjang sisi: ");
int sisi = masukan.nextInt();
return sisi;
}
private static int volumeKubus(int sisi) {
int hasil = sisi*sisi*sisi;
return hasil;
}
private static void cetakHasil(int vol) {
System.out.printf("Volume Kubus = %d \n", vol);
}
}
![Page 17: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/17.jpg)
Memanggil Method
•Prosedur Tanpa Parameter: nama_method();
•Prosedur Dengan Parameter nama_method (parameter1,parameter2);
•Fungsi yang ditampung hasilnya volume = volumeKubus(rusuk);
•Output langsung hasil fungsi System.out.println(“Hasil = “+ volumeKubus(rusuk));
System.out.printf(“Hasil = %d“, volumeKubus(rusuk));
![Page 18: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/18.jpg)
Cakupan Variabel
• Variabel Lokal: variabel yang hanya digunakan dalam scope blok program terbatas
• Variabel Global: variabel yang dapat digunakan pada seluruh bagian dari program dalam satu class yang sama
![Page 19: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/19.jpg)
Latihan
• Buat program yang menampilkan Tabel Konversi suhu Celcius ke Fahrenheit (1 sampai 100), Konversi Suhu Fahrenheit ke Celcius (32 sampai 120)
![Page 20: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/20.jpg)
Latihan public static void main (String [] args) { System.out.println(“Celcius to Fahrenheit “); for (i=1; i<=100; i++) { System.out.printf(“ %d = %f ”, i, celcius2Fahrenheit(i)); } System.out.println(“Fahrenheit to Celcius“); for (i=32; i<=120; i++) { System.out.printf(“ %d = %f ”, i, Fahrenheit2Celcius(i)); } }
public static double celcius2Fahrenheit(int C) { return (C * 9.0 / 5) + 32; }
public static double Fahrenheit2Celcius(int F) { return (F – 32 ) * 5 / 9; }
![Page 21: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/21.jpg)
OVERLOADING FUNGSI
![Page 22: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/22.jpg)
Overloading Function
• Satu nama Fungsi tetapi memiliki beberapa implementasi yang dapat dibuat berdasarkan perbedaan parameter input atau perbedaan tipe data keluaran
• Misalnya: public static int max(int x, int y) { if x>y return x else return y } public static double max(double x, double y) { if x>y return x else return y }
![Page 23: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/23.jpg)
public class Lingkaran {
public static void main(String []args) {
int r = inputJejari();
double Luas = luasLingkaran(r);
double Luas2 = luasLingkaran(5.5);
cetakLuas(Luas2);
}
private static double luasLingkaran(int r) {
return (3.14*r*r);
}
private static double luasLingkaran(double r) {
return (3.14*r*r);
}
private static int inputJejari() {
Scanner masukan = new Scanner(System.in);
System.out.print("Masukkan Jejari: ");
int jejari = masukan.nextInt();
return jejari;
}
private static void cetakLuas(double luas) {
System.out.print(“Luas Lingkaran = %f“, luas);
}
![Page 24: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/24.jpg)
Variasi Overloading Function
Nama fungsi sama, tetapi:
• Tipe data input berbeda
• Tipe data yg output dikembalikan (return) berbeda
• Jumlah parameter berbeda (ada yg 1, ada yg 2, dst)
• Jumlah parameter dan tipe data berbeda
![Page 25: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/25.jpg)
SUB PROGRAM – MEMPERMUDAH KENDALI PROGRAM
Membuat Program dengan Beberapa Menu Pilihan
![Page 26: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/26.jpg)
Mempermudah Kendali Program
• Menggunakan fungsi dan prosedur untuk kendali program berbasis menu
• Ulangi – Input pilih – Jika pilih: – 1. Input Data – 2. Proses Data – 3. Cetak Data – 9. Keluar
• Sampai pilih = 9
do
System.out.print(“Pilih Menu = ”);
pilih = input.nextInt();
switch (pilih)
{
case 1: InputData(); break;
case 2: UrutData(); break;
case 3: CetakData(); break;
case 9: CetakExit(); break;
default:
System.out.println(“Pilihan salah”);
}
while (pilih<>9)
![Page 27: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/27.jpg)
Latihan
Input Data Array Cetak Data Array
INPUT Tanya Jumlah Data Ulangi Sebanyak Jumlah Data, untuk Tanya data ke-i, baca data ke-i
CETAK Ulangi Sebanyak Jumlah Data, untuk Cetak data ke-i
![Page 28: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/28.jpg)
public static void main (String [] args)
{
Scanner masukan = new Scanner(System.in);
System.out.print(“Berapa Jumlah Data?”);
int N = masukan.nextInt();
int[] data;
for (i=0; i<N; i++) {
System.out.print(“Data ke [”+ i + “]?”);
data[i] = masukan.nextInt();
}
double X = rerata(data);
System.out.println(“Rata-rata =” + X);
}
private static double rerata(int[] Y) { int total = 0; int n = Y.length; for (i=1; i<=n; i++) total = total + Y[i-1]; return total / n; }
![Page 29: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/29.jpg)
Tugas Kelas D
• Membuat Program dengan Menu: 1. Input Data 2. Urut Data Terkecil (QuickSort) 3. Urut Data Terbesar (BubbleSort) 4. Cetak Data 5. Keluar
• Gunakan function (prosedur) untuk setiap item menu. • Deadline: 1 Desember 2013, dikirim ke email dosen • File Laporan (doc) + screenshot • Format judul email: SID-nim-tugas5
![Page 30: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/30.jpg)
Tugas Kelas F
• Membuat Program dengan Menu: 1. Input Data (array n) 2. Urut Terkecil (QuickSort) 3. Urut Terbesar (BubbleSort) 4. Cetak Data 5. Keluar
• Gunakan function (prosedur) untuk setiap item menu. • Deadline: 9 Desember 2013, dikirim ke email dosen
([email protected]) • File Laporan (doc) + screenshot • Format judul email & nama file doc: SIF-nim-tugas5
![Page 31: Method / Fungsi / Sub Program fileArray 8. Method – Fungsi . ... mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama ... digunakan pada seluruh bagian dari program](https://reader034.fdokumen.com/reader034/viewer/2022052314/5ca6055888c9930a6e8d22de/html5/thumbnails/31.jpg)
Tugas Kelas E
• Membuat Program dengan Menu: 1. Input Data 2. Urut Terkecil (QuickSort) 3. Urut Terbesar (BubbleSort) 4. Cetak Data 5. Keluar
• Gunakan function (prosedur) untuk setiap item menu. • Deadline: 26 November 2013, dikirim ke email dosen • File Laporan (doc) + screenshot • Format judul email: SIE-nim-tugas5