Saturday, June 13, 2020

RANGKUMAN PRAKTIKUM DATABASE

umsida.ac.id
fst.umsida.ac.id

1. Konsep Basis Data

Basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi serta dapat diakses dengan mudah dan tepat menggunakan perangkat lunak (program aplikasi) untuk menghasilkan sebuah informasi.
Sistem basis data merupakan ruang lingkup yang lebih luas dari basis data. Sistem basis data memuat sekumpulan basis data dalam suatu sistem yang mungkin tidak ada hubungan antara satu dengan yang lain, tetapi secara keseluruhan mempunyai hubungan sebagai sebuah sistem yang didukung oleh komponen lainnya.

2.      Konsep Model Data
1.      Model Data Berbasis Objek (Object based data model)

2.      Model Data berbasis Record (Record Based Data Model)
3.      Physical Based Data Model

3.     Melakukan Koneksi ke MySQL :
1.    Melalui DOS Prompt, masuk ke direktori utama MySQL dengan cara sebagai berikut :
  cd C:\xampp\mysql\bin
2.  Setelah itu ketikkan perintah berikut:
Mysql -u root –p

maka akan diminta untuk memasukkan password, isikan password yang digunakan pada saat instalasi, yaitu umsida.
3.Selanjutnya aka nada respon dari server seperti gambar berikut :





4.     Merubah Prompt MySQL :
Rubahlah nama prompt mysql dengan nama dan nim masing-masing mahasiswa.
Sintax :
prompt prakDB/nama( 3 nim terakhir ) >(spasi) (enter)

5.     Perintah-perintah DDL
a.      Membuat Database
   CREATE DATABASE namadatabase;
Dimana :
      Nama database yang dibuat tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama dengan database lain di MySQL. 

b.      Menampilkan daftar Database
Untuk menampilkan daftar basis data yang ada di Mysql dapat menggunakan perintah :
SHOW DATABASES;
Berikut ini perintah untuk menampilkan daftar basis data:
c.      Menghapus Database
Untuk melakukan penghapusan terhadap basis data yang sudah dibuat.
Syntax :
DROP DATABASE namadatabase;
Dimana :
Database yang akan dihapus harus sesuai dengan nama database. Berikut ini perintah untuk menghapus database dengan nama perpustakaa
d.      Mengaktifkan Database
Sebelum membuat suatu tabel, terlebih dahulu harus mengaktifkan database yang akan digunakan untuk menyimpan tabel-tabel tersebut dengan perintah :
USE namadatabase;
karena database yang sudah dibuat telah dihapus maka buat kembali database perpustakaan. Kemudian aktifkan database tersebut dengan perintah :
e.      Membuat Tabel
Dalam basis data tabel atau field berfungsi untuk menyimpan record atau data. Untuk membuat table Syntaxnya adalah :
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]),
Field2 TipeData2 ([lebar]),
...
Field3 TipeData3 ([lebar])
);
Keterangan :
Nama tabel tidak boleh mengandung spasi (space) tetapi jika menginginkan ada spasi harus menggunakan tanda penghubung ( nama_tabel ). Field1 merupakan atribut pertama dan TipeData1 merupakan tipe data untuk atribut pertama. Jika ingin membuat tabel dengan atribut lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,).
Berikut ini perintah untuk membuat tabel dengan nama pengarang :
table pengarang (
kode_pengarang varchar(5),
nama_pengarang varchar(35));
Syntax tambahan :
Maka tabel pengarang telah terbentuk, untuk melihat hasilnya dapat digunakan perintah :
SHOW TABLES;
Untuk melihat struktur tabel yang telah dibuat (dalam hal ini buku) syntaxnya adalah :
DESC namatabel;
Contoh:
desc pengarang;

f.    Menghapus Tabel
Tabel sudah di buat dapat di hapus dengan menggunakan perintah DROP TABLE. Syntax  sebagai berikut:
DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapus tabel dengan nama pengarang :
drop table buku;



4.     Perintah Perintah DML (Data Manipulation Language)

       a.       INSERT
Perintah insert digunakan untuk menambahkan baris pada suatu tabel.
Menambahkan baris dengan mengisi data langsung pada setiap kolom tanpa menyertakan struktur tabel :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Berikut  ini perintah untuk menambahkan baris pada tabel buku :
insert into buku values('B001','Sistem Basis Data',25000,'2004','P001','T001');

