final project

Data Manipulation Language – SQL : Final Project Basis Data III

Data Manipulation Language menjadi materi utama modul ini, di mana kita akan mengisi basis data dengan data pelanggan, karyawan, tanggungan, departemen dan data lain yang terkait.

Agenda :

🟒 Pengantar: persiapan (login freesql)

🟒 Check Data Definition Language

🟒 Login akun gmail (wajib bagi ketua kelompok)

🟒 Data Manipulation Language


βœ… Pengantar & Persiapan

Pertama akses terlebih dahulu https://freesql.com/, kemudian login dengan menekan tombol “Sign In” di pojok kanan atas. Simak tangkapan layar di bawah ini. Masukkan email dan password dan tekan tombol Sign In.

Kode verifikasi akan dikirimkan ke email.

Cek kembali email dan masukkan kode yang diberikan.

Masukkan kode ke input passcode pada formulir email verification.

Atau buka link berikut : https://playcode.io/sql-compiler karena keterbatasan freesql dalam menangani data definition language yang berulang.

βœ… Check Data Definition Language

Bagi teman-teman yang belum menyelesaikan modul Data Definition Language harus menyelesaikan semua kode DDL terlebih dahulu. Jika dirasa kode yang dibuat memiliki banyak error lakukan penghapusan semua tabel yang ada.

Unduh kode pembuatan tabel atau kode DDL basis data di folder kelompok masing-masing. (Akses intip.in/kel[KELASBERAPA]basdat; ganti tanda [KELASBERAPA] dengan kelompok kelas) atau bisa klik link berikut untuk kode DDL dasar.

Buka kode dengan klik link di atas, maka akan terbuka tab baru. Salin semua kode dan tempel di freesql atau di sqliteonline. Jalankan command. Jika menggunakan playcode buka file kasir_ddl_playcode.sql salin semua kode dan tempel pada halaman playcode.io.

data manipulation language

Pada tahap ini, basis data kita telah siap untuk diisi dengan baris per baris record data. Pastikan tidak ada error dan hitung jumlah tabel. Terdapat 9 tabel termasuk ulasan toko.

βœ… Data Manipulation Language

Data Manipulation Language adalah sekumpulan perintah yang digunakan untuk mengelola dan memanipulasi data dalam database. DML memungkinkan pengguna untuk melakukan operasi seperti menambah, mengubah, menghapus, dan mencari data yang ada dalam tabel.

Perintah-perintah utama DDL:

  1. INSERT : digunakan untuk menambah data baru ke dalam tabel
  2. UPDATE : digunakan untuk memperbarui data yang sudah ada dalam tabel
  3. DELETE : digunakan untuk menghapus data dalam tabel
  4. SELECT : digunakan untuk mengambil atau membaca data dari satu atau lebih tabel dalam database

πŸ’» INSERT

Sintaks insert digunakan untuk memasukkan data baru. Sebelumnya, lihat tabel berikut untuk cara membaca kode yang disediakan di modul ini.

WARNAKETERANGAN
BiruTemplate: merupakan format umum bagaimana kode harus ditulis. Ganti kata yang berbahasa indonesia sesuai kebutuhan.
Biru mudaContoh: merupakan contoh penggunaan kode pada template menggunakan nama basis data, nama tabel atau nama kolom yang dibutuhkan.
OrangeContoh kode namun tidak perlu dieksekusi.
</> Memasukkan Data

atau

Mari kita coba masukkan data pelanggan berikut ke tabel PELANGGAN.

Nama KolomData
id_pelanggan1
namaAzzatalini Kiara
alamatSukolilo, Surabaya
no_hp081235676444
emailazzatalinikia@gmail.com

Namun sebelumnya, buat file baru untuk DML. Lebih baik pisahkan file DDL dan DML. Lakukan klik pada Worksheet kemudian pilih menu “New File” > “PL/SQL”

Jika kita jalankan di freesql, maka akan muncul error. Error ini terjadi karena panjang karakter yang diperbolehkan kurang untuk email pelanggan. Selain itu, agar NO_HP tersimpan dengan baik kita akan memperpanjang panjang data INT ke NUMBER(12). Lihat error pada tangkapan layar di bawah ini untuk lebih detail.

πŸ”₯ Quiz (30 menit)

Agar data di atas dapat dimasukkan ke tabel pelanggan maka ada beberapa perubahan yang harus kita lakukan. Mari uji pemahaman teman-teman dan jawab kuis pada tabel.

SoalFormat/Template Code
1Ubah tipe kolom “email” pada tabel PELANGGAN menjadi VARCHAR(50)ALTER TABLE nama_tabel
MODIFY nama_kolom TIPE_DATA;
atau
ALTER TABLE nama_tabel
ALTER nama_kolom TYPE tipe_data;
2Isi tabel dengan kode di bawah ini:
INSERT INTO PELANGGAN(ID_PELANGGAN, NAMA, ALAMAT, NO_HP, EMAIL) VALUES (1, 'Azzatalini Kiara', 'Sukolilo, Surabaya', 081235676444, 'azzatalinikia@gmail.com');
3Isi tabel pelanggan yang sudah diperbaiki dengan data diri kalian. Gunakan id_pelanggan 2INSERT INTO nama_tabel (nama_kolom1, nama_kolom2, …, nama_kolomn)
VALUES (value1, value2, …, valuen);
4*Isi tabel pelanggan yang sudah diperbaiki dengan data dummy tanpa menyebutkan kolomnya pada sintaks SQL dengan id_pelanggan 10INSERT INTO nama_tabel
VALUES (value1, value2, …, valuen);
5*Isi tabel pelanggan yang sudah diperbaiki dengan data dummy dengan urutan kolom ID_PELANGGAN, NAMA, NO_HP, EMAIL, ALAMAT dengan id_pelanggan 11INSERT INTO nama_tabel (nama_kolom, nama_kolom, …, nama_kolom)
VALUES (value, value, …, value);

