Hello World pada Java Menggunakan Arsitektur MVC


Hello World pada Java Menggunakan Arsitektur MVC | kangriyanto.net – Dalam tulisan ini akan dijelaskan runtunan dalam pembuatan aplikasi sederhana “Hello World” dengan menggunakan bahasa pemrograman Java dan menerapkan arsitektur Model View Controller (MVC). Tulisan ini mungkin jauh dari konsep MVC sesungguhnya karena ini saya dasarkan pada arsitektur MVC di pemrograman PHP.

Saya sendiri tidak akan terlalu banyak menjelaskan tentang bahasa pemrograman Java disini, namun hanya ingin menyinggung tentang arsitektur MVC nya. Implementasi arsitektur ini pada pemrograman yaitu akan memisahkan antara Model (berhubungan dengan data), View (tampilan) dan juga Controller (yang menjembatani antara data dan tampilan) sehingga dengan memisahkannya menjadi tiga bagian maka diharapkan program aplikasi yang dibuat akan menjadi lebih bersih dan mudah untuk dikembangkan di suatu hari nanti.

Membuat Project

Oke langsung saja, disini saya menggunakan JDK 1.8 dan IDE Netbeans 8.2 pada sistem operasi MacOS. Disini kita akan membuat sebuah aplikasi yang dapat menampilkan teks secara random pada form. Pertama kita akan membuat project baru pada IDE Netbeans dan memilih kategori Java | Java Application lalu klik Next.

Membuat Project Baru (Java Application)

Kemudian sesuaikan pada bagian Project Name, Project Location dan jangan lupa untuk tidak mencentang bagian Create Main Class. Setelah itu klik Finish.

Pengaturan Project New Java Application

Membuat Packages

Lalu pada pallete project (di sebelah kiri atas), buatlah beberapa package, caranya klik kanan pada nama project Simple MVC lalu New > Java Package… Beri nama package yaitu models, views dan controllers sehingga akan terlihat seperti pada gambar berikut.

Project Simple MVC terdiri dari tiga packages (models, views dan controllers)

Membuat View

Pada arsitektur MVC, pertama kita akan membuat sebuah JForm yang di dalamnya hanya terdiri dari sebuah Button dan Label. Klik kanan pada package views > New > JFrames Form… beri nama filenya SimpleView lalu tambahkan komponen Button dan Label didalamnya.

Desain pada View

Membuat Model

Pada package models buatlah sebuah file baru (models > New > Java Class) beri nama SimpleModel lalu isi program di dalamnya seperti dibawah ini. File ini bertugas mengembalikan data random yang didapat dari array bertipe String. Pada contoh yang lain, model biasanya berhubungan dengan query SQL.

package models;

import java.util.Random;

public class SimpleModel {

    String[] students = {"Adi", "Budi", "Cindy", "Dodi", "Evi"};

    public String randomText() {
        Random random = new Random();
        int randomNum = random.nextInt(students.length);
        
        return students[randomNum];
    }
    
}

Membuat Controller

Pada package controllers, buatlah sebuah file (controllers > new > Java Class…) beri nama SimpleController lalu tulis beberapa baris kode berikut.

package controllers;

import models.SimpleModel;

public class SimpleController {

    SimpleModel model = new SimpleModel();
    
    public String generate() {
        return "Hai " + model.randomText();
    }
    
}

Bagian terakhir, kita akan kembali ke views (file SimpleView.java), klik kanan pada Button > Events > Action > actionPerformed dan sesuaikan dengan baris program yang di highlight berikut.

package views;

import controllers.SimpleController;

public class SimpleView extends javax.swing.JFrame {
    
    SimpleController controller = new SimpleController();

    public SimpleView() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("Click Me");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jLabel1.setText("Result will placed here");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(135, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                    .addComponent(jButton1)
                    .addComponent(jLabel1))
                .addGap(124, 124, 124))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(120, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addGap(28, 28, 28)
                .addComponent(jLabel1)
                .addGap(107, 107, 107))
        );

        pack();
    }// </editor-fold>                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jLabel1.setText(controller.generate());
    }                                        

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new SimpleView().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration                   
}

Setelah itu jalankan aplikasinya (klik Run), dan saat diklik tombol Click Me berkali-kali maka akan menampilkan beberapa pesan berbeda pada label.

Menampilkan Pesan Berbeda pada Label Saat Tombol Click Me ditekan

Demikianlah tulisan singkat tentang aplikasi Hello World pada Java dengan menerapkan arsitektur MVC (Model View Controller). Semoga bermanfaat.

File latihan ini dapat diunduh dari: http://j.gs/EBAG

Tinggalkan Komentar

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.