Anda di halaman 1dari 8

Nama : Wulandari

NIM : 2023573010066
Kelas : TI 1 E
Dosen Pembimbing : HUZAENI,SST.,MIT.

1. Jelaskan perbedaan antara database SQL dan NoSQL.


Jawab :
Perbedaan antara database SQL (Structured Query Language) dan NoSQL (Not Only
SQL) terletak pada struktur data, bahasa query, penggunaan, keamanan, dan biaya.
Struktur Data
• SQL: Menggunakan struktur data relasional dengan tabel, baris, dan kolom.
• NoSQL: Memiliki struktur data yang lebih fleksibel dan tidak memiliki tabel.
Data disimpan dalam dokumen, grafik, atau key-value store.
Bahasa Query
• SQL: Menggunakan bahasa query SQL standar untuk memanipulasi data.
• NoSQL: Menggunakan bahasa yang bervariasi tergantung pada jenis NoSQL
yang digunakan.
Penggunaan
• SQL: Digunakan untuk aplikasi bisnis, keuangan, dan lain-lain yang
memerlukan integritas data yang tinggi dan transaksi yang kompleks.
• NoSQL: Digunakan dalam aplikasi web yang memiliki kecepatan tinggi, seperti
situs web media sosial, game, dan IoT.
Keamanan
• SQL: Lebih aman karena memiliki mekanisme keamanan yang kuat seperti
autentikasi, otorisasi, dan enkripsi.
• NoSQL: Kurang aman karena lebih fokus pada kinerja dan ketersediaan
daripada keamanan.
Biaya
• SQL: Seringkali lebih mahal karena menggunakan sumber daya yang lebih
terstruktur.
• NoSQL: Seringkali lebih murah karena sering menggunakan sumber daya open
source.
2. Apa itu indeks dalam konteks database dan bagaimana indeks dapat meningkatkan
kinerja query?
Jawab :
Indeks dalam konteks database adalah objek yang digunakan untuk mempercepat
proses pencarian (query) data. Dengan menggunakan indeks, pencarian data
berdasarkan kolom tertentu dapat dipercepat, sehingga meningkatkan kinerja query.
Saat database dibuat tanpa menggunakan indeks, kinerja server database dapat menurun
secara drastis karena resource CPU banyak digunakan untuk pencarian data atau
pengaksesan query SQL.
Indeks dapat meningkatkan kinerja query dengan cara:
• Mempercepat proses pencarian data berdasarkan kolom tertentu.
• Mengoptimalkan proses pengambilan data dengan membuat pencarian data
menjadi lebih optimal, lebih cepat, dan tidak banyak menghabiskan sumber
daya CPU.

3. Buatlah query SQL untuk menampilkan semua data dari tabel “pegawai” yang memiliki
gaji di atas 5000.
Jawab :
SELECT * FROM pegawai WHERE gaji > 5000;

4. Jelaskan konsep normalisasi dalam desain database dan sebutkan beberapa tingkat
normalisasi.
Jawab :
Normalisasi dalam desain database adalah proses pembentukan struktur basis data
sehingga sebagian besar ambiguitas dapat dihilangkan. Normalisasi bertujuan untuk
menghasilkan tabel-tabel yang berkualitas baik dengan menghilangkan anomali dan
redundansi data.
Terdapat beberapa tingkat normalisasi dalam desain database, yaitu:
1. First Normal Form (1NF): Setiap atribut dalam tabel harus memiliki nilai atomik
(tidak dapat dibagi lagi) dan setiap baris dalam tabel harus memiliki nilai yang unik.
2. Second Normal Form (2NF): Tabel harus memenuhi persyaratan 1NF dan setiap
atribut non-kunci harus sepenuhnya bergantung pada kunci utama.
3. Third Normal Form (3NF): Tabel harus memenuhi persyaratan 2NF dan setiap
atribut non-kunci tidak boleh memiliki ketergantungan fungsional transitif pada
kunci utama.
4. Boyce-Codd Normal Form (BCNF): Tabel harus memenuhi persyaratan 3NF dan
setiap ketergantungan fungsional harus bergantung pada kunci utama.
5. Fourth Normal Form (4NF): Tabel harus memenuhi persyaratan BCNF dan tidak
boleh memiliki ketergantungan multivalued.
6. Fifth Normal Form (5NF): Tabel harus memenuhi persyaratan 4NF dan tidak boleh
memiliki ketergantungan join yang tidak perlu.

