Materi PPBD-MySQL (Download)


Sekilas Tentang Database
Basis Data atau biasa juga kita menyebutnya dengan database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.
Dalam penggunaannya dibutuhkan sebuah perangkat lunak untuk mengelola dan memanggil query yang disebut dengan DBMS (Database Management System) atau Sistem Manajmen Basis Data (SMBD), adapun perangkat lunak yang digunakan untuk merancang basis data diantarnya, adalah:
  1. MySQL
  2. Ms. SQL Server
  3. Oracle
  4. PostgreSQL
  5. Ms. Access
  6. Paradox
  7. Dsb…

Download Belajar PHP dan MySQL

Apa sih php? dan apa itu MySQL...!! meski gak bakal ngejawab pertanyaan kalian secara menyeluruh, mungkin catatan saya bisa membantu untuk latihan, dan memahami bagaimana dalam membantu belajar PHP dan MySQL.
Kenapa PHP-MySQL..?Beberapa keistimewaan PHP :
  1. Cepat
  2. Free
  3. Mudah dipelajari
  4. Multi-platform
  5. Dukungan technical-support
  6. Banyaknya komunitas PHP
  7. Aman
Beberapa kelebihan MySQL antara lain :
  1. Free (bebas didownload)
  2. Stabil dan tangguh
  3. Fleksibel dengan berbagai pemrograman
  4. Security yang baik
  5. Dukungan dari banyak komunitas
  6. Kemudahan management database.
  7. Mendukung transaksi
  8. Perkembangan software yang cukup cepat.
Download Link : Modul_PHP_MySQL.pdf

Array PHP

Array adalah sekumpulan nilai dengan tipe data yang sejenis. Array di PHP adalah tipe variabel spesial, karena dengan array kita dapat mengakses sekumpulan nilai dengan menggunakan satu nama variabel. Mekanisme pengaksesan ini diatur dalam bentuk pemetaan (mapping) dari sekumpulan nilai (values) ke sekumpulan kunci (keys) atau indeks. Sebagai contoh, variabel array $nama dapat memetakan 1, 2 dan 3 masing-masing ke "Eric S Raymond", "Richard Stallman" dan "Bruce Perens", sehingga dapat dinyatakan sebagai berikut:
$nama[1] = "Eric S Raymond"  ;
$nama[2] = "Richard Stallman" ;
$nama[3] = "Bruce Perens" ;
dari contoh di atas dapat dilihat ekspresi 1, 2, dan 3 adalah indeks, sedangkan "Eric S Raymond", "Richard Stallman" dan "Bruce Perens" adalah nilai dari variabel-variabel tersebut.

Insialisasi Array
Untuk menginisialisasi sebuah array digunakan fungsi array(). Data nama di atas misalnya dapat dibuat sebagai array dengan:
$nama=array("Eric S Raymond", "Richard Stallman", "Bruce Perens") ;
//dengan perintah di atas akan menginisilisasi $nama dengan:

$nama[0] = "Eric S Raymond" 
$nama[1] = "Richard Stallman" 
$nama[2] = "Bruce Perens"
Cara lain adalah sebagai berikut:
$nama=array(0=>"Eric S Raymond", 1=>"Richard Stallman", 2=>"Bruce Perens") ;
dengan cara ini kita dapat menentukan nilai indeks sesuai dengan keinginan kita, misalkan:
$nama=array(0=>"Eric S Raymond", 1=>"Richard Stallman", 3=>"Bruce Perens") ;
//hasil dari inisialisasi $nama adalah:
$nama[0] = "Eric S Raymond"
$nama[1] = "Richard Stallman"
$nama[3] = "Bruce Perens"
Array Assosiatif

Array dengan indeks berupa angka seperti $nama di atas disebut juga dengan number-indexed array. Disebut demikian karena ada array jenis lain yang memiliki indeks bukan angka melainkan string yang disebut dengan string-indexed array atau lebih dikenal dengan array asosiatif atau hash.

$hacker = array("pertama" => "Eric S Raymond",
                 "kedua" => "Richard Stallman",
                 "ketiga" => "Rasmus Lerdorf",
                 "keempat" => "Bruce Perens" );

Array asosiatif dapat diakses secara langsung menggunakan ekspresi seperti $nama['pertama'], dimana pertama adalah indeksnya (yang berupa string). Sehingga $nama['pertama'] akan bernilai "Eric S Raymond" dan seterusnya.
Catatan:

Pemilihan kutip tunggal ('..') atau kutip ganda ("..") pada indeks array asosiatif adalah semata-mata pertimbangan kecepatan. Walaupun keduanya sama-sama valid, namun sebagaimana dijelaskan pada tutorial sebelumnya, tanda kutip ganda akan membuat PHP mencari variabel di dalam kutip ganda tersebut (dengan mendeteksi tanda $) untuk diganti dengan nilai sebenarnya yang membuat eksekusi lebih lambat. Oleh karena itu, saya hanya akan menggunakan kutip tunggal untuk indeks dari array asosiatif.

Membuat Shopping Chart::. Toko Buku Online

Ini adalah study case PHP dan MYSQL, tentang bagaimana membuat keranjang belanja. Meski bukan file asli buatan sendiri (jujur nich) hasil browsing dari ilmukomputer.com semoga bermanfaat. Jangan lupa cari referensi tentang sintax-sintax'nya bisa di php.net atau di w3schools.com atau di situs-situs yang lain tanya ajalah sama mbahnya... mbah Google.com.

Gambar 1: Tampilan Beranda


PHP-Mengenal alat Input bag-4 (Checkbox)

