Tugas4 (individu)-andrian lesmana-1311510448

14
Oleh: Andrian Lesmana (1311510448)

Transcript of Tugas4 (individu)-andrian lesmana-1311510448

Page 1: Tugas4 (individu)-andrian lesmana-1311510448

Oleh: Andrian Lesmana (1311510448)

Page 2: Tugas4 (individu)-andrian lesmana-1311510448

1. Apa yang anda ketahui menganai database?Jelaskan!

Page 3: Tugas4 (individu)-andrian lesmana-1311510448

a) DATA BASEBasis 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 4: Tugas4 (individu)-andrian lesmana-1311510448

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 5: Tugas4 (individu)-andrian lesmana-1311510448

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, dan4. Sebuah field disimpan dalam bentuk kumpulan bit.

Page 6: Tugas4 (individu)-andrian lesmana-1311510448

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.

Page 7: Tugas4 (individu)-andrian lesmana-1311510448

2. Apakah perbedaan Relational database dengan Unrelational database(NoSql)? Jelaskan dan berikan contohnya?

Page 8: Tugas4 (individu)-andrian lesmana-1311510448

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.

Page 9: Tugas4 (individu)-andrian lesmana-1311510448

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.

Page 10: Tugas4 (individu)-andrian lesmana-1311510448

3. Jelaskan konsep ORM(Object Relational Model) pada database!

Page 11: Tugas4 (individu)-andrian lesmana-1311510448

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.

Page 12: Tugas4 (individu)-andrian lesmana-1311510448

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

Page 13: Tugas4 (individu)-andrian lesmana-1311510448

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

Page 14: Tugas4 (individu)-andrian lesmana-1311510448

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.