Pages

Laporan Praktikum Desain Basis Data

Sabtu, 27 September 2014



BAB II
PEMBUATAN DAN MANAJEMENT TABEL
2.1 Bahasan dan Sasaran
2.1.1 Bahasan

  • Pembuatan tabel
  • Pengelolaan tabel


2.1.2 Sasaran

  • Mahasiswa memahami cara pembuatan maupun penghapusan tabel

  • Mahasiswa memahami cara mengedit struktur dari tabel

  •  Mahasiswa mampu memanipulasi tabel sesuai dengan kebutuhan


    A.  Dasar Teori
1.       MySQL tergolong sebagai DBMS (DataBase Management System). Perangkat lunak ini bermanfaat untuk mengelola data dengan cara yang sangat fleksibel dan cepat. Berikut adalah sejumlah aktivitas yang terkait dengan data yang didukung oleh perangkat lunak tersebut.
·         Menyimpan data ke dalam tabel
·         Menghapus data dalam tabel
·         Mengubah data dalam tabel
·         Mengambil data yang tersimpan dalam tabel
·         Memungkinkan untuk memilih data tertentu yang diambil
·         Memungkinkan untuk melakukan pengaturan hak akses terhadap data
MySQL banyak dipakai untuk kepentingan penanganan database karena selain handal juga bersifat open source. Konsekuensi dari open source, perangkat lunak ini dapat dipakai oleh siapa saja tanpa membayar dan source code-nya bisa diunduh oleh siapa saja.
(Abdul Kadir, Mudah Mempelajari Database MySQL. 2010. Yogyakarta : Andi) hlm 10.
2.       Pengenalan Query
SQL (Structure Query Language) adalah bahasa yang digunakan untuk melayani relasional system database.
SQL secara garis besar terdiri dari 4 macam, yaitu :
a.       DDL (Data Definition Language)
DDL adalah suatu pernyataan untuk mendefinisikan struktur atau skema database. Contoh :
·         Create , untuk membuat object dalam database, bisa berupa table, view, procedure, function, trigger, ataupun package (oracle). Contoh : create table mahasiswa (npm char(7) not null primary key,nama char(30), alamat char(50));
·         Alter, untuk mengubah structur dari suatu objek dalam database.contoh : alter table mahasiswa add email char(30)
·         Drop, untuk menghapus objek dalam database, contoh: drop table mahasiswa;
·         Truncate, untuk menghapus/membersihkan isi table beserta alokasi space yang ada di dalamnya, contoh : truncate table mahasiswa.
·         Comment, memberikan keterangan/komentar pada ke dalam kamus data. berisi deskripsi dari sebuah objek dalam database.
·         Rename, mengganti nama objek dalam database.(Mysql, Oracle)
b.      DML (Data Manipulation Language)
DML adalah pernyataan yang digunakan untuk mengorganisir data dengan menggunakan skema objek.
·         Select, untuk menyeleksi data dari dalam database. contoh : select npm, nama, alamat from mahasiswa;
·         Insert, untuk menginputkan record ke dalam suatu table. contoh : insert into mahasiswa(npm,nama,alamat) values(‘0401034’,’Abdul Malik Ikhsan’,’Jalan Jakarta No. 28’)
·         Update, untuk melakukan update dari table yang sudah dibuat. contoh : update mahasiswa set npm=’001’ where npm=’0401034’;
·         Delete, untuk menghapus isi record baik semuanya ataupun sebagian dari suatu table, cotoh : -delete from mahasiswa (menghapus semua isi ) -delete from mahasiswa where npm = ‘001’(hanya pada kondisionalnya saja).
·         Merge, penggabungan update, insert, delete pada suatu table berdasarkan kondisi yang cocok. (Oracle).
·         EXEC, memanggil procedure yang telah kita buat. contoh : kita buat procedure seleksimhs: create procedure seleksimhs @npm char(7) as select * from mahasiswa where npm=@npm.
·         cara eksekusi : EXEC seleksimhs ‘001’;
c.       DCL (Data Control Language)
Terdiri dari 2 statement, yaitu Grant, Revoke, dan DENY, Grant untuk memberikan hak akses, dan Revoke untuk membuang hak yang telah dilarang dengan perintah Deny atau hak yang telah diberikan oleh perintah GRANT, sedangkan Deny.
Contoh GRANT :
GRANT INSERT, UPDATE, DELETE On mahasiswa To public
Contoh REVOKE
Revoke SELECT On mahasiswa To Public
Contoh DENY
DENY SELECT On mahasiswa To Public
d.      TCL (Transaction Control)
Pernyataan untuk mengelola perubahan yang dilakukan oleh DML.
·         COMMIT => menyimpan hasil perintah
·         SAVEPOINT => identifikasi point transaksi yang akan digunakan nantinya.
·         ROLLBACK => Restore database ke kondisi commit terakhir.
·         SET TRANSACTION => mengubah level transaksi.
Untuk materi postgreSQL dibawah ini
Sebuah tabel terdiri dari baris (row) dan kolom (column), dimana jumlah dan nama kolom harus didefinisikan terlabih dahulu di awal. Sedangkan baris merupakan sebuah variabel yang dapat dihapus dan diisi kapanpun, sehingga jumlahnya selalu berubah sesuai dengan jumlah data didalamnya. Setiap kolom dalam tabel mempunyai tipe data, tipe data digunakan untuk membatasi jenis data yang bisa dimasukkan, sehingga akan mempermudah dalam menggunakannya dan melakukan pengelolaan selanjutnya. Sangat disarankan pada saat akan membuat tabel, sebaiknya membuat sebuah aturan khusus dalam penentuan tabel-tabel yang akan dibuat dan memberikan nama kolom maupun tipe datanya.
1.    Membuat tabel
o   Tabel harus memiliki primary key (sekelompok kolom)
o   Deklarasi primary key tidak boleh kosong(null) harus not null.
Struktur query untuk membuat tabel dengan dua kolom
Create table namatable (namakolom tipedata keterangan, namakolom tipedata keterangan)
*\d : untuk melihat struktur tabel yg telah dibuat
*\z : untuk melihat semua tabel
2.    Manipulasi tabel
o   Menghapus kolom :
Alter table namatable drop column “namakolom”;
o   Menambah kolom :
Alter table namatabel add column “namakolom” tipedata;
o   Mengubah nama tabel :
Alter table namatabelasal rename to namatabelbaru;
o   Mengubah nama kolom :
Alter table namatabel rename column “namakolom asal” to namakolombaru;
o   Mengubah type dari kolom tertentu :
Alter table namatabel alter column namakolom type namatypepengganti;
o   Menambah primary key pada tabel :
Alter table namatabel add primary key (namakolom);
3.         Temporary tabel
Temporary tabel sifatnya hanya sementara, artinya 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 namatabel (namakolom tipedata keterangan , namakolom tipedata keterangan);
4.         Grant dan Revoke
Grant : untuk memberi hak akses pada user tertentu
Revoke : untuk menghapus hak akses pada user tertentu
o   Grant untuk semua hak akses :
Grant all on table namatabel to  namauser;
o   Revoke untuk semua hak akses :
Revoke all on table namatabel from namauser;
o   Revoke untuk menghapus salah satu hak akses, misal UPDATE :
Revoke update on table namatabel from namauser;
o   Grant untuk memberi salah satu hak akses, misal DELETE :
Grant delete on table namatabel to namauser;
5.         Turunan (inheritance)
dipergunakan jika ingin membuat sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan tabel pertama.
query INHERITANCE :
create temporary table namatabel (namakolom tipedata keterangan , namakolom tipedata keterangan) inherits (namatabelinduk);
(Modul Prak DBD bab II 2014)

     B.      Hasil
