Rabu, 18 November 2020

Database - Praktek DML menggunakan CMD

 Asslamualaikum Warahmatullahi Wabarokatuh.

Halo teman-teman, kali ini kita akan membahas tentang DML (Data Manipulation Language). Nah kebetulan ini adalah tugas kuliah saya. Semoga dapat membantu teman-teman semua ya. Selamat belajar!




A. TUGAS

Dengan perintah DML, isikanlah data-data berikut kedalam tabel. Membuat database dengan nama (Nama anda_NIM_Golongan_Tugas). Selain itu, terapkan beberapa perintah DML pada tabel yang anda buat.

Tabel yang harus dibuat:










B. KUTIPAN MATERI

DML atau singkatan dari Data Manipulation Language merupakan kumpulan perintah yang berfungsi untuk memanipulasi data pada database.

Memanipulasi data berarti : 

  1. Retrieval : mengambil informasi dari database 
  2. Insertion : menambahkan data baru ke database 
  3. Deletion : menghapus data dari database 
  4. Modification : mengubah data dalam database
Macam-Macam Perintah Data Manipulation Language (DML):
  1. Insert : perintah yang digunakan untuk memasukan data
  2. Update : perintah yang digunakan untuk memperbarui isi data
  3. Delete : perintah yang digunakan untuk melakukan penghapusan data
  4. Select : perintah ini digunakan untuk menampilkan data


C. PEMBAHASAN

1. MEMBUAT DATABASE

  • Pastikan kita sudah mengaktifkan MySQL dan Apache pada aplikasi XAMPP. Setelah itu tekan Windows + R pada keyboard untuk mengaktifkan Command Prompt.
  • Setelah Command Prompt (CMD) kita terbuka, pastikan kita kembali ke Local Disk C dengan megetikkan syntax: cd /
  • Kemudian buka direktori xampp/mysql/bin dengan syntax berikut: cd xampp/mysql/bin
  • Login ke MySQL sebagai root agar kita dapat membuat dan menampilkan database. Syntaxnya adalah sebagai berikut: mysql –u root 
  • Setelah itu, kita dapat melihat daftar database yang sudah pernah kita buat sebelumnya dengan mengetikkan syntax: show tables; 
  • Sekarang kita dapat membuat database baru dengan nama (Nama anda_NIM_Golongan_Tugas). Ketikkan syntax sebagai berikut: create database Tamara_E411XXXXX_GolABondowoso_TugasDML; 
  • Kemudian cek apakah database sudah berhasil kita buat. Biasanya nama database akan berubah menjadi huruf kecil semua seperti pada contoh. Untuk melihat daftar database, ketikkan syntax: show databases; 
  • Setelah database berhasil dibuat, sekarang kita akan menggunakan database tersebut dengan mengetikkan: use tamara_e411XXXXX_golabondowoso_tugasdml; 
  • Maka sekarang kita sudah berhasil membuka database yang sudah kita buat. Kata “none” berubah menjadi nama database yang tadi kita ketikkan. 

2. MEMBUAT TABEL 

  • Setelah kita membuka database tadi, sekarang kita dapat membuat 5 tabel tugas yaitu tabel nasabah, cabang_bank, rekening, nasabah_has_rekening, dan transaksi. Selain itu, saya juga menambahkan tabel praktekdelete untuk mempermudah praktek delete nantinya tanpa melakukan penghapusan pada tabel yang ditugaskan.
  • Membuat tabel nasabah. 
        create table nasabah 
        -> (id_nasabah int(4) not null, 
        -> nama_nasabah varchar(30) not null, 
        -> alamat_nasabah varchar(50) not null, 
        -> PRIMARY KEY (id_nasabah));
  • Membuat tabel cabang_bank.
        create table cabang_bank 
        -> (kode_cabang varchar(4) not null, 
        -> nama_cabang varchar(30) not null, 
        -> alamat_cabang varchar(50) not null, 
        -> PRIMARY KEY (kode_cabang)); 

  • Membuat tabel rekening.
        create table rekening 
        -> (no_rekening int(4) not null, 
        -> kode_cabang varchar(4) not null, 
        -> pin int(4) not null, 
        -> saldo int(7) not null, 
        -> PRIMARY KEY (no_rekening)); 
  • Membuat tabel nasabah_has_rekening. Pada tabel ini, tidak ada primary key dikarenakan id nasabah merupakan foreign key yang direferensikan dari tabel nasabah. 
        create table nasabah_has_rekening 
        -> (id_nasabah int(4) not null, 
        -> no_rekening int(4) not null);
  • Membuat tabel transaksi. 
        create table transaksi 
        -> (no_transaksi int(4) not null, 
        -> no_rekening int(4) not null, 
        -> id_nasabah int(4) not null, 
        -> jenis_transaksi varchar(10) not null, 
        -> tanggal date not null, 
        -> jumlah int(7) not null, 
        -> PRIMARY KEY (no_transaksi)); 
  • Membuat tabel tambahan praktekdelete. 
        create table praktekdelete 
        -> (id_pegawai int(4) not null, 
        -> nama_pegawai varchar(30) not null, 
        -> jabatan varchar(30) not null, 
        -> PRIMARY KEY (id_pegawai)); 
  • Menampilkan daftar tabel dengan menuliskan syntax: show tables; 

