Praktikum Desain Basis Data – BAB IX (Koneksi PostgreSQL dengan Java)

1. Dasar Teori

Sebelum mengakses database via Java, perlu diketahui beberapa interface yang tersedia pada paket java.sql. Beberapa interface tersebut bisa dilihat pada tabel berikut :

Langkah-langkah Koneksi database

Terdapat beberapa langkah yang secara umum harus dilakukan sehingga aplikasi yang berbasis Java dapat berinteraksi dengan database server. Langkah -langkah tersebut sebagai berikut :

1.  Impor package java.sql
2.  Memanggil Driver JDBC
3.  Membangun Koneksi
4.  Membuat Statement
5.  Melakukan Query
6.  Menutup Koneksi

1.  Impor package java.sql

Pertama-tama yang harus dilakukan sebelum Anda membuat program JDBC adalah mengimpor package java.sql terbih dahulu, karena di dalam package java.sql tersebut  terdapat  kelas-kelas  yang  akan  digunakan  dalam  proses-proses  berintekasi dengan database server misalnya kelas DriverMaganer, Connection, dan ResultSet. Hal  ini  sangat  penting  dilakukan  karena  bagi  pemula  seringkali  lupa  untuk mengimpor  package  yang  kelas-kelas  yang  akan  digunakan  terdapat  di  dalamnya, sehingga mengakibatkan kegagalan dalam mengkompile program Java.

Adapun listing untuk mengimpor package java.sql adalah sebagai berikut :

Import java.sql.*;

Listing ini dituliskan sebelum Anda 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.  Continue reading

Praktikum Desain Basis Data – BAB VIII (Fungsi, PL/SQL dan Trigger)

1. Dasar Teori

Structured  query  language  (SQL)  merupakan  bahasa  untuk  berkomunikasi  dengan  database  relasional yang  bersifat  deklaratif  (bukan  prosedural)  dengan  menyatakn  hasil  (bukan  cara  memperoleh  hasil).

PL/SQL mengombinasikan  kemampuan  manipulasi  data  sql  dengan  kemampuan  bahasa procedural,  dengan  kata  lain  PL/SQL  adalah  sql  ditambah  procedural  language.  PL/SQL  merupakan bahasa berstruktur blog yang berupa fungsi, prosedur, dan blok anonym. Suatublok biasanya ditujukan untuk menyelesaikan suatu tugas tertentu dan suatu blok boleh memliki sub-blok (nested). Struktur blok PL/SQL  itu  terdiri  dari  bagian  deklarasi,  bagian  kode  program,  dan  bagian  eksepsi  untuk  penanganan eror seperti Nampak di bawah ini:

[DECLARE
Declarasi variable]
BEGIN
Kode program
[EXCEPTION
Penanganan error]
END;

Selain  membuat  fungsi  dan  prosedur,  PL/SQL  juga  digunakan  untuk  Continue reading

Praktikum Desain Basis Data – BAB VI (Normalisasi)

A. Dasar Teori

Proses Normalisasi merupakan proses pengelompokan data elemen menjadi tabel – tabel yang menunjukkan entity dan relasinya. Proses Normalisasi juga bisa diartikan sebagai proses  untuk  menciptakan  suatu  tabel  (relasi)  dalam  basis  data  dengan tujuan untuk mengurangi kemubaziran.

Pada proses normalisasi selalu diuji pada beberapa kondisi. Apakah ada kesulitan pada saat menambah/insert, menghapus/delete, mengubah/update, membaca/retrieve pada suatu database. Bila ada kesulitan pada pengujian tersebut maka relasi tersebut dipecahkan pada beberapa table lagi atau dengan kata lain perancangan berjumlah mendapat database yang optimal.

Pada normalisasi dikenal istilah anomali yang berarti masalah-masalah yang timbul dalam pembuatan tabel. Anomali adalah proses pada basis data  yang mempunyai efek samping yang tidak diharapkan. Misal : ketidak konsistenan data, suatu data hilang pada saat dihapus, dll.

Sebelum mengenal lebih jauh mengenai normalisasi, ada beberapa konsep yang harus diketahui terlebih dahulu yaitu :

a. Atribut Tabel (Table Attribute)

