Showing posts with label postgree. Show all posts
Showing posts with label postgree. Show all posts

Saturday, March 3, 2012

     RMI atau ( Remote Method Invocation ) adalah fasilitas yang dimiliki java untuk pemanggilan Object antara client dan server. RMI menyediakan sarana dimana client dan server dapat berkomunikasi dan saling bertukar infomasi. RMI memungkinkan pengembang perangkat lunak untuk merancang aplikasi terdistribusi dimana methods dari remote object dapat dipanggil dari JVM (Java Virtual Mechine) lain, yang mungkin berjalan pada host yang berbeda, Remote object adalah obyek dalam Java yang dapat direferensikan secara remote. Pemrogram seakan- akan memanggil methods lokal dari file kelas lokal, sedang dalam kenyataannya semua argumen dikirimkan ke remote target dan diinter-pretasikan, kemudian hasilnya dikirimkan kembali ke pemanggil. Dalam RMI, server akan membuat remote objects, membuat referensi, dan menunggu client untuk memanggil methods dari remote object ini. Sedangkan client akan mendapatkan remote reference dari satu atau lebih remote object dan memanggil methods untuk remote object tersebut. tetapi disini saya tidak membahas RMI lebih dalam, jika kamu ingin tau lebih dalam tentang RMI silahkan kunjungi link berikut. http://java.sun.com/j2se/1.5/pdf/rmi-spec-1.5.0.pdf

     Pada postingan saya hanya ingin share sebuah program kecil yang telah aku buat, yang sudah menggunakan RMI, yang mungkin bisa untuk bahan belajar kalian yang baru belajar membuat program RMI, program ini namanya PBTSSS ( program buku telpon sangat sederhana sekali ) hehehe, bukan program gede sich tapi mungkin sangat berguna untuk bahan belajar, khususnya buat adik2 kelasku yang tahun depan akan mengambil matakuliah Pemrograman BasisData Client Server. Program bukutelpon ini sudah terkoneksi ke database ( Postgre ) . jika berminat kalian bisa download projectnya disini. Dan databasenya di sini.


     Saya kasih tau sedikit cara menjalankannya bagi yang masih kebingungan. Pada program ini terdapat 3 Project 1. “bukutelpon_api”, Project 2. “bukutelpon_client”, Peoject 3. “bukutelpon_server”. Buka ketiga project tersebut di netbeans, buka class koneksi di Project bukutelpon_server di package konektor, kemudian ganti port Database yang kamu gunakan, ganti nama database yg kamu gunakan, ganti username dan password database kamu. Kemudian kita jalankan servernya terlebih dahulu ( jika tidak error akan keluar teks “server berjalan.....” ) kemudian baru jalankan clientnya.
     Itu tadi jika kita jalankan di satu PC, jika kita ingin menjalankan di lebih dari satu PC, ganti alamat servernya pada Project client, pada class main. Yang semula “localhost” ganti dengan nama PCHost server atau IP servernya. Kemudian tinggal jalankan project clientnya .

Semoga bermanfaat...

Wednesday, February 8, 2012

Kali ini saya akan memberi contoh membuat sebuah Trigger Sederhana menggunakan PostgreSQL
Pertama kita akan buat tabel terlebih dahulu, kita akan buat tabel stokbarang, dan pembelian.

Membuat tabel stokbarang

CREATE TABLE stokbarang(
kode_barang character varying(20) NOT NULL,
nama_barang character varying(30),
stok_ketersediaan integer,
CONSTRAINT stokbarang_pkey PRIMARY KEY (kode_barang)
)WITH (
OIDS=FALSE
);
ALTER TABLE stokbarang OWNER TO postgres;

Membuat table pembelian

CREATE TABLE pembelian(
kode_barang character varying(20),
jumlah_beli integer,
CONSTRAINT pembelian_kode_barang_fkey FOREIGN KEY (kode_barang)
REFERENCES stokbarang (kode_barang) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)WITH (
OIDS=FALSE
);
ALTER TABLE pembelian OWNER TO postgres;