1.    Hasil praktikum
1.1.   Menggunakan SQL Shell
Praktikum kali ini membahas tentang pembuatan dan manajemen tabel, sekarang kita belajar bagaimana membuat tabel terlebih dahulu.
1)      Seperti biasa, Buka SQL shell nya – masukkan username dan password kemudian koneksikan ke database anda dengan cara \c nama database. Seperti dibawah ini \c dwirahayu13650005; maka akan terkoneksi.
2)      Buat tabel baru dengan nama identitasNIM dengan field yang telah ditentukan. Ketik create table dwirahayu13650005 (id_idn int not null, namaDepan_idn varchar(10), namaBelakang_idn varchar(10), tgl_lhr_idn date, status_idn bool, Alamat_idn text); kemudian enter, jika berhasil akan muncul CREATE TABLE.

3)      Cek tabel yang telah dibuat diatas dengan \d dwirahayu13650005 (\d namatabel).
4)      Buat tabel lagi dengan nama ‘pegawai’ dan nama field sama dengan tabel identitas. Ketik create table pegawai (id_idn int not null, namaDepan_idn varchar(10), namaBelakang_idn varchar(10), tgl_lhr_idn date, status_idn bool, Alamat_idn text); kemudian enter. Dan cek tabel tersebut dengan \d pegawai.
5)      menghapus kolom ‘alamat_idn’ dengan cara alter table pegawai drop column “alamat_idn”; dan cek dengan \d pegawai;
 
