MODUL PRAKTIKUM SISTEM BASIS DATA MENGGUNAKAN MICROSOFT SQL SERVER

dokumen-dokumen yang mirip
MODUL PRAKTIKUM BASIS DATA 1. D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

MODUL IV DATA DEFINITION LANGUAGE (DDL)

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Konsep Sistem Informasi B. BAB 2 - SQL Overview

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

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

MODUL PRAKTIKUM BASIS DATA

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

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

LAPORAN PRAKTIKUM BASIS DATA

Pengenalan Structured Query Language

MODUL 1 Pengenalan MySQL, DDL, DML

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

By : Hanung Nindito Prasetyo. Program Studi Teknik Komputer Jurusan Teknologi Informasi Politeknik Telkom 2012

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

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

Pertemuan 12 Pengenalan Structured Query Language

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

SQL (STRUCTURED QUERY LANGUAGE)

LAPORAN TUGAS BASIS DATA I

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

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

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

STRUCTURE QUERY LANGUAGE (SQL)

Data Manipulation Language (DML)

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


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

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

Pertemuan 9 Struktur Query Language(SQL)

DATA DEFINITION LANGUAGE

Macam - Macam Perintah Pada SQL

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Praktikum Basis Data 2017 TE UM

PENGENALAN SINTAKS DASAR DALAM MySQL

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

INTERNET PROGRAMMING DATABASE

STRUCTURE QUERY LANGUAGE DDL & DML

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

SQL Data Definition Language (DDL)

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

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

MODUL II NORMALISASI DATA

Modul 3 : Query Penggabungan Tabel

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

MODUL 5 INTERNET PROGRAMMING : MySQL

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

Praktikum Basis Data 14 Structure Query Language 2

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

Riyanto

Pemrograman Web Lanjut 2017

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

MODUL 9 WEB PROGRAMMING : MySQL

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

Rencana Pelaksanaan Pembelajaran

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

Structured Query Language

MODUL I PENGENALAN MYSQL

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

BAHASA QUERY KOMERSIAL

Kegiatan Praktikum Sistem Basis Data Kelompok B

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

RENCANA PEMBELAJARAN

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

SQL. Brigida Arie Minartiningtyas, M.Kom

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

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

BAB V. Basis Data Darmawan Satyananda 74

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

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

MODUL II SQL A. TUJUAN

SQL. Pemrograman Web II. Ganjil

Pemrograman Basis Data Berbasis Web

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

BAB 2 LANDASAN TEORI

KURSUS ONLINE JASA WEBMASTERS

Basis Data. DDL & Aturan Referential

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

Perangkat Lunak Pengembangan Web

MySQL. Setelah Anda melakukan tahapan-tahapan di atas Anda akan dapatkan screen seperti ini

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

Transact SQL ; DDL 1 st

Modul 3. Oleh : Mohammad Sholikin. 1

Arsitektur Basis Data Oracle

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS

Sistem Basis Data. Pertemuan 13 SQL INSERT & SELECT TUJUAN

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

Sistem Basis Data 1. Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04

BAB III STRUCTURED QUERY LANGUAGE (SQL)

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

BAHASA QUERY KOMPLEKS

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

PRAKTIKUM SISTEM BASISDATA

MODUL 7 STRUCTURED QUERY LANGUAGE

SISTEM BASIS DATA II S A N T I W I D I A N T I

Transkripsi:

MODUL PRAKTIKUM SISTEM BASIS DATA MENGGUNAKAN MICROSOFT SQL SERVER OLEH : EDI ISMANTO, S.T, M.KOM LABORATORIUM KOMPUTER PROGRAM STUDI PENDIDIKAN INFORMATIKA UNIVERSITAS MUHAMMADIYAH RIAU

IDENTITAS MODUL PENDIDIKAN INFORMATIKA UNIVERSITAS MUHAMMADIYAH RIAU Di Susun Oleh : Edi Ismanto, S.T, M.Kom Mata Kuliah : Sistem Basis Data Kode Matakuliah : Kode Modul : Dokumen Prodi Pendidikan Informatika Tidak di Perjual Belikan DILARANG MENCORET ISI DALAM MODUL TATA TERTIB PRATIKUM 1. Selesai Pratikum Harap Modul di Kumpul ke Instruktur Pratikum 2. Untuk mendapatkan soft copy Modul silahkan hubungi Instruktur Pratikum 3. Tas kuliah harap diletakkan di laci yang telah disediakan didalam LAB 4. Di larang membawa makanan dan minuman di dalam LAB Komputer 5. Sepatu harap dilepas ketika masuk dalam LAB Komputer Page 2

MODUL I MEMBUAT DESAIN BASIS DATA Tujuan : 1. Praktikan dapat memahami model basis data 2. Praktikan dapat memahami dan membuat ER-Diagram 1. Dasar Teori Basis Data Basis data adalah kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Basis data bisa dibayangkan sebagai lemari arsip dengan berbagai cara pengaturannya. Basis data dan lemari arsip memiliki prinsip kerja dan tujuan yang sama; prinsipnya yakni pengaturan data/arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip. Apa yang dimaksud dengan model data? Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-data, hubungannya satu sama lain, semantiknya, serta batasan konsistensi. Model-Model Data ada 5 yaitu: Model Hirarkis (Hierarchical Model) Model Jaringan (Network Model) Model Relasional (Relational Model) Model Relasi Entitas (Entity-Relationship Model) Model Berbasis Objek (Object Oriented Model) Model Relasi Entitas (Entity-Relationship Model) Merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data yang berdasarkan suatu persepsi bahwa di dunia nyata terdiri dari object-object dasar yang memiliki hubungan atau relasi dari object-object tersebut. Model Relasi-Entitas atau (Entity Relationship Model) pada hakekatnya perwujudan dari model relasional dalam bentuk diagram, yaitu E-R Diagram. Domain data disebut juga sebagai himpunan entitas, diwakili oleh diagram kotak. Field-data atau atribut diwakili oleh diagram lingkaran atau ellips. Hubungan atau relasi antar domain diwakili oleh jajaran-genjang. Page 3

