Anda di halaman 1dari 30

BAB 4

A. Method

Method adalah sekumpulan kode yang diberi nama, untuk merujuk ke


sekumpulan kode tersebut digunakan sebuah nama yang disebut dengan nama method.
Method mempunyai parameter sebagai input dan nilai kembalian sebagai output.
Deklarasai method terdiri dari beberapa bagian, bagian pertama adalah access modifer
dari method, apakah public, private, protected atau default. Bagian berikutnya adalah
tipe kembalian dari method, kalau method tidak mengembalikan apa-apa maka
keyword void yang digunakan. Bagian ketiga adalah nama method, sesuai dengan
aturan java code convention. Setelah nama method ada parameter Nama method dan
parameter adalah pembeda antara satu method dengan method yang lainya. Kalau dua
method namanya beda ya pasti dianggap dua buah method berbeda. Kalau dua method
namanya sama dianggap sebagai method yang berbeda kalau typenya berbeda.

Method pada java

 Method adalah sarana bagi programmer untuk memodularisasi, artinya


membreak atau memecah program kompleks menjadi bagian yang kecil-
kecil sehingga nantinya dapat digunakan berulang-ulang, daripada menulis
beberapa baris kode yang sama.
 Method dalam Java mirip dengan fungsi atau procedure dalam bahasa
pemrograman C .
 Pada konsep Object Oriented Programming, Function lebih dikenal dengan
istilah Method dimana merupakan suatu bagian dari Object yang
mendefinisikan apa yang bisa Object tersebut lakukan.
 Penamaan method mengikuti kaidah penamaan seperti pada penamaan variable

prinsip dasarnya. Sebuah method di Java memiliki struktur yang terdiri dari:

 modifier berbagai statement yang menandakan hak akses method tersebut dari
luar class. Terdiri dari statement public, private, dan protected
 return type, statement yang menandakan tipe kembalian dari method. Ada int,
void, String, double, dan berbagai objek kompleks di Java
 nama method, nama method yang biasanya terdiri dari alfabet saja dan ditulis
dengan camel case
 parameter, berbagai nilai yang diperlukan oleh method, dalam penulisannya
harus diawali dulu dengan tipe datanya baru nama parameternya.
 return statement, kembalian suatu method harus sesuai dengan tipe data
method, jadi jika method berjenis int maka kembaliannya harus int. Khusus
untuk tipe void tidak perlu menggunakan return statement
 exception, kemungkinan error yang akan muncul ketika kode dieksekusi di
dalam method, biasanya ditambahkan statement throws dan jenis exception
yang akan ditangkap

1.Contoh Soal

a.Membuat program menghitung volume bola, luas , dan keliling lingkaran


dengan menggunakan Methode

Program
package inputSwing;
import javax.swing.*;

public class P4_01 {


public static double keliling ( float r ){
return ( 2*Math.PI*r );
}
public static double luas ( float r ){
return ( Math.PI*r*r );
}
public static double volume ( float r ){
return ( 4/3*Math.PI*r*r*r );
}
public static void main ( String[]args)
{
double hasil1;
int a;
String x;
x=JOptionPane.showInputDialog("Masukan Jari Jari");
a= Integer.parseInt(x);
System.out.println("Jari Jari :"+a);
System.out.println ("Keliling Lingkaran : "+keliling(a));
System.out.println ("Luas Lingkaran : "+luas(a));
System.out.println ("Volume Bola : "+volume(a)); } }
Hasil Program

-----Configuration: <Default>------

Jari Jari :14


Keliling Lingkaran :
87.96459430051421
Luas Lingkaran : 615.7521601035994
Volume Bola : 8620.530241450391

Process completed.

b. Menginputkan data int melalui keyboard dengan Methode

Program

package inputSwing;
import javax.swing.*;

public class P4_02 {


public static int []inputMatrixs(int k) {
int [] r = new int [k];

for ( int i = 0 ; i<k ; i++){

r[i] = Integer.parseInt(JOptionPane.showInputDialog("Masukan Data "+i+":"));}


return r; }

public static void cetakMatrixs ( int[]r){


for ( int i = 0;i<r.length; i++){
System.out.print(r[i] + " ,");
}
}

public static void main(String[]args){


int[] dat =inputMatrixs(10);
cetakMatrixs(dat);
}
}
Hasil program

