SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Modul Praktikum
                                                                                                                          2009/2010

                                                    BASIS DATA




                                 Comlab Fakultas Ilmu Komputer

                                            Universitas Sriwijaya

                                                    2009/2010

Editor : Edvin Ramadhan

Buku ini diterbitkan dalam rangka pengadaan buku ajar untuk pendidikan di perguruan tinggi, khususnya di lingkungan Fakultas
Ilmu Komputer Universitas Sriwijaya.




                           Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya                      1
Modul Praktikum
                                                                                                                                                          2009/2010




                                                                   Daftar Isi

Daftar Isi ...........................................................................................................................................2
Prakata ............................................................................................................................................4

      1. Pengenalan dan Lingkungan Kerja MySQL
         Tujuan ...................................................................................................................................5
         Dasar teori .............................................................................................................................5
         Praktik ...................................................................................................................................6
         Evaluasi dan Pertanyaan.........................................................................................................8
         Kesimpulan............................................................................................................................9

      2. Database dan Tabel
         Tujuan ...................................................................................................................................10
         Dasar teori .............................................................................................................................10
         Praktik ...................................................................................................................................14
         Evaluasi dan Pertanyaan.........................................................................................................14
         Kesimpulan............................................................................................................................14

      3. Manipulasi dan Retrieve Data (bagian 1)
         Tujuan ...................................................................................................................................15
         Dasar teori .............................................................................................................................15
         Praktik ...................................................................................................................................16
         Evaluasi dan Pertanyaan.........................................................................................................17
         Kesimpulan............................................................................................................................17

      4. Manipulasi dan Retrieve Data (bagian 2)
         Tujuan ...................................................................................................................................18
         Dasar teori .............................................................................................................................18
         Praktik ...................................................................................................................................21
         Evaluasi dan Pertanyaan.........................................................................................................22
         Kesimpulan............................................................................................................................22

      5. Fungsi Agregat
         Tujuan ...................................................................................................................................23
         Dasar teori .............................................................................................................................23
         Praktik ...................................................................................................................................24
         Evaluasi dan Pertanyaan.........................................................................................................25
         Kesimpulan............................................................................................................................25

      6. Retrieve, Group, Filter dan Pattern Matching
         Tujuan ...................................................................................................................................26
         Dasar teori .............................................................................................................................26
         Praktik ...................................................................................................................................27
         Evaluasi dan Pertanyaan.........................................................................................................29
         Kesimpulan............................................................................................................................29



                                  Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya                                            2
Modul Praktikum
                                                                                                                                                   2009/2010

7. Relasi Tabel
   Tujuan ...................................................................................................................................30
   Dasar teori .............................................................................................................................30
   Praktik ...................................................................................................................................31
   Evaluasi dan Pertanyaan.........................................................................................................32
   Kesimpulan............................................................................................................................33

8. Join
   Tujuan ...................................................................................................................................34
   Dasar teori .............................................................................................................................34
   Praktik ...................................................................................................................................36
   Evaluasi dan Pertanyaan.........................................................................................................37
   Kesimpulan............................................................................................................................38




                           Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya                                          3
Modul Praktikum
                                                                                                                2009/2010




                                                  Prakata




       Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan
karunia-Nya kepada penyusun, sehingga dapat menyelesaikan buku panduan praktik Basis Data ini.
Sholawat dan salam juga kita curahkan kepada baginda yang mulia Rosulullah SAW beserta
keluarga, sahabat dan pengikutnya hingga akhir zaman.


       Buku ini merupakan salah satu bahan ajar pendukung untuk mata kuliah Basis Data. Dari
buku ini diharapkan mahasiswa dapat dengan mudah mempelajari, memahami, dan mempraktikkan
materi – materi yang telah diajarkan pada kelas teori mata kuliah Basis Data. Kemudian buku ini
diharapkan dapat       menjadi referensi untuk pemecahan permasalahan umum di                        luar   materi
perkuliahan. Sebagian besar isi dari buku ini merupakan rangkuman dari sumber-sumber yang telah
dibuat penulis lain. Penyusun berharap agar buku ini dapat bermanfaat bagi semua kalangan pembaca.
Terima kasih untuk semuanya yang telah memberikan banyak kritik dan saran serta dukungan dalam
penyusunan buku ini.




                                                                             Palembang,       Februari 2010



                                                                                        Penyusun




                        Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya                 4
Modul Praktikum
                                                                                                          2009/2010

1. Pengenalan dan Lingkungan Kerja MySQL

Tujuan
Setelah menyelesaikan modul ini, anda diharapkan dapat :
   1. Mengenal lingkungan kerja MySQL
   2. Mengenal format perintah di MySQL
   3. Mengenal perintah-perintah sederhana di MySQL




Dasar teori
         MySQL adalah suatu perangkat lunak database relasi (Relational Database Management
System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL
dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database
bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX
DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi
berbasis web pada client. MySQL menyebut produknya sebagai database open source terpopuler di
dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source
maupun umum, MySQL adalah database yang                   paling     banyak     dipakai. Menurut   perusahaan
pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu
situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya.




Format Perintah
Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL:
   ·     Setiap perintah harus diakhiri dengan tanda titik koma , kecuali untuk perintahtertentu, misal :
         quit
   ·     Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori
         perintah-perintah yang pernah diberikan.
   ·     Perintah dapat berupa perintah SQL atau perintah khusus MySQL.
   ·     Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi case
         insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf kecil.
   ·     Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti nama
         database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux.



                        Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya           5
Modul Praktikum
                                                                                                2009/2010

Ada beberapa tanda yang sering muncul di prompt :

   Prompt                                                      Arti
mysql>          Siap menerima perintah baru
->              Menunggu baris berikut untuk perintah yang lebih dari satu baris
'>              Menunggu baris berikut, menunggu penutup string yang dimulai dengan tanda kutip
                satu (“'”)
">              Menunggu baris berikut, menunggu penutup string yang dimulai dengan tanda kutip
                dua (“"”)
`>              Menunggu baris berikutnya, menunggu penutup identifier yang dimulai dengan tanda
                backtick (“`”)




Praktik

1.     Koneksi ke MySQL.

       Buka command prompt, masuk ke direktori AppServMySQLbin, kemudian ketik:

       mysql –u namauser –p                                 (enter)

       password : (ketikkan password)                       (enter)



2.     Diskoneksi dari MySQL.

       Untuk diskoneksi, ketik :

       QUIT atau        q



3.     Ketik perintah berikut :

       SELECT VERSION(), CURRENT_DATE;



4.     Ketik perintah di atas (no.3) :

       a. Dengan huruf kecil semua

       b. Dengan huruf besar dan kecil




                      Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   6
Modul Praktikum
                                                                                              2009/2010

5.   Ketik perintah berikut :

     SELECT SIN(PI()/4), (4+1)*5;



6.   Ketik perintah berikut :

     SELECT VERSION(); SELECT NOW();

     (bandingkan hasilnya dengan no.3 di atas)



7.   Ketik perintah berikut :

     Mysql > SELECT

           - > USER()

           -> ,

           - > CURRENT_DATE;



8.   Ketik perintah berikut :

     Mysql > SELECT

           - > USER()

           - > c



9.   Ketik perintah berikut :

     Mysql > SELECT USER()

     Apa yangterjadi ?

     Kemudian ketik :

           -> ;

     Apa yang terjadi ?




                    Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   7
Modul Praktikum
                                                                                                  2009/2010

10.      Ketik perintah berikut :

         Mysql > SHOW DATABASES;



11.      Ketik perintah berikut :

         Mysql > USE test



12.      Ketik perintah berikut :

         Mysql > USE coba



13.      Ketik perintah berikut :

         Mysql > CREATE DATABASE coba;

         Mysql > use coba;

         Mysql > show tables;



14.      Ketik perintah berikut :

         Mysql > CREATE TABLE buku (kodebuku CHAR(5) PRIMARY KEY NOT NULL,

               - > judul VARCHAR(25) NOT NULL, pengarang VARCHAR(20),

               - > penerbit VARCHAR(15), kategori VARCHAR(15));



15.      Ketik perintah berikut :

         Mysql > desc buku;




Evaluasi dan Pertanyaan

      1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya !
      2. Perintah apa yang digunakan untuk masuk ke MySQL yang tidak mempunyai password ?
      3. Apakah perintah-perintah di MySQL bersifat case sensitif ?




                        Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   8
Modul Praktikum
                                                                                                   2009/2010

   4. Apa perbedaan pengetikan lebih dari satu perintah, yang dipisah dengan tanda koma (,) dan tanda
      titik koma (;) ? (bandingkan hasil query percobaan 3 dan 6)
   5. Bisakah kita melakukan operasi aritmatik dengan menggunakan perintah SQL ? Berikan contoh
      yang lain ?
   6. Haruskah kita mengetik perintah dalam satu baris ?
   7. Bagaimana untuk mengakhiri atau membatalkan suatu perintah ?
   8. Sebelum membuat tabel, langkah-langkah apa saja yang sebaiknya kita lakukan ? (Berdasarkan
      percobaan di atas)



Kesimpulan




                     Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya      9
Modul Praktikum
                                                                                                  2009/2010

2. Database dan Tabel


Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :

   1.         Membuat database dan tabel dengan data definition language
   2.         Mampu memodifikasi tabel


Dasar teori

         DDL (Data Definition Language) , DDL merupakan kelompok perintah yang berfungsi untuk
mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu
atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah

CREATE, ALTER, dan DROP.

   a. Syntax Membuat Database : CREATE DATABASE namadatabase;

                 Namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama
         antar database. Berikut ini perintah untuk membuat database dengan nama rental :

         CREATE DATABASE RENTAL;

               Syntax tambahan untuk menampilkan daftar nama database yang ada pada mysql
         menggunakan perintah :

         SHOW DATABASES;

   b. Memilih Database : USE namadatabase;

                 Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database
         sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel, Berikut ini perintah
         untuk menggunakan database dengan nama rental :

         USE RENTAL;

   c. Syntax Menghapus Database : DROP DATABASE namadatabase;

                Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah
         untuk menghapus database dengan nama rental :

         DROP DATABASE RENTAL;




                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   10
Modul Praktikum
                                                                                                  2009/2010

d. Membuat Tabel : CREATE TABLE namatabel2 ( Field1 TipeData1,Field2
   TipeData2);

             Namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan ama
     kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan kolom
     lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,).
     Berikut ini perintah untuk membuat tabel dengan nama jenisfilm :

     CREATE TABLE JENISFILM (JENIS CHAR(6), HARGA INT);

e. Menampilkan Tabel

              Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
     aktif/digunakan (dalam hal ini database rental) :

     SHOW TABLES;

f. Menampilkan Atribut Tabel : DESC namatabel;

            Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah :

     DESC jenisfilm;

g. Syntax Menghapus Tabel : DROP TABLE namatabel;

           Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk
     menghapus tabel dengan nama jenisfilm :

     DROP TABLE JENISFILM;

h. Mendefinisikan Null/Not Null : CREATE TABLE namatabel ( Field1 TipeData1
   NOT NULL, Field2 TipeData2);

i. Mendefinisikan Nilai Default : CREATE TABLE namatabel (Field1 TipeData1
   DEFAULT nilaidefault,Field2 TipeData2 DEFAULT nilaidefault);

             Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom
     ketika ada penambahan baris baru, sementara nilai pada kolom tersebut tidak diisi oleh pengguna.
     Pada kasus ini jenis film ini :

     CREATE TABLE jenisfilm (jenis char(6) DEFAULT “komedi”, harga int
     DEFAULT 0);

j.   Mendefinisikan Primary Key Pada Tabel

            Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah Syntax
     mendefinisikan primary key untuk Field1




                   Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya       11
Modul Praktikum
                                                                                                   2009/2010
   CREATE TABLE namatabel(Field1                        TipeData1 NOT NULL              PRIMARY KEY,
   Field2 TipeData2);

   Atau

   CREATE    TABLE  namatabel    (                           Field1          TipeData1,      Field2
   TipeData2, PRIMARY KEY(Field1));

   Atau

   ALTER TABLE namatabel                   ADD      CONSTRAINT          namaconstraint       PRIMARY
   KEY (namakolom);

           Coba buat perintah untuk membuat tabel jenisfilm dengan kolom jenis tipe datanya
   char(6), harga tipe datanya int dengan mendefinisikan nilai not null dan primary key untuk
   kolom jenis serta nilai default untuk kolom harga!.

k. Menghapus Primary Key Pada Tabel

   Cara 1 : Jika primary key dibuat dengan menggunakan alter table :

   ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;

   Cara 2 : Jika primary key dibuat melalui create table :

   ALTER TABLE namatabel DROP PRIMARY KEY;

l. Menambah Kolom Baru Pada Tabel : ALTER TABLE namatabel ADD fieldbaru
   tipe;

           Namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama
   kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan ditambahkan.
   Berikut ini perintah untuk menambah kolom keterangan dengan tipe data varchar(25) :

   ALTER TABLE JENISFILM ADD KETERANGAN VARCHAR(25);

   Untuk meletakkan field diawal, tambahkan sintaks first :

   ALTER TABLE PELANGAN ADD COLUMN KODE CHAR(5) FIRST;

   Untuk menyisipkan field setelah field tertentu, tambahkan sintaks after :

   ALTER TABLE PELANGAN ADD COLUMN PHONE CHAR(5) AFTER ALAMAT;

m. Mengubah Tipe Data atau Lebar Kolom Pada Tabel : ALTER TABLE NAMATABEL MODIFY
   COLUMN FIELD TIPE

           Namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. Field
   adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data




                  Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya         12
Modul Praktikum
                                                                                                     2009/2010

   lama dengan lebar kolom yang berbeda. Berikut ini perintah untuk mengubah tipe data untuk
   kolom keterangan dengan char(20) :

   ALTER TABLE JENISFILM MODIFY COLUMN KETERANGAN VARCHAR(20);

n. Mengubah Nama         Kolom : ALTER    TABLE  namatabel                             CHANGE   COLUMN
   namalamakolom         namabarukolom tipedatabaru;

           Namatabel adalah nama tabel yang akan diubah nama kolomnya, namalamakolom
   adalah kolom yang akan diganti namanya, namabarukolom adalah nama baru kolom,
   tipedatanya adalah tipe data dari kolom tersebut. Berikut ini perintah untuk mengubah nama
   kolom keterangan menjadi ket :

   ALTER TABLE JENISFILM CHANGE COLUMN KETERANGAN KET VARCHAR(20);

o. Menghapus Kolom Pada Tabel : ALTER                     TABLE       namatabel          DROP   COLUMN
   namakolom;

p. Membuat dan Menghapus Index

            Index berfungsi mempercepat proses pencarian data dalam suatu tabel. Adanya
   index pada suatu field tabel menyebabkan proses pencarian otomatis akan dilakukan
   terlebih dahulu ke dalam index, apabila ditemukan baru akan diambilkan data sesungguhnya
   dari tabel, apabila tidak ditemukan dalam index, sudah dipastikan bahwa data tesebut
   memang tidak ada dalam tabel. Index juga dapat dibuat untuk setiap kolom yang akan
   dijadikan kriteria tertentu untuk pencarian data sehingga proses pencariannya akan lebih cepat.
   Ada perintah untuk membuat dan menghapus index, tapi tidak ada perintah untuk merubah index.

   Perhatikan contoh berikut :

   CREATE INDEX IDXNOMOR ON MAHASISWA(NIM);

   Atau

   ALTER TABLE MAHASISWA ADD INDEX IDXNIM(NIM);

   Untuk menghapus index :

   DROP INDEX IDXNIM ON MAHASISWA;

   Atau

   ALTER TABLE MAHASISWA DROP INDEX IDXNIM;




                 Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya            13
Modul Praktikum
                                                                                                     2009/2010

Praktik

   1. Buat sebuah database dengan nama coba !
   2. Buat sebuah tabel dengan nama mahasiswa di dalam database coba !




   3.    Tambahkan sebuah kolom : keterangan (varchar 15), sebagai kolom terakhir !
   4.    Tambahkan kolom nim (int 11) di awal (sebagai kolom pertama) !
   5.    Sisipkan sebuah kolom dengan nama phone (varchar 15) setelah kolom alamat !
   6.    Ubah kolom nim menjadi char(11) !
   7.    Ubah nama kolom phone menjadi telepon (varchar 20) !
   8.    Hapus kolom keterangan dari tabel !
   9.    Ganti nama tabel menjadi student!
   10.   Buat index untuk tabel tersebut !
   11.   Jadikan nim sebagai primary key !



Evaluasi dan Pertanyaan

   1.    Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya !
   2.    Apa kegunaan dari index di tabel ?
   3.    Apa maksud dari int (11) ?
   1.    Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null yang berisi Yes dan No.
         Apa maksudnya ?



Kesimpulan




                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya      14
Modul Praktikum
                                                                                                            2009/2010

3. Manipulasi dan Retrieve Data (bagian 1)


Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :

   1. Mengenal data manipulation language dan mampu menggunakannya
   2. Mampu mengelola record dan retrieve data



Dasar teori

       DML (Data Manipulation Language) DML adalah kelompok perintah yang berfungsi untuk
memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan
penghapusan data. Perintah yang termasuk dalah kategori DML adalah :

INSERT, DELETE, UPDATE dan SELECT.

         1. INSERT

                 Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. Terdapat dua
         cara untuk menambah baris, yaitu :

         Cara 1 : Menambah baris dengan mengisi data pada setiap kolom :

         INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);

         Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu :

         INSERT INTO namatabel (kolom1,kolom2,kolom-n)                                        VALUES
         (nilai1,nilai2,nilai-n);

         Keterangan :

                  Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka
         pemberian nilainya diapit dengan tanda petik tunggal (‘horor’) atau petik ganda (“horor”).
         jika data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit tanda petik tunggal
         maupun ganda.



         2. DELETE

                  Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi
         tertentu atau seluruh baris. Syntax :

         DELETE FROM namatabel [WHERE kondisi];


                        Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya            15