Entity dalam E-R diagram dibedakan menjadi 2 yaitu : Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain). Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung. Entitas di mana entitas lemah bergantung dinamakan identifying owner.entitas lemah tidak memiliki identifier sendiri. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian). Mengapa jika terdapat set entitas yang sama muncul beberapa kali dalam satu set ER-Diagram ini harus dihindari? Untuk menghindari redundancy Menghemat penyimpanan (storage) data Mengurangi efektifitas dan kecepatan akses Untuk menghindari terjadinya asinkronisasi data pada saat diupdate Participation Constraint (Batasan Partisipasi) ini menentukan apakah keberadaan sebuah entitas tergantung pada hubungannya ke entitas lain melalui jenis relasinya. Participation Constraint ada 2 yaitu : Total constraint adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya. Constraint partial adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung ke dalam entitas dari relasinya. Derajat Kardinalitas Relasi Kardinalitas relasi menunjukkan jumlah maksimum data entitas yang dapat berelasi dengan entitas lain. Relasi satu : Page 4

Entity 1 to entity 2 : kardinalitas : one to many dengan detail minimal 0 dan maksimalnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan. Entity 2 to entity 1 : kardinalitas : many to one dengan detail minimal 1 dan maksimalnya 1. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan. Relasi dua : Entity 3 to entity 4 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 3 dan entitas 4 tidak saling ketergantungan. Entity 4 ke entity 3 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan. Relasi tiga: Entity 5 to entity 6 dan Entity 6 to entity 5 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak saling ketergantungan. Relasi empat: Entity 7 to entity 8 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling ketergantungan. Entity 8 ke entity 7 : kardinalitas : one to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 8 dan entitas 7 tidak saling ketergantungan. Page 5

Relasi lima: Entity 9 to entity 10 : kardinalitas : many to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling ketergantungan. Entity 10 ke entity 9 : kardinalitas : many to many dengan detail minimal 1 maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling ketergantungan. Relasi enam: Entity 13 to entity 14 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 13 menjadi parent dari entitas 14. Entity14 ke entity 13 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 14 tergantung kepada entitas 13. 2. Kegiatan Praktikum Latihan 1 : menemukan entitas Dalam membuat desain database yang dilakukan pertama kali dengan menemukan entitasnya. Langkah-langkah menemukan entitas yaitu : 1. Buat ilustrasi/gambaran cerita tentang sistem yang akan dicari entitasnya. Contoh : Sistem Kepegawaian di perusahaan A Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan Page 6

beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus beserta data tanggungan/keluarganya. 2. Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi Tersebut. Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen.satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus beserta data tanggungan/keluarganya. 3. Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut. Perusahaan: NoPerusahaan, nama, alamat Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji Pengawas: NoKTP, Nama, Alamat, Jenis kelamin,gaji Departemen: Nomor, Nama, lokasi, jumlah pegawai Lokasi : lokasi Proyek: Nomor, nama, lokasi Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai. Page 7

4. Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas). Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris data) bukan entitas Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji entitas kuat Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji sama dengan entitas Pegawai Departemen: Nomor, Nama, lokasi, jumlah pegawai entitas kuat Lokasi : lokasi (karakteristiknya departemen, tidak memiliki karakteristik lain (unik)) bukan entitas Proyek: Nomor, nama, lokasi entitas kuat Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai entitas lemah (tergantung pada pegawai) 3. Tugas 1. Dari entitas dan atribut yang ditemukan, buat desain database kepegawaian menggunakan ER-Diagram dengan relasi yang menghubungkan antar entity tersebut! 2. Lakukan mapping ER-Diagram ke tabel! 3. Buat desain CDM (Conceptual Data Model) dan PDM (Physical Data Model) utk database tersebut! (dengan menggunakan Visio atau Power Designer). Page 8

MODUL II MICROSOFT SQL SERVER Tujuan : 1. Praktikan mampu memahami instalasi SQL di lingkungan Windows 2. Praktikan dapat memahami dasar-dasar SQL 3. Praktikan dapat memahami dan membuat database di SQL 4. Praktikan dapat memahami dan membuat tabel di SQL 1. Tentang Microsoft SQL Server Microsoft SQL Server diperkenalkan pada tahun 1990 untuk platform Microsoft OS/2 dalam kerjasamanya dengan Sybase. Produk ini berasal dari Sybase SQL Server 4.x untuk platform Unix. Dengan adanya Windows NT, muncul inisiatif untuk membangun SQL Server versi Windows NT sehingga dihasilkan Microsoft SQL Server versi 4.2 untuk platform Windows NT. Kerjasama dengan Sybase masih berlanjut dan diluncurkan SQL Server 6.0 pada tahun 1995 dan setahun kemudian SQL Server versi 6.5 diluncurkan. SQL Server 6.5 memperbarui kemampuan transaksi dan menjadi produk database client/server yang banyak dipakai pada platform Windows NT. Untuk memenuhi kebutuhan pengguna yang makin meningkat, maka SQL Server perlu didisain ulang dan kerjasama dengan Sybase dihentikan. Kemudian Microsoft mengembangkan SQL Server 7.0 yang difokuskan pada tiga area yaitu : easy to use, scalability dan data warehousing. Pada tahun 2000, kemudian Microsoft meluncurkan SQL Server 2000, hingga sampai sekarang Microsoft terus meluncurkan SQL Server versi terbaru untuk mengikuti perkembangan kemajuan teknologi. A. Tipe Data Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri. SQL Server mengenal beberapa tipe data field yaitu : 1. Tipe data numerik Tipe data numerik dibedakan dalam dua macam kelompok, yaitu integer dan floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point digunakan untuk bilangan desimal. Page 9

