Sabtu, 04 Oktober 2014

Laporan 3

LAPORAN
PRAKTIKUM DESAIN BASIS DATA
“Perintah Dasar SQL”

Landasan Teori
Structure Query Language (SQL) merupakan bahasa standar yang ditetapkan oleh Americ National Standars Institute (ANSI) untuk mengakses dan memanipulasi data pada Database Relational. Karena sifatnya standar maka setiap software RDMS harus menerapkan bahasa SQL dengan diperbolehkan untuk mengembangkan atau menyertakan perintah-perintah yang non standar.

Menurut fungsinya, bahasa basis data dapat dipilah menjadi 3 bagian:
1.    Data Definition Language (DDL)
Menurut R.Ramakrishnan:
 The subset of SQL that supports the creation, deletion, and modication of tables is called the Data Denition Language (DDL).
·      Create
·      Drop
·      Rename
·      Alter
2.    Data Manipulation Language (DML)
·      Insert
Berfungsi untuk menambah informasi/data baru kedalam tabel.
·      Update
Berfungsi untuk memperbaiki informasi/data pada tabel.
·      Delete
Berfungsi untuk menghapus informasi/data pada tabel.
·      Select
Berfungsi untuk menampilkan data dari tabel
3.    Data Control Language (DCL)
·      GRANT
·      REVOKE


Langkah Kerja

1.      Gunakan tabel mahasiswa, tambahkan kolom yang diperlukan kemudian masukkan 3 data mahasiswa sebagai berikut :
Nim : 12
Nama : edi
Alamat : malang
No.telp : 0856453428
Fakultas : SAINTEK

Nim : 13
Nama : sinta
Alamat : jogja
No.telp : 0813347565675
Fakultas : SAINTEK

Nim : 14
Nama : luki
Alamat : ponorogo
No.telp : 082576568798
Fakultas : PSIKOLOGI
2.      Tampilkan data mahasiswa berupa nim dan nama.
3.      Tampilkan data mahasiswa berdasarkan nim salah satu mahasiswa. Sehingga yang muncul hanya salah satu data mahasiswa.
4.      Tampilkan data mahasiswa dan fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.
5.      Hapus data mahasiswa yang memiliki nim : 13
6.      Ubah data berupa alamat : solo dan no.telp : 0857688788 yang memiliki nim 12
7.      Tampilkan data mahasiswa dan urutkan dari besar ke kecil berdasarkan nim mahasiswa. Kemudian tampilkan data fakultas urutkan secara ascending berdasarkan kolom ke-2.
8.      Tampilkan seluruh data mahasiswa beserta seluruh data fakultasnya.
9.      Tampilkan seluruh mahasiswa yang berada di fakultas “SAINTEK”.
10.  Tampilkan seluruh mahasiswa yang tidak berada di fakultas “SAINTEK”.
11.  Hapus data fakultas “SAINTEK”.

