Anda di halaman 1dari 10

Pengenalan tentang Database & SQLite

Posted Sun, 09/13/2009 - 18:40 by Rockes13


Forums:
o Java & Database (Basic)
Database (indonesia : basisdata) adalah kumpulan informasi yang disimpan di dalam
komputer secara sistematik sehinggan dapat diperiksa menggunakan suatu program
komputer untuk memperoleh informasi dari database tersebut. Perangkat lunak yang
digunakan untuk mengelola dan memanggil query database disebut Manajemen Sistem
Basisdata (Database Manajement System, DBMS).sumber
Alasan perlunya database

Basis data merupakan salah satu komponen penting dalam system informasi,
karena merupakan dasar dalam menyediakan informasi.
Basis data menentukan kualitas informasi : akurat, tepat pada waktunya dan
relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatkannya.
Basis data mengurangi duplikasi data (data redudancy).
Dengan mengaplikasikan basis data hubungan data dapat ditingkatkan.
Basis data dapat mengurangi pemborosan tempat simpanan luar.
sumber
Contoh kasus :
Dalam suatu Program Studi Teknik Informatika pada suatu Universitas, ingin
mengadakan sensus mengenai biodata masing-masing mahasiswanya. Biodata
tersebut berisikan : NPM, nama mahasiswa, alamat dan jenis kelamin. Data
akan diambil berdasarkan hasil sensus dari tim sensus biodata. Coba anda
bayangkan berapa banyak kertas yang dibutuhkan untuk diisikan data-data
tersebut melihat begitu banyaknya mahasiswa yang disensus. Dan apabila suatu
saat data-data tersebut diperlukan (mencari biodata seorang mahasiswa), akan
membuang waktu yang cukup lama untuk mencarinya.
Jika dibandingkan dengan cara berikut, tim sensus biodata tersebut hanya
membawa sebuah Notebook. Dan mengisikan biodata masing-masing mahasiswa
ke dalam sebuah database Biodata Mahasiswa yang sebelumnya telah dibuat
oleh tim tersebut. Bukankah akan lebih banyak menghemat waktu dan biaya !!!
SQLite
SQLite merupakan sebuah database OpenSource seperti halnya MySQL, Firebird,
dan lain-lain. Dengan ukuran file yang sangat kecil SQLite layak
dipertimbangkan untuk pemilihan sebuah database relasional (RDBMS). Di
dalam pustaka SQLite terdapat beberapa fasilitas yang dapat kita gunakan untuk
memanipulasi data ataupun mendefinisikan data. Untuk mendapatkan SQLite

versi 3 dapat kita peroleh di sini.


Menggunakan SQLite (pada Windows XP)
Setelah anda men-download-nya, kemudian anda extract file zip tersebut di mana
saja. Dan copy file sqlite3.exe hasil extract tadi ke dalam direktori
C:\WINDOWS\system32. Buatlah sebuah direktori baru dengan nama bebas
(contoh : basisdata) di dalam drive D: (kalau tidak ada silahkan diganti dengan
drive lain seperti C: dll)yang nantinya akan digunakan untuk tempat menyimpan
file database yang akan kita buat.
Kemudian anda buka command prompt melalui Start menu - All Program Accessories - Command Prompt. Maka akan keluar jendela sebagai berikut :

Kemudian masuklah ke direktori basisdata pada drive D: yang telah dibuat


sebelumnya.

Membuka & membuat database


Membuat database dalam SQLite bisa dilakukan dengan cara mengetikkan :
sqlite3 test.db

maka akan tampil versi dari SQLite seperti pada gambar berikut :

Kemudian jika kita akan menutupnya cukup dengan mengetikkan :


.quit

Jika anda ingin membuka kembali database file yang telah dibuat sebelumnya.
Lakukan langkah-langkah seperti di atas (mengetikkan nama database file yang
telah tersimpan, contoh : sqlite3 test.db).

SQLite Lanjut 1
Posted Tue, 10/13/2009 - 18:59 by Rockes13
Forums:
o Java & Database (Basic)
Pembahasan kali ini akan mengangkat tema SQL. SQL (Structured Query Language)
merupakan sebuah bahasa untuk berkomunikasi dengan sebuah database. Dengan
menggunakan SQL kita dapat mengambil data ataupun mengubah data dari suatu
database. SQL statement umumnya dikelompokkan menjadi 3 bagian :
1. DDL (Data Definition Language) adalah statement yang digunakan untuk
mendefinisikan skema atau struktur dari suatu database. Terdiri dari :