----------Configuration: <Default>----------

14 ,16 ,14 ,19 ,90 ,23 ,11 ,17 ,89 ,97 ,

Process completed.

B. Object

Object Java adalah entitas dasar saat runtime. Pada saat kode program
dieksekusi, objek berinteraksi satu sama lain tanpa harus mengetahui detail data atau
kodenya. Pada pemograman berbasis objek, objek dijadiksa sebagai komponen
utaman dalam program, onjek menggabungkan data dan fungsi sebagai satu kesatuan.
Dalam pemograman berbasis objek ada dua istilah yaitu objek dan class. Dimana
class adalah cetak biru dari sebuah objek. Dimana kita bias membuat banyak objek
pada satu class.

Objek digunakan jika kita ingin menggabungkan tipe data


primitive(integer,float,double) dengan tipe data string karena ketika kita
menggabugkan tipe data yang berbeda maka kita harus menggunakan Array
sedangkan Array sendiri akan bekerja jika tipe data yang sama sehingga kita
membutuhkan Objek.File objek dibuat terpisah di program utama tetapi diletakkan di
satu folder dengan program utama dan dipanggil di program utama dengan Syntax:

Cara membuat program object.


public class objek_1
{
public int …..;
public float ………;
public String ……;
}
Isi program object di atas berupa beberapa type data yang akan digunakan, sebelum
di gunakan pastikan program telah decompile sampai proses compliteted.
Cara memanggil object, object yang diletakkan pada satu folder yang sama
pada program aslinya harus ada inisialisasi saat memanggilanya. Sebagai contoh
objek_1[ ] id = new objek_1[12];
Contoh pemanggilan object yang di beri nama objek_1 type data sesuai dengan
program yang diinginkan.
Contoh Penggunaan Object :Membuat program yang berisi nama,nilai
matematika,nilai fisika,nilai kimia dan diurutkan ascending dan descending per mata
pelajaran??
File Objeknya:
1.Contoh Soal

a.Menyalin Program sorting nama , umur, dan upah pekerja.


Langkah 1. Membuat program object
Program
public class objek_1
{
public int umur;
public int upah;
public String nama;
}

Langkah 2 Membuat program sorting


Program
import java.util.Scanner;

