Anda di halaman 1dari 19

LAPORAN TUGAS PRAKTIKUM MODUL 10

Disusun oleh :

I Made Eko Satria Wiguna 1808561054 (A)

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

PROGRAM STUDI TEKNIK INFORMATIKA

2021
KATA PENGANTAR

Puji dan syukur kami panjatkan kepada Tuhan Yang Maha Esa karena atas
berkat dan rahmat-Nya, saya bisa menyelesaikan tugas laporan Praktikum Modul
10 dengan tepat waktu. Laporan ini disusun untuk memenuhi tugas mata kuliah
Praktikum Basis Data.
Laporan ini telah saya susun dengan semaksimal mungkin dan mendapatkan
bantuan dari berbagai pihak sehingga dapat memperlancar proses pembuatannya.
Untuk itu saya menyampaikan banyak terima kasih kepada semua pihak yang telah
berkontribusi dalam pembuatan laporan ini. Laporan ini dibuat dengan segala
keterbatasan saya selaku penulis. Seperti pepatah “Tiada Gading Yang Tak Retak”,
penulis menyadari bahwa laporan ini masih jauh dari kata sempurna. Oleh karena
itu, penulis sangat mengharapkan masukan berupa kritik dan saran yang
membangun untuk perbaikan laporan ini di kemudian hari.
Akhir kata, penulis berharap kiranya laporan ini bermanfaat bagi kehidupan
kita khususnya dalam kehidupan masyarakat kita.

Praya, 27 April 2021

I Made Eko Satria Wiguna

i
Daftar Isi

KATA PENGANTAR ............................................................................................. i


Daftar Isi.................................................................................................................. ii
Bab I Pendahuluan ................................................................................................. 1
1.1 Latar Belakang ......................................................................................... 1
1.2 Tujuan ....................................................................................................... 1
1.3 Manfaat ..................................................................................................... 1
Bab II Landasan Teori ............................................................................................ 2
2.1 Pengertian SQL ........................................................................................ 2
2.2 Deklarasi Stored Procedure ...................................................................... 8
2.3 Perulangan dengan Cursor........................................................................ 9
Bab III Hasil Praktikum ......................................................................................... 8
3.1 Pendahuluan ............................................................................................. 8
3.2 Praktikum ............................................................................................... 10
3.3 Query SQL ............................................................................................. 10
3.4 Hasil Praktikum ...................................................................................... 11
Bab IV Kesimpulan dan Saran ............................................................................. 13
4.1 Kesimpulan ............................................................................................. 13
4.2 Saran ....................................................................................................... 13
Daftar Pustaka ....................................................................................................... 14

ii
Bab I
Pendahuluan

1.1 Latar Belakang

SQL (Structured Query Language) adalah sebuah bahasa yang


digunakan untuk mengakses data dalam basis data relasional. Bahasa ini
secara de facto merupakan bahasa standar yang digunakan dalam
manajemen basis data relasional. Saat ini hampir semua server basis data
yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
SQL pertama kali didefinisikan oleh American National Standards
Institute (ANSI) pada tahun 1986.

1.2 Tujuan

1. Mengenal perintah dasar pada MySQL


2. Mengetahui fungsi dari perintah MySQL

1.3 Manfaat

1. Dapat membuat sebuah database.


2. Mengakses dan memanipulasi data pada database.
3. Mampu mengeksekusi query terharap database.

1
Bab II
Landasan Teori

2.1 Pengertian SQL

SQL (Structured Query Language) adalah sebuah bahasa yang


dipergunakan untuk mengakses data dalam basis data relasional. Bahasa
ini secara de facto merupakan bahasa standar yang digunakan dalam
manajemen basis data relasional. Saat ini hampir semua server basis data
yang ada mendukung bahasa ini untuk melakukan manajemen datanya.

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama
EF Codd yang membahas tentang ide pembuatan basis data relasional
pada bulan Juni 1970. Artikel ini juga membahas kemungkinan
pembuatan bahasa standar untuk mengakses data dalam basis data
tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured
English Query Language).

Setelah terbitnya artikel tersebut, IBM mengadakan proyek


pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi,
karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun
mengubahnya menjadi SQL. Implementasi basis data relasional dikenal
dengan System/R.

Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang


membuat server basis data populer yang bernama sama dengan nama
perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut
populer sehingga saat ini menjadi standar de facto bahasa dalam
manajemen basis data.

1. Standarisasi

Standarisasi SQL dimulai pada tahun 1986, ditandai dengan


dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut
dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989
kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal

2
3

dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu


SQL99 atau disebut juga SQL99, akan tetapi kebanyakan
implementasi mereferensi pada SQL92.