2. Tipe data string String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data string dapat dilihat pada tabel 1.1 berikut: Tipe Data Kisaran Nilai CHAR -255 karakter VARCHAR 255 karakter TINYTEXT 255 karakter TEXT 65535 karakter MEDIUMTEX 16777215 karakter LONGTEXT 424967295 karakter Tabel 1.1 Tipe Data String 3. Tipe data char() dan varchar() Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya terletak pada jumlah memori yang dibutuhkan untuk penyimpanannya. Memori yang dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Pada tipe data varchar() besarnya memori penyimpanan tergantung pada jumlah karakter ditambah 1 byte, dapat dilihat pada tabel 1.2 berikut ini: Tabel 1.2 Letak Perbedaan Jumlah Memori Nilai Char (4) Memori Penyimp Varch ar (4) Memori Penyimpanan 4 bytes 1 byte ab ab 4 bytes ab 3 bytes abed abed 4 bytes abed 5 bytes abed abed 4 bytes abed 5 Bytes 4. Tipe data tanggal Untuk tanggal dan jam, tersedia tipe-tipe data field berupa DATETIME, DATE, TIMESTAMP, TIME dan YEAR. Masing-masing tipe mempunyai kisaran nilai tertentu. SQL Server akan memberikan peringatan kesalahan (error) apabila tanggal atau waktu yang dimasukkan salah. Kisaran nilai dan besar memori penyimpanan yang diperlukan untuk masing-masing tipe dapat dilihat pada tabel 1.3 berikut ini: Tabel 1.3 Tipe Data Tanggal Tipe Data Kisaran Nilai Memori Penyimpa DATETIME 1000-01-01 00:00 sampai 9999-3 byte 12-31 23:59:59 DATE 1000-01-01 sampai 9999-12-31 8 byte TIMESTAMP 1970-01-01 00:00:00 sampai 2037 4 byte TIME -839:59:59 sampai 838:59:59 3 byte 4 5 Page 10

B. Operator SQL Server SQL Server mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya: 1. Operator Aritmetika Suatu ekspresi yang melibatkan tipe data bilangan (NUMERIK) dan tanggal (DATE) menggunakan ekspresi aritmatika. Dapat dilihat pada tabel 1.4 berikut ini: Tabel 1.4 Operator aritmatika SQL Server Operator Keterangan + Tambah - Kurang * Kali / Bagi Mod () Modulus 2. Operator Pembandingan Suatu ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai sintax sebagai berikut: WHERE expr operator value. Tabel 1.5 menunjukanoperator pembanding pada SQL Server berikut ini: 3. Operator Logika Tabel 1.5 Operator Pembanding SQL Server Operator Keterangan = Sama Dengan > Lebih Besar < Lebih Kecil >= Lebih Besar atau Sama Dengan <= Lebih Kecil atau Sama Dengan <> Tidak Sama Dengan Operator ini digunakan untuk membandingkan dua nilai variabel yang bertipe boolean. 4. Operator Karakter Operator untuk membentuk pencarian string yang sesuai dengan nilai yang mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter, ada 3 symbol khusus berikut ini dapat dilihat pada tabel 1.6 berikut ini: Tabel 1.6 Tabel Operator Karakter Operator Keterangan % Sembarang karakter berapapun Sembarang satu karakter [] Sembarang karakter yang terletak dalam Page 11

