query dengan join 3 tabel

Posted: February 22, 2011 in Uncategorized

Left Join yaitu salah satu dari beberapa tipe join yang ada di SQLyang digunakan untuk mengkombinasikan lebih dari satu tabel. Mengkombinasikan lebih dari satu tabel akan mempengaruhi kecepatan query ketika berinteraksi dengan database.

Sebuah query dapat dilakukan terhadap lebih dari 1 tabel,.. Cara itu dapat dengan mengkombinasikan JOIN maka segera terbentuk query yang ingin menampilkan data yang dinginkan. Seperti contoh query dibawah ini:

$sql =  “SELECT count(*) AS jml, b.kd_fakultas AS k , f.jurusan FROM transaksi a LEFT JOIN anggota b ON a.no_mhs = b.no_mhs LEFT JOIN fakultas f ON b.kd_fakultas=f.kd_fakultas WHERE a.no_mhs !=” GROUP BY b.kd_fakultas”;

–> yang berati bahwa user ingin menampilkan jumlah keseluruhan anggota yang meminjam di tabel transaksi berdasarkan no_mhs yang tidak kosong di kelompokkan sesuai dengan kd_fakultas yang ada di tabel anggota,…

Advertisements

Query select adalah perintah yang dibuat untuk menampilkan suatu tabel yang berisi data tertentu yang ingin di lihat. Dibawah ini adalah perintah select didalam select:

SELECT distinct `id_konfig_sirkulasi` FROM `transaksi` WHERE NOT EXISTS
(SELECT * FROM jenis_buku_config WHERE jenis_buku_config.id_konfig_sirkulasi = transaksi.id_konfig_sirkulasi)

Berdasarkan perintah select diatas dinyatakan bahwa data yang di tampilkan  disesuaikan dengan select yang didalam kurung dimana field id_konfig_sirkulasi didalam tabel jenis_buku_config sama dengan id_konfig_sirkulasi di dalam tabel transaksi.

Data yang muncul dengan perintah select biasanya ganda dalam artian lebih dari 1 jenis oleh karenanya perlu disaring, supaya yang muncul nanti hanya 1 jenis yang mewakili semuanya. Perintah distinct diataslah yang menjadikan itu. Jadi data yang ditampilkan adalah 1 jenis dari id_konfig_sirkulasi.

Halaman Admin

Posted: December 11, 2009 in Uncategorized

Dalam pertemuan ini  kami diajarkan untuk membuat halaman admin pada web. Melalui halaman admin kami dapat menambah, mengedit bahkan dapat menghapus data yang terdapat dalam database mysql. Mula-mula kami membuat folder admin yang di dalamnya terdapat file yang diberi nama otentikasi.php …


<?php
if(isset($_GET['logout'])) {
 require_once "../libraries/otentikasi.class.php";
 $otentikasi = new Otentikasi();
 $otentikasi->logout();
 echo "<META HTTP-EQUIV = 'Refresh' Content = '0; URL =index.php'> ";
}

if(!isset($_SESSION['username'])) {
 if(isset($_POST['btnLogin'])) {
 require_once "../libraries/otentikasi.class.php";
 $otentikasi = new Otentikasi();
 if($otentikasi->login($_POST['txtUser'], $_POST['txtPass']) == true) {
 echo "<META HTTP-EQUIV = 'Refresh' Content = '0; URL =index.php'> ";
 } else {
 echo "Username atau Password Salah";
 exit;
 }
 } else {
 ?>
<form action="otentikasi.php" method="POST" align="center">
 <table border="0">
 <tr>
 <td colspan="2"><b>Please Login...</b></td>
 </tr>
 <tr>
 <td>Username</td>
 <td><input type="text" name="txtUser" value="" /></td>
 </tr>
 <tr>
 <td>Password</td>
 <td><input type="password" name="txtPass" value="" /></td>
 </tr>
 <tr>
 <td>&nbsp;</td>
 <td><input type="submit" name ="btnLogin" value="Login" /></td>
 </tr>
 </table>
</form>
 <?php
 exit;
 }
}
?>

… dan kita menambahkan class dalam libraries yang diberi nama otentikasi.class.php.


<?php
session_start();
require_once "mysql.php";
class Otentikasi {
 private $tableName = "users";
 private $mysql;

 function __construct() {
 $this->mysql = new MySQL();
 }

