Rabu, 01 Oktober 2014



Yoo.. balik lagi di laporan praktikum Desain Basis Data. Yang kali ini mau ngebahas tentang pembuatan tabel dan manajemennya. Penjelasan materinya dibawah, masih menggunakan postgreSQL. Langsung capcuss aja yaa..

Dasar Teori

Tabel merupakan tempat di mana data tersimpan. Setiap tabel memiliki field/kolom dan record/baris. Dalam membuat tabel terdapat ketentuan –ketentuan yang harus di lengkapi, salah satunya yaitu field dan record. Pembuatan tabel terkait erat dengan sistem yang akan di buat.
Perintah membuat tabel membutuhkan:
  • Nama tabel
  • Nama bidang
  • Definisi untuk setiap kolom
nih struktur querinya:
CREATE TABLE nama_tabel (nama_kolom1 tipe_data ket, nama_kolom2
tipe_data ket, ...);
Kalo ingin menghapus tabel tinggal drop aja:
DROP TABLE nama_tabel;

Alter Command

Perintah ALTER sangat berguna ketika kita ingin memanipulasi tabel.
Misal nih, kita ingin menghapus salah satu kolom yang ada pada tabel
ALTER TABLE nama_tabel DROP COLUMN “nama_kolom”;
Untuk menambahkan kolom, gunakan ADD.
ALTER TABLE nama_tabel ADD COLUMN “nama_kolom” tipe_data;

Mengubah Definisi Kolom atau Nama

Untuk mengubah definisi kolom, gunakan klausa RENAME COLUMN bersama dengan perintah ALTER. Berikut struktur querinya:
ALTER TABLE nama_tabel RENAME COLUMN “namaKolom_asal” TO namaKolom_baru; 

Mengganti Nama Tabel

Untuk mengubah nama tabel, gunakan pilihan RENAME pernyataan ALTER TABLE.Nih struktur querinya:
ALTER TABLE namaTabel_asal RENAME TO namaTabel_baru;

Mengubah Tipe Data

Struktur query yang digunakan untuk mengubah type dari kolom tertentu :
ALTER TABLE nama_tabel ALTER COLUMN nama_kolom TYPE namaType_pengganti; 
Menambahkan Primary Key
Struktur query yang digunakan untuk menambahkan primary key pada tabel :
ALTER TABLE nama_tabel ADD PRIMARY KEY (nama_kolom);

Tabel Temporari

Tabel Temporari merupakan tabel yang bersifat sementara. Tabel ini hanya aktif ketika sedang berada atau login ke database, namun, ketika keluar dari plsql maka tabel tersebut akan otomatis terhapus.
Nih struktur query membuat temporary tabel:
CREATE TEMPORARY TABLE nama_tabel tabel (nama_kolom1
tipe_data ket, nama_kolom2 tipe_data ket,....);
Keuntungan penggunaan tabel temporari adalah tidak membebani besarnya file, keuntungan lainnya adalah tabel temporari dapat digunakan untuk proses secara bersamaan pada waktu yang sama dengan user yang berbeda-beda atau lebih mudahnya tabel temporari sangat membantu untuk aplikasi program berbasis client server tanpa perlu membuat tabel bantu pada masing-masing client.

Grant dan Revoke

Grant merupakan perintah untuk memberikan hak izin akses bagi user di agar dapat mengakses database, tabel dan kolom.
Izin akses penuh ini digunakan untuk mengakses seluruh database dalam server. Untuk memberikan izin kita harus terlebih dahulu memilih databasenya. Selanjutanya lakukan perintah berikut :
GRANT ALL ON TABLE namatabel TO nama_user; 
Struktur query untuk memberi salah satu hak akses, misalnya DELETE :
GRANT DELETE ON TABEL namatabel TO nama_user;
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.
Berikut struktur penggunaan REVOKE untuk semua hak akses : 
REVOKE ALL ON TABLE namatabel FROM nama_user;
Struktur query untuk menghapus salah satu hak akses, misalnya UPDATE :
REVOKE UPDATE ON TABEL namatabel FROM nama­_user;

