際際滷

際際滷Share a Scribd company logo
TUGAS 4
NAMA : WILDAN LATIEF
NIM : 1512500818
MATA KULIAH : REKAYASA WEB
DATA BASE
*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
Elemen data/FieldDari pengertian diatas dapat disimpulkan
bahwa basis data mempunyai beberapa kriteria penting, yaitu :
1. Bersifat data oriented dan bukan program oriented.
2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu
mengubah basis datanya.
3. Dapat dikembangkan dengan mudah, baik volume maupun
strukturnya.
4. Dapat memenuhi kebutuhan sistem-sistem baru secara
mudah
5. Dapat digunakan dengan cara-cara yang berbeda.
PRINSIP UTAMA DATA BASE
 Prinsip utama Data Base adalah
pengaturan data dengan tujuan utama
fleksibelitas dan kecepatan pada saat
pengambilan data kembali. Adapun
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
ketidakkonsistenan data.
Relational database dengan Unrelational
database(NoSql) 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族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.
CONTOH RATIONAL DATABASE
 contohnya MySQL, PostGreSQL, SqlLite,
Microsoft 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.
konsep ORM(Object Relational Model
 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).
 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.
 Apakan laravel mendukung ORM:
 Ya sangat membantu dan kita dapat
menggunakan fitur yang telah di
sediakan laravel untuk melakukan query
ke data base dengan konsep ORM.
 Cara Penggunaan Database di Laravel
 Di dalam Laravel terdapat 3 cara untuk
berinteraksi dengan database yaitu :
Raw Query
 Query Builder (Fluent Query)
 Eloquent ORM
 Metode raw query ini mirip atau memang sama dengan query sql biasa , jadi
mungkin anda sudah biasa menggunakannya.Namun disini kita harus menggunakan
class DB dan di ikuti statement seperti insert, update, delete lihat contoh dibawah ini :
//SELECT $mahasiswa = DB::select('select * from mahasiswa'); foreach($mahasiswa as
$dt){ echo $dt->nama; } //SELECT dengan Parameter $results = DB::select('select * from
mahasiswa where nim = ?', array(1006017)); foreach($mahasiswa as $dt){ echo $dt-
>nama; } //INSERT DB::insert('insert into mahasiswa (nim, nama, alamat, semester)
values (?, ?, ?, ?)', array(1001728, 'Udin', 'Bandung Cicaheum','4')); //UPDATE
DB::update('update users set nama = Agus Mauladig where nim = ?', array('1006017'));
//DELETE DB::delete('delete from mahasiswa'); DB::delete('delete from mahasiswa
where nim = ? ',array('1006017')); //GENERAL STATEMENT DB::statement('drop table
mahasiswa'); Query Builder / Fluent Query
 Dengan query builder code query lebih nyaman dibaca dan lebih mudah karena kita
tidak dikhawatirkan dengan perbedaan penulisan native query yang mungkin ada
perbedaan antara sistem database satu dengan yang lain.
//SELECT $mahasiswa = DB::table('mahasiswa')->get(); foreach ($mahasiswa as $dt) {
echo $dt->nama; } //SELECT DENGAN PARAMETER $mahasiswa =
DB::table('mahasiswa')->where('semester','3')->get(); foreach ($mahasiswa as $dt) { echo
$dt->nama; } //MENAMPILKAN SATU BARIS $mahasiswa = DB::table('mahasiswa')-
>where('semester','3')->first(); echo $mahasiswa->nama; //SELECT KOLOM TERTENTU
$mahasiswa = DB::table('mahasiswa')->select('min', 'nama')->where('id', 1006017)-
>first(); foreach ($mahasiswa as $dt) { echo $dt->nim; echo $dt->nama; } //SELECT SATU
KOLOM $mahasiswa = DB::table('mahasiswa')->orderBy('semester', 'desc')-
>pluck('nama'); foreach ($mahasiswa as $dt) { echo 'namanya adalah :'.$dt->nama; }
//MENAMBAHKAN STATEMENT BERDASARKAN VARIABEL $nama =
DB::table('mahasiswa')->select('nama'); $query = $query->addSelect('semester')->get();
//BANYAK STATEMENT $query = DB::table('mahasiswa') ->where('semester', '>', 1) -
>orWhere('nim', '1006017') ->orderBy('nama', 'asc') ->get(); //MEMBATASI (Offset &
Limit) $users = DB::table('mahasiswa')->skip(2)->take(5)->get(); Eloquent ORM
 menangani SQL Query yang rumit. JIka itu terjadi anda gabungkan saja
