Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang...

54
Kelas & Method PART 2 12 th week Estu Sinduningrum ST,MT

Transcript of Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang...

Page 1: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Kelas & Method

PART 2

12th week

Estu Sinduningrum ST,MT

Page 2: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Memanggil Method

Konstruktor Lain

Bila konstruktor B ingin menduplikasi behavior

yang dimiliki oleh konstruktor A pada kelas yang

sama, maka B harus memangggil A.

Gunakan keyword this untuk memanggil

konstruktor.

Estu Sinduningrum, ST, MT

Page 3: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method finalizer

Objek dalam program yang sedang dieksekusi memiliki

waktu hidup (life time).

Objek tercipta pada saat Anda menginstans suatu kelas

(dengan Operator new) dan akan dihapuskan pada saat

objek dikumpulkan untuk sampah (Garbage

Collection) atau bila memory yang ditempatinya telah

diklaim oleh objek/bagian program lainnya

Estu Sinduningrum, ST, MT

Page 4: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method finalizer

Method yang dibubuhi modifier finalize ini dapat dikatakan

juga sebagai lawan/kebalikan dari method konstruktor.

Bila Method konstruktor akan-menginisialisasi objek

dengan parameter awal, maka method finalizer dipanggil

sesaat sebelum Objek dihancurkan.

Bentuk Umum:

Estu Sinduningrum, ST, MT

protected void finalize() throws Throwable {

super.finalize();

}

Page 5: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method Main Setelah selesai mengetik source code aprikasi, langkah berikutnya

adalah mengkompile dan menjalankan program rersebut.

Kompilasi dilakukan dengan Java Kompiler yang akan mengubah fire

source code (*java) berformat plain text menjadi file byte cocle (*.crass).

File *.class ini selaniutnya siap dieksekusi oleh Java Interpreter.

Pada saat kompilasi, pertama-tama kompiler akan mencari bagian

program yang disebut sebagai method utama (main method). Main

method ini memiliki bentuk standard, yakni:

Estu Sinduningrum, ST, MT

public static void main(String [] argurnents) {

Statement body dari main method;

}

Page 6: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method Penjelasan

public Karena method ini merupakan bagian dari program yang

pertama dicari oleh kompiler, maka main method harus

dapat “dilihat”atau visible oleh kelas mana pun.

static Semua objek yang diinstans dari suatu kelas yang

mengandung main method akan memiliki parameter-

parameter yang sama. Bila suatu kelas mendukung main

method dan di dalam main method tersebut terdapat

statement untuk menginstansiasi objek dari kelas tersebut,

maka main method akan bersifat eksklusif, tidak ikut

"diserahkan" kepada objek tersebut.

void Jelas bahwa main method ini tidak mengembalikan suatu

nilai.

Estu Sinduningrum, ST, MT

Page 7: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method dari Kelas Math Selain method yang dapat Anda buat sendiri, Java juga memiliki

banyak method standard sebagai referensi.

Di antaranva adalah fungsi-fungsi matematika yang terdapat di

dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos,

atan), eksponensial, dan beberapa method tambahan (max,min, abs,

random, round).

Di samping itu, terdapat juga konstanta matematika seperti PI

(3.14) untuk merepresentasikan sudut/ lingkaran dan E adalah

konstanta Euclid (2.72) untuk logaritma natural.

Karena kelas Math ini terkandung daram package java.lang yang

merupakan default package, maka untuk memanggil method dan

konstanta- nya, cukup dengan format Math.nama.Method, contoh

Math.abs(), Math.sin(), Math.PI, dan seterusnya.

Estu Sinduningrum, ST, MT

Page 8: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method Trigonometri

Dalam trigonometri Anda mengenal dua dimensi pengukuran sudut,

yakni derajat dan radian.

Umumnya, dalam perhitungan matematis Anda terbiasa bekerja

dengan menggunakan derajat.

Nilai yang Anda ketikkan dari keyboard juga diperlakukan sebagai

derajat. Namun, method-method trigonometri Java memerrukan

birangan yang berupa radian sebagai argumen inputnya.

Oleh karena, Anda perlu mengkonversi terlebih dahulu besaran

