Structured Query Language

dokumen-dokumen yang mirip
STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

Konsep Sistem Informasi B. BAB 2 - SQL Overview

MODUL IV DATA DEFINITION LANGUAGE (DDL)

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

Pengenalan Structured Query Language

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Pertemuan 12 Pengenalan Structured Query Language

Kontrak Kuliah. Dasar-dasar MySQL. Edi Sugiarto, S.Kom, M.Kom

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

MODUL 1 Pengenalan MySQL, DDL, DML

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

KURSUS ONLINE JASA WEBMASTERS

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

LAPORAN PRAKTIKUM BASIS DATA

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

LAPORAN TUGAS BASIS DATA I

STRUCTURE QUERY LANGUAGE (SQL)

PENGENALAN SINTAKS DASAR DALAM MySQL

MODUL PRAKTIKUM BASIS DATA

MODUL II NORMALISASI DATA

ABSTRAKSI. Universitas Kristen Maranatha

SQL (STRUCTURED QUERY LANGUAGE)

ABSTRAK. Kata Kunci : Website Penjualan Handphone Dan Alat Elektronika Online, shopping chart. ii Universitas Kristen Maranata

Pemrograman Web Lanjut 2017

Pemrograman Basis Data Berbasis Web

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

JURNAL PRAKTIKUM (LAB. ACTIVITY) PENGOLAHAN BASIS DATA DT022

MySQL AL AZHAR COMPUTER CLUB

Modul 3. Oleh : Mohammad Sholikin. 1

ABSTRACT. Keywords: Information system, Website. iii Universitas Kristen Maranatha

ABSTRAK. Kata kunci: manajemen, fuzzy, karyawan. iii


ABSTRAKSI. Keywords : Aplikasi Web, Manajemen Retail, Sistem Akuntansi. Universitas Kristen Maranatha

RANGKUMAN PHP dan MYSQL

Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

MODUL PRAKTIKUM. MODUL I - VII Modul penuntun dan bahan praktikum matakuliah Basis Data

Tutorial Tipe Data MySQL

BEKERJA DENGAN MYSQL. 1.2 Instalasi MySQL Instalasi atau pemasangan basis data MySQL berbeda untuk setiap sistem

Syarat-syarat Jabatan Tunjangan Pajak Fungsi Pajak Pengertian Pajak Penghasilan Pasal

MODUL PENGENALAN MYSQL SMK MAHADHIKA 4 TEKNIK KOMPUTER DAN JARINGAN

MySQL J A M K E T I G A

Pertemuan 11 Pengenalan DBMS dan MySQL

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

ABSTRAK. Kata Kunci : aplikasi, terkomputerisasi, akuntansi

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

ABSTRACT. iii Universitas Kristen Maranatha

BAHASA QUERY KOMERSIAL

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

MODUL I PENGENALAN MYSQL

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

PERINTAH DASAR MySQL

BAB V. Basis Data Darmawan Satyananda 74

Modul 3 : Query Penggabungan Tabel

Abstract. vi Universitas Kristen Maranatha

Riyanto

DATA DEFINITION LANGUAGE

MODUL PRAKTIKUM SISTEM BASIS DATA MENGGUNAKAN MICROSOFT SQL SERVER

SQL. Brigida Arie Minartiningtyas, M.Kom

SQL MYSQL. Pak Guru Eka 1

ABSTRAKSI. Kata Kunci: Penjualan, Pembelian, Keuangan, Teknologi Informasi, CRM, IT. v Universitas Kristen Maranatha

ABSTRACT. vi Universitas Kristen Maranatha

Macam - Macam Perintah Pada SQL

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

BAB I Penginstallan dan setting PHPTriad

Operasi Dasar MySQL Menggunakan CLI(Command Line Interface)

Perangkat Lunak Pengembangan Web

MODUL 7 STRUCTURED QUERY LANGUAGE

MODUL PRAKTIKUM BASIS DATA 1. D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

ABSTRAK. Kata Kunci : Data, Sistem, Informasi, Persediaan, Apotek. iii

STRUCTURE QUERY LANGUAGE DDL & DML

ABSTRAK. Key word : PHP, Teknologi Informasi, Informasi, Service. Universitas Kristen Maranatha

Praktikum Basis Data 14 Structure Query Language 2

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

ABSTRAK. Kata Kunci : surat, pengarsipan, sistem informasi. Universitas Kristen Maranatha

Basis Data. DDL & Aturan Referential

Data Manipulation Language (DML)

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

MENGENAL SYNTAX DML PADA SQL


ABSTRAK. Kata kunci: pengelolaan, pemesanan, dan pemberian informasi. vii Universitas Kristen Maranatha

Pertemuan 9 Struktur Query Language(SQL)

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

ABSTRAK. ii Universitas Kristen Maranatha

Praktikum Basis Data 2017 TE UM

DAFTAR ISI. BAB III ANALISIS DAN RANCANGAN SISTEM PROSES BISNIS Posyandu... 28

Transkripsi:

DIKLAT TEKNIS UMUM DESAIN PENGELOLAAN DATABASE MODUL Structured Query Language Oleh Dr. Khamami Herusantoso Agus Hekso P. S.E., Ak, M.Sc. Widyaiswara Pusdiklat Keuangan Umum KEMENTERIAN KEUANGAN REPUBLIK INDONESIA BADAN PENDIDIKAN DAN PELATIHAN KEUANGAN PUSDIKLAT KEUANGAN UMUM JAKARTA 2011

Judul Modul: STRUCTURE QUERY LANGUAGE Penulis: Dr. Khamami Herusantoso Agus Hekso P. S.E., Ak, M.Sc. Cetakan Pertama: 2011 Modul: Structured Query Language ii

