CRUD Web Service dengan Bootstrap - Sesi 1



TUTORIAL PRAKTIK PEMROGRAMAN WEB II
PRAKTIKUM KE 7


A.    Membuat Fungsi Tampil Data dengan JAX-WS

1. Hari ini kita akan membuat sebuah project web service (server dan client) dengan bootstrap.
    Server    :   Siakad
    Client    :   ClientSiakad
    Project yang akan kita buat memiliki fasilitas CRUD (Create, Read, Update, Delete). Sebelum membuat project maka langkah pertama kita akan membuat sebuah database dengan ketentuan sebagai berikut:
    Database name    :   siakad
    Table name          :   mahasiswa

2. Buka software Netbeans 8.2, lalu buat sebuah project untuk server dengan nama “Siakad”. Caranya: klik File --> New Project --> Java Web --> Web Application --> beri nama Siakad --> klik Next --> pilih Server GlashFish 4.1.1 --> klik Finish.

3. Selanjutnya buat web service di dalam project Siakad, dengan cara: klik kanan project Siakad --> klik New --> Web Service --> beri nama “Mahasiswa” dan package “siakad.mahasiswa”.

4. Buat koneksi dengan cara: klik pada Package siakad.mahasiswa --> New --> Java Class --> beri nama “koneksiMySQL”.


5. Masukkan script dibawah ini pada halaman koneksiMySQL.java

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 dengan cara: klik kanan project Siakad --> pilih Properties --> Libraries --> Add Library --> pilih MySQL JDBC Driver --> klik Add --> klik OK.

7. Setelah itu cek di dalam directory Library, sudah ada MySQL JDBC Driver atau belum, dengan cara klik Directory Libraries.

8. Agar data MySQL dapat dipanggil di web service, maka dibutuhkan Getter and setter masing-masing data. Kita akan buat file java class baru dengan nama “mhs”. Caranya: klik kanan pada package siakad.mahasiswa --> New --> Java Class --> beri nama mhs --> masukkan script berikut:

package siakad.mahasiswa;

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;
}
}



9. Kemudian masukkan script method CRUD (Create, Read, Update, Delete) didalam class Mahasiswa.java

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("

\n" +
" \n" +
"
\n" +
" \n" +
"
\n" +
"
\n" +
" \n" +
"

\n" +
" \n" +
"
\n" +
" \n" +
"
\n" +
"
\n" +
" \n" +
"

\n" +
" \n" +
"
\n" +
" \n" +
"
\n" +
"
\n" +
" \n" +
"

\n" +
" \n" +
"
\n" +
" \n" +
"
\n" +
"
\n" +
" \n" +
"

\n" +
" \n" +
"
\n" +
" \n" +
"
\n" +
"
");
}
} 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("" + rs.getInt("nim") + "
" + rs.getString("nama") + "
" + rs.getString("jurusan") +
"
" + rs.getString("email") + "
" + rs.getString("alamat") + "


");
}
con.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return daftar;
}
}



10. Setelah semua script method CRUD telah siap, maka kita akan membuat project untuk Client dengan nama ClientSiakad. Dengan cara: klik File --> New Project --> Java Web --> Web Application --> beri nama ClientSiakad --> klik Next --> pilih Server GlashFish 4.1.1 --> Finish.


11. Buat koneksi ke project server Siakad dengan membuat web service client, dengan cara: klik kanan project ClientSiakad --> New --> Web Service Client --> Browse --> pilih project Siakad --> Mahasiswa --> klik OK --> masukkan package “client.siakad” --> Finish.







12. Maka akan muncul Web Service References

13. Deploy dan Test Web Service
14. Selesai untuk sesi 1.

Untuk sesi ke dua bisa dilihat di sini.

Untuk lebih lengkapnya, dokumen dan project bisa didownload di sini.

Komentar