Copyright © My Blog
Design by Dzignine
Sabtu, 27 September 2014

Tugas Praktikum DBD Modul 2

LAPORAN PRAKTIKUM
DESAIN BASIS DATA


Dosen Pengampu: Aziz Musthofa, S.Kom
 logoUIN
Oleh :
Badruz Zamanil Charis
13650120

JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN MAULANA MALIK IBRAHIM MALANG
2014

MATERI MYSQL PAPT 2

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.


    Perintah-Perintah Pada MYSQL
Query sebenarnya berarti permintaan atau perintah. Dengan menggunakan query, maka dapat melihat, mengubah dan menganalisis data dengan berbagai titik pandang yang dikehendaki. Selain itu, query juga dapat dipakai sebagai data bagi formulir, laporan dan bahkan halaman web.
Yang dimaksud dengan query pada MYSQL adalah query yang diciptakan dengan pernyataan-pernyataan SQL. SQL (Structured Query Language) adalah bahasa pemrograman yang digunakan untuk mengakses basis data relasional. SQL diciptakan oleh perusahaan IBM sekitar tahun 1970, pada waktu yang bersamaan dengan diperkenalkannya konsep relasional database. Setelah mengalami banyak perkembangan, pada masa kini SQL sudah merupakan bahasa yang lazim digunakan dalam dunia database.

§Data Manipulation Language (DML) yang dapat mencari (query) dan mengubah (modify) suatu tabel. Perintah-perintah SQL yang tergolong DML diantaranya:

 SELECT – untuk membaca

 INSERT – untuk memasukkan

UPDATE – untuk mengubah

DELETE – untuk menghapus


 Data Control Language (DCL) yang mengatur hak-hak (privilege) untuk seorang pemakai database.Perintah-perintah SQL yang trgolong DCL diantaranya:

GRANT -Memberi  Hak Akses

 REVOKE –Memblokir Hak Akses

Data Manipulation Language (DML) yang dapat mencari (query) dan mengubah (modify) suatu tabel. Perintah-perintah SQL yang tergolong DML diantaranya:

SELECT – untuk membaca

INSERT – untuk memasukkan

UPDATE – untuk mengubah

DELETE – untuk menghapus


Semua bahasa pemrograman mempunyai aturan gramatika. Beberapa aturan perlu diperhatikan pada saat menuliskan perintah-perintah bahasa SQL pada MYSQL adalah:

1.      Semua pernyataan SQL ditutup dengan tanda koma (,).

2.      Perintah SQL dapat ditulis dalam satu baris atau dipisah-pisah dalam beberapa baris agar mudah dibaca.

3.      SQL tidak membedakan huruf besar atau kecil (not case sensitive), tergantung bagaimana isi tabel dimasukkan.

4.      Isi dari tabel peka terhadap huruf besar atau kecil tergantung bagaimana isi tabel dimasukkan.

5.      Pernyataan SQL harus ditulis menurut sintaks tertentu.

6.      Pernyataan SQL dapat diberikan baris komentar untuk dokumentasi serta menjelaskan maksud pemrograman.




Membuat Tabel Baru 

Database sudah dibuat. Saatnya kita membuat table-table yang berada di dalam database. Jadi kita harus memilih salah satu database yang ada. Caranya adalah dengan :
 perintah create table identitas13650120 membuat tabel :

 perintah  SHOW TABLES; dan Desc nama_tabel untuk melihat tabel dan isinya :

Contoh perintah CREATE TABLES adalah sebagai berikut contoh : badruz dengan nama tabel


Perintah untuk menghapus sebuah tabel dalam MySQL adalah DROP TABLE kemudian nama tabel

Manipulasi tabel

Struktur query yang digunakan untuk menghapus kolom : Alter table namatabel drop namafield;


Struktur query yang digunakan untuk menambah kolom: 
Alter table namatabel add namafield type(length);

Struktur query yang digunakan untuk mengubah nama tabel : 
Update namatabel set namafield=’data_baru’ where namafield_key=’data_baru’;

Struktur query yang digunakan untuk melihat isi tabel;
Select * from namatabel;


Perintah mengubah isi dari field yang diinginkan :
Update namatabel set namafield=’data_baru’ where namafield_key=’data_baru’;

Perintah menghapus baris yang diinginkan:
Delete from namatabel where namafield_key=’data’;


*catatan : Untuk jelasanya lihat gambar di laporan yang ada dibawah no.1-6

