• Tidak ada hasil yang ditemukan

MODUL PRAKTIKUM SISTEM BASIS DATA II. Disusun Oleh : Tim Dosen Kaputama STMIK KAPUTAMA BINJAI

N/A
N/A
Protected

Academic year: 2022

Membagikan "MODUL PRAKTIKUM SISTEM BASIS DATA II. Disusun Oleh : Tim Dosen Kaputama STMIK KAPUTAMA BINJAI"

Copied!
104
0
0

Teks penuh

(1)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(2)

SISTEEM BASIS DATA II

(SQL SERVER)

Yani Maulita, M.Kom

PENGENALAN SQL SREVER

(3)

Praktikum Sistem Basis Data II

PERTEMUAN I (2 x 50 menit) 3.. Tujuan:

Setelah mengikuti modul ini, mahasiswa diharapkan mampu mengidentifikasi manfaat dari tool system pengelola basis data.

3.. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

PENGENALAN SQL SERVER

Microsoft SQL Server adalah sistem manajemen database relasional yang dikembangkan oleh Microsoft. Sebagai database, Microsoft SQL Server adalah produk software yang fungsi utamanya adalah untuk menyimpan dan mengambil data seperti yang diminta oleh aplikasi perangkat lunak lain, baik localhost atau pada komputer yang sama maupun melalui jaringan (pada komputer lain dalam jaringan, termasuk jarigan internet). Banyak edisi yang berbeda dari Microsoft SQL Server ditujukan untuk penggu yang berbeda dan untuk beban kerja yang berbeda pula (mulai dari aplikasi kecil yang menyimpan dan mengambil data di komputer yang sama ataupun untuk jutaan pengguna dan komputer yang mengakses data dalam jumlah besar dari Internet pada waktu yang sama).

Fitur baru SQL Server 2012 dan perangkat tambahan termasuk AlwaysOn SQL Contoh Cluster Server Failover dan Kelompok Ketersediaan yang menyediakan satu set pilihan untuk meningkatkan ketersediaan database, Contained Database yang menyederhanakan bergerak dari database antar instansi, baru dan dimodifikasi Views Manajemen Dinamis dan Fungsi , programabilitas perangkat tambahan termasuk fitur baru Spasial, penemuan Metadata, obyek urutan dan pernyataan throw, peningkatan kinerja seperti Indeks ColumnStore serta perbaikan operasi tingkat OnLine dan Partisi, peningkatan keamanan dan termasuk Provisioning Selama Pengaturan , baru perizinan, peran perbaikan manajemen dan tugas standar skema untuk kelompok.

Beberapa fitur dalam Microsoft SQL Server 2012

a. Columnstore Indexes, Ini fitur baru yang bagus dan yang benar-benar unik untuk SQL Server.

Fitur ini dirancang untuk penggunaan dengan sistem permintaan pada pusat penyimpanan data.

b. Kinerja super cepat. Lebih efektif mengatur kinerja dalam lingkungan multi- tenancy seperti cloud computing.

(4)

Praktikum Sistem Basis Data II

c. BI semanctic model, fitur ini ada untuk menggantikan fitur Analysis Services Unified

Dimensional Model. Sistem ini mengimplementasikan hybrid model yang memungkinkan satu data model akan mendukung semua proses BI di SQL Server.

3.2. Arsitektur Microsoft SQL Server 2012

Pada arsitektur Microsoft SQL Server 2012 memiliki tiga macam bagian yang diantaranya meliputi :

a. Services

Beberapa layanan dari SQL Server 2012 :

§ SQL Server database engine 2012, yang bertanggung jawab untuk melaksanakan perintah yang disampaikan dalam Transact-SQL, ORT-SQL, bahasa, manajemen database, memori dan alokasi disk, dan fitur inti lainnya dari SQL Server.

§ SQL Server Agent, yang bertanggung jawab untuk melaksanakan pekerjaan dijadwalkan, pemantauan sistem untuk kondisi waspada didefinisikan, dan tugas- tugas administrasi lainnya.

§ Business Intelligence Components (Komponen Intelijen Bisnis), termasuk SQL Server Reporting Services, SQL Server Analysis Services, dan SQL Server Integration Services.

b. Instances

Unit dasar instalasi dan Program eksekusi untuk SQL Server adalah Instances. Instances merupakan salinan dari program SQLServer.exe, yang berjalan pada layanan Windows. Sebuah Instances mewakuli program dan alokasi sumber daya yang mendukung sebuah salinan dari SQL Server yang sedang berjalan pada komputer, seperti memory, konfigurasi file, dan CPU. Setiap Instances terisolasi dari instaces lain pada komputer yang sama, termasuk file disk yang digunaka, izizn keamanan, dan sumber daya yang dialokasikan. Sebuah contoh mewakili program dan alokasi sumber daya yang mendukung satu salinan SQL Server yang berjalan pada komputer, seperti memori, file konfigurasi, dan CPU.

c. Tools

Bekerja dengan SQL Server Management Studio, atau yang bisas disebut dengan SSMS dimana SSMS adalah manajemen terpadu, yang memiliki pengembangan, dan penerapan query dengan banyak fitur untuk menjelajahi dan bekerja dengan database. Berikut fitur dari Microsoft SQL Server 2012 : Ø SQL Server Pusat Instalasi, yang menyediakan kemampuan untuk menambah, menghapus, dan

memodifikasi fitur program SQL Server.

Ø SQL Server Configuration Manager, yang sementara terutama alat untuk administrator, jugatermasuk fitur yang berguna untuk mengelola software SQL Server diinstal pada mesin klien, seperti kemampuan untuk membuat dan mengelola alias untuk SQL Server.

Ø SQLCMD, klien baris perintah yang memungkinkan Anda untuk mengirimkan T- perintah SQL sebagai alternatif menggunakan aplikasi grafis SSMS. Server Pusat Instalasi SQL, yang menyediakan kemampuan untuk menambah, menghapus, dan memodifikasi fitur program SQL Server, jika memiliki izin untuk melakukannya.

(5)

Praktikum Sistem Basis Data II

3.. Kegiatan Praktikum Latihan 1

3. Untuk pembuatan database kita akan menggunakan program MICROSOFT SQL SERVER 2008 R2

3. Klik connect, untuk masuk ke dalam aplikasi.

