Event

Event
My vacation with my friends FBI

Senin, 22 September 2014

PRAKTIKUM DESAIN BASIS DATA I PENGENALAN DAN INSTALASI POSTGRESQL




PENGENALAN DAN INSTALASI PostgreSQL
A. Landasan Teori
  1.   Pengertian Database
         Database didefinisikan sebagai kumpulan data yang terintegrasi dan diatur sedemikian rupa sehingga data tersebut dapat dimanipulasi, diambil, dan dicari secara cepat. Selain berisi data, database juga berisi metadata. Metadata adalah data yang menjelaskan tentang struktur dari data itu sendiri. Database memiliki beberapa model diantaranya model relasional. Dalam model relasional tabel-tabel yang terdapat dalam suatu database idealnya harus saling berelasi.

Ø  Tabel
         Data dalam database akan diklasifikasikan berdasarkan jenisnya dan disimpan dalam wadah tersendiri yang disebut tabel. Oleh karena itu banyak yang mendefinisikan bahwa database adalah kumpulan tabel. Tabel sendiri adalah entitas yang tersusun atas kolom dan baris. Dalam dunia database , kolom disebut field dan baris disebut record.
Ø  Constraint
         Constraint adalah suatu aturan atau batasan yang mendefinisikan nilai atau data yang dapat disimpan di dalam database, baik melalui INSERT, UPDATE, maupun DELETE. Dalam SQL standart ANSI, constraint dibagi menjadi empat yaitu : Primary Key, Foreign Key, Unique, Check.
o   Primary Key ==> suatu aturann yang berguna untuk memastikan bahwa setiap baris data dalam suatu tabel bersifat unik.
o   Foreign Key ==> berguna untuk mendefinisikan kolom-kolom pada suatu tabel yang nilainya mengacu ke tabel yang lain.
o   Unique ==> Fungsi unique pada dasarnya sama seperti primary key, yaitu untuk memastikan bahwa setiap baris data yang terdapat dalam suatu tabel bersifat unik (tidak sama).
o   Check ==> Jenis constraint ini berfungsi untuk membatasi nilai-nilai yang dapat dimasukkan kedalam suatu kolom di dalam tabel.
Ø  Indeks
         Indeks adalah suatu objek database yang berfungsi untuk mempercepat proses pengambilan , pengurutan maupun pencarian data pada suatu tabel di dalam database. Data pada tabel yang sudah diindeks akan diurutkan berdasarkan kolom indeks.

2.   Tentang PostgreSQL
        PostgreSQL menawarkan tambahan-tambahan yang cukup yaitu class, inheritance, type, dan function. PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data. Fitur-fitur yang disediakan postgreSQL antara lain DB Mirror, PGPool, Slony, PGCluster. dan lain-lain.
3.   Database Management System (DBMS)
         Database berbeda dengan Database Management System (DBMS). DBMS adalah kumpulan program yang digunakan untuk mendefinisikan , mengatur , dan memproses database, sedangkan database itu sendiri esensinya adalah sebuah struktur yang dibangun untuk keperluan penyimpanan data.
4.    Tentang MySQL
         MySQL merupakan software RDBMS (atau server database) yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat diakses oleh banyak user (multi-user) dan dapat melakukan suatu proses secara sinkron atau berbarengan (multi-threaded).
B. Tujuan
1.      Mahasiswa mampu memahami pengertian basis data secara umum dan peranannya.
2.      Mahasiswa memahami kegunaan software PostgreSQL serta kemungkinan penggunaannnya.
3.      Mahasiswa memahami berbagai software yang bisa digunakan untuk mengakses database PostgreSQL
4.      Mahasiswa memahami cara mengkonfigurasi basis data PostgreSQL.
5.      Mahasiswa memahami cara membuat dan memanajemen database baik dengan querymaupun GUI.


C. Hasil Praktikum

  •   Melalui psql , perlu adanya login terlebih dahulu

1.      Berikut ini tampilan awal psql. Tekan "Enter" jika servernya "localhost


2.      Tekan"enter" jika muncul "database [postgres] :"
3.      Tekan "enter" jika nomor portnya 5432.
4.      Tekan 'Enter' dengan mengisi username-nya 'postgres' lalu tekan enter.

  

    5. Isikan password sesuai dengan password saat instalasi 


6.  Buat user baru dengan user nama depan mahasiswa pribadi mahasiswa dan password menggunakan nim masing-masing
      create user haeny with createdb password '13650054';
kemudian untuk melihat user tersebut, penggunakan query "\du".

           
7.    Buat 2 database dengan menggunakan :namaNIM.
      create databse muslihaeny13650054;
kemudian untuk mengkoneksikan ke database gunakan "\c"
 
8.   Buat database yang kedua dengan nama "contoh_1"
          
                kemudian cek apakah database sudah "contoh_1" sudah apa belum dengan "\l"
              
9.   Drop database "contoh_1" dengan query
      drop database contoh_1;

10.  Hitung matematika berikut dengan menggunakan query buffer.
      9-5+5*0+3:2 =..? dengan query  select 9-5+5*0+3/2 : : float;