Hasil Praktikum
  •   Membuat tabel dan memasukkan data

            Membuat tabel
            SQL Shell :
            a. Tabel fakultas
             CREATE TABLE fakutas (id_fak int not null, nama_fak varchar, primary key (id_fak));
            b. Tabel mahasiswa
      CREATE TABLE mahasiswa (nim_mahasiswa int not null, nama_mahasiswa varchar, alamat_mahasiswa varchar, notelp_mahasiswa varchar, id_fak int not null     references fakultas, primary key (nim_mahasiswa, id_fak)); 

 

            DBMS MySQL :           
            a. Tabel Fakultas
         CREATE TABLE fakultas (id_fak int not null, nama_fak varchar(10), primary key (id_fak));


           b. Tabel mahasiswa
        CREATE TABLE mahasiswa (nim_mahasiswa int not null, nama_mahasiswa varchar(50), alamat_mahasiswa varchar(50), notelp_mahasiswa varchar(25), id_fak int not null references fakultas, primary key (nim_mahasiswa, id_fak));


            Memasukkan data
            a. Fakultas
            SQL Shell
            INSERT INTO fakultas values (1, ‘saintek’);
            INSERT INTO fakultas values (2, ‘psikologi’);
            SELECT * FROM fakultas;
            INSERT INTO mahasiswa values (12, ‘edi’, ‘malang’, ‘0856453428’, 1);
            INSERT INTO mahasiswa values (13, ‘sinta’, ‘jogja’, ‘0813347565675’, 1);
            INSERT INTO mahasiswa values (14, ‘luki’, ‘ponorogo’, ‘082576568798’, 2);
            SELECT * FROM mahasiswa;


            DBMS MySQL:
            INSERT INTO fakultas values (1, ‘saintek’);
            INSERT INTO fakultas values (2, ‘psikologi’);


           SELECT * FROM fakultas;


            INSERT INTO mahasiswa values (12, ‘edi’, ‘malang’, ‘0856453428’, 1);
            INSERT INTO mahasiswa values (13, ‘sinta’, ‘jogja’, ‘0813347565675’, 1);
            INSERT INTO mahasiswa values (14, ‘luki’, ‘ponorogo’, ‘082576568798’, 2);


           SELECT * FROM mahasiswa;


  • Menampilkan data mahasiswa berupa nim dan nama.

            SQL Shell :
            SELECT nim_mahasiswa, nama_mahasiswa FROM mahasiswa;


            DBMS MySQL :
            SELECT nim_mahasiswa, nama_mahasiswa FROM mahasiswa;


  •       Menampilkan data mahasiswa berdasarkan nim salah satu mahasiswa

            SQL Shell :
            SELECT * FROM mahasiswa WHERE nim_mahasiswa=12;


            DBMS MySQL :
            SELECT * FROM mahasiswa WHERE nim_mahasiswa=12;


  •   Menampilkan data mahasiswa dan fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.

            SQL Shell :
        SELECT nim_mahasiswa, nama_mahasiswa, fakultas FROM mahasiswa, fakultas          WHERE mahasiswa.id_fak=fakultas.id_fak;


            DBMS MySQL :
         SELECT nim_mahasiswa, nama_mahasiswa, fakultas FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;


  •      Menghapus data mahasiswa yang memiliki nim : 13

            SQL Shell :
            DELETE FROM mahasiswa WHERE nim_mahasiswa=13;


            DBMS MySQL :
            DELETE FROM mahasiswa WHERE nim_mahasiswa=13;


  •  Mengubah data berupa alamat : solo dan no.telp : 0857688788 yang memiliki nim 12

            SQL Shell :
     UPDATE mahasiswa set alamat_mahasiswa=’solo’, notelp_mahasiswa=’0857688788’ WHERE       nim_mahasiswa=12;


            DBMS MySQL :
      UPDATE mahasiswa set alamat_mahasiswa=’solo’, notelp_mahasiswa=’0857688788’ WHERE       nim_mahasiswa=12;


  • Menampilkan data mahasiswa dan urutkan dari besar ke kecil berdasarkan nim mahasiswa. Kemudian menampilkan data fakultas urutkan secara ascending berdasarkan kolom ke-2.

            SQL Shell :
            SELECT * FROM mahasiswa order by nim_mahasiswa desc;
            SELECT * FROM fakultas order by nama_fak asc;


            DBMS MySQL :
            SELECT * FROM mahasiswa order by nim_mahasiswa desc;

            SELECT * FROM fakultas order by nama_fak asc;

  •       Menampilkan seluruh data mahasiswa beserta seluruh data fakultasnya.

            SQL Shell :
            SELECT * FROM mahasiswa, fakultas;


            DBMS MySQL :
            SELECT * FROM mahasiswa, fakultas;

  •  Menampilkan seluruh mahasiswa yang berada di fakultas “SAINTEK”.

            SQL Shell :
            SELECT nim_mahasiswa, nama_mahasiswa, alamat_mahasiswa, nama_fak FROM        mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak and    nama_fak=’saintek’;


           DBMS MySQL :
           SELECT nim_mahasiswa, nama_mahasiswa, alamat_mahasiswa, nama_fak FROM        mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak and    nama_fak=’saintek’;

  •  Menampilkan seluruh mahasiswa yang tidak berada di fakultas “SAINTEK”.

            SQL Shell :
            SELECT nim_mahasiswa, nama_mahasiswa, alamat_mahasiswa, nama_fak FROM        mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak and    nama_fak!=’saintek’;


           DBMS MySQL :
            SELECT nim_mahasiswa, nama_mahasiswa, alamat_mahasiswa, nama_fak FROM        mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak and    nama_fak!=’saintek’;

  •  Menghapus data fakultas “SAINTEK”.

            SQL Shell :
            DELETE FROM mahasiswa WHERE id_fak=1;
            SELECT * FROM mahasiswa;
            DELETE FROM fakultas WHERE nama_fak=’saintek;
            SELECT * FROM fakultas;


            DBMS MySQL :
            DELETE FROM mahasiswa WHERE id_fak=1;


            SELECT * FROM mahasiswa;


            DELETE FROM fakultas WHERE nama_fak=’saintek;


            SELECT * FROM fakultas;


Perbandingan antara SQL Shell dengan DBMS MySQL
  1. Ketika kita memasukkan data dalam tabel dengan menggunakan SQL Shell, kita hanya dapat menuliskan satu perintah INSERT, lalu dieksekusi. Sedangkan dalam DBMS MySQL kita bisa memasukkan secara langsung satu atau lebih perintah INSERT lalu kemudian baru dieksekusi.
  2.  Dari sisi kecepatan, DBMS MySQL mungkin lebih cepat daripada SQL Shell. Ini terbukti dalam pengeksekusian perintah query.
  3. Setelah pengeksekusian query pada SQL Shell, kita dapat menuliskan perintah query langsung dibawah query yang sudah kita eksekusi tadi. Namun pada DBMS MySQL tidak, kita harus bolak-balik mengklik query window, untuk menulis query selanjutnya setelah kita mengeksekusi query sebelumnya.

Kesimpulan   
            Structure Query Language (SQL) merupakan bahasa standar yang ditetapkan oleh Americ National Standars Institute (ANSI) untuk mengakses dan memanipulasi data pada Database Relational.
            Ada beberapa macam SQL, diantaranya DDL (Data Definition Language), DML (Data Manipulation Language), dan DCL (Data Control Language).
            Perintah SELECT digunakan untuk menampilkan datapada tabel. Perintah UPDATE digunakan untuk memperbarui informasi pada tabel. Perintah DELETE digunakan untuk menghapus data dalam tabel. Perintah INSERT digunakan untuk memasukkan data dalam tabel. 

Kritik
            Penulis belum memberikan contoh dari masing-masing perintah query secara lengkap. Penulis juga tidak menjelaskan fungsi-fungsi dari masing-masing perintah. Hal ini mungkin membingungkan pembaca, karena mungkin para pembaca ingin mengetahui bagaimana fungsi dari perintah-perintah query lainnya.

Saran
            Diharapkan kepada penulis untuk lebih memperluas contoh dari masing-masing perintah query dan juga lebih menjelaskan tentang fungsi dari masing-masing perintah, supaya para pembaca dapat mengetahui lebih jelas.

Manfaat
  1. Pembaca dapat memahami perintah dasar dalam standar query sql.
  2. Pembaca dapat cara menambah, menampilkan, menghapus dan memanipulasi data.



















Tidak ada komentar:

Posting Komentar