Senin, 08 Desember 2014

PRAKTIKUM 10 - PEMBUATAN LAPORAN DENGAN IREPORT

HASIL PRAKTIKUM 10

1.Buatlah file jrxml seperti tutorial namun menggunakan database akademik. Laporan berupa NIM,nama mahasiswa, nama Fakultas dan Jurusan. 

a. buatlah file baru, untuk membuat file jrxml kita akan menggunakan wizard report, kemuadian klik next

b. Setelah itu beri nama file jrxml yang akan kita buat,klik next

c. Kemudian koneksikan file tersebut dengan database yang sudah ada dalam postgresql. Pertama klik pada new

d. Setelah itu pilihlah “Database JDBC connection” karena kita akan mengkoneksikan pada postgresql, kemudian klik next


f. Beri nama koneksi pada kolom yang dilingkari diatas

g. Lihat pada kolom yang dilingkari gantilah menjadi nama dari database mu.


h. Isi username dan password sesuai dengan username dan pasword yang anda inginkan. Kemudian test koneksi apakah berhasil atau tidak, biasanya anda akan disuruh memasukkan pasword yang telah ditentukan sebelumnya.

i. Jika berhasil maka selanjutnya anda akan disuruh memasukkan query yang diperlukan untuk pemanggilan ireport tersebut.

j. Setelah klik next, pindahkan semua seluruh kolom (field) untuk ditampilkan dalam iReport, jadi dipindah ke kanan semua.

k. Untuk membuat tampilan sperti tabel, pilihlah opsi tabular layout

l. Berikut adalah tampilan ireport jika sudah berhasil koneksi dengan database anda, rubah lah judul sesuai keinginan.

m. Dan gambar dibawah adalah hasil setelah di preview.


2. Buatlah form pada netbeans dan buatlah tombol untuk pemanggilan file ireport yang telah dibuat!

a. Tambahkan tombol print pada form yang telah anda buat sebelumnya

b. Tambahkan juga library dan juga import dalam source code seperti berikut

c. Kemudian tambahkan juga source code berikut yang berguna untuk menghasilkan output print


d. Maka ketika kita run program dan kita klik tombol print, maka otomatis tombol tersebut akan memanggil ireport yang telah kita buat.



3. Buat modifikasi laporan diatas sehingga laporan yang akan di print berdasarkan NIM, mahasiswa yang berasal dari textfield!

a. Pertama klik pada file jrxml, kemudian pada report inspector pilihlah parameter-klik kanan-add parameter-beri nama parameter sesuka hati. Hal ini bertujuan untuk membuat parameter sewaktu kita akan menampilkan ireport

b. Kemudian pilih pada properties pada parameter yang anda buat dan ganti parameter calss nya menjadi integer

c. Kemudian ganti source code pada tombol print dengan berikut

d. Setelah itu klik pada file jrxml anda pilih pada designer dan klik pada gambar seperti dibawah,

e. Selanjutnya ganti querynya menjadi seperti berikut

f. ketika di run, program akan meminta untuk memasukan NIM sebelum memulai proses print

g. Dan begitu anda masukkan NIM, program akan menampilkan sesuai NIM yang telah dimasukkan


4. Sekian dan Terimakasih.

EVALUASI PERBANDINGAN DBMS

PERBANDINGAN DBMS
“POSTGRESQL DAN MYSQL”

Perbandingan dalam "PEMBUATAN LAPORAN DENGAN IREPORT" :

1.      Dilihat dari segi perbedaan dan kesamaan :
·         Perbedaan : -
·         Kesamaan : -

2.      Dilihat dari segi kelebihan dan kekurangan :
·         Kelebihan      :  -
·         Kekurangan  : -

3.      Tambahan :
- Pada bab ini akan membahas tentang koneksi PostgreSQL dengan bahasa pemrograman java serta penanganan selanjutnya dari hasil praktikum 9 dengan Ireport.

