Anda di halaman 1dari 43

@codingasik

Untuk siapa Ebook ini ?


Hello guys, sebelumnya kenalin gua Bagas
Creator @codingasik. Sebelum lanjut ke
materi, sebenernya buat siapa si ebook ini?

Ebook ini khusus gua tunjukan ke


Programmer pemula yang belum sama
sekali paham database Mysql (siapapun

Untuk siapa ebook ini?


yang belajar coding
Mahasiswa khususnya IT, SI, dll yang baru
belajar database Mysq
Freelencer atau karyawan yang butuh
materi database Mysql untuk menunjang
pekerjaanny
Terakhir, tentunya buat kalian Teman CoSik
(followers @codingasik)

Semoga membantu dan paham dengan


penjelasan yang ada di ebook ini

#asikinajahngodingmu

1
#codingasikebook
@codingasik

Apa manfaat yang diperoleh?


Nah manfaat apa si yang akan kalian pelajari
di ebook ini? tentunya ada beberapa

Bisa menginstall database Mysql di


Window
Bisa memahami type data di database
Mysq

Apa manffat yangdiperoleh?


Bisa memahami query dasar di database
Mysq
Bisa membackup (export) dan restore
(import) database Mysql

Setidaknya ada 4 poin utama dalam ebook ini


yang Insya Allah jadi dasar dalam membuat
sebuah website yang dinamis dan bisa
memproses data dengan database Mysql.

#asikinajahngodingmu

2
#codingasikebook
@codingasik

Pertanyaan pertama adalah . .

Siapa si

Pertanyaan pertama
Database Mysql

dan Gimana

Cara Installnya ?

#asikinajahngodingmu

3
#codingasikebook
@codingasik

Siapa si Mysql itu ?


MySQL adalah sebuah perangkat lunak
sistem manajemen basis data SQL atau

DBMS (database management system) yang


multialur, multipengguna, dengan sekitar 6
juta instalasi di seluruh dunia. ~ wikipedia

Yah intinya adalah Mysql itu database yang


bisa kalian pake untuk menyimpan data di

Siapa si Mysql itu?


Website yang kalian punya.

Selain gratis mysql juga sangatlah populer, ini


gua berdasar data di google trends :

#asikinajahngodingmu

4
#codingasikebook
@codingasik

Apakah Layak dipelajari?


Manjawab pertanyaan ini gua rasa kalian bisa
melihat data di gambar sebelumnya yang
intinya, Mysql masih banyak dipelajari dan jadi
kebutuhan kedepan.

Gua bandingin dengan database lain misal


PostgreeSql dan MongoDB yang masih kalah

Apakah layak dipelajari?


populer dibanding Mysql. Tapi catetan : bukan
berarti selain Mysql ngga direkomendasi buat
dipelajari karna nanti ada saatnya pakai
database lain.

So, untuk menjawab pertanyaan ini, gua boleh


jawab “sangatlah layak” untuk dipelajari, karna
gampang juga kok dipahami.

#asikinajahngodingmu

5
#codingasikebook
@codingasik

Gimana cara Installnya?


Nah gua udah buat beberapa tutorial di IG
atau juga blog, jadi kalian langsung bisa
kunjungi link dibawah ini untuk installnya.

Apakah layak dipelajari?


Link blog : klik disini

Link Reels : reels kiri dan reels kanan

#asikinajahngodingmu

6
#codingasikebook
@codingasik

Pertanyaan kedua adalah . .

Pertanyaan kedua
Apa saja Type Data

di Database Mysql ?

#asikinajahngodingmu

7
#codingasikebook
@codingasik

Kenalan sama Type Data


Setiap data yang tersimpan didatabase itu
punya tipe data yang berbeda-beda sesuai
apa yang kita buat di database Mysql.

Ada berbagai macam jenis data, misal : angka,


huruf, tanggal dll yang dituangkan dalam type
data di Mysql database. Nah apa saja type

Type data di Database Mysql


data yang minimal kalian harus tau?

1 Type data Integer (INT

Ukurannya 4 byte
Ini dipakai untuk bilangan bulat
-2147483648 sampai 2147483647
Biasa dipakai untuk menyimpan harga
transaksi, intinya berupa angka.

#asikinajahngodingmu

8
#codingasikebook
@codingasik

2 Type data CHA

Menyimpan data dengan jumlah 255


karakter (bisa huruf, angka dll
Digunakan ketika menyimpan data yang
bernilai tetap, misal NIK (16 angka), md5
(32 karakter) biasa dipake untuk passwor
Memori tetap, sesuai yang diatur

Type data di Database Mysql


3 Type data VARCHA

hampir sama dengan CHAR tapi dia lebih


lamba
Bisa nyimpan 65.535 karakte
Untuk nyimpan data yang dinamis, misal
untuk email, nama (setiap orang beda) dl
Memori berubah, sesuai jumlah data yang
disimpan

#asikinajahngodingmu

10
#codingasikebook
@codingasik

4 Type data DAT

Ukuran 3 Byt
Menyimpan data dengan jangkauan dari
‘1000-01-01’ s/d ‘9999-12-31
Digunakan untuk menyimpan data tanggal

Type data di Database Mysql


5 Type data TIM

Ukuran 3 byte
Waktu dengan jangkauan dari ‘839:59:59’
s/d ‘838:59:59’
Untuk menyimpan waktu (jam, menit,
detik)

#asikinajahngodingmu

11
#codingasikebook
@codingasik

6 Type data TIMESTAM

Ukuran 4 byt
Jangkauan dari ‘1970-01-01 00:00:00’ s/d
‘2038-01-09 03:14:07
Zona waktu bisa menyesuaika
Bisa nyimpan waktu dan tanggal

Type data di Database Mysql


7 Type data TEX

Ukuran 65535 byt


Jangkauan 2^16-1 (16M-1) data (banyak
Apapun masuk (huruf, angka, simbol dll
Cocok buat data yang banyak, dan ngga
bisa diprediksi panjangnya ( alamat dll )

#asikinajahngodingmu

12
#codingasikebook
@codingasik

8 Type data DECIMAL (M,D

Ukuran M byte. M adalah total jumlah digit


keseluruhan, dan D adalah jumlah digit di
belakang koma (pecahan). Misal

4 itu jumlah angka semuanya, 2 itu jumlah

Type data di Database Mysql


angka yang dibelakang kom
Biasanya buat penilaian, data uang dll

9 Type data ENU

Ukuran tergantung jumlahny


Jangkauan maksimum 65535 nila
Contohnya gini

Jadi dia bisa milih, ketika input didatabase.


Cocok buat Jenis Kelamin, Agama dll yang
sifatnya udah pasti.

#asikinajahngodingmu
13
#codingasikebook
@codingasik

Intinya gini, ketika mambuat database dan


tabel pastikan tau dulu dan riset berapa
jumlah datanya dan typenya apa.

Misal data NIK, nah diakan datanya angka nih,


terus jumlahnya 16 dan nilai tetep. Nah
alangkah baiknya pakai CHAR(16), biar dari
segi memori efisien dan tepat juga.

Type data di Database Mysql


Sah ajah pakai VARCHAR(16), tapi memori
lebih efisien CHAR. Nah masalah input biar
angka, main divalidasi inputannya, bisa pake
javascript dll.

Terus misal data input catetan, kalo misal bisa


dibatesi ngga terlalu banyak, janganlah pakai
TEXT baiknya VARCHAR misal 150 jumlahnya.
Biar efisien dalam memori.

Itulah kenapa sekelas instagram, di bio itu


dibatesi jumlah karakter biar efisien. Setuju?

#asikinajahngodingmu
14
#codingasikebook
@codingasik

Udah paham Type data nih, terus

muncul pertanyaan ketiga . . .

Bagaimana Query Mysql?


Bagaimana

Query Dasar

Database Mysql?

#asikinajahngodingmu

14
#codingasikebook
@codingasik

Query Dasar di dalam Mysql


Query adalah suatu perintah di Mysql yang
bisa menjalankan aksi tertentu, misal buat
database, tabel, tambah data dll

Nah charpter ini, gua mau share beberapa


query yang wajib kalian tau ketika
menggunakan database Mysql.

Query dasar Mysql


1 Buat Database

Cukup menggunakan “CREATE DATABASE” +


nama databasenya apa (misal penjualan) :
Otomatis akan ada
database penjua-

lan di Mysql.

Cukup mudah kan?

#asikinajahngodingmu

15
#codingasikebook
@codingasik

2 Hapus Database

Kalo hapusnya pakai “DROP DATABASE” +


nama databasenya apa (misal penjualan) :

Maka database
penjualan akan
terhapus di Mysql

Masih gampang ini.

Query dasar Mysql


3 Membuat Tabel di Database

Buat tabel pakai “CREATE TABEL” + nama


tabelnya + nama fieldnya (ada type data dll) :

#asikinajahngodingmu

16
#codingasikebook
@codingasik

Ini beberapa atribute kolom (field) yang bisa


kalian atur sendiri sesuai kebutuhan

VARCHAR(7) : tipe data VARCHAR jumlah


NOT NULL : biar data ngga boleh koson
PRIMARY KEY : khusus buat field yang jadi
kode utama (ngga boleh sama
AUTO_INCREMENT : untuk tipe data
angka (INT). Intinya ketika input, otomatis

Query dasar Mysql


akan bertambah
BINARY : agar case sensitive ( jadi ketika
data dicari, besar kecil huruf sesuai. Cocok
untuk membuat password
DEFAULT : ini biar data ketika kosong, akan
terisi otomatis sesuai yang kita defisiin
NULL : kebalikan dari NOT NULL yang
intinya boleh koson
UNSIGNED : khusus untuk data angka (INT
dll). Intinya agar data ngga boleh negatif

Masih banyak, tapi attribute ini sering dipakai.

#asikinajahngodingmu

17
#codingasikebook
@codingasik

4 Hapus Tabel

Hapus tabelnya pakai “DROP TABLE” + nama


tabelnyanya apa :

Maka tabel barang akan terhapus didatabase.

5 Tambah data di Tabel

Query dasar Mysql


Tambahnya pakai “INSERT INTO” + nama
tabelnya + nama fieldnya + “VALUES” :

6 Tampilin semua data Tabel

Pakai “SELECT * FROM” + nama tabelnya :

#asikinajahngodingmu

18
#codingasikebook
@codingasik

7 Tampilin data tertentu di Tabel

Pakai “SELECT” + nama field + “FROM” + nama


tabelnya. Misal field barang & stok :

8 Tampilkan data berdasar kondisi tertentu

Query dasar Mysql


Dengan kondisi pakai “WHERE” + nama field +
data yang dicari :

9 Edit data tabel

Pakai “UPDATE SET” + nama field + data yang


diedit + “WHERE” + key (acuan) dari datanya :

#asikinajahngodingmu

19
#codingasikebook
@codingasik

10 Hapus semua data di Tabel

Pakai “DELETE FROM” + nama tabelnya :

Query dasar Mysql


11 Hapus data tertentu di Tabel

Pakai “DELETE FROM” + nama tabel +


“WHERE” + nama field + data key :

#asikinajahngodingmu

20
#codingasikebook
@codingasik

12 Mengganti nama Tabel

Pakai “RENAME TABLE” + nama tabel lama +


“TO” + nama tabel baru :

13 Menambah kolom (field) di Tabel

Pakai “ALTER TABLE” + nama tabel + “ADD” +

Query dasar Mysql


nama field baru (+ tipe data & attribute) :

14 Cari data dengan rentang tertentu

Pakai “WHERE” + nama field + “BETWEEN” +


rentang data 1 + “AND” + rentang data 2 :

#asikinajahngodingmu

21
#codingasikebook
@codingasik

15 Cari data dengan input tertentu

Query dasar Mysql


Pakai “LIKE + ‘%inputannya%’ :

Semua data dari field barang yang ada kata


“top” akan muncul datanya. Dan biasa dipakai
untuk query pencarian data.

#asikinajahngodingmu

22
#codingasikebook
@codingasik

16 Mengurutkan Data

Pakai “ORDER BY” + nama field + “ASC/DESC


ASC = Ascending untuk urut A ke
DESC = Descending untuk urut Z ke A

Urut A ke Z

Query dasar Mysql


17 Mengelompokan data Tabel

Pakai “GROUP BY + nama field :

#asikinajahngodingmu

23
#codingasikebook
@codingasik

18 Menghitung jumlah Data

Pakai “COUNT(nama filed)” + “AS” (optional,


sebagai nama alias) :

Intinya, mengitung jumlah data

19 Mengitung total nilai data di Tabel

Query dasar Mysql


Pakai “SUM”+ nama field :

Ini mengitung nilai, jadi menjum-


lahkan semua nilai

20 Mengambil karakter dari Kiri nilai field

Pakai “LEFT(nama_field , jumlah yg diambil)” :

*tabel referensi halaman 23

#asikinajahngodingmu

24
#codingasikebook
@codingasik

21 Mengambil karakter dari Kanan nilai field

Pakai “RIGHT(nama_field , jumlah yg diambil)”

22 Mengambil karakter dari Tengah nilai field

Query dasar Mysql


Pakai “MID(nama_field , Jarak nilai dari kiri ,
jumlah yg diambil )” :

23 Menampilkan nilai maksimal field tabel

Pakai “MAX(nama_field)” :

*tabel referensi halaman 23

#asikinajahngodingmu

25
#codingasikebook
@codingasik

24 Menampilkan nilai minimal field tabel

Pakai “MIN(nama_field)” :

*tabel referensi halaman 23

25 Tampil data dengan jumlah tertentu

Pakai “LIMIT jumlah data OFFSET mulai data” :

Query dasar Mysql


OFFSET opsional ditulis atau ngga. Kalo ngga:

Biasanya dipakai untuk pagination, yaitu


menampilkan data perjumlah tertentu, misal
per 10 data. Jadi ngga ditampilkan semua.

#asikinajahngodingmu

26
#codingasikebook
@codingasik

Query Lanjut di dalam Mysql


Setelah kalian tau dan paham query dasar di
Mysql seharusnya sudah cukup untuk
membuat sebuah website yang dinamis.

Tapi masalah yang akan terjadi adalah ketika


kalian akan berinteraksi dengan beberapa
tabel yang saling berkaitan.

Query lanjut Mysql


Nah maka query selanjutnya adalah kalian
akan belajar tentang fungsi JOIN, dimana kita
bisa mengambil data di tabel lain berdasarkan
ID yang sama di kedua tabel atau lebih.

Jadi misal kategori nanti udah banyak, jadi


harus dipisah ke tabel lain.

#asikinajahngodingmu

27
#codingasikebook
@codingasik

tb_barang

tb_kategori

Query lanjut Mysql


tb_transaksi

Tabel dipecah jadi tb_barang & tb_kategori,


dan ditambah tb_transaksi. Buat yang butuh
database bisa download di github. Klik disini

#asikinajahngodingmu

28
#codingasikebook
@codingasik

1 INNER JOIN (JOIN)

Misal akan menampilkan nama kategori,


barang dan harga, bisa pakai INNER JOIN
atau JOIN antara tb_barang dan tb_kategori :

SELECT k.kategori, b.barang,b.harga from


tb_barang b JOIN tb_kategori k ON
b.id_kategori = k.id_kategori

Query lanjut Mysql


tb_barang dialisain b dan tb_kategori diliasin k

jadi rumus dasar “SELECT (nama_field)” +


“FROM (tabel 1) (alias 1)” + “JOIN / INNER JOIN”
+ “FROM (tabel 2) (alias 2)”.

Terus kalau 3 tabel gimana? + tb_transaksi

#asikinajahngodingmu

29
#codingasikebook
@codingasik

Misal akan menampilkan kode transaksi,


nama kategori, barang dan total :

SELECT t.kode_transaksi,k.kategori,
b.barang,b.harga,t.total from tb_barang b
JOIN tb_kategori k ON b.id_kategori =
k.id_kategori JOIN tb_transaksi t ON
b.kode_barang = t.kode_barang

Query lanjut Mysql


Maka kita bisa menampilkan data dari 3 tabel
atau lebih dengan menggunakan JOIN.
Catatannya adalah, yang penting ada field
yang jadi key dan ada di beberapa tabel.

Misal id_kategori ada di tb_barang, karena 1


kategori bisa memiliki banyak barang, tapi 1
barang hanya boleh ada 1 kategori, jadi
kenapa id_kategori ada di tb_barang. Nah itu
kita bisa sebut adalah relasi tabel (Pelajari ya)

#asikinajahngodingmu

30
#codingasikebook
@codingasik

2 LEFT JOIN

Ini sedikit berbeda dengan JOIN / INNER


JOIN karena data tabel yang pertama di
select (LEFT) akan tampil semua walaupun
ada data yang kosong :

SELECT * FROM tb_kategori k LEFT JOIN


tb_barang b ON k.id_kategori = b.id_kategori

Query lanjut Mysql


karena tb_kategori yang pertama di select
sebelum tb_barang, maka ketik JOIN LEFT
data yang kosong ( belum berelasi) akan
muncul dengan tampil NULL.

Ini cocok untuk menampilkan berapa jumlah


kategori yang belum ada barangnya, dll.

#asikinajahngodingmu

31
#codingasikebook
@codingasik

3 RIGHT JOIN

Ini kebalikan dari LEFT. Intinya tabel yang ke


dua di select semua data akan muncul, dan
ketika kosong akan muncul nilai NULL :

SELECT * FROM tb_barang b RIGHT JOIN


tb_kategori k ON b.id_kategori =
k.id_kategori

Query lanjut Mysql


Menarik kan? Seharusnya udah bisa manipu-
lasi 2 tabel atau lebih. Karena pemisahan
tabel perlu jika sistem semakin besar.

Intinya pemisahan ini agar web atau aplikasi


yang kita buat jadi dinamis ( ngga perlu utak
atik coding, cukup datanya saja). Jadi praktis.

#asikinajahngodingmu

32
#codingasikebook
@codingasik

Query dasar dan lanjut kalian udah tau.

Bagaimana Export & Import Mysql?


Selanjutnya pertanyaan terakhir. .

Bagaimana Cara

Export & Import

Database Mysql?

#asikinajahngodingmu

33
#codingasikebook
@codingasik

Cara Export database


Export database adalah cara gimana kita bisa
membackup database ke dalam file dengan
extensi misal *.sql.

Caranya cukup mudah :

Akses url : localhost/phpmyadmi


Klik database, dan pilih tab Export diata

Query lanjut Mysql


Selanjutnya pilih format SQL, lalu pilih
tombol kirim. dan cek folder download.

#asikinajahngodingmu

34
#codingasikebook
@codingasik

Cara Import database


Kebalikan dari Export, Import adalah
mengambalikan database (restore) ke dalam
Mysql. Caranya juga cukup mudah

Akses url : localhost/phpmyadmi


Buat database baru ( bisa menggunakan
nama filenya

Query lanjut Mysql


Klik database yang baru dibuat, dan pilih
tab import. Dan pillih Choose Fil

Pilih file database ekstensi *.sql. setelah itu


pilih tombol kirim dibawa
Maka database akan otomatis terimpor

#asikinajahngodingmu

35
#codingasikebook
@codingasik

Tambahan
Kalian bisa lihat video tentang export dan
import di Youtube Coding Asik :

Klik link disini

Jangan lupa untuk


Subscribe channel

Query lanjut Mysql


Coding Asik biar bisa
belajar lebih tentang
website

Gimana nih sampai detik ini? udah paham kan


cara kita manipulasi database Mysql.

#asikinajahngodingmu

36
#codingasikebook
Banyumas, 30 Agustus 2021
Hallo teman cosik,

Sebelumnya thanks banget udah download


materi tentang “Database Mysql” dan udah
baca sampai selesai.

Harapan besar, semoga kalian bisa


memahami setiap detail materinya.

Nah, kalau kalian suka dan ngerasa terbantu


dengan adanya Ebook ini, please tag akun
@codingasik di Instagram story atau post.
Pakai hashtag #asikinajahngodingmu dan
#codingasikebook biar gua tau

Terus jika ada yang minta, please share IG


@codingasik bukan share file ebooknya yaa

Terus buat yang mau kenal gua, next page

Love you All


Dari abang lo,

Bagas - Coding Asik


@codingasik

Assalamu’alaikum.

Hallo guys, kenalin gua Bagas, lengkapnya

Siapa Coding Asik


Chandra Bagas Pambudi. Gua Angkatan ‘98

Kerjaan gua adalah Freelencer Web


Programmer dan Creator di Coding Asik.

Skill yang gua punya semi- Fullstack, karena


lebih condong ke Backend, but Frontend it’s
okay.

Dari Web ( php, javascript, html, css ), Mobile


(Java toolnya Android Studio) dan juga
Dekstop ( c# toolnya VB Net).

#asikinajahngodingmu

38
#codingasikebook
@codingasik

Dengan gua bangun Coding Asik, gua pengen


menciptakan 10 K programmer baru, bahkan
lebih aamiin Ya Allah

Kenapa gitu? karena gua tau skill coding akan


selalu dibutuhkan baik didunia kerja, bisnis
dan lain-lain kedepannya.

Dan satu alasan lain adalah karena gua tau

Siapa Coding Asik


susahnya belajar coding, dari gimana
memulai, mencari mentor, bahkan mencari
materi yang cocok itu juga susah walau di
Youtube, artikel” banyak yang bahas.

Nah, dengan adanya Coding Asik ini gua


harap bisa membagikan ilmu yang gua punya
dengan bahasa dan penyampaian yang
gampang dimengerti buat kalian semua.

Dan Alhamdullillah ilmu yang gua dapat hasil


dari kuliah gua 4 tahun dan belajar mandiri.

#asikinajahngodingmu

39
#codingasikebook
@codingasik

Latar belakang gua


Dapat gelar S.Kom, dari 4 tahun (
2015-2019) di STMIK Widya Utama,
Purwokerto, Jawa Tenga
Alhamdulillah dapat predikat Cumlaude
dan Mahasiswa terbaik TI 2019, IPK 3.8
Pernah juga njabat sebagai Presiden BEM,
Ketua UKM di kampu
Workshop dan Seminar Alhamdulillah

Siapa Coding Asik


pernah juga mengisi di Kampus

Itulah beberapa latar belakang gua pribadi.

Gua bangun dari Youtube, baru ke Instagram,


tapi sebelumnya buat cari passion Coding ini
agak panjang. Karna disaat bersamaan gua
juga suka Edit.

Itulah kenapa ada juga Edit Asik di Youtube


(cari ajah)

#asikinajahngodingmu

41
#codingasikebook
@codingasik

Bisnispun pernah coba berkali”, cuma


ujungnya kembali lagi ke Coding ternyata..

Nah inti dari perkenalan dan cerita singkat


tentang diri gua pribadi adalah agar kalian
bisa lebih dekat dan tau siapa dan apa tujuan
dari Coding Asik.

Semoga cita” gua tadi bisa tercapai, bisa

Siapa Coding Asik


bermanfaat dan Coding Asik semoga bisa
menjadi jalan amal jariyah buat gua pribadi
aamiin.

Mungkin itu saja, Thanks yang udah mau


dengerin cerita gua. See you di Coding Asik
dengan Content selanjutnya.

Wassalamu’alaikum Wr Wb,

#asikinajahngodingmu

42
#codingasikebook
Support Coding Asik di :

Youtube : Coding Asik

Instagram : @codingasik

Kontak dan Kerjasama :

: codingasik2020@gmail.com

As i k i n A j a h

Ngodingmu

Anda mungkin juga menyukai