11.  Hitung matematika dengan menggunakan query buffer.
5%2=..? dengan query select 5%2;


12.  Menampilakan tanggal sekarang.






13.  Menampilkan jam sekarang.


14. Menampilakan selisih hari dalam pengurangan waktu sekarang dengan waktu lahir mahasiswa.



  •   Melalui SQL shell
                  1. Tulis mysql -u root dalam login pertama kali
                    
 
1                        2.   Buat user dengan menggunakan nama depan pribadi dengan password nim.

              kemudian untuk melihat user tekan "select user, password from mysql.user;"

         3.  Buat Buat 2 database dengan menggunakan  : namaNIM.

          4.  Buat database yang kedua dengan nama database "contoh_1" yang query nya
              create database contoh_1;
          5.  Hapus database dengan nama "contoh_1" dengan query
              drop database contoh_1;
          6.   Hitung matematika berikut dengan menggunakan query buffer.
          9-5+5*0+3:2 =..? dengan query  select 9-5+5*0+3/2;

      7.   Hitung matematika dengan menggunakan query buffer.
                               5%2=..? dengan query select 5%2;

                        8.   Menampilkan tanggal sekarang





                         9.   Menampilkan jam sekarang 

       10. Menampilakan selisih hari dalam pengurangan waktu sekarang dengan waktu lahir mahasiswa.





D.  Pebandingan Antara MySQL dan PostgreSQL
    I.            Perbandingan Pembuatan
a)      Membuat user
- Mysql create user heny identified by  '13650054';
- Postgresql create user heny with createdb password '13650054';
b)      Membuat database
- Mysql create database muslihaeny13650054;
- Postgresql create database muslihaeny13650054;
c)      Melihat database
- Mysql show databases;
- Postgresql \l
d)     Melihat User
- Mysql select user, password from mysql.user;
- Postgresql \du
e)      Menghapus database
- Mysql drop database contoh_1;
- Postgresql drop database contoh_1;
f)       Menghitung nilai Matematika 9-5+5*0+3:2
      - Mysql select 9-5+5*0+3/2;
      - Postgresql select 9-5+5*0+3/2 :: float;
g)      Menghitung nilai Matematika 5%2
- Mysql select 5%2;
- Postgresql select 5%2;
h)      Membuat tanggal sekarang
- Mysql select current_date;
- Postgresql select current_date;
i)        Membuat waktu sekarang
- Mysql select current_time;
- Postgresql select current_time;
j)        Menghitung selisih hari dalam pengurangan waktu sekarang dengan waktu lahir mahasiswa.
- Mysql select to_days(now())-to_days ('1995-08-13');
- Postgresql select (cast('2014-09-18'as"timestamp"))-(cast('1995-08-13'as"timestamp"));
 II.            Perbandingan Kemudahan, Kelebihan
Dibandingkan dengan PostgreSQL  menurut dari query lebih mudah menggunakan MySQL. Perbedaan MySQL dengan PostgresSQL adalah kemampuannya, kecepatannya. Untuk kecepatan MySQL lebih cepat tetapi untuk kemampuan PostgreSQL lebih lengkap dan canggih karena memiliki kemampuan menangani transaksi atomic database.
Perbandingan di artikel ini sendiri menggunakan versi MySQL 3.23.49/4.0.1 dan PostgreSQL 7.2.
Tujuan Desain
Dari semula latar belakang dikembangkannya kedua database ini sudah berbeda. MySQL berkembang dari solusi yang dipakai oleh pembuatnya, TcX AB, dalam memproses data untuk aplikasi Web. Fokusnya adalah pada kecepatan. PostgreSQL, di lain pihak, berkembang dari riset akademik