6)      menambahkan kolom ‘pekerjaan_idn’ dengan type data varchar dengan cara alter table pegawai add column "pekerjaan_idn" varchar;  dan tampilkan.
7)      ubah nama tabel pegawai menjadi pekerjaNIM. Caranya ketik alter table pegawai rename to pekerta13650005;
8)      Ubah nama kolom ‘pekerja_idn’ menjadi ‘alamat_idn’ dengan alter table pekerja13650005 rename column “pekerja_idn” to alamat_idn; dan tampilkan.
9)      Memberikan Primary Key pada tabel pekerja13650005. Ketikan :  alter table pekerja13650005 add primary key (id_idn); dan tampilkan.
10)   mengubah type data pada kolom ‘alamat_idn’  menjadi text. Ketik alter table pekerja13650005 alter column alamat_idn type text;
11)   Menghapus tabel pekerja13650005. Ketik drop table pekerja13650005;

12)   Membuat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom, yaitu id, nama dan tanggal lahir. Ketik create table mahasiswa_sementara (id_mhs int, nama_mhs varchar, Tgl_lhr date);

13)   Menghapus semua hak akses database dwirahayu13650005 dari administrator, caranya buka SQL Shell baru kemudian masuk dengan username dwirahayu13650005. Dan ketik revoke all on table dwirahayu13650005 from dwirahayu pada SQL shell administrator.

Kemudian cek pada SQL shell yang kedua. Dengan cara select * from dwirahayu13650005;
maka yang terjadi adalah error.
14)   Memberikan hak akses kembali dengan cara ketik grant all on table dwirahayu13650005 to dwirahayu;
Kemudian cek di SQL Shell yang kedua dengan ketik select * from dwirahayu13650005;

15)   Hapus hak akses SELECT dengan cara revoke select on table dwirahayu13650005 from dwirahayu;
Kemudian cek di SQL Shell yang kedua dengan select * from dwirahayu13650005;
maka tidak berhasil men-select.
16)   Membuat tabel baru dengan nama Gaji dari turunan tabel pertama dan ditambahhkan kolom gaji, pajak dan gaji bersih. Dengan cara create temporary table gaji (gaji_kotor int, pajak int, gaji_bersih int) inherits (dwirahayu13650005);
berhasil membuat tabel turunan ^_^ 

2. Tugas rumah

 Dibawah ini pengerjaan soal-soal seperti diatas dengan Menggunakan MySQL 
