Anda di halaman 1dari 47

SESI 3

PENGELOLAAN DATABASE
TUJUAN SESI 3
Mendemonstrasikan penggunaan Structured Query
dan syntax dalam SQL, serta penggunaan Commands
SQL dan menunjukkan pengoperasian SQL untuk
sorting & filtering data, membandingkan penggunaan
relasional & irasional database, juga akan
menjalankan framework express.js & native dan
menjalankan project To-Do-List & login system
menggunakan database.
Commit Session
Penggunaan database, serta
proses pengoperasian
database rasional & irasional
secara sederhana.
Commit Session
Penggunaan SQL dalam
pengelolaan data
PENGENALAN SQL
Apakah SQL Itu?
SQL adalah Structured Query Language yang berarti bahasa pemrograman standar
yang memiliki kegunaan, fungsi dan tujuan utama untuk mempermudah proses
pengelolaan database.

Sama seperti semua bahasa pemrograman pada umumnya yang mempunyai kelebihan,
SQL banyak digunakan karena sangat unggul dari sisi pengajuan request atau
permintaan terhadap programnya. SQL memungkinkan untuk membuat berbagai
permintaan tindakan terhadap database.

SQL menjadi standar dari American National Standards Institute (ANSI) pada tahun 1986,
dan International Organization for Standardization (ISO) pada tahun 1987.
Kegunaan SQL
SQL sendiri juga memiliki banyak fungsi yang berbeda dalam pengelolaan database. Berikut ini
adalah beberapa kegunaan SQL dan perintah yang digunakan:

a. SQL can execute queries against a database


b. SQL can retrieve data from a database
c. SQL can insert records in a database
d. SQL can update records in a database
e. SQL can delete records from a database
f. SQL can create new databases
g. SQL can create new tables in a database
h. SQL can create stored procedures in a database
i. SQL can create views in a database
j. SQL can set permissions on tables, procedures, and views.
PENGGUNAAN SQL DALAM WEBSITE
Untuk membangun situs web yang menampilkan data dari database, maka
diperlukan:

1. Program basis data RDBMS (yaitu MS Access, SQL Server, MySQL)


2. Penggunaan server-side scripting language, seperti PHP or ASP
3. Penggunaan SQL untuk mendapatkan data yang diinginkan
4. Penggunaan HTML / CSS untuk menata halaman
QUERIES
SQL dibagi menjadi tiga bentuk Query, yaitu:

1. DDL (Data Definition Language)


2. DML (Data Manipulation Language)
3. DCL (Data Control Language)
DDL (Data Definition Language)
DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan
atribut-atribut basis data, table, atribut/kolom, batasan-batasan terhadap
suatu atribut, serta hubungan antar tabel.

DDL berkaitan dengan penciptaan atau penghapusan objek dalam basis


data.
Query yang dimiliki DDL adalah:
• CREATE : Digunakan untuk membuat database dan tabel
• Drop: Digunakan untuk menghapus tabel dan database
• Alter : Digunakan untuk melakukan perubahan struktur
tabel yang telah dibuat, baik menambah Field (Add),
mengganti nama Field (Change) ataupun menamakannya
kembali (Rename), dan menghapus Field (Drop)
DML (Data Manipulation Language)
DML adalah sebuah metode Query yang dapat digunakan apabila
DDL telah terjadi, sehingga fungsi dari Query DML ini untuk
melakukan pemanipulasian database yang telah dibuat.
Query yang dimiliki DML adalah :

• INSERT : Digunakan untuk memasukkan data pada


tabel database
• UPDATE : Digunakan untuk pengubahan
terhadap data yang ada pada tabel database
• DELETE : Digunakan untuk penghapusan data pada
tabel database
DCL (Data Control Language)
DCL adalah sebuah metode Query SQL yang digunakan untuk
memberikan hak otorisasi mengakses database, mengalokasikan
space, pendefinisian space, dan pengauditan penggunaan
database.
Query yang dimiliki DCL adalah:
• GRANT : Untuk mengizinkan User mengakses Tabel dalam
Database.
• REVOKE : Untuk membatalkan izin hak user, yang ditetapkan
oleh perintah GRANT
• COMMIT : Mentapkan penyimpanan Database
• ROLLBACK : Membatalkan penyimpanan Database
DQL (Data Query Language)
DQL (Data Query Language) adalah
perintah SQL untuk query data. DQL
digunakan untuk mengambil data dari
database yang hanya menggunakan 1
command, yaitu:
• SELECT: Untuk memilih atribut
berdasarkan kondisi yang dijelaskan
oleh klausa WHERE.
FUNCTION PADA SQL
Aggregate Functions
Agregate function (fungsi agregat) adalah fungsi dalam Microsoft
Access yang digunakan untuk menampilkan dan menyeleksi
sekumpulan data berdasarkan kelompok atau kriteria tertentu.
SQL
VS

