Karakteristik Negara Mesir (Geografi Regional Dunia)
Tugas iv 0317_arie firmandani_1512510445
1. REKAYASA WEB
TUGAS Iv
NIM :1512510445
NAMA : Arie Firmandani
FAKULTAS : Fakultas Teknologi Informasi
Prodi : Sistem Informasi
2. A. PENGERTIAN
1. Pengertian database adalah sekumpulan data yang sudah
disusun sedemikan rupa dengan ketentuan atau aturan tertentu
yang saling berelasi sehingga memudahkan pengguna dalam
mengelolanya juga memudahkan memperoleh informasi. Selain itu
adapula yang mendefinisikan database sebagai kumpulan file,
tabel, atau arsip yang saling terhubung yang disimpan
dalam media elektronik. Database adalah kumpulan informasi
yang disimpan di dalam komputer secara sistematik untuk
memperoleh informasi dari basis data tersebut.
2. Database adalah representasi kumpulan fakta yang saling
berhubungan disimpan secara bersama, untuk memenuhi berbagai
kebutuhan.
3. Database merupakan sekumpulan informasi yang saling berkaitan
pada suatu subjek tertentu untuk tujuan tertentu pula.
4. Database adalah susunan record data operasional lengkap dari
suatu organisasi atau perusahaan, yang diorganisir dan disimpan
secara terintegrasi dengan menggunakan metode tertentu
sehingga mampu memenuhi informasi yang optimal yang
dibutuhkan olehpara pengguna.
3. 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, dan
4. Sebuah field disimpan dalam bentuk kumpulan bit.
4. 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.
5. Database dapat dibuat dan diolah dengan menggunakan
suatu program komputer, yaitu yang biasa disebut dengan
software (perangkat lunak).Software yang digunakan untuk
mengelola dan memanggil kueri (query) database disebut
Database Management System (DBMS) atau jika
diterjemahkan kedalam bahasa indonesia berarti “Sistem
Manajemen Basis Data”.
DBMS terdiri dari dua komponen, yaitu Relational Database
Management System (RDBMS) dan Overview of Database
Management System (ODBMS). RDBMS meliputi Interface
Drivers, SQL Engine, Transaction Engine, Relational Engine,
dan Storage Engine. Sedangkan ODBMS meliputi Language
Drivers,Query Engine, Transaction Engine, dan Storage
Engine.
6. Sedangkan level dari softwarenya sendiri, terdapat dua
level software yang memungkinkan untuk membuat
sebuah database antara lain :
High Level Software dan Low Level Software.
Yang termasuk di dalam High Level Software, antara
lain Microsoft SQL Server, Oracle, Sybase, Interbase,
XBase, Firebird, MySQL, PostgreSQL, Microsoft Access,
dBase III, Paradox, FoxPro, Visual FoxPro, Arago, Force,
Recital, dbFast, dbXL,Quicksilver, Clipper, FlagShip,
Harbour, Visual dBase, dan Lotus Smart Suite Approach.
Sedangkan yang termasuk di dalam Low Level Software
antara lainBtrieve dan Tsunami Record Manager.
7. Terdapat 12 tipe database,
antara lain :
1. Operational database,
2. Analyticaldatabase,
3. Data warehouse,
4. Distributed database,
5. End-user database,
6. External data base,
7. Hypermedia databases on the
web,
8. Navigational database,
9. In-memory data bases,
10. Document-oriented databases,
11. Real-time databases, dan
12. RelationalDatabase.
Prinsip utama Data Base
adalah pengaturan data dengan
tujuan utama fleksibelitas dan
kecepatan pada saat
pengambilan data kembali
ciri-ciri basis data
diantaranya adalah sebagai
berikut :
1. Efisiensi meliputi kecepatan,
ukuran, dan ketepatan
2. Data dalam jumlah besar.
3. Berbagi Pakai (dipakai bersama
sama/Sharebility).
4. Mengurangi bahkan
menghilangkan terjadinya
duplikasi dan ketidak
konsistenan data
9. DATABASE RATIONAL
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, Microso
ft Sql Server, dll.
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.
10. Contoh produk DBMS terkenal yang
menggunakan model relasional antara lain
adalah :
1. DB2 (IBM)
2. Rdb/VMS (Digital Equipment Corporation)
3. Oracle (Oracle Corporation)
4. Informix (Informix Corporation)
5. Ingres (ASK Group Inc)
6. Sybase (Sybase Inc)
11. DATABASE UNRATIONAL
Sedangkan 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).
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.
12. Contoh produk DBMS terkenal yang
menggunakan model UNRATIONAL antara lain
adalah :
Cassandra,
CouchDB,
MongoDB,
HBase,
MemCache,
Neo4j, &
Redis)
13. Kesimpulan:
NoSQL dan SQL database memiliki +/- masing².
Keduanya saling melengkapi dan bukannya
menggantikan.
NoSQL lebih cocok untuk data yang memiliki
volume & velocity besar serta variety yang
beragam.
NoSQL secara umum bukanlah analytic engine
seperti Hadoop.
Perpaduan penggunaan database NoSQL dan
SQL yang tepat tidak hanya akan meningkatkan
performa, namun juga meng-optimalkan biaya
(cost) infrastruktur.
14. A. PENGERTIAN
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.
15. 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).
16. 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).
Mengambil contoh tabel post di atas, kita ingin agar hasil query dari
tabel tersebut dipetakan menjadi obyek model Post. Untuk itu kita
harus definisikan dulu model Post. Buat sebuah file baru
app/models/Post.php:
<?
php class Post extends Eloquent {
protected $table = 'post';
}
17. Setiap model yang kita bikin harus meng-
extends kelas Eloquent bawaan laravel. Eloquent
sendiri artinya kurang lebih
Selanjutnya kita bisa melakukan berbagai macam
query melalui ORM.
Mendapatkan semua row:
$posts = Post::all();
Mendapatkan satu row berdasar primary key:
$singlePost = Post::find(1);
echo '<pre>';
print_r($singlePost);
echo '</pre>';
18. Kode di atas akan menghasilkan:
Post Object
(
[table:protected] => post
[connection:protected] =>
[primaryKey:protected] =>id
[perPage:protected] => 15
[incrementing] => 1
[timestamps] => 1
[attributes:protected] => Array
(
[id] => 1
[title] => Halo bro
[content] => content 1
[comment_count] => 2
[status] => publish
[created] =>
)
19. Coba perhatikan, sekarang kita sudah mendapatkan
Post Object, bukan lagi stdClass Object seperti
sebelumnya. Itu berarti, jika kita menambahkan atribut
atau fungsi apapun di kelas Post yang sudah kita bikin,
maka atribut dan fungsi tersebut juga bisa dipanggil oleh
obyek-obyek yang dihasilkan dari hasil query.
Buka kembali file app/models/Post.php, lalu modifikasi
seperti berikut ini:
<?php
class Post extends Eloquent {
protected $table = 'post';
public $newAttribute = 'new attribute';
public function url()
{
return 'http:://www.domain.com/post/' . $this-
>id; }
}
20. Maka kita bisa memanggil atribut dan fungsi
tersebut seperti berikut ini:
$singlePost = Post::find(1);
echo $singlePost->newAttribute;// output: 'new
attribute‘
echo '<br>';
echo $singlePost->url(); // output:
'http://www.domain.com/post/1‘
Semua fungsi yang tersedia di Query Builder
bisa dipakai untuk melakukan query via ORM.
$posts = Post::where('status', 'publish')->get();
21. Insert, Update, Delete
Untuk menambahkan record baru ke database,
caranya cukup sederhana:
1. Buat obyek baru
2. Set atribut-atributnya
3. Panggil fungsi save()
Mari kita lihat contohnya:
$newPost = new Post;
$newPost->title = 'Yeah, Laravel emang nge-
jazz'; $newPost->content = 'Pharetra Elit
Condimentum Ligula Sem';
$newPost->status = 'draft';
$newPost->save();
22. Jalankan kode di atas, dan tadaaaa…. error kan?
Exception
SQLSTATE[42S22]: Column not found: 1054
Unknown column 'updated_at' in 'field list' (SQL:
insert into `post` (`title`, `content`, `status`,
`updated_at`, `created_at`) values (?, ?, ?, ?, ?))
(Bindings: array ( 0 => 'Yeah, Laravel emang nge-
jazz', 1 => 'Pharetra Elit Condimentum Ligula
Sem', 2 => 'draft', 3 => '2013-10-12 08:03:01', 4 =>
'2013-10-12 08:03:01', ))
Secara default, Eloquent memerlukan dua kolom
tambahan untuk setiap tabel, yaitu updated_at dan
created_at, yang akan digunakan untuk mencatat
waktu insert dan waktu update secara otomatis.
Untuk itu, tambahkan kedua kolom tersebut di tabel
post Anda, keduanya bertipe datetime.
23. Jalankan kembali kode di atas, dan cek
database Anda:
Record baru sudah ditambahkan, lengkap
dengan info tentang kapan record tersebut di-
insert.
Untuk melakukan update di row tertentu,
caranya juga sangat sederhana:
$post = Post::find(1);
$post->title = 'New Title‘;
$post->save();
24. Cek kembali table post Anda, perhatikan record
dengan id = 1, apakah title-nya berubah? Apakah
kolom updated_at sudah terisi secara otomatis?
Sedangkan untuk menghapus row tertentu,
Eloquent sudah menyediakan fungsi delete():
// menghapus satu row via obyek
$post = Post::find(2);
$post->delete();
// menghapus banyak row sekaligus
Post::where('status', 'draft')->delete();