Lab Bahasa Pemrograman 2 Pertemuan V
METHOD Materi : 1. 2. 3. 4. 5.
Deklarasi metoda Konversi argumen Lingkup deklarasi Overload metoda Rekursif
Deklarasi sebuah Method public, private, protected, package static abstract final native synchronized
(parameter) throws exception Contoh : public double luas(int panjang, int lebar); Aritmatika.java Program Aritmatika sederhana import java.io.*; class Aritmatika { int tambah(int a, int b) { return (a+b); } int kurang(int a, int b) { return (a-b); } int kali(int a, int b) { return (a*b); } int bagi(int a, int b) { return (a/b); } int modulus(int a, int b) { return (a%b); } //fungsi main public static void main(String args[]) { int x=0,y=0 ; Aritmatika hitung = new Aritmatika(); BufferedReader input; try { input = new BufferedReader(new InputStreamReader(System.in)); System.out.print("\nInput nilai x : "); x = new Integer(input.readLine()).intValue(); System.out.print("\nInput nilai y : "); y = new Integer(input.readLine()).intValue(); } catch(Exception e) { ~17~
Assisten LabKom FTI Universitas Budi Luhur
Lab Bahasa Pemrograman 2 System.out.println("Error"); } //panggil method System.out.println("Hasil Perhitungan : "); System.out.println("Tambah : "+ hitung.tambah(x,y)); System.out.println("Kurang : "+ hitung.kurang(x,y)); System.out.println("Kali : "+ hitung.kali(x,y)); System.out.println("Bagi : "+ hitung.bagi(x,y)); System.out.println("Bagi : "+ hitung.modulus(x,y)); } } cariNilai.java Program mencari grade dengan fungsi (method) Nilai() import java.io.*; class cariNilai{ //ini adalah deklarasi fungsi cari nilai char Nilai(int data){ char coba='E'; if(data>=0){ coba='E'; } if(data>45){ coba = 'D'; } if(data>55){ coba = 'C'; } if(data>70){ coba ='B'; } if(data>80){ coba = 'A'; } return coba; } public static void main(String args[]){ //pembuatan objeck latihan cariNilai latihan = new cariNilai(); char data; System.out.print("Masukaan nilai anda : "); try{ int nilai = new Integer( (new BufferedReader (new InputStreamReader (System.in))).readLine()).intValue(); //cara pemangilan fungsi cari nilai dengan masukan varible data = latihan.Nilai(nilai); //grade yang di dapat akan di tampilkan System.out.println("--------------------------------"); System.out.println("Grade Anda : " + data); } catch(Exception e) { System.out.println("Inputan Error"); } ~18~
Assisten LabKom FTI Universitas Budi Luhur
Lab Bahasa Pemrograman 2
} }
Overloading.java Program penerapan Overloading Fungsi dalam Java class Overloading{ int tambah(int A){ return A; } int tambah(int A,int B){ return (A+B); } int tambah(int A,int B,int C){ return (A+B+C); } int tambah(int A,int B,int C,int D){ return (A+B+C+D); } public static void main(String args[]){ int X=0; Overloading coba = new Overloading(); X=coba.tambah(12); System.out.println("\n Menggunakan 1 buah parameter : "+X); X=coba.tambah(12,13); System.out.println("\n Menggunakan 2 buah parameter : "+X); X=coba.tambah(12,13,14); System.out.println("\n Menggunakan 3 buah parameter : "+X); X=coba.tambah(12,13,14,15); System.out.println("\n Menggunakan 4 buah parameter : "+X+"\n"); } }
Faktorial.java Program untuk menghitung nilai factorial dengan rekursif class Faktorial{ long faktorial(int data){ if(data <= 1){ data =1; return (data); } else { return (data*faktorial(data-1)); } } } class Rekursif{ public static void main(String args[]){ long data=0; ~19~
Assisten LabKom FTI Universitas Budi Luhur
Lab Bahasa Pemrograman 2 Faktorial coba =new Faktorial(); data = coba.faktorial(5); System.out.println("Nilai Faktorial = "+data); } } Tanggal.java Menampilkan tanggal dalam Java import java.text.SimpleDateFormat; import java.util.Date; public class Tanggal { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat format = new SimpleDateFormat("dd MMMM yyyy hh:mm:ss"); String s = format.format(date); System.out.println(s); } } Soal dan Latihan 1. Inputkan panjang rusuk sebuah kubus dan buat method untuk menghitung volume kubus tersebut ! Contoh Layout : Input Data Kubus (dalam cm) : Panjang Rusuk : 4 Volume Kubus : 64 cm kubik 2. Input dua buah bilangan ke dalam variable x dan y, dan buat method untuk menukar posisi dua bilangan tersebut : Contoh Layout : Penukaran bilangan : Input bilangan pertama : 5 Input bilangan kedua : 10 Nilai variable x = 5 Nilai variable y = 10 Setelah penukaran Nilai variable x = 10 Nilai variable y = 5 3. Buat method untuk mencetak n bilangan ganjil pertama, dimana n diinputkan oleh user Contoh Layout : Cetak bilangan ganjil Input n : 10 Deret bilangan ganjil : 1 3 5 7 9 11 13 15 17 19 Input n : 8 Deret bilangan ganjil : 1 3 5 7 9 11 13 15
~20~
Assisten LabKom FTI Universitas Budi Luhur
Lab Bahasa Pemrograman 2 4. Input sebuah bilangan integer dan buat method untuk memeriksa bilangan tersebut apakah merupakan bilangan kelipatan 3 atau bukan. Jika kelipatan 3 cetak keluaran “Kelipatan 3” dan jika bukan cetak “Bukan kelipatan 3” Contoh Layout : Input sebuah bilangan integer : 12 12 termasuk Kelipatan 3 Input sebuah bilangan integer : 10 10 bukan termasuk kelipatan 3
Try It Your Self ! // TextClock.java -- Uses Timer, Calendar, JTextField. // -- Fred Swartz, 1999-05-01, 2001-11-02 // Enhancements: center, leading zeros, uneditable, 12 hour, alarm, timer. import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.Calendar; // only need this one class ////////////////////////////////////////////////////////////////// TextClock public class TextClock { //================================================================= main public static void main(String[] args) { JFrame clock = new TextClockWindow(); clock.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); clock.setVisible(true); }//end main }//endclass TextClock //////////////////////////////////////////////////////////// TextClockWindow class TextClockWindow extends JFrame { //=================================================== instance variables private JTextField timeField; // set by timer listener //========================================================== constructor public TextClockWindow() { // Build the GUI - only one panel timeField = new JTextField(6); timeField.setFont(new Font("sansserif", Font.PLAIN, 48)); Container content = this.getContentPane(); content.setLayout(new FlowLayout()); content.add(timeField); this.setTitle("Text Clock"); this.pack(); // Create a 1-second timer and action listener for it. // Specify package because there are two Timer classes javax.swing.Timer t = new javax.swing.Timer(1000, new ActionListener() { public void actionPerformed(ActionEvent e) { Calendar now = Calendar.getInstance(); int h = now.get(Calendar.HOUR_OF_DAY); int m = now.get(Calendar.MINUTE); int s = now.get(Calendar.SECOND); timeField.setText("" + h + ":" + m + ":" + s); } }); t.start(); // Start the timer }//end constructor }//endclass TextClock ~21~
Assisten LabKom FTI Universitas Budi Luhur