Minggu, 26 Oktober 2014

Rumus ABC

Berikut adalah program java untuk bilangan rill atau tidak rill.
Berikut adalah hasil bilangan yang rill. Yang dimana data tersebut diisikan dengan angka (1.0 , 6.0 , 2.0)
Dengan hasil rill maka akan keluar hasil akarnya.

Begitu pula dengan output hasil bilaangan tidak rill. Yang dimana data tersebut diisikan dengan angka (7.0 , 5.0 , 1.0)

Nama : Asrofi Lazuardi
NPM : 21113446

Jumat, 17 Oktober 2014

Kelas Math pada java

Hasil Output:
hasil diatas merupakan hasil penulisan pada notepad, dengan format penuliasan seperti ini:

/*

* MathExploreToy.java

* Created on October 14, 2014, 18.31

*/




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_VALUE = "+Double.MIN_VALUE*(-1));

    System.out.println("Math.abs(Double.MIN_VALUE) = "+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);

    System.out.println("Math.abs(Integer.MAX_VALUE) = "+Math.abs(Integer.MAX_VALUE));

    
if (Math.abs(Integer.MIN_VALUE) != (-Integer.MIN_VALUE))

    System.out.println("Math(Integer.MIN_VALUE) :: Error! ");

    else System.out.println("Math(Integer.MIN_VALUE) :: Correct!");

    if (Math.abs(Integer.MIN_VALUE) < 0)

    System.out.println("Math(Integer.MIN_VALUE) :: Error! 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 menunjukkan 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 menemukannya secara benar karena dibatasi juga\n"+
"oleh kemampuan bahasa itu sendiri bila kesalahan adalah pada spesifikasi bahasa itu sendiri!\n"+
"Pengujian otomatis akan benar ditangan yang 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 :: JDK 1.8"
);

  }

  
  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();

  }

}


koding diatas menggunakan Separator dalam java. dimana simbol "(...)" berfungsi untuk daftar parameter di definisi dan menjalankan metode,mendefinisikan keterdahuluan di ekspresi,ekspresi di pernyataan dikendali dan cost types.
sedangkan fungsi "{...}" berfungsi untuk inisialisasi array dengan nilai-nilai,mendefinisikan blok kode untuk kelas,metode,dan lingkup lokal.
"[...]" digunakan untuk mendeklarasikan tipe tipe Array juga digunakan ketika mendeferensi array array.
";" titik koma. untuk mengakhiri pernyataan
"," koma. digunakan untuk memisahkan indentifier-identifier di deklarasi variabel,dan untuk merangkai pernyataan-pernyataan didalam kalimat for.
"." titik. berfungsi untuk memisahkan nama nama paket dari subpaket dan kelas dan memisahkan variabel atau metode dari variabel reference.

NAMA   :ASROFI LAZUARDI
NPM      : 21113446
KELAS  : 2KB01

Jumat, 10 Oktober 2014

Sejarah dan Kesimpulan Bahasa Pemerograman JAVA

