Wednesday, February 8, 2017

SQL Join di MySQL


Setelah kalian mempelajari tentang membuat tabel dan memasukkan data kedalam table, selanjutnya saya akan menjelaskan tentang menampilkan data dalam table dengan metode JOIN. Sebelum kalian membaca lebih lanjut, silahkan download file sql berikut agar kalian tidak kebingungan, link : Data SQL

Pengertian JOIN di SQL 

Di dalam SQL, JOIN digunakan untuk menggabungkan 2 tabel atau lebih berdasarkan column dari tabel tersebut. Ada 4 tipe dalam penggunaan JOIN, yaitu INNER JOIN, LEFT JOIN, RIGHT JOIN, dan FULL JOIN.

INNER JOIN

INNER JOIN mengambil semua baris dari kedua tabel sebanyak banyaknya sampai tidak ada kecocokan lagi dari kedua table tersebut. Berikut ini adalah syntax untuk INNER JOIN di MySQL.

Contoh script penggunaan INNER JOIN :

Berdasarkan script dan screenshot di atas, saya mencoba menampilkan Borrow Code dan Nama yang berasal dari tabel berbeda, yaitu table borrow dan table member dimana kolum member_id di tabel borrow = kolum id di member.

LEFT JOIN

LEFT JOIN digunakan untuk mengambil semua data yang berada di tabel kiri (tabel1) dengan baris yang cocok dengan tabel kanan (tabel2). Namun, jika tabel2 tidak cocok dengan tabel1 maka tabel2 akan menghasilkan NULL. LEFT JOIN disebut juga dengan LEFT OUTER JOIN. Berikut adalah syntax dasar untuk LEFT JOIN di MySQL.

Contoh script menggunakan LEFT JOIN :

Berdasarkan script dan screenshot diatas, saya ingin menampilkan data member yang sudah meminjam buku di dalam tabel borrow. Terlihat di screenshoot baris ke-6 BorrowCode nya adalah NULL, berarti id member yang bernama "Adit" tidak ada di tabel borrow dan LEFT JOIN akan menampilkan semua field di dalam table member walaupun id member itu tidak ada di dalam tabel borrow.

RIGHT JOIN

RIGHT JOIN adalah kebalikan dari LEFT JOIN. Seperti LEFT JOIN, RIGHT JOIN juga disebut dengan RIGHT OUTER JOIN. Berikut merupakan syntax dasar untuk pemakaian RIGHT JOIN di MySQL.

Contohnya? Silahkan berkreasi sendiri hehe

FULL JOIN

FULL JOIN adalah gabungan dari LEFT JOIN dan RIGHT JOIN, yaitu mengambil semua data di tabel kiri dan kanan. Jika tabel kiri tidak cocok dengan tabel kanan, ataupun sebaliknya. Maka keduanya tetap ditampilkan.
Sebenarnya, FULL JOIN (atau FULL OUTER JOIN) tidak support di MySQL, namun kita bisa mengakalinya dengan mennggabungkan syntax LEFT JOIN dan RIGHT JOIN dengan disisipkan UNION(untuk mengabaikan duplikat) atau UNION ALL. Syntaxnya yaitu

Contoh Script:

Mungkin itu saja yang bisa saya sampaikan dalam artikel ini. Semoga bermanfaat

Thursday, January 26, 2017

Pengetahuan Dasar MySQL

Pengetahuan Dasar MySQL

Jika kalian sudah pernah mempelajari dunia web programming. Saya rasa anda sudah tidak asing lagi dengan aplikasi Database ini. Jika anda masih belum tau, saya akan menjelaskan sedikit tentang MySQL ini.

Apa itu MySQL?

MySQL merupakan suatu aplikasi database yang merupakan RDBMS(Relational Database Management System) dan menggunakan SQL(Structured Query Language). Sebekum mengenal MySQL lebih dalam. Saya akan menjelaskan sedikit tentang RDBMS dan SQL.

RDBMS di dalam database

