Progress Bar dengan PHP

Anda tentunta sudah tau akan progress bar. Disini Saya akan memberikan anda source code untuk ini. Untuk tanpilannya sebagai berikut:


Anda bisa mendownload code lengkapnya disini

Baca Selengkapnya......

Multi Languagedengan PHP

Banyak website yang memberikan kemudahan bagi para visitornya untuk mengerti dan paham tentang isi website mereka. Salah satunya adalah menyediakan fitur Multi language. Multi Language artinya lebih dari 1 bahasa. Jadi dengan mengadopsi beberapa bahasa, suatu website dapat memancing visitor dari berbagai negara untuk berkunjung ke website tersebut.

Bagaimana cara membuat Multi language tersebut? Sebenarnya cara membuatnya
sangat mudah. Yang diperlukan adalah file yang berisi variabel-variabel bahasa
tersebut. Contoh berikut merupakan script dengan bahasa indonesia dan bahasa
inggris.

english.php

<?php
$home = "Home";
$faq = "FAQ";
$tes = "Test English";
?>

indonesian.php

<?php
$home = "Menu Utama";
$faq = "Pertanyaan dan Jawaban";
$tes = "Tes Bahasa Indonesia";
?>

Setelah melihat kedua script diatas, Saya yakin Pembaca pasti sudah paham langkah
apalagi yang selanjutnya dilakukan. Langkah selanjutnya adalah membuat session
yang akan meng-includekan file-file diatas pada setiap halaman web yang akan
kita buat.

<?php
session_start();
$_SESSION['lang'] = $a;
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<form name="form1" method="post" action="?lang=">


Ganti Bahasa :

<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<?php
if(($_GET['lang'] == "indonesian") || (empty($_GET['lang']))) {
?>
<option value="?lang=indonesian" selected>Indonesian</option>
<option value="?lang=english">English</option>
<?php
} else {
?>
<option value="?lang=indonesian">Indonesian</option>
<option value="?lang=english" selected>English</option>
<?php
} // end else
?>
</select>
</form>
<p>
<?php
if($_GET['lang'] == "english") {
$a = include "language/english.php";
} else if ($_GET['lang'] == "indonesian") {
$a = include "language/indonesian.php";
} else {
$a = include "language/indonesian.php";
}
print "$language $home<br>$faq<br>$tes";
?>

Penjelasan kode diatas :

Pada indonesian.php dan english.php kita variabelkan kata-kata yang ingin kita
masukkan ke dalam web. Dalam contoh diatas saya menggunakan 3 kata yakni home,faq,dan
tes. (Ingat.!!! Script diatas hanya contoh. Anda bisa kembangkan sendiri. Karena
setiap orang mempunyai gaya memprogram yang berbeda). Pada index.php kita buat
pilihan. Jika pilihannya bahasa indonesia, maka Session akan meng-include file
indonesian.php dan sebaliknya Jika pilihannya bahasa inggris, maka Session akan
meng-include file english.php. Anda dapat menambah-nambah sendiri bahasa yang
lain.


Untuk lebih memudahkan, Silahkan download Source contoh programnya disini

Baca Selengkapnya......

Kalkulator dengan java script

Mari kita bahas tentang "java script".
Disini saya akan menjelaskan sedikit tentang pembuatan kalkulator dengan menggunakan java script yang nantinya akan bisa ditampilkan dalam web (berbasis web). Berikut ini contoh tampilan kalkulator tersebut dan asih bisa dirubah sesuai dengan keinginan desain anda:



Dan disini untuk scriptnya:

<CENTER>
<FORM name="Keypad" action="">

<!-- Original: http://www.dummyproof.com/javascripts -->

<! >
<! >

<TABLE>
<B>