public class P5_04 {


public static void main(String[]args) {
objek_1[ ] id = new objek_1[4];
int i;
for(i=0; i<id.length; i++)
id[i] = inputData(i);
id = sortDataNama (id);
System.out.println("\n\nHasil sorting berdasarkan nama pekerja :\n");
cetak(id);
id = sortDataUmur (id);
System.out.println("\n\nHasil sorting berdasarkan usia pekerja :\n");
cetak(id);
id = sortDataUpah (id);
System.out.println("\n\nHasil sorting berdasarkan upah pekerja :\n");
cetak(id);
}
public static objek_1 inputData (int i) {
objek_1 inp = new objek_1();
String s1; int um, up;
Scanner in= new Scanner(System.in);
System.out.print("Nama pekerja["+(i+1)+"] = ");s1=in.nextLine();
System.out.print("Umur pekerja["+(i+1)+"] = ");um=in.nextInt();
System.out.print("Upah pekerja["+(i+1)+"] = Rp. ");up=in.nextInt();
System.out.println("");
inp.nama=s1;
inp.umur=um;
inp.upah=up;
return inp;
}
public static objek_1[] sortDataNama(objek_1[] dat)
{
objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++)
{for(int j=i+1;j<dat.length;j++)
{if((dat[i].nama).compareTo(dat[j].nama)>0)
{ temp=dat[i];
dat[i]=dat[j];
dat[j]=temp;
}
}
}
return dat;
}
public static objek_1[] sortDataUmur(objek_1[] dat)
{
objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++)
{for(int j=i+1;j<dat.length;j++)
{if(dat[i].umur>dat[j].umur)
{temp=dat[i];
dat[i]=dat[j];
dat[j]=temp;
}
}
}
return dat;
}
public static objek_1[] sortDataUpah(objek_1[] dat)
{objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++)
{ for(int j=i+1;j<dat.length;j++)
{ if(dat[i].upah>dat[j].upah)
{temp=dat[i];
dat[i]=dat[j];
dat[j]=temp;
}}}
return dat;
}
public static void cetak(objek_1[] inp)
{for(int i=0; i<inp.length; i++)
{ System.out.printf("%-9s%5d Tahun\t Rp.
%8d\n",inp[i].nama,inp[i].umur,inp[i].upah); }
}}

Hasil Program
--------------------Configuration: <Default>--------------------
Nama pekerja[1] = Asep
Umur pekerja[1] = 21
Upah pekerja[1] = Rp. 250000

Nama pekerja[2] = Ujang


Umur pekerja[2] = 27
Upah pekerja[2] = Rp. 250400

Nama pekerja[3] = Burhan


Umur pekerja[3] = 30
Upah pekerja[3] = Rp. 300000

Nama pekerja[4] = Jaka


Umur pekerja[4] = 20
Upah pekerja[4] = Rp. 235000

Hasil sorting berdasarkan nama pekerja :

Asep 21 Tahun Rp. 250000


Burhan 30 Tahun Rp. 300000
Jaka 20 Tahun Rp. 235000
Ujang 27 Tahun Rp. 250400

Hasil sorting berdasarkan usia pekerja :

Jaka 20 Tahun Rp. 235000


Asep 21 Tahun Rp. 250000
Ujang 27 Tahun Rp. 250400
Burhan 30 Tahun Rp. 300000

Hasil sorting berdasarkan upah pekerja :

Jaka 20 Tahun Rp. 235000


Asep 21 Tahun Rp. 250000
Ujang 27 Tahun Rp. 250400
Burhan 30 Tahun Rp. 300000
Process completed.

b. Membuat program soting nama siswa dan nilai pelajaran dengan


menerapkan object.

Langkah 1. Membuat program object

Program

public class objek_1


{
public int umur;
public int upah;
public String nama; }

Langkah 2. Membuat program sorting

Program

import java.util.Scanner;

public class P5_05 {


public static void main(String[]args) {
objek_1[] id = new objek_1[10];
int i;
for(i=0; i<id.length; i++)
id[i] = inputData(i);
id = sortDataNama (id);
System.out.println("\n\nHasil sorting berdasarkan Nama Siswa :\n");
cetak(id);
id = sortDataNilai (id);
System.out.println("\n\nHasil sorting berdasarkan Nilai :\n");
cetak(id); }

public static objek_1 inputData (int i) {


objek_1 inp = new objek_1();
String s1;
Float ni;
Scanner in= new Scanner(System.in);

System.out.print("Nama siswa["+(i+1)+"] = ");s1=in.nextLine();


System.out.print("Nilai["+(i+1)+"] = ");ni=in.nextFloat();
inp.nama=s1;
inp.nilai=ni;
return inp; }

public static objek_1[] sortDataNama(objek_1[] dat) {


objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++)
{ for(int j=i+1;j<dat.length;j++)
if((dat[i].nama).compareTo(dat[j].nama)>0)

{ temp=dat[i];
dat[i]=dat[j];
dat[j]=temp; } } }

return dat;
}
public static objek_1[] sortDataNilai(objek_1[] dat)
{
objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++)
{
for(int j=i+1;j<dat.length;j++)
{ if(dat[i].nilai>dat[j].nilai)
{ temp=dat[i];
dat[i]=dat[j];
dat[j]=temp; } } }

return dat;
}

public static void cetak(objek_1[] inp)


{ for(int i=0; i<inp.length; i++)
{ System.out.printf("%-9s%.2f\n ",inp[i].nama,inp[i].nilai); }
}
}
Hasil Program
------Configuration: <Default>------

Nama siswa[1] = Anisa