Atribut yang sebenarnya identik dengan pemakaian istilah kolom data. Istilah atribut ini lebih umum digunakan dalam perancangan basis data, karena kata itu lebih impresif menunjukkan fungsinya sebagai pembentuk karakteristik yang melekat pada sebuah tabel.

Disamping penamaan yang unik berdasarkan fungsinya disetiap tabel, atribut – atribut itu dapat dibedakan berdasarkan sejumlah pengelompokan. Ada atribut yang dijadikan sebagai key dan yang lainnya disebut atribut deskriptif. Ada pula atribut yang tergolong atribut sederhana ataupun atribut komposit, dan sebagainya.

Key dan Atribut Deskriptif

Setiap file selalu terdapat kunci dari dari file berupa satu field atau satu set field yang dapat mewakili record. Misalnya nomor pegawai merupakan kunci dari tabel pegawai suatu perusahaan, setiap pencarian cukup dengan menyebut nomor pegawai tersebut maka dapat diketahui nama, alamat, dan antribut lainnya mengenai seorang pegawai tersebut.

Ada tiga macam key yang dapat diterapkan pada suatu tabel, yaitu :

1. Superkey : merupakan satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.

2. Candidate Key : merupakan sekumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Sebuah candidate-key tidak boleh berisi atribut atau kumpulan atribut yang telah menjadi superkey yang lain.

3. Primary Key : merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas.

Atribut Deskriptif adalah atribut – atribut yang tidak menjadi key atau merupakan atribut yang merupakan anggota dari primary key.

b. Ketergantungan Fungsional (Functional Dependency)

Definisi dari functional dependency adalah :

Diberikan sebuah relasi R, atribut Y dari R adalah bergantung fungsi pada atribut X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat Continue reading

Praktikum Desain Basis Data – BAB V (Agregasi SQL dan View)

1. Dasar Teori

Dalam realitas dapat pula kita jumpai adanya relasi yang secara kronologis mensyaratkan telah adanya relasi lain. Dengan kata lain, sebuah relasi terbentuk tidak hanya dari entitas tapi juga mengandung unsur dari relasi lain. Fenomena demikian dapat diakomodasi dengan Agregasi. Menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam diagram ER. sebenarnya tidak tepat atau bahkan ada yang dengan tegas tidak memperbolehkannya. Karena itu, sebagai jalan tengah, kita menggunakan notasi khusus untuk menunjukkan adanya agregasi semacam itu. Kita ambil contoh berikut untuk menunjukkan adanya agregasi. KIta telah mengetahui adanya relasi antara himpunan entitas mahasiswa dan himpunan entitas kuliah. Ada sejumlah mata kuliah yang membutuhkan kegiatan praktikum (tapi tidak semua mata kuliah). Kegiatan praktikum ini tidak wajib diikuti oleh mahasiswa yang mengulang (karena disemester sebelumnya tidak lulus). Himpunan relasi ‘mengikuti’ dalam diagram E-R berikut ini menunjukkan entitas mahasiswa yang mengikuti kegiatan praktikum tertentu karena telah mempelajari suatu mata kuliah (yang memang membutuhkan kegiatan praktikum).

preview_html_70c676b4

Atribut – atribut untuk himpunan entitas Mahasiswa dan Kuliah sengaja tidak digambarkan, karena telah diketahui. Sementara himpunan entitas Praktikum memiliki atribut – atribut dengan kode_pra sebagai key. Atribut key pada himpunan entitas Praktikum foreign-key dimana kode_pra berasal dari himpunan entitas Praktikum dan nim + kode_kul diambil dari himpunan relasi mempelajari. Perlu ditegaskan sekali lagi, nim dan kode_kul ini tidak berasal (secara langsung) dari himpunan entitas Mahasiswa dan Kuliah, karena yang ada di himpunan relasi Mengikuti hanyalah pasangan nim +  kode_kul yang sudah ada di himpunan relasi Mempelajari. Karena itulah, ada faktor kronologis yang ingin ditunjukkan dengan adanya agregasi seperti diatas, dimana sebuah relasi (Mengikuti Praktikum) hanya akan ada jika telah ada relasi lainnya (Mempelajari Kuliah). Continue reading