<TABLE border=2 width=50 height=60 cellpadding=1 cellspacing=5>
<TR>
<TD colspan=3 align=middle>
<input name="ReadOut" type="Text" size=24 value="0"
width=100%>
</TD>
<TD
</TD>
<TD>
<input name="btnClear" type="Button" value=" C "
onclick="Clear()">
</TD>
<TD><input name="btnClearEntry" type="Button" value="
CE " onclick="ClearEntry()">
</TD>
</TR>
<TR>
<TD>
<input name="btnSeven" type="Button" value=" 7 "
onclick="NumPressed(7)">
</TD>
<TD>
<input name="btnEight" type="Button" value=" 8 "
onclick="NumPressed(8)">
</TD>
<TD>
<input name="btnNine" type="Button" value=" 9 "
onclick="NumPressed(9)">
</TD>
<TD>
</TD>
<TD>
<input name="btnNeg" type="Button" value=" +/- "
onclick="Neg()">
</TD>
<TD>
<input name="btnPercent" type="Button" value=" %
" onclick="Percent()">
</TD>
</TR>
<TR>
<TD>
<input name="btnFour" type="Button" value=" 4 "
onclick="NumPressed(4)">
</TD>
<TD>
<input name="btnFive" type="Button" value=" 5 "
onclick="NumPressed(5)">
</TD>
<TD>
<input name="btnSix" type="Button" value=" 6 "
onclick="NumPressed(6)">
</TD>
<TD>
</TD>
<TD align=middle><input name="btnPlus" type="Button"
value=" + " onclick="Operation('+')">
</TD>
<TD align=middle><input name="btnMinus" type="Button"
value=" - " onclick="Operation('-')">
</TD>
</TR>
<TR>
<TD>
<input name="btnOne" type="Button" value=" 1 "
onclick="NumPressed(1)">
</TD>
<TD>
<input name="btnTwo" type="Button" value=" 2 "
onclick="NumPressed(2)">
</TD>
<TD>
<input name="btnThree" type="Button" value=" 3 "
onclick="NumPressed(3)">
</TD>
<TD>
</TD>
<TD align=middle><input name="btnMultiply" type="Button"
value=" * " onclick="Operation('*')">
</TD>
<TD align=middle><input name="btnDivide" type="Button"
value=" / " onclick="Operation('/')">
</TD>
</TR>
<TR>
<TD>
<input name="btnZero" type="Button" value=" 0 "
onclick="NumPressed(0)">
</TD>
<TD>
<input name="btnDecimal" type="Button" value=" .
" onclick="Decimal()">
</TD>
<TD colspan=3>
</TD>
<TD>
<input name="btnEquals" type="Button" value=" =
" onclick="Operation('=')">
</TD>
</TR>
</TABLE>
</TABLE>
</B>
</FORM>
</CENTER>
<font face="Verdana, Arial, Helvetica" size=2>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var FKeyPad = document.Keypad;
var Accum = 0;
var FlagNewNum = false;
var PendingOp = "";
function NumPressed (Num) {
if (FlagNewNum) {
FKeyPad.ReadOut.value = Num;
FlagNewNum = false;
}
else {
if (FKeyPad.ReadOut.value == "0")
FKeyPad.ReadOut.value = Num;
else
FKeyPad.ReadOut.value += Num;
}
}
function Operation (Op) {
var Readout = FKeyPad.ReadOut.value;
if (FlagNewNum && PendingOp != "=");
else
{
FlagNewNum = true;
if ( '+' == PendingOp )
Accum += parseFloat(Readout);
else if ( '-' == PendingOp )
Accum -= parseFloat(Readout);
else if ( '/' == PendingOp )
Accum /= parseFloat(Readout);
else if ( '*' == PendingOp )
Accum *= parseFloat(Readout);
else
Accum = parseFloat(Readout);
FKeyPad.ReadOut.value = Accum;
PendingOp = Op;
}
}
function Decimal () {
var curReadOut = FKeyPad.ReadOut.value;
if (FlagNewNum) {
curReadOut = "0.";
FlagNewNum = false;
}
else
{

if (curReadOut.indexOf(".") == -1)
curReadOut += ".";
}

FKeyPad.ReadOut.value = curReadOut;
}
function ClearEntry () {
FKeyPad.ReadOut.value = "0";
FlagNewNum = true;
}
function Clear () {
Accum = 0;
PendingOp = "";
ClearEntry();
}
function Neg () {
FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;
}
function Percent () {
FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);
}
// End -->
</SCRIPT>

