This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Senin, 02 Juli 2012

Contoh studi kasus normalisasi


)
1.dokumen
STUDI KASUS TOKO ABC
No. Faktur :
Tanggal :
Kepada :
No.
Nama
Jumlah
Harga
Total
Total Bayar
Diskon
Jumlah Bayar
Petugas : …………………………..
2. data Dictionary
- no.Faktur - Jumlah - Diskon
- Tanggal - Harga - Jumlah Bayar
- Kepada - Total
- Nama - Total bayar
3. Tahap Normalisasi
TAHAP-TAHAP NORMALISASI DATA
Mendasar pada faktur yang tertera di atas, maka gambaran database yang belum ternormalisasi adalah sebagai berikut :
1. Tabel yang memiliki field dengan banyak data / tidak tunggal
Tanggal
Nama_pelanggan
Daftar_Belanja
05070101
29/05/07
Pitoyo
Bedak, Beras, Minyak Tanah, Buku
05070102
29/05/07
Bowo
Baby Oil, Garam, Gula, Pensil
05070103
30/05/07
Erlina
Sikat gigi, Sabun, Odol, Sampo
06070001
01/06/07
Dayat
Beras
2. Tabel dengan field yang mengalami repeating groups
No_Faktur
Tanggal
Nama_pelanggan
Belanja1
Harga1
Belanja2
Harga2
Belanja3
Harga3
Belanja4
Harga4
05070101
29/05/07
Pitoyo
Bedak
1500
Beras
10000
Minyak Tanah
3500
Buku
2000
05070102
29/05/07
Bowo
Baby Oil
5600
Garam
2500
Gula
4000
Pensil
1500
05070103
30/05/07
Erlina
Sikat gigi
12000
Sabun
2500
Odol
13000
Sampo
16000
06070001
01/06/07
Dayat
Beras
25000
First Normal form (1-NF)
Implementasi 1-NF dari table data yang belum ternormalisasi di atas adalah dengan cara mengeliminasi keberadaan repeating groups dan dekomposisi relasi menjadi dua atau lebih dengan syarat “tidak boleh ada informasi yang hilang karena proses dekomposisi”
Adapun caranya adalah :
1. Membuat 3 tabel yang memiliki fungsi sebagai berikut :
  • TBFaktur, berfungsi untuk menyediakan atribut-atribut yang bersifat atomic dari tiap nomor faktur (ID_Faktur), seperti : Tanggal, Nama_Pelanggan, Total_Bayar, Diskon dan Nama_Petugas
  • TBProduk, berfungsi untuk menyediakan atribut-atribut yang berulang atau tidak bernilai tunggal pada tiap nomor faktur (ID_Faktur), seperti : Nama_Barang dan harga
  • TBTransaksiDetail, berfungsi sebagai penghubung antara nomor faktur (ID_Faktur) dengan kode barang (ID_Barang) agar proses dekomposisi tidak menyebabkan kerusakan informasi.
2. Menentukan type data dari tiap atribut dan membuat digram relasional sebagai berikut
Tabel TransaksiDetail
Id_Transaksi
Id_Faktur
Id_Barang
Harga
Jumlah
01
05070101
A01
1.500
1
01
05070101
A02
10.000
1
01
05070101
S02
3.500
1
01
05070101
B01
2.000
1
02
05070102
S01
5.600
1
02
05070102
S03
2.500
1
02
05070102
B02
4.000
1
02
05070102
B03
1.500
1
03
05070103
C01
12.000
1
03
05070103
C02
2.500
1
03
05070103
C03
13.000
1
03
05070103
D02
16.000
1
04
06070001
D03
25.000
1
Tabel Produk
Id_Barang
Nama_Barang
Harga_default
A01
Bedak
1.500
A02
Beras
10.000
S01
Baby Oil
5.600
S02
Minyak tanah
3.500
S03
Garam
2.500
B01
Buku
2.000
B02
Gula
4.000
B03
Pensil
1.500
C01
Sikat Gigi
12.000
C02
Sabun
2.500
C03
Odol
13.000
D02
Sampo
16.000
D03
Beras01
25.000
Table Faktur
Id_faktur
Tanggal
Id_Pelanggan
Nama_Pelanggan
Total_Bayar
Diskon
Id_Petugas
Nama_Petugas
05070101
29/05/07
P01
Pitoyo
20.600
0%
K01
Didin
05070102
29/05/07
B01
Bowo
11.000
0%
J01
Rina
05070103
30/05/07
E01
Erlina
41.500
0%
L02
Rudi
06070001
01/06/07
D01
Dayat
25.000
0%
X02
Amelia
3. Pada table TBTransaksiDetail terdapat atribut “Harga” yang berfungsi untuk menyimpan harga per transaksi, sedangkan atribut “Harga_Default” yang terdapat pada table TBProduk adalah atribut yang berfungsi untuk menyimpan harga barang terbaru dari tiap jenis barang. Hal ini berguna untuk mengantisipasi adanya perubahan harga barang dari waktu ke waktu.

