SlideShare a Scribd company logo
1 of 10
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

More Related Content

What's hot

What's hot (20)

Membuat Tabel Relasi
Membuat Tabel RelasiMembuat Tabel Relasi
Membuat Tabel Relasi
 
Kp.5 obyek premier database
Kp.5 obyek premier databaseKp.5 obyek premier database
Kp.5 obyek premier database
 
Sql session 1
Sql session 1Sql session 1
Sql session 1
 
Laporan Basis Data (DDL)
Laporan Basis Data (DDL)Laporan Basis Data (DDL)
Laporan Basis Data (DDL)
 
SQL database client server
SQL database client serverSQL database client server
SQL database client server
 
Tupen 7 1235010002
Tupen 7 1235010002Tupen 7 1235010002
Tupen 7 1235010002
 
Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)
 
Tutorial my sql
Tutorial my sqlTutorial my sql
Tutorial my sql
 
Sql dasar
Sql dasarSql dasar
Sql dasar
 
Konsep dasar sistem basis data
Konsep dasar sistem basis dataKonsep dasar sistem basis data
Konsep dasar sistem basis data
 
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
 
Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)
 
Modul sql tingkat dasar
Modul sql tingkat dasarModul sql tingkat dasar
Modul sql tingkat dasar
 
Mysql 2
Mysql 2Mysql 2
Mysql 2
 
7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL
 
P webfb
P webfbP webfb
P webfb
 
Bab. 4
Bab. 4Bab. 4
Bab. 4
 
Tupen 8 1235010002
Tupen 8 1235010002Tupen 8 1235010002
Tupen 8 1235010002
 
Pemrograman sql
Pemrograman sqlPemrograman sql
Pemrograman sql
 
Kd6 Structure Query Language (SQL)
Kd6 Structure Query Language (SQL)Kd6 Structure Query Language (SQL)
Kd6 Structure Query Language (SQL)
 

Viewers also liked

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 2017Tracxn
 
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 2017Tracxn
 
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 ReportIQbal 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 2017Tracxn
 
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 2017Tracxn
 
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 EnterpriseHortonworks
 
Tugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_aprilianiTugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_aprilianidewiapril1996
 
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 -MyWhitePaperRajesh Kumar
 
Best Practices for Building a Data Lake on AWS
Best Practices for Building a Data Lake on AWSBest Practices for Building a Data Lake on AWS
Best Practices for Building a Data Lake on AWSAmazon Web Services
 
What’s New in Amazon RDS for Open-Source and Commercial Databases
What’s New in Amazon RDS for Open-Source and Commercial DatabasesWhat’s New in Amazon RDS for Open-Source and Commercial Databases
What’s New in Amazon RDS for Open-Source and Commercial DatabasesAmazon Web Services
 
Introduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceAmazon Web Services
 
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
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PGConf APAC
 

Viewers also liked (19)

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...
 
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 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
 
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...
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
 
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 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
 
Google Cloud Spanner Preview
Google Cloud Spanner PreviewGoogle Cloud Spanner Preview
Google Cloud Spanner Preview
 
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)
 
Enabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical EnterpriseEnabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical Enterprise
 
Tugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_aprilianiTugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_apriliani
 
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
 
Best Practices for Building a Data Lake on AWS
Best Practices for Building a Data Lake on AWSBest Practices for Building a Data Lake on AWS
Best Practices for Building a Data Lake on AWS
 
What’s New in Amazon RDS for Open-Source and Commercial Databases
What’s New in Amazon RDS for Open-Source and Commercial DatabasesWhat’s New in Amazon RDS for Open-Source and Commercial Databases
What’s New in Amazon RDS for Open-Source and Commercial Databases
 
Introduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database Service
 
Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 -
 
Avaya anixter event
Avaya anixter eventAvaya anixter event
Avaya anixter event
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
 
Freewill Eng245 2017
Freewill Eng245 2017Freewill Eng245 2017
Freewill Eng245 2017
 

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

Tugas iv 0317_arie firmandani_1512510445
Tugas iv  0317_arie firmandani_1512510445Tugas iv  0317_arie firmandani_1512510445
Tugas iv 0317_arie firmandani_1512510445Arie Firmandani
 
Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448Andrian Lesmana
 
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 dataMutiara Ayu
 
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Nasrul Akbar
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using OracleLaboratorium Sirkel
 
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQLIMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQLFandi Achmad Mubarok
 
Tugas 4 matkul rekayasa web 0317
Tugas 4 matkul rekayasa web 0317Tugas 4 matkul rekayasa web 0317
Tugas 4 matkul rekayasa web 0317esti setiasih
 
PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASERäjù GùÑáwàn
 
SISTEM BASIS DATA2
SISTEM BASIS DATA2SISTEM BASIS DATA2
SISTEM BASIS DATA2Ayu_lestari
 
Kd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbmsKd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbmsrohmat arief
 
Dasar_dasar_Database.pdf
Dasar_dasar_Database.pdfDasar_dasar_Database.pdf
Dasar_dasar_Database.pdflambengmahmud13
 
Sim, fina melinda jm, hapzi ali,sistem manajemen database, s1 akuntansi, univ...
Sim, fina melinda jm, hapzi ali,sistem manajemen database, s1 akuntansi, univ...Sim, fina melinda jm, hapzi ali,sistem manajemen database, s1 akuntansi, univ...
Sim, fina melinda jm, hapzi ali,sistem manajemen database, s1 akuntansi, univ...Fina Melinda Jumrotul Mu'minin
 

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

Tugas Rekweb 4
Tugas Rekweb 4Tugas Rekweb 4
Tugas Rekweb 4
 
Tugas iv 0317_arie firmandani_1512510445
Tugas iv  0317_arie firmandani_1512510445Tugas iv  0317_arie firmandani_1512510445
Tugas iv 0317_arie firmandani_1512510445
 
Tugas 4 rekweb
Tugas 4 rekwebTugas 4 rekweb
Tugas 4 rekweb
 
Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448
 
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...
 
Materi struktur hirarki basis data
Materi struktur hirarki basis dataMateri struktur hirarki basis data
Materi struktur hirarki basis data
 
Basis_Data.ppt
Basis_Data.pptBasis_Data.ppt
Basis_Data.ppt
 
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552
 
Tugas 4 0317
Tugas 4   0317Tugas 4   0317
Tugas 4 0317
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
 
Apa itu database??
Apa itu database??Apa itu database??
Apa itu database??
 
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQLIMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
IMPLEMENTASI OBJEK RELASIONAL DATABASE MENGGUNAKAN POSTGRESQL
 
Makalah File , Database
Makalah File , DatabaseMakalah File , Database
Makalah File , Database
 
Tugas 4 matkul rekayasa web 0317
Tugas 4 matkul rekayasa web 0317Tugas 4 matkul rekayasa web 0317
Tugas 4 matkul rekayasa web 0317
 
PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASE
 
Makalah bd
Makalah bdMakalah bd
Makalah bd
 
SISTEM BASIS DATA2
SISTEM BASIS DATA2SISTEM BASIS DATA2
SISTEM BASIS DATA2
 
Kd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbmsKd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbms
 
Dasar_dasar_Database.pdf
Dasar_dasar_Database.pdfDasar_dasar_Database.pdf
Dasar_dasar_Database.pdf
 
Sim, fina melinda jm, hapzi ali,sistem manajemen database, s1 akuntansi, univ...
Sim, fina melinda jm, hapzi ali,sistem manajemen database, s1 akuntansi, univ...Sim, fina melinda jm, hapzi ali,sistem manajemen database, s1 akuntansi, univ...
Sim, fina melinda jm, hapzi ali,sistem manajemen database, s1 akuntansi, univ...
 

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