Selasa, 30 September 2014

Laporan DBD 2 - Pembuatan dan Manajemen Tabel

PRAKTIKUM DESAIN BASIS DATA
Pembuatan dan Manajemen Tabel


Dibimbing oleh :
 Aziz Musthafa, S.Kom





Oleh :
Achsin Muflichuddin   11650036



JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAN NEGERI  MAULANA MALIK IBRAHIM
MALANG
2014


2.1 Bahasan dan Sasaran
      2.1.1 Bahasan
               - Pembuatan tabel
               - Pengelolaan tabel
      2.1.2 Sasaran
               1. Mahasiswa dapat memahami cara pembuatan maupun penghapusan tabel
               2. Mahasiswa dapat memahami cara mengedit struktur dari tabel
               3. Mahasiswa mampu memanipulasi tabel sesuai dengan kebutuhan

2.2 Dasar Teori
          SQL adalah Bahasa standar dalam basisdata yang digunakan untuk melakukan manipulasi data (merupakan bahasa pemrograman/query standart yang digunakan untuk mengakses basis data relasional). Standarisasi bahasa ini dilakukan oleh ANSI (American National Standarts Institution) tahun 86, 89, 92 dan 99, dimana tiap perubahan tahun dilakukan peningkatan kemampuan SQL. Pada perkembangan saat ini standar yang paling banyak digunakan adalah standar ANSI 92. Hampir semua DBMS menggunakan SQL sebagai fasilitas untuk memanipulasi data seperti Oracle, SQLServer, MySQL, PostgreSQL, Foxpro dsb.
          Meskipun awalnya hanya merupakan bahasa untuk memanipulai data,  pada perkembangannya SQL juga dapat digunakan untuk melakukan definisi data mauppun control (security) terhadap data. Sehingga bahasa query ini dibagi menjadi 3 bagian :
1. DDL (Data Definition Language)
  • Membuat database (CREATE DATABASE)
  • Menghapus database (DROP CATABASE)
  • Manciptakan tabel (CREATE TABLE)
  • Menghapus tabel (DROP TABLE)
  • Mengubah tabel (ALTER TABLE)
2. DML (Data Manipulation Language)
  • Menambah record (INSERT INTO)
  • Melihat isi tabel (SELECT)
  • Mengganti isi record (UPDATE)
  • Menghapus record (DELETE)
3. DCL (Data Control Language)
    Kelompok perintah yang dipakai untuk melakukan otorisasi terhadap pengaksesan data dan pengalokasian ruang. Misal suatu data bisa diaksess si A, tetapi tidak bisa dakses oleh si B
  • Membuka hak akses (GRANT)
  • Menutup hak akses (REVOKE)
  • COMMIT
  • ROLLBACK
