22
TUGAS 4 – 0317 (INDIVIDU) NAMA : LINDA LESTARI NIM : 1411511668 KELOMPOK : KA, TB MATA KULIAH : REKAYASA WEB

Tugas 4 – 0317 (individu)

Embed Size (px)

Citation preview

Page 1: Tugas 4 – 0317 (individu)

TUGAS 4 – 0317 (INDIVIDU)

NAMA : LINDA LESTARINIM : 1411511668KELOMPOK : KA, TBMATA KULIAH: REKAYASA WEB

Page 2: Tugas 4 – 0317 (individu)

PENGERTIAN DATABASE• Kumpulan file-file yang saling berelasi, relasi tersebut ditunjukkan dengan kunci

dari tiap file yang ada untuk digunakan dalam satu lingkup perusahaan, instansi (Kristanto, 1994).

• Kumpulan file data yang terorganisasi, terintegrasi, dan bisa dipakai bersama (C.J Date, 1981).

• Kumpulan rekaman data berbagai tipe yang memiliki relasi satu sama lain (Martin, 1977).

• Sekumpulan data organisasi untuk melayani banyak aplikasi secara efisien dengan memusatkan data dan mengendalikan redundansi data. (Kenneth C. Laudon. Jane P. Louden, 2010).

• Kumpulan dari data yang saling terintegrasi satu dengan yang lainnya tersimpan dalam perangkat keras komputer dan menggunakan perangkat lunak untuk bantuan dalam mengoperasikannya ( ICT Database/Data Resources Management, Dr. Syopiansyah Jaya Putra, M.Sis, 2010)

Page 3: Tugas 4 – 0317 (individu)

Database / Basisdata adalah sekumpulan informasi yang diatur dalam cara tertentu hingga sebuah program komputer dapat dengan cepat memilih data yang diinginkan. Basisdata dapat diibaratkan sebagai sistem pengarsipan elektronis. Basisdata tradisional terdiri dari field, record, dan file. Field adalah item tertentu dari informasi; record adalah sekumpulan field; dan file adalah kumpulan record. Sebagai contoh, buku telepon dapat dianalogikan sebuah file yang terdiri dari banyak record dan setiap record terdiri dari tiga field, yaitu nama, alamat, dan nomor telepon. Konsep alternatif rancangan basisdata disebut hypertext. Dalam basisdata hypertext, setiap obyek, apakah itu merupakan teks, gambar atau film, dapat dihubungkan dengan obyek lainnya. Basisdata hypertext sangat berguna untuk mengatur informasi yang sangat besar tetapi tidak digunakan dalam analisis numerik. Untuk mengakses informasi dari basisdata, diperlukan data base management system (DBMS). DBMS adalah kumpulan program yang memungkinkan pengguna memasukan, mengatur, atau memilih data dari basisdata.

Page 4: Tugas 4 – 0317 (individu)

SIFAT-SIFAT DATABASE

• InternalKesatuan (integritas) dari file-file yang terlibat

• Terbagi/shareElemen-elemen database dapat dibagikan pada para user

baik secara sendiri-sendiri maupun secara serentak dan pada waktu yang sama (concurrent sharing).

Page 5: Tugas 4 – 0317 (individu)

TIPE DATABASE• Operational database

Database ini menyimpan data rinci yang diperlukan untuk mendukung operasi dari seluruh organisasi. Mereka juga disebut subject-area databases (SADB), transaksi database, dan produksi database. Contoh: database pelanggan, database pribadi, database inventaris, akuntansi database.• Analytical database

Database ini menyimpan data dan informasi yang diambil dari operasional yang dipilih dan eksternal database. Mereka terdiri dari data dan informasi yang dirangkum paling dibutuhkan oleh sebuah organisasi manajemen dan End-user lainnya. Beberapa orang menyebut analitis multidimensi database sebagai database, manajemen database, atau informasi database.• Data warehouse

Sebuah data warehouse menyimpan data dari saat ini dan tahun- tahun sebelumnya - data yang diambil dari berbagai database operasional dari sebuah organisasi.• Distributed database

