method / fungsi / sub program filearray 8. method – fungsi . ... mempunyai fungsi tertentu dan...

31
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

Upload: dotruc

Post on 04-Apr-2019

248 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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