3. Setelah connect, maka akan muncul tampilan seperti berikut.

Selanjutnya kita akan membuat database

(6)

Praktikum Sistem Basis Data II

2. Latihan 2 PEMBUATAN DATABASE

Database mengandung objek-objek yang digunakan untuk mewakili, menyimpan dan mengakses data.

Pengertian database dalam MS SQL Server adalah kumpulan tabel, view, trigger, store procedure dan objek-objek lainnya.

Langkah-langkah untuk membuat database

1. Klik kanan pada bagian Database, pilih menu New Database …

2. Isi pada bagian Database name : misal KARYAWAN. Secara default, akan dibuatkan dua buah file Karyawan.mdf (master data file) dan Karyawan_log.ldf (log data file).

3. Beberapa bisa kita atur : FileType (jenis file Data atau Log), Initial Size (ukuran awal file data), Autogrowth (pengaturan pertumbuhan data), Path (letak file data). Biarkan jika ingin menggunakan default.

4. Tekan OK, jika database akan dibuat oleh system.

(7)

Praktikum Sistem Basis Data II

3. Latihan 3 Merancang Tabel, Field (Colomn), Primary Key

Setelah Database dibentuk, maka langkah pertama adalah membuat table. Tabel ini digunakan untuk menyimpan data-data yang sejenis misal data karyawan disimpan pada table tbkaryawan, data gaji karyawan disimpan di tbgaji.

Langkah-langkah untuk membuat tbkaryawan :

1. Klik kanan pada Tables, yang terdapat pada database DBbKaryawan, pilih menu New Table..

2. Buat Colomn Name (Field), dengan Data Type berikut :

3. Tambahkan Primary Key pada NIK, dengan menekan tombol Primary Key 4. Setelah semua colomn dibuat, simpan table dengan nama tbkaryawan

4. Tugas Praktikum

1. Buatlah Database di Sql Server

2. Klik Kanan Database buat table dibawah ini

A. table MsMataKuliah

(8)

Praktikum Sistem Basis Data II

KdMtk char(5) primary key NmMtk varchar(30)

SKS numeric B. table MsDosen

KdDosen char(5) primary key Nama varchar(30)

Alamat varchar(30) Telp varchar(15) Email varchar(20) Gaji numeric C. table MsAssistant

KdAst char(2) primary key Nama varchar(30)

Alamat varchar(30) Telp varchar(15) Email varchar(50) Gaji numeric

D. table MsMahasiswa

NIM char(10) primary key Nama varchar(30)

Alamat varchar(30) Telp varchar(15) Email varchar(50) Jurusan varchar(30)

3.

Tambahkan 1 tabel lainnya.

(9)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(10)

SISTEM BASIS DATA II

(SQL SERVER)

Yani Maulita, M.Kom

TIPE DATA & RELASI ANTAR TABEL SQL SERVER

(11)

Praktikum Sistem Basis Data II

PERTEMUAN II (2 x 50 menit) 1. Tujuan:

Setelah mengikuti modul ini, mahasiswa diharapkan mampu:

a. Mengidentifikasi manfaat dari menu GUI pada SQL Management Studio

b. mahasiswa diharapkan mampu mengidentifikasi manfaat dari menu GUI pada SQL Management Studio.

2. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

TIPE DATA DAN RELASI ANTAR TABEL SQL SERVER

Berbagai Tipe Data

Ada beberapa tipe data yang dapat digunakan pada kedua table tersebut, yaitu : Tipe Data

Integer Keterangan

Bit Integer dengan nilai 0 atau 1

Int Nilai integer dengan nilai antara -2^31 atau (-

2.147.483.648) sampai 2^31-1 atau (+2.147.384.647) Decimal atau Numeric Angka antara -10^38-1 sampai 10^38-1

Money Nilai yang berhubungan dengan mata uang dari -2^63( - 922.377.203.685.477,5808) sampai 2^63-

1(922.377.203.685.477,5807) Float -214.748,3648 sampai 1.79E+308

Real -3.40E+308 sampai 3.40E+38

DateTime 1 Januari 1973 sampai 31 Desember 9999

SmallDateTime 1 Januari 1900 sampai 6 juni 2079, dengan ketelitian hingga 1 menit

(12)

Praktikum Sistem Basis Data II

String Keterangan

Char Jumlah karakter tetap dengan ukuran maksimal 8000 karakter

Varchar Jumlah karakter variabel dengan ukuran maksimal 8000 karakter

Text Jumlah karakter variabel dengan ukuran maksimal 2.147.483.647 karakter

Unicode String Keterangan

NChar Jumlah karakter tetap dengan ukuran maksimal 4000 karakter

NVarchar Jumlah karakter variabel dengan ukuran maksimal 4000 karakter

NText Jumlah karakter variabel dengan ukuran maksimal 1.073.741.823 karakter

Binary String Keterangan

Binary Jumlah biner tetap dengan ukuran maksimal 8000 bytes Varbinary Jumlah biner variabel dengan ukuran maksimal 8000 bytes Image Jumlah karakter variabel dengan ukuran maksimal

2.147.483.647 bytes

Catatan untuk NIK, Telepon sebaiknya menggunakan tipe data string, jangan menggunakan tipe data numeric, karena numeric tidak bisa diawali angka 0.

Table merupakan tempat penyimpanan data pada RDBMS dalam bentuk kolom dan row. Primary key merupakan unik key yang digunakan untuk mengidentifikasi row pada kolom. Foreign Key merupakan key kolom yang mereferensikan Primary Key pada Table lain. Foreign Key ini digunakan untuk mejaga integritas data. Salah satu hal yang membedakan Primary Key dan Foreign Key, pada Foreign Key diperbolehkan bernilai null sedangkan Primary Key tidak.

3. Kegiatan Praktikum

Latihan 1

1. Klik kanan pada Tables, yang terdapat pada database DBbKaryawan, pilih menu New Table..

(13)

Praktikum Sistem Basis Data II

2. Buat Colomn Name (Field), dengan Data Type berikut :

3. Tambahkan Primary Key pada NIK, dengan menekan tombol Primary Key 4. Setelah semua colomn dibuat, simpan table dengan nama tbkaryawan

5. Untuk mengisi table menggunakan GUI, caranya klik kanan pada Table lalu pilih Edit. Kemudian masukkan data-datanya (2 data setiap table).