Contoh penggunaan checkbox:
<html>
<head>
<title>Mengenal Input: Checkbox</title>
</head>
<body>
<form name="form1" method="get">
Pilih Vendor :
<label><input type="checkbox" name="chkAsus" value="Asus">Asus</label>
<label><input type="checkbox" name="chkAcer" value="Acer">Acer</label>
<label><input type="checkbox" name="chkAxioo" value="Axioo">Axioo</label>
<input type="submit" name="btnSubmit" value="Submit">
</form>
</body>
</html>

<?php
/*-------------------------------------------------
Hasil dari Inputan, Gunakan Fungsi IF
---------------------------------------------------*/  
if(isset($_GET['chkAsus'])){
    $chk .= $_GET['chkAsus'].", ";
}
if(isset($_GET['chkAcer'])){
    $chk .= $_GET['chkAcer'].", ";
}
if(isset($_GET['chkAxioo'])){
    $chk .= $_GET['chkAxioo'];
}

    echo "<hr>Vendor yang kamu pilih adalah <b>".$chk."</b>";
?>
Hasil:
Gambar : Inputan menggunakan Checkbox

PHP-Mengenal alat Input bag-3 (Radiobutton)

Contoh penggunaan Inputan Radio button:
<html>
<head>
<title>Mengenal Input: Combo</title>
</head>
<body>
<form name="form1" method="get">
Pilih Vendor :
<input type="radio" name="optVendor" value="Asus">Asus
<input type="radio" name="optVendor" value="Acer">Acer
<input type="radio" name="optVendor" value="Axioo">Axioo
<input type="submit" name="btnSubmit" value="Submit">
</form>
</body>
</html>

<?php
/*-------------------------------------------------
Hasil dari Inputan
---------------------------------------------------*/   
    echo "<hr>Vendor yang kamu pilih adalah <b>".$_GET['optVendor']."</b>";
?>
 Hasil:
Gambar: Inputan menggunakan Radio button

PHP-Mengenal alat Input bag-2 (Combo dan List)

Combo/List digunakan jika sudah terdapat daftar yang digunakan sebagai inputan contoh: misalkan Daftar Vendor : Asus, Acer, Lenovo, dan Axioo.
Contoh 1: Combo
<html>
<head>
<title>Mengenal Input: Combo</title>
</head>
<body>
<form name="form1" method="get">
Pilih Vendor : <select name="cmbVendor">
<option value="Asus">Asus</option>
<option value="Acer">Acer</option>
<option value="Lenovo">Lenovo</option>
<option value="Axioo">Axioo</option>
</select>
<input type="submit" name="btnSubmit" value="Submit">
</form>
</body>
</html>

<?php
/*-------------------------------------------------
Hasil dari Inputan
---------------------------------------------------*/   
    echo "<hr>Vendor yang kamu pilih adalah <b>".$_GET['cmbVendor']."</b>";
?>
Hasil:
Gambar 1 : Hasil Input menggunakan Combobox

PHP-Mengenal alat Input dan cara kerjanya pada Form

Untuk memproses data tentu terlebih dahulu ada data yang dimasukkan sebelum menjadi keluaran tanpa adanya masukkan bagaimana sebuah output akan dihasilkan. Sama halnya dengan program visual terdapat alat input yang terdapat pada <tag> html, yaitu:
  1. Textbox | <input type="text" name="txtName">
  2. Combobox  dan Listbox | <select name="cmbName"></Select>
  3. RadioButton, dan | <input type="radio" name="rdoName">
  4. Checkbox | <input type="checkbox" name="chkName">
Contoh 1: Textbox
<html>
<head>
<title>Mengenal Input: Text</title>
</head>
<body>
<form name="form1" method="get">
Masukan Nama :<input type="text" name="txtInput" size="20">
<input type="submit" name="btnSubmit" value="Submit">
</form>
</body>
</html>

<?php
/*-------------------------------------------------
Hasil dari Inputan
---------------------------------------------------*/   
echo "<hr>Nama Anda adalah ".$_GET['txtInput'];
?>
Hasil:  
Gambar 1: Input Text
Gambar 2: Setelah Submit (proses)

Latihan Sederhana PHP dan MYSQL

Persiapan Awal yang harus dilakukan buatlah database di mysql, bisa menggunakan phpmyadmin atau melalui command promt terserah anda...
Nama Database: toko_qu
Nama Tabel : barang
Design Table: barang
Nama File : barang.php

PHP-Penggunaan Radio Button dan Checkbox

1. Nama File : Radio_n_Checked.php
    Fungsi :Sebagai tampilan Form Inputan
<html>
<head>
<title> Penggunaan CheckBox dan Radio Button</title>
</head>
<body>
<form action="proses_radio_n_check.php" method="post">
<table border="1" align="center" cellpadding="2" cellspacing="2">
<caption>Penggunaan Check Box dan Radio Button</caption>
<tr><td>Pilihan Anda:</td>
    <td><input type="radio" value="Nomor 1" name="rPil">Nomor 1<br>
        <input type="radio" value="Nomor 2" name="rPil">Nomor 2<br>
        <input type="radio" value="Nomor 3" name="rPil">Nomor 3<br></td>
</tr>
<tr><td>Anda bisa pilih lebih dari satu:</td>
    <td><input type="checkbox" value="Nomor 1" name="chPil1">Nomor 1<br>
        <input type="checkbox" value="Nomor 2" name="chPil2">Nomor 2<br>
        <input type="checkbox" value="Nomor 3" name="chPil3">Nomor 3<br></td>   
</tr>
<tr><td colspan="2"><input type="submit" value="Proses" name="proses">
                    <input type="reset" value="Batal" name="batal"></td>
</tr>       
</table></form>
</body>
</html>

PHP-Fungsi String substr()

Fungsi substr() adalah fungsi yang digunakan untuk memotong atau mengambil teks atau character dari sebuah string.
Struktur:

substr(string $string, int  $start[, int $length])
Jika dimulai dengan memberikan nilai negative pada $start, maka pengambilan string di mulai dari kanan (akhir dari string). Perhatikan contoh di bawah ini.