Modul Praktikum
                                                                                                  2009/2010

             Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan
      suatu kondisi tertentu.



      3. 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.



      4. SELECT

             Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat
      dihubungkan dengan tabel yang lainnya.

          a. Menampilkan data untuk semua kolom menggunakan asterisk (*):
             SELECT * FROM namatabel;
          b. Menampilkan data untuk kolom tertentu :
             SELECT kolom1,kolom2,kolom-n FROM namatabel;
          c. Menampilkan data dengan kondisi data tertentu dengan klausa WHERE :
             SELECT * FROM namatabel WHERE kondisi;

             Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE adalah
      “=”(sama dengan) , > (lebih dari), < (kurang dari), < > (tidak sama dengan), >= (lebih dari
      atau sama dengan), <= (kurang dari atau sama dengan). Adapun operator lain, yaitu : AND,
      OR, NOT, BETWEEN-AND, IN dan LIKE.



Praktik

   1. Buat sebuah database dengan nama coba
   2. Buat sebuah tabel dengan nama pet di dalam database coba




                    Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya      16
Modul Praktikum
                                                                                                    2009/2010

   3. Isi data ke dalam tabel pet seperti berikut :




   4.  Tampilkan semua isi/record tabel pet !
   5.  Ubah data tanggal lahir hewan yang bernama Bowser menjadi : 1979-08-31 !
   6.  Tampilkan satu baris / record data yang telah diubah tadi yaitu record dengan nama Bowser saja!
   7.  Hapus hewan yang bernama Chirpy !
   8.  Tampilkan record atau data yang tanggal kelahirannya lebih dari atau sama dengan 1998-1-1 !
   9.  Tampilkan semua hewan dengan spesis anjing dan anjing tersebut berjenis kelamin betina !
   10. Dengan satu perintah select, tampilkan semua hewan dengan spesis ular atau spesis burung
       (dalam satu tabel ada hewan spesies ular dan burung saja)!
   11. Dengan satu perintah select, tampilkan semua hewan yang berspesis kucing dengan kelamin laki-
       laki atau hewan yang berspesis anjing dengan kelamin betina (tampilkan dalam satu tabel)!



Evaluasi dan Pertanyaan

   1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya !
   2. Beri kesimpulan Anda !



Kesimpulan




                      Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya     17
Modul Praktikum
                                                                                                   2009/2010

4. Manipulasi dan Retrieve Data (bagian 2)


Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :

   1. Mencari dan menampilkan data dengan perintah select
   2. Mengkombinasikan perintah select dengan perintah lainnya



Dasar teori

   a. Memberikan nama lain pada kolom : SELECT namakolomlama AS namakolombaru
      FROM namatabel;

                  Berikut ini perintah untuk memberikan nama lain pada kolom jenis menjadi
         jenis_film pada tabel jenisfilm :

         SELECT JENIS AS TYPE FROM JENISFILM;

   b. Menggunakan alias untuk nama tabel : SELECT namalias.jenis, namalias.harga
      FROM namatabel namalias;

         Berikut ini perintah untuk memberikan alias pada tabel jenisfilm :

         SELECT J.JENIS, J.HARGA FROM JENISFILM J;

   c. Menampilkan data lebih dari dua tabel : SELECT * FROM namatabel1, namatabel2,
      namatabel-n;

         Sebagai contoh buat table baru berikut :




   d. Nested Queries / Subquery (IN, NOT IN, EXISTS, NOT EXISTS)

                 Subquery berarti query di dalam query. Dengan menggunakan subquery, hasil dari
         query akan menjadi bagian dari query di atasnya. Subquery terletak di dalam klausa WHERE
         atau HAVING. Pada klausa WHERE, subquery digunakan untuk memilih baris-baris tertentu
         yang kemudian digunakan oleh query. Sedangkan pada klausa HAVING, subquery digunakan
         untuk memilih kelompok baris yang kemudian digunakan oleh query.




                        Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   18
Modul Praktikum
                                                                                              2009/2010

          Contoh 1 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada
   kolom jenis-nya tercantum pada tabel film menggunakan IN :

   SELECT * FROM JENISFILM WHERE JENIS IN (SELECT JENIS FROM FILM);

   atau menggunakan EXISTS

   SELECT * FROM JENISFILM WHERE EXISTS (SELECT * FROM FILM WHERE
   HARGA > 2000);

           Pada contoh di atas : SELECT JENIS FROM FILM disebut subquery, sedangkan :
   SELECT * FROM JENISFILM berkedudukan sebagai query. Perhatikan, terdapat data
   jenis dan harga pada tabel jenisfilm yang tidak ditampilkan. Hal ini disebabkan data pada
   kolom jenis tidak terdapat pada kolom jenis di tabel film.

          Contoh 2 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada
   kolom jenis-nya tidak tercantum pada tabel film menggunakan NOT IN :

   SELECT * FROM JENISFILM WHERE JENIS NOT IN (SELECT JENIS FROM
   FILM);

   atau menggunakan NOT EXISTS

   SELECT * FROM JENISFILM WHERE NOT EXISTS (SELECT * FROM FILM
   WHERE HARGA > 2000);