TIPE DATA
  • CHAR atau CHARACTER : Menyatakan deretan karakter (huruf, bil, tanda baca, karakter khusus (contoh: enter)) atau string
  • Biasanya lebarnya ttt / tetap, maka biasanya dipakai sebagai kunci primer (NIP, NIM) tetap tidak sebagai kunci primer juga bisa (Jurusan, lebarnya 2 digit: MI, TI)
  • Cara penulisannya diapit tanda petik bisa tunggal '_' atau ganda "_"
  • VARCHAR : Menyatakan string dengan panjang tidak tetap (nama, alamat, dll)
  • Lebih boros penyimpanan di memori
  • Cara penulisannya diapit tanda petik bisa tunggal '_' atau ganda "_"
  • DECIMAL atau DEC bilangan pecahan, tetap formatnya lebih jelas, contoh : 5,2 (-,-) sehingga tampilan dilayar lebih rapi dibanding float dan double (tergantung nilainya)
  • INTEGER atau INT : Menyatakan tipe data bilangan bulat, defaultnya max 11 karakter
  • Bisa dipakai untuk operasi matematis
  • Tidak operasi matematis juga bisa (contoh : tinggi badan)
  • SMALLINT : Menyatakan tipe data bilangan bulat yang jangkauannya lebih kecil daripada INTEGER
  • FLOAT : Tipe data bilangan real atau pecahan, lebar dibelakang koma 17 karakter
  • DOUBLE : Tipe data bilangan real/pecahan dengan presisi/teliti lebih tinggi daripada FLOAT, lebar dibelakang koma sampai 30 digit
  • DATE : Menyatakan tanggal (tahun_bulan_tanggal)
  • TIME : Menyatakan waktu, contoh : jam check in, check out dihotel
  • TIMESTAMP : Menyatakan tanggal dan waktu
  • BLOP : Menyatakan data biner yang berguna untuk menyimpan gambar atau suara
  • AUTO-INCREMENT : Menyatakan data yang akan dinaikkan sebesar satu secara otomatis
  • BOOLEAN : Menyatakan tipe nalar yaitu benar atau salah
  • ENUM : Mendefinisikan data yang mempunyai kemungkinan nilai tertentu
  • KONSTANTA : Menyatakan nilai yang tetap, contoh :
  • Konstanta Numerik : 145, -145, 27.5 (tanda pecahan pada suatu angka berupa titik)
  • Konstanta String : 'Jl. Solo km.14, Kalasan, DIY' (ditulis dengan awalan dan akhiran petik tunggal)
  • Didalam konstanta string, tanda \ diikuti dengan karakter tertentu mempunyai makna khusus
  • OPERATOR
  • * = Perkalian
  • / = Pembagian
  • % = Sisa pembagian (hanya digunakan untuk bilangan bulat)
  • + = Penjumlahan
  • - = Pengurangan                 
     Tabel adalah Daftar yang berisi ikhtisar sejumlah data-data informasi yang biasanya berupa kata-kata maupun bilangan yang tersusun dengan garis pembatas. Dalam suatu tabel sendiri terdiri dari baris (row) serta kolom (column), dimana jumlah dan nama kolom harus didefinisikan terlebih 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, yang digunakan untuk membatasi jenis data yang bisa dimasukkan, sehingga akan mempermudah dalam menggunakannya dan melakukan pengelolaan selanjutnya. Disarankan pada saat akan membuat tabel, sebaiknya membuat aturan khusus dalam penentuan tabel-tabel yang akan dibuat dan memberikan nama kolom maupun tipe datanya.

2.2.1 Membuat Tabel
     Primary key adalah Atribut (field) yang dipilih untuk menentukan struktur storage pada organisasi file multy key, adapun key lainnya disebut dengan Secondary key. Atau dengan kata lain, Primary key merupakan suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel, nilai dari primary key adalah unik. 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. Namun secara default PostgreSQL menganggapnya sebagai nullable (boleh kosong), jika waktu pengisian tidak menyebutkan null atau not null. 

Struktur query yang digunakan untuk membuat tabel dengan dua kolom :
      create table namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan);

Catatan :
\d : Untuk melihat struktur tabel yang telah dibuat
\z : Untuk melihat semua tabel 

Struktur query yang digunakan untuk menghapus tabel :
      drop table namatabel;

2.2.2 Manipulasi Tabel
          Dalam pembuatan tabel sebaiknya direncanakan field dan tipe datanya untuk meminimalisir kesalahan saat tabel telah berisi data. Namun meskipun begitu bukan berarti tabel tidak bisa dirubah dan dihapus. PostgreSQL telah menyediakan utilitas untuk manipulasi ini dan perlu diingat hal ini bukan manipulasi data melainkan manipulasi struktur tabelnya.

Struktur query yang digunakan untuk menghapus kolom :
      alter table namatabel drop column"namakolom";
Struktur query yang digunakan untuk menambah kolom :
      alter table namatabel add column"namakolom"tipedata;
Struktur query yang digunakan untuk mengubah nama tabel :
     alter table namatabelasal rename to namatabelbaru;