Latihan 2. Membuat Relasi Antar Tabel (Database Diagram)

Untuk menjaga integritas data, antar table perlu dibuat relasi antar table. Salah satu table yang menjadi masternya harus memiliki Primary Key, sedangkan table detilnya akan dibuatkan secara otomatis Foreign Key.

Langkah-langkah pembuatan Database Diagram, yaitu :

1. Pada Database diagrams, klik kanan pilih menu New Diagram... (jika tidak bisa dibuat diagramnya, pastikan role anda sebagai NTAutority, pilih di menu Database-Properties) 2. Kemudian pilih table-tabel yang akan dibuat relasinya.

3. Lakukan drag pada Primary Key (disini NIP yang ada di tbKaryawan), geser hingga NIP yang ada di tbgaji. Tekan OK untuk membuat relasinya.

(14)

Praktikum Sistem Basis Data II

Latihan 3. Mengisi Tabel

Setelah table dan relasi dibentuk, kita siap untuk mengisi data pada kedua table tersebut. Gunakan Open Table dengan cara klik kana pada table yang akan diisi.

(15)

Praktikum Sistem Basis Data II

Isikan data-data pada table tbkaryawan, untuk TGLLAHIR gunakan format mm/dd/yyyy dan pastikan NIK tidak boleh ada yang sama (karenan NIK adalah Primary Key).

Isikan pula data pada tbgaji, NIK harus terdaftar di tbkaryawan (karena sudah dibuat relasi antar table, jadi integritas data terjaga).

Latihan 4 Detach dan Attach Database

1. Simpanlah database menggunakan detach seperti dibawah ini, kemudian hapus database di sql server

Jika suatu waktu anda ingin memindahkan Database pada komputer lain, dapat dilakukan dengan melepas database (Detach Database) tsb pada server ini. Kemudian salin file .mdf dan .ldf tsb ke server lain. Setelah itu lakukan Attach Database (menarik file data tsb untuk dikelola oleh server).

(16)

Praktikum Sistem Basis Data II

2. Kemudian klik attach untuk menggembalikan databse seperti semula. Harus diingat nama database yang sudah kita simpan dan kita hapus harus sesuai

(17)

Praktikum Sistem Basis Data II

4. Tugas Praktikum

1. Buat Tabel diatas di non query A. TABLE MsJenisObat

id_jenis_obat char (10) primary key not null JenisObat varchar (50)

B. TABLE MsObat

id_obat char (10) primary key not null, id_jenis_obat char (10)

NamaObat varchar (50) Harga numeric

Stok int

TanggalKadaluarsa datetime C. TABLE MsJabatan

id_jabatan char (10) primary key not null, jabatan char (30)

gaji numeric

D. TABLE MsKaryawan

id_karyawan char(10) primary key not null id_jabatan char(10)

NamaKaryawan varchar(50) AlamatKaryawan varchar(50) telp varchar(20)

email varchar(20) 2. Buat setiap table 5 record

3. Relasikan setiap sesuai dengan colomn (field) yang sama pada table.

(18)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(19)

SISTEM BASIS DATA II

(SQL SERVER)

Yani Maulita, M.Kom

DATA DEFINTION LANGUAGE (DDL)

(20)

Praktikum Sistem Basis Data II

PERTEMUAN III (2 x 50 menit) 1. Tujuan:

Setelah mengikuti modul ini, mahasiswa diharapkan mampu :

a. Mengimplementasikan bahasa DDL dalam membuat merubah, ataupun menghapus Objek Database.

b. Menggunakan Query (Transact-SQL)

2. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

DATA DEFINITION LANGUAGE (DDL)

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

Satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data.Hasil kompilasi dari DDL adalah satu set tabel yang disimpan dalam file khusus yang disebut Data Directory/Dictionary.Secara umum perintah perintah dalam DDL berhubungan dengan operasi-operasi dasar seperti membuat basis data baru, menghapus basis data, membuat table baru, menghapus table, membuat index, mengubah struktur table.

1. Membuat Database

Syntax : CREATE DATABASE namadatabase;

namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar database. .

kalau sudah ada databasenya tinggal menggunakannya yaitu syntaxnya:

use nama database;

contoh: use sbd2;

2. Membuat Tabel

(21)

Praktikum Sistem Basis Data II

ž 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 namatabel2

ž (

ž Field1 TipeData1,

ž Field2 TipeData2

ž );

3. Menghapus DataBase

Syntax : DROP DATABASE namadatabase;

Database yang akan dihapus sesuai dengan namadatabase Drop yaitu: menghapus objek dalam database

4. Menghapus Tabel

Syntax : DROP TABLE namatabel;

Tabel yang akan dihapus sesuai dengan nama tabel.

5. Menghapus Kolom

Syntax : Alter Table Namatabel drop column namakolom/field 6. Mendefinisikan Primary Key Pada Tabel

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

CREATE TABLE namatabel (

Field1 TipeData1 NOT NULL PRIMARY KEY, Field2 TipeData2

);

Atau

7. Menghapus Primary Key Pada Tabel

ž Jika primary key dibuat dengan menggunakan alter table :

ALTER TABLE namatabel DROP CONSTRAINT namaconstraint

8. Alter yaitu : Mengubah struktur dari suatu objek dalam database.

Syntax : ALTER TABLE namatabel ADD fieldbaru tipe;

ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY

(22)

Praktikum Sistem Basis Data II

KEY (namakolom)

3. Kegiatan Praktikum

A. Membuat Tabel dengan Perintah SQL

Cara lain selain cara visual untuk membuat table pada SQL SERVER kita dapat menggunakan perintah SQL.

Langkah-langkah pembuatan tabel adalah sebagai berikut : Buka Enterprise Manager.

Buka Database yang sudah dibuat, misal dbperkuliahan.

Klik di Menu Tools> Klik New Query

Setelah Query Analyzer terbuka, masukan perintah SQL untuk membuat tabel Mahasiswa seperti dibawah ini.

1. Latihan 1

create table Mahasiswa ( NIM char(8),

Tahun_Ajaran char(4), Kode_Jurusan char(5), Nama varchar(50),

Tempat_Lahir varchar(50), Tanggal_Lahir datetime, Alamat varchar(150),

(23)

Praktikum Sistem Basis Data II

Kota varchar(50),

No_Telepon varchar(12) );