derajat tersebut menjadi radian.

Estu Sinduningrum, ST, MT

Page 9: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method Trigonometri

Hubungan antara derajat dan radian adalah:

[] adalah konstanta sudut yang besarnya = 3.14. .

Dari hubungan kesetaraan terrihai bahwa nilai sudut z dalam derajat, akan

sama dengan (2[]/360) * z radian, jadi Anda perlu mengalikan nilai input

argumen dengan faktor []/180.

Java telah menyediakan 2 method konversi; toRadians dan toDegrees

untuk mengkonversi sudut.

Method yang Anda butuhkan saat ini adalah toRadians.

Estu Sinduningrum, ST, MT

Page 10: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Netbeans 17 :

Page 11: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT /**

* Title : Program Trigonomatri

* Deskripsi : Menampilkan beberapa perhitungan

* fungsi Trigonometri (sin, cos, tan,

* asin, acos, atan, konversi sudut).

*/

import java.text.DecimalFormat;

class Trigonometri {

/** Main Method */

public static void main(String[] args) {

// Mendeklarasikan beberapa variabel

double sudut, sudutDerajat, sudutRadian, hasilSin,

hasilCos, hasilTan, hasilAsin, hasilAcos, hasilAtan;

System.out.println("\nPROGRAM MENGHITUNG

FUNGSI SUDUT");

System.out.println("-------------------------------\n");

System.out.print("Masukkan sudut :");

sudut = InputConsole.readDouble();

// Mengkonversi euduts derajat menjadi radian

sudutRadian = Math. toRadians (sudut);

sudutDerajat =

Math.toDegrees(sudutRadian) ;

// Sinus dari sudut

hasilSin = Math.sin(sudutRadian) ;

// Cosinus dari sudut

hasilCos = Math.cos(sudutRadian) ;

// Tan dari sudut

hasilTan = Math.tan(sudutRadian) ;

// Asinus dari sudut

hasilAsin = Math.asin(hasilSin) ;

// Acos dari sudut

hasilAcos = Math.acos(hasilCos) ;

// Asinus dari sudut

hasilAtan = Math.atan(hasilTan) ;

// Mengubah fornst do:bLe statrdard

menjadi double

// dengan tiga digit desimal dengan

memanfaatkan method

// 'format' pada kelas DecimalFormat.

DecimalFormat digitPresisi = new

DecimalFormat ( "0,000" );

Page 12: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT System.out.println("\nFUNGSI

TRIGONOMETRI");

System.out.println("--------------------\n");

System.out.println("Sinus dari sudut : " + sudut

+ " adalah " + digitPresisi.format (hasilSin)) ;

System.out.println("Cosinus dari sudut : " +

sudut + " adalah " + digitPresisi.format

(hasilCos)) ;

System.out.println("Tan dari sudut : " + sudut +

" adalah " + digitPresisi.format (hasilTan)) ;

System.out.println("Arc Sinus dari : "+

digitPresisi.format(hasilSin)+"adalah"+

digitPresisi.format(Math.toDegrees (hasilAsin)));

System.out.println("Arc Cosinus dari : "+

digitPresisi.format(hasilCos)+"adalah"+

digitPresisi.format(Math.toDegrees

(hasilAcos)));

System.out.println("Arc Tan dari : "+

digitPresisi.format(hasilTan)+"adalah"+

digitPresisi.format(Math.toDegrees

(hasilAtan)));

} }

Page 13: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method Pembulatan Ada beberapa method yang dapat digunakan untuk pembulatan bilangan,

yaitu:

1) abs ()

Method ini akan mengembalikan nilai absolut dari suatu argumen. Bila

argumen bernilai positif, maka nilai yang dikembalikan adalah nilai argumen

tersebut, sedangkan bila negatif, maka bilangan tersebut akan dijadikan positif

terlebih dahulu.

Ada empat bentuk abs sesuai dengan tipe datanya,yaitu:

Estu Sinduningrum, ST, MT

static int abs(int i)

static long abs(long l)

stetic float abs(float f)

static double abs(double d)

Page 14: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

2) ceil()