e. Operator comparison ANY dan ALL

           Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE
   (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai
   TRUE. Ilustrasinya jika:

   Gaji > ANY (S)

   Jika subquery S menghasilkan G1, G2, ..., Gn, maka kondisi di atas identik dengan :

   (gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn)

           Contoh : perintah untuk menampilkan semua data jenisfilm yang harganya bukan
   yang terkecil :

   SELECT * FROM JENISFILM WHERE HARGA > ANY (SELECT HARGA FROM
   JENISFILM);

            Operator ALL digunakan untuk melakukan perbandingan dengan subquery. Kondisi
   dengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak menghasilkan apapun
   atau jika perbandingan menghasilkan TRUE untuk setiap nilai query terhadap hasil subquery.




                 Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya     19
Modul Praktikum
                                                                                               2009/2010

     Contoh : perintah untuk menampilkan data jenisfilm yang harganya paling tinggi :

     SELECT * FROM JENISFILM WHERE HARGA >= ALL (SELECT HARGA FROM
     JENISFILM);

f.   Sintak ORDER BY

             Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu
     sesuai dengan tipe data yang dimiliki. Contoh : perintah untuk mengurutkan data film
     berdasarkan kolom judul :

     SELECT * FROM FILM ORDER BY JUDUL;

     atau tambahkan ASC untuk pengurutan secara ascending (menaik) :

     SELECT * FROM FILM ORDER BY JUDUL ASC;

     atau tambahkan DESC untuk pengurutan secara descending (menurun) :

     SELECT * FROM FILM ORDER BY JUDUL DESC;

g. Sintak DISTINCT

             Distinct adalah kata kunci ini untuk menghilangan duplikasi. Sebagai Contoh, buat
     sebuah tabel pelanggan yang berisi nama dan kota asal dengan beberapa record isi dan beberapa
     kota asal yang sama. Kemudian ketikkan perintah berikut :

     SELECT DISTINCT KOTA FROM PELANGGAN;

     Dengan perintah di atas maka nama kota yang sama hanya akan ditampilkan satu saja.

h. UNION, INTERSECT dan EXCEPT

             UNION merupakan operator yang digunakan untuk menggabungkan hasil query,
     dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan
     datanya harus sama. Berikut ini perintah untuk memperoleh data pada tabel film dimana
     jenisnya action dan horor :

     SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ‘ACTION’ UNION SELECT
     JENIS, JUDUL FROM FILM WHERE JENIS = ‘HOROR’;

     Perintah di atas identik dengan :

     SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ‘ACTION’ OR JENIS =
     ‘HOROR’;

            Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu jika bekerja
     pada dua tabel atau lebih.




                    Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   20
Modul Praktikum
                                                                                                   2009/2010

                 INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah
         query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan
         ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan
         datanya harus sama.

         SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2 ;

               Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat
         menggunakan operator IN seperti contoh 1 pada bagian Nested Queries.

                  EXCEPT / Set Difference merupakan operator yang digunakan untuk memperoleh data
         dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan
         tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom dari
         masing-masing tabel yang akan ditampilkan datanya harus sama.

         SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2;

               Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat
         menggunakan operator NOT IN seperti contoh 2 pada bagian Nested Queries.



Praktik

   1. Buat tabel pegawai sebagai berikut :




   2.    Isi data tabel (data dapat dilihat pada halaman terakhir)!
   3.    Tampilkan semua kolom di tabel !
   4.    Tampilkan kolom idpegawai, namabelakang dan gaji saja !
   5.    Tampilkan kolom idpegawai, namabelakang, gaji, tunjangan dan sebuah kolom baru yaitu
         tunjangan+gaji yang berisi jumlah tunjangan dan gaji !
   6.    Ubah tunjangan menjadi NULL untuk pegawai dengan idpegawai = E003. Kemudian lakukan
         kembali percobaan 5.
   7.    Seperti percobaan 5, tampilkan kolom idpegawai, namabelakang, gaji, tunjangan dan sebuah
         kolom baru (gunakan alias) yaitu total_pendapatan yang berisi jumlah tunjangan dan gaji !
   8.    Tambahkan record baru dengan value : E006,lincoln, burrows, linc@yahoo.com, 085275384544,
         2008-09-01, L0006, 1750000, NULL, ex, coml.
   9.    Untuk pegawai yang ber-id E004 dan E005 ubah idmanajernya menjadi al !
   10.   Sekarang tampilkan kolom idmanajer saja !



                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya    21
Modul Praktikum
                                                                                                    2009/2010

   11. Dari percobaan 10, terdapat 3 idmanajer yang sama dengan total record 6, sekarang tampilkan
       idmanajer tanpa duplikasi idmanajer sehingga akan tampil 4 record dengan idmanajer yang
       berbeda !
   12. Tampilkan pegawai yang gajinya antara 1750000 - 1250000 !
   13. Tampilkan tabel pegawai yang terurut berdasarkan namabelakang (dari a ke z)!
   14. Tampilkan tabel pegawai yang diurutkan berdasarkan nama depan dengan urutan terbalik (dari z
       ke a)!



Evaluasi dan Pertanyaan

   1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya !
   2. Beri kesimpulan Anda !



Kesimpulan




Isi Tabel Untuk No 2 :




                         Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   22
Modul Praktikum
                                                                                                       2009/2010

5. Fungsi Agregat
Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :

   1. Mahir menggunakan perintah select untuk retrieve data
   2. Mampu menggunakan fungsi agregat



Dasar teori

Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)

   a. COUNT

                Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel.
         Contoh : perintah untuk menghitung jumlah baris kolom jenis pada tabel jenisfilm :

         SELECT COUNT(JENIS) FROM JENIS FILM;

   b. SUM

                Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel.
         Contoh : perintah untuk menghitung jumlah nilai kolom harga pada tabel jenisfilm :

         SELECT SUM(HARGA) FROM JENIS FILM;

   c. AVG

                 Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada
         tabel. Contoh : perintah untuk menghitung rata-rata dari kolom harga pada tabel jenisfilm :

         SELECT AVG(HARGA) FROM JENIS FILM;

   d. MIN

                 Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada
         tabel. Contoh : perintah untuk menampilkan nilai terkecil dari kolom harga pada tabel jenisfilm :

         SELECT MIN(HARGA) FROM JENIS FILM;

   e. MAX

                  Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada
         tabel. Contoh : perintah untuk menampilkan nilai terbesar dari kolom harga pada tabel
         jenisfilm :

         SELECT MAX(HARGA) FROM JENIS FILM;



                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya       23
Modul Praktikum
                                                                                                2009/2010

Praktik

   1. Gunakan tabel pegawai (lihat hal. Terakhir), tampilkan pegawai yang gajinya 2.000.000,
       1.250.000 dan 1.500.000 dalam satu perintah select !
   2. Tampilkan pegawai yang gajinya bukan 2.000.000 dan 1.250.000 !
   3. Tampilkan pegawai yang tunjangannya NULL !
   4. Tampilkan pegawai yang tunjangannya tidak NULL !
   5. Tampilkan/hitung jumlah baris/record tabel pegawai !
   6. Tampilkan/hitung jumlah total gaji di tabel pegawai !
   7. Tampilkan/hitung rata-rata gaji pegawai !
   8. Tampilkan gaji terkecil !
   9. Tampilkan gaji terbesar !
   10. Gunakan tabel pet (lihat hal. Terakhir), Tampilkan jumlah hewan yang dimiliki setiap owner.
       Tampilan setelah SQL dijalankan :




   11. Tampilkan jumlah hewan berdasarkan spesies !




   12. Tampilkan jumlah hewan berdasarkan jenis kelamin !




   13. Tampilkan jumlah hewan berdasarkan spesies dan jenis kelamin !




   14. Tampilkan jumlah hewan berdasarkan spesis (cat dan dog saja) dan jenis kelamin !




                     Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   24
Modul Praktikum
                                                                                                  2009/2010

    15. Tampilkan jumlah hewan berdasarkan jenis kelamin yang diketahui saja !




Evaluasi dan Pertanyaan

    1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya !
    2. Beri kesimpulan Anda !



Kesimpulan




Data Tabel Pegawai :




Data Tabel Pet :




                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   25
Modul Praktikum
                                                                                                  2009/2010

6. Retrieve, Group, Filter dan Pattern Matching


Tujuan

Setelah melakukan percobaan ini, anda diharapkan dapat :

   1. Mampu meretrieve data dan mengelompokkannya
   2. Mampu menampilkan data dengan pencocokan pola/karakter



Dasar teori

   a. RETRIEVE SQL dengan GROUP BY dan HAVING

                 Klausa GROUP BY digunakan untuk melakukan pengelompokan data. Sebagai
         contoh, terdapat tabel film dengan data sebagai berikut :




                Akan ditampilkan hanya kolom jenis dan digabungkan dengan SUM(jml_film) yang
         dikelompokkan berdasarkan kolom jenis pada tabel film :

         SELECT JENIS, SUM(JML_FILM) FROM FILM GROUP BY JENIS;

                Klausa HAVING digunakan untuk menentukan kondisi bagi klausa GROUP BY.
         Kelompok yang memenuhi HAVING saja yang akan dihasilkan. Contoh : perintah untuk
         menampilkan data hanya kolom jenis yang dikelompokkan berdasarkan kolom jenis, dimana
         jumlah film berdasarkan kelompoknya harus lebih besar dari satu pada tabel film :

         SELECT JENIS FROM FILM GROUP BY JENIS HAVING COUNT(KODE_FILM)>1;

         Untuk efesiensi harus dimengerti urutan pemilihan Where, Group By dan Having :

         ·    Where dipakai untuk memfilter baris-baris dari operasi-operasi yang dinyatakan oleh
              perintah From.
         ·    Group By dipakai untuk mengelompokkan hasil dari Where.
         ·    Having dipakai untuk memfilter baris-baris dari hasil pengelompokan.




                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   26
Modul Praktikum
                                                                                                 2009/2010

   b. Pattern Matching (Pencocokan Pola/Karakter)

                Fungsi string digunakan untuk menampilkan data yang didasarkan pada pencarian dengan
       karakter. Pada pencarian data digunakan sintak LIKE, pada dasarnya sintak LIKE hampir sama
       dengan sintak = , bedanya kalau = maka pencarian karakater harus sesuai dengan kata
       yang kita buat tetapi dengan menggunakan LIKE karakater yang akan kita tampilkan tidak
       harus lengkap hanya dengan menuliskan salah satu huruf atau kata saja, maka semua data yang
       kita cari akan ditampilkan.

       SQL mempunyai 2 simbol khusus yang dipakai untuk pencocokan pola :

       •   % : untuk mencocokkan karakter sebelum atau sesudah tanda %;
       •   _ : mencari karakter sebanyak jumlah tanda _.



               LIKE ‘%Glasgow%’ artinya mencari data pada kolom tertentu yang mengandung
       karakter ‘Glasgow’. Bentuk umum :

       SELECT * FROM nama_tabel WHERE nama_kolom LIKE 'char%';

       SELECT * FROM nama_tabel WHERE nama_kolom LIKE '%char';

       SELECT * FROM nama_tabel WHERE nama_kolom LIKE '%char%';

       SELECT * FROM nama_tabel WHERE nama_kolom NOT LIKE '%char%';

       SELECT * FROM nama_tabel WHERE nama_kolom LIKE '_';



