34
Java Database Java Database Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM Smart, Trustworthy, And Teamwork

Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Embed Size (px)

Citation preview

Page 1: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

JavaDatabaseJava DatabaseOleh : Agus Priyanto, M.Kom

SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOMSmart, Trustworthy, And Teamwork

Page 2: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Outline Materi1. Koneksi Aplikasi Java ke Database

2. Studi Kasus Aplikasi Java Database

Page 3: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Koneksi Aplikasi Java keD bDatabase

Page 4: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Tahapan Akses Database dengan JDBCTahapan Akses Database dengan JDBC

DriverDriverMySQLMySQL PostgreSQLPostgreSQL OracleOracle

DriverManagerDriverManager

MySQLMySQL PostgreSQLPostgreSQL OracleOracle

ConnectionConnection

DriverManagerDriverManager

ConnectionConnectionuseruser passwordpassword hosthost databasedatabase urlurl

StatementStatementselectselect updateupdate createcreate insertinsert

ResultSetResultSet

Page 5: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

JDBC (Java DB Connectivity)J (J y)

Java application{{ ..."SELECT ... FROM ... WHERE"

}... }

DBMS

Page 6: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

JDBC DriversJDBC DriversJava

application JDBC-APIpp

JDBC-Driver manager

NativeProtocol driver

JDBC-Net-driver

NativeAPI-driver

JDBC-ODBCbridge

Client libraryDB-Middleware ODBCMiddleware

Client library

Page 7: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Running a JDBC ApplicationRunning a JDBC Application

Phase Task Relevant java sql classesPhase Task Relevant java.sql classes

Initialisation Load driverCreate connection

DriverManagerConnection

Processing Generate SQL statementsProcess result data

StatementResultSet etc.

Termination Terminate connectionRelease data structures

ConnectionStatement etc.

Page 8: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

A Simple JDBC Applicationp J pploadDriverloadDriver import java.sql.*;

public class jdbctest {

getConnectiongetConnection

createStatementcreateStatement

public static void main(String args[]){try{Class.forName("org.postgresql.Driver");Connection con = DriverManager.getConnection

execute(SQL)execute(SQL)

Result handlingResult handling

("jdbc:postgresql://lsir-cis-pc8:5401/pcmdb", "user", "passwd");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery

("select name, number from pcmtable where number < 2");

MoreMoreresults ?results ?

yesyes

( , p );while(rs.next())

System.out.println(rs.getString(1) + " (" + rs.getInt(2) + ")");stmt.close() con close();

closeStatmentcloseStatment

nonocon.close();

} catch(Exception e){System.err.println(e);

}}}closeConnectioncloseConnection }}

Page 9: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Loading of DrivergCreates an instance of the driver

Registers driver in the driver manager

Explicit loadingString l driver = "org.postgresql.Driver";String l_driver org.postgresql.Driver ;Class.forName(l_driver);

Several drivers can be loaded and registered

Page 10: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Implicit Driver LoadingImplicit Driver LoadingSetting system property: jdbc.driversA colon-separated list of driver classnamesp

Can be set when starting the applicationjava Djdbc drivers=org postgresql Driver applicationjava -Djdbc.drivers=org.postgresql.Driver application

Can also be set from within the Java applicationP S P ()Properties prp = System.getProperties();prp.put("jdbc.drivers"

"com.mimer.jdbc.Driver:org.postgresql.Driver");System.setProperties(prp);y p (p p);

The DriverManager class attempts to load all the classes specified in jdbc drivers when the classes specified in jdbc.drivers when the DriverManager class is initialized

Page 11: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Addressing DatabasegA connection is a session with one databaseD t b dd d i URL f th f Databases are addressed using a URL of the form "jdbc:<subprotocol>:<subname>"ExamplesExamples

• jdbc:postgresql:database• jdbc:postgresql://host/databasejdbc:postgresql://host/database• jdbc:postgresql://host:port/database

Defaults: host=localhost, port=5432, p

Page 12: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Connecting to DatabasegConnection is establishedConnection con = Connection con = DriverManager.getConnection(URL,USERID,PWD);

Connection properties (class Properties)

Close the connectioncon.close();