Method ini akan mengembalikan nilai double yang terkecil yang

tidak lebih kecil daripada argumen d dan sama dengan integer

matematika (bilangan bulat desimal).

Contoh:

ceil(7.3) = 8

ceil(-l.3) = -7

Estu Sinduningrum, ST, MT

Method Pembulatan

static double ceil(double d)

Page 15: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

3) floor()

Kebalikan dari ceil(), method floor() mengembalikan nilai double

terbesar yang tidak lebih besar daripada argumen d dan sama dengan

inteqer matematika (bilangan bulat desimal).

Bentuk :

Contoh:

floor(7.3) = 7

floor(-7.3) = 8

Estu Sinduningrum, ST, MT

Method Pembulatan

static double floor(double d)

Page 16: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

3) round()

Mengembalikan nilai integer yang paling dekat dengan

argurmen.

Bentuk :

Contoh:

round(7.3) = 7

round(7.6) = 8

Estu Sinduningrum, ST, MT

Method Pembulatan

static int round(float f)

static long round(double f)

Page 17: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method max dan min

Method max() akan mengembalikan nilai yang terbesar di antara

dua bilangan, sedangkan method min() akan mengembalikan nilai

yang terkecil di antara dua bilangan.

Bentuk method max(): Bentuk method min():

Estu Sinduningrum, ST, MT

static int max(int a, int b)

static long max(long a, long b)

stetic float max(float a, float b )

static double max(double a, double b )

static int min(int a, int b)

static long min(long a, long b)

stetic float min(float a, float b )

static double min(double a, double b )

Page 18: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method Perpangkatan,

Akar, dan Eksponensial a) pow – pangkat

Bentuk :

b) Method ini

exp – pangkat eksponensial

Bentuk :

Estu Sinduningrum, ST, MT

static double pow (double a, double b)

static double exp (double a)

Page 19: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method ini mengembalikan hasil pangkat eksponensial e dengan bilangan a.

log --logaritma berbasis e

Bentuk :

Method ini mengembalikan hasil logaritma e dari bilangan a.

sqrt --akar

Bentuk :

Method ini mengernbalikan hasil akar pangkat dua dari suatu argumen a.

Estu Sinduningrum, ST, MT

Method Perpangkatan,

Akar, dan Eksponensial

static double log (double a)

static double sqrt (double a)

Page 20: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Method Random Generator

Bentuk:

Method ini akan mengembalikan suatu bilangan acak (random) yang .

lebih besar daripada atau sama dengan 0.0 dan lebih kecil daripada atau

sama dengan 1.0. Jadi, range nilai kembalinya adalah 0.0 <= <=r

xx

Estu Sinduningrum, ST, MT

static double random()

Page 21: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Netbeans 18 :

Page 22: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT /**

* Title : Program MethodMath

* Deskripsi : Menampilkan beberapa perhitungan

* fungsi matematika (abs, log, pow, sqt,

* random, round, max, min)

* dalam perhitungan.

*/