Klik (Parse Query atau Ctrl+F5) untuk mengecek penulisan perintah query, jika tidak ada pesan kesalahan klik (Execute Query atau F5) untuk mengeksekusi perintah query. Apabila tampil pesan“The Command(s) completed succesfully” maka tabel sudah berhasil dibuat.

B. Merubah Struktur Table menggunakan Perintah SQL - Menambah Kolom Pada Tabel

Perintah query menambah kolom adalah : 2. Latihan 2

alter table Mahasiswa add Status_Mahasiswa char(12);

- Merubah field/Type Data Kolom Pada Tabel

Perintah query untuk mengubah type data suatu tabel (misal mengubah tipe data Status_Mahasiswa dari char(12) menjadi varchar(12)) yaitu:

3. Latihan 3

alter table Mahasiswa alter column Status_Mahasiswa varchar(12);

atau merubah atribut/field (column)

alter table Mahasiswa alter column status char(12);

- Menghapus Kolom Pada Tabel

Jika karena suatu kolom tidak diperlukan dan akan dihilangkan dari suatu tabel dikarenakan sesuatu hal maka perintah query untuk menghapus kolom tersebut yaitu:

1. Latihan 4

alter table Mahasiswa drop column Status_Mahasiswa;

- Menambah Constraint Primary Key Pada Kolom

(24)

Praktikum Sistem Basis Data II

Perintah query untuk menambah constraint Primary Key pada kolom suatu tabel adalah:

2. Latihan 5

alter table Mahasiswa add constraint pk_Mahasiswa primary key(NIM);

Kolom yang akan dijadikan sebagai primary key harus dalam keadaan not null (tidak boleh kosong).

- Menambah Constraint Primary Key Pada Kolom Suatu Tabel

Kolom yang akan dijadikan sebagai primary key harus dalam keadaan not null (tidak boleh kosong).

Jadi jika kolom yang akan dijadikan primary key tidak dalam keadaan not null (boleh kosong) harus di ubah menjadi not null.

3. Latihan 6

alter table Mahasiswa alter column NIM char(8) not null;

Perintah query untuk menambah constraint Primary Key pada kolom suatu tabel adalah:

4. Latuhan 7

alter table Mahasiswa add constraint pk_Mahasiswa primary key(NIM);

- Menambah Constraint Foreign Key Pada Kolom Suatu Tabel

Misalkan, tabel Mahasiswa mereferensi ke tabel jurusan pada kolom Kode_Jurusan.

Maka perintah query untuk menghubungkannya adalah : 5. Latihan 8

alter table Mahasiswa add constraint fk_Mahasiswa_ref_jurusan foreign key (Kode_Jurusan) references Jurusan(Kode_Jurusan);

- Menambah Constraint Pada Kolom Suatu Tabel Perintah query untuk menghapus constraint adalah :

6. Latihan 9

alter table Mahasiswa drop constraint fk_Mahasiswa_ref_jurusan;

- Menghapus Tabel Dengan Perintah SQL

(25)

Praktikum Sistem Basis Data II

Perintah query untuk menghapus suatu tabel adalah:

7. Latihan 10 Drop table Mahasiswa;

Tugas Praktikum

1. Klik New Query

2. Buat Table dibawah ini create Table Artikel(

Id_artikel char(5) not null, JudulArtikel varchar(100), Author varchar(50), Bidang varchar(50), Isi text,

Tanggal datetime, Link varchar(200));

create Table GuestBook(

id_guestbook char(5) not null, Id_artikel char(5) not null,

tanggal varchar(12), nama varchar(100), Email varchar(100), Umur char(3),

Alamat varchar(100), Pesan text);

(26)

Praktikum Sistem Basis Data II

create Table Buku(

id_materi char(5) not null , id_guestbook char(5) not null, Nama varchar(100) ,

Judul varchar(200) , Bidang varchar(50) , Isi text ,

Link varchar(100) );

3. Tambahkan setiap table 2 field atau kolom dengan menggunakan alter

4. Tambahkan setiap table primary key dan foreign key menggunakan alterdimasing-masing table 5. Ubahlah 1 field pada setiap table.

6. Hapus kolom (field) di salah satu table

(27)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(28)

SISTEM BASIS DATA II

(SQL SERVER)

Yani Maulita, M.Kom

DATA MANIPULATION LANGUAGE (DML)

(29)

Praktikum Sistem Basis Data II

PERTEMUAN IV (2 x 50 menit) 1. Tujuan:

a. Mahasiswa dapat memahami perintah DML

b. PMahasiswa dapat memahami dan memanipulasi data dalam databas

2. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

DATA MANIPULATION LANGUAGE (DML)

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

3. 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 kolom3kolom yang akan diisi dengan data baru, yaitu : INSERT INTO nama_tabel (kolom1, kolom2, ...) VALUES (nilai1, nilai2, ...);

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

(30)

Praktikum Sistem Basis Data II

Latihan 2 : Pengubahan Data

Pernyataan UPDATE digunakan untuk modifikasi data dalam tabel menggunakan perintah berikut :

Update where kondisi

UPDATE nama_tabel SET nama_kolom = nilai_baru WHERE nama_kolom = nilai;

Update pegawai set nama_pegawai = Bedu where nip=001

SET digunakan untuk menentukan kolom yang akan diubah dan nilai penggantinya. WHERE digunakan untuk menentukan kondisi dari baris3baris yang akan diganti.

Lakukan perintah berikut untuk mengubah data pegawai bernama ‘Edi’ menjadi ‘Eddie’ ;

Update keseluruhan : update nama_tabel set nama_kolom; update pegawai set nama_pegawai =001 Latihan 3 : Menghapus data

Pernyataan DELETE digunakan untuk menghapus baris pada tabel, perintah yang digunakan seperti berikut:

Delete where kondisi

DELETE FROM nama_tabel WHERE nama_kolom = nilai;

Lakukan perintah berikut untuk menghapus data dari tabel pegawai dengan NoKTP = ‘1102’:

Delete keseluruhan = delete from nama_tabel=

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.1Memilih beberapa kolom dalam tabel

Untuk memilih beberapa kolom gunakan perintah sebagai berikut : SELECT nama_kolom1, nama_kolom2, ... FROM nama_tabel;