Puji syukur kami panjatkan ke hadirat Tuhan yang Maha Esa, karena hanya atas berkat rahmat-nya kita semua masih diberikan kesempatan untuk melaksanakan tugas-tugas terkait kediklatanhingga saat ini, terutama bagi penulis yang telah diberi kesempatan untuk menyusun dan menyelesaikan modul ini dengan baik. Modul Structure and Query Language untuk Diklat Teknis Umum Pengelolaan Database ini disusun oleh Saudara Khamami Herusantoso dan Saudara Agus Hekso Pramudijono berdasarkan Surat Keputusan Kepala Pusdiklat Nomor KEP-003/PP.7/2011 tanggal 28 Januari 2011 tentang Pembentukan Tim Penyusunan Modul Diklat Teknis Umum (DTU) Desain Pengelolaan Database di Lingkungan Pusdiklat Keuangan Umum Tahun Anggaran 2011. Kami menyetujui modul ini digunakan sebagai bahan ajar bagi para peserta Diklat Teknis Umum Pengelolaan Database. Modul ini merupakan salah satu bahan ajar yang diperlukan selain 4(empat) modul lain yang saling melengkapi yaitu Modul Pengenalan Konsep Database, Modul Desain Database Relasional, Modul Pemrograman SQL, dan Modul Pengelolaan Database, yang kesemuanya menjadi sarana dalam membantu pencapaian tujuan pembelajaran dalam Diklat Teknis Umum Pengelolaan Database. Akhirnya, semoga Modul Diklatini dapat bermanfaat bagi peserta diklat pada khususnya dan masyarakat luas pada umumnya. Jakarta, Juni 2011 Kepala Pusat Pendidikan dan Pelatihan Keuangan Umum Tony Rooswiyanto NIP 195604041982031001 Modul: Structured Query Language iii

HALAMAN JUDUL... IDENTITAS MODUL... KATA PENGANTAR... DAFTAR ISI... DAFTAR TABEL... DAFTAR GAMBAR... PETUNJUK PENGGUNAAN MODUL... PETA KONSEP MODUL... i ii iii iv vi vii ix x A. PENDAHULUAN... 1 1. Deskripsi Singkat... 1 2. Prasyarat Kompetensi... 1 3. Standar Kompetensi dan Kompetensi Dasar... 1 4. Relevansi Modul... 1 B. KEGIATAN BELAJAR... 1 1. Kegiatan Belajar I... 1 a. Pengertian SQL... 2 b. Komponen Server SQL... 3 c. Instalasi Server SQL... 7 d. Latihan... 16 e. Rangkuman... 16 f. Tes Formatif... 17 g. Umpan Balik dan Tindak Lanjut... 18 2. Kegiatan Belajar 2... 19 a. Data Definition Language (DDL)... 19 b. Data Manipulation Language (DML)... 25 c. Latihan... 41 d. Rangkuman... 41 e. Tes Formatif... 42 Modul: Structured Query Language iv

f. Umpan Balik dan Tindak Lanjut... 44 PENUTUP... 45 TES SUMATIF... 46 KUNCI JAWABAN (LATIHAN, TES FORMATIF & TES SUMATIF)... 47 DAFTAR PUSTAKA... 49 Modul: Structured Query Language v

Table 1 Pernyataan dasar SQL... 3 Table 2 Tipe Data dalam MySQL... 4 Table 3 Tipe Data String... 5 Table 4 Tipe Data Tanggal dan Jam... 5 Table 5 Simbol pada Ekspresi Aritmatika... 6 Modul: Structured Query Language vi

Gambar I Dialog Instalasi... 9 Gambar II Dialog Tipe Instalasi... 9 Gambar III Dialog Fitur Program... 10 Gambar IV Dialog Opsi Feature... 10 Gambar V Pemilihan Folder Instalasi... 11 Gambar VI Dialog Proses Instalasi... 11 Gambar VII Dialog Account... 12 Gambar VIII Dialog Finishing... 12 Gambar IX Dialog Configurasi... 13 Gambar X Dialog Pasword... 13 Gambar XI Dialog Execute... 14 Gambar XII Dialog Finishing... 14 Gambar XIII Respons Server... 15 Gambar XIV Command Line Client... 15 Gambar XV Membuat Database... 19 Gambar XVI Daftar Nama Database... 19 Gambar XVII Perintah Menghapus database... 20 Gambar XVIII Perintah Penggunaan Database... 20 Gambar XIX Perintah membuat tabel dengan nama jenisfilm... 20 Gambar XX Show Tables... 21 Gambar XXI Tampilan Deskripsi Tabel... 21 Gambar XXII Perintah menghapus tabel... 21 Gambar XXIII Tabel Jenisfilm 1... 22 Gambar XXIV Tabel Jenisfilm 2... 22 Gambar XXV Tabel Jenisfilm 3... 23 Gambar XXVI Hapus Primary key pada Tabel Jenisfilm... 23 Gambar XXVII Perintah menambah kolom keterangan dengan tipe data varchar... 23 Gambar XXVIII Perintah Mengubah tipe data... 23 Gambar XXIX Mengubah Nama kolom keterangan menjadi Ket... 24 Gambar XXX Menghapus kolom Ket... 24 Gambar XXXIPerintah Membuat tabel film beserta kolomnya 1... 25 Gambar XXXII Perintah Membuat tabel film beserta kolomnya 2... 25 Gambar XXXIII Menghapus Foreign Key... 25 Gambar XXXIV1 Menambahkan Baris... 26 Gambar XXXV Menambahkan Baris 2... 26 Gambar XXXVI Menghapus baris dengan data... 26 Gambar XXXVII menghapus seluruh baris... 26 Gambar XXXVIII Menghapus salah satu baris 1... 26 Gambar XXXIX Menghapus salah satu baris 2... 27 Gambar XL Mengubah baris... 27 Gambar XLI Mengubah kolom harga... 27 Gambar XLII Mengubah nilai pada kolom... 27 Gambar XLIII Perintah menampilkan semua data... 28 Gambar XLIV Menampilkan data... 28 Gambar XLV Menampilkan data... 28 Gambar XLVI Menampilkan data... 28 Modul: Structured Query Language vii