class DemoMethodMath{

public static void main(String[] args) {

double a, b, c, d, e, f,g;

double hasilAbs, hasilLn, hasilPow, hasilSqrt

hasilRandom;

double hasilRound1, hasilRound2, hasilCeil1,

hasilCeil2;

double hasilFloor1, hasilFloor2, hasilMax,

hasilMin;

// Mengambil nilai absolute

a = -164.72;

hasilAbs = Math.abs(a);

// Mengambil logaritma natural (E) dari suatu nilai

b = Math.E*Math.E;

hasilLn = Math.log(b);

// Menghasilkan nilai c dipangkat d

c = 10; d = 3;

hasilPow = Math.pow (c,d);

// Menghasilkan akar pangkat 2 dari suatu nilai

e = 625;

hasilSqrt = Math.sqrt(e);

// Menghasilkan sebarang bilangan acak

(random)

hasilRandom = Math.random();

// Membulatkan nilai koma desimal ke integer

terdekat

f = 3.4988;

hasilRound1 = Math.round(f);

hasilRound2 = Math.round(a) ;

// Membulatkan ke integar terdekat yang >

argumen

g = -f;

hasilCeil1 = Math.ceil(f);

hasilCeil2 = Math.ceil(g);

Page 23: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT // Membulatkan ke intseger terdekat yang < argumen

hasilFloor1 = Math.floor(f);

hasilFloor2 = Math.floor(g);

// Mengambil nilai terbesar dari dua bilangan

hasilMax = Math.max(a,b) ;

// Mengambil nilai terkecil dari dua bilangan

hasilMin = Math.min(a,b) ;

System.out.println("\nDEMO PENGGUNAAN BEBERAPA METHOD MATH");

System.out.println("------------------------------------\n");

System.out.println("Hasil Absolute dari :"+ a +"="+ hasilAbs);

System.out.println("Hasil Log Natural dari :"+ b +"="+ hasilLn);

System.out.println("Hasil Pemangkatan dari :"+ c +" dipangkat"+d+"="+ hasilPow);

System.out.println("Hasil Akar dari :"+ e +" ="+ hasilSqrt);

System.out.println("Nilai Random :" + hasilRandom);

System.out.println("Hasil Pembulatan 'Round' :"+ f +"="+ hasilRound1+"\t, "+a+"="+

hasilRound2);

System.out.println("Hasil Pembulatan 'Ceil' :"+ f +"="+ hasilCeil1+"\t, "+a+"="+

hasilCeil2);

System.out.println("Hasil Pembulatan 'Floor' :"+ f +"="+ hasilFloor1+"\t, "+a+"="+

hasilFloor2);

System.out.println("Nilai Max dari :"+ a +"dan"+ b +"="+ hasilMax);

System.out.println("Nilai Min dari :"+ a +"dan"+ b +"="+ hasilMin);

} }

Page 24: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Beberapa Aplikasi Method Math

Estu Sinduningrum, ST, MT

Page 25: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Netbeans 19 :

Page 26: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT /**

* Title : Standart Deviasi

* Deskripsi : Menghitung Standart Deviasi

*/

public class StandardDeviasi {

/** Main Method */

public static void main(String[] args) {

System.out.println("\nPROGRAM MAIN dan

STANDARD DEVIASI\n");

System.out.print("Masukkan jumlah bilangan:");

int jumlahElemen = InputConsole.readInt();

System.out.println("-------------------------------");

// Mendeklarasikan array untuk bilangan yang akan

diproses

double[] arrayBilangan = new double[

jumlahElemen ];

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

int indeks = 1;

System.out.print("Masukkan elemen ke-" +

(indeks+=i)+"\t :");

arrayBilangan [i] = InputConsole.readDouble();

}

// Mencetak elemen-elenen

cetakArray (arrayBilangan);

//Menampilkan Mean dan Standard Deviasi

System.out.println("Mean (Rata-

rata):"+mean(arrayBilangan));

System.out.println("Standard Deviasi:"+

sDeviasi(arrayBilangan));

}

/** Method untuk menghitung Standard

Deviasi */

public static double sDeviasi (double[]x)

{

double mean = mean(x);

double squareSum = 0;

for (int i = 0; i < x.length; i++)

{

Page 27: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT squareSum += Math.pow(x[i] - mean,2);

}

return Math.sqrt(squareSum)/(x.length - 1);

}

/** Method untuk menghitung Mean */

public static double mean (double[] x )

{

double sum = 0;

for (int i =0; i < x.length; i++)

sum += x[i];

return sum/x.length; }

/** Method untuk mencetak array */

public static void cetakArray (double[] x )

{

System.out.println("\nNilai yang dimasukkan adalah:");

System.out.println("-------------------------------");

System.out.print("[");

for (int i = 0; i< x.length; i++)

System.out.print(x[i]+"");

System.out.print("]");

System.out.println("\n");

} }

Page 28: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Game: Menebak Mata Dadu

Agar Anda tidak jenuh belajar Java, marilah Anda buat game menebak

jumlah mata dari dua dadu yang dilemparkan.

Namun sebelumnya, ini hanya sekedar permainan, bukan untuk dijadikan

ajang taruhan. Dua dadu yang dilemparkan memiliki kemungkinan

jumlah mata sebagai berikut;

