WELCOME TO MY BLOG 다이앤

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

Kamis, 29 September 2011

Pemrograman Java

Contoh Pemrograman Java yang menggunakan :
1. Menggunakan Class BufferedReader
2. Menggunakan Class Scanner
3. Menggunakan Class JOptionPane


Ini dia Contoh coding menggunakan ketiga class diatas :



 import java.util.Scanner;
import java.io.*;
import javax.swing.JOptionPane;


public class buffer_dll {
   
   public static void main(String[] args) {
       Scanner input = new Scanner(System.in);
       System.out.print("Masukkan nilai 1 : ");
       String nilai1 = input.nextLine();
       int n1 = Integer.valueOf(nilai1).intValue();
       
       BufferedReader nilai2 = new BufferedReader(new InputStreamReader(System.in));
       try {
           System.out.print("Masukkan nilai 2 : ");
           float n2 = Float.parseFloat(nilai2.readLine());
           float n3 = Float.parseFloat(JOptionPane.showInputDialog("Masukkan nilai 3 : "));
           float rata2 = (n1+n2+n3)/3;
           JOptionPane.showMessageDialog(null, "Rata-ratanya dari adalah " + rata2);
       }
       catch (IOException e) {
           System.out.println(e);
       }   
   }
}


Sedangkan jika diakumulasikan menjadi script di eclips hasilnya seperti ini :






Dan Hasil Outputnya sebagai berikut :


Inputan data pertama (menggunakan Scanner)






Inputan data kedua (menggunakan BufferedReader)




Inputan data ketiga (menggunakan JoptionPane)






Menampilkan rata-rata nilai dari ketiga data (menggunakan JOptionPane)




Selesai dech...
Selamat mencoba....
:)

Sabtu, 23 Juli 2011

Project Java 3

 Game dengan JAVA 
QuantcastPada posting kali ini saya cuma mau  sharing tentang project pertama saya. project ini berupa game aplikasi desktop yang saya kerjakan saat masih belajar java..(masih rajin – rajinnya)hehe…inspirasi membuat game ini saya dapatkan waktu saya sama temen – temen sekelas sering memainkan game unik yang ga tau siapa yang mulai…nah,, mungkin buat para pengunjung yang tertarik untuk memainkan game ini bisa mencoba nantinya,, karena game ini sangat berguna untuk melatih kemampuan analisa anda semua…
kira-kira tampilan game nya seperti ini :


nah,, pasti kesan pertama sama sekali ga berkesan ya..hahahaaa,, itu wajar,, saya programmernya aja ga tertarik lihatnya.(maklum lah newbie.)hhee..di game ini ada 2 menu bar yang saya buat yaitu menu file dan menu help. menu file berisi pilihan exit untuk keluar dari program dan menu help yang berisi penjelasan dan cara permainan gamenya,, ada dua bagian yaitu peraturan dan contoh permainan,buat anda yang mau tau cara permainannya  dibawah ini adalah printscreennya,(males ngetik..)heehe..


 
bagaimana,, udah ngerti??jadi tujuan utama dari permainan ini adalah menebak 4 digit angka berbeda yang dipilih secara acak oleh komputer, pemain akan diberikan 10kesempatam untuk menebak 4 angka tersebut,  angka yang pemain tebak juga harus memenuhi beberapa syarat yaitu terdiri dari 4 angka yang berbeda dan angka pertama tidak boleh 0.lalu program akan memberikan informasi berupa jumlah angka yang benar dan jumlah angka yang urutannya benar yang akan anda gunakan untuk menganalisa saat menebak tebakan selanjutnya jika tebakan tersebut belum benar.
 
Kesan pertama kali,, mungkin anda menganggap permainan ini mudah(berdasarkan pengalaman saat memperkenalkan permaianan ini pada teman sekelas.)hehee..tapi saya menyarankan anda mencoba terlebih dahulu permainan ini dengan teman anda, karena permainan ini tidak semudah seperti kelihatannya. nah, jika masih bingung untuk membuat programnya, anda dapat memainkan permainan ini dengan teman anda dengan cara menuliskannya pada selembar kertas, masing – masing memilih 4 angka yang akan ditebak oleh lawannya.yang lebih dahulu menebak angka temannya itulah pemenangnya..masih bingung juga?? anda bisa lihat foto hasil perminan saya dengan teman sekelas saya dibawah ini:


itu dia sedikit penjelasan dari saya tentang project pertama yang sya buat dengan java, comment dan saran anda akan sangat membantu dalam perkembangan game ini..hahaaa..
oyahh satu lagi sedikit informasi, kalimat “create creativity from your incapability” yang ada dibawah tampilan program diatas saya kutip dari web yang juga menginspirasi saya dalam belajar bahasa pemrograman, yaitu www.exploreyourbrain.com semoga bermanfaat.
 

Project Java 2

Membangun Project di Jaringan LAN menggunakan Netbeans dengan TortoiseSVN (Local Team Server) Part 1

Di dalam Netbeans umumnya para programmer Java yang bekerja tim akan menggunakan kenai.com atau java.net untuk mengorganisasikan projectnya sehingga dapat dikerjakan bersama-sama. Namun, jika dilihat dari segi bandwith penggunaan kenai.com atau java.net memakan resource jaringan yang terlalu besar, apalagi jika kita mengerjakan project tersebut dalam jaringan LAN. Tentunya, jika kita dapat menggunakan Local Team Server sebagai server local pengganti kenai.com atau java.net akan sangat membantu.

Untuk mengatasi hal ini kita dapat menggunakan SVN.

SVN atau subversion adalah version control system, atau repositori kode. jadi kalau kita mengembangkan software sekala besar dan lebih dari satu orang, sofware ini memudahkan kita berkolaborasi atau mengintegrasikan source code yang ditulis secara rame-rame. selain itu setiap commit (mengupload code ke svn), comiit-an tersebut menjadi versi baru. Misalkan A melakukan commit 2x dan B sebanyak 3x, maka versi repositori adalah versi 5 dan kita bisa melihat / mendownload versi manapun. jadi misalkan kita tidak suka perubahan yang dilakukanpada versi 5, bisa saja kita kembali ke versi 2.


Di dalam tutorial ini saya akan menggunakan TortoiseSVN yang bisa diunduh di
http://tortoisesvn.net/.
Tanpa berlama-lama lagi, mari kita mulai tutorial pertama ini dengan membuat sebuah project java sederhana dengan nama LoginSederhana.

Langkah 1 :

Buat project baru dengan tipe "Java Application" dengan nama "LoginSederhana".


Langkah 2 :
Buat JFrame baru bernama "LoginFrame" di dalam package "loginsederhana".



Tambahkan komponen yang dibutuhkan sehingga tampilannya menjadi seperti di bawah ini.


Langkah  3 :
Beri nama setiap komponen swing sesuai dengan fungsinya.



Form yang telah kita buat kira-kira nampak seperti ini.
 
Langkah 4 :
Buat Class baru bernama "LoginService" di dalam package "loginsederhana".



 
Langkah 5 :
Tambahkan syntax berikut pada LoginService.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package loginsederhana;
 
/**
 *
 * @author Rahmat Awaludin
 */
public class LoginService {
    private static final String DUMMY_USER_NAME = "guest";
    private static final String DUMMY_PASSWORD = "password";
     
