Anda di halaman 1dari 18

Membuat CRUD Dengan JSP - MySQL

Iman Amalludin
iman.llusion@gmail.com :: http://blog.imanllusion.hostzi.com

Abstrak
CRUD. Apa itu? CRUD adalah singkatan dari Create, Read, Update, dan Delete. Setiap
aplikasi biasanya memiliki fungsi CRUD di dalamnya. Fungsi ini digunakan untuk
menyimpan/menambahkan data, kemudian mengedit data dan menghapus data. Kali ini
saya akan coba memberikan contoh aplikasi CRUD sederhana, yang saya bangun
menggunakan JSP dan digabung dengan MySQL sebagai databasenya. Yang ingin
mengetahui bagaimana membuat CRUD dengan JSP. Disini saya akan menuliskan
artikelnya yang berjudul tentang “Membuat CRUD Dengan JSP - MySQL”.

Kata Kunci: jsp, mysql, pemrograman, programming, web programming

Pendahuluan
Web berdasarkan teknologinya terbagi menjadi dua, yaitu web statis dan web dinamis.
Persamaan web statis dan web dinamis yaitu sama-sama keduanya merupakan suatu
website yang menampilkan halaman yang ditampilkan di internet yang memuat
informasi tertentu (khusus). Web Statis adalah website yang mana pengguna tidak bisa
mengubah konten dari web tersebut secara langsung menggunakan browser. Sedangkan
Web Dinamis, interaksi yang terjadi antara pengguna dan server sangat kompleks.
Seseorang bisa mengubah konten dari halaman tertentu dengan menggunakan browser.
Request (permintaan) dari pengguna dapat diproses oleh server yang kemudian
ditampilkan dalam isi yang berbeda-beda yang diproses dan ditampilkan dari eksekusi
CRUD menurut alur programnya.

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Pembahasan
Untuk dapat membuat aplikasi crud sederhana ini maka diperlukan software editor dan
software database dan juga browser untuk menampilkan hasil, untuk mendapatkan
semuanya silahkan download disitus resmi mereka. Program editor yang akan
digunakan adalah Dreamweaver atau bisa juga Notepad++, MySQL (Database), dan
Google Chrome (Browser).

Pertama-tama yang harus dibuat adalah database, buka aplikasi MySQL atau bisa
menggunakan tool-tool DBMS seperti Apache Tomcat, XAMPP, phpmyadmin atau
mysql workbench, untuk syntaxnya lihat dibawah ini:

CREATE TABLE IF NOT EXISTS `biodata` (

`kode` varchar(5) NOT NULL,

`nama` varchar(45) NOT NULL,

`kelamin` varchar(20) NOT NULL,

`alamat` varchar(100) NOT NULL,

`ortu` varchar(45) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `biodata` (`kode`, `nama`, `kelamin`, `alamat`, `ortu`) VALUES

('11111', 'Ghazali', 'Laki-laki', 'Sigli', 'Zulkifli'),

('11112', 'Julinda', 'Perempuan', 'Ulim', 'Yusuf'),

('11113', 'Monicha', 'Perempuan', 'Bambi', 'Rahman'),

('11113', 'Andrian', 'Laki-laki', 'Bambi', 'Ramli'),

('11115', 'Andrian', 'Laki-laki', 'Krung', 'Ramli'),

('12345', 'Reza', 'Laki-laki', 'Desa', 'Kure');

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Buatlah sebuah project dengan nama apa saja terserah anda namun disini penulis
menggunakan nama “jsp” dan buatlah file jspnya seperti syntax dan filenya dibawah ini:

index.jsp

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<div id="con">
<h3 align="center">Aplikasi Crud JSP dan MySQL</h3>
<a href="tambah.jsp">Tambah</a>
<p></p>
<%
try {
String Host = "jdbc:mysql://localhost:8080/jsp";
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver");

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
connection = DriverManager.getConnection(Host, "root", "");
statement = connection.createStatement();
String Data = "select * from biodata";
rs = statement.executeQuery(Data);
%>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tr>
<th>Kode</th>
<th>Nama</th>
<th>Nama Ortu</th>
<th>Jenis Kelamin</th>
<th>Alamat</th>
<th>Aksi</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getString("kode")%></td>
<td><%=rs.getString("nama")%></td>
<td><%=rs.getString("ortu")%></td>
<td><%=rs.getString("kelamin")%></td>
<td><%=rs.getString("alamat")%></td>
<td><a href="update.jsp?u=<%=rs.getString("kode")%>" >edit</a> / <a
href="delete.jsp?d=<%=rs.getString("kode")%>" > hapus</a></td>
</tr>
<% } %>

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
</table>
<%
rs.close();
statement.close();
connection.close();
} catch (Exception ex) {
out.println("Can't connect to database.");
}
%>
</div>
</body>
</html>

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
tambah.jsp

