Minggu, 15 September 2013

Praktikum Desain Basis Data - 12 September 2013

BAB I
MAKSUD DAN TUJUAN PRAKTIKUM

I.1 Maksud Praktikum

Membahas tentang pengertian basis data secara umum, pemahaman umum tentang PostgreSQL, serta dasar-dasar pengoperasian database di PostgreSQL.

I.2 Tujuan Praktikum

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.



BAB II
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:.

2.1 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 feature (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.

2.2 Panduan Instalasi

1. Download PostgreSQL release terbaru di http://www.enterprisedb.com/products-services-training/pgdownload. 
2. Khusus di linux, Simpan hasil file PostgreSQL hasil download pada folder/direktori Documents.
  
Untuk menjalankannya bukalah Terminal :Accessories>Terminal. Masuklah dengan user root lalu masuk ke direktori tempat menyimpan file PostgreSQL dalam hal ini adalah direktori Documents. Ketikakan perintah seperti di bawah ini.
#cd Documents
Lihat isi direktori Documents dengan mengetikkan perintah ls.
#ls

Instal PostgreSQL dengan mengetikkan perintah seperti di bawah ini.

# ./postgresql-8.4.6-1-linux.bin


3. Berikut ini merupakan tampilan awal ketika installer dijalankan, lalu klik „Next >‟.

4. Pilih lokasi instalasi, defaultnya adalah C:\Program Files\PostgreSQL\8.4, lalu klik „Next >‟.

5. Pilih lokasi penyimpanan data, defaultnya adalah C:\Program Files\PostgreSQL\8.4\data, lalu klik „Next >‟.

6. Isikan password, lalu klik „Next >‟.

7. Password tersebut wajib diisi, jika tidak akan muncul pesan kesalahan berikut.

8. Isikan nomor port yang digunakan untuk komunikasi dengan server, defaultnya adalah port 5432, lalu klik „Next >‟.

9. Pilih locale sesuai defaultnya, centang pl/pgsql untuk menginstal prosedural language (procedure, function, dan trigger), lalu klik „Next >‟.

10. Klik „Next >‟ untuk memulai proses instalasi.

11. Tunggu hingga proses instalasi selesai.

12. Hilangkan tanda centang pada „Launch Stack Builder‟ karena belum diperlukan, lalu klik „Finish‟ untuk mengakhiri instalasi.

2.3 Perintah Dasar Database

Secara umum PostgreSQL menyediakan dua interface, yaitu pgAdmin III sebagai Graphical User Interface (GUI) dan SQL Shell (psql) sebagai Command Line Interface (CLI). Untuk menggunakan perintah dasar database kita bisa menggunakan keduanya, seperti membuat atau menghapus database dan query buffer. Untuk lebih jelasnya sebagai berikut :

2.3.1 Membuat database

Apabila melalui prompt psql sebelumnya kita perlu login terlebih dahulu :

1. Berikut ini tampilan awal psql. Tekan „Enter‟ jika servernya adalah „localhost‟.

2. Isikan nama database, „template1‟, lalu tekan „Enter‟.

3. Tekan „Enter‟ jika nomor port-nya 5432, lalu tekan „Enter‟.

4. Tekan „Enter‟ isi username-nya „postgres‟, lalu tekan „Enter‟.

5. Isikan password seperti yang telah diisikan pada saat instalasi, lalu tekan „Enter‟.

Berikut query untuk membuat database baru :

Template1=# CREATE DATABASE DB_AKADEMIK;
CREATE DATABASE
Template1=#

Gunakan \c nama database untuk coneksi ke database :
Template1=# \c DB_AKADEMIK
DB_AKADEMIK=#

Untuk di pgAdmin III :


Kemudian masukkan parameter yang diperlukan seperti nama database, pemilik maupun privileges.

2.3.2 Menghapus Database

Catatan : untuk menghapus database, user anda harus sebagai postgres superuser, dan untuk melihat daftar database yang telah terbentuk ketikkan perintah backclash-I (\I) pada prompt psql.

Untuk hapus database gunakan perintah berikut :

db_ akademik=# DROP DATABASE SIA;
DROP DATABASE

2.3.3 Membuat User

PostgreSQL secara default telah memberikan user postgres yang juga sekaligus administrator dan mempunyai level tertinggi dalam PostgreSQL. Dalam operasional database biasanya user postgres tidak digunakan dengan alasan keamanan, namun apabila kita ingin membuat user untuk yang pertama kali harus dilakukan oleh user postgres.


Sebelum membuat user kita terlebih dahulu lihat help dari create user dengan mengetikkan \h create user pada prompt template1.

template1=# \h create user
Command: CREATE USER
Description: Creates a new database user
Syntax:
CREATE USER username
[ WITH
[ SYSID uid ]
[ PASSWORD 'password' ] ]
[ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
[ IN GROUP groupname [, ...] ]
[ VALID UNTIL 'abstime' ]
Kemudian, dilanjutkan dengan membuat user baru :

template1=# CREATE USER rofiq createdb with password ‘rofiq’;
CREATE USER
template1=#

2.3.4 Query Waktu

Bila ingin mengetahui waktu maka kita menggunakan perintah select current_timestamp; maka tanggal beserta jam akan ditampilkan secara bersamaan. Berikut untuk lebih lengkapnya :

db_personal=> select current_timestamp;
timestamp
--------------------------------
2005-12-16 14:07:16.099+07
(1 row)

Berikut query untuk menampilkan tanggal.

db_personal=> select current_date;
date
------------
2005-12-16
(1 row)

Query untuk menampilkan waktu.

db_personal=> select current_time;
time
----------
14:07:18
(1 row)


2.3.5 Query Buffer

Mengetik pada query buffer sebenarnya mirip saat kita menlis 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. Sebagai berikut :

db_personal=> SELECT
db_personal-> 2+9
db_personal-> ;
?column?
----------
11
(1 row)
Selain menggunakan SQL Shell, psql ini juga bisa dijalankan menggunakan Command Promt apabila menggunakan Sistem Operasi Windows. Untuk langkah – langkahnya sebagai berikut:

1. Pindah ke direktori „bin‟ pada lokasi instalasi PostgreSQL.


2. Jalankan perintah „psql –U postgres sia‟, huruf „U‟ harus kapital karena psql itu case sensitive, lalu isikan password.


Jika ingin menjalankan psql melalui Command Prompt pada OS Windows pada direktori manapun (tidak harus pindah dulu ke C:\Program Files\PostgreSQL\8.4\bin), maka ikuti langkah-langkah berikut :



1. Klik kanan pada „My Computer‟ lalu klik „Properties‟ atau tekan „WinKey+PauseBreak‟ pada keyboard, kemudian pilih tab „Advanced‟.

2. Klik „Environment Variables...‟


3. Edit „Path‟ pada bagian „System Variables‟, lalu tambahkan pada akhir „Variable value‟ dengan tulisan berikut: „;C:\Program Files\PostgreSQL\8.4\bin‟, kemudian klik „OK‟ hingga selesai.

4. Buka lagi Command Prompt, lalu jalankan perintah „psql –U postgres sia‟ pada direktori manapun.


BAB III
HASIL PRAKTIKUM

3.1 Instalasi PostgreSQL

Instalasi PostgreSQL sama seperti instalasi software-software pada umumnya. Pastikan Installer PostgreSQLsesuai dengan sistem operasi komputer (contoh :Windows 64bit, Windows 32bit, Linux, MAC). Dan yang paling penting dalam proses penginstallan adalah password, jangan sampai lupa.

3.2 SQL Shell (psql)

Pada dasarnya adalah CMD (Command Prompt) di windows. Digunakan untuk melakukan perintah dasar database, seperti membuat dan menghapus database dan query buffer.

3.3 Membuat Database

            Apabila melalui prompt psql sebelumnya kita perlu login terlebih dahulu :

1. Pada tampilan awal psql. Tekan “Enter” jika servernya adalah “localhost”.

2. Isikan nama database, “template1”, lalu tekan “Enter”.

3. Tekan “Enter” jika nomor port-nya 5432, lalu tekan “Enter”.

4. Tekan “Enter” isi username-nya “postgres”, lalu tekan “Enter”.

5. Isikan password seperti yang telah diisikan pada saat instalasi, lalu tekan “Enter”.

Berikut query untuk membuat database baru :

Template1=# CREATE DATABASE db_mahasiswa;
CREATE DATABASE
Template1=#

Gunakan \c nama database untuk coneksi ke database :

Template1=# \c db_mahasiswa
db_mahasiswa=#

Untuk melihat list dari semua database bisa menggunakan command “\l”
Perlu diingat nama database tidak bisa diisi dengan angka saja, misal diisi dengan NIM (contoh : 12650054). Namun bisa dikombinasikan dengan huruf  (contoh : dewi12650054)

Untuk di pgAdmin III :
Kemudian masukkan parameter yang diperlukan seperti nama database, pemilik maupun privileges.

3. 4 Membuat Tabel

Membuat tabel mahasiswa, jurusan dan fakultas dengan cara :
CREATE TABLE [NAMA TABEL] ([NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN]);

Untuk melihat hasil tabel yang telah kita buat, bisa kita cek dengan mengetikkan :

\d [NAMA TABLE]


Pada tabel tb_mahasiswa ditambahkan perintah REFERENCES untuk menghubungkan antara tabel tb_mahasiswa dengan tb_jurusan dan tb_fakultas.

3.5 Memasukkan data ke dalam tabel

Dengan cara : INSERT INTO IDENTITAS VALUES (1, ‘saintek’)
Berikut penjelasannya :
- Kolom pertama (1), karena tipe  datanya adalah integer maka tanda petik tidak digunakan.
- Kolom kedua (‘saintek’), karena tipe datanya varchar maka tanda petik diperlukan, bila tanpa ada tanda petik maka dianggap salah.



3.6 Menampilkan tabel

Dengan cara : SELECT *  FROM [NAMA TABEL];

3.6 Menampilkan Data Secara Spesifik

Menampilkan data mahasiswa berupa nim dan nama  
Dengan cara : SELECT [NAMA KOLOM] FROM [NAMA TABEL];


3.7 Menampilkan Data Dengan Mengambil Satu Data

Menampilkan data mahasiswa berdasarkan nim salah satu mahasiswa. Sehingga yang muncul hanya salah satu data mahasiswa.  Dengan cara : SELECT *  FROM [NAMA TABEL] WHERE [NAMA KOLOM] = [KATA KUNCI];

3.8 Menampilkan Data Dengan Mengambil Beberapa Data

Menampilkan data mahasiswa, fakultas dan jurusan berdasarkan nim, nama mahasiswa, nama fakultas, nama jurusan.
Dengan cara : SELECT TB_MAHASISWA.MHS_NIM, TB_MAHASISWA.MHS_NAMA, TB_FAKULTAS.FAK_KODE, TB_FAKULTAS.FAK_NAMA FROM TB_MAHASISWA, TB_URUSAN, TB_FAKULTAS WHERE TB_MAHASISWA.FAK_KODE=TB_FAKULTAS.FAK_KODE AND TB_JURUSAN= TB_FAKULTAS.FAK_KODE;

3.9 Menghapus data

Menghapus data mahasiswa yang memiliki nim : 13 dengan cara DELETE FROM [NAMA TABEL] WHERE [NAMA KOLOM] = [KATA KUNCI];
Terbukti, pada saat tabel ditampilkan, mahasiswa yang memiliki nim 13 telah terhapus.

3.10 Mengubah data

Mengubah data berupa alamat dan no.telp yang memiliki nim 12
Dengan cara : UPDATE [NAMA TABEL] SET [NAMA KOLOM] = [ISI DATA] WHERE [NAMA KOLOM] = [KATA KUNCI];
Terbukti, pada saat  tabel ditampilkan, alamat dan no telp mahasiswa yang memiliki nim 12 telah berubah.

3.11 Mengurutkan Data

Karena mahasiswa dengan nim 13 telah dihapus, maka mahasiswa yang memiliki nim kurang dari 14 tinggal satu. Jadi agar bisa diurutkan, maka mahasiswa dengan nim 13 perlu di insertkan kembali.
Dengan cara : INSERT INTO  IDENTITAS VALUES (13, ‘sinta’,’jogja’,0813344534);


3.12 Menampilkan Data Secara Spesifik

Menampilkan data mahasiswa yang memiliki nim < 14 dengan cara : SELECT *  FROM [NAMA 
TABEL] WHERE [NAMA KOLOM] < [KATA KUNCI];
dan mengurutkan dari besar ke kecil.
Dengan cara : SELECT * FROM [NAMA TABEL] ORDER BY [NAMA KOLOM] DESC;

3.13 Membuat User

1. Buka pgAdmin III
2. Klik dua kali PostgreSQL 9.3( localhost:5432)
3. Masukkan password “postgres”
4. Klik Kanan Login Rolesà New Login Role.. àisi role name di bagian properties dengan nama yang anda inginkan à isi password di bagian defintion dengan password yang anda inginkan à cek bagian priveleges apakah “can login” dan “inherits rights from parent roles” sudah dicentang à lalu klik ok

Cara membuat user di cmd :

CREATE USER (nama user) with (role user) password '(password)';

Superuser        = bisa ngakses apa saja di database.
Create Role     = bisa bikin user baru.
Create DB       = bisa bikin database.
Replication      = bisa Replikasi database.
kalau defaultnya di sana ada user namanya "postgres" dia bisa superuser, create role, create db, replication.

3.14 Query Waktu

Query untuk menampilkan tanggal beserta jam “select current_timestamp;”
Contoh :
db_personal=> select current_timestamp;
timestamp
--------------------------------
2005-12-16 14:07:16.099+07
(1 row)

Query untuk menampilkan tanggal “select current_date;”
Contoh :
db_personal=> select current_date;
date
------------
2005-12-16
(1 row)

Query untuk menampilkan waktu “select current_time;”
Contoh :
db_personal=> select current_time;
time
----------
14:07:18
(1 row)


3.15 Query Buffer
                       

db_personal=> SELECT 2+9;
?column?
----------
11
(1 row)

Contoh lain adalah :
db_personal=>SELECT  9 - 5 + 5 * 0 + 3 / 2;
?column?
----------
5
(1 row)

*Perhitungan seperti perhitungan matematika biasa (kali dan bagi dioprasikan terlebih dahulu).

Catatan Kecil Command :

            \l          = Untuk melihat database
            \c         = Untuk koneksike database
            \du       = Untuk list user
            \q         = Untuk menutup user (khusus cmd)                                                             
\h         = Untuk help
            \?         = Untuk menampilkan command
            \z          = Untuk menampilkan list table
            \d         = Untuk menampilkan deskrpsi tabel



BAB IV
PENYELESAIAN TUGAS PRAKTIKUM

            Rancangan tabel suatu sistem disertakan dengan ERD, tujuan dari pembangunan sistem. Sistem Kerja Rumah Sakit, Dimana Tabel Attribut dari setiap entitasnya adalah:

Entitas
Attribut
Pasien
id_pasien, nama_pasien, keluhan_pasien
Dokter
id_dokter, nama_dokter
Obat
id_obat, nama_obat
Perawat
id_perawat, nama_perawat
Ruang
nama_ruang, nomor_ruang

Model Diagram ERD Sistem Kerja Rumah Sakit :

DESKRIPSI SISTEM INFORMASI RUMAH SAKIT :

Model Diagram yang ditunjukkan di atas merupakan contoh gambaran Entity Relation Diagram (ERD) Sistem Informasi Rumah Sakit.

Dari model ERD di atas terdapat 5 entity penting dari model diagram yaitu:
1. Pasien
Secara umum memiliki atribut id_pasien, nama_pasien, keluhan_pasien dll.
2. Dokter
Secara umum memiliki atribut id_dokter, nama_dokter dll.
3. Obat
Secara umum memiliki atribut id_obat, nama_obat dll.
4. Perawat
Secara umum memiliki atribut id_perawat, nama_perawat dll
5. Ruang
Secara umum memiliki atribut nama_ruang dan nomor_ruang

Dan terdapat 5 proses transaksi yang dihasilkan yaitu :

1. Proses Penanganan
Dari proses Penanganan terdapat hubungan yang menempilkan antara Pasien dengan Dokter.
2. Proses ResepDari proses Resep terdapat sinkronisasi atau hubungan yang menampilkan antara Pasien, Dokter dan Obat.
3. Proses Perawatan
Dari proses perawatan terdapat hubungan yang menampilkan antara pasien, obat, dan perawat.
4. Proses Menginap
Dari proses Menginap ditunjukkan terdapat hubungan yang menempilkan antara pasien dan ruang.

            Dari seluruh proses yang terjadi dalam ERD diatas dimungkinkan mampu membentuk suatu sistem informasi dasar dari suatu rumah sakit yang mampu menangani dan memberikan informasi terperinci dari semua elemen/entity dasar dari suatu rumah sakit.
            Tujuan dari pembangunan sistem adalah untuk pemodelan data utama dan akan membantu mengorganisasikan data dalam suatu proyek kedalam entitas-entitas dan menentukan hubungan antara entitas beserta atribut-attributnya.


BAB V
KRITIK DAN SARAN

Sebaiknya tidak hanya menggunakan postgre dalam praktikum kali ini, jika kita mengenal lebih banyak software maka akan lebih baik. Namun saya rasa Desain Basis Data adalah Mata Kuliah dasar tentang manajemen database, alangkah baiknya jika menggunakan software umum seperti MySQL, SQLyog Enterprise atau phpMyAdmin terlebih dahulu untuk belajar dari dasar. Karena rata-rata buku selalu membahas DBMS menggunakan software aplikasi tersebut.


DAFTAR PUSTAKA

Materi Praktikum Desain Basis Data 2013.pdf
http://blog.uin-malang.ac.id/paow/files/2010/10/E_09650148_Praktikum-11.pdf
Sutanta Edhy, 2011, Basis Data DalamTinjauanKonseptual. Yogyakarta: Andi
Kadir Abdul, 2000, Konsep & Tuntutan Praktis Basis Data, Yogyakarta: Andi
Setyaputra Andy, 2012. Desain Database & ERD

ini file yang lengkap beserta image nya, karena di web ini saya tdk upload file photonya :)

https://www.evernote.com/shard/s236/sh/6c422e8d-f243-40cc-b729-a756c7c62a57/de85970d92a942cc878cae131288d874

2 komentar :