1.    Double klik xampp control panel, kemudian akan muncul dan klik start pada actions Apache, MySQL dan FileZilla.
 

2.    buka mozilla firefox dan ketik localhost pada addres bar kemudian pilih bahasa yang akan kamu gunakan, maka tampilah utamanya adalah seperti ini :

3.       klik phpMyadmin maka akan tampil

4.       kemudian buat database baru dengan nama dwi13650005

Atau dengan cara : CREATE DATABASE ‘dwi13650005’;
 5.       buat tabel dengan nama identitasNIM seperti dibawah ini

Atau bisa juga :
CREATE TABLE nama_tabel( kolom1 type_data(ukuran) atribut ,kolom1 type_data(ukuran) atribut,kolom1 type_data(ukuran) atribut,kolom1 type_data(ukuran) ,...kolom_n type_data(ukuran));

Contoh :
CREATE TABLE identitas13650005(
‘Id_idn’ INT(8) NOT NULL,
‘namaDepan_idn’ varchar(10),
‘namaBelakang_idn’ varchar(10),
‘Tgl_lhr_idn’ date,
‘status_idn’ boolean,
‘alamat_idn’ text);
Kemudian enter/save.
(7-save)

Kemudian cek hasilnya dengan : SELECT * FROM identitas13650005;

6.       buat tabel pegawai dengan field sama dengan tabel identitas.
Create table – tuliskan ‘pegawai’ pada name dan isikan 6 pada number of columns – kemudian Go.



Isikan sesuai yang diinginkan kemudian save. Maka sekarang ada dua tabel yang telah kamu buat.

7.       hapus kolom alamat_idn pada tabel pegawai

Kemudian akan muncul kotak apakah anda yakin untuk mendelete?

Klik ok maka alamat pegawai sudah terhapus

8.       menambahkan kolom ‘pekerjaan_idn’ pada tabel pegawai dengan type varchar. 
ALTER TABLE ‘pegawai’ ADD ‘pekerjaan_pegawai’ VARCHAR(20) NOT NULL;

9.       ubah nama tabel pegawai dengan pekerjaNIM dan mengubah nama kolom ‘pekerjaan_idn’ menjadi ‘alamat_idn’.
Pertama RENAME TABLE ‘dwi13650005’.’pegawai’ TO ‘dwi13650005’.’pekerja13650005’;

Kemudian ALTER TABLE ‘pekerja13650005’ CHANGE ‘pekerjaan_pegawai’.’alamat_pegawai’ VARCHAR(20) CHARACTER SET latin1 COLLATE latin1_swedish_cl NOT NULL;

10.   Berikan Primary key pada tabel pekerjaNIM dan ubah type data pada kolom “alamat_idn” menjadi text. Kemudian tampilkan struktur tabel.



11.   Hapus tabel pekerja13650005. 
DROP TABLE pekerja13650005;


12.   Buat tabel dengan nama mahasiswa_sementara dengan 3 kolom : id, nama dan tanggal lahir. 
CREATE TABLE identitas13650005(‘Id_mhs’ INT(8) NOT NULL, ‘nama_mhs’ varchar(10), ‘Tgl_lhr_mhs’ date);


13. Buat tabel baru dengan nama gaji, dengan field berasal dari tabel identitas dan tambahkan kolom gaji kotor, pajak dan gaji bersih.
Seperti sebelumnya, create new table – isikan nama tabel – dan isi 9 pada number of columns.

Sudah ada pilihan dari pengisian kolom-kolom sebelumnya anda tinggal meng-enter.

Setelah selesai klik save, maka tabel anda sudah berhasil dibuat.

Dan ini adalah tampilan tabel gaji
selesai ^_^



