Selasa, 23 September 2014

Laporan Praktikum 1 DBD



ERD Sistem Penjualan




Tabel Pelanggan
Kode Barang
Nama Pelanggan
Alamat Pelanggan
Tanggal Transaksi

















Tabel  Barang
Kode Barang
Nama Barang
Kode Tipe Barang
Harga













Tabel  Penjualan
Kode Penjualan
Total Penjualan
Jumlah Penjualan










Tujuan : Agar mempermudah dalam proses transaksi jual beli


LAPORAN PRAKTIKUM
DESAIN BASIS DATA

Nama   :  Renata Widiatrisna
NIM    :  13650118

1.      DASAR TEORI
Database merupakan proses penyimpanan beragam informasi untuk diolah sedemikian rupa agar mudah untuk dipergunakan kembali. Suatu software basis data merupakan software yang digunakan untuk menyimpan dan memungkinkan data yang telah disimpan untuk diakses dengan perintah-perintah tertentu. Software basis data sering dikenal dengan sebutan DBMS (Database Management System).
Perintah-perintah yang digunakan untuk mengelola basis data mempunyai standar yang disebut dengan SQL (Structured Query Language). Standar ini dibuat oleh suatu badan yang berwenang (ANSI) sehingga sering disebut juga dengan istilah ANSI SQL. Saat ini standar SQL yang diacu kebanyakan software adalah SQL92 dan SQL99. Pada umumnya, data yang tersimpan merupakan data relasional (data yang saling terhubung). Proses untuk merancang suatu basis data disebut dengan istilah normalisasi. Pada dasarnya, suatu basis data terdiri atas berbagai tabel yang saling terhubung.
Tabel merupakan tempat data disimpan. Tabel itu sendiri terdiri atas data rinci untuk suatu entitas dan terdiri atas row dan column (pada software non-SQL dan software basis data tertentu sering disebut record dan field). Tabel itu sendiri jika digambarkan merupakan suatu baris serta kolom sebagai berikut:





Tentang PostgreSQL

PostgreSQL merupakan Sebuah Obyek-Relasional Data Base Management System (ORDBMS) yang dikembangkan oleh Berkeley Computer Science Department. PostgreSQL juga menawarkan tambahan-tambahan yang cukup signifikan yaitu class, inheritance, type, dan function. Tambahan keistimewaan lain yang tidak dimiliki database management system yang lain berupa constraint, triggers, rule, dan transaction integrity, dengan adanya keistimewaan tersebut maka para pemakai dapat dengan mudah mengimplementasikan dan menyampaikan sistem ini. Pada tahun 2012 PostgreSQL mendapatkan gelar Linux New Media Award untuk kategori Database Open source terbaik.

Konsep Dasar MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language).
SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.

2.      HASIL PRAKTIKUM
 Hasil Praktikum Menggunakan PostgreSQL
Berikut adalah hasil praktikum dengan menggunakan aplikasi PostgreSQL :
1.      MEMBUAT USER
Pada soal pertama adalah bagaimanakah membuat user di postgreSQL. Adapun Query untuk membuat user adalah
CREATE USER nama_user with createdb password ‘pasword’;
Kita isi dengan CREATE USER renatawidia  with createdb password ‘13650118’;
Berikut hasildari PrintScreen nya :
Dan jika berhasil maka akan tampil perintah CREATE ROLE , berarti user yang kita buat berhasil

Dan jika kita ingin mengetahui user yang telah kita buat yaitu dengan mengetik perintah \du. Maka user dengan nama renatawidia akan tampil.



2.      MEMBUAT DATABASE
Adapun soal ke dua yaitu bagaimanakah membuat database. Kita  disuruh membuat database sebanyak 2 database.  Berikut cara untuk membuat database : CREATE DATABASE NAMA_DATABASE;
Database yang pertama kita isi dengan : CREATE DATABASE renatawidiatrisna_13650118; dan database yang kedua kita isi : CREATE DATABASE contoh ; Dan jika database yang kita buat telah berhasil, maka akan muncul perintah CREATE DATABASE. Berikut hasil dari PrintScreen nya.

Dan jika kita ingin melihat hasil dari database yang kita telah buat tadi maka kita ketik perintah \l. Maka database renatawidiatrisna dan database contoh akan terlihat. Berikut hasil dari PrintScreen nya  .


