Wisha's Weblog

“Dan nikmat Tuhan kamu yang manakah yang dapat kamu dustakan” (QS.Ar-Rahman:13)

0. Pemrograman Visual (With Java)

Tinggalkan komentar

Koneksi ke database dari java visual karena kita akan membuat program terkoneksi ke database dalam hal ini kita akan membuat dengan menggunakan database postgresql

Cek apakah postgresql, Oh ia praktek kali ini menggunakan OS Centos

#service postgresql status

pastikan user postgresql telah aktif

[root@localhost ~]# cat /etc/passwd | grep postgres
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash

Login sebagai user postgres

[root@localhost ~]# su – postgres
-bash-3.2$ ls
backups  data  pgstartup.log

Lakukan test login

-bash-3.2$ psql template1
Welcome to psql 8.1.18, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

template1=# ALTER USER postgres with password ‘password’;
ALTER ROLE
template1=# \q

edit  konfigurasi menjadi password

——————————————————————————

# “local” is for Unix domain socket connections only
local   all         all                               password
# IPv4 local connections:
host    all         all         127.0.0.1/32          password
# IPv6 local connections:
host    all         all         ::1/128               password

—————————————————————————–

lalu edit $vim data/postgresql.conf  dengan aktifkan tanda pagar pada address

————————————————

# – Connection Settings –

listen_addresses = ‘localhost’          # what IP address(es) to listen on;

———————————————-

Lakukan restart

[root@localhost ~]# /etc/init.d/postgresql restart

Buat user login postgres yang baru

#createuser -U postgres siswa -P

[root@localhost ~]# createuser -U postgres siswa -P
Enter password for new role:  isi password user baru misal siswa
Enter it again: Ulangi
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
Password: —> password user postgresql ‘password’
CREATE ROLE

Buat database inventori

[root@localhost ~]# createdb inventori -U siswa

Login database sebagai user siswa

[root@localhost ~]# psql -U siswa inventori
Password for user siswa:
Welcome to psql 8.1.18, the PostgreSQL interactive terminal.
inventori=> \d

Buat Table

