MODUL 2 IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) DESIGN PATTERN Latihan 2 Pada latihan kedua ini akan dibuat sebuah aplikasi pengolahan data akademik sederhana untuk menggambarkan penggunaan konsep MVC. 1. Buat project baru -> latihan 2 a. Project name : Latihan2 b. Project Location : <tentukan sendiri> c. Create Main Class : Select <pilih> d. Set as Main Project : Select <pilih> e. Use Dedicated Folder for Storing Libraries : Select<pilih> Klik Finish 2. Dalam project Latihan2 buat package baru dengan nama model, paket model ini adalah sub paket dari paket latihan2 3. Pastikan tampilan anda seperti gambar berikut 4. Kemudian buatlah 1 buah kelas dengan nama Mhs pada paket latihan2.model
5. Silahkan lengkapi Mhs.java seperti kode program berikut public class Mhs { private String nim; private String nama; private String jurusan; private String kelas; private boolean jeniskelamin; public Mhs(String nim, String nama) { this.nim = nim; this.nama = nama; public boolean getjeniskelamin() { return jeniskelamin; public void setjeniskelamin(boolean jeniskelamin) { this.jeniskelamin = jeniskelamin; public String getjurusan() { return jurusan; public void setjurusan(string jurusan) { this.jurusan = jurusan; public String getkelas() { return kelas; public void setkelas(string kelas) { this.kelas = kelas; public String getnama() { return nama; public void setnama(string nama) { this.nama = nama; public String getnim() { return nim; public void setnim(string nim) { this.nim = nim;
6. Tambahkan 1 buat paket dengan nama view, paket ini adalah sub paket dari paket latihan2. Pastikan seperti gambar berikut 7. Buatlah 1 buah JFrame kedalam paket latihan2.view, beri nama FormMhs 8. Atur agar layout dari FormMhs menjadi GridLayout, jika dilihat dari inspector tampak seperti gambar berikut 9. Atur properties dari GridLayout dengan cara klik kanan pada GridLayout
10. Atur agar properties seperti tabel berikut Column 2 Horizontal Gap 0 Row 1 Vertical Gap 5 11. Tambahkan 2 buah JPanel dengan cara klik kanan pada tulisan Jframe di inspector Add From Palette Swing Containers Panel. Tampak di inspector menjadi seperti berikut 12. Atur agar layout dari jpanel1 dan jpanel2 menjadi GridLayout, atur agar properties dari GridLayout milik jpanel1 dan jpanel 2 seperti tabel berikut Column 1 Horizontal Gap 0 Row 6 Vertical Gap 0 13. Tambahkan 5 buah Jlabel pada jpanel1 kemudian pada jpanel2 tambahkah 3 buah JTextField diikuti 1 buat JPanel kemudian 1 buah JTextField dan 1 buah JPanel
14. Atur agar layout dari jpanel3 dan jpanel 4 adalah FlowLayout 15. Tambahkan 2 buah JRadioButton pada jpanel3 kemudian 1 buah Jbutton pada jpanel4 16. Pada Other Components tambahkan ButtonGroup
17. Buka jendela properties dari jradiobutton1, atur agar buttongroupnya menjadi buttongroup1, perlakukan hal yang pada jradiobutton2. 18. Pastikan tampilan form anda seperti gambar berikut 19. Ikuti tabel berikut untuk mengubah properties dari setiap komponen Komponen Variabel Name yang lama Variabel Name yang baru Text JLabel jlabel1 jlabel1 NIM JLabel jlabel2 jlabel2 Nama JLabel jlabel3 jlabel3 Jurusan JLabel jlabel4 jlabel4 Jenis Kelamin JLabel jlabel5 jlabel5 Kelas JTextField jtextfield1 txtnim JTextField jtextfield2 txtnama JTextField jtextfield3 txtjurusan JTextField jtextfield4 txtkelas JRadioButton jradiobutton1 rblakilaki Laki laki JRadioButton jradiobutton2 rbwanita Wanita Jbutton1 jbutton1 btnubah Ubah
20. Atur agar properties selected dari rblakilaki terpilih (tanda check) 21. Pastikan tampilan dari desain form anda seperti berikut 22. Tambahkan kode program yang ditebali berikut pada FormMhs.java // End of variables declaration public JRadioButton getrblakilaki() { return rblakilaki; public JTextField gettxtjurusan() { return txtjurusan; public JTextField gettxtkelas() { return txtkelas; public JTextField gettxtnama() { return txtnama; public JTextField gettxtnim() { return txtnim; 23. Tambahkan 1 buah View lagi dengan nama FormDokumenMhs, atur agar layoutnya menjadi GridLayout 24. Atur agar layout atur agar properties dari GridLayout milik FormDokumenMhs menjadi seperti tabel berikut Column 1 Horizontal Gap 0 Row 5 Vertical Gap 0
25. Tambahkan 5 buah JLabel, sehingga tampak seperti gambar berikut 26. Jika dilihat dari inspector tampak seperti berikut 27. Ikutilah tabel berikut untuk mengubah properties dari setiap komponen Komponen Variabel Name yang lama Variabel Name yang baru Text JLabel jlabel1 lblnim NIM : JLabel jlabel2 lblnama Nama : JLabel jlabel3 lbljurusan Jurusan : JLabel jlabel4 lbljeniskelamin Jenis Kelamin : JLabel jlabel5 lblkelas Kelas : 28. Apabila dilihat maka FormDokumenMhs akan tampak seperti berikut
29. Tambahkan kode program yang ditebali mengikuti posisi seperti yang dicontohkan pada FormDokumenMhs.java public class FormDokumenMhs extends javax.swing.jframe { /** Creates new form FormDokumenMhs */ public FormDokumenMhs() { initcomponents(); public void refresh(mhs mhs) { lblnim.settext("nim : " + mhs.getnim()); lblnama.settext("nama : " + mhs.getnama()); lbljurusan.settext("jurusan : " + mhs.getjurusan()); lblkelas.settext("kelas : " + mhs.getkelas()); if (mhs.getjeniskelamin()) { lbljeniskelamin.settext("jenis Kelamin : Pria"); else { lbljeniskelamin.settext("jenis Kelamin : Wanita"); 30. Buatlah 1 buah paket lagi dengan nama controller, paket ini adalah sub paket dari latihan2 31. Pada paket controller ini tambahkan MhsController 32. Tulislah kode program yang ditebali pada MhsController.java public class MhsController { private FormDokumenMhs formdokumenmhs; private FormMhs formmhs; private Mhs mhs; public MhsController(FormDokumenMhs formdokumenmhs,,formmhs formmhs) { this.formdokumenmhs = formdokumenmhs; this.formmhs=formmhs; mhs = new Mhs("10.10.1010", "Testing"); formdokumenmhs.refresh(mhs); public void updatemhs() { mhs.setnim(formmhs.gettxtnim().gettext()); mhs.setnama(formmhs.gettxtnama().gettext()); mhs.setjurusan(formmhs.gettxtjurusan().gettext()); mhs.setjeniskelamin(formmhs.getrblakilaki().isselected()); mhs.setkelas(formmhs.gettxtkelas().gettext()); formdokumenmhs.refresh(mhs);
33. Tambahkan kode program yang ditebali FormMhs.java public class FormMhs extends javax.swing.jframe { private MhsController mhscontroller; /** Creates new form FormMhs */ public FormMhs() { initcomponents(); public void setmhscontroller(mhscontroller mhscontroller) { this.mhscontroller = mhscontroller; 34. Berikan event actionperformed pada btnubah yang terdapat pada FormMhs.java 35. Tambahkan kode program yang ditebali private void btnubahactionperformed(java.awt.event.actionevent evt) { // TODO add your handling code here: mhscontroller.updatemhs(); 36. Pada Main.java ketikkan kode program yang ditebali public class Main { /** * @param args the command line arguments */ public static void main(string[] args) { // TODO code application logic here FormMhs formmhs = new FormMhs(); formmhs.setvisible(true); FormDokumenMhs formdokumenmhs = new FormDokumenMhs(); formdokumenmhs.setvisible(true); MhsController mhscontroller = new MhsController(formDokumenMhs, formmhs); formmhs.setmhscontroller(mhscontroller);