Estu Sinduningrum, ST, MT

Keterangan:

Angka yang dicetak miring

adalah kemungkinan jumlah

yang dihasilkan dari mata

dadu pertama + mata dadu

kedua.

Page 29: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Netbeans 20 :

Page 30: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT /**

* Title : Tebak Dadu

* Deskripsi : Menebak hasil penjumlahan

* dari guliran dua dadu

*/

public class TebakDadu {

/** Main Method */

public static void main(String[] args) {

System.out.println("\nPROGRAM MENEBAK

JUMLAH DUA DADU");

System.out.println("-------------------------------

\n");

System.out.print("Masukkan tebakan anda [2-12]

:");

int tebakan = InputConsole.readInt();

if(( tebakan >0) && (tebakan<=12)) {

TebakDadu td = new TebakDadu();

int hasilGuliran = td.gulirDuaDadu();

if(tebakan== hasilGuliran)

System.out.println("\nHebat.... tebakan anda

benar !!!");

else {

System.out.println("Maaf... anda belum

beruntung");

System.out.println("Hasil guliran dua dadu

adalah :"+ hasilGuliran);

} }

else

System.out.println("Anda memasukkan

bilangan "+ "yang invalid !!!");

}

// Method Menggulirkan dua dadu dan

menjumlahkan

// hasil.

public int gulirDuaDadu () {

int dadu1, dadu2, jumlahDuaDadu;

dadu1 = 1+(int) (Math.random()*6);

dadu2 = 1+(int) (Math.random()*6);

jumlahDuaDadu = dadu1

+dadu2;

return jumlahDuaDadu;

} }

Page 31: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Tipe

Kembalian

Deskripsi Method Kelas Math

Static double asin(double a)

Mengembalikan nilai arc sinus dari suatu sudut (dalam radian).

Static double atan(double a)

Mengembalikan nilai arc tangent dari suatu sudut (dalam radian).

Static double atan2(double y, double x)

Mengubah koordinat rectangular (x, y) menjadi polar (r, theta).

Static double ceil(double a)

Mengembalikan nilai double terkecil yang tidak kurang dari dan

sama dengan bilangan bulat integer.

Static double cos(double a)

Mengembalikan nilai cosinus dari suatu sudut (dalam radian).

Static double exp(Couble a)

Mengembalikan nilai pangkat eksponensial Euler e raised terhadap

suatu nilai double.

Static double floor(double a)

Mengembalikan nilai double yang terbesar yang tldak lebih dari

pada argument dan sama dengan bilangan bulat integer.

Estu Sinduningrum, ST, MT

Page 32: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT

Tipe

Kembalian

Deskripsi Method Kelas Math

Static double IEEE remainder(double f1, double f2)

Menghitung sisa operasi pada terhadap dua argumen sesuai dengan stanCard

IEEE754

Static double log(double a)

mengembalikan nilai logaritma natural (berbasis e) dari suatu nilai double.

Static double max(double a, double b)

Mengembalikan nilai terbesar di antara dua nilai double.

Static float max(float a, float b)

Mengembalikan nilai terbesar di antara dua nilai float.

Static int max(int a, int b)

Mengembalikan nilai terbesar diantara dua nilai int.

Static long max(long a, long b)

Mengembalikan nilai terbesar di antara dua nilai long.

Static float min(float a, float b)

Mengembalikan nilai terkecil di antara dua nilai float.

Static int min(int a, int b)

Mengembalikan nilaiterkecil di antara dua nilai int.

Page 33: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT

Tipe

Kembalian

Deskripsi Method Kelas Math

Static long min(long a, long b)

Mengembalikan nilai terkecil di antara dua nilai long.

Static double pow(double a, double b)

Mengembalikan nilai hasil perpangkatan argumen pertama terhadap argumen

kedua

Static double random0

Mengembalikan sebarang nilai double bertanda positif, >= 0.0 dan < 1.0.

Static double rint(double a)

Mengembalikan nilai double yang terdekat dengan nilai argumen dan sama

dengan bilangan bulat integer.

Static long round(double a)

Mengembalikan nilai long terdekai dengan argumen.

Static int round(float a)

Mengembalikan nilai int terdekat dengan argumen (pembulatan).

Static double sin(double a)

Mengembalikan nilai sinus dari suatu sudut (dalam radian).

Page 34: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT

Tipe

Kembalian

Deskripsi Method Kelas Math

Static double sqrt(double a)

Mengembalikan nilai positif akar darisuatu nilai double.

Static double tan(double a)

Mengembalikan nilai tangent dari suatu sudut (dalam radian).

Static double toDegrees(double angrad)

Mengubah sudut yang diukur dalam radians menjadi derajat.

Static double toRadians(double angdeg)

Mengubah sudut yang diukur dalam derajat menjadi radians.

Page 35: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Rekursi: Method Memanggil Diri Sendiri

Selain dapat memanggil method lainnya, suatu method dapat juga

memanggil diri sendiri. Proses ini dinamakan rekursi.

Estu Sinduningrum, ST, MT

REKURSI :

Adalah proses yang terjadi ketika suatu method memanggil diri sendiri.

Page 36: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Beberapa Masalah Klasik

Faktorial

Bila Anda pemah mempelajari teori kemungkinan (probabilitas)

tentu tidak asing dengan konsep faktorial. Sistem perhitungan

faktorial memiliki ketentuan sebagai berikut:

Estu Sinduningrum, ST, MT

Page 37: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Berdasarkan ketentuan diatas, bisa Anda tuliskan beberapa

konsekuensi yang menyertaiya.

Jika nilai faktorial suatu bilangan sama dengan hasil perkalian

bilangan tersebut dengan bilangan-bilangan sebelumnya, selama

bernilai Positif, maka:

(n-2)! = (n-2) x (n-3) x (n-4)...

(n-1)! =(n-1)x(n-2)!

n! = n x (n-1)!

Estu Sinduningrum, ST, MT

Beberapa Masalah Klasik

Page 38: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Bagaimana membuat algoritma programnya ?

Dengan memperhatikan pola di atas cara yang paling efisien untuk

mengalikan bilangan-bilangan faktorial adalah dengan membulat

fungsi perkalian yang dapat memaggil diri sendiri. proses tersebut

terus dikerjakan dengan indeks yang menurun akan berhenti setelah

tercapai n = k.

Estu Sinduningrum, ST, MT

Beberapa Masalah Klasik

Page 39: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT

Beberapa Masalah Klasik

factorial (int n)

{

If (n==0) // Statemen yang akan menghentikan rekursi

return 1;

Else

Return n*factorial (n-1); // Memanggil method factorial Secara rekursif

}

Page 40: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Netbeans 21 :

Page 41: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT /**

*Title : Faktorial Suatu Bilangan

* Deskripsi : Menghitung Hasil Factorial Suatu

Bilangan

*/

public class Faktorial {

/** Main Method */

public static void main(String[] args) {

System.out.println("\nPROGRAM

MENGHITUNG FAKTORIAL");

System.out.println("----------------------------\n");

// Mengintruksikan user untuk memasukkan suatu

integer >= 0

System.out.print("Masukkan bilangan integer

>0:");

int n = InputConsole.readInt();

System.out.println("Nilai Faktorial dari"+ n

+"adalah" + faktorial(n));

}

/** Method rekursi untuk menghitung hasil

*factorial dari n */

static double faktorial(int n)

{

if (n==0)// kondisi yang

menghentikan rekursi

return 1;

else

return n*faktorial(n-1);

}

}

Page 42: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Deret Fibonacci

Deret Fibonacci adalah deretan bilangan yang dihasilkan dari penjumlahan

dua bilangan sebelumnya.

Deret ini dimulai dengan bilangan 0 dan 1, dan berturut-turut akan

dihasilkan bilangan (0+1), (l+l), (l+2), (2+3), dan seterusnya.

Bilangan-bilangan yang menyusun deret Fibonacci disebut juga sebagai

Bilangan Fibonaci.

Selanjutnya Anda akan membuat method sedemikian rupa, sehingga Anda

bisa mengacu kepada suatu bilangan.

Fibonacci proses ini dilakukan dengan memanggil nama method tersebut

dan menyebutkan indeknya, contoh fib(0), fib(3), fib(100), dan

sebagainya.

Bagaimana algoritmanya ?

Estu Sinduningrum, ST, MT

Berdasarkan pola fibonacci,

fib(0) = 0;

fib(l) = 1;

fib(n) = fib(n-l) + fib(n-2); n >= 2

Page 43: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Sekali lagi, Anda akan menggunakan pola rekursi untuk memecahkan masalah tersebut.

Pola fib(n-1)+fib(n-2); n >= 2 bermakna untuk mencari bilangan Fibonacci ke-n.

Anda harus mengerjakan proses perhitungan untuk dua bilangan sebelum indeks ke n (dengan indeks menurun).

Proses akar terus dikerjakan dan berakhir bila n = 2 atau menghasilkan fib(0).

Sebagai ilustrasi Anda akan menghitung nilai bilangan fibonaci ke-7.

Maka urutannya adalah:

fib(7) = fib(6) + fib(5);

fib(6)=fib(5)+fib(4);

fib(5)=fib(4)+fib(3);

fib(4)=fib(3)+fib(2);

fib(3) = fib(2) + fib( l):

fib(2)=fib(l)+fib(0);

fib(1) = 0;

fib(0)= 1;

Estu Sinduningrum, ST, MT

Page 44: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Netbeans 22 :

Page 45: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT /**

* Title : Deret Fibonaci

* Deskripsi : Mendemonstrasikan

* perhitungan untuk

* memperoleh Bilangan Fibonaci ke-n

*/

public class Fibonaci {

/** Main Method */

public static void main(String[] args) {

System.out.println("\nPROGRAM

FIBONACI");

System.out.println("----------------\n");

// Membaca indeks bilangan Fibonaci

System.out.print("Masukkan indeks

bilangan Fibonaci :");

int n = InputConsole.readInt();

// Menghitung dan menampilkan bilangan

Fibonaci

System.out.println("Bilangan Fibonaci pada

indeks "+ n + " adalah " +fib(n));

}

/** Method menghitung bilangan Fibonaci */

public static long fib(long n)

{

if ((n ==0)||(n==1)) // Kondisi yang

menghentikan rekursi

return n;

else

return fib(n-1) + fib(n-2);

}

}

Page 46: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Menara Hanoi

Menara Hanoi adalah istilah yang digunakan untuk

menggambarkan suatu tumpukan balok atau cakram yang tersusun

seperti sebuah piramid.

Sebagai ilustrasi, tinjaulah Menara Hanoi yang tersusun dari 3

balok.

Pada bagian dasarnya, terdapat balok dengan penampang terluas,

di ujungnya balok dengan penampang tersempit, dan di bagian

tengahnya, balok dengan luas penampang di antara keduanva.

Estu Sinduningrum, ST, MT

Page 47: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Ide selanjutnya yang menjadi inti permasalahan dalam Menara Hanoi

adalah memindahkan balok-balok tersebut ke posisi baru, sedemikian

rupa sehingga pada posisi tersebut, balok-balok itu akan tersusun

kembali menjadi Menara Hanoi yang sama.

Berikut ini adalah ketentuan umum dari Fenomena

Pemindahan Menara Hanoi:

1. Anggap terdapat n balok penyusun Menara Hanoi. Masing-masing

balok memiliki luas penampang berbeda yang Anda beri label 1,2, 3,

dan seterusnya. Indeks dimulai dari ujung atas.

2. Diberikan tiga posisi untuk menempatkan balok-balok tersebut (A, B,

C). Posisi A digunakan sebagai posisi awal untuk menyusun Menara

Hanoi pertama kali.

3. Selanjutnya, Menara Hanoi pada posisi A akan dipindahkan ke posisi B.

4. Pemindahan tersebut harus memenuhi kaidah sebagai berikut:

Estu Sinduningrum, ST, MT

Menara Hanoi

Page 48: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

4. Pemindahan tersebut harus memenuhi kaidah sebagai berikut:

Pada setiap langkah, hanya boleh satu balok yang dipindahkan.

Tidak boleh terjadi balok dengan luas penampang yang lebih kecil

ditaruh sebagai alas untuk balok yang lebih besar.

Diijinkan untuk menggunakan posisi C sebagai transit sementara

untuk balok sebelum ditaruh di posisi barunya (B).

Apabila saat proses pemindahan masih berlangsung posisi A sudah

kosong, (seluruh balok terkumpul pada posisi B dan C), maka A

boleh dijadikan tempat transit sementara.

Posisi B dapat juga dianggap sebagai tempat transit sernentara, bila

selama proses belum selesai) balok terkumpul pada A dan C.

Pada akhir proses pemindahan, hanya terdapat satu menara Hanoi,

yaitu pada posisi B, sementara posisi A dan C kosong (tidak

memiliki balok sisa satu pun).

Estu Sinduningrum, ST, MT

Page 49: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT

Aturan Pemindahan Menara Hanoi:

Memindahkan seluruh balok dari posisi A ke B. Pada setiap

langkah hanya boleh satu balok dipindahkan. Tidak boleh balok

kecil menjadi alas bagi balok besar. Posisi C boleh dijadikan

transit sementara. Posisi A dan B bisa juga dijadikan transit

sementara apabila saat proses pemindahan masih berlangsung,

semua balok terkumpul pada dua posisi lainnya.

Page 50: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT

Page 51: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Bagaimana Algoritmanya?

Bila hanva diberikan balok densan jumlah sedikit, Anda dapat secara

sederhana (manual) menyusunya. Untuk n = 1, balok tunggal tersebut

dapat langsung Anda pindahkan dari A ke B. Bila n = 2. balok terkecil Anda

letakkan pada posisi C terlebih dahulu, selanjutnya balok terbesar Anda

pindahkan ke B. Terakhir balok terkecil pada posisi C dipindahkan ke posisi

B. Untuk n = 3, telah Anda bahas sebelumnya.

Sebelumnya pada menara Hanoi dengan jumlah balok n, algoritmanya

dapat diuraikan menjadi tiga subprogram yang dikerjakan secara sekuensial

sebagai berikut:

1. Pindahkan sejumlah n-1 balok yang pertama, dari A ke c dengan

pertolongan posisi B sebagai transit sementara.

2. Memindahkan balok dari A ke B.

3. Memindahkan n-1 balok dari C ke B dengan bantuan posisi A sebagai

transit sementara.

Estu Sinduningrum, ST, MT

Page 52: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Netbeans 23 :

Page 53: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

Estu Sinduningrum, ST, MT /**

* Title : Menara Hanoi

* Deskripsi : Mendemonstrasikan solusi untuk

* masalah Menara Hanoi

*/

public class MenaraHanoi {

/** Main Method */

public static void main(String[] args) {

System.out.println("\nPROGRAM MENARA

HANOI");

System.out.println("--------------------\n");

// Membaca jumlah balok (n)

System.out.print("Masukkan jumlah balok :");

int n = InputConsole.readInt();

// Memindahkan balok secara rekursif

System.out.println("Perpindahan balok :");

System.out.println("-------------------");

memindahkanBalok(n,'A','B','C');

}

// Method untuk memindahlan sejumlah n

balok dari menaraAsal

// ke menaraTujuan dengan bantuan

menaraBantuan

public static void memindahkanBalok(int n, char

menaraAsal, char menaraTujuan, char

menaraBantuan)

{

if (n==1) // kondisi yang

menghentikan rekursi

System.out.println("Memindahan balok"+ n +

" dari "+ menaraAsal + " ke " +

menaraTujuan);

else

{

memindahkanBalok (n-1,

menaraAsal, menaraBantuan, menaraTujuan);

System.out.println("Memindahan balok"+ n +

" dari " + menaraAsal +" ke " +

menaraTujuan);

memindahkanBalok (n-1, menaraBantuan,

menaraTujuan, menaraAsal);

} } }

Page 54: Kelas PART 2 - anisazp.files.wordpress.com · Di antaranva adalah fungsi-fungsi matematika yang terdapat di dalam Math class, yakni trigonometri (sin, cos, tan, asin, acos, atan),

TERIMA KASIH