Gambar XLVII Contoh 1... 29 Gambar XLVIII Contoh 2... 29 Gambar XLIX Contoh 3... 29 Gambar L Contoh 4... 29 Gambar LI Contoh 5... 29 Gambar LII Contoh 6... 29 Gambar LIII Contoh 7... 30 Gambar LIV Contoh 8... 30 Gambar LV Perintah memberikan nama lain... 30 Gambar LVI Perintah untuk memberikan alias... 30 Gambar LVII Menampilkan data lebih dari dua tabel... 31 Gambar LVIII Isi Tabelfilm... 31 Gambar LIX Menampilkan semua data... 31 Gambar LX Tabel film yang menggunakan IN... 32 Gambar LXI Tabel Film yang menggunakan EXSIST... 32 Gambar LXII Tabel film yang menggunakan Not IN... 32 Gambar LXIII Tabel film yang menggunakan not EXSIST... 32 Gambar LXIV Tampilan semua data film yang harganya bukan terkecil... 33 Gambar LXV Tampilan data jenisfilm yang harganya paling tinggi... 33 Gambar LXVI Perintah untuk menghitung jumlah baris kolom... 34 Gambar LXVII Perintah untuk menghitung jumlah nilai kolom... 34 Gambar LXVIII Perintah menghitung rata-rata... 34 Gambar LXIX Perintah untuk menampilkan nilai terkecil... 34 Gambar LXX Perintah menampilkan nilai terbesar... 35 Gambar LXXI Contoh data... 35 Gambar LXXII Contoh data 2... 35 Gambar LXXIII Contoh data 3... 35 Gambar LXXIV Perintah untuk mengurutkan data berdasarkan kolom judul... 36 Gambar LXXV Pengurutan Ascending... 36 Gambar LXXVI Perintah untuk memperoleh data... 36 Gambar LXXVII Identik Perintah... 37 Gambar LXXVIII Menampilkan kolom judul... 38 Gambar LXXIX Perintah menampilkan data... 38 Gambar LXXX Left Join... 39 Gambar LXXXI Right Join... 39 Gambar LXXXII Natural Join... 39 Gambar LXXXIII Natural Left Join... 40 Gambar LXXXIV Natural Right Join... 40 Modul: Structured Query Language viii

Modul ini merupakan salah satu bagian dari 5(lima) modul yang diperlukan dan bersifat saling melengkapi, yaitu: 1. Modul Pengenalan Konsep Database; 2. Modul Desain Database Relasional; 3. Modul Structured Query Language; 4. Modul Pemrograman SQL; 5. Modul Pengelolaan Database. yang kesemuanya tersebut menjadi satu paket dan dimaksudkan dalam rangka pencapaian tujuan pembelajaran pada Diklat Teknis Umum Desain Pengelolaan Database. Modul Structured Query Languageini terdiri dariduakegiatan belajar (KB), yaitupengantar SQL dan bahasa Database, Modul ini perlu untuk dibaca secara berurutan dari KB 1 hingga KB2 agar konsep Structured Query Language menjadi lebih mudah dipahami. Pada akhir setiap kegiatan belajar diberikan rangkuman yang berisi intisari dari materi yang sudah dibahas sebelumnya.selanjutnya untuk mengevaluasi pemahaman pembaca, disetiap akhir kegiatan belajar juga disajikan tes formatif. Meskipun sudah disediakan kunci jawaban atas pertanyaan-pertanyaan dalam Tes Formatif, peserta disarankan untuk tidak melihat dulu kunci jawaban, namun sebaiknya peserta mengejakan terlebih dahulu Tes Formatif sesuai dengan alokasi waktu yang diberikanbaru kemudian melakukan penilaian secara mandiri dan mengecek nilainya dengan kriteria umpan balik, apakah sudah tercapai dengan baik. Jika nilai baik belum tercapai, maka peserta disarankan membaca kembali materi dan mengulangi mengerjakan soal tes sampai memperoleh hasil yang diharapkan. Modul: Structured Query Language ix

PENGANTAR SQL Pengertian SQL Komponen Server SQL Instalasi Server SQL BAHASA DATABASE DDL DML Modul: Structured Query Language x

A. PENDAHULUAN 1. Deskripsi Mata pelajaran ini membahas pengertian SQL, komponen server SQL, instalasi server SQL, DDLdan DML. 2. Prasyarat Kompetensi Sebelum mempelajari modul ini, pembaca diharapkan sudah memiliki pengetahuan dasar tentang konsep database. 3. Standar Kompetensi Setelah mengikuti mata pelajaran ini, peserta diharapkan mampu menjelaskan SQL, menginstalasi server SQL dan menjelaskan DDL serta DML 4. Kompetensi Dasar Setelah selesai mengikuti pembelajaran ini, peserta diklat diharapkan mampu: a. Menjelaskan pengertian SQL dengan baik; b. Menjelaskan komponen server SQL dengan baik; c. Menginstalasi server SQL dengan benar; d. Menjelaskan DDL dan DML dengan baik. 5. Relevansi Modul Setelah mempelajari modul ini diharapkan peserta dapatmengaplikasikannya dalam pekerjaan yang menjadi tugas pokok dan fungsinya. B. KEGIATAN BELAJAR 1. Kegiatan Belajar 1 Pengantar SQL Indikator: Setelah selesai mengikuti pembelajaran ini peserta diklat diharapkan dapat: menjelaskan pengertian SQL dengan baik; menjelaskan komponen Server SQL dengan baik; melakukan instalasi Server SQL dengan tepat. Modul: Structured Query Language 1

a) Pengertian SQL SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam database relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen database relasional. Saat ini hampir semua server database yang ada mendukung bahasa ini untuk melakukan manajemen datanya.sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan database relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam database tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan database relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi database relasional dikenal dengan System/R.Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server database populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen database. Kebanyakan DBMS saat inimendukung bahasa SQL demikian juga bahasa-bahasa pemograman generasi ke-4 yang populer di indonesia seperti Visual Basic,Borland Delphi,Visual C++,dan sebagainya.sql saat ini telah mapan menjadi bahasa standar untuk database bertipe relasional,selain itu OQL (Object Query Language) yang merupakan perkembangan lebih lanjut dari SQL saat ini sering digunakan untuk query-query pada database berorietasi objek (OODBMS/Object Oriented Database Management System)Pada tahun 1986,ANSI (American National Standart Institute) dan ISO (International Organization for Standardization)mempublikasikan SQL standar yang dinamai SQL- 86.IBM mempublikasikan SQL versinya sendiri yaitu:saa-sql (System Application Architecture database Interfase-Structured Query Language) pada tahun 1987-an. Kemudian ANSI mempublikasikan standart perluasansql yaitu SQL-89 pada tahun 1989.Standar tersebut kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga Modul: Structured Query Language 2

SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada server database yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masingmasing. b) Komponen Server SQL Komponen dasar SQL mencakup pernyataan, nama, tipe data, konstanta, ekspresi, dan fungsi bawaan. 1. Pernyataan Pernyataan adalah perintah SQL yang meminta sesuatu tindakan kepada DBMS. SQL memiliki kira-kira 30 pernyataan. Beberapa pernyataan dasar SQL dapat dilihat pada tabel berikut: Pernyataan Keterangan ALTER Mengubah struktur tabel COMMIT Mengakhiri sebuah eksekusi transaksi CREATE Menciptakan tabel, indeks atau pandangan DELETE Menghapus baris pada tabel DROP Menghapus tabel, indeks atau pandangan GRANT Menugaskan hak terhadap database kepada pengguna atau grup pengguna INSERT Menambahkan sebuah baris pada tabel REVOKE Membatalkan hak terhadap database ROLLBACK Mengembalikan ke keadaan semula sekiranya suatu transaksi gagal dilaksanakan SELECT Memilih baris dan kolom pada tabel UPDATE Mengubah nilai pada sebuah baris Table 1 Pernyataan dasar SQL 2. Nama Nama digunakan sebagai identitas bagi objek-objek pada DBMS. Contoh objek pada DBMS adalah tabel, kolom dan pengguna. 3. Tipe Data Setiap data memiliki tipe data. Berikut ini adalah tipe data dalam MySQL : Tipe data untuk numerik : Modul: Structured Query Language 3

Tipe Keterangan Range Nilai TINYINT Nilai integer yang sangat kecil Signed : -128 s.d. 127 Unsigned : 0 s.d. 255 SMALLINT Nilai integer yang kecil Signed : -32768 s.d. 32767 Unsigned : 0 s.d. 65535 MEDIUMINT Integer dengan nilai medium Signed : -8388608 s.d. 8388607 Unsigned : 0 s.d. 16777215 INT Integer dengan nilai standar Signed : -2147483648 s.d. 2147483647 Unsigned : 0 s.d. 4294967295 BIGINT Integer dengan nilai besar Signed : - 9223372036854775808 s.d. 9223372036854775807 Unsigned : 0 s.d. 18446744073709551615 FLOAT Bilangan desimal dengan singleprecission minimum ± 1.175494351e-38 maksimum ± 3.402823466e+38 DOUBLE Bilangan desimal dengan doubleprecission minimum ± 2.2205738585072014e-308 maksimum ± 1.7976931348623457e+308 DECIMAL(M,D) Bilangan float Tergantung pada nilai M dan D (desimal) yang dinyatakan sebagai string. M adalah jumlah digit yang disimpan dalam suatu kolom, N adalah jumlah digit dibelakang koma Table 2 Tipe Data dalam MySQL Keterangan : Signed dan Unsigned adalah atribut untuk tipe data numerik - Signed : data yang disimpan dalam suatu kolom dapat berupa data negatif dan positif. Modul: Structured Query Language 4

- Unsigned : digunakan agar data yang dimasukkan bukan data negatif (>=0). Tipe data float tidak dapat dinyatakan dengan unsigned. Tipe data string : Tipe Keterangan Ukuran Maksimum CHAR(n) String karakter dengan panjang 1 M byte yang tetap, yaitu n VARCHAR(n) String karakter dengan panjang 1 M byte yang tidak tetap, maksimum n. TINYBLOB BLOB (Binary Large Object) yang 2 8-1 byte sangat kecil BLOB BLOB berukuran kecil 2 16-1 byte MEDIUMBLOB BLOB berukuran sedang 2 24-1 byte LONGBLOB BLOB berukuran besar 2 32-1 byte TINYTEXT String teks yang sangat kecil 2 8-1 byte TEXT String teks berukuran kecil 2 16-1 byte MEDIUMTEXT String teks berukuran 2 24-1 byte medium(sedang) LONGTEXT String teks berukuran besar 2 32-1 byte ENUM Enumerasi, kolom dapat diisi 65535 anggota dengan satu member enumerasi SET Himpunan, kolom dapat diisi dengan beberapa nilai anggota 64 anggota himpunan himpunan Table 3 Tipe Data String Tipe data tanggal dan jam : Tipe Range Format DATE 1000-01-01 s.d. 9999-0000-00-00 12-31 TIME -832:59:59 s.d. 00:00:00 838:59:59 DATETIME 1000-01-01 00:00:00 s.d. 9999-12-31 23:59:59 0000-00-00 00:00:00 Table 4 Tipe Data Tanggal dan Jam Modul: Structured Query Language 5

4. Konstanta Konstanta menyatakan nilai yang tetap. 5. Ekspresi Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai. Contoh : harga*jumlah+2 Simbol-simbol yang dapat digunakan pada ekspresi aritmatika. Simbol Keterangan * Perkalian / Pembagian + Penjumlahan - Pengurangan Table 5 Simbol pada Ekspresi Aritmatika 6. Aggregate Functions (Fungsi Agregat) Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil. Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yang digunakan untuk melakukan summary, fungsi statistik standar yang dikenakan pada suatu tabel atau query. a. AVG(ekspresi) Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalah nama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan tipe data numerik. b. COUNT(x) Fungsi ini digunakan untuk menghitung jumlah record (baris) dari suatu kolom dari suatu tabel. X adalah nama kolom yang ingin dicari jumlah barisnya. c. MAX(ekspresi) Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terbesarnya memiliki tipe data numerik. d. MIN(ekspresi) Fungsi ini digunakan untuk mencari nilai terkecil dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terkecilnya memiliki tipe data numerik. e. SUM(ekspresi) Modul: Structured Query Language 6

Fungsi ini digunakan untuk mendapatkan nilai total dari suatu kolom pada suatu tabel. c) Instalasi Server SQL Pada modul ini, kita menggunakan MySQL sebagai server database. MySQLadalahDBMS yang multithread, multiuser,dengansekitar6jutainstalasi di seluruhdunia.mysqltersediasebagaiperangkatlunakdibawahlisensignu General Public License (GPL),tetapi disediakan jugalisensi komersial untuk kasus-kasusdimanapenggunaannya tidak cocok dengan penggunaangpl. Tidak seperti PHP atauapacheyang merupakan software yangdikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius. Fitur-fitur MySQLantaralain: RelationalDatabaseSystem.Sepertihalnyasoftwaredatabaselainyang ada di pasaran, MySQL termasukrdbms. ArsitekturClient-Server.MySQLmemilikiarsitekturclient-serverdimana serverdatabasemysqlterinstal di server.clientmysqldapatberadadi komputer yangsama dengan server,dandapatjuga dikomputer lainyang berkomunikasi dengan server melalui jaringan bahkan internet. Mengenal perintahsql standar. SQL (Structured Query Language) merupakansuatubahasastandaryang berlakudihampirsemuasoftware database. MySQLmendukung SQL versi SQL:2003. Mendukung SubSelect. Mulai versi4.1 MySQL telah mendukung select dalam select (subselect). Mendukung Views. MySQL mendukung views sejak versi 5.0 Mendukung Stored Prosedured (SP). MySQL mendukung SPsejak Modul: Structured Query Language 7

