Minggu, 28 September 2014

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

  •    Buatlah sebuah tabel lagi dengan nama pegawai dan nama field sama dengan tabel identitas.
  •         Hapus kolom “alamat_idn” dan tampilkan struktur dari tabel pegawai tadi.
  •    Tambahkan kolom “pekerjaan_idn” dengan type data varchar dan tampilkan struktur tabel pegawai.
  •   Ubah nama tabel pegawai menjadi pekerjaNIM kemudian ubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan tampilkan.
  •    Berikan Primary key pada tabel pekerjaNIM dan ubah type data pada kolom “alamat_idn” menjadi text. Kemudian tampilkan struktur tabel.
  •          Hapus tabel pekerjaNIM.
  •      Buat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan tampilkan tabel atau strukturnya.
  •      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.
  •    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/
           
           


           





Sabtu, 27 September 2014

Tugas Praktikum 2

RANCANGAN TABEL APLIKASI LAUNDRY

1. Tabel Pelanggan

2. Tabel Transaksi

3. Tabel Petugas

4. Tabel Barang

RELASI ANTAR TABEL





Sabtu, 20 September 2014

LAPORAN PRAKTIKUM 1

LAPORAN PRAKTIKUM DESAIN BASIS DATA
                “Pengenalan dan Instalasi”

A. Landasan Teori
                Database merupakan proses penyimpanan beragam informasi untuk diolah sedemikian rupa agar mudah untuk dipergunakan kembali. Suatu software basis data merupakan software yang digunakan untuk menyimpan dan memungkinkan data yang telah disimpan untuk diakses dengan perintah-perintah tertentu. Software basis data sering dikenal dengan sebutan DBMS (Database Management System). Perintah-perintah yang digunakan untuk mengelola basis data mempunyai standar yang disebut dengan SQL (Structured Query Language). Standar ini dibuat oleh suatu badan yang berwenang (ANSI) sehingga sering disebut juga dengan istilah ANSI SQL. Saat ini standar SQL yang diacu kebanyakan software adalah SQL92 dan SQL99. Pada umumnya, data yang tersimpan merupakan data relasional (data yang saling terhubung). Proses untuk merancang suatu basis data disebut dengan istilah normalisasi. Pada dasarnya, suatu basis data terdiri atas berbagai tabel yang saling terhubung. Tabel merupakan tempat data disimpan. Tabel itu sendiri terdiri atas data rinci untuk suatu entitas dan terdiri atas row dan column (pada software non-SQL dan software basis data tertentu sering disebut record dan field). Tabel itu sendiri jika digambarkan merupakan suatu baris serta kolom sebagai berikut:
mhs_no
mhs_nama
mhs_tgllahir
mhs_alamat
002345
Zaky      
Yogyakarta, 3-3-2000
Griya Purwa Asri H304
002346
Ahmad
Jakarta, 21-12-1978
Kenari II/37 Salemba
002347
Aditya
Jakarta, 25-08-1972
Gedongkuning JG IV/16

Pengenalan PostgreSQL
                PostgreSQL merupakan Sebuah Obyek-Relasional Data Base Management System (ORDBMS) yang dikembangkan oleh Berkeley Computer Science Department. PostgreSQL juga menawarkan tambahan-tambahan yang cukup signifikan yaitu class, inheritance, type, dan function. Tambahan keistimewaan lain yang tidak dimiliki database management system yang lain berupa constraint, triggers, rule, dan transaction integrity, dengan adanya keistimewaan tersebut maka para pemakai dapat dengan mudah mengimplementasikan dan menyampaikan sistem ini. Pada tahun 2012 PostgreSQL mendapatkan gelar Linux New Media Award untuk kategori Database Open source terbaik.

B. Langkah Praktikum
1.       Buatlah user baru dengan nama user nama depan pribadi mahasiswa dan password menggunakan nim masing – masing.
2.       Buatlah 2 database dengan nama : namaNIM masing-masing praktikan. Misal : “aziz05550057” dan nama database : contoh1.
3.       Hapuslah database contoh1.
4.       Jawablah soal matematika berikut menggunakan query buffer 9 - 5 + 5 x 0 + 3 : 2 = .... ?
5.       Jawablah soal matematika berikut menggunakan query buffer 5%2=...?
6.       Tampilkan query untuk memperoleh tanggal dan jam sekarang?
7.       Tampilkan selisih hari dalam untuk pengurangan waktu sekarang dengan waktu lahir praktikan?

C. Hasil Praktikum
1. Membuat User
Ini adalah contoh dari membuat user dengan menggunakan nama depan masing-masing dan nim masing-masing sebagai passwordnya :
                                CREATE USER fadhilah with createdb password ‘13650125’;
                                CREATE USER

                *Cttn: Untuk melihat daftar user ketikan \du
