Rabu, 06 Juni 2018

LAPORAN
PRAKTIKUM DESAIN BASIS DATA
“Pembuatan dan Manajeman Tabel”

Landasan Teori         
            Sebuah tabel terdiri dari baris (row) dan kolom (column), dimana jumlah dan nama kolom harus didefinisikan terlabih dahulu di awal. Sedangkan baris merupakan sebuah variabel yang dapat dihapus dan diisi kapanpun, sehingga jumlahnya selalu berubah sesuai dengan jumlah data didalamnya. Setiap kolom dalam tabel mempunyai tipe data, tipe data digunakan untuk membatasi jenis data yang bisa dimasukkan, sehingga akan mempermudah dalam menggunakannya dan melakukan pengelolaan selanjutnya. Sangat disarankan pada saat akan membuat tabel, sebaiknya membuat sebuah aturan khusus dalam penentuan tabel-tabel yang akan dibuat dan memberikan nama kolom maupun tipe datanya.
            Tabel harus memiliki primary key, artinya dalam pembuatan tabel haruslah terdapat sekelompok kolom (field) yang menyebabkan setiap baris (record) dalam tabel tersebut tidak sama dan juga digunakan untuk mempercepat dalam pencarian. Deklarasi primary key tidak boleh kosong (null), jadi kita harus mendeklarasikan sebagai not null.
Tujuan Pembahasan
            1. Mahasiswa memahami cara pembuatan maupun penghapusan tabel.
            2. Mahasiswa memahami cara mengedit struktur dari tabel.
            3. Mahasiswa mampu memanipulasi tabel sesuai dengan kebutuhan.
Langkah Kerja
1.      Buatlah sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya
Nama
Tipe data
Keterangan
Id_idn
Integer
Not Null
namaDepan_idn
Varchar(10)

namaBelakang_idn
Varchar(10)

tgl_lahir_idn
Date

status_idn
Boolean

Alamat_idn
Text


2.      Buatlah sebuah tabel lagi dengan nama pegawai dan nama field sama dengan tabel identitas.
3.      Hapus kolom “alamat_idn” dan tampilkan struktur dari tabel pegawai tadi.
4.      Tambahkan kolom “pekerjaan_idn” dengan type data varchar dan tampilkan struktur tabel pegawai.
5.      Ubah nama tabel pegawai menjadi pekerjaNIM kemudian ubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan tampilkan.
6.      Berikan Primary key pada tabel pekerjaNIM dan ubah type data pada kolom “alamat_idn” menjadi text. Kemudian tampilkan struktur tabel.
7.      Hapus tabel pekerjaNIM.
8.      Buat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan tampilkan tabel atau strukturnya.
9.      Hapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan lakukan pengecekan. Kemudian berikan semua hak akses kembali dan lakukan pengecekan kembali. Hapus hak akses SELECT tabel tertentu kepada salah satu user dan lakukan pengecekan.
10.  Buat tabel baru dengan nama Gaji, dengan catatan pembuatan tabel berasal dari turunan tabel number 1 dan tambahkan kolom gaji kotor, pajak, dan gaji bersih. Kemudian tampilkan strukturnya.
Hasil Percobaan
1. Membuat tabel 1 dan 2
            Query SQL Shell :
                CREATE TABLE namatabel (namakolom tipedata keterangan);
                                *Cttn : Untuk melihat struktur tabel yang telah dibuat ketikkan perintah \d dan                 melihat semua tabel menggunakan \z.
            Query MySQL :
            CREATE TABLE namatabel (namafield tipedata keterangan);      
            Untuk melihat struktur tabel query nya adalah :
      desc nama_tabel
2. Menghapus kolom
            Query SQL Shell :
            alter table namatabel drop column “namakolom”;
            Query MySQL :
Alter table namatabel drop namakolom;
3. Menambah kolom
            Query SQL Shell :
            alter table namatabel add column “namakolom” tipe data;
            Query MySQL :
            alter table namatabel add namafield tipedata;