5. Operator Lain-lain Operator yang digunakan untuk menguji nilai-nilai yang ada dalam list (tanda kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu jangkauan (range) nilai. Ada 2 symbol tersebut dapat dilihat pada tabel 1.7 berikut ini: Tabel 1.7 Operator lain-lain Operator Keterangan IN Dalam BETWEEN Diantara 1. Kegiatan Praktikum : 1. Jalankan file setup sql server 2008, maka akan muncul dialog instalasi sebagai berikut : Gambar 1. Setup instalansi Sql Server 2008 2. Pilih icon new installation, kemudian muncul dialog sebagai berikut : Gambar 2. Setup instalansi Sql Server 2008 License Terms Page 12

3. Pilih tombol Next. Kemudian tampil dialog fitur konfigurasi sebagai berikut : Gambar 3. Setup instalansi Sql Server 2008 Configuration 4. Pilih tombol Next. Kemudian tampil dialog fitur server konfigurasi sebagai berikut : Gambar 4. Setup instalansi Sql Server 2008 Server Configuration Page 13

5. Pilih tombol Next. Kemudian tampil dialog fitur Database Engine Configuration sebagai berikut : Gambar 5. Setup instalansi Sql Server 2008 Database Engine Configuration 6. Pilih tombol Next. Kemudian tampil dialog fitur Error Reporting sebagai berikut : Gambar 6. Setup instalansi Sql Server 2008 Error Reporting Page 14

7. Pilih tombol Next, hingga proses instalansi komplit, sampai tampil dialog fitur Complete sebagai berikut : Gambar 7. Setup instalansi Sql Server 2008 Complete 8. Melakukan koneksi ke SQL Server sebagai berikut, Pilih tombol Connect : Gambar 8. Koneksi ke SQL Server Page 15

9. Sampai tampil, tampilan berikut : Gambar 9. Layar Kerja Tampilan SQL Server Latihan 1 : Membuat Database Dari hasil desain praktikum modul 1, buat database kepegawaian menggunakan database SQL Server dengan perintah: create database namadatabase; Misalkan anda ketikkan : create database kepegawaian; Untuk memilih dan membuka database dapat menggunakan perintah berikut ini: use namadatabase; Contoh: use kepegawaian; Untuk menampilkan database dapat menggunakan perintah berikut : Show databases; Latihan 2 : Menghapus Database Untuk menghapus database menggunakan perintah berikut : DROP DATABASE namadatabase; Database yang akan dihapus sesuai dengan namadatabase. Contoh : DROP DATABASE kepegawaian; Page 16

Latihan 3 : 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; Syntax membuat table : CREATE TABLE namatabel ( 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 (,). Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah : DESC namatabel; Contoh : DESC pegawai; 2. Tugas 1. Di dalam database kepegawaian, buat tabel-tabel yang akan digunakan sesuai dengan CDM/PDM yang dibuat pada modul 1 menggunakan sintak query? 2. Tentukan field/atribut dan tipe data yang digunakan utk masing-masing tabel? Page 17

MODUL III DATA DEFINITION LANGUAGE (DDL) I Tujuan : 1. Praktikan mampu memahami DDL 2. Praktikan mampu membuat script untuk pembuatan tabel dan mengupdate tabel 3. Praktikan mampu membuat dan menghapus indeks 1. Dasar Teori DDL (Data Definition Language) DDL atau Data Definition Language adalah bagian dari sql yang digunakan untuk mendefinisikan data dan objek database. Apabila perintah ini digunakan, entri akan dibuat ke dalam kamus data dari SQL. Perintah DDL sebagai berikut : Tabel 3.1 Perintah DDL Perintah Keterangan Create Membuat database Create Table Membuat tabel Create Index Membuat index Create View Membuat View Alter Table Mengubah atau menyisipkan kolom ke dalam Drop Database Menghapus database Drop Table Menghapus tabel dari database Drop Index Menghapus index Drop View Menghapus view Grand Memberikan ijin akses kepada user Indeks Indeks dalam database dapat diumpamakan seperti indeks dalam sebuah buku yang tebal, sehingga item tertentu dapat ditemukan dengan cepat. Sebuah indeks dalam basis data berfungsi untuk mempercepat pencarian data berdasarkan kolom tertentu. Perintah untuk membuat indeks sebagai berikut : Create (unique) Index namajndex on namajabel (namajcolom); Keterangan : 1. unique -> pilihan perincian yang dapat digunakan untuk menguatkan nilai data di dalam kolom nama index menjadi unik. 2. namajndex -> nama index yang baru. 3. nama_tabel -> nama tabel yang berisi kolom index akan dibuat. 4. nama_kolom -> nama dari kolom tempat index akan dibuat. Yang terdiri dari Asc untuk pilihan index naik dan Desc untuk pilihan index menurun. Page 18

2. Kegiatan praktikum Latihan 1 : Membuat Tabel Perintah yang digunakan untuk membuat tabel menggunakan perintah berikut : Keterangan : nama_tabel -> nama yang diberikan di tabel baru. Nama tabel maksimal terdiri dari 8 karakter. Tidak boleh memakai spasi, terdiri dari huruf. Field -> nama yang diberikan untuk kolom baru, maksimal terdiri dari 10 karakter. Tidak boleh memakai spasi, terdiri dari huruf, angka dan Iain-lain. type_data -> jenis data yang nilainya dimasukkan dalam kolom yang telah ditentukan. lebar_data^ nomor spasi karakter untuk mengikuti data yang dimasukkan dalam kolom yang telah ditentukan. Constraint -> batasan yg digunakan utk field seperti NOT Null, Primary Key. Contoh, buat tabel Departemen, Untuk membuat tabel dalam database kepegawaian terlebih dahulu gunakan perintah USE namadatabase untuk memilih database yg akan digunakan. Kemudian gunakan perintah untuk membuat tabel seperti berikut : Page 19

Latihan 2 : 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, perintah sebagai berikut : Latihan 3 : Membuat dan Menghapus Indeks Buat index data Departemen berdasarkan Nomor dengan nama indeks dept, maka perintah yang digunakan sebagai berikut : Untuk menghapus indeks yang telah dibuat gunakan perintah berikut : Drop Index nama_index on nama_tabel; 3. Tugas 1. Dalam membuat tabel kita dapat menggunakan tipe Enum dan Set, apa perbedaannya? Jelaskan dan beri contoh dalam pembuatan tabel! 2. Buat indeks untuk tabel pegawai 3. Buat indeks untuk tabel Departemen dengan menggunakan beberapa kolom yaitu Nomor dan Nama! Page 20

MODUL IV DATA DEFINITION LANGUAGE (DDL) II Tujuan : 1. Praktikan mampu memahami DDL 2. Praktikan mampu membuat script untuk pembuatan tabel dan mengupdate tabel 3. Praktikan mampu membuat dan menghapus indeks 1. Dasar teori Data Definition Language (DDL) digunakan untuk membuat dan menghancurkan database dan objek database. Perintah-perintah ini terutama akan digunakan oleh database administrator selama fase setup dan penghapusan proyek database. Mari kita melihat struktur dan penggunaan perintah DDL empat dasar: a. CREATE Instalasi sistem manajemen database (DBMS) pada komputer memungkinkan Anda untuk membuat dan mengelola banyak database independen b. USE Perintah USE memungkinkan Anda untuk menentukan database yang ingin bekerja dengan Anda dalam DBMS. c. ALTER Setelah Anda telah membuat tabel dalam database, Anda mungkin ingin memodifikasi definisi itu.perintah ALTER yang memungkinkan Anda untuk membuat perubahan pada struktur tabel tanpa menghapus dan menciptakan tabel baru dengan nama yang berbeda. d. DROP Perintah terakhir dari Data Definition Language, DROP yang memungkinkan kita untuk menghapus seluruh objek database dari DBMS. Gunakan perintah ini dengan hati-hati! Ingat bahwa perintah DROP menghapus data keseluruhan struktur dari database Anda. E. CONSTRAINT Constraint adalah batasan atau aturan yang ada pada table. SQL Server menyediakan beberapa tipe constraint berikut : 1. NOT NULL Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nilai NULL. Kolom yang befungsi sebagai kunci primer (primary key) otomatis tidak boleh NULL. Page 21

2. UNIQUE Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan data lainnya namanya tidak boleh sama, misal alamat email. 3. PRIMARY KEY Constraint PRIMARY KEY membentuk key yang unik untuk suatu table. 4. FOREIGN KEY FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMARY KEY, biasa dipakai untuk menghubungkan antara 2 tabel. 2. Kegiatan praktikum Latihan 1 : Mendefinisikan Primary Key Pada Tabel Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah perintah mendefinisikan primary key untuk Field1 Atau Atau CREATE TABLE namatabel ( ); Field1 TipeData1 NOT NULL PRIMARY KEY, Field2 TipeData2 CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, PRIMARY KEY(Field1) ); ALTER TABLE namatabel ADD CONSTRAINT PRIMARY KEY (namakolom); Tabel pegawai diatas belum mempunyai primary key, maka utk menambahkan primary key gunakan perintah berikut : Latihan 2 : Menghapus Primary Key Pada Tabel Perintah untuk menghapus primary key pada tabel sebagai berikut : Cara 1 : Jika primary key dibuat dengan menggunakan alter table ALTER TABLE namatabel DROP CONSTRAINT namaconstraint; Page 22

Cara 2 : Jika primary key dibuat melalui create table : ALTER TABLE namatabel DROP PRIMARY KEY; Latihan 3 : Menambah Kolom Baru Pada Tabel Perintah untuk menambah kolom baru pada tabel seperti berikut : ALTER TABLE namatabel ADD fieldbaru tipe; Lakukan perintah berikut untuk menambahkan field/atribut NoTelp pada tabel pegawai : Latihan 4 : Mengubah Tipe Data atau Lebar Kolom Pada Tabel Perintah yang digunakan : ALTER TABLE namatabel MODIFY COLUMN field tipe Lakukan perintah berikut untuk mengubah tipe data dan lebar kolom NoTelp pada tabel pegawai dari varchar(15) menjadi char(12) Latihan 5 : Mengubah Nama Kolom Perintah yang digunakan : ALTER TABLE namatabel CHANGE COLUMN NamaKolomLama NamaKolomBaru tipedata; Page 23

Berikut ini perintah untuk mengubah nama kolom NoTelp menjadi Telp : Latihan 6 : Menghapus Kolom Pada Tabel Perintah untuk menghapus kolom pada tabel: ALTER TABLE namatabel DROP COLUMN namakolom; Lakukan perintah berikut untuk menghapus field/kolom NoTelp pada tabel pegawai : Latihan 7 : 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. Perintah yang digunakan: atau ( CREATE TABLE namatabel ); Field1 TipeData1, Field2 TipeData2, FOREIGN KEY (Field2) REFERENCES namatabelinduk (namakolominduk)on UPDATE CASCADE ON DELETE NO ACTION ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION; Lakukan perintah berikut utk menghubungkan tabel Departemen dengan tabel pegawai Page 24

Latihan 8 : Menghapus Foreign Key Perintah yang digunakan : ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint; Lakukan perintah berikut untuk menghapus foreign key : Latihan 9 : Menghapus Tabel Perintah untuk menghapus tabel dengan menggunakan perintah berikut : DROP TABLE namatabel; Tabel yang akan dihapus sesuai dengan namatabel. Misalnya menghapus tabel Departemen dari database kepegawaian; DROP TABLE Departemen; 3. Tugas : 1. Gunakan tabel Departemen untuk melakukan perintah berikut (gunakan ALTER Table) a) tambahkan field/atribut TglMulai dan Lokasi departemen. b) Ubah tipe data pada field Nama menjadi Varchar(30) c) Ubah nama field Nomor menjadi id_dept dengan tipe data varchar (5) d) Ubah nama tabel Departemen menjadi Dept e) Ubah kembali namatabel Dept menjadi Departemen f) Hapus field TglMulai pada tabel Departemen 2. Tambahkan Primary Key dan Foreign Key untuk tabel-tabel lain sesuai dengan ER- Diagram yang dibuat pada Modul 1. Page 25

