• Tidak ada hasil yang ditemukan

QUERY MYSQL DML DAN DCL 202404010 HELGI NUR ALLAMSYAH

N/A
N/A
Diva Oryza Sativa

Academic year: 2025

Membagikan "QUERY MYSQL DML DAN DCL 202404010 HELGI NUR ALLAMSYAH"

Copied!
14
0
0

Teks penuh

(1)

LAPORAN TUGAS PRATIKUM

QUERY MYSQL DML (DATA MANIPULATION LANGUAGE) DAN DCL (DATA CONTROL LANGUAGE)

Diajukan Untuk memenuhi Salah Satu Tugas / Praktikum Mata Kuliah Sistem Basis Data

Dosen Pengampu : Sukrina Herman S.T., M.T.

Disusun Oleh :

Helgi Nur Allamsyah [ 202404010 ]

POLITEKNIK ENJINERING INDORAMA TEKNOLOGI REKAYASA PERANGKAT LUNAK

TAHUN 2024/2025

(2)

Memasuki MariaDB

Syntax:

mariadb -u root -p Hasil:

Gambar 1. Tampilan Login MariaDB Deskripsi:

Perinah mariadb -u root -p digunakan untuk masuk ke dalam server MariaDB sebagai pengguna root. Opsi -p akan meminta pengguna untuk memasukkan password yang telah ditentukan sebelumnya. Jika berhasil, akan tampil prompt MariaDB [(none)]> yang menandakan Koneksi ke server berhasil dilakukan

1. Membuat dan Menampilakn Daftar Database

Syntax:

CREATE DATABASE siapah;

SHOW DATABASES;

Hasil:

Gambar 2. Tampilan setelah membuat dan menampilkan database Deskripsi:

Perintah CREATE DATABASE siapah; digunakan untuk membuat sebuah database baru dengan nama siapah. Setelah database berhasil dibuat, perintah SHOW DATABASES; digunakan untuk menampilkan semua database yang tersedia di server MariaDB. Jika berhasil, database siapah akan

(3)

muncul dalam daftar bersama dengan database default lainnya seperti mysql, information_schema, dll.

2. Membuat Tabel pengumpulan_sampah dalam Database siapah

Syntax:

USE siapah;

CREATE TABLE pengumpulan_sampah ( id BIGINT PRIMARY KEY,

nama_user VARCHAR(100),

role_user ENUM('warga', 'petugas'), nama_kategori VARCHAR(50), nama_sampah VARCHAR(100), satuan VARCHAR(20),

jumlah DECIMAL(10, 2), poin_per_satuan INT, total_point INT,

tanggal_pengumpulan DATE );

SHOW TABLES;

DESC siapah.pengumpulan_sampah;siapah;

Hasil:

Gambar 3. Tabel pengumpulan_sampah berhasil dibuat

(4)

Gambar 4. Tampilan struktur serta daftarnya Deskripsi:

Perintah USE siapah; digunakan untuk memilih database siapah sebagai konteks aktif sebelum membuat tabel.

Selanjutnya, CREATE TABLE pengumpulan_sampah (...) digunakan untuk membuat tabel dengan nama pengumpulan_sampah yang menyimpan data aktivitas pengumpulan sampah oleh pengguna. Struktur tabel terdiri dari berbagai kolom seperti id, nama_user, role_user (menggunakan tipe ENUM), jumlah, total_point, hingga tanggal pengumpulan.

Perintah SHOW TABLES; menampilkan semua tabel yang ada dalam database siapah, dan DESC siapah.pengumpulan_sampah; digunakan untuk menampilkan struktur dari tabel tersebut, termasuk nama kolom, tipe data, dan kunci primer.

3. Membuat Tabel pengumpulan_sampah dalam Database siapah

Syntax:

INSERT INTO siapah.pengumpulan_sampah (

id, nama_user, role_user, nama_kategori, nama_sampah, satuan, jumlah, poin_per_satuan, total_point, tanggal_pengumpulan

)

VALUES

(1, 'Hans', 'warga', 'Anorganik', 'Botol Plastik', 'kg', 2.00, 10, 20, '2025-06-17'), (2, 'Sari', 'warga', 'Organik', 'Daun Kering', 'kg', 1.50, 5, 8, '2025-06-16'), (3, 'Dimas', 'petugas', 'B3', 'Baterai Bekas', 'pcs', 5, 20, 100, '2025-06-15'), (4, 'Rina', 'warga', 'Anorganik', 'Kardus', 'kg', 3.25, 8, 26, '2025-06-14'),

(5)