pada 2 tabel diatas sudah di relasikan, kemudian kita buat functionnya.

CREATE OR REPLACE FUNCTION update_stok()
RETURNS trigger AS
$BODY$
begin
update stokbarang set stok_ketersediaan=stok_ketersediaan-new.jumlah_beli where kode_barang=new.kode_barang;
return new;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION update_stok() OWNER TO postgres;

akan saya jelaskan sedikit, isi function diatas .
update stokbarang set stok_ketersediaan=stok_ketersediaan-new.jumlah_beli where kode_barang=new.kode_barang;
return new;

mengupdate tabel stokbarang pada kolom stok_ketersediaan=( stok_ketersediaan dikurangi jumlah_beli ) nilai jumlah beli diambil saat mengimputkan jumlah _beli pada table pembelian, karena trigger ini dipanggil setelah mengisi data pada tabel pembelian.

Kemudian kita masukkan data stokbarang.

insert into stokbarang values('10023','sikat gigi',50)
insert into stokbarang values('10024','sabun mandi',50)

Membuat trigger dengan nama “update_stok”

CREATE TRIGGER update_stok
AFTER INSERT ON pembelian
FOR EACH ROW
EXECUTE PROCEDURE update_stok();

maksud dari query diatas, membuat trigger namanya update_stok dan akan dijalankan setelah proses pemasukan/insert di tabel pembelian, isi dari trigger ini adalah memanggil function update_stok(); yang sudah kita buat tadi.

Untuk lebih jelasnya lihat contoh proses berikut ini.
















Terlihat stok barang yang telah kita masukkan tadi, dengan kode_barang, nama_barang, dan stok_barang. kedua barang mempunyai stok yang masih utuh ( 50 ).

Selanjutnya masukkan data ke tabel pembelian, kita misalkan ada pembelian membeli barang yang ( kode_barangnya 10023 dan jumlah barang yang dibeli 5 ) , setelah proses insert berhasil maka trigger akan otomatis berjalan ( memanggil function yang telah dibuat tadi ) , cara kerja function ( mengurangi stok ) dapat dilihat pada penjelasan diatas.









Setelah itu kita lihat apakah trigger kita berhasil memanggil function untuk mengpdate stokbarang dengan cara ketik “SELECT * from stokbarang” .













Kita lihat stok_ketersediaan pada kode_barang =10023 berubah menjadi 45 ( hasil dari 50 -5 )
trigger berhasil..

Friday, January 20, 2012

Penggunaan Alter sangat berperan penting dalam pembuatan database, alter ini mempunyai banyak fungsi beberapa diantaranya bisa menambah menghapus, bahkan mengubah data atau attribute tabel, menambahkan primary key, menambahkan foreign key dan masih banyak lainnya.Untuk lebih jelasnya pelajari query dibawah ini :

PostgreSQL Alter Table Add Column ( menambahkan colom di tabel)

PostgreSQL Alter Table Add Primary Key ( menambahkan primary key )

PostgreSQL Alter Table Add Foreign Key ( menambahkan foreign key )

PostgreSQL Alter Table Change Column Type ( mengubah type data suatu colom )

// pada contoh menganti tipe data “char” valuenya (25)

PostgreSQL Alter Table Drop Column ( menghapus kolom tabel )

PostgreSQL Alter Table Drop Constraint ( menghapus constraint )

PostgreSQL Alter Table Drop Primary Key ( menghapus primary key )

PostgreSQL Alter Table Drop Foreign Key ( menghapus foreign key )

PostgreSQL Rename Table ( mengubah nama tabel )

PostgreSQL Rename Column ( mengubah nama field / colom )


Semoga_Bermanfaat ;

Thursday, January 19, 2012

