Minggu, 06 Oktober 2019

BAB 5 SET OPERATIONS


Pada pertemuan ini diperlukan lebih dari satu tabel untuk database si_desa. Tabel tersebut memiliki karakteristik yang serupa dengan tabel penduduk. Misal tabel yang dimaksud adalah tabel yang menyimpan data-data penduduk lama dan penduduk baru, sehingga memiliki nama penduduk lama:

Gambar 5. 1 Tabel penduduk_lama
Perhatikan pada CREATE TABLE yang dilakukan untuk penduduk_lama diberikan AUTO_INCREMENT. Dengan demikian pada saat penginputan data baru, id_penduduk tidak perlu diisikan karena akan terisi sendiri dengan otomatis dengan nilai yang selalu meningkat (increment). Sekarang Anda bisa mengisi tabel penduduk_lama dengan data sebagai berikut:
Gambar 5. 2 Penginputan tabel penduduk lama
5.1     Operasi Union
Operasi Union digunakan ketika mendapati kasus diperlukannya penggabungan data dari dua tabel yang memiliki kesesuaian. Format dari operasi ini adalah:
(SELECT …) UNION (SELECT …)
Sebagai contoh diperlukan data yang menggambarkan data seluruh buku, baik yang masih bagus ataupun yang sudah rusak. Dengan demikian diperlukan operasi union antara tabel penduduk dengan tabel penduduk_lama:
Gambar 5. 3 Konsep UNION pada MySQL
5.2     Operasi Intersect
Operasi Intersect digunakan ketika mendapati kasus diperlukannya irisan data dari dua tabel yang bersesuaian. Pada MySQL tidak terdapat perintah INTERSECT, sehingga dapat digunakan format berikut untuk menggantikannya: SELECT a FROM b WHERE a IN (SELECT a FROM c);
Sebagai contoh diperlukan data buku yang terdapat pada tabel penduduk dan juga terdapat pada tabel penduduk_lama:

Gambar 5. 4 Konsep INTERSECT pada MySQL
5.3     Operasi Except
Operasi Except adalah kebalikan dari Intersect, dimana diperlukan tampilan data dari suatu tabel x yang tidak ada di tabel y. Formatnya pada MySQL adalah sebagai berikut:
SELECT a FROM b WHERE a NOT IN (SELECT a FROM c)
Sebagai contoh diperlukan data buku yang rusak semua, sehingga tidak ada di tabel penduduk lama:

Gambar 5. 5 Konsep EXCEPT pada MySQL

BAB 4 FUNGSI AGREGAT


Pada pertemuan sebelumnya, semua data pada tabel penduduk telah dihapus. Maka pada pertemuan ini dilakuan pengisian data terlebih dahulu:

Gambar 4. 1 Tabel penduduk untuk studi kasus pertemuan BAB 4

4.1 Average

Fungsi average adalah mencari rata-rata suatu nilai dari suatu atribut pada suatu tabel. Misal ingin dicari rata-rata jumlah penduduk
Gambar 4. 2 Rata-rata jumlah_penduduk dimana mata pencahariannya nelayan
Perhatikan pada Gambar 4.2 tersebut, judul kolom susah dipahami oleh pengguna. Anda dapat menggunakan fungsi alias untuk membuat nama kolom lebih mudah dipahami. Fungsi alias adalah ‘AS’:
Gambar 4. 3 Penambahan fungsi alias untuk penamaan suatu atribut
Bahkan dengan fungsi alias ini Anda dapat membuat atribut yang memiliki spasi:
Gambar 4. 4 Fungsi alias dapat membuat atribut Anda memiliki spasi

4.2 Minimum

Fungsi minimum digunakan untuk mencari nilai paling kecil dari suatu atribut pada suatu tabel. Misal ingin dicari stok paling minimum dari tabel jumlah_penduduk:
 
Gambar 4. 5 Stok buku paling minimum

4.3 Maximum

Fungsi maximum digunakan untuk mencari nilai paling besar/tinggi dari suatu atribut pada suatu tabel. Misal ingin dicari luas wilayah:

