Oleh: Rony Syahputra Nasution | November 6, 2009

Pengenalan Singkat Index di MySQL

Indexes adalah suatu bagian yang special dari system database yang digunakan untuk peningkatan kemampuan menyeluruh dari proses yang ada.

MySQL mengijinkan antara 16 sampai 64 indexes untuk setiap table, akan tetapi ini tergantung storage engine yang digunakan.

Setiap index dapat diletakan di field (kolom) mana saja, mulai dari field 1 sampai field 15. Walaupun penggunaan beberapa field (multicolumn) index tidak terlihat nyata, akan tetapi penggunaan ini akan memberikan kemudahan untuk kemampuan pencarian pada sebuah atau banyak field (column).

Pada lain hal, ada sebuah hal yang menjadikan kelemahan dari penggunaan index. Dimana dengan index kita dapat meningkatkan kecepatan dalam membaca data dari database, tetapi akan membuat lambat proses perubahan data dalam database, karena perubahan akan berpengaruh pada data yang di index. Anda akan mendapat hasil yang normal ketika hanya menampilkan data dari database jika dibandingkan anda melakukan proses tambah (insert) data atau ubah (update) data yang sudah ada.

Pengguna index, baik digunakan pada field (column) :
1.Ketika sering menggunakan WHERE pada bagian query.
2.Ketika sering menggunakan ORDER BY pada bagian query.
3.Ketika memiliki banyak perbedaan nilai.
4.Ketika sering menggunakan JOIN pada bagian query.

MySQL memiliki beberapa tipe dari Index yang berbeda, yaitu :
1.INDEX.
2.UNIQUE
3.PRIMARY KEY.
4.FULLTEXT index

Contoh Penggunaan Macam Index
1.Indentifikasi suatu field menggunakan PRIMARY KEY
Dalam hal ini dapat dilihat pada posting Memahami Keys di MySQL.

2.Indentifikasi suatu field harus UNIQUE
UNIQUE tidak dapat digunakan dalam jumlah banyak. Sebagian besar digunakan seperti nilai tanggal, angka, nama, kota, kode pos yang berulang, terutama sekali pada table dengan ribuan baris (record). Tetapi semua tergantung pada aplikasi yang anda buat, apakah anda hanya menggunakan sekali-kali pada field yang benar-benar harus unik, seperti alamat email, username dari sistem aplikasi registrasi (sistem login).

Anda tidak dapat mendefinisikan sekaligus PRIMARY KEY dan UNIQUE dalam sebuah field, karena PRIMARY KEY sudah didesain harus mengikut aturan unik.

3.Identifikasi suatu field akan mendapatkan keuntungan dari sebuah INDEX
Pada rekomendasi ada adalah ketika index akan membantu dan berfikir tentang apa informasi akan disajikan. Jika anda memerlukan untuk melihat daftar dari invoices berdasarkan tanggal atau total jumlah order, maka INDEX akan membuat logical indexes. Jika sebuah table registrasi/login akan menggunakan kombinasi pada username dan password untuk verifikasi suatu proses login, maka akan dibuat index. Anda juga membuat index pada field foreign key anda.

Semoga Bermanfaat.

Salam dari Cirebon,
Rony Syahputra N.

Referensi :
Larry Ullman, Visual Quickstart Guide MySQL Second Edition, 2006, Peachpit Press.

Oleh: Rony Syahputra Nasution | November 5, 2009

Memahami Keys di MySQL

Keys adalah bagian spesial dari data yang dapat menolong untuk identifikasi sebuah baris (record/row) dalam sebuah table. Dalam database, sebuah baris (record/row) biasa disebut juga record sedangkan setiap kolom biasa disebut fields.

 db

Dimana terdapat 2 tipe keys yang dapat digunakan, yaitu : primary dan foreign. Primary key ada identitas unik yang mengacu pada aturan tertentu, yaitu :

1. Harus memiliki nilai (tidak dapat bernilai kosong atau NULL).

2. Mempunyai nilai yang tetap/sama (tidak diubah-ubah).

3. Mempunyai suatu nilai yang unik untuk setiap record (row) dalam table.

ID/No KTP bisa dijadikan contoh dari primary key, walaupun secara prakteknya di Indonesia masalah system penomeran KTP masih belum baik (belum menggunakan konsep 1 orang hanya 1 ID).

Tipe kedua dari key adalah foreign key. Foreign key adalah representasi dalam table B dari primary key table A. jika anda memiliki database tentang sepakbola dengan table klub dan pemain, primary key dari table klub dapat dihubungkan sebagai foreign key dalam table pemain. Untuk mendapatkan hasil yang baik dapat menggunakan proses normalisasi.