Pada tulisan yang akan saya bahas kali ini sebenarnya sangat sepele sekali, yaitu membuat auto increment di postgreSQL. Mungkin buat para master yang sudah tau cara membuatnya, sudah bukan masalah lagi. Tetapi buat para newbie yang baru belajar (Postgree) mungkin ini merupakan hal yang lumayan penting untuk dipelajari, karena hampir semua program menggunakan auto increment, untuk membuat nomer atau kode yang unik dari program secara otomatis. contohnya program pendaftaran mahasiswa baru disebuah universitas, setiap mahasiswa baru yang mendaftar akan di diberikan nomer urutan yang unik sesuai urutannya. Itulah salah satu fungsi dari auto increment. Untuk menambahkan auto increment di table pada database di mysql sangat berbeda dengan postgreSQL.

MySQL








Jika menggunakan mysql kita tinggal menambahkan sedikit code auto increment, contoh :

CREATE table contoh ( no_urutan int NOT NULL auto_increment,
Nama varchar(30),
Alamat varchar(30),
Primary key(no_urutan));

untuk memulai urutan angka pertama tambahkan
ALTER TABLE contoh AUTO_INCREMENT = 4; // ex: memulai urutan angka dari 4;

PostgreSQL




Untuk menambahkan auto increment di postgre kita bisa menggunakan type data serial. dengan menggunakan type data serial kita sudah menambahkan auto increment di postgree.

CREATE TABLE contoh(
nomer serial NOT NULL,
nama character varying(30),
alamat character varying(30),
CONSTRAINT contoh_pkey PRIMARY KEY (nomer))
WITH (
OIDS=FALSE
);
ALTER TABLE contoh OWNER TO postgres;

Atau anda juga bisa menggunakan ini.

CREATE SEQUENCE mulai; //membuat SEQUENCE dengan nama “mulai

ALTER SEQUENCE mulai RESTART WITH 100; //memasukkan nilai SEQUENCE 100;

Selanjutnya kita buat tabelnya ;
CREATE TABLE apples (
id INT4 DEFAULT nextval('mulai') NOT NULL,
price NUMERIC
);

nextval('mulai') //memanggil sequence yang telah dibuat tadi “mulai” yang mempunyai value 100, jadi pada id ini akan bertambah secara otomatis mulai dari angka 100.


semoga bermanfaat ...

Monday, January 16, 2012

Kali ini aku menuliskan cara membuat function di PostgreSQL, pada contoh yang akan saya buat ini terdapat saya akan membuat 6 tabel, diantaranya "mahasiswa", "mata_kuliah", "nilai_semester", "nilai_sp", "nilai_upas", "nilai_upta" . langsung saja disimak .

perta kita buat tabel mahasiswa .
CREATE TABLE mahasiswa
(
  nim character varying(10) NOT NULL,
  nama character varying(30),
  prodi character varying(5),
  CONSTRAINT mahasiswa_pkey PRIMARY KEY (nim)
)
WITH (
  OIDS=FALSE);
ALTER TABLE mahasiswa OWNER TO postgres;


