NIM : 10191062
Kelas : Basis Data B
1. Apa yang dimaksud dengan istilah entitas, atribut, dan relasional model?
Entitas adalah benda, orang, tempat, objek ataupun hal lain yang menampilkan data yang
akan disimpan ke pangkal data. Biasanya menunjukkan objek – objek dasar yang terdapat
didalam sistem. Jadi dapat disimpulkan bahwa entitas adalah kumpulan objek yang dapat
diindentifikasi secara unik atau saling berbeda.
Atribut adalah suatu ciri atau karakter yang membedakan antara entitas yang satu dengan
entitas lainnya. Yang dimana karakteristik dari entitas dengan menyediakan penjelasan
detail terkait entitas.
Relasion model adalah suatu model basis data dengan menggunakan 2 dimensi, terdiri atas
baris dan kolom untuk menggambarkan sebuah berkas data. Digunakan untuk mengelola
data, dan pengelompokan data serta membentuk keseluruhan data yang terakit pada sistem.
4. Sebutkan dan jelaskan tahapan – tahapan dalam pembuatan ERD dan berikan contoh!
1) Menentukan entitas, contoh : mahasiswa, dosen, ruang, mata_kuliah.
2) Menentukan atribut, contoh:
Mahasiswa:
• nim (int) primary key
• nama_mahasiswa (string)
• alamat (string)
Dosen:
• nip (int) primary key
• nama_dosen (string)
• alamat (string)
Mata_kuliah:
• kode_mk (int) primary key
• nama_mk (string)
• sks_mk (string)
Ruang:
• kode_ruang (string) primary key
• lokasi_ruang (string)
• kapasitas_ruang (integer)
6. Jelaskan perbedaan antara primary key dan foreign key ? (Berikan Contohnya)!
Primary key merupakan sebuah aturan dengan fungsi untuk membedakan antara baris satu
dengan baris lainnya yang bersifat unik. Contoh : atibut nim dalam tabel mahasiswa.
Foreign key merupakan suatu atibut yang melengkapi hubungan untuk menuju induknya
(primary key) atau biasa disebut dengan kunci tamu pada tabel lain. Contoh pada tabel
doesn pembimbing terdapat atribut nim mahasiswa, diambil dari tabel mahasiswa yaitu
atibut nim.
7. Sebutkan dan jelaskan masing masing tipe data numerik dan tipe data string !
Tipe numerik adalah tipe data yang berisikan untuk memanggil data pada numerik dengan
menggunakan angka sebagai nomor index.
Tipe data sting adalah tipe data yang dapat digunakan untuk menampung nilai berupa text
mapun karakter. Dapat berbentuk kalimat dan tidak dapat dihitung.
8. Tuliskan Syntax untuk perintah dibawah ini (contoh database tidak boleh sama) :
a. Menambahkan database : create database (nama database);
b. Menambahkan table : create table (nama table);
c. Menambahkan record :
create table (nama table)(
->isi record dengan tipe data dan maksimal data,
->isi record dengan tipe data dan maksimal data);
f. Memasukkan record kedalam table : insert into (nama tabel) values (isi tabel/ atribut)
-> (“isi record”, “isi record”);
g. Menampilkan seluruh data pada table dan sebagian data pada table :
seluruh : select*from mahasiswa;
sebagian : select nim, nama_mahasiswa, alamat from mahasiswa;
h. Menampilkan data dengan kondisi bersyarat
select * from mahasiswa where jenis_kelamin = “perempuan”;
9. Jelaskan tentang fungsi agregat dan berikan syntax pada masin-masing contoh !
Fungsi count : untuk menghitung jumlah record
select count * from mahasiswa;
10. Jelaskan apa yang kalian ketahui tentang inner join, outer join, full outer join, cross join !
Inner join Digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 tabel
atau lebih menggunakan pasangan data yang match pada masing – masing tabel.
Left Outer Join : mengembalikan semua nilai dari table kiri ditambah dengan nilai dari
tabel kanan yang sesuai atau NULL jika tidak ada nilai yang
Sesuai.
Right outer join atau right join pada dasarnya sama seperti left join, namun dalam bentuk
terbalik, kanan dan kiri.
Full outer join atau full join pada hakikatnya merupakan kombinasi dari left dan right join.
Klausa CROSS JOIN menghasilkan cross product dari dua tabel. CROSS JOIN disebut
juga Cartesian product antara dua tabel
11. (a) Apa sajakah primary key yang ada dalam database tersebut?
Primary key yaitu person_name
(b) Apa sajakah foreign key yang ada dalam database tersebut? (jika ada)
Foreign key yaitu person_name pada tabel works dari tabel employee, company_name
pada tabel works dari tabel company, dan city pada tabel employee dari tabel works.
12. Tuliskan perintah SQL untuk membuat semua tabel pada database jika semua data yang
dimasukkan adalah berupa teks dengan ukuran maksimal 50 karakter (kecuali gaji pegawai
yang berupa angka)!
create table works
-> (person_name varchar(50)primary key,
-> company_name varchar(50),
-> salary int(50));
13. Tuliskan perintah SQL untuk menampilkan nama pegawai yang tinggal pada kota
“Banjarmasin”
select*from employee where city=”Banjarmasin”;
14. Tuliskan perintah SQL untuk menampilkan nama pegawai yang memiliki gaji lebih dari
10.000.000
select person_name, salary from works where salary > 10000000
15. Tuliskan perintah SQL untuk menampilkan nama pegawai yang tinggal di kota
“Banjarmasin” dan memiliki gaji lebih dari 10.000.000.
select person_name from works where city = “banjarmasin” and company_name =
“pertamina” and salary > 10000000;
16. Tuliskan perintah SQL untuk menampilkan nama pegawai yang tinggal di kota
“Banjarmasin”, bekerja pada perusahaan “Pertamina”, dan memiliki gaji lebih dari
10.000.000
select person_name from works where city = “banjarmasin” and company_name =
“pertamina” and salary > 10000000;
17. Tuliskan perintah SQL untuk menampilkan nama pegawai yang bekerja pada perusahaan
yang berada di kota yang sama dengan tempat tinggal pegawai tsb.
select employee.person_name from employee inner join company where employee.city =
company.city;
18. Sebuah perusahaan baru dengan nama “Mask Factory” didirikan pada tahun 2021 di kota
Kendari (data perusahaan ini belum ada di database). Data seorang pegawai perusahaan
tersebut akan dimasukkan pada database dengan data sebagai berikut:
Nama : Wijayanto Budi Utomo
Alamat : Pondok Kendari Utara A-15
Gaji : 5.000.000
19. Tulislah perintah SQL untuk menambahkan informasi di atas pada database! Perusahaan
“Puspa Indah” berpindah lokasi dari kota Balikpapan ke kota Samarinda. Selain itu,
perusahaan tersebut memutuskan untuk menaikkan gaji semua karyawan sebesar 10% dari
gaji asalnya. Tulislah perintah SQL untuk menambahkan informasi ini pada database!
update pegawai set kota = “ Samarinda” where perusahaan =”Puspa Indah”;
update pegawai set gaji = gaji + (gaji *10/100) where perushaan = “Puspa Indah”;
20. Perusahaan “Sekar Wangi” dinyatakan bangkrut dan datanya akan dihapus dari database.
Begitu pula dengan data semua pegawai yang bekerja di perusahaan tersebut. Tulislah
perintah SQL untuk menjalankan operasi ini!
delete from works where company_name = “sekar wangi”
delete from company where company_name = “sekar wangi”