Tugas4 1412510602 dewi_apriliani

7
TUGAS 4 Nama : Dewi Apriliani Nim : 1412510602 Tugas : Rekayasa Web

Transcript of Tugas4 1412510602 dewi_apriliani

Page 1: Tugas4 1412510602 dewi_apriliani

TUGAS 4

Nama : Dewi AprilianiNim : 1412510602Tugas : Rekayasa Web

Page 2: Tugas4 1412510602 dewi_apriliani

DatabaseBasis 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.

Page 3: Tugas4 1412510602 dewi_apriliani

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.

Page 4: Tugas4 1412510602 dewi_apriliani

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 .

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.

Berikut dijelaskan perbedaan antara MySql dengan Nosql

Page 5: Tugas4 1412510602 dewi_apriliani

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 .

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.

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.

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.

Perbedaan SQL dan NoSQL

Page 6: Tugas4 1412510602 dewi_apriliani

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.

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:

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

ORM (Object Relational Mapping)

Page 7: Tugas4 1412510602 dewi_apriliani

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

Konsep Eloquent ORM pada Laravel