Contoh 1: Menggunakan nilai negative untuk $start
<?php
$rest 
substr("abcdef", -1);echo $rest;    //hasil "f" 

$rest = substr("abcdef", -2);echo $rest;    //hasil "ef" 
$rest = substr("abcdef", -3, 1);echo $rest; //hasil "d" ?>
Jika memberikan nilai 0 atau nilai positive pada $start, maka pengambilan string dimulai dari awal string (sebelah kiri).

Contoh 2: Menggunakan nilai positive untuk $start
<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f
?>
Catatan: nilai string awal (dari kiri) adalah 0, sedangkan jika dari kanan (akhir string) adalah -1.

Latihan Fungsi IF dan Switch

Untuk mengasah kemampuan, tentu saja harus banyak-banyak latihan. Misalkan ada sebuah tampilan seperti di bawah ini (Lihat: Gambar 1).
Gambar 1: Form Inputan

Kemudian jika diklik simpan maka data akan diproses (tidak menggunakan database), lihat gambar dibawah ini:
Gambar 2: Hasil Proses

PHP-Fungsi Date()

Sintax: date(format[,timestamp])
pada sintax di atas penggunaan timestamp berupa optional(bisa dihilangkan/tidak digunakan).
<?
echo "Tanggal Hari ini: ".date('d');
echo "<br>Bulan ini: ".date('m');
echo "<br>Tahun ini: ".date('y');

$d=date('w');
switch($d){
case 0: $hari="Minggu";break;
case 1: $hari="Senin";break;
case 2: $hari="Selasa";break;
case 3: $hari="Rabu";break;
case 4: $hari="Kamis";break;
case 5: $hari="Jum'at";break;
case 6: $hari="Sabtu";break;
}
echo "<br>Jadi Hari ini adalah hari: ".$hari.", ".date('d F Y');
?>

Penggunaan Kondisi IF Else dan Switch(Bag-3)

Pernyataan Switch tidak terlalu berbeda dengan pernyataan IF, misalkan: jika kita ingin mendapatkan sebuah/beberapa nilai yang membandingkan variabel yang sama dengan nilai yang berbeda dimana nilai tersebut bergantung pada nilai yang sama dengan. Lihat perbedaan antara penggunaan IF dan Switch.
<?php
/*---------------------------------------
Jika perintah menggunakan pernyataan IF
-----------------------------------------*/
if ($i == 0)
   echo "i sama dengan 0";
elseif ($i == 1)
   echo "i sama dengan 1";
elseif ($i == 2)
   echo "i sama dengan 2";

/*---------------------------------------
Jika perintah menggunakan pernyataan Switch
-----------------------------------------*/
switch ($i){
case 0:
          echo "i sama dengan 0";
          break;
case 1:
          echo "i sama dengan 1";
          break;

case 2:
          echo "i sama dengan 2";
          break;
}
?>
Penting untuk diketahui bahwa perintah switch menjalankan perintahnya baris demi baris (pernyataan demi pernyataan). Ketika sebuah kondisi ditemukan dengan nilai yang sesuai dengan nilai yang ada pada kondisi Switch, maka pernyataan akan dijalankan terus menerus sampai akhir block switch atau sampai perintah break ditemukan.

Penggunaan Kondisi IF Else dan Switch(Bag-2)

Next dari materi sebelumnya, bagaimana jika terdapat dua kondisi atau lebih untuk mendapatkan pernyataan yang bernilai TRUE. Misalkan untuk mendapatkan grade 'A' range nilai yang dibutuhkan adalah >80-100, jadi untuk mendapatkan grade A nilai yang diperlukan adalah lebih besar dari 80 dan kurang/sama dengan 100.

Penyelesaian:
Terdapat dua buah kondisi dimana Nilai($n) > 80 dan $n<=100.
<?
$n=87;
if ($n>80){
    if($n<=100){
       echo "Anda mendapat Grade A";
    }
}
?>

Hasil yang akan ditampilkan adalah:
Anda mendapat Grade A
Contoh diatas jika kita menggunakan "nested if", untuk lebih mempermudah kita dapat menggunakan operator logika yaitu AND (&&), atau OR (||).
<?
$n=87;
if ($n>80 && $n<=100){
echo "Anda mendapat Grade A";
}
?>
//hasil yang akan ditampilkan sama seperti diatas.

Penggunaan Kondisi IF Else dan Switch(Bag-1)

Perintah IF digunakan untuk melakukan pengecekan sebuah atau beberapa kondisi sehingga bernilai Boolean(TRUE/FALSE). Jika pernyataan/kondisi bernilai benar maka akan dilakukan eksekusi perintah(statement) bernilai TRUE, dan jika pernyataan/kondisi bernilai salah maka akan dilakukan eksekusi perintah(statement) bernilai FALSE. 

Untuk mengetahui sebuah kondisi bernilai TRUE/FALSE diperlukan operator perbandingan yang diantaranya, sebagai berikut:

>(Lebih besar)
<(Lebih kecil)
>=(Lebih besar sama dengan)
<=(Lebih kecil sama dengan)
==(Sama dengan)
<>/!=(Tidak sama dengan)
Tabel: Operator Perbandingan

Struktur IF
if (kondisi) {
Statement_kondisi_TRUE;
}

PHP~MySQL Function

PHP MySQL Functions

