Labels

Tampilkan postingan dengan label Java. Tampilkan semua postingan
Tampilkan postingan dengan label Java. Tampilkan semua postingan

Senin, 12 Maret 2012

Method Pada Java

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. Kita bisa juga membayangkan method itu
adalah sebuah mesin, ada input yang dibutuhkan dan output yang dihasilkan.
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, nama method
diawali dengan huruf kecil dan setiap kata setelahnya diawali dengan huruf besar (camel case).
Setelah nama method ada parameter. Sebuah method bisa juga tidak mempunyai parameter,
punya satu, dua dan seterusnya. Setelah java 5 ada feature yang disebut dengan varargs, feature
ini memungkinkan method untuk mempunyai jumlah parameter yang bervariasi. Varargs akan
kita bahas di bab tentang Java 5 Language enhancement, jadi tidak akan dibahas dalam bab ini.
Bagian terakhir dari method adalah deklarasi throws exception, dimana kita bisa
mendeklarasikan tipe exception yang akan dithrows oleh method. Bab tentang exception akan
membahas lebih lanjut tentang throws exception.
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 parameternya berbeda, method
dengan nama sama dan parameter berbeda ini disebut dengan overloading dalam konsep OOP.
Kalau method mempunyai nama yang sama dan parameter yang sama tetapi tipe return atau
throws exceptionya berbeda maka akan menyebabkan error pada waktu kompilasi. Jadi kalau
mendefnisikan method baru, pastikan bahwa namanya tidak sama dengan method lain atau
setidaknya parameternya berbeda baik dari sisi jumlahnya, tipe parameter atau posisi parameter.
Dari penjelasan di atas, struktur method seperti di bawah ini adalah benar:

public void main(String[] args){ }
public String methodReturnString(){ return "ini string"; }
private void methodBerparameter(String parameter1, Integer parameter2) {}
public void methodThrowsException() throws IOException {}
protected String protectedMethod(Sting parameter1, Integer parameter2)
throws IOException { return "ini string"; }
public void methodBerbeda() {}
public void methodBerbeda(String parameter1) {}
public void methodBerbeda(String parameter1, Integer parameter2) {}
public void methodBerbeda(Integer parameter1, String parameter2) {}
public void methodBerbeda(Double parameter1, Double parameter2) {} 
 
Ada beberapa keyword yang bisa ditambahkan dalam deklarasi method. Keyword yang paling
sering digunakan adalah static. Bagian kode Java yang dideklarasikan dengan menggunakan
static akan menjadi anggota dari class, bukan anggota dari object, silahkan kembali ke bab
berikutnya kalau masih belum bisa membedakan mana class dan mana object.
Karena method yang ditandai dengan static adalah bagian dari class, maka bisa diakses
langsung dari nama Class itu sendiri, tidak perlu membuat object. Method static hanya bisa
memanggil method lain dalam satu class yang juga ditandai static. Method main yang biasa
kita gunakan untuk menjalankan aplikasi java juga ditandai dengan static, misalnya kita akan
memanggil method lain dari method static, maka method lainya ini juga harus ditandai dengan
static. Kita lihat contoh berikutnya :
 
public class StaticTest {
public static void main(String[] args) {
//static method memanggil static method lain dalam class yang sama
contohMethodStatic();
//method static juga bisa dipanggil dari nama classnya
StaticTest.contohMethodStatic();
}
public static void contohMethodStatic() {
System.out.println("method static dipanggil");
}
} 
Kalau kode di atas dicompile, kemudian dijalankan maka hasilnya seperti di bawah ini :
$ javac StaticTest.java
$ java StaticTest
method static dipanggil
method static dipanggil
$

terlihat bahwa method contohMethodStatic dipanggil dua kali, baik menggunakan nama class
maupun tidak.
Keyword lain yang bisa digunakan oleh method adalah fnal, synchronize dan native. Keyword
fnal akan menyebabkan method tidak bisa dioverride, kita bahas topik ini di bab OOP. Keyword
synchronize akan menyebabkan hanya satu thread yang bisa mengeksekusi method ini dalam
satu waktu, kalau ada thread lain maka harus mengantri sampai thread sebelumnya selesai
menjalankan method tersebut. Keyword native menandai implementasi method akan
diletakkan dalam kode native, misalnya ditulis menggunakan C/C++, kemudian menggunakan
Java Native Interface (JNI) untuk mengakses implementasi method tersebut. 
 

Sabtu, 10 Maret 2012

Game Tebak Angka Menggunakan Java

/**
 * This program lets the user play one or more guessing games.  In each
 * game, the computer selects a number in the range 1 to 100.  The use
 * tries to guess the numbers.  If the user's guess is right, the user
 * wins the game.  If the user makes six incorrect guesses, the user
 * loses the game.   The computer tells the user whether his guess is
 * high or low.  After each game, the computer askes the user whether
 * the user wants to play again.
 */
public class GuessingGame {

   public static void main(String[] args) {
      TextIO.putln("Let's play a game.  I'll pick a number between");
      TextIO.putln("1 and 100, and you try to guess it.");
      boolean playAgain;
      do {
         playGame();  // call subroutine to play one game
         TextIO.put("Would you like to play again? ");
         playAgain = TextIO.getlnBoolean();
      } while (playAgain);
      TextIO.putln("Thanks for playing.  Goodbye.");
   } // end of main()            
   

   /**
    * This subroutine lets the user play one guessing game and tells
    * the user whether he won or lost.
    */
   static void playGame() {
       int computersNumber; // A random number picked by the computer.
       int usersGuess;      // A number entered by user as a guess.
       int guessCount;      // Number of guesses the user has made.
       computersNumber = (int)(100 * Math.random()) + 1;
                // The value assigned to computersNumber is a randomly
                //    chosen integer between 1 and 100, inclusive.
       guessCount = 0;
       TextIO.putln();
       TextIO.put("What is your first guess? ");
       while (true) {
          usersGuess = TextIO.getInt();  // Get the user's guess.
          guessCount++;
          if (usersGuess == computersNumber) {
             TextIO.putln("You got it in " + guessCount
                     + " guesses!  My number was " + computersNumber);
             break;  // The game is over; the user has won.
          }
          if (guessCount == 6) {
             TextIO.putln("You didn't get the number in 6 guesses.");
             TextIO.putln("You lose.  My number was " + computersNumber);
             break;  // The game is over; the user has lost.
          }
          // If we get to this point, the game continues.
          // Tell the user if the guess was too high or too low.
          if (usersGuess < computersNumber)
             TextIO.put("That's too low.  Try again: ");
          else if (usersGuess > computersNumber)
             TextIO.put("That's too high.  Try again: ");
       }
       TextIO.putln();
   } // end of playGame()
               
} // end of class GuessingGame 
 
 
Apabila Terjadi Error tambahkan File TextIO.java yang bisa di unduh disini

Membuat Konverter Jarak Menggunakan Java

/* 
 * This program will convert measurements expressed in inches,
 * feet, yards, or miles into each of the possible units of
 * measure.  The measurement is input by the user, followed by
 * the unit of measure.  For example:  "17 feet", "1 inch",
 * "2.73 mi".  Abbreviations in, ft, yd, and mi are accepted.
 * The program will continue to read and convert measurements
 * until the user enters an input of 0.
 */
 
 public class LengthConverter {
 
    public static void main(String[] args) {
       
       double measurement;  // Numerical measurement, input by user.
       String units;        // The unit of measure for the input, also
                            //    specified by the user.
       
       double inches, feet, yards, miles;  // Measurement expressed in
                                           //   each possible unit of
                                           //   measure.
       
       TextIO.putln("Enter measurements in inches, feet, yards, or miles.");
       TextIO.putln("For example:  1 inch    17 feet    2.73 miles");
       TextIO.putln("You can use abbreviations:   in   ft  yd   mi");
       TextIO.putln("I will convert your input into the other units");
       TextIO.putln("of measure.");
       TextIO.putln();
       
       while (true) {
          
          /* Get the user's input, and convert units to lower case. */
          
          TextIO.put("Enter your measurement, or 0 to end:  ");
          measurement = TextIO.getDouble();
          if (measurement == 0)
             break;  // terminate the while loop
          units = TextIO.getlnWord();            
          units = units.toLowerCase();
          
          /* Convert the input measurement to inches. */
          
          if (units.equals("inch") || units.equals("inches") 
                                          || units.equals("in")) {
              inches = measurement;
          }
          else if (units.equals("foot") || units.equals("feet") 
                                          || units.equals("ft")) {
              inches = measurement * 12;
          }
          else if (units.equals("yard") || units.equals("yards") 
                                           || units.equals("yd")) {
              inches = measurement * 36;
          }
          else if (units.equals("mile") || units.equals("miles") 
                                             || units.equals("mi")) {
              inches = measurement * 12 * 5280;
          }
          else {
              TextIO.putln("Sorry, but I don't understand \"" 
                                                   + units + "\".");
              continue;  // back to start of while loop
          }
          
          /* Convert measurement in inches to feet, yards, and miles. */
          
          feet = inches / 12;
          yards = inches / 36;
          miles = inches / (12*5280);
          
          /* Output measurement in terms of each unit of measure. */
          
          TextIO.putln();
          TextIO.putln("That's equivalent to:");
          TextIO.putf("%12.5g", inches);
          TextIO.putln(" inches");
          TextIO.putf("%12.5g", feet);
          TextIO.putln(" feet");
          TextIO.putf("%12.5g", yards);
          TextIO.putln(" yards");
          TextIO.putf("%12.5g", miles);
          TextIO.putln(" miles");
          TextIO.putln();
       
       } // end while
       
       TextIO.putln();
       TextIO.putln("OK!  Bye for now.");
       
    } // end main()
    
 } // end class LengthConverter


