2. 1. Apa yang anda ketahui menganai database?Jelaskan!
3. a) DATA BASE
Basis data (database) adalah kumpulan data yang disimpan
secara sistematis di dalam komputer yang dapat diolah atau
dimanipulasi menggunakan perangkat lunak (program aplikasi)
untuk menghasilkan informasi. 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. Ada beberapa fungsi yang harus ditangani DBMS seperti
mengolah pendefinisian data, menangani permintaan pengguna
untuk mengakses data, memeriksa sekuriti dan integriti data
yang didefinisikan oleh DBA (Database Administrator),
menangani kegagalan dalam pengaksesan data yang disebabkan
oleh kerusakan sistem maupun media penyimpanan (disk) dan
juga menangani unjuk kerja semua fungsi secara efisien. Tujuan
utama DBMS adalah untuk memberikan tinjauan abstrak data
kepada pengguna. Jadi sistem menyembunyikan informasi
tentang bagaimana data disimpan, dipelihara dan juga bisa
diakses secara efisien. Pertimbangan efisien di sini adalah
rancangan struktur data yang kompleks tetapi masih bisa
digunakan oleh pengguna awam tanpa mengetahui kompleksitas
strukturnya.
5. Struktur Data dan Basis Data (Database)
Telah diketahui bahwa secara fisik data dalam bentuk kumpulan
bit dan direkam dengan basis track didalam media penyimpan
eksternal. Dalam prakteknya, untuk kemudahan dalam
mengakses data, data disusun dalam suatu struktur logis yang
menjelaskan bahwa:
1. Kumpulan tabel menyusun basis data,
2. Tabel tersusun atas sejumlah record,
3. Sebuah record mengandung sejumlah field, dan
4. Sebuah field disimpan dalam bentuk kumpulan bit.
6. Pengertian masing-masing istilah diatas adalah seperti
berikut:
a. Field (medan) menyatakan data terkecil yang memiliki
makna. Istilah lain untuk field yaitu elemen data, kolom item,
dan atribut. Contoh field yaitu nama seseorang, jumlah
barang yang dibeli, dan tanggal lahir seseorang.
b. Record (rekaman) menyatakan kumpulan dari sejumlah
elemen data yang saling terkait. Sebagai contoh, nama,
alamat, tanggal lahir, dan jenis kelamin dari seseorang
menyusun sebuah record. Istilah lain yang juga menyatakan
record yaitu tupel dan baris.
c. Tabel menghimpun sejumlah record. Sebagai contoh, data
pribadi dari semua pegawai disimpan dalam sebuah tabel.
d. Basis data (database) adalah suatu pengorganisasian
sekumpulan data yang saling terkait sehingga memudahkan
aktivitas untuk memperoleh informasi. Sebagai contoh, basis
data akademis mengandung tabel-tabel yang berhubungan
dengan data mahasiswa, data jurusan, data mata kuliah, data
pengambilan mata kuliah pada suatu semester, dan nilai yang
diperoleh mahasiswa.
7. 2. Apakah perbedaan Relational database dengan
Unrelational database(NoSql)? Jelaskan dan berikan
contohnya?
8. a) Perbedaan Relational Database dengan
Unrelational Database(NoSql)
Mysql merupakan aplikasi pengolah database yang bersifat open
source, dikembangkan oleh Oracle (sebelumnya Sun dan MySQL
AB). MySQL adalah sebuah perangkat lunak sistem manajemen
basis data SQL . Sedangkan,
NoSql merupakan sistem manajemen basis data yang di
identifikasikan dengan tidak mematuhi aturan pada model sistem
manajemen basis data. NOSQL adalah database generasi terbaru
yang mengarahkan kepada database yang tidak berelasi (non-
relational), dapat disebarkan kepada siapapun (open-source) dan
berskala horisontal (horizontal scale).
Contoh aplikasi pada Sql adalah Oracle, MS-SQL, Sqlite, dan
Postgres . Sedangkan pada NoSQL adalah MongoDB, HBase,
Redis, Bigtable, RavenDb, CouchDB, Cassandra, dan Neo4j.
9. b) Contoh Perbedaan Relational Database dengan
Unrelational Database(NoSql)
o Perbedaan SQL dan NoSQL terletak pada cara penulisan
database.SQL menggunakan relasional sebagai penyambung antara
data-data di dalam tabel database. Sedangkan NoSQL tidak
menggunakan Relasional sebagai cara mereka untuk
menyambungkan antar data .
o NoSQL tidak menggunakan Schema relational, Pada SQL user harus
mendefinisikan table yang akan digunakan. Pada NoSQL tidak perlu
untuk mendefinisikan terlebih dahulu Table yang akan digunakan.
o Dalam Database SQL data berbentuk tabel yang terdiri dari
sejumlah baris,Sedangkan Pada NoSQL data tidak memiliki definisi
skema standar yang harus dipatuhi. NoSQL memiliki skema yang
dinamis sedangkan pada database SQL mengikuti skema yang telah
ditetapkan.
o Database NoSQL merupakan horizontal terukur sedangkan pada
SQL Database vertikal terukur. Untuk memperbesar pada skala
NoSQL hanya perlu tambahkan server DB di cluster untuk load
balancing. Sedangkan pada SQL Untuk memperbesar skala harus
menambahkan tenaga dari perangkat CPU,SSD,RAM dan perangkat
keras lainnya pada server. Pada database SQL penekanan pada
sifat Atomicity, Consistency, Isolation and Durability (ACID) sifat.
Sedangkan pad NoSQL mengikuti teorema Consistency, Availability
and Partition (CAP) Brewers.
11. a) Konsep ORM (Object Relational Model)
ORM (Object Relational Mapping) [Wiki] adalah suatu
metode/teknik pemrograman yang digunakan untuk
mengkonversi data dari lingkungan bahasa pemrograman
berorientasi objek (OOP) dengan lingkungan database
relasional. Seperti kita ketahui, dalam aplikasi enterprise
kedua lingkungan tersebut berada pada sistem yang berbeda,
yaitu OOP berada pada sisi pemrograman aplikasi, sedangkan
database relasional berada pada sisi sistem database. Misi
utama dari ORM ini adalah menjembatani kedua sistem yang
berbeda tersebut.
12. ORM memiliki kemampuan untuk menciptakan objek
database virtual, yaitu suatu model database yang di
representasikan kedalam sebuah objek pada bahasa
pemrograman OOP. Berikut ini adalah beberapa kelebihan yang
dimiliki ORM, yaitu:
oMempercepat pengembangan program. Contohnya, mengurangi
perulangan kode query, memudahkan pemakaian karena tabel-
tabel ter-representasikan dalam bentuk objek
oMembuat akses data menjadi lebih abstrak dan portable. Hal ini
dikarenakan ORM menghandle pen-generate-an syntax SQL
berdasarkan vendor database-nya.
oMensupport pengkapsulan business rule pada lapisan Data
Access.
oMengenerate boilerplate code (unit kode yang reusable) untuk
fungsi dasar CRUD (Create,Read,Update,Delete).
13. 4. Apakah laravel mendukung ORM? jika iya berikan
contohnya !
Jawab : Iya.
o laravel pada dasarnya mendukung konsep OOP, maka bukan hal
yang mustahil bila kita juga memanfaatkan konsep ORM ini
pada framework Laravel. 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
14. a) Contoh ORM dalam Lavarel
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.