PHP: indicates the earliest version of PHP that supports the function.
Function Description PHP
mysql_affected_rows() Returns the number of affected rows in the previous MySQL operation 3
mysql_change_user() Deprecated. Changes the user of the current MySQL connection 3
mysql_client_encoding() Returns the name of the character set for the current connection 4
mysql_close() Closes a non-persistent MySQL connection 3
mysql_connect() Opens a non-persistent MySQL connection 3
mysql_create_db() Deprecated. Creates a new MySQL database. Use mysql_query() instead 3
mysql_data_seek() Moves the record pointer 3
mysql_db_name() Returns a database name from a call to mysql_list_dbs() 3
mysql_db_query() Deprecated. Sends a MySQL query. Use mysql_select_db() and mysql_query() instead 3
mysql_drop_db() Deprecated. Deletes a MySQL database. Use mysql_query() instead 3
mysql_errno() Returns the error number of the last MySQL operation 3
mysql_error() Returns the error description of the last MySQL operation 3
mysql_escape_string() Deprecated. Escapes a string for use in a mysql_query. Use mysql_real_escape_string() instead 4
mysql_fetch_array() Returns a row from a recordset as an associative array and/or a numeric array 3
mysql_fetch_assoc() Returns a row from a recordset as an associative array 4
mysql_fetch_field() Returns column info from a recordset as an object 3
mysql_fetch_lengths() Returns the length of the contents of each field in a result row 3
mysql_fetch_object() Returns a row from a recordset as an object 3
mysql_fetch_row() Returns a row from a recordset as a numeric array 3
mysql_field_flags() Returns the flags associated with a field in a recordset 3
mysql_field_len() Returns the maximum length of a field in a recordset 3
mysql_field_name() Returns the name of a field in a recordset 3
mysql_field_seek() Moves the result pointer to a specified field 3
mysql_field_table() Returns the name of the table the specified field is in 3
mysql_field_type() Returns the type of a field in a recordset 3
mysql_free_result() Free result memory 3
mysql_get_client_info() Returns MySQL client info 4
mysql_get_host_info() Returns MySQL host info 4
mysql_get_proto_info() Returns MySQL protocol info 4
mysql_get_server_info() Returns MySQL server info 4
mysql_info() Returns information about the last query 4
mysql_insert_id() Returns the AUTO_INCREMENT ID generated from the previous INSERT operation 3
mysql_list_dbs() Lists available databases on a MySQL server 3
mysql_list_fields() Deprecated. Lists MySQL table fields. Use mysql_query() instead 3
mysql_list_processes() Lists MySQL processes 4
mysql_list_tables() Deprecated. Lists tables in a MySQL database. Use mysql_query() instead 3
mysql_num_fields() Returns the number of fields in a recordset 3
mysql_num_rows() Returns the number of rows in a recordset 3
mysql_pconnect() Opens a persistent MySQL connection 3
mysql_ping() Pings a server connection or reconnects if there is no connection 4
mysql_query() Executes a query on a MySQL database 3
mysql_real_escape_string() Escapes a string for use in SQL statements 4
mysql_result() Returns the value of a field in a recordset 3
mysql_select_db() Sets the active MySQL database 3
mysql_stat() Returns the current system status of the MySQL server 4
mysql_tablename() Deprecated. Returns the table name of field. Use mysql_query() instead 3
mysql_thread_id() Returns the current thread ID 4
mysql_unbuffered_query() Executes a query on a MySQL database (without fetching / buffering the result) 4


Sejarah Google

Awal terbentuknya Google bisa dibilang secara kebetulan pada bulan Januari 1996 dua mahasiswa Doktor di Universitas Stanford, California, bernama Larry Page dan Sergey Brin melakukan penelitian mengenai mesin pencari yang menganalisa hubungan antar website.

PHP-Menggunakan Checkbox dan Array

Jika anda menyediakan beberapa pilihan untuk pengunjung dan mereka dapat memilih beberapa pilihan atau semua pilihan yang tersedia maka anda harus menggunakan "Checkbox" dibandingkan dengan "Radiobutton".
Gambar: Checkbox~digunakan agar pengguna dapat memilih beberapa pilihan
Code:
<?php
if (isset($_POST['submit'])){
$box=$_POST['hobi'];
while (list ($key,$val)=each($box)){
    echo "$val,";
    }
}
?>

<html>
<head><title>Check Box</title></head>
<body>
<form method='post' name='checkbox'>
<?php
echo "<input type=checkbox name=hobi[] value='Soccer' $st>Soccer
      <input type=checkbox name=hobi[] value='Basket Ball' $st>Basket Ball
      <input type=checkbox name=hobi[] value='Valley Ball' $st>Valley Ball";   
?>
<input type="submit" name="submit" value="Save">
</form>
</body>
</html>
Gambar: Hasil pilihan menggunakan Checkbox

Download Antivirus Smadav 2011 Rev. 8.5


Smadav 2011 Rev. 8.5 : Smadav-Updater, Fitur update database tiap minggu (online/offline), Pendeteksian khusus untuk virus Ramnit.shortcut, Fitur baru : "Forgot Password" untuk Smadav Pro, Fitur baru : "Berita Terkini Smadav", dsb.




Download Link:

Bagaimana Proses Alur Transaksi pada MYOB

Gambar Proses Alur MYOB

Latihan Myob Perusahaan Dagang

Untuk teman-teman yang lagi sibuk belajar MYOB saya kasih link untuk download Study Case MYOB Perusahaan Dagang PT. Fadali Furnitur
Download Link:
untuk lebih banyak lagi study case MYOB/Accurate bisa ke link ini:
http://ilubis.wordpress.com/soal-penyelesaian-akuntansi-komputer/

PHP-Date Validation

Setelah posting sebelumnya tentang bagaimana melakukan validasi pada email kita berlanjut dengan melakukan validasi pada tanggal "Bagaimana melakukan validasi pada tanggal?", ini menjadi penting karena tidak tiap bulan memiliki jumlah tanggal yang sama bulan Februari misalnya hanya berjumlah 28/29 saja.
$m=”11”;
$d=”31”;
$y=”05”;
If(!checkdate($m,$d,$y)){
echo “invalid date”;
}else {
echo “Entry date is correct “;
}
// Ket: $m = bulan, $d = tanggal $y = tahun
 melakukan validasi dengan menggunakan split function.
