Kamis, 30 September 2010

Penjelasan Menulis Program Aplikasi java Sederhana (Bagian 1)

Salam berbagi...
Dikarenakan pada tulisan Menulis Program Aplikasi Java Sederhana Bag.1 terlalu panjang, maka penjelasan pada seri tersebut saya tuliskan khusus agar pembaca dapat mengerti secara lebih detail konsep dari aplikasi tersebut.
Contoh Aplikasi Java Sederhana yang disertakan merupakan aplikasi dengan arsitektur bertumpuk(N-Tier application), artinya aplikasi disusun berdasarkan tumpukan-tumpukan modul yang masing-masing memiliki fungsi dan sifatnya sendiri-sendiri.

Pada contoh yang saya bawakan terdapat 3 lapisan yakni :
  1. Lapisan Tampilan (View/Presentation Layer)
  2. Lapisan Business (Business Logic Layer)
  3. Lapisan Model (Data Model Layer)
N-Layer

Agar lebih jelas mari kita bahas satu per satu beserta implementasinya di contoh program tersebut.
  1. Lapisan Tampilan (View Layer)

    Lapisan ini merupakan lapisan Graphical User Interface (GUI) yang berfungsi menyambungkan user ke dalam bisnis aplikasi. Lapisan pada aplikasi ini cenderung tidak memiliki proses bisnis/logic yang berat (thin) di dalamnya dan hanya berfungsi untuk menampilkan data atau fungsi-fungsi interaksi seperti Klik sebuah tombol, menampilkan data pada table, input data sebuah entity atau model, dll…
    Pada contoh aplikasi, class yang berada di lapisan ini adalah class-class dibawah package [greenhornsjava.view] yakni untuk sementara : Login.java 
  2. Lapisan Business (Business/Logical Layer)

    Lapisan ini merupakan lapisan dimana semua proses bisnis dilakukan. Lapisan ini berfungsi memisahkan business logic dari lapisan modul lainnya. Class-class pada layer ini cenderung penuh (fat), berisikan fungsi logical bisnis saling berhubungan satu dengan yang lainnya. Class pada layer ini juga menghubungkan class-class pada Lapisan View dengan lapisan Model.
    Pada contoh aplikasi , class yang berada pada lapisan ini berada dibawah package [greenhorsjava.business] yakni untuk sementara : LoginManager.java
  3. Lapisan Model (Data Model Layer)

    Lapisan ini merupakan lapisan entity data. Model layer biasanya berisikan POJO (Plain Old Java Object) yang mendeskripsikan entity bisnis. Model terkadang dipergunakan sebagai mimic dari table sebuah database yakni object dengan property yang mendekati definisi table dalam sebuah table (Lebih lanjut lihat -> Object Relational Mapping).
    Pada contoh aplikasi, model digunakan sebagai entity bisnis, yang di-parsing sebagai informasi yang akan diproses pada Lapisan Bisnis. Dalam aplikasi, class model diletakan dibawah package [greenhornsjava.model]
Sekian penjelasan dari arsitektur yang digunakan dalam Contoh aplikasi pada tulisan Menulis Program Aplikasi Java Sederhana (Bagian 1). Semoga dapat membantu dalam memahami tulisan dan contoh yang disertakan. Jika terdapat pertanyaan, saran, kritik.. silahkan tinggalkan komen atau email saya. Terima kasih.

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.

Selasa, 28 September 2010

Pelajaran #1 : Cara kerja bahasa java


Untuk memahami Java, anda perlu mengetahui bagaimana program berbasis java dapat dijalankan di komputer.

Berikut adalah langkah-langkahnya sesuai urutan nomor pada gambar di atas:

1. Program java adalah serangkaian object yang ditulis dalam sebuah file berekstensi .java yang saling beriteraksi satu sama lainya membentuk serangkaian proses tertentu untuk mencapai tujuan yang telah ditetapkan sebelumnya.

2. Selayaknya bahasa pemograman lainnya, program yang ditulis dalam syntax(definisi : http://en.wikipedia.org/wiki/SYNTAX ) tertentu harus diverifikasi  dan diolah oleh compiler (definisi : http://en.wikipedia.org/wiki/Compile_%28computing%29 ).

3. Hasil kompilasi program java membentuk file-file berekstensi .class. File ini menyimpan instruksi-instruksi spesifik yang hanya dapat dipahami oleh mesin virtual java.

4. Mesin Virtual Java, JVM (definisi : http://en.wikipedia.org/wiki/JVM ) yang terinstal dalam komputer pengguna akan mengubah file .class menjadi instruksi-instruksi  yang dapat dipahami oleh komputer untuk dijalankan.

5. Program berbasis Java dapat dijalankan di hampir di semua platform OS. Hal ini merupakan salah satu keistimewaan yang sangat menguntungkan bagi para programmernya. Dengan tersedianya JVM dalam hampir di semua versi OS komputer maka motto "write once run everywhere", merupakan senjata ampuh sekaligus pemacu semangat dalam belajar bahasa pemograman ini.

Sekian penjelasan singkat tentang cara kerja  bahasa pemograman Java dari proses pembuatan sampai dapat dijalankan di komputer pengguna. Terima kasih.

Mengapa belajar Java 'SULIT'!!.. dan Mengapa kalian 'PERLU' membaca ini dulu...?? (sebelum melanjutkan...)


Belajar Java SULIT..!! Ya...!! Bagi sebagian orang yang pernah mencoba untuk menguasai bahasa pemograman ini, bukanlah hal yang mudah, termasuk SAYA dulunya...


Fitur, tehnik, kemampuan bahasa yang sangat kaya merupakan kelebihan dan juga 'kekurangan' dari Java...
 

Tulisan-tulisan dalam blog ini dimaksudkan agar pembaca di level Pemula dan Menengah dapat belajar dan memahami kompleksitas dari bahasa pemograman Java sehingga dapat secara penuh memanfaatkan fitur-fiturnya.
Topik-topik pada tulisan akan membahas konsep dan tahap demi tahap dengan contoh yang akan memudahkan proses pembelajaran.


Jika terdapat pertanyaan-pertanyaan mengenai topik yang dibahas silahkan tinggalkan komentar dan saya akan mencoba memberikan solusinya..

Akhirnya... selamat mengikuti...!!