Struktur query yang digunakan untuk mengubah nama kolom :
     alter table namatabel rename column"namakolomasal" to namakolombaru;
Struktur query yang digunakan untuk menambahkan primary key pada tabel :
     alter table namatabel add primary key (namakolom);

2.2.3 Temporary Tabel
          Temporary tabel sifatnya hanya sementara artinya akan aktif hanya ketika kita sedang berada atau login ke database namun ketika kita logout dari psql database maka secara otomatis temporary tabel akan terhapus .

Struktur query yang digunakan membuat tabel dengan dua kolom :
create temporary table namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan);

2.2.4 GRANT and REVOKE
          Pada saat membuat tabel pada user tertentu maka hanya user tersebut dan user postgres yang dapat mengakses tabel itu. Namun jika kita ingin agar tabel yang telah dibuat pada user kita dapat diakses oleh user tertentu atau semua user yang berada pada PostgreSQL, maka semua itu dapat dilakukan dengan perintah GRANT. Jika ingin mencabut hak akses kita bisa menggunakan perintah REVOKE.

Struktur query penggunaan GRANT untuk semua hak akses :
      grant all on table namatabel to namauser;
Struktur query penggunaan REVOKE untuk semua hak akses :
      revoke all on table namatabel from namauser;
Struktur query untuk menghapus salah satu hak akses, misalnya UPDATE :
      revoke update on table namatabel from namauser;
Struktur query untuk memberi salahsatu hak akses, misalnya DELETE :
      grant delete on table namatabel to namauser;

2.2.5 TURUNAN (INHERITANCE)
          Inheritance dipergunakan jika kita ingin membuat sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan tabel pertama. Struktur penggunaan query INHERITANCE :
      create temporary table namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan) inherits (namatabelinduk);
Contoh :
create table pariwisata (wisata character varying(20)) inherits (kabupaten);

2.3 Hasil Percobaan
          Setelah dalam percobaan sebelumnya memulai instalasi software serta membuat user dan database, pada percobaan kali ini kita membuat dan mengelola tabel. Adapun langkah-langkahnya sebagai berikut :
1. Membuat tabel beserta fieldnya


2. Menghapus kolom "alamat_idn" pada tabel pegawai
3. Menambahkan kolom "pekerjaan_idn" dengan tipe data "varchar" pada tabel pegawai
4, Merubah nama tabel "pegawai" menjadi "pekerjaNIM" serta merubah nama kolom "pekerjaan_idn" menjadi "alamat_idn"

5. Memberikan "primary key" pada tabel "pekerjaNIM" dan merubah tipe data pada kolom "alamat_idn" menjadi "text"
6. Menghapus tabel "pekerjaNIM"
7. Membuat temporary table 

8. Menghapus dan menambahkan hak akses tabel tertentu pada salah satu user
9. Menghapus hak akses "select" tabel tertentu pada salah satu user

10. Membuat temporary tabel turunan dari tabel nomer 1

2.4 Tugas Rumah 