 function login($username, $password) {
 $this->mysql->connect();
 $sql = "select * from $this->tableName" .
 " where username = '$username'";
 $this->mysql->query($sql);
 $hasil = $this->mysql->fetchArray();
 if(count($hasil) > 0) {
 $pass = md5($password);
 $sql = "select * from $this->tableName" .
 " where username = '$username' and" .
 " password = '$pass'";
 $this->mysql->query($sql);
 $hasil = $this->mysql->fetchArray();
 if(count($hasil) > 0) {
 $_SESSION['username'] = $username;
 return true;
 } else {
 return false;
 }
 } else {
 return false;
 }
 $this->mysql->disconnect();
 }

 function logout() {
 session_destroy();
 }
}
?>

Otentikasi.php adalah halaman utama atau juga dapat di sebut halaman login. Dalam halaman ini hanya terdapat dua textfield yang di isi dengan Username dan Password, dan sebua tombol ‘Login’. Jika Username dan Password di isi dengan benar, maka admin dapat masuk ke dalam halaman admin ‘index.php’. Jika salah, maka halaman admin tidak terbuka melainkan sebuah pesan berisi “Username atau Password Salah”.

Dalam otentikasi.class.php terdapat function login yang akan terhubung dengan database mysql. Selajutnya, function akan mencari table “users” yang telah berisi field “Username” dan “Password”.

OOP (Bagian 2)

Posted: December 11, 2009 in Uncategorized

OOP akan lebih mudah jika kita menggunakan class dan function. Class dan function biasanya terletak pada folder libraries dari sebuah project. Berikut adalah contoh penulisan serta penggunaan class dan function dengan menggunakan netbeans IDE 6.7.1.


<?php
// Class MySQL
// Digunakan untuk koneksi ke database dan mengeksekusi SQL

class MySQL {
 private $host = "localhost";
 private $user = "root";
 private $pass = "";
 private $dbName = "blog";
 private $id;
 private $result;

 public function connect() {
 $this->id = mysql_connect($this->host, $this->user, $this->pass) or die("Gagal Koneksi");
 mysql_select_db($this->dbName,$this->id) or die ("Salah Database");
 }

public function disconnect() {
mysql_close($this->id);
}

public function query($sql) {
$this->result = mysql_query($sql,$this->id);
}

public function fetchArray() {
$data = array();
while($baris = mysql_fetch_array($this->result)) {
$data[] = $baris;
}
return $data;
}
}
?>

Pemrograman di atas terlihat lebih rapi dan teratur, sehingga dapat lebih mudah untuk dipahami. Class diberi nama MySQL. function connect berfungsi untuk menggabungkan koneksi antara program dengan mysql serta memilih database yang digunakan. Function disconnect berfungsi untuk memutuskan koneksi. Function query digunakan untuk memberikan perintah sql untuk memanggil data-data dalam database mysql. Function fetchArray digunakan sehingga program mampu menampilkan data-data dalam database lebih dari 1. Berikut adalah class Artikel sebagai contoh penggunaan function-function dalam class MySQL. Class Artikel juga berisi function-function yang kemudian akan digunakan dalam file artikel.php.

<?php
// Class Artikel
// Digunakan untuk mengolah data di tabel Artikel

require_once 'mysql.php';

class Artikel {
 private $tableName = "artikel";
 private $mysql;

 function __construct() {
 $this->mysql = new MySQL();
 }

function read($id) {
$this->mysql->connect();
$this->mysql->query("select * from $this->tableName where id = '$id'");
return $this->mysql->fetchArray();
$this->mysql->disconnect();
}

function readByKat($kat, $from, $to) {
$this->mysql->connect();
$sql = "select * from $this->tableName
where idkat = $kat
order by tgl desc limit $from, $to";
$this->mysql->query($sql);
return $this->mysql->fetchArray();
$this->mysql->disconnect();
}
function readAll($from, $to) {
$this->mysql->connect();
$sql = "select * from $this->tableName
order by tgl desc limit $from, $to";
$this->mysql->query($sql);
return $this->mysql->fetchArray();
$this->mysql->disconnect();
}
}
?>

Dalam class Artikel terdapat perintah “require_once ‘mysql.php’;”. Perintah tersebut dibutuhkan untuk memanggil function-function yang terletak pada mysql.php, yaitu program diatas sebelumnya.