3. MENAMBAHKAN FOREIGN KEY 

  • Menambahkan foreign key pada tabel rekening. 
        alter table rekening
        -> add FOREIGN KEY (kode_cabang)
        -> REFERENCES cabang_bank (kode_cabang);

  • Berikut adalah tampilan deskripsi tabel rekening dan foreign keynya yang ditandai dengan key “MUL”. 
  • Menambahkan foreign key pada tabel nasabah_has_rekening. 
        alter table nasabah_has_rekening 
        -> add FOREIGN KEY (id_nasabah) REFERENCES nasabah (id_nasabah), 
        -> add FOREIGN KEY (no_rekening) REFERENCES rekening (no_rekening);
 
  • Berikut adalah tampilan deskripsi tabel nasabah_has_rekening dan foreign keynya yang ditandai dengan key “MUL”. 
  • Menambahkan foreign key pada tabel transaksi. 
        alter table transaksi 
        -> add FOREIGN KEY (no_rekening) REFERENCES rekening (no_rekening), 
        -> add FOREIGN KEY (id_nasabah) REFERENCES nasabah (id_nasabah); 
  • Berikut adalah tampilan deskripsi tabel transaksi dan foreign keynya yang ditandai dengan key “MUL”. 

4. INSERT 

    Setelah tabel dibuat dan memiliki foreign key, sekarang kita dapat memasukkan semua data sesuai tugas menggunakan perintah Insert. Ada beberapa cara dalam memasukkan data/record pada sebuah tabel. Kita dapat memasukkan record satu-persatu menggunakan set atau values, serta dapat memasukkan banyak record sekaligus dengan menggunakan perintah values dan langsung mengetikkan banyak record (dipisahkan tanda koma antar record). 


a)Memasukkan record pada tabel nasabah. 
  • Memasukkan 1 baris record pada tabel nasabah dengan perintah values. 
        insert into nasabah 
        -> (id_nasabah, nama_nasabah, alamat_nasabah) values 
        -> ('1', 'Ali Topan', 'Jl. Gejayan 134'); 
  • Memasukkan banyak baris record pada tabel nasabah dengan perintah values. 
        insert into nasabah    
        -> (id_nasabah, nama_nasabah, alamat_nasabah) values 
        -> ('2', 'Susi Susanti', 'Jl. Malioboro 24'), 
        -> ('3', 'Trent Reznor', 'Jl. Magelang 18'), 
        -> ('4', 'Anton Marsudi', 'Jl. Kusumanegara 30'), 
        -> ('5', 'Rina Marsudi', 'Jl. Kusumanegara 30'), 
        -> ('6', 'Sonny Wijaya', 'Jl. Perdana 8'), 
        -> ('7', 'Arthur Dent', 'Jl. Perwakilan 5'); 
  • Hasil Insert. 


b) Memasukkan record pada tabel cabang_bank. 
  • Memasukkan 1 baris record pada tabel cabang_bank dengan perintah set. 
        insert into cabang_bank 
        -> set kode_cabang='BRUS', 
        -> nama_cabang='Bank Rut Unit Selatan', 
        -> alamat_cabang='Jl. Mataram 18'; 
  • Memasukkan 1 baris record pada tabel cabang_bank dengan perintah values. 
        insert into cabang_bank 
        -> (kode_cabang, nama_cabang, alamat_cabang) values 
        -> ('BRUM', 'Bank Rut Unit Magelang', 'Jl. Magelang 69'); 
  • Memasukkan banyak baris record pada tabel cabang_bank dengan perintah values. 
        insert into cabang_bank 
        -> (kode_cabang, nama_cabang, alamat_cabang) values 
        -> ('BRUB', 'Bank Rut Unit Baru', 'Jl. Baru 99'), 
        -> ('BRUL', 'Bank Rut Unit Lama', 'Jl. Lama 1'); 
  • Hasil Insert. 