Baca Selengkapnya......

Koneksi Java & MySQL via Konsole

Salah satu program yang menarik untuk ditest melalui konsole sebelum nanti mulai menggunakan IDE adalah program koneksi ke database menggunakan JDBC. Mengapa ini menarik karena ada beberapa aspek khas Java yang terkandung didalamnya.

Kita bisa mencobanya dengan melakukan koneksi ke database MySQL melalui Java. Untuk melakukan hal ini, silakan lakukan tutorial sebagai berikut :

  1. Instalasi database server MySQL.
  2. Jalankan service MySQL melalui YAST | SYSTEM | SYSTEM SERVICE (RUNLEVEl)
  3. Download MySQL Connector J melalui alamat http://www.mysql.com/products/connector/j/ . Ambil versi terbaru. Pada saat panduan ini ditulis, versi terbaru adalah mysql-connector-java-5.1.5
  4. Ekstrak file yang didownload dan ambil file mysql-connector-java-5.1.5-bin.jar. Sesuaikan dengan versi MySQL Connector yang didownload.
  5. Copy file jar tersebut ke lokasi library. Untuk keselarasan dengan panduan saya yang lain, silakan copy ke folder /opt/jdk1.6.0/lib
  6. Buka konsole dan ketik perintah
    1. export CLASSPATH=.:/opt/jdk1.6.0/lib/mysql-connector-java.jar:
  7. Untuk kemudahan, perintah diatas bisa di masukkan kedalam file .bash_profile yang ada di home folder masing-masing
  8. Buka teks editor (kate misalnya) dan ketik kode program berikut ini :
    1. public class TestMysql { public static void main(String args[]) {
    2. try {
    3. /* Test loading driver */
    4. String driver = "com.mysql.jdbc.Driver";System.out.println( "=> loading driver:" );
    5. Class.forName( driver );
    6. System.out.println( "OK" );/* Test the connection */
    7. String url = "jdbc:mysql://localhost/test";System.out.println( "=> connecting:" );
    8. java.sql.DriverManager.getConnection( url, "guest", "" );
    9. System.out.println( "OK" );
    10. }
    11. catch( Exception x ) {
    12. x.printStackTrace();
    13. }
    14. }
    15. }
  9. Simpan dan beri nama TestMysql.java
  10. Buka konsole (ALT+F2, konsole)
  11. Lakukan kompilasi
  12. Jika tidak ada pesan kesalahan, lanjutkan dengan menjalankan program

TestMysql

Catatan :

Program diatas menggunakan database MySQL lokal (localhost) dengan database test, user name guest dan password kosong. Setting ini adalah setting default dan selalu ada pada MySQL. Jika ingin memodifikasi, sesuaikan dengan kondisi setting MySQL anda.

Kemungkinan Kesalahan :

  1. java: command not found, biasanya setting PATH belum benar. Coba test dengan menjalankan perintah echo $PATH pada konsole dan apakah responnya menunjukkan lokasi JDK yang diinstalasi
  2. class TestMysql is public, should be declared in a file named TestMysql.java. Terjadi jika nama file berbeda dengan nama class. Ingat bahwa Java menganut case sensitive, jadi TestMysql berbeda dengan testmysql
  3. Cannot resolve symbol
  4. symbol  : class stringlocation: class TestMysqlpublic static void main(string[] args)

    ^

    1 error

    Masalah biasanya karena kesalahan ketik

  5. Exception in thread “main” java.lang.NoClassDefFoundError: TestMysql, biasanya terjadi karena menjalankan file class dengan ekstension. Semestinya java TestMysql, bukan java TestMysql.java ataupun TestMysql.class