Di dalam RDBMS, database adalah kumpulan relasi yang terhubung antara 1 dengan yang lain. Relasi jg bisa disebut dengan tabel. Dalam system database ini, kolom dalam tabel disebut attribute, sedangkan baris disebut dengan tuple.

Candidate Key(Kunci Kandidat)

Candidate Key adalah satu atau beberapa kolom dalam tabel yang bisa mengidentifikasi tiap baris dari tabel tersebut. Didalam tabel, setidaknya harus memiliki sebuah kolom yang unik. Unik disini yaitu tidak boleh ada data yang sama. Contoh nya, saya memiliki tabel dengan nama Data Siswa yang berisi NISN, NAMA, TTL, dan Kode Kelas. Bisa anda bayangkan sendiri kolom manakah yang bisa menjadi candidate key. Karateristik dari candidate key yaitu: unik, tidak boleh null, dan value nya jarang berubah.

Primary key(Kunci Utama)

Primary key adalah pilihan dari beberapa candidate key. Key ini lah yang nanti akan dihubungkan ke tabel lainnnya, dalam contoh di atas. Primary key dalam tabel TKJ 1 adalah NISN, karena NISN tidak ada yang sama value nya.

Foreign Key(Kunci Tamu)

Di database, pasti akan banyak sekali tabel yang dibuat. Dengan foreign key, kita dapat menghubungkan tabel tersebut. Foreign Key adalah primary key dari tabel yang lainnya. Contohnya, saya membuat tabel lagi dengan nama Data Kelas yang berisi Kode Kelas, Nama Kelas, dan Wali Kelas, dengan primary key Kode Kelas. Jika dilihat dari tabel Data Siswa, terdapat key Kode Kelas juga. Ini berarti Kode Kelas di dalam Data Siswa itu merupakan foreign key.

Mengenal SQL

SQL(Structured Query Language) adalah bahasa pemrograman yang digunakan untuk memanajemen data dalam RDBMS. Biasanya, SQL berupa perintah sederhana untuk memanipulasi data.

Jenis Perintah SQL

Terdapat 3 perintah dasar SQL : DDL, DML, dan DCL.
  • DDL(Data Definition Language): jenis instruksi yang berkaitan dengan pembuatan struktur table maupun database. Contoh perintah nya yaitu CREATE, ALTER, DROP, dan RENAME.
  • DML(Data Manipulation Language): jenis instruksi yang berkaitan dengan data yang ada di dalam table. Contoh nya yaitu INSERT, UPDATE, DELETE, dan SELECT.
  • DCL(Data Control Language): jenis instruksi yang berkaitan dengan managemen hak akses dan user yang dapat mengakses database maupun table. Contohnya yaitu GRANT dan REVOKE.

Tipe Data Dalam MySQL

MySQL menyediakan berbagai tipe data yang sesuai dengan keperluan data yang kita input. Dibawah ini merupakan tipe data yang disediakan dalam MySQL

Integer(Numerik)

MySQL menyediakan beberapa tipe data untuk Integer, diantaranya TINYINT, SMALLINT, MEDIUMINT, INT, dan BIGINT. Perbedaan nya hanya jangkauan  yang berpengaruh terhadap ukuran tipe data tersebut. Biasanya, programmer sering menggunakan INT, mungkin untuk mengantisipasi data besarnya data.


String

MySQL sebenarnya menyediakan beberapa tipe data untuk String, yaitu CHAR, VARCHAR, BINARY, VARBINARY, dan TEXT. Namun, saya hanya menjelaskan tipe data string yang sering dipakai saja, yaitu CHAR dan VARCHAR.
Didalam segi maksimal karakter, CHAR hanya bisa menampung 255 Karakter, sedangkan VARCHAR bisa menampung sebanyak 65,535 Karakter. Jika kita mendefiniskan CHAR dengan maksimal 5 Karakter, MySQL akan tetap menyimpan data dengan 5 Karakter, walaupun data yang di input kurang dari 5 Karakter, sedangkan VARCHAR bisa menyesuaikan data yang di input, sehingga VARCHAR lebih efisien dalam menginput data yang tidak diketahui jumlah karakter nya, contoh nya nama dan alamat rumah.
Dalam penginputan data, CHAR dan VARCHAR bersifat case insensitif.