Saat ini sebenarnya tidak ada server basis data yang 100%
mendukung SQL92. Hal ini disebabkan masing-masing server
memiliki dialek masing-masing.

2. Pemakaian dasar

Secara umum, SQL terdiri dari dua bahasa, yaitu Data


Definition Language (DDL) dan Data Manipulation Language
(DML). Implementasi DDL dan DML berbeda untuk tiap sistem
manajemen basis data (SMBD)[1], namun secara umum
implementasi tiap bahasa ini memiliki bentuk standar yang
ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling
umum yang dapat digunakan pada kebanyakan SMBD.

Tujuan dari pemakaian SQl dalam menyelesaikan tugas-


tugas yang berkaitan dengan database, diantaranya :

➢ Memanggil data dari satu table atau lebih


➢ Memanipulasi data
➢ Mendapatkan ringkasan informasi
➢ Membuat, memodifikasi atau menghapus table
➢ Membuat atau menghapus index

3. Fungsi (Function ) SQL

MS SQL Server memiliki beberapa fungsi untuk manipulasi


data antara lain :

a. Fungsi string atau karakter


b. Fungsi tanggal
c. Fungsi matematika
d. Fungsi system atau fungsi scalar
e. Fungsi User Defined
4

f. Fungsi tambahan yang dapat digunakan untuk mengubah


(konversi) dari data yang satu ke data yang lain.
4. Elemen Dasar SQL

Elemen Dasar SQL terdiri dari pernyataan, nama, tipe data,


konstanta, ekspresi dan fungsi bawaan :

1) ALTER : mengubah struktur tabel

2) COMMIT : mengakhiri sebuah eksekusu transaksi

3) CREATE : menciptakan table,indeks

4) DELETE : menghapus baris pada table

5) DROP : menghapus table,indeks

6) GRANT : menugaskan hak terhadap basis data kepada

pengguna atau group pengguna.

7) INSERT : menambahkan sebuah baris pada table

8) REVOKE : membatalkan hak terhadap basis data

9) ROLLBACK : mengembalikan ke dalam bentuk semula

sekiranya suatu transaksi gagal dilaksanakan

10) SELECT : memilih baris dan kolom pada tabel

11) UPDATE : mengubah nilai pada sebuah baris.

5. Operator SQL
Operator SQL dibagi menjadi 3 jenis yaitu aritmatika, logika
dan perbandingan.
5

1. Operator aritmatika

2. Operator logika

3. Operator Perbandingan

SQL secara garis besar terdiri dari 4 macam, yaitu :

a. DDL (Data Definition Language)


6

DDL adalah suatu pernyataan untuk mendefinisikan


struktur atau skema database. Contoh :

➢ Create , untuk membuat object dalam database, bisa berupa


table, view, procedure, function, trigger, ataupun package
(oracle). Contoh : create table mahasiswa (npm char(7) not null
primary key,nama char(30), alamat char(50));
➢ Alter, untuk mengubah structur dari suatu objek dalam database.
Contoh : alter table mahasiswa add email char(30)
➢ Drop, untuk menghapus objek dalam database. Contoh: drop
table mahasiswa;
➢ Truncate, untuk menghapus/membersihkan isi table beserta
alokasi space yang ada di dalamnya, Contoh : truncate table
mahasiswa
➢ Comment, memberikan keterangan/komentar pada ke dalam
kamus data. berisi deskripsi dari sebuah objek dalam database.
➢ Rename, mengganti nama objek dalam database.(Mysql, Oracle)
b. DML (Data Manipulation Language)

DML adalah pernyataan yang digunakan untuk


mengorganisir data dengan menggunakan skema objek.

➢ Select, untuk menyeleksi data dari dalam database. Contoh :


select npm, nama, alamat from mahasiswa;
➢ Insert, untuk menginputkan record ke dalam suatu table.
Contoh : insert into mahasiswa(npm,nama,alamat) values
(‘0401034’,’Abdul Malik Ikhsan’,’Jalan Jakarta No. 28’)
➢ Update, untuk melakukan update dari table yang sudah dibuat.
Contoh: update mahasiswa set npm=’001’ where
npm=’0401034’;
➢ Delete, untuk menghapus isi record baik semuanya ataupun
sebagian dari suatu table, Contoh :
- delete from mahasiswa (menghapus semua isi )
7

- delete from mahasiswa where npm = ‘001’(hanya pada


kondisionalnya saja).
➢ Merge, penggabungan update, insert, delete pada suatu table
berdasarkan kondisi yang cocok. (Oracle).
➢ EXEC, memanggil procedure yang telah kita buat.

Contoh :

kita buat procedure seleksimhs: create procedure seleksimhs


@npm char(7) as select * from mahasiswa where npm=@npm.