Ini adalah database-kelompok kerja lokal dan departemen di kantor regional, kantor cabang, pabrik-pabrik dan lokasi kerja lainnya. Database ini dapat mencakup kedua segmen yaitu operasional dan user database, serta data yang dihasilkan dan digunakan hanya pada pengguna situs sendiri.

Page 6: Tugas 4 – 0317 (individu)

• End-user databaseDatabase ini terdiri dari berbagai file data yang dikembangkan oleh end-user di

workstation mereka. Contoh dari ini adalah koleksi dokumen dalam spreadsheet, word processing dan bahkan download file.• External database

Database ini menyediakan akses ke eksternal, data milik pribadi online - tersedia untuk biaya kepada pengguna akhir dan organisasi dari layanan komersial. Akses ke kekayaan informasi dari database eksternal yang tersedia untuk biaya dari layanan online komersial dan dengan atau tanpa biaya dari banyak sumber di Internet.• Hypermedia databases on the web

Ini adalah kumpulan dari halaman-halaman multimedia yang saling berhubungan di sebuah situs web. Mereka terdiri dari home page dan halaman hyperlink lain dari multimedia atau campuran media seperti teks, grafik, gambar foto, klip video, audio dll.• Navigational database

Dalam navigasi database, queries menemukan benda terutama dengan mengikuti referensi dari objek lain.

Page 7: Tugas 4 – 0317 (individu)

• In-memory databasesDatabase di memori terutama bergantung pada memori utama untuk penyimpanan data

komputer. Ini berbeda dengan sistem manajemen database yang menggunakan disk berbasis mekanisme penyimpanan. Database memori utama lebih cepat daripada dioptimalkan disk database sejak Optimasi algoritma internal menjadi lebih sederhana dan lebih sedikit CPU mengeksekusi instruksi.• Document-oriented databases

Merupakan program komputer yang dirancang untuk aplikasi berorientasi dokumen. Sistem ini bisa diimplementasikan sebagai lapisan di atas sebuah database relasional atau objek database. Sebagai lawan dari database relasional, dokumen berbasis database tidak menyimpan data dalam tabel dengan ukuran seragam kolom untuk setiap record. Sebaliknya, mereka menyimpan setiap catatan sebagai dokumen yang memiliki karakteristik tertentu. Sejumlah bidang panjang apapun dapat ditambahkan ke dokumen. Bidang yang dapat juga berisi beberapa bagian data.• Real-time databases Real-time

Database adalah sistem pengolahan dirancang untuk menangani beban kerja negara yang dapat berubah terus- menerus. Ini berbeda dari database tradisional yang mengandung data yang terus- menerus, sebagian besar tidak terpengaruh oleh waktu.• Relational Database

Database yang paling umum digunakan saat ini. Menggunakan meja untuk informasi struktur sehingga mudah untuk mencari.

Page 8: Tugas 4 – 0317 (individu)

STRUKTUR DATABASE• Data

Sekumpulan fakta mengenai objek tertentu, orang dan lain-lain yang dinyatakan dengan angka, huruf, gambar, film, suara dan sebagainya yang relevan dan belum mempunyai arti.• Informasi

Hasil pengolahan data yang konkrit dan sudah mempunyai arti untuk mencapai suatu tujuan tertentu.• Tabel

Merupakan hal yang paling mendasar dalam hal penyimpanan data yang terdiri dari field dan record.• Field (kolom)

Merupakan elemen dari tabel yang berisikan informasi tertentu yang spesifik tentang sub judul tabel pada sebuah item data. Syarat-syarat pembentukan Field Name pada tabel:· Harus Unik atau Spesifik· Boleh disingkat· Pemisah sebagai pengganti spasi dalam pembentuk field adalah tanda lambang "_" Contoh: Kode Barang menjadi KdBarang, KodeBrg, Kd_Brg, Kd_Barang.

Page 9: Tugas 4 – 0317 (individu)

TUJUAN DATABASE• Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalammenyediakan informasi• Menentukan kualitas informasi: akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.• Mengurangi duplikasi data (data redudancy)• Hubungan data dapat ditingkatkan (data relatability)• Mengurangi pemborosan tempat simpanan luar1.