Date(tanggal)

MySQL memiliki beberapa format untuk tipe data date. Format tipe data date tersebut adalah: DATE, TIME, DATETIME, TIMESTAMP, dan YEAR. Perbedaan dari tipe-tipe tersebut terletak pada format penyimpanan data.

ENUM

Tipe data ENUM merupakan tipe data yang khusus untuk kolom dimana nilai datanya sudah kita tentukan sebelumnya. Pilihan ini dapat berisi 1 sampai dengan 65,535 pilihan string. Dimana kolom yang didefinisikan sebagai ENUM hanya dapat memilih satu diantara pilihan string yang tersedia.

SET

Berbeda dengan tipe data ENUM dimana pilihan yang tersedia untuk kolom hanya dapat 1 data, untuk kolom SET kita dapat memilih satu atau lebih nilai yang tersedia dari 1 sampai 64 pilihan string yang tersedia.

Mungkin ini aja yang bisa saya sampaikan, semoga bermanfaat.v

Tuesday, January 3, 2017

Function pada PHP


Pengenalan Fungsi(Function) pada PHP

Fungsi pada PHP ini wajib kita pelajari, karena fungsi adalah bagian penting dalam pemrograman.

Pengertian Fungsi pada PHP

Fungsi(Function) dibahasa pemrograman merupakan kode program yang dirancang untuk menyelesaikan tugas tertentu. Banyak fungsi yang sudah disediakan PHP contohnya str_replace, array_column, in_array, array_chunk, dan masih banyak yang lainnya . Selain fungsi yang disediakan php, kita juga bisa membuat fungsi sendiri (user-defined function).

Membuat User-Defined Function

Dibawah ini adalah code dasar untuk membuat User-Defined Function

Untuk memanggil fungsi yang sudah dibuat, tinggal menulis nama fungsinya saja.
Contoh

User-Defined function ini bisa saja dibuat dengan mengkombinasikan fungsi yang sudah disediakan dalam PHP.

Argumen dan Parameter dalam Fungsi PHP

Terkadang fungsi dalam memroses data memerlukan beberapa inputan atau nilai masukan. Inputan ini yang disebut parameter. Parameter mirip seperti variabel, kamu bisa menambahkan parameter sebanyak banyaknya, setiap parameter dipisahkan dengan koma(,). Berikut ini merupakan contoh penulisan fungsi menggunakan parameter

Selain parameter, ada juga argumen. Argumen adalah sebutan lain untuk parameter. Bedanya, Parameter merujuk kepada inputan fungsi pada saat pendefinisian fungsi tersebut, sedangkan argumen merujuk pada inputan fungsi pada saat memanggil fungsi. Kedua istilah ini sering tertukar. Berikut merupakan contoh fungsi menggunakan 2 parameter
contoh menggunakan default parameter

Return dalam Fungsi PHP

Sesuai namanya, return ini digunakan untuk mengembalikan nilai dalam fungsi php. Contoh

Fungsi Variabel

PHP mendukung konsep dari variable fungsi. Berarti, jika ada variabel dengan tanda kurung , maka PHP akan mencari fungsi dengan nama yang sama, dan mengeksekusinya. Contoh :

Mungkin itu saja yang bisa saya share tentang Fungsi dalam PHP ini. Semoga bermanfaat

Thursday, December 15, 2016

Switch pada PHP


Pembahasan saya kali ini adalah Struktur Switch pada PHP

Pengertian Struktur Switch

Struktur Switch adalah struktur yang digunakan untuk melakukan tindakan yang berbeda berdasarkan kondisinya. Switch ini mirip IF yang berulang. Dibawah ini merupakan perbedaan penulisan antara IF dengan Switch pada PHP.
Kedua kode penulisan diatas akan mengeluarkan output yang sama. Namun, penulisannya lebih sederhana switch, jika anda ingin membuat logika dengan kondisi sederhana, disarankan memakai switch.