C.   Perbandingan
No
PostgreSQL
MySQL
Keterangan
1
CREATE DATABASE DB_AKADEMIK;
CREATE DATABASE ‘nama_database’;
Membuat database
2
DROP DATABASE NAMADATABASE;
DROP DATABASE ‘nama_database’;
Menghapus database
3
Create table namatable (namakolom tipedata keterangan, namakolom tipedata keterangan);
CREATE TABLE nama_tabel(
    kolom1 type_data(ukuran) atribut ,
    kolom1 type_data(ukuran) atribut,
    kolom1 type_data(ukuran) atribut,
    kolom1 type_data(ukuran) ,  ...
    kolom_n type_data(ukuran));
Membuat tabel baru
4
alter table namatabel drop column “namakolom”;
ALTER TABLE ‘namatabel’ DROP ‘kolom’;
Menghapus kolom
5
alter table namatabel add column “namakolom” tipe data;
ALTER TABLE ‘namatabel’ ADD ‘namakolom’ TYPEDATA KETERANGAN;
Menambah kolom
6
alter table namatabelasal rename to namatabelbaru;
RENAME TABLE ‘namadatabase’.’namatabelasal’ TO ‘namadatabase’.’namatabelpengganti’;
Mengubah nama tabel
7
alter table namatable rename column “namakolom asal” to namakolombaru;
ALTER TABLE ‘namatabel’ CHANGE ‘namakolomasal’.’namakolombaru’ TYPEDATA KETERANGAN;
Mengubah nama kolom
8
alter table namatable alter column namakolom type namatypepengganti;
ALTER TABLE ‘namatabel’ CHANGE ‘namakolomasal’.’namakolombaru’ TYPEDATA KETERANGAN;
Mengubah type kolom
9
alter table namatabel add primary key (namakolom);
ALTER TABLE ‘namatabel’ ADD PRIMARY KEY (‘namakolom’);
Menambah primary key

10
grant all on table namatabel to namauser;
Grant insert, update, delete on ‘namatabel’ to public
Memberi hak akses
11
revoke all on table namatabel from namauser;
Revoke select on ‘namatabel’ To Public
Menghapus hak akses
 (tabel perbandingan pekerjaan di postgre & mySQL)


TUGAS : Buat database dan tabel sistem pada pertemuan 1 menggunakan query dan dilengkapi dengan tampilan strukturnya.
gambar ERD :
Database struktur
CREATE DATABASE 'perancangan';

1. Barang
CREATE TABLE 'barang' ('kd_barang' INT(10) NOT NULL, 'nm_barang' VARCHAR(30), 'kd_kategori' VARCHAR(15), 'hrg_beli' INT(11), 'hrg_jual' INT(11), 'jumlah' INT(11));

2. detail_pembelian
CREATE TABLE 'detail_pembelian' ('kd_detail_pembelian' INT(10) NOT NULL, 'no_beli' INT(10), 'kd_barang' VARCHAR(10), 'jumlah' INT(11), 'hrg_beli' INT(11));


3. detail_penjualan
CREATE TABLE 'detail_penjualan' ('kd_detail_penjualan' INT(10) NOT NULL, 'no_jual' INT(10), 'kd_barang' VARCHAR(10), 'jumlah' INT(11), 'hrg_jual' INT(11));

 4. detail_retur
CREATE TABLE 'detail_retur' ('kd_retur' INT(10) NOT NULL, 'kd_retur' INT(10), 'jumlah' INT(11), 'hrg_jual' INT(11), 'barang_retur' VARCHAR(15));


 5. detail_tukar
CREATE TABLE 'detail_tukar' ('kd_tukar' INT(10) NOT NULL, 'kd_retur' VARCHAR(10), 'jumlah_tukar' INT(10), 'harga_jual' INT(11), 'kd_barang' VARCHAR(10)); 

6. kategori
CREATE TABLE 'kategori'('kd_kategori' INT(10) NOT NULL, 'nama_kategori' VARCHAR(35));
7. pelanggan
 CREATE TABLE 'pelanggan' ('id_pelanggan' INT(8) NOT NULL, 'nama' VARCHAR(40), 'alamat' TEXT, 'jns_kelamin' VARCHAR(1), 'no_telp' INT(11));