<%@page import="javax.swing.JOptionPane"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<style type="text/css">
*{margin:auto;padding:0;}
#con2{width:500px;padding:30px;}
p{margin-bottom:10px;}
label{display:inline-block;width:150px;}
</style>
</head>
<body>
<div id="con2">
<h3 align="center">Tambah Data</h3><p></p>
<form action="" method="post">
<p>
<label>Kode</label><input type="text" name="kode"/>
</p>
<p>
<label>Nama</label><input type="text" name="nama"/>

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
</p>
<p>
<label>Nama Ortu</label><input name="ortu" type="text" />
</p>
<p>
<label>Jenis Kelamin</label>
<input type="radio" name="kelamin" value="Laki-laki"/> Laki-laki
<input type="radio" name="kelamin" value="Perempuan"/> Perempuan
</p>
<p>
<label>Alamat</label><input type="text" name="alamat"/>
</p>
<p>
<label></label><input type="submit" name="submit" value="Simpan"/>
<a href="index.jsp">Kembali</a>
</p>
</form>
</div>
</body>
</html>
<%
String a=request.getParameter("kode");
String b=request.getParameter("nama");
String d=request.getParameter("kelamin");
String c=request.getParameter("ortu");
String e=request.getParameter("alamat");

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
//membuat variabel untuk nampung alamat untuk akses database nantinya.
String url="jdbc:mysql://localhost:8080/jsp";

//membuat koneksi ke database dengan jdbc


Connection conn=null;
PreparedStatement ps=null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
int updateQuery=0;

//untuk mengecek textbox name, city, dan phone tidak kosong


if(a!=null && b!=null && c!=null && d!=null && e!=null){
if(a!="" && b!="" && c!="" && d!="" && e!=""){
try{
conn=DriverManager.getConnection(url,"root","");
String query="insert into biodata(kode,nama,kelamin,alamat,ortu)
values(?,?,?,?,?)";
ps=conn.prepareStatement(query);
ps.setString(1,a);
ps.setString(2,b);
ps.setString(3,c);
ps.setString(4,d);
ps.setString(5,e);
updateQuery=ps.executeUpdate();
if(updateQuery!=0){
JOptionPane.showMessageDialog(null, "Berhasil Tambah Data");
response.sendRedirect("index.jsp");
}

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
}catch(Exception ex){
out.println("Koneksi bermasalah");
}finally{
ps.close();
conn.close();
}
}
}
%>

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
update.jsp

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="javax.swing.JOptionPane"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<style type="text/css">
*{margin:auto;padding:0;}
#con2{width:500px;padding:30px;}
p{margin-bottom:10px;}
label{display:inline-block;width:150px;}
</style>
</head>
<body>
<div id="con2">
<h3 align="center">Update Data</h3><p></p>
<form action="" method="post">
<%
try {
String Host = "jdbc:mysql://localhost:8080/jsp";

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(Host, "root", "");
statement = connection.createStatement();
String u=request.getParameter("u");
int num=Integer.parseInt(u);
String Data = "select * from biodata where kode='"+num+"'";
rs = statement.executeQuery(Data);
while (rs.next()) {
%>
<p>
<label></label><input type="hidden" name="kode"
value='<%=rs.getString("kode")%>'/>
</p>
<p>
<label>Nama</label><input type="text" name="nama"
value='<%=rs.getString("nama")%>'/>
</p>
<p>
<label>Nama Ortu</label><input name="ortu" type="text"
value='<%=rs.getString("ortu")%>'/>
</p>
<p>
<label>Jenis Kelamin</label>
<input type="radio" name="kelamin" value="Laki-laki"/> Laki-laki

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
<input type="radio" name="kelamin" value="Perempuan"/> Perempuan
</p>
<p>
<label>Alamat</label><input type="text" name="alamat"
value='<%=rs.getString("alamat")%>'/>
</p>
<p>
<label></label><input type="submit" name="submit" value="Update"/>
<a href="index.jsp">Kembali</a>
</p>
<% }
rs.close();
statement.close();
connection.close();
} catch (Exception ex) {
out.println("Can't connect to database.");
}
%>
</form>
</div>
</body>
</html>