Sejarah pemerograman java dimulai ketika pada tahun 1990,james gosling Pemrogram yang bekerja pada sun microsystem mendapat tugas mnciptakan program untuk mengendalikan perangkat elektronika rumah tangga. Awal mula gosling dan kawan kawan mendesain program menggunakan C++ karena sifatnya yang berorientasi objek. Saat menggunakan C++ Gosling mulai merasakan bahwa bahasa tersebut tidak cocok untuk tugas yang dibebankan kepada timnya. Mereka mulai mendapat masalah karena kompleksitas yang dimiliki oleh C++,misalnya pewarisan majemuk(multiple inheritence) dan masalah bug program, misalnya bocornya memory (memory leaks). Maka Gosling segera merakit sendiri kompuer sederhana untuk menghindari masalah yang ada pada C++ yang ia temui.
Meskipun Gosling tidak menyukai kompleksitas pada C++, namun ia menyukai sintaks dasar dan sifat orientasi objek yang dimiliki oleh C++. Oleh karena itu saat mulai merancang bahasa pemerogramannya sendiri ia menggunakan C++ sebagai modelnya dengan membuang fitur-fitur C++ yang membuatnya susah digunakan untuk menyelesaikan proyek yang menjadi tugasnya. Rancangan bahasa pemerograman yang telah selesai iabuat diberinama OAK( konon di ilhami dari pohon Oak yan tumbuh didepan jendela kerja).
Bahasa pemerograman ini pertama kali digunakan dalam proyek yang disebut dalam proyek yang disebut sebagai proyek go green,dimana tim pengembang berupaya merancang sistem kontrol untuk digunakan di rumah rumah tinggal.sistem kontrol ini memungkinkan memanipulasi berbagai peralatan rumah tangga(tv,vcr,lampu,dan telepon),dengan menggunakan komputer genggam yang disebut star 7. Star 7 menggunakan layar sentuh sebgaai antarmuka dengan pemakai.
Layar sentuh star7 menampilkan sejumlah citra citra Teranimasi ,salah satu diantaranya adalah Duke, yang menjadi maskot java(sepertii Penguin menjadi maskot Linux)
Berikutnya OAK digunakan dalam proyek Video on Demand(VOD) yakni sebagai perangkat lunak ang mengendalikan sistem televisi interaktif. Meskipun proyek go green dan VOD tidak pernah dipasarkan,sun memberikan kesempatan agar bahasa pemerograman Oak berkembang dan matang. Pada saat itulah sun menyadari bahwa oak telah digunakan oleh pihak lain sehingga sun mengganti nama bahasa pemerograman yang dibuat timnya menjadi java.
Java dirancang sesedarhan mungkin namun tetap handal.lebih penting lagi java adalah bahasa pemerograman yangg bebas platform, yang berarti bahwa program yang ddibuat dengan java dapat dijalankan pada sistem komputer lain tanpa perubahan. Sifat bebas-platform ini didapatkan dengan menggunakan format khusus untuk mengkompilasi program program java. Format file yang disebut byte-code, ini dapat dibaca dan dieksekusi oleh smebarang sistem komputer yang memiliki interpreter java. Interpreter yang java yang digunakan tentu saja interpreter yang ditulis khusus untuk sistem operasi komputer yang bersangkutan.
Dalam perkembagannya,ketika layanan WWW berevolusi dari basis teksmenjadi basis grafis,tim pengembang grafis java mulai mnyadari bahwa bahasa pemerograman yang mereka kembangkan sangat cocok untuk perograman dalam lingkungan WWW. Tim pengembang ini kmudian memperkenalkan konsep applet web. Yakni program kecil yan dapat disertakan dalam halaman web. Tim ini juga bahkan membuat browser dengan bahasa java ( yang disebut bahasa HotJava) untuk mendemonnstrasikan kemampuan bahasa ini.
Bahasa java sendiri secara resmi di perkenalkan oleh Sun Microsystem pada kuartal kedua tahun 1995. Bahasa ini dengan cepat menjadi tool pilihan untuk mengembangkan aplikasi internet. Java menjadi semakin populer ketika Netscape comunication memutuskan untuk memberikan dukungan pada java dalam produk browsernya Netscape navigator 2.0 langkah ini diikuti juga oleh microsoft yang kemudian memberikan dukungan pada java sejak Internet Explorer 3.0

Dapat disimpulkan dari atas bahwa java adalah penyederhanaan dari C++. Siapa pun yang pernah belajar bahasa pemerograman bahasa C++ akan tahu bahwa bahasa ini memang sulit dipelajari C++ menambahkan terlalu banyak fitur dan fasilitas pada bahasa C(nenek moyang C++) sehingga pemrogra handal sekalipun akan mengalami kesulitan  bila akan berpindah dari C ke C++.

Sun mendiskripsikan java sebagai bahasa pemerograman yang “sederhana beriorentasi objek,bertipe statik, terkompilasi, multithreaded, garbage collected,netral arsitektur,multi-threaded ,robust,aman dan dapat diperluas”.

Asrofi Lazuardi(21113446)

sumber : Wahana Komputer.2003 "PEMEROGRAMAN JAVA". Salemba Infotek,Jakarta