Nilai[1] = 34.56
Nama siswa[2] = Zaki
Nilai[2] = 27.44
Nama siswa[3] = Riki
Nilai[3] = 83.71
Nama siswa[4] = Nani
Nilai[4] = 48.52
Nama siswa[5] = Neli
Nilai[5] = 94.92
Nama siswa[6] = Zuki
Nilai[6] = 24.52
Nama siswa[7] = Anabel
Nilai[7] = 75.74
Nama siswa[8] = Riski
Nilai[8] = 81.23
Nama siswa[9] = Burhan
Nilai[9] = 12.51
Nama siswa[10] = Kiki
Nilai[10] = 99.52

Hasil sorting berdasarkan Nama Siswa :

Anabel 75.74
Anisa 34.56
Burhan 12.51
Kiki 99.52
Nani 48.52
Neli 94.92
Riki 83.71
Riski 81.23
Zaki 27.44
Zuki 24.52

Hasil sorting berdasarkan Nilai :

Burhan 12.51
Zuki 24.52
Zaki 27.44
Anisa 34.56
Nani 48.52
Anabel 75.74
Riski 81.23
Riki 83.71
Neli 94.92
Kiki 99.52

Process completed.

c. Membuat program sorting data nama, nilai matematika, nilai fisika,


nilai kimia, dan nilai rata-rata.

Langkah 1. Membuat program object


Program
public class objek_1
{
public String nama;
public float nilai1;//MAT
public float nilai2;//FIS
public float nilai3;//KIM
public float rata;

Latihan 2. Membuiat program sorti


Program
import java.util.Scanner;

public class P5_08 {


public static void main(String[]args) {
objek_1[] id = new objek_1[12];
int i;
for(i=0; i<id.length; i++)
id[i] = inputData(i);

id = sortDataNamaSiswa (id);
System.out.println("\n\nHasil sorting berdasarkan nama siswa:\n");
cetak(id);
id = sortDataNilaiMTK (id);
System.out.println("\n\nHasil sorting berdasarkan nilai Matematika :\n");
cetak(id);
id = sortDataNilaiFIS (id);
System.out.println("\n\nHasil sorting berdasarkan nilai Fisika :\n");
cetak(id);
id = sortDataNilaiKIM (id);
System.out.println("\n\nHasil sorting berdasarkan nilai Kimia :\n");
cetak(id);
id = sortDataRata (id);
System.out.println("\n\nHasil sorting berdasarkan nilai Rata-Rata :\n");
cetak(id); }

public static objek_1 inputData (int i) {


objek_1 inp = new objek_1();
String s1;
float mtk,fis,kim;
float rata;
Scanner in= new Scanner(System.in);
System.out.print("Nama siswa ["+(i+1)+"] = ");s1=in.nextLine();
System.out.print("Nilai Matematika["+(i+1)+"] = ");mtk=in.nextFloat();
System.out.print("Nilai Fisika["+(i+1)+"] = ");fis=in.nextFloat();
System.out.print("Nilai Kimia["+(i+1)+"] = ");kim=in.nextFloat();
rata = ( mtk + fis + kim)/3;

inp.nama=s1;
inp.nilai1=mtk;
inp.nilai2=fis;
inp.nilai3=kim;
inp.rata = rata;
return inp; }

public static objek_1[] sortDataNamaSiswa(objek_1[] dat) {


objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++) {
for(int j=i+1;j<dat.length;j++) {
if((dat[i].nama).compareTo(dat[j].nama)>0) {
temp=dat[i];
dat[i]=dat[j];
dat[j]=temp; } } }
return dat;
}

public static objek_1[] sortDataNilaiMTK(objek_1[] dat)


{ objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++) {
for(int j=i+1;j<dat.length;j++) {
if(dat[i].nilai1 > dat[j].nilai1) {
temp=dat[i];
dat[i]=dat[j];
dat[j]=temp; } } }
return dat; }

public static objek_1[] sortDataNilaiFIS(objek_1[] dat) {


objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++) {
for(int j=i+1;j<dat.length;j++) {
if(dat[i].nilai2>dat[j].nilai2) {
temp=dat[i];
dat[i]=dat[j];
dat[j]=temp; } } }
return dat; }

