Selasa, 30 September 2014

Laporan 2 Praktikum DBD

PEMBUATAN DAN MANAJEMENT TABEL
1 Dasar Teori
Database atau basis data merupakan bagian sangat penting dalam sebuah proses pengolahan data. Secara definisi, basis data adalah koleksi data yang saling berhubungan dan memiliki arti dan terorganisasi secara rapi. Data tersebut harus dapat diakses dengan urutan yang berbeda-beda secara logis dengan cara yang relative mudah. Database (basis data) juga sering diartikan sebagai kumpulan file-file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk data untuk menginformasikan satu perusahaan atau instansi.
Definisi Dasar Struktur Database :
  • Data: Sekumpulan fakta mengenai objek tertentu, orang dan lain-lain yang dinyatakan dengan angka, huruf, gambar, film, suara dan sebagainya yang relevan dan belum mempunyai arti.
  • Informasi: Hasil pengolahan data yang konkrit dan sudah mempunyai arti untuk mencapai suatu tujuan tertentu.
  • Tabel: Merupakan hal yang paling mendasar dalam hal penyimpanan data yang terdiri dari field dan record.
  • Field (kolom): Merupakan elemen dari tabel yang berisikan informasi tertentu yang spesifik tentang subjudul tabel pada sebuah item data. Dalam  pembuatan suatu tabel, harus mempunyai PRIMARY KEY, keyword yang berbeda dari yang lain dan tidak boleh kosong (NOT NULL)
  • Baris adalah suatu  elemen tabel yang dapat diiisi dan dihapus bahkan diupdate.
 Sebuah tabel terdiri dari baris (row) dan kolom (column), dimana jumlah dan nama kolom harus didefinisikan terlabih dahulu di awal. Sedangkan baris merupakan sebuah variable 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 konvensi khusus dalam penentuan tabel-tabel yang akan dibuat dan memberikan nama kolom maupun tipe datanya.
Syarat-syarat pembentukan Field Name pada tabel:
a)      Harus Unik atau Spesifik
b)      Boleh disingkat
c)      Pemisah sebagai pengganti spasi dalam pembentuk field adalah tanda lambang “_”
Tujuan awal dan utama dalam pengolahan data pada sebuah basis data adalah agar dapat menentukan kembali data (data yang dicari) dengan mudah dan cepat. Di samping itu, pemanfaatan data untuk pengolahan data juga memiliki tujuan-tujuan tertentu.
Mengenal Tipe Data Field Tabel.
Sebuah table terdiri dari beberapa field yang berisi data-data informasi dari tabel tersebut. Isi dari field-field tabel memiliki tipe-tie tabel memiliki tipe-tipe data tersendiri. Contohnya adalah field id bertipe integer dengan lebar karakter 10, field induk bertipe character degan lebar 100, dan sebagainya.
Berikut beberapa tipe data yang dikenal dalam database MySQL:
  • Tipe Data Numerik
Tipe data numeric dibedakan menjadi dua macam kelompok, tipe data integer dan tipe data floating point. Tipe data integer untuk data bilangan bulat, tipe data floating point untuk data bilangan decimal.
  • Tipe Data String
Yang termasuk dalam tipe data String adalah tipe-tipe sebagai berikut:
  • Tipe Data Char() dan Varchar()
Tipe data Char() dan Varchar pada dasarnya adalah sama, yang membedakan dari keduanya adalah jumlah memory untuk menyimpan data. Memori yang dibutuhkan untuk menyimpan data bertipe char() bersifat statis atau besarnya bergantung pada jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Sementara pada tipe data varchar(), besarnya memori penyimpanan bergantung pada berapa karakter yang ditambah 1 byte yang berisi data jumlah karakter yang dipakai.
  • Tipe Data Tanggal
Untuk tipe tanggal dan waktu (jam), tersedia tipe-tipe data field sebagai berikut:
  1. DATETIME
  2. DATE
  3. TIMESTAMP
  4. TIME
  5. YEAR