    public boolean login(String userName, String password) {
       boolean loginSuccesful = false;
       if (userName.equals(DUMMY_USER_NAME) && password.equals(DUMMY_PASSWORD))
       {
           loginSuccesful = true;
       }
       return loginSuccesful;
       }

1
 
Di sini kita mendifinisikan sebuah method yang akan bernilai True jika username diisi dengan "guest" dan password diisi dengan " password". 
 
Langkah 6 :
Sekarang buka "LoginFrame.java" dan tambahkan method berikut ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void performLogin() {
    String userName = textUsername.getText().trim();
    String password = new String(textPassword.getPassword()).trim();
    LoginService loginService = new LoginService();
    if (loginService.login(userName, password))
    {
        JOptionPane.showMessageDialog(this, "Selamat Datang "+userName);
    }
    else
    {
        JOptionPane.showMessageDialog(this, "Autentikasi gagal");
    }
}
 
private boolean isValidationSuccesful()
{
    boolean validationSuccesful = false;
    if (textUsername.getText() != null && textPassword.getPassword().length > 0)
    {
        validationSuccesful = true;
    }
    return validationSuccesful;
Method diatas cukup sederhana untuk dijelaskan. Kita hanya memanggil validasi sederhana dan memanggil method login yang telah kita definisikan di Class LoginService.

Langkah 7 :
Sekarang double klik tombol login dalam mode design dari LoginFrame.java untuk membuat event bernama "buttonLoginActionPerformed". Tambahkan kode berikut ini untuk memanggil method "performLogin".

1
2
3
4
5
6
7
8
9
private void buttonLoginActionPerformed(java.awt.event.ActionEvent evt) {
       if (isValidationSuccesful())
        {
            performLogin();
        } else
        {
            JOptionPane.showMessageDialog(this, "Field tidak boleh kosong");
        }
}

Langkah 8 :
Run project ini.
Jika kita memasukkan username "guest" dan password "password" maka kita akan mendapatkan output seperti ini.




Jika tidak, kita akan mendapatkan output seperti ini.

Sekarang project sederhana kita telah siap. Pada tutorial selanjutnya saya akan menjelaskan tahapan konfigurasi TortoiseSVN untuk membangun project di Jaringan LAN dengan menggunakan Netbeans.

Selamat Mencoba.....

Project Java 1

Sekarang kita akan belajar apa itu classpath, imports, file java, file class, file jar, swing, dan hal-hal yang berkaitan erat dengan pemrograman Java lebih dalam daripada sekedar HelloWorld.
Saya akan tetap menggunakan editor sederhana seperti notepad dan melakukan semuanya secara manual. Mengapa tidak langsung pakai editor seperti Eclipse, Netbeans atau IDE canggih yang lain ?
Alasan pertama, karena ini akan membuat kita memahami “behind the scene things”, yang merupakan fundamental dari Java, sehingga ketika kita menggunakan IDE yang canggih, kita sudah mengetahui, apa yang sebenarnya terjadi.
Alasan kedua, supaya saya bisa berbagi tentang eclipse atau netbeans di artikel berikutnya… 

Tipe Data
Java mengenal 2 macam tipe data. Yang pertama adalah tipe data primitif, yaitu byte, short, char, int, long, float, dan double. Yang kedua adalah tipe data object. Ini adalah tipe yang dibuat dari definisi class. Root class di Java adalah class Object, semua class yang ada di library java maupun yang kita buat sendiri adalah turunan dari class Object.
Ok, mari kita mulai dengan membuat aplikasi Kalkulator. Direktori kerja saya saat ini adalah C:\Java. Buka notepad, kemudian ketik kode berikut (saya tetap berpendapat bahwa mengetik lebih baik daripada copy and paste).
package suhearie.blog.morehelloworld;

public class Kalkulator {

 public static void main(String[] args) {
  if (args.length < 2) {
   System.out.println("Penggunaan: java Kalkulator operand1 operand2");
  }
  else {
   System.out.println("Hasil: 5");
  }
 }

}
 
Kemudian lakukan langkah-langkah berikut:
  1. Buat file source code. Save kode tersebut sebagai file source code dengan nama file Kalkulator.java. File source code harus memiliki extension .java dan harus sesuai dengan nama class utama, dalam hal ini Kalkulator.
  2. Package adalah mekanisme pengelompokan source code. Karena saya menggunakan nama package suhearie.blog.morehelloworld, maka kita harus membuat struktur direktori yang mencerminkan package tersebut, dan meletakkan file source kita disana.
  3. Compile source code. Buka command prompt, masuk ke direktori C:\Java, ketik
    javac suhearie/blog/morehelloworld/*.java
    . javac adalah compiler java. Jika kompilasi berhasil, javac akan menghasilkan file Kalkulator.class. Ini adalah file class (disebut juga bytecode) yang akan dieksekusi oleh Java Virtual Machine (JVM) pada saat runtime.
  4. Jalankan aplikasi. Di command prompt, ketik java suhearie.blog.morehelloword.Kalkulator. Perintah ini akan menjalankan JVM dan mengeksekusi kode yang ada di dalam method public static void main(String[ ] args) { }. String[ ] args adalah variable bertipe string array untuk menampung argumen yang kita berikan saat memulai aplikasi.
Sejauh ini aplikasi kalkulator kita hanya melakukan print ke standard-output, ditambah logika sederhana untuk memeriksa apakah user sudah memasukkan dua argumen saat menjalankan aplikasi. Tapi hasilnya masih salah karena kita hanya menghasilkan nilai konstan tanpa memperdulikan input.
Saatnya mengimplementasikan perhitungan yang sebenarnya pada aplikasi ini. Saya melakukannya dengan:
1. Membuat constructor. Constructor adalah method spesial dalam sebuah class. Sesuai namanya, blok kode ini dipanggil untuk meng-construct object baru. Method ini tidak mempunyai return type, dan namanya harus sama persis dengan nama class.
2. Membuat method baru. Method tersebut bernama jumlahkan, tujuannya untuk menghitung jumlah dari dua buah input yang diberikan
package suhearie.blog.morehelloworld;

public class Kalkulator {

 public Kalkulator() {
  System.out.println("Kalkulator baru saja dibuat");
 }

 private int jumlahkan(String operand1, String operand2) {
  int x = Integer.parseInt(operand1);
  int y = Integer.parseInt(operand2);
  int hasil = x + y;
  return hasil;
 }

 public static void main(String[] args) {
  if (args.length == 2) {
   Kalkulator myKalkulator = new Kalkulator();
   int hasil = myKalkulator.jumlahkan(args[0], args[1]);
   System.out.println("Hasil: "+hasil);
  }
  else {
   System.out.println("Penggunaan: java Kalkulator operand1 operand2");
  }
 }

}
Saatnya melakukan refactor, yaitu membuat code menjadi lebih reusable, agar kita bisa mendapatkan manfaat dari OOP. Kita akan membuat sebuah class baru yang bertugas sebagai “engine” untuk melakukan perhitungan.
Class KalkulatorEngine


package suhearie.blog.morehelloworld;

public class KalkulatorEngine {

 public int hitung(String operasi, String operand1, String operand2) {
  int x = Integer.parseInt(operand1);
  int y = Integer.parseInt(operand2);
  if (operasi.equals("tambah")) {
   return tambah(x, y);
  }
  else if (operasi.equals("kurang")) {
   return kurang(x, y);
  }
  else {
   System.out.println("Kalkulator tidak mendukung operasi "+operasi);
   return 0;
  }
 }

 private int tambah(int operand1, int operand2) {
  return operand1 + operand2;
 }

 private int kurang(int operand1, int operand2) {
  return operand1 - operand2;
 }

}
Integer.parseInt() adalah sintaks untuk mengubah dari String ke bilangan integer.

Class Kalkulato
package suhearie.blog.morehelloworld;

public class Kalkulator {

 private KalkulatorEngine engine = null;

 public Kalkulator() {
  System.out.println("Menyiapkan engine");
  engine = new KalkulatorEngine();
  System.out.println("Kalkulator baru saja dibuat");
 }

 private int hitung(String operasi, String operand1, String operand2) {
  return engine.hitung(operasi, operand1, operand2);
 }

 public static void main(String[] args) {
  if (args.length == 3) {
   Kalkulator myKalkulator = new Kalkulator();
   int hasil = myKalkulator.hitung(args[0], args[1], args[2]);
   System.out.println("Hasil: "+hasil);
  }
  else {
   System.out.println("Penggunaan: java Kalkulator operasi operand1 operand2");
  }
 }

}
Di Class Kalkulator yang telah diperbaharui ini, kita tidak lagi melakukan perhitungan di dalam class ini. Kita meng-create sebuah object KalkulatorEngine, dan menyuruh engine ini untuk melakukan perhitungan.


Class Kalkulator yang sudah kita buat adalah aplikasi berbasis text. Sekarang kita akan membuat sebuah class baru yang berbasis Graphical User Interface (GUI). Library standard Java untuk membuat GUI adalah Swing dan AWT. Sebelum mendeklarasikan class, kita melakukan import terlebih dahulu dari library yang kita butuhkan untuk memberi tahu compiler, bahwa kita akan menggunakan class-class yang berasal dari library tersebut. Kali ini kita akan mengimport semua class dari package javax.swing dan package java.awt.event.
JFrame adalah class yang kita gunakan untuk membuat window di Java. Kita akan membuat class baru yang meng-extend class JFrame ini. Selanjutnya, kita masukkan semua komponen yang kita butuhkan yaitu, JLabel untuk label, JComboBox untuk dropdown box, JTextField untuk text box, dan JButton untuk tombol.
Setelah membuat GUI nya, kita menambahkan action listener pada komponen tombol, sehingga ketika tombol tersebut di-klik oleh user, kita bisa melakukan action yang kita inginkan, dalam hal ini memanggil engine untuk melakukan perhitungan dan menampilkannya pada kotak hasil.
Class KalkulatorGUI
package suhearie.blog.morehelloworld;

import java.awt.event.*;
import javax.swing.*;

public class KalkulatorGUI extends JFrame {

 private KalkulatorEngine engine;
 private JComboBox comboOperasi;
 private JTextField txtOperand1;
 private JTextField txtOperand2;
 private JButton btnHitung;
 private JTextField txtHasil;

 public KalkulatorGUI() {
  System.out.println("Menyiapkan engine");
  engine = new KalkulatorEngine();

  System.out.println("Menyiapkan GUI");
  setTitle("Kalkulator GUI");
  setContentPane(createGUI());
  setupAction();
  setSize(600, 100);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }

 private JPanel createGUI() {
  JPanel panel = new JPanel();

  // Operasi
  panel.add(new JLabel("Operasi"));
  comboOperasi = new JComboBox();
  comboOperasi.addItem("tambah");
  comboOperasi.addItem("kurang");
  panel.add(comboOperasi);

  // Operand1
  panel.add(new JLabel("Operand 1"));
  txtOperand1 = new JTextField();
  txtOperand1.setColumns(5);
  panel.add(txtOperand1);

  // Operand2
  panel.add(new JLabel("Operand 2"));
  txtOperand2 = new JTextField();
  txtOperand2.setColumns(5);
  panel.add(txtOperand2);

  // Tombol Hitung
  btnHitung = new JButton("Hitung");
  panel.add(btnHitung);

  // Hasil
  panel.add(new JLabel("Hasil"));
  txtHasil = new JTextField();
  txtHasil.setColumns(5);
  panel.add(txtHasil);

  return panel;
 }

 private void setupAction() {
  btnHitung.addActionListener(new MyActionListener());
 }

 class MyActionListener implements ActionListener {
  public void actionPerformed(ActionEvent event) {
   String operasi = (String) comboOperasi.getSelectedItem();
   String operand1 = txtOperand1.getText();
   String operand2 = txtOperand2.getText();
   int hasil = engine.hitung(operasi, operand1, operand2);
   txtHasil.setText(String.valueOf(hasil));
  }
 }

 public static void main(String[] args) {
  KalkulatorGUI kalkulator = new KalkulatorGUI();
  kalkulator.setVisible(true);
 }

}
 


Anda akan mendapatkan tampilan seperti gambar berikut. Pilih operasi, masukkan operand 1 dan operand 2, kemudian tekan tombol Hitung, maka hasil perhitungan akan tampil di kotak hasil.


Disini kita dapat melihat keuntungan dari prinsip reusability, karena kita memiliki 2 aplikasi yang berbeda tapi menggunakan engine yang sama untuk melakukan perhitungan.
Ok, sekian untuk tutorial kali ini. Silahkan review kembali kode yang sudah kita buat untuk lebih memahami bagaimana kode tersebut bekerja. Selamat mencoba dan belajar !!