Apabila terjadi error, tambahkan file TextIO.java yang dapat di unduh disini.

Jumat, 09 Maret 2012

Mengenal Java


Berbicara mengenai Java, kita sebenarnya membicarakan tentang dua hal yang saling
berkaitan. Yang pertama adalah Java sebagai bahasa pemrograman dan Java sebagai platform
pengembangan aplikasi. Di bab Java Fundamental ini kita akan belajar mengenai Java sebagai
bahasa pemrograman, kita akan belajar bagaimana menulis kode Java dengan benar tanpa ada
kesalahan sintaks. Setelah melewati bab Java Fundamental kita akan belajar Java sebagai
platform pengembangan aplikasi.
Bahasa pemrograman Java pada awalnya dibuat oleh James Gosling pada tahun 1995 sebagai
bagian dari Sun Microsystem Java Platform. Sintaks Java banyak diturunkan dari C dan C++
tetapi lebih sederhana, ketat dan mempunyai akses ke OS yang lebih terbatas. Hal ini karena
Java ditujukan sebagai bahasa pemrograman yang cukup sederhana untuk dipelajari dan
mudah dibaca.
Aplikasi Java ditulis sebagai fle berekstensi .java yang dicompile menjadi fle .class. File .class
ini adalah bytecode yang bisa dijalankan di semua Java Virtual Machine, tidak peduli apapun
OS-nya ataupun arsitektur processornya. Java adalah bahasa yang ditujukan untuk semua
kebutuhan, concurent, berbasis class, object oriented serta didesain agar tidak tergantung
terhadap lingkungan dimana aplikasi dijalankan (OS dan processor).
Java ditujukan agar bisa “ditulis sekali, bisa jalan di manapun”. Sekarang ini Java adalah
bahasa pemrograman paling populer dan paling banyak digunakan untuk membuat aplikasi
baik aplikasi di embedded system, mobile, desktop hingga web application.
Java mempunyai empat prinsip penting yang dijadikan sebagai tujuannya, keempat prinsip ini
adalah :
1. Java harus “sederhana, object oriented dan mudah dimengerti”
2. Java harus “kuat dan aman”
3. Java harus “netral terhadap arsitektur system (OS,processor) dan bisa jalan di manapun”
4. Java harus bisa dijalankan dengan “kinerja yang tinggi”
5. Java harus “interpreted, threaded dan dinamis”
Dengan kelima prinsip di atas, aplikasi java mempunyai popularitas yang sangat tinggi
terutama di dunia enterprise application. Dimana semua prinsip di atas sangat cocok untuk
jenis aplikasi ini. Industri yang mempunyai budget tinggi untuk IT seperti perbankan dan
telekomunikasi menggunakan Java secara ekstensif. Banyak aplikasi dengan skala raksasa
dibangun menggunakan platform Java.
Java Platform terdiri dari tiga buah profle : Java ME (Java Micro Edition) adalah java yang bisa
berjalan di dalam embedded system seperti Java Card dan Handphone. Java SE (Java Standard
Edition) adalah java yang bisa berjalan di dalam PC maupun server sebagai aplikasi standalone
maupun aplikasi desktop. Java EE (Java Enterprise Edition) adalah profle java yang ditujukan
untuk membuat aplikasi Enterprise seperti Web Application (Servlet) dan Enterprise Java Bean
(EJB).
Instalasi platform Java terdiri dari dua paket aplikasi. Paket yang pertama adalah JRE (Java
Runtime Environment), paket ini terdiri dari semua aplikasi yang dibutuhkan agar sebuah
aplikasi Java bisa berjalan, seperti library dan JVM (Java Virtual Machine). Paket kedua adalah
JDK (Java Development Kit), paket ini terdiri dari JRE dan ditambah dengan perkakas untuk
membuat aplikasi Java seperti java compiler (javac), java documentation (javadoc) dan java
archive (jar).