Cara eksekusi : EXEC seleksimhs ‘001’;

c. DCL (Data Control Language)

Terdiri dari 2 statement, yaitu Grant, Revoke, dan DENY,


Grant untuk memberikan hak akses, dan Revoke untuk membuang
hak yang telah dilarang dengan perintah Deny atau hak yang telah
diberikan oleh perintah GRANT, sedangkan Deny.

Contoh GRANT :

GRANT INSERT, UPDATE, DELETE On mahasiswa To public

Contoh REVOKE :

Revoke SELECT On mahasiswa To Public

Contoh DENY :

DENY SELECT On mahasiswa To Public

d. TCL (Transaction Control)

Pernyataan untuk mengelola perubahan yang dilakukan


oleh DML.

• COMMIT → menyimpan hasil perintah


• SAVEPOINT →identifikasi point transaksi yang akan
digunakan nantinya.
• ROLLBACK → Restore database ke kondisi commit terakhir.
8

• SET TRANSACTION → mengubah level transaksi.

2.2 Deklarasi Stored Procedure

Definisi dari stored procedure adalah suatu bagian dari deklarasi kode SQL
yang disimpan di katalog database dan dapat dipanggil/dijalankan oleh suatu
program, trigger ataupun stored procedure lainnya. Stored procedure juga dapat
memanggil dirinya sendiri (recursive) akan tetapi tidak semua versi MySQL
mendukung stored procedure yang recursive. Beberapa keuntungan dari stored
procedure adalah:

1. Stored procedure meningkatkan performa aplikasi. Setelah selesai


dibuat maka stored procedure akan dikompilasi dan disimpan pada
katalog database. Stored procedure berjalan lebih cepat
dibandingkan perintah SQL yang belum dikompilasi yang dikirim
oleh aplikasi.
2. Stored procedure mengurangi traffic dari database dan aplikasi
karena tidak perlu mengirimkan perintah SQL yang belum
dikompilasi. Yang perlu dikirimkan oleh aplikasi ke database server
adalah nama dari stored procedurenya dan hasilnya akan dikirim
balik oleh database server ke aplikasi pemanggil.
3. Stored procedure dapat digunakan berulang-ulang dan transparan
terhadap semua aplikasi yang ingin menggunakannya.
4. Stored procedure adalah aman karena database administrator dapat
memberikan akses yang sesuai ke tiap stored procedure tanpa
memberikan akses langsung ke tabel.

Akan tetapi, stored procedure juga memiliki kekurangan sebagai berikut:

1. Stored procedure membuat database server memiliki beban yang


tinggi dalam hal memori dan prosesor.
2. Stored procedure hanya mengandung perintah-perintah deklarasi
MySQL sehingga sangat sulit untuk menulis prosedur yang
kompleks yang dibutuhkan oleh aplikasi.
3. Stored procedure tidak dapat di-debug.
9

2.3 Perulangan dengan Cursor

MySQL mendukung penggunaan Cursor pada stored procedure, function dan


trigger. Cursor digunakan untuk melakukan iterasi pada himpunan record dari
suatu tabel yang dihasilkan oleh suatu query dan melakukan proses untuk
masing-masing record tersebut. Cursor pada MySQL memiliki beberapa sifat
sebagai berikut:

1. Read Only: artinya cursor tidak dapat diupdate.


2. Non-scrollable: cursor hanya dapat berjalan satu arah, tidak bisa
dilompati maupun disuruh maju atau mundur pada result set.
3. Asensitive: update pada tabel yang diacu oleh cursor tidak
disarankan karena dapat memberikan hasil yang tidak diinginkan.

Untuk mendeklarasikan cursor digunakan perintah berikut:

DECLARE nama_cursor CURSOR FOR perintah_select;

Setelah itu cursor harus dibuka menggunakan perintah OPEN:

OPEN nama_cursor;

Selanjutnya untuk mendapatkan baris berikutnya dan memindahkan cursor ke


baris tersebut dilakukan menggunakan perintah FETCH:

FETCH nama_cursor INTO daftar_variabel;

Pada akhirnya ketika baris yang dibaca telah habis maka cursor harus ditutup
menggunakan perintah CLOSE:

CLOSE nama_cursor;

Satu hal yang perlu diingat ketika menggunakan cursor adalah untuk
mendeklarasikan handler NOT FOUND agar tidak terjadi pesan kesalahan
ketika tidak ada data.
8

Bab III
Hasil Praktikum

3.1 Pendahuluan

SOAL
1. Apa yang anda ketahui dengan Stored Precedure.
2. Apa yang ada ketahui dengan Cursor.
3. Sintaks apa saja yang terdapat pada Stored Precedure.
4. Sintaks apa saja yang terdapat pada Cursor.
5. apa yang membedakan Stored Precedure dengan Cursor.
9