Keterangan :
Jika data bertipe string, date atau time (contoh : B001,Sistem basis data,2007-11-10) maka pemberian nilainya diapit dengan tanda petik tunggal (‘B001’) atau petik ganda (“B001”).
Jika data bertipe nemerik (2500,400) maka pemberian nilainya tidak diapit tanda petik tunggal maupun ganda.

       b.       UPDATE
Perintah update digunakan untuk mengubah isi data pada satu atau beberapa kolom pada   suatu tabel.
Syntax :
Update namatabel Set kolom1=nilai1,kolom2=nilai2 [WHERE kondisi];
Perintah dalam tanda [ ]bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk mengubah baris pada tabel pengarang dengan data sebagai berikut :
select * from buku;

Contoh 1 : mengubah semua nilai pada kolom judul_buku menjadi ‘Basis Data’ :
UPDATE buku set judul_buku='Basis Data';

Contoh 2 : mengubah nilai pada kolom judul_buku menjadi basis data terpadu dimana nilai pada kolom kode_buku adalah B001.
UPDATE buku set judul_buku='Basis Data Terpadu' where kode_buku = 'B001';


C.    SELECT
   Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya.
1.       Menampilkan data untuk semua kolom menggunakan asterisk (*) Syntax : SELECT * FROM namatabel;
       Berikut ini perintah untu menampilkan semua data pada tabel buku :
       SELECT * FROM buku;
2.       Menampilkan data untuk kolom tertentu
       Syntax : SELECT kolom1,kolom2,kolom-n From namatabel;
     Berikut ini perintah untuk menampilkan data pada tabel buku dengan kolom yang ditampilkan adalah kolom kode_buku.
       SELECT kode_buku FROM buku;

3.        Menampilkan data dengan kondisi data tertentu dengan klausa WHERE
        Syntax : SELECT * FROM namatabel WHERE kondisi;
     Berikut ini perintah untuk menampilkan data pada tabel buku dimana nilai pada kolom kode_buku adalah B001 :
       SELECT * FROM buku where kode_buku=’B001’;
4.        Memberikan nama lain pada kolom
       Syntax : SELECT namakolomlama AS nama kolom baru FROM nama tabel;
      Berikut ini perintah untuk memberikan nama lain pada kolom judul_buku menjadi judul pada tabel pengarang :
       SELECT judul_buku as judul FROM buku;

5.        Menggunakan alias untuk nama tabel
       Syntax : SELECT nama alias, jenis, nama alias,harga FROM nama tabel nama alias
       Berikut ini perintah untuk memberikan alias pada tabel buku :
       SELECT j.judul_buku, j.harga FROM buku j;

d.         DELETE
       Perintah delete digunakan untuk menghapus satu baris,baris dengan kondisi tertentu atau seluruh baris. Syntax :
       DELETE FROM namatabel [where kondisi];
    Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk menghapus baris pada tabel buku dengan data sebagi berikut :

       Contoh1 : jika ingin menghapus seluruh baris pada tabel pengarang :
       DELETE FROM pengarang;


     Contoh 2 : jika ingin menghapus baris yang memiliki nilai ‘B001’ pada kolom kode_buku pada tabel buku maka perintahnya sebagai berikut:
       DELETE FROM buku where kode_buku=’B001’;


5.    Query dan View
A.      Query

       Query merupakan suatu proses pengolahan data yang digunakan untuk memberikan hasil dari basis data berdasarkan kriteria tertentu. Query tidak hanya membaca atau mengambil data,Query biasanya melibatkan beberapa tabel yang direlasikan dengan menggunakan field kunci.Namun query juga dapat digunakan pada satu tabel saja,tetapi hasilnya kurang informatif dan terbatas.
1.         Jenis – jenis join pada query.
·      Inner Join
      SELECT nip,nama,jabatan_pgw FROM pegawai join jabatan on(pegawai.kd_jabatan = jabatan.kd_jabatan);


·      Equijoin
    SELECT pegawai.nip, pegawai.nama, jabatan.jabatan_pgw FROM pegawai, jabatan where pegawai.kd_jabatan=jabatan.kd_jabatan;



·      Self-Join
    SELECT a.nip, b.nama FROM pegawai a, pegawai b where a.tmp_lahir='Pasuruan' AND a.tmp_lahir='Pasuruan';

·      Natural Join
     SELECT pegawai.nip, pegawai.nama, bagian.nama_bagian FROM pegawai NATURAL JOIN bagian;
       2      View
     View adalah perintah query yang disimpan pada database dengan suatu nama tertentu,sehingga bisa digunakan setiap saat untuk melihat data tanpa menuliskan ulang query tersebut.