<?php
// Delimiters may be slash, dot, or hyphen
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
If(!checkdate($month,$day,$year)){
echo "invalid date";
}else {
echo "Entry date is correct";
}
?>
Gambar 1: Form~Check Date Validation

PHP-Email Form Validation

Saat membuat sebuah form untuk register biasanya kita membutuhkan suatu pemeriksaan pada text yang diinput apakah kata/kalimat yang dimasukkan sudah benar(valid) atau tidak (invalid), contohnya adalah saat memasukkan email. Berikut ini adalah contoh bagaimana melakukan validasi email dengan php.
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)){
echo "<center>Invalid email</center>";
}else{
echo "<center>Valid Email</center>";}
Bagian script di atas adalah contoh untuk melakukan validasi terhadap email, sekarang ketikan script dibawah untuk contoh aplikasinya.
Gambar: Form-Email validation

Boyce-Codd Normal Form (BCNF)

Sebuah relasi dalam  bentuk Boyce-Codd Normal Form (BCNF) jika dan hanya jika setiap determinan adalah candidate key. Boyce-Codd Normal Form adalah tipe khusus dari bentuk normal ketiga. Sebuah relasi dalam BCNF adalah juga bentuk dalam 3NF, tetapi relasi dalam 3NF mungkin tidak dalam BCNF.

For Example: Sebuah Mobil memiliki attribute seperti license number, engine number, color, make, type (2-door, 4-door), dan description (minivan, pickup, 4×4, sedan). Baik License Number dan Engine Number cukup unik untuk menjadikan candidate key.

Gambar 1: Boyce-Codd Normal Form
Relasi ini dapat dinyatakan sebagai Boyce-Codd Normal Form dengan memecahkan menjadi 2 (dua) kelompok (Lihat: Gambar 1). Kelompok pertama terdapat kedua kunci candidate, yaitu: License Number dan Engine Number. Sedangkan kelompok kedua terdapat Engine Number dan semua attribute lainnya.
Note: Perhatikan bahwa masing-masing kelompok memiliki sebuah candidate key.

Next Step: Third Normal Form/Bentuk Normalisasi Ketiga

Abis satu, dualah pastinya nah kalo abis dua!!! ya, Tiga lah. So, sekarang kita bahas tentang bentuk normalisasi ketiga, semoga bentuk normal pertama dan kedua udah pada paham. Amin, yaa Rabb!

Bentuk Normalisasi Ketiga/Third Normal Form(3NF)
Untuk mencapai bentuk normal ketiga (3NF), seluruh ketergantungan transitive harus dihilangkan dari bentuk normal kedua (2NF). Jadi, bentuk normal ketiga dapat dicapai jika struktur sudah dalam bentuk normal kedua. Ketergantungan Transitive terjadi bila attribute non-key bergantung/ditentukan oleh key dan oleh attribute lain yang bukan key. Contoh: perhatikan Gambar 1 di bawah, lihat pada entity pertama Sales, Customer Name dan Customer Address keduanya bergantung pada Invoice Number (Key), tapi kedua attribute tersebut juga bergantung pada Customer Code yang ternyata juga bergantung pada Invoice Number.

Gambar 1: Data Sales dalam Bentuk Normal Kedua (2NF)

Next Step: Second Normal Form/Bentuk Normalisasi Kedua

Melanjutkan postingan sebelumnya, sekarang kita berlanjut pada bentuk dari  normalisasi kedua. Lihat kembali bentuk normalisasi kesatu/1NF.

Bentuk Normalisasi Kedua (Second Normal Form/2NF)
Jika struktur data masih pada bentuk normalisasi pertama tentu masih banyak kelemahan diantaranya adalah masalah pemeliharaan jika satu atau lebih elemen data bergantung pada sebagian dari kunci (ketergantungan parsial). Untuk mengkonversi data dari bentuk normal pertama ke dalam bentuk normal kedua, khususnya pada record-record dengan penggabungan kunci. Pemeriksaan atribute bukan kunci apakah atribute tersebut bergantung penuh pada key-nya dan memindahkan atribute ke sebuah entitas baru yang bergantung pada hanya sebagian key (memindahkan atribute yang memiliki ketergantungan parsial).

For Example:
Gambar 1: Contoh Tabel (Bentuk Normal Pertama)
Dari tabel (entity) di atas Inventory memiliki single-attribute key: Stock Number, sehingga sudah dalam bentuk normal kedua. Namun pada tabel kedua (Supplier) memiliki penggabungan key (Stock Number dan Supplier Code).

Tahapan-Tahapan Normalisasi

Posting ini ditujukan buat teman2 yang lagi sibuk nich untuk Tugas Akhir di kuliahnya mudah-mudahan dapat membantu dalam penyelesaian masalah terutama bagaimana me-normalisasi-kan sebuah tabel.

Misalkan saya memiliki tabel seperti dibawah ini
Gambar 1: Tabel Sales (Sebelum Normalisasi)
Bentuk Normal Pertama (First Normal Form/1NF)
Langkah pertama dalam membentuk dasar struktur data ke dalam bentuk normal pertama dengan menghapus set elemen data yang berulang. Data dalam bentuk normal pertama digambarkan sebagai satu atau lebih flat file dua dimensi yang menyerupai spreadsheet sederhana. Setiap kolom memiliki satu atribut dan setiap baris memegang kejadian tunggal dari entitas.

Simbol-simbol Data Flow Diagram

Data Flow Diagram atau Diagram Alir Data adalah representasi dari suatu sistem pada setiap tingkatan levelnya digambarkan oleh jaringan grafis simbol yang menunjukan aliran data, simpanan data, proses data, sumber data/tujuan.