Praktik

   1. Buat tabel penjualan :




   2. Isi data :




   3. Buat SQL sehingga tampilannya seperti berikut :




                     Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya    27
Modul Praktikum
                                                                                             2009/2010

4. Buat SQL sehingga tampilannya :

                                   ID Produk         TOTAL
                                       4               50


5. Buat tabel barang dan isi datanya :




6. Buat SQL sehingga tampilannya :




7. Buat SQL sehingga tampilannya :




8. Buat SQL sehingga tampilannya :




9. Buat SQL sehingga tampilannya :




10. Buat SQL sehingga tampilannya :




                  Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   28
Modul Praktikum
                                                                                                2009/2010

Evaluasi dan Pertanyaan

   1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya !
   2. Beri kesimpulan Anda !



Kesimpulan




                     Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   29
Modul Praktikum
                                                                                                        2009/2010

7. Relasi Tabel


Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :

    1. Membuat relasi tabel
    2. Membuktikan integritas data dengan tabel yang ter-relasi



Dasar teori

        Relasional Database dan RDBMS, Relational Database sebenarnya adalah salah satu konsep
penyimpanan data, sebelum konsep database relasional muncul sebenarnya sudah ada dua model
database yaitu Network Database dan Hierarchie Database. Dalam database relasional, data
disimpan dalam bentuk relasi atau tabel dua dimensi, dan antar tabel satu dengan tabel lainnya
terdapat hubungan atau relationship, sehingga sering kita baca di berbagai literatur, database
didefinisikan sebagai “kumpulan dari sejumlah tabel yang saling hubungan atau keterkaitan”. Nah,
kumpulan dari data yang diorganisasikan sebagai tabel tadi disimpan dalam bentuk data elektronik di
dalam hardisk komputer. Untuk membuat struktur tabel, mengisi data ke tabel, mengubah data jika
diperlukan dan menghapus data dari tabel diperlukan software.

        Software yang digunakan membuat tabel, isi data, ubah data dan hapus data disebut
Relational Database Management System atau dikenal dengan singkatan RDBMS sedangkan perintah
yang digunakan untuk membuat tabel, isi, ubah dan hapus data disebut perintah SQL yang merupakan
singkatan dari Structure Query Language. Jadi, setiap software RDBMS pasti bisa digunakan untuk
menjalankan perintah SQL.

        Sebenarnya fungsi RDBMS bukan cuma buat tabel, isi data, ubah dan hapus data, untuk
manajemen data dalam skala besar dan agar bisa mendukung proses bisnis yang kontinyu dan real
time. Suatu RDBMS dituntut untuk mempunyai kemampuan manajemen user dan keamanan data,
backup dan recovery data serta kemampuan lainnya yang berkaitan dengan kecepatan pemrosesan
data (performance).

        Primary key adalah suatu field atau kombinasi field yang secara unik mengidentifikasi
setiap record di dalam tabel. Contoh NIM yang terdapat pada tabel mahasiswa.

        Foreign key adalah primary key pada suatu tabel yang di masukkan pada tabel lain dan dijadikan
salah satu key pada tabel tersebut.

         References menunjukkan bahwa foreign key di suatu tabel merupakan key pada tabel lain.
Pada perubahan suatu record baik itu update atau delete, dapat diikuti dengan kata : cascade, restrict atau
set null. Kita bisa atur sesuai kebutuhan.




                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya        30
Modul Praktikum
                                                                                                  2009/2010



       Contoh :

           -    on update CASCADE on delete RESTRICT
           -    on update RESTRICT on delete SET NULL



Praktik

   1. Buat sebuah database dengan nama Akademik.
   2. Buat tabel mahasiswa dengan tipe innodb :




   3. Buat tabel dosen_pembimbing dengan tipe innodb dan relasikan ke tabel mahasiswa dengan
      mengambil key nim dari tabel mahasiswa sebagai foreign key di tabel dosen_pembimbing :




   4. Isi data di tabel seperti data berikut :




                                             dan

       Note : untuk mengisi data yang fieldnya AUTO_INCRMENT maka sebutkan NULL untuk field
       tersebut.




                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   31
Modul Praktikum
                                                                                                   2009/2010

   5. Kemudian update satu record di tabel mahasiswa :




   6. Hapus sebuah record di tabel mahasiswa :




Evaluasi dan Pertanyaan

   1. Apa yang terjadi jika sintak pada langkah ke 3 (baris sintak terkahir) diubah menjadi on update
      cascade on delete restrict ?
   2. Apa yang terjadi jika sintak pada langkah ke 3 (baris sintak terkahir) diubah menjadi on update
      cascade on delete set null ?
   3. Buat sebuah database baru dengan nama toko. Buat 3 buah tabel di dalam database tersebut, yaitu
      tabel produk, pelanggan, dan produk_order.




                     Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya     32
Modul Praktikum
                                                                                                  2009/2010




      Buat relasi untuk tabel-tabel di atas dan buktikan relasi tersebut dengan melakukan update atau
      delete terhadap suatu tabel berpengaruh terhadap tabel lainnya!



Kesimpulan




                    Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya      33
Modul Praktikum
                                                                                                  2009/2010

8. Join


Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :

   1. Mengenal beberapa operasi join
   2. Mampu melakukan operasi join beberapa tabel



Dasar teori

         Operasi Join, Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau
lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-tabel tersebut. Pada join
sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel yang
berbeda. Berikut ini perintah untuk menampilkan kolom judul dari tabel film dan kolom harga dari
tabel jenisfilm :




        Pada contoh di atas, jenisfilm.jenis=film.jenis merupakan kondisi untuk mencocokkan data
antara kolom jenis milik tabel jenisfilm dan film.

   a. Inner Join

                Inner join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai
         dengan syarat dibelakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri
         mendapat pasangan data dari tabel sebelah kanan. Berikut ini perintah untuk menampilkan
         data dari tabel jenisfilm dan film dengan syarat berdasarkan kolom jenis :

         SELECT * FROM JENISFILM INNER JOIN FILM ON (JENISFILM.JENIS =
         FILM.JENIS);

   b. Left Join

                  Left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah
         left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah
         kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

         SELECT * FROM JENISFILM LEFT JOIN FILM ON (JENISFILM.JENIS =
         FILM.JENIS);


                       Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   34
Modul Praktikum
                                                                                               2009/2010

c. Right Join

           Right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah
   right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah
   kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai
   NULL.

   SELECT * FROM JENISFILM RIGHT JOIN FILM ON (JENISFILM.JENIS =
   FILM.JENIS);

d. Natural Join

           Natural join digunakan untuk menampilkan semua data dari dua tabel dimana jika
   terdapat kolom yang sama, maka yang akan ditampilkan hanya salah satunya saja, yaitu
   kolom dari tabel sebelah kiri perintah natural join.

   SELECT * FROM JENISFILM NATURAL JOIN FILM;

   Terdapat Penggabungan Natural Join dengan Left dan Right Join :

   1. Natural Left Join

           Natural left join digunakan untuk menampilkan semua data dari tabel sebelah kiri
   perintah natural left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat
   data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya
   berupa nilai NULL.

   SELECT * FROM JENISFILM NATURAL LEFT JOIN FILM;

   2. Natural Right Join

           Natural right join digunakan untuk menampilkan semua data dari tabel sebelah kanan
   perintah natural right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data
   dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya
   berupa nilai NULL.

   SELECT * FROM JENISFILM NATURAL RIGHT JOIN FILM;




                  Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya     35
Modul Praktikum
                                                                                                2009/2010

Praktik

   1. Buat sebuah database dengan nama sewamobil :
   2. Buat tabel mobil dan isi datanya :




   3. Buat tabel pelanggan dan isi datanya :




   4. Buat tabel sewa dan isi datanya :




                     Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   36
Modul Praktikum
                                                                                                                2009/2010

   5. Buat query sehingga didapat tabel seperti berikut :




   6. Buat query sehingga didapat tabel seperti berikut :




   7. Buat query sehingga didapat tabel seperti berikut :




   8. Buat query sehingga didapat tabel seperti berikut :




Evaluasi dan Pertanyaan

   1. Tulis sintaks sql untuk mendapatkan tabel pada no 5, 6, 7 dan 8 !
   2. Apa kesimpulan anda !




                                          Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya
                                                                                                       37
Modul Praktikum
                                                                                        2009/2010

Kesimpulan




             Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya   38

Contenu connexe

Tendances

Makalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan HotelMakalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan HotelMuhammad Iqbal
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineLucha Kamala Putri
 
Tugas laporan project aplikasi website
Tugas laporan project aplikasi websiteTugas laporan project aplikasi website
Tugas laporan project aplikasi websiteGilang Ramadhan
 
materi imk Menu
materi imk Menumateri imk Menu
materi imk MenuKukuh Aji
 
SISTEM INFORMASI (POWER POINT)
SISTEM INFORMASI (POWER POINT)SISTEM INFORMASI (POWER POINT)
SISTEM INFORMASI (POWER POINT)j3fr1
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksiAriev Kusuma
 
Perkuliahan ke 4 Organisasi Arsitektur Komputer
Perkuliahan ke 4  Organisasi Arsitektur KomputerPerkuliahan ke 4  Organisasi Arsitektur Komputer
Perkuliahan ke 4 Organisasi Arsitektur KomputerRakhmi Khalida, M.M.S.I
 
Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Topan Helmi Nicholas
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlineandiseprianto
 
INTERAKSI MANUSIA DAN KOMPUTER
INTERAKSI MANUSIA DAN KOMPUTERINTERAKSI MANUSIA DAN KOMPUTER
INTERAKSI MANUSIA DAN KOMPUTERAndhi Pratama
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsilaurensius08
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasiahmad haidaroh
 
Diktat sistem basis data
Diktat sistem basis dataDiktat sistem basis data
Diktat sistem basis dataiimpunya3
 
Makalah tentang keamanan komputer
Makalah tentang keamanan komputerMakalah tentang keamanan komputer
Makalah tentang keamanan komputer082393805433
 

Tendances (20)

Bab 12-kode-huffman
Bab 12-kode-huffmanBab 12-kode-huffman
Bab 12-kode-huffman
 
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan HotelMakalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
 
Makalah Tentang Database
Makalah Tentang DatabaseMakalah Tentang Database
Makalah Tentang Database
 
Soal uas struktur data
Soal uas struktur dataSoal uas struktur data
Soal uas struktur data
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
 
Tugas laporan project aplikasi website
Tugas laporan project aplikasi websiteTugas laporan project aplikasi website
Tugas laporan project aplikasi website
 
materi imk Menu
materi imk Menumateri imk Menu
materi imk Menu
 
SISTEM INFORMASI (POWER POINT)
SISTEM INFORMASI (POWER POINT)SISTEM INFORMASI (POWER POINT)
SISTEM INFORMASI (POWER POINT)
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksi
 
Laporan tugas struktur data
Laporan tugas struktur dataLaporan tugas struktur data
Laporan tugas struktur data
 