Lakukan perintah berikut untuk memilih Kolom NoKTP, NmDepan dan NmBlk daritabel 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 : 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

(31)

Praktikum Sistem Basis Data II

FROM nama_tabel

WHERE kolom operator nilai;

Dengan klausa WHERE, operator berikut seperti tabel 5.1 berikut :

4. Tugas Praktikum 1. Buatlah table dibawah ini :

A. Tabel Golongan create table golongan(

golongan char(1) primary key not null, tunjangan_golongan int);

B. Tabel Jabatan create table jabatan(

jabatan varchar(20), tunjangan_jabatan int, tunjangan_keluarga int);

C. Tabel Pegawai create table pegawai(

Nip char(5) primary key not null, Nama_Pegawai varchar(35), alamat varchar(60),

Kota varchar(20), golongan char(1), jabatan varchar(20),

(32)

Praktikum Sistem Basis Data II

status_menikah char(1), jumlah_anak char(1), status_aktif char(5), telp varchar(20), gapok int,

foreign key (golongan) references golongan on update cascade on delete cascade);

2. Insert setiap Table 5 Records.

3. update setiap table (1 update masing2 table) 4. delete setiap table dgn where kondisi

5. select setiap table

a. menampilkan keseluruhan table b. Menampilkan nama lain dari kolom

c. Menampilkan 2 kolom (Table 1), 3 Kolom (table 2), 4 Kolom (Table 3) d. menampilkan 2 table

e. menampilkan dengan where [kondisi]

(33)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(34)

PEMROGRAMAN VISUAL I

(SQL SERVER)

Yani Maulita, M.Kom

DATA MANUPILATION II (QUERY)

(35)

Praktikum Sistem Basis Data II

P ERTEMUAN 5 (2 x 50 menit) 1. Tujuan:

a. Mahasiswa dapat memahami perintah DML

b. Mahasiswa dapat memahami dan memanipulasi data dengan menggunakan perintah Select

2. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

DATA MANIPULATION LANGUAGE II (QUERY)

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 perintah3perintah SELECT yang dibahas dalam modul V masih ada banyak perintah3perintah SELECT lain, antara lain perintah ALIAS, menampilkan data lebih dari 2 tabel, LIKE, ORDER BY, GROUP BY, HAVING, IN, Between, 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

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

(36)

Praktikum Sistem Basis Data II

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_kolomFROM nama_tabel nama_alias

Lakukan perintah berikut untuk memberikan alias Peg pada tabel pegawai :

Latihan 2 : Menampilkan data lebih dari dua tabel

Perintah Select juga dapat dilakukan untuk beberapa tabel sekaligus dengan syarat bahwa tabel3tabel 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 :

(37)

Praktikum Sistem Basis Data II

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.

Latihan 4 : Klausa 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 :

Latihan 5 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 :

(38)

Praktikum Sistem Basis Data II

Latihan 6 : Operator IN

Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai Kumpulan nilai bisa berupa: nilai3nilai 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 :

(39)

Praktikum Sistem Basis Data II

Latihan 7 : Operator BETWEEN C AND

Operator BETWEEN V 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 8 : Fungsi Aggregate (COUNT, SUM, AVG, MIN dan MAX)

Fungsi aggregate merupakan fungsi3fungsi 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 berikut :

8.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 :

(40)

Praktikum Sistem Basis Data II 8.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 :

8.3 AVG

Perintah yang digunakan untuk menghitung rata3rata dari nilai suatu kolom pada tabel. Perintah berikut digunakan untuk menghitung rata3rata dari kolom Gaji pada tabel pegawai :

8.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 :

8.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 :

(41)

Praktikum Sistem Basis Data II Latihan 9 : 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 10: 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:

(42)

Praktikum Sistem Basis Data II

4. Tugas Praktikum 1. Buatlah Tabel dibawah ini A. Table siswa

create Table siswa(

No_induk varchar(10), Nm_siswa varchar(40), Tgl_lahir datetime, Tmpt_lahir varchar(20), Nm_ayah varchar(40), Nm_ibu varchar(40), Nm_wali varchar(40), alamat varchar(30), kota varchar(30), kode_pos varchar(5), telepon varchar(20));

B. Table Buku create Table Buku(

Kd_buku varchar(10), Judul_buku varchar(50), Isbn varchar(20),

Pengarang varchar(40), Penerbit varchar(20), Thn_terbit varchar(4), Jmlh_hal smallint, Tgl_beli datetime, Jenis_buku varchar(30));

(43)

Praktikum Sistem Basis Data II

2. Insert kan setiap table 3 record

3. Select alamat from siswa where alamat like 'B%'; (setiap table 1contoh) 4. Select * from siswa order by no_induk asc; (setiap table 1 contoh)

5. Select alamat, count(alamat) from siswa group by alamat (setiap table 1 contoh);

6. Select alamat, count(alamat) from siswa group by alamat having count (alamat) >2;

(setiap table 1 contoh)

7. Select * From siswa Where alamat IN ('binjai', 'stabat'); (setiap table 1 contoh) 8. Select * From siswa Where No_induk Between '11' And '14'; (setiap table 1 contoh) 9. Select Count(alamat) From siswa; (setiap table 1 contoh)

(44)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(45)

PEMROGRAMAN VISUAL I

(SQL SERVER)

Yani Maulita, M.Kom

JOIN

(46)

Praktikum Sistem Basis Data II

PERTEMUAN 6 (2 x 50 menit) 1. Tujuan:

Mahasiswan dapat memahami dan memanipulasi data dalam database dengan lebih luas lagi dengan join

2. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

JOIN

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 kolom3kolom yang berasal dari tabel3 tabel tersebut. Pada join sederhana, tabel3tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel yang berbeda. Tabel3tabel 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, LEFTJOIN, dan RIGHT JOIN.

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

2. Left join

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

Sintaks untuk LEFT JOIN :

SELECT field1, field2, V FROM tabel1 LEFT JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing

3. Right join

Sintaks untuk RIGHT JOIN :

SELECT field1, field2, V FROM tabel1 RIGHT JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing

(47)

Praktikum Sistem Basis Data II

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.

4. Natural join

Natural join digunakan untuk menampilkan data dari dua tabel yang berisi data.

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

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

7. Union

