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

Post on 04-Apr-2019

248 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Programming is FUN!

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

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

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

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

Deklarasi Method

Modifier – return value – namaMethod –(parameter/argumen)

{

// block Statement

}

public static void main (String[] args)

{

//statement-statement

}

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

Fungsi yang tidak mengembalikan nilai (Fungsi VOID)

modifier – void – namaMethod – [parameter/argumen]

{

// Block Statement

}

private static void InputData()

{

}

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;

}

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

}

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

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

}

}

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

}

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

}

}

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

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

Latihan

• Buat program yang menampilkan Tabel Konversi suhu Celcius ke Fahrenheit (1 sampai 100), Konversi Suhu Fahrenheit ke Celcius (32 sampai 120)

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

OVERLOADING FUNGSI

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 }

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

}

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

SUB PROGRAM – MEMPERMUDAH KENDALI PROGRAM

Membuat Program dengan Beberapa Menu Pilihan

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)

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

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

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

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

(herman.class@gmail.com) • File Laporan (doc) + screenshot • Format judul email & nama file doc: SIF-nim-tugas5

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

top related