Semakin banyak latihan, kita akan semakin terbiasa dan lebih tahu apa yang dimaksud pada pesan kesalahan yang ada

Baca Selengkapnya......

Tutorial GUI 1 : Membuat Aplikasi Hello World dengan Netbeans

Mari kita akan mulai bersentuhan dengan aplikasi GUI menggunakan IDE (Integrated Development Environment). Seperti yang saya katakan sebelumnya, aplikasi GUI menggunakan IDE dalam beberapa hal make our life a little bit easier :-) .

Kita akan menggunakan Netbeans IDE untuk melakukan hal ini. Berikut adalah langkah-langkahnya :

  1. Install Netbeans
  2. Jalankan Netbeans sehingga muncul layar utama IDE
  3. Hello World GUI1

  4. Klik menu File | New Project
  5. Pilih Java - Java Application
  6. Hello World GUI2

  7. Beri nama Project AppHelloWorld dan hilangkan pilihan Create Main Class, karena kita langsung membuat main class pada form Hello World
  8. Hello World GUI3

  9. Klik kanan pada Project yang baru dibuat, pilih New | JFrame Form…
  10. Beri nama Form yang baru dibuat dengan nama frmHelloWorld. Klik finish. Kita akan diberi satu buah form yang bisa didesain secara leluasa.
  11. Hello World GUI4

  12. Jika di IDE Visual Basic kita mengenal Toolbox, di Netbeans kita mendapatkan sesuatu yang mirip dengan nama Pallete
  13. Hello World GUI6

  14. Drag dan drop komponen Button dari Pallet ke form yang baru kita buat sehingga muncul 1 buah tombol dengan text jButton1
  15. Hello World GUI7

  16. Klik kanan pada tombol tersebut dan pilih Change Variable Name. Ubah nama tombol menjadi btnHello
  17. Hello World GUI8

  18. Klik kanan lagi pada tombol dan pilih Edit Text. Ganti text menjadi Hello World
  19. Klik kanan lagi juga (hehehe…) pada tombol dan pilih menu Events | Actions | actionPerformed. Event ini bisa diumpamakan sebagai event Command_Click pada Visual Basic
  20. Hello World GUI9

  21. Kita akan mendapatkan layar kode. Ketikkan kode berikut :
    1. JOptionPane.showMessageDialog(null, "Hello World !");
  22. Kita akan melihat bahwa Java sudah pintar dengan langsung membuat tanda kutif tutup pada saat kita hendak mengetik “Hello World !”.
  23. Seperti halnya VB, Java juga memiliki feature autocomplete untuk method dan properties. Disini kita juga akan menemukan 1 keunggulan penggunaan IDE dibandingkan mengetik program menggunakan konsole / text editor, yaitu feature Auto Import
  24. Hello World GUI10

  25. Lihat pada bagian kiri kode ada semacam bohlam lampu kecil. Ini menandakan “ada sesuatu” dengan kode yang kita ketik. Karena kita menggunakan JOptionPane, kita membutuhkan librarynya agar Java mengenali komponen ini. Klik pada pada bohlam lampu tersebut dan pilih Add Import for javax.swing.JOptionPane
  26. Hello World GUI11

  27. Setelah kita pilih, Netbeans secara otomatis akan menambahkan tulisan import javax.swing.JOptionPane; pada bagian atas kode.
  28. Simpan project
  29. Klik kanan pada form yang baru dibuat dan klik Run atau tekan tombol SHIFT + F6
  30. Kita akan mendapatkan form dengan 1 buah tombol yang jika diklik akan memunculkan sebuah Message Box “Hello World !”
  31. Hello World GUI12