Tabel Turunan (Inheritance)

INHERITANCE dipergunakan jika ingin membuat sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan tabel pertama. Ini nih struktur query INHERITANCE :
CREATE TABLE namatabel (nama_kolom tipedata keterangan , nama_kolom tipe_data
keterangan) inherits (namaTabel_induk);

Hasil Praktikum


Ini hasil praktikum di lab kemarin menggunakan PosgreSQL
  
   Server [localhost]:     
Database [postgres]: permata13650083
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.3.5)
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.
Type "help" for help.

permata13650083=# create table identitas13650083 (id_idn integer not null, namaD
epan_idn varchar(10), namaBelakang_idn varchar(10), tglLahir_idn date, status_id
n boolean, alamat_idn text);
CREATE TABLE

permata13650083=# create table pegawai (id_idn integer not null, namaDepan_idn v
archar(10), namaBelakang_idn varchar(10), tglLahir_idn date, status_idn boolean,
 alamat_idn text);
CREATE TABLE

permata13650083=# alter table pegawai drop column "alamat_idn";
ALTER TABLE

permata13650083=# \d pegawai
                Table "public.pegawai"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |


permata13650083=# alter table pegawai add column "pekerjaan_idn" varchar(10);
ALTER TABLE

permata13650083=# \d pegawai
                Table "public.pegawai"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |
 pekerjaan_idn    | character varying(10) |


permata13650083=# alter table pegawai rename to pekerja13650083;
ALTER TABLE

permata13650083=# alter table pekerja13650083 rename column pekerjaan_idn to ala
mat_idn;
ALTER TABLE

permata13650083=# \d pekerja13650083
            Table "public.pekerja13650083"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |
 alamat_idn       | character varying(10) |


permata13650083=# alter table pekerja13650083 add primary key (id_idn);
ALTER TABLE

permata13650083=# alter table pekerja13650083 alter column alamat_idn type text;
ALTER TABLE

permata13650083=# \d pekerja13650083
            Table "public.pekerja13650083"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |
 alamat_idn       | text                  |
Indexes:
    "pekerja13650083_pkey" PRIMARY KEY, btree (id_idn)


permata13650083=# drop table pekerja13650083;
DROP TABLE

permata13650083=# create temporary table mahasiswa_sementara (id integer, nama v
archar(20), tglLahir date);
CREATE TABLE

permata13650083=# \d mahasiswa_sementara;
    Table "pg_temp_2.mahasiswa_sementara"
  Column  |         Type          | Modifiers
----------+-----------------------+-----------
 id       | integer               |
 nama     | character varying(20) |
 tgllahir | date                  |


permata13650083=# revoke all on table identitas13650083 from permata;
REVOKE

permata13650083=# grant all on table identitas13650083 to permata;
GRANT

permata13650083=# revoke select on table identitas13650083 from permata;
REVOKE

permata13650083=# create table gaji (gajiKotor integer, pajak integer, gajiBersi
h integer) inherits (identitas13650083);
CREATE TABLE
permata13650083=# \d gaji
                 Table "public.gaji"
      Column      |         Type          | Modifiers
------------------+-----------------------+-----------
 id_idn           | integer               | not null
 namadepan_idn    | character varying(10) |
 namabelakang_idn | character varying(10) |
 tgllahir_idn     | date                  |
 status_idn       | boolean               |
 alamat_idn       | text                  |
 gajikotor        | integer               |
 pajak            | integer               |
 gajibersih       | integer               |
Inherits: identitas13650083


permata13650083=#

Yang berikut ini merupakan hasil praktikum yang menggunakan MySQL. Selamat mencoba readers.. 
Membuat sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya


Nama
Tipe Data
Keterangan
id_idn
Integer
Not Null
namaDepan_idn
Varchar(10)

namaBelakang_idn
Varchar(10)

tgl_lahir_idn
Date

status_idn
Boolean