Union merupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, nama dan tipe kolom dari masing3masing tabel yang akan ditampilkan datanya harus sama.

8. 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 masing3masing 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. .

9. 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 masing3masing 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

4. Tugas Praktikum

1. Buatlah table dibawah ini :

(48)

Praktikum Sistem Basis Data II

A. Table Student

create table ms_student(

Student_id char(5) primary key not null, Student_nama varchar (30),

Student_address varchar (50), Student_phone varchar (13), Student_email varchar (50), Student_gender varchar (6), Student_birth datetime);

B. Table Jadwal create table tr_jadwal (

Jadwal_id char (5) primary key not null,

Student_id char (5) foreign key (student_id) references ms_student on update cascade on delete cascade,

Day varchar(10), Time datetime, Room char (3));

C. Table Absensi create table trh_absensi(

absensi_id char (2) primary key not null,

jadwal_id char (5) foreign key (jadwal_id) references tr_jadwal on update cascade on delete cascade,

Student_id char (5),

Pertemuan1_date datetime, Pertemuan2_date datetime, Pertemuan3_date datetime, Pertemuan4_date datetime, Pertemuan5_date datetime, Pertemuan6_date datetime, Pertemuan7_date datetime, Pertemuan8_date datetime, Pertemuan9_date datetime, Pertemuan10_date datetime, Pertemuan11_date datetime, Pertemuan12_date datetime);

2. Buat 4 record setiap Table

3. select ms_student.Student_nama, tr_jadwal.room from ms_student inner join tr_jadwal on ms_student.student_id = tr_jadwal.student_id; (Tambah kan 2)

4. select ms_student.Student_nama, ms_student.Student_phone, trh_absensi.pertemuan1_date,

Pertemuan12_date from ms_student left join trh_absensi on ms_student.student_id = trh_absensi.student_id; (Tambahkan 2)

5. select ms_student.Student_nama, ms_student.Student_phone, trh_absensi.pertemuan1_date, Pertemuan12_date from ms_student right join trh_absensi on ms_student.student_id =

trh_absensi.student_id(Tambahkan 2)

6. select ms_student.Student_nama, ms_student.Student_phone, trh_absensi.pertemuan1_date,

(49)

Praktikum Sistem Basis Data II

Pertemuan12_date from ms_student full outer join trh_absensi on ms_student.student_id = trh_absensi.student_id (Tambahkan 2)

7. select ms_student.Student_id, ms_student.Student_nama, tr_jadwal.jadwal_id from ms_student cross join tr_jadwal; (Tambahkan 2)

8. Buatlah perintah SQL yang menggunakan UNION, INTERSECT, dan EXCEPT dari table diatas

9. Buatlah perintah SQL yang menggunakan operator comparison ANY dan ALL dari table

(50)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(51)

PEMROGRAMAN VISUAL I

(SQL SERVER)

Yani Maulita, M.Kom

Stored Procedure

(52)

Praktikum Sistem Basis Data II

PERTEMUAN 7 (2 x 50 menit) 1. Tujuan:

a. Mahasiswa Mampu memahami dan membuat procedure

b. MahsiswaMampu menggunakan perintah-perintah dalam stored procedure

2. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

STORED PROCEDURE

Stored procedure merupakan sekumpulan SQL yang disimpan ke dalam server SQL Server. Keuntungan menggunakan store procedure, klien SQL Server tidak perlu menuliskan perintah SQL ke server namun hanya perlu memanggil procedure yang sudah disimpan di server (jika tersedia). Perbedaan antara procedure dan function pada SQL Server hampir mirip dengan procedure dan function pada bahasa pemrograman. Procedure dipanggil melalui perintah CALL dan dapat mengembalikan nilai melalui variabel output.

Stored Procedure adalah prosedur (spt subprogram dalam bhs pemrograman) yang disimpan di dalam database.SQL Server mendukung dua jenis “rutin” (subprogram):

Stored procedure yang dapat dipanggil, fungsi yang menghasilkan nilai yang dapat dipakai dalam statemen SQL lain.

Manfaat Store pocedure ini adalah:

1. Memperkecil trafik request dari aplikasi ke database karena semua proses bisnis dilakukan di database mysql dan aplikasi akan menerima hasil proses saja.

2. Ketika sebuah aplikasi yang didevelop terdiri dari berbagai bahasa pemrograman (misalkan desktop dan web) yang mana kedua tipe aplikasi tersebut membutuhkan hasil dan operasi database yang sama.

3. untuk meningkatkan securiti, misalkan sebuah aplikasi yang login dengan user abcd tidak dapat mengakses tabel2 tertentu secara langsung tetapi mesti melalui store procedure, dengan cara ini akan meningkatkan ke3valid3tan data

Contoh 1.

Dalam contoh dibawah ini kasus tentang sistem informasi kepegawaian, yang mana store procedure yang dibuat akan menangani tentang menghasilkan data pegawai yang difilter bedasarkan departemen. store procedure untuk menampilkan data pegawai dalam bentuk resultset

Tujuan :

b. Mampu memahami dan membuat procedure atau function dalam basis data b. Mampu menggunakan perintah8perintah dalam stored procedure

(53)

Praktikum Sistem Basis Data II DELIMITER $$

CREATE PROCEDURE sp_tampil_pegawai_departemen(p_ de partemen

int) BEGIN

SELECT * FROM pegawai where no_departemen = p_ depa rtemen;

END$$

DELIMITER ;

Penjelasannya sebagai berikut:

DELIMITER = adalah untuk memberi tahu kepada myql soal delimiter yang digunakan, secara default menggunakan jadi bila ada tanda mysql akan mengartikan akhir dari statement, pada contoh di atas delimeter yang digunakan $$ jadi akhir statementnya adalah $$.

CREATE PROCEDURE = adalah header untuk membuat store procedure.

BEGIN END = adalah body dari store procedure, jadi semua SQL nya di tulis disini.

contoh pemanggilannya seperti dibawah ini:

call sp_tampil_pegawai_departemen(2);

Contoh 2.

Statemen yang menciptakan stored procedure

CREATE procedure procedure1 /* nama */

(IN parameter1 INTEGER) /* parameter */

BEGIN /* awal blok */

DECLARE variable1 CHAR(10); /* variabel */

IF parameter1 = 17 THEN /* awal IF */

SET variable1 = 'burung'; /* assignment */