Perkuliahan ke 4 Organisasi Arsitektur Komputer
Perkuliahan ke 4  Organisasi Arsitektur KomputerPerkuliahan ke 4  Organisasi Arsitektur Komputer
Perkuliahan ke 4 Organisasi Arsitektur Komputer
 
Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
Contoh soal uts struktur data
Contoh soal uts struktur dataContoh soal uts struktur data
Contoh soal uts struktur data
 
INTERAKSI MANUSIA DAN KOMPUTER
INTERAKSI MANUSIA DAN KOMPUTERINTERAKSI MANUSIA DAN KOMPUTER
INTERAKSI MANUSIA DAN KOMPUTER
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
 
Diktat sistem basis data
Diktat sistem basis dataDiktat sistem basis data
Diktat sistem basis data
 
Memory
MemoryMemory
Memory
 
Makalah tentang keamanan komputer
Makalah tentang keamanan komputerMakalah tentang keamanan komputer
Makalah tentang keamanan komputer
 

En vedette

Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataLaporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataShofura Kamal
 
Laporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteLaporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteShofura Kamal
 
Laporan Praktikum Basis Data Modul II-Primary Key
Laporan Praktikum Basis Data Modul II-Primary KeyLaporan Praktikum Basis Data Modul II-Primary Key
Laporan Praktikum Basis Data Modul II-Primary KeyShofura Kamal
 
Database minimarket-Garnis Q
Database minimarket-Garnis QDatabase minimarket-Garnis Q
Database minimarket-Garnis QG Nis
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sqlLela Warni
 

En vedette (7)

Laporan modul 5 basisdata
Laporan modul 5 basisdataLaporan modul 5 basisdata
Laporan modul 5 basisdata
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataLaporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi Data
 
Laporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteLaporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat Website
 
Laporan Praktikum Basis Data Modul II-Primary Key
Laporan Praktikum Basis Data Modul II-Primary KeyLaporan Praktikum Basis Data Modul II-Primary Key
Laporan Praktikum Basis Data Modul II-Primary Key
 
Modul 07 basisdata
Modul 07 basisdataModul 07 basisdata
Modul 07 basisdata
 
Database minimarket-Garnis Q
Database minimarket-Garnis QDatabase minimarket-Garnis Q
Database minimarket-Garnis Q
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
 

Similaire à Pengenalan dan Lingkungan Kerja MySQL

Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013Heri Afrizal
 
Bahan ajarr.o volume1
Bahan ajarr.o volume1Bahan ajarr.o volume1
Bahan ajarr.o volume1Heri Cahyono
 
Contoh Kkp MI
Contoh Kkp MIContoh Kkp MI
Contoh Kkp MIAhmad M
 
Kkpmi 111106045901-phpapp02
Kkpmi 111106045901-phpapp02Kkpmi 111106045901-phpapp02
Kkpmi 111106045901-phpapp02Bucek MyName
 
Kkp manajemen-informatika2
Kkp manajemen-informatika2Kkp manajemen-informatika2
Kkp manajemen-informatika2wiizza
 
Laporan Prakerin - Dian Aditya - 2008/2009
Laporan Prakerin - Dian Aditya - 2008/2009Laporan Prakerin - Dian Aditya - 2008/2009
Laporan Prakerin - Dian Aditya - 2008/2009Dian Aditya
 
Panduan penyusunan skripsi_ver3
Panduan penyusunan skripsi_ver3Panduan penyusunan skripsi_ver3
Panduan penyusunan skripsi_ver3rsd kol abundjani
 
Pedoman Umum Pendidikan UNPAD
Pedoman Umum Pendidikan UNPADPedoman Umum Pendidikan UNPAD
Pedoman Umum Pendidikan UNPADDian Herdiana
 
Penelitian Tindakan Kelas. Yosina Hitalesy, S.P..pdf
Penelitian Tindakan Kelas. Yosina Hitalesy, S.P..pdfPenelitian Tindakan Kelas. Yosina Hitalesy, S.P..pdf
Penelitian Tindakan Kelas. Yosina Hitalesy, S.P..pdfyosinahitalesy
 
28801633 28792943-buku-3-20101
28801633 28792943-buku-3-2010128801633 28792943-buku-3-20101
28801633 28792943-buku-3-20101Il D'amore
 
rubrik penilaian proyek kegiatan guru
rubrik penilaian proyek kegiatan gururubrik penilaian proyek kegiatan guru
rubrik penilaian proyek kegiatan gurunanamurtiarina
 
Kkpmi thanks contoh kkp nya
Kkpmi thanks contoh kkp nyaKkpmi thanks contoh kkp nya
Kkpmi thanks contoh kkp nyaachmad rifaie
 
Modul Sistem Basis Data.pdf
Modul Sistem Basis Data.pdfModul Sistem Basis Data.pdf
Modul Sistem Basis Data.pdfKikiFikriansyah1
 
Buku pedoman-ta-d3-9798
Buku pedoman-ta-d3-9798Buku pedoman-ta-d3-9798
Buku pedoman-ta-d3-9798Shuriken Power
 
Buku Pedoman TA D3
Buku Pedoman TA D3Buku Pedoman TA D3
Buku Pedoman TA D3agung83
 
Aircraft Electrical & Electronics
Aircraft Electrical & ElectronicsAircraft Electrical & Electronics
Aircraft Electrical & ElectronicslombkTBK
 
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDPenggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDNASuprawoto Sunardjo
 

Similaire à Pengenalan dan Lingkungan Kerja MySQL (20)

Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013
 
Bahan ajarr.o volume1
Bahan ajarr.o volume1Bahan ajarr.o volume1
Bahan ajarr.o volume1
 
Contoh Kkp MI
Contoh Kkp MIContoh Kkp MI
Contoh Kkp MI
 
Kkpmi 111106045901-phpapp02
Kkpmi 111106045901-phpapp02Kkpmi 111106045901-phpapp02
Kkpmi 111106045901-phpapp02
 
Kkp manajemen-informatika2
Kkp manajemen-informatika2Kkp manajemen-informatika2
Kkp manajemen-informatika2
 
Database
DatabaseDatabase
Database
 
Laporan Prakerin - Dian Aditya - 2008/2009
Laporan Prakerin - Dian Aditya - 2008/2009Laporan Prakerin - Dian Aditya - 2008/2009
Laporan Prakerin - Dian Aditya - 2008/2009
 
Panduan penyusunan skripsi_ver3
Panduan penyusunan skripsi_ver3Panduan penyusunan skripsi_ver3
Panduan penyusunan skripsi_ver3
 
Pedoman Umum Pendidikan UNPAD
Pedoman Umum Pendidikan UNPADPedoman Umum Pendidikan UNPAD
Pedoman Umum Pendidikan UNPAD
 
Penelitian Tindakan Kelas. Yosina Hitalesy, S.P..pdf
Penelitian Tindakan Kelas. Yosina Hitalesy, S.P..pdfPenelitian Tindakan Kelas. Yosina Hitalesy, S.P..pdf
Penelitian Tindakan Kelas. Yosina Hitalesy, S.P..pdf
 
28801633 28792943-buku-3-20101
28801633 28792943-buku-3-2010128801633 28792943-buku-3-20101
28801633 28792943-buku-3-20101
 
rubrik penilaian proyek kegiatan guru
rubrik penilaian proyek kegiatan gururubrik penilaian proyek kegiatan guru
rubrik penilaian proyek kegiatan guru
 
Pedoman umum-unpad
Pedoman umum-unpadPedoman umum-unpad
Pedoman umum-unpad
 
Kkpmi thanks contoh kkp nya
Kkpmi thanks contoh kkp nyaKkpmi thanks contoh kkp nya
Kkpmi thanks contoh kkp nya
 
Modul Sistem Basis Data.pdf
Modul Sistem Basis Data.pdfModul Sistem Basis Data.pdf
Modul Sistem Basis Data.pdf
 
Buku pedoman-ta-d3-9798
Buku pedoman-ta-d3-9798Buku pedoman-ta-d3-9798
Buku pedoman-ta-d3-9798
 
Buku Pedoman TA D3
Buku Pedoman TA D3Buku Pedoman TA D3
Buku Pedoman TA D3
 
Fis 18-lensa-dan-cermin
Fis 18-lensa-dan-cerminFis 18-lensa-dan-cermin
Fis 18-lensa-dan-cermin
 
Aircraft Electrical & Electronics
Aircraft Electrical & ElectronicsAircraft Electrical & Electronics
Aircraft Electrical & Electronics
 
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDPenggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
 