MODUL V DML I (DATA MANIPULATION LANGUAGE) Tujuan : 1. Praktikan dapat memahami perintah DML 2. Praktikan dapat memahami dan memanipulasi data dalam database 1. Dasar Teori DML (Data Manipulation Language) adalah bahasa yang memungkinkan pengguna mengakses atau memanipulasi data seperti yang diatur oleh model data. Manipulasi data adalah : Pengambilan informasi yang disimpan dalam basisdata Penempatan informasi dalam basisdata Penghapusan informasi dari basisdata Modifikasi informasi yang disimpan dalam basisdata DML (Data Manipulation Language) merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 jenis DML, yaitu : Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya. Nonprosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya. Query adalah pernyataan yang meminta pengguna mengambil informasi. Bagian DML yang terlibat dalam pengambilan informasi disebut bahasa query. Istilah bahasa query sering disamakan dengan istilah bahasa manipulasi data. Sedangkan SQL adalah sebuah sintaks untuk mengeksekusi query 2. Kegiatan Praktikum Latihan 1 : Memasukkan Data ke dalam Tabel Pernyataan INSERT INTO digunakan untuk memasukkan data pada tabel. Perintah yang digunakan : INSERT INTO nama_tabel VALUES (nilai1, nilai2,...); Urutan nilai yang diletakkan dalam tanda kurung disesuaikan dengan urutan kolom dalam tabel. Akan tetapi kita bisa menentukan kolom-kolom yang akan diisi dengan data baru, yaitu : Page 26

INSERT INTO nama_tabel (kolom1, kolom2,...) VALUES (nilai1, nilai2,...); Kolom-kolom yang tidak disebutkan pada Insert secara otomatis akan diisi dengan Null dan kolom yang tidak disebutkan dalam Insert haruslah yang tidak Not Null. Tambahkan data ke dalam tabel Pegawai seperti perintah berikut : Latihan 2 : Pengubahan Data Pernyataan UPDATE digunakan untuk modifikasi data dalam tabel menggunakan perintah berikut : UPDATE nama_tabel SET nama_kolom = nilai_baru WHERE nama_kolom = nilai; SET digunakan untuk menentukan kolom yang akan diubah dan nilai penggantinya. WHERE digunakan untuk menentukan kondisi dari baris-baris yang akan diganti. Lakukan perintah berikut untuk mengubah data pegawai bernama Edi menjadi Eddie : Page 27

Latihan 3 : Menghapus data Pernyataan DELETE digunakan untuk menghapus baris pada tabel, perintah yang digunakan seperti berikut: DELETE FROM nama_tabel WHERE nama_kolom = nilai; Lakukan perintah berikut untuk menghapus data dari tabel pegawai dengan NoKTP = 1102 : Latihan 4 : Pernyataan SELECT Secara umum perintah SELECT hanya difungsikan untuk menampilkan data yang ada di dalam suatu tabel. Tetapi dalam pengembangannya, perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored procedures dan triggers. Struktur perintah Select seperti berikut : SELECT [DISTINCT] select_list FROM table_source [WHERE search_condition] ; 4.1 Memilih beberapa kolom dalam tabel Untuk memilih beberapa kolom gunakan perintah sebagai berikut : SELECT nama_kolom1, nama_kolom2,... FROM nama_tabel; Page 28