4. Primary key yang digunakan pada TBTransaksiDetail adalah “ID_Transaksi”. Atribut kunci tersebut merupakan candidate key yang dibentuk dari superkey hasil penggabungan 2 atribut yaitu : ID_Faktur dan ID_Barang
Second Normal form (2-NF)
Suatu relasi berada dalam 2nd normal form jika dan hanya jika :
<-->Berada dalam bentuk first normal form (1-NF)
<-->Semua atribut bukan kunci memiliki dependensi sepenuhnya dengan kunci primer (Primary Key)
Jika ditelaah kembali relasi bentuk 1-NF yang telah dibuat sebelumnya, maka atribut bukan kunci pada table TBFaktur yang tidak memiliki dependensi sepenuhnya dengan primary key (ID_Faktur), yaitu : “Nama_Petugas”.
Oleh sebab itu dekomposisi relasi perlu dilakukan kembali dengan cara :
  1. Mengeliminasi atribut “Nama_Petugas” dari table TBFaktur
  2. Membuat tabel TBPetugas, menyediakan atribut-atribut yang terkait dengan identitas dan data pelanggan



Tabel TransaksiDetail
Id_Faktur
Id_Barang
Harga
Jumlah
05070101
A01
1.500
1
05070101
A02
10.000
1
05070101
S02
3.500
1
05070101
B01
2.000
1
05070102
S01
5.600
1
05070102
S03
2.500
1
05070102
B02
4.000
1
05070102
B03
1.500
1
05070103
C01
12.000
1
05070103
C02
2.500
1
05070103
C03
13.000
1
05070103
D02
16.000
1
06070001
D03
25.000
1
Table Faktur
Id_faktur
Id_pelanggan
Nama_pelanggan
Id_petugas
tanggal
Total_bayar
Diskon
05070101
P01
Pitoyo
K01
29/05/07
20.600
0%
05070102
B01
Bowo
J01
29/05/07
11.000
0%
05070103
E01
Erlina
L02
30/05/07
41.500
0%
06070001
D01
Dayat
X02
01/06/07
25.000
0%
Table petugas
Id_petugas
Nama_petugas
Alamat
Telp
K01
Didin
Jl.aceh 12 bandung
0853335555
L02
Rudi
Jl.Kiircon 23 bandung
0816334466
J01
Rina
Jl.Buah batu 04 bandung
022778652
X02
Amelia
Jl.Jakarta 45 bandung
022998776
Tabel Produk
Id_Barang
Nama_Barang
Harga_default
A01
Bedak
1.500
A02
Beras
10.000
S01
Baby Oil
5.600
S02
Minyak tanah
3.500
S03
Garam
2.500
B01
Buku
2.000
B02
Gula
4.000
B03
Pensil
1.500
C01
Sikat Gigi
12.000
C02
Sabun
2.500
C03
Odol
13.000
D02
Sampo
16.000
D03
Beras01
25.000
Third Normal form (3-NF)
Pada Second Normal Form (2-NF) atribut yang terkait dengan “Nama_Pelanggan” tidak didekomposisi dari table TBFaktur karena atribut tersebut masih memiliki dependensi fungsional dengan primary key (ID_Faktur) karena tiap nomor faktur akan berbeda untuk tiap pembeli/pelanggan.
Tetapi pada tahap 3-NF (Third Normal Form), atribut “Nama_Pelanggan” harus didekomposisi relasi karena pada tahap ini atribut bukan kunci tidak boleh ada yang berdependensi transitif dengan kunci primer.
Atribut “Nama_Pelanggan” dikatakan berdependensi transitif terhadap primary key (ID_Faktur) karena :
  1. ID_Pelanggan à Nama_Pelanggan (Nama_Pelanggan berdependensi fungsional terhadap ID_Pelanggan)
  2. ID_Faktur à ID_Pelanggan (ID_Pelanggan berdependensi fungsional terhadap ID_Faktur, karena tiap nomor faktur akan dikeluarkan untuk suatu ID_Pelanggan tertentu)
  3. Sehingga dikatakan bahwa ID_Faktur memiliki dependensi transitif terhadap atribut Nama_Pelanggan