Aturan dalam Penulisan Switch

Struktur switch terdiri dari beberapa bagian. Format dasar penulisan switch pada PHP yaitu:
Setelah kita menulis switch, kita mencantumkan variable (didalam n). Tiap kondisi yang mungkin terjadi dicantumkan setelah kata kunci case, lalu diikuti dengan nilai yang akan dibandingkan dengan nilai variabel switch. Jika kondisi sesuai, maka baris program statement akan dijalankan. Break ini sangat penting dalam penulisan switch, dibawah ini merupakan contoh jika kita tidak menggunakan break.
Apa yang terjadi? Output nya akan berupa : i equals 0i equals 1i equals 2. Penyebabnya yaitu, jika program dijalankan, PHP akan memeriksa case 0, apakah $i sama dengan 0. Jika tidak sama, PHP akan lanjut ke case selanjutnya sampai case itu sama dengan variabel. Jika sama, maka PHP akan mengeluarkan output "i equals 0" dan seluruh statement pada case dibawahnya. Oleh karena itu, kita harus menggunakan break agar output yang lain tidak tampil. Contoh:
Selanjutnya, default , default ini sama seperti "else"nya di IF. Contoh :

Kegunaan Switch

Kegunaan switch ini mungkin hampir sama dengan kegunaan dari IF, tapi ada beberapa kondisi yang tidak bisa dilakukan switch.

Perbedaan IF dengan Switch

Didalam struktur switch, kondisi logika hanya akan diperiksa satu kali saja, yaitu pada awal perintah switch, dan hasilnya di bandingkan dengan setiap case. Akan tetapi di dalam struktur ifsetiap kondisi akan selalu diperiksa. Sehingga jika anda memiliki struktur percabangan yang banyak, struktur switch akan lebih cepat dieksekusi. Switch juga memiliki keterbatasan dalam jenis operasi perbandingan yang dapat dilakukan. Operasi perbandingan di dalam switch terbatas untuk hal-hal sederhana seperti memeriksa nilai dari sebuah variabel.

Semoga bermanfaat

Wednesday, December 7, 2016

Operator Matematika,Perbandingan, dan Logika dalam PHP

Operator Logika dalam PHP

Setelah kita mempelajari tentang, Variabel, Konstanta, dan Ekspresi. Selanjutnya adalah Operator dalam PHP. Operator dalam php ini ada 7, yaitu operator aritmatika(matematika),  assignment, perbandingan, increment/decrement, logika, string, dan array. Namun kali ini saya hanya membahas tentang operator matematika, perbandingan, dan logika dalam php.

Operator Matematika dalam PHP

Matematika, mendengar kata ini mungkin sebagian orang sudah terkena gejala 5L hehe. Tenang, ini tidak seperti yang kalian bayangkan kok. Operator matematika adalah operator yang terdiri dari penambahan, pengurangan, perkalian, pembagian, dan modulus. Untuk lebih jelasnya lihat tabel dibawah ini
Operator Nama Contoh Keterangan
+ Penambahan$b + $c$b ditambah $c
- Pengurangan$c - $d$c dikurang $d
* Perkalian$d * $e$d dikali $e
/ Pembagian$e / $f$e dibagi $f
% Modulus$f % $gsisa bagi dari $f/$g
Ini adalah contoh penggunakan operator matematika dalam PHP
<?php
$angka = 2; 
$angka1 = 5;
$angka2 = 12;
$angka3 = 15;
$hasil = $angka + $angka2;
$hasil1 = $angka2 - $angka3;
$hasil2 = $angka * $angka3;
$hasil3 = $angka3 / $angka1;
$hasil4 = $angka3 / $angka;
$hasil5  = $angka2  % $angka1;
    echo $hasil;
    var_dump($hasil);
    echo $hasil1; 
    var_dump($hasil1);
    echo $hasil2; 
    var_dump($hasil2);
    echo $hasil3; 
    var_dump($hasil3);
    echo $hasil4;
    var_dump($hasil4);
    echo $hasil5;
    var_dump($hasil5);

