TUTORIAL 7




1.      Bismillah, hari ini kita akan membuat sebuah project web service (Server & Client), untuk project Server = Siakad dan untuk Client = ClientSiakad, project yang akan kita buat memiliki kemampuan CRUD (Create, Read, Update, Delete). Sebelum membuat project langkah pertama kita buat sebuah database dengan ketentuan sebagai berikut :
Database name : siakad
Table name : mahasiswa
Field
Type
Panjang
nim
int
15
nama
varchar
30
jurusan
varchar
30
email
varchar
20
alamat
varchar
50


2.      Buka Netbeans 8.2, lalu buat project untuk server, caranya : klik File à New Project à Java Web à Application, lalu beri nama Siakad. Lalu klik Next à Pilih Server Glassfish 4.1.1, lalu klik Finish.

3.      Selanjutnya buat web service didalam project. Caranya klik kanan pada project Siakad à New à Web Service à Masukkan nama : Mahasiswa dan Package : siakad.mahasiswa

4.      Lalu kita buat koneksi, caranya klik kanan pada Package siakad.mahasiswa à New à Java class lalu beri nama koneksiMySQL.

5.      Kemudian untuk script koneksi MySQL dapat menggunakan script berikut :
package siakad.mahasiswa;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
*
* @author Muqorobin, S.Kom
*/
public class koneksiMySQL {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/siakad";
String usern = "root";
String passw = "";
Connection con;
PreparedStatement ps;
ResultSet rs;
public Connection getCon(){
try{
Class.forName(driver);
con = DriverManager.getConnection(url, usern, passw);
}catch(Exception ex) {
System.out.println(ex.getMessage());
}
return con;
}
}

6.      Selanjutnya setting Library, caranya klik kanan pada project siakad, lalu pilih properties à Libraries à Add Library à MySQL JDBC Driver à Lalu klik Add, terus klik OK.

7.      Selanjutnya kita cek didalam directory Library sudah ada MySQL JDBC Driver apa belum

8.      Agar data MySQL dapat di panggil di Web Service, maka di butuhkan Getter and Setter Masing-masing data. Caranya klik kanan pada Package siakad.mahasiswa à New à Java Class, beri nama mhs

