Anda di halaman 1dari 5

Modul 14 : Dasar Pemrograman Database

14.1. Waktu Pelaksanaan Praktikum


Durasi kegiatan praktikum = 170 menit, dengan rincian sebagai berikut (misalkan):
1. 10 menit untuk penjelasan singkat tentang modul
2. 100 menit untuk pengayaan
3. 60 menit pembahasan

14.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Mampu membuat aplikasi dengan bahasa pemrograman java untuk menampilkan dan
memodifikasi data dalam tabel.
2. Mampu menggunakan preparedstatement untuk mengelola data dalam database.

14.3. Alat Dan Bahan


1. Komputer

14.4. Dasar Teori


Untuk mengakses database menggunakan bahasa pemrograman java, diperlukan library untuk
membuat koneksi antara aplikasi yang kita buat dengan database. Library yang dibutuhkan disini adalah java
archive dalam bentuk file dengan ekstensi jar. Library untuk mengakses database MsSql dapat diunduh di
http://jtds.sourceforge.net/. Kemudian untuk menggunakan library ini dalam aplikasi yaitu dengan cara
ditambahkan kedalam classpath.

14.4.1. Membuka Koneksi ke Database.


Langkah pertama untuk mengakses database adalah memuat database library dan membuat koneksi
ke database server. Perintah untuk memuat library adalah
Class.forName("net.sourceforge.jtds.jdbc.Driver");

Parameter pada perintah diatas adalah nama class database Driver. Setiap databse memiliki library
dan nama class yang berbeda. Driver yang digunakan dalam library jtds untuk mengakses MsSql Server
adalah "net.sourceforge.jtds.jdbc.Driver".
Perintah untuk membuka koneksi
Connection conn=DriverManager.getConnection(<url>, <userName>, <password>);

Keterangan parameter dalam perintah diatas adalah :


url : Alamat atau IP address server database dan nama database.
username : Nama pengguna yang digunakan untuk mengakses database.
Password : Kata kunci untuk mengakses database .

Format url untuk koneksi diatas adalah


jdbc:<subprotocol>://<ip address>:<port>/<nama database>
Subprotocol untuk koneksi ke MsSql Server adalah jtds:sqlserver . Jadi untuk koneksi ke
database dengan nama TestDB yang berada pada komputer kita sendiri pada port 1433 url-nya adalah :
jdbc:jtds:sqlserver://localhost:1401/TestDB

atau

jdbc:jtds:sqlserver://127.0.0.1:1401/TestDB

14.4.2. Menampilkan Data dari Tabel.


Perintah membaca data dari dalam tabel adalah menggunakan perintah executeQuery. Statement
ini digunakan untuk mengeksekusi query select.
Statement st = conn.createStatement();

ResultSet rs = st.executeQuery(<sql>);

Parameter sql adalah query select yang akan dieksekusi. Untuk menganbil data dari ResultSet
dilakukan perulangan dari baris pertama sampai terakhir dalam resultset. Perintah untuk mengambil data
masing-masing sel dalam tabel ditunjukkan pada tabel berikut.

Tipe Data Statement


Int getInt(<nomor kolom/nama kolom>)
Varchar, Char getString(<nomor kolom/nama kolom>)
Float getFloat(<nomor kolom/nama kolom>)
Date getDate(<nomor kolom/nama kolom>)
Time, DateTime getTime(<nomor kolom/nama kolom>)

14.4.3. Memodifikasi Data Dalam Tabel.


Perintah mengubah data dalam tabel adalah menggunakan perintah executeUpdate. Statement
ini digunakan untuk mengeksekusi query yang melakukan perubahan data dalam tabel yauti insert, update
dan delete.
Statement st = conn.createStatement();

st.executeUpdate(<sql>);

14.4.4. Menggunakan Prepared Statement.


PreparedStatement digunakan untuk melakukan perubahan data dalam tabel. Kelebihan
preparedstatement adalah perubahan data bisa dilakukan pada beberapa baris sekaligus.
PreparedStatement st = conn.prepareStatement(<sql>);

st.setInt(1, 4);

st.setString(2, "Melon ");

st.setInt(3, 110);

st.executeUpdate();

st.setInt(1, 5);

st.setString(2, "Kiwi ");