KESIMPULAN, KRITIK & SARAN, MANFAAT

A.      Kesimpulan
Ireport adalah program yang membantu dalam memudahkan kita dalam hal menampilkan data maupun output

data, seperti dalam hal preview dan juga print out.

B.       Kritik & Saran
Bahasa pemrograman java dan kemampuan untuk memrogram java pada Netbeans sangat diperlukan dalam

pembuatan praktikum 10 ini.

C.      Manfaat Bagi Pembaca
  Dapat memahami  dalam penggunaan  Ireport  dan  Bahasa  pemrograman  Java untuk membuat laporan.

LANDASAN TEORI - "KONEKSI POSTGRESQL PADA JAVA (Netbeans)"

A. LANDASAN TEORI
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 engan 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.  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.

l1.

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=Pasword>
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  roperties  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 kelasprop.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.

l2.

4.  Membuat Statement

JDBC  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();

PRAKTIKUM 9 - "KONEKSI POSTGRESQL PADA JAVA (Netbeans)"

HASIL PRAKTIKUM 9

1.  Membuat koneksi seperti contoh listing kode diatas dengan database kalian masing2 !
Ketik source code berikut :



2.  Membuat  form  pada  netbeans  dan  buatlah  tombol  insert,  update,  delete,  tampil  dan pencarian seperti dibawah !
Buat form seperti berikut :


3.  Membuatuat  Event  tiap  tombol  seperti  contoh  listing  diatas  dengan  catatan  memakai database praktikan sendiri dan menggunakan tabel mahasiswa. Untuk tampil, data munculkan pada jtabel atau text area.
Ketik source code berikut :

Void Simpan



Void Hapus



 Void Update/Edit



Void Tampil/Select


                                    

Void Reset




Void Cari




                          
4.  Membuat  seperti  nomor  2.  Dengan   aturan  terdapat  kelas  koneksi  sendiri  sehingga  tidak menulis  ulang  pemanggilan  driver  jdbc,  url,  dan  koneksi  nya  pada  saat  insert,update, delete dan tampil data
Ketik source code berikut :

Menambah Void koneksi


Void Simpan


Void Hapus


Void Edit/Update


Void Select / Tampil


Void Reset
 
Void Cari


EVALUASI PERBANDINGAN DBMS

PERBANDINGAN DBMS
“POSTGRESQL DAN MYSQL”

Perbandingan dalam "KONEKSI POSTGRESQL PADA JAVA (Netbeans)" :

1.      Dilihat dari segi perbedaan dan kesamaan :
·         Perbedaan : -
·         Kesamaan : -

2.      Dilihat dari segi kelebihan dan kekurangan :
·         Kelebihan      :  -
·         Kekurangan  : -

3.      Tambahan :
- Pada bab kali ini akan membahas tentang koneksi PostgreSQL dengan bahasa pemrograman java.
- Selain hal itu akan dibahas juga mengenai kode pemrograman untuk manipulasi data.

KESIMPULAN, KRITIK & SARAN, MANFAAT

A.      Kesimpulan
Pada bab kali ini akan membahas tentang koneksi PostgreSQL dengan bahasa pemrograman java. Selain itu

akan dibahas juga mengenai kode pemrograman untuk manipulasi data.

B.       Kritik & Saran
Pada pembahasan bab ini diperlukan kemampuan untuk memrogram java pada Netbeans.

C.      Manfaat Bagi Pembaca

  Dapat memahami  dalam  penggunaan  Database  PostgreSQL  dan  Bahasa pemrograman Java untuk

membuat suatu program aplikasi

LANDASAN TEORI - SUB QUERY

SELECT INTO STATEMENT
Query select  into statement merupakan query SQL yang digunakan untuk mengopi informasi dari tabel ke tabel yang lain tanpa membuat tabel sebelumnya. Berikut  struktur  query  penggunaan  select  into  statement  untuk mengopi semua data dari tabel1 ke tabel yang baru :
SELECT * INTO newtable FROM table1;
Berikut struktur query penggunaan select into statement  untuk mengopi data berdasarkan kolom tertentu dari tabel1 ke tabel yang baru :
SELECT column_name(s) INTO newtable [IN externaldb] FROM table1;

