Upload
devandy-enda
View
6.465
Download
7
Embed Size (px)
DESCRIPTION
Citation preview
Cara Membuat 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 (return value).
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);}
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 DAN FUNGSI
Sub Program (Modul)
1. Sebuah program yang kompleks umumnya akan didekomposisi menjadi beberapa sub
program yang lebih sederhana.
2. Sub program itu disebut juga modul terkadang bersifat independen terhadap program
utama.
3. Pemrograman yang menggunakan modul disebut dengan pemrograman modula
4. Modul dapat digunakan oleh program lain yang membutuhkannya.
5. Dalam bahasa pemrograman modul dapat dikategori menjadi prosedur dan fungsi.
Prosedur
1. Prosedur adalah program yang mengerjakan aktivitas yang spesifik yang
menghasilkan efek netto
2. Efek netto yaitu perubahan kondisi awal menjadi kondisi akhir setelah prosedur
dijalankan
3. Prosedur bukan program yang berdiri sendiri , sehingga untuk menjalankan prosedur
dengan dipanggil di program utama.
Contoh Program Tanpa Prosedur
Input(uts, uas, tugas)
nilaiAkhir_0.3uts+o.5uas+0.2tugas
Output(nilaiAkhir)
If nilaiAkhir>=85 then nilaiHuruf_’A’
Else if If nilaiAkhir>=70 then nilaiHuruf_’B’
Else if If nilaiAkhir>=50 then nilaiHuruf_’C’
Else if If nilaiAkhir>=30 then nilaiHuruf_’D’
Else nilaiHuruf_’E’
End If
Output(nilaiHuruf)
Prosedur Hitung Nilai
Procedure HITUNGNILAI
Input(uts, uas, tugas)
nilaiAkhir_0.3uts+o.5uas+0.2tugas
Output(nilaiAkhir)
Prosedur Nilai Huruf
Procedure NILAIHURUF
If nilaiAkhir>=80 then nilaiHuruf_’A’
Else if If nilaiAkhir>=70 then nilaiHuruf_’B’
Else if If nilaiAkhir>=50 then nilaiHuruf_’C’
Else if If nilaiAkhir>=30 then nilaiHuruf_’D’
Else nilaiHuruf_’E’
End If
Output(nilaiHuruf)
Penulisan Prosedur dalam Java
_ Prosedur dapat ditulis diatas program utama maupun
Dibawahnya
_ Dengan format
public static void namaProsedur(){
...
}
_ Misalnya
public static void HitungLuas(){
int panjang=10;
int lebar=5;
System.out.println(“Luas = “+panjang*luas);
}
CONTOH :
1. import java.util.Scanner;
2. public class ContohProsedur{
3. //deklarasi variabel global yang bisa dikenali disemua bagian program
4. public static double nilaiAkhir=0;
5. public static char nilaiHuruf=' ';
6. //prosedur Hitung Nilai
7. public static void HitungNilai(){
8. Scanner keyboard=new Scanner(System.in);
9. System.out.print("Nilai UTS : ");
10. double uts = keyboard.nextDouble();
11. System.out.print("Nilai UAS : ");
12. double uas = keyboard.nextDouble();
13. System.out.print("Nilai Tugas : ");
14. double tugas = keyboard.nextDouble();
15. nilaiAkhir=0.3*uts+0.5*uas+0.2*tugas;
16. System.out.printf("Nilai Akhir %.2f : \n" ,nilaiAkhir);
17. }
18. //Prosedur Nilai Huruf
19. public static void NilaiHuruf(){
20. if (nilaiAkhir>=85) nilaiHuruf='A';
21. else if (nilaiAkhir>=70) nilaiHuruf='B';
22. else if (nilaiAkhir>=50) nilaiHuruf='C';
23. else if (nilaiAkhir>=30) nilaiHuruf='D';
24. else nilaiHuruf='E';
25. System.out.println("Nilai Huruf : "+nilaiHuruf);
26. }
27. //Program Utama
28. public static void main(String[] args){
29. HitungNilai();
30. NilaiHuruf();
31. }
32. }
OUTPUT
Identifier Global dan Lokal
1. Konsekuensi penggunaan sub program adalah adanya identifier (variabel atau
konstanta) global dan lokal
2. Identifier global adalah identifier yang dikenali di semua bagian program, pada
program diatas contohnya adalah nilaiAkhir dan nilaiHuruf
3. Identifier lokal adalah identifier yang hanya dikenali oleh sub program yang
mendeklarasikannya, contohnya adalah uts, uas dan tugas yang hanya dikenali oleh
prosedur hitungNilai.
Fungsi
1. Fungsi adalah sub program yang mengembalikan (return) sebuah nilai bertipe data
primitif (int, float, double, boolean, string, atau char)
2. Mirip dengan fungsi dalam matematika yang tugasnya mengubah nilai input menjadi
nilai output
3. Umumnya fungsi disertai penggunaan parameter untuk input data
Fungsi Hitung Nilai
Function HITUNGNILAI(a,b,c: double): double
na=a*0.3+b*0.5+c*0.2;
return(na)
Fungsi Nilai Huruf
Function NILAIHURUF(na: double): char
If nilaiAkhir>=80 then nilaiHuruf_’A’
Else if If nilaiAkhir>=70 then nh_’B’
Else if If nilaiAkhir>=50 then nh_’C’
Else if If nilaiAkhir>=30 then nh_’D’
Else nh_’E’
End If
return(nh)
Program Utama
Input(uts, uas, tugas)
nilaiAkhir = HITUNGNILAI(uts,uas,tugas)
Output (nilaiAkhir)
Output (NILAIHURUF(nilaiAkhir))
CONTOH
1. import java.util.Scanner;
2. public class ContohFungsi{
3. //Fungsi Hitung Nilai
4. public static double HitungNilai(double a, double b,double c){
5. double na = a*0.3+b*0.5+c*0.2;
6. return (na);
7. }
8. //FungsiNilai Huruf
9. public static char NilaiHuruf(double na){
10. char nh = ' ';
11. if (na>=85) nh='A';
12. else if (na>=70) nh='B';
13. else if (na>=50) nh='C';
14. else if (na>=30) nh='D';
15. else nh='E';
16. return(nh);
17. }
18. //Program Utama
19. public static void main(String[] args){
20. Scanner keyboard = new Scanner(System.in);
21. System.out.print("Nilai UTS : ");
22. double uts = keyboard.nextDouble();
23. System.out.print("Nilai UAS : ");
24. double uas = keyboard.nextDouble();
25. System.out.print("Nilai Tugas : ");
26. double tugas = keyboard.nextDouble();
27. double nilaiAkhir = HitungNilai(uts,uas,tugas);
28. System.out.printf("Nilai Akhir : %.2f \n",nilaiAkhir);
29. System.out.println("Nilai Huruf : "+NilaiHuruf(nilaiAkhir));
30. }
31. }
OUTPUT
Parameter
Parameter dapat digunakan baik di fungsi maupun prosedur. Ada 2 jenis parameter yaitu
parameter aktual dan parameter formal.
1. Parameter aktual digunakan saat memanggil prosedur, melalui parameter ini data
dikirim baik berupa konstanta atau variabel
2. Parameter formal digunakan pada saat mendeklarasikan nama prosedur, melalui
parameter ini data diterima dari parameter aktual, selalu berupa variabel, melakukan
casting otomatis dengan urutan
→ byte → short → int → long →float → doubleSeperti halnya bahasa pemograman yang lain java juga memiliki fungsi dan prosedur yang berguna untuk memudahkan dan mengoptimalkan program.
Prosedur
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.
Fungsi
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. perhatikan contoh dari prosedur dan fungsi dibawah ini :
public class FunctionProcedure {public static void main(String[] args) {int T, n;
n = Nilai(4, 4); //Fungsi Nilai dipanggilT = n * 100;
System.out.println(T);}
public static int Nilai(int a, int b) {
int n;
b = b * 2;n = a + b;return n;}}
Program diatas menggunakan fungsi nilai yang menghitung nilai a dan b setelah dihitung nilai hasil akan digunakan oleh prosedur main dan prosedur main akan menampilkan hasilnya.Dalam pemrograman kita mengenal method, fungsi, class, dan prosedur tetapi kita tidak tau dan belum mengerti apa itu maksudnya.Postingan kali ini saya memaparkan apa pengertian itu semua..
Prosedur
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.
Fungsi
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.
Class
Didalam Java kita mengenal yang namanya Object Oriented Programming (OOP). Java adalah bahasa yang murni berorientasi object sehingga kita tidak bisa mendefinisikan object diluar class atau memakai class itu secara langsung.
Mungkin Anda pernah mendengar kata class sebelumnya dalam bahasa pemrograman.Class diumpamakan seperti cetakan yang berguna untuk mencetak suatu object. Contoh dari sebuah cetakan/class tersebut misalnya cetakan dari sebuah mobil sedan. Mobil sedan tentunya mempunyai konsep. Konsep inilah yang akan dipakai untuk membentuk/mencetak hingga menjadi mobil sedan. Oleh karena itu konsep bisa berarti class atau cetakan.
Contoh cetakan/class/konsep dari mobil sedan adalah sebagai berikut :Mempunyai mesin
Mempunyai roda sebanyak 4 yaitu 2 didepan dan 2 dibelakangMempunyai setirMempunyai body atau kerangka dengan panjang, lebar dan tinggiMempunyai warnaMempunyai persenelingMempunyai knalpot
Sampai akhirnya didalam pabrik, cetakan/class/konsep tersebut dapat digunakan untuk membuat banyak object baru tentunya dengan berbeda nama/merk.
Class juga bisa diilustrasikan atau diumpamakan dengan makhluk hidup. Contohnya adalah hewan mamalia yaitu kucing. Didalam ilmu biologi, kucing tergolong dalam class hewan pemakan daging atau karnivora dan tentunya mempunyai bentuk atau konsep. Tuhan Yang Maha Kuasa sudah sudah menentukan bentuk daripada class kucing tersebut.
Class kucing mempunyai konsep sebagai berikut :Mempunyai kaki sebanyak 4 yaitu 2 didepan dan 2 dibelakangMempunyai suara yaitu “meong” atau “miaw”Mempunyai golongan/family yaitu hewan bertulang belakang atau vertebrata dan termasuk golongan mamalia pemakan daging atau karnivora
Nah didalam Java, class mempunyai makna yang sama dengan ilustrasi diatas. Didalam Java kita tidak bisa sembarangan membuat, menciptakan atau mewujudkan suatu object tanpa didasarkan pada konsep/cetakan/class. Oleh karena itu Java adalah bahasa pemrograman yang murni berorientasi object atau dengan kata lain semua pekerjaan yang dikerjakan menggunakan bahasa Java harus dilakukan didalam class.
Method
Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat sertaberbagai operasi yang dapat dilakukan objek sepanjang hidupnya.Metode memiliki 4 (empat) bagian dasar :1. Nama metode2. Tipe Objek atau tipe primitive yang dikembalikan metode.3. Daftar parameter.4. Badan atau isi metode.Tiga bagian pertama mengindikasikan informasi penting tentang metode itu sendiri.Dengan kata lain, nama metode tersebut=metode lain dalam program. Dalam java kitadapat memiliki metode-metode berbeda yang memiliki nama sama tetapi berbeda tipekembalian atau daftar argumennya, sehingga bagian-bagian definisi metode ini menjadipenting. Ini disebut overloading metode.Untuk menjalankan program yang memiliki sifat polymorphism tersebut, diperlukansuatu kemampuan overloading, yaitu suatu kemampuan untuk menentukan fungsiyang mana yang harus digunakan atau dijalankan jika terdapat nama fungsi yang sama.Polimorfisme bisa diartikan seperti kemampuan suatu variable untuk mengubahperangai sesuai dengan objek hasil instansiasi yang digunakan. Polimorfismemembiarkan lebih dari 1 objek dari sub class sub class dan diperlakukan sebagaiobjek dari super class tunggalContoh:Mahasiswa cowok = new anakSI();
cowok.methodKU( Denni );Mahasiswa cewek = new anakTI();cewek.mothodKU( Dragon );Outputnya:Methodku dengan parameter dengan nilai Denni di class anak SI telah dipanggilMethodku dengan parameter dengan nilai Dragon di class anakTI telah dipanggil
Perbedaan Fungsi dan Prosedure
Seperti yang kita ketahui bahwa dalam bahasa pemrograman apapun pastilah memiliki istilah yang disebut dengan function dan procedure. Tidak peduli kamu menggunakan bahasa pemrograman apapun, seperti Java, C++, Visual Basic, dan bahasa pemrograman lainnya, pastilah mengenal kedua istilah ini. Lalu apa yang membedakan antara functiond dan procedure, dan kapan kita perlu menggunakan function dan kapan kita perlu menggunakan procedure ?
Oke saya akan mencoba membahasnya. Perbedaan antara function dan procedure adalah : kalau function dia akan mengembalikan suatu nilai pada pemanggilnya, sedangkan kalau procedure dia tidak akan mengembalikan nilai apapun pada fungsi pemanggilnya. Untuk lebih jelasnya saya akan memberikan contoh studi kasus program untuk menghitung luas persegi panjang dalam bahasa Java. Berikut ini merupakan source code procedure yang digunakan untuk menghitung luas persegi panjang
public void HitungLuasPersegiPanjang(int p, int l){int luasPersegiPanjang;
luasPersegiPanjang = p * l;
System.out.println(“Luas persegi panjang = ” + ” ” + luasPersegiPanjang); }
Berikut ini merupakan source code function untuk menghitung luas persegi panjang
public int HitungLuasPersegiPanjang(int p, int l){int luasPersegiPanjang;
luasPersegiPanjang = p * l;return luasPersegiPanjang;}
Perhatikan kata yang saya cetak tebal baik pada source code procedure maupun source code function. Seperti yang telah disebutkan diatas bahwa procedure tidak mengembalikan suatu nilai apapun pada fungsi pemanggilnya sehingga tipe data yang digunakan adalah void. Sedangkan tipe data yang digunakan pada function adalah tipe data sesuai dengan nilai yang dikembalikan. Pada kasus ini tipe data yang digunakan untuk menghitung luas persegi panjang adalah integer (dideklarasikan sebagai int di Java). Perbedaan berikutnya, kalau pada function terdapat statement return yang berguna untuk mengembalikan nilai pada
pemanggilnya. Sedangkan pada procedure tidak terdapat statement return. Pada procedure HitungLuasPersegiPanjang, setelah nilai luas persegi panjang didapatkan, maka nilai luasnya akan langsung dicetak. Hal ini ditandai dengan statement System.out.println. Perbedaan berikutnya adalah cara pemanggilan. Untuk procedure pemanggilan dilakukan dengan memanggil nama procedurenya saja. Untuk function pemanggilan harus menggunakan variabel untuk menampung nilai yang dikembalikan oleh function. Untuk lebih jelasnya coba perhatikan cara pemanggilan procedure dan function dibawah ini
Cara memanggil procedure
HitungLuasPersegiPanjang(p, l);
Cara memanggil function
luas = HitungLuasPersegiPanjang(p, l);
Untuk pemanggilan procedure cukup dituliskan nama procedurenya, yaitu HitungLuasPersegiPanjang lengkap dengan parameter procedurenya yaitu p, dan l. Sedangkan untuk memanggil function HitungLuasPersegiPanjang, maka nilai luas persegi panjang yang dikembalikan oleh function ini harus ditampung terlebih dahulu di variabel yang bernama luas. Dimana variabel ini harus memiliki tipe data yang sama dengan tipe data function, yaitu integer. Nama function harus ditulis lengkap dengan parameter functionnya, yaitu p dan l.
Nach kapan waktunya kita menggunakan function dan procedure ?. Kamu dapat menggunakan function apabila kamu membuat suatu method yang perlu mengembalikan nilai pada pemanggilnya. Sedangkan kamu perlu menggunakan procedure apabila method tersebut tidak perlu untuk mengembalikan nilai ke pemanggilnya. Pada contoh kasus HitungLuasPersegiPanjang ini method yang lebih cocok dipakai adalah function daripada procedure. Hal ini disebabkan karena method ini digunakan untuk menghitung luas persegi panjang, dimana nilai yang perlu dikembalikan pada fungsi pemanggilnya adalah nilai luas persegi panjang.
Oke sekian saja posting kali ini. Semoga penjelasan saya mudah dimengerti dan dapat menambah wawasan kamu.
Prosedur
import java.io.*;
class demosepeda
{
public static void main (String[ ] args)
{
sepedagunung spd = new sepedagunung();
spd.ubahgear(10);
spd.tambahspeed(50);
spd.ubahsadle(15);
spd.tampil();
spd.tampilsadle();
}
}
import java.io.*;
class sepedagunung extends sepeda
{
int sadle = 0;
public void ubahsadle (int tinggi)
{
sadle = sadle + tinggi;
}
public void tampilsadle()
{
System.out.println (“Tinggi sadle sepeda = ” + sadle);
}
}
import java.io.*;
class sepeda
{
int speed = 0;
int gear = 0;
public void ubahgear (int ubah)
{
gear = gear + ubah;
}
public void tambahspeed (int tambah)
{
speed = speed + tambah;
}
public void tampil()
{
System.out.println (“Gear = ” + gear + ” kecepatan = ” + speed);
}
}
import java.io.*;
class demomobil
{
public static void main (String[] args)
{
bus spd = new bus();
spd.ubahgear(7);
spd.tambahspeed(150);
spd.tampil();
spd.hiduptv();
spd.carichanel();
spd.tampilgambar();
}
}
import java.io.*;
class bus extends mobil
{
public void hiduptv ()
{
System.out.println (“TV Dihidupkan”);
}
public void carichanel ()
{
System.out.println (“Chanel sudah dicari”);
}
public void tampilgambar ()
{
System.out.println (“Gambar sudah ditampilkan”);
}
}
import java.io.*;
class mobil
{
int speed = 0;
int gear = 0;
public void ubahgear (int ubah)
{
gear = gear + ubah;
}
public void tambahspeed (int tambah)
{
speed = speed + tambah;
}
public void tampil()
{
System.out.println (“Gear = ” + gear + ” kecepatan = ” + speed);
}
}
import coba.latihanexe;
import coba.latihanexe2;
class packagess
{
public static void main (String[] arg)
{
latihanexe lat = new latihanexe();
latihanexe2 lat2 = new latihanexe2();
lat.tampil();
lat2.tampil2();
}
}
package coba;
public class latihanexe
{
public void tampil()
{
System.out.println (“Belajar membuat package”);
}
}
package coba;
public class latihanexe2
{
public void tampil2()
{
System.out.println (“Belajar membuat package 2″);
}
}
import java.io.*;
class matematika
{
//bilangan bulat
public int tambah (int x, int y)
{
return x + y;
}
public int kurang (int x, int y)
{
return x – y;
}
public int kali (int x, int y)
{
return x * y;
}
public int bagi (int x, int y)
{
return x / y;
}
//bilangan pecahan
public double tambah (double x, double y)
{
return x + y;
}
public double kurang (double x, double y)
{
return x – y;
}
public double kali (double x, double y)
{
return x * y;
}
public double bagi (double x, double y)
{
return x / y;
}
}
class tulis
{
public void tampil()
{
System.out.println(“Hallo”);
}
}
class panggilan
{
public static void main (String args[])
{
tulis x = new tulis();
x.tampil();
//manggil class dari file matematika
matematika m = new matematika();
//bilangan bulat
System.out.println (“Hasil = ” + m.tambah (5,5));
System.out.println (“Hasil = ” + m.kurang (5,5));
System.out.println (“Hasil = ” + m.kali (5,5));
System.out.println (“Hasil = ” + m.bagi (5,5));
//bilangan pecahan
System.out.println (“Hasil = ” + m.tambah (5.5,2.5));
System.out.println (“Hasil = ” + m.kurang (5.5,2.5));
System.out.println (“Hasil = ” + m.kali (5.5,2.5));
System.out.println (“Hasil = ” + m.bagi (5.5,2.5));
}
}
Cara Membuat Fungsi dan Prosedur Pada Java
Maaf ya teman-teman pembaca setia blog Mari Belajar, sudah lama saya belum menulis artikel baru pada blog ini. Baiklah, kali ini saya akan menjelaskan sedikit tentang prosedur dan fungsi 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 (return value).
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);}
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(); }
Mungkin sementara ini hanya seperti itu, bila ada pertanyaan silahkan tinggalkan komentar atau hubungi saya di contact us. Terima Kasih dan semoga bermanfaat