4. Mengubah nama tabel
            Query SQL shell :
            alter table namatabelasal rename to namatabelbaru;
            Query MySQL :
            RENAME TABLE nama_lama TO nama_baru;
5. Mengubah nama kolom
            Query SQL shell :
            alter table namatable rename column “namakolom asal” to namakolombaru;
            Query MySQL :
            Alter tabel namatabel change fieldlama fieldbaru tipe data;
6. Memberi primary key
            Query SQL shell :
            alter table namatabel add primary key (namakolom);
            Query MySQL :
            alter table namatabel add primary key (namakolom);
7. Menghapus tabel
            Query SQL shell :
            drop table namatabel;
            Query MySQL :
      drop table namatabel;
8. Membuat temporary tabel
            Query SQL shell :
            create temporary table namatabel (namakolom tipedata keterangan);
            Query MySQL :
            CREATE TEMPORARY TABLE namatabel (namakolom tipedata keterangan);
9. Memberikan dan menghapus hak akses
            Query SQL shell :
            Memberikan hak akses
            grant all on table namatabel to namauser;
            Menghapus hak akses
            revoke all on table namatabel from namauser;
            Query MySQL :
            Memberikan hak akses
            GRANT hak_akses ON nama_database.nama_tabel TO 'nama_user'@'lokasi_user';
            Menghapus hak akses
            REVOKE hak_akses ON nama_database.nama_tabel FROM         'nama_user'@'lokasi_user';
10. Membuat tabel turunan
            Query SQL shell :
            create temporary table namatabel (namakolom tipedata keterangan , namakolom   tipedata keterangan) inherits (namatabelinduk);
Perbandingan antara SQL Shell dengan MySQL
1.      Terdapat perbedaan penulisan query pada SQL shell dan MySQL, contohnya seperti penggunaan tanda petik.
2.      Pada SQL shell, ketika kita ingin mengganti nama kolom kita tidak harus mengganti tipe datanya. Sedangkan pada MySQl kita harus mengganti tipe datanya juga. Berarti secara otomatis MySQL mengganti tipe data kolom baru dan pada SQL shell perintah tersebut dilakukan satu persatu.
3.      Pada SQL shel, ketika kita membuat suatu kolom dengan tipe data varchar, kita tidak harus memasukkan panjang data. Sedangkan pada MySQL kita harus memasukkan penjang datanya.
4.      Saat kita membuat temporary tabel pada SQL shell, kita bisa melihat struktur tabel temporary tersebut. Sedangkan pada MySQL, ketika Anda mengetikkan perintah SHOW TABLES, Table Temporary tidak akan tampil di daftar table. Dan ketika Anda logout dari MySQL maka Table Temporary juga tidak akan bisa ditemukan lagi dengan perintah SELECT. Secara default, semua Temporary Table akan terhapus secara otomatis ketika koneksi database berakhir. Namun Anda tetap bisa menghapus tabel tersebut dengan perintah DROP TABLE.
5.      Ketika kita ingin memberikan atau mencabut hak akses suatu database, kita harus memasukkan lokasi user. Sedangkan pada SQL shell tidak.
6.      Kita bisa membuat tabel turunan pada SQL shell, namun pada MySQL tidak
Kesimpulan
            Beberapa query yg digunakan pada SQL shell dan MySQL, kebanyakan sama. Hanya saja ada perbedaan pada cara penulisannya. Untuk pembuatan tabel querynya adalah CREATE TABLE namatabel (namakolom tipedata keterangan); dan untuk penghabusan tabel query yg digunakan adalah drop table namatabel;.
            Dalam pengoprasian database, kita biasanya melakukan pengeditan padatabel, seperti penggantian nama kolom, menghapus kolom, dll. Berikut ini adalah query yang berhubungan dengan pengeditan tabel :