versi 5.0 Mendukung Triggers. MySQL mendukungtrigger pada versi 5.0 namun masihterbatas.pengembang MySQLberjanjiakanmeningkatkankemampuan trigger pada versi 5.1. Mendukung replication. Mendukung transaksi. Mendukung foreign key. Tersedia fungsi GIS. Free (bebas didownload) Stabil dan tangguh Fleksibel dengan berbagai pemrograman Security yang baik Dukungan dari banyak komunitas Perkembangan software yang cukup cepat. MySQl dapat di download dihttp://www.mysql.com/downloads/. MySQLversi terakhir saatmateri ini dibuat adalahmysql5.5.13. Silahkan Andadownload versi terakhirtersebutdan simpandi komputer Anda. Pada dasarnya,instalasi untuk setiap versi MySQLtidakjauh berbeda.setelah Anda mendapatkan source MySQL, selanjutnya Anda perlu meng-ekstrak file tersebut ke komputer Anda Proses Instalasi MySQL server untuk versi Windows adalah : 1. Jalankan file setup mysql, maka akan muncul dialog instalasi sebagai berikut : Modul: Structured Query Language 8

Gambar I Dialog Instalasi 2. Pilih tombol Next, kemudian muncul dialog tipe instalasi sebagai berikut : Gambar II Dialog Tipe Instalasi 3. Pilih Custom, kemudian pilih tombol Next. Kemudian tampil dialog fitur program sebagai berikut : Modul: Structured Query Language 9

Gambar III Dialog Fitur Program 4. klik tanda silang pada Developer Components, kemudian pilih This feature will be installed on local hard drive seperti gambar berikut : Gambar IV Dialog Opsi Feature Modul: Structured Query Language 10

5. Kemudian pilih tombol Change..., pada folder name ubah menjadi sesuai dengan gambar berikut ini : Gambar V Pemilihan Folder Instalasi 6. Pilih OK, kemudian pilih tombol Next, dan pilih tombol Install, maka proses instalasi dimulai. Gambar VI Dialog Proses Instalasi Modul: Structured Query Language 11

7. Berikutnya muncul dialog account, pilih Skip Sign-Up dan klik tombol Next, maka akan muncul dialog sebagai berikut : Gambar VII Dialog Account 8. Klik tombol Finish dan tombol Next, maka akan muncul dialog sebagai berikut : Gambar VIII Dialog Finishing 9. Pilih Standard Configuration dan klik tombol Next, lalu muncul gambar berikut : Modul: Structured Query Language 12

Gambar IX Dialog Configurasi 10. Pilih tombol Next. Kemudian muncul gambar berikut ini. Masukkan password yang diinginkan pada kota isian New root password dan Confirm berikut ini untuk sekuritas, misalnya 123456. Klik tombol Next. Gambar X Dialog Pasword Modul: Structured Query Language 13

11. Klik tombol Execute sebagai tahap akhir. 12. Klik Finish. Gambar XI Dialog Execute Gambar XII Dialog Finishing Modul: Structured Query Language 14

Melakukan Koneksi ke MySQL : Cara 1 : 1. Melalui DOS Prompt, masuk ke direktori utama MySQL dengan cara sebagai berikut (yang diketik hanya yang digaris bawah) : C:\>cd \mysql\bin 2. Setelah itu ketikkan perintah berikut (yang diketik hanya yang digaris bawah) : C:\>mysql\bin\mysql u root p maka akan diminta untuk memasukkan passoword, isikan password yang digunakan pada saat instalasi, yaitu 123456. 3. Selanjutnya akan ada respon dari server seperti gambar berikut : Gambar XIII Respons Server Tampilan tersebut di atas menandakan bahwa telah berhasil melakukan koneksi ke server. Cara 2 : 1. Dari menu Start > All Programs > MySQL > MySQL Server 5.0 > MySQL Command Line Client, maka akan muncul tampilan seperti berikut ini : Gambar XIV Command Line Client 2. Masukkan password yang telah ditentukan pada saat instalasi, yaitu : 123456 kemudian tekan enter. Modul: Structured Query Language 15

d) Latihan 1. e) Rangkuman Modul: Structured Query Language 16

f) Tes Formatif Kegiatan Belajar 1 (Waktu: 20 menit) Modul: Structured Query Language 17

UMPAN BALIK DAN TINDAK LANJUT Periksalah jawaban Saudara dengan kunci jawaban test formatif KB 1. Hitunglah jumlah jawaban Saudara yang benar, kemudian gunakan rumus di bawah ini untuk mengetahui tingkat penguasaan Saudara terhadap materi. Rumus = Jumlah jawaban yang benar Jumlah semua soal X 100% Penjelasan tingkat penguasaan 0 60,99 % = Amat Kurang 61 70,99 % = Kurang 71 80,99 % = Cukup 81 90,99% = Baik 91 100% = Amat Baik Kalau Saudara mencapai tingkat penguasaan 81% atau lebih, maka Saudara dapat meneruskan dengan materi pada KB 2. Tetapi apabila nilai Saudara kurang dari 81%, maka kami sarankan Saudara mengulangi materi pada KB 1, terutama materi yang Saudara belum kuasai. Modul: Structured Query Language 18

2. Kegiatan Belajar 2 Bahasa Database Indikator : Setelah selesai mengikuti pembelajaran ini peserta diklat diharapkan dapat: menjelaskan DDL dengan baik; menjelaskan DML dengan baik. a. Data Definition Language (DDL) DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut database, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP. a. Membuat Database Syntax : 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 : Gambar XV Membuat Database Syntax tambahan : untuk menampilkan daftar nama database yang ada pada mysql menggunakan perintah : SHOW DATABASES; seperti berikut ini : Gambar XVI Daftar Nama Database Modul: Structured Query Language 19