CREATE - membuat suatu objek dalam database.


ALTER - mengubah struktur objek dari suatu database.
DROP - menghapus objek dari suatu database.
TRUNCATE - menghapus semua record dari sebuah tabel, termasuk semua
alokasi ruang untuk record tersebut ikut dihapus.
RENAME - mengganti nama suatu objek database.

2. DML (Data Manipulation Language) adalah statement yang digunakan untuk


mengelola data di dalam skema atau struktur objek.

SELECT - mendapatkan data dari suatu database.


INSERT - memasukkan data ke dalam sebuah tabel.
UPDATE - mengubah data yang sudah ada dalam sebuah tabel.
DELETE - menghapus record dari sebuah tabel, alokasi ruang tidak dihapus.

3. DCL (Data Control Language).

GRANT - memberikan hak akses pengguna ke database.


REVOKE - mencabut atau menarik kembali hak akses yang telah diberikan
dengan statement GRANT

Selengkapnya mengenai DDL, DML & DCL (klik di sini)


SQL pada SQLite
SQLite telah memahami sebagian besar syntax SQL. Selengkapnya silahkan klik dan
baca di sini.
Dalam tutorial kali ini pembahasan materi terbatas pada beberapa syntax SQL saja.
Yaitu : CREATE, INSERT, UPDATE, DELETE, dan SELECT.

Yuk...Kita Mulai.
Database yang digunakan adalah database yang telah dibuat pada tutorial yang lalu.
Kalau sudah lupa silahkan klik di sini. Setelah berhasil masuk ke dalam database test1.db
selanjutnya kita akan mencoba menerapkan beberapa sytax SQL tersebut.
CREATE
Ketikkan perintah berikut ke dalam SQLite console anda :
CREATE TABLE MHS(
npm char(15) primary key,
nama char(25),
jenkel char(10),
alamat char(10),
notlp char(15)
);

Penjelasan :

Statement CREATE TABLE - statement untuk membuat tabel. Di sini kita akan
membuat TABLE dengan nama MHS di mana field-field-nya terdiri dari : npm,
nama, jenkel, alamat, notlp. Klik di sini supaya lebih jelas.
Primary Key - suatu nilai dalam database yang digunakan untuk mengidentifikasi
suatu baris dalam tabel. Selengkapnya klik di sini.
Data Type (seperti char dll) - Klik di sini.

INSERT
Ketikkan perintah berikut ke dalam SQLite console anda :
INSERT INTO MHS(
npm, nama, jenkel, alamat, notlp)
VALUES(
'200843500123','Suradi Sanjaya','laki-laki','Jakarta','02155555555');
INSERT INTO MHS(
npm, nama, jenkel, alamat, notlp)
VALUES(
'200843500124','Rani Desti','perempuan','Jakarta','021-56565656');
INSERT INTO MHS(
npm, nama, jenkel, alamat, notlp)
VALUES(
'200843500125','Ronny Siantar','laki-laki','Jakarta','021-45564565');

Penjelasan :

Statement INSERT di atas merupakan syntax SQL untuk memasukkan data ke


dalam suatu TABLE. Dalam hal ini kita memasukkan data tentang mahasiswa ke
dalam TABLE MHS. Selengkapnya klik di sini.

SELECT
Ketikkan statement berikut ke dalam SQLite console anda :
SELECT * FROM MHS;

Bila perintah di atas kita eksekusi, akan menghasilkan output seperti ini :
200843500123 Suradi Sanjaya laki-laki Jakarta 021-55555555
200843500124 Rani Desti
perempuan Jakarta 021-56565656
200843500125 Ronny Siantar laki-laki Jakarta 021-45564565
Penjelasan :
Statement SELECT di atas berguna untuk mengambil atau memanggil satu atau
lebih record dalam suatu TABLE. Operator ( * ) bertugas sebagai perwakilan dari
semua field. Artinya jika kita menggunakan ( * ) maka yang kita panggil adalah
record semua field.
UPDATE
Ketikkan perintah berikut ke dalam SQLite console anda :
UPDATE MHS SET
nama="Ranny Destia",
alamat="Bandung"
WHERE
npm="200843500124";