dengan metode yang lainya. Kalau saya selalu menggunakan Eloquent
ORM.
 Eloquent adalah Sebuah ORM (Object Relational
Mapping) yang dibundling bersama Laravel Framework. ORM ini sangat
sederhana menurut saya tapi justru disitulah nilai lebih dari ORM ini.Setiap model
eloquent yang kita buat akan bertanggung jawab atas satu tabel dalam database.
Misalnya kita telah mempunyai tabel mahasiswa , kita harus membuat model baru
yang bertanggung jawab atas tabel mahasiswa. Sebagai contoh buat file
Mahasiswa.php di app/models definisikan dulu model nya seperti ini
class Mahasiswa extends Eloquent { protected $table = 'mahasiswa'; //nama tabelnya
protected $primaryKey = 'nim'; //Primary Key nya } hal yang harus di perhatikan
diatas dalam eloquent kita harus mengextends Eloquent dan menambahkan nama
tabel.
Setelah itu kita bisa melakukan berbagai macam query dengan memanggil nama Class
di model nya diikuti dengan function seperti contoh dibawah ini :

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

KESIMPULAN
Dari 3 metode diatas yang paling direkomendasikan yaitu metode Eloquent ORM
karena lebih mudah, fleksibel dan terorganisir.namun dalam beberapa kasus Eloquent
gagal dalam
TERIMA
KASIH
Ad

More Related Content

What's hot (20)

Membuat Tabel Relasi
Membuat Tabel RelasiMembuat Tabel Relasi
Membuat Tabel Relasi
ikikazuya
Kp.5 obyek premier database
Kp.5 obyek premier databaseKp.5 obyek premier database
Kp.5 obyek premier database
Desty Yani
Sql session 1
Sql session 1Sql session 1
Sql session 1
Sanjaya CeBe
Laporan Basis Data (DDL)
Laporan Basis Data (DDL)Laporan Basis Data (DDL)
Laporan Basis Data (DDL)
dhini eka
SQL database client server
SQL database client serverSQL database client server
SQL database client server
Desty Yani
Tupen 7 1235010002
Tupen 7 1235010002Tupen 7 1235010002
Tupen 7 1235010002
Abrianto Nugraha
Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)
Devi Apriansyah
Tutorial my sql
Tutorial my sqlTutorial my sql
Tutorial my sql
MIlaSusanti2
Konsep dasar sistem basis data
Konsep dasar sistem basis dataKonsep dasar sistem basis data
Konsep dasar sistem basis data
Universitas Bina Darma Palembang
Modul Dbms mysql dan perintah dasar SQL
Modul Dbms mysql dan perintah dasar SQLModul Dbms mysql dan perintah dasar SQL
Modul Dbms mysql dan perintah dasar SQL
Deka M Wildan
Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)
Deka M Wildan
Modul sql tingkat dasar
Modul sql tingkat dasarModul sql tingkat dasar
Modul sql tingkat dasar
eppoy jeprudht
Mysql 2
Mysql 2Mysql 2
Mysql 2
Fajar Baskoro
7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL
Simon Patabang
P webfb
P webfbP webfb
P webfb
Fajar Baskoro
Tupen 8 1235010002
Tupen 8 1235010002Tupen 8 1235010002
Tupen 8 1235010002
Abrianto Nugraha
Pemrograman sql
Pemrograman sqlPemrograman sql
Pemrograman sql
Cindy Furi
Kd6 Structure Query Language (SQL)
Kd6 Structure Query Language (SQL)Kd6 Structure Query Language (SQL)
Kd6 Structure Query Language (SQL)
Desty Yani
Membuat Tabel Relasi
Membuat Tabel RelasiMembuat Tabel Relasi
Membuat Tabel Relasi
ikikazuya
Kp.5 obyek premier database
Kp.5 obyek premier databaseKp.5 obyek premier database
Kp.5 obyek premier database
Desty Yani
Laporan Basis Data (DDL)
Laporan Basis Data (DDL)Laporan Basis Data (DDL)
Laporan Basis Data (DDL)
dhini eka
SQL database client server
SQL database client serverSQL database client server
SQL database client server
Desty Yani
Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)
Devi Apriansyah
Tutorial my sql
Tutorial my sqlTutorial my sql
Tutorial my sql
MIlaSusanti2
Modul Dbms mysql dan perintah dasar SQL
Modul Dbms mysql dan perintah dasar SQLModul Dbms mysql dan perintah dasar SQL
Modul Dbms mysql dan perintah dasar SQL
Deka M Wildan
Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)
Deka M Wildan
Modul sql tingkat dasar
Modul sql tingkat dasarModul sql tingkat dasar
Modul sql tingkat dasar
eppoy jeprudht
7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL
Simon Patabang
Pemrograman sql
Pemrograman sqlPemrograman sql
Pemrograman sql
Cindy Furi
Kd6 Structure Query Language (SQL)
Kd6 Structure Query Language (SQL)Kd6 Structure Query Language (SQL)
Kd6 Structure Query Language (SQL)
Desty Yani