Di bawah adalah penulisan artikel.php untuk menampilkan data-data dalam table artikel. Perhatikan bahwa dibutuhkan perintah “require_once(‘libraries/artikel.class.php’);” untuk memanggil function-function dari artikel.class.php yang terletak dalam folder libraries.

<?php
require_once('libraries/artikel.class.php');

$artikel = new Artikel();
$hasil = $artikel->readAll(0,3);

foreach($hasil as $baris) {
echo "<h1 class='title'>".$baris["judul"] . "</h1>";
echo "<p class='byline'><small>".$baris["tgl"] . "</small></p>";
echo "<div class='entry'><p>".$baris["isi"] . "</p></div>";
echo '<div>
<p><a href="index.php?modul=artikelread&id='.$baris["id"]. '">Read full post &raquo;</a></p>
</div>';
}
?>

OOP (Bagian 1)

Posted: December 10, 2009 in Uncategorized

Dalam pertemuan ini, kami belajar untuk mengambil data dari database.
Berikut adalah contoh sederhana pemrograman web dengan database MySql (PHPMyAdmin).

<?php
mysql_connect ("localhost","username","password") or die ("Gagal Koneksi");
mysql_select_db ("blog") or die ("Salah Database");
$hasil = mysql_query ("select * from artikel order by tanggal");
while ($baris = mysql_fetch_array($hasil)) {
echo "<b>".$baris ["judul"]."</b><br />";
echo "<i>".$baris ["tanggal"]."</i><br />";
echo $baris ["isi"]."<br />";
}
mysql_close();
?>

Pemrograman di atas, kita melakukan koneksi localhost dengan username dan password. Jika koneksi tidak berhasil, maka program akan melakukan perintah ‘die’ dengan pesan “Gagal Koneksi”. Setelah koneksi ke database berhasil, maka program akan melakukan proses selanjutnya yaitu, memilih database yang telah diberi nama ‘blog’. Selanjutnya, query akan memanggil semua data yang terdapat dalam table artikel dengan berurutan sesuai tanggal.

OOP (Object Oriented Programming)

Posted: November 20, 2009 in Uncategorized

OOP ( Object Oriented Programming )

Membuat dan menggunakan web dengan konsep OOP untuk memudahkan maintenance.

Istilah dalam OOP adalah sebagai berikut :

–         Class adalah pendefinisian himpunan objek yang sejenis. Objek yang       mempunyai objek yang sama dan merespon message yang sama dapat dikelompokkan bersama membentuk sebuah class.

–         Object yaitu entitas yang di identifikasi secara unik, berisikan atribut-atribut yang menerangkan keadaaan atau kondisi (state) objek dunia maya (real world object ) dan aksi-aksi yang berhubungan dengan sebuah objek dunia nyata.

–         Attribute, atribut dapat dikelompokkan menjadi atribut simpel dan atribut kompleks. Atribut simpel dapat berupa tipe primitif seperti integer, string, real, dsb, yang mengambil nilai literal. Sedangkan atribut kompleks dapat berisikan kumpulan (koleksi) dan atau referensi.

–         Method, mendefinisikan tingkah laku dari sebuah objek. Method digunakan untuk mengubah kondisi objek dengan memodifikasi nilai atribut-atributnya.

Contoh method:

Method void update_salary (float increment)

{

salary = salary + increment

}

Memprogram dengan kode prosedural memilik banyak kerugian. Oleh karena itu harus diubah dalam manajemen OOP.

CMS (Content Management System)

Posted: November 14, 2009 in Uncategorized

CMS

CMS adalah sebuah sistem yang memudahkan proses penciptaan sebuah website dinamis yang kaya akan contents, dengan memberikan kemudahan kepada penulis/editor untuk menambah, memperbaharui dan menghapus contents yang ada tanpa campur tangan langsung dari webmaster.

Sebuah CMS akan membedakan contents dari desain, memelihara konsistensi tampilan dan memudahkan pemanfaatan contents untuk berbagai keperluan. Dengan menyimpan data di satu tempat, mengontrol hak akses dan alur kerja memperbesar kesempatan pemakai berpartisipasi dalam pengembangan website anda. Terlebih lagi bila website tersebut terus berkembang dan memiliki kompleksitas tinggi.