Kamis, 30 September 2010

Menulis Program Aplikasi Java Sederhana (Bagian 1)

Kali ini kita akan membuat sebuah program sederhana. Aplikasi akan dijalankan di console/command prompt. Pada akhir keseluruhan bagian ini diharapkan pembaca dapat memperoleh 'kesan' pertama yang nyaman dan terpacu untuk dapat terus belajar menggali fitur-fitur lain dalam bahasa pemograman ini.
Baiklah mari segera kita mulai...!!!

Aplikasi terdiri dari :
1.Modul Login; modul ini akan muncul setiap kali pengguna mengakses aplikasi pertama kali atau setelah logout dari menu pilihan.
2.Modul menu Pilihan; modul ini akan muncul setiap kali pengguna berhasil login. modul ini berfungsi untuk mengarahkan user ke Modul Entry Data pegawai, Modul Daftar Pegawai atau kembali lagi ke mudul Login.
3.Modul Entry Data Pegawai; modul ini berfungsi menyimpan dan mengedit data yang di simpan di dalam memory. Modul juga akan melakukan validasi - validasi yang diperlukan sebelum dapat di simpan.
4.Modul Daftar pegawai; modul ini akan menampilkan semua data pegawai yang telah diinput, dan juga dapat diekspor ke bentuk file dengan format .txt.

Sebelum dapat mengikuti, berikut hal-hal yang sudah harus terinstal di dalam komputer anda:
1. JDK versi terbaru : [ Download di sini ] .
Untuk mengecek apakah JDK sudah terinstal dengan sukses ketik perintah berikut di Command Prompt : java -version.


2. Eclipse For Java Developer [ Download di sini ]


Berikut Roadmap Aplikasi sebagai patokan proses pembuatan aplikasi. Saya akan menjelaskan langkah per langkah sesuai dengan urutan pada gambar di bawah.


Baiklah mari segera kita MULAI....

Langkah #1 : Menyiapkan Project dan menbuat Titik awal aplikasi (Launcher)  
1. Buat sebuah Java Project.








2. Berikan nama SimpleDataEntry. Klik Finish.























3. Buat class [Launcher] dalam package greenhornsjava. Class ini merupakan titik awak dari aplikasi. Perhatikan Gambar dibawah. Masukan nama class dan package di kolom text yang benar.





















package greenhornsjava;
import greenhornsjava.view.Login;
public class Launcher {
 public static void main(String[] args) {
  System.out.println("==== Simple Data entry ====");
  Login login = new Login();
  login.start();
 }
}

Langkah #2 : Membangun View/Tampilan Login Aplikasi
4. Buat class [Login] di package [greenhornsjava.view]
package greenhornsjava.view;
import greenhornsjava.model.User;
import greenhornsjava.business.LoginManager;
import java.util.Scanner;
public class Login {
 public void start() {
  while(true) {
   String okExit = null;
   String userName = null;
   String password = null;   
   System.out.println("====== Login ======");
   System.out.print("User : ");
   userName = new Scanner(System.in).next();   
   System.out.print("Password : ");
   password = new Scanner(System.in).next();
   System.out.println("===================");
   System.out.print("[O]K atau E[x]it");
   okExit = new Scanner(System.in).next();   
   try {
    if(okExit.equalsIgnoreCase("o")) {
     User user =  doLogin(userName, password);     
     System.out.println("Selamat Datang!");
     System.out.println("===============");
     System.out.println("User : " + user.getUserName());
     System.out.println("Password : " + user.getPassword());
     System.out.println("===============");
     System.out.println("Kode ini akan diganti dengan object Menu");
     System.out.println("===============");     
    } else return;
   } catch(Exception e) {
    System.out.println(e.getMessage());
   }
  }  
 } 
 private User doLogin(String userName, String password) throws Exception{
  LoginManager loginManager =  new LoginManager();
  
  loginManager.verifyEntry(userName, password);
  return loginManager.authenticateUser(userName, password);
 }
}

Langkah #3 :Mendesign Logic Login Aplikasi

5. Buat class [LoginManager] di package [greenhornsjava.business]
package greenhornsjava.business; 
import greenhornsjava.model.User;
public class LoginManager{
 private final String USER_NAME = "admin";
 private final String PASSWORD = "password"; 
 public void verifyEntry(String userName, String password) throws Exception{
  if(userName == null || userName.trim().length() == 0)
   throw new Exception("User is null or empty");  
  if (password == null || password.trim().length() == 0)
   throw new Exception("Password is null or empty");
 } 
 public User authenticateUser(String userName, String password) throws Exception {
  if (userName.equalsIgnoreCase(USER_NAME) && password.equalsIgnoreCase(PASSWORD))
   return new User(userName, password);  
  throw new Exception("Wrong User or Password");
 }
}

6. Buat class [User] di package [greenhornsjava.model]
package greenhornsjava.model;
public class User {
 private String userName;
 private String password;
 public User() { }
 public User(String userName, String password) {
  this.userName = userName;
  this.password = password;
 } 
 public void setUserName(String userName) {
  this.userName = userName;
 } 
 public String getUserName() {
  return this.userName;
 } 
 public void setPassword(String password) {
  this.password = password;
 } 
 public String getPassword() {
  return this.password;
 }
}

Sebelum melanjutkan, mari kita lihat sejenak struktur aplikasi kita sejenak. Pastikan struktur aplikasi anda sama sebelum melanjutkan.



Kita telah menyelesaikan tahap 1, 2 dan 3 dari keseluruhan tahap dari aplikasi. Sekarang tiba saatnya kita menjalankan program yang telah kita tulis. Tekan tanda

yang berada di  jejeran toolbar untuk menjalankan program...

Berikut hasil dari kompilasi program...(masukan user : admin, password : password untuk bisa melewati menu login...)

Sekian tutorial 'Menulis Program Aplikasi Java Sederhana (Bagian 1)'. Jika terdapat saran, kritik atau pertanyaan silahkan tinggalkan pesan atau email. Saya akan mencoba untuk menanggapi secepat mungkin. Terima kasih.

5 komentar:

  1. usul bang, jangan langsung ke program lah, coba dibantu ngebahas konsep2 di dlm java dulu, apa sih untungnya pake java secara konsep, yg katanya unggul di konsep OOP, inheritance, dll..

    dah lupa semua ni bang.. :D
    thx..

    BalasHapus
  2. oh iya saran yg bagus bang... nanti saya tulisin setelah series yg ini.. thx usulnya..

    BalasHapus
  3. Ton. Please source code-nya pake syntax highlighter dong

    Referensi :
    http://developertips.blogspot.com/2007/08/syntaxhighlighter-on-blogger.html

    BalasHapus
  4. thx bang jaya... sudah saya pakein.. kmaren coba2 alternatif yg laen.. ternyata mmg nga bagus... thx anyway comment nya

    BalasHapus
  5. Bang toni.. saya baru mo belajar javanih, kalo boleh usul.. bikin tutorial java mulai dari yang dasar versi PDF nya bang..
    tengkyu..

    BalasHapus