KomponenSQL :
•Data Definition Language (DDL) : merupakanperintahSQL yang berhubungan dengan pendefinisian suatu struktur database. Beberapa perintah dasar yang termasuk DDL ini antara lain : CREATE, ALTER, RENAME, DROP.
•Data Manipulation Language (DML) : merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain : SELECT, INSERT, UPDATE, DELETE.
Data Control Language (DCL) : merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges). Perintah SQL yang termasuk dalam DCL antara lain : GRANT, REVOKE
2. Membuat Tabel
Dalam membuat suatu tabel kita harus mempunyai database terlebih dahulu yang akan diisi sebuah tabel. Perintah untuk membuat database telah dilakukan pada praktikum 1 yaitu : CREATE nama_database. Setelah kita membuat atau menentukan database yang akan kita isi dengan suatu tabel maka tabel dapat berfungsi, sehingga kita dapat menjalankan fungsi-fungsi tabel.
Dalam Pembuatan Tabel:
  • 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.
Untuk melihat struktur tabel yang telah dibuat ketikkan perintah \d dan melihat semua tabel menggunakan \z.
3. Memanipulasi 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 perlu diingat hal ini bukan manipulasi data melainkan manipulasi struktur tabelnya.
Untuk memanipulasi atau mengubah struktur suatu tabel bentuk perintah untuk SQL dengan menggunakan ALTER TABLE nama_tabel alter_options, dimana : ALTER TABLE merupakan perintah dasar untuk mengubah tabel , nama_tabel merupakan nama tabel ayng akan dirubah strukturnya. Dan alter_options merupakan pilihan perubahan tabel. Beberapa option yang sering digunakan dalm memanipulasi tabel seperti ADD, CHANGE, MODIFY,DROP,RENAME.
4. 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. Keuntungan penggunaan tabel temporary adalah tidak  membebani besarnya file, keuntungan lainnya adalah tabel temporary dapat digunakan untuk proses secara bersamaan pada waktu yang sama dengan user yang berbeda-beda.
5. 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.
6.                           6. Turunan (Inheritance)
INHERITANCE dipergunakan jika ingin membuat sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan tabel pertama.
2. PEMBAHASAN 
1.      Membuat table identitasnim 
Adapun Query untuk membuat table dalam mySQL, sebenarnya tidak terlalu berbeda dengan menggunakan postgreSql.
v  Kita pilih database yang ingin kita beri tabel, disini saya mengunakan database renatawidia13650118
v  Query untuk membuat tabel yaitu :
create table namatabel (tipe namakolom tipedata keterangan, namakolom tipedata keterangan);
   saya akan membuat table identitasNIM yang berisi field-field tertentu query nya yaitu :
create table identitasnim ( Id_idn Integer Not Null, namaDepan_idn Varchar(10), namaBelakang_idn Varchar(10), tgl_lahir_idn Date, status_idn Boolean, Alamat_idn Text);
            kemudian kita pilih Go :


v  Maka akan tampil seperti gambar berikut, menandakan bahwa tabel identitasnim berhasil di buat
            Berikut table identitasNim yang telah berhasil dibuat:
 
2.      Membuat table pegawai
Untuk membuat table pegawai tidak berbeda dengan table identitasnim , hanya saja kita rubah nama table menjadi pegawai karena field-field dalam pegawai sama dengan identitasnim
Query table pegawai yaitu :
create table pegawai ( Id_idn Integer Not Null, namaDepan_idn Varchar(10), namaBelakang_idn Varchar(10), tgl_lahir_idn Date, status_idn Boolean, Alamat_idn Text);
            kemudian kita pilih Go :

Berikut table pegawai yang telah kita buat :
3.      Menghapus colom alamat_idn :
Query untuk menghapus kolom yaitu :
alter table namatabel drop column namakolom;
query untuk menghapus colom alamat_idn :
alter table pegawai drop column alamat_idn
            kemudian pilih Go , maka akan muncul seperti berikut : 
            pilih ok , maka kolom akan terhapus 
Berikut tabel pegawai , dan alamat_idn telah terhapus.

4.      Menambahkan  kolom “pekerjaan_idn” dengan type data varchar dan tampilkan struktur tabel pegawai.
Query nya yaitu :
Alter table pegawai add column pekerjaan_idn varchar (10);
            pilih Go 
            Maka kolom pekerjaan_idn berada dalam table pegawai 


5.      Ubah nama tabel pegawai menjadi pekerjaNIM kemudian ubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan tampilkan
Struktur query yang digunakan untuk mengubah nama tabel :
alter table namatabelasal rename to namatabelbaru;
berikut query untuk mengubah table pegawai menjadi table pekerjaNIM :
alter table pegawai rename to pekerjaNIM
                        pilih Go 