?>
Var_dump adalah fungsi untuk menampilkan tipe data yang ditampilkan dari variabel tersebut. Operator ini sama seperti kita mengerjakan soal matematika, yaitu dimana prioritas kali(*) dan bagi (/) lebih tinggi daripada tambah(+) dan kurang(-) .

Operator Perbandingan dalam PHP

Operator perbandingan(comparison) adalah operator yang membandingkan 2 nilai. Operator ini bisa membandingkan tipe data integer, float, atau string. Jenis operator bisa dilihat di tabel ini

Operator Nama Contoh Keterangan
==Equal$b == $cNilai akan true $b sama dengan c
===Identic$c === $dNilai akan true jika $c sama dengan c dan memiliki tipe data yang sama
!=Not Equal$d != $eNilai akan true jika $d tidak sama dengan $e
<>Not Equal$e <> $fNilai akan true jika $e tidak sama dengan $f
!==Not Identical$f !== $gNilai akan true jika $f tidak sama dengan $g dan memiliki tipe data yang tidak sama
>Greater than$g > $hNilai akan true jika $g lebih dari $h
<Less than$h < $iNilai akan true jika $h kurang dari $i
>=Greater than or equal $i >= $jNilai akan true jika $i lebih dari atau sama dengan $j
<=Less than or equal$j <= $kNilai akan true jika $j kurang dari atau sama dengan $k
Dikarenakan operasi perbandingan dapat memiliki operan berupa angka dan string, PHP memiliki aturan sebagai berikut:
Operand 1 Operand 2 Hasil
null atau stringstringMengkonversikan null ke "", angka atau leksikal
boolean atau  nullTipe apapunMengkonversikan keduanya ke boolean, dimana false < true
string, resource , atau angkastring, resource, atau angkaMenerjemahkan string dan resource ke angka
arrayarrayArray yang data nya paling sedikit  dianggap lebih kecil
objectTipe apapunObject selalu lebih besar
arrayTipe apapunArray selalu lebih besar
Contoh penggunaan operator perbandingan
<?php
$kelas = "TKJ 1";
$nama = "Muhammad Iqbal";
$nilai = 90;
if ($kelas == "TKJ 1") {
    echo "Selamat datang di kelas TKJ 1";
} else {
    echo "Anda salah kelas";
} //output Selamat datang di kelas TKJ 1
if ($nama != "Muhammad Iqbal") {
    echo "Siapa kamu?";
} else {
    echo "Selamat datang!";
}
if ($nilai >= 80) {
    echo "Cie lulus ciee";
} else {
    echo "Coba lagi ya";
}

Operator Logika dalam PHP

Operator logika adalah operator untuk membandingkan 2 kondisi logika, TRUE dan FALSE. Operator ini sering dipakai untuk kondisi IF dan Looping, untuk jelasnya silahkan lihat tabel dibawah ini.
Operator Nama Contoh Keterangan
and And$b and $cNilai akan true jika keduanya true
or Or$c or $dNilai akan truejika salah satu variabel true
xor Xor$d xor $eTrue jika salah satunya true, tapi false jika keduanya true
&& And$e && $fSama seperti "and"
|| Or$f || $gSama seperti "or"
! Not!$hJika $h true, maka hasilnya false, berlaku sebaliknya
Kenapa operator "and" dan "or" ada 2 variasi? Karena precedences nya berbeda. "&&" dan "||" akan dieksekusi terlebih dahulu daripada "and" dan "or". Contoh

<?php
$nama = "anggi";
$nama2 = "iqbal";
$nama3 = "annisa";
if ($nama == "anggi" and $nama2 == "adit" || $nama3 == "annisa") {
    echo "Selamat datang!";
} else {
    echo "Dimana $nama2?";
}
//output Selamat datang!
Diketahui bahwa $nama2 adalah bukan "iqbal", kenapa hasilnya true? Karena (||) diproses dahulu kemudian baru "and".

Mungkin itu saja yang bisa saya sampaikan, semoga bermanfaat