2.5 Evaluasi perbandingan DBMS MySQL dengan PostgreSQL
  1. 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.
  2. 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.
  3. 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.
  4. 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, 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 (www.innodb.com/bench.html). 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.
  5. Stabilitas : Keduanya sudah bisa dibilang cukup hingga amat stabil. Tapi perlu diingat bahwa database manapun, bahkan Oracle sesekali dapat menyebabkan kerusakan data. Karena itu backup/history periodik dan incremental tetap diperlukan.
  6. Fungsi Built-In : MySQL terkenal kaya fungsi built-in, seperti modifikasi string (REPLACERIGHTLTRIMLCASE), matematika (LOGLOG10), tanggal, dsb. Dalam hal ini MySQL lebih unggul.
  7. Interface : Keduanya sudah amat solid. Mulai dari API C/C++, driver database Perl/Python/PHP/Tcl, ODBC, JDBC telah didukung. Anda tidak akan kesulitan menggunakan database ini dari berbagai sistem dan bahasa pemrograman. MySQL juga mendukung OLEDB dan memiliki versi embedded untuk dilink bersama aplikasi buatan Anda sendiri.
  8. 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. Di PostgreSQL sebelum 7.1, masih ada keterbatasan yang cukup menyesakkan yaitu ukuran data BLOB maksimum adalah 8–32KB. Sejak 7.1, PostgreSQL juga dapat menyimpan data BLOB besar. CHAR dan VARCHAR di PostgreSQL dapat menampung hingga 8 juta karakter (bandingkan dengan MySQL yang hanya 255).
  9. 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.
  10. Fitur Unik : MySQL memiliki arsitektur yang memungkinkan sebuah database terdiri dari beberapa jenis tabel, misalnya: yang transaksional dan tidak, yang berbasis di memori atau di disk, yang terkompresi dan yang read-only. MySQL mendukung protokol terkompresi yang bisa menghemat bandwidth dan mengurangi latensi. PostgreSQL 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.

2.6 Kesimpulan dan Penutup
      2.6.1 Kesimpulan
      Berdasarkan hasil percobaan pada praktikum kali ini kita mulai mempelajari tentang tabel, bagaimana bentuk dan cara membuat serta mengelola tabel hingga tabel tersebut sesuai dengan apa yang kita inginkan. Dalam materi ini diajarkan berbagai macam struktur query mulai dari membuat tabel awal hingga proses menambah, mengurangi dan membuat tabel turunan dari tabel sebelumnya. Juga dijelaskan dan dipraktekkan tentang bagaimana memanupulasi tabel apakah akan menghapus atau menambah kolom baru dalam suatu tabel. serta mengenal apa saja jenis dari tipe data yang digunakan dalam DBMS PostgreSQL.

      
      2.6.2 Penutup
          Demikian laporan praktikum ini dibuat, yang membahas tentang pembuatan serta pengelolaan tabel pada PostgreSQL. Penulis sadar jika dalam penyusunan serta penulisan laporan ini masih banyak kekurangan dan kelemahan, dan berharap kepada pembaca dalam mempelajari bahasan diatas agar sekreatif mungkin untuk mencoba query-query lain serta banyak mempelajari dari sumber-sumber lain. Semoga laporan ini berguna bagi penulis pada khususnya juga para pembaca pada umumnya. 

Daftar Pustaka

Selasa, 23 September 2014

Laporan DBD 1 - Pengenalan dan Instalasi

PRAKTIKUM DESAIN BASIS DATA
Pengenalan Dan Instalasi


Dibimbing oleh :
 Aziz Musthafa, S.Kom





Oleh :
Achsin Muflichuddin   11650036



JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAN NEGERI  MAULANA MALIK IBRAHIM
MALANG
2014



I.1 Bahasan dan Tujuan
I.1.1 Bahasan
Membahas tentang pengertian basis data secara umum, pemahaman umum tentang PostgreSQL, serta dasar-dasar pengoperasian database di PostgreSQL.
I.1.2 Tujuan
1. Mahasiswa memahami pengertian basis data secara umum dan peranannya.
2. Mahasiswa memahami kegunaan software PostgreSQL serta kemungkinan penggunaannya.
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 query maupun GUI.

I.2 Dasar Teori
I.2.1 Pengertian
Secara singkat, pengertian dari Basis Data (Database) adalah kumpulan file-file yang mempunyai kaitan antara satu file dengan file lain sehingga membentuk suatu bangunan data untuk menginformasikan suatu perusahaan atau instansi dalam batasan tertentu. Menurut pendapat lain pengertian database adalah sekumpulan data yang sudah disusun sedemikan rupa dengan ketentuan atau aturan tertentu yang saling berelasi sehingga memudahkan pengguna dalam mengelolanya juga memudahkan memperoleh informasi.