Saat ini, MySQL hanya mendukung foreign key ketika menggunakan InnoDB storage engine (database storage engine yang dikembangkan oracle). InnoDB terdapat pada MySQL 5. Akan tetapi jika kita menggunakan database storage engine MyIsam (versi sebelum MySQL 5) kita tetap bisa menerapkan walaupun secara design teoritis.

MySQL hanya mengijinkan untuk 1 (satu) primary key pada setiap table, meskipun anda dapat membuat sebuah primary key dari multiple columns (fields). Pada kasus ini, kombinasi dari nilai (value) pada multiple columns harus memenuhi 3 aturan, yaitu :

1. Nilai tidak bernilai kosong atau NULL.

2. Nilai tidak untuk diubah-ubah.

3. Nilai harus unik untuk setiap record (row).

Idealnya, primary key anda dalam bentuk tipe data INTEGER, dimana akan mendapatkan hasil yang baik dalam proses kerja MySQL.

Semoga Bermanfaat.

Salam dari Cirebon,
Rony Syahputra N

Referensi :
Larry Ullman, Visual Quickstart Guide MySQL Second Edition, 2006, Peachpit Press.

Oleh: Rony Syahputra Nasution | November 4, 2009

Ajax, PHP, MySQL & ComboBox Jilid 4

Setelah kita telah membuat
file ajax.js,
yang digunakan validasi fungsi dari ajax

Selanjutnya,
kita membuat file javascript (bukan java),
yang terkait pada script dept_form.html,
yaitu
<script src=”dept.js” type=”text/javascript”></script>

File yang bernama dept.js (penamaan bebas),
berfungsi untuk perantara fungsional AJAX,
dengan PHP, dimana PHP yang akan mengakses database (MySQL).
Berikut script dari dept.js
// dept.js

// Have a function run after the page loads
window.onload = init;

// Function that adds the Ajax laver
function init()
{
 // Get an XMLHttpRequest Object
 var ajax = getXMLHttpRequestObject();
 
 // Attach the function call to the form submission, if supported
 if(ajax)
 {
  // Check for DOM support
  if(document.getElementById(‘results’))
  {
   // Add an onsubmit event handler to the form
   document.getElementById(‘dept_form’).onsubmit = function()
   {
    // Call the PHP scripts
    // Use the GET method
    // Pass the department_id in the URL
    
    // Get the department_id
    var did = document.getElementById(‘did’).value;
    
    // Open the connection
    ajax.open(‘get’, ‘dept_results_ajax.php?did=’+encodeURIComponent(did));
    
    // Function that handles the response
    ajax.onreadystatechange = function()
    {
     // Pas it this request object
     handleResponse(ajax);
    }
    
    // Send the request
    ajax.send(null);
    
    return false; // So form isn’t submitted
    
   } // End of anonymous function
   
  } // End of DOM check
  
 } // End of Ajax IF
 
} // End of init() function
// Function that handles the response from the PHP scripts
function handleResponse(ajax)
{
 // Check that the transaction is complete
 if(ajax.readyState == 4)
 {
  // Check for a valid HTTP status code
  if((ajax.status == 200) || (ajax.status == 304))
  {
   // Put the received response in the DOM
   var results = document.getElementById(‘results’);
   results.innerHTML = ajax.responseText;
   
   // Make the results box visible
   results.style.display = ‘block’;
  }
  else
  {
   // Bad status code and submit the form
   document.getElementById(‘dept_form’).submit();
  }
 } // End of readyState IF
} // End of handleResponse() function

Sambil mengetikan script,
serta mempelajari,
jika masih ada yang belum dipahami,
silakan ditanyakan,
sambil saya mempersiapkan langkah2 selajutnya
hehehe

Semoga Bermanfaat.

Salam dari Cirebon,
Rony Syahputra N.

Oleh: Rony Syahputra Nasution | November 1, 2009

Awal Nopember, Langsung Ngebut

Dah awal Nopember,
dah tanggal 1,
+- 5 menit lagi malah dah tanggal 2.

Banyak hal,
yang mau dilakukan bulan ini,
yang baru dilakukan siy promo,
lewat facebook.

Target tanggal 1,
promo kursus online,
akhirnya bisa dilakukan,
walau baru promo lewat facebook.

Mudah2an,
besok promo bisa dibanyak media
hahaha.

Selain itu,
banyak lagi ide yang mau di coba,
namanya usaha hehe.

Mudah2an semuanya bisa sukses,
amin.

Semangaaaaat.
Salam dari Cirebon,
Rony Syahputra N.

Oleh: Rony Syahputra Nasution | Oktober 31, 2009

Angel’s Diary

angels_diary

Angels Diary,
sebuah sinetron,
anak muda, ya saya ini hehe.