Page 13: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Simple SQL StatementspStatement object for invocationstmt = con createStatement();stmt = con.createStatement();ResultSet rset= stmt.executeQuery(

"SELECT address,script,type FROM SELECT address,script,type FROM worklist");

ResultSet object for result processing

Page 14: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Studi Kasus Aplikasi Database

Page 15: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Aplikasi Databasep

1. Aplikasi Telepon

2. Aplikasi Gurup

3 Aplikasi Bank 3. Aplikasi Bank

4. Aplikasi Penjualan Barang

Page 16: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

AplikasiTeleponp p1. Buka browser, arahkan url ke http://localhost dan

klik link ke phpMyAdminklik link ke phpMyAdmin2. Buat database telepon3 Buat satu table bukutelepon yang berisi field dengan3. Buat satu table bukutelepon, yang berisi field dengan

id sebagai primary key (PK):id integer (auto increment)g ( )nama varchar(20)alamat varchar(50)

l h (20)telepon varchar(20)handphone varchar(20)

Page 17: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 18: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 19: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 20: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 21: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Autoincrement di PostgreSQL

CREATE SEQUENCE bukutelepon_id_seq;

ALTER TABLE bukuteleponALTER COLUMN id

SET DEFAULT NEXTVAL('bukutelepon_id_seq');

UPDATE b k lUPDATE bukuteleponSET id = NEXTVAL('bukutelepon_id_seq');

Page 22: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 23: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 24: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 25: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 26: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 27: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses
Page 28: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Cek Koneksi ke Database MySQLCek Koneksi ke Database MySQLString user="root"; String pswd =""; String host="localhost"; String db="telepon"; String url=""; g ; g p ; g ;try {

Class.forName("com.mysql.jdbc.Driver"); url="jdbc:mysql://"+ host +"/"+ db +"?user=" + user + "&password="+ pswd; url jdbc:mysql:// host / db ?user user &password pswd; Connection conn=DriverManager.getConnection(urlValue); System.out.println("koneksi sukses"); conn close(); conn.close();

} catch (SQLException e){ System.out.println("koneksi gagal " + e.toString());

} t h(Cl N tF dE ti ) { } catch(ClassNotFoundException e) { System.out.println("jdbc.Driver tidak ditemukan");

}

Page 29: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Cek Koneksi ke Database PostgreSQLCek Koneksi ke Database PostgreSQL

String user="root"; String pswd =""; String host="localhost"; String db="telepon"; String url=""; try {

Class.forName(“org.postgresql.Driver"); url="jdbc:postgresql://"+ host +"/"+ db +"?user=" + user + "&password="+ pswd; Connection conn=DriverManager.getConnection(urlValue); System.out.println("koneksi sukses"); y p ( )conn.close();

} catch (SQLException e){ System.out.println("koneksi gagal " + e.toString()); System.out.println( koneksi gagal e.toString());

} catch(ClassNotFoundException e) { System.out.println("jdbc.Driver tidak ditemukan");

} }

Page 30: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Aplikasi Guru

Page 31: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

Aplikasi Guru1. Buat database Guru2. Buat satu table dataguru, yang berisi field dengan nip

sebagai primary key (PK). Field yang lain adalah seperti di bawah:

1 nip integer (auto increment)1. nip integer (auto increment)2. nama varchar(30)3. status varchar(20)4. institusi varchar(30)5. kota varchar(30)6. handphone varchar(20)p ( )7. jeniskelamin varchar(20)8. bidangstudi varchar(30)

Page 32: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

3 Buat 4 class java yang melakukan query ke3. Buat 4 class java yang melakukan query kedatabase Guru:

1 GuruConnection java1. GuruConnection.java2. GuruInsert.java3 GuruRead java3. GuruRead.java4. GuruUpdate.java5 GuruDelete java5. GuruDelete.java

Page 33: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

3. Buat 1 class MenuUtama dan 4 class java GUI l k k k d b Gyang melakukan query ke database Guru:

1. GuruInsertUI.java2 G R dUI j2. GuruReadUI.java3. GuruUpdateUI.java4 G D l t UI j4. GuruDeleteUI.java5. MenuUtama.java

Page 34: Java Database - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2016/02/... · Studi KasusAplikasi Java Database. ... DbDatabase. TahapanAkses

TerimakasihTerimakasihTerimakasihTerimakasih