Adapun pengertian basis data atau database menurut para ahli antara lain :
  • Menurut Gordon C. Everest : Database adalah koleksi atau kumpulan data yang mekanis, terbagi/shared, terdefinisi secara formal dan dikontrol terpusat pada organisasi.
  • Menurut C.J. Date : Database adalah koleksi “data operasional” yang tersimpan dan dipakai oleh sistem aplikasi dari suatu organisasi.
    • Data input adalah data yang masuk dari luar system
    • Data output adalah data yang dihasilkan system
    • Data operasional adalah data yang tersimpan pada system
  • Menurut Toni Fabbri : Database adalah sebuah sistem file-file yang terintegrasi yang mempunyai minimal primary key untuk pengulangan data.
  • Menurut S. Attre : Database adalah koleksi data-data yang saling berhubungan mengenai suatu organisasi / enterprise dengan macam-macam pemakaiannya. 
I.2.2 Istilah-istilah Basis data
      Beberapa hal yang termasuk unsur-unsur dari basis data adalah sebagai berikut:
  • Entititas : 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 : Kumpulan isi elemen data (atribut) yang saling berhubungan menginformasikan tentang suatu entity secara lengkap. Contoh Kumpulan atribut NIP, Nama, dan alamat berisikan “01001245566”, Sanusi, Jl. Hati suci No 2 Kupang.
  • Data Value : Merupakan data aktual atau infomasi yang disimpan ditiap data elemen. Isi atribut disebut nilai data.
  • Kunci Elemen Data ( Key Data Element ) : Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas. Contoh Entitas Mahasiswa yang mempunyai atribut-atribut npm, nama, alamat, tanggal lahir menggunakan Kunci Elemen Data npm.
I.2.3 Tentang PostgreSQL
      1.  Pengertian PostgreSQL
       PostgreSQL adalah sebuah software database Open Source dengan waktu pengembangan lebih dari 15 tahun. Anda yang sedang mencari software alternatif bisa mencoba software yang satu ini. PostgreSQL merupakan sebuah object-relational database system yang powerful dan bersifat Open Source. Software ini telah memiliki 15 tahun masa pengembangan aktif dan arsitektur yang dimilikinya telah terbukti memiliki reputasi yang baik untuk keandalan(Reliability), integritas data(Data Integrity), dan juga ketepatan (Correctness).
2.   Fitur PostgreSQL
      Sebagai enterprise class database, PostgreSQL menghadirkan berbagai fitur yang memuaskan seperti Multi-Version Concurrency Control(MVCC), point in time recovery, tablespaces, asynchronous replication, nested transactions(Savepoints), online/hot backups, query planner/optimizer yang baik, dan write ahead logging untuk fault tolerance. Object-relational database system ini juga mendukung international character set, multibyte character encoding, Unicode, dan memiliki kemampuan yang baik dalam sorting, case-sensivity, dan formatting.
I.3 Hasil Percobaan
       Dalam praktikum pertama kali ini kita membahas tentang pengenalan dan instalasi software PostgreSQL. Setelah software di install, langkah selanjutnya adalah membuka SQL dan mulai mengoperasikannya. Langkah-langkahnya sebagai berikut :
  • Membuat User
  • Membuat Database
  • Menghapus Database
  • Menggunakan Query Buffer untuk penghitungan

  • Querry Buffer untuk menampilkan tanggal dan jam

  •  Menggunakan Query Buffer untuk menampilkan selisih hari dalam untuk pengurangan waktu

I.4 Tugas Rumah



I.5 Evaluasi perbandingan antara DBMS, MySQL, dengan PostgreSQL
      Dilihat dari kelebihannya, masing-masing memiliki kelebihan tersendiri yang berbeda-beda. Dimulai dari DBMS, kelebihannya diantarannya adalah mengurangi duplikasi data(data redundancy),  menjaga konsistensi dan integritas data, meningkatkan keamanan data, meningkatkan effisiensi dan effektivitas penggunaan data, meningkatkan produktivitas para pengguna data, memudahkan pengguna dalam menggali informasi dari kumpulan data, meningkatkan pemeliharaan data melalui independensi data, meningkatkan pemakaian bersama dari data, meningkatkan layanan backup dan recovery data, mengurangi konflik antar pengguna data.