ELSE

SET variable1 = 'kelelawar'; /* assignment */

END IF; /* akhir IF */

INSERT INTO table1 VALUES (variable1); /* statemen t */

END /*akhir blok */

Dengan stored procedure eksekusi menjadi cepat. Tidak ada kompilasi. Peningkatan kecepatan datang dari reduksi lalu3lintas jaringan. Jika ada pekerjaan pengecekan berulang, looping, multiple statement, dikerjakan dengan pemanggilan tunggal ke prosedur yang telah disimpan ke server. Stored procedure adalah komponen. Andaikan aplikasi kemudian ditulis dalam bahasa berbeda, tidak ada masalah, karena logika berada didalam database bukan dalam aplikasi. Stored Procedure adalah portable.

Stored procedure ditulis dalam SQL, Anda bisa jalankan pada setiap platform dimana Database SQL Server dijalankan disitu.

(54)

Praktikum Sistem Basis Data II

4. Tugas Praktikum

1. Buatlah tabel dibawah ini :

A. create table tbl_karyawan (

NIK int,

Nama varchar(50) null, Alamat varchar(50) null, Kota varchar(50) null

CONSTRAINT PK_tbl_karyawan PRIMARY KEY CLUSTERED (NIK) )

B. create table tbl_GAJI (

Id_gaji int identity,

NIK int FOREIGN KEY (NIK) REFERENCES tbl_karyawan (NIK) on update cascade on delete cascade,

Periode varchar(20) not null, Jumlah_Gaji int not null

CONSTRAINT PK_tbl_GAJI PRIMARY KEY CLUSTERED (Id_gaji) )

2. . Insertkan 3 record pada masing-masing tabel 3. . Buatlah procedure dibawah ini :

a. CREATE PROCEDURE SP_Lihatgaji AS

BEGIN

SET NOCOUNT ON;

SELECT * from tbl_gaji END

GO

(55)

Praktikum Sistem Basis Data II

pemanggilan procedure: exec sp_lihatgaji;

b. CREATE PROCEDURE SP_karyawan as

SET NOCOUNT ON;

SELECT * from tbl_karyawan where nama like 'A%'

pemanggilan procedure: exec sp_karyawan;

c. CREATE PROCEDURE SP_karyawan1 as

SELECT * from tbl_karyawan where kota like '%G'

d. CREATE PROCEDURE SP_karyawan2 (@nik1 int)

as begin

SELECT * from tbl_karyawan where nik = @nik1;

end

pemangilan : exec sp_karyawan2 '11'

e. Create Procedure tbl_gaji1 as

begin

Select * from tbl_gaji where periode like '%A%';

end

pemanggilan procedure : exec tbl_gaji1;

(56)

Praktikum Sistem Basis Data II

f. Create Procedure tbl_gaji2 as

begin

Select *from tbl_gaji order by jumlah_gaji desc;

end

pemanggilannya exec tbl_gaji2;

g. Create Procedure tbl_gaji3 as

begin

select sum(jumlah_gaji) from tbl_gaji end

pemanggilan procedure: exec tbl_gaji3;

h. Create Procedure gaji2 (@id_gaji int) as

begin

select * from tbl_gaji where id_gaji=@id_gaji end

pemanggilan procedure: exec gaji2 '10';

i. Create Procedure gaji3 (@nik int, @nama varchar(25), @alamat varchar (35), @kota varchar (25))

as begin

insert into tbl_karyawan values ( @nik, @nama, @alamat, @kota) end