Gambar: Simbol-simbol DFD

Menggunakan ListView untuk menampilkan Data pada VB 6

Gambar 1.0
Penggunaan listview sebagai pengganti dari datagrid, ini adalah contoh program dari postingan yang sebelumnya. Hasil dari tampilan tersebut seperti terlihat di gambar 1.0.
Untuk membuat tampilan tersebut apa saja yang harus kita siapkan:

  • Buatlah database dengan menggunakan Access disini saya menggunakan Access 2010 tapi saat membuat jangan lupa ubah file type menjadi format 2000-2003, nama database adalah db1.mdb
  • Ciptakan Tabel Baru dengan nama: employee

FieldName
Type
EmpNo*
Number/Integer
EmpName
Text(30)
Phone
Text(150
HireDate
DateTime
Jangan Lupa untuk mengisi Tabel tersebut terserah Anda.

e-book~Beginning PHP and MySQL: From Novice to Professional, Third Edition

Book Description
Beginning PHP and MySQL: From Novice to Professional, Third Edition offers a comprehensive introduction to two of the most prominent open source technologies on the planet: the PHP scripting language and the MySQL database server. Updated to introduce the features found in MySQLs most significant release to date, readers learn how to take advantage of the latest features of both technologies to build powerful, manageable, and stable web applications.
Essentially three books in one, readers not only profit from extensive introductions to the core features of each technology, but also learn how to effectively integrate the two in order to build robust data-driven applications. Packed with practical examples and insight into the real-world challenges faced by developers based on author W. Jason Gilmore’s 7 years of expertise working with these technologies, readers will repeatedly return to this book as both a valuable instructional tool and reference guide.

Tips Aman menyimpan Dokumen Penting

Bagaimana menyimpan dokumen secara  aman? Ada beberapa aplikasi untuk menyimpan dokumen secara aman misalnya dengan memberi password pada folder dengan folder lock atau aplikasi yang sejenis. Bagaimana jika tiba-tiba komputer terserang virus atau terjadi kerusakan pada system hingga harus di install ulang OS anda. "Duh, udeh jatuh ketiban tangga ke urug pasir lagi!! kasian banget tuh orang", tentu saja banyak solusi untuk mengatasi hal tersebut, di antaranya:

GMail Drive


GMail Drive-Create virtual filesystem on your Computer

GMail Drive creates a virtual filesystem around your Google Mail account, allowing you to use Gmail as a storage medium.
GMail Drive creates a virtual filesystem on top of your Google Gmail account and enables you to save and retrieve files stored on your Gmail account directly from inside Windows Explorer. GMail Drive literally adds a new drive to your computer under the My Computer folder, where you can create new folders, copy and drag'n'drop files to it.
Ever since Google started to offer users a Gmail e-mail account, which includes storage space of 6000 megabytes, you have had plenty of storage space but not a lot to fill it up with. With GMail Drive you can easily copy files to your Google Mail Account and retrieve them again.
When you create a new file using GMail Drive, it generates an e-mail and posts it to your account. The e-mail appears in your normal Inbox folder, and the file is attached as an e-mail attachment. GMail Drive periodically checks your mail account (using the Gmail search function) to see if new files have arrived and to rebuild the directory structures. But basically GMail Drive acts as any other hard-drive installed on your computer.

phpMyAdmin 3.4.1

phpMyAdmin is a free software tool written in PHP intended to handle the administration of MySQL over the World Wide Web. phpMyAdmin supports a wide range of operations with MySQL.
  • Support for most MySQL features
  • Browse and drop databases, tables, views, fields and indexes.
  • Create, copy, drop, rename and alter databases, tables, fields and indexes.
  • Maintenance server, databases and tables, with proposals on server configuration.
  • Execute, edit and bookmark any SQL-statement, even batch-queries.
  • Manage MySQL users and privileges.
  • Manage stored procedures and triggers.
  • Import data from CSV and SQL.
  • Export data to various formats: CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument Text and Spreadsheet, Word, Excel, LATEX and others.

Contoh Proses Normalisasi pada Tabel

Berikut ini adalah contoh dari normalisasi:

Unnormal

NIM
Nama
Mata Kuliah
Nilai
111
Me
Struktur Data
A
Sistem Basis Data
A
112
You
B
                                                                                                                               
Functional Depedency(Ketergantungan Fungsional)
NIM-->Nama (Nama Bergantung pada NIM)
Mata Kuliah, NIM-->Nilai (Nilai bergantung pada Mata Kuliah dan NIM)

Normal Pertama

NIM
Nama
Mata Kuliah
Nilai
111
Me
Sistem Basis Data
A
111
Me
Struktur Data
A
112
You
Sistem Basis Data
B
Field:
NIM
Nama
Mata Kuliah
Nilai

Normalisasi

Proses memecah tabel tunggal menjadi beberapata tabel yang saling berhubungan disebut normalisasi. Atau juga Normalisasi adalah suatu proses untuk mengubah suatu tabel yang memiliki  masalah tertentu  ke dalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2002: 52). Masalah tersebut biasanya merupakan suatu ketidakkonsistenan (tidak normal) apabila dilakukan penghapusan (delete), pengubahan (update) dan pembacaan (retrieve) pada suatu basis data. 
sumber: http://blog.re.or.id/normalisasi.htm

Ada beberapa level dalam normalisasi, dan tidak ada aturan baku dalam menentukannya. Dalam menentukan setiap levelnya ada aturan yang dikenakan pada tabel-tabel dalam basisdata.

Download Book Visual Basic 2010

