Welcome to SinauOnlen

Selamat datang di Official Sinau Onlen, blog ini berisi tentang terobosan-terobosan bagi Anda yang ingin mencari ilmu seputar pemanfaatan Teknologi untuk meningkatkan kualitas pendidikan. Blog ini sangat berguna bagi murid maupun pengajar yang ingin memberi warna berbeda di tempat ia menjalani pendidikan.....

Read More

MAN Sidoarjo

MAN Sidoarjo (Madrasah Aliyah Negeri Sidoarjo) adalah sekolah kebanggan kami yang setiap hari dipelajari ilmu dunia dan agama, jadi diseimbangkan antara kemajuan IMTAQ dan IPTEK. Alamat MAN Sidoarjo berada di Jl. Stadion No. 2 Sidoarjo, Telp./ Fax. (031)8963805.

Read More

Ikatan Komputer SMANSA

SMANSA (Ikatan Komputer SMAN 1 Sukabumi mengadakan lomba Blog Competition yang sudah dimulai pendaftarannya. Perlombaan ini hanya untuk tingkat SMP/ Sederajat dan SMA/ Sederajat....

Read More

Cari Tahu Lewat KBBI

KBBI adalah singkatan dari Kamus Besar Bahasa Indonesia. Dengan KBBI online/ dalam jaringan ini, Anda bisa mencari kata sulit tanpa harus membeli KBBI dalam bentuk buku. Silakan nikmati kemudahan belajar hanya dengan akses internet/ pemanfaatan teknologi. Disediakan gratis untuk Anda pecinta ilmu sastra Indonesia. Langsung saja kunjungi website-nya....

Read More

Dukung Si On Ya...!

Blog Sinau Onlen sekarang sedang mengikuti event lomba yang diadakan oleh Ikatan Komputer SMANSA (SMAN 1 Sukabumi). Si On mohon dukungannya untuk lebih baik agar dapat memenangkan kompetisi ini, baik dukunganberupa kritik atau saran maupun doa....

Read More

Join The Community

Blog Competition

Search

Senin, 29 September 2014

Laporan Praktikum Desain Basis Data "Pembuatan dan Manajemen Tabel"



A.    Landasan Teori

a.       Tabel

Tabel terdiri dari baris (row) dan kolom (column). Dimana dalam sebuah tabel itu, jumlah dan nama kolom harus didefinisikan terlebih dahulu, sedangkan untuk baris jumlah dan isinya akan selalu berubah-ubah.  Karena, baris merupakan sebuah variabel yang isinya dapat ditambah atau dihapus setiap waktu, dan isi baris sendiri menyesuaikan kolom, termasuk tipe datanya. Tipe data yang ditentukan dalam sebuah kolom, bertujuan untuk mempermudah dalam mengelola sebuah database, serta mempermudah saat akan dipakai database tersebut. Sangat disarankan pada saat akan membuat tabel, sebaiknya membuat sebuah konvensi khusus dalam penentuan tabel-tabel yang akan dibuat dan memberikan nama kolom maupun tipe datanya.

b.      PostgreSQL

1.      Membuat Tabel

      Catatan :

·         Tabel harus memiliki primary key, artinya dalam pembuatan tabel haruslah terdapat sekelompok kolom (field) yang menyebabkan setiap baris (record) dalam tabel tersebut tidak sama.

·         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 membuat tabel dengan dua kolom:

CREATE TABLE [NAMA TABEL] ([NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN]);
 Untuk melihat struktur tabel yang telah dibuat ketikkan perintah “\d”.

Struktur query yang digunakan menghapus tabel adalah:

DROP TABLE [NAMA TABEL];


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 diubah dan dihapus. PostgreSQL telah menyediakan utilitas untuk manipulasi ini dan perllu diingat hal ini bukan manipulasi data melainkan manipulasi struktur tabelnya.

Struktur query yang digunakan untuk menghapus kolom :

ALTER TABLE [NAMA TABEL] DROP COLUMN “[NAMA KOLOM]”;

Struktur query yang digunakan untuk menambah kolom:

ALTER TABLE [NAMA TABEL] ADD COLUMN “[NAMA KOLOM] ” [SPASI] [TIPE DATA];

Struktur query yang digunakan untuk mengubah nama tabel :

ALTER TABLE [NAMA TABEL ASAL] RENAME TO [NAMA TABEL BARU];

Struktur query yang digunakan untuk mengubah nama kolom :

ALTER TABLE [NAMA TABLE] RENAME COLUMN “[NAMA KOLOM ASAL]” TO [NAMA KOLOM BARU] ;

Struktur query yang digunakan untuk menambahkan primary key pada tabel :

ALTER TABLE [NAMA TABEL] ADD PRIMARY KEY ([NAMA KOLOM]);


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 [NAMA TABEL] ([NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE gran allDATA] [SPASI] [KETERANGAN]);

4.      GRANT dan 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.

      Berikut struktur penggunaan GRANT  untuk semua hak akses :

GRANT ALL ON TABLE [NAMA TABEL] TO [NAMA USER];


      Berikut struktur penggunaan REVOKE untuk semua hak akses :

REVOKE ALL ON TABLE [NAMA TABEL] FROM [NAMA USER];


Struktur query untuk menghapus salah satu hak akses, misalnya UPDATE :

REVOKE UPDATE ON TABEL [NAMA TABEL] FROM [NAMA USER];

Struktur query untuk memberi salah satu hak akses, misalnya DELETE :

GRANT DELETE ON TABEL [NAMA TABEL] TO [NAMA USER];

5.      Turunan (Inheritance)

INHERITANCE dipergunakan jika ingin membuat sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan tabel pertama.

Struktur penggunaan query INHERITANCE :

CREATE TEMPORARY TABLE [NAMA TABEL] ([NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN]) INHERITS (NAMA TABEL INDUK);

6.      Hubungan Antar Tabel /Relasi (References)

Dalam hal hubungan antar tabel, ada beberapa syarat yang harus terpenuhi seperti, antara tabel yang ingin dihubungkan harus memiliki sebuah field dengan tipe data yang sama. Dengan kata lain ada tabel yang memiliki primary key sebagai kunci untuk menghubungkan ke tabel yang lain dimana terdapat field yang mempunyai tipe data yang sama dengan kata lain yang disebut foreign key. Misalnya, terdapat tabel barang dan macam_barang. Berikut query kedua tabel tersebut :

CREATE TABLE barang (bar_id INTEGER NOT NULL, bar_nama VARCHAR(15), mac_id INTEGER NOT NULL REFERENCE macam_barang, PRIMARY KEY (bar_id, mac_id));          

CREATE TABLE macam_barang (mac_id INTEGER NOT NULL, mac_nama VARCHAR(15), mac_guna VARCHAR(40), PRIMARY KEY (mac_id));

Barang

Bar_id

Bar_nama

Mac_id

Macam_barang

Mac_id

Mac_nama

Mac_guna

c.       MySQL

1.      Membuat Tabel

Untuk membuat tabel dalam MySQL, harus dikoneksikan dahulu salam database, acranya dengan mengetikkan kode query “use nama_database;”, kemudian  bisa dilanjutkan membuat tabel dengan query code:

CREATE TABLE nama_tabel (

field1 tipe(panjang),

field2 tipe(panjang),

...

 fieldn tipe(panjang),

 PRIMARY KEY (field_key)

);



Contoh:

CREATE TABLE pelanggan (

id_pelanggan varchar(5) NOT NULL,

nm_pelanggan varchar(30) NOT NULL,

alamat text,

telepon varchar (20),

email varchar (50),

PRIMARY KEY(id_pelanggan)

);


Selanjutnya untuk melihat tabel mhs sudah benar benar sudah ada atau belum, ketikkan perintah berikut ini :

SHOW TABLES;

Untuk melihat struktur tabel secara lebih detail, cobalah perintah

atau query sebagai berikut :

DESC nama_tabel;.



2.      Manipulasi Tabel

Untuk mengubah struktur suatu tabel, bentuk umum perintah SQL-nya

sebagai berikut :

ALTER TABLE nama_tabel alter_options;



Beberapa contoh variasi perintah ALTER untuk mengubah struktur suatu tabel antara lain :

Menambahkan field ke tabel

ALTER TABLE nama_tabel ADD nama_field tipe_data keterangan;

Menambahkan primary key pada suatu tabel

ALTER TABLE nama_tabel ADD PRIMARY KEY(field);

Mengubah tipe field  menjadi varchar dalam tabel

ALTER TABLE nama_tabel MODIFY nama-field varchar(8) NOT

NULL;

Menghapus field  dari tabel

ALTER TABLE nama_tabel DROP nama_field;



Untuk mengubah nama suatu tabel, dapat menggunakan perintah SQL:

RENAME TABLE pelanggan TO plg;

ALTER TABLE plg RENAME TO pelanggan;



Untuk menghapus sebuah tabel, bentuk umum dari perintah SQL adalah

sebagai berikut :     

DROP TABLE nama_tabel;



3.      Temporary Tabel

Untuk membuat temporary tabel dalam MySQL, perintah query seperti di bawah ini:

CREATE TEMPORARY TABLE NAMA_TABEL (nama_field tipe_data keterangan, nama_field tipe_data keterangan);



4.      GRANT dan REVOKE

Untuk mengatur hak akses di MySQL, pada dasarnya kita menggunakan

bentuk perintah GRANT dan REVOKE.

Berikut ini bentuk umum perintah GRANT dan REVOKE secara

sederhana :

GRANT priv_type

ON {tbl_name | * | *.* | db_name.*}

TO user_name [IDENTIFIED BY 'password']

[WITH GRANT OPTION];



REVOKE priv_type

ON {tbl_name | * | *.* | db_name.*}

FROM user_name;



Berikut ini pilihan untuk priv_type dalam bentuk umum perintah

GRANT dan REVOKE di atas:





ALL PRIVILEGES            FILE   RELOAD

ALTER                    INDEX           SELECT

CREATE                 INSERT          SHUTDOWN

DELETE                  PROCESS      UPDATE

DROP                      REFERENCES          USAGE



Perintah GRANT dan REVOKE dapat digunakan untuk membuat user

barumaupun mengatur hak akses user yang sudah ada dengan hak akses (privileges)tertentu. Tingkatan hak akses user dapat terbagi menjadi

tingkatan global(tersimpan di tabel mysql.user), database (tersimpan di

tabel mysql.host danmysql.db), tabel (tersimpan di tabel mysql.tables_priv) dan kolom (tersimpan di tabel mysql.columns_priv).

Setiap perubahan hak akses di MySQL, termasuk menambahkan user

baru,tidak akan berlaku sebelum diakhiri dengan perintah

FLUSH PRIVILEGES;.



B.     Hasil Praktikum dan Tugas Rumah
  HASIL PRAKTIKUM
1.    PostgreSQL

a.       Silakan masuk dalam akun PostgreSQL, gunakan SQL Shell.

b.      Pertama, silakan membuat user akun lain untuk nanti dilakukan dalam percobaan. Misalkan saja kita namakan dan diberi password “user1”. Query nya, CREATE USER USER1 WITH CREATEDB PASSWORD ‘USER1’;

c.       Kita buat tabel idnetitasnim, dengan ketentuan seperti query berikut: CREATE TABLE identitasNIM (Id_idn integer not null, namaDepan_idn varchar(10), namaBelakang_idn varchar(10), tgl_lahir date, status_idn boolean, alamat_idn text);. Jika sudah, kita coba tampilkan table nya dengan mengetikkan “\d identitasNIM;”.

d.      Lalu, kita buat lagi tabel pegawai, dengan ketentuan yang sama seperti tabel identitasNIM. CREATE TABLE pegawai (Id_idn integer not null, namaDepan_idn varchar(10), namaBelakang_idn varchar(10), tgl_lahir date, status_idn boolean, alamat_idn text);. untuk menampilkan tabel yang telah dibuat, ketikkan  \d pegawai;.

e.       Untuk melihat tabel apa saja yang telah dibuat, ketikkan “\z”.

f.       Kemudian, menghapus kolom/ field alamat_idn, caranya ketik ALTER TABLE pegawai DROP column “alamat_idn;. Lakukan pengecekan dengan “\d pegawai;”.

g.      Lalu, kita akan menambahkan field pekerjaan_idn pada tabel pegawai. Querynya seperti: ALTER TABLE pegawai ADD COLUMN “pekerjaan_idn” varchar(15);. Lakukan pengecekan “\d pegawai”.

h.      Rubah nama tabel pegawai menjadi pekerjaanNIM. Querynya: ALTER TABLE PEGAWAI RENAME TO PEKERJAANNIM;. Iihat tabelnya dengan “\z”.


i.        Merubah nama field pekerjaan_idn menjadi alamat_idn dalam tabel pekerjaanNIM. ALTER TABLE pekerjaannim RENAME COLUMN “pekerjaan_idn” to “alamat_idn;. Tampilkan hasilnnya “\d pekerjaannim”.

j.        Merubah tipe data field alamat_idn yang semula varchar menjadi text. ALTER TABLE pekerjaannim ALTER COLUMN alamat_idn TYPE TEXT;. Tampilkan hasilnya  “\d pekerjaannim”.


k.      Setelah itu, hapus tabel pekerjaannim, dengan cara DROP TABLE pekerjaannim;. Lihat hasilnya “\z”.

l.        Membuat temporary table dengan ketentuan seperti di bawah ini. CREATE TEMPORARY TABLE mahasiswa_sementara ( id integer not null, nama varchar(35), tgl_lahir date);. Tampilkan tabel temporarynya “\d mahasiswa-sementara”,

m.    Hapus hak ases user 1 terhadap tabel identitasnim. REVOKE ALL ON TABLE identitasnim FROM USER1;.

n.      Untuk mengecek sudah direvoke apa belum, masuk memakai akun user lain dalam SQL Shell, ketikkan SELECT * FROM identitasnim;.

o.      Untuk memberikan kekbali hak aksespada akun user1, kita grant kembali, GRANT ALL ON TABLE identitasnim to user1;.

p.      Cek kembali menggunakan akun user1, SELECT * FROM identitasnim;. Sekarang sudah bisa diakses.

q.      Tutup kembali hak akses SELECT kepada akun user1. “REVOKE SELECT ON TABLE identitasnim FROM user1;”.

r.        Lakukan pengecekan dalam akun user1, akan muncul tampilan denied,

s.       Membuat tabel gaji, dengan ketentutan seperti di bawah ini. Namun, dilakukan dengan cara inherits.  CREATE TABLE gaji (gaji_kotor integer, pajak integer, gaji_bersih integer) inherits (identitasnim);. Lihat tabelnya “\z”, lalu munculkan strukturnya “\d gaji”.


2.    MySQL

a.         Masuk ke dalam akun super user MySQL, caranya dengan “mysql -h localhost –u root”.

b.         Membuat akun dengan username dan password “user1”. Caranya ketika “CREATE USER ‘user1’ @’localhost’ identified by ‘user1’;”

c.         Kita buat database praktikum2 untuk menaruh hasil percobaan kali ini. Caranya ketik “CREATE DATABASE praktikum2;”.

d.        Jika sudah berhasil, kita koneksikan databasenya, dengan cara “USE praktikum2;”.

e.         Kita buat tabel dengan nama identitasNIM dengan ketentuan seperti di bawah ini. “CREATE TABLE identitasNIM (id_idn integer not null, namaDepan_idndatevarchar(10), namaBelakang_idn varchar(10),  tgl_lahir date,  status_idn boolean, alamat_idn text);”. Pastikan bahwa tabel sudah selesai dibuat dengan “show tables;”. Setelah itu, lihat struktur tabel secara lengkap “desc identitasnim;”.

f.          Dengan langkah seperti di atas, kita buat lagi tabel pegawai.

g.         Kita hapus field alamat_idn dalam tabel pegawai, caranya “ALTER TABLE pegawai DROP  alamat_idn;”. Lihat strukturnya “desc pegawai;”.

h.         Setelah itu, tambahkan field pekerjaan_idn dalam tabel pegawai. “ALTER TABLE pegawai ADD pekerjaan_idn varchar(15);”.

i.           Rubah nama tabel pegawai menjadi pekerjaanNIM. “RENAME TABLE pegawai TO pekerjaanNIM;”. Tampilkan bahwa tabel sudah berhasil dirubah “show tables;”.

j.           Dalam tabel pekerjaannim, rubah nama field pekerjaan_idn mejadi alamat_idn dengan tipe data text. “ALTER TABLE pekerjaannim change pekerjaan_idn alamat_idn text;”. Lihat hasilnya “desc pekerjaannim;”.

k.         Pada tabel pekerjaannim, kita beri primary key pada tabelnya. Dengan cara “ALTER TABLE pekerjaannim ADD  PRIMARY KEY (id_idn);”. Lihat hasilnya “desc pekerjaannim;”.

l.           Jika sudah, hapus tabel pekerjaannim “DROP TABLE pekerjaannim”. Setelah itu lihat “show tables;”.

m.       Kita membuat temporary tabel dengan ketentuan seperti di bawah ini. “CREATE TEMPORARY TABLE mahasiswa_sementara (id integer not null, nama varchar(35), tgl_lahir date);”.

n.         Tampilkan struktur lengkapnya dari tabel temporary yang telah dibuat “desc mahasiswa_sementara;”.

o.         Mari kita REVOKE tabel yang telah dibuat kepada user1, agar tidak bisa diakses. “REVOKE ALL PRIVILEGES ON *.* FROM ‘user1’ @’localhost’ identified by ’user1’;”.

p.         Untuk mengecek, masuk pada user1, kemudian koneksokan terlebih dahualu pada database praktikum, masuk pada “desc identitasnim;”, akan muncul bahwa anda tidak bisa mnegaksesnya alias denied.

q.         Lalu, kita cebo untuk membuka hak akses kepada user1. “GRANT ALL PRIVILEGES ON *.* TO ‘user1’ @’localhost’ identified by ‘user1’ WITH GRANT OPTION;”.

r.          Masuk lagi ke akun user1 untuk mengecek apa bisa diakses tabel identitasnim-nya. Koneksikan kepada database praktikum2 dahulu, lalu “desc identitasnim;”.

s.          Masuk pada akun root kembali, sekarang “REVOKE SELECT pada akun user1. “REVOKE SELECT *.* FROM ‘user1’ @’localhost’;”.



t.          Silakan cek kembali pada akun user1, akan kembali di-denied akun Anda saat mengakses tabel identitasnim.



TUGAS RUMAH
 1. QUERY


 2. TABEL






C.     Evaluasi Perbandingan DBMS PostgreSQL dengan MySQL

-       Dalam membuat user, perintah querynya berbeda.

-       Mengoneksikan database dalam postgreSQL dan MySQL berbeda.

-       Untuk cara membuat tabelnya kira-kira sama dalam querynya.

-       Dalam melihat daftar tabel, ada perbedaan query. (show dan \z)

-       Query untuk menampilkan struktur tabel berbeda. (desc dan \d)

-       Dalam menghapus dan menambahkan  field, ada perbedaan dengan adanya tulisan “column serta tanda petik”.

-       Dalam rename tabel, hanya terjadi perubahan posisi kata, serta penambahan kata alter.

-       Ketika merubah field, perbedaannya langsung diminta memasukkan tipe data field pengganti dalam MySQL

-       Dalam GRANT dan REVOKE, di MySQL perintah querynya lebih panjang dibandingkan PostgreSQL.

-       Untuk mengecek sudah di GRANT atau REVOKE, dalam postgreSQL mengecek melalui “SELECT * FROM NAMA_TABEL;”, kalau MySQL melalui “DESC NAMA_TABEL;”.

D.    Kesimpulan

Tabel terdiri baris dan kolom. Dalam bahasa SQL, Anda bisa menerapkannya dalam database seperti MySQL maupun Postgre. Anda bisa membuat tabel, memanipulasi tabel, membuat temporary tabel, memberi perintah keamanan seperti GRANT dan REVOKE, serta bisa memberi turunan tabel / inheritance. Dalam database postgreSQL dan MySQL terdapat banyak perbedaan dalam perintah querynya, namun tidak begitu jauh.

Sebaiknya jika mempelajari PostgreSQL dan MySQL harus berkonsentrasi oenuh, agar keduanya tidak saling tertukar. Karena mempelajari dua database sekaligus. Mungkin seharusnya hanya mempelajarri secara fokus salah satu database saja, sedangkan database lain cukup mengerti dan tahu saja agar tidak tercampur querynya satu sama lain.

E.     Daftar Pustaka

Kadir Abdul, 2000, Konsep & Tuntutan Praktis Basis Data, Yogyakarta: Andi.

Materi Praktikum Desain Basis Data 2013.pdf

Sholichin, Ahmad. 2010. MySQL Dari Pemula Hingga Mahir. Universitas Budi Luhur : Jakarta.

http://dendieisme.blogspot.com/2010/09/mysql-manajemen-user.html?m=1

http://firmanhidayah.blogspot.com/2012/04/mysql-temporary-tables.html?m=1

http://yasnum.wordpress.com/tutorial/data-base/bab-1-sekilas-tentang-server-database-mysql/

http://www.duniailkom.com/tutorial-belajar-mysql-cara-membuat-dan-menghapus-user-mysql-create-user/

Selasa, 23 September 2014

Laporan Praktikum DesainBasis Data "Pengenalan dan Instalasi"




A. Teori
1.      Database
Database atau basis data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut (http://id.wikipedia.org/wiki/Database). Database digunakan untuk menyimpan informasi atau data yang terintegrasi dengan baik di dalam komputer. Untuk mengelola database diperlukan suatu perangkat lunak yang disebut DBMS (Database Management System). DBMS merupakan suatu sistem perangkat lunak yang memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan memanipulasi data yang ada.
Sedangkan RDBMS atau Relationship Database Management System merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar tabel. Di samping RDBMS, terdapat jenis DBMS lain, misalnya Hierarchy DBMS, Object Oriented DBMS, dsb.
Beberapa istilah dalam database atau basis data: