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

Postingan populer dari blog ini

EYD (Ejaan Yang Disempurnakan)

PERENCANAAN PENULISAN ILMIAH