Sabtu, 13 Desember 2014

Laporan DBD 9 - Koneksi PostgreSQL dengan Java

PRAKTIKUM DESAIN BASIS DATA
Koneksi PostgreSQL Pada Java


Dibimbing oleh :
 Aziz Musthafa, S.Kom





Oleh :
Achsin Muflichuddin   11650036



JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAN NEGERI  MAULANA MALIK IBRAHIM
MALANG
2014


9.1 Bahasan dan Sasaran
9.1.1 Bahasan
        - Koneksi PostgreSQL dengan bahasa pemrograman java
        - Kode pemrograman untuk manipulasi data
9.1.1 Sasaran
         - Mahasiswa memahami dalam penggunaan Database PostgreSQL dan bahasa pemrograman java untuk membuat suatu program aplikasi.

9.2 Materi
9.2.1 Langkah-langkah koneksi database
         Terdapat beberapa langkah yang secara umum harus dilakukan sehingga aplikasi yang berbasis java dapat berinteraksi dengan database server. Langkah-langkah sebagai berikut :
1. Import package java.sql
         Pertama yang harus dilakukan sebelum membuat program JDBC adalah mengimpor package java.sql terlebih dahulu, karena di dalam package java.sql terdapat kelas-kelas yang akan digunakan dalam proses-proses interaksi dengan database misalnya DriverManager, Connection, dan ResultSet. 
       Hal ini penting dilakukan karena bagi pemula seringkali melupakan untuk mengimpor package yang kelas-kelas yang akan digunakan, sehingga mengakibatkan kegagalan dalam mengkompile program Java. Adapun listing untuk mengimpor package java.sql adalah sebagai berikut : 
Import java.sql.*; 
Listing ini ditulis sebelum menulis kelas

2. Memanggil Driver JDBC
        Langkah pertama untuk melakukan koneksi dengan database server adalah dengan memanggil JDBC Driver dari database server yang kita gunakan. Driver adalah Library yang digunakan untuk berkomunikasi dengan database server. Driver dari setiap database server berbeda-beda, sehingga anda harus menyesuaikan Driver JDBC sesuai dengan database server yand anda gunakan.
Listing untuk memanggil driver JDBC.
Class.forName(NamaDriver); atauClass.forName(namaDriver).newInstance();
Listing kedua diatas memiliki fungsi yang sama yaitu melakukan registrasi class driver dan melakukan intansiasi. Apabila driver yang dimaksud tidak ditemukan, maka program akan menghasilkan exception berupa ClassNotFoundException.  Untuk menghasilkan exception apabila driver tidak ditemukan, maka diperlukan penambahan try catch.Adapun menambahkan try-catch untuk penanganan error apabila driver tidak ditemukan.
Try {
Class.forName(namaDriver);
} catch ( ClassNotFoundException e) {
....Penanganan Error ClassNotFoundException
}
Contoh listing untuk memanggil driver menggunakan PostgresSQL :
try {
Class. forName(“org.postgresql.Driver”);
} catch (ClassNotFoundException e) {
System.out.println(“Pesan Error : “ + e)
}

3.      Membangun Koneksi
         Setelah melakukan pemanggilan terhadap driver JDBC, selanjutnya membangun koneksi dengan menggunakan interface Connection . Object Connection yang dibuat untuk membangun koneksi dengan database server tidak dengan cara membuat object baru dari interface Connection melainkan dari class DriverManager dengan menggunakan getConnection().
Connection koneksi = DriverManager.getConnection(<argumen>);

4.      Membuat Statement
        JDBC API menyediakan interface yang berfungsi untuk melakukan proses pengiriman statement SQL yang terdapat pada package java.sql. Statement yang sering digunakan

5.      Melakukan Query
        Methode eksekusi yang digunakan untuk perintah SQL terbagi menjadi dua bagian yaitu untuk perintah SELECT methode eksekusi yang digunakan adalah executeQuery() dengan nilai kembaliannya adalah ResulSet dan perintah INSERT, UPDATE, DELETE methode eksekusi yang digunakan adalah executeUpdate().
Pengambilan (ResultSet) :
String sql = “SELECT kode, nama, alamat, kelas FROM dataSiswa”;
ResultSet set = stat.executeQuery(sql);
while (set.next()) {
String kode = set.getString("kode");
String nama = set.getString("nama");
String alamat = set.getString("alamat");
String kelas = set.getString("kelas");
}

Perintah DELETE :
String sql = "DELETE FROM data_siswa WHERE kode = “1234”;
PreparedStatement stat = konek.prepareStatement(sql);
stat.executeUpdate();

6.      Menutup Koneksi
Penutupan terhadap koneksi database perlu dilakukan agar sumber daya yang digunakan oleh object Connection dapat digunakan lagi oleh proses atau program yang lain. Menutup statement :
statement.close();
Menutup koneksi dengan database :
connection.close();


Hasil Percobaan










Penutup
1. Kesimpulan
    Dalam kehidupan sehari-hari dan untuk kebutuhan pengguna dibuat database yang bisa terkoneksi dengan java agar mempermudah penggunaan dengan aplikasi yang dibuat seperti diatas yang secara otomatis terhubung ke database yang dusah kita buat 
2. Saran dan Manfaat
          Semoga sedikit materi diatas dapat berguna bagi pembaca sekalian, terutama bagi penulis untuk lebih mengembangkan ilmu dan pemahamannya 
3. Kritik
          Untuk membuat yang lebih lengkap dan sesuai keinginan user, bisa disesuaikan dengan kebutuhan dan mohon maaf jika dalam penulisan laporan ini banyak kekurangan dan semoga dapat diperbaiki untuk laporan selanjutnya.