Selamat, anda sudah membuat 1 buah program aplikasi yang akan menjadi langkah awal kecintaan anda pada Java :-). Mengapa saya menggunakan JOptionPane dan bukannya Label untuk sekedar menampilkan tulisan Hello World ? Karena JOptionPane ini akan banyak kita gunakan pada tutorial mendatang. Kalau sekedar Label, semestinya tanpa perlu setting macam-macam kita sudah bisa memahaminya

Baca Selengkapnya......

Tutorial Java GUI 2 : Label, Text dan Button

Setelah kita berkenalan dengan IDE Netbeans dan membuat aplikasi Hello World, kita sekarang bisa melangkah pada aplikasi kecil lainnya yang akan memperkenalkan kita pada beberapa komponen yang sering digunakan untuk membuat aplikasi terapan.

Pada tutorial kedua ini, kita akan membahas mengenai Label, TextField dan Button. Bagi programmer yang berasal dari bahasa pemrogramman selain Java, kita bisa memahami pola pengambilan variabel dan melakukan setting variabel melalui program kecil ini. Sebagai contoh, pada program terapan, kita akan sering berhubungan dengan “Bagaimana cara mengambil isi suatu Text Field” atau “Bagaimana cara mengeset isi suatu TextField”.

Dalam VB 6.0 (yang saya gunakan bertahun-tahun :-D ), perintah mendapatkan isi suatu text menggunakan perintah berikut :

strIsiText = txtTeks1.text

Sedangkan pada Java, hal ini dilakukan dengan memanggil method getText sebagai berikut :

strIsiText = txtTeks1.getText();

Mari kita lihat tutorial selengkapnya :

  1. Buatlah sebuah project Java Application pada Netbeans. Silakan merujuk pada artikel terdahulu jika masih belum tahu cara melakukannya
  2. Tambahkan sebuah JFrame Form. Beri nama dan judulnya
  3. Tambahkan 2 buah Label, 2 buah TextField (beri nama txtID dan txtNama) dan 3 buah Button (btnAdd, btnEdit, btnExit).
  4. Setting enabled = false (unchecked) pada properties txtID dan txtNama. Hal ini dilakukan karena pada saat di Load, form isian harus dalam kondisi disabled
  5. Setting Mnemonic untuk 3 buah button (A untuk btnAdd, E untuk btnEdit dan x untuk btnExit). Di Visual Basic hal ini dilakukan dengan menulis caption &Add, &Edit dan E&xit, sedangkan di Java, perintah ALT ini disebut Mnemonic. Fungsinya, agar tombol tersebut dapat diakses menggunakan tombol keyboard ALT + Huruf Mnemonic
  6. Lihat contoh form sebagai berikut :

  7. Ketikkan kode berikut pada event actionPerformed pada btnAdd. Jangan lupa lakukan import library yang diperlukan (import javax.swing.JOptionPane;) yang bisa secara otomatis dilakukan dengan melakukan klik pada bola lampu dibaris JOptionPane.
    1. private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
    2. if (btnAdd.getText().equals("Add")){
    3. //Tambah Data
    4. btnAdd.setText("Save");
    5. btnAdd.setMnemonic('S');
    6. btnEdit.setText("Cancel");
    7. btnEdit.setMnemonic('C');
    8. btnExit.setEnabled(false);
    9. txtID.setEnabled(true);
    10. txtNama.setEnabled(true);
    11. txtID.requestFocus();
    12. } else {
    13. //Simpan Data
    14. JOptionPane.showMessageDialog(null, "Menyimpan data ID '"+txtID.getText()+ "' dan Nama : '"+txtNama.getText()+"'") ;
    15. btnAdd.setText("Add");
    16. btnAdd.setMnemonic('A');
    17. btnEdit.setText("Edit");
    18. btnEdit.setMnemonic('E');
    19. btnExit.setEnabled(true);
    20. txtID.setEnabled(false);
    21. txtNama.setEnabled(false);
    22. btnAdd.requestFocus();
    23. }
    24. }
  8. Ketikkan kode berikut pada event actionPerformed pada txtID. Fungsinya adalah memindahkan fokus ke txtNama. Visual Basic biasanya menggunakan perintah .setfocus
    1. txtNama.requestFocus();
  9. Ketikkan kode berikut pada event actionPerformed pada txtNama
    1. btnAdd.requestFocus();
  10. Ketikkan kode berikut pada event actionPerformed pada btnExit. Fungsinya adalah menutup form. Pilih salah satu dari 2 kode berikut :
    1. dispose(); // digunakan untuk menutup form, sama dengan unload me di Visual Basic
    1. System.exit(0); //digunakan untuk menutup aplikasi, sama dengan End di Visual Basic
  11. Simpan dan jalankan aplikasi (SHIFT + F6)
  12. Jika kita melakukan klik pada tombol Add, text btnAdd berubah dari Add menjadi Save (Edit menjadi Cancel) dan fokus akan berpindah ke teks ID. Setelah ID diisi dan kita tekan ENTER, fokus berpindah ke teks Nama. Setelah mengisi nama dan menekan ENTER, fokus akan pindah ke button Add (yang berubah menjadi Save). Jika kita menekan tombol Add, akan keluar kotak pesan (MessageBox)

  13. Silakan modifikasi program agar tombol Edit bisa dipergunakan. Jika perlu, lakukan juga penambahan komponen yang terlibat.