Book Description
Whether you’re new to Visual Basic or you’re upgrading to VB 2010 from an earlier version, this new edition of Murach’s core VB book shows you how to develop the kind of bullet-proof Windows Forms applications that businesses rely on. Along the way, you’ll learn how to quickly build database applications by using RAD features like data sources and the DataGridView control. You’ll learn how to use object-oriented features like inheritance and interfaces as well as 2010 features like auto-implemented properties and collection initializers. You’ll learn how to use LINQ to query data and XML to exchange data between applications. You’ll learn how to take advantage of all the productivity features of Visual Studio 2010. When you re done, you’ll be able to develop Windows Forms applications the way the best professionals develop them. That’s why we say: No other book teaches you so much, so fast, or so thoroughly.

Now, Anne Boehm continues this tradition of quality and usefulness in the latest edition of our VB text, written for Visual Basic 2010.

So if you’re new to VB development…or if you’re upgrading to VB 2010 and are looking for an up-to-date reference…you’ll find that this book is packed with the information you need, delivered in a way that’s made earlier editions such favorites among professional developers:

Download E-Book for Student - SD s/d SMA/SMK

Mungkin link ini dapat membantu buat teman semua yang punya adik atau anak yang masih sekolah SD, SMP, SMA, atau SMK (berbagai jurusan) atau anda sendiri, dengan adanya buku elektronik (E-book) bisa mengurangi beban buat anda-anda semua.

Anda bisa Download E-book di link:
www.invir.com/ E-book yang ada bersumber langsung dari bse.depdiknas.go.id/

Membuat Koneksi ke Database dengan ADO di Visual Basic 6

Ada beberapa cara untuk membuat koneksi ke database dengan visual basic 6.0

Persiapan awal-Buat Module untuk membuat procedure buka koneksi:
Pilih -Menu Project -Add Module

Contoh-1:
Membuat koneksi untuk database Access.
Option Explicit
Public Conn as ADODB.Connection

Public Sub BukuDatabase()
Dim st As String
Set conn = New ADODB.Connection
st = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=C:\Directory\Nama_DB.mdb"
conn.Open st
End Sub
Note:
untuk mempermudah koneksi agar dapat menyesuaikan tempat directory/folder database anda harus menyimpan database satu directory denga Project yang anda buat. Ubah coding pada variabel "st"
st = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source= " & App.Path & "\Nama_DB.mdb"

How to Share Internet Connection on Windows 7 with Virtual Wifi

Gimana Sharing Internet Connection, yang sinyal WiFi-nya gak nyampe???, caranya dengan bermodal laptop/netbook yang penting OS yang digunakan Windows 7.

Dengan menggunakan fasilitas Virtual WiFi kita dapat membagi koneksi internet kita dengan perangkat lain seperti desktop, laptop, ponsel, dan iPod, dll. Jadi, nantinya perangkat lain dapat mengakses jaringan kita seperti di hostspot atau dalam artian kita dapat memiliki hotspot pribadi.

Cara untuk membuat Virtual WiFi dapat kita lakukan dari Command Prompt, dan melakukan berbagai pengaturan koneksi internet dari control panel. Berikut langkah-langkah yang dapat kita lakukan untuk membagi akses internet kita menggunakan WLAN (Wireless LAN). Untuk membagi akses internet ini kita tidak perlu menggunakan software tambahan, cukup melakukan pengaturan pada Windows 7 kita.

Membuat Aplikasi Buku Tamu (Simple Case for Practice PHP and MySQL)

Setelah yang lalu posting buat aplikasi berita, kayaknya agak terlalu sulit. Jadi, sekarang kita buat dulu yang lebih gampang/sederhana yaitu aplikasi Buku Tamu.

Step-1:
Buat Database dengan nama: BukuTamu_db
CREATE DATABASE BukuTamu_db;
Step-2:
Buat Tabel dengan nama: bukutamu
CREATE TABLE bukutamu (
id int(3) not null auto_increment primary key,
nama varchar(30) not null default 'noname',
email varchar(60) default '-',
komentar text );
OK, setelah persiapan database dan tabel untuk menyimpan data sekarang saatnya untuk design tampilannya di PHP.

Using PHP Include File to Saves a Lot of Work

SSI(Server Side Include)
You can insert the content of one PHP file into another PHP file before the server executes it, with the include() or require() function.
The two functions are identical in every way, except how they handle errors:
  • include() generates a warning, but the script will continue execution
  • require() generates a fatal error, and the script will stop
These two functions are used to create functions, headers, footers, or elements that will be reused on multiple pages.
Server side includes saves a lot of work. This means that you can create a standard header, footer, or menu file for all your web pages. When the header needs to be updated, you can only update the include file, or when you add a new page to your site, you can simply change the menu file (instead of updating the links on all your web pages).

PHP Include() Function 
The include() function takes all the content in a specified file and includes it in the current file.
If an error occurs, the include() function generates a warning, but the script will continue execution.

PHP Require() Function 
The require() function is identical to include(), except that it handles errors differently.
If an error occurs, the include() function generates a warning, but the script will continue execution. The require() generates a fatal error, and the script will stop.

If you want to see example this case, Click here

Enkripsi (Encryption) dengan md5 di PHP

