1. Praktikum Algoritma dan Pemrograman
Teknik Informatika UIN Sunan Gunung Djati Bandung
Fungsi dan Prosedur
pada java
2. Pada dasarnya, prosedur dan fungsi memiliki pengertian yang hampir
sama, yaitu berupa sub-program yang merupakan kumpulan dari
beberapa baris syntax agar ketika anda ingin menggunakannya di lain
waktu, anda hanya perlu memanggil sub-program tersebut.
Perbedaannya, bila prosedur tidak memerlukan nilai balik (return
value) sedangkan fungsi wajib memberikan nilai balik.
Teori Prosedur dan Fungsi
3. Prosedur adalah kumpulan ekspresi-ekspresi algoritma yang
berguna untuk menjalankan proses tertentu. Prosedur
sudah banyak dikenal mulai dari bahasa mesin hingga
bahasa level tinggi (Query).
Dalam bahasa Java prosedur biasanya diawali dengan kata
“void”. Dan kebanyakan aplikasi berjalan melalui prosedur.
Teori Prosedur pada Java
4. Fungsi dan prosedur memiliki kesamaan dalam bentuknya hanya saja
fungsi memiliki nilai yang bisa dihasilkan kembali (Dikembalikan).
Fungsi dibuat biasanya untuk menyederhanakan sebuah operasi.
Ketika dua buah prosedur membutuhkan sebuah operasi yang sama
maka operasi tersebut dapat ditulis kedalam fungsi sehingga bisa
menghemat waktu penulisan tanpa harus menulis dua kali.
Dalam bahasa Java fungsi biasanya diawali dengan tipe data (int, char,
bool). Dan diakhir statementnya terdapat kata “return”. Nilai yang
direturn harus nilai yang sama seperti yang dideklarasikan di nama
fungsi.
Teori Fungsi pada Java
5. Syntax Fungsi dan Prosedur
Untuk penulisan syntax nya sendiri adalah sebagai berikut :
- Fungsi
static int tambah(nama fungsi)(int a, int b){
i = a + b;
return i;
}
- Prosedur
static void inputData(){
Scanner sc = new Scanner(System.in);
System.out.println("Masukkan bil pertama : ");
int a = sc.nextInt();
System.out.println("Masukkan bil kedua : ");
int b = sc.nextInt();
tambah();
System.out.println("Hasil penjumlahan adalah : "+i);
}
6. Perbedaan
Anda dapat melihat perbedaan dalam penulisannya, yaitu pada
fungsi tidak menggunakan "void" sedangkan pada prosedur
menggunakan "void".
Sedangkan untuk memanggil fungsi dan prosedur tersebut kita
perlu "syntax main" misalnya seperti berikut :
public static void main(String args[]){
inputData();
}
7. Prosedur adalah program yang mengerjakan aktivitas
yang spesifik yang menghasilkan efek netto
Efek netto yaitu perubahan kondisi awal menjadi kondisi
akhir setelah prosedur dijalankan
Prosedur bukan program yang berdiri sendiri , sehingga
untuk menjalankan prosedur dengan dipanggil di
program utama.
Definisi Prosedur
8. import java.util.Scanner;
public class ContohProsedur{
public static double nilaiAkhir=0;
public static char nilaiHuruf=' ';
//prosedur Hitung Nilai
public static void HitungNilai()
{
Scanner keyboard=new Scanner(System.in);
System.out.print("Nilai UTS : ");
double uts = keyboard.nextDouble();
System.out.print("Nilai UAS : ");
double uas = keyboard.nextDouble();
System.out.print("Nilai Tugas : ");
double tugas = keyboard.nextDouble();
nilaiAkhir=0.3*uts+0.5*uas+0.2*tugas;
System.out.printf("Nilai Akhir %.2f : n" ,nilaiAkhir);
}
Contoh Program Prosedur
//Prosedur Nilai Huruf
public static void NilaiHuruf()
{
if (nilaiAkhir>=85) nilaiHuruf='A';
else if (nilaiAkhir>=70) nilaiHuruf='B';
else if (nilaiAkhir>=50) nilaiHuruf='C';
else if (nilaiAkhir>=30) nilaiHuruf='D';
else nilaiHuruf='E';
System.out.println("Nilai Huruf : "+nilaiHuruf);
}
//Program Utama
public static void main(String[] args)
{
HitungNilai();
NilaiHuruf();
}
}
9. Konsekuensi penggunaan sub program adalah adanya identifier
(variabel atau konstanta) global dan lokal
Identifier global adalah identifier yang dikenali di semua bagian
program, pada program diatas contohnya adalah nilaiAkhir dan
nilaiHuruf
Identifier lokal adalah identifier yang hanya dikenali oleh sub
program yang mendeklarasikannya, contohnya adalah uts, uas dan
tugas yang hanya dikenali oleh prosedur hitungNilai.
Keterangan Program
10. Fungsi adalah sub program yang mengembalikan (return)
sebuah nilai bertipe data primitif (int, float, double,
boolean, string, atau char)
Mirip dengan fungsi dalam matematika yang tugasnya
mengubah nilai input menjadi nilai output
Umumnya fungsi disertai penggunaan parameter untuk
input data
Definisi Fungsi
11. import java.util.Scanner;
public class ContohFungsi
{
//Fungsi Hitung Nilai
public static double HitungNilai(double a, double
b,double c){
double na = a*0.3+b*0.5+c*0.2;
return (na);
}
//FungsiNilai Huruf
public static char NilaiHuruf(double na){
char nh = ' ';
if (na>=85) nh='A';
else if (na>=70) nh='B';
else if (na>=50) nh='C';
else if (na>=30) nh='D';
else nh='E';
return(nh);
}
Contoh Program Fungsi
//Program Utama
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.print("Nilai UTS : ");
double uts = keyboard.nextDouble();
System.out.print("Nilai UAS : ");
double uas = keyboard.nextDouble();
System.out.print("Nilai Tugas : ");
double tugas =keyboard.nextDouble();
double nilaiAkhir = HitungNilai(uts,uas,tugas);
System.out.printf("Nilai Akhir : %.2f n",nilaiAkhir);
System.out.println("Nilai Huruf : "+NilaiHuruf(nilaiAkhir));
}
}