Viewers also liked (16)

Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn Research - Finance & Accounting Landscape, February 2017Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Oleg Shalygin
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
IQbal KHan
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn
Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn Research - Healthcare Analytics Landscape, February 2017Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn
Google Cloud Spanner Preview
Google Cloud Spanner PreviewGoogle Cloud Spanner Preview
Google Cloud Spanner Preview
DoiT International
2017 iosco research report on financial technologies (fintech)
2017 iosco research report on  financial technologies (fintech)2017 iosco research report on  financial technologies (fintech)
2017 iosco research report on financial technologies (fintech)
Ian Beckett
Enabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical EnterpriseEnabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical Enterprise
Hortonworks
Tugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_aprilianiTugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_apriliani
dewiapril1996
MongoDB NoSQL database a deep dive -MyWhitePaper
MongoDB  NoSQL database a deep dive -MyWhitePaperMongoDB  NoSQL database a deep dive -MyWhitePaper
MongoDB NoSQL database a deep dive -MyWhitePaper
Rajesh Kumar
Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 -
fahreza yozi
Avaya anixter event
Avaya anixter eventAvaya anixter event
Avaya anixter event
Odilo Alvarez
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
PGConf APAC
Freewill Eng245 2017
Freewill Eng245 2017Freewill Eng245 2017
Freewill Eng245 2017
Stanford University
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn Research - Finance & Accounting Landscape, February 2017Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Oleg Shalygin
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
IQbal KHan
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn
Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn Research - Healthcare Analytics Landscape, February 2017Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn
Google Cloud Spanner Preview
Google Cloud Spanner PreviewGoogle Cloud Spanner Preview
Google Cloud Spanner Preview
DoiT International
2017 iosco research report on financial technologies (fintech)
2017 iosco research report on  financial technologies (fintech)2017 iosco research report on  financial technologies (fintech)
2017 iosco research report on financial technologies (fintech)
Ian Beckett
Enabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical EnterpriseEnabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical Enterprise
Hortonworks
Tugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_aprilianiTugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_apriliani
dewiapril1996
MongoDB NoSQL database a deep dive -MyWhitePaper
MongoDB  NoSQL database a deep dive -MyWhitePaperMongoDB  NoSQL database a deep dive -MyWhitePaper
MongoDB NoSQL database a deep dive -MyWhitePaper
Rajesh Kumar
Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 -
fahreza yozi
Avaya anixter event
Avaya anixter eventAvaya anixter event
Avaya anixter event
Odilo Alvarez
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
PGConf APAC
Ad

Similar to Tugas[4] 0317-[Wildan Latief]-[1512500818] (20)