alamat_idn
Text



 

Membuat sebuah tabel lagi dengan nama pegawai dan nama field sama dengan tabel identitasNIM.

Menghapus kolom “alamat_idn” dan menampilkan struktur dari tabel pegawai.

Menambahkan kolom “pekerjaan_idn” dengan type data varchar dan menampilkan struktur tabel pegawai.


Mengubah nama tabel pegawai menjadi pekerjaNIM kemudian mengubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan menampilkannya.

Memberi Primary key pada tabel pekerjaNIM dan mengubah type data pada kolom “alamat_idn” menjadi text. Kemudian menampilkan struktur tabel. 

 Menghapus tabel pekerjaNIM

Membuat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan menampilkan tabel atau strukturnya. 
Menghapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan melakukan pengecekan. 

Kemudian memberikan semua hak akses kembali dan melakukan pengecekan kembali. 

Menghapus hak akses SELECT tabel tertentu kepada salah satu user dan melakukan pengecekan.



Pekerjaan Rumah

Membuat database dan tabel sistem dari ERD yang telah dibuat pada laporan 1 menggunakan query dan dilengkapi dengan tampilan strukturnya.
Disini, kita pakek MySQL untuk membuat databasenya.
Pertama buat databasenya dulu ya. Nama databasenya butik_zahira.

Jangan lupa koneksiin dulu sama database yang baru dibuat

Kalo udah, baru deh buat tabel-tabelnya. Dalam database butik_zahira ini ada 5 tabel yaitu tabel barang, tabel jenis, tabel pelanggan, tabel transaksi, dan tabel karyawan.
Pertama buat tabel barang
 
Membuat tabel jenis 
Membuat tabel pelanggan
Membuat tabel transaksi

Membuat tabel karyawan
 

Evaluasi Perbedaan DBMS MySQL dan PostgreeSQL


Kategori Perbedaan
PostgreeSQL
MySQL
Hak akses user biasa
Melihat daftar semua user dan database
Tidak dapat melihat daftar semua user dan database
Koneksi ke database
\c nama_database
USE nama_database
Menampilkan daftar tabel
\z
SHOW TABLES;
Menampilkan struktur tabel
\d nama_tabel
SHOW COLUMNS FROM nama_tabel;
Menghapus kolom
ALTER TABLE nama_tabel DROP COLUMN “nama_kolom”;
ALTER TABLE nama_tabel DROP COLUMN nama_kolom;
Menambah kolom
ALTER TABLE nama_tabel ADD COLUMN “nama_kolom” tipe_data;
ALTER TABLE nama_tabel ADD COLUMN nama_kolom tipe_data;
Mengubah nama kolom
ALTER TABLE nama_tabel RENAME COLUMN “nama_kolom_lama” TO “nama_kolom_baru”;
ALTER TABLE nama_tabel CHANGE nama_kolom_lama nama_kolom_baru tipe_data;
Mengubah tipe data
ALTER TABLE nama_tabel ALTER COLUMN nama_kolom TYPE tipe_data;
ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data;
Tabel Turunan
CREATE TABLE nama_tabel (nama_kolom tipe keterangan) INHERITS (kolom_induk);
Tidak memiliki fitur tabel turunan (pewarisan tabel).
  

Simpulan

Simpulan yang didapat dari praktikum kemaren adalah cara untuk membuat tabel pada database dengan
CREATE TABLE nama_tabel (nama_kolom1 tipe_data ket, nama_kolom2
tipe_data ket, ...);
Suatu tabel harus memiliki primary key yang berfungsi untuk mencirikan suatu tabel dari tabel yang lainnya. Selain itu primary key juga dapat mengantisipasi adanya redudansi (pengulangan data).
Kemudian untuk memanipulasi suatu tabel kita dapat menggunakan command ALTER TABLE.

Sekian dulu yaa laporan praktikum kali ini. Semoga readers bisa ngambil manfaatnya. Oh ya, komen-komennya ditunggu nih, biar praktikum selanjutnya bisa lebih baik lagi. Thanksfull buat yang udah baca.. see you..

