Percobaan Java
/*
* MathExploreToy.java
*
* Created on June, 2003, 7:17 pm
*/
/**
*
*@author Bambang Haryanto, Ir.MT
*Inspired by Deitel, page 268
*
*/
public class MathExploreToy{
/** Creates a new instance of MathExploreToy */
public
MathExploreToy(){
}
static
void test(){
testE();
testPI();
testAbs();
}
static
void betterTest(){
testIntAbs();
}
static
void testE(){
System.out.println
("Testing untuk Math.E");
System.out.println
("Math.E = "+Math.E);
System.out.println
("");
}
static
void testPI(){
System.out.println("Testing
untuk Math.PI");
System.out.println("Math.PI=
"+Math.PI);
System.out.println("");
}
static void testAbs(){
System.out.println
("Testing untuk Math.abs()");
System.out.println
("Math.abs (-23.7) = "+Math.abs(-23.7));
System.out.println
("Math.abs (0.0) = "+Math.abs(0.0));
System.out.println
("Math.abs (23-7) = "+Math.abs(23.7));
System.out.println
("Double.MIN_VALUES = "+Double.MIN_VALUE);
System.out.println
("Math.abs(Double.MIN_VALUES) = "+Math.abs(Double.MIN_VALUE));
System.out.println
("Math.abs(-Double.MIN_VALUE) = "+Math.abs(-Double.MIN_VALUE));
System.out.println
("Double.MAX_Value = "+Double.MAX_VALUE);
System.out.println
("Math.abs(Double.MAX_VALUE) = "+Math.abs(Double.MAX_VALUE));
System.out.println
("Math.abs(-Double.MAX_VALUE) = "+Math.abs(Double.MAX_VALUE));
System.out.println
("");
}
static void testIntAbs(){
System.out.println
("Cara pengujian yang lebih baik - mendukung otomatisasi!");
System.out.println
("Testing untuk Math.abs() bagi bilangan bulat");
if
(Math.abs(-23) != 23) System.out.println("Math(-23)::Error! Hasil harus
23");
else
System.out.println ("Math(-23):: Correct!");
if
(Math.abs(0) != 0) System.out.println("Math(0)::Error! Hasil harus
0");
else System.out.println
("Math(0):: Correct!");
if
(Math.abs(23) != 23) System.out.println("Math(23)::Error! Hasil harus
23");
else
System.out.println("Math(23):: Correct!");
System.out.println
("Integer.MIN_VALUE = "+Integer.MIN_VALUE);
System.out.println
("Math.abs(Integer.MIN_VALUE) = "+Math.abs(Integer.MIN_VALUE));
System.out.println
("Integer.MAX_VALUE = "+Integer.MAX_VALUE);
if
(Math.abs(Integer.MIN_VALUE)!= -Integer.MIN_VALUE)
System.out.println("Math.abs(Integer.MIN_VALUE::Error!)");
else
System.out.println ("Math.abs(Integer.MIN_VALUE:: Correct!");
if
(Math.abs(Integer.MIN_VALUE)<0) System.out.println
("Math(Integer.MIN_VALUE):: Error! Hasil harus >0");
else
System.out.println ("Math(Integer.MIN_VALUE)::Correct!");
if
(Math.abs(Integer.MAX_VALUE)!= Integer.MAX_VALUE) System.out.println
("Math(Integer.MAX_VALUE):: Error!");
else
System.out.println ("Math(Integer.MAX_VALUE):: Correct!");
System.out.println
("\n\nPERHATIAN!");
System.out.println
("Pengujian menunjukan hasil yang tidak sesuai dengan
matematika!!!\n"+"Pada kondisi batas sangat sulit diprediksi, untuk
itu kita harus mengacu dokumentasi bahasa\n"+ "Pengujian otomatis
kadang tidak dapat mengemukakannya secara benar karena dibatasi juga \n" +
"oleh kemampuan bahasa itu sendiri bila kesalahan adalah pada spesifikasi
bahasa itu sendiri!\n"+"pengujian otomatis akan benar ditangani oleh
para ahli, pengujian dapat ditambah sbb:\n"+"Berdasarkan kenyataan
bahwa hasil fungsi abs tidak boleh kurang dari nol");
System.out.println
("\n"+ "Di Java, Math.abs (Integer.MIN_VALUE) justru
menghasilkan bilangan negatif. \n"+ "Melanggar rumus matematika
dimana hasil fungsi absolut selalu bernilai positif.\n"+ "hasil ini
dapat ditelusuri karena representasi int adalah two's complement\n"+
"versi yang dipakai penulis:: JDK1.4");
}
}
static void testAcos(){
System.out.println
("Math.acos(0.9)="+Math.acos(0.9));
}
static void testCeil(){
}
static void testCos(){
}
static void testExp(){
}
static void testFloor(){
}
static void testLog(){
}
static void testMax(){
}
static void testMin(){
}
static void testPow(){
}
static void testSin(){
}
static void testSqrt(){
}
static void testTan(){
}
public static void main (String[] args){
test();
betterTest();
}
}
Diatas merupakan sebuah program dengan program
notepad++
Setelah dikompile hasilnya
seperti ini:
Bahasan :
Pengujian sebaiknya dilakukan secara otomatis,bukan
secara interaktif. Setelah perbaikan program,kita dapat mengulangi pengujian
tanpa harus berulang kali memasukan kasus melalui keyboard secara interaktif.
/*
*
MathExploreToy.java
*
* Created on June,
2003, 7:17 pm
*/
Merupakan
sebuah komentar,komentar ini berfungsi sebagai penanda blok komentar (/*
dan*/).
/**
*
*@author
Bambang Haryanto, Ir.MT
*Inspired by
Deitel, page 268
*
*
Tipe komentar (/** komentar * /) digunakan untuk kakas pembangkit
dokumentasi (Java documentation
generator tool), javadoc untuk menciptakan dokumentasi terhadap kode sumber.
public class
MathExploreToy{
1.
yang berarti kata kunci public
disebut acces modifier untuk mengendalikan ketampakan penggunaan kode ini
terhadap bagian-bagian lain
2.
kata kunci class,segala
sesuatu diprogram Java berada dalam suatu kelas. Kelas merupakan blok pembangun
di mana aplikasi Java dibanggun.
3. Setelah kat kunci class adalah nama kelas. Aturan nama
kelas di Java sangat umum. Nama harus dimulai huruf,setelah itu boleh kombinasi
huruf dan digit. Kita tidak menggunakan kata yang dicadangkan (reserved word
yang sebagai besar merupakan kata kunci ) untuk nama kelas MathExploreToy,adalah
nama kelas .
System.out.println
("Testing untuk Math.E");
kita
memanggil metode println() dan melewatkan parameter string “Testing untuk
Math.e”. Metode ini menampilkan parameter string ke konsol. Metode di
Java,seperti fungsi di bahasa lain dapat
menggunakan nol parameter atau lebih (beberapa bahasa menyebutnya argumen).
Meski metode tidak memerlukan parameter (nol parameter),kita harus memanggil
dengan pasangan kurung kosong. Contoh : jika kita memanggil println()
tanpa parameter,kita memanggil dengan System.out.println();
efeknya
adalah mencetak ganti baris dilayar.
test();
betterTest();
Dengan metode test() kita melakukam
pengujian,namun kita harus mengamati hasil dan membandingkan sendiri hasil yang
diperoleh di layar komputer.
Metode betterTest() adalah satu kemajuan berikutnya: static void testIntAbs(){
System.out.println
("Cara pengujian yang lebih baik - mendukung otomatisasi!");
Betapa
sulitnya pengujian tampak pada metode tsb :
a.
Kita telah dibantu oleh kode pengujian dimana akan tampil
dilayar : “Error ::” bila terdapat kesalahan di program (metode) yang diuji.
b.
Penguji harus pintar dan selektif agar sesuai dengan
konstrain yang berlaku di Matematik,tidak hanya mengandalkan yang disediakan
oleh bahasa.
public static void main
(String[] args){
fungsi main () harus ditetapkan sbg
berikut:
1. Public berarti metode dapat
dipanggil dari manapun di dalam dan di luarkelas.
2. Static berarti adalah sama
untuk seluruh instan dari kelas.
3. Void berarti metode tidak
mengirim apapun setelah selesai.
Fungsi main mempunyai argumen yang
diambil dari lingkungan eksekusi. Argument Args[] adalah array objek String
argumen-argumen baris perintah yang
dilewatkan ke kelas yng dieksekusi. Kelas MathExploreToy mengabaikan seluruh argument baris
perintah.
Karakter Unicode spesial
Barisan Escape
|
Nama
|
Nilai Unicode
|
\b
|
Backspace
|
\u0008
|
\t
|
Tab
|
\u0009
|
\n
|
Linefeed
|
\u000a
|
\r
|
Carriage return
|
\u000d
|
\"
|
Petik ganda
|
\u0022
|
\'
|
Petik tunggal
|
\u0027
|
\\
|
Backslash
|
\u005c
|
Komentar
Posting Komentar