Oke, langsung saja, sekarang saya pengen menjelaskan tentang Basis Data.
Basis Data adalah kumpulan informasi yang disimpan dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memeperoleh suatu informasi dari basis data tersebut. Untuk lebih jelasnya lihat contoh database :
ya, walaupun nggak ngerti secara teori yang penting udah ada bayangan lah :D
Contoh yang lebih umum lagi yag udah biasa kita kenal misalnya buku telepon, buku alamat, katalog perpus, daftar nama barisan para mantan. etc.
Pada sebuah database ada berbagai elemen yang saling berhubungan sehingga membentuk sebuah relasi dan saling berhubungan antara yang satu dengan yang lainnya. Ada setidaknya 3 elemen dasar pada sebuah database yang kita kenal.
- File / Entity; Objek tempat data atau record di simpan
- Record; Merupakan setiap baris data yang ada pada entity
- Field / Atribute; bagian dari record seperti kolom.
Entititas
Entititas adalah orang, tempat, kejadian atau konsep yang informasinya direkam.
Pada bidang kesehatan Entity adalah Pasien, Dokter, Kamar.
Field
Setiap entity mempunyai atribut atau sebutan untuk mewakili suatu entity. Seorang
siswa dapat dilihat dari atributnya misalnya, NIM, Nama_siswa, Alamat.
Record
Record adalah kumpulan isi elemen data (atribut) yang saling berhubungan
menginformasikan tentang suatu entity secara lengkap.
Jadi Data Base Management System (DBMS) : Seluruh peralatan computer (Hardware+Software+Firmware). Data Base Management System (DBMS) dilengkapi dengan bhs yang bertujuan pada data (High level data language) yang kerap dimaksud juga untuk bhs generasi ke 4 (fourth generation language).
Fungsu Data Base Management System (DBMS)
- Data Definition, Data Base Management System (DBMS) mesti bisa memproses pendefinisian data
- Data Manipulation, Data Base Management System (DBMS) mesti bisa mengatasi keinginan dari pengguna untuk terhubung data
- Data Security & Integrity, Data Base Management System (DBMS) mesti dapatmemeriksa security serta integrity data yang didefinisikan oleh DBA
- Data Recovery & Concurency, Data Base Management System (DBMS) mesti bisa mengatasi kegagalan–kegagalan pengaksesan database yang bisa dikarenakan oleh sesalahan system, rusaknya disk, dsb.
- Data Dictionary, Data Base Management System (DBMS) mesti sediakan data dictionary.
- Performance, Data Base Management System (DBMS) mesti mengatasi unjuk kerja dari seluruh manfaat seefisien barangkali.
Peralatan untuk mengambil keputusan/memastikan pendekatan database dimaksud DBMS.
Data Base Management System (DBMS) adalah software (serta hardware) yang kusus didesain membuat perlindungan serta memanage database.
Well, then... dari tadi kita udah ngomongin database, tapi belum ngomongin apa sih fungsinya database, penting nggak sih? ngapain kita belajar database?
sekarag kalian pernah nggak pesen tiket kereta api online, nyari buku di komputer pencari buku di gramedia, beli pulsa listrik. Itulah gampangngannya fungsi database itu buat nyimpen data - data yang kalian butuhkan. Sewaktu - waktu bisa kalian ambil, ubah atau dihapus sesuai kebutuhan. Fungsi yang simple tapi gokil bukan? :D oke sekarang fungsi yang lebih spesifiknya :
- Mengelompokkan data, database bertujuan untuk mengelompokkan data agar mudah dipahami. Contoh dalam sebuah sistem perpustakaan, ada kelompok data buku, penerbit, transaksi peminjaman, dan mahasiswa.
- Menghindari terjadinya duplikasi atau inkonsistensi data.
- Memudahkan dalam menyimpan, mengakses, dan memperbaruhi, serta menghapus data.
- Menjamin kualitas data dan informasi yang diakses sesuai dengan yang dimasukkan (Integritas data)
- Menjadi solusi dalam proses penyimpanan sebuah data, terutama data yang besar.
- Menunjang kinerja aplikasi yang membutuhkan sebuah penyimpanan data.
2. POSTGRESQL
Oke, selanjutnya saya mau bahas PostgreSQL. adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut Perjanjian lisensi BSD. Piranti lunak ini merupakan salah satu basis data yang paling banyak digunakan saat ini, selain MySQL dan Oracle. PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data. Fitur-fitur yang disediakan PostgreSQL antara lain DB Mirror, PGPool, Slony, PGCluster, dan lain-lain.
Lets Check It Out...
untuk softwarenya bisa di download di ... (nyari sendiri di google)
udah di download sekarang diinstal, ya buat yang udah sering / pengalaman nginstall software atau game pastinya nggak akan menemui kesulitan, untuk lebih jelasnya scroll ke bawah dong mousenya.
Abis di-download ekstrak file postgresql-9.0.4-1-windows.rar hingga berubah ke dalam bentuk .exe terus klik ganda file tersebut. Kemudian akan tampilkan hlaman awal instalasi postgresql seperti yang ditunjukan pada gambar di bawah ini.
- Tampilan awal proses instalasi PostgreSQL. Kemudian klik tombol Next.Pilih direktori tempat
penginstalan, biarkan saja defaultnya atau ganti sesuai keinginan anda. Kemudian klik tombol Next. - Pilih direktori tempat penyimpanan data, tetapi saya sarankan agar tidak merubahnya dan melih secara default saja. Kemudian tekan tombol Next.
- Kemudikan isikan password yang akan digunakan untuk koneksi ke database PostgreSQL setelah proses instalasi selesai. Misalnya kita masukan password “root”.
- pada jendela setup port biarkan saja secara default yaitu “5432”. Kemudian klik tombol next
- Dijendela setup advance options biarkan saja secara default seperti yang terlihat dalam gambar. Kemudian klik tombol next.
- Pada jendela setup ready to install klik tombol next. Kemudian akan muncul jendela yang menunjukan proses instalasi sedang berlangsung, tunggu beberapa saat hingga peoses instalasi selesai.
- Proses instalasi selesai. Uncheck kotak Launch Stack Builder, sebab jika diberi tanda check maka proses instalasi akan dilanjutkan dengan mendownload beberapa program pendukung seperti pendukung koneksi dengan basis data, dan sebagainya: kemudian klik tombol Finish.
- Untuk menjalankan PostgreSQL, lewat menu Start klik all program trus cari PostgreSQL 9.0. Lalu klik pgAdmin III. Kemudian akan jendela kerja PostgreSQL seperti pada gambar dibawah ini.
- Untuk menjalankan PostgreSQL, lewat menu Start klik all program trus cari PostgreSQL 9.0. Lalu klik pgAdmin III. Kemudian akan jendela kerja PostgreSQL seperti pada gambar dibawah ini.
Cara penggunaan PostgreSQL seperti pembuatan basis data, pembuatan tabel, pengaturan primary key dan foreign key, serta cara mengisi data ke dalam tabel dibahas pada tutorial “Membuat Database dan Tabel di PostgreSQL“.
Jika ada trouble saat memberikan password, bisa dicoba trick berikut :
- Jika sudah pernah melakukan instalasi Postgres, maka pastikan bahwa pada saat intalasi yang kedua kali dan seterusnya menggunakan password yang sama.
- Biasanya, pada saat instalasi Postgres akan membuat account baru untuk Windows 7 dengan nama account Postgres. Pastikan bahwa password Windows account untuk Postgres sama dengan password saat instalasi Postgres.
- Jika biasanya untuk masuk ke Windows 7 Anda tidak menggunakan password, maka sebaiknya buatlah sebuah account baru sebagai Admin, sehingga trik no 2 di atas dapat kerjakan.
3. HASIL PRAKTIKUM (POSTGRESQL)
Ctype | Access privileges
-----------------+----------+----------+----------------------------+-----------
-----------------+-----------------------
Coba | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
alfan10650046 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
muzakki13650026 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
ismail13650047 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
postgres | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
template0 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 | =c/postgres +
| | | |
| postgres=CTc/postgres
template1 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 | =c/postgres +
| | | |
| postgres=CTc/postgres
(7 rows)
postgres=# create database contoh1
postgres-# create database contoh1;
ERROR: syntax error at or near "create"
LINE 2: create database contoh1;
^
postgres=# CREATE DATABASE contoh1;
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate |
Ctype | Access privileges
-----------------+----------+----------+----------------------------+-----------
-----------------+-----------------------
Coba | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
alfan10650046 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
contoh1 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
muzakki13650026 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
ismail13650047 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
postgres | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
template0 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 | =c/postgres +
| | | |
| postgres=CTc/postgres
template1 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 | =c/postgres +
| | | |
| postgres=CTc/postgres
(8 rows)
postgres=# drop contoh1;
ERROR: syntax error at or near "contoh1"
LINE 1: drop contoh1;
^
postgres=# drop database contoh1;
DROP DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate |
Ctype | Access privileges
-----------------+----------+----------+----------------------------+-----------
-----------------+-----------------------
Coba | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
alfan10650046 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
muzakki13650026 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
ismail13650047 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
postgres | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 |
template0 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 | =c/postgres +
| | | |
| postgres=CTc/postgres
template1 | postgres | UTF8 | English_United States.1252 | English_Un
ited States.1252 | =c/postgres +
| | | |
| postgres=CTc/postgres
(7 rows)
postgres=# \c muzakki13650026;
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
You are now connected to database "muzakki13650026" as user "postgres".
muzakki13650026=# select
muzakki13650026-# 9-5+5*0+3:2
muzakki13650026-# ;
ERROR: syntax error at or near ":"
LINE 2: 9-5+5*0+3:2
^
muzakki13650026=# \r
Query buffer reset (cleared).
muzakki13650026=# 9-5+5*0+3:2;
ERROR: syntax error at or near "9"
LINE 1: 9-5+5*0+3:2;
^
muzakki13650026=# \r
Query buffer reset (cleared).
muzakki13650026=# 9-5+5*0+3/2;
ERROR: syntax error at or near "9"
LINE 1: 9-5+5*0+3/2;
^
muzakki13650026=# \r
Query buffer reset (cleared).
muzakki13650026=# 9-5+5*0+3/2
muzakki13650026-# ;
ERROR: syntax error at or near "9"
LINE 1: 9-5+5*0+3/2
^
muzakki13650026=# \r
Query buffer reset (cleared).
muzakki13650026=# select
muzakki13650026-# 9-5+5*0+3/2
muzakki13650026-# ;
?column?
----------
5
(1 row)
muzakki13650026=# select
muzakki13650026-# 5%2
muzakki13650026-# ;
?column?
----------
1
(1 row)
muzakki13650026=# select current_date;
date
------------
2014-09-17
(1 row)
muzakki13650026=# select current_time;
timetz
-----------------
03:54:32.203+07
(1 row)
muzakki13650026=# select
muzakki13650026-# select current_date-1995-08-15;
ERROR: syntax error at or near "select"
LINE 2: select current_date-1995-08-15;
^
muzakki13650026=# select current_date;
date
------------
2014-09-17
(1 row)
muzakki13650026=# ;select
muzakki13650026-# select current_date;
ERROR: syntax error at or near "select"
LINE 2: select current_date;
^
muzakki13650026=# select
muzakki13650026-# select current_date
muzakki13650026-# -1995-08-15
muzakki13650026-# ;
ERROR: syntax error at or near "select"
LINE 2: select current_date
^
muzakki13650026=# \p
select
select current_date
-1995-08-15
;
muzakki13650026=# select
muzakki13650026-# select round(5/2::float);
ERROR: syntax error at or near "select"
LINE 2: select round(5/2::float);
^
muzakki13650026=# select round(5/2::float);
round
-------
3
(1 row)
muzakki13650026=# select round(9-5+5*0+3/2::float);
round
-------
6
(1 row)
muzakki13650026=# setcurrent_time
muzakki13650026-# setcurrent_tim;e
ERROR: syntax error at or near "setcurrent_time"
LINE 1: setcurrent_time
^
muzakki13650026-# set current_tim;e
ERROR: syntax error at or near "e"
LINE 1: e
^
muzakki13650026-# set current_tiem;
ERROR: syntax error at or near "e"
LINE 1: e
^
muzakki13650026=# set current_time;
ERROR: syntax error at or near "current_time"
LINE 1: set current_time;
^
muzakki13650026=# setcurrent_time;
ERROR: syntax error at or near "setcurrent_time"
LINE 1: setcurrent_time;
^
muzakki13650026=# select current_time;
timetz
-----------------
04:02:58.703+07
(1 row)
muzakki13650026=# select current_date;
date
------------
2014-09-17
(1 row)
muzakki13650026=# select current_time;
timetz
----------------
04:03:14.75+07
(1 row)
muzakki13650026=# select extract(day from now()-cast('1995-08-15'as"timestamp"))
muzakki13650026-# select extract(day from now()-cast('1995-08-15'as"timestamp"))
muzakki13650026-# ;
ERROR: syntax error at or near "select"
LINE 2: select extract(day from now()-cast('1995-08-15'as"timestamp"...
^
muzakki13650026=# select extract(day from now(current time_stamp)-cast('1995-08-
15'as"timestamp"))
muzakki13650026-# ;
ERROR: syntax error at or near "time_stamp"
LINE 1: select extract(day from now(current time_stamp)-cast('1995-0...
^
muzakki13650026=# select ex tract(day from now(current time_stamp)-cast('1995-08
-15'as"timestamp"))
muzakki13650026-# ;
ERROR: syntax error at or near "("
LINE 1: select ex tract(day from now(current time_stamp)-cast('1995-...
^
muzakki13650026=# select extract(day from now(current time_stamp)-cast('1995-08-
15'as"timestamp"))
muzakki13650026-# ;
ERROR: syntax error at or near "time_stamp"
LINE 1: select extract(day from now(current time_stamp)-cast('1995-0...
^
muzakki13650026=# select extract(day from now()-cast('1995-08-15'as"timestamp"))
muzakki13650026-# ;
date_part
-----------
6973
(1 row)
muzakki13650026=# select round(5/2::float);
round
-------
3
(1 row)
muzakki13650026=# select extract(minute from now()-cast('1995-08-15'as"timestamp
"))
muzakki13650026-# ;
date_part
-----------
14
(1 row)
muzakki13650026=# select extract(minute from now()-cast('1995-08-15'as"timestamp
4. MYSQL VS POSTGRE
Kalian pernah nonton Barca vs Real Madrid? ya itu namanya el clasico itu pertandingan seru banget, pastinya itu nggak ada hubungannya sama postgre & mySQL :D . serius banget sih?
Oke, langsung aja, sebenernya maksud saya ngomongin el clasico tadi, mau ngebahas perandingan antara MySQL dan Postgre. Check it out...
Perbandingan
|
Mysql
|
Postgresql
|
Tujuan Desain
|
berkembang dari solusi yang dipakai oleh pembuatnya, TcX
AB, dalam memroses data untuk aplikasi Web. Fokusnya adalah pada kecepatan
|
berkembang dari riset akademik. Fokus pengembangan
PostgreSQL adalah pada fitur OO, reliabilitas, dan dukungan SQL yang mantap
|
Pengembangan
|
diatur secara sentral oleh perusahaan komersial di Swedia
bernama MySQL AB (sebelumnya TcX AB)
|
dikembangkan secara lebih terdesentralisasi dan merakyat,
namun tetap diatur oleh sebuah kelompok online bernama PostgreSQL Development
Group
|
Arsitektur dan Portabilitas
|
memiliki arsitektur multithreading
|
memiliki arsitektur multiproses (forking)
|
Lisensi
|
lisensi di bawah GPL, tidak boleh dimodifikasi
menghasilkan produk turunan yang closed-source
|
Lisensi PostgreSQL lebih liberal
|
Kecepatan
|
(Relatif), terkenal cepat dalam melakukan query sederhana.
Dengan kata lain, dapat memproses lebih banyak SQL per satuan waktu. Tapi
dalam kondisi load tinggi (jumlah koneksi simultan besar)
|
(Relatif),namun sudah mencukupi
kecepatan umum
|
Fungsi Built-In
|
Kaya fungsi built-in, seperti modifikasi string (REPLACE, RIGHT,LTRIM, LCASE),
matematika (LOG, LOG10), tanggal,
dsb. Dalam hal ini MySQL lebih unggul
|
Memiliki fungsi built-in tetapi
tidak sebanyak Mysql
|
Tipe Data
|
sudah mendukung semua tipe data umum
|
PostgreSQL lebih kaya dalam hal tipe data (terutama yang
domain-specific seperti tipe data geometris dan MONEY)
|
Fitur OO dan
SQL
|
MySQL pun tidak memiliki fitur OO seperti pewarisan tabel
dan tipe data, atau tipe data array
|
Postgresql memiliki lebih banyak fitur jika dibandingkan
dengan Mysql
|
Fitur Unik
|
memiliki arsitektur yang memungkinkan sebuah database
terdiri dari beberapa jenis tabel, MySQL mendukung protokol terkompresi
yang bisa menghemat bandwidth dan mengurangi latensi
|
memiliki tipe data array, pewarisan tabel dan tipe data,
serta sistem rule. PostgreSQL memiliki tipe-tipe data “antik.” Di PostgreSQL
Anda dapat menulis stored procedure (atau procedural language, istilah di
PostgreSQL) dalam beberapa bahasa: PL/Perl, PL/Tcl, atau PL/PgSQL. PostgreSQL
mendukung set/himpunan
|
So, the conclusion is...
Database merupakan kumpulan data yang saling berhubungan. Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel yang ada. salah satu hal yang harus dipikirkan apakah kita membuat aplikasi web yang dibutuhkan adalah kecepatan. maka mysql adalah yang terbaik karena memilki kecepatan dan kompatibel dengan banyak web based development. namun jika membutuhkan foreign key dan transaction postgresql lebih baik dalamhalini. Sebenarnya jika dilhat dari tabel fitur postgresql menawakan fitur yang lebih daripada mysql. Namun postgreql lebih jarang digunakan pada aplikasi web. ada pandangan bahwa fitur tersebut memperlambat performa postgresql sehingga tidak cocok untuk web.
Jadi dua - duanya memilki kelemahan dan kekuatan masing-masing. Bahkan jika dibandingkan lebih cermat tidak ada yang saling melebihi, karena keduanya memilki porsinya masing-masing dalam dunia database, bahkan kedua database ini dapat digunakan untuk suatu sistem misalnya untuk GIS pada web, kita dapat menyimpan data GIS pada postgresql dan menggunakan pula mysql sebagai buffer untuk mempercepat akses basis data melalui web. Namun kalo menurut saya pribadi, baik MySQL ataupun PostgreSQL sama saja karena saya belum menguasai keduanya. :D
4. TUGAS ERD
Sekarang saatnya saya menjelaskan tentang apa itu ERD.ERD (Entity Relationship Diagram) adalah merupakan salah satu model yang digunakan untuk mendesain database dengan tujuan menggambarkan data yang berelasi pada sebuah database. Umumnya setelah perancangan ERD selesai berikutnya adalah mendesain database secara fisik yaitu pembuatan tabel, index dengan tetap mempertimbangkan performance. Kemudian setelah database selesai dilanjutkan dengan merancang aplikasi yang melibatkan database. Komponen penyusun ERD adalah sebagai berikut :
Entitas adalah objek dalam dunia nyata yang dapat dibedakan dengan objek lain, sebagai contoh mahasiswa,dosen,departemen. Entitias terdiri atas beberapa atribut sebagai contoh atribut dari entitas mahasiswa adalah nim,nama,alamat,email, dll. Atribut nim merupakan unik untuk mengidentifikasikan / membedakan mahasiswa yg satu dengan yg lainnya. Pada setiap entitas harus memiliki 1 atribut unik atau yang disebut dengan primary key.
Relasi adalah hubungan antara beberapa entitas. sebagai contoh relasi antar mahaiswa dengan mata kuliah dimana setiap mahasiswa bisa mengambil beberapa mata kuliah dan setiap mata kuliah bisa diambil oleh lebih dari 1 mahasiswa. relasi tersebut memiliki hubungan banyak ke banyak. Berikut adalah contoh ERD.
Kardinalitas menyatakan jumlah himpunan relasi antar entitias. pemetaan kardiniliat terdiri dari
- one-to-one :sebuah entitas pada A berhubungan dengan entitas B paling banyak 1contoh diatas relasi pegawai dan departemen dimana setiap pegawai hanya bekerja pada 1 departemen
- one-to-many : sebuah entitas pada A berhubungan dengan entitas B lebih dari satu contoh diatas adalah 1 depertemen memiliki banyak pegawai
- many-to-many : sebuah entitas pada A berhubungan dengan entitas B lebih dari satu dan B berhubungan dengan A lebih dari satu jugan contoh diatas adalah relasi mahasiswa dengan mata kuliah.
Berikut adalah metode/tahap untuk membuat ERD :
- Menentukan Entitas
- Menentukan Relasi
- Menggambar ERD sementara
- Mengisi Kardinalitas
- Menentukan Kunci Utama
- Menggambar ERD berdasar Key
- Menentukan Atribut
- Memetakan Atribut
- Menggambar ERD dengan Atribut
4. DAFTAR CONTEKAN
http://klmpk10id101k.blogspot.com/2012/10/perbandingan-database-mysql-dan.html
http://kumpulanmateripenting.blogspot.com/2013/04/pengertian-dan-konsep-sistem-basis-data.htmlhttp://blogging.co.id/fungsi-database
http://informatika.web.id/pengertian-basis-data.htm
http://sharingk.com/berita-160-instalasi-postgresql-di-windows.html
0 komentar:
Posting Komentar