(5, 'Andi', 'warga', 'Organik', 'Sisa Sayuran', 'kg', 1.80, 5, 9, '2025-06-13'), (6, 'Mega', 'warga', NULL, 'Kaleng Bekas', 'kg', 2.50, 12, 30, '2025-06-12');

SELECT * FROM siapah.pengumpulan_sampah;

Hasil:

Gambar 5. Data berhasil ditambahkan ke tabel

Gambar 6. Tampilan dalam hasil query SELECT Deskripsi:

Perintah INSERT INTO digunakan untuk menambahkan enam baris data ke tabel pengumpulan_sampah. Data mencakup berbagai atribut seperti nama pengguna, peran (role_user), jenis sampah, jumlah, poin per satuan, total poin, dan tanggal pengumpulan.

Salah satu nilai nama_kategori pada data user Mega menggunakan NULL, menunjukkan bahwa kategori tidak diisi.

Setelah data dimasukkan, perintah SELECT * FROM siapah.pengumpulan_sampah; digunakan untuk menampilkan seluruh isi tabel. Hasilnya menunjukkan data yang berhasil ditambahkan, memungkinkan pengguna untuk memverifikasi bahwa setiap kolom telah terisi sesuai dengan struktur tabel yang telah dibuat.

4. Memperbarui Data pada Tabel pengumpulan_sampah

Syntax:

UPDATE siapah.pengumpulan_sampah

SET siapah.pengumpulan_sampah.nama_kategori = 'Anorganik'

(6)

WHERE siapah.pengumpulan_sampah.id = 6;

SELECT * FROM siapah.pengumpulan_sampah;

Hasil:

Gambar 7. Data pada kolom nama_kategori dengan id = 6 berhasil diperbarui Deskripsi:

Perintah UPDATE digunakan untuk memperbarui nilai pada kolom nama_kategori di tabel pengumpulan_sampah. Pada kasus ini, baris dengan id = 6 (yang sebelumnya memiliki nama_kategori NULL) diubah menjadi 'Anorganik'.

Perintah WHERE sangat penting di sini karena menentukan baris mana yang akan diperbarui. Tanpa WHERE, semua baris akan terdampak.

Setelah eksekusi UPDATE, perintah SELECT * dijalankan untuk menampilkan seluruh isi tabel. Dari hasil tersebut, dapat dipastikan bahwa data pada baris id = 6 kini telah memiliki nama_kategori yang sesuai.

5. Menghapus Data pada Tabel pengumpulan_sampah

Syntax:

DELETE FROM siapah.pengumpulan_sampah WHERE siapah.pengumpulan_sampah.id = 4;

SELECT * FROM siapah.pengumpulan_sampah Hasil:

(7)

Gambar 8. Data dengan id = 4 berhasil dihapus dan tidak lagi muncul saat SELECT Deskripsi:

Perintah DELETE FROM digunakan untuk menghapus data dari tabel pengumpulan_sampah.

Dalam kasus ini, data yang dihapus adalah baris dengan id = 4, yaitu milik user Rina yang sebelumnya menyetorkan Kardus.

Kondisi WHERE siapah.pengumpulan_sampah.id = 4 memastikan bahwa hanya baris dengan ID tersebut yang dihapus. Jika WHERE dihilangkan, seluruh data dalam tabel akan terhapus.

Setelah perintah DELETE, perintah SELECT * digunakan kembali untuk menampilkan seluruh data pada tabel dan memverifikasi bahwa baris dengan ID 4 sudah tidak ada lagi.

6. Menampilkan Data Berdasarkan Kondisi (WHERE)

Syntax:

SELECT * FROM siapah.pengumpulan_sampah;

SELECT * FROM siapah.pengumpulan_sampah

WHERE siapah.pengumpulan_sampah.role_user = 'petugas';

Hasil:

Gambar 9. Tabel pengumpulan_sampah sebelum difilter

(8)

Gambar 10. Hasil filter data dengan role_user = 'petugas' Deskripsi:

Perintah SELECT * FROM siapah.pengumpulan_sampah; digunakan untuk menampilkan seluruh data yang ada di tabel tanpa filter apapun.

Kemudian, perintah kedua SELECT * FROM siapah.pengumpulan_sampah WHERE role_user = 'petugas'; digunakan untuk menyaring dan hanya menampilkan baris data di mana kolom role_user bernilai 'petugas'. Dari hasil ini, hanya pengguna dengan peran petugas yang ditampilkan.

Klausa WHERE sangat berguna dalam menyeleksi data berdasarkan kondisi tertentu untuk keperluan analisis atau pelaporan yang lebih spesifik.