Pengenalan dan Lingkungan Kerja MySQL

  • 1. Modul Praktikum 2009/2010 BASIS DATA Comlab Fakultas Ilmu Komputer Universitas Sriwijaya 2009/2010 Editor : Edvin Ramadhan Buku ini diterbitkan dalam rangka pengadaan buku ajar untuk pendidikan di perguruan tinggi, khususnya di lingkungan Fakultas Ilmu Komputer Universitas Sriwijaya. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 1
  • 2. Modul Praktikum 2009/2010 Daftar Isi Daftar Isi ...........................................................................................................................................2 Prakata ............................................................................................................................................4 1. Pengenalan dan Lingkungan Kerja MySQL Tujuan ...................................................................................................................................5 Dasar teori .............................................................................................................................5 Praktik ...................................................................................................................................6 Evaluasi dan Pertanyaan.........................................................................................................8 Kesimpulan............................................................................................................................9 2. Database dan Tabel Tujuan ...................................................................................................................................10 Dasar teori .............................................................................................................................10 Praktik ...................................................................................................................................14 Evaluasi dan Pertanyaan.........................................................................................................14 Kesimpulan............................................................................................................................14 3. Manipulasi dan Retrieve Data (bagian 1) Tujuan ...................................................................................................................................15 Dasar teori .............................................................................................................................15 Praktik ...................................................................................................................................16 Evaluasi dan Pertanyaan.........................................................................................................17 Kesimpulan............................................................................................................................17 4. Manipulasi dan Retrieve Data (bagian 2) Tujuan ...................................................................................................................................18 Dasar teori .............................................................................................................................18 Praktik ...................................................................................................................................21 Evaluasi dan Pertanyaan.........................................................................................................22 Kesimpulan............................................................................................................................22 5. Fungsi Agregat Tujuan ...................................................................................................................................23 Dasar teori .............................................................................................................................23 Praktik ...................................................................................................................................24 Evaluasi dan Pertanyaan.........................................................................................................25 Kesimpulan............................................................................................................................25 6. Retrieve, Group, Filter dan Pattern Matching Tujuan ...................................................................................................................................26 Dasar teori .............................................................................................................................26 Praktik ...................................................................................................................................27 Evaluasi dan Pertanyaan.........................................................................................................29 Kesimpulan............................................................................................................................29 Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 2
  • 3. Modul Praktikum 2009/2010 7. Relasi Tabel Tujuan ...................................................................................................................................30 Dasar teori .............................................................................................................................30 Praktik ...................................................................................................................................31 Evaluasi dan Pertanyaan.........................................................................................................32 Kesimpulan............................................................................................................................33 8. Join Tujuan ...................................................................................................................................34 Dasar teori .............................................................................................................................34 Praktik ...................................................................................................................................36 Evaluasi dan Pertanyaan.........................................................................................................37 Kesimpulan............................................................................................................................38 Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 3
  • 4. Modul Praktikum 2009/2010 Prakata Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-Nya kepada penyusun, sehingga dapat menyelesaikan buku panduan praktik Basis Data ini. Sholawat dan salam juga kita curahkan kepada baginda yang mulia Rosulullah SAW beserta keluarga, sahabat dan pengikutnya hingga akhir zaman. Buku ini merupakan salah satu bahan ajar pendukung untuk mata kuliah Basis Data. Dari buku ini diharapkan mahasiswa dapat dengan mudah mempelajari, memahami, dan mempraktikkan materi – materi yang telah diajarkan pada kelas teori mata kuliah Basis Data. Kemudian buku ini diharapkan dapat menjadi referensi untuk pemecahan permasalahan umum di luar materi perkuliahan. Sebagian besar isi dari buku ini merupakan rangkuman dari sumber-sumber yang telah dibuat penulis lain. Penyusun berharap agar buku ini dapat bermanfaat bagi semua kalangan pembaca. Terima kasih untuk semuanya yang telah memberikan banyak kritik dan saran serta dukungan dalam penyusunan buku ini. Palembang, Februari 2010 Penyusun Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 4
  • 5. Modul Praktikum 2009/2010 1. Pengenalan dan Lingkungan Kerja MySQL Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Mengenal lingkungan kerja MySQL 2. Mengenal format perintah di MySQL 3. Mengenal perintah-perintah sederhana di MySQL Dasar teori MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi berbasis web pada client. MySQL menyebut produknya sebagai database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya. Format Perintah Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL: · Setiap perintah harus diakhiri dengan tanda titik koma , kecuali untuk perintahtertentu, misal : quit · Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori perintah-perintah yang pernah diberikan. · Perintah dapat berupa perintah SQL atau perintah khusus MySQL. · Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf kecil. · Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 5
  • 6. Modul Praktikum 2009/2010 Ada beberapa tanda yang sering muncul di prompt : Prompt Arti mysql> Siap menerima perintah baru -> Menunggu baris berikut untuk perintah yang lebih dari satu baris '> Menunggu baris berikut, menunggu penutup string yang dimulai dengan tanda kutip satu (“'”) "> Menunggu baris berikut, menunggu penutup string yang dimulai dengan tanda kutip dua (“"”) `> Menunggu baris berikutnya, menunggu penutup identifier yang dimulai dengan tanda backtick (“`”) Praktik 1. Koneksi ke MySQL. Buka command prompt, masuk ke direktori AppServMySQLbin, kemudian ketik: mysql –u namauser –p (enter) password : (ketikkan password) (enter) 2. Diskoneksi dari MySQL. Untuk diskoneksi, ketik : QUIT atau q 3. Ketik perintah berikut : SELECT VERSION(), CURRENT_DATE; 4. Ketik perintah di atas (no.3) : a. Dengan huruf kecil semua b. Dengan huruf besar dan kecil Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 6
  • 7. Modul Praktikum 2009/2010 5. Ketik perintah berikut : SELECT SIN(PI()/4), (4+1)*5; 6. Ketik perintah berikut : SELECT VERSION(); SELECT NOW(); (bandingkan hasilnya dengan no.3 di atas) 7. Ketik perintah berikut : Mysql > SELECT - > USER() -> , - > CURRENT_DATE; 8. Ketik perintah berikut : Mysql > SELECT - > USER() - > c 9. Ketik perintah berikut : Mysql > SELECT USER() Apa yangterjadi ? Kemudian ketik : -> ; Apa yang terjadi ? Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 7
  • 8. Modul Praktikum 2009/2010 10. Ketik perintah berikut : Mysql > SHOW DATABASES; 11. Ketik perintah berikut : Mysql > USE test 12. Ketik perintah berikut : Mysql > USE coba 13. Ketik perintah berikut : Mysql > CREATE DATABASE coba; Mysql > use coba; Mysql > show tables; 14. Ketik perintah berikut : Mysql > CREATE TABLE buku (kodebuku CHAR(5) PRIMARY KEY NOT NULL, - > judul VARCHAR(25) NOT NULL, pengarang VARCHAR(20), - > penerbit VARCHAR(15), kategori VARCHAR(15)); 15. Ketik perintah berikut : Mysql > desc buku; Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Perintah apa yang digunakan untuk masuk ke MySQL yang tidak mempunyai password ? 3. Apakah perintah-perintah di MySQL bersifat case sensitif ? Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 8
  • 9. Modul Praktikum 2009/2010 4. Apa perbedaan pengetikan lebih dari satu perintah, yang dipisah dengan tanda koma (,) dan tanda titik koma (;) ? (bandingkan hasil query percobaan 3 dan 6) 5. Bisakah kita melakukan operasi aritmatik dengan menggunakan perintah SQL ? Berikan contoh yang lain ? 6. Haruskah kita mengetik perintah dalam satu baris ? 7. Bagaimana untuk mengakhiri atau membatalkan suatu perintah ? 8. Sebelum membuat tabel, langkah-langkah apa saja yang sebaiknya kita lakukan ? (Berdasarkan percobaan di atas) Kesimpulan Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 9
  • 10. Modul Praktikum 2009/2010 2. Database dan Tabel Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Membuat database dan tabel dengan data definition language 2. Mampu memodifikasi tabel Dasar teori DDL (Data Definition Language) , DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP. a. Syntax Membuat Database : CREATE DATABASE namadatabase; Namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar database. Berikut ini perintah untuk membuat database dengan nama rental : CREATE DATABASE RENTAL; Syntax tambahan untuk menampilkan daftar nama database yang ada pada mysql menggunakan perintah : SHOW DATABASES; b. Memilih Database : USE namadatabase; Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel, Berikut ini perintah untuk menggunakan database dengan nama rental : USE RENTAL; c. Syntax Menghapus Database : DROP DATABASE namadatabase; Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah untuk menghapus database dengan nama rental : DROP DATABASE RENTAL; Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 10
  • 11. Modul Praktikum 2009/2010 d. Membuat Tabel : CREATE TABLE namatabel2 ( Field1 TipeData1,Field2 TipeData2); Namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan ama kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,). Berikut ini perintah untuk membuat tabel dengan nama jenisfilm : CREATE TABLE JENISFILM (JENIS CHAR(6), HARGA INT); e. Menampilkan Tabel Untuk menampilkan daftar nama tabel yang ada pada database yang sedang aktif/digunakan (dalam hal ini database rental) : SHOW TABLES; f. Menampilkan Atribut Tabel : DESC namatabel; Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah : DESC jenisfilm; g. Syntax Menghapus Tabel : DROP TABLE namatabel; Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapus tabel dengan nama jenisfilm : DROP TABLE JENISFILM; h. Mendefinisikan Null/Not Null : CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL, Field2 TipeData2); i. Mendefinisikan Nilai Default : CREATE TABLE namatabel (Field1 TipeData1 DEFAULT nilaidefault,Field2 TipeData2 DEFAULT nilaidefault); Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom ketika ada penambahan baris baru, sementara nilai pada kolom tersebut tidak diisi oleh pengguna. Pada kasus ini jenis film ini : CREATE TABLE jenisfilm (jenis char(6) DEFAULT “komedi”, harga int DEFAULT 0); j. Mendefinisikan Primary Key Pada Tabel Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah Syntax mendefinisikan primary key untuk Field1 Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 11
  • 12. Modul Praktikum 2009/2010 CREATE TABLE namatabel(Field1 TipeData1 NOT NULL PRIMARY KEY, Field2 TipeData2); Atau CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, PRIMARY KEY(Field1)); Atau ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (namakolom); Coba buat perintah untuk membuat tabel jenisfilm dengan kolom jenis tipe datanya char(6), harga tipe datanya int dengan mendefinisikan nilai not null dan primary key untuk kolom jenis serta nilai default untuk kolom harga!. k. Menghapus Primary Key Pada Tabel Cara 1 : Jika primary key dibuat dengan menggunakan alter table : ALTER TABLE namatabel DROP CONSTRAINT namaconstraint; Cara 2 : Jika primary key dibuat melalui create table : ALTER TABLE namatabel DROP PRIMARY KEY; l. Menambah Kolom Baru Pada Tabel : ALTER TABLE namatabel ADD fieldbaru tipe; Namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan ditambahkan. Berikut ini perintah untuk menambah kolom keterangan dengan tipe data varchar(25) : ALTER TABLE JENISFILM ADD KETERANGAN VARCHAR(25); Untuk meletakkan field diawal, tambahkan sintaks first : ALTER TABLE PELANGAN ADD COLUMN KODE CHAR(5) FIRST; Untuk menyisipkan field setelah field tertentu, tambahkan sintaks after : ALTER TABLE PELANGAN ADD COLUMN PHONE CHAR(5) AFTER ALAMAT; m. Mengubah Tipe Data atau Lebar Kolom Pada Tabel : ALTER TABLE NAMATABEL MODIFY COLUMN FIELD TIPE Namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 12
  • 13. Modul Praktikum 2009/2010 lama dengan lebar kolom yang berbeda. Berikut ini perintah untuk mengubah tipe data untuk kolom keterangan dengan char(20) : ALTER TABLE JENISFILM MODIFY COLUMN KETERANGAN VARCHAR(20); n. Mengubah Nama Kolom : ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom tipedatabaru; Namatabel adalah nama tabel yang akan diubah nama kolomnya, namalamakolom adalah kolom yang akan diganti namanya, namabarukolom adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut. Berikut ini perintah untuk mengubah nama kolom keterangan menjadi ket : ALTER TABLE JENISFILM CHANGE COLUMN KETERANGAN KET VARCHAR(20); o. Menghapus Kolom Pada Tabel : ALTER TABLE namatabel DROP COLUMN namakolom; p. Membuat dan Menghapus Index Index berfungsi mempercepat proses pencarian data dalam suatu tabel. Adanya index pada suatu field tabel menyebabkan proses pencarian otomatis akan dilakukan terlebih dahulu ke dalam index, apabila ditemukan baru akan diambilkan data sesungguhnya dari tabel, apabila tidak ditemukan dalam index, sudah dipastikan bahwa data tesebut memang tidak ada dalam tabel. Index juga dapat dibuat untuk setiap kolom yang akan dijadikan kriteria tertentu untuk pencarian data sehingga proses pencariannya akan lebih cepat. Ada perintah untuk membuat dan menghapus index, tapi tidak ada perintah untuk merubah index. Perhatikan contoh berikut : CREATE INDEX IDXNOMOR ON MAHASISWA(NIM); Atau ALTER TABLE MAHASISWA ADD INDEX IDXNIM(NIM); Untuk menghapus index : DROP INDEX IDXNIM ON MAHASISWA; Atau ALTER TABLE MAHASISWA DROP INDEX IDXNIM; Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 13
  • 14. Modul Praktikum 2009/2010 Praktik 1. Buat sebuah database dengan nama coba ! 2. Buat sebuah tabel dengan nama mahasiswa di dalam database coba ! 3. Tambahkan sebuah kolom : keterangan (varchar 15), sebagai kolom terakhir ! 4. Tambahkan kolom nim (int 11) di awal (sebagai kolom pertama) ! 5. Sisipkan sebuah kolom dengan nama phone (varchar 15) setelah kolom alamat ! 6. Ubah kolom nim menjadi char(11) ! 7. Ubah nama kolom phone menjadi telepon (varchar 20) ! 8. Hapus kolom keterangan dari tabel ! 9. Ganti nama tabel menjadi student! 10. Buat index untuk tabel tersebut ! 11. Jadikan nim sebagai primary key ! Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Apa kegunaan dari index di tabel ? 3. Apa maksud dari int (11) ? 1. Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null yang berisi Yes dan No. Apa maksudnya ? Kesimpulan Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 14
  • 15. Modul Praktikum 2009/2010 3. Manipulasi dan Retrieve Data (bagian 1) Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Mengenal data manipulation language dan mampu menggunakannya 2. Mampu mengelola record dan retrieve data Dasar teori DML (Data Manipulation Language) DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan SELECT. 1. INSERT Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. Terdapat dua cara untuk menambah baris, yaitu : Cara 1 : Menambah baris dengan mengisi data pada setiap kolom : INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n); Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu : INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n); Keterangan : Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka pemberian nilainya diapit dengan tanda petik tunggal (‘horor’) atau petik ganda (“horor”). jika data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit tanda petik tunggal maupun ganda. 2. DELETE Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris. Syntax : DELETE FROM namatabel [WHERE kondisi]; Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 15
  • 16. Modul Praktikum 2009/2010 Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu. 3. 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. 4. SELECT Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya. a. Menampilkan data untuk semua kolom menggunakan asterisk (*): SELECT * FROM namatabel; b. Menampilkan data untuk kolom tertentu : SELECT kolom1,kolom2,kolom-n FROM namatabel; c. Menampilkan data dengan kondisi data tertentu dengan klausa WHERE : SELECT * FROM namatabel WHERE kondisi; Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE adalah “=”(sama dengan) , > (lebih dari), < (kurang dari), < > (tidak sama dengan), >= (lebih dari atau sama dengan), <= (kurang dari atau sama dengan). Adapun operator lain, yaitu : AND, OR, NOT, BETWEEN-AND, IN dan LIKE. Praktik 1. Buat sebuah database dengan nama coba 2. Buat sebuah tabel dengan nama pet di dalam database coba Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 16
  • 17. Modul Praktikum 2009/2010 3. Isi data ke dalam tabel pet seperti berikut : 4. Tampilkan semua isi/record tabel pet ! 5. Ubah data tanggal lahir hewan yang bernama Bowser menjadi : 1979-08-31 ! 6. Tampilkan satu baris / record data yang telah diubah tadi yaitu record dengan nama Bowser saja! 7. Hapus hewan yang bernama Chirpy ! 8. Tampilkan record atau data yang tanggal kelahirannya lebih dari atau sama dengan 1998-1-1 ! 9. Tampilkan semua hewan dengan spesis anjing dan anjing tersebut berjenis kelamin betina ! 10. Dengan satu perintah select, tampilkan semua hewan dengan spesis ular atau spesis burung (dalam satu tabel ada hewan spesies ular dan burung saja)! 11. Dengan satu perintah select, tampilkan semua hewan yang berspesis kucing dengan kelamin laki- laki atau hewan yang berspesis anjing dengan kelamin betina (tampilkan dalam satu tabel)! Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Beri kesimpulan Anda ! Kesimpulan Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 17
  • 18. Modul Praktikum 2009/2010 4. Manipulasi dan Retrieve Data (bagian 2) Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Mencari dan menampilkan data dengan perintah select 2. Mengkombinasikan perintah select dengan perintah lainnya Dasar teori a. Memberikan nama lain pada kolom : SELECT namakolomlama AS namakolombaru FROM namatabel; Berikut ini perintah untuk memberikan nama lain pada kolom jenis menjadi jenis_film pada tabel jenisfilm : SELECT JENIS AS TYPE FROM JENISFILM; b. Menggunakan alias untuk nama tabel : SELECT namalias.jenis, namalias.harga FROM namatabel namalias; Berikut ini perintah untuk memberikan alias pada tabel jenisfilm : SELECT J.JENIS, J.HARGA FROM JENISFILM J; c. Menampilkan data lebih dari dua tabel : SELECT * FROM namatabel1, namatabel2, namatabel-n; Sebagai contoh buat table baru berikut : d. Nested Queries / Subquery (IN, NOT IN, EXISTS, NOT EXISTS) Subquery berarti query di dalam query. Dengan menggunakan subquery, hasil dari query akan menjadi bagian dari query di atasnya. Subquery terletak di dalam klausa WHERE atau HAVING. Pada klausa WHERE, subquery digunakan untuk memilih baris-baris tertentu yang kemudian digunakan oleh query. Sedangkan pada klausa HAVING, subquery digunakan untuk memilih kelompok baris yang kemudian digunakan oleh query. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 18
  • 19. Modul Praktikum 2009/2010 Contoh 1 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tercantum pada tabel film menggunakan IN : SELECT * FROM JENISFILM WHERE JENIS IN (SELECT JENIS FROM FILM); atau menggunakan EXISTS SELECT * FROM JENISFILM WHERE EXISTS (SELECT * FROM FILM WHERE HARGA > 2000); Pada contoh di atas : SELECT JENIS FROM FILM disebut subquery, sedangkan : SELECT * FROM JENISFILM berkedudukan sebagai query. Perhatikan, terdapat data jenis dan harga pada tabel jenisfilm yang tidak ditampilkan. Hal ini disebabkan data pada kolom jenis tidak terdapat pada kolom jenis di tabel film. Contoh 2 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tidak tercantum pada tabel film menggunakan NOT IN : SELECT * FROM JENISFILM WHERE JENIS NOT IN (SELECT JENIS FROM FILM); atau menggunakan NOT EXISTS SELECT * FROM JENISFILM WHERE NOT EXISTS (SELECT * FROM FILM WHERE HARGA > 2000); e. Operator comparison ANY dan ALL Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE. Ilustrasinya jika: Gaji > ANY (S) Jika subquery S menghasilkan G1, G2, ..., Gn, maka kondisi di atas identik dengan : (gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn) Contoh : perintah untuk menampilkan semua data jenisfilm yang harganya bukan yang terkecil : SELECT * FROM JENISFILM WHERE HARGA > ANY (SELECT HARGA FROM JENISFILM); Operator ALL digunakan untuk melakukan perbandingan dengan subquery. Kondisi dengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak menghasilkan apapun atau jika perbandingan menghasilkan TRUE untuk setiap nilai query terhadap hasil subquery. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 19
  • 20. Modul Praktikum 2009/2010 Contoh : perintah untuk menampilkan data jenisfilm yang harganya paling tinggi : SELECT * FROM JENISFILM WHERE HARGA >= ALL (SELECT HARGA FROM JENISFILM); f. Sintak ORDER BY Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu sesuai dengan tipe data yang dimiliki. Contoh : perintah untuk mengurutkan data film berdasarkan kolom judul : SELECT * FROM FILM ORDER BY JUDUL; atau tambahkan ASC untuk pengurutan secara ascending (menaik) : SELECT * FROM FILM ORDER BY JUDUL ASC; atau tambahkan DESC untuk pengurutan secara descending (menurun) : SELECT * FROM FILM ORDER BY JUDUL DESC; g. Sintak DISTINCT Distinct adalah kata kunci ini untuk menghilangan duplikasi. Sebagai Contoh, buat sebuah tabel pelanggan yang berisi nama dan kota asal dengan beberapa record isi dan beberapa kota asal yang sama. Kemudian ketikkan perintah berikut : SELECT DISTINCT KOTA FROM PELANGGAN; Dengan perintah di atas maka nama kota yang sama hanya akan ditampilkan satu saja. h. UNION, INTERSECT dan EXCEPT UNION merupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Berikut ini perintah untuk memperoleh data pada tabel film dimana jenisnya action dan horor : SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ‘ACTION’ UNION SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ‘HOROR’; Perintah di atas identik dengan : SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ‘ACTION’ OR JENIS = ‘HOROR’; Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu jika bekerja pada dua tabel atau lebih. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 20
  • 21. Modul Praktikum 2009/2010 INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2 ; Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan operator IN seperti contoh 1 pada bagian Nested Queries. EXCEPT / Set Difference merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2; Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan operator NOT IN seperti contoh 2 pada bagian Nested Queries. Praktik 1. Buat tabel pegawai sebagai berikut : 2. Isi data tabel (data dapat dilihat pada halaman terakhir)! 3. Tampilkan semua kolom di tabel ! 4. Tampilkan kolom idpegawai, namabelakang dan gaji saja ! 5. Tampilkan kolom idpegawai, namabelakang, gaji, tunjangan dan sebuah kolom baru yaitu tunjangan+gaji yang berisi jumlah tunjangan dan gaji ! 6. Ubah tunjangan menjadi NULL untuk pegawai dengan idpegawai = E003. Kemudian lakukan kembali percobaan 5. 7. Seperti percobaan 5, tampilkan kolom idpegawai, namabelakang, gaji, tunjangan dan sebuah kolom baru (gunakan alias) yaitu total_pendapatan yang berisi jumlah tunjangan dan gaji ! 8. Tambahkan record baru dengan value : E006,lincoln, burrows, linc@yahoo.com, 085275384544, 2008-09-01, L0006, 1750000, NULL, ex, coml. 9. Untuk pegawai yang ber-id E004 dan E005 ubah idmanajernya menjadi al ! 10. Sekarang tampilkan kolom idmanajer saja ! Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 21
  • 22. Modul Praktikum 2009/2010 11. Dari percobaan 10, terdapat 3 idmanajer yang sama dengan total record 6, sekarang tampilkan idmanajer tanpa duplikasi idmanajer sehingga akan tampil 4 record dengan idmanajer yang berbeda ! 12. Tampilkan pegawai yang gajinya antara 1750000 - 1250000 ! 13. Tampilkan tabel pegawai yang terurut berdasarkan namabelakang (dari a ke z)! 14. Tampilkan tabel pegawai yang diurutkan berdasarkan nama depan dengan urutan terbalik (dari z ke a)! Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Beri kesimpulan Anda ! Kesimpulan Isi Tabel Untuk No 2 : Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 22
  • 23. Modul Praktikum 2009/2010 5. Fungsi Agregat Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Mahir menggunakan perintah select untuk retrieve data 2. Mampu menggunakan fungsi agregat Dasar teori Aggregate Functions (COUNT, SUM, AVG, MIN, MAX) a. COUNT Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Contoh : perintah untuk menghitung jumlah baris kolom jenis pada tabel jenisfilm : SELECT COUNT(JENIS) FROM JENIS FILM; b. SUM Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Contoh : perintah untuk menghitung jumlah nilai kolom harga pada tabel jenisfilm : SELECT SUM(HARGA) FROM JENIS FILM; c. AVG Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada tabel. Contoh : perintah untuk menghitung rata-rata dari kolom harga pada tabel jenisfilm : SELECT AVG(HARGA) FROM JENIS FILM; d. MIN Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel. Contoh : perintah untuk menampilkan nilai terkecil dari kolom harga pada tabel jenisfilm : SELECT MIN(HARGA) FROM JENIS FILM; e. MAX Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada tabel. Contoh : perintah untuk menampilkan nilai terbesar dari kolom harga pada tabel jenisfilm : SELECT MAX(HARGA) FROM JENIS FILM; Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 23
  • 24. Modul Praktikum 2009/2010 Praktik 1. Gunakan tabel pegawai (lihat hal. Terakhir), tampilkan pegawai yang gajinya 2.000.000, 1.250.000 dan 1.500.000 dalam satu perintah select ! 2. Tampilkan pegawai yang gajinya bukan 2.000.000 dan 1.250.000 ! 3. Tampilkan pegawai yang tunjangannya NULL ! 4. Tampilkan pegawai yang tunjangannya tidak NULL ! 5. Tampilkan/hitung jumlah baris/record tabel pegawai ! 6. Tampilkan/hitung jumlah total gaji di tabel pegawai ! 7. Tampilkan/hitung rata-rata gaji pegawai ! 8. Tampilkan gaji terkecil ! 9. Tampilkan gaji terbesar ! 10. Gunakan tabel pet (lihat hal. Terakhir), Tampilkan jumlah hewan yang dimiliki setiap owner. Tampilan setelah SQL dijalankan : 11. Tampilkan jumlah hewan berdasarkan spesies ! 12. Tampilkan jumlah hewan berdasarkan jenis kelamin ! 13. Tampilkan jumlah hewan berdasarkan spesies dan jenis kelamin ! 14. Tampilkan jumlah hewan berdasarkan spesis (cat dan dog saja) dan jenis kelamin ! Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 24
  • 25. Modul Praktikum 2009/2010 15. Tampilkan jumlah hewan berdasarkan jenis kelamin yang diketahui saja ! Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Beri kesimpulan Anda ! Kesimpulan Data Tabel Pegawai : Data Tabel Pet : Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 25
  • 26. Modul Praktikum 2009/2010 6. Retrieve, Group, Filter dan Pattern Matching Tujuan Setelah melakukan percobaan ini, anda diharapkan dapat : 1. Mampu meretrieve data dan mengelompokkannya 2. Mampu menampilkan data dengan pencocokan pola/karakter Dasar teori a. RETRIEVE SQL dengan GROUP BY dan HAVING Klausa GROUP BY digunakan untuk melakukan pengelompokan data. Sebagai contoh, terdapat tabel film dengan data sebagai berikut : Akan ditampilkan hanya kolom jenis dan digabungkan dengan SUM(jml_film) yang dikelompokkan berdasarkan kolom jenis pada tabel film : SELECT JENIS, SUM(JML_FILM) FROM FILM GROUP BY JENIS; Klausa HAVING digunakan untuk menentukan kondisi bagi klausa GROUP BY. Kelompok yang memenuhi HAVING saja yang akan dihasilkan. Contoh : perintah untuk menampilkan data hanya kolom jenis yang dikelompokkan berdasarkan kolom jenis, dimana jumlah film berdasarkan kelompoknya harus lebih besar dari satu pada tabel film : SELECT JENIS FROM FILM GROUP BY JENIS HAVING COUNT(KODE_FILM)>1; Untuk efesiensi harus dimengerti urutan pemilihan Where, Group By dan Having : · Where dipakai untuk memfilter baris-baris dari operasi-operasi yang dinyatakan oleh perintah From. · Group By dipakai untuk mengelompokkan hasil dari Where. · Having dipakai untuk memfilter baris-baris dari hasil pengelompokan. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 26
  • 27. Modul Praktikum 2009/2010 b. Pattern Matching (Pencocokan Pola/Karakter) Fungsi string digunakan untuk menampilkan data yang didasarkan pada pencarian dengan karakter. Pada pencarian data digunakan sintak LIKE, pada dasarnya sintak LIKE hampir sama dengan sintak = , bedanya kalau = maka pencarian karakater harus sesuai dengan kata yang kita buat tetapi dengan menggunakan LIKE karakater yang akan kita tampilkan tidak harus lengkap hanya dengan menuliskan salah satu huruf atau kata saja, maka semua data yang kita cari akan ditampilkan. SQL mempunyai 2 simbol khusus yang dipakai untuk pencocokan pola : • % : untuk mencocokkan karakter sebelum atau sesudah tanda %; • _ : mencari karakter sebanyak jumlah tanda _. LIKE ‘%Glasgow%’ artinya mencari data pada kolom tertentu yang mengandung karakter ‘Glasgow’. Bentuk umum : SELECT * FROM nama_tabel WHERE nama_kolom LIKE 'char%'; SELECT * FROM nama_tabel WHERE nama_kolom LIKE '%char'; SELECT * FROM nama_tabel WHERE nama_kolom LIKE '%char%'; SELECT * FROM nama_tabel WHERE nama_kolom NOT LIKE '%char%'; SELECT * FROM nama_tabel WHERE nama_kolom LIKE '_'; Praktik 1. Buat tabel penjualan : 2. Isi data : 3. Buat SQL sehingga tampilannya seperti berikut : Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 27
  • 28. Modul Praktikum 2009/2010 4. Buat SQL sehingga tampilannya : ID Produk TOTAL 4 50 5. Buat tabel barang dan isi datanya : 6. Buat SQL sehingga tampilannya : 7. Buat SQL sehingga tampilannya : 8. Buat SQL sehingga tampilannya : 9. Buat SQL sehingga tampilannya : 10. Buat SQL sehingga tampilannya : Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 28
  • 29. Modul Praktikum 2009/2010 Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Beri kesimpulan Anda ! Kesimpulan Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 29
  • 30. Modul Praktikum 2009/2010 7. Relasi Tabel Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Membuat relasi tabel 2. Membuktikan integritas data dengan tabel yang ter-relasi Dasar teori Relasional Database dan RDBMS, Relational Database sebenarnya adalah salah satu konsep penyimpanan data, sebelum konsep database relasional muncul sebenarnya sudah ada dua model database yaitu Network Database dan Hierarchie Database. Dalam database relasional, data disimpan dalam bentuk relasi atau tabel dua dimensi, dan antar tabel satu dengan tabel lainnya terdapat hubungan atau relationship, sehingga sering kita baca di berbagai literatur, database didefinisikan sebagai “kumpulan dari sejumlah tabel yang saling hubungan atau keterkaitan”. Nah, kumpulan dari data yang diorganisasikan sebagai tabel tadi disimpan dalam bentuk data elektronik di dalam hardisk komputer. Untuk membuat struktur tabel, mengisi data ke tabel, mengubah data jika diperlukan dan menghapus data dari tabel diperlukan software. Software yang digunakan membuat tabel, isi data, ubah data dan hapus data disebut Relational Database Management System atau dikenal dengan singkatan RDBMS sedangkan perintah yang digunakan untuk membuat tabel, isi, ubah dan hapus data disebut perintah SQL yang merupakan singkatan dari Structure Query Language. Jadi, setiap software RDBMS pasti bisa digunakan untuk menjalankan perintah SQL. Sebenarnya fungsi RDBMS bukan cuma buat tabel, isi data, ubah dan hapus data, untuk manajemen data dalam skala besar dan agar bisa mendukung proses bisnis yang kontinyu dan real time. Suatu RDBMS dituntut untuk mempunyai kemampuan manajemen user dan keamanan data, backup dan recovery data serta kemampuan lainnya yang berkaitan dengan kecepatan pemrosesan data (performance). Primary key adalah suatu field atau kombinasi field yang secara unik mengidentifikasi setiap record di dalam tabel. Contoh NIM yang terdapat pada tabel mahasiswa. Foreign key adalah primary key pada suatu tabel yang di masukkan pada tabel lain dan dijadikan salah satu key pada tabel tersebut. References menunjukkan bahwa foreign key di suatu tabel merupakan key pada tabel lain. Pada perubahan suatu record baik itu update atau delete, dapat diikuti dengan kata : cascade, restrict atau set null. Kita bisa atur sesuai kebutuhan. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 30
  • 31. Modul Praktikum 2009/2010 Contoh : - on update CASCADE on delete RESTRICT - on update RESTRICT on delete SET NULL Praktik 1. Buat sebuah database dengan nama Akademik. 2. Buat tabel mahasiswa dengan tipe innodb : 3. Buat tabel dosen_pembimbing dengan tipe innodb dan relasikan ke tabel mahasiswa dengan mengambil key nim dari tabel mahasiswa sebagai foreign key di tabel dosen_pembimbing : 4. Isi data di tabel seperti data berikut : dan Note : untuk mengisi data yang fieldnya AUTO_INCRMENT maka sebutkan NULL untuk field tersebut. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 31
  • 32. Modul Praktikum 2009/2010 5. Kemudian update satu record di tabel mahasiswa : 6. Hapus sebuah record di tabel mahasiswa : Evaluasi dan Pertanyaan 1. Apa yang terjadi jika sintak pada langkah ke 3 (baris sintak terkahir) diubah menjadi on update cascade on delete restrict ? 2. Apa yang terjadi jika sintak pada langkah ke 3 (baris sintak terkahir) diubah menjadi on update cascade on delete set null ? 3. Buat sebuah database baru dengan nama toko. Buat 3 buah tabel di dalam database tersebut, yaitu tabel produk, pelanggan, dan produk_order. Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 32
  • 33. Modul Praktikum 2009/2010 Buat relasi untuk tabel-tabel di atas dan buktikan relasi tersebut dengan melakukan update atau delete terhadap suatu tabel berpengaruh terhadap tabel lainnya! Kesimpulan Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 33
  • 34. Modul Praktikum 2009/2010 8. Join Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Mengenal beberapa operasi join 2. Mampu melakukan operasi join beberapa tabel Dasar teori Operasi Join, Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-tabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel yang berbeda. Berikut ini perintah untuk menampilkan kolom judul dari tabel film dan kolom harga dari tabel jenisfilm : Pada contoh di atas, jenisfilm.jenis=film.jenis merupakan kondisi untuk mencocokkan data antara kolom jenis milik tabel jenisfilm dan film. a. Inner Join Inner join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat dibelakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapat pasangan data dari tabel sebelah kanan. Berikut ini perintah untuk menampilkan data dari tabel jenisfilm dan film dengan syarat berdasarkan kolom jenis : SELECT * FROM JENISFILM INNER JOIN FILM ON (JENISFILM.JENIS = FILM.JENIS); b. Left Join Left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. SELECT * FROM JENISFILM LEFT JOIN FILM ON (JENISFILM.JENIS = FILM.JENIS); Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 34
  • 35. Modul Praktikum 2009/2010 c. Right Join Right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. SELECT * FROM JENISFILM RIGHT JOIN FILM ON (JENISFILM.JENIS = FILM.JENIS); d. Natural Join Natural join digunakan untuk menampilkan semua data dari dua tabel dimana jika terdapat kolom yang sama, maka yang akan ditampilkan hanya salah satunya saja, yaitu kolom dari tabel sebelah kiri perintah natural join. SELECT * FROM JENISFILM NATURAL JOIN FILM; Terdapat Penggabungan Natural Join dengan Left dan Right Join : 1. Natural Left Join Natural left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah natural left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. SELECT * FROM JENISFILM NATURAL LEFT JOIN FILM; 2. Natural Right Join Natural right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah natural right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. SELECT * FROM JENISFILM NATURAL RIGHT JOIN FILM; Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 35
  • 36. Modul Praktikum 2009/2010 Praktik 1. Buat sebuah database dengan nama sewamobil : 2. Buat tabel mobil dan isi datanya : 3. Buat tabel pelanggan dan isi datanya : 4. Buat tabel sewa dan isi datanya : Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 36
  • 37. Modul Praktikum 2009/2010 5. Buat query sehingga didapat tabel seperti berikut : 6. Buat query sehingga didapat tabel seperti berikut : 7. Buat query sehingga didapat tabel seperti berikut : 8. Buat query sehingga didapat tabel seperti berikut : Evaluasi dan Pertanyaan 1. Tulis sintaks sql untuk mendapatkan tabel pada no 5, 6, 7 dan 8 ! 2. Apa kesimpulan anda ! Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 37
  • 38. Modul Praktikum 2009/2010 Kesimpulan Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 38