Kesan keren,
saat pertama pas liat iklan nya,
keren dari angle2 ngeshot kamera dan lighting pas bgt,
kaya ngerti aja hehe.

Dikolaborasikan dengan soundtrack,
Sahabat Jadi Cinta dari Zigaz,
makin pas aja.

Cerita nya ?

bagus ga yah, ehhmm,
belum tau, abis sampai sekarang,
belum pernah nonton secara “bener”,
tiap mau nonton ada aja halangannya.

Malah lebih sering nonton iklannya,
pas jeda commecial break..hahaha.

Tapi lagi seneng
dengerin soundtracknya,

satu kata yang sulit terucap,
sehingga batinku tersiksa,
tuhan tolong aku,
jelaskanlah perasaanku berubah jadi cinta,

tak bisa hatiku munafikkan cinta,
karena cinta tersirat bukan tersurat,
meski bibirku terus berkata tidaaaak,
hehehehe dah ah..tambah ngaco aja.

Selalu semangaaaaaaaaat

Salam dari Cirebon,
Rony Syahputra N

Oleh: Rony Syahputra Nasution | Oktober 31, 2009

Ajax, PHP, MySQL dan Combobox (HTML) Jilid 3

Pada posting sebelumnya,
kita telah membuat
file dept_form.html

Selanjutnya,
kita membuat file javascript (bukan java),
yang terkait pada script dept_form.html,
yaitu
<script src=”ajax.js” type=”text/javascript”></script>

File yang bernama ajax.js (penamaan bebas),
berfungsi untuk memeriksa XMLHttpRequest,
sekaligus mendefinisikan serta menciptakan.

Berikut script dari ajax.js
// ajax.js

function getXMLHttpRequestObject()
{
 // Initialze the object
 var ajax = false;
 
 // Choose object type based upon what’s supported
 if(window.XMLHttpRequest)
 {
  // IE7, Mozilla Firefox, Safari, Operas, Most Browsers
  ajax = new XMLHttpRequest();
 }
 else if(window.ActiveXObject)
 {
  // Older IE Browsers
  // Create type Msxml2, XMLHTTP, if possible
  try
  {
   ajax = new ActiveXObject(“Msxml2.XMLHTTP”);
  }
  catch(e)
  {
   // Create the older type instead
   try
   {
    ajax = new ActiveXObject(“Microsoft.XMLHTTP”);
   }
   catch(e)
   {
    
   }
  }
 } // END of main IF – ELSE IF
 
 // Return the value
 return ajax;

} // End of getXMLHttpRequestObject() function

Sambil mengetikan script,
serta mempelajari,
jika masih ada yang belum dipahami,
silakan ditanyakan,
sambil saya mempersiapkan langkah2 selajutnya
hehehe

Semoga Bermanfaat.

Salam dari Cirebon,
Rony Syahputra N.

Oleh: Rony Syahputra Nasution | Oktober 28, 2009

Ajax, PHP, MySQL dan Combobox (HTML) Jilid 2

Melanjutkan pengenalan singkat Ajax,
dan persiapan pembuatan databasenya,
berikut yang perlu dipersiapkan lagi.

Adalah
pembuatan dari halaman,
yang di fungsikan sebagai front end / tampilan.

Dibuat,
dengan format HTML.

Siapkan,
software editor anda,
seperti notepad atau Adobe (macromedia) Dreamweaver,
atau sejenisnya.

Ketikan script berikut

<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
 <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
 <title>Employee by Department</title>
 
 <script src=”ajax.js” type=”text/javascript”></script>
 <script src=”dept.js” type=”text/javascript”></script>
 <style type=”text/css” media=”all”>@import url(“style.css”);</style>
</head>

<body>
 <!– dept_form.html–>
 
 <p>Select a department and click ‘GO’ to see the employees in that department</p>
 
 <form action=”dept_results_ajax.php” method=”get” id=”dept_form”>
  <p>
  <select id=”did” name=”did”>
   <option value=”1″>Human Resource</option>
   <option value=”2″>Accounting</option>
   <option value=”3″>Marketing</option>
   <option value=”4″>Redudancy Department</option>
  </select>
  <input name=”go” type=”submit” value=”GO” />
 </form>
 <div id=”results”></div>
</body>
</html>

beri nama dept_form.html
atau sesuai selera,
untuk kemudahan, boleh disamakan saja hehe.

Sambil mengetikan script,
serta mempelajari,
jika masih ada yang belum dipahami,
silakan ditanyakan,
dan  saya pun mempersiapkan langkah2 selajutnya
hehehe

Semoga Bermanfaat.

Salam dari Cirebon,
Rony Syahputra N.

Tulisan Sebelumnya »

Kategori