Gambar 4.6 luas wilayah
4.4     Total
Fungsi total digunakan untuk mendapatkan jumlah total dari suatu atribut pada suatu tabel. Fungsi ini menggunakan SUM pada query nya. Misal ingin dihitung banyaknya stok untuk buku terbitan Andi:

 
Gambar 4.7 Total mata pencaharian  
4.5     Count
Fungsi count digunakan untuk mendapatkan banyaknya data dari suatu tabel. Misal ingin didapatkan luas wilayah:
Gambar 4. 6 Banyaknya luas wilayah

BAB 3 MODIFIKASI DATABASE



3.1       NULL Values

Suatu atribut dari tabel dapat di set agar dapat berisi nilai NULL atau tidak. terlihat bahwa pada tabel desa hanya atribut yang bukan primary key yang dapat bernilai NULL. Misal atribut judul tidak seharusnya memiliki nilai NULL, maka dapat diubah dengan menggunakan query:
ALTER TABLE desa CHANGE id_desa id_desa varchar(5) NOT NULL;



Jika ingin merubah atribut nama_desa boleh memiliki nilai NULL, maka ubah saja dengan menggunakan query default:
ALTER TABLE desa CHANGE nama_desa nama_desa varchar(20);




3.2       INSERT

INSERT digunakan untuk memasukkan data baru ke dalam suatu tabel. Contoh berikut adalah query untuk memasukkan suatu data ke dalam tabel buku (yang kemudian ditampilkan dengan menggunakan SELECT):



Anda dapat juga memasukkan banyak data sekaligus ke dalam suatu tabel:
Anda dapat memasukkan data dengan nilai NULL, misalkan pada gambar berikut:
Sama dengan kasus di atas, Anda dapat memasukkan data untuk beberapa atribut saja, dengan yang lain secara otomatis akan bernilai NULL:  

3.3       UPDATE

Update digunakan untuk merubah data dari suatu tabel. Misal sebelum perubahan data dilakukan, dibuat atribut kepala_desa untuk tabel desa: 




Selanjutnya untuk setiap data desa memiliki kepala desa bernama Andi. Query yang digunakan adalah sebagai berikut:



Anda bisa juga merubah nilai dari beberapa data dengan memanfaatkan klausa WHERE. Misal dilakukan perubahan data dengan mengganti nama kepala desa menjadi ina dan ani adalah:
Klausa WHERE tidak hanya dapat digunakan untuk nilai atribut NULL saja.
Perubahan data juga dapat dilakukan berdasarkan beberapa karakter dari suatu atribut dengan menggunakan LIKE dan ‘%’.
Perubahan data juga dilakukan dengan menggunakan operasi matematika:

3.4       DELETE

DELETE digunakan untuk menghapus data dari suatu tabel. Sama seperti UPDATE, query DELETE juga dapat dilakukan berdasarkan atribut tertentu. Misal ingin dilakukan DELETE untuk id_desa = 3. Query nya adalah sebagai berikut:


Sedangkan untuk menghapus semua data dari suatu tabel dapat menggunakan query sebagai berikut:

BAB 2 PENGANTAR SQL


1.       

2.1 Membuka Database MySql dengan Command Prompt

Pada bab sebelumnya kita sudah membahas tentang bagaimana pengelolaan database menggunakan GUI yang disediakan oleh PHPMyAdmin. Ada banyak kemudahan yang ditawarkan oleh GUI tersebut. Akan tetapi, mahasiswa tidak akan mengetahui bagaimana suatu database dikelola sehingga akan kesulitan jika diharuskan untuk membuat aplikasi database. Berdasarkan permasalahan tersebut maka mahasiswa akan diajarkan mengelola database dengan menggunakan Command Prompt, dimana pada Command Prompt tersebut pengelolaan database hanya dapat dilakukan dengan menggunakan bahasa SQL.
Bahasa SQL (Structured Query Language) merupakan bahasa standar untuk database relasional. Bahasa SQL dikembangkan pertama kali oleh IBM pada awal tahun 1970. 
Untuk membuka database MySQL dengan menggunakan Command Prompt (bagi pengguna Windows), ketikkan shortcut Windows + R untuk mengaktifkan jendela Run, seperti pada gambar berikut:
Gambar 2. 1 jendela run
Jendela ini digunakan untuk menjalankan suatu aplikasi dengan cepat. Pada kotak yang disediakan ketik cmd lalu klik OK. Perintah ini digunakan untuk mengaktifkan Command Prompt seperti pada gambar berikut:
Gambar 2. 2 Command Prompt
Agar dapat membuka database MySQL yang menggunakan XAMPP, maka terlebih dahulu kita harus ingat dimana kita menginstallnya. Selanjutnya kita cari file mysql.exe yang terdapat pada direktori lib. Pertama kita masuk ke direktori xampp, dengan mengetikkan perintah cd c:xampp\ (karena saya menginstall XAMPP di C):
Gambar 2. 3 Perintah pada Command Prompt untuk masuk ke direktori xampp