a.    Data lengkap pegawai (jabatan,bagian dan golongan yang ditampilkan buka kode saja tapi juga  namanya).
      create view view_pegawai as
 -> SELECT a.nip, a.nama, a.kelamin, a.tmp_lahir, a.tgl_lahir, a.telepon,a.kd_jabatan,b.jabatan_pgw, a.kd_golongan, c.golongan_pgw, a.kd_bagian, d.nama_bagian
     -> from pegawai a, jabatan b, golongan c, bagian d where a.kd_jabatan=b.kd_jabatan and a.kd_golongan=c.kd_golongan and a.kd_bagian=d.kd_bagian;


Hasil :

b.    Absensi pegawai
  create view view_absensi as
 select a.nip, b.nama, a.tgl_absen, a.jam_masuk, a.jam_keluar, a.keterangan
 from absensi a join pegawai b on a.nip=b.nip;

 Hasil :


6.     Data Control  Language (Dcl) / Hak Akses User
A.      Mengatur Hak Akses 
     Untuk MySQL versi 3.22 keatas dalam manajemen user dapat menggunakan perintah GRANT dan REVOKE untuk mengatur hak akses pemakai (user).

1.         Perintah GRANT
Dipergunakan untuk membuat user baru dengan izin aksesnya.
Bentuk umum :

GRANT jenis_akses (“nama_kolom) ON nama_database TO nama_user IDENTIFIED BY “nama_password” [WITH GRANT pilihan akses]
Atau

GRANT hak_akses ON namatabel TO pemakai;

Dimana :
·     Hak_akses merupakan hak yang diberikan kepada pemakai berupa SELECT,INSERT saja atau keduanya. Bila hak akses lebih dari satu antar hak akses dipisahkan dengan koma (,).
·      Nama tabel, menyatakan nama tabel yang akan diakses dan diatur.
·  Pemakai,nama pemakai yang telah didaftarkan pada sistem database. Sejumlah pemakai bisa disebutkan dengan dipisahkan tanda koma (,).
Contoh :

   Misalkan kita sebagai administrator basis data yang mempunyai wewenang untuk mengatur hak akses para pemakai. Kita akan mengatur hak akses pengguna siska dan edi (sebagai user).
      GRANT SELECT ON buku To siska;


     Perintah diatas digunakan untuk memberikan hak akses SELECT terhadap tabel buku kepada user siska sehingga user siska dapat menggunakan perintah SELECT untuk melakukan proses query pada tabel buku.
      Hak akses lebih dari satu :
      GRANT SELECT, INSERT, UPDATE, DELETE ON buku TO siska, edi;


B.      Membatasi Hak Akses
      Hak akses perlu dibatasi untuk memudahkan dalam mengatur dan mengawasi pemakaian data serta menjaga keamanan data.

       Contoh :
      Administrator akan memberikan hak akses kepada edi dalam melakukan query tabel buku untuk field tertentu saja. Perintahnya :
       GRANT SELECT, UPDATE (kode_buku,judul_buku,tahun_teerbit) ON buku TO edi;


     Dari perintah diatas user arif hanya dapat melakukan SELECT dan UPDATE terhadap tiga field yaitu kode_buku, judul_buku, tahun_terbit).

C.       Hak Akses Penuh
      Untuk memberikan hak akses penuh kepada pemakai, dapat memakai perintah klausa ALL PRIVILEGES. Tentunya dengan pemberian hak akses penuh kepada pemakai (user).
       Contoh :
      GRANT ALL PRIVILAGE ON buku to siska;
     Atau menggunakan
    GRANT ALL ON buku to siska;

D.      Hak Akses kepada Public
    Untuk memberikan hak akses kepada banyak user dapat menggunakan klausa PUBLIC. Bebrapa DBMS ada yang menggunakan klausa WORLD. Contoh :
      GRANT SELECT, INSERT, UPDATE ON buku TO ‘world’;

E.       Pencabutan Hak Akses
 Pencabutan hak akses sementara
     Untuk melakukan pencabutan atau penghapusan hak akses user menggunakan perintah REVOKE perintah ini juga mampu melakukan pencabutan hak akses sebagian pemakai atau secara keseluruhan.
       Bentuk umum :
       REVOKE hak_akses ON nama_database FROM nama_user;
      Atau
      REVOKE hak_akses ON namatabel FROM nama_user;
     Contoh :
      Administrator ingin mencabut hak akses user siska,maka perintahnya :
      REVOKE SELECT ON buku FROM siska;
      Atau :
      REVOKE SELECT, INSERT ON buku FROM edi;