Upload
putra-andry
View
407
Download
1
Embed Size (px)
Citation preview
Praktikum Algoritma dan PemrogramanTeknik Informatika UIN Sunan Gunung Djati Bandung
Fungsi dan Prosedur pada java
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
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
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
Syntax Fungsi dan ProsedurUntuk 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);}
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();
}
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
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();
}}
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
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
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 Utamapublic 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));
}}