Penjelasan :
Statement UPDATE di atas digunakan untuk mengubah record yang sudah ada
dari suatu TABLE. Dalam hal ini kita akan merubah nama & alamat dari
mahasiswa yang memiliki npm 200843500124. Perlu diingat bahwa penggunaan
klausa WHERE dalam statement UPDATE sangat penting. Karena apabila kita
tidak mengikut sertakan klausa WHERE tersebut dijamin semua record (nama &
alamat) pada TABLE MHS akan ikut berubah. Selengkapnya silahkan klik di sini.
Silahkan anda lebih banyak bereksperimen lagi menggunakan keempat statement
SQL di atas. Statement SQL di atas merupakan statement yang pada semua
DBMS bisa digunakan, seperti : MySQL, MSSQL, SQLServer, Oracle, MS.
Access dsb. Sebagai salah satu referensinya, penulis sangat menganjurkan situs
ini.
Untuk rangkuman pebahasan diatas dapat di download: klik disini.

SQLite Lanjut 3
Posted Thu, 12/31/2009 - 00:32 by Rockes13
Forums:
o Java & Database (Basic)
= Kasus = Pada sebuah gudang persediaan barang suatu toko, dibuat sebuah program yang
akan menyimpan data mengenai barang, kuantitas barang dll. Program tersebut harus
dapat menangani transaksi sebagai berikut :
Input data barang.
Ubah data barang
Hapus data barang

Menampilkan data barang

Pertama-tama mari kita perluas kasus di atas menjadi sebuah algoritma. Langkah pertama
adalah membuat sebuah class dengan nama JDBC_Lanjut (nama boleh berbeda).
view source
print?
1.class JDBC_Lanjut
2.{
3.}

Selanjutnya kita deklarasikan property Connection, Statement, dan ResultSet. Tidak lupa
kita tambahkan import java.sql.*;. penjelasan
view source
print?
1.import java.sql.*;
2.class JDBC_Lanjut
3.{
Connection koneksi;
4.
Statement stm;
5.
ResultSet rs;
6.}

Lalu kita buat method setKoneksiuntuk membuat koneksi ke database.


view source
print?
01.public void setKoneksi(String dbDriver, String strDB)
02.{
try
03.
{
Class.forName(dbDriver);
04.
this.koneksi = DriverManager.getConnection(strDB);
05.
this.stm = koneksi.createStatement();
06.
} catch(Exception e)
07.
{
System.out.println("error : "+e.getMessage());
08.
}
09.}

Lalu kita buat method execSQL untuk menangani eksekusi SQL seperti : membuat table,
input data barang, ubah data barang, dan hapus data barang.

view source
print?
1.public void execSQL(String strSQL)
2.{
try
3.
{
stm.executeUpdate(strSQL);
4.
} catch(Exception e)
5.
{
System.out.println("error : "+e.getMessage());
6.
}
7.}

Tahap terakhir adalah membuat method getData untuk menangani eksekusi SQL
SELECT yang bertujuan untuk menampilkan data dari database ke layar output.
view source
print?

01.public void getData(String strSQL)


02.{
try
03.
{
this.rs = stm.executeQuery(strSQL);
04.
System.out.println("kode\t nama\t\tstok\tunit");
05.
System.out.println("-----------------------------------------");
06.
while(rs.next())
07.
System.out.println(rs.getString("kode")
+"\t"+rs.getString("nama")+
08.
"\t"+rs.getInt("stok")+"\t"+rs.getString("unit"));
09.
} catch(Exception e)
10.
{
System.out.println("error : "+e.getMessage());
11.
} finally
12.
{
try
13.
{
rs.close();
14.
} catch(Exception e)
15.
{
System.out.println("error : "+e.getMessage());
16.
}
17.
}
18.}

Lalu bagaimana kita bisa menguji program yang telah kita buat tadi ? Maka kita
tambahkan method main() yang berisi contoh statement untuk menjalankan program
tersebut.
view source
print?

01.public static void main(String[] args)