Lakukan perintah berikut untuk memilih Kolom NoKTP, NmDepan dan NmBlk dari tabel pegawai : Untuk memilih semua kolom dari tabel, dapat menuliskan tanda asterisk ( sesudah kata Select. Simbol * berarti semua kolom, seperti berikut : SELECT * FROM nama_tabel; Untuk menampilkan semua kolom pada tabel pegawai menggunakan perintah berikut : 4.2 Pernyataan Distinct Untuk memilih hanya nilai yang berbeda atau nilai data yang unik. Perintah SELECT DISTINCT berikut : SELECT DISTINCT nama_kolom FROM nama_tabel; Lakukan perintah dibawah berikut untuk membedakan penggunaan Distinct : Page 29

4.3. Klausa WHERE Klausa WHERE digunakan untuk menentukan kriteria seleksi. Untuk memilih data suatu tabel dengan kriteria tertentu, klausa WHERE dapat ditambahkan pada pernyataan SELECT. Perintah yang digunakan seperti berikut: SELECT nama_kolom FROM nama_tabel WHERE kolom operator nilai; Dengan klausa WHERE, operator berikut seperti tabel 5.1 berikut : Operato Keterangan = Sama dengan <> Tidak sama dengan > Lebih besar dari < Lebih kecil dari >= Lebih besar atau sama dengan <= Lebih kecil atau sama dengan BETWEEN Antara dua nilai LIKE Mencari suatu pola Page 30

Lakukan perintah berikut dengan menggunakan klausa Where untuk menampilkan data pegawai dengan NoKtp =1102: 44. Kondisi LIKE Kondisi LIKE digunakan untuk menentukan pencarian berdasarkan pola tertentu pada suatu kolom, perintah yang digunakan seperti berikut : SELECT nama_kolom FROM nama_tabel WHERE nama_kolom LIKE pola; Tanda % dapat digunakan untuk menentukan Wildcard (sembarang huruf), baik sebelum maupun sesudah pola. Perlu diingat operasi ini, hanya untuk pembandingan nilai bertipe string Lakukan perintah berikut untuk menampilkan nama depan pegawai yang dimulai dengan huruf B : Page 31

3. Tugas : Kerjakan dengan menggunakan perintah DML untuk : 1. mengubah data yang terdiri dari 2 atau lebih field dalam satu tabel, Misal; mengubah NmDepan = Eni, NmBlk= Wahyuni, alamat= Pekanbaru menjadi NmDepan = Endarti, NmBlk= Wardani, Alamat = Pelalawan. 2. Menampilkan data pegawai yang mempunyai alamat Pelalawan. 3. Menampilkan data pegawai yang memiliki gaji lebih besar dari 2000000. 4. Menampilkan data pegawai yang mempunyai alamat Pekanbaru dan mempunyai gaji lebih kecil dari 2000000. 5. Menampilkan NmDepan, NmBelakang, Alamat pegawai yang mempunyai alamat Pekanbaru atau Pelalawan. Page 32

MODUL VI DML II (DATA MANIPULATION LANGUAGE) Tujuan : 1. Praktikan dapat memahami perintah DML 2. Praktikan dapat memahami dan memanipulasi data dengan menggunakan perintah Select 1. Dasar teori Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam suatu tabel, yang mana dalam pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dalam modul V masih ada banyak perintah-perintah SELECT lain, antara lain perintah ALIAS, menampilkan data lebih dari 2 tabel, ORDER BY, GROUP BY, HAVING, fungsi agregate, dan beberapa perintah yang lain. SELECT [DISTINCT] select Jist FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC I DESC] Keterangan : SELECT, INTO, FROM, WHERE, GROUP BY, HAVING DAN ORDER BY -> kata kunci (keyword) yang hams disertakan jika kita membutuhkannya di dalam pengolahan data. selectjist, table_source, search_condition, group_by_expression, order_expression -> isian yang bisa kita ubah berdasarkan kebutuhan kita Kurung kotak [ ] -> bagian tersebut boleh disertakan atau tidak, tergantung dari kebutuhan Page 33

2. Kegiatan praktikum Latihan 1 : Pemberian nama lain (ALIAS) Perintah Select dapat dilakukan dengan memberikan nama lain atau alias yaitu dapat digunakan untuk memberikan alias pada nama_kolom dan nama_tabel. 1.1 Pemberian alias pada kolom Perintah untuk me SELECT nama_kolom AS nama_alias FROM namatabel; Atau SELECT nama_kolom nama_alias FROM nama_tabel; Lakukan perintah berikut untuk memberikan nama alias pada kolom Gaji menjadi Gaji Bersih : 1.2 Pemberian alias pada tabel Pemberian nama alias menggunakan perintah berikut SELECT nama_alias.nama_kolom FROM namatabel AS nama_alias; Atau SELECT nama_alias.nama_kolom FROM nama_tabel nama_alias Lakukan perintah berikut untuk memberikan alias Peg pada tabel pegawai : Page 34

Latihan 2 : Menampilkan data lebih dari dua tabel Perintah Select juga dapat dilakukan untuk beberapa tabel sekaligus dengan syarat bahwa tabel-tabel yang akan ditampilkan semua mempunyai relasi baik secara implisit maupun eksplisit. Perintah untuk menampilkan data lebih dari dua tabel seperti berikut : SELECT * FROM namatabel1, namatabel2, namatabel-n; Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat dari tabel pegawai dan Nama Departemen dari tabel departemen : Latihan 3 : Kondisi Where untuk relasi Jika kita mengambil informasi dari lebih dari sebuah tabel, maka kita perlu menambahkan kondisi untuk relasi antara kedua tabel tersebut. Untuk relasi kita harus memperhatikan kolom dari 2 atau lebih tabel yang mempunyai data yang sama. Jika ada nama field yang sama dari tabel yang disertakan, maka sebelum nama field, berikan nama tabel diikuti sebuah titik (.) Pada latihan 2, data yang ditampilkan seluruh pasangan baris data departemen di tiap baris pegawai, yang tentu saja bukan informasi yang benar. Maka supaya informasi akurat maka ditambah relasi dengan menggunakan kolom yang sama yaitu Departemen.NoKTP dan Pegawai.NoKTP. Page 35

Latihan 4 : Klausa Order By Klausa ORDER BY digunakan untuk mengurutkan data. Jika kita ingin menampilkan NmDepan,NmBlk,Alamat dan departemen berdasarkan urutan NmDepan secara ascending, maka perintah : Page 36

Latihan 5 : Operator IN Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai Kumpulan nilai bisa berupa: nilai-nilai yang diisikan query tunggal yaitu query yg hasilnya hanya terdapat sebuah kolom saja Perintah operator IN seperti berikut : SELECT nama_kolom FROM namajabel WHERE namajiolom NOT IN/IN (nilail, nilai2,...); Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat dari pegawai yang mempunyai alamat Pekanbaru dan Pelalawan : Page 37