c) Memasukkan record pada tabel rekening. 
  • Memasukkan 1 baris record pada tabel cabang_bank dengan perintah set. 
        insert into rekening 
        -> set no_rekening='101', 
        -> kode_cabang='BRUS', 
        -> pin='1111', 
        -> saldo='500000'; 
  • Memasukkan 1 baris record pada tabel rekening dengan perintah values. 
        insert into rekening 
        -> (no_rekening, kode_cabang, pin, saldo) values 
        -> ('102', 'BRUS', '2222', '350000');
  • Memasukkan banyak baris record pada tabel rekening dengan perintah values. 
        insert into rekening 
        -> (no_rekening, kode_cabang, pin, saldo) values 
        -> ('103', 'BRUS', '3333', '750000'), 
        -> ('104', 'BRUM', '4444', '900000'), 
        -> ('105', 'BRUM', '5555', '2000000'), 
        -> ('106', 'BRUS', '6666', '3000000'), 
        -> ('107', 'BRUS', '7777', '1000000');
  • Hasil Insert. 

d) Memasukkan record pada tabel nasabah_has_rekening. 
  • Memasukkan 1 baris record pada tabel nasabah_has_rekening dengan perintah set. 
        insert into nasabah_has_rekening 
        -> set id_nasabah='1', 
        -> no_rekening='104'; 
  • Memasukkan 1 baris record pada tabel nasabah_has_rekening dengan perintah values. 
        insert into nasabah_has_rekening 
        -> (id_nasabah, no_rekening) values 
        -> ('2', '103'); 
  • Memasukkan banyak baris record pada tabel nasabah_has_rekening dengan perintah values. 
        insert into nasabah_has_rekening 
        -> (id_nasabah, no_rekening) values 
        -> ('3', '105'), 
        -> ('3', '106'), 
        -> ('4', '101'), 
        -> ('4', '107'), 
        -> ('5', '102'), 
        -> ('5', '107'); 
  • Hasil Insert 

e) Memasukkan record pada tabel transaksi. 
  • Memasukkan 1 baris record pada tabel transaksi dengan perintah set.  
        insert into transaksi   
        -> set no_transaksi='1', 
        -> no_rekening='105', 
        -> id_nasabah='3', 
        -> jenis_transaksi='debit', 
        -> tanggal='2003-11-10', 
        -> jumlah='50000'; 
  • Memasukkan 1 baris record pada tabel transaksi dengan perintah values. 
        insert into transaksi 
        -> (no_transaksi, no_rekening, id_nasabah, jenis_transaksi, tanggal, jumlah) values 
        -> ('2', '103', '2', 'debit', '2003-11-10', '40000'); 
  • Memasukkan banyak baris record pada tabel transaksi dengan perintah values. 
        insert into transaksi 
        -> (no_transaksi, no_rekening, id_nasabah, jenis_transaksi, tanggal, jumlah) values 
        -> ('3', '101', '4', 'kredit', '2003-11-12', '20000'), 
        -> ('4', '106', '3', 'debit', '2003-11-13', '50000'), 
        -> ('5', '107', '5', 'kredit', '2003-11-13', '30000'), 
        -> ('6', '104', '1', 'kredit', '2003-11-15', '200000'), 
        -> ('7', '101', '4', 'kredit', '2003-11-15', '150000'), 
        -> ('8', '102', '5', 'debit', '2003-11-16', '20000'), 
        -> ('9', '105', '3', 'kredit', '2003-11-18', '50000'), 
        -> ('10', '107', '4', 'debit', '2003-11-19', '100000'), 
        -> ('11', '103', '2', 'debit', '2003-11-19', '100000'), 
        -> ('12', '104', '1', 'debit', '2003-11-19', '50000'), 
        -> ('13', '107', '4', 'kredit', '2003-11-20', '200000'), 
        -> ('14', '105', '3', 'debit', '2003-11-21', '40000'), 
        -> ('15', '104', '1', 'kredit', '2003-11-22', '100000'), 
        -> ('16', '101', '4', 'kredit', '2003-11-22', '20000'), 
        -> ('17', '103', '2', 'debit', '2003-11-21', '50000'), 
        -> ('18', '102', '5', 'debit', '2003-11-25', '50000'), 
        -> ('19', '107', '5', 'debit', '2003-11-26', '100000'), 
        -> ('20', '106', '3', 'kredit', '2003-11-27', '50000'), 
        -> ('21', '103', '2', 'kredit', '2003-11-28', '200000'), 
        -> ('22', '105', '3', 'kredit', '2003-11-28', '100000'), 
        -> ('23', '102', '5', 'debit', '2003-11-30', '20000'), 
        -> ('24', '104', '1', 'debit', '2003-12-1', '50000'), 
        -> ('25', '103', '2', 'debit', '2003-12-2', '40000'), 
        -> ('26', '101', '4', 'debit', '2003-12-4', '50000'), 
        -> ('27', '103', '2', 'kredit', '2003-12-5', '100000'), 
        -> ('28', '102', '5', 'kredit', '2003-12-5', '200000'), 
        -> ('29', '101', '4', 'debit', '2003-12-5', '100000'), 
        -> ('30', '105', '3', 'debit', '2003-12-6', '20000'); 
  • Hasil Insert 