encryption is the process of transforming information (referred to as plaintext) using an algorithm (called cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information (in cryptography, referred to as ciphertext).

Gambar: enkripsi.php

Membuat Form Login dengan md5 di PHP

Untuk melengkapi dari latihan sebelumnya "Aplikasi Berita dengan PHP dan MySQL", sekarang kita akan menambahkan autentifikasi user alias membuat batasan siapa aja yang bisa masuk untuk akses.

Step-1:
Tambahkan tabel ke dalam database yang sudah ada dengan nama: logins 
CREATE TABLE Logins (
ID mediumint not null auto_increment,
username varchar(30) not null,
pass varchar(64) not null defatult 'password',
primary key(ID));
Step-2:
Membuat File untuk Register User.
Nama File : register.php
Deskripsi  : untuk menambahkan user baru.
<?
include "koneksi.php";

if (isset($_POST['submit'])){
    if($_POST['username'] | !$_POST['passwd1'] | !$_POST['passwd2']){
        die("Anda tidak melengkapi semua field");
        }
    if (!get_magic_quotes_gpc()){
        $username=addslashes($_POST['username']);
        $passwd1=addslashes($_POST['passwd1']);
        }
//memeriksa username jika terjadi kesamaan nama user       
    $usercheck=$_POST['username'];
    $sql=mysql_query("SELECT username FROM logins WHERE username='".$usercheck."'")or die(mysql_error());
    $check=mysql_num_rows($sql);
   
    if ($check !=0){
        die("<b>MAAF, username : ".$_POST['username']." sudah digunakan</b>");
        }else if($_POST['passwd1'] != $_POST['passwd2']){
        die("Password Anda tidak sama, <b>Confirm Password</b>.");
        }
    //menambahkan user baru   
        $enkrip_pass=md5($passwd1);
        $query="INSERT INTO logins(username, pass) VALUES('$username','$enkrip_pass')";
        $sql=mysql_query($query)or die(mysql_error());
?>
<h1>Registered</h1>
<p>Thank you, you have registered - you may now login.
Click <a href="login.php">here</a> for Login</p>
<?
}else{
?>
<form action="" method="post" name="Register">
<table border="0">
<tr><td>Username </td><td> <input type="text" name="username" maxlength="60" size="60"></td></tr>
<tr><td>Password </td><td> <input type="password" name="passwd1" maxlength="10" size="10"></td></tr>
<tr><td>Confirm Password </td><td> <input type="password" name="passwd2" maxlength="10" size="10"></td></tr>
<tr><th colspan="2"><input type="submit" name="submit" value="Register"></th></tr>
</table>
</form>
<?
}
?>

Melakukan Sorting pada ListView

Melakukan Pengurutan/Sorting Data
Next Tips, untuk melakukan sorting pada ListView. Ada dua pengurutan yang akan dilakukan secara Ascending (A-Z) atau dari nilai terkecil ke besar dan Descending (Z-A) atau dari nilai terbesar ke kecil.
  •  Melakukan Sorting secara Ascending
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As _
    MSComctlLib.ColumnHeader)
    ListView1.SortKey = ColumnHeader.Index - 1
    ListView1.Sorted = True
End Sub
  •  Untuk coding di bawah ini, jika anda meng-klik satu kali pada Column Header maka data akan diurutkan secara Ascending dan jika di klik kedua kali (bukan double klik) data akan diurutkan secara Descending
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As _
    MSComctlLib.ColumnHeader)
    ' Sort according to data in this column.
    If ListView1.Sorted And _
        ColumnHeader.Index - 1 = ListView1.SortKey Then
        ' Already sorted on this column, just invert the sort order.
        ListView1.SortOrder = 1 - ListView1.SortOrder
    Else
        ListView1.SortOrder = lvwAscending
        ListView1.SortKey = ColumnHeader.Index - 1
    End If
    ListView1.Sorted = True
End Sub
 Selamat mencoba...(don't forget share your commnet).

Menggunakan ListView sebagai pengganti DataGrid

Loading Data From Database
The ListView control can't be automatically bound to a database through Data, RemoteData, or an ADO Data control. In other words, if you want to load database data into this control you're on your own. The task of filling a ListView control with data read from a recordset isn't conceptually difficult, but you have to account for a few details. First you must retrieve the list of fields contained in the recordset and create a corresponding number of ColumnHeader objects of a suitable width. You also have to discard fields that can't be displayed in ListView controls (for example, BLOB fields), and you must determine the best alignment for each field (to the right for numbers and dates, to the left for all others). A routine that does all this, which you can easily reuse in your applications, is shown below.
Sub LoadListViewFromRecordset(LV As ListView, rs As ADODB.Recordset, _
    Optional MaxRecords As Long)
    Dim fld As ADODB.Field, alignment As Integer
    Dim recCount As Long, i As Long, fldName As String
    Dim li As ListItem
   
    ' Clear the contents of the ListView control.
    LV.ListItems.Clear
    LV.ColumnHeaders.Clear
    ' Create the ColumnHeader collection.
    For Each fld In rs.Fields
        ' Filter out undesired field types.
        Select Case fld.Type
            Case adBoolean, adCurrency, adDate, adDecimal, adDouble
                alignment = lvwColumnRight
            Case adInteger, adNumeric, adSingle, adSmallInt, adVarNumeric
                alignment = lvwColumnRight
            Case adBSTR, adChar, adVarChar, adVariant
                alignment = lvwColumnLeft
            Case Else
                alignment = -1      ' This means "Unsupported field type".
        End Select
        ' If field type is OK, create a column with the correct alignment.
        If alignment <> -1 Then
            ' The first column must be left-aligned.
            If LV.ColumnHeaders.Count = 0 Then alignment = lvwColumnLeft
            LV.ColumnHeaders.Add , , fld.Name, fld.DefinedSize * 200, _
                alignment
        End If
    Next
    ' Exit if there are no fields that can be shown.
    If LV.ColumnHeaders.Count = 0 Then Exit Sub

    ' Add all the records in the recordset.
    rs.MoveFirst
    Do Until rs.EOF
        recCount = recCount + 1
        ' Add the main ListItem object.
        fldName = LV.ColumnHeaders(1).Text
        Set li = LV.ListItems.Add(, , rs.Fields(fldName) & "")
        ' Add all subsequent ListSubItem objects.
        For i = 2 To LV.ColumnHeaders.Count
            fldName = LV.ColumnHeaders(i)
            li.ListSubItems.Add , , rs.Fields(fldName) & ""
        Next
        If recCount = MaxRecords Then Exit Do
        rs.MoveNext
    Loop
End Sub

Alexa Rank's

Follow

Powered by Blogger.
Post Comment