JAWABAN

1. Stored procedure adalah suatu bagian dari deklarasi kode SQL yang
disimpan di katalog database dan dapat dipanggil/dijalankan oleh suatu
program, trigger ataupun stored procedure lainnya.
2. Cursor adalah fitur dari stored procedure. Cursor mampu melakukan
iterasi sepanjang row data dari suatu tabel.
3. Sintak Procedur:
DELIMITER //
CREATE PROCEDURE nama_procedure()
BEGIN
Query SQL Disini
END //
DELIMITER
4. Sintak Cursor:
DELIMITER $$
CREATE PROCEDURE nama_procedure ()
BEGIN
-- declare Variabel
DECLARE finished INTEGER DEFAULT 0;
DECLARE emailAddress varchar(100) DEFAULT "";

-- declare cursor
DEClARE curEmail
CURSOR FOR
-- query sql
SELECT email FROM employees;

-- declare NOT FOUND handler


DECLARE CONTINUE HANDLER
FOR NOT FOUND SET finished = 1;

OPEN curEmail;

getEmail: LOOP
FETCH curEmail INTO emailAddress;
IF finished = 1 THEN
LEAVE getEmail;
END IF;
-- build email list
SET emailList = CONCAT(emailAddress,";",emailList);
END LOOP getEmail;
CLOSE curEmail;

END$$
10

DELIMITER ;
5. Perbedaan procedure dan cursor adalah cursor merupakan bagian dari
procedure yang digunakan untuk menyimpan data yang lebih dari 1
record. Sedangkan procedure merupakan program yang di simpan pada
catalog sql sehingga memudahkan kita dalam mengolah data.

3.2 Praktikum

Gunakan database northwind.

1. Buatlah stored procedure untuk menambahkan record baru ke tabel


Customers (parameternya adalah CustomerID, ContactName,
CompanyName, Address, Phone).
2. Buatlah stored procedure untuk mendapatkan total belanja yang
dilakukan oleh seorang customer (parameternya adalah CustomerID)

3.3 Query SQL

DELIMITER$$
CREATE PROCEDURE tambah_record(CustomerID VARCHAR(5),
ContactName Varchar(30),
CompanyName Varchar(40),
Address Varchar(60),
Phone Varchar(24))
BEGIN
INSERT INTO customers (CustomerID, CompanyName, ContactNam
e, Address, Phone)
VALUES (CustomerID,ContactName,CompanyName,Address,Phone);
END$$
DELIMITER;

DELIMITER $$
CREATE PROCEDURE total_belanja(CustomerID INT(5))
BEGIN
SELECT orders.CustomerID, orders.OrderDate, customers.Cont
actName, sum(`order details`.UnitPrice * `order details`.Quant
ity) As JumlahPesanan FROM ((customers INNER JOIN orders ON cu
stomers.CustomerID = orders.CustomerID) RIGHT JOIN `order deta
ils` ON orders.OrderID = `order details`.OrderID) WHERE orders
.CustomerID = CustomerID;
END$$
DELIMITER;
11

3.4 Hasil Praktikum

1. Procedur tambah_record

a. Query :
CALL tambah_record('TES2', 'EKO', 'TES2', 'TEst2', '091201231121');
b. Hasil
12

2. Procedure total_belanja
Bab IV
Kesimpulan dan Saran

4.1Kesimpulan

SQL (Structured Query Language) adalah bahasa query yang


standard yang digunakan sebagai suatu bahasa sederhana dan dasar, yang
memungkinkan kita untuk berkomunikasi dengan database, membaca,
menulis, dan memperoleh informasi yang berguna dari database.

Operator pada SQL sangat membantu kita dalam mencari dan


memodifikasi data pada tabel.

4.2 Saran

Dalam penggunaan SQL sangat diperlukan ketelitian terutama


dalam melakukan input data, karena dalam keadaan tertentu kesalahan
tersebut dapat terjadi. Selain itu diharapkan juga kita bisa melakukan SQL
ini melalui terminal karena jika kita memiliki server, SQL pada server tidak
menggunakan GUI sehingga kita perlu membiasakannya sedini mungkin.

13
Daftar Pustaka

Wikipedia.org. (2019, 15 November). SQL. Diakses pada 15 Februari 2021, dari


https://id.wikipedia.org/wiki/SQL

Dewaweb.com. (2020, 30 November). SQL: Pengertian, Fungsi Beserta Perintah


Dasarnya. Diakses pada 15 Februari 2021, dari
https://www.dewaweb.com/blog/sql-pengertian-fungsi-beserta-
perintah-dasarnya/

14

Anda mungkin juga menyukai