Latihan 6 : Operator BETWEEN AND Operator BETWEEN AND memilih data antara dua nilai. Nilai dapat berupa angka, teks, atau tanggal, perintah yang digunakan sebagai berikut : SELECT nama_kolom FROM nama_tabel WHERE nama_kolom BETWEEN/NOT BETWEEN nilai1 AND nilai2; Lakukan perintah berikut untuk menampilkan data tanggungan yang mempunyai tahun kelahiran dari tahun 2010 sampai 2015 : Latihan 7 : Fungsi Aggregate (COUNT, SUM, AVG, MIN dan MAX) Fungsi aggregate merupakan fungsi-fungsi yang digunakan untuk melakukan perhitungan statistikal dalam tabel. Secara umum, hanya field yang bertipe numerik (int, money dan sejenisnya) yang bisa dikenakan fungsi ini. SQL menyediakan sejumlah fungsi yang dapat digunakan pada SELECT seperti tabel 6.1 berikut : Page 38

7.1 COUNT Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Perintah berikut digunakan untuk menghitung jumlah data pada tabel pegawai dengan menggunakan kolom NoKTP : 7.2 SUM Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Perintah berikut digunakan untuk menghitung jumlah nilai kolom gaji pada tabel pegawai : 7.3 AVG Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada tabel. Perintah berikut digunakan untuk menghitung rata-rata dari kolom Gaji pada tabel pegawai : Page 39

7.4 MIN Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel. Perintah berikut digunakan untuk menampilkan nilai terkecil dari kolom gaji pada tabel pegawai : 7.5 MAX Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada tabel. Perintah berikut digunakan untuk menampilkan nilai terbesar dari kolom Gaji pada tabel pegawai : Page 40

Latihan 8 : Klausa GROUP BY Hasil dari Select juga dapat dikelompokkan dengan menambahkan klausa GROUP BY. Perintah yang digunakan sebagai berikut : SELECT nama_kolom, COUNT (nama_kolom) FROM nama_tabel GROUP BY nama_kolom; Perintah berikut digunakan untuk menampilkan jumlah pegawai berdasarkan alamat kotanya : Latihan 9 : HAVING Klausa HAVING disediakan untuk mendukung klausa GROUP BY. Kegunaannya adalah untuk menentukan kondisi bagi GROUP BY. Kelompok yang memenuhi kondisi HAVING saja yang akan dihasilkan. Perintah yang digunakan sebagai berikut : SELECT nama_kolom, COUNT (nama_kolom) FROM nama_tabel GROUP BY nama_kolom HAVING COUNT (nama_kolom) kondisi nilai; Lakukan perintah berikut untuk menampilkan NoKTP, NmDepan, NmBlk, Alamat dan jumlah tanggungan yang dimiliki pegawai lebih dari 1 tanggungan: Page 41

3. Tugas : 1. Perhatikan latihan 4 tentang penggunaan klausa Order By, jika data NmDepan, NmBlk,Alamat dan nama departemen diurutkan berdasarkan NmDepan secara Descending dan Alamat berdasarkan ascending. 2. Tampilkan NmDepan, NmBlk dan Alamat pegawai yang alamatnya bukan Pekanbaru dan Pelalawan. 3. Tampilkan NmDepan, NmBelakang dari pegawai yang menjadi pimpinan untuk masing-masing departemen. 4. Tampilkan Nomor, nama departemen dan jumlah pegawai untuk masing-masing departemen. 5. Tampilkan data pegawai yang mempunyai tidak mempunyai tanggungan. 6. Tampilkan data tanggungan yang tahun lahir diluar 2010 sampai 2015. 7. Tampilkan jumlah pegawai yang mempunyai alamat Pelalawan 8. Tampilkan NoKTP,NmDepan,NmBlk, Alamat dan Jumlah tanggungan untuk masingmasing pegawai. Page 42

MODUL VII DML III (DATA MANIPULATION LANGUAGE) Tujuan : Praktikan dapat memahami dan memanipulasi data dalam database dengan lebih luas lagi. 1. Dasar teori Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam suatu tabel, yang mana dalam pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dalam modul V dan VI, masih ada banyak perintah-perintah SELECT lain yang lebih luas lagi dalam penggunaan perintah SELECT. 2. Kegiatan praktikum 1. Membuat Database pergudangan, yang terdiri dari 6 tabel yaitu pelanggan, pesan, barang, karyawan, stok dan transaksi. 2. Buat table barang dan karyawan Page 43

3. Buat Tabel Pelanggan 4. Buat Tabel STOK 5. Buat table pesan dan transaksi seperti di bawah ini Page 44

6. Dari semua table di atas, inputkan data masing-masing 5 data, contoh : 7. JOIN dan KUNCI Terkadang kita harus memilih data dari dua tabel atau lebih untuk mendapatkan hasil yang komplit. Oleh karena itu, kita harus melakukan sebuah JOIN. Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabeltabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel yang berbeda. Tabel-tabel dalam sebuah basisdata dapat dihubungkan satu sama lain menggunakan kunci. Kunci utama adalah sebuah kolom dengan nilai unik untuk masing-masing baris. Tujuannya adalah menggabungkan data antar tabel tanpa mengulangi semua data pada setiap tabel. Kita bisa menggunakan kata kunci JOIN untuk memilih data. Ada tiga macam kunci JOIN, yaitu INNER JOIN, LEFT Page 45

JOIN, dan RIGHT JOIN. 8. Inner join inner join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat di belakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapat pasangan data dari tabel sebelah kanan. Sintaks untuk INNER JOIN : SELECT field1, field2, FROM tabel1 INNER JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing 9. 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. Sintaks untuk LEFT JOIN : SELECT field1, field2, FROM tabel1 LEFT JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing 10. Right join Sintaks untuk RIGHT JOIN : SELECT field1, field2, FROM tabel1 RIGHT JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing 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. Page 46

11. Natural join Natural join digunakan untuk menampilkan data dari dua tabel yang berisi data. 12. Operator ANY Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE. 13. Operator ALL 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. Page 47

14. 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. 15. 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 masing-masing 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 yang bisa diperdalam di bagian Nested Queries. 16. 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 yang bisa diperdalam di bagian Nested Queries Page 48

3. Tugas Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masingmasing perintah DML berikut : 1. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua tabel dan tiga tabel dengan menggunakan perintah JOIN. 2. Buatlah perintah SQL yang menggunakan UNION, INTERSECT, dan EXCEPT. 3. Buatlah perintah SQL yang menggunakan operator comparison ANY dan ALL. Page 49