9.      Kemudian masuk script sebagai berikut :
package siakad.mahasiswa;
/**
*
* @author Muqorobin, S.Kom
*/
public class mhs {
private int nim;
private String nama, jurusan, email, alamat;
public int getNim() {
return nim;
}
public void setNim(int nim) {
this.nim = nim;
}
public String getNama() {
return nama;
}
public String getJurusan() {
return jurusan;
}
public void setJurusan(String jurusan) {
this.jurusan = jurusan;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
}
10.  Setelah itu kita akan membuat method CRUD(Create, Read, Update, Delete) didalam class : Mahasiswa.java
11.  Masukan script pada halaman class Mahasiswa.java sebagai berikut
package siakad.mahasiswa;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebService;
import javax.jws.WebMethod;                                                                                                                                                                                              
import javax.jws.WebParam;
/**
*
* @author Muqorobin, S.Kom
*/
@WebService(serviceName = "Mahasiswa")
public class Mahasiswa {
/*Panggil Koneksi MySQL*/
koneksiMySQL kon = new koneksiMySQL();
Connection con;
PreparedStatement ps;
ResultSet rs;
/*Selesai Panggil Koneksi MySQL*/
/*Get Mahasiswa*/
@WebMethod(operationName = "getMahasiswa")
public List getMahasiswa(
@WebParam(name = "nim") int nim) {
List mahasiswa = new ArrayList();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/siakad", "root", "");
Statement st = conn.createStatement();
con = kon.getCon();
ps = con.prepareStatement("select * from mahasiswa where nim=?");
ps.setInt(1, nim);
ResultSet rst = ps.executeQuery();
while (rst.next()) {
mahasiswa.add("<div class=\"form-group\">\n" +
" <label class=\"control-label col-sm-1\">NIM</label>\n" +
" <div class=\"col-sm-2\">\n" +
" <input type=\"text\" class=\"form-control\" name=\"nim\" value=\""+rst.getInt("nim")+"\" readonly=\"true\">\n" +
" </div>\n" +
" </div>\n" +
" \n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-sm-1\">Nama</label>\n" +
" <div class=\"col-sm-2\">\n" +
" <input type=\"text\" class=\"form-control\" name=\"nama\" value=\""+rst.getString("nama")+"\">\n" +
" </div>\n" +
" </div>\n" +
" \n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-sm-1\">Jurusan</label>\n" +
" <div class=\"col-sm-2\">\n" +
" <input type=\"text\" class=\"form-control\" name=\"jurusan\" value=\""+rst.getString("jurusan")+"\">\n" +
" </div>\n" +
" </div>\n" +
" \n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-sm-1\">Email</label>\n" +
" <div class=\"col-sm-2\">\n" +
" <input type=\"text\" class=\"form-control\" name=\"email\" value=\""+rst.getString("email")+"\">\n" +
" </div>\n" +
" </div>\n" +
" \n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-sm-1\">Alamat</label>\n" +
" <div class=\"col-sm-2\">\n" +
" <input type=\"text\" class=\"form-control\" name=\"alamat\" value=\""+rst.getString("alamat")+"\">\n" +
" </div>\n" +
" </div>");
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return mahasiswa;
}
/*Selesai Get Mahasiswa*/
/*Selesai Tambah Mahasiswa*/
@WebMethod(operationName = "addMahasiswa")
public void addDosen(
@WebParam(name = "nim") int nim,
@WebParam(name = "nama") String nama,
@WebParam(name = "jurusan") String jurusan,
@WebParam(name = "email") String email,
@WebParam(name = "alamat") String alamat
) {
try {
con = kon.getCon();
ps = con.prepareStatement("insert into mahasiswa value (?,?,?,?,?)");
ps.setInt(1, nim);
ps.setString(2, nama);
ps.setString(3, jurusan);
ps.setString(4, email);
ps.setString(5, alamat);
ps.executeUpdate();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
/*Selesai Tambah Mahasiswa*/
/*Hapus Mahasiswa*/
@WebMethod(operationName = "delMahasiswa")
public void delMahasiswa(
@WebParam(name = "nim") int nim) {
try {
con = kon.getCon();
ps = con.prepareStatement("delete from mahasiswa where nim = ?");
ps.setInt(1, nim);
ps.executeUpdate();
} catch (Exception e) {
System.out.println("Failed to remove student because " + e.toString());
}
}
/*Selesai Hapus Mahasiswa*/
/*Edit Mahasiswa*/
@WebMethod(operationName = "editMahasiswa")
public void editMahasiswa(
@WebParam(name = "nim") int nim,
@WebParam(name = "nama") String nama,
@WebParam(name = "jurusan") String jurusan,
@WebParam(name = "email") String email,
@WebParam(name = "alamat") String alamat){
try {
con = kon.getCon();
ps = con.prepareStatement("update mahasiswa set nama=?,jurusan=?,email=?,alamat=? where nim=?");
ps.setString(1, nama);
ps.setString(2, jurusan);
ps.setString(3, email);
ps.setString(4, alamat);
ps.setInt(5, nim);
ps.executeUpdate();
} catch (Exception e) {
System.out.println("Failed to edit student because " + e.toString());
}
}
/*Selesai Edit Mahasiswa*/
@WebMethod(operationName = "tampilMahasiswa")
public List tampilMahasiswa() {
List daftar = new ArrayList();
String sql_daftar = "select * from mahasiswa";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/siakad", "root", "");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql_daftar);
while (rs.next()) {
daftar.add("<td>" + rs.getInt("nim") + "</td><td>" + rs.getString("nama") + "</td><td>" + rs.getString("jurusan") + "</td><td>" + rs.getString("email") + "</td><td>" + rs.getString("alamat") + "</td><td><a href=\"edit-mhs.jsp?nim=" + rs.getInt("nim") + "\"><span class=\"glyphicon glyphicon-edit\"></span></a><br><a href=\"hapus-mhs.jsp?nim=" + rs.getInt("nim") + "\"><span class=\"glyphicon glyphicon-remove\"></span></a></td><tr></tr>");
}
con.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return daftar;
}
}

12.  Setelah seluruh script method CRUD telah siap, maka kita akan membuat Client, Caranya klik File à New Project à Java Web à Application, lalu beri nama project : ClientSiakad

13.  Selanjutnya koneksikan ClientSiakad dengan Server Siakad, Caranya klik kanan pada project ClientSiakad à Lalu pilih New à Pilih Web Service Client, lalu pilih project à Browse à Pilih Siakad – Mahasiswa – klik OK, lalu isi package : client.siakad lalu klik Finish.



14.  Maka akan muncul Web Service References sebagai berikut





Komentar