Page 10: Tugas 4 – 0317 (individu)

KEUNGGULAN DATABASE

1.    mengurangi kerangkapan data2.    mencapai independensi data3.    mengintegrasi data dari beberapa file4.    mengambil data dan informasi secara cepat5.    meningkatkan keamanan data

Page 11: Tugas 4 – 0317 (individu)

KELEMAHAN DATABASE

1.    perangkat lunak yang mahal2.    konfigurasi perangkat keras yang besar3.    mempertahankan staff Database Administrator

Page 12: Tugas 4 – 0317 (individu)

PERBEDAANRELATIONAL DATABASE DENGAN

UNRELATIONAL DATABASE (NOSQL)

Page 13: Tugas 4 – 0317 (individu)

RELATIONAL DATABASE

Database relasional adalah koleksi data terstruktur yang disajikan lewat tabel², 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, dll.

Page 14: Tugas 4 – 0317 (individu)

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 15: Tugas 4 – 0317 (individu)

UNRELATIONAL DATABASE (NOSQL)

NoSQL adalah tipe penyimpanan data selain yang berwujud tabular (tabel²), 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 (Akan diabahas kemudian maksud & contohnya).

Page 16: Tugas 4 – 0317 (individu)

NoSQL bukan berarti “No SQL” atau “bukan SQL”/tidak mendukung bahasa Query, tapi “Not-Only SQL”. Masudnya database NoSQL tetap memiliki (support) ‘semacam’ bahasa Query, namun dalam bentuk (terminology yang berbeda). Beberapa literature bahkan tidak menggolongkan NoSQL sebagai suatu bentuk database.  NoSQL bisa berupa Document (e.g. MongoDB), Key-Value (e.g. CouchDB), Graph (e.g. Neo4J), dsb.

Page 17: Tugas 4 – 0317 (individu)

ORM (Object Relational Mapping)

ORM (Object Relational Mapping) 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 18: Tugas 4 – 0317 (individu)

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

Page 19: Tugas 4 – 0317 (individu)

LARAVEL MENDUKUNG ORM

Perhatikan contoh contoh berikut:

// raw query$posts = DB::select('select * from post');// query builder$posts = DB::table('post')->get();

Kedua query di atas sama-sama menghasilkan array yang elemennya bertipe stdClass (stdClass adalah kelas bawaan PHP, biasanya digunakan untuk membuat obyek sederhana yang hanya berisi setter dan getter).

Page 20: Tugas 4 – 0317 (individu)

Array([0] => stdClass Object([id] => 1[title] => Halo bro[content] => content 1[comment_count] => 2[status] => publish[created] =>)[1] => stdClass Object([id] => 2[title] => Basic Routing[content] => content 2[comment_count] => 10[status] => publish[created] =>)[2] => stdClass Object([id] => 3[title] => Nested Layout Menggunakan Blade[content] => content 3[comment_count] => 1[status] => draft[created] =>))

Page 21: Tugas 4 – 0317 (individu)

Bagaimana jika kita ingin mengganti stdClass dengan Kelas buatan sendiri, apakah bisa?

Nah, itulah salah satu peran ORM (Object Relational Mapper), yaitu memetakan hasil query dari database ke dalam bentuk obyek yang sudah kita definisikan sebelumnya. Bentuk yang sudah kita definisikan sebelumnya ini biasa disebut dengan Model (M dari MVC).

Page 22: Tugas 4 – 0317 (individu)

KesimpulanSekarang kita sudah bisa melakukan query ke database

memanfaatkan fitur-fitur yang sudah disediakan oleh laravel. Dari ketiga cara tersebut, menggunakan ORM adalah cara yang paling direkomendasikan karena lebih fleksibel, kode lebih terorganisir dan mudah dipahami, dan tentunya lebih OOP.

Tetapi terkadang ada kasus dimana ORM memiliki kelemahan, terutama dalam segi performansi, yaitu ketika berhubungan dengan data yang sangat banyak (jutaan row). Untuk kasus tersebut, Anda selalu memiliki pilihan untuk menggunakan dua metode lainnya.