3.      MENGHAPUS DATABASE
Soal yang ketiga yaitu kita akan menghapus database contoh. Caranya yaitu : DROP DATABASE NAMA_DATABASE;
Kita hapus database contoh  yang sudah kita buat yaitu caranya : DROP DATABASE contoh; Dan jika telah berhasil maka akan muncul perintah DROP DATABASE .
Berikut hasil dari PrintScreen nya :



Dan kita lihat database contoh apakah sudah terhapus. Caranya yaitu ketik \l. jika telah berhasil maka database contoh akan hilang . Berikut hasil dari PrintScreen nya :

4.      query buffer(operasi matematika)

Mengetik pada query buffer sebenarnya mirip saat kita menulis perintah pada Dos promt di sistem operasi Windows. Namun dalam psql terdapat (;) untuk mengakhiri eksekusi, (\p) untuk menampilkan query buffer dan (\r) untuk menghapus query buffer. Sebagai contoh kita akan menuliskan perintah pembagian, penambahan, pengurangan atau perkalian. Misal ada soal  9 - 5 + 5 * 0 + 3 / 2 . jika kita hitung hasilnya yaitu 5,5.
Maka caranya yaitu  select 9 - 5 + 5 * 0 + 3 / 2::float ;


 Dan jika hasil dari soal tersebut ingin di bulatkan maka caranya yaitu : 

select round(9-5+5*0+3/2::float);
maka hasilnya yaitu 6.

Berikut hasil dari PrintScreen nya :
 
5.      Untuk Mengerjakan soal 5%2
Caranya yaitu : select 5%2 ;
Berikut hasil dari PrintScreen nya :

6.         Query waktu
Bila ingin mengetahui waktu maka kita menggunakan perintah “select current_timestamp;”. Caranya yaitu : select current_timestamp ;

Berikut hasil dari PrintScreen nya :

7.         Menghitung selisih hari
Selain menampilkan waktu dalam praktikum ini juga diajari bagaimana menghitung selisih hari. jika kita ingin mengetahui seberapa lama kita telah hidup saat ini yaitu : 
1.      select extract(day from now()-cast('1995-07-16'as "timestamp"));
2.      select (cast('2014-09-22’ as "timestamp"00-(cast(1995-07-31' as "timestamp"));

Berikut hasil dari PrintScreen menggunakan cara 1:  
 
Berikut hasil dari PrintScreen menggunakan cara 2: 

Hasil Praktikum Menggunakan MySQL

1.Membuat User
Cara membuat User dan password baru dengan phpmyadmin , seperti berikut :
Tulis “create user namauser indentified by ‘password’;”, kemudian tekan go :


2.      Membuat dua data base dengan nama
a.       Nama_Nim
Berikut langakah membuat database , tulis “create database ‘renatawidia_13650118’ ;” kemudian tekan go : 

Database telah berhasil  dibuat.

Selanjutnya untuk database yang kedua yaitu : 

Database contoh telah berhasil dibuat.


3.       Menghapus Database contoh , yaitu : 

Maka database contoh akan hilang


4.      Menjawab soal matematika berikut 9 - 5 + 5 x 0 + 3 : 2 dengan query buffer ;
Ketik seperti gambar dibawah ini :




Setelah berhasil maka akan tampil seperti berikut ;



5.      Menjawab soal matematika berikut  5%2 dengan query buffer , ketik seperti gambar berikut , kemudian tekan go;

Kemudian setelah berhasil akan tampil seperti berikut :

6.      Menampilkan qurey tanggal dan jam sekarang , sebagai berikut : 

Maka akan terlihat jam dan waktu saat ini 

7.      Menampilkan selisih hari dalam untuk pengurangan waktu sekarang dengan waktu lahir ;
“SELECT ((to_days(curdate())-to_days('1995-07-31')));”


Jika telah berhasil maka akan terlihat seberapa lama kita telah terlahir didunia


 


3.         Perbandingan Database Mysql dan Postgresql

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


Kelebihan Postgresql :

Ø  Resisten terhadap over-deployment
Dengan menggunakan PostgreSQL, tidak ada seorangpun dapat menuntut untuk pelanggaran terhadap perjanjian lisensi, sebagaimana tidak ada biaya lisensi yang diasosiasikan (digabungkan) untuk software. Hal ini menyebabkan PostgreSQL memberikan keuntungan tambahan lain bagi para penggunanya.

