Tugas Rekweb 4

10
Nama: Dendy Alfiani Satrio Nim:1412511600 Tugas Rekweb Individu 1 Kelompok:KA

Transcript of Tugas Rekweb 4

Page 1: Tugas Rekweb 4

Nama: Dendy Alfiani Satrio

Nim:1412511600

Tugas Rekweb Individu 1

Kelompok:KA

Page 2: Tugas Rekweb 4

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

Page 3: Tugas Rekweb 4

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.

Page 4: Tugas Rekweb 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

Page 5: Tugas Rekweb 4

Contoh: Aplikasi yang mengunakan SQL1. Hbase2. Hypertable3. Clouddata4. MongoDB5. CouchDB6. Neo4j7. FlockDB Aplikasi yang menggunakan NoSQL1. Facebook menggunakan Cassandra2. Tweeter menggunakan FlockDb3. Linkedlin menggunakan Voldemort4. Google menggunakan Bigtable5. Amazon menggunakan SimpleDB

Page 6: Tugas Rekweb 4

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’)”.

Page 7: Tugas Rekweb 4

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.

Page 8: Tugas Rekweb 4

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.

Page 9: Tugas Rekweb 4

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

Page 10: Tugas Rekweb 4

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();