Berdasarkan analisa di atas maka diagram relational hasil penerapan Third Normal Form adalah sebagai berikut :
Tabel TransaksiDetail
Id_Faktur
Id_Barang
Harga
Jumlah
05070101
A01
1.500
1
05070101
A02
10.000
1
05070101
S02
3.500
1
05070101
B01
2.000
1
05070102
S01
5.600
1
05070102
S03
2.500
1
05070102
B02
4.000
1
05070102
B03
1.500
1
05070103
C01
12.000
1
05070103
C02
2.500
1
05070103
C03
13.000
1
05070103
D02
16.000
1
06070001
D03
25.000
1
Table Faktur
Id_faktur
Id_pelanggan
Id_petugas
tanggal
Total_bayar
Diskon
05070101
P01
K01
29/05/07
20.600
0%
05070102
B01
J01
29/05/07
11.000
0%
05070103
E01
L02
30/05/07
41.500
0%
06070001
D01
X02
01/06/07
25.000
0%
Table petugas
Id_petugas
Nama_petugas
Alamat
Telp
K01
Didin
Jl.aceh 12 bandung
0853335555
L02
Rudi
Jl.Kiircon 23 bandung
0816334466
J01
Rina
Jl.Buah batu 04 bandung
022778652
X02
Amelia
Jl.Jakarta 45 bandung
022998776
Tabel produk
Id_Barang
Nama_Barang
Harga_default
A01
Bedak
1.500
A02
Beras
10.000
S01
Baby Oil
5.600
S02
Minyak tanah
3.500
S03
Garam
2.500
B01
Buku
2.000
B02
Gula
4.000
B03
Pensil
1.500
C01
Sikat Gigi
12.000
C02
Sabun
2.500
C03
Odol
13.000
D02
Sampo
16.000
D03
Beras01
25.000
Tabel pelanggan
Id_pelanggan
Nama_pelanggan
Alamat
Telp
P01
Pitoyo
Jl.Cibiru 12 bandung
0852222702382
B01
Bowo
Jl.Ciwastra 02 bandung
081395210395
E01
Erlina
Jl.Stasiun lama kircon 03 bandung
085722028127
D01
Dayat
Jl.suci 24 bandung
02233445

Rabu, 20 Juni 2012

Menampilkan Laporan pada Java

Postingan ini saya buat karena beberapa temen yang saya tanya bagaimana tentang membuat laporan pada java, mereka belum pernah mencobanya. Akhirnya setelah belajar dari guru saya “Om Google”,akhirnya jadi aplikasi sederhana untuk menampilkan laporan.  Biasanya ada beberapa tools yang digunakan untuk pelaporan misalnya Crystal Report. Namun Crystal Report berlisensi, ya semacam tidak gratis gitu he…
Sebelum sampai pada postingan ini sebaiknya membaca postingan yang berjudul Menambah plugin iReport pada Netbeans. Pada postingan kali ini saya menggunakan ireport 3.7.4 dengan librarynya jasperreport 3.7.4 (dalam bentuk JAR). Ireport saya gunakan dengan jdk 1.6 dan Netbeans 6.8. Untuk menggunakan tools ini dilengkapi juga library tambahan seperti :
  • commons-collections-2.1.jar
  • commons-digester-1.7.jar
  • commons-logging-1.02.jar
  • mysql-connector-java-5.1.13-bin.jar
Library-library tersebut ditambahkan pada project yang kita buat pada netbeans. Tinggal klik kanan pada Library sesuai dengan project yang kita buat, selanjutnya pilih Add JAR/Folder.
Akan dibuat aplikasi sederhana dengan tampilan Frame seperti berikut :
Buat report dengan klik kanan pada project. Bisa menggunakan Report Wizard ataupun Empty Report untuk membuat laporan. Kemudian masukkan query yang ingin dibuat laporan. Artikel ini dibuat dengan asumsi telah mengethaui bagaimana mengkoneksikan Java dengan konektor JDBC untuk menghubungkan dengan DBMS My SQL 5.0
Selanjutnya pada button Tampilkan Report memanggil method TampilReport() dengan baris kode seperti berikut :
01public void tampilReport()
02{
03try {
04konek.koneksi();
05try {
06  String path="E:/KULIAHKU/SEMESTER VII/PKL/akademik/ghbakademik/src/reporting/laporan2.jasper";
07  Map parameter = new HashMap();
08  JasperPrint print = JasperFillManager.fillReport(path,parameter, konek.bisa_konek);
09  JasperViewer.viewReport(print, false);
10} catch (Exception ex) {
11  JOptionPane.showMessageDialog(rootPane,"Dokumen Tidak Ada"+ex);
12}
13  konek.closeConnection();
14} catch (Exception e) {
15  JOptionPane.showMessageDialog(rootPane, e);
16}
17}
Berikut tampilan Report ketika report sudah berhasil dipanggil :
Begitulah sekiranya ilmu yang bisa dibagi…semoga bermanfaat ^_^