public static objek_1[] sortDataNilaiKIM(objek_1[] dat)


{ objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++) {
for(int j=i+1;j<dat.length;j++) {
if(dat[i].nilai3>dat[j].nilai3) {
temp=dat[i];
dat[i]=dat[j];
dat[j]=temp; } } }
return dat; }

public static objek_1[] sortDataRata(objek_1[] dat)


{ objek_1 temp = new objek_1();
for(int i=0;i<dat.length-1;i++) {
for(int j=i+1;j<dat.length;j++) {
if(dat[i].rata>dat[j].rata) {
temp=dat[i];
dat[i]=dat[j];
dat[j]=temp; } } }
return dat; }

public static void cetak(objek_1[] inp)


{ float mtk,fis,kim;
for(int i=0; i<inp.length; i++) {
System.out.printf("%-9s %.1f %.1f %.1f %.1f
\n",inp[i].nama,inp[i].nilai1,inp[i].nilai2,inp[i].nilai3,inp[i].rata); } } }
Hasil Program
----------Configuration: <Default>---------

Nama siswa [1] = Aldi


Nilai Matematika[1] = 42.5
Nilai Fisika[1] = 71.4
Nilai Kimia[1] = 74.5

Nama siswa [2] = Budi


Nilai Matematika[2] = 71.4
Nilai Fisika[2] = 90.7
Nilai Kimia[2] = 91.7

Nama siswa [3] = Aldo


Nilai Matematika[3] = 23.8
Nilai Fisika[3] = 71.5
Nilai Kimia[3] = 82.3

Nama siswa [4] = Badi


Nilai Matematika[4] = 90.2
Nilai Fisika[4] = 45.8
Nilai Kimia[4] = 91.3

Nama siswa [5] = Cakra


Nilai Matematika[5] = 72.8
Nilai Fisika[5] = 71.1
Nilai Kimia[5] = 44.5

Nama siswa [6] = Lisa


Nilai Matematika[6] = 21.4
Nilai Fisika[6] = 38.7
Nilai Kimia[6] = 92.5

Nama siswa [7] = Luna


Nilai Matematika[7] = 39.9
Nilai Fisika[7] = 44.2
Nilai Kimia[7] = 71.5

Nama siswa [8] = Lusi


Nilai Matematika[8] = 77.7
Nilai Fisika[8] = 82.2
Nilai Kimia[8] = 93.4

Nama siswa [9] = Caca


Nilai Matematika[9] = 88.5
Nilai Fisika[9] = 22.7
Nilai Kimia[9] = 80.8

Nama siswa [10] = Bardi


Nilai Matematika[10] = 23.4
Nilai Fisika[10] = 71.5
Nilai Kimia[10] = 90.2

Nama siswa [11] = Siti


Nilai Matematika[11] = 21.5
Nilai Fisika[11] = 43.7
Nilai Kimia[11] = 92.4

Nama siswa [12] = Santi


Nilai Matematika[12] = 32.2
Nilai Fisika[12] = 14.8
Nilai Kimia[12] = 81.2

Hasil sorting berdasarkan nama siswa:

Aldi 42.5 71.4 74.5 62.8


Aldo 23.8 71.5 82.3 59.2
Badi 90.2 45.8 91.3 75.8
Bardi 23.4 71.5 90.2 61.7
Budi 71.4 90.7 91.7 84.6
Caca 88.5 22.7 80.8 64.0
Cakra 72.8 71.1 44.5 62.8
Lisa 21.4 38.7 92.5 50.9
Luna 39.9 44.2 71.5 51.9
Lusi 77.7 82.2 93.4 84.4
Santi 32.2 14.8 81.2 42.7
Siti 21.5 43.7 92.4 52.5

Hasil sorting berdasarkan nilai Matematika :

Lisa 21.4 38.7 92.5 50.9


Siti 21.5 43.7 92.4 52.5
Bardi 23.4 71.5 90.2 61.7
Aldo 23.8 71.5 82.3 59.2
Santi 32.2 14.8 81.2 42.7
Luna 39.9 44.2 71.5 51.9
Aldi 42.5 71.4 74.5 62.8
Budi 71.4 90.7 91.7 84.6
Cakra 72.8 71.1 44.5 62.8
Lusi 77.7 82.2 93.4 84.4
Caca 88.5 22.7 80.8 64.0
Badi 90.2 45.8 91.3 75.8
Hasil sorting berdasarkan nilai Fisika :

Santi 32.2 14.8 81.2 42.7


Caca 88.5 22.7 80.8 64.0
Lisa 21.4 38.7 92.5 50.9
Siti 21.5 43.7 92.4 52.5
Luna 39.9 44.2 71.5 51.9
Badi 90.2 45.8 91.3 75.8
Cakra 72.8 71.1 44.5 62.8
Aldi 42.5 71.4 74.5 62.8
Bardi 23.4 71.5 90.2 61.7
Aldo 23.8 71.5 82.3 59.2
Lusi 77.7 82.2 93.4 84.4
Budi 71.4 90.7 91.7 84.6

Hasil sorting berdasarkan nilai Kimia :

Cakra 72.8 71.1 44.5 62.8


Luna 39.9 44.2 71.5 51.9
Aldi 42.5 71.4 74.5 62.8
Caca 88.5 22.7 80.8 64.0
Santi 32.2 14.8 81.2 42.7
Aldo 23.8 71.5 82.3 59.2
Bardi 23.4 71.5 90.2 61.7
Badi 90.2 45.8 91.3 75.8
Budi 71.4 90.7 91.7 84.6
Siti 21.5 43.7 92.4 52.5
Lisa 21.4 38.7 92.5 50.9
Lusi 77.7 82.2 93.4 84.4

Hasil sorting berdasarkan nilai Rata-Rata :

Santi 32.2 14.8 81.2 42.7


Lisa 21.4 38.7 92.5 50.9
Luna 39.9 44.2 71.5 51.9
Siti 21.5 43.7 92.4 52.5
Aldo 23.8 71.5 82.3 59.2
Bardi 23.4 71.5 90.2 61.7
Aldi 42.5 71.4 74.5 62.8
Cakra 72.8 71.1 44.5 62.8
Caca 88.5 22.7 80.8 64.0
Badi 90.2 45.8 91.3 75.8
Lusi 77.7 82.2 93.4 84.4
Budi 71.4 90.7 91.7 84.6

Process completed.

C. Recursive

Metoda recursive merupakan metoda dimana metoda tersebut akan memanggil


metoda itu sendiri. Metoda ini prinsipnya hampir sama dengan prinsip loop
(pengulangan). Metoda ini sangat berguna agar dapat menghemat memori.
 Proses yang memanggil dirinya sendiri.
 Merupakan suatu fungsi atau prosedur
 Terdapat suatu kondisi untuk berhenti.
 Bentuk rekursi bertujuan untuk :
- menyederhanakan penulisan program
- menggantikan bentuk iterasi

1.Contoh Soal

1. Buat program untuk menghitung nilai factorial, dari 0! Sampai 9! Dengan data input
dimasukan lewat keyboard. Kerjakan dengan 2 cara.

a. Non recursive
Program
package inputSwing;
import javax.swing.JOptionPane;
public class P6_01 {

public static int faktorial (int n)


{int f=1;
if(n<2) f=1;
else
for(int y=2;y<=n;y++)
{f=f*y;}
return f;}
public static void main (String[]args){
int n;

P6_01 rec = new P6_01();


n=Integer.parseInt(JOptionPane.showInputDialog("Masukan Data :"));
if(n>13){
System.out.println("Melampaui batas type data int");}
System.out.println(n+"! = "+rec. faktorial(n));
}}
Hasil Program
-------Configuration:
<Default>-------

5! = 120

Process completed.

b. Dengan recursive
Program
package inputSwing;
import javax.swing.JOptionPane;
public class P6_02 {

public static void main(String[] args) {


int n;
P6_02 rec = new P6_02();
n=Integer.parseInt(JOptionPane.showInputDialog("Masukan Data :"));
System.out.println(n+"! = "+rec.faktorial(n));}
public int faktorial(int n){
if (n<2)
return 1;
else
return (n * faktorial(n-1));} }
Hasil Program
-------Configuration: <Default>-------

5! = 120
Process completed.

2. Seperti soal pertama, dengan range 0 ! sampai 19 ! Kerjakan dengan 2 cara.

a. Non recursive
Program
package inputSwing;
import javax.swing.JOptionPane;
public class P6_03 {

public long faktorial (int n)


{long f=1;
if(n<2) f=1;
else
for(int y=2;y<=n;y++)
{f=f*y;}
return f;}
public static void main (String[]args){
int n;
P6_03 rec = new P6_03();
n=Integer.parseInt(JOptionPane.showInputDialog("Masukan Data
:"));
System.out.println(n+"! = "+rec. faktorial(n));
}}
Hasil Program
----Configuration: <Default>--
--

19! = 121645100408832000

Process completed.

b. Dengan recursive
Program
package inputSwing;
import javax.swing.JOptionPane;
public class P6_04 {

public static void main(String[] args) {


int n;
P6_04 rec = new P6_04();
n=Integer.parseInt(JOptionPane.showInputDialog("Masukan Data
:"));
System.out.println(n+"! = "+rec.faktorial(n));}

public long faktorial(int n){


if (n<2)
return 1;
else
return (n * faktorial(n-1));} }
Hasil Program
----Configuration: <Default>--
--

19! = 121645100408832000

Process completed.

3. Buat program untuk mencari nilai AB untuk nilai A dan B dari 0 hingga 9. Kerjakan
dengan 2 cara.
a. Non recursive

Program
import java.util.Scanner;
public class P6_05 {

public static void main (String[]args){


int A;
int B;
P6_05 rec = new P6_05();
Scanner x = new Scanner(System.in);
System.out.print ("Nilai A = ");
A = x.nextInt();
System.out.print ("Nilai B = ");
B = x.nextInt();
System.out.println(A+"^"+B +" = "+rec.pangkat(A,B)); }
public int pangkat(int A, int B)
{int x, i;
x = 1;
if(B==0) return 1;
else if (B==1) return A;
else
for (i = 0 ; i < B ; i++){ x = x * A; }
return x ;
}}
Hasil Program
-----Configuration: <Default>-----

Nilai A = 5
Nilai B = 3
5^3 = 125

Process completed.

b. Dengan recursive
Program
import java.util.Scanner;
public class P6_06 {

public static void main (String[]args){


int A;
int B;
P6_06 rec = new P6_06();
Scanner x = new Scanner(System.in);
System.out.print ("Nilai A = ");
A = x.nextInt();
System.out.print ("Nilai B = ");
B = x.nextInt();
System.out.println(A+"^"+B +" = "+rec.pangkat(A,B));}

public int pangkat(int A, int B){


int i;
if(B==0) return 1;
else if (B==1) return A;
else return (A*pangkat(A,B-1));} }
Hasil Program
-----Configuration: <Default>-----

Nilai A = 5
Nilai B = 3
5^3 = 125

Process completed.

4. Buat program untuk mencari nilai AB untuk nilai A dan B dari -9 hingga 9.
Kerjakan dengan 2 cara.

a. Non recursive

Program
import java.util.Scanner;
public class P6_07 {

public static void main (String[]args){


int A;
int B;
P6_07 rec = new P6_07();
Scanner x = new Scanner(System.in);
System.out.print ("Nilai A = ");
A = x.nextInt();
System.out.print ("Nilai B = ");
B = x.nextInt();
System.out.println(A+"^"+B +" = "+rec.pangkat(A,B)); }

public double pangkat (double A, double B)


{double i;
double d = 1;
double x=1;
double y;
y = 1/x;
if(B == 0) return 1;
else if (B == 1) return A;
if ( B > 0 ){for (i = 0 ; i < B ; i++){
x = x * A;}
return x ;}
if ( B < 0 ){for (i = 0 ; i > B ; i--){
x = x * A ;}
y = 1/x; return y;}
return d; }}
Hasil Program
--------------------Configuration: <Default>--------------------
Nilai A = 9
Nilai B = -9
9^-9 = 2.581174791713197E-9

Process completed.

b. Dengan recursive
Program
import java.util.Scanner;
public class P6_06 {

public static void main (String[]args){


int A;
int B;
P6_06 rec = new P6_06();
Scanner x = new Scanner(System.in);
System.out.print ("Nilai A = ");
A = x.nextInt();
System.out.print ("Nilai B = ");
B = x.nextInt();
System.out.println(A+"^"+B +" = "+rec.pangkat(A,B));}

public int pangkat(int A, int B){


int i;
if(B==0) return 1;
else if (B==1) return A;
else return (A*pangkat(A,B-1));} }

Hasil Program
--------------------Configuration: <Default>--------------------
Nilai A = 9
Nilai B = -9
9^-9 = 2.581174791713197E-9

Process completed.

5. Membuat program untuk mengurutkan bilangan fibonaci. Kerjakan dengan 2


cara.

a. Non recursive
Program
public class P6_08 {

public static void main (String[] args){


int x,y,z;
x = 1;
y = 1;
z = x + y;
System.out.println ("");
System.out.print (x+" , "+y);
while(z <=10000){
System.out.print (" , ");
System.out.print (z + " ");
x = y;
y = z;
z = x + y;
}
System.out.println ("");
System.out.println (""); }}
Hasil Program
-------Configuration: <Default>-----

1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 , 233 , 377 , 610 , 987 ,


1597 , 2584 , 4181 , 6765

Process completed.

b. Dengan recursive
Program
public class P6_11 {

public static int deret ( int a ){


if ( a == 1){
return 1;
}
else if ( a == 2) return 1;
else {
return ( (deret (a-2)+deret (a-1))); }}

public static void main ( String [] args){


int n = 20;
for ( int i=1;i<=n;i++){
System.out.print (deret(i)+" , "); } } }

Hasil Program
Configuration: <Default>-----

1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 , 233 , 377 , 610 , 987 ,


1597 , 2584 , 4181 , 6765

Process completed.

6. Membuat program untuk mengurutkan bilangan dengan data 1 = -4 dan


data 2 = 5. Kerjakan dengan 2 cara.
a. Non Recursive
Program
import java.util.Scanner;
public class P6_09 {

public static void main (String[] args){


int i;
Scanner input = new Scanner(System.in);
System.out.println ("Banyak kaki = ");
int batas = input.nextInt();
double S1 = 4;
double S2 = -5;
double S3 = S1*S2*2;
for (i = 1 ; i<=batas;i++)
{
System.out.print (S2 + " , ");
S1 = S2;
S2 = S3;
S3 = S1*S2*2;
}}}

Hasil Program
--------------------Configuration: <Default>--------------------
Banyak kaki = 12
-5.0 , -40.0 , 400.0 , -32000.0 , -2.56E7 , 1.6384E12 , -8.388608E19
, -2.74877906944E32 , 4.6116860184273877E52 , -
2.535301200456459E85 , -2.3384026197294447E138 ,
1.1857109937901179E224 ,

Process completed.

b. Dengan recursive
Program
public class P6_10 {

public static double deret ( int a ){


if ( a == 1){
return 4;
}
else if ( a == 2) return 5;
else {

return ( (deret (a-2)*deret (a-1)*2));


}
}

public static void main ( String [] args){


double n = 13;
for ( int i=1;i<=n;i++){
System.out.print (deret(i)+"");
}
}}
Hasil Program
--------------------Configuration: <Default>--------------------
Banyak kaki = 12
-5.0 , -40.0 , 400.0 , -32000.0 , -2.56E7 , 1.6384E12 , -8.388608E19
, -2.74877906944E32 , 4.6116860184273877E52 , -
2.535301200456459E85 , -2.3384026197294447E138 ,
1.1857109937901179E224 ,

Process completed.

Anda mungkin juga menyukai