Selasa, 09 Desember 2014

Laporan Praktikum Desain Basis Data 10 : Pembuatan Laporan Dengan iReport

A. LANDASAN TEORI

     iReport merupakan perangkat lunak bantu untuk perancangan laporan secara visual yang nantinya dapat di kompilasi dengan menggunakan JasperReport sehingga menjadi file *.jrxml yang dapat langsung dipanggil oleh program Java.
    JasperReport merupakan library di lingkungan Java untuk pemroses laporan. Dengan library ini, kita dapat menampilkan laporan dalam bentuk print preview, melakukan export ke beberapa format dokumen lain (antara lain PDF, HTML, text, Excel), menampilkan gambar, grafik maupun tabel. 
     Laporan yang kita buat nantinya dapat dikaitkan ke database berdasar connection string dan sql yang kita inginkan. JasperReport mendasarkan format dokumen definisi laporan yang akan dikompilasi berbasis pada XML, sehingga nantinya dapat dengan mudah dapat dikonversi ke format dokumen lain dengan memanfaatkan XSLT ataupun FO (Format Object). 


B. HASIL PRAKTIKUM 

Tugas Praktikum
  1. Buatlah file jrxml seperti tutorial diatas namun menggunakan database akademik. Laporan berupa NIM,nama mahasiswa, nama Fakultas dan Jurusan.
  2. Buatlah form pada netbeans dan buatlah tombol untuk pemanggilan file ireport yang telah dibuat!
  3. Buat modifikasi laporan diatas sehingga laporan yang akan di print berdasarkan NIM mahasiswa yang berasal dari textfield!
Pertama-tama, pastikan didalam PostgreeSQL sudah ada database akademis dan tabel Mahasiswa seperti pada pembahasan sebelumnya (karena laporan ini menggunakan database mahasiswa dan fakultas) selain itu periksa plugin iReport 3.5.1. di netbeans apakah sudah terinstall. Setelah itu,kita akan membuat report menggunakan Report Wizard seperti dibawah ini dengan langkah klik NEW > OTHER ...


Pilih REPORT > REPORT WIZARD > NEXT


Tahapan selanjutnya isi nama buat report yang akan dibuat, jangan lupa saat mengedit nama memberikan .jrxml > klik NEXT


Langkah selanjutnya klik tombol NEW karena koneksi datanya masih kosong


Setelah klik tombol NEW pada Datassource pilih Database JDBC connection > klik NEXT


Selanjutnya buatlah nama koneksi pada kolom NAME. Pada kolom JDBC Driver pilih driver yang akan kita pakai, disini saya memakai PostgreSQL lalu atur nama database, server, user, password dan jangan lupa untuk mengganti nama database yang akan kita pakai seperti pada lingkaran merah pada gambar


Jika tidak maka akan keluar pemberitahuan seperti gambar dibawah


Setelah mengganti nama database yang akan dipakai pada kolom JDBC URL klik tombol TEST untuk mengetahui sudah terkoneksi atau belum. Jika keluar seperti gambar dibawah maka masukan password username mu > klik OK 



Jika sudah terkoneksi akan keluar pemberitahuan seperti gambar dibawah


Selanjutnya pada kolom Connections otomatis sudah terisi, lalu masukkan perintah query SELECT nim_mah,nama_mah,nama_fak FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak; lalu klik NEXT


Selanjutnya pilih fields yang akan digunakan. Pada gambar terdapat dua tombol, tombol (>) berfungsi untuk memindahkan fields satu persatu ke sebelah kiri lalu pada tombol (>>) akan memindahkan semua fields kesebelah kiri. Setelah dipindah klik NEXT


Selanjutnya terdapat kolom Group By, jika diklik akan keluar fields yang kita pilih tadi tapi disini saya tidak meng-group maka klik NEXT


Langkah selanjutnya pilih TABULAR LAYOUT > klik NEXT


Selanjutnya, akan muncul gambar dibawah jika pembuatan report telah berhasil > klik FINISH 


Selanjutnya klik PREVIEW untuk melihat hasilnya


Setelah selesai membuat report selanjutnya membuat Button untuk menampilkannya yang sebelumnya kita harus menambahkan Library. klik kanan pada LIBRARY project kita > Add JAR/Folder


Tambahkan semua library (disini saya tidak menambahkan yang terakhir karena memakai PostgreSQl) > klik OPEN


Buat Button CETAK pada JFrame yang telah dibuat pada laporan sebelumnya


Klik dua kali pada button CETAK lalu masukkan source code seperti gambar dibawah


Sebelumnya tulis perintah source code secara urut seperti gambar dibawah