Berikut table pekerjaNIM : 
berikut query untuk mengubah kolom pekerjaan_idn  menjadi alamat_idn :
alter table pekerjaNIM change column pekerjaan_idn alamat_idn text
            pilih Go 
            Maka kolom pekerjaan_idn akan berubah menjadi alamat_idn seperti gambar berikut : 

6.      Berikan Primary key pada tabel pekerjaNIM dan ubah type data pada kolom “alamat_idn” menjadi text. Kemudian tampilkan struktur tabel.
Jika kita ingin memberi Primary Key pada table pekerjaNIM , maka kolom yang pas untuk dijadikan Primary Key yaitu pada kolom id_idn.
Struktur query yang digunakan untuk menambahkan primary key pada tabel :
alter table namatabel add primary key (namakolom);
            berikut query untuk menjadikan id_idn menjadi primary key :
            alter table pekerjanim add primary key(id idn)
                        pilih Go 
Maka id_idn telah menjadi primary key .
Jika kita menambahkan primary key pada kolom yang lain, misalnya disini kolom namadepan_idn , maka tidak akan berhasil. Harena terdapat 2 primary key dalam 1 tabel. Dan itu tidak boleh. Berikut gambarnya : 
Membuat kolom alamat_idn menjadi tipe data text :
Query nya yaitu :
alter table pekerjanim` change`alamat_idn` `alamat_idn` text”;
Berikut tabel akhirnya :
7.      Hapus tabel pekerjanim ,
Jika ingin menghapus, maka query nya yaitu : drop table pekerja nim .pilih go , klik ok  maka akan terhapus. Table hanya tersisa yaitu table identitasnim.
8.      Buat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan tampilkan tabel atau strukturnya.
Querinya yaitu :
create temporary table `mahasiswa_sementara`(id int primary key,nama varchar(15),tanggal_lahir date) ;
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.
Berikut gambarnya : 
9.      Hapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan lakukan pengecekan. Kemudian berikan semua hak akses kembali dan lakukan pengecekan kembali. Hapus hak akses SELECT tabel tertentu kepada salah satu user dan lakukan pengecekan.
GRANT
Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE) dan hak khusus berkenaan dengan sistem databasenya.
Contoh:
Kita pilih terlebih dahulu database yang akan dipindah hak aksesnya lalu kita ketikkan query: grant all on renatawidia13650118 to renata;
Jika ingin mencabut hak akses kita bisa menggunakan perintah REVOKE.
Query : revoke all on renatawidia13650118 from renata;
berikut yang telah berhasil

10.  Buat tabel baru dengan nama Gaji, dengan catatan pembuatan tabel berasal dari turunan tabel number 1 dan tambahkan kolom gaji kotor, pajak, dan gaji bersih. Kemudian tampilkan strukturnya.
Query nya yaitu : create table turunan like tabel induk;



Kemudian isikan field-field didalamnya:
Berikut query nya : Alter table gaji add column (gaji_kotor int, pajak int, gaji_bersih);
Berikut struktur tablenya :



Hasil tugas Rumah :
Berikut ERD Sistem Perpustakaan 
Pada tugas kali ini saya membuat ERD sistem perpustakaan, yang mana terdIri dari 3 tabel . tabel 1 adalah tabel buku,tabel 2 yaitu tabel mahasiswa , dan yang ke 3 yaiu tabel supplier.
Pada tabel buku fieldnya terdiri dari: Kode, judul, pengarang, ygl_pinjam,dan tgl_kembali
Primary key pada tabel buku yaitu KODE
Pada tabel mahasiswa fieldnya diantaranya: Nim, nama, alamat, tgl_lahir, no_tlpon
Primary key pada tabel  mahasiswa yaitu NIM
Pada tabel supplier fieldnya yaitu: Id_supplier , nama, alamat, no_tlpon
Primary key pada tabel supplier yaitu ID_SUPPLIER
Berikut cara untuk membuat database sistem_perpustakaan
Query nya yaitu : create database_sistem_perpustakaan


Jika berhasil maka database sistem_perpustakaan akan muncul
Selanjutnya kita buat tabel-tabel yang ada di dalam sistem_perpustakaan .
1.      Yaitu tabel buku,
Query nya yaitu :
create table buku(kode int(20) primary key, judul text, penerbit text, tgl_pinjam date, tgl_kembali);


Kemudian pilih Go, jika berhasil maka akan muncul gambar berikut :
Berikut struktur dari tabel buku :


2.      Selanjutnya yaitu tabel mahasiswa,
Query nya yaitu : create table mahasiswa(nim int(8) primary key, nama text, alamat text, no_tlpon int(12), tgl_lahir date);
Kemudian pilih go 
Jika berhasil maka akan muncul gambar seperti berikut:


            Berikut field dari tabel mahasiswa:
3.      Dan yang terakhir yaitu tabel supplier ,
Querynya yaitu : create table supplier(id_supplier int(10) primary key, nama varchar(25), no_tlpon int(12), alamat text );

            Pilih go, jika berhasil maka akan tampil gambar berikut:
            Berikut struktur dari tabel supplier
            3.       Perbandingan PostgreSql dan mySql
  1. Dalam Querynya, lebih spesifiknya  mySql , untuk menghapus kolom pada postgre tidak menggunakan tanda petik yang diikuti nama tabel kalau di mysql malah eror kalo menggunakan petik.
  2. Untuk membuat table mySql membutuhkan suatu database terlebih dahulu , sedangkan postgree tidak memerlukan suatu database
  3. Untuk penambahan kolom pada mySQL diperlukan tipe data dan panjangnya , sedangkan jika di postgre tanpa menuliskan tipe data dan panjangnya.
  4. Menurut saya postgre lebih memudahkan dalam pengerjaannya karena aku lebih banyak tau query postgre dari pada mysql.
Berikut adalah kelebihan dan kekurangan dari Postgresql
Kelebihan:
ü  Untuk menggunakan data base dan tabel query pada postgresql lebih mudah dan singkat
ü  Untuk mengoneksikan dan menampilkan database serta tabel dengan query lebih mudah
Kekurangan :
ü  Kurang begitu populer dan cocok bekerja di lingkungan web jika   dibandingkan dengan mysql.
ü  Kurang fokus dalam hal kelangsingan dan kecepatan. arsitektur dengan multiproses ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented.
ü  Tidak dapat mengetahui jika ada kesalahan query
Berikut adalah kelebihan dan kekurangan dari mysql/phpmyadmin
Kelebihan mysql:
ü  Dapat bekerja di beberapa platform yang berbeda seperti LINUX, Windows, MacOS, FreeBSD, Solaris, dll.
ü  Jika terdapat kesalah maka akan mudah diketahui karena ada petunjuknya   Cocok untuk penggunaan perkantoran karena mudah dipahami
Kekurangan :
ü  Untuk menampilkan database dengan query menggunakan query yang lumayan panjang.
4.     Kesimpulan :
Setelah kita melakukan prakitikum kita dapat mengetahui Pengertian Table, Database dan Primary Key.Table / tabel adalah daftar yang berisi ikhtisar sejumlah data-data informasi yang biasanya berupa kata-kata maupun bilangan yang tersusun dengan garis pembatas.Database adalah kumpulan informasi yang disusun berdasarkan cara tertentu dan merupakan suatu kesatuan yang utuh. Dengan sistem tersebut data yang terhimpun dalam suatu database dapat menghasilkan informasi yang berguna.
Primary key adalah atribut (field) yang dipilih untuk menentukan struktur storage pada organisasi file multi key, adapun key lainnya disebut dengan secondary key. Nilai dari primary key adalah unik.Kita juga telah belajar memanipulasi data, seperti membuat tabel , mengganti nama tabel, menghapus tabel, menggati nama pada kolom, menambah kolom merubah jenis/ type data pada kolom , menghapus kolom, membuat temporary serta  tabel dan grant revoke.
Saran :
Untuk dapat menguasai pembuatan dan management tabel memang di butuhkan  suatu latihan yang banyak untuk dapat memahami query – query apa saja yang harus dipakai.
Kritik :
Menggunakan mySql agak berbeda dengan hasil praktikum yang telah dilakukan menggunakan postgres  jadi agak bingung untuk memakai query .
Saat praktikum sebaiknya di jelaskan terlebih dahulu tentang konsep tugas atau laporan yang harus dibuat , sehingga kami tidak kebingungan untuk mengerjaka tugas . dan mohon kesabarannya dalam mengahdapi kami.
Manfaat bagi pembaca :
Lebih bisa memahami tentang database, tabel , struktur tabel
Lebih bisa mengetahui pembuatan databse, pembuatan tabel , kolom, dll.
Sumber rujukan :
Modul praktikum dbd 2014
Winong.R, Renati.2008.PHP dan MySQL untukPemula.Yogyakarta: Andi.
http://www.tutorialspoint.com/mysql/mysql-temporary-tables.html