-          Mengganti nama tabel
alter table namatabelasal rename to namatabelbaru;
-          Menghapus kolom
alter table namatabel drop column “namakolom”;
-          Memberikan primary key
alter table namatabel add primary key (namakolom);
-          Mengganti nama kolom
alter table namatable rename column “namakolom asal” to namakolombaru;
Kritik
            Penjelasan penulis tentang materi ini kurang detail dan beberapa query masih terkesan membingungkan. Butuh banyak latihan untuk bisa memahami materi ini dengan benar.
Saran 
            Diharapkan kepada penulis untuk lebih memperjelas tentang bagaimana cara pembuatan tabel dan memanipulasinya. Karena mungkin pembaca yang masih pemula masih bingung tentang materi ini.
Manfaat
1. Memudahkan pembaca dalam pembuatan database.
2. Membantu pembaca tentang bagaimana memanipulasi database.
Daftar Pustaka
http://prothelon.com/belajar/artikel/mengubah-nama-tabel-mysql
http://junedalbughisy.blogspot.com/2012/10/cara-mengubah-nama-table-dan-field-pada.html
http://firmanhidayah.blogspot.com/2012/04/mysql-temporary-tables.html
http://www.duniailkom.com/cara-membuat-hak-akses-privileges-user-mysql-grant/
http://www.duniailkom.com/cara-menghapus-hak-akses-user-mysql-revoke/
           
           


           





Minggu, 07 Desember 2014


PEMBUATAN LAPORAN DENGAN IREPORT


Langkah Kerja Ireport
            Materi kali ini akan membubuhkan tutorial untuk pembuatan laporan menggunakan ireport 3.5.1. Seperti berikut langkah-langkahnya :
  • Pastikan didalam PostgreeSQL sudah ada database akademis dan tabel Mahasiswa seperti pada pembahasan pada modul sebelumnya 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: 
  • Tahap Pertama silahkan pilih report wizard. Sebagai berikut :
  • Kemudian berikan nama file dan pilih dimana tempat file tersebut kita simpan.


  • Pada tahap ini kita akan mulai mengkoneksikan ireport dengan dbms PostgreeSQL. Klik tombol view kemudian pilih ”Database JDBC Conection”.
  • Setting koneksi nama database,username dan password dari IReport ke PostgreSQL,seperti gambar dibawah ini:
         setelah diisi semuanya klik tombol Test untuk mengecek apakah setingan yang kita buat                            berhasil,setelah berhasil klik tombol Save.
  • Setelah koneksi berhasil,jalankan Query dibawah ini untuk mencetak Field yang ingin digunakan dalam pelaporan hasil pemeriksaan,setelah itu klik tombol Next :

  • Setelah itu muncul semua Field yang mau kita cetak,klik tombol ”>>” untuk memindahkan Field yang mau kita cetak ke area kanan.
  • Field yang mau kita cetak, Setelah itu klik tombol Next :
  • Pada tahap ini kita pilih Field mana yang kita buat Group kemudian Klik tombol Next untuk mengikuti tahap selanjutnya.
  • Pilih jenis report ”Tabular Layout ”untuk membuat report seperti Tabel,lalu klik tombol Next :
  • Hasil Report secara kasarnya adalah seperti dibawah ini, rubah title menjadi seperti dibawah ini:
  • Klik View untuk melihat hasilnyadan mengecek apakah ada kesalahan dalam pembuatan report
  • Ok. Maka pembuatan Ireport selesai. 

Pemanggilan File JRXML di Java
            Kali ini akan membahas bagaimana cara memanggil file ireport yang berextensi .jrxml agar dapat dieksekusi dari program dan menampilkannya ke dalam sebuah window, sehingga kita dapat melihat hasil dari laporan yang telah kita buat dengan ireport.
            Sebelumnya, jangan lupa untuk mengimport beberapa library standar(Sesuaikan dengan versi Ireport) berikut ini yang digunakan ketika menjalankan program ke dalam project:
1. commons-beanutils-1.7.jar
2. commons-collections-2.1.jar
3. commons-digester-1.7.jar
4. commons-logging-1.0.jar
5. Jasperreport-3.5.1.jar
6. jasper-compiler-jdt.jar