f) Memasukkan record pada tabel praktekdelete. Tabel ini hanya digunakan untuk mempraktekkan delete/penghapusan data nantinya tanpa menghapus tabel utam.
  • Memasukkan banyak baris record pada tabel praktekdelete dengan perintah values. 
        insert into praktekdelete 
        -> (id_pegawai, nama_pegawai, jabatan) values 
        -> ('111', 'Defi', 'Teller'), 
        -> ('222', 'Tamara', 'Customer Service'), 
        -> ('333', 'Putra', 'Satpam'); 


5. UPDATE 


a) Melakukan perubahan pada nama nasabah di tabel nasabah. 
  • Tuliskan syntax berikut.
        update nasabah 
        -> set nama_nasabah='Ardi Tofan' where id_nasabah='1';
  • Maka nama_nasabah yang awalnya “Ali Topan” berubah menjadi “Ardi Tofan”. 
b) Melakukan perubahan pada pin di dalam tabel rekening. 
  • Tuliskan syntax berikut.
        update rekening 
        -> set pin='1234' where no_rekening='102'; 
  • Maka pin dari no_rekening 102 yang awalnya 2222 berubah menjadi 1234. 
c) Melakukan perubahan alamat pada tabel cabang_bank. 
  • Tuliskan syntax berikut.
        update cabang_bank 
        -> set alamat_cabang='Jl. Soedirman 10' where kode_cabang='BRUL'; 
  • Maka alamat yang pada kode_cabang BRUL yang awalnya “Jl. Lama 1” berubah menjadi “Jl. Soedirman 10”. 

6. DELETE 

a) Menghapus baris berdasarkan id. 
  • Tuliskan syntax berikut.
        delete from praktekdelete 
        -> where id_pegawai='333';
  • Maka record dengan id_pegawai 333 akan terhapus. 
b) Menghapus baris berdasarkan nama. 
  • Tuliskan syntax berikut.
        delete from praktekdelete 
        -> where nama_pegawai='Tamara'; 
  • Maka record dengan nama_pegawai “Tamara” akan terhapus. 
c) Menghapus semua isi record pada tabel. 
  • Tuliskan syntax berikut.
        delete from praktekdelete; 
  • Maka semua record dalam 1 tabel akan terhapus. 
d) Menghapus tabel. 
  • Tuliskan syntax berikut.
        drop table praktekdelete; 
  • Maka tabel praktekdelete akan dihapus. 

7. SELECT 

  • Menampilkan semua isi dalam sebuah tabel. 
        select * from nasabah; 
  • Menampilkan urutan record sesuai kode. 
        select * from rekening 
        -> order by kode_cabang; 
  • Menampilkan baris record berdasarkan kode tertentu. 
        select pin,saldo from rekening 
        -> where no_rekening='103'; 
  • Menampilkan urutan record secara terbalik. 
        select * from rekening 
        -> order by no_rekening desc;

Itu tadi beberapa syntax yang digunakan untuk mempraktekkan DML pada Command Prompt (CMD). Sekian dari saya, semoga bermanfaat. Mohon maaf jika ada kekurangan. Jika ada pertanyaan silahkan tulis di kolom komentar ya.

Terima kasih.

Wassalamualaikum Warahmatullahi Wabarokatuh.






Tidak ada komentar:

Posting Komentar