Baca Selengkapnya......

Membuat Grafik Data Vertikal dengan PHP

Membuat Grafik Data Vertikal dengan PHP


dengan format Graphic Batang

ni cara bikin grafik sederhana tanpa gambar di PHP, dengan bentuk vertikal

pertama kita butuh sql data dari database:
bikin database, dengan nama: graph_dbase

ni bwat table SQL na:

Code:

CREATE TABLE `report_toko` (
`id` int(11) NOT NULL auto_increment,
`nama_toko` varchar(255) NOT NULL default '',
`laba` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `report_toko`
--

INSERT INTO `report_toko` VALUES (1, 'Toko A', 100000);
INSERT INTO `report_toko` VALUES (2, 'Toko B', 25000);
INSERT INTO `report_toko` VALUES (3, 'Toko C', 15000);
INSERT INTO `report_toko` VALUES (4, 'Toko D', 5000);


wuki singkat saja, gw mao bikin koneksi dlo:

Code:

$varData = array('localhost', 'root', '', 'graph_dbase');
list($host, $user, $pass, $db) = $varData;
$con = mysql_connect($host, $user, $pass);
mysql_select_db($db, $con) or die('ERROR DBASE CON');


ambil query untuk jumlah terbesar dari laba (MAX) dan total seluruh laba (SUM) dalam baris table:

Code:
$qry = mysql_query("SELECT * FROM report_toko") or die('ERROR REPORT DATA');
//ambil data MAX dari laba
$max = mysql_query("SELECT MAX(laba) FROM report_toko") or die('ERROR MAX DATA');
list ($most_value) = mysql_fetch_row($max);
mysql_free_result($max);

//jumlahkan (SUM) seluruh nilai laba dalam baris data sebagai ttlLaba
$sum = mysql_query("SELECT SUM(laba) AS ttlLaba FROM report_toko") or die('ERROR SUM DATA');
$ttl = mysql_fetch_array($sum);


sebagai keluaran data, gw memanfaatkan table bwat bikin graphic na menjadi vertical. Jadi kaga make fungsi2 gambar lib dari PHP.

Code:





">





%
px; line-height:1px; font-size:1px;">








sebagai penentu tinggi dari graphic na ada pada baris:

Code:
$graphLineValue = round(($row[laba] * 100) / $most_value);

NOTE: round = pembulatan digit angka dibelakang koma

sedangkan untuk perhitungan nilai persentase na ada pada baris:

Code:
$percent = round(($row[laba] * 100) / $ttl[ttlLaba], 2);


jadi kalo di preview di browser, jadi ke gini:



Download disini bwat source code na

Baca Selengkapnya......
Template by : Global Info Media