buat tabel mata_kuliah 
CREATE TABLE mata_kuliah(
  kdmtk character varying(5) NOT NULL,
  nm_mtk character varying(15),
  sks integer,
  smt integer,
  CONSTRAINT mata_kuliah_pkey PRIMARY KEY (kdmtk)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE mata_kuliah OWNER TO postgres;


membuat tabel nilai_semester
CREATE TABLE nilai_semester(
  nim character varying(10) NOT NULL,
  kdmtk character varying(5),
  smt integer,
  tahun numeric,
  great character varying(1),
  CONSTRAINT nilai_semester_kdmtk_fkey FOREIGN KEY (kdmtk)
      REFERENCES mata_kuliah (kdmtk) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE,
  CONSTRAINT nilai_semester_nim_fkey FOREIGN KEY (nim)
      REFERENCES mahasiswa (nim) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE
)
WITH (
  OIDS=FALSE
);
ALTER TABLE nilai_semester OWNER TO postgres;


membuat tabel nilai_sp
CREATE TABLE nilai_sp(
  nim character varying(10) NOT NULL,
  kdmtk character varying(5),
  smt integer,
  tahun numeric,
  great character varying(1),
  CONSTRAINT nilai_sp_kdmtk_fkey FOREIGN KEY (kdmtk)
      REFERENCES mata_kuliah (kdmtk) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE,
  CONSTRAINT nilai_sp_nim_fkey FOREIGN KEY (nim)
      REFERENCES mahasiswa (nim) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE
)
WITH (
  OIDS=FALSE
);
ALTER TABLE nilai_sp OWNER TO postgres;


 membuat tabel nilai_upas
CREATE TABLE nilai_upas(
  nim character varying(10) NOT NULL,
  kdmtk character varying(5),
  smt integer,
  tahun numeric,
  great character varying(1),
  CONSTRAINT nilai_upas_kdmtk_fkey FOREIGN KEY (kdmtk)
      REFERENCES mata_kuliah (kdmtk) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE,
  CONSTRAINT nilai_upas_nim_fkey FOREIGN KEY (nim)
      REFERENCES mahasiswa (nim) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE
)
WITH (
  OIDS=FALSE
);
ALTER TABLE nilai_upas OWNER TO postgres;


membuat tabel nilai_upta
CREATE TABLE nilai_upta(
  nim character varying(10) NOT NULL,
  kdmtk character varying(5),
  smt integer,
  tahun numeric,
  great character varying(1),
  CONSTRAINT nilai_upta_kdmtk_fkey FOREIGN KEY (kdmtk)
      REFERENCES mata_kuliah (kdmtk) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE,
  CONSTRAINT nilai_upta_nim_fkey FOREIGN KEY (nim)
      REFERENCES mahasiswa (nim) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE
)
WITH (
  OIDS=FALSE
);
ALTER TABLE nilai_upta OWNER TO postgres;

Pada Data Definition Language (DDL) yang telah kita buat tadi, sudah mempunyai relasi antar tabel. Contoh pada tabel “nilai_semester” terdapat  query.

CONSTRAINT nilai_semester_kdmtk_fkey FOREIGN KEY (kdmtk)
      REFERENCES mata_kuliah (kdmtk) MATCH SIMPLE

Pada query diatas mempunyai foreign key pada attribute (kdmtk) yang mereferences attribute ( kdmtk) di tabel mata_kuliah. jadi jika kita mengisi data pada tabel “nilai_semester” tetapi pada attribute(kdmtk)  pada tabel “mata_kuliah” belum ada atau belum ditambahkan maka terjadi error / gagal menambahkan data..maka dengan relasi ini user tidak bisa menambahkan data sembarangan. Itu salah satu fungsi daripada relasi antar tabel .

Oke setelah kita selesai membuat tabel, sekarang kita memasukkan data ke tabel yang telah kita buat tadi.

memasukkan data ke tabel nilai_semester.
INSERT INTO nilai_semester(
            nim, kdmtk, smt, tahun, great)
    VALUES (2009420028, 'TI01', 3, 2008, 'B'),
    (2009420028, 'TI02', 3, 2008, 'A'),
    (2009420029, 'TI01', 3, 2008, 'C'),
    (2009420029, 'TI02', 3, 2008, 'D'),
    (2009420030, 'TI01', 3, 2008, 'C'),
    (2009420030, 'TI02', 3, 2008, 'A'),
    (2009420031, 'TI01', 3, 2008, 'D'),
    (2009420031, 'TI02', 3, 2008, 'D');


memasukkan data ke tabel mahasiswa
INSERT INTO mahasiswa(
            nim, nama,prodi)
    VALUES (2009420028, 'okin luberto','TIK'),
    (2009420029, 'mahasiswa1','TIK'),
    (2009420030, ' mahasiswa2','TIK'),
    (2009420031, ' mahasiswa3','TIK'),
    (2009420032, ' mahasiswa4','TIK');


memasukkan data ke tabel mata_kuliah
INSERT INTO mata_kuliah(
            kdmtk,nm_mtk,sks,smt)
    VALUES ('TI01', 'ALGO 1',3,5),
    ('TI02', 'SQBD',3,5);


memasukkan data ke tabel nilai_sp
INSERT INTO nilai_sp(
            nim, kdmtk, smt, tahun, great)
    VALUES (2009420028, 'TI01', 3, 2008, 'C'),
    (2009420028, 'TI02', 3, 2008, 'D'),
    (2009420029, 'TI01', 3, 2008, 'C'),
    (2009420029, 'TI02', 3, 2008, 'C'),
    (2009420030, 'TI01', 3, 2008, 'C'),
    (2009420030, 'TI02', 3, 2008, 'C'),
    (2009420031, 'TI01', 3, 2008, 'C'),
    (2009420031, 'TI02', 3, 2008, 'D');   


memasukkan data ke tabel nilai_upas
INSERT INTO nilai_upas(
            nim, kdmtk, smt, tahun, great)
    VALUES (2009420028, 'TI01', 3, 2008, 'A'),
    (2009420028, 'TI02', 3, 2008, 'A'),
    (2009420029, 'TI01', 3, 2008, 'B'),
    (2009420029, 'TI02', 3, 2008, 'B'),
    (2009420030, 'TI01', 3, 2008, 'C'),
    (2009420030, 'TI02', 3, 2008, 'B'),
    (2009420031, 'TI01', 3, 2008, 'C'),
    (2009420031, 'TI02', 3, 2008, 'C');    


memasukkan data ke tabel nilai_upta
INSERT INTO nilai_upta(
            nim, kdmtk, smt, tahun, great)
    VALUES (2009420028, 'TI01', 3, 2008, 'A'),
    (2009420028, 'TI02', 3, 2008, 'C'),
    (2009420029, 'TI01', 3, 2008, 'B'),
    (2009420029, 'TI02', 3, 2008, 'B'),
    (2009420030, 'TI01', 3, 2008, 'C'),
    (2009420030, 'TI02', 3, 2008, 'B'),
    (2009420031, 'TI01', 3, 2008, 'A'),
    (2009420031, 'TI02', 3, 2008, 'D');        


nah setelah memasukkan data ke tabel, kita cek apakah data yang kita masukkan tadi berhasil tersimpan
SELECT * from mata_kuliah
SELECT * from mahasiswa
SELECT * from nilai_semester
SELECT * from nilai_sp
SELECT * from nilai_upas
SELECT * from nilai_upta


setelah semua okke, baru kita buat functions - nya, pada contoh ini saya akan membuat 2 functions .
1. get_khs untuk menampilkan hasil ujiannya diambil dari ( diambil nilai terbesar dari 4 nilai ujian (nilai_semester, nilai_sp, nilai_upta, nilai_upas ) di kalikan jumlah sks dari mata_kulaih yang diambil.

2. get_ipk untuk menampilkan nilai_ipk ( diambil dari (jumlah hasil semua nilai terbesar dari tiap mata_kulaih) / ( jumlah sks yang diambil )

MEMBUAT FUNCTION get_khs.
create or replace function get_khs(varchar)
returns setof record as
$$
declare
     nim_mhs alias for $1;
     out record;
begin
     for out in execute
     'select nim,(select nama from mahasiswa where nim=ddd.nim) as nama,

kdmtk,(select nm_mtk from mata_kuliah where kdmtk=ddd.kdmtk) as nm_mtk,

smt,sks,tahun,nilai_akhir,

(case when nilai_akhir=''A'' then sks*4

when nilai_akhir=''B'' then sks*3

when nilai_akhir=''C'' then sks*2

when nilai_akhir=''D'' then sks*1
else sks*0 end)::integer as nxk from(

select nim,kdmtk,smt,(select sks from mata_kuliah where kdmtk=dd.kdmtk) as sks,tahun,nilai_akhir from (
select nim,kdmtk,smt,tahun,min(great) as nilai_akhir from (
select * from nilai_semester union all

select * from nilai_upta union all

select * from nilai_upas union all 

select * from nilai_sp
) as d group by nim,kdmtk,smt,tahun having nim='''||nim_mhs||''' order by nim
) as dd
) as ddd'
     loop
           return next out;
     end loop;
     return;
end
$$ language 'plpgsql';

tau gg maksud dari query pada function get_khs diatas okelah akan saya jelaskan, agar mudah dipahami saya akan menjelaskan mulai dari query yang paling bawah, atau lapisan yang paling tengah. karena, jika saya menjelaskan mulai dari yang paling atas mungkin akan susah untuk dimengeti ( kalau menurut saya hehehe ).
nah pada query diatas telah saya beri warna yang berbeda dan berlapis2, untuk mempermudah menjelaskannya. untuk memulai membuat function semua hampir sama caranya create or replace function [nama functions](varchar) dan seterusnya seperti pada query diatas.

berikut penjelasan pada lapisan query diatas .
lapisan merah --> terdapat select * [nama tabel] karena pada ke 4 tabel nilai yang saya buat attributnya sama jadi saya bisa menampilkan semua data pada ke 4 tabel secara bersamaan menggunakan union all 

lapisan kuning --> meminta menampilkan attribut nim,kdmtk,smt,tahun,min(great) as nilai_akhir, "min" mengambil nilai terbaik dari ke 4 tabel hasil ujian ."as nilai_akhir" dan diberi nama "nilai_akhir" ."having nim='''||nim_mhs||''' " akan menampilkan data meurut nim yang akan dimasukkan ke variabel "nim_mhs" ,"order by nim" hasil output diurutkan menurut nim .

lapisan hijau --> hampir sama dengan lapisan kuning, "(select sks from mata_kuliah where kdmtk=dd.kdmtk) as sks" mengambil sks dari tabel mata_kuliah dimana kdmtk=dd.kdmtk ( kdmtk hasil pemanggilan sebelumnya ), dd hanya sebagai variabel bayangan yang nantinya query harus diakhiri dengan ") as dd", dan diberi nama "sks"

lapisan biru --> terdapat case when "case when nilai_akhir=''A'' then sks*4", mengambil nilai akhir, jika nilai_akhir sama dengan 'A' maka (keluarannya) sks dikalikan 4, jika 'B' dikalikan 3, jika 'C' dikalikan 2, jika 'D' dikalikan 1, jika else lainnya dikalikan 0, dan hasil (keluarannya) tadi dimasukkan ke attribut "nxk".

 
MEMBUAT FUNCTION get_ipk.
create or replace function get_ipk(varchar)
returns setof record as
$$
declare
     nim_mhs alias for $1;
     out record;
begin
     for out in execute
     'select nim,nama,(sum(nxk)/sum(sks))::double precision as ipk from (
     select nim,(select nama from mahasiswa where nim=ddd.nim) as nama,

kdmtk,(select nm_mtk from mata_kuliah where kdmtk=ddd.kdmtk) as nm_mtk,

smt,sks,tahun,nilai_akhir,

(case when nilai_akhir=''A'' then smt*4

when nilai_akhir=''B'' then sks*3

when nilai_akhir=''C'' then sks*2

when nilai_akhir=''D'' then sks*1

else sks*0 end)::integer as nxk from(
select nim,kdmtk,smt,(select sks from mata_kuliah where kdmtk=dd.kdmtk) as sks,tahun,nilai_akhir from (
select nim,kdmtk,smt,tahun,min(great) as nilai_akhir from (
select * from nilai_semester union all

select * from nilai_upta union all

select * from nilai_upas union all 

select * from nilai_sp
) as d group by nim,kdmtk,smt,tahun having nim='''||nim_mhs||''' order by nim
) as dd
) as ddd
) as dddd group by nim,nama'
loop
           return next out;
     end loop;
     return;
end
$$ language 'plpgsql';

untuk menjelaskan query ini hampir sama dengan query diatas, tetapi saya hanya menambahkan sedikit penjelasan pada kapisan ungu "(sum(nxk)/sum(sks))::double precision as ipk" query ini untuk menghitung IPK ,jumlah "nxk" dibagi jumlah "sks" dan hasilnya nanti dimasukkan di variabel ipk yang ber-tipe data double .

Naaaaah , setelah buat functionnya kita penggil dengan mengetik query seperti ini:

panggil function get_khs yang nimnya= 2009420028
select * from get_khs('2009420028') as (
nim varchar,nama varchar,kdmtk varchar,nm_mtk varchar,smt int,sks int,tahun numeric,nilai_akhir text,nxk int)


 panggil function get_ipk yang nimnya= 2009420028
 select * from get_ipk('2009420028') as (nim varchar,nama varchar,ipk double precision)




Thursday, November 17, 2011

Kemarin di perkuliahan aku dapat tugas dari Dosen untuk membuat sebuah program sederhana yang terkoneksi ke dalam database Postgree. Pada program ini kita di minta untuk menambahkan beberapa input text yang digunakan untuk mengkoneksikan ke database, seperti host, port, nama database, user, dan password yang dibutuhkan untuk mengkoneksikan ke database. selain itu kita juga diminta untuk membuat input text ,untuk memasukkan query didalamnya dan hasil query tersebut akan ditempatkan di sebuah output text yang telah dibuat .

Tampilan program seperti gambar dibawah ini :


Sebelum menjalankan program kita harus membuat database terlebih dahulu :

Membuat database Dbase :

CREATE DATABASE "Dbase"

WITH OWNER = postgres

ENCODING = 'UTF8'

TABLESPACE = pg_default

LC_COLLATE = 'Indonesian, Indonesia'

LC_CTYPE = 'Indonesian, Indonesia'

CONNECTION LIMIT = -1;


Membuat table contoh :

CREATE TABLE contoh

(

"no" integer NOT NULL,

nama character varying,

alamat character varying,

CONSTRAINT contoh_pkey PRIMARY KEY (no)

)

WITH (

OIDS=FALSE

);

ALTER TABLE contoh OWNER TO postgres;

Cara menjalankannya kita harus mengkoneksikan program ke database terlebih dahulu dengan cara isikan host, post, nama database, user, dan password , dan klik tombol connect.


Jika data yang kamu inputkan benar dan berhasil terkoneksi akan tampil pesan "connnection successfull".
jika kita sudah memasukkan data ke table yang telah kira buat pada database tadi , kita bisa melihat data pada table tersebut dengan mengetik perintah select , seperti gambar di bawah ini .

PERINTAH SELECT


Jika query yang kamu masukkan benar akan tampil eksekusi di output text .
Selanjutnya kita bisa memasukkan data dengan perintah insert .

PERINTAH INSERT


Jika query yang kamu masukkan berhasil akan tampil pesan "insert successfull"
Nah untuk mengecek apakah data yang kita masukkan tadi berhasil tersimpan cek dengan perintah "select" .


PERINTAH UPDATE


hasil query

Jika qurey yang kita masukkan berhasil akan keluar pesan "update successfull" . pada hasil output terlihat alamat John Ripple berganti "Los Angeles" menjadi "jogja".

PERINTAH DELETE


hasil query


program ini masih belum sempurnya, perintah yang bisa di proses hanya select, insert, update dan delete . Mungkin kalian yang ingin sekedar mempelajarinya bisa download programnya disini ,  databasenya disini , dan library yang dibutuhkan disini.

semoga bermanfaat, kritik dan saran saya tunggu ya...

Wednesday, November 16, 2011

Pada tutorial ini saya menggunakan PostgreSQL 9.0 . Untuk membuat database menggunakan PgAdmin , anda harus masuk dulu ke PgAdmin yang telah disediakan saat menginstall postgree. Lalu koneksikan Pgdmin anda dengan cara meng-klik 2x server yang ada pada form object browser. Lalu anda akan diminta memasukkan password , masukkan password anda dan enter .
Untuk membuat database klik kanan klik kanan pada icon database dan pilih New Database..


Pada menu properties isikan nama database dan klik ok . Setelah itu klik tanda ( + ) pada icon database yang telah anda buwat tadi atau dengan cara klik 2x pada icon database. Lalu masuk ke ( schemes ) – ( public ) .
pada icon table kanan pilih ( New Table ).

Pada menu Properties ( bagian atas form ) masukkan nama tabel.


Setelah itu pindah ke menu ( column ).


Untuk membuat attribut / field/ kolom pada table klik add pada tombol sebelah bawah . Isikan nama kolom , type data, dan length ( maksimal karakter pada kolom table ). Jika ingin meambahkan kolom lagi klik tombol ( add ) , lalu klik ok untuk menyimpan tabel .

Database + tabel sudah berhasil dibuat .

semoga bermanfaat..!!

Untuk mengkoneksikan java dengan database PostgreSQL  hampir sama dengan mengkoneksikan java dengan Mysql  ( yang sudah saya postingkan sebelumnya ), bedanya kita harus download driver konektor untuk postgree bisa kalian download disini. Setelah download driver konektornya import driver konektor ke dalam project kita. Pada tutorial ini program editor yang aku gunakan adalah netbeans 6.5.

Pertama buwat database di postgreSql, jika belum tau caranya bisa dilihat artikel "membuat database PostgreSQL dengan PgAdmin" setelah database behasil dibuat, buka netbeans dan buwat project baru . Pada folder libraries klik kanan dan pilih "add JAR/ Folder ..". Cari driver konektor yang telah kamu download tadi dan pilih open.


Buat class baru dengan cara klik kanan package klik new – java class, beri nama dan finish.
Lalu ketikkan source code dibawah ini.


import java.sql.*;
import javax.swing.JOptionPane;
/**
 *
 * @author luberto
 */
public class koneksi_java_postgree {
    public static void main(String[] args) {
        Connection kon=null;
        try {
            Class.forName("org.postgresql.Driver");
             kon=DriverManager.getConnection("jdbc:postgresql://localhost:5432/example?user=postgres&password=123456");
            if (kon==null) {
              JOptionPane.showMessageDialog(null, "error ! tidak bisa konek pe postgree");
            } else {
                 JOptionPane.showMessageDialog(null, "suksess ! koneksi berhasil");
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        } catch (ClassNotFoundException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }
    }
}

Pada source code :
kon=DriverManager.getConnection("jdbc:postgresql://localhost:5432/example?user=postgres&password=123456");"

akan mengkoneksikan driver ke database yang beralamatkan pada ip server ( localhost ) dan menggunakan port 5432, nama database yang di koneksikan bernama example yang nama user =postgres dan password=123456

Pada source code :
            if (kon==null) {
              JOptionPane.showMessageDialog(null, "error ! tidak bisa konek ke postgree");
            } else {
                 JOptionPane.showMessageDialog(null, "suksess ! koneksi berhasil");
            }

Jika koneksi tidak bisa / tidak ada /null maka program akan menampilkan pesan “error ! tidak bisa konek ke postgree”
Dan jika tidak ( else ) atau kebalikannya, koneksi ada / berhasi l terkoneksi program akan menampilkan pesan “suksess ! koneksi berhasil”

Pada method trycatch gunakan Output  JoptionPane untuk mempermudahkan kita mengetahui  jika terjadi error pada program.

semoga bermanfaat ...

Propellerads

Popular Posts