NO SQL
VS
NEW SQLL
SQL
SQL adalah bahasa database yang paling sering digunakan untuk
memperbarui database, menjalankan kueri, dan mengelola izin
atau permission. Dirancang untuk sistem manajemen database
relasional, aplikasi utama SQL mencakup penulisan skrip
terintegrasi, mensetting dan menjalankan analisa kueri, dan
penambahan, pembaruan, dan penghapusan baris dan kolom
data dalam database.
No SQL
NoSQL adalah sistem database yang, seperti dikatakan dalam penamaanya
yaitu tidak menggunakan Structured Query Language (SQL) untuk
mengirimkan kueri. Dengan menggunakan database NoSQL, kita dapat
menyimpan data yang tidak terstruktur dalam volume besar. Seperti yang
diharapkan, proses ini menghasilkan throughput yang jauh lebih baik,
kecepatan baca / tulis – memungkinkan untuk penskalaan keluar dari
server secara horizontal. Sistem NoSQL yang sangat populer adalah
MongoDB, yang menggunakan JSON (Javascript Object Notation) untuk
merumuskan kueri.
Perbedaan SQL dan No SQL
New SQL
New SQL adalah modern SQL database yang digunakan untuk memecahkan
beberapa masalah utama yang berkaitan dengan traditional online transaction
processing (OLTP) RDBMS dengan cara peningkatan perfomance NoSQL database
dengan tetap mempertahankan traditional database management system.

Dengan kata lain New SQL merupakan Relational Database System yang
menggabungkan OLTP, High Performance & Scalability di NoSQL, New SQL juga
mempertahankan konsep ACID (Atomicity, Consistency, Isolation, and Durability) pada
traditional DBMS. Main category dari New SQL adalah new architecure, SQL Enginee dan
Database as a Service (DBaaS).
NewSQL merupakan suatu database yang mengkombinasikan
fungsi-fungsi pada RDBMS traditional like MySQL, Postgres dengan
NoSQL seperti MongoDB, CassandraDB dll. Sehingga kekurangan
dari dari masing2 database bisa disolve kan dan kelebihan dari
RDBMS dan NoSQL bisa digabung.
How to Choose Among
SQL vs. NoSQL vs. NewSQL
Setelah meninjau dasar-dasar dari setiap jenis sistem basis data,
pertanyaan tentang DBMS mana yang harus dipilih mungkin tetap ada.

• Penggunaan SQL masih menjadi pilihan terbaik sebagai dasar untuk


sebagian besar persyaratan tujuan umum. Alasan mengapa DBMS SQL
begitu populer dan mengakar: SQL bekerja sangat baik untuk banyak
kasus penggunaan yang paling umum.
• Sementara untuk aplikasi dengan ketersediaan ekstrim dan
kebutuhan skalabilitas atau dengan kebutuhan data yang tidak
diketahui atau berubah di mana skema fleksibel akan berguna,
pertimbangkan sistem database NoSQL.

• Terakhir, pertimbangkan sistem database NewSQL untuk aplikasi yang


telah berkembang melampaui kemampuan skalabilitas SQL tradisional.
Menggunakan NewSQL memungkinkan peningkatan skalabilitas dengan
konsistensi transaksi ACID yang kuat, sambil tetap mendukung akses data
menggunakan SQL yang sudah dikenal.
SQL PROCESSING
SQL Processing adalah penguraian, pengoptimalan,
pembuatan sumber baris, dan eksekusi pernyataan SQL.
Stages of SQL
Processing
SQL Parsing
SQL Parsing melibatkan pemisahan potongan-potongan pernyataan
SQL ke dalam struktur data yang dapat diproses oleh rutinitas lain.

Selama parse call, database melakukan pemeriksaan berikut:


1. Pemeriksaan Sintaks
2. Pemeriksaan Semantik
3. Pemeriksaan Shared Pool
Proses Pemeriksaan Shared Pool
SQL Optimization
Selama tahap optimisasi, Oracle Database harus
melakukan hard parse setidaknya sekali untuk setiap
pernyataan unik DML dan melakukan pengoptimalan
selama penguraian ini.
SQL Row Source Generation
Row Source Generator adalah perangkat lunak yang menerima
rencana eksekusi optimal dari pengoptimal dan menghasilkan
rencana eksekusi iteratif yang dapat digunakan oleh seluruh
database.
The row source generator menghasilkan row source tree, yang
merupakan kumpulan sumber baris. Row source tree menampilkan
informasi berikut:
a. An ordering of the tables referenced by the statement
b. An access method for each table mentioned in the statement
c. A join method for tables affected by join operations in the statement
d. Data operations such as filter, sort, or aggregation
SQL Execution
FRAMEWORK EXPRESS.JS
ExpressJS adalah salah satu framework javascript untuk pengembangan backend
terbaik yang di desain secara minimalis dan fleksibel yang menyediakan serangkaian
fitur menarik untuk pengembangan aplikasi web maupun mobile (react).