Kemudian kita masukkan kedalam library project yang sudah dibuat seperti berikut :


            Setelah selesai maka bisa dilanjutkan membuat kelas java untuk memanggil file yang telah dibuat. Untuk mempermudah gambaran kode programnya disini terdapat contoh listing dimana file ireport dipanggil berdasarkan tombol “print”sebagai berikut:



 Mungkin hanya ini, penjelasan singkat tentang penggunaan ireport. Untuk lebih jelasnya silakan kalian pelajari masing-masing... ^_^

Sabtu, 29 November 2014

KONEKSI POSTGRESQL PADA JAVA (NETBEANS)


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 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. 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.
Database Server
Nama Driver
JDBC-ODBC
sun.jdbc.odbc.JdbcOdbcDriver
MySQL
com.mysql.jdbc.Driver
PostgreSQL
org.postgresql.Driver
Microsoft SQLServer
com.microsoft.jdbc.sqlserver.SQLServerDriver
Oracle
oracle.jdbc.driver.OracleDriver
IBM DB2
COM.ibm.db2.jdbc.app.DB2Driver

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 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.
Database Server
Nama URL
Contoh penggunaan
JDBC-ODBC
jdbc:odbc:<NamaDatabase>
jdbc:odbc:Dbase
MySQL
jdbc:mysql://<nmHost>:<port>/<nmDB>
jdbc:mysql://localhost:3306/Dbase
PostgreSQL
jdbc:postgresql://<nmHost>:<port>/<nmDB>
jdbc:postgresql://localhost:5432/Dbase
Microsoft SQLServer
jdbc:microsoft:sqlserver://<nmHost>:<port>; DatabaseName=<namaDatabase>
jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=Dbase
Oracle
jdbc:oracle:thin:@<nmHost>:<port>:<nmDB>
jdbc:oracle:thin:@localhost:1521:Dbase
IBM DB2
jdbc:db2:<NamaDatabase>
jdbc:db2:Dbase
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 querynya 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
       Pada pertemuan kali ini kita akan membahas tentang bagaimana cara mengkoneksikan postgreSQL pada java (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


   12. Coba lihat diproject netbeans - Libraries seperti gambar dibawah ini:

13. Disitu sudah tertanam driver Java DB dan jdbc.jar



          Setelah kita menambah libraries, kita membuat kelas baru, yang diberi nama kelas koneksi. Caranya adalah kita klik kanan pada package, lalu pilih new, pilih new class. New class tersebut kita beri nama koneksi. Lalu kita klik finish.




Lalu dalam kelas tersebut kita tuliskan list program sebagai berikut :

Kemudian kita cek, apakah kita sudah berhasil membuat koneksi atau belum. Caranya dengan menjalankan (run) program yang susdah kita tulis tadi dengan (Shift+F6). Apabila berhasil maka akan keluar perintah seperti ini.


Setelah membuat kelas koneksi, kita membuat class baru dengan jFrame Form. Caranya seperti saat kita membuat kelas koneksi.

Kemudian kita membuat form seperti ini di kelas baru tersebut. Buatlah rancangan form seperti ini, di kelas jFrame Form yang sudah kita beri nama tadi.

Setelah kita membuat form ini, kita tinggal menambahkan event disetiap tombol-tombolnya
1. Simpan

Berikut adalah list program untuk tombol simpan


2. Edit
Berikut adalah list program untuk tombol edit


3. Hapus
Berikut adalah list program untuk tombol hapus



4. Tampil
Berikut adalah list program untuk tombol tampil


5. Reset

Berikut adalah list program untuk tombol reset


 Perbedaan
Tidak ada perbedaan yang mencolok pada praktikum ini. Perbedaannya hanya terletak pada nama program yang dipakai dalam koneksi, yaitu PostgreSQL atau MySQL.

Manfaat
Agar pembaca dapat memahami dalam penggunaan Database PostgreSQL dan Bahasa pemrograman Java untuk membuat suatu program aplikasi.