inventori=> CREATE TABLE jenis_barang (
inventori(> idjenis serial primary key,
inventori(> nama varchar(30) unique
inventori(> );
NOTICE:  CREATE TABLE will create implicit sequence “jenis_barang_idjenis_seq” for serial column “jenis_barang.idjenis”
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index “jenis_barang_pkey” for table “jenis_barang”
NOTICE:  CREATE TABLE / UNIQUE will create implicit index “jenis_barang_nama_key” for table “jenis_barang”
CREATE TABLE

inventori=> create table satuan (
inventori(> idsatuan serial primary key,
inventori(> nama varchar(20) unique);

lakukan input data

inventori=> insert into jenis_barang (nama) values (‘elektronik’);
INSERT 0 1
inventori=> insert into jenis_barang (nama) values (‘Furniture’);
INSERT 0 1
inventori=> insert into jenis_barang (nama) values (‘Makanan’);
INSERT 0 1
inventori=> insert into satuan (nama) values (‘Box’);
INSERT 0 1
inventori=> insert into satuan (nama) values (‘Unit’);
INSERT 0 1
inventori=> insert into satuan (nama) values (‘Kg’);
INSERT 0 1
inventori=> insert into satuan (nama) values (‘Buah’);
INSERT 0 1
inventori=> select * from jenis_barang;
idjenis |    nama
———+————
1 | elektronik
2 | Furniture
3 | Makanan
(3 rows)

inventori=> select * from satuan;
idsatuan | nama
———-+——
1 | Box
2 | Unit
3 | Kg
4 | Buah
(4 rows)

inventori=>

OK settingan postgres sudah rebes sekarang kita ke javanya menggunakan netbeans langsung saja

buat file db.properties

isikan file db.properties

——————————————————————————

# To change this template, choose Tools | Templates
# and open the template in the editor.
DBUSER=siswa
DBPASS=siswa
DBSERVER=localhost
DBNAME=inventori

——————————————————————————

Tambahkan driver untuk database dalam hal ini postgres

Lalu Buat file DBKoneks.java “dalam hal ini saya beri nama DBKoneks”

isi file DBKoneks.java

==========================

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package org.lp3tnf.ppdt.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ResourceBundle;

/**
*
* @author root
*/
public class DBKoneks {

private Connection con ;
ResourceBundle bundle = null;

public DBKoneks() {
bundle = ResourceBundle.getBundle(“db”);
initDB();
}
public void initDB()
{
String dbuser = bundle.getString(“DBUSER”);
String dbpass = bundle.getString(“DBPASS”);
String dbname = bundle.getString(“DBNAME”);
String dbhost = bundle.getString(“DBSERVER”);

try
{
String url = “jdbc:postgresql://”+dbhost+”:5432/”+dbname;
Class.forName(“org.postgresql.Driver”);
con = DriverManager.getConnection(url,dbuser,dbpass);

}catch (Exception ee)
{
System.out.println(“GAGAL KONEKSI DATABASE”);
ee.printStackTrace();
}
}

public Connection getKoneksi()
{
try
{
if (this.con != null || this.con.isClosed())
{
this.initDB();
}
}catch(SQLException ee)
{
ee.printStackTrace();

}
return this.con;
}

public void closeKoneksi()
{
try
{
if (this.con != null) this.con.close();
}catch(SQLException ee)
{
System.out.println(“GAGAL TUTUP KONEKSI”);
ee.printStackTrace();
}
}

}

===============================

Buat File TesKoneksi.java

isi dari file TestKoneksi.java

=============================

/**
*
* @author root
*/
public class TesKoneksi {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic
String sql = “SELECT * FROM jenis_barang”;
//Sesuaikan dengan namafile DBKoneks.java jadi nama var dan method DBKoneks
DBKoneks dbkon = new DBKoneks();
try
{
Statement st = dbkon.getKoneksi().
createStatement();
//ResultSet kalau di pdo kaya pdo fetch all
ResultSet rs = st.executeQuery(sql);

while(rs.next())
{
//Get berdasarkan tipe data
System.out.println(rs.getInt(“idjenis”)
+ ” – ” + rs.getString(“nama”)
);

}
dbkon.closeKoneksi();
}catch (SQLException ee)
{
System.out.println(“Upps Error Connect”);
ee.printStackTrace();

}
}
}

==========================

Buat file TestInsert.java ini untuk insert data

Berikut scriptnya

===================

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package org.lp3tnf.ppdt.db;

import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
*
* @author root
*/
public class TestInsert {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
String sql = “INSERT INTO jenis_barang”
+ “(nama) VALUES (?)”;
String str_jenis = JOptionPane.showInputDialog(“Masukan Jenis Barang”);

DBKoneks dbkon = new DBKoneks();
try
{
PreparedStatement ps = dbkon.getKoneksi().prepareStatement(sql);
//value satu 1 itu adalah dari (?) kalau tanda tanyanya lebih dari satu
//misal 2 (??) maka value pada ps.setString(2, str_jenis); menjadi 2
ps.setString(1, str_jenis);
ps.executeUpdate();
}catch(SQLException ee)

{
System.out.println(“Upps Error Koneksi”);
ee.printStackTrace();
}
dbkon.closeKoneksi();

}

}

======================

Kemudian untuk mencobanya jalankan masing-masing file dengan run file pada filenya

klik kanan run file atau shift + f6

run:
BUILD SUCCESSFUL (total time: 21 seconds)

periksa di file TesKoneksi.java dengan run file

maka outputnya

run:
1 – elektronik
2 – Furniture
3 – Makanan
4 – kotak
5 – input datanya
BUILD SUCCESSFUL (total time: 0 seconds)

Demikian deskripsi penggunaan database pada java.

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s