2. 1. Apa yang anda ketahui menganai database? jelaskan!
3. Pengertian Database
Database adalah wadah untuk data. Karena menyimpan buku perpustakaan
umum, kita juga bisa mengatakan bahwa perpustakaan adalah database buku. Dalam
definisi yang ketat, database adalah struktur komputer, yang menyimpan, mengatur,
melindungi, dan memberikan data. Sebuah sistem yang berisi database disebut
Sistem Manajemen Database (DBMS) .
Pendefinisian basis data meliputi spesifikasi berupa tipe data, struktur data
dan juga batasan-batasan pada data yang akan disimpan. Basis data
merupakan aspek yang sangat penting dalam sistem informasi karena
berfungsi sebagai gudang penyimpanan data yang akan diolah lebih lanjut.
Basis data menjadi penting karena dapat mengorganisasi data, menghidari
duplikasi data, menghindari hubungan antar data yang tidak jelas dan juga
update yang rumit.
Proses memasukkan dan mengambil data ke dan dari media
penyimpanan data memerlukan perangkat lunak yang disebut dengan sistem
manajemen basis data (database management system | DBMS). DBMS
merupakan sistem perangkat lunak yang memungkinkan pengguna basis data
(database user) untuk memelihara, mengontrol dan mengakses data secara
praktis dan efisien. Dengan kata lain, semua akses ke basis data akan
ditangani oleh DBMS. DBMS ini menjadi lapisan yang menghubungkan
basis data dengan program aplikasi untuk memastikan bahwa basis data tetap
terorganisasi secara konsisten dan dapat diakses dengan mudah.
4. Jenis Database
Database teks
Bentuk paling sederhana dari database adalah database teks.
Ketika data diatur dalam sebuah file teks dalam baris dan kolom,
dapat digunakan untuk menyimpan, mengatur, melindungi, dan
mengambil data. Menyimpan daftar nama dalam file, dimulai
dengan nama pertama dan diikuti oleh nama terakhir, akan
menjadi database sederhana. Setiap baris dari file tersebut
merupakan record. Anda dapat memperbarui catatan dengan
mengubah nama-nama tertentu, Anda dapat menghapus deretan
dengan menghapus baris, dan Anda dapat menambahkan deretan
baru dengan menambahkan baris baru.
5. Database Program Desktop
Tipe lain dari database adalah sistem yang lebih kompleks
daripada database teks, tetapi ditujukan untuk satu
pengguna. Sebuah spreadsheet Microsoft Excel atau
Microsoft Access adalah contoh yang baik dari program
database desktop. Program ini memungkinkan pengguna
untuk memasukkan data, menyimpannya, melindunginya,
dan mengambilnya bila diperlukan. Manfaat dari program
database desktop lebih dari database teks adalah kecepatan
perubahan data, dan kemampuan untuk menyimpan data
dalam jumlah besar sekaligus menjaga kinerja sistem mudah
dikelola.
6. Database relasional Manajemen Sistem (RDMS)
Database relasional adalah sistem database yang paling umum.
Mereka termasuk database seperti SQL Server, Oracle
Database, Sybase, Informix, MySQL. Sistem RDBMS
memiliki kinerja yang jauh lebih baik untuk mengelola data
melalui database desktop yang memungkinkan beberapa
pengguna (ribuan pengguna) untuk bekerja dengan data
pada saat yang sama, menciptakan keamanan yang canggih
untuk akses data. Sistem RDBMS menyimpan data dalam
kolom dan baris, ini pada gilirannya membuat tabel. Sebuah
tabel di RDBMS seperti spreadsheet. Kemudian satu set tabel
membuat skema. Sejumlah skema membuat database.
Banyak database dapat dibuat pada server tunggal.
7. NoSQL dan Object-Oriented
Struktur yang paling inovatif untuk menyimpan data saat ini
adalah NoSQL dan database berorientasi objek. Ini tidak
mengikuti pendekatan table / baris / kolom dari RDBMS.
Sebaliknya, mereka membangun rak buku elemen dan
memungkinkan akses per rak buku. Alih-alih pelacakan kata-kata
individu dalam buku-buku, NoSQL dan database berorientasi
objek mempersempit data yang Anda cari dengan menunjuk Anda
untuk rak buku, kemudian asisten mekanik bekerja dengan buku-
buku untuk mengidentifikasi kata yang tepat yang Anda cari.
NoSQL khusus mencoba untuk menyederhanakan rak buku
dengan menyimpan data dengan cara denormalized, ini berarti
menyimpannya dalam potongan besar. Normalisasi adalah proses
bisnis database untuk memecah data ke dalam bagian-bagian
terkecil yang mungkin. Alih-alih menyimpan nama pertama dan
terakhir dalam satu wadah, atau bidang, normalisasi
mengharuskan Anda menyimpan nama depan terpisah dari nama
belakang. Hal ini berguna jika Anda ingin mengurutkan data
berdasarkan nama belakang atau nama pertama. Sistem RDBMS
mengharuskan data normal.
8. Contoh Database Teks
Berikut adalah contoh dari database teks umum digunakan di
sistem Linux saat ini. Ini disimpan pada komputer di / etc /
passwd.
tidak ada: *: -2: -2: unprivileged Pengguna :/ var / kosong :/ usr
/ bin / false
root: *: 00:00: System Administrator :/ var / root :/ bin / sh
daemon: *: 1:1: Layanan Sistem :/ var / root :/ usr / bin / false
Database ini memiliki daftar khusus kolom, dan setiap baris
dalam file memiliki jenis informasi yang sama. Kita mulai
dengan nama pengguna, diikuti dengan ‘*’ yang menggantikan
password, kemudian nomor pengguna, kemudian nomor
kelompok, kemudian isian komentar termasuk nama
pengguna, diikuti dengan direktori home dari pengguna,
diikuti oleh shell pengguna. Sebuah shell adalah program
utama pengguna mengeksekusi. Bahkan jika isi dari setiap
baris tidak berarti banyak bagi Anda, idenya adalah bahwa data
tertentu disimpan pada setiap baris.
9. 2. Apakah perbedaan Relational database dengan
Unrelational database(NoSql)?Jelaskan dan berikan
contohnya?
10. Database relasional
Database relasional adalah koleksi data terstruktur yang
disajikan lewat tabel², dimana tabel² tersebut dapat saling
berhubungan (relasi). Tipe ini adalah bentuk basis data yang
konvensional. Saat seseorang menyebut kata database,
kemungkinan besar orang umum akan membayangkan database
relasional (sekumpulan
tabel²). contohnya MySQL, PostGreSQL, SqlLite, Microsoft Sql
Server dll.
RDBMS (Relasional Database Management System) fokus pada
konsep ACID:
1. Atomicity: Suatu proses selesai secara menyeluruh/tidak.
2. Consistency: Semua proses (transaction) yang terjadi di
database harus memiliki state yang jelas. Setiap data yang
disimpan harus memenuhi semua constraint, Cascades,
dan triggers.
3. Isolation: Sebuah proses tidak boleh mempengaruhi proses
lain.
4. Durability: Proses yang telah selesai harus bersifat
permanen, walau aplikasinya di restart.
11. Unrelational database(NoSql)
Sedangkan NoSQL adalah tipe penyimpanan data selain yang
berwujud tabular (tabel²), NoSQL tidak mengikuti prinsip (ACID)
RDBMS sepenuhnya. Lalu kalau bukan ACID, apakah prinsip utama
NoSQL ?
NoSQL, menurut Eric Brewer menganut prinsip BASE:
1. Basic Availability: Setiap request sekedar mendapat garansi
“response”: Sukses/Gagal.
2. Soft State: State NoSQL bisa berubah secara dinamis tanpa input
manual untuk meyakinkan eventual consistency.
3. Eventual Consistency: Untuk “sementara” waktu NoSQL mungkin
tidak konsisten (Akan diabahas kemudian maksud & contohnya).
NoSQL bukan berarti “No SQL” atau “bukan SQL”/tidak mendukung
bahasa Query, tapi “Not-Only SQL”. Masudnya database NoSQL tetap
memiliki (support) ‘semacam’ bahasa Query, namun dalam bentuk
(terminology yang berbeda). Beberapa literature bahkan tidak
menggolongkan NoSQL sebagai suatu bentuk database. NoSQL bisa
berupa Document (e.g. MongoDB), Key-Value (e.g. CouchDB), Graph
(e.g. Neo4J), dsb.
12. 3. Jelaskan konsep ORM(Object Relational Model)
pada database!
13. Pengertian ORM
ORM adalah sebuah mekanisme pemrograman yang memetakan data /
database relasional kedalam konsep pemrograman berorientasi object ( OOP )
agar memungkinkan untuk mengakses atau memanipulasi data tanpa
mempertimbangkan bagaimana object object berhubungan dengan sumber
data mereka.Atau kalo menurut bahasa saya bisa dibilang ORM itu
memodelkan data yang ada dalam database relational menjadi konsep
OOP.Konsep ORM ini memudahkan programmer mempertahankan tampilan
yang konsisten dari data data dari waktu ke waktu walaupun dari sumber
database yang berbeda.
Dengan ORM,programmer dapat memisahkan antara tampilan,dan akses
database sehingga program tidak bercampur dan memudahkan saat
maintenance.ORM menyembunyikan proses akses data dari program ke
database sehingga program lebih rapi.
14. Manfaat ORM
Mempercepat pengembangan program. Contohnya,
mengurangi perulangan kode query, memudahkan
pemakaian karena tabel-tabel ter-representasikan dalam
bentuk objek
Membuat akses data menjadi lebih abstrak dan portable.
Hal ini dikarenakan ORM menghandle pen-generate-an
syntax SQL berdasarkan vendor database-nya.
Mensupport pengkapsulan business rule pada lapisan
Data Access.
Mengenerate boilerplate code (unit kode yang reusable)
untuk fungsi dasar CRUD (Create,Read,Update,Delete).
16. Konsep Eloquent ORM pada Laravel
laravel pada dasarnya mendukung konsep OOP, maka bukan hal yang
mustahil bila kita juga memanfaatkan konsep ORM ini pada
framework Laravel. Di laravel kita akan mengenal yang namanya
Eloquent. Eloquent merupakan sebuah ORM yang dapat dikatakan
sangat membantu sekali bagi web developer pengguna laravel.
Pada laravel, setiap model hasil turunan dari Eloquent akan mewakili
sebuah table pada database. Tapi anda perlu memperhatikan 1 hal
yakni, meskipun sebuah model mewakili sebuah tabal, namun dalam
pratiknya terkadang kita seringkali menggunakan beberapa model
untuk mengambil data dari database. Kita bisa memanfaatkan
relationship pada database untuk mengambil data dari banyak tabel
sekaligus.
Jadi kesimpulannya adalah kita dapat memanfaatkan fitur-fitur yang
sudah disediakan oleh laravel untuk melakukan query ke database
dengan memanfaatkan konsep ORM itu tadi, sehingga akan terasa
lebih fleksibel. Selain itu kita juga lebih gampang dalam
memahaminya dan kode programpun akan tampak lebih terorganisir