2. Membuat Database
                Dalam praktikum ini kita ditugaskan untuk membuat 2 database, database pertama diberikan namaNIM masing-masing praktikan dan databse yang kedua diberi nama contoh1.
                Database pertama :
                                CREATE DATABASE fadhilah13650125;
                                Jika berhasil maka akan keluar : CREATE DATABASE
                Database kedua :
                                CREATE DATABASE contoh1;
                                Jika berhasil maka akan keluar : CREATE DATABASE
3. Menghapus database contoh1
                Berikut ini adalah query yang dipakai untuk menghapus database yang telah kita buat diatas. Sebagai contoh, kita menghapus database contoh1.
                                DROP DATABASE contoh1;
                                DROP DATABASE
4. Mengerjakan soal matematika berikut menggunakan query buffer 9 - 5 + 5 x 0 + 3 : 2 = .... ?
                Ini adalah query yang digunakan untuk menyelesaikan operasi matematika
                                db_personal=> SELECT
                                db_personal-> 9-5+5*0+3/2 :: float;
                                db_personal-> ;
                                ?column?
                                ----------
                                5.5
                                (1 row)
5.  Menjawab soal matematika berikut menggunakan query buffer 5%2=...?
                Query untuk menampilkan hasil di atas adalah :
                                db_personal=> SELECT
                                db_personal-> 5%2
                                db_personal-> ;
                                ?column?
                                ----------
                                1
                                (1 row)
6. Tampilkan query untuk memperoleh tanggal dan jam sekarang            
                Query untuk menampilkan jam dan waktu adalah :
                                select current_timestamp;
                                timestamp
                                --------------------------------
                                2014-09-21 12:41:22.199+07
                                (1 row)
                Berikut query untuk menampilkan tanggal.
                                select current_date;
                                date
                                ------------
                                2014-09-21
                                (1 row)
                Query untuk menampilkan waktu.
                                select current_time;
                                time
                                ----------
                                12:41:47.33+07
7. Tampilkan selisih hari dalam untuk pengurangan waktu sekarang dengan waktu lahir praktikan?
                Query yang digunakan adalah :

D. Perbandingan antara SQL Shell dengan MySQL
1.       Dalam SQL Shell, kita dapat membuat nama user terlebih dahulu, lalu baru kita membuat databasenya. Sedangkan dalam MySQL kita harus membuat database terlebih dahulu baru kita bisa membuat usernya.
2.       Dalam SQL Shel, ketika kita menggunakan query buffer untuk operasi matematika yang mempunyai hasil akhir koma, kita harus memasukkan (:: float). Sedangkan dalam MySQL kita tidak perlu menuliskan tipe data, dan hasil operasi langsung menunjukkan hasil akhir dengan koma.

E. Kesimpulan
                Database merupakan proses penyimpanan beragam informasi untuk diolah sedemikian rupa agar mudah untuk dipergunakan kembali.
                Suatu software basis data merupakan software yang digunakan untuk menyimpan dan memungkinkan data yang telah disimpan untuk diakses dengan perintah-perintah tertentu. Software basis data sering dikenal dengan sebutan DBMS (Database Management System).
                PostgreSQL merupakan Sebuah Obyek-Relasional Data Base Management System (ORDBMS) yang dikembangkan oleh Berkeley Computer Science Department. PostgreSQL juga menawarkan tambahan-tambahan yang cukup signifikan yaitu class, inheritance, type, dan function. Tambahan keistimewaan lain yang tidak dimiliki database management system yang lain berupa constraint, triggers, rule, dan transaction integrity, dengan adanya keistimewaan tersebut maka para pemakai dapat dengan mudah mengimplementasikan dan menyampaikan sistem ini.

F. Kritik
                Penulis tidak menerangkan adakah perbedaan query antara postgreSQL dan MySQL. Ini cukup membingungkan pembaca pemula. Karena sebenarnya ada beberapa query yang berbeda cara penulisannya. Penulis juga belu menjelaskan secara lengkap tentang operasi apa saja yang bisa dilakukan di PostgreSQL.

G. Saran
                Diharapkan kepada menulis untuk lebih menjelaskan proses apa saja yang bisa dilakukan dalam PostgreSQL serta menjelaskan adakah perbedaan antara query di postgreSQL dan di MySQL.

I. Manfaat
1.       Pembaca dapat mengetahui bagaimana langkah-langkah menginstall postgres di PC masing-masing.
2.       Pembaca memahami pengertian basis data secara umum dan peranannya.
3.       Pembaca mengetahui kegunaan software PostgreSQL serta kemungkinan penggunaannya.