Selanjutnya dengan mengetikkan perintah dir kita akan ditampilkan isi dari direktori xampp tersebut.
Gambar 2. 4 Isi dari direktori xampp
Perhatikan bahwa terdapat direktori mysql. Kita buka direktori tersebut dengan mengetikkan perintah cd mysql yang kemudian diikuti dengan mengetikkan perintah dir untuk menampilkan isi dari direktori tersebut.
Gambar 2. 5 isi dari mysql
Perhatikan bahwa terdapat direktori bin. Kita buka direktori tersebut dengan mengetikkan perintah cd bin yang kemudian diikuti dengan mengetikkan perintah dir untuk menampilkan isi dari direktori tersebut.
Gambar 2. 6 Isi dari direktori bin
Perhatikan bahwa terdapat file yang bernama mysql.exe. Buka file tersebut dengan mengetikkan perintah mysql disertai -u root -p. Perintah -u root -p menjadikan kita sebagai user root dan masuk dengan mengetikkan password (default tidak memiliki password).
Gambar 2. 7 Perintah mysql digunakan untuk masuk ke dalam database
Perhatikan pada Gambar 2.7 tersebut, ditampilkan MariaDB [(none)] menandakan bahwa database MySQL telah berhasil dibuka dan kita sudah masuk ke dalamnya. Untuk keluar dari database tersebut gunakan perintah exit. Jika dari awal kita sudah mengetahui lokasi dari file mysql.exe, maka kita cukup menuliskan lokasi tersebut dalam cmd (jangan lupa disertai -u root -p).

2.2 Struktur Dasar dari Query SQL

Query SQL yang digunakan memiliki struktur yang digambarkan pada tabel berikut (berikan titik koma ; setiap akhir query):

Tabel 2.1 Struktur dasar query SQL
No
Query
Kegunaan
1
Show Databases
Menampilkan list database
2
Show Tables
Menampilkan list tabel dari suatu database
3
Use Database <DB Name>
Masuk ke dalam database tertentu
4
Select <attributes> From <table name>
Menampilkan data dari atribut-atribut pada suatu tabel
5
Desc <table name>
Mendeskripsikan atau menampilkan struktur dari suatu tabel
DDL

5
Create Database <DB
Name>
Membuat database baru
6
Create Table <table name> (<attributes>)
Membuat tabel baru beserta atribut-atributnya
7
Alter…
Merubah struktur dari suatu tabel
8
Drop…
Menghapus database, tabel, atribut dari tabel
DML

9
Insert INTO <table name>
(<attributes>)
Values(<values>)
Memasukkan data baru ke dalam suatu tabel
10
Update <table name> Set …
Merubah data dari suatu tabel
11
Delete From <table name>
Menghapus data dari suatu tabel

2.3 Operasi Dasar SQL

Perhatikan pada cmd, tertulis MariaDB[(none)]. None menandakan belum ada database dipilih. Untuk melihat list database, gunakan SHOW DATABASES;.
Gambar 2. 8 Menampilkan list database dengan SHOW DATABASES
Pada Bab 1 sebelumnya, telah dibangun database dengan nama sistem_informasi_desa.
Untuk membuka database tersebut, gunakan query USE sistem_informasi_desa;.
Gambar 2. 9 Query USE perpustakaan digunakan untuk membuka database perpustakaan

Perhatikan bahwa yang awalnya bertuliskan MariaDB[(none)] sekarang menjadi MariaDB[perpustakaan]. Tampilan ini menandakan bahwa database yang digunakan saat ini adalah perpustakaan.
Pada Bab sebelumnya juga dibangun suatu tabel untuk database perpustakaan. Untuk menampilkan list tabel dari suatu database, gunakan query SHOW TABLES;.