b. Menghapus Database Syntax : DROP DATABASE namadatabase; Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah untuk menghapus database dengan nama rental : Gambar XVII Perintah Menghapus database c. Membuat Tabel Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan menggunakan syntax : USE namadatabase; Berikut ini perintah untuk menggunakan database dengan nama rental : Gambar XVIII Perintah Penggunaan Database Syntax membuat table : CREATE TABLE namatabel2 ( Field1 TipeData1, Field2 TipeData2 ); 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 : Gambar XIX Perintah membuat tabel dengan nama jenisfilm Syntax tambahan : Untuk menampilkan daftar nama tabel yang ada pada database yang sedang aktif/digunakan (dalam hal ini database rental) : SHOW TABLES; seperti berikut ini : Modul: Structured Query Language 20

Gambar XX Show Tables Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah : DESC namatabel; Gambar XXI Tampilan Deskripsi Tabel d. Menghapus Tabel Syntax : DROP TABLE namatabel; Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapus tabel dengan nama jenisfilm : Gambar XXII Perintah menghapus tabel e. Mendefinisikan null/not null Syntax : CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL, Field2 TipeData2 ); f. Mendefinisikan Nilai Default 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. Syntax : CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2 DEFAULT nilai ); nilai adalah nilai default dari kolom tersebut. Modul: Structured Query Language 21

g. 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 CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, PRIMARY KEY(Field1) ); atau ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (namakolom); Berikut ini 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 : atau Gambar XXIII Tabel Jenisfilm 1 atau Gambar XXIV Tabel Jenisfilm 2 Modul: Structured Query Language 22

Gambar XXV Tabel Jenisfilm 3 h. Menghapus Primary Key Pada Tabel Perintah : 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; Berikut ini perintah yang digunakan untuk menghapus primary key pada tabel jenisfilm : Gambar XXVI Hapus Primary key pada Tabel Jenisfilm i. Menambah Kolom Baru Pada Tabel Syntax : 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) : Gambar XXVII Perintah menambah kolom keterangan dengan tipe data varchar j. Mengubah Tipe Data atau Lebar Kolom Pada Tabel Perintah : 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) : Gambar XXVIII Perintah Mengubah tipe data Modul: Structured Query Language 23

k. Mengubah Nama Kolom Syntax : ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom tipedatanya; namatabel adalah nama tabel yang akan diubah nama kolomnya, namalamakolom adalah kolom yang akan diganti namanya, namabarukolom adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut. Berikut ini perintah untuk mengubah nama kolom keterangan menjadi ket : Gambar XXIX Mengubah Nama kolom keterangan menjadi Ket l. Menghapus Kolom Pada Tabel Syntax : ALTER TABLE namatabel DROP COLUMN namakolom; Berikut ini perintah untuk menghapus kolom ket pada tabel jenisfilm : Gambar XXX Menghapus kolom Ket m. Mendefinisikan Foreign Key Pada Tabel Untuk mendefinisikan foreign key, maka harus dipastikan bahwa tabel dan atribut yang dirujuk (tabel induk dari foreign key) sudah didefinisikan terlebih dahulu. Syntax : CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, FOREIGN KEY (Field2) REFERENCES namatabelinduk (namakolominduk)on UPDATE CASCADE ON DELETE NO ACTION ) atau ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk Modul: Structured Query Language 24

(namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION; Berikut ini perintah untuk membuat tabel film beserta kolom-kolomnya : atau Gambar XXXIPerintah Membuat tabel film beserta kolomnya 1 Gambar XXXII Perintah Membuat tabel film beserta kolomnya 2 n. Menghapus Foreign Key Perintah : ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint; Berikut ini perintah untuk menghapus foreign key pada tabel film : Gambar XXXIII Menghapus Foreign Key b. Data Manipulation Language (DML) DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam database, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan SELECT. o. 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 : Modul: Structured Query Language 25

INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n); Berikut ini perintah untuk menambahkan baris pada tabel jenisfilm : Cara 1 : Cara 2 : Gambar XXXIV1 Menambahkan Baris Gambar XXXV Menambahkan Baris 2 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. p. DELETE Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris. Syntax : DELETE FROM namatabel [WHERE kondisi]; Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk menghapus baris pada tabel jenisfilm dengan data sebagai berikut : Gambar XXXVI Menghapus baris dengan data Contoh 1 : jika ingin menghapus seluruh baris pada tabel jenisfilm : Gambar XXXVII menghapus seluruh baris Contoh 2 : jika ingin menghapus baris yang memiliki nilai 3000 pada kolom harga pada tabel jenisfilm maka perintahnya sebagai berikut : Gambar XXXVIII Menghapus salah satu baris 1 Modul: Structured Query Language 26

Contoh 3 : jika ingin menghapus baris yang memiliki nilai drama pada kolom jenis pada tabel jenisfilm maka perintahnya sebagai berikut : Gambar XXXIX Menghapus salah satu baris 2 q. UPDATE Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada suatu tabel. Syntax : UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi]; Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk mengubah baris pada tabel jenisfilm dengan data sebagai berikut : Gambar XL Mengubah baris Contoh 1 : mengubah semua nilai pada kolom harga menjadi 2000 : Gambar XLI Mengubah kolom harga Contoh 2 : mengubah nilai pada kolom harga menjadi 2500 dimana nilai pada kolom jenis adalah action : Gambar XLII Mengubah nilai pada kolom r. SELECT Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya. 1) Menampilkan data untuk semua kolom menggunakan asterisk (*) Syntax : SELECT * FROM namatabel; Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm : Modul: Structured Query Language 27

