modul kuliah

advertisement
MODUL KULIAH
KELAS KARYAWAN – STTI NIIT I-TECH
Mata Kuliah
Pemrograman Berorientasi Object Lanjut
Semester
Genap 2012/2013
Kelas
Karyawan
Dosen
Muhammad Bagir MTI
Pertemuan : 5(Lima)
Waktu : Minggu, 24 Maret 2013
Modul
5(Lima)
Topik
J2EE(JSP)
Sub Topik
Operasi Database dengan JDBC
Materi
Tujuan
-
Membuat Database dan Tabel
-
Memasukkan Data Menggunakan JDBC
1. Mahasiswa dapat membuat Database dan Tabel pada
Aplikasi Database
2. Mahasiswa dapat melakukan proses input data ke
dalam tabel database
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
1.
JDBC (Java Database Connectivity)
Java Database Connectivity (JDBC) dibangun sepenuhnya dengan Java
API sehingga dapat dipakai cross platform. Dengan JDBC API database dapat
diakses dari vendor-vendor server database seperti Oracle, Sybase, SQL Server,
MySQL dan lainnya. Hal yang sangat penting dalam membangun koneksi antara
Java dan Database adalah sejumlah interface yang ada dalam paket java.sql,
maka dapat dilakukan import paket java.sql.*
Class dan Interface yang mutlak harus digunakan ketika membangun koneksi
java-database, yaitu :
-
Connection
Untuk mendefinisikan koneksi ke database. Clas yang digunakan adalah
DriverManager
dan
metodenya
getConnection().
Interface
java.sql.Connection digunakan untuk membentuk koneksi ke database
serta mengatur hubungan tersebut, seperti commit, rollback atau
menyiapkan (Prepared)SQLStatement.
Method
void
Keterangan
close()
throws
Memutuskan hubungan dengan JDBC
ResourceException
Statement
createStatement()
Membuat objek SQL Statement untuk dikirim ke
throws SQLException
database
PreparedStatement
Membuat objek PrepareSQL Statement yang
prepareStatement(String)
dapat dieksekusi berulang-ulang
throws SQLException
void
commit()
throws
Memastikan perubahan permanen
throws
Membatalkan
SQLException
void
rollback()
SQLException
-
semua
perubahan
serta
melepaskan semua locking
Driver
Untuk mendefinisikan driver yang digunakan untuk melakukan koneksi ke
suatu database. Class java.sql.DriverManager digunakan untuk loading
dan mengatur driver JDBC serta membuat koneksi ke database. Untuk
melakukan
Load
Class.forName()
terhadap
,
driver
sedangkan
dapat
untuk
menggunakan
melakukan
koneksi
metode
dapat
menggunakan metode getConnection()
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
-
Statement
Untuk mendefinisikan statement SQL. Interface java.sql.Statement dapat
digunakan.Objek statement dapat dibuat dari objek connection denga
menggunakan metode Connection.createStatement()
-
ResultSet
Untuk memperoleh hasil pengaksesan data tabel yang diperoleh dari
database dapat digunakan ResultSet. Perintah kueqi yang digunakan
umumnya adalah select ke dalam database dan hasilnya berupa
ResultSet yaitu baris-baris data hasil dari kueri, ada banyak metode
dalam ResultSet seperti sbb:
boolean getBoolean(int colIndex)
Date getDate(String colName)
String getString(String colName)
2.
Implementasi Koneksi Database
Untuk melakukan implementasi koneksi ke database, akan digunakan
aplikasi
yang
pernah
dibuat
pada
modul
sebelumnya,
yakni
aplikasi
MembuatSistemInformasi. Untuk itu akan dimulai pembuatan database pada
Aplikasi database MySQL menggunakan Halaman Interface PHPMyAdmin.
Buatlah Sebuah Database dengan nama “SimSekolah”
Bukalah halaman JSP pada IDE NetBeans, buatlah folder db dan file koneksi.jsp,
lalu lakukan pengkodean koneksi JDBC ke MySQL sebagai berikut :
<%-Document
: koneksi
Created on : Mar 20, 2013, 11:29:53 AM
Author
: bagir
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
--%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Percobaan Koneksi</title>
</head>
<body>
<%
try{
Class.forName("com.mysql.jdbc.Driver");
String url =
"jdbc:mysql://localhost:3306/simsekolah";
Connection koneksi =
DriverManager.getConnection(url,"root","");
out.print("Koneksi sukses");
}
catch(ClassNotFoundException e)
{
out.println("Kelas tidak ditemukan");
}
%>
</body>
</html>
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
Kode tersebut digunakan untuk melakukan koneksi ke database mysql yang
telah dibuat sebelumnya. Untuk menguji kebenaran kode diatas cobalah jalankan
url file tersebut menggunakan browser sehingga hasilnya tampak seperti gambar
dibawah ini :
Jika koneksi anda tidak berhasil karena kelas tidak ditemukan artinya harus
dilakukan
instalasi
driver
dev.mysql.com/downloads/
JDBC
yang
dapat
didownload
pada
link
kemudian pilihlah Connector/j untuk koneksi
menggunakan JDBC.
3. Menambahkan Proses Input Data Registrasi
Untuk dapat menambahkan proses input data registrasi, terlebih dahulu
tambahkan tabel ke dalam database simpelanggan dengan ketentuan seperti
gambar user interface dibawah ini :
Pastikan noident sebagai primary key.
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
Setelah berhasil membuat tabel, maka tahapan berikutnya adalah menambahkan
modul penginputan data pada jsp, dengan menambahkan kode dibawah ini pada
file prosesInputData.jsp, sehingga halaman prosesInputData.jsp menjadi sbb :
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<%
String
noIdentitas
=
request.getParameter("noident");
String
jenisIdentitas
=
request.getParameter("jnsident");
String nama = request.getParameter("nama");
String alamat=request.getParameter("alamat");
String kelamin=request.getParameter("kelamin");
String
tempatLahir
=
request.getParameter("tempatlahir");
String tanggal = request.getParameter("tanggal");
String bulan = request.getParameter("bulan");
String tahun = request.getParameter("tahun");
%>
No Identitas :
<%=noIdentitas%><br/>
Jenis Identitas : <%=jenisIdentitas%><br/>
Nama : <%=nama%><br/>
Alamat
: <%=alamat%><br/>
Jenis Kelamin : <%=kelamin%><br/>
Tempat Lahir : <%=tempatLahir%><br/>
Tanggal Lahir : <%=tanggal%>-<%=bulan%>-<%=tahun%>
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
<%
try{
Class.forName("com.mysql.jdbc.Driver");
String
url
=
"jdbc:mysql://localhost:3306/simsekolah";
Connection
koneksi
=
DriverManager.getConnection(url,"root","");
Statement stmt = koneksi.createStatement();
String
kueri
=
"insert
DataPelanggan
(noident,jnsident,nama,alamat,jnskelamin,tmptlahir,tgllahir)
values('"+noIdentitas+"','"+jenisIdentitas+"','"+nama+"','"+
alamat+"','"+kelamin+"','"+tempatLahir+"','"+
tahun+"-
"+bulan+"-"+tanggal+"')";
int hasil = stmt.executeUpdate(kueri);
if(hasil==1)
{
out.println("<br/>Data Telah dimasukkan");
}
else
{
out.println("<br/>Data gagal dimasukkan");
}
koneksi.close();
}
catch(ClassNotFoundException e)
{
out.println("Kelas tidak ditemukan");
}
%>
</body>
</html>
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
Uji coba aplikasi dan perhatikan hasil seperti gambar dibawah ini :
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
Latihan / Tugas:
Buatlah Form Order untuk Kasus diatas dengan ketentuan Komponen
Sebagai Berikut :
1. Produk yang dipesan
2. Jumlah Produk yang dipesan
3. Tanggal Otomatis digenerate sistem
4. Alamat Pengiriman
5. Jenis Pengiriman
6. Harga Produk
7. Total Harga Produk
8. Semua Data tersebut akan otomatis dimasukkan ke dalam tabel
pesanan pada database simpelanggan dengan ketentuan masingmasing pesan memiliki nopesanan dan masing-masing produk
memiliki noproduk, baik noproduk maupun nopesanan bersifat
unik(primary key) dan tidak boleh berulang pada masing-masing
tabelnya.
9. Halaman web akan memberikan konfirmasi produk yant telah dipesan
dan dapat menampilkan nopesanan produk serta jumlah nilai
transaksi yang harus dibayarkan pelanggan.
@copyright 2013, Muhammad Bagir, MTI. Modul Perkuliahan Pemrograman Berorientasi Object
Lanjut, STTI I-Tech Semester Genap 2012-2013
Download