SUB QUERY
Subquery atau query Nested merupakan bentuk query yang terdapat dalam query yang lain. Subquery dapat ditempatkan dalam klausa where, having, from bersama dengan  operator perbandingan seperti = untuk baris tunggal dan untuk baris berganda menggunakan in, not in atau <>, < any, >, >=,<=. Penggunaan  sub  query  dapat diterapkan  pada  pernyataan  SELECT,  UPDATE,  DELETE,  dan  INSERT.  Bentuk penggunaannya sebagai berikut :
Select  nama_kolom  from  nama_tabel  where  nama_kolom  operator
(subquery);

INDEKS
Indeks disini berguna dalam suatu pencarian nilai atau  data dalam database. Dalam suatu kasus ketika mengakses sebuah tabel biasanya DBMS akan membaca seluruh tabel baris perbaris hingga selesai. Ketika baris sangat banyak dan hasil dari query hanya sedikit, maka hal ini sangat tidak efisien. Seperti halnya ketika kita membaca sebuah buku dan ingin mencari kata atau istilah tertentu dalam buku maka biasanya akan di cari dengan membuka setiap halaman dari awal sampai akhir. Dengan adanya indeks buku maka kita cukup dengan membuka indeks, sehingga akan cepat dalam pencarian
kata tersebut. PostgreSQL tidak bisa membuat indeks dengan otomatis, sehingga user dapat membuat indeks tersebut untuk sering kali digunakan kolom,  biasanya dalam clause WHERE. Berikut struktur SQL :
CREATE INDEX nama_index ON nama_tabel (nama kolom);

indeks sebaiknya jangan digunakan  pada tabel atau kolom yang sangat jarang atau tidak pernah diakses. Selain untuk perintah SELECT Indeks juga bermanfaat untuk UPDATE dan DELETE yang menggunakan kondisi pencarian.  Sedangkan Unique index mirip dengan indeks tetapi lebih digunakan untuk mencegah duplikasi nilai yang terdapat dalam tabel. Jadi dengan adanya unique index berarti pembaca tidak dapat meng-insert nilai yang sama dalam sebuah tabel. Berikut struktur SQL nya :
CREATE UNIQUE INDEX nama_index ON nama_tabel (nama kolom);

Untuk menghapus index berikut strukturnya :
DROP INDEX Nama_index;


KOLOM UNIK
Unique berfungsi untuk menjaga agar tidak terjadinya duplikasi nilai (kesamaan data) dalam sebuah kolom, hal ini dapat ditangani dengan membuat sebuah indeks unik atau fungsi unik sendiri pada kolom yang dimaksud.  Unique ini sering digunakan dalam pembuatan bukan primary key namun membutuhkan cek dupikasi agar tidak ada yang sama, karena dalam  primary key  sudah otomatis mempunyai sifat unik. Berikut Struktur SQL saat pembuatan tabel baru :
CREATE TABLE nama_tabel (nama_kolom tipe_data unique);

Ketika tabel sudah ada kita bisa menggunakan cara seperti pada BAB.2 berikut struktur SQL nya :

ALTER TABLE nama_tabel ADD UNIQUE (nama_kolom);
Untuk menghapus unique berikut caranya :
ALTER TABLE nama_table DROP CONSTRAINT NAMA_CONSTRAIN