Ø  Menghemat biaya staffing
PostgreSQL telah didesain dan dibuat sedemikian rupa untuk mempunyai tingkat pemeliharaan dan kebutuhan yang lebih rendah daripada database systems sebelumnya, walaupun tetap mempertahankan kualitas fitur, stabilitas, dan performa, sehingga biaya yang diperlukan PostgreSQL menjadi lebih efektif dan lebih dapat diatur.

Ø  Terpercaya dan stabil
Banyak perusahaan yang melaporkan bahwa PostgreSQL tidak pernah, bahkan sekalipun, mengalami crashed pada saat melakukan operasi dengan tingkat aktivitas yang dilakukan tinggi,selalu dalam batas stabil.

Ø  Extensible (dapat diperluas)
Kita tidak memerlukan biaya sekecil apapun dan hanya memerlukan sedikit usaha untuk melakukan  perluasan tehadap software database postgresql.

Ø  Cross platform
PostgreSQL dapat dijalankan hampir di setiap jenis Unix (34 platform yang paling baru dirilis), juga di Windows dengan menggunakan Cygwin.

Ø  Didesain untuk environmentshigh volume
PostgreSQL menggunakan penyimpanan data dengan banyak baris (multiple rows) yang dinamakan MVCC. Hal ini dimaksudkan agar PostgreSQL sangat responsif pada high volume environments.

Ø  Fitur fitur yang sangat mendukung
PostgreSQL sangat kaya akan fitur-fitur yang disediakannya, antara lain: rules, views, triggers, unicode, sequences, inheritance, outer join, sub-selects, open API, dan masih banyak lagi.

Ø  Desain database GUI dan administration tools
Beberapa tools GUI yang berkualitas tinggi tersedia untuk mengelola database (pgAdmin, pgAccess), sekaligus desain database(Tora, database architect).

Kekurangan Postgresql  :

Ø  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

Selain itu PostgreSQL juga dapat di extend sesuai kebutuhan pengguna melalui beberapa metode dengan menambangkan obyek baru, seperti :
·         Penambahan Tipe Data
·         Penambahan Fungsi
·          Penambahan Operator
·         Penambahan Fungsi Aggregate
·         Metode Index
·         Bahasa procedur

Kelebihan Mysql :

Ø  Open source   
Mysql didistribusukan secara open source (gratis) dibawah license GPL (General Public Licene)

Ø  Multy User
Mysql dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik

Ø  Coloumn Types          
Mysql memiliki tipe kolom seperti signed/usigned integer, float, double, char, text, date, timestamp

Ø  Command and function
Mysql memiliki operator dan fungsi secara penuh yang mendukung perintah select dan where dalam query

Ø  Client dan Tools
Mysql dilengkapi dengan tools yang dapat digunakan untuk administrator

Ø  Struktur Tabel
Mysql memiliki struktur tabel yang lebih flexibel dalam menangani alter table
Ø  Dukungan 
Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT(),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) )
Ø   Efficiency  
Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas

Kekurangan Mysql

Ø  Untuk koneksi ke bahasa pemrograman visual seperti vb, 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

4. KESIMPULAN
4.1       Rangkuman
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 kita pikirkan 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 dalam hal ini. Sebenarnya jika dilhat dari tabel fitur postgresql menawakan fitur yang lebih daripada mysql. Namun postgresql lebih jarang digunakan pada aplikasi web. Ada pandangan bahwa fitur tersebut memperlambat performa postgresql sehingga tidak cocok untuk web.
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.

            Kritik dan Saran
            Dalam praktikum kali ini seru, banyak sekali pengetahuan baru yang saya dapatkan dan ilmu yang saya dapat diperkuat lagi dengan membuat laporan menggunakan postgresql dan mysql. Jadi menggunakan 2 software itu juga banyak untungnya . yang penting bisa mengatur waktu untuk menyelesaikan laporan atas praktikumnya.

            Manfaat 
            Adapun manfaat bagi pembaca adalah dapat mengoperasikan software postgresql dan juga mysql karena telah tergambar secara detail proses untuk menjalankannya yang meliputi bagaimanakah  untuk  mengoperasikan  vitur-vitur nya  serta  dapat   membuat  user,  menghapus dan membuat  database,operasi matematika,selisih  hari  dll .  

            Daftar  Pustaka
modul praktikum dbd 2014















Tidak ada komentar:

Posting Komentar