ExpressJS memudahkan dalam pembuatan aplikasi web dimana dengan expressjs,


anda tidak perlu menggunakan module http bawaan dari NodeJS. Framework ini
menawarkan beberapa fitur seperti routing, rendering view, dan mendukung
middleware dengan kata lain anda akan banyak menghemat waktu dalam
pengembangan aplikasi Node.js.
1. Men-skalakan aplikasi lebih cepat

KELEBIHAN Manfaat pertama yang akan anda


dapatkan ketika menggunakan Express.Js
EXPRESSJS adalah anda dapat menskalakan aplikasi
dengan cepat. Seperti yang anda ketahui
UNTUK BACKEND bahwa Express.js di support oleh Node.Js

DEVELOPMENT sehingga terdapat dukungan penambahan


node dan resource tembahan. Bahkan,
anda dapat dengan cepat menskalakan
aplikasi anda dengan banyak cara.
2. Menggunakan Javascript
Express.Js menggunakan bahasa pemrograman
KELEBIHAN Javascript dimana bahasa ini termasuk bahasa
yang mudah dipelajari. Anda dapat mengerjakan
EXPRESSJS bagian frontend dan backend secara langsung
dengan bahasa yang linear yaitu javascript. Hal ini
UNTUK BACKEND tentunya akan membuat waktu proses
pengembangan menjadi lebih cepat.
DEVELOPMENT
Selain itu, dengan express.js dapat mengurangi
biaya pengembang untuk maintenance aplikasi.
Karena Express.Js adalah full-stack javascript,
sehingga anda tidak perlu menyewa developer
yang berbeda untuk mengelola frontend dan
backend suatu aplikasi.
3. Didukung oleh Google v8 Engine
KELEBIHAN
EXPRESSJS Express.Js didukung oleh mesin Google
V8, sehingga membuat kinerja dari
UNTUK BACKEND aplikasi anda lebih tinggi tanpa adanya
lah atau error dalam proses
DEVELOPMENT pengembangan.
4. Dukungan komunitas yang cukup besar
KELEBIHAN Jika anda mengalami masalah saat bekerja
dengan Express.Js, anda dapat dengan
EXPRESSJS mudah mendapatkan bantuan dari
UNTUK BACKEND komunitas yang dapat membantu anda
kapan saja. Sudah banyak website yang
DEVELOPMENT membahas tentang hal-hal yang
berhubungan dengan Express.Js, seperti
solusi bug, tutorial, bahkan dokumentasi dari
Express.js dibuat dengan baik dan mudah
dipelajari.
5. Mendukung caching
KELEBIHAN Express.Js mendukung fitur caching,
EXPRESSJS keuntungan dari fitur ini adalah anda tidak
perlu mengeksekusi kode lagi dan lagi atau
UNTUK BACKEND secara berulang. Sehingga hal ini membuat
halaman web memuat lebih cepat dari
DEVELOPMENT sebelumnya. Alhasil performa dari aplikasi
yang akan anda buat akan semakin tinggi.
NATIVE
Native artinya asli, yaitu pemrograman PHP yang murni yang di susun
dengan cara di coding/dibangun oleh para programmer itu sendiri
tanpa ada istilah tambahan buat setting/ konfigurasi lainnya. Manfaat
dari PHP Native sederhana jika kita sudah menguasainya maka akan
lebih mudah menggunakannya dengan PHP Framework.
Kelebihan PHP Native
1. Pemrograman yang dibangun atas dasar pemikiran seorang
programmer itu sendiri. Sehingga menerbitkan suatu program yang
akan membuat program akan lebih baik.
2. Bisa dibentuk dalam sebuah format OOP (Object Oriented
Programming) sehingga dapat membentuk suatu program.
3. Kita bisa menerapkannya dalam skala mudah sampai kita tau
tergantung tingkat kesulitannya.
Kelemahan PHP Native
1. Dokumentasi pemrograman yang tidak jelas, karena PHP Native
dibangun atas dasar pemahaman seorang programmer “tersebut” maka
belum tentu pemikiran seorang programmer lainnya selaras dengan
programmer yang merancang programmer tersebut. Maka dari itu
dokumentasi merupakan salah satu hal wajib yang diperlukan oleh
programmer, agar ia dapat melakukan maintenance (perbaikan) ataupun
Upgrade.
2. Biasanya tidak cocok untuk proses bisnis ataupun sistem yang sangat luas.
Karena framework cukup rendah untuk suatu bisnis yang terlalu luas.
Kelemahan PHP Native
3. Tidak ada Coding Style Consistence, apabila sistem kita masih
dikelola oleh programmer lainnya maka akan ada perbedaan dalam
penulisan source code program.
4. Tidak ada Security Concern framework, dan tidak ada
security/pengamanan default pada sistem yang sudah dibangun. Alias
kita harus membangun sendiri pengamanannya. Supaya terhindar dari
kesalahan-kesalahan dalam hal apapun.

Anda mungkin juga menyukai