Showing posts with label PROJECT JAVA. Show all posts
Showing posts with label PROJECT JAVA. Show all posts

8.3.12

file input stream pada java

//berikut ini merupakan contoh penggunaan file input stream pada java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class MainClass {
public static void main(String[] args) {
boolean areFilesIdentical = true;
File file1 = new File(“c:\\file1.txt”);
File file2 = new File(“c:\\file2.txt”);
if (!file1.exists() || !file2.exists()) {
System.out.println(“File tidak ditemukan”);
System.out.println(false);
}
System.out.println(“length:” + file1.length());
if (file1.length() != file2.length()) {
System.out.println(“panjang file 1 dan file 2 tidak sama”);
System.out.println(false);
}
try {
FileInputStream fis1 = new FileInputStream(file1);
FileInputStream fis2 = new FileInputStream(file2);
int i1 = fis1.read();
int i2 = fis2.read();
while (i1 != -1) {
if (i1 != i2) {
areFilesIdentical = false;
break;
}
i1 = fis1.read();
i2 = fis2.read();
}
fis1.close();
fis2.close();
} catch (IOException e) {
System.out.println(“IO exception”);
areFilesIdentical = false;
}
System.out.println(areFilesIdentical);
}
}

23.9.11

tugas Java dari pak Hadi :)

ehmm , makasi ya Arinta udah bantu ngerjain tugasnya . heheehe :D ini juga hasil reblog juga :) so , give aplouse buar Arinta :)


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

Nah inilah contoh scriptnya kawan :)




                          Dan outputnya adalah sebagai berikut : 

                         Inputan data pertama (menggunakan Scanner)


                     Inputan data kedua (menggunakan BufferedReader)
 

Inputan ketiga (menggunakan JOptionPane)


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

Java pakek JOption

Ini nih Script Joption :)

nah , guys , ini script aku dapet dari Arinta :D aku disini posisinya cuman ngereblog aja :D yah semoga bermanfaat ya :D

 

Dan yang di bawah ini saat udah di run :)


 

22.9.11

INPUT DINAMIS

java dengan menggunakan perulangan "FOR"
metode input : scanner

source code::
import java.util.Scanner;
public class java_for {


public static void main(String[]args){
int totalharga;
int [] nilai = new int [3];
int [] harga = new int [3];
int [] total = new int [3];
String [] nilaiStr = new String [3];
String [] hargaStr = new String [3];

String [] nama = new String [3];


Scanner input = new Scanner(System.in);


for(int x=0;x<3;x++){
System.out.print("\nitem "+(x+1)+" = ");
nama[x]=input.next();
System.out.print("banyak = ");
nilaiStr[x]=input.next();
nilai[x]=Integer.parseInt(nilaiStr[x]);
System.out.print("harga = ");
hargaStr[x]=input.next();
harga[x]=Integer.parseInt(hargaStr[x]);
total[x]=nilai[x]*harga[x];
}
totalharga=total[0]+total[1]+total[2];
System.out.println("\nbarang yang dibeli = "+(nama[0])+", "+(nama[1])+", "+(nama[2]));
System.out.println("masing masing = "+(nilai[0])+", "+(nilai[1])+", "+(nilai[2]));
System.out.println("total jumlah barang = "+totalharga);


}
}

17.9.11

PAKE netbeans

Welcome
gambar Hello Word!!
TheTree
gambar TheTree..
merta
gambar mendeklarasikan danmencetak variabel.
Ratarata
gambar menghitung rata-rata.
Nilai Tertinggi
gambar menampilkan nilai terbesar
BufferedReader
gambar BufferedReader
GetInput1
gambar JOPtionPane get input 1
GetInput2
gambar JOptionPane get input 2
GetInput3
gambar JOptionPane get input 3
NilaiBufferedReader1
gambar nilai BufferedReader 1
NilaiBufferedReader2
gambar nilai BufferedReader 2
OutputExpression1
gambar nilai JOptionPane 1
OutputExpression2
gambar nilai JOptionPane 2
OutputExpression3
gambar nilai JOptionPane 3
OutputExpression4
gambar nilai JOptionPane 4
OutputExpression5
gambar nilai JOptionPane 5
OutputExpression6
gambar nilai JOptionPane 6
MembacaBilanganIfElse
gambar membaca bilangan IfElse
Switch I
gambar membaca bilangan menggunakan switch 1
Switch II
gambar membaca bilangan dengan switch 2
dowhile1
gambar mencetak seratus kali do while
forwhile
gambar mencetak seratus kali for while
whileloop
gambar mencetak seratus kali whileloop
perpangkatanDoWhile
gambar perpangkatan do while
perpangkatanForLoop
gambar perpangkatan for while
perpangkatanWhileloop
gambar perpangkatan whileloop
hari dalam seminggu
gambar array hari dalam seminggu
BukuAlamat
gambar arraybuku alamat
CommandLine

22.7.11

Lebih dari Sekedar Hello Word !

Artikel ini merupakan lanjutan dari artikel sebelumnya, yang berhenti sampai membuat dan manjalankan aplikasi yang terkenal, HelloWorld. 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… Hehe, it’s not a real reason friend :D
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 Kalkulator
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 belajar !!

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");
        }
}
Sip!
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.
Sampai jumpa . ^^