menambah menu dosen - … menambah menu dosen dengan struts pada artikel ini saya coba memanfaatkan...

13
1 Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen, artikel ini juga kelanjutan dan artikel saya yan berjudul TRIK MENGERJAKAN SKILL EXAM JENI 3 . Langkah-langkahnya sebagai berikut : Ok, Bikin dahulu table dosen : DDL dan DML seperti berikut : CREATE TABLE `dosen` ( `nidn` int(10) NOT NULL default '0', `nama` varchar(45) NOT NULL, `alamat` varchar(128) default '', `hp` varchar(15) default '', PRIMARY KEY (`nidn`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `dosen` VALUES (613036801,'Heru Krisdyantoro Hadi, S.Kom','Gombong','08156877777'); INSERT INTO `dosen` VALUES (613127802,'Hary Susanto, S.Kom','Karanganyar','08122222222'); Buka menu-left.jsp Rubahlah menjadi <%@taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <h3 class="leftbox">Layanan Kami</h3> <ul class="leftbox borderedlist"> <li><html:link page="/SeminarList.do" title="List All Seminar">Daftar Seminar</html:link></li> <li><html:link page="/CompanyList.do" title="List All Company">Daftar Rekanan</html:link></li> <li><html:link page="/DosenList.do" title="List All Dosen">Daftar Dosen</html:link></li> <li><html:link page="/AccountList.do" title="List All Account">Daftar User</html:link></li> </ul> <br/> <logic:notPresent name="EmployeeContainer" property="employee" scope="session"> <ul class="leftbox borderedlist"> </ul> </logic:notPresent>

Upload: dokien

Post on 25-Mar-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

1

Menambah menu Dosen dengan struts

Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan

mencoba menambahkan menu Dosen, artikel ini juga kelanjutan dan artikel saya yan berjudul TRIK

MENGERJAKAN SKILL EXAM JENI 3. Langkah-langkahnya sebagai berikut :

Ok, Bikin dahulu table dosen :

DDL dan DML seperti berikut :

CREATE TABLE `dosen` (

`nidn` int(10) NOT NULL default '0',

`nama` varchar(45) NOT NULL,

`alamat` varchar(128) default '',

`hp` varchar(15) default '',

PRIMARY KEY (`nidn`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `dosen` VALUES (613036801,'Heru Krisdyantoro Hadi,

S.Kom','Gombong','08156877777');

INSERT INTO `dosen` VALUES (613127802,'Hary Susanto,

S.Kom','Karanganyar','08122222222');

Buka menu-left.jsp

Rubahlah menjadi

<%@taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>

<h3 class="leftbox">Layanan Kami</h3>

<ul class="leftbox borderedlist">

<li><html:link page="/SeminarList.do" title="List All Seminar">Daftar Seminar</html:link></li>

<li><html:link page="/CompanyList.do" title="List All Company">Daftar Rekanan</html:link></li>

<li><html:link page="/DosenList.do" title="List All Dosen">Daftar Dosen</html:link></li>

<li><html:link page="/AccountList.do" title="List All Account">Daftar User</html:link></li>

</ul>

<br/>

<logic:notPresent name="EmployeeContainer" property="employee" scope="session">

<ul class="leftbox borderedlist">

</ul>

</logic:notPresent>

Page 2: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

2

<logic:present name="EmployeeContainer" property="employee" scope="session">

<h3 class="leftbox header_small">Admin Menu</h3>

<ul class="leftbox borderedlist">

<li><html:link page="/SeminarForm.do" title="Form to add a seminar event">Add New

Seminar</html:link></li>

<li><html:link page="/SeminarList.do" title="Modify existing seminar">Modify Existing

Seminar</html:link></li>

</ul>

<hr />

<ul class="leftbox borderedlist">

<li><html:link page="/AccountForm.do" title="Add New User or Employee Account">Add New

Account</html:link></li>

<li><html:link page="/AccountList.do" title="Add Modify existing Account">Modify Existing

Account</html:link></li>

</ul>

<ul class="leftbox borderedlist">

<li><html:link page="/CompanyForm.do" title="Add New Company or Company Account">Add

New Company</html:link></li>

<li><html:link page="/CompanyList.do" title="Add Modify existing Company">Modify Existing

Company</html:link></li>

</ul>

<ul class="leftbox borderedlist">

<li><html:link page="/DosenForm.do" title="Add New Dosen ">Add New

Dosen</html:link></li>

<li><html:link page="/DosenList.do" title="Add Modify existing Dosen">Modify Existing

Dosen</html:link></li>

</ul>

</logic:present>

<ul class="leftbox borderedlist">

</ul>

Page 3: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

3

Langkah selanjutnya, buka file tiles-def.xml tambahkan seperti berikut :

<definition name="accountListPage" extends="basicDefinition">

<put name="body" value="/WEB-INF/view_pages/account/accountList.jsp"/>

</definition>

<definition name="dosenListPage" extends="basicDefinition">

<put name="body" value="/WEB-INF/view_pages/dosen/dosenList.jsp"/>

</definition>

Langkah selanjutnya, tambahkan coding pada struts-config.xml seperti berikut :

<action path="/CompanyDetail" forward="companyDetailPage"/>

<action path="/CompanyList" forward="companyListPage"/>

<action path="/DosenList" forward="dosenListPage"/>

Kemudian buat folder dengan nama dosen dalam folder view_pages, dan dilanjutkan dengan

membuat file dosenList.jsp didalamnya, codingnya adalah sebagai berikut :

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%@taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>

<%@taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>

<font color="red">

<html:errors/>

</font>

<h2>Daftar Dosen</h2>

<jsp:useBean id="dosenHelper" scope="session"

class="jeni.struts.seminar.helper.DosenViewHelper" />

Page 4: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

4

<table border="1">

<thead>

<tr>

<th>NIDN</th>

<th>Nama</th>

<th>Alamat</th>

<th>No HP</th>

<logic:present name="EmployeeContainer" property="employee" scope="session">

<th>Action</th>

</logic:present>

</tr>

</thead>

<tbody>

<c:forEach items="${dosenHelper.dosenList}" var="dosen">

<tr>

<td>${dosen.nidn}</td>

<td>${dosen.nama}</td>

<td>${dosen.alamat}</td>

<td>${dosen.hp}</td>

<td>

<logic:present name="EmployeeContainer" property="employee" scope="session">

<html:link forward="EditDosenForm" paramId="nidn" paramName="dosen"

paramProperty="nidn">Edit</html:link> |

<html:link forward="cDeleteDosen" paramId="nidn" paramName="dosen"

paramProperty="nidn">Delete</html:link></td>

</logic:present>

</td>

</tr>

Page 5: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

5

</c:forEach>

</tbody>

</table>

Langkah selanjutnya buat package jeni.struts.seminar.dao.dosen dan di dalamnya ada 2 files

DosenDAO.java dan DosenMySQLDAO.java, coding untuk DosenDAO.java sebagai berikut :

package jeni.struts.seminar.dao.dosen;

import java.util.Collection;

import jeni.struts.seminar.bean.Dosen;

import jeni.struts.seminar.bean.User;

public interface DosenDAO {

Collection getDosenList();

}

Dan coding DosenMySQLDAO.java sebagai berikut :

package jeni.struts.seminar.dao.dosen;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Collection;

import java.util.Vector;

import jeni.struts.seminar.bean.Dosen;

import jeni.struts.seminar.dao.MySQLDataAccessObject;

public class DosenMySQLDAO extends MySQLDataAccessObject implements DosenDAO{

private Collection dosenList;

public Collection getDosenList() {

Dosen dosen = null;

Page 6: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

6

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

String sql = "SELECT * FROM dosen";

Vector dosenList = new Vector();

try {

conn = getConnection();

stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

while(rs.next()){

dosen = new Dosen();

dosen.setNidn(rs.getInt("nidn"));

dosen.setNama(rs.getString("nama"));

dosen.setAlamat(rs.getString("alamat"));

dosen.setHp(rs.getString("hp"));

dosenList.add(dosen);

}

return dosenList;

} catch (SQLException e) {

System.out.println("Error while executing select dosen query");

e.printStackTrace();

return null;

}finally {

releaseResources(conn, stmt,rs);

}

}

}

Page 7: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

7

Langkah selanjutnya buka DAOFactory.java yang terdapat di dalam package jeni.struts.seminar.dao

dan modif codingnya seperti berikut :

package jeni.struts.seminar.dao;

import jeni.struts.seminar.dao.company.CompanyDAO;

import jeni.struts.seminar.dao.company.CompanyMySQLDAO;

import jeni.struts.seminar.dao.employee.EmployeeDAO;

import jeni.struts.seminar.dao.employee.EmployeeMySQLDAO;

import jeni.struts.seminar.dao.seminar.SeminarDAO;

import jeni.struts.seminar.dao.seminar.SeminarMySQLDAO;

import jeni.struts.seminar.dao.user.UserDAO;

import jeni.struts.seminar.dao.user.UserMySQLDAO;

import jeni.struts.seminar.dao.dosen.DosenDAO;

import jeni.struts.seminar.dao.dosen.DosenMySQLDAO;

public class DAOFactory {

public static UserDAO getUserDAOInstance(){

return new UserMySQLDAO();

}

public static SeminarDAO getSeminarDAOInstance() {

return new SeminarMySQLDAO();

}

public static EmployeeDAO getEmployeeInstance() {

return new EmployeeMySQLDAO();

}

public static CompanyDAO getCompanyDAOInstance() {

Page 8: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

8

return new CompanyMySQLDAO();

}

public static DosenDAO getDosenDAOInstance() {

return new DosenMySQLDAO();

}

}

Langkah berikutnya buatlah file Dosen.java pada package jeni.struts.seminar.bean, codingnya seperti

berikut :

package jeni.struts.seminar.bean;

public class Dosen {

private int nidn;

private String nama;

private String alamat;

private String hp;

}

Namun, pada langkah ini belum cukup, pendeklarasian variable nidn, nama, alamat, dan hp tidak

cukup hanya begitu saja. Perlu diset and get, caranya :

Blok keempat baris :

private int nidn;

private String nama;

private String alamat;

private String hp;

kemudian klik kanan, refactore, EncapsulateFields sehingga muncul menu sebagai berikut :

Page 9: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

9

Kemudian beri centang alias contreng pada semua field di atas, di atas terlihat baru hp yang sudah

diget dan set, yang lain juga harus diset dan get semua kemudian next, kemudian perhatikan pada

netbean pojok kiri bawah, ada tombol Do factoring, klik tombol Do Factoring tersebut sehingga

coding Dosen.java lengkapnya seperti berikut :

package jeni.struts.seminar.bean;

public class Dosen {

private int nidn;

private String nama;

private String alamat;

private String hp;

public int getNidn() {

return nidn;

}

Page 10: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

10

public void setNidn(int nidn) {

this.nidn = nidn;

}

public String getNama() {

return nama;

}

public void setNama(String nama) {

this.nama = nama;

}

public String getAlamat() {

return alamat;

}

public void setAlamat(String alamat) {

this.alamat = alamat;

}

public String getHp() {

return hp;

}

public void setHp(String hp) {

this.hp = hp;

}

Page 11: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

11

}

Langkah berikutnya, buat file DosenFacade.java yang diletakkan dalam package

jeni.struts.seminar.facade dengan coding seperti berikut :

package jeni.struts.seminar.facade;

import java.util.Collection;

import jeni.struts.seminar.bean.Dosen;

import jeni.struts.seminar.dao.DAOFactory;

import jeni.struts.seminar.dao.dosen.DosenDAO;

public class DosenFacade {

public Collection getDosenList() {

DosenDAO dao = DAOFactory.getDosenDAOInstance();

return dao.getDosenList();

}

}

Langkah berikutnya lagi buat file DosenViewHelper.java di dalam package jeni.struts.seminar.helper

yang codingnya seperti berikut :

package jeni.struts.seminar.helper;

import java.util.Collection;

import java.util.Iterator;

import jeni.struts.seminar.bean.Dosen;

import jeni.struts.seminar.facade.DosenFacade;

public class DosenViewHelper {

private Collection dosenList;

Page 12: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

12

private DosenFacade cFacade;

private int nidn;

public DosenViewHelper() {

cFacade = new DosenFacade();

}

public Collection getDosenList(){

dosenList = cFacade.getDosenList();

return dosenList;

}

public void setNidn(int nidn) {

this.nidn = nidn;

}

public Dosen getDosen(){

if(nidn == 0) return null;

Iterator it = dosenList.iterator();

while (it.hasNext()){

Dosen dosen = (Dosen)it.next();

if (dosen.getNidn() == nidn){

nidn = 0;

return dosen;

}

}

Page 13: menambah menu Dosen - … Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen

13

nidn = 0;

return null;

}

}

Dari sekian langkah, maka jika sudah selesai hasilnya seperti berikut :

Apa yang saya coba ini bisa dikembangkan sesuai dengan kebutuhan dari menu apa yang

ditambahkan, tidak harus dosen, mungkin yang lain, misalnya guru, karyawan, siswa atau yang lain

yang tentunya field-fieldnya menyesuaikan. Apa yang saya coba ini juga belum lengkap, saya baru

mencoba sederhana saja, jadi bisa dikembangkan lagi. Selamat mencoba.