Membuat Report Menggunakan iReport dari Netbeans


Tool untuk reporting yang paling populer di Java adalah iReport. iReport penggunaanya mirip dengan Crystal Report yang sudah banyak dikenal orang. Dengan iReport kita dapat membuat report dengan mudah. Cukup dengan drag n drop dan juga wizard yang sangat mudah digunakan. iReport sendiri tersedia dalam bentuk aplikasi tunggal dan yang paling baru adalah iReport sudah dapat diintegrasikan dengan Netbeans IDE. Artinya kita tidak perlu lagi menggunakan 2 tools yang berbeda untuk membuat aplikasi yang lengkap dengan reportnya. Dengan Netbeans IDE + iReport plugin maka tools pengembangan aplikasi kita udah lengkap :)
Pada tulisan kali ini, saya coba menunjukan bagaimana mengintegrasikan iReport dengan Netbeans, kemudian membuat report sederhana.
  • Pada tulisan ini saya menggunakan Netbeans 6.1
  • Download iReport Plugin untuk Netbeans di Sini
  • Tambahkan iReport Plugin ke dalam Netbeans dengan cara click pada menu Tools>Plugin. Maka Window Plugin akan ditampilkan seperti berikut:

  • Pada window plugin pilih tab Downloaded dan klik tombol Add Plugins..
  • Pada window add plugins.. arahkan ke lokasi dimana anda telah mengekstrak iReport Plugin yang telah didownload sebelumnya.

  • Tambahkan ketiga file .nbm seperti pada gambar diatas, sehingga tampilan Window Plugin menjadi seperti gambar berikut ini

  • Pastikan ketiga file .nbm sudah ditambahakan, selajutnya tekan tombol Install
  • Setelah Instalasi selesai, sebaiknya anda merestart Netbeans untuk memastikan iReport plugin sudah terinstal dengan sempurna.
  • Apabila iReport sudah terinstal dalam Netbeans, maka tampilan Netbeans akan seperti gambar di bawah ini.

  • Sampai di sini kita sudah menginstal iReport ke dalam Netbeans. Selanjutnya kita akan mencoba membuat laporan sederhana menggunakan iReport yang sudah terintegrasi ke dalam Netbeans tadi.
  • Database yang akan kita hubungkan dengan laporan yang akan kita buat adalah database sample yang sudah ada dalam instalasi Java DB. Java DB secara default terinstal saat kita menginstal Netbeans untuk JEE.

  • Klik kanan pada node database sample seperti pada gambar di atas, kemudian pilih connect. Maka koneksi ke database sample akan tercipta sehingga kita dapat melihat table apa saja yang terdapat dalam database sample tersebut.
  • Yang akan kita gunakan dalam report kita adalah table CUSTOMER. Kita akan membuat report yang menampilkan daftar Customer.
  • Selanjutnya buatlah project baru dengan memilih Java Application. Berilah nama Report.

  • Buatlah File Report baru dengan memilih menu File>New File. Pada Window New File pilihlah Categories Report dan Report untuk File Typenya

  • Kemudian klik Next dan beri nama Customer.jrxml dan selanjutnya klik Next lagi
  • Pada Connections/Data Sources kita klik tombol New, maka akan ditampilkan window Datasource. Kita pilih Netbeans Database JDBC Connection kemudian tekan tombol Next.

  • Pada Netbeans Database JDBC Connection beri nama sample dan pilihlah Connection ke database Sample seperti pada gambar di bawah ini

  • Tekan tombol Save untuk menyimpan koneksi
  • Pada bagian Query ketik perintah sql SELECT * FROM CUSTOMER kemudian tekan tombol Next.

  • Selanjutnya akan ditampilkan daftar field yang dapat kita gunakan dalam report. Pilihlah field-field yang akan ditampilkan dalam report, misalnya NAME, ADDRESSLINE1, ADDRESSLINE2, CITY, STATE, PHONE dan EMAIL.

  • Klik Next dan pada Group by kita abaikan saja. Klik Next sekali lagi dan pilih Tabular Layout seperti pada gambar di bawah ini

  • Klik Next dan Finis untuk mengakhiri pembuatan Report, maka akan ditampilkan Report Designer yang dapat kita gunakan untuk mengatur layout laporan kita
  • Untuk menjalankan Report ini klik pada tab Preview seperti pada gambar di bawah ini

  • Tunggu beberapa saat untuk proses compilasi Report, kemudian laporan List Customer akan ditampilkan langsung di dalam Netbeans IDE
  • Di sini juga kita dapat langsung memprint laporan tersebut atau kita simpan dalam format yang lain seperti ke pdf atau ke xls