Pengembangan
Pengembangan MySQL diatur secara sentral oleh perusahaan komersial di Swedia bernama MySQL AB (sebelumnya TcX AB. PostgreSQL dikembangkan secara lebih terdesentralisasi dan merakyat, namun tetap diatur oleh sebuah kelompok online bernama PostgreSQL Development Group. MySQL dirilis dalam satuan yang lebih sering (sebulan bisa lebih dari satu kali), sementara PostgreSQL sekitar 4–6 bulan sekali.
Jumlah Pengguna
Menurut MySQL AB, saat ini jumlah instalasi MySQL sekitar 3 juta. PostgreSQL sendiri tidak diketahui pasti berapa jumlah penggunanya; kemungkinan masih berada di bawah MySQL karena banyaknya situs Web dan perusahaan webhosting yang hanya menggunakan MySQL. 
Arsitektur dan Portabilitas
MySQL memiliki arsitektur multithreading, sementara PostgreSQL multiproses (forking). 
ACID compliance
Sampai sekarang masih banyak yang bilang MySQL itu tidak ACID-compliant. Padahal sejak 2 tahun lalu MySQL sudah mempunyai handler tabel BerkeleyDB, dan belakangan ini InnoDB, sehingga MySQL sudah mendukung transaksi. Handler tabel MySQL yang lama, ISAM dan MyISAM, tidak ACID-compliant. PostgreSQL sendiri sejak lama telah ACID-compliant.
Lisensi
Lisensi PostgreSQL lebih liberal. Inilah sebabnya ada banyak produk closed-source dan komersial yang bisa dikembangkan dari source code PostgreSQL. MySQL, karena dilisensi di bawah GPL, tidak boleh dimodifikasi menghasilkan produk turunan yang closed-source.
Kecepatan
Pada dasarnya perbandingan kecepatan keduanya seperti ini: MySQL terkenal cepat dalam melakukan query sederhana. Dengan kata Tapi dalam kondisi load tinggi (jumlah koneksi simultan besar), PostgreSQL sering mengalahkan MySQL untuk query dengan klausa JOIN yang kompleks. 
Stabilitas
Keduanya sudah bisa dibilang cukup hingga amat stabil
Fungsi Built-In
MySQL terkenal kaya fungsi built-in, seperti modifikasi string (REPLACE, RIGHT, LTRIM, LCASE), matematika (LOG, LOG10), tanggal, dsb. Dalam hal ini MySQL lebih unggul.
Interface
Keduanya sudah amat solid
Full Text Indexing
MySQL mendukung indeks full text secara natif. PostgreSQL mendukung full text searching lewat program lain. 
Replikasi
Keduanya sudah memiliki replikasi, meski replikasi di MySQL barulah satu arah. Replikasi di PostgreSQL sendiri belum disertakan dalam distribusi standarnya 
Manajemen User dan Keamanan
Kedua database menyimpan informasi user di sebuah database khusus. Sistem perizinan MySQL lebih mendetil daripada PostgreSQL. Untuk masalah enkripsi koneksi, keduanya mendukung SSL. 
Tipe Data
PostgreSQL lebih kaya dalam hal tipe data (terutama yang domain-specific seperti tipe data geometris dan MONEY), tapi MySQL sudah mendukung semua tipe data umum.
Modifikasi Tabel
MySQL lebih fleksibel dalam ALTER TABLE. PostgreSQL sendiri terbatas hanya bisa melakukan penambahan kolom, penggantian nama kolom, dan penggantian nama tabel. MySQL mendukung penambahan/penghapusan kolom, penggantian definisi kolom, dsb.
E.   Rancangan Sistem Penyewaan Buku
              RELASI

           ERD 





Tujuan Sistem Penyewaan Buku
            Untuk mahasiswa sebagai sarana mendapat pengalaman dan untuk mengubah wawasan yang didapatkan selama masa pendidikan yang dapat diterapkan dalam dunia kerja. Dalam ranah kehidupan buku adalah sumber pengetahuan yang tak terbatas. Ilmu-ilmu yang terkandung dalam buku-buku tersebut sangat bermanfaat. Sehingga dibangunlah sistem pengembang Penyewaan Buku .
            Database Tersebut mempunyai 5 tabel :
a.       administrasi (entitas)
o   id_admin (atribut)
o   nama (atribut)
o   alamat (atribut)
o   no_telp (atribut)
b.      pendaftaran (relasi)
o   id_daftar (atribut)
o   id_admin (atribut)
o   nama_pendaftar (atribut)
o   tgl_daftar (atribut)
o   id_anggota (atribut)
c.       anggota (entitas)
o   nama_anggota (atribut)
o   id_anggota (atribut)
o   alamat (atribut)
o   no_telp (atribut)
d.      peminjaman (relasi)
o   id_buku (atribut)
o   id_pinjam (atribut)
o   id_anggota (atribut)
o   jumlah (atribut)
o   kode (atribut)
e.       daftar buku
o   judul_buku (atribut)
o   id_buku (atribut)
o   pengarang (atribut)
o   penerbit (atribut)
1.      administrasi----mendaftar----anggota (n-to-1)
2.      anggota----meminjam----daftar buku (m-to-n)
F.   Kesimpulan
         Database didefinisikan sebagai kumpulan data yang terintegrasi dan diatur sedemikian rupa sehingga data tersebut dapat dimanipulasi, diambil, dan dicari secara cepat. Selain berisi data, database juga berisi metadata. PostgreSQL menawarkan tambahan-tambahan yang cukup yaitu class, inheritance, type, dan function. MySQL merupakan software RDBMS (atau server database) yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat diakses oleh banyak user (multi-user) dan dapat melakukan suatu proses secara sinkron atau berbarengan (multi-threaded).
                                      i.            Saran
- Perlunya penambahan waktu dalam pengerjaan laporan karena ada penambahan tugas laporan.
                                    ii.            Kritik
- Kurang sependapat jika laporan diposting di blog, karena banyak hal kecurangan terjadi, misalnya copy paste dll.
- Koneksi yang jarang tersambung.
G.    Daftar Pustaka
1.      Raharjo, Budi.Membuat Database Menggunakan MySQL.Infromatika :Bandung.2011
2.      www.innodb.com/bench.html
    Kline, Kevin E.,SQL in a NUTSHELL, 2 nd Edition, O'Reilly,2004.












Tidak ada komentar:

Posting Komentar

© Copyright 2010 My Esperienza Blog
Welcome to My Esperienza Blog