Gambar XLIII Perintah menampilkan semua data 2) Menampilkan data untuk kolom tertentu Syntax : SELECT kolom1,kolom2,kolom-n FROM namatabel; Berikut ini perintah untuk menampilkan data pada tabel jenisfilm dengan kolom yang ditampilkan adalah kolom jenis : Gambar XLIV Menampilkan data 3) Menampilkan data dengan kondisi data tertentu dengan klausa WHERE Syntax : SELECT * FROM namatabel WHERE kondisi; Berikut ini perintah untuk menampilkan data pada tabel jenisfilm dimana nilai pada kolom jenis adalah drama : Gambar XLV Menampilkan data Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE selain = adalah : > (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. Berikut ini data yang ada pada tabel jenisfilm : Gambar XLVI Menampilkan data Modul: Structured Query Language 28

Contoh 1 : perintah untuk menampilkan data pada tabel jenisfilm dimana nilai harga berkisar dari 1000 hingga 3000 : atau Gambar XLVII Contoh 1 Gambar XLVIII Contoh 2 Contoh 2 : perintah untuk menampilkan data pada tabel jenisfilm dimana nilai harga sama dengan 1000 atau 3000 : atau Gambar XLIX Contoh 3 Gambar L Contoh 4 Contoh 3 : perintah untuk menampilkan data pada tabel jenisfilm dimana nilai pada kolom jenis tidak sama dengan action : atau Gambar LI Contoh 5 Gambar LII Contoh 6 Modul: Structured Query Language 29

Contoh 4 : Isi tabel film Gambar LIII Contoh 7 perintah untuk menampilkan data pada tabel film dimana data pada kolom tertentu diawali dengan nilai tertentu, misalnya pada kolom judul dimana diawali dengan karakter S : Gambar LIV Contoh 8 4) Memberikan nama lain pada kolom Syntax : SELECT namakolomlama AS namakolombaru FROM namatabel; Berikut ini perintah untuk memberikan nama lain pada kolom jenis menjadi jenis_film pada tabel jenisfilm : Gambar LV Perintah memberikan nama lain 5) Menggunakan alias untuk nama tabel Syntax : SELECT nmalias.jenis, nmalias.harga FROM namatabel nmalias; Berikut ini perintah untuk memberikan alias pada tabel jenisfilm : Gambar LVI Perintah untuk memberikan alias 6) Menampilkan data lebih dari dua tabel Syntax : Modul: Structured Query Language 30

SELECT * from namatabel1,namatabel2,namatabel-n; Isi tabel jenisfilm : Gambar LVII Menampilkan data lebih dari dua tabel Isi tabel film : Gambar LVIII Isi Tabelfilm Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm dan film : Gambar LIX Menampilkan semua data 7) 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. Modul: Structured Query Language 31

Contoh 1 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tercantum pada tabel film menggunakan IN : Gambar LX Tabel film yang menggunakan IN atau menggunakan EXISTS Gambar LXI Tabel Film yang menggunakan EXSIST 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 : Gambar LXII Tabel film yang menggunakan Not IN atau menggunakan NOT EXISTS Gambar LXIII Tabel film yang menggunakan not EXSIST Modul: Structured Query Language 32

8) Operator comparison ANY dan ALL a. Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE. Ilustrasinya : 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 : Gambar LXIV Tampilan semua data film yang harganya bukan terkecil b. 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 : Gambar LXV Tampilan data jenisfilm yang harganya paling tinggi 9) Aggregate Functions (COUNT, SUM, AVG, MIN, MAX) a. COUNT Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Contoh : perintah untuk menghitung jumlah baris kolom jenis pada tabel jenisfilm : Modul: Structured Query Language 33

Gambar LXVI Perintah untuk menghitung jumlah baris kolom b. SUM Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Contoh : perintah untuk menghitung jumlah nilai kolom harga pada tabel jenisfilm : Gambar LXVII Perintah untuk menghitung jumlah nilai kolom c. AVG Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada tabel. Contoh : perintah untuk menghitung rata-rata dari kolom harga pada tabel jenisfilm : Gambar LXVIII Perintah menghitung rata-rata d. MIN Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel. Contoh : perintah untuk menampilkan nilai terkecil dari kolom harga pada tabel jenisfilm : Gambar LXIX Perintah untuk menampilkan nilai terkecil e. MAX Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada tabel. Contoh : perintah untuk menampilkan nilai terbesar dari kolom harga pada tabel jenisfilm : Modul: Structured Query Language 34

Gambar LXX Perintah menampilkan nilai terbesar 10) SQL dengan GROUP BY dan HAVING Klausa GROUP BY digunakan untuk melakukan pengelompokan data. Sebagai contoh, terdapat tabel film dengan data sebagai berikut : Gambar LXXI Contoh data akan ditampilkan hanya kolom jenis dan digabungkan dengan SUM(jml_film) yang dikelompokkan berdasarkan kolom jenis pada tabel film : Gambar LXXII Contoh data 2 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 : Gambar LXXIII Contoh data 3 11) ORDER BY Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu sesuai dengan tipe data yang dimiliki. Modul: Structured Query Language 35

Contoh : perintah untuk mengurutkan data film berdasarkan kolom judul : Gambar LXXIV Perintah untuk mengurutkan data berdasarkan kolom judul atau tambahkan ASC untuk pengurutan secara ascending (menaik) Gambar LXXV Pengurutan Ascending atau tambahkan DESC untuk pengurutan secara descending (menurun) 12) UNION, INTERSECT dan EXCEPT a. UNION 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 : Gambar LXXVI Perintah untuk memperoleh data Modul: Structured Query Language 36

Perintah di atas identik dengan : Gambar LXXVII Identik Perintah Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu jika bekerja pada dua tabel atau lebih. b. INTERSECT INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masingmasing tabel yang akan ditampilkan datanya harus sama. Syntax : 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. c. EXCEPT / Set Difference EXCEPT 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. Syntax : 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. 13) Operasi Join Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolomkolom yang berasal dari tabel-tabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara Modul: Structured Query Language 37

kolom pada tabel yang berbeda. Berikut ini perintah untuk menampilkan kolom judul dari tabel film dan kolom harga dari tabel jenisfilm : Gambar LXXVIII Menampilkan kolom judul Pada contoh di atas, jenisfilm.jenis=film.jenis merupakan kondisi untuk mencocokkan data antara kolom jenis milik tabel jenisfilm dan film. a. Inner Join Inner join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat dibelakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapat pasangan data dari tabel sebelah kanan. Berikut ini perintah untuk menampilkan data dari tabel jenisfilm dan film dengan syarat berdasarkan kolom jenis : Gambar LXXIX Perintah menampilkan data b. Left Join Left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Modul: Structured Query Language 38