Daftar Pustaka
Modul Praktikum Database 2014










Laporan DBD 6 - Normalisasi


PRAKTIKUM DESAIN BASIS DATA
Normalisasi


Dibimbing oleh :
 Aziz Musthafa, S.Kom





Oleh :
Achsin Muflichuddin   11650036



JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAN NEGERI  MAULANA MALIK IBRAHIM
MALANG
2014


6.1 Bahasan dan Sasaran
6.1.1 Bahasan
          - Normalisasi sebagai teknik analisis database
          - Langkah – langkah dalam normalisasi
6.1.1 Sasaran
          1. Mahasiswa memahami pengertian dan tujuan dari normalisasi
          2. Mahasiswa memahami langkah – langkah dalam normalisasi

6.2 Materi
6.2.1 Memahami Normalisasi
          Normalisasi merupakan suatu proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2008). Ada juga yang berpendapat normalisasi adalah proses penyusunan tabel – tabel yang tidak redundan (dobel), yang dapat menyebabkan anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan (Misalnya menyebabkan data tidak konsisten atau membuat data hilang ketika data yang lain dihapus).
          Normalisasi digunakan sebagai teknik analisis data pada database, sehingga dapat diketahui apakah pembuatan tabel – tabel yang terelasi dalam database itu sudah baik. Kondisi sudah baik yaitu suatu kondisi pada saat proses insert, update, delete dan modifikasi pada satu atau beberapa atribut suatu tabel tidak berpengaruh terhadap integritas data yang lain dalam satu hubungan relasi database.

6.2.2 Langkah – langkah Normalisasi
         > Langkah – langkah Normalisasi terdiri dari :
1. Unnormalization Form
          Bentuk yang tidak normal dimaksudkan suatu kumpulan data yang akan diolah yang diperoleh dari format – format yang beraneka ragam, masih terdapat duplikasi, bisa saja tidak sempurna atau tidak lengkap, dan sesuai fakta lapangan. Bentuk ini didapat dari dokumen yang ada dilapangan atau manual dengan atribut bukan nilai sederhana.
2. First Normal Form (1NF)
Suatu tabel dianggap normal ke satu (1NF) jika :
- Tidak terdapat baris yang bernilai ganda atau duplikat.
- Masing - masing baris bernilai tunggal dan tidak bernilai null.
Langkah – langkah :
- Isikan setiap data bernilai tunggal dan tidak null
- Membuang perulangan data dalam satu baris dengan baris yang lain.
3. Second Normal Form (2NF)
Bentuk normal kedua (2NF) terpenuhi jika :
- Harus telah berbentuk normal pertama (1NF).
- Pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh. Suatu atribut dikatakan ketergantungan fungsional jika harga pada atribut tersebut menentukan harga dari atribut yang lain. Misalnya, nim → mhs_nama.
Langkah – langkah :
- Jika terdapat atribut yang bergantung terhadap atribut bukan kunci utama dan merupakan atribut kunci maka pecah menjadi table baru.
4. Third Normal Form (3NF)
Bentuk normal ketiga (3NF) terpenuhi jika :
- Harus telah berbentuk normal kedua (2NF).
- Tidak terdapat anomali – anomali hasil dari ketergantungan transitif. ketergantungan transitif adalah ketergantungan fungsional antara 2 atau lebih atribut bukan kunci.
Langkah – langkah :
- Pastikan semua atribut non kunci bergantung penuh terhadap atribut kunci.
- Pisahkan menjadi tabel baru jika menemukan ketergantungan transitif dalam
tabel tersebut.
5. Boyce Codd Normal Form (BCNF)
Secara praktis tujuan analisis database cukup sampai pada 3NF, Akan tetapi dalam suatu kasus tertentu lebih baik bila dapat mencapat BCNF. Beberapa pemikir menyamakan antara 3NF dengan BCNF. Bentuk normal BCNF terpenuhi jika :
- Masing-masing atribut utama bergantung fungsional penuh pada masing kunci dimana kunci tersebut bukan bagiannya.
- Setiap determinan atribut-atribut relasi adalah kunci relasi atau kandidat kunci. 
- BCNF dapat memiliki lebih dari satu kunci. 
- BCNF hampir sama dengan 3NF.
Langkah – langkah : 
- Hilangkan dependensi pada bukan kunci kandidat.
6. Fourth Normal Form (4NF)
Dilakukan jika terdapat anomali pada (3NF)
7. Fifth Normal Form (5NF)
Langkah ini untuk memecah relasi menjadi dua sehingga relasi tersebut tidak digabungkan kembali manjadi satu dan jika terdapat anomali pada (5NF)

6.2.3 Contoh permasalahan dalam Normalisasi
Terdapat suatu hasil kartu studi yang bersifat manual dan akan kita anilisis menggunakan teknik Normalisasi sebagai berikut :








Hasil Percobaaan


1. Unnormalization Form

2. First Normal Form (1NF)

3. Second Normal Form (2NF)
4. Third Normal Form (3NF)


Penutup
1. Kesimpulan
    Langkah-langkah normalisasi adalah :
    - Unnormalization Form
    - First Normal Form (1NF)
    - Second Normal Form (2NF)
    - Third Normal Form (3NF)
2. Saran dan Manfaat
          Semoga sedikit materi diatas dapat berguna bagi pembaca sekalian, terutama bagi penulis untuk lebih mengembangkan ilmu dan pemahamannya 
3. Kritik
          Diperlukan ketelitian dan keakuratan dalam pengerjaan kali ini. Mohon maaf jika dalam penulisan laporan ini banyak kekurangan dan semoga dapat diperbaiki untuk laporan selanjutnya.

Daftar Pustaka
Modul Praktikum Database 2014