PENGENALAN DAN INSTALASI PostgreSQL
A.
Landasan Teori
- 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.
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
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.
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.
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.
MySQL memiliki arsitektur multithreading,
sementara PostgreSQL multiproses (forking).
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 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.
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.
Keduanya sudah bisa dibilang cukup hingga amat
stabil
MySQL terkenal kaya fungsi built-in, seperti
modifikasi string (REPLACE, RIGHT, LTRIM, LCASE), matematika (LOG, LOG10),
tanggal, dsb. Dalam hal ini MySQL lebih unggul.
Keduanya sudah amat solid
MySQL mendukung indeks full text secara natif.
PostgreSQL mendukung full text searching lewat program lain.
Keduanya sudah memiliki replikasi, meski
replikasi di MySQL barulah satu arah. Replikasi di PostgreSQL sendiri belum
disertakan dalam distribusi standarnya
Kedua database menyimpan informasi user di
sebuah database khusus. Sistem perizinan MySQL lebih mendetil daripada
PostgreSQL. Untuk masalah enkripsi koneksi, keduanya mendukung SSL.
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.
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


























Tidak ada komentar:
Posting Komentar