Gambar 2. 10 Query SHOW TABLES untuk menampilkan list tabel
Perhatikan bahwa ada satu tabel pada database sistem_informasi_desa, yaitu tabel desa. Untuk dapat menampilkan struktur tabel buku tersebut, gunakan query DESC desa;.
Gambar 2. 11 Struktur tabel buku ditampilkan dengan DESC buku
Untuk dapat menampilkan data buku, gunakan query SELECT * FROM desa;.
Tanda * menandakan bahwa yang ditampilkan adalah data untuk semua atribut.
Gambar 2. 12 SELECT * FROM buku digunakan untuk menampilkan data pada tabel desa
Sedangkan untuk menampilkan data dari beberapa atribut saja, dapat dengan menyebutkan nama-nama atributnya. Contoh, jika kita ingin menampilkan atribut nama_desa, gunakan query SELECT nama_desa FROM desa;.
Gambar 2. 13 Tampilan data dari atribut judul dan pengarang pada tabel buku

2.4 SQL Data Definition

Data definition terdiri atas membangun, merubah struktur atau meniadakan database atau tabel. 

2.4.1 Merubah struktur suatu tabel

Struktur dari suatu tabel dapat diubah dengan menggunakan perintah ALTER. Perubahan yang dapat dilakukan adalah penambahan suatu atribut, perubahan nama dan tipe suatu atribut, dan menghapus suatu atribut. 

2.4.1.1 Merubah nama atribut dari suatu tabel

Gunakan ALTER TABLE namatabel CHANGE atr_awal atr_skrg datatype;.

2.4.1.2 Merubah tipe data dari suatu atribut

Gunakan ALTER TABLE namatabel MODIFY COLUMN column_name datatype;. Misal ingin dilakukan perubahan tipe data dari atribut Nama_desa dari varchar(10) menjadi varchar(20). Query yang diberikan adalah:
ALTER TABLE desa MODIFY COLUMN nama_desa varchar(20);
Gambar 2. 14 Perubahan tipe data dari suatu atribut

2.4.1.3 Menghapus suatu atribut

Gunakan ALTER TABLE namatabel DROP namaatribut. Misal ingin dilakukan penghapusan atribut Nama_desa pada tabel desa. Query yang diberikan adalah:
ALTER TABLE buku DROP penerbit;

Gambar 2. 15 Menghapus suatu atribut dari tabel

2.4.1.4 Menambahkan suatu atribut

Misal dibutuhkan suatu penambahan atribut baru, dapat menggunakan struktur:
ALTER TABLE namatable ADD atribut datatype;
Misal ingin ditambahkan atribut nama_desa pada tabel desa tersebut. Query yang dapat digunakan adalah sebagai berikut:
ALTER TABLE desa ADD nama_desa varchar;
Gambar 2. 16 Penambahan atribut stok pada tabel buku
2.4.1.5 Menghapus primary key
Perhatikan pada tabel desa tersebut, atribut id_desa diset sebagai primary key. Sekarang kita akan menjadikan PK tidak lagi pada atribut id_desa dengan query
ALTER TABLE desa DROP PRIMARY KEY;
Gambar 2. 17 Menghapus primary key dari suatu tabel

2.4.2 Menghapus Tabel dan Database

Untuk menghapus suatu tabel, gunakan query DROP TABLE namatabel. Misal jika ingin menghapus tabel desa, gunakan query sebagai berikut:
DROP TABLE desa;
Gambar 2. 18 DROP TABLE desa menyebabkan database tidak memiliki tabel
Untuk menghapus suatu database, gunakan query DROP DATABASE namadatabase. Misal jika ingin menghapus database sistem_informasi_desa dapat menuliskan query sebagai berikut:
DROP DATABASE sistem_informasi_desa;
Gambar 2. 19 Hasil DROP DATABASE

2.4.3 Membangun Database dan Tabel

2.4.3.1 Membangun database

Berikut adalah list dari database yang dimiliki:

Gambar 2. 20 membangun database
Misal diinginkan membangun database baru yang bernama si_desa. Dapat menggunakan query berikut:
CREATE DATABASE si_desa;
Gambar 2. 21 create database

2.4.3.2 Membangun tabel

Dimisalkan akan dibangun tabel desa dengan atributnya adalah id_desa (sebagai PK) dan nama_desa. Query yang digunakan adalah sebagai berikut:
Gambar 2. 22 Pembangunan tabel

TUGAS BESAR PPEMROGRAMAN VISUAL