5. Bagaimana cara mengamankan sebuah database ?


Jawab :
Keamanan database melibatkan penerapan teknologi dan strategi untuk melindungi
database dari ancaman, seperti kesengajaan atau bukan. Cara menjaga keamanan
database meliputi mengurangi gangguan keamanan, meningkatkan keamanan server,
melakukan validasi inputan, menggunakan koneksi yang unik, kontrol akses tabel,
melakukan backup data dan recovery, dan melakukan enkripsi terhadap database.

6. Jelaskan beberapa teknik keamanan yang umumnya digunakan.


Jawab :
• Menggunakan firewall: Firewall dapat melindungi database dengan menolak
akses yang tidak sah.
• Menerapkan hak akses: Memberikan hak akses yang terbatas sesuai dengan
kebutuhan aktivitas pengguna.
• Menggunakan enkripsi: Enkripsi dapat digunakan untuk melindungi data sensitif
dalam database.
• Melakukan backup data: Melakukan backup data secara teratur dapat membantu
memulihkan data jika terjadi kehilangan atau kerusakan data.
• Menggunakan software keamanan database: Menggunakan software keamanan
database dapat membantu melindungi database dari serangan.
7. Apa perbedaan antara INNER JOIN dan LEFT JOIN dalam SQL? Berikan contoh
situasi di mana masing-masing jenis join lebih tepat.
Jawab :
Perbedaan antara INNER JOIN dan LEFT JOIN dalam SQL:
1. INNER JOIN: Mengembalikan baris yang memiliki nilai yang cocok di kedua
tabel yang tergabung berdasarkan kriteria join yang ditentukan. Jika tidak ada nilai
yang cocok, baris tersebut tidak akan ditampilkan dalam hasil query.
2. LEFT JOIN: Mengembalikan semua baris dari tabel kiri (tabel pertama yang
disebutkan dalam pernyataan JOIN), dan baris yang cocok dari tabel kanan (tabel
kedua yang disebutkan dalam pernyataan JOIN). Jika tidak ada nilai yang cocok
dari tabel kanan, nilai NULL akan ditampilkan untuk kolom-kolom dari tabel kanan
dalam hasil query.
Contoh situasi dimana masing-masing jenis join lebih tepat:
1. INNER JOIN: Cocok digunakan ketika Anda hanya ingin mengambil baris yang
memiliki nilai yang cocok di kedua tabel. Misalnya, ketika Anda ingin
menggabungkan data dari dua tabel yang saling terkait dan hanya tertarik pada baris
yang memiliki nilai yang cocok di kedua tabel.
2. LEFT JOIN: Berguna ketika Anda ingin mengambil semua baris dari tabel kiri,
bahkan jika tidak ada nilai yang cocok di tabel kanan. Misalnya, ketika Anda ingin
menampilkan semua data dari tabel kiri dan hanya nilai yang cocok dari tabel kanan,
atau ketika Anda ingin menampilkan data utama beserta data opsional yang terkait.

8. Gambarkan hubungan “one-to-many” dalam konteks database dan berikan contoh


nyata.
Jawab :
Hubungan one to many dalam konteks database menggambarkan hubungan di mana
satu entitas dari tabel pertama dapat memiliki beberapa entitas yang terkait dari tabel
kedua, namun entitas dari tabel kedua hanya terkait dengan satu entitas dari tabel
pertama.
Contoh nyata dari hubungan one to many adalah hubungan antara guru dan murid.
Seorang guru dapat memiliki banyak murid (one to many), tetapi seorang murid hanya
terkait dengan satu guru (many to one). Dalam hal ini, tabel guru akan memiliki kunci
primer yang terhubung ke tabel murid sebagai kunci asing, sehingga menggambarkan
hubungan one to many antara mereka.

9. Apa itu transaksi dalam database ?


Jawab :
Transaksi dalam database adalah unit kerja yang terdiri dari satu atau lebih operasi basis
data yang dijalankan sebagai unit atom tunggal. Transaksi digunakan untuk
memastikan konsistensi dan integritas data dengan memastikan bahwa semua operasi
dalam transaksi berhasil diselesaikan atau tidak ada yang diterapkan ke database.
Transaksi juga memastikan bahwa database tetap konsisten bahkan jika terjadi
kegagalan atau kesalahan sistem. Fitur utama dari transaksi database adalah bahwa
mereka bersifat atomik, konsisten, terisolasi, dan tahan lama (ACID), yang merupakan
empat properti utama yang memastikan keandalan database.

10. Jelaskan kepentingan dan sifat ACID dari transaksi.


Jawab :
Kepentingan Transaksi:
Transaksi dalam basis data sangat penting karena memastikan konsistensi, integritas,
dan keandalan data. Beberapa kepentingan transaksi antara lain:
1. Konsistensi Data: Transaksi memastikan bahwa setiap operasi dalam transaksi
berhasil diselesaikan atau tidak ada yang diterapkan ke database, sehingga database
tetap konsisten.
2. Integritas Data: Transaksi memastikan bahwa integritas data tetap terjaga, bahkan
jika terjadi kegagalan atau kesalahan sistem.
3. Isolasi: Transaksi memastikan bahwa operasi yang sedang berjalan tidak
terpengaruh oleh operasi lain yang sedang berlangsung secara bersamaan.
Sifat ACID dari Transaksi:
Sifat ACID adalah empat properti utama yang memastikan keandalan transaksi dalam
basis data:
1. Atomik (Atomicity): Transaksi dianggap sebagai unit kerja atomik tunggal, yang
berarti semua operasi dalam transaksi berhasil diselesaikan atau tidak ada yang
diterapkan ke database.
2. Konsisten (Consistency): Transaksi memastikan bahwa database tetap konsisten
sebelum dan setelah transaksi dieksekusi.
3. Terisolasi (Isolation): Transaksi berjalan secara terisolasi, sehingga operasi yang
sedang berjalan tidak terpengaruh oleh operasi lain yang sedang berlangsung secara
bersamaan.
11. Bagaimana cara melakukan backup dan restore database? Jelaskan langkah-
langkahnya.
Jawab :
Cara melakukan backup dan restore database dapat dilakukan dengan langkah-langkah
sebagai berikut:
Backup Database:
1. Buka aplikasi manajemen database yang digunakan.
2. Pilih database yang ingin dibackup.
3. Klik tombol backup atau export database.
4. Pilih lokasi penyimpanan backup dan berikan nama file backup.
5. Pilih opsi backup yang diinginkan, seperti backup penuh atau backup diferensial.
6. Klik tombol backup atau export untuk memulai proses backup.
7. Tunggu hingga proses backup selesai dan pastikan backup telah berhasil disimpan
di lokasi yang diinginkan.
Restore Database:
1. Buka aplikasi manajemen database yang digunakan.
2. Pilih opsi restore database.
3. Pilih file backup yang ingin direstore.
4. Pilih opsi restore yang diinginkan, seperti restore penuh atau restore diferensial.
5. Tentukan lokasi penyimpanan database yang baru atau gunakan lokasi yang sama
dengan database yang lama.
6. Klik tombol restore untuk memulai proses restore.
7. Tunggu hingga proses restore selesai dan pastikan database telah berhasil direstore.
12. Terangkan perbedaan antara database relasional dan database objek-relasional.
Jawab :
Database relasional adalah salah satu bentuk database yang paling umum digunakan.
Database ini menggunakan tabel untuk menyimpan data dan menggunakan kunci asing
untuk menghubungkan antar tabel. Sementara itu, database objek-relasional adalah
perluasan dari database relasional yang memungkinkan penyimpanan objek kompleks
dan tipe data yang lebih kaya. Berikut adalah perbedaan antara keduanya:
1. Struktur Data:
• Database Relasional: Menggunakan tabel untuk menyimpan data dengan
keterkaitan antar tabel menggunakan kunci asing.
• Database Objek-Relasional: Memungkinkan penyimpanan objek kompleks dan
tipe data yang lebih kaya, seperti tipe data abstrak dan pewarisan.
2. Konsistensi dan Integritas Data:
• Database Relasional: Memastikan konsistensi dan integritas data dengan
menerapkan hubungan dan batasan antar tabel.
• Database Objek-Relasional: Memiliki kemampuan untuk mempertahankan
konsistensi dan integritas data, namun juga dapat memprioritaskan ketersediaan
atau toleransi partisi dalam sistem terdistribusi.
3. Bahasa Kueri:
• Database Relasional: Menggunakan SQL (Structured Query Language) sebagai
bahasa kueri standar industri.
• Database Objek-Relasional: Dapat menggunakan SQL serta ekstensi objek-
orientasi seperti metode dan tipe data abstrak.

Anda mungkin juga menyukai