02.{
JDBC_Lanjut x = new JDBC_Lanjut();
03.
String nama_driver="org.sqlite.JDBC",
04.
path_db="JDBC:sqlite:latJDBC.db",
05.
ambil_data="select * from barang";
06.
x.setKoneksi(nama_driver, path_db);
07.
x.execSQL("drop table if exists barang;");
08.
x.execSQL("create table barang(kode char(9), nama char(20), stok
integer,"+
09.
"unit char(9), primary key(kode));");
10.
x.execSQL("Insert into barang(kode, nama, stok, unit)"+
11.
"values('B001','Buku Tulis',100,'buah');");
12.
x.execSQL("insert into barang values('B002','Pulpen
Hitam',78,'buah');");
13.
x.execSQL("insert into barang(kode,nama) values('B003','Spidol
Pink');");

14.
x.execSQL("insert into barang(kode, nama, unit) "+
15.
"values('B004','Penghapus','buah');");
16.
System.out.println("Data awal");
17.
x.getData(ambil_data);
18.
x.execSQL("update barang set stok=33 where kode='B004';");
19.
System.out.println("\n\nData setelah diubah (update)");
20.
x.getData(ambil_data);
21.
x.execSQL("update barang set unit='buah', stok=147 where
kode='B003';");
22.
System.out.println("\n\nData setelah diubah (update)");
23.
x.getData(ambil_data);
24.
x.execSQL("delete from barang where kode='B004';");
25.
System.out.println("\n\nData setelah diubah (update)");
26.
x.getData(ambil_data);
27.}

Silahkan anda jalankan program di atas. Modifikasilah jika anda inginkan. Untuk
penjelasan lebih lanjut silahkan mengajukan pertanyaan.
Klik di sini untuk lihat source code lengkapnya.
view source
print?

01.import java.sql.*;
02.public class JDBC_Lanjut
03.{
private Connection koneksi;
04.
private Statement stm;
05.
private ResultSet rs;
06.
public void setKoneksi(String dbDriver, String strDB)
07.
{
try
08.
{
Class.forName(dbDriver);
09.
this.koneksi = DriverManager.getConnection(strDB);
10.
this.stm = koneksi.createStatement();
11.
} catch(Exception e)
12.
{
System.out.println("error : "+e.getMessage());
13.
}
14.
}
15.
public void getData(String strSQL)
16.
{
try
17.
{
this.rs = stm.executeQuery(strSQL);
18.
System.out.println("kode\t nama\t\tstok\tunit");
19.
System.out.println("-----------------------------------------");
20.
while(rs.next())
21.
System.out.println(rs.getString("kode")
+"\t"+rs.getString("nama")+
22.
"\t"+rs.getInt("stok")+"\t"+rs.getString("unit"));
23.
} catch(Exception e)
24.
{
System.out.println("error : "+e.getMessage());
25.
} finally
26.
{
try
27.
{
rs.close();
28.
} catch(Exception e)
29.
{
System.out.println("error : "+e.getMessage());
30.
}
31.
}
32.
}
33.
public void execSQL(String strSQL)
34.
{
try

35.
{
stm.executeUpdate(strSQL);
36.
} catch(Exception e)
37.
{
System.out.println("error : "+e.getMessage());
38.
}
39.
}
40.
public static void main(String[] args)
41.
{
JDBC_Lanjut x = new JDBC_Lanjut();
42.
String nama_driver="org.sqlite.JDBC",
43.
path_db="JDBC:sqlite:latJDBC.db",
44.
ambil_data="select * from barang";
45.
x.setKoneksi(nama_driver, path_db);
46.
x.execSQL("drop table if exists barang;");
47.
x.execSQL("create table barang(kode char(9), nama char(20),
stok integer,"+
48.
"unit char(9), primary key(kode));");
49.
x.execSQL("Insert into barang(kode, nama, stok, unit)"+
50.
"values('B001','Buku
Tulis',100,'buah');");
51.
x.execSQL("insert into barang values('B002','Pulpen
Hitam',78,'buah');");
52.
x.execSQL("insert into barang(kode,nama)
values('B003','Spidol Pink');");
53.
x.execSQL("insert into barang(kode, nama, unit) "+
54.
"values('B004','Penghapus','buah');");
55.
System.out.println("Data awal");
56.
x.getData(ambil_data);
57.
x.execSQL("update barang set stok=33 where kode='B004';");
58.
System.out.println("\n\nData setelah diubah (update)");
59.
x.getData(ambil_data);
60.
x.execSQL("update barang set unit='buah', stok=147 where
kode='B003';");
61.
System.out.println("\n\nData setelah diubah (update)");
62.
x.getData(ambil_data);
63.
x.execSQL("delete from barang where kode='B004';");
64.
System.out.println("\n\nData setelah diubah (update)");
65.
x.getData(ambil_data);
66.
}
67.}

Anda mungkin juga menyukai