pemanggilan procedure: exec gaji3 insert into tbl_karyawan values ('14','abi','tanah merah',binjai')

(57)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(58)

PEMROGRAMAN VISUAL I

(SQL SERVER)

Yani Maulita, M.Kom

Tipe Data Dan Relasi Antar Tabel Sql Server

(59)

Praktikum Sistem Basis Data II

PERTEMUAN 9 (2 x 50 menit) 1. Tujuan:

a. Mahasiswa Mampu memahami dan membuat func

b. MahsiswaMampu menggunakan perintah-perintah dalam stored procedure

2. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

FUNCTION

• Fungsi adalah bagian dari perintah/statement yang merubah beberapa nilai masukan menjadi sebuah nilai baru (keluaran/hasil).

• Beberapa fungsi telah tersedia dan tinggal dipakai (fungsi standar) dan dapat pula dibuat sendiri sebagai fungsi baru (user defined function). Semua fungsi ditulis nama yang diikuti kurung () .

• Function adalah suatu blok PL/SQL yang memiliki konsep sama dengan procedure, hanya saja pada function terdapat pengembalian nilai (returnvalue).

• Karena function dapat mengembalikan sebuah nilai, function dapat diakses seperti layaknya sebuah variabe biasa.

Function dalam bahasa pemrograman adalah sebuah subrutin yang digunakan untuk mengenkapsulasi logika yang sering digunakan. Dengan function, kode program yang membutuhkan logika seperti terdapat dalam function tidak perlu menuliskan ulang akan tetapi cukup memanggil function tersebut.

Perbedaan function dengan store procedure adalah function memberikan nilai keluaran sementara store procedure tidak.

Sintaks dasar untuk pembuatan Function : CREATE FUNCTION nama_function ( [ @parameter tipe_data [ ,...n ] ] ) RETURNS tipe_data_return [ AS ]

BEGIN statement

RETURN nilai_return_yang_dikembalikan

(60)

Praktikum Sistem Basis Data II END

• Statemen RETURN tipe_data diatas menunjukkan bahwa function akan mengembalikan nilai dengan tipe data tertentu.

Statemen RETURN nilai_yang_dikembalikan berfungsi untuk mengembalikan nilai yang telah diproses dalam function.

• Fungsi SQL Aggregate : fungsi yang menghasilkan nilai tunggal dari perhitungan sebuah nilai dari sebuah kolom.

• Fungsi SQL Scalar : fungsi yang menghasilkan nilai tunggal dari nilai yang dimasukkan Pemanggilan Function

Menghapus Function

3. Kegiatan Praktikum Latihan 1:

Lakukan perintah membuat function dibawah ini create function Karyawan1 (@p1 int )

returns int as

begin

declare @result int

Select nama_function (nilai);

Select karyawan (‘A11”);

Drop function karyawan1;

Drop function

nama_function;

(61)

Praktikum Sistem Basis Data II

select @result = COUNT(nik) from karyawan where nik = @p1

return @result END

Kemudian setelah membuat function buatlah pemanggilannya function sesuaikan Latihan 2:

select nama, left(nama,1) + substring( nama, charindex(' ', nama)+1,1) from tmahasiswa

Latihan 3:

CREATE OR REPLACE FUNCTION pangkat (bil INTEGER, n INTEGER) RETURN INTEGER AS

HASIL INTEGER(10);

I INTEGER;

BEGIN HASIL := 1;

FOR I IN 1..n LOOP HASIL := HASIL * bil;

END LOOP;

RETURN HASIL;

END;

Latihan 4 :

create function tambah2 (@angka1 int, @angka2 int, @angka3 int) returns int

as begin

return @angka1 * @angka2 * @angka3 end

pemanggilannya : select dbo.tambah(3,3)

(62)

Praktikum Sistem Basis Data II

4. Tugas Praktikum

1. create function tambah (@angka1 int, @angka2 int) returns int

as begin

return @angka1 + @angka2 end

2. select dbo.tambah(3,3)

3. CREATE fUNCTION kuadrat (@x int, @y int) RETURNs int

AS BEGIN

RETURN @x * @y;

END

4. create function tambah1 (@angka1 int, @angka2 int, @angka3 int) returns int

as begin

return @angka1 + @angka2 * @angka3 end

5. create table karyawan(

NIK int,

Nama varchar(50) null, Alamat varchar(50) null, Kota varchar(50) null);

(63)

Praktikum Sistem Basis Data II

6. insert 3 record

7. select nama, left(nama,1) +

substring( nama, charindex(' ', nama)+1,1) from karyawan

8. create function No2 (@p1 int ) returns int as

begin

declare @result int

select @result = COUNT(nik) from karyawan where nik = @p1

return @result END

GO

9. select DISTINCT dbo.No2('10001') from karyawan

10. alter function No2 (@p1 varchar(50)) returns int

as begin

declare @result int

select @result = COUNT(nik) from karyawan where kota = @p1

return @result

(64)

Praktikum Sistem Basis Data II

END GO

11. select dbo.No2 ('bandung')

132 create function Tanpa_p () returns int

as begin

declare @result int

select @result = COUNT(nik) from dbo.karyawan where kota is null

return @result END

GO

13. select dbo.tanpa_p()

(65)

MODUL PRAKTIKUM SISTEM BASIS DATA II

Disusun Oleh : Tim Dosen Kaputama

STMIK KAPUTAMA BINJAI

(66)

PEMROGRAMAN VISUAL I

(SQL SERVER)

Yani Maulita, M.Kom

VIEW

(67)

Praktikum Sistem Basis Data II

PERTEMUAN 10 (2 x 50 menit) 1. Tujuan:

Mahasiswa mampu membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana.

2. Alat dan bahan:

a. PC

b. Sistem Operasi Windows 10/8 c. SQL Server 2008/2012

d. Modul

VIEW

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. Data3data 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 membuat view

CREATE VIEW view_name AS select_statement Syntax menghapus view :

DROP VIEW view name;

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

(68)

Praktikum Sistem Basis Data II

Buat tabel-tabel berikut ini

2. Insert data pada masing3masing tabel

3. Tampilkan data judulartikel, author dan tanggal dari tabel artikel

4. Buat View dengan nama V_artikel1 untuk menampilkan data

5. Tampilkan semua data pada tabel v_artikel

(69)

Praktikum Sistem Basis Data II

4. Tugas Praktikum

1. Buatlah tabel-tabel dibawah ini :

create table MsMahasiswa(

NIM char(10) primary key, Nama varchar(30),

Alamat varchar(30), Telp varchar(15), Email varchar(50), Jurusan varchar(30));

create table MsRuang(

KdRuang char(5) primary key, NamaRuang varchar(10), Kapasitas numeric);

create table TrNilai(

KdMtk char(5),

NIM char(10) primary key, UTS numeric,

UAS numeric);

2. Insert setiap Table 4 Records.

3. create view mahasiswa1 as select nama from msmahasiswa where nama like 'A%';

4. create view ruang1 as select namaruang from msruang where namaruang like 'B%';

5. create view mahasiswa2 as select nim, nama, alamat, jurusan from msmahasiswa;

6. create view ruang2 as select kdruang, namaruang, kapasitas from msruang;

7. create view nilai1 as select kdmtk, nim, uts from trnilai;

Gambar

Table merupakan tempat penyimpanan data pada RDBMS dalam bentuk kolom dan row. Primary key merupakan  unik  key  yang  digunakan  untuk  mengidentifikasi  row  pada  kolom

Referensi

Dokumen terkait

Hasil tersebut berbeda dari hipotesis bahwa dengan edukasi yang terus menerus pada ibu yang melakukan perawatan dengan metode kanguru diharapkan pertumbuhan neonatus kurang

Persepsi siswa terhadap pembelajaran Multiple Intelligences apabila dilihat dari segi motif, minat, persiapan dan kesiapan dapat dilihat bahwa persepsi siswa

Karena itu pengadaan barang/jasa dengan nilai di atas Rp10.000.000,- (sepuluh juta rupiah) tidak dapat dilakukan jika tidak ada PPK. Kalaupun telah ditunjuk PPK yang tidak

Bahwa berdasarkan catatan, Pemerintah pada tanggal 20 Nopember 2000 telah mengajukan kepada DPR RI Rancangan Undang Undang tentang perubahan atas Undang Undang

Analisis lalu lintas kondisi eksisting menggunakan data volume lalu lintas dan data geometri jalan untuk mendapatkan derajat jenuh, kapasitas jalan, maupun tundaan

Responden dalam penelitian ini adalah istri nelayan yang memiliki pekerjaan selain sebagai ibu rumah tangga di Kelurahan Sungai Piring Kecamatan Batang Tuaka Kabupaten

Sedangkan populasi 25 jenis satwa satwa prioritas terancam punah yang dilindungi dapat dilihat pada Tabel 2, sebagai berikut :..

Peserta yang tidak ada atau tidak mendampingi kendaraannya tanpa melapor kepada penyelenggara setelah 2 (dua) kali kunjungan oleh tim juri akan didiskualifikasi. Peserta