7. Mengurutkan Data Berdasarkan Kolom (ORDER BY)

Syntax:

SELECT * FROM siapah.pengumpulan_sampah

ORDER BY siapah.pengumpulan_sampah.nama_sampah ASC;

SELECT * FROM siapah.pengumpulan_sampah

ORDER BY siapah.pengumpulan_sampah.nama_sampah DESC;

Hasil:

Gambar 11. Data diurutkan berdasarkan nama_sampah secara ascending (A-Z)

(9)

Gambar 12. Data diurutkan berdasarkan nama_sampah secara descending (Z-A) Deskripsi:

Perintah ORDER BY digunakan untuk mengurutkan hasil query berdasarkan kolom tertentu. Pada kasus ini, kolom yang digunakan adalah nama_sampah.

a. Perintah ORDER BY nama_sampah ASC akan mengurutkan data berdasarkan abjad dari A ke Z (ascending).

b. Sedangkan ORDER BY nama_sampah DESC akan mengurutkan dari Z ke A (descending).

Fungsi ini berguna untuk menampilkan data secara terstruktur dan memudahkan pembacaan atau pencarian informasi tertentu.

8. Mengelompokkan Data Berdasarkan nama_user (GROUP BY)

Syntax:

SELECT * FROM siapah.pengumpulan_sampah GROUP BY siapah.pengumpulan_sampah.nama_user;

Hasil:

Gambar 13. Hasil pengelompokan data berdasarkan kolom nama_user Deskripsi:

Perintah GROUP BY digunakan untuk mengelompokkan baris data yang memiliki nilai sama pada kolom tertentu. Dalam hal ini, data dikelompokkan berdasarkan nilai dari kolom nama_user.

Namun, perlu diperhatikan bahwa ketika menggunakan GROUP BY tanpa fungsi agregasi seperti COUNT(), SUM(), atau AVG(), maka hasil yang ditampilkan adalah satu baris per nilai unik pada kolom nama_user, dan nilai-nilai pada kolom lain akan dipilih secara acak dari salah satu baris yang termasuk dalam grup tersebut.

(10)

Untuk penggunaan GROUP BY yang optimal, sebaiknya dikombinasikan dengan fungsi agregat jika kita ingin menghitung, menjumlahkan, atau mengambil informasi statistik dari kelompok tersebut.

9. Membuat User Baru dan Memberikan Hak Akses (GRANT)

Syntax:

CREATE USER 'hans'@'localhost' IDENTIFIED BY 'hans123';

GRANT SELECT, INSERT, DELETE ON siapah.pengumpulan_sampah TO 'hans'@'localhost';

SHOW GRANTS FOR 'hans'@'localhost';

Hasil:

Gambar 14. User hans berhasil dibuat dan diberikan hak akses, ditampilkan melalui SHOW GRANTS

Deskripsi:

a. Perintah CREATE USER 'hans'@'localhost' IDENTIFIED BY 'hans123';

digunakan untuk membuat user baru bernama hans dengan password hans123. User ini hanya dapat mengakses server dari localhost.

b. Perintah GRANT SELECT, INSERT, DELETE ON siapah.pengumpulan_sampah TO 'hans'@'localhost';

memberikan hak akses terbatas kepada user tersebut, yaitu hanya bisa melakukan SELECT, INSERT, dan DELETE pada tabel pengumpulan_sampah di database siapah.

c. SHOW GRANTS FOR 'hans'@'localhost';

digunakan untuk menampilkan daftar hak akses (privileges) yang dimiliki oleh user tersebut.

Hasilnya akan menunjukkan perintah GRANT yang setara dengan hak akses yang diberikan sebelumnya.

Penggunaan GRANT penting dalam pengelolaan keamanan database agar setiap user hanya dapat melakukan aksi sesuai kebutuhan.

10. Mencabut Hak Akses dari User (REVOKE)

(11)

Syntax:

REVOKE DELETE ON siapah.pengumpulan_sampah FROM 'hans'@'localhost';

SHOW GRANTS FOR 'hans'@'localhost';

Hasil:

Gambar 15. User hans berhasil dibuat dan diberikan hak akses, ditampilkan melalui SHOW GRANTS

Deskripsi:

Perintah REVOKE digunakan untuk mencabut hak akses tertentu dari seorang user. Dalam praktik ini:

a. Perintah REVOKE DELETE ON siapah.pengumpulan_sampah FROM 'hans'@'localhost';