8. pelunasan
CREATE TABLE 'pelunasan' ('kd_pelunasan' INT(11) NOT NULL, 'no_beli' INT(11), 'status' TYNYINT(1), 'sisa_bayar' INT(11), 'jml_bayar' INT(11), 'tanggal' DATE);

9. pemasok
CREATE TABLE 'pemasok' ('id_pemasok' INT(8) NOT NULL, 'nama' VARCHAR(35), 'perusahaan' VARCHAR(40),  'alamat' TEXT, 'no_telp' INT(11));
10.pembelian
CREATE TABLE 'pembelian' ('no_beli' INT(11) NOT NULL,'id_pemasok' INT(11), 'tgl_pembelian' DATE,  'status_bayar' TYNYINT(1), 'sisa_bayar' INT(11), 'jatuh_tempo' VARCHAR(10), 'id_user' VARCHAR(25)); 
11. penjualan
CREATE TABLE 'penjualan' ('no_jual' INT(10) NOT NULL, 'tgl_transaksi' DATE, 'id_pelanggan' INT(11), 'id_user' INT(11));
 
12. retur
CREATE TABLE 'return' ('kd_return' INT(11) NOT NULL, 'tanggal' DATE,  'status_tukar' VARCHAR(10), 'no_jual' INT(10));
13. setting
CREATE TABLE 'setting' ('kdl' INT(11) NOT NULL, 'discount' INT(11), 'jumlah_beli' INT(11), 'min_stock' INT(11)); 
 
14. user
CREATE TABLE 'user' ('id_user' INT(10) NOT NULL, 'nama' VARCHAR(40), 'alamat' VARCHAR(45), 'no_telp' INT(12), 'username' VARCHAR(20), 'password' VARCHAR(10), 'hak_akses' MEDIUMINT(9)); 


D. KESIMPULAN 
1. Rangkuman 
Praktikum diatas membahas tentang elemen-elemen basis data relasional. dimana struktur dasar dari basis data relasional adalah tabel, kolom (field), baris(record), dan kunci.
*tabel : sekumpulan informasi secara logis yang terkait dan diperlakukan sebagai unit.
*baris : kejadian tunggal yang berisi data di dalam tabel.
*kolom : semua baris didalam tabel terdiri atas sekumpulan kolom yang sama.
*kunci : kunci utama adalah suatu kolom (atau kelompok kolom) dimana nilai unik digunakan untuk mengidentifikasi setiap baris didalam tabel.
(Janner Simarmata. 2007. Perancangan Basis Data. Yogyakarta : Andi) hlm. 41

 2. Kritik dan Saran
Ketika praktikum di lab, kami cukup memahami apa yang disampaikan dan apa yang harus dikerjakan. namun, ketika mengerjakan tugas rumah, kami memiliki kesulitan karena kurangnya penjelasan lengkap mengenai tugas. mungkin lebih baik jika dijelaskan secara lengkap tentang tugas dan ada modul yang mendukung pengerjaan tugas, atau ada contoh yang benar agar kami bisa menyelesaikannya dengan benar pula.

 3. Manfaat Pembaca
Pembaca dapat mengetahui bagaimana Membuat database dan menyunting database. serta mengetahui perbedaan ketika mengerjakannya di postgreSQL dan di MySQL, sehingga mempermudah pengerjaan.

E. DAFTAR PUSTAKA
Kadir, Abdul. Mudah Mempelajari Database MySQL. 2010. Yogyakarta : Andi
Simarmata, Janner. 2007. Perancangan Basis Data. Yogyakarta : Andi
http://maliklastchild22.wordpress.com/2012/11/09/7/


1 komentar:

Abd Fauzan mengatakan...

Bagus...
Laporan minggu depan, untuk tugas rumah yang pakai mySQL, jangan pakai versi GUI ya, pakek mySQL yang tampilannya mirip SQL Shell biar lebih greget

Posting Komentar