2. 1.Apa yang anda ketahui menganai
database?jelaskan!
Data Base (basis data) merupakan kumpulan data yang saling berhubungan. Hubungan antar data
dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel yang ada. Dalam satu file
atau table terdapat record-record yang sejenis, sama besar, sama bentuk, yang merupakan satu
kumpulan entitas yang seragam. Satu record (umumnya digambarkan sebagai baris data) terdiri
dari field yang saling berhubungan menunjukan bahwa field tersebut dalam satu pengertian yang
lengkap dan disimpan dalam satu record,Adapun Struktur Database
adalah:Database,File/Table,Record
3. 2.Apakah perbedaan Relational database dengan
Unrelational database(NoSql)?Jelaskan dan berikan
contohnya?
Database relasional adalah koleksi data terstruktur yang disajikan lewat table-table 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.
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.
4. NoSQL adalah tipe penyimpanan data selain yang berwujud tabular, 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
5. Contoh:
Aplikasi yang mengunakan SQL
1. Hbase
2. Hypertable
3. Clouddata
4. MongoDB
5. CouchDB
6. Neo4j
7. FlockDB
Aplikasi yang menggunakan NoSQL
1. Facebook menggunakan Cassandra
2. Tweeter menggunakan FlockDb
3. Linkedlin menggunakan Voldemort
4. Google menggunakan Bigtable
5. Amazon menggunakan SimpleDB
6. 3.Jelaskan konsep ORM(Object Relational
Model) pada database!
ORM merupakan kependekan dari Object Relational Mapping, sebuah teknik pemrograman
yang memetakan sebuah objek dengan database. ORM ini akan membantu menjadi ‘jembatan’
antara objek yang didefinisikan dalam kode program dengan database, bagaimana objek itu
disimpan, diambil, dihapus dan sebagainya. Dengan ORM ini, programmer dibantu untuk
melakukan aksi-aksi yang diperlukan terkait komunikasi objek ketika program dijalankan
dengan database seperti menyimpan objek, mengambil data objek dari database kemudian
ditampilkan, menghapus objek, mengubah objek dan sebagainya. Sebagai contoh penggunaan
adalah ketika ada definisi data berupa person yang memiliki atribut id dan nama. Di database
didefinisikan sebuah tabel dengan kolom id dan nama. Dengan tanpa menggunakan ORM,
untuk menyimpan objek itu ke database adalah dengan menjalan perintah SQL :
“INSERT INTO persons (id, nama) values (’1′,’wisnu manupraba’)”.
7. Dengan menggunakan ORM, perintah SQL itu akan digantikan dengan fungsi misalkan
save (tergantung fungsi yang disediakan oleh pustaka ORM yang digunakan), sehingga
pemanggilannya adalah :
Person person = new Person (1, “Wisnu Manupraba”);
person.insert();
ORM lah yang akan memetakan fungsi insert() sama dengan perintah SQL ‘INSERT
INTO….”.Ada banyak pustaka ORM yang tersedia saat ini, di berbagai bahasa. Di Java
misalkan ada Hibernate dan MyIbatis (dulu namanya IBatis). Di PHP, berbagai framework
seperti CakePHP, CodeIgniter, Yii dan sebagainya menyediakan ORMnya sendiri-sendiri.
8. 4. Apakan laravel mendukung ORM?
laravel pada dasarnya mendukung konsep OOP, maka bukan hal yang mustahil
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.
9. class Mahasiswa extends Eloquent {
protected $table = 'mahasiswa'; //nama tabelnya
protected $primaryKey = 'nim'; //Primary Key nya
}
Fungsi Menampilkan
//MENAMPILKAN SEMUA
$mahasiswa = Mahasiswa::all();
//MENAMPILKAN BERDASAR ID
$mahasiswa = Mahasiswa::find(1006017);
//PARAMETER WHERE
$mahasiswa = Mahasiswa::where('semester','4')->get();
//WHERE DENGAN AGGREGAT
$mahasiswa = Mahasiswa::where('semester','>','2')->get();
Insert, Update , Delete
10. Insert, Update , Delete Untuk menambahkan objek baru caranya seperti ini
$mahasiswa = New Mahasiswa;
$mahasiswa->nim = '1007012';
$mahasiswa->nama = 'Arief Budiman';
$mahasiswa->alamat = 'Garut Kota Intan';
$mahasiswa->semester = 4;
$mahasiswa->save();
Mengupdate objek pada baris/row tertentu berdasarkan
$mahasiswa = Mahasiswa::find(1006017);
$mahasiswa->nama = 'Arief Budiman';
$mahasiswa->alamat = 'Garut Kota Intan';
$mahasiswa->semester = 4;
$mahasiswa->save();
Menghapus baris pada tabel
//DELETE SATU BARUS
$mahasiswa = Mahasiswa::find(1006017);
$mahasiswa->delete();
//DELETE BANYAK BARIS
$mahasiswa = Mahasiswa::where('semester','3')->delete();