Tugas Rekweb 4
Tugas Rekweb 4Tugas Rekweb 4
Tugas Rekweb 4
dendyalfianisatrio
Tugas iv 0317_arie firmandani_1512510445
Tugas iv  0317_arie firmandani_1512510445Tugas iv  0317_arie firmandani_1512510445
Tugas iv 0317_arie firmandani_1512510445
Arie Firmandani
Tugas 4 rekweb
Tugas 4 rekwebTugas 4 rekweb
Tugas 4 rekweb
rofik nurhidayat
Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448
Andrian Lesmana
PPT MAKALAH tentang teknologi basis data
PPT MAKALAH tentang teknologi basis dataPPT MAKALAH tentang teknologi basis data
PPT MAKALAH tentang teknologi basis data
NazriTokWes
Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan...
Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan...Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan...
Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan...
Devi Apriansyah
Materi struktur hirarki basis data
Materi struktur hirarki basis dataMateri struktur hirarki basis data
Materi struktur hirarki basis data
Mutiara Ayu
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552
Nasrul Akbar
Tugas 4 0317
Tugas 4   0317Tugas 4   0317
Tugas 4 0317
Gilig Anggit Pinalar
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
Laboratorium Sirkel
Apa itu database??
Apa itu database??Apa itu database??
Apa itu database??
Farichah Riha
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQLIMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
Fandi Achmad Mubarok
Makalah File , Database
Makalah File , DatabaseMakalah File , Database
Makalah File , Database
Febri Alif Pratama
Tugas 4 matkul rekayasa web 0317
Tugas 4 matkul rekayasa web 0317Tugas 4 matkul rekayasa web 0317
Tugas 4 matkul rekayasa web 0317
esti setiasih
PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASE
R辰j湛 G湛叩wn
SISTEM BASIS DATA2
SISTEM BASIS DATA2SISTEM BASIS DATA2
SISTEM BASIS DATA2
Ayu_lestari
Kd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbmsKd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbms
rohmat arief
Dasar_dasar_Database.pdf
Dasar_dasar_Database.pdfDasar_dasar_Database.pdf
Dasar_dasar_Database.pdf
lambengmahmud13
Tugas iv 0317_arie firmandani_1512510445
Tugas iv  0317_arie firmandani_1512510445Tugas iv  0317_arie firmandani_1512510445
Tugas iv 0317_arie firmandani_1512510445
Arie Firmandani
Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448
Andrian Lesmana
PPT MAKALAH tentang teknologi basis data
PPT MAKALAH tentang teknologi basis dataPPT MAKALAH tentang teknologi basis data
PPT MAKALAH tentang teknologi basis data
NazriTokWes
Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan...
Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan...Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan...
Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan...
Devi Apriansyah
Materi struktur hirarki basis data
Materi struktur hirarki basis dataMateri struktur hirarki basis data
Materi struktur hirarki basis data
Mutiara Ayu
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552
Nasrul Akbar
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
Laboratorium Sirkel
Apa itu database??
Apa itu database??Apa itu database??
Apa itu database??
Farichah Riha
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQLIMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
Fandi Achmad Mubarok
Tugas 4 matkul rekayasa web 0317
Tugas 4 matkul rekayasa web 0317Tugas 4 matkul rekayasa web 0317
Tugas 4 matkul rekayasa web 0317
esti setiasih
PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASE
R辰j湛 G湛叩wn
SISTEM BASIS DATA2
SISTEM BASIS DATA2SISTEM BASIS DATA2
SISTEM BASIS DATA2
Ayu_lestari
Kd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbmsKd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbms
rohmat arief
Dasar_dasar_Database.pdf
Dasar_dasar_Database.pdfDasar_dasar_Database.pdf
Dasar_dasar_Database.pdf
lambengmahmud13
Ad

Tugas[4] 0317-[Wildan Latief]-[1512500818]

  • 1. TUGAS 4 NAMA : WILDAN LATIEF NIM : 1512500818 MATA KULIAH : REKAYASA WEB
  • 2. DATA BASE *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 Elemen data/FieldDari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa kriteria penting, yaitu : 1. Bersifat data oriented dan bukan program oriented. 2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya. 3. Dapat dikembangkan dengan mudah, baik volume maupun strukturnya. 4. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah 5. Dapat digunakan dengan cara-cara yang berbeda.
  • 3. PRINSIP UTAMA DATA BASE Prinsip utama Data Base adalah pengaturan data dengan tujuan utama fleksibelitas dan kecepatan pada saat pengambilan data kembali. Adapun 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 ketidakkonsistenan data.
  • 4. Relational database dengan Unrelational database(NoSql) 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族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.
  • 5. CONTOH RATIONAL DATABASE contohnya MySQL, PostGreSQL, SqlLite, Microsoft 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.
  • 6. konsep ORM(Object Relational Model 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). 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.
  • 7. Apakan laravel mendukung ORM: Ya sangat membantu dan kita dapat menggunakan fitur yang telah di sediakan laravel untuk melakukan query ke data base dengan konsep ORM. Cara Penggunaan Database di Laravel Di dalam Laravel terdapat 3 cara untuk berinteraksi dengan database yaitu : Raw Query Query Builder (Fluent Query) Eloquent ORM
  • 8. Metode raw query ini mirip atau memang sama dengan query sql biasa , jadi mungkin anda sudah biasa menggunakannya.Namun disini kita harus menggunakan class DB dan di ikuti statement seperti insert, update, delete lihat contoh dibawah ini : //SELECT $mahasiswa = DB::select('select * from mahasiswa'); foreach($mahasiswa as $dt){ echo $dt->nama; } //SELECT dengan Parameter $results = DB::select('select * from mahasiswa where nim = ?', array(1006017)); foreach($mahasiswa as $dt){ echo $dt- >nama; } //INSERT DB::insert('insert into mahasiswa (nim, nama, alamat, semester) values (?, ?, ?, ?)', array(1001728, 'Udin', 'Bandung Cicaheum','4')); //UPDATE DB::update('update users set nama = Agus Mauladig where nim = ?', array('1006017')); //DELETE DB::delete('delete from mahasiswa'); DB::delete('delete from mahasiswa where nim = ? ',array('1006017')); //GENERAL STATEMENT DB::statement('drop table mahasiswa'); Query Builder / Fluent Query Dengan query builder code query lebih nyaman dibaca dan lebih mudah karena kita tidak dikhawatirkan dengan perbedaan penulisan native query yang mungkin ada perbedaan antara sistem database satu dengan yang lain. //SELECT $mahasiswa = DB::table('mahasiswa')->get(); foreach ($mahasiswa as $dt) { echo $dt->nama; } //SELECT DENGAN PARAMETER $mahasiswa = DB::table('mahasiswa')->where('semester','3')->get(); foreach ($mahasiswa as $dt) { echo $dt->nama; } //MENAMPILKAN SATU BARIS $mahasiswa = DB::table('mahasiswa')- >where('semester','3')->first(); echo $mahasiswa->nama; //SELECT KOLOM TERTENTU $mahasiswa = DB::table('mahasiswa')->select('min', 'nama')->where('id', 1006017)- >first(); foreach ($mahasiswa as $dt) { echo $dt->nim; echo $dt->nama; } //SELECT SATU KOLOM $mahasiswa = DB::table('mahasiswa')->orderBy('semester', 'desc')- >pluck('nama'); foreach ($mahasiswa as $dt) { echo 'namanya adalah :'.$dt->nama; } //MENAMBAHKAN STATEMENT BERDASARKAN VARIABEL $nama = DB::table('mahasiswa')->select('nama'); $query = $query->addSelect('semester')->get(); //BANYAK STATEMENT $query = DB::table('mahasiswa') ->where('semester', '>', 1) - >orWhere('nim', '1006017') ->orderBy('nama', 'asc') ->get(); //MEMBATASI (Offset & Limit) $users = DB::table('mahasiswa')->skip(2)->take(5)->get(); Eloquent ORM menangani SQL Query yang rumit. JIka itu terjadi anda gabungkan saja dengan metode yang lainya. Kalau saya selalu menggunakan Eloquent ORM.
  • 9. Eloquent adalah Sebuah ORM (Object Relational Mapping) yang dibundling bersama Laravel Framework. ORM ini sangat sederhana menurut saya tapi justru disitulah nilai lebih dari ORM ini.Setiap model eloquent yang kita buat akan bertanggung jawab atas satu tabel dalam database. Misalnya kita telah mempunyai tabel mahasiswa , kita harus membuat model baru yang bertanggung jawab atas tabel mahasiswa. Sebagai contoh buat file Mahasiswa.php di app/models definisikan dulu model nya seperti ini class Mahasiswa extends Eloquent { protected $table = 'mahasiswa'; //nama tabelnya protected $primaryKey = 'nim'; //Primary Key nya } hal yang harus di perhatikan diatas dalam eloquent kita harus mengextends Eloquent dan menambahkan nama tabel. Setelah itu kita bisa melakukan berbagai macam query dengan memanggil nama Class di model nya diikuti dengan function seperti contoh dibawah ini : 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 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(); KESIMPULAN Dari 3 metode diatas yang paling direkomendasikan yaitu metode Eloquent ORM karena lebih mudah, fleksibel dan terorganisir.namun dalam beberapa kasus Eloquent gagal dalam