Keterangan : 

  1. Ubah nama_tabel dengan β€œPELANGGAN”
  2. Ubah nama_kolom sesuai nama kolom yang diminta pada soal
  3. Ubah TIPE_DATA sesuai tipe data yang diminta pada soal
  4. Ubah value dengan isian data kalian
  5. Soal yang bertanda bintang wajib dikerjakan untuk kelas R2, sedangkan untuk kelas lain sifatnya tambahan namun tetap dikerjakan.

Buat kode di freesql untuk menjawab soal dan jalankan. Kemudian coba masukkan data yang tadi masih error (data pelanggan atas nama Azzatalini Kiara). Terakhir, tambahkan data pelanggan baru yang berisi data kalian sendiri. Jika berhasil pada nomor 1 sampai 3 di atas, lakukan sintaks berikut:

Maka akan terlihat seperti pada tangkapan layar berikut ini.

Submit jawaban ke : https://forms.gle/xqCS7SfhFH2abhzG7

βœ… Pengisian Seluruh Tabel

Kita akan isi keseluruhan tabel dengan data berikut.

⊞ Tabel PELANGGAN

Cek data pada tabel pelanggan menggunakan sintaks:

Data yang ditampilkan tidak selalu urut karena berhubungan dengan beberapa aspek seperti optimasi query, himpunan, logical order dan penyimpanan fisik pada perangkat.

⊞ Tabel PRODUK

Pada tabel produk juga terdapat kesalahan yaitu tidak adanya kolom harga. Mari kita tambahkan sekaligus memasukkan data produk.

⊞ Tabel DEPARTEMEN

Pada tabel DEPARTEMEN kita menuliskan nama kolom yang akan diisi karena jumlah pada tiap baris data yang dimasukkan tidak sama dengan jumlah kolom yang tersedia. Hal tersebut karena kita belum bisa mengisi data manajer jika tabel KARYAWAN belum terisi. Tabel DEPARTEMEN memiliki 4 kolom, dan untuk saat ini kita belum punya NIK karyawan yang menjadi manajer.

⊞ Tabel KARYAWAN

Berikut data karyawan salin dan tempel di freesql. Perhatikan bahwa kita dapat memasukkan beberapa baris data sekaligus tanpa mengulang sintaks INSERT INTO.

⊞ Tabel HOBI_KARYAWAN

Salin, tempel dan jalankan kode berikut untuk mengisi tabel HOBI_KARYAWAN.

⊞ Tabel TRANSAKSI & DETAIL_TRANSAKSI

Berikut merupakan pembelian yang dilakukan pelanggan. Untuk memasukkan data ke kedua tabel, pertama kita input data ke tabel TRANSAKSI terlebih dahulu. Jika nomor transaksi yang menjadi PRIMARY KEY sudah ada pada tabel TRANSAKSI, maka kita bisa menggunakannya untuk menjadi FOREIGN KEY pada tabel DETAIL_TRASAKSI (yang merupakan tabel karena adanya relasi many-to-may).

NoPelangganDetail TransaksiKasir
1
Dendy Ananda
2 Bakpia
1 Bolus Kukus
12 Bolen Pisang
Dewi Kadita
2Azzatalini Kiara5 Donat Kentang
6 Bolen Pisang
Dewi Kadita
3Dendy Ananda5 Bolen Pisang
2 Donat Kentang
Dewi Kadita
4Dendy Ananda1 Bolu KukusDewi Kadita
5Lee Kwang So12 Bolen PisangDewi Rati
6Azzatalini Kiara3 Bakpia
2 Bolu Kukus
Dewi Rati
7Lee Kwang So12 Donat KentangDewi Arimbi

Namun sebelumnya, ada fitur pada AUTO_INCREMENT yang akan kita implementasi pada tabel TRANSAKSI. AUTO_INCREMENT digunakan untuk menghasilkan pengenal unik untuk baris baru dalam tabel. Atribut ini sering diterapkan pada kolom kunci utama.

Mari kita inputkan data transaksi dan produk yang dibeli tiap pelanggan. Sebelumnya kita harus mengetahui NIK pelanggan dan NIK karyawan pada transaksi pertama.

NoPelangganDetail TransaksiKasir
1
Dendy Ananda
2 Bakpia
1 Bolus Kukus
12 Bolen Pisang
Dewi Kadita

Hasilnya adalah id_pelanggan = 4

Sedangkan kasir yang melayani memiliki nik = 3333333333333331

Kita tidak akan menyimpan harga total dari jumlah yang dibeli pada tiap barang (tidak menghitung jumlah barang * harga barang).  Maka kolom harga_total_item dihapus.

Kita lanjutkan untuk semua transaksi.

βœ… Penyimpanan Code

Lakukan penyimpanan pada kode yang sudah dibuat. Pertama, klik SQL Worksheet yang berada di pojok kiri atas editor. Pilih “Save”

Isikan nama file dan klik tombol “Save”.

βœ… Pengumpulan Hasil

Upload hasil yang sudah dikerjakan ke folder kelompok masing-masing. Mahasiswa yang akan mengunggah harus login gmail terlebih dahulu. Silahkan ikuti langkah berikut untuk mengunduh hasil kode yang telah dibuat dan yang akan diunggah ke folder kelompok.

  1. Klik gambar file dengan tanda panah ke bawah .

2. Simpan file di komputer, kemudian upload ke Google Drive.



Leave a Reply

Your email address will not be published. Required fields are marked *

Comments

Index