MODUL VIII VIEW 1 Tujuan : Membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana. 1. Teori View adalah query SELECT yang disimpan dalam database untuk menampilkan data dari satu atau beberapa table. View juga disebut sebagai table virtual yang digunakan untuk membungkus suatu query SELECT yang kompleks menjadi lebih sederhana. Data-data yang termasuk kategori rahasia dapat diamankan dengan menggunakan view. Kegunaan view antara lain: 1. Fokus pada data atau tabel tertentu 2. Penyederhanaan manipulasi data 3. Menyesuaikan data dengan kebutuhan user 4. Export dan impor data 5. Mengkombinasikan data terpartisi Syntax CREATE VIEW view_name AS select_statement 2. Kegiatan praktikum Sebelum query SELECT yang akan disimpan ke dalam view. Penamaan view memiliki aturan yang sama dengan penamaan table. Nama view harus unik artinya nama view tidak diperkenankan sama dengan nama view yang sudah ada sebelumnya. Pesan di atas akan tampil jika terjadi pembuatan view dengan menggunakan nama yang sama dengan nama view yang lain. Nama kolom dari base table bisa diubah menjadi nama lain saat disimpan ke dalam view dengan menggunakan COLUMN ALIAS Page 50

3. Tugas Buat tabel-tabel berikut ini : 1. Tabel Artikel dengan struktur Field Type Null Key Default Extra JudulArtikel Varchar (100) No Author Varchar (50) YES NULL Bidang Varchar (50) No Isi text No View Tinyint (4) Yes NULL Tanggal Date No 0000-00-00 Link Varchar (200) No id Bigint (20) No PRI NULL auto_increment 2. Tabel guestbook dengan struktur Field Type Null Key Default Extra tanggal Date No 0000-00-00 Nama Varchar (100) No Email Varchar (100) No Umur int Yes NULL Alamat Varchar (100) Yes NULL Pesan text Yes NULL id Bigint (20) No PRI NULL auto_increment 3. Tabel Materi dengan struktur Field Type Null Key Default Extra From Varchar (100) No Judul Varchar (200) No Bidang Varchar (50) No Isi Text No Link Varchar (200) No id Bigint (20) No PRI NULL auto_increment Page 51

4. Insert data pada masing-masing tabel 5. Tampilkan data judulartikel, author dan tanggal dari tabel artikel 6. Buat View dengan nama V_artikel1 untuk menampilkan data pada soal no 5 7. Tampilkan semua data pada tabel v_artikel1 Jadi bisa anda lihat bahwa pada soal nomor 5 dan 7 mempunyai hasil yang sama, sehingga dapat di simpulkan bahwa view dapat menampilkan kembali data yang sama dengan lebih sederhana, dapat digunakan untuk mengerjakan query yang tidak mungkin diselesaikan dengan cara biasa, view dapat digunakan untuk menyimpan data rahasia karena tidak muncul pada database awal. 8. Buatkan view artikel2 untuk menampilkan judulartikel, author dan tanggal, id yang mempunyai bidang pemograman dan analisa sistem 9. Buatkan view guest1 untuk menampilkan semua data yang namanya diawali dengan ahmad, kemudian ganti namaauthor menjadi pengarang. 10. Buatkan view guest2 untuk menampilkan semua data yang namanya kemudian ganti namaauthor menjadi pengarang. 11. Buatkan view materi untuk menampilkan semua data yang namanya kemudian ganti namaauthor menjadi pengarang. Page 52

3. Tugas 1. Dari praktikum diatas, berikan kesimpulannya. 2. Buat table film dan jenis film dengan tampilan sebagai berikut jika hasilnya diselect : 4. Isi tabel jenisfilm : 5. Isi tabel film : 6. Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm dan film : a. Buat perintah view untuk : b. Mengurutkan data film berdasarkan kolom judul, gunakan order by dan simpan dengan v_film1 c. Menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tidak tercantum pada tabel film, gunakan NOT IN / not exist dan simpan dengan nama v_film2 d. Menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tercantum pada tabel film menggunakan IN / exist dan simpan dengan nama v_film3 e. Manampilkan kolom jenis dan digabungkan dengan SUM(jml_film) yang dikelompokkan berdasarkan kolom jenis pada tabel film dan simpan dengan nama v_film4 f. Menampilkan kolom judul dari tabel film dan kolom harga dari tabel jenisfilm(gunakan Operasi Join) dan simpan dengan nama v_film5 Page 53

MODUL IX VIEW II Tujuan : Membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana. 1. Teori View View dalam sql juga merupakan suatu table yang diturunkan dari table yang lain. Table ini bias berupa table dasar dari yang didefinisikan sebelumnya.suatu view yang tidak perlu dalam bentuk fisiknya, bias berupa table bayangan (virtual table), sehingga table dasar yang mempunyai tupel-tupel pada dasarnya tersimpan dalam database. Pembatasan ini memungkinkan untuk mengupdate operasi yang bias digunakan dalam view, tetapi tidak membatasi dalam view queri. Menghapus View Queri yang sama juga bias didapatkan dengan menentukan dua hubungan yang telah ada dalam relasi dasarnya, keuntungan utama view tersebut adalah untuk menyederhanakan ketentuan tentang queri yang diperlukan, dan juga bias digunakan untuk perangkat keamanan data. Suatu view dari queri selalu menampilkan data yang terbaru, sebagai contoh bila kita memodifikasi sebagaian tupel dalam table dasarnya dimana view tersebut didefinisikan, maka secara otomatis akan berpengaruh pada view di queri Jika tidak membutuhkan penampakan queri lagi, kita bisa menggunakan perintah DROP VIEW untuk menghapusnya. syntax : DROP VIEW (nama view) Mengupdate view dan Implementasi view Mengupdate view merupakan suatu hal yang kompleks. Secara umum suatu update dari suatu view didefinisikan pada suatu table tunggal tanpa fungsi-fungsi pendukung (aggregate) yang bias dimapping kedalam suatu table dasar pembentuknya dengan berbagai cara. Topic tentang update view ini masih terus diuji coba. Untuk menggambarkan masalah yang potensial dengan mengupdate view yang telah didefinisikan dalam beberapa table, misal table Work_ON1 dan mendukung perintah Page 54