Check
Check berfungsi untuk melakukan pembatasan nilai masukan dalam sebuah kolom, sebagai contoh misalkan kita ingin agar kolom gender yang terdiri  dari  satu karakter hanya memiliki dua pilihan karakter yaitu  M (male) atau  F  (Fimale) ini dapat kita seting dengan menggunakan CHECK. Dengan menggunakan CHECK maka sebuah kolom hanya bisa diisi dengan data yang memenuhi kriteria  dalam  CHECK. Berikut query contoh pengunaan check :
db_contoh=> CREATE TABLE pelanggan (
db_contoh(> nama varchar(35),
db_contoh(> kode_area CHAR(10) CHECK
(length(trim(kode_area)) = 2),
db_contoh(> umur INTEGER CHECK (umur >= 0),
db_contoh(> gender CHAR(1) CHECK (gender IN ('L', 'P')),
db_contoh(> ttl DATE CHECK (ttl BETWEEN '1998-01-01' AND
CURRENT_DATE),
db_contoh(> CHECK (upper(trim(nama)) != 'nita' OR
db_contoh(> upper(trim(nama)) != 'jeki')
db_contoh(> );
CREATE

Penggunaan TRIM
Suatu ketika pasti akan memiliki data yang di dalamnya terdapat spasi kosong yang tidak diperlukan, misalnya spasi ganda. Jika ada masalah seperti ini, kita dapat membersihkan spasi-spasi kosong yang tidak diperlukan menggunakan fungsi TRIM, RTRIM, dan LTRIM. Ketiga fungsi ini memiliki bentuk penggunaan sebagai berikut :
-  RTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kanan (Right) String.
-  LTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri (Left) String.
-  TRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri, kanan, maupun tengah String
Berikut Struktur SQL nya :
Select trim(nama_kolom) from nama_tabel;
Dalam penggunaannya, fungsi TRIM memiliki tiga opsi. Ketiga opsi ini dapat digunakan untuk menentukan  karakter apa yang akan dihapus dari suatu String. Jadi, fungsi TRIM juga dapat menghilangkan karakter tertentu (bukan spasi kosong saja) dari suatu string. Opsinya sebagai berikut :
-  LEADING  : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kiri. Parameter Leading diartikan sebagai sufik dari karakter yang ada.
-  TRAILING  : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kanan String. Parameter Trailing diartikan sebagai sufik dari  karakter yang ada.
-  BOTH : merupakan opsi yang dapat menangani parameter Leading maupun Trailing.
Berikut Struktur SQL nya :
Select trim(LEADING ‘karakter, misal : -’ from nama_kolom) from nama_tabel;

PRAKTIKUM 7 - SUB QUERY

Hasil Praktikum Sub Query dgn MySql

1. Menampilkan nama fakultas dan jumlah mahasiswa yang mampunyai ketentuan nama fakultas yang dimunculkan dengan jumlah mahasiswanya terkecil.


2. Menampilkan nama mahasiswa, nama fakultas, alamat dengan syarat nama fakultas sama dengan ian dan alamatnya tidak sama dengan ismail.


3. Membuat index di tabel mahasiswa(alamat). Kemudian membuat lagi index yang bersifat unik pada tabel fakultas(fak_nama) kemudian amati perbedaannya ketika memasukkan data yang sama
ketikan queri seperti di bawah ini ;


dan ini ;



4. Membuat kolom nama di mahasiswa menjadi unik dan inputkan 2 data yang sama. Kemudian amati perbedaannya :


5. Memindahkan data dari tabel mahasiswa, fakultas ambil kolom nim, nama mahasiswa, alamat, nama fakultas ke tabel baru yang dinamai tabel identitas?.



6. Membuat contoh penggunaan check pada sub bab pembahasan CHECK. Kemudian masukkan beberapa data baik yang sesuai dengan criteria check maupun yang bukan dan amati perbedaannya


7. Menginput data di tabel mahasiswa dimana pada kolom nama sebelum inputkan karakter dahulukan  dengan spasi dan di akhiri dengan tanda “+” seperti berikut : “   andi cahyono++++”. kemudian munculkan seluruh data dan hilangkan spasi didepan




8. Memunculkan data mahasiswa dengan hilangkan karakter “+” di akhir data dan karakter “a” di awal kata pada kolom nama