st.setInt(3, 120);

st.executeUpdate();
14.5. Prosedur Praktikum
1. Buatlah database “TestDB”
2. Buatlah tabel “Inventory” sebagai berikut
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT);
INSERT INTO Inventory VALUES (1, 'banana', 150);
INSERT INTO Inventory VALUES (2, 'orange', 154);

3. Buatlah program Sbd1.java sebagai berikut. Sesuaikan url, userName dan password dengan
konfigurasi database server masing-masing.

1 package id.ac.ub.filkom;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.PreparedStatement;
6 import java.sql.ResultSet;
7 import java.sql.SQLException;
8 import java.sql.Statement;
9
10 public class Sbd1 {
11 static String url = "jdbc:jtds:sqlserver://localhost:1443/TestDB";
12 static String userName = "SA";
13 static String password = "password1%";
14
15 public static void main(String[] args) {
16 Connection conn = null;
17 Sbd1 sbd1 = new Sbd1();
18 try {
19 conn = sbd1.getConnection(url, userName, password);
20 System.out.println("Before Insert");
21 sbd1.statementQuery(conn);
22 sbd1.statementInsert(conn);
23 System.out.println("After Insert");
24 sbd1.statementQuery(conn);
25 sbd1.preparedStatementInsert(conn);
26 System.out.println("After Insert with preparedstatement");
27 sbd1.statementQuery(conn);
28 sbd1.statementDelete(conn);
29 } catch (Exception e) {
30 e.printStackTrace();
31 } finally {
32 try {
33 conn.close();
34 } catch (Exception e) {
35 e.printStackTrace();
36 }
37 }
38 }
39
40 public Connection getConnection(String url, String userName, String passwd)
41 throws SQLException, ClassNotFoundException {
42 Class.forName("net.sourceforge.jtds.jdbc.Driver");
43 Connection conn = DriverManager.getConnection(url, userName, passwd);
44 return conn;
45 }
46
47 public void statementQuery(Connection conn) throws SQLException {
48 Statement st = conn.createStatement();
49 ResultSet rs = st.executeQuery("select * from Inventory");
50 System.out.println("==========================================");
51 System.out.println("| ID | NAMA | JUMLAH");
52 System.out.println("==========================================");
53 while (rs.next()) {
54 Integer id = rs.getInt(1);
55 String nama = rs.getString(2);
56 Integer jml = rs.getInt(3);
57 System.out.println("| " + id + " | " + nama + " | " +
jml);
58 }
59 }
60
61 public void statementInsert(Connection conn) throws SQLException {
62 //. . . . .
63 }

64 public void preparedStatementInsert(Connection conn) throws SQLException {


65 //. . . . . .
66 }
67
public void statementDelete(Connection conn) throws SQLException {
68 Statement st = conn.createStatement();
69 st.executeUpdate("delete from Inventory where id=3");
70 st.executeUpdate("delete from Inventory where id=4");
71 st.executeUpdate("delete from Inventory where id=5");
72 }
73
74 }

Jalankan program diatas.

4. Tambahkan program berikut dalam method statementInsert pada baris 62, kemudian jalankan
program tersebut

Statement st = conn.createStatement();
st.executeUpdate("insert into Inventory(id, name, quantity) values
(3,'grapes',100)");

5. Tambahkan program berikut dalam method preparedStatementInsert pada baris 65, kemudian
jalankan program tersebut

String sql = "insert into Inventory(id, name, quantity) values(?,?,?)";


PreparedStatement st = conn.prepareStatement(sql);
st.setInt(1, 4);
st.setString(2, "Melon ");
st.setInt(3, 110);
st.executeUpdate();
st.setInt(1, 5);
st.setString(2, "Kiwi ");
st.setInt(3, 120);
st.executeUpdate();

14.6. Latihan
1. Buatlah dua tabel berikut :
◦ Tabel Mahasiswa dengan kolom sebagai berikut:
Nama Kolom Tipe data
NIM Varchar
Nama varchar

◦ Tabel Nilai dengan kolom sebagai berikut:


Nama Kolom Tipe data
NIM Varchar
Nilai Float

Buatlah program untuk menampilkan data berikut dari dua tabel diatas.

NIM Nama Nilai

Anda mungkin juga menyukai