Gambar LXXX Left Join c. Right Join Right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Gambar LXXXI Right Join d. Natural Join Natural join digunakan untuk menampilkan semua data dari dua tabel dimana jika terdapat kolom yang sama, maka yang akan ditampilkan hanya salah satunya saja, yaitu kolom dari tabel sebelah kiri perintah natural join. Gambar LXXXII Natural Join 1) Natural Left Join Natural left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah natural left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat Modul: Structured Query Language 39

data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Gambar LXXXIII Natural Left Join 2) Natural Right Join Natural right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah natural right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Gambar LXXXIV Natural Right Join Modul: Structured Query Language 40

c. Latihan d. RANGKUMAN Modul: Structured Query Language 41

TES FORMATIF KEGIATAN BELAJAR 2 (Waktu: 20 menit) 1 Perhatikan penyataan berikut: 1. SQL dikhususkan untuk bahasa Query Language 2. SQL digunakan untuk mengakses dan me-maintenace basisdata A. 1 dan 2 betul D. 1 salah 2 betul B. 1 dan 2 salah E. tidak ada jawaban C. 1 betul 2 salah 2 Yang menjadi bagian dari Perintah DDL A. Insert D. Delete B. Update E. Select C. Drop 3 Yang menjadi bagian dari Perintah DCL A. Insert D. Grant B. Create E. Select C. Update Soal untuk nomor 4 s/d 6 Lengkapi bagian kosong dari perintah Query berikut: Create Orders ( ) No integer, Kepada VARCHAR (50), 4 Create A. tidak perlu diisi apapun D. diisi dengan Database B. diisi bebas saja E. Diisi dengan tanda kutif C. diisi dengan Table 5 No integer, A. tidak perlu diisi apapun D. diisi dengan Primary key B. diisi bebas saja E. Diisi dengan Constranints C. diisi dengan NULL 6 Kepada VARCHAR (50), A. tidak perlu diisi apapun D. diisi dengan Primary key B. diisi bebas saja E. Diisi dengan Constranints C. diisi dengan NULL 7 Jika diinginkan untuk menghapus kolom data Hobby pada tabel mahasiswa, Modul: Structured Query Language 42

perintah SQL nya adalah: A. DROP Mahasiswa Hobby D. Alter Table Mahasiswa Drop Column Hobby B. Drop Mahasiswa Column Hobby E. Alter Table Mahasiswa Alter Column Hobby C. Alter Table Mahasiswa Drop Hobby 8 Jika diinginkan mencari data mahasiswa yang mengadung nama Aji maka kondisi where pada select tersebut dituliskan sbb: A. Where nama= Aji D. Where nama like %aji% B. Where nama Like Aji% E. Where nama IN %aji C. Where nama like %aji 9 Jika diinginkan mencari data mahasiswa yang mengadung nama Aji maka kondisi where pada select tersebut dituliskan sbb: A. Where nama= Aji D. Where nama like %aji% B. Where nama Like Aji% E. Where nama IN %aji C. Where nama like %aji 10 Perintah SQL ini mempunyai arti: SELECT COUNT (Nim) FROM Mahasiswa A. Tampilkan tabel mahasiswa D. tampilkan hasil penjumlahan/perhitungan nim mahasiswa B. tampilkan jumlah nim mahasiswa E. Tampilkan daftar nim dari mahasiswa C. Tampilkan jumlah mahasiswa Modul: Structured Query Language 43

UMPAN BALIK DAN TINDAK LANJUT Periksalah jawaban Saudara dengan kunci jawaban test formatif KB 2. Hitunglah jumlah jawaban Saudara yang benar, kemudian gunakan rumus di bawah ini untuk mengetahui tingkat penguasaan Saudara terhadap materi. Rumus = Jumlah jawaban yang benar Jumlah semua soal X 100% Penjelasan tingkat penguasaan 0 60,99 % = Amat Kurang 61 70,99 % = Kurang 71 80,99 % = Cukup 81 90,99% = Baik 91 100% = Amat Baik Kalau Saudara mencapai tingkat penguasaan 80% atau lebih, maka Saudara dapat memahami modul ini. Tetapi apabila nilai Saudara kurang dari 80%, maka kami sarankan Saudara mengulangi materi pada KB 2, terutama materi yang Saudara belum kuasai. Modul: Structured Query Language 44

Pengertian dari media pengajaran yakni merupakan suatu benda, alat, metode untuk membantu meningkatkan efektifitas seorang widyaiswara dengan peserta diklat dalam suatu proses belajar sedangkan tujuan penggunaan media pengajaran yaitu untuk mempermudah dan lebih menarik perhatian peserta diklat sehingga dapat mendorong suatu motivasi belajar dan juga akan lebih bervariasi / tidak monoton sehingga akan lebih jelas maknanya dan mudah untuk dipahami oleh peserta diklat Tidak diragukan lagi kita semua dapat sepakat bahwa media itu perlu dalam pembelajaran.kalau sampai hari ini masih ada yang belum menggunakan media, itu hanya perlu sedikit perubahan sikap. Dalam memilih media, perlu disesuaikan dengan kebutuhan, situasi dan kondisi masing-masing. Perkembangan media pembelajaran di Indonesia telah mengalami kemajuan yang sangat pesat dan tidak kalah dengan negara-negara lain yang lebih maju. Dengan adanya modul metode dan media diklat ini untuk proses belajar mengajar pada diklat pengelolaan diklat diharapkan dapat menambah kualitas Sumber Daya Manusia di Kementerian Keuangan. Modul: Structured Query Language 45

a. Modul: Structured Query Language 46

TES FORMATIF KEGIATAN BELAJAR 1 1. b 2. d 3. b 4. d 5. b 6. d 7. c 8. d 9. b 10. b 11. b 12. d TES FORMATIF KEGIATAN BELAJAR 2 1. c 2. d 3. a 4. d 5. c 6. a 7. a 8. b 9. c 10. d 11. a 12. b 13. d 14. c 15. a TES FORMATIF KEGIATAN BELAJAR 3 1. b 2. a 3. b 4. a 5. b 6. b 7. a 8. c 9. d 10. b 11. c 12. a 13. b 14. c 15. d Modul: Structured Query Language 47

TES SUMATIF 1. b 2. c 3. d 4. a 5. d 6. b 7. b 8. b 9. b 10. a 11. c 12. a 13. b 14. c 15. d 16. a 17. b 18. d 19. c 20. a Modul: Structured Query Language 48

Modul: Structured Query Language 49