digunakan untuk mencabut hak akses DELETE yang sebelumnya telah diberikan kepada user hans terhadap tabel pengumpulan_sampah pada database siapah.

b. Setelah perintah dieksekusi, SHOW GRANTS FOR 'hans'@'localhost'; dijalankan kembali untuk memverifikasi perubahan. Hasilnya akan menunjukkan bahwa hak akses DELETE sudah tidak lagi dimiliki oleh user tersebut, namun akses SELECT dan INSERT masih tetap tersedia.

Penggunaan REVOKE penting untuk memastikan bahwa akses terhadap data tetap terkontrol, terutama ketika kebutuhan atau peran user mengalami perubahan.

11. Menyimpan Perubahan Data dengan Transaksi (COMMIT)

Syntax:

START TRANSACTION;

INSERT INTO siapah.pengumpulan_sampah (

id, nama_user, role_user, nama_kategori, nama_sampah, satuan, jumlah, poin_per_satuan, total_point, tanggal_pengumpulan

)

VALUES (

6, 'Rina', 'warga', 'Anorganik', 'Kardus', 'kg', 3.25, 8, 26, '2025-06-14' );

(12)

COMMIT;

Hasil:

Gambar 16. Data dengan id = 6 berhasil dimasukkan setelah transaksi dikonfirmasi dengan COMMIT

Deskripsi:

a. START TRANSACTION; digunakan untuk memulai sebuah transaksi. Ini memungkinkan serangkaian perintah SQL dilakukan secara atomic — yaitu, dijalankan semua atau tidak sama sekali.

b. Perintah INSERT INTO digunakan untuk menambahkan data baru ke tabel pengumpulan_sampah. Data yang dimasukkan adalah milik user Rina yang menyetorkan Kardus.

c. COMMIT; digunakan untuk menyimpan secara permanen perubahan yang dilakukan dalam transaksi ke database.

Jika perintah COMMIT tidak dijalankan, maka perubahan yang telah dilakukan dalam transaksi tidak akan diterapkan secara permanen, dan bisa dibatalkan dengan ROLLBACK.

12. Membatalkan Perubahan Data dengan Transaksi (ROLLBACK)

Syntax:

START TRANSACTION;

(13)

INSERT INTO siapah.pengumpulan_sampah (

id, nama_user, role_user, nama_kategori, nama_sampah, satuan, jumlah, poin_per_satuan, total_point, tanggal_pengumpulan

)

VALUES (

7, 'Rina', 'warga', 'Anorganik', 'Kardus', 'kg', 3.25, 8, 26, '2025-06-14' );

SELECT * FROM siapah.pengumpulan_sampah;

ROLLBACK;

SELECT * FROM siapah.pengumpulan_sampah;

Hasil:

Gambar 17. Data dengan id = 7 muncul setelah perintah INSERT dalam transaksi aktif

(14)

Gambar 18. Data tersebut hilang kembali setelah ROLLBACK dijalankan Deskripsi:

a. START TRANSACTION; memulai sebuah blok transaksi baru.

b. Kemudian dilakukan perintah INSERT untuk menambahkan baris baru ke dalam tabel, yaitu user Rina dengan data pengumpulan kardus.

c. Perintah SELECT * pertama menunjukkan bahwa data telah sementara muncul di tabel, karena masih dalam konteks transaksi yang belum dikonfirmasi.

d. ROLLBACK; digunakan untuk membatalkan semua perubahan yang dilakukan sejak START TRANSACTION. Ini akan menghapus kembali baris yang baru saja ditambahkan.

e. Perintah SELECT * kedua menunjukkan bahwa data dengan id = 7 sudah tidak ada lagi, karena transaksi dibatalkan sebelum dikomit.

Fitur ini sangat bermanfaat ketika kita ingin menguji atau membatalkan proses sebelum menyimpan perubahan ke dalam database secara permanen.

Referensi

Dokumen terkait

Seperti yg telah dijelaskan dalam jurnal, user diberikan hak akses berupa proses upload maka pada sistem yang akan dibangun menggunakan pembatas harddisk dengan menggunakan disk

Pengujian eksekusi perintah shutdown dilakukan dengan menggunakan aplikasi monitoring, pada setiap user diberikan hak akses yang sama untuk melakukan eksekusi.

Sistem memiliki dua actors yaitu admin yang mempunyai hak akses untuk melakukan input, update soal, delete ujian, manage soal, jawaban, nilai dan data user,

penyuluhan,pembentukan satuan tugas pengumpul data yuridis, pengumpulan data yuridis,pengolahan data yuridis dan pembuktian hak, pemeriksaan tanah dan pengukuran,