Setelah selesai memberi perintah seperti gambar diatas coba run dengan klik SHIFT+F6, masukkan nim pada kolom yang akan di report > klik CETAK maka akan keluar seperti gambar dibawah


C. KESIMPULAN, KRITIK dan SARAN

     Sama seperti laporan sebelumnya, ketelitian sangat diperlukan. Misal saat me-rename report lalu lupa untuk memberikan .jrxml dibelakangnya maka saat selesai membuat report tidak muncul. Perbedaan antara PostgreSQL dan MySQL untuk pembuatan iReport terletak pada pengisian kolom koneksi JDBC database, kita tinggal memilih memakai PostgreSQL atau MySQL pada kolom JDBC Driver dan pada pengisian username dan password saja.
      Pada laporan terakhir ini semoga bermanfaat untuk saya dan para pembaca :) Tetap semangat dan terus mencoba, mencoba dan mencoba!

 D. REFERENSI

Aziz, Mustafa.2014.Modul Praktikum Desain Basis Data.pdf
http://inferno-consulting.blogspot.com/2008/03/reporting-with-jasperreport-and-ireport.html

Rabu, 03 Desember 2014

LAPORAN PRAKTIKU DBD 9 : KONEKSI POSTGRESQL PADA JAVA (Netbeans)

   A.  LANDASAN TEORI


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 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.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.

1.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 yang Anda gunakan.
         Berikut ini adalah listing program untuk memanggil driver JDBC.
Class.forName(namaDriver);  
atau   
Class.forName(namaDriver).newInstance();
          Kedua cara di atas 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 cara menambahkan try-catch untuk penanganan error apabila driver tidak ditemukan, sebagai berikut :
Try {

Class.forName(namaDriver);

} catch (ClassNotFoundException e) {

... Penanganan Error ClassNotFoundException

}
Contoh listing memanggil driver menggunakan PosqgreSQL adalah :
try {

Class.forName(“org.postgresql.Driver”);

} catch (ClassNotFoundException e) {

System.out.println(“Pesan Error : “ + e)

}
        Berikut ini adalah daftar nama-nama driver dari beberapa database server yang sering digunakan.

1.3  Membangun Koneksi 
      Setelah melakukan pemanggilan terhadap driver JDBC, langkah selanjutnya adalah 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 methode getConnection().
Connection koneksi = DriverManager.getConnection(<argumen>);
       Untuk menangani error yang mungkin terjadi pada proses melakukan koneksi dengan database maka ditambahkan try-catch. Exception yang akan dihasilkan pada proses ini adalah berupa SQLException. Adapun cara penulisan listingnya adalah sebagai berikut :
try {

... koneksi database

} catch (SQLException sqle){

... penanganan error koneksi

}
        Ada beberapa macam argumen yang berbeda dari methode getConnection() yang dipanggil dari DriverManager, yaitu :
# getConnection(String url)
         Pada methode diatas hanya memerlukan argumen URL, sedangkan untuk data user dan password sudah diikutkan secara langsung. Adapun penulisan nilai sebagai berikut :
jdbc:<DBServer>://[Host][:Port]/<namaDB>?<user=User>&<password=Password>
       Berikut ini contoh penggunaan methode ini didalam program :
try {

String url = “jdbc: postgresql://localhost:3306/Dbase? User = adi & password = pas”;

Connection koneksi = DriverManager.getConnection(url);

System.out.prinln(“Proses apabila koneksi sukses”);

} catch (SQLException sqle) {

System.out.println(“Proses apabila koneksi gagal dilakukan”);

}
# getConnection(String url, Properties info)
         Pada methode ini memerlukan  URL  dan sebuah object  Properties. Sebelum menggunakan methode ini, Anda harus melakukan import package berupa  java.util.*, ini dikarenakan object Properties terdapat pada package tersebut. Object Properties berisikan spesifikasi  dari setiap parameter database misalnya user name, password, autocommit, dan sebagainya. 
Berikut ini contoh penggunaan methode ini didalam program :
try {

String url = “jdbc: postgresql://localhost:5432/praktikumdbd”;

Properties prop = new java.util.Properties(); // tidak mengimpor kelas

prop.put(“user”,”NamaUser”);

prop.put(“password”,”datapassword”);

Connection koneksi = DriverManager.getConnection(url, prop);

System.out.prinln(“Proses apabila koneksi sukses”);

} catch (SQLException sqle) {

System.out.println(“Proses apabila koneksi gagal dilakukan”);

}
# getConnection(String url, String user, String password)
         Pada methode ini memerlukan argumen berupa  URL,  user name, dan password. Methode ini secara langsung mendefinisikan nilai URL, user name dan password. 
            Berikut ini contoh penggunaan methode ini didalam program :