Selanjutnya adalah MySQL, mempunyai kelebihan dapat berjalan pada sistem operasi  Windows, Linux, Mac Os X Server,  FreeBSD, dll (Portabilitas), bersifat Open source yang dapat digunakan tanpa harus membayar, bersifat Multi User dalam artian dapat digunakan dalam waktu bersamaan tanpa mengalamai gangguan, MySQL memiliki banyak tipe data seperti integer, float, double, char, text, date dan lain-lain, MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani Alter Table dibanding database lainnya, MySQL dapat dikoneksikan pada beberapa bahasa pemrograman seperti  C, C++, Java, Perl, PHP dan Python.
Sedangkan kelebihan dari PostgreSQL sendiri antara lain resisten terhadap over-deployment, menghemat biaya staffing,  terpercaya dan stabil, extensible (dapat diperluas), cross platform,  didesain untuk environments high volume, fitur fitur yang sangat mendukung, desain database GUI dan administration tools. Akan tetapi disamping masing-masing diatas memiliki banyak kelebihan, namun ketigannya juga mempunyai kekurangan, DBMS diantaranya memerlukan suatu skill tertentu untuk bisa melakukan administrasi dan manajemen database agar dapat diperoleh struktur dan relasi data yang optimal, memerlukan kapasitas penyimpanan baik eksternal (disk) maupun internal (memory) agar DBMS dapat bekerja cepat dan efisien, harga DBMS yang handal biasanya sangat mahal, kebutuhan akan sumber daya (resources) biasanya cukup tinggi, konversi dari sistem lama ke sistem DBMS terkadang sangat mahal, disamping biaya pengadaan perangkat keras dan perangkat lunak, diperlukan pula biaya pelatihan, apabila DBMS gagal menjalankan misinya maka tingkat kegagalan menjadi lebih tinggi karena banyak pengguna yang bergantung pada sistem ini.
MySQL juga mempunyai kekurangan antara lain kurang begitu support dengan bahasa pemrograman visual seperti vb, delphi, dan foxpro, serta data yang dapat ditangani MySQL belum terlalu besar. Sedangkan PostgreSQL lemah pada belum mendukung selectable stored procedure seperti firebird, physical database (table) file nya berserakan, konsep penyimpanan fisiknya satu objek = 1 atau lebih file, bukan 1 database = 1 file.

I.6 Kesimpulan dan Penutup
I.6.1 Kesimpulan
Berdasarkan hasil percobaan serta evaluasi yang telah dilakukan, dapat ditarik kesimpulan bahwa diantara macam-macam perangkat lunak pengolah basis data yang telah dibahas diatas, memiliki kelebihan dan kekurangan masing-masing serta mempunyai karakteristik tersendiri. Dalam praktikum saya menggunakan PostgreSQL yang menurut pendapat saya pribadi cukup mudah dipelajari dan dipahami untuk seorang pemula, mulai dari membuat database, membuat table hingga mengolah dan mengelola table sesuai dengan keinginan dan kebutuhan pengguna.



I.6.2 Penutup
Demikian yang dapat saya paparkan mengenai materi yang menjadi pokok bahasan dalam laporan ini, tentu masih banyak kekurangan dan kelemahannya, Penulis banyak berharap para pembaca untuk memberikan kritik dan saran yang membangun kepada penulis demi sempurnanya laporan ini, sehingga bisa diperbaiki kekurangannya untuk kedepannya. Semoga laporan ini berguna bagi penulis pada khususnya juga para pembaca pada umumnya. 

Daftar Pustaka