Temporary Tabel 

Create temporary table :
CREATE TEMPORARY TABLE Temp_employeeSELECT m.em_emplcode,       m.em_emplname,       m.em_sex,       s.section_codeFROM master_employee mINNER JOIN master_section s ON m.em_code = s.section_codeORDER BY total ASC;


Untuk melihat Hasilnya :SELECT * FROM Temp_employee; 

Untuk Menghapus Table Temporary : DROP TEMPORARY TABLE Temp_employee;


GRANT DAN REVOKE


1. REVOKE

Revoke merupakan kebalikan dari perintah grant yaitu menghapus atau mencabut kembali izin akses user MySQL yang sebelumnya telah diberikan. Tingkat pilihan yang dapat digunakan juga sama dengan perintah grant sehingga semua izin akses dengan grant dapat dicabut kembali.

Menghapus Akses Penuh

mysql> revoke all on *.* from nm_user@localhost identified by ‘nm_passwd’;




2. GRANT

Grant merupakan perintah untuk memberikan hak izin akses bagi user di MySQL agar dapat mengakses database, tabel dan kolom. Selain itu juga dapat menambahkan user baru dengan perintah Grant ini. Ada hal yang harus diperhatikan jika melakukan perubahan izin akses pada user MySQL yang masih aktif bekerja tidak langsung bisa menerapkan perubahan meski sudah melakukan flush privileges. Konfigurasi ini berlaku ketika user sudah menutup koneksi kemudian melakukan koneksi kembali.

Izin akses penuh ini digunakan untuk mengakses seluruh database dalam server. Untuk memberikan izin Anda harus terlebih dahulu memilih database mysql dengan perintah use. Selanjutanya lakukan perintah berikut :


mysql> grant all privileges on * to nm_user@localhost identified by ‘nm_passwd’ with grand option;



1.Laporan Praktikum Dengan Menggunakan DBMS mysql.

1.  Buatlah sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya yabg sesuai dengan soal


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” di 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.

Menghapus Akses Penuh

mysql> revoke all on *.* from nm_user@localhost identified by ‘nm_passwd’;



  mysql> grant all privileges on * to nm_user@localhost identified by ‘nm_passwd’ with grand option;




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.




2.Buat  database  dan  tabel  sistem  pada  modul dan  dilengkapi dengan tampilan strukturnya



Nama Database Perpustakaan.

Tabel anggota, buku dan denda

Tabel meminjam, penerbit dan pengarang

Perbedaan : 

Perbedaan Database Mysql dan Postgresql saat membuat tabel

Pada Struktur Tabel Mysql memiliki struktur tabel yang lebih flexibel dalam sedangkan Postgresql lebih kaya dalam hal tipe data.

Pada Mysql memiliki bahasa perintah yang lebih mudah dimengeti contoh (show, desc, change dan lain-lain) sedangkan Postgresql memakai bahasa singkatan contoh(\d \c \l dan lain-lain).

Mysql 

Kelebihan :
  • Mysql dapat menciptakan lebih dari 16 kunci per tabel, dan dalam satu kunci mengungkinkan belasan field ( kolom ).
  •  Mysql memiliki kecepatan dalam pembuatan tabel maupun peng-update-an tabel.
Kelemahan :
  • Data yang ditangani belum begitu besar.
PostgreSQL

Kelebihan :
  • PostgreSQL memiliki fitur pewarisan tabel dan tipe data, atau tipe data array yang kadang praktis untuk menyimpan banyak item data di dalam satu record.
  • PostgreSQL juga memiliki apa yang disebut rule, yaitu tindakan custom yang bisa kita definisikan dieksekusi saat sebuah tabel di-INSERT, UPDATE, atau DELETE
Kelemahan :
  • PostgreSQL sendiri terbatas hanya bisa melakukan penambahan kolom, penggantian nama kolom, dan penggantian nama tabel.

Kesimpulan :