<%
String a=request.getParameter("kode");
String b=request.getParameter("nama");
String c=request.getParameter("ortu");

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
String d=request.getParameter("kelamin");
String e=request.getParameter("alamat");

//membuat variabel untuk nampung alamat untuk akses database nantinya.


String url="jdbc:mysql://localhost:8080/jsp";

//membuat koneksi ke database dengan jdbc


Connection conn=null;
PreparedStatement ps=null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
int updateQuery=0;

//untuk mengecek textbox name, city, dan phone tidak kosong


if(a!=null && b!=null && c!=null && d!=null && e!=null){
if(a!="" && b!="" && c!="" && d!="" && e!=""){
try{
conn=DriverManager.getConnection(url,"root","");
String query="update biodata set nama=?,ortu=?,kelamin=?,alamat=? where
kode='"+a+"'";
ps=conn.prepareStatement(query);
ps.setString(1,b);
ps.setString(2,c);
ps.setString(3,d);
ps.setString(4,e);
updateQuery=ps.executeUpdate();

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
if(updateQuery!=0){
JOptionPane.showMessageDialog(null, "Berhasil Update Data");
response.sendRedirect("index.jsp");
}
}catch(Exception ex){
out.println("Koneksi bermasalah");
}finally{
ps.close();
conn.close();
}
}
}
%>

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
delete.jsp

<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
String id=request.getParameter("d");
int no=Integer.parseInt(id);
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:8080/jsp", "root", "");
Statement st = conn.createStatement();
st.executeUpdate("DELETE FROM biodata WHERE kode = '"+no+"'");
response.sendRedirect("index.jsp");
} catch(Exception e){}
%>
</body>
</html>

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Penutup
Demikianlah artikel yang saya buat semoga bermanfaat bagi orang yang membacanya
dan menambah wawasan bagi orang yang membaca artikel ini. Dan penulis mohon
maaf apabila ada kesalahan dalam penulisan kata dan kalimat yang tidak jelas, mengerti,
dan lugas mohon jangan dimasukan ke dalam hati.

Dan saya juga sangat mengharapkan yang membaca artikel ini akan bertambah
motivasinya dan mengapai cita-cita yang di inginkan, karena saya membuat artikel ini
mempunyai arti penting yang sangat mendalam.

Sekian penutup dari saya semoga berkenan di hati dan saya ucapkan terima kasih yang
sebesar-besarnya.

Referensi
 http://cemungudhtsharing.blogspot.com/2013/11/membuat-aplikasi-edit-tambah-
hapus.html
 http://thefimsite.blogspot.com/2013/05/pengertian-perbedaan-web-statis-dan-
web.html
 http://extria.blogspot.com/2014/02/membuat-aplikasi-crud-create-read.html

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Biografi

Nama Penulis : Iman Amalludin

Tempat, Tanggal Lahir : Kuningan, 4 Nov 1992

Studi : STMIK Raharja

Jurusan : Sistem Informasi

Konsentrasi : Business Intelligence

Hobi : Bermain Game

Email : iman.llusion@gmail.com

Blog : http://blog.imanllusion.hostzi.com

Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org

Anda mungkin juga menyukai