try {

String url = “jdbc: postgresql://localhost:5432/ praktikumdbd”;

String user = “adi”

String password “ternate”

Connection koneksi = DriverManager.getConnection(url, user, password);

System.out.prinln(“Proses apabila koneksi sukses”);

} catch (SQLException sqle) {

System.out.println(“Proses apabila koneksi gagal dilakukan”);

}
Berikut ini adalah daftar penulisan  URL dari beberapa database server yang sering digunakan. 
     Membuat Statement JCDB API menyediakan interface yang berfungsi untuk melakukan proses pengiriman statement SQL yang terdapat pada package java.sql. Statement yang ada secara umum digunakan terdiri dari berikut  :
# Statement
          Interface ini dibuat oleh methode Connection.createStatement(). Object Statement digunakan untuk pengiriman statement SQL tanpa parameter  serta Setiap SQL statement yang dieksekusi dikirim secara utuh ke database.
Statement stat = Connection.createStatement();
# PreparedStatement
           Interface ini dibuat oleh methode  Connection.prepareStatement(). Object PreparedStatement digunakan untuk pengiriman statement SQL dengan atau tanpa parameter. Interface ini memiliki performa lebih baik dibandingkan dengan interface Statement karena dapat  menjalankan beberapa proses dalam sekali pengiriman perintah SQL, pengiriman selanjutnya hanya parametered querynta saja. 
PreparedStatement stat = Connection.prepareStatement();
5.  Melakukan Query 
Setelah kita memiliki object statement, kita dapat menggunakannya untuk melakukan pengiriman perintah SQL dan mengeksekusinya. Methode eksekusi yang digunakan untuk perintah SQL terbagi menjadi dua bagian yaitu untuk perintah SELECT  methode eksekusi yang digunakan adalah  executeQery()  dengan nilai kembaliannya adalah ResultSet, dan untuk perintah INSERT, UPDATE, DELETE methode eksekusi yang digunakan adalah executeUpdate(). Berikut ini adalah contoh melakukan eksekusi perintah SQL dan mengambil hasilnya (ResultSet) dengan menggunakan perintah SELECT :
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");

      }
    Berikut ini adalah contoh melakukan eksekusi perintah SQL dengan menggunakan 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.  Sebelum kita menutup koneksi database, kita perlu melepas object Statement dengan kode sebagai berikut :
 statement.close();
     Untuk menutup koneksi dengan database server dapat kita lakukan dengan kode sebagai berikut :
  connection.close();

Praktek Langkah-langkah Koneksi database dengan java di Netbeans

     Materi kali ini akan sedikit membubuhkan tutorial untuk pengkoneksian dan penyampaian contohnya. Seperti berikut langkah-langkahnya :
1. buatlah project baru pada netbeans 
2. pada project tersebut, klik kanan – properties 
3. pilih Libraries pada list Properties 
4. add Library 
7. add JAR/Folder 
8. browse file konektor PostgreSQL
9. ambil file konektor, semisal :postgresql-9.0-801.jdbc4.jar atau versi yang lain. 
10. kemudian open 
11. Klik OK

B. HASIL PRAKTIKUM


1. Pertama-tama buatlah project baru 
2. Kemudian klik kanan pada libraries -> Add Library
 3. libraries -> Add Library-> pilih PostgreSQL JDBC Driver -> klik tombol Add Library
4. Selanjutnya buatlah class baru dengan nama koneksi_postgre, untuk mengoneksikan netbeans ke postgre. Tulislah source code dibawah ini
 

5. Kemudian buatlah class baru menggunakan JFrame Form, lalu desain hingga manyerupai gambar dibawah ini

 6. Lalu berilah source code pada setiap tombol aksinya mmulai dari tombol cari, tombol edit, tombol hapus, tombol reset, tombol simpan dan tombol tampil
#Source Code untuk tombol Cari
#Source Code untuk tombol Edit

#Source Code untuk tombol Hapus 

#Source Code untuk tombol Reset 

#Source Code untuk tombol Simpan 


#Source Code untuk tombol Tampil




C. Kesimpulan, Kritik dan Saran

      Laporan kali ini tidak seperti kemarin yang berurusan dengan PostgreSQL dan MySQL, kali ini banyak ngoding di Netbeans yang harus super sabar dan telaten. ya karena kurang koma saja banyak pentung berwarna merah pada projectmu. Dan laporan mengoneksikan kali ini saya masih kurang faham sebenarnya, karena beban tugas akhir UAS yang BANYAK yang salah satunya laporan ini membuat konsentrasi saya terpecah dan tidak maksimal untuk mengerjakannya. Kritik, mungkin banyak sekali kekurangan pada laporan kali ini sehingga wajib mencoba lagi.

D. Referensi

Modul Praktikum Desain Basis Data 2014.pdf