SlideShare ist ein Scribd-Unternehmen logo
1 von 36
MODUL PRAKTIKUM
DATABASE / PROGRAMMING
DAFTAR ISI

DAFTAR ISI ................................................................................................. ii
KATA PENGANTAR ...............................................................................................iv


BAB 1. PENGENALAN DAN LINGKUNGAN KERJA MYSQL ................................... 1
         A. Tujuan ............................................................................................................... 1
         B. Dasar Teori ....................................................................................................... 1
         C. Format Perintah ................................................................................................ 1
         D. Praktikum .......................................................................................................... 2
         E. Evaluasi dan Pertanyaan .................................................................................... 3


BAB 2. DATABASE DAN TABEL ................................................................................... 5
         A. Tujuan ................................................................................................................. 5
         B. Dasar Teori ........................................................................................................ 5
         C. Praktikum ........................................................................................................... 8
         D. Evaluasi dan Pertanyaan .................................................................................... 9


BAB 3. MANIPULASI DAN RETRIEVE DATA (BAGIAN 1) ..................................... 10
         A. Tujuan .............................................................................................................. 10
         B. Dasar Teori ...................................................................................................... 10
         C. Praktikum ........................................................................................................ 11
         D. Evaluasi dan Pertanyaan .................................................................................. 12


BAB 4. MANIPULASI DAN RETRIEVE DATA (BAGIAN 2) ...................................... 13
         A. Tujuan .............................................................................................................. 13
         B. Dasar Teori ...................................................................................................... 13
         C. Praktikum ........................................................................................................ 16
         D. Evaluasi dan Pertanyaan .................................................................................. 17


BAB 5. FUNGSI AGREGAT ............................................................................................ 18
         A. Tujuan .............................................................................................................. 18
         B. Dasar Teori ...................................................................................................... 18

                                                                   ii
C. Praktikum ........................................................................................................ 19
          D. Evaluasi dan Pertanyaan .................................................................................. 20


BAB 6. RETRIEVE, GROUP, FILTER DAN PATTERN MATCHING ........................ 21
          A. Tujuan .............................................................................................................. 21
          B. Dasar Teori ...................................................................................................... 21
          C. Praktikum ........................................................................................................ 22
          D. Evaluasi dan Pertanyaan .................................................................................. 23

BAB 7. RELASI TABEL .................................................................................................. 24
          A. Tujuan .............................................................................................................. 24
          B. Dasar Teori ...................................................................................................... 24
          C. Praktikum ........................................................................................................ 25
          D. Evaluasi dan Pertanyaan .................................................................................. 26

BAB 8. JOIN ...................................................................................................................... 27
          A. Tujuan .............................................................................................................. 27
          B. Dasar Teori ...................................................................................................... 27
          C. Praktikum ........................................................................................................ 29
          D. Evaluasi dan Pertanyaan .................................................................................. 31
DAFTAR PUSTAKA ........................................................................................................ 32




                                                                   iii
KATA PENGANTAR


     Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat
dan karunia-Nya kepada penyusun, sehingga dapat menyelesaikan modul praktikum Database
/ Programming ini. Sholawat dan salam juga kita curahkan kepada baginda yang mulia
Rasulullah SAW beserta keluarga, sahabat dan pengikutnya hingga akhir zaman.
     Modul ini merupakan salah satu bahan ajar pendukung untuk mata kuliah Database /
Programming. Dari modul ini diharapkan mahasiswa dapat dengan mudah mempelajari,
memahami, dan mempraktikkan materi – materi yang telah diajarkan pada kelas teori mata
kuliah Database. Kemudian modul ini diharapkan dapat menjadi referensi untuk pemecahan
permasalahan umum di luar materi perkuliahan. Sebagian besar isi dari modul ini merupakan
rangkuman dari sumber-sumber yang telah dibuat penulis lain. Penyusun berharap agar modul
ini dapat bermanfaat bagi semua kalangan pembaca. Terima kasih untuk semuanya yang telah
memberikan banyak kritik dan saran serta dukungan dalam penyusunan modul ini.




                                                         Semarang, Juli 2011

                                                         Penyusun




                                           iv
BAB 1.
                PENGENALAN DAN LINGKUNGAN KERJA MYSQL


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

B. Dasar Teori
   MySQL adalah suatu perangkat lunak database relasi (Relational Database Management
   System atau RDBMS), seperti halnya ORACLE, Postgresql, MSSQL, 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.

C. Format Perintah
   Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL:
       Setiap perintah harus diakhiri dengan tanda titik koma, kecuali untuk perintah
        tertentu, 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
                                              1
nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix
        dan Linux.
    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 (“`”)


D. Praktikum

   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
   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()
                                                2
-> ,
              - > CURRENT_DATE;
   8.     Ketik perintah berikut :
              Mysql > SELECT
              - > USER()
              - > c
   9.     Ketik perintah berikut :
              Mysql > SELECT USER()
          Apa yangterjadi? Kemudian ketik :
              -> ;
          Apa yang terjadi ?
   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;


E. 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
3.   Apakah perintah-perintah di MySQL bersifat case sensitif ?
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)




                                            4
BAB 2.
                              DATABASE DAN TABEL


A. Tujuan
   Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat:
  1. Membuat database dan tabel dengan Data Definition Language (DDL)
  2. Mampu memodifikasi tabel

B. 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.
   1. 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;
   2. 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;
   3. 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;
   4. Membuat       Tabel     :   CREATE         TABLE      namatabel2         (Field1
       TipeData1,Field2 TipeData2);

                                           5
Namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan
   nama 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);
5. Menampilkan Tabel
   Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
   aktif/digunakan (dalam hal ini database rental) :
          SHOW TABLES;
6. Menampilkan Atribut Tabel : DESC namatabel;
   Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah :
          DESC jenisfilm;
7. 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;
8. Mendefinisikan    Null/Not    Null:   CREATE        TABLE   namatabel(Field1
   TipeData1 NOT NULL, Field2 TipeData2);
9. 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);
10. Mendefinisikan Primary Key Pada Tabel
   Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah Syntax
   mendefinisikan primary key untuk Field1
          CREATE    TABLE       namatabel(Field1          TipeData1      NOT        NULL
          PRIMARY KEY, Field2 TipeData2);
   atau

                                         6
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!.
11. 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;
12. 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;
13. 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 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);

                                         7
14. Mengubah Nama Kolom: ALTER                TABLE   namatabel     CHANGE        COLUMN
        namalamakolom namabarukolom tipedatabaru;
        Namatabel adalah nama table 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);
   15. Menghapus Kolom pada Tabel: ALTER TABLE namatabel DROP COLUMN
        namakolom;
   16. 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;
C. Praktikum
   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 !
                                             8
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 !


D. 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) ?
   4.   Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null yang berisi
        Yes dan No. Apa maksudnya ?




                                              9
BAB 3.
                  MANIPULASI DAN RETRIEVE DATA (BAGIAN 1)


A. Tujuan
   Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat:
   1.   Mengenal data manipulation language dan mampu menggunakannya.
   2.   Mampu mengelola record dan retrieve data.


B. 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];
        Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu
        kondisi tertentu.
                                                10
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.


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




   3.   Isi data ke dalam tabel pet seperti berikut :




                                               11
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)!


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




                                             12
BAB 4.
                  MANIPULASI DAN RETRIEVE DATA (BAGIAN 2)


A. Tujuan
   Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat:
   1.   Mencari dan menampilkan data dengan perintah select.
   2.   Mengkombinasikan perintah select dengan perintah lainnya.


B. Dasar Teori
   1.   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;
   2.   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;
   3.   Menampilkan data lebih dari dua tabel : SELECT * FROM namatabel1,
        namatabel2, namatabel-n;
        Sebagai contoh buat tabel baru berikut :




   4.   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.
        Contoh 1: perintah untuk menampilkan data pada tabel jenisfilm yang mana data
        pada kolom jenis-nya tercantum pada tabel film menggunakan IN :
                                              13
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);
5.   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.
     Contoh: perintah untuk menampilkan data jenisfilm yang harganya paling tinggi :

                                         14
SELECT * FROM JENISFILM WHERE HARGA >= ALL (SELECT
         HARGA FROM JENISFILM);
6.   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;
7.   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.
8.   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.


     INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua

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


C. Praktikum
   1.   Buat tabel pegawai sebagai berikut :




   2.   Isi data tabel!




   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 !

                                               16
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 !
   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)!


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




                                           17
BAB 5.
                                   FUNGSI AGREGAT


A. Tujuan
   Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat:
   1.   Mahir menggunakan perintah select untuk retrieve data
   2.   Mampu menggunakan fungsi agregat


B. Dasar Teori
   Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
   1.   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;
   2.   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;
   3.   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;
   4.   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;
   5.   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;
                                            18
C. Praktikum
   1.   Gunakan tabel pegawai
        Data Tabel Pegawai :




        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.
        Data Tabel Pet :




        Tampilkan jumlah hewan yang dimiliki setiap owner. Tampilan setelah SQL
        dijalankan :




   11. Tampilkan jumlah hewan berdasarkan spesies !




   12. Tampilkan jumlah hewan berdasarkan jenis kelamin !



                                            19
13. Tampilkan jumlah hewan berdasarkan spesies dan jenis kelamin !




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




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




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




                                            20
BAB 6.
             RETRIEVE, GROUP, FILTER DAN PATTERN MATCHING


A. Tujuan
   Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat:
   1.   Mampu meretrieve data dan mengelompokkannya.
   2. Mampu menampilkan data dengan pencocokan pola/karakter.


B. Dasar Teori

   1. 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.
   2. Pattern Matching (Pencocokan Pola/Karakter)
        Fungsi string digunakan untuk menampilkan data yang didasarkan pada pencarian

                                             21
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
        '_';




C. Praktikum
   1.   Buat tabel penjualan :




   2.   Isi data :




   3.   Buat SQL sehingga tampilannya seperti berikut :




   4.   Buat SQL sehingga tampilannya :
          ID Produk       TOTAL
             4             50

                                            22
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 :




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




                                              23
BAB 7.
                                    RELASI TABEL


A. Tujuan
   Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat:
   1.   Membuat relasi tabel
   2.   Membuktikan integritas data dengan tabel yang terrelasi


B. 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.
                                            24
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.
   Contoh :
         -    on update CASCADE on delete RESTRICT
         -    on update RESTRICT on delete SET NULL


C. Praktikum
   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.
   5.   Kemudian update satu record di tabel mahasiswa :


                                                   25
6.   Hapus sebuah record di tabel mahasiswa :




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




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




                                        27
BAB 8.
                                           JOIN


A. Tujuan
   Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat:
   1.   Mengenal beberapa operasi join.
   2.   Mampu melakukan operasi join beberapa table.


B. 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.
   1.   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);
   2.   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.
                                             28
SELECT           *     FROM JENISFILM LEFT JOIN FILM ON
              (JENISFILM.JENIS                = FILM.JENIS);
   3.   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);
   4.   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 :
        a.    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;
        b.    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;


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



                                              29
3.   Buat tabel pelanggan dan isi datanya :




4.   Buat tabel sewa dan isi datanya :




5.   Buat query sehingga didapat tabel seperti berikut :




6.   Buat query sehingga didapat tabel seperti berikut :




7.   Buat query sehingga didapat tabel seperti berikut :




                                         30
8.    Buat query sehingga didapat tabel seperti berikut :




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




                                             31
DAFTAR PUSTAKA


Silberschatz, Korth, Sudarshan. 2002. Database System Concepts 4th Edition. America:
       McGrew-Hill

Raghu Ramakrishnan. Database Management System 3rd Edition.

Iman Suja. 2005. Pemrograman SQL dan Database Server MySQL. Yogyakarta: Penerbit
      Andi.

Firrar Utdirartatmo. 2006. Kiat Jitu Memberdayakan, Menggunakan & Troubleshooting
       MySQL. Yogyakarta: Penerbit Ardana Media.

MADCOMS. 2003. Aplikasi Database Visual Basic 6.0 dengan Crystal Report, Seri Panduan
    Pemrograman, Yogyakarta: Penerbit ANDI.




                                         32

Weitere ähnliche Inhalte

Was ist angesagt?

Modul 7 Basis Data
Modul 7   Basis DataModul 7   Basis Data
Modul 7 Basis DataAan Solo
 
Konfigurasi Linux Debian Server
Konfigurasi Linux Debian ServerKonfigurasi Linux Debian Server
Konfigurasi Linux Debian ServerDaris Irfan Atmaja
 
Manual aplikasi dapodikdas_v300_01082014
Manual aplikasi dapodikdas_v300_01082014Manual aplikasi dapodikdas_v300_01082014
Manual aplikasi dapodikdas_v300_01082014Kahar Muzakkir
 
Debian 8 server_full
Debian 8 server_fullDebian 8 server_full
Debian 8 server_fullronijagarino
 
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 liteSyiroy Uddin
 
Analisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi webAnalisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi webIrfan Aris Nurhakim
 

Was ist angesagt? (8)

Modul 7 Basis Data
Modul 7   Basis DataModul 7   Basis Data
Modul 7 Basis Data
 
Konfigurasi Linux Debian Server
Konfigurasi Linux Debian ServerKonfigurasi Linux Debian Server
Konfigurasi Linux Debian Server
 
Manual aplikasi dapodikdas_v300_01082014
Manual aplikasi dapodikdas_v300_01082014Manual aplikasi dapodikdas_v300_01082014
Manual aplikasi dapodikdas_v300_01082014
 
Pemanfaatan sql server dengan vb6
Pemanfaatan sql server dengan vb6Pemanfaatan sql server dengan vb6
Pemanfaatan sql server dengan vb6
 
Modul Tutorial Cms Joomla
Modul Tutorial Cms JoomlaModul Tutorial Cms Joomla
Modul Tutorial Cms Joomla
 
Debian 8 server_full
Debian 8 server_fullDebian 8 server_full
Debian 8 server_full
 
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
 
Analisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi webAnalisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi web
 

Andere mochten auch (20)

Materi sql server 3 eresha
Materi sql server 3 ereshaMateri sql server 3 eresha
Materi sql server 3 eresha
 
Sistem basis data bram dermawan
Sistem basis data bram dermawan Sistem basis data bram dermawan
Sistem basis data bram dermawan
 
Modul praktikum database rdbms
Modul praktikum database rdbmsModul praktikum database rdbms
Modul praktikum database rdbms
 
Bab. 1
Bab. 1Bab. 1
Bab. 1
 
Bab 4 latihan erd ke skema relasional
Bab 4 latihan erd ke skema relasionalBab 4 latihan erd ke skema relasional
Bab 4 latihan erd ke skema relasional
 
Bab. 8
Bab. 8Bab. 8
Bab. 8
 
Bab. 4
Bab. 4Bab. 4
Bab. 4
 
Bab 2
Bab 2Bab 2
Bab 2
 
Bab. 9
Bab. 9Bab. 9
Bab. 9
 
Bab. 14
Bab. 14Bab. 14
Bab. 14
 
Bab. 10
Bab. 10Bab. 10
Bab. 10
 
Bab. 5
Bab. 5Bab. 5
Bab. 5
 
Bab. 6
Bab. 6Bab. 6
Bab. 6
 
Bab 5. Operator Relasi
Bab 5. Operator RelasiBab 5. Operator Relasi
Bab 5. Operator Relasi
 
Bab 6
Bab 6Bab 6
Bab 6
 
Bab. 11
Bab. 11Bab. 11
Bab. 11
 
Bab 6 pendukung
Bab 6 pendukungBab 6 pendukung
Bab 6 pendukung
 
Bab 5
Bab 5Bab 5
Bab 5
 
Bab 4
Bab 4Bab 4
Bab 4
 
Bab 8. Perlindungan dan Pemulihan Data
Bab 8. Perlindungan dan Pemulihan DataBab 8. Perlindungan dan Pemulihan Data
Bab 8. Perlindungan dan Pemulihan Data
 

Ähnlich wie Modul praktikum database programing

PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASERäjù GùÑáwàn
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsBambang Purnomosidi D. P.
 
Modul mysql-revisi
Modul mysql-revisiModul mysql-revisi
Modul mysql-revisiyulisafitri3
 
Modul mysql-revisi
Modul mysql-revisiModul mysql-revisi
Modul mysql-revisialfinadia
 
Basis Data Non Relasional: NoSQL dan MongoDB
Basis Data Non Relasional: NoSQL dan MongoDBBasis Data Non Relasional: NoSQL dan MongoDB
Basis Data Non Relasional: NoSQL dan MongoDBRiana Dwiningtyas
 
16735777 modul-tkj18-merancang-bangun-dan-menganalisa-wide-area-network
16735777 modul-tkj18-merancang-bangun-dan-menganalisa-wide-area-network16735777 modul-tkj18-merancang-bangun-dan-menganalisa-wide-area-network
16735777 modul-tkj18-merancang-bangun-dan-menganalisa-wide-area-networkElytua Napitupulu
 
Modul TKJ Merancang Bangun Dan Menganalisa Wide Area Network
Modul TKJ Merancang Bangun Dan Menganalisa Wide Area NetworkModul TKJ Merancang Bangun Dan Menganalisa Wide Area Network
Modul TKJ Merancang Bangun Dan Menganalisa Wide Area NetworkPT.INDONESIA MERDEKA
 
Modul-SistemBasisData-1.pdf
Modul-SistemBasisData-1.pdfModul-SistemBasisData-1.pdf
Modul-SistemBasisData-1.pdfAkoyBoys1
 
My sql dari Pemula hingga Mahir (achmad solichin)
My sql dari Pemula hingga Mahir (achmad solichin)My sql dari Pemula hingga Mahir (achmad solichin)
My sql dari Pemula hingga Mahir (achmad solichin)FaRid Adwa
 
Modul praktikum basis data
Modul praktikum basis dataModul praktikum basis data
Modul praktikum basis datahairul anwar
 
Tugas mandiri konsep sistem informasi
Tugas mandiri  konsep sistem informasiTugas mandiri  konsep sistem informasi
Tugas mandiri konsep sistem informasiAsep Jaenudin
 
MPPL - Tahap 4 Operasi SI Peminjaman dan Pengambilan Ijazah Alumni PBSB
MPPL - Tahap 4 Operasi SI Peminjaman dan Pengambilan Ijazah Alumni PBSBMPPL - Tahap 4 Operasi SI Peminjaman dan Pengambilan Ijazah Alumni PBSB
MPPL - Tahap 4 Operasi SI Peminjaman dan Pengambilan Ijazah Alumni PBSBFarrasRabbani
 
Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - fahreza yozi
 
1. Modul Praktikum SI0044 Basis Data Dasar.pdf
1. Modul Praktikum SI0044 Basis Data Dasar.pdf1. Modul Praktikum SI0044 Basis Data Dasar.pdf
1. Modul Praktikum SI0044 Basis Data Dasar.pdfkusariwati pauntu
 
14. java class library
14. java class library14. java class library
14. java class librarySaprudin Eskom
 

Ähnlich wie Modul praktikum database programing (20)

PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASE
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
 
Modul mysql-revisi
Modul mysql-revisiModul mysql-revisi
Modul mysql-revisi
 
Modul mysql-revisi
Modul mysql-revisiModul mysql-revisi
Modul mysql-revisi
 
Ebook mysql
Ebook mysqlEbook mysql
Ebook mysql
 
Basis Data Non Relasional: NoSQL dan MongoDB
Basis Data Non Relasional: NoSQL dan MongoDBBasis Data Non Relasional: NoSQL dan MongoDB
Basis Data Non Relasional: NoSQL dan MongoDB
 
16735777 modul-tkj18-merancang-bangun-dan-menganalisa-wide-area-network
16735777 modul-tkj18-merancang-bangun-dan-menganalisa-wide-area-network16735777 modul-tkj18-merancang-bangun-dan-menganalisa-wide-area-network
16735777 modul-tkj18-merancang-bangun-dan-menganalisa-wide-area-network
 
Modul TKJ Merancang Bangun Dan Menganalisa Wide Area Network
Modul TKJ Merancang Bangun Dan Menganalisa Wide Area NetworkModul TKJ Merancang Bangun Dan Menganalisa Wide Area Network
Modul TKJ Merancang Bangun Dan Menganalisa Wide Area Network
 
Modul-SistemBasisData-1.pdf
Modul-SistemBasisData-1.pdfModul-SistemBasisData-1.pdf
Modul-SistemBasisData-1.pdf
 
My sql dari Pemula hingga Mahir (achmad solichin)
My sql dari Pemula hingga Mahir (achmad solichin)My sql dari Pemula hingga Mahir (achmad solichin)
My sql dari Pemula hingga Mahir (achmad solichin)
 
Modul praktikum basis data
Modul praktikum basis dataModul praktikum basis data
Modul praktikum basis data
 
Tugas mandiri konsep sistem informasi
Tugas mandiri  konsep sistem informasiTugas mandiri  konsep sistem informasi
Tugas mandiri konsep sistem informasi
 
MPPL - Tahap 4 Operasi SI Peminjaman dan Pengambilan Ijazah Alumni PBSB
MPPL - Tahap 4 Operasi SI Peminjaman dan Pengambilan Ijazah Alumni PBSBMPPL - Tahap 4 Operasi SI Peminjaman dan Pengambilan Ijazah Alumni PBSB
MPPL - Tahap 4 Operasi SI Peminjaman dan Pengambilan Ijazah Alumni PBSB
 
Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 -
 
Makalah casandra facebook
Makalah casandra facebookMakalah casandra facebook
Makalah casandra facebook
 
Makalah Matriks dalam Struktur Data
Makalah Matriks dalam Struktur DataMakalah Matriks dalam Struktur Data
Makalah Matriks dalam Struktur Data
 
Database dan MySQL
Database dan MySQLDatabase dan MySQL
Database dan MySQL
 
Bd tsql 2013
Bd tsql 2013Bd tsql 2013
Bd tsql 2013
 
1. Modul Praktikum SI0044 Basis Data Dasar.pdf
1. Modul Praktikum SI0044 Basis Data Dasar.pdf1. Modul Praktikum SI0044 Basis Data Dasar.pdf
1. Modul Praktikum SI0044 Basis Data Dasar.pdf
 
14. java class library
14. java class library14. java class library
14. java class library
 

Mehr von Zaenal Abidin (12)

Normalisasi oht
Normalisasi ohtNormalisasi oht
Normalisasi oht
 
Bab 3
Bab 3Bab 3
Bab 3
 
Basisdata sql
Basisdata   sqlBasisdata   sql
Basisdata sql
 
Bab. 13
Bab. 13Bab. 13
Bab. 13
 
Bab. 12
Bab. 12Bab. 12
Bab. 12
 
Bab. 7
Bab. 7Bab. 7
Bab. 7
 
Bab. 3
Bab. 3Bab. 3
Bab. 3
 
1
11
1
 
Bab 7. Normalisasi Data
Bab 7. Normalisasi DataBab 7. Normalisasi Data
Bab 7. Normalisasi Data
 
Bab 6. SQL
Bab 6. SQLBab 6. SQL
Bab 6. SQL
 
Bab 4. Model Entity Relationship
Bab 4. Model Entity RelationshipBab 4. Model Entity Relationship
Bab 4. Model Entity Relationship
 
Bab 3. Pemodelan Data
Bab 3. Pemodelan DataBab 3. Pemodelan Data
Bab 3. Pemodelan Data
 

Modul praktikum database programing

  • 2. DAFTAR ISI DAFTAR ISI ................................................................................................. ii KATA PENGANTAR ...............................................................................................iv BAB 1. PENGENALAN DAN LINGKUNGAN KERJA MYSQL ................................... 1 A. Tujuan ............................................................................................................... 1 B. Dasar Teori ....................................................................................................... 1 C. Format Perintah ................................................................................................ 1 D. Praktikum .......................................................................................................... 2 E. Evaluasi dan Pertanyaan .................................................................................... 3 BAB 2. DATABASE DAN TABEL ................................................................................... 5 A. Tujuan ................................................................................................................. 5 B. Dasar Teori ........................................................................................................ 5 C. Praktikum ........................................................................................................... 8 D. Evaluasi dan Pertanyaan .................................................................................... 9 BAB 3. MANIPULASI DAN RETRIEVE DATA (BAGIAN 1) ..................................... 10 A. Tujuan .............................................................................................................. 10 B. Dasar Teori ...................................................................................................... 10 C. Praktikum ........................................................................................................ 11 D. Evaluasi dan Pertanyaan .................................................................................. 12 BAB 4. MANIPULASI DAN RETRIEVE DATA (BAGIAN 2) ...................................... 13 A. Tujuan .............................................................................................................. 13 B. Dasar Teori ...................................................................................................... 13 C. Praktikum ........................................................................................................ 16 D. Evaluasi dan Pertanyaan .................................................................................. 17 BAB 5. FUNGSI AGREGAT ............................................................................................ 18 A. Tujuan .............................................................................................................. 18 B. Dasar Teori ...................................................................................................... 18 ii
  • 3. C. Praktikum ........................................................................................................ 19 D. Evaluasi dan Pertanyaan .................................................................................. 20 BAB 6. RETRIEVE, GROUP, FILTER DAN PATTERN MATCHING ........................ 21 A. Tujuan .............................................................................................................. 21 B. Dasar Teori ...................................................................................................... 21 C. Praktikum ........................................................................................................ 22 D. Evaluasi dan Pertanyaan .................................................................................. 23 BAB 7. RELASI TABEL .................................................................................................. 24 A. Tujuan .............................................................................................................. 24 B. Dasar Teori ...................................................................................................... 24 C. Praktikum ........................................................................................................ 25 D. Evaluasi dan Pertanyaan .................................................................................. 26 BAB 8. JOIN ...................................................................................................................... 27 A. Tujuan .............................................................................................................. 27 B. Dasar Teori ...................................................................................................... 27 C. Praktikum ........................................................................................................ 29 D. Evaluasi dan Pertanyaan .................................................................................. 31 DAFTAR PUSTAKA ........................................................................................................ 32 iii
  • 4. KATA PENGANTAR Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-Nya kepada penyusun, sehingga dapat menyelesaikan modul praktikum Database / Programming ini. Sholawat dan salam juga kita curahkan kepada baginda yang mulia Rasulullah SAW beserta keluarga, sahabat dan pengikutnya hingga akhir zaman. Modul ini merupakan salah satu bahan ajar pendukung untuk mata kuliah Database / Programming. Dari modul ini diharapkan mahasiswa dapat dengan mudah mempelajari, memahami, dan mempraktikkan materi – materi yang telah diajarkan pada kelas teori mata kuliah Database. Kemudian modul ini diharapkan dapat menjadi referensi untuk pemecahan permasalahan umum di luar materi perkuliahan. Sebagian besar isi dari modul ini merupakan rangkuman dari sumber-sumber yang telah dibuat penulis lain. Penyusun berharap agar modul ini dapat bermanfaat bagi semua kalangan pembaca. Terima kasih untuk semuanya yang telah memberikan banyak kritik dan saran serta dukungan dalam penyusunan modul ini. Semarang, Juli 2011 Penyusun iv
  • 5. BAB 1. PENGENALAN DAN LINGKUNGAN KERJA MYSQL A. Tujuan Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat: 1. Mengenal lingkungan kerja MySQL 2. Mengenal format perintah di MySQL 3. Mengenal perintah-perintah sederhana di MySQL B. Dasar Teori MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MSSQL, 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. C. Format Perintah Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL:  Setiap perintah harus diakhiri dengan tanda titik koma, kecuali untuk perintah tertentu, 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 1
  • 6. nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux. 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 (“`”) D. Praktikum 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 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() 2
  • 7. -> , - > CURRENT_DATE; 8. Ketik perintah berikut : Mysql > SELECT - > USER() - > c 9. Ketik perintah berikut : Mysql > SELECT USER() Apa yangterjadi? Kemudian ketik : -> ; Apa yang terjadi ? 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; E. 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
  • 8. 3. Apakah perintah-perintah di MySQL bersifat case sensitif ? 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) 4
  • 9. BAB 2. DATABASE DAN TABEL A. Tujuan Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat: 1. Membuat database dan tabel dengan Data Definition Language (DDL) 2. Mampu memodifikasi tabel B. 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. 1. 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; 2. 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; 3. 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; 4. Membuat Tabel : CREATE TABLE namatabel2 (Field1 TipeData1,Field2 TipeData2); 5
  • 10. Namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan nama 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); 5. Menampilkan Tabel Untuk menampilkan daftar nama tabel yang ada pada database yang sedang aktif/digunakan (dalam hal ini database rental) : SHOW TABLES; 6. Menampilkan Atribut Tabel : DESC namatabel; Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah : DESC jenisfilm; 7. 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; 8. Mendefinisikan Null/Not Null: CREATE TABLE namatabel(Field1 TipeData1 NOT NULL, Field2 TipeData2); 9. 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); 10. Mendefinisikan Primary Key Pada Tabel Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah Syntax mendefinisikan primary key untuk Field1 CREATE TABLE namatabel(Field1 TipeData1 NOT NULL PRIMARY KEY, Field2 TipeData2); atau 6
  • 11. 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!. 11. 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; 12. 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; 13. 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 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); 7
  • 12. 14. Mengubah Nama Kolom: ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom tipedatabaru; Namatabel adalah nama table 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); 15. Menghapus Kolom pada Tabel: ALTER TABLE namatabel DROP COLUMN namakolom; 16. 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; C. Praktikum 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 ! 8
  • 13. 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 ! D. 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) ? 4. Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null yang berisi Yes dan No. Apa maksudnya ? 9
  • 14. BAB 3. MANIPULASI DAN RETRIEVE DATA (BAGIAN 1) A. Tujuan Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat: 1. Mengenal data manipulation language dan mampu menggunakannya. 2. Mampu mengelola record dan retrieve data. B. 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]; Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu. 10
  • 15. 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. C. Praktikum 1. Buat sebuah database dengan nama coba 2. Buat sebuah tabel dengan nama pet di dalam database coba 3. Isi data ke dalam tabel pet seperti berikut : 11
  • 16. 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)! D. Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Beri kesimpulan Anda ! 12
  • 17. BAB 4. MANIPULASI DAN RETRIEVE DATA (BAGIAN 2) A. Tujuan Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat: 1. Mencari dan menampilkan data dengan perintah select. 2. Mengkombinasikan perintah select dengan perintah lainnya. B. Dasar Teori 1. 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; 2. 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; 3. Menampilkan data lebih dari dua tabel : SELECT * FROM namatabel1, namatabel2, namatabel-n; Sebagai contoh buat tabel baru berikut : 4. 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. Contoh 1: perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tercantum pada tabel film menggunakan IN : 13
  • 18. 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); 5. 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. Contoh: perintah untuk menampilkan data jenisfilm yang harganya paling tinggi : 14
  • 19. SELECT * FROM JENISFILM WHERE HARGA >= ALL (SELECT HARGA FROM JENISFILM); 6. 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; 7. 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. 8. 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. INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua 15
  • 20. 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. C. Praktikum 1. Buat tabel pegawai sebagai berikut : 2. Isi data tabel! 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 ! 16
  • 21. 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 ! 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)! D. Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Beri kesimpulan Anda ! 17
  • 22. BAB 5. FUNGSI AGREGAT A. Tujuan Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat: 1. Mahir menggunakan perintah select untuk retrieve data 2. Mampu menggunakan fungsi agregat B. Dasar Teori Aggregate Functions (COUNT, SUM, AVG, MIN, MAX) 1. 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; 2. 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; 3. 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; 4. 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; 5. 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; 18
  • 23. C. Praktikum 1. Gunakan tabel pegawai Data Tabel Pegawai : 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. Data Tabel Pet : Tampilkan jumlah hewan yang dimiliki setiap owner. Tampilan setelah SQL dijalankan : 11. Tampilkan jumlah hewan berdasarkan spesies ! 12. Tampilkan jumlah hewan berdasarkan jenis kelamin ! 19
  • 24. 13. Tampilkan jumlah hewan berdasarkan spesies dan jenis kelamin ! 14. Tampilkan jumlah hewan berdasarkan spesis (cat dan dog saja) dan jenis kelamin ! 15. Tampilkan jumlah hewan berdasarkan jenis kelamin yang diketahui saja ! D. Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Beri kesimpulan Anda ! 20
  • 25. BAB 6. RETRIEVE, GROUP, FILTER DAN PATTERN MATCHING A. Tujuan Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat: 1. Mampu meretrieve data dan mengelompokkannya. 2. Mampu menampilkan data dengan pencocokan pola/karakter. B. Dasar Teori 1. 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. 2. Pattern Matching (Pencocokan Pola/Karakter) Fungsi string digunakan untuk menampilkan data yang didasarkan pada pencarian 21
  • 26. 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 '_'; C. Praktikum 1. Buat tabel penjualan : 2. Isi data : 3. Buat SQL sehingga tampilannya seperti berikut : 4. Buat SQL sehingga tampilannya : ID Produk TOTAL 4 50 22
  • 27. 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 : D. Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya ! 2. Beri kesimpulan Anda ! 23
  • 28. BAB 7. RELASI TABEL A. Tujuan Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat: 1. Membuat relasi tabel 2. Membuktikan integritas data dengan tabel yang terrelasi B. 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. 24
  • 29. 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. Contoh : - on update CASCADE on delete RESTRICT - on update RESTRICT on delete SET NULL C. Praktikum 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. 5. Kemudian update satu record di tabel mahasiswa : 25
  • 30. 6. Hapus sebuah record di tabel mahasiswa : D. 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. 26
  • 31. 4. Buat relasi untuk tabel-tabel di atas dan buktikan relasi tersebut dengan melakukan update atau delete terhadap suatu tabel berpengaruh terhadap tabel lainnya! 27
  • 32. BAB 8. JOIN A. Tujuan Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat: 1. Mengenal beberapa operasi join. 2. Mampu melakukan operasi join beberapa table. B. 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. 1. 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); 2. 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. 28
  • 33. SELECT * FROM JENISFILM LEFT JOIN FILM ON (JENISFILM.JENIS = FILM.JENIS); 3. 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); 4. 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 : a. 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; b. 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; C. Praktikum 1. Buat sebuah database dengan nama sewamobil : 2. Buat tabel mobil dan isi datanya : 29
  • 34. 3. Buat tabel pelanggan dan isi datanya : 4. Buat tabel sewa dan isi datanya : 5. Buat query sehingga didapat tabel seperti berikut : 6. Buat query sehingga didapat tabel seperti berikut : 7. Buat query sehingga didapat tabel seperti berikut : 30
  • 35. 8. Buat query sehingga didapat tabel seperti berikut : D. Evaluasi dan Pertanyaan 1. Tulis sintaks sql untuk mendapatkan tabel pada no 5, 6, 7 dan 8 ! 2. Apa kesimpulan anda ! 31
  • 36. DAFTAR PUSTAKA Silberschatz, Korth, Sudarshan. 2002. Database System Concepts 4th Edition. America: McGrew-Hill Raghu Ramakrishnan. Database Management System 3rd Edition. Iman Suja. 2005. Pemrograman SQL dan Database Server MySQL. Yogyakarta: Penerbit Andi. Firrar Utdirartatmo. 2006. Kiat Jitu Memberdayakan, Menggunakan & Troubleshooting MySQL. Yogyakarta: Penerbit Ardana Media. MADCOMS. 2003. Aplikasi Database Visual Basic 6.0 dengan Crystal Report, Seri Panduan Pemrograman, Yogyakarta: Penerbit ANDI. 32