TUGAS PRAKTIKUM
1. Teori
Basis Data atau database adalah kumpulan informasi yang disimpan dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memeperoleh suatu informasi dari basis data tersebut. Database adalah susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu sehingga mampu memenuhi informasi yang optimal yang dibutuhkan olehpara pengguna.Konsep dasar database adalah kumpulan dari catatan, atau potongan dari pengetahuan. Sebuah database memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur database: ini dikenal sebagai database model atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah yaitu mewakili semua informasi dalam bentuk tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel.
- 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.
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.
- Entititas / file - Objek tempat data atau record di simpanEntititas adalah orang, tempat, kejadian atau konsep yang informasinya direkam. Pada bidang kesehatan Entity adalah Pasien, Dokter, Kamar.
- Field / Atribute - Atribute; bagian dari record seperti kolomSetiap entity mempunyai atribut atau sebutan untuk mewakili suatu entity. Seorang siswa dapat dilihat dari atributnya misalnya, NIM, Nama_siswa, Alamat.
- Record - Merupakan setiap baris data yang ada pada entityRecord adalah kumpulan isi elemen data (atribut) yang saling berhubungan menginformasikan tentang suatu entity secara lengkap.
Software yang digunakan untuuk memanipulasi database tersebut dinamakan Database Management System (DBMS). Ada banyak jenis DBMS yang ada di dunia manusia saat ini. seperti MySQL , Oracle, Postgre dan sebagainya (cari sendiri di google). yang pada intinya fungsi dari DBMS tersebut adalah menyimpan mengambil dan memanipulasi basis data secara mudah dan efisien.
Data Base Management System (DBMS) dilengkapi dengan bahasa yang bertujuan pada data (High level data language) yang kerap dimaksud juga untuk bhs generasi ke 4 (fourth generation language), yaitu bahasa yang mungkin dengan mudah dapat dimengerti oleh manusia / programmer.
Jadi 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.
Untuk lebih spesifiknya fungsi dari DBMS yaitu sebagai berikut :
- Definisi data dan hubungannya
- Manipulasi data
- Keamanan dan integritas data
- Security dan integritas data
- Recovery/perbaikan dan concurrency data
- Data dictionary
- Unjuk kerja / performance
2. Hasil Praktikum
Menggunakan 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
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
Menggunakan SQLyog
empty
3. Perbandingan - PostgreSQL vs SQLyog
PostgreSQL
( + ) Jika kita menguasai sepenuhnya, dalam menggunakan PosgreSQL, maka dapat dipastikan kita akan mendapatkan "A" untuk mata kuliah Praktikum Desain Basis Data( + ) Tampilan terlihat tidak manusiawi seperti Command Prompt sehingga lebih terkesan keren
( - ) Karena tampilan tidak manusiawi mungkin bagi pemula, ketika belajar PostgeSQL lebih terkesan sulit
( - ) Kita harus menghafalkan querry ketika ingin memanipulasi database, dengan kata lain kita mengetikkan manual querry yang kita inginkan. Lain aksi lain querry
( - ) Berakibat fatal ketika dalam kelas praktikum desain basis dat tidak sengaja kita meng-klik (x) close
SQLyog
( + ) Tampilan lebih manusiawi. lebih bagus, daftar database bisa kita lihat semuanya di sebelah kiri( + ) Karena tampilan bagus, maka bagi pemula terkesan lebih mudah dan lebih bisa dikira - kira untuk dipelajari
( - ) Dalam kelas praktikum desain basis data kita tidak belajar database menggunakan software ini
4. Kesimpulan
Dari seluruh ulasan diatas dapat kita ambil kesimpulan bahwa database adalah kumpulan data yang disimpan dalam komputer secara sistematis. Dan dapat kita ambil atau dimanipulasi datanya sesuai dengan kebutuhan user. Database memiliki 3 element yang ada di dlamnya yaitu entitas, fiel dan record. Sedangkan software yang digunakan untuk mengolah database dinamakan Database Management System (DBMS), yang banyak sekali jenisnya. Tetapi yang kita pelajari dan ulas di atas adalah Postgre dan sedikit tentang MySQL.ERD - ENTITY RELATIONSHIP DIAGRAM
Pengertian ERD adalah sebuah teknik pemodelan data yang menggambarkan secara grafis entitas sistem informasi dan hubungan antara entitas tersebut. Sebuah ERD adalah model konseptual dan representasi dari data yang digunakan untuk mewakili infrastruktur kerangka entitas. Pendekatan standar industri pada ERD ini, menggunakan serangkaian bentuk blok dan garis untuk menggambarkan struktur database yang dimengerti oleh semua profesional database.Disamping itu adalah simbol - simbol atau komponen yang digunakan untuk menyusun ERD.
Di bawah ini adalah ERD yang saya buat, dan saya beri nama "ERD Mahasiswa yang Tingngal di Ma'had". yang pastinya mungkin ada banyak kesalahan.
0 komentar:
Posting Komentar