Membuat CRUD Dengan JSP - MySQL Iman Amalludin
[email protected] :: 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"%> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
JSP Page Aplikasi Crud JSP dan MySQL
Tambah <% 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); %>
Kode | Nama | Nama Ortu | Jenis Kelamin | Alamat | Aksi |
<% while (rs.next()) { %> <%=rs.getString("kode")%> | <%=rs.getString("nama")%> | <%=rs.getString("ortu")%> | <%=rs.getString("kelamin")%> | <%=rs.getString("alamat")%> | " >edit / " > hapus |
<% }
%>
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
<% rs.close(); statement.close(); connection.close(); } catch (Exception ex) { out.println("Can't connect to database."); } %>
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"%> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
JSP Page <style type="text/css"> *{margin:auto;padding:0;} #con2{width:500px;padding:30px;} p{margin-bottom:10px;} label{display:inline-block;width:150px;}
<% 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"%> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
JSP Page <style type="text/css"> *{margin:auto;padding:0;} #con2{width:500px;padding:30px;} p{margin-bottom:10px;} label{display:inline-block;width:150px;}
<% 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"%> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
JSP Page <% 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){} %>
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-tambahhapus.html http://thefimsite.blogspot.com/2013/05/pengertian-perbedaan-web-statis-danweb.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
:
[email protected]
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