Learning Progress
Review EAGLE
TEAM
Data Science
Week 2
Our Team!
Muhammad Raden Muhammad Syaiful Cheriel Savithri Maurizki
Andrean Wisnu Murti Faros Arkan Hidayat Leily Delya
Sulaindra
Contents
Scoup of Basic SQL
PostgreSQL & Beekeeper Studio
Instalasi & Login
Data Definition Language (DDL)
Data Manipulation Language (DML)
Data Control Language (DCL)
Scoupe of
Basic SQL
Meliputi berbagai aspek yang
memungkinkan pengguna
untuk berinteraksi dengan dan
memanipulasi basis data dalam
hal ini Beekeeper. SQL
PostgreSQL
PostgreSQL adalah sistem manajemen basis data
relasional (RDBMS) open-source yang sering digunakan
pada platform Linux. Beberapa kelebihan PostgreSQL:
Gratis: PostgreSQL adalah proyek open-source tanpa
biaya lisensi.
Aman: PostgreSQL tidak dimiliki oleh satu entitas
komersial dan dikembangkan oleh komunitas.
Dapat Direplikasi: Fitur replikasi yang kuat tanpa
biaya tambahan.
Instalasi dan Log
In Beekeeper
Buka situs resmi
Beekeeper Studio: 01 Beekeeper Studio.
[Link]
BKPRS
Klik tombol "Download" dan
pilih versi Windows (.exe). 02
Setelah download selesai,
03 jalankan file installer (.exe).
Ikuti petunjuk di layar untuk
menyelesaikan instalasi. Lalu 04
masuk ke server Digital skola.
CREATE: membuat objek baru (tabel,
01 kolom, dll).
02 ALTER: mengubah struktur tabel.
DDL (Data Definition
Language) DROP: menghapus komponen
Perintah di SQL yang digunakan
03 dalam database.
untuk mendefinisikan data seperti
tabel, basis data baru, mengubah
RENAME: mengubah nama kolom
dataset dan menghapus data. 04 atau tabel.
Berikut perintah dasar DDL, yaitu:
05 SHOW: menampilkan tabel yang ada.
Kenapa Data harus
Didefinisikan ?
Di SQL itu merupakan pusat data terstruktur
yang kita butuhkan agar lebih enak dilihat. Jadi
kalai tidak terstruktur data tersebut tidak dapat
diambil.
01 INSERT: memasukkan data baru.
DML (Data Manipulation 02 SELECT: menampilkan data.
Language)
Perintah di SQL yang digunakan
untuk memanipulasi data.
Berikut perintah dasar DML,
03 UPDATE: memperbarui data.
yaitu:
04 DELETE: menghapus data.
Creation
Process
EXERCISE
Membuat Database
Perintah CREATE DATABASE digunakan untuk membuat database baru.
Latihan: Buat sebuah database baru dengan nama latihan_db.
Membuat Tabel
Perintah CREATE TABLE digunakan untuk membuat tabel baru dalam database.
Latihan: Buat sebuah tabel baru dengan nama siswa yang memiliki kolom id (INT), nama (VARCHAR), dan tanggal_lahir (DATE).
Menginput Data
Perintah INSERT INTO digunakan untuk memasukkan data ke dalam tabel.
Latihan: Masukkan data ke dalam tabel siswa dengan nilai (1, 'Ali', '2005-04-21').
Menampilkan Data
Perintah SELECT digunakan untuk menampilkan data dari tabel.
Latihan: Tampilkan semua data dari tabel siswa.
Mengupdate Data
Perintah UPDATE digunakan untuk memodifikasi data yang sudah ada dalam tabel.
Latihan: Perbarui nama siswa dengan id 1 menjadi 'Ahmad'.
Menghapus Data
Perintah DELETE digunakan untuk menghapus data dari tabel.
Latihan: Hapus data siswa dengan id 1.
Membuat Tabel Baru dengan Kolom Tambahan
Latihan: Buat tabel guru dengan kolom id (INT), nama (VARCHAR), mata_pelajaran
(VARCHAR), dan tanggal_lahir (DATE).
Menginput Data ke Tabel Baru
Latihan: Masukkan data ke dalam tabel guru dengan nilai (1, 'Bu Rina', 'Matematika', '1980-08-17').
Menampilkan Data Tertentu
Latihan: Tampilkan nama dan mata_pelajaran dari tabel guru.
Mengupdate Data pada Kolom Tertentu
Latihan: Perbarui mata_pelajaran guru dengan id 1 menjadi 'Fisika'.
Menghapus Semua Data dari Tabel
Latihan: Hapus semua data dari tabel guru.
Menghapus Tabel
Latihan: Hapus tabel guru dari database.
Contents
Select Distinct
Where
String Function
Aggregate Function
Join
Subqueries
DISTINCT
Mengembalikan hanya nilai yang berbeda dari dalam sebuah tabel, menghilangkan duplikat.
Command:
Coding:
Penjelasan: Query ini mengembalikan semua produk unik dari kolom product
dalam tabel tb_product.
WHERE
Perintah WHERE digunakan untuk memberikan kondisi spesifik pada query, memfilter
hasil yang dikembalikan oleh perintah SELECT.
Coding:
Penjelasan: Query ini mengembalikan kolom no dan nama dari tabel tb_user untuk
baris yang memiliki tanggal_lahir pada 2021-01-01.
STRING FUNCTIONS
PostgreSQL memiliki beberapa fungsi string untuk memanipulasi data string.
LOWER: mengubah string menjadi huruf kecil.
Output: bapak rahmat
UPPER: Mengubah string menjadi huruf besar.
Output: BAPAK RAHMAT
LENGTH: Menghitung panjang karakter dari string.
Output: 4
CONCAT: Menggabungkan beberapa string.
Output: Bapak Zico
SUBSTRING: Mengekstrak beberapa karakter dari string.
Output: pak
AGGREGATE FUNCTIONS
Fungsi agregasi melakukan kalkulasi pada sejumlah nilai data dan mengembalikannya sebagai
satu nilai tunggal.
AVG: Menghitung rata-rata nilai.
Fungsi: Menghitung rata-rata nilai dari kolom tertentu.
SELECT AVG(gaji) FROM karyawan;
Penjelasan: Mengembalikan rata-rata nilai dari kolom gaji dalam tabel karyawan.
COUNT: Menghitung jumlah data.
Fungsi: Menghitung jumlah baris atau entri dalam kolom tertentu.
Penjelasan: Mengembalikan jumlah baris dalam kolom id dari tabel karyawan.
MAX: Mengambil nilai terbesar.
Fungsi: Mengambil nilai terbesar dari kolom tertentu.
Penjelasan: Mengembalikan nilai terbesar dari kolom gaji dalam tabel karyawan.
MIN: Mengambil nilai terkecil.
Fungsi: Mengambil nilai terkecil dari kolom tertentu.
Penjelasan: Mengembalikan nilai terkecil dari kolom gaji dalam tabel karyawan.
SUM: Menjumlahkan total nilai.
Fungsi: Menjumlahkan total nilai dari kolom tertentu.
Penjelasan: Menjumlahkan total nilai dari kolom gaji dalam tabel karyawan
GROUP BY
Berfungsi untuk mengelompokan baris yang memiliki nilai yang sama salam kolom yang
ditentukan dan mengaplikasikan fungsi agregasi seperti COUNT, AVG, SUM, MAX atau MIN
pada setiap kelompok.
Syntax :
Contoh Lain :
GROUP BY dengan WHERE:
Penjelasan: Menghitung jumlah karyawan dalam setiap departemen yang memiliki
gaji lebih dari 5000
GROUP BY dengan ORDER BY:
Penjelasan: Menghitung jumlah karyawan dalam setiap departemen dan
mengurutkan hasilnya berdasarkan jumlah karyawan secara menurun.
JOIN TABLE
Perintah JOIN digunakan untuk menggabungkan data dari dua tabel atau lebih berdasarkan
relasi di antara tabel-tabel tersebut.
INNER JOIN:
Fungsi : Menggabungkan baris dari dua tabel berdasarkan kondisi yang cocok dan
hanya mengembalikan baris yang cocok di kedia tabel.
Penjelasan: Mengembalikan order_id dan customer_name dari tabel orders dan
customers di mana customers_id cocok di kedua tabel.
LEFT JOIN:
Fungsi : Menggabungkan baris dari dua tabel dan mengembalikan baris dari tabel kiri serta
baris yang cocok dari tabel kanan. Baris dari tabel kanan yang tidak cocok akan berisi NULL.
Penjelasan: Mengembalikan semua order_id dan customer_name, menampilkan
NULL untuk customer_name di mana tidak ada kecocokan di tabel customers.
RIGHT JOIN
Fungsi : Menggabungkan baris dari dua tabel dan mengembalikan semua baris dari tabel kanan
serta baris yang cocok dari tabel kiri. Baris dari tabel kiri yang tidak cocok akan berisi NULL
Penjelasan: Mengembalikan semu customer_name dan order_id, menampilkan
NULL untuk order_id di mana tidak ada kecocokan dari tabel orders..
SUBQUERIES
Subqueries juga dikenal sebagai Inner Query atau Nested Query adalah query yang berada di
dalam query lain. Subqueries digunakan untuk membatasi atau menspesifikkan data yang akan
ditampilkan.
Subquery pada filter WHERE:
Hasil data dari perintah SQL yang berhasil dijalankan dapat dipergunakan kembali untuk diolah
oleh perintah SQL lain menggunakan subquery. Misalnya, untuk mencari tanggal kapan saja
yang memiliki total transaksi di atas rata-rata total transaksi.
Penjelasan: Mengembalikan hari_transaksi
dan amount_transaksi dari tabel transaksi
di mana amount_transaksi lebih besar dari
rata-rata semua transaksi.
Subquery pada Ditabel:
Subquery juga dapat digunakan pada hasil query yang sudah ada, bukan hanya pada filter.
Penjelasan: Mengembalikan rata-rata transaksi harian tertinggi dari tabel transaksi.
LATIHAN
Membuat Dataset dan Tabel
Penjelasan: Membuat database contoh_db dan dua tabel pelanggan dan pesanan
dengan hubungan foreign key.
Menginput Data
Penjelasan: Menginput data ke dalam tabel pelanggan dan pesanan.
Menampilkan Data
Penjelasan: Menampilkan semua data dari tabel pelanggan dan pesanan.
Menggunakan JOIN
Penjelasan: Menggabungkan dan menampilkan nama pelanggan dan produk yang
dipesan.
Menggunakan GROUP BY dan Aggregate Functions
Penjelasan: Menghitung jumlah pelanggan di setiap kota.
Menggunakan Subquery pada Filter WHERE
Penjelasan: Menampilkan hari transaksi dan jumlah transaksi yang lebih besar dari rata-
rata jumlah transaksi.
Menggunakan Subquery pada Ditabel
Menampilkan hari dengan rata-rata transaksi tertinggi :
Penjelasan: Menampilkan hari dengan rata-rata transaksi tertinggi dari tabel
transaksi.
Contents
Version Control System (VCS)
Git
Git Hands On
Github
Github Hands on
Version Control System
(VCS)
Sebuah sistem yang mampu mencatat perubahan
sekecil apapun yg terjadi di dalam sebuah folder,
dilengkapi dengan timelinenya.
Kenapa Version Control
System itu Penting?
Bisa melakukan kolaborasi yg mulus dengan team atau project
besar
Mempermudah kita memahami apa yang terjadi pada board kita
(progress ketahuan semuanya)
Meminimalisir error/kesalahan, sehingga bisa di manage dgn baik
Tidak perlu mengganti nama projek/file
File memiliki backup
Git
Tools untuk mengatur Version Control System (VCS) dalam
pengembangan software. Tugasnya mencatat setiap
perubahan pada file proyek yg dikerjakan oleh banyak orang
maupun sendiri. Git diciptakan oleh Linus Torvalds.
History of every file Traceability
setiap detail yang diganti bisa dilacak siapa yg
Semua perubahan akan tercatat oleh git, baik
melakukan, kapan & alasannya. Cabang flow bisa
pembuatan maupun penghapusan file, digabung kembali ke dalam timeline/pekerjaan
sehingga bisa kembali kapan saja ke versi utama. Commit = pergantian, komitmen utk
Fitur
lama dari projek. disimpan jadi history/file baru.
Distributed System
Mudah berkolaborasi dengan orang lain menggunakan 1
file yang sama. Setiap orang bisa membuat lokal
repository, sehingga mengurangi permasalahan
Git Branch Workflow
Bisa membuat cabang dari proses yang
dikerjakan, tidak mengganggu
pekerjaan/progress orang lain, sehingga setiap
eror/kehilangan file di server atau tidak bisa dibuka orang bisa melakukan tugas berdasarkan
karena offline, sehingga ini berfungsi sebagai backup cabangnya sendiri. Hal ini mempermudah
dan bisa disatukan kembali ke file utama. kolaborasi.
Merging
Suatu cabang yg dibuat, git bisa menggabungkan progress
tersebut ke cabang utama dimana progres ini dikendalikan
oleh project leader (tidak semua orang bisa, asal ganti).
Semua perubahan terlacak, siapa yang melakukan
perubahannya.
Git
Mengecek Git Version
git --version
Konfigurasi git username & email
git config --global [Link] “name”
git config [Link]
git config --global [Link] “email@[Link]”
git config [Link]
Mengubah file jadi repository
git init
Mengecek status
git status
Memasukkan file dari folder ke staging
git add "nama file"
Penjelasan : karena terlihat ada file yang belum berada di repository/belum di
save di repo (slide sebelumnya), maka digunakan git add "nama file" lalu
kembali mengecek status, dapat dilihat file sudah berhasil dimasukkan
Membatalkan add file ke staging yg sudah di add
git rm --cached "nama file"
Memasukkan file dari staging ke repository
git commit -m "komentar"
Penjelasan : komentar untuk memberikan alasan mengapa diganti, setelah
dilakukan commit maka posisi file sudah berada di repository
Memasukkan semua file ke staging
git add *
Penjelasan : memasukkan semua file ke staging dengan git add *,
kemudian menambahkan file staging ke repository menggunakan git
commit -m “komentar” dimana terlihat bahwa ada perubahan pada satu
file dan ada pertambahan beberapa baris, lalu mengecek kembali status
dengan git status
Mengetahui commit apa saja & perubahan yg terjadi pada repository
git log
Penjelasan : yang paling atas adalah yang terbaru
Mengembalikan ke versi repository sebelumnya yg dipilih
git checkout *id commit di copas*
Mengembalikan ke cabang yg paling terbaru sebelumnya (master)
git checkout master
Membuat cabang baru yg belum di commit
git branch "nama branch"
git branch = mengecek branch
Berpindah ke file branch
git switch "nama file branch"
Menggabungkan file branch ke timeline/master utama
git merge "nama branch"
Membuka/berpindah ke file yang diinginkan
cd “nama file/folder”
Git &
Github
Buat repository baru di Github
Mendownload repository dari github menggunakan link
Melakukan kloning dari repo yg dipilih di github, repo yang dikloning menjadi repo
lokal karena berada di device sendiri
git clone "link repo di github"
Penjelasan : setelah melakukan clone, maka project-2 akan muncul di folder
Mengecek koneksi ke repository utama
git remote set-url origin "link repo utama"
Memindahkan file dari repository lokal ke repository server
git push
Penjelasan : setelah melakukan command tersebut, pastikan file telah
muncul di repository server dengan mengecek repository pada github
Menarik file dari repo server ke repo lokal
git pull
Terima
Kasih