Referensi:
Modul Praktikum Desain Basis Data

http://tutorial.belajarweb.net/mysql/tutorial-buat-tabel-mysql.html

Rabu, 24 September 2014

Sistem Informasi Butik Zahira

Sistem Informasi Butik Zahira ini merupakan sistem informasi yang digunakan pada sebuah butik. Butik Zahira menjual banyak koleksi pakaian dengan jenis, ukuran, dan harga yang bervariasi. Dari pakaian anak-anak, remaja, dan dewasa, seperti baju, kaos, celana, gaun, busana muslim, hijab, dan masih banyak lagi koleksi lainnya. Butik ini juga memiliki banyak karyawan dan pelanggan. Banyak transaksi yang setiap hari dilakukan. Maka dengan adanya sistem informasi ini, dapat memudahkan pengelolaan dan monitoring aktifitas butik.
Berikut ini adalah ERDnya



Assalamu'alaikum readers, ana mau share nih tentang Database dan temen-temenya. Apa sih database itu?? Yuk kita bahas.

Basis Data 

Basis data atau Database adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi. Basis data merupakan bagian yang sangat penting dalam sistem informasi karena basis data merupakan gudang penyimpanan data yang bakalan diolah lebih lanjut. Dengan basis data Kita dapat terhindar dari redudansi (duplikasi data), hubungan antar data yang tidak jelas, organisasi data, dan update yang rumit. 
Untuk melakukan proses memasukkan dan mengambil data di media penyimpanan data, kita butuh perangkat lunak yang disebut DBMS (Database Management System). Nah, DBMS ini merupakan sistem software yang memungkinkan user dapat mendefinisikan, membuat, memelihara, dan menyediakan akses terkontrol terhadap data. Contoh DBMS antara lain Oracle, SQLite, Ms Acces, MySQL, PostgreeSQL, dan sebagainya. 

Selanjutnya, ana bakalan ngulas sedikit tentang salah satu DBMS yang ana pakek di praktikum.

PostgreSQL 

PostgreSQL atau sering disebut Postgres merupakan salah satu database yang menawarkan skalabilitas, keluwesan, dan kinerja yang tinggi. Penggunaannya begitu meluas di berbagai platform dan didukung oleh banyak bahasa pemrograman. Dalam bidang Teknologi Informasi di Indonesia, Postgres sudah digunakan untuk berbagai aplikasi seperti web, billing system, dan sistem informasi besar lainnya.
PostgreSQL pertama kali ada pada tahun 1996. PostgreSQL ini merupakan produk database relasional yang termasuk dalam kategori free open source software (FOSS). memiliki lisensi GPL (General Public License) dan merupakan salah satu dari sejumlah database server. PostgreSQL menjadi pilihan karena fitur-fiturnya yang maju dan pendekatan rancangan modelnya menggunakan paradigma object-oriented.
Ini nih beberapa fitur PostgreSQL:

  • Inheritance; satu tabeldapat diturunkan model dan beberapa karakteristik dari tabel lainnya.
  • Multi-Version Concurrency Control (MVCC); user diberi data snapshot ketika suatu perubahan dilakukan sampai commit.
  • Rules; suatu query DML yang dikirimkan ke server akan mengalami penulisan ulang (rewrite). Ini terjadi sebelum diproses oleh query planner, dan berbagai fitur lainnya.

PostgreSQL adalah DBMS yang powerful. Keuntungan yang ditawarkan PostgreSQL adalah kapasitas database yang tidak terbatas, dapat menjalankan berbagai macam prosedur pada banyak bahasa pemrograman seperti Java, Perl, Python, Ruby, Tcl, C/C++, dan PL/pgSQL , dan masih banyak fitur lainnya.

Udah tau kan, tentang PosgreSQL. Sekarang kita belajar membuatnya.

Perintah Dasar Database

Untuk membuat database, pastinya harus instal dulu DBMSnya. Disini ana pake PostgreSQL. Masuklah ke SQL Shell (psql). Kemudian, kita harus login dulu. Isikan datanya satu per satu. Jangan lupa isikan passwordnya yaa.
Kalau sudah seperti itu, barulah kita bisa bikin databasenya.

Membuat User Baru

CREATE USER nama_user with createdb password ‘password’;


Bila ingin melihat daftar user, ketik aja \du kemudian enter.

Membuat Database


CREATE DATABASE nama_database;


Untuk melihat daftar database yang tersimpan, ketikkan \l kemudian enter.

Menghapus Database


DROP DATABASE nama_database;

Query Buffer


Query buffer ini digunakan untuk perhitungan matematis.

Berikut contohnya:

Keterangan:

float untuk bilangan desimal.

round untuk pembulatan bilangan.

Query Waktu


Query berikut digunakan untuk menampilkan tanggal dan waktu




Kalau tadi kita udah bikin database pakek PosgreSQL, sekarang giliran ana mau nyobain MySQL. 

Apa itu 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. Sebenarnya, MySQL merupakan turunan konsep dari basisdata sebelumnya, yaitu 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.


Udah sedikit tau kan? langsung kita cobain aja. Kira-kira sama kayak PostgreSQL nggak ya??

Kita bikin lewat Command Prompt.

Pertama Login dulu ya..

Masukkan lokasi MySQLnya. Kemudian masuklah sebagai –u root

Membuat User Baru


Query untuk melihat daftar user:

SELECT user from mysql.user;

Membuat Database baru



Query untuk melihat daftar database yang tersimpan;

SHOW DATABASES;

Menghapus Database



Query Buffer



Query Tanggal dan Waktu



Ternyata, querynya hampir sama yaa, kayak PostgreSQL. Hanya comandnya aja yang beda, seperti menampilkan daftar user, daftar database, dll. Oh ya, ada lagi nih tentang query buffernya, pada Posgres operasinya menghasilkan bilangan bulat ke bawah (bersifat integer), sehingga bila ingin memperoleh hasil yang bener-bener pas, kita harus mengubah dulu ke bentuk desimal dengan fungsi ::float. Sedangkan pada MySQL kita bisa langsung mendapatkan hasil desimal.

Apa yang Membedakan My SQL dengan PostgreSQL?


Secara garis besar ini dia yang membedakan PostegreSQL dengan MySQL:
  • MySQL memiliki dual lisensi, free dan komersial. Untuk yang komersial, tentu fiturnya lebih lengkap. Sedangkan PostgreSQL lisensinya BSD, jadi bener-benar free.
  • Fitur Relational Database MySQL lebih sedikit dibandingkan dengan PostgreSQL, so My SQL lebih ringan dan cocok untuk penggunaan query yang simpel
  • Postgres lebih mendukung untuk multi-cpu, jadi PosgreSQL bisa dihubungkan ke beberapa CPU sekaligus.


So, readers udah pada tahu kan tentang database. Ana review dikit nih. 
Database adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi.Untuk melakukan proses memasukkan dan mengambil data di media penyimpanan data, kita butuh perangkat lunak yang disebut DBMS (Database Management System). DBMS itu banyak macamnya. Diantaranya adalah Oracle, SQLite, Ms Acces, MySQL, PostgreeSQL, dan sebagainya.
Untuk pemilihan DBMSnya  sendiri, kita dapat menyesuakan dengan kriteria yang kita butuhkan. Seperti MySQL dan PostgreeSQL. Keduanya merupakan aplikasi database yang hampir sama. Untuk penggunaannya, kita bisa memiilih sesuai dengan kebutuhan.

Makasih buat readers yang udah baca postingan sekaligus laporan praktikum Desain Basis Data ini. Semoga bermanfaat bagi ana dan antum sekalian. Jangan lupa komen-komennya ana tunggu yaa.. biar laporan ana semakin baik kedepannya. Syukron..


Teman

Popular Posts

Text Widget