Database merupakan kumpulan data yang saling berhubungan.Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel yang ada.Perbedaan Database Mysql dan Postgresql saat membuat tabel sebenarnya intinya sama saja hanya berbeda saat melakukan perintah.

  • Tabel, tabel merupakan sekumpulan data-data informasi, yang mana setiap tabel pasti memiliki baris(record) dan kolom(field.
  • Field, meruapakan data paling kecil namun memiliki arti, atau dapat disebut sebagai atribut atau elemen data
  • Record, merupakan kumpulan dari data-data yang saling berkaitan. Artinya record ini merupakan elemen-elemen data dari field tersebut. Record ini bisa sebut sebagai baris.
  • Kemudian yang harus kita ketahui adalah, perintah-perintah seperti menyimpan, menginput, menghapus, maupun mengedit itu dinamakan query, yaitu interaksi terhadap suatu database.
  • Dari hasil percobaan dan perbandingan dapat kita lihat, bahawasanya postgreSQL dan mySQL disisi lain memiliki kesamaan dan di lain sisi juga memlikih perbedaan dalam hal penulisan perintah SQLnya. Namun inti dari peritah tersebut tetap sama.
Kritik dan Saran

Pada praktikum kali ini, kurangnya sih kita hanya tidak di beri teori dasar tentang apa sih sistem informasi itu, fungsi dan tujuan pembuatannya itu untuk apa, dan langkah-langkah-langkah apa saja yang kita perlukan untuk dapat membuat sebuah sistem informasi dengan baik dan banyak disukai + digunakan banyak orang nantinya. Sarannya sudah pasti ke arah bagaimana sebaiknya kita dapat membangun sistem kerja yang baik. Jadi kita tidak hanya belajar cara membuat database dan manajemen tabel saja, tapi nantinya kita dapat membangun sebuah sistem informasi sendiri tentunya dengan prosedur yang baik dan benar.

Daftar Pustaka
http://blog.seventhsoft.net/2012/09/pengertian-databasebasis-data.html
http://hostingunlimitedterbaik.com/2012/06/18/tentang-database-postgresql
http://rudinuril.blogspot.com/2009/10/pengenalan-plsql.html

Buku : Yakub, 2008, “ Sistem Basis Data : Tutorial Konsep “; Graha Ilmu: Yogyakarta
             Kadir Abdul, 2000, Konsep & Tuntutan Praktis Basis Data, Yogyakarta: Andi

             Sutanta Edhy, 2011, Basis Data Dalam Tinjauan Konseptual. Yogyakarta: Andi

Jumat, 19 September 2014

Tugas Praktikum DBD Modul 1



LAPORAN PRAKTIKUM
DESAIN BASIS DATA


Dosen Pengampu: Aziz Musthofa, S.Kom
 logoUIN
Oleh :
Badruz Zamanil Charis
13650120

JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN MAULANA MALIK IBRAHIM MALANG
2014

Pengertian MySQL

MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis. Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.

Keistimewaan MySQL

  1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
  2. Perangkat lunak sumber terbuka (open source). MySQL didistribusikan sebagai open source sehingga dapat digunakan secara gratis.
  3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
  4. Performance tuning, MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
  5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
  6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
  7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti password yang terenkripsi.
  8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
  9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau named pipes (NT). 
  10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
  11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai tool  yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
  13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. 

1.Laporan Praktikum Dengan Menggunakan DBMS mysql.

1.Membuat user dengan nama depan pribadi dan password


·badruz13650120 adalah nama dari user yang akan dibuat
·13650120 adalah password yang harus dituliskan pada saat nama_user mengakses MySQL server.


2. Buatlah 2 database dengan nama : namaNIM masing-masing praktikan. Misal : “aziz05550057” dan nama database : contoh1.

Ketik "create database badruz13650120;"  dan  "create database contoh1;"  kemudian ketik  "show databases;"  untuk menge-cek isi dari database.


3.  Hapuslah database contoh1.
"drop database if exists contoh1;"  maka database contoh1 akan terhapus kemudian cek kembali database


4.  Jawablah soal matematika berikut menggunakan query buffer 9 - 5 + 5 x 0 + 3 : 2 = .... ?
     Ketik  "select 9-5+5*0+3/2;"  kemudian tekan enter maka hasil akan muncul



5.  Jawablah soal matematika berikut menggunakan query buffer 5%2=...?
    Ketik  "select 5%2;"  kemudian tekan enter maka hasil akan muncul



6.  Tampilkan qurey untuk memperoleh tanggal dan jam sekarang?
Untuk menampilkan tgl-bln-th dan jam      :  select current_timestamp;
Untuk menampilkan tgl-bln-th                    :  select current_date;
Untuk menampilkan jam                             :  select current_time;



7.Menampilkan umur di mysql

Ketik "select year(current_date)-year('1994-4-5');"


Kekurangan Posgre SQL :
1. kurang begitu populer dan cocok bekerja di lingkungan web jika   dibandingkan dengan mysql.
2. Kurang fokus dalam hal kelangsingan dan kecepatan.
3. arsitektur dengan multiproses ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented.

Kelebihan PostgreSQL
1. PostgreSQL memiliki arsitektur multiproses (forking) yang berarti memiliki stabilitas yang lebih tinggi, sebab satu proses anak yang mati tidak akan menyebabkan seluruh daemon mati—meskipun pada kenyataannya, dulu ini sering terjadi.
2. Dalam kondisi load tinggi (jumlah koneksi simultan besar), kecepatan PostgreSQL sering mengalahkan MySQL untuk query dengan klausa JOIN yang kompleks, hal ini
dikarenakan PostgreSQL mendukung locking di level yang lebih rendah, yaitu row.

Kelebihan MySQL:
Dapat bekerja di beberapa platform yang berbeda seperti LINUX, Windows, MacOS, FreeBSD, Solaris, dll.
Dapat dikoneksikan pada bahasa C, C++, Java , Perl, PHP, dan Python.

Kekurangan MySQL:
Untuk koneksi kebahasa pemrograman visual seperti VB(Virus Basic), delphi, dan foxpro, MySQL kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan MySQL jarang dipakai dalam program visual.
Data yang ditangani belum begitu besar. Tidak cocok baik menyimpan data maupun untuk memproses data. 



2.Membuat Rancangan Tabel  Suatu Sistem Disertakan Dengan ERD, Tujuan Dari Pembangunan Sistem. 

ERD

Pengertian dari ERD (Entity Relationship Diagram) adalah suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.




1.Entitas Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi.

2.Atribut,Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.

3.Relasi atau Hubungan, Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.Penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atribut dinyatakan dalam bentuk garis.



Cardinality Krardinalitas relasi menunjukan jumlah maksimum tupel yang dapat berelasi dengan entitas pada entitas yang lain. Terdapat 3 macam kardinalitas relasi yang terdapat pada ERD , yaitu :

One to One (1 to 1)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
One to Many (1 to M) atau Many to One (N to 1)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
Many to Many (M to N)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.


Contoh Sistem ERD Perpustakaan :

DALAM BENTUK TABEL 


DALAM BENTUK DIAGRAM




Tujuan Pembangunan Sistem :

 Untuk memudahkan sistem informasi di perpustakaan . Sistem informasi seperti pemimjam buku, identitas buku ,pengarang buku, penerbit buku dll.

Entitas :                                             Hubungan  / Relasi:
1. Buku                                                       : 1. Meminjam (Anggota – Buku)
2. Pengarang                                             : 2. Menerbitkan (Buku – Penerbit)
3. Penerbit                                                 : 3. Menulis (Buku – Pengarang)
4. Anggota                                                 : 4. Membayar (Anggota  – Denda)
5. Denda

Entity Relationship Diagram (ERD) Perpustakaan

Relationship
            A. Relationship Anggota – Peminjaman (1 –N)
            B. Relationship Buku – Peminjaman(1-N)
            C. Relationship Buku – Pengarang (1-N)
            D. Relationship Buku – Penerbit (1-N)
            E. Relationship Anggota – Denda(1-N)

Perbedaan MySql dan PostgreSql

Saat ini dengan mudah kita bisa mengatakan, dua produk database open source paling terkenal dan banyak digunakan adalah MySQL dan PostgreSQL. “Mana yang lebih bagus?” adalah pertanyaan yang hingga akhir zaman nanti akan selalu terlontar. Kami tahu pertanyaan ini tidak ada artinya, dan tidak membantu sama sekali. Namun di artikel ini kami mencoba menyusun beberapa aspek dari kedua database yang berbeda satu sama lain. Harapan kami, perbandingan ini membantu Anda menjawab pertanyaan “mana yang sebaiknya dipakai untuk [sebutkan kebutuhan Anda di sini].” Jangan lupa pula, sebelum memutuskan selalu ceklah dulu homepage kedua database sebab dari waktu ke waktu fitur tiap database berubah/bertambah. 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 memroses data untuk aplikasi Web. Fokusnya adalah pada kecepatan. PostgreSQL, di lain pihak, berkembang dari riset akademik. Fokus pengembangan PostgreSQL adalah pada fitur OO, reliabilitas, dan dukungan SQL yang mantap. Namun, seiring kedua produk ini bertambah matang, keduanya semakin banyak memiliki sifat-sifat ini. MySQL versi 4.x misalnya, berjanji menambahkan fitur-fitur yang sejak lama diidamkan pemakainya: subselect, view, dsb. Sementara PostgreSQL, yang sempat memiliki masalah stabilitas dan skalabilitas di seri awal versi 6.x, juga kini telah amat menarik dari segi kecepatan.
Pengembangan
Pengembangan MySQL diatur secara sentral oleh perusahaan komersial di Swedia bernama MySQL AB (sebelumnya TcX AB). Perusahaan ini memperoleh pemasukan utamanya dari menjual layanan support dan konsultasi MySQL. 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. Plus secara keseluruhan popularitas MySQL (trafik milis, tutorial/artikel yang membahas, dsb) lebih besar daripada PostgreSQL. Tapi karena PostgreSQL juga disertakan secara default di distro-distro Linux seperti Red Hat dan SuSE, jumlah penggunanya pun sudah pasti banyak.
Arsitektur dan Portabilitas
MySQL memiliki arsitektur multithreading, sementara PostgreSQL multiproses (forking). Ini berarti PostgreSQL potensial memiliki stabilitas yang lebih tinggi, sebab satu proses anak yang mati tidak akan menyebabkan seluruh daemon mati—meskipun pada kenyataannya, dulu ini sering terjadi. Di sisi lain, arsitektur dengan forking ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented. Karena itulah, baru MySQL yang memiliki port natif ke Windows. PostgreSQL sendiri saat ini bisa dijalankan di Windows, tapi melalui lapisan emulasi Cygwin.
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
Soal kecepatan ini relatif dan kadang juga jadi isu sensitif. Baik kedua pihak, maupun pihak ketiga, pernah menerbitkan benchmark yang lalu ditepis atau dicibir karena tidak objektif.
Pada dasarnya perbandingan kecepatan keduanya seperti ini: MySQL terkenal cepat dalam melakukan query sederhana. Dengan kata lain, dapat memroses lebih banyak SQL per satuan waktu. Tapi dalam kondisi load tinggi (jumlah koneksi simultan besar), PostgreSQL sering mengalahkan MySQL untuk query dengan klausa JOIN yang kompleks, seperti dialami Tim Perdue saat mencoba kedua database untuk diimplementasikan di SourceForge.net. Penyebab utamanya adalah karena MySQL menggunakan locking level table dalam UPDATE, sehingga koneksi yang lain tidak bisa membaca table ybs sama sekali. Locking inilah juga sebabnya mengapa pada banyak benchmark, MySQL menunjukkan penurunan kinerja yang cukup drastis untuk kondisi jumlah klien simultan tinggi. PostgreSQL mendukung locking di level yang lebih rendah, yaitu row. Table handler baru di MySQL, InnoDB, juga mendukung row level locking. Benchmark InnoDB pada jumlah koneksi tinggi menunjukkan hasil yang cukup menjanjikan.
Masalah locking tabel bisa diakali dengan membelah-belah tabel, agar satu kelompok row dapat dilock tanpa mengganggu kelompok row lain. Bahkan ada pengguna MySQL yang membelah sebuah tabel besar berisi jutaan record menjadi ribuan tabel kecil-kecil.

Kesimpulan,Manfaat Pembaca,Saran dan kritik

     1.      Rangkuman
Keduanya 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.
      2.      Saran
     Saran saya belajarlah memakai ke dua DBMS tersebut karena dengan belajar tersebut bisa membandingakan, dan bias mengetahui kedua-duanya.
3.    Kritik
      Masih banyak Evaluasi yang perlu dibenahi dalam laporan ini, dan perlu adanya integrasi tujuan dan hasil
4.    Manfaat Membaca Laporan Ini
          a. Pastinya tau apa itu database
          b. Bisa mengevaluasi kerjaan sendiri dengan hasil laporan ini
          c. Bisa tahu jalan belajarnya perkuliahan dan membuat karya.

Daftar Pustaka

http://www.mysqltutorial.org/
http://id.wikipedia.org/wiki/MySQL
www.tutorialspoint.com/mysql/


Buku : Yakub, 2008, “ Sistem Basis Data : Tutorial Konsep “; Graha Ilmu: Yogyakarta
           Kadir Abdul, 2000, Konsep & Tuntutan Praktis Basis Data, Yogyakarta: Andi

           Sutanta Edhy, 2011, Basis Data Dalam Tinjauan Konseptual. Yogyakarta: Andi