Demo image Demo image Demo image Demo image Demo image Demo image Demo image Demo image

Jenis Tabel Di Mysql

  • Jumat, 14 Desember 2012
  • Eric Hermawan
  • Di MySQL dikenal istilah table handler dan jenis tabel. Saat ini ada 3 jenis tabel utama yang bisa dipakai di MySQL: MyISAM (default), BerkeleyDB, dan InnoDB. Yang perlu diketahui ada tiga hal: 1) tidak semua tabel mendukung transaksi (MyISAM tidak mendukung transaksi, jadi COMMIT dan ROLLBACK tidak melakukan sesuatu yang semestinya jika Anda menerapkan pada tabel MyISAM); 2) tidak semua tabel punya karakteristik performance yang sama (BerkeleyDB misalnya, lambat jika ukuran tabel besar) dan disimpan dengan cara yang sama (tabel MyISAM misalnya disimpan dalam 3 file: .MYI, .MYD, .frm sementara tabel-tabel dan database-database InnoDB disimpan bersama dalam daerah disk yang disebut tablespace; 3) distribusi MySQL yang bukan -Max tidak dikompile dengan dukungan terhadap BerkeleyDB dan InnoDB.
    Nomor 3 penting Anda ketahui karena jika kita menginstruksikan MySQL untuk membuat database dengan jenis tertentu:
    CREATE TABLE (...) TYPE=BDB;
    Dan MySQL tidak dikompile untuk mendukung BerkeleyDB, maka MySQL tidak akan protes dengan error, melainkan membuatkan tabel tersebut untuk kita tapi dengan tipe default yaitu MyISAM. Jadi Anda perlu mengecek dulu menggunakan SHOW TABLE STATUS:
    mysql> create table t4 (i int) type=innodb;
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> show table status from mydb like 't4';
    +------+--------+-...
    | Name | Type   | ...
    +------+--------+-...
    | t4   | MyISAM | ...
    +------+--------+-...
    Ternyata MyISAM!

    Konkurensi, Locking, dan Transaksi Di Mysql

  • Eric Hermawan
  • Programer web pemula kadang-kadang tidak menyadari bahwa program/skrip yang dibuatnya tidaklah seperti program desktop yang dijalankan oleh satu user. Melainkan, dalam satu waktu bisa saja ada 10 atau 100 user yang “menembak” skrip Anda di Web. Karena itu, isu locking dan konkurensi penting sekali. Contohnya adalah seperti ini:
    $res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
    list ($value) = mysql_fetch_row($res);
    $value++;
    // do something else first...
    $res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
    Di antara baris pertama (saat kita mengambil nilai record) dan baris keempat (saat kita menaruh kembali nilai dalam record) mungkin saja telah terjadi beberapa kali perubahan terhadap si record. Misalnya, pada baris pertama klien1 memperoleh nilai $value = 100. Di baris 3 $value di-increment menjadi 101. Tapi apa yang terjadi jika selama selang waktu itu nilai record counter1 telah menjadi 103 (karena misalnya klien2, klien3, dan klien4 telah meng-incrementnya)? Oleh si klien1, counter1 direset kembali menjadi 101 dan akibatnya increment oleh klien2, klien3, dan klien4 hilang. Seharusnya nilai counter1 menjadi 104.
    Untuk kasus di atas, pemecahannya cukup gampang. Lakukan increment secara atomik:
    // tidak perlu ambil nilai counter dulu...
    // do something else first...
    $res = mysql_query("UPDATE counter SET value=value+1 WHERE name='counter1'");
    Tapi dalam kasus lain, kadang-kadang kita harus melakukan locking terhadap tabel atau record untuk menjamin bahwa selama kita // do something else… klien2, klien3, dan klien4 tidak bisa seenaknya menaikkan nilai counter:
    mysql_query("LOCK TABLES cuonters");
    $res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
    list ($value) = mysql_fetch_row($res);
    // do something else first... increase value or something...
    $res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
    mysql_query("UNLOCK TABLES");
    atau (lebih baik karena kita tidak perlu melock keseluruhan tabel):
    mysql_query("SELECT GET_LOCK('lock1')");
    $res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
    list ($value) = mysql_fetch_row($res);
    // do something else first... increase value or something...
    $res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
    mysql_query("SELECT RELEASE_LOCK('lock1')");
    Ingat, locking dapat berakibat samping yaitu deadlock.
    Transaksi. Transaksi pun sesuatu yang dipergunakan secara meluas di dunia database, tapi hampir tidak pernah kita jumpai di bahasa pemrograman (ini karena data di bahasa pemrograman ditaruh dalam variabel di memori semua; tidak ada isu disk yang crash/lambat/rusak/harus disinkronkan dengan data di memori). Karena itu Anda perlu memahami konsep ini dari buku-buku tentang database.

    Indeks Di Mysql

  • Eric Hermawan
  • Indeks adalah sesuatu yang berkaitan erat dengan implementasi, bukan modeling. Kita seringkali perlu menambahkan indeks pada sebuah field atau banyak field dikarenakan jika tidak ditambahkan maka performance database tidak menjadi praktis. Serba-serbi indexing juga mungkin terlalu panjang untuk bisa dijelaskan dalam artikel pendek ini, tapi intinya setiap kolom yang: 1) memiliki rentang nilai cukup banyak; 2) terletak pada tabel yang berisi banyak record; 3) seringkali disebutkan di klausa WHERE dan/atau ORDER BY dan/atau GROUP BY; perlu diberi indeks. Ini dikarenakan indeks membantu mencari secara cepat sebuah nilai dari banyak nilai yang ada. Beberapa contoh:
    * Setiap primary key umumnya otomatis diberi indeks oleh database server, meskipun tabelnya masih berisi sedikit record atau bahkan kosong. Ini dikarenakan database perlu selalu mengecek keberadaan sebuah nilai field ini manakala ada sebuah record yang ditambahkan (ingat, PK artinya tak boleh ada dua record yang mengandung nilai field ini yang sama). Tanpa indexing, pengecekan akan linear dan memakan waktu lama.
    * Field tanggal lahir dalam tabel customers kemungkinan besar harus diindeks. Bahkan dayofyear() field ini juga mungkin perlu diindeks. Mengapa? Karena: 1) rentang nilai cukup besar (365 hari dalam setahun x +- 60 jumlah tahun); 2) tabel customers potensial ukurannya besar; 3) sering disebutkan di klausa WHERE (misalnya mencari customer yang ultah hari ini).
    * Field memo/notes kemungkinan besar tidak perlu diindeks (secara biasa). Mengapa? Karena meskipun 1) rentang nilai cukup besar; dan 2) tabel customers bisa besar; tapi 3) field ini tidak pernah disebutkan di klausa WHERE secara langsung (mis: Anda tidak pernah menyebutkan: … WHERE notes='nilai catatan tertentu' atau WHERE notes > 'nilai tertentu'). [Catatan: ada indeks lain yang “tidak biasa” di MySQL, yaitu FULLTEXT. Tapi ini di luar cakupan artikel kita kali ini.]
    * Field jenis kelamin mungkin tidak perlu diindeks, kecuali jika perbandingan pria:wanita amat drastis bedanya. Mengapa? Sebab: 1) rentang nilai yang ada hanyalah dua: L (lelaki) dan P (perempuan). Meskipun Anda beri indeks, tidak akan memperbaiki kinerja.

    Tipe Data Di Mysql

  • Eric Hermawan
  • Berbeda dengan PHP dan bahasa-bahasa skripting yang mengizinkan kita menaruh apa saja dalam sebuah $variable tanpa deklarasi tipe terlebih dahulu, di MySQL kita perlu mendeklarasikan tipe-tipe data semua field yang ada pada saat membuat sebuah tabel. Seorang programer PHP yang tidak kenal MySQL kadang-kadang cenderung memilih jenis data yang salah (umumnya: memilih VARCHAR() padahal ada tipe data yang lebih tepat) dikarenakan tidak mengenal jenis-jenis data yang tersedia.
    Berikut beberapa contoh kurang tepatnya pemilihan tipe data: 1) memilih CHAR(8) atau VARCHAR(10) dan bukannya DATE untuk menyimpan tanggal; kerugiannya, lebih boros tempat dan tidak bisa memanfaatkan fungsi-fungsi khusus tanggal; 2) memilih CHAR(3) atau CHAR(6) ketimbang TINYINT UNSIGNED untuk menyimpan data boolean (“YES” dan “NO”; atau “TRUE” dan “FALSE”; padahal jauh lebih irit dinyatakan dengan 1 dan 0 yang hanya menempati 1 byte); 3) memilih FLOAT atau DOUBLE dan bukannya DECIMAL untuk menyimpan jumlah uang; kerugiannya, FLOAT dan DOUBLE adalah berbasis biner dan seringkali tidak eksak dalam menyimpan pecahan desimal.
    Nomor 3 sering terjadi karena programer biasanya hanya mengenal single/double floating point number yang tersedia di bahasa pemrograman. Padahal database umumnya menyediakan angka pecahan berbasis desimal yang bisa eksak menyimpan pecahan desimal.
    Manual MySQL amat membantu di sini; di subbab tentang Column Types dijelaskan dengan rinci jenis-jenis data yang ada, termasuk rentang nilai yang dapat ditampung, berapa byte yang ditempati tipe data tersebut, dsb.

    Bahasa SQL dan Fungsi-Fungsi MySQL

  • Eric Hermawan
  • MySQL adalah database SQL bukan? Sayangnya, programer PHP pemula kadang terbatas sekali pengetahuan SQL-nya. Padahal, untuk menggunakan database MySQL dengan efektif, ia tidak boleh malas mempelajari bahasa kedua, yaitu SQL. Jika tidak belajar SQL, maka ada kemungkinan Anda akan melakukan hal-hal seperti:
    $res = mysql_query("SELECT * FROM bigtable");
    while ($row = mysql_fetch_assoc($res)) {
        if ($row['age'] >= 40) {
            echo "Ditemukan kustomer yang berusia lebih dari 40 tahun!\n";
            break;
        }
    }
    Apa salah kode di atas? Si programer PHP mencoba mensimulasikan klausa WHERE SQL dengan melakukan pengujian kondisi di kode PHP. Padahal, yang seharusnya dilakukan adalah:
    SELECT * FROM bigtable WHERE age >= 40
    Ini amat mengirit trafik client/server karena tidak semua record harus dikirimkan dari MySQL ke program PHP Anda.
    Sebagian pembaca mungkin geleng-geleng kepala. Apa benar ada programer PHP yang seperti ini? Percaya deh, ada.
    SQL sudah menyediakan cara untuk menyortir data, memformat tampilan, mengelompokkan dan memfilter record, dsb. MySQL juga terkenal banyak menyediakan fungsi-fungsi, mulai dari manipulasi tanggal, angka, string, dsb. Kenali SQL dan fungsi-fungsi MySQL; jangan duplikasikan ini semua di PHP sebab akan lebih efisien jika dilakukan di level MySQL.
    Ini contoh lain programer PHP yang tidak memanfaatkan fasilitas dari MySQL:
    $res = mysql_query("SELECT * FROM customers");
    while ($row = mysql_fetch_assoc($res)) {
        # format semula yyyy-mm-dd...
        preg_match("/(\d\d\d\d)-(\d\d?)-(\d\d?)/", $row[date], $matches); 
        # ... dan ingin dijadikan dd/mm/yyyy
        $tanggal = "$matches[3]/$matches[2]/$matches[1]"; 
        echo "Nama=$row[name], Tanggal lahir=$tanggal<br>\n";
    }
    Padahal MySQL sudah menyediakan fungsi pemformatan dan manipulasi tanggal:
    $res = mysql_query("SELECT name, DATE_FORMAT(date,'%d-%m-%Y') as tanggal ".
                       "FROM customers");
    while ($row = mysql_fetch_assoc($res)) {
        # tidak perlu capek-capek manipulasi string lagi...
        echo "Nama=$row[name], Tanggal lahir=$row[tanggal]<br>\n";
    }

    Cara Membuat Tabel Warna Warni Dengan PHP

  • Eric Hermawan
  • Anda pasti pernah melihat tabel yang ada di suatu website berwarna-warni. Untuk membuat tabel tersebut dibantu oleh bahasa pemrograman PHP. Berikut adalah salah satu tugas kuliah pemrograman PHP saya saat kuliah. Saat itu saya disuruh membuat tabel yang berwarna warni. Maksudnya tabel yang berwarna selang seling. Berikut ini adalah script php nya. Silahkan di copy dan dipelajari. Semoga dapat membantu anda dalam mencari referensi cara membuat tabel warna selang seling dengan bahasa pemrograman PHP.

    Silahkan kopi script php berikut ini (Simpan dalam format .php) :

    <html>
    <head>
    <title>Tabel Warna</title>
    <style>
    table
    {
    border-collapse:collapse;
    }
    table,th, td
    {
    border: 1px solid black;
    }
    </style>
    </head>

    <body>
    <h2 align=center>Tabel Warna Warni</h2>
    <h2 align=center>By Khairul Umam</h2>

    <?php
    $width='700px';
    $tkolom='25px';
    $kolom1='10%';
    $kolom2='30%';
    $kolom3='40%';
    $kolom4='20%';


    echo "<table width=$width align=center border=1>
    <tr>
    <th width=$kolom1>No.</th>
    <th width=$kolom2 tkolom=$tkolom>NIM</th>
    <th width=$kolom3 tkolom=$tkolom>Nama</th>
    <th width=$kolom4 tkolom=$tkolom>Kelas</th>
    </tr>";
    for ($i=1; $i<=10; $i++) {
    ?>
    <tr>

    <?php
    if (($i%2)==0){
    $warna="orange";
    } else {
    $warna="gray";}
    echo"
    <td width=$width tkolom=$tkolom bgcolor=$warna><center>$i</center></td>
    <td width=$width tkolom=$tkolom bgcolor=$warna></td>
    <td width=$width tkolom=$tkolom bgcolor=$warna></td>
    <td width=$width tkolom=$tkolom bgcolor=$warna></td>
    </tr>";}
    echo "</table>";
    ?>
    </body>
    </html>

    Cara menuliskan css dan html dalam php

  • Eric Hermawan
  • Mungkin anda sudah mengetahui bahwa PHP bekerja disisi server sedangkan HTML dan CSS bekerja disisi klien. Ketiganya bisa saling melengkapi sehingga menghasilkan halaman web yang dinamis dengan tampilan yang menarik. Berikut ini saya akan berbagi tentang bagaimana menuliskan css dan html tersebut dalam php.
    Sebelum saya buatkan contoh penggabungan ketiganya, sebaiknya saya ingatkan dulu agar tidak ada salah persepsi tentang cara kerja php, bahwa :
    • PHP harus dijalankan dengan bantuan web server
    • PHP harus disimpan dalam file dengan ekstensi .php
    • PHP harus diawali dengan tanda <?php dan diakhiri dengan tanda ?>

    PHP disisipkan dalam HTML

    <html>
    <head>
    <title>Contoh PHP disisipkan dalam HTML</title>
    </head>
    <body>
    <h1>Helllo </h1>
    <?php
      echo "Selamat malam"; //Ini contoh komentar php
    ?>
    <p>Saya sedang belajar di blog</p>
    </body>
    </html>
    
    Dengan penulisan seperti diatas, pada saat file tersebut dijalankan maka web server akan mengirimkan langsung ke browser perintah-perintah yang berada sebelum script php, kemudian memproses baris php yang diawali dengan <?php s/d ?> dan mengirimkannya ke browser, kemudian dilanjutkan dengan mengirimkan kembali perintah html yang berada setelah php sampai selesai.
    Jika anda menggunakan aplikasi editor web visual yang bisa langsung melihat hasilnya seperti dreamweaver, yang tampil di layar editor seperti gambar berikut :

    Dari gambar bisa dilihat bahwa script php yang disipkan hanya bisa terlihat seperti gambar yang saya lingkari, dan akan terlihat hasilnya jika sudah dijalankan.

    HTML disisipkan dalam PHP

    <?php
        echo "<html>";
        echo "<head>";
        echo "<title>Contoh PHP disisipkan dalam HTML</title>";
        echo "</head>";
        echo "<body>";
        echo "<h1>Helllo </h1>";
        echo "Selamat malam"; //Ini contoh komentar php
        echo "<p align=\"center\">Saya sedang belajar di blog </p>";
        echo "</body>";
        echo "</html>";
    ?> 
    
    Cara kerja serta penulisan kode diatas sedikit berbeda, pada saat filenya diakses maka web server akan memproses keseluruhan fungsi2 php yang dituliskan baru dikirim ke browser.
    Cara lain untuk menuliskan html dalam php bisa dengan kode seperti berikut :
    <?php
        echo '<html>';
        echo '<head>';
        echo '<title>Contoh PHP disisipkan dalam HTML</title>';
        echo '</head>';
        echo '<body>';
        echo '<h1>Helllo </h1>';
        echo 'Selamat malam'; //Ini contoh komentar php
        echo '<p align="center">Saya sedang belajar di blog </p>';
        echo '</body>';
        echo '</html>';
    ?> 
    Perbedaan dengan cara pertama terletak pada tanda petik yang sebelumnya dengan petik dua, ditulis dengan petik satu. Lihat juga baris echo '<p align="center"...dst ini juga ditulis berbeda.
    Dalam beberapa kasus, jika menggunakan cara pertama, kita bisa gabungkan dengan menuliskan variabel php misal :
    <?php
       $nama="Ali";
       echo "<h1>Selamat malam $nama</h1>";
    ?>
    
    Ini akan menghasilkan tulisan Selamat malam Ali. Tapi hal seperti ini tidak bisa dilakukan dengan cara kedua karena hasilnya akan berbeda, misal :
    <?php
       $nama="Ali";
       echo '<h1>Selamat malam $nama</h1>';
    ?>
    Ini akan menghasilkan tulisan Selamat malam $nama, bukan menampilkan isi variabelnya. Jika ingin menggunakan cara kedua, maka harus dituliskan dengan cara :
    <?php
       $nama="Ali";
       echo '<h1>Selamat malam '.$nama.'</h1>';
    ?>

    CSS disisipkan dalam PHP

    Untuk menyisipkan CSS dalam php, caranya sama persis dengan menyisipkan HTML dalam PHP, contoh :
    <?php
        echo "<html>";
        echo "<head>";
        echo "<title>Contoh PHP disisipkan dalam HTML</title>";
        echo "<link href=\"namafile.css\" rel=\"stylesheet\" type=\"text/css\" />";
        echo "</head>";
        echo "<body>";
        echo "<h1>Helllo </h1>";
        echo "Selamat malam"; //Ini contoh komentar php
        echo "<p align=\"center\">Saya sedang belajar di blog </p>";
        echo "</body>";
        echo "</html>";
    ?> 
    Cara diatas digunakan jika yang disisipkan adalah file cssnya, dan jika bentuk deklarasi css akan ditulis seperti berikut :
    <?php
        echo "<html>";
        echo "<head>";
        echo "<title>Contoh PHP disisipkan dalam HTML</title>";
        echo "<style type=\"text/css\">";
        echo ".contohcss1 { text-align:center; }";
        echo ".contohcss2 { text-align:left; }";
        echo "</style>";
        echo "</head>";
        echo "<body>";
        echo "<h1>Helllo </h1>";
        echo "Selamat malam"; //Ini contoh komentar php
        echo "<p align=\"center\">Saya sedang belajar di blog </p>";
        echo "</body>";
        echo "</html>";
    ?> 
    Karena semua dituliskan dalam php maka otomatis hasil output akan menjadi satu baris (jika dilihat page source) seperti ini :

    <html><head><title>Contoh PHP disisipkan dalam HTML</title></head><body><h1>Helllo </h1>Selamat malam<p>Saya sedang belajar di blog zainalhakim.web.id</p></body></html>
    
    Jika ingin lebih rapi, anda bisa tambahkan \n pada tiap akhir baris phpnya, seperti berikut :
    <?php
        echo "<html>\n";
        echo "<head>\n";
        echo "<title>Contoh PHP disisipkan dalam HTML</title>\n";
    ?> 
    \n digunakan untuk memisah baris output yang dikirimkan.
    Beberapa kondisi, jika memang diperlukan (kesulitan menyisipkan kode yang dijalankan disisi klien) anda bisa sisipkan dengan cara :
    <?php
        echo "<html>";
        echo "<head>";
        echo "<title>Contoh PHP disisipkan dalam HTML</title>";
        echo "</head>";
        echo "<body>";
        echo "<h1>Helllo </h1>";
        echo "Selamat malam"; //Ini contoh komentar php
        echo "<p align=\"center\">Saya sedang belajar di blog </p>";
    ?>
    Anda bisa sisipkan kode javascript, html atau css dengan cara ini.
    Cara ini digunakan jika memang script yang ditulis agak rumit diterapkan dalam php.
    <?php
        echo "</body>";
        echo "</html>";
    ?> 
    Jika anda menggunakan web editor visual dan menuliskan semua kode html dan css dalam php, maka tampilan visualnya tidak akan terlihat. Jadi anda harus bekerja dalam mode code, dan hanya bisa melihat hasil dengan menjalankanya via web server.

    Mengurutkan data mysql dalam laporan php

  • Eric Hermawan
  • Data biasanya diinput dengan cara tak beraturan, bisa saja nama yang awalan Z lebih dulu dimasukkan, atau nomor urut yang lebih besar lebih duluan tergantung data mana yang lebih awal disiapkan. Dan jika dibuatkan laporannya dengan cara biasa saja, tentunya akan muncul sesuai dengan urutan memasukkan datanya ke dalam database. Bagaimana cara mengurutkan data tersebut dalam laporan php?

    Saya disini tidak akan membicarakan bagaimana membuat laporanya, karena untuk membuat laporan anda bisa baca tutorial saya tentang Membuat Aplikasi Data Mahasiswa. Yang saya bahasa kali ini adalah tentang bagaimana menyusun query mysql dalam laporan tersebut.

    Contoh Kasus

    Anda sedang membuat aplikasi pendaftaran siswa/mahasiswa baru dengan php, kemudian anda mempunya tabel database dengan susunan seperti berikut :
    nama tabel : tb_siswa_baru
    no_pendaftaran tipe int panjang 10 dan diset sebagai primary auto number
    nama tipe varchar panjang 30
    tanggal_lahir tipe date
    agama tipe varchar 15
    tanggal_daftar tipe datetime
    dst

    Pada saat aplikasi digunakan, tentunya masing-masing field akan terisi dengan data dan urutan berbeda seperti yang saya sampaikan diatas. Suatu saat tentunya anda memerlukan laporan khusus dengan urutan yang jelas berdasar kolom/field tertentu dalam tabel data yang sudah dibuat. Misal berdasar nomor pendaftaran, berdasar nama, berdasar tanggal lahir, agama, tanggal daftar, bahkan jika diperlukan data ditampilkan secara acak.
    Untuk melakukan hal tersebut diatas anda hanya perlu melakukan penambahan query/perintah dasar mysql dalam php yang sudah anda buat. Contoh sesuai dengan kasus diatas :

    Untuk menampilkan urut dari nilai kecil ke besar (A-Z / 1-9)

    $query= "select * from tb_siswa_baru order by no_pendaftaran asc;";
    mysql_query($query);
    

    Untuk menampilkan urut dari besar ke kecil (Z-A / 9-1)

    $query= "select * from tb_siswa_baru order by no_pendaftaran desc;";
    mysql_query($query);
    

    Untuk menampilkan laporan secara acak

    $query= "select * from tb_siswa_baru order by no_pendaftaran rand();";
    mysql_query($query);
    
    Contoh diatas juga berlaku untuk kolom/field yang lainya seperti nama, tanggal lahir dan agama.
    Semoga bermanfaat

    Fungsi break dan continue dalam php

  • Eric Hermawan
  • break dalam php digunakan untuk menghentikan proses yang dilakukan oleh perintah php  : for, foreach, while, do-while atau switch. Sedangkan continue digunakan untuk melanjutkan proses pada perintah perulangan for dengan php. Kedua fungsi ini (break dan continue) memang tidak selalu digunakan, karena setiap kasus mungkin saja berbeda keperluan. Pada kasus seperti apa anda memerlukan fungsi break dan continue? Fungsi break ini biasanya digunakan untuk mengendalikan alur kerja dari sebuah proses yang dilakukan dengan perintah seperti diatas. Fungsi break ini diletakkan dalam struktur if dengan menambahkan kriteria tertentu.

    Contoh penggunaan fungsi break

    <?php
    switch ($nilai) {
      case '1':
        echo "$nilai=1";
        break;
      case '2':
        echo "$nilai=2";
        break;
      case '3':
        echo "$nilai=3";
        break;
      case '4':
        echo "$nilai=4";
        break;
      default:
        echo "$nilai";
    }
    ?>
    
    Pada contoh switch diatas bisa kita lihat bahwa setiap akhiran case diletakkan break. Ini fungsinya agar, pada saat variabel nilai sesuai dengan salah satu nilai case maka proses switch akan diakhiri setelah perintah break. Hal ini dikarenakan jika tidak diletakkan break maka php akan melanjutkan sampai case terakhir.

    Contoh penggunaan fungsi continue

    <?php
    for ($i = 0; $i < 5; ++$i) {
        if ($i == 2)
            continue
        echo "$i\n";
    }
    ?>
    
    Jika kode php diatas dijalankan maka hasilnya adalah menuliskan angka 0 1 3 4, pada bagian program kita lihat ada if($i == 2) continue yang artinya pada saat perulangan dengan nilai i sama dengan 2 maka perulangan mengabaikan perintah menuliskan angka 2 dan melanjutkan ke perulangan nilai berikutnya.
    Semoga bermanfaat

    Perintah include dan require dalam php

  • Eric Hermawan

  • Perintah require() dan include() dalam php digunakan untuk menyisipkan isi file tertentu menjadi bagian file yang memanggilnya. Keduanya sangat identik dalam banyak hal, kecuali cara penanganan kegagalan. include() menghasilkan suatu peringatan, sedangkan require() menghasilkan pesan kesalahan Fatal Error. Meskipun demikian, jangan takut menggunakan require() apabila anda menginginkan suatu file yang tidak ditemukan menghentikan proses terhadap halaman tersebut. include() tidak menghentikan proses tetapi melanjutkannya, jadi pastikan anda membuat include_path/alamat file yang akan disertakan benar. Berikut kita lihat cara penggunaan serta cara kerja keduanya :

    Perintah require

    Statement require() merupakan konstruksi bagi parser PHP yang digunakan untuk membuka file yang diberi dan membaca nilai variabel serta fungsi yang terdapat di dalamnya untuk kemudian mengeksekusinya. File akan diperlakukan sebagai suatu script mengeksekusinya. File akan diperlakukan sebagai suatu script PHP normal. Apabila file tersebut berisi tag-tag PHP, maka akan dievaluasi terlebih dahulu sebelum mengirimnya ke browser. Namun bila file hanya berisi teks biasa, maka file akan langsung ke browser. Statement require() tidak dapat dimasukkan dalam struktur perulangan karena hanya boleh dipanggil satu kali.
    Cara penulisan :
    <?php
      require(nama file);
    ?>

    Perintah include

    sama seperti statement require(), Statement include() jugamerupakan konstruksi bagi parser PHP yang digunakan untuk membuka dan membaca nilai variabel dari file yang dinyatakan serta fungsi yang terdapat didalamnya untuk kemudian mengeksekusinya. File akan diperlakukan sebagai suatu script mengeksekusinya. File akan diperlakukan sebagai suatu script PHP normal. Apabila file tersebut berisi tag-tag PHP, maka akan dievaluasi terlebih dahulu sebelum mengirimnya ke browser. Namun bila file hanya berisi teks biasa, maka file akan langsung ke browser. Tetapi Statement include() dapat dimasukkan dalam struktur perulangan.
    Cara penulisan :
    <?php
      include(nama file);
    ?>
    Selamat mencoba dan semoga bermanfaat

    LAYER, MASK, DAN STYLE PHOTOSHOP

  • Eric Hermawan
  • 5.1. Memahami Layer
    Layer adalah lapisan tembus pandang. Bagian yang tidak bergambar pada sebuah layer bersifat transparan. Layer dapat ditumpuk dan diatur susunannya. Dengan menggunakan layer, efek-efek akan berlaku dalam layer tertentu saja, tanpa mengganggu layer yang lain.
    5.2. Quick Mask Mode
    Quick Mask Mode digunakan untuk menyeleksi dengan menggunakan Brush Tool. Aktifkan tool ini dengan menekan tombol Q pada keyboard atau memilih tool Quick Mask Mode.
    Tutorial Adobe Photoshop - Quick Mask Mode
    Pada contoh ini, gambar beruang di seleksi dengan menggunakan Brush Tool pada mode quick mask. Setelah gambar beruang terseleksi, kembalikan ke mode normal untuk menghasilkan seleksi gambar beruang.
    5.3. Layer Mask
    Layer Mask digunakan untuk menyembunyikan bagian tertentu pada layer. Gunakan warna hitam untuk menyembunyikan gambar dan warna putih untuk menampilkan gambar.
    Tutorial Adobe Photoshop - Layer Mask
    5.4. Layer Style
    Layer Style merupakan teknik memberikan efek tertentu pada suatu layer. Pilih tool Add Layer Style yang ada pada sudut kanan bawah pallete.
    Tutorial Adobe Photoshop - Layer Style

    TEKS DAN VEKTOR PHOTOSHOP

  • Eric Hermawan
  • 4.1. Horisontal Type Tool
    Horisontal Type Tool digunakan untuk membuat teks secar horisontal. Hasil teks dapat dipindahkan dengan Move Tool.
    Tutorial Adobe Photoshop - Horisontal Type Tool
    4.2. Horisontal Type Mask Tool
    Horisontal Type Mask Tool digunakan untuk menyeleksi dalam bentuk teks.
    4.3. Pen Tool
    Peen Tool digunakan untuk membuat garis lurus dan garis lengkung dalam bentuk vektor. Klik sekali untuk membuat anchor point, kemudian jika kurva telah terbentuk, drag anchor point untuk membuat direction point. Path yang dibuat oleh Pen Tool dapat diubah menjadi selection.
    4.4. Rectangle, Ellipse, Poligon, dan Custom Shape Tool
    Tool ini berguna untuk menghasilkan bentuk kotak (rectangle), ellips, poligon, dan berbagai macam bentuk lain yang telah disediakan oleh Adobne Photoshop. Bentuk-bentuk tersebut misalnya hati, lampu, not balok, dan lain sebagainya.

    PERMAINAN WARNA PHOTOSHOP

  • Eric Hermawan
  • 3.1. Sekilas mengenai warna
    Warna apapun dapat dinyatakan dalam tiga warna dasar (RGB) yaitu merah, hijau, dan biru. Cara menyatakan warna yang lain adalah dengan mode HSL yaitu Hue, Saturation, dan Lightness. Mode lain adalah CMYK (Cyan, Magenta, Yellow, Black).
    Pada bab ini akan dibahas mengenai permainan warna, mulai dari mengatur latar belakang gambar, membuat gradient, mengatur brightness & contrast, dan masih banyak lagi tool-tool yang menarik. Pada subbab selanjutnya Anda dapat langsung praktek dengan didampingi instruktur.
    3.2. Paint Bucket Tool
    Paint Bucket Tool digunakan untuk mengganti background yang memiliki warna sama atau mirip. Background dapat diganti dengan pattern.
    3.3. Gradient Tool
    Gradient tool digunakan untuk menghasilkan warna gradasi. Jangan lupa lakukan seleksi terlebih dahulu bagian mana yang akan diisi warna gradasi. Jika tidak, maka seluruh kanvas terisi dengan gradasi.
    3.4. Brush Tool
    Brush Tool digunakan sebagai kuas dalam mengambar dengan mouse. Atur besar kecilnya brush, hardness, opacity, dan flow. Bush Tool dapat juga bekerja pada mode Air Brush.
    3.5. Brightness/Contrast
    Brightness digunakan untuk mengatur kecerahan gambar. Contrast digunakan untuk mengatur ketajaman gambar. Gunakan menu Image -> Adjustment -> Brightness/Contrast.
    3.6. Level
    Level berfungsi mirip dengan Brightness/Contrast namun lebih fleksible karena warna dapat diatur warna gelap, warna menengah, dan warna terang. Level dapat bekerja pada selection atau seluruh kanvas. Gunakan menu Image -> Adjustment -> Level.
    3.7. Curves
    Curves bekerja seperti level, namun Anda mengatur warna RGB dalam bentuk curva. Gunakan menu Image -> Adjustment -> Curves. Curva dapat diatur otomatis, mode RGB atau diatur sendiri-sendiri untuk tiap-tiap warna.
    3.8. Color Balance
    Melalui menu Image -> Adjustment -> Color Balance kita dapat mengatur keseimbangan warna.
    3.9. Photo Filter
    Photo filter digunakan untuk memberikan filter pada gambar. Mirip seperti filter yang diletakkan di depan lensa kamera. Gunakan menu Image -> Adjustment -> Photofilter.
    3.10. Replace Color
    Replace Color digunakan untuk mengganti warna tertentu dalam gambar, sedangkan warna yang lain tidak ikut berubah. Misalnya untuk mengganti warna apel dengan tanpa mengubah warna background. Gunakan menu Image -> Adjusments -> Replace Color.
    3.11. Hue/Saturation
    Hue/Saturation digunakan untuk mengganti warna pada keseluruhan gambar/seleksi. Hue adalah warna, sedangkan Saturation adalah tebal/tipisnya warna. Gunakan tool ini melalui Image -> Adjustment -> Hue/Saturation. Perubahan warna dapat diatur pada chanel master, atau tiap-tiap warna.
    3.12. Match Color
    Match Color akan menyamakan warna gambar source kepada gambar yang akan diubah. Misalnya di sini akan diubah gambar danau3.jpg, menjadi suasana matahati terbit seperti gambar acuan. Gunakan tool ini melalui menu Image -> Adjustment -> Match Color.
    Tutorial Adobe Photoshop - Match Color
    Tutorial Adobe Photoshop - Match Color

    SELECTION & TOOL PHOTOSHOP

  • Eric Hermawan
  • 2.1. Menyeleksi Gambar
    Menyeleksi berarti memilih bagian tertentu dari gambar. Dengan seleksi kita dapat mengcopy, mengubah, menggeser, atau menambahkan efek kepada bagian yang terseleksi tanpa mempengaruhi bagian lain.
    Ada tiga cara menyeleksi yaitu:
    1. Marquee Tool, yaitu menyeleksi dalam bentuk kotak, elips, row, dan kolom
    2. Lasso Tool, untuk menyeleksi dalam bentuk bebas, poligonal atau kekontrasan gambar (Magnetic Lasso Tool).
    3. Magic Wand Tool, untuk menyeleksi berdasarkan persamaan warna.
    Tipe seleksi ada dua (dapat dipilih pada Option Bar), yaitu:
    1. Normal, memiliki pinggiran yang tajam.
    2. Feather, memiliki pinggiran yang halus atau kabur.
    2.2. Tool-tool yang lain
    Tool pada Adobe Photoshop
    2.3. Praktek Bab II
    2.3.1. Rectangular Marquee Tool
    Gunakan rectangular marquee tool untuk memotong gambar dalam bentuk kotak. Gunakan menu Select -> Transform Selection untuk mengubah seleksi dan menu Select -> Feather untuk mengatur ketajaman pinggiran potongan.
    2.3.2. Elliptical Marquee Tool
    Digunakan untuk membuat seleksi elips atau lingkaran. Anda dapat menggunakan Select -> Transform Selection (atau klik kanan) untuk mengubah bidang yang mau diseleksi. Gunakan menu Select -> Feather untuk mengatur ketajaman tepi gambar. Gunakan Select -> Inverse untuk membalik seleksi.
    2.3.3. Lasso Tool
    Seleksi ini digunakan untuk menyeleksi bentuk bebas dengan mouse.
    2.3.4. Polygonal Lasso Tool
    Polygonal Lasso Tool digunakan untuk menyeleksi gambar yang memiliki tepi garis lurus, misalnya piramida pada gambar 2.5. Jika tombol Alt ditekan maka Polygonal Lasso Tool akan berfungsi seperti Lasso Tool biasa. Contoh gambar hasil seleksi piramida diperkecil dan diletakkan pada sudut kanan bawah.
    2.3.5. Magnetic Lasso Tool
    Magnetic Lasso Tool penggunaanya cukup mudah, karena dengan tool ini seleksi gambar akan secara otomatis membuat garis seleksi pada gambar yang berwarna kontras.
    2.3.6. Magic Wand Tool
    Magic wand tool akan menyeleksi gambar yang memiliki warna sama.
    Tutorial Adobe Photoshop - Magic Wand tool
    2.3.3. Crop Tool
    Crop tool digunakan untuk menghilangkan bagian yang tidak diseleksi. Contoh penggunaanya di sini digunakan untuk memperbaiki hasil scan yang miring.
    2.3.3. Healing Brush Tool
    Healing Brush Tool digunakan untuk memperbaiki gambar pada bagian tertentu. Aktifkan tool ini, kemudian tekan Alt + Klik pada objek pada bagian yang tidak berkeriput, kemudian klik pada bagian yang keriputnya ingin dihilangkan.
    2.3.4. Spot Healing Brush Tool
    Spot Healing Brush Tool digunakan untuk memperbaiki kerusakan gambar. Di sini Anda tidak perlu menentukan area yang akan digunakan sebagai patokan, karena akan secara otomatis terpilih dari area di sekitarnya. Misalnya digunakan untuk menghilangkan keretakan pada patung seperti pada gambar 2.10.
    Tool ini merupakan tool baru pada Adobe Photoshop CS2 yang tidak ada pada versi sebelumnya.
    2.3.5. Patch Tool
    Patch Tool digunakan untuk memperbaiki gambar. Tool ini dibuat dengan cara membuat selection dengan mouse atau dengan menahan tombol ALT untuk menghasilkan bentuk poligonal. Selanjutnya drag ke daerah yang akan dijadikan patokan perbaikan.
    2.3.6. Red Eye Tool
    Red Eye Tool digunakan untuk memperbaiki warna merah pada mata.
    2.3.7. Clone Stamp Tool
    Clone Stamp Tool digunakan untuk membuat duplikat area pada gambar, atau yang disebut cloning. Tekan ALT pada objek yang akan dikloning, kemudian gunakan mouse pada area tempat objek baru mau diletakkan.
    2.3.8. Background Eraser Tool
    Tool ini digunakan untuk menghapus background yang memiliki kemiripan warna. Misalnya digunakan untuk menghapus background langit pada gambar kupu-kupu.
    2.3.9. Magic Eraser Tool
    Seperti Background Eraser Tool, tool ini akan menghapus area dengan warna sama, namun efeknya adalah ke seluruh gambar, bukan hanya area yang diklik.
    2.3.10. Color Replacement Tool
    Color Replacement Tool akan mengubah warna gambar tanpa mengubah bentuk dari gambar tersebut. Tool ini akan secara otomatis hanya mengubah area dengan warna sama menjadi warna lain yang dikehendaki.
    2.3.11. Blur, Sharpen, dan Smugde Tool
    Blur Tool digunakan untuk mengaburkan area. Misalnya digunakan untuk menghilangkan bintik-bintik pada wajah. Sharpen Tool merupakan kebalikan dari Blur Tool. Dengan Sharpen Tool, gambar akan menjadi lebih tajam. Smugde Tool digunakan untuk mengubah bentuk gambar dengan cara drag mouse.
    2.3.12. Dogde, Burn, dan Sponge Tool
    Dogde Tool digunakan untuk membuat area menjadi lebih terang. Burn Tool digunakan untuk mempergelap area. Spong Tool digunakan untuk mencerahkan (saturate) atau mengurangi warna (desaturate).

    MENGENAL ADOBE PHOTOSHOP

  • Eric Hermawan
  • 1.1. Apa itu Adobe Photoshop?
    Adobe Photoshop adalah software pengolah gambar yang sangat powerfull dengan segala fasilitasnya. Hasil gambar olah dengan Adobe Photoshop ini banyak dilihat di berbagai website, brosur, koran, majalah, dan media lainnya. Untuk download Adobe Photoshop klik di sini.
    1.2. Mengenal Area Kerja
    Jalankan Adobe Photoshop kemudian pilih menu File -> Open. Kemudian pilih buka gambar apa saja. Sebagai contoh di buka gambar zhaow.jpg yang ada pada CD Tutorial bagian BAB I (lihat gambar 1.1).
    Mengenal Area Kerja Adobe Photoshop
    Seringkali letak tool-tool (palette) Adobe Photoshop sudah berubah dimodifikasi oleh pengguna sebelumnya. Untuk mengembalikan letak palette ini gunakan menu Windows -> Workspace -> Reset Palette Location.
    Area kerja Adobe Photoshop dapat dilihat pada gambar 1.1, yaitu:
    A : Menu Bar, berisi perintah utama untuk membuka file, save, mengubah ukuran gambar, filter dan lain-lain.
    B : Option, berisi pilihan dari tool yang Anda pilih. Misalnya dipilih kuas/brush, maka ukuran/diameter brush ada di sini.
    C : Gambar, menampilkan gambar yang sedang dibuat atau diedit.
    D : Pallete Well, cara cepat untuk mengakses palet brushes, tool resets dan Layer Comps. Juga dapat digunakan untuk meletakkan palet yang sering digunakan.
    E : Toolbox, berisi tool untuk menyeleksi dan memodifikasi gambar.
    F : Palette, berisi jendela-jendela kecil yang di dalamnya terdapat perintah dan pilihan untuk dokumen/gambar yang sedang dikerjakan.
    1.3. Praktek Bab 1
    1.3.1. Membuka dokumen dan membuat duplikat dokumen
    Untuk membuka gambar gunakan menu File -> Open, sedangkan untuk membuat duplikat gambar gunakan menu Image -> Duplicate.
    1.3.2. Mengubah ukuran gambar dan kanvas
    Jika ukuran gambar diubah, maka gambar akan membesar atau mengecil, lakukan dengan menu Image -> Image Size. Jika ukuran kanvas diubah, maka ukuran gambar tetap, akan ada kertas putih di sekeliling gambar, lakukan dengan menu Image -> Canvas Size.
    1.3.3. Mencoba ToolBox
    Cobalah tool-tool pada ToolBox, satu persatu akan dibahas pada bab berikutnya. Coba klik kanan pada tool yang memiliki segitiga di bagian kanan bawah untuk memilih tool yang tersembunyi.
    1.3.4. Mencerminkan dan Memutar Gambar
    Cobalah menu Image -> Rotate Canvas -> Flip Canvas Vertikal, Image -> Rotate Canvas -> Flip Canvas Horisontal. Untuk memutar gambar, pilih menu Image -> Rotate Canvas -> pilih sudut yang dikehendaki.
    1.3.5. Undo
    Undo digunakan untuk membatalkan perintah terakhir, tekan Alt+Ctrl+Z, atau gunakan pallete history.
    1.3.6. Memindahkan gambar ke dokumen lain
    Untuk memindahkan gambar gunakan Move Tool.
    1.3.7. Save for web
    Gunakan menu File -> Save for Web untuk menghasilkan gambar dengan ukuran kecil yang biasa digunakan pada web site.

    Pengenalan Page Properties Di Dreamweaver

  • Eric Hermawan
  • Page Properties adalah fasilitas untuk mengubah properti dasar sebuah dokumen Web, seperti judul halaman, warna-warna link, dsb. Untuk membuka Page Properties klik Modify > Page Properties. Lihat Gambar. Title untuk menentukan judul dokumen. Background Image tempat memasukkan gambar sebagai latar belakang. Background menentukan warna latar. Text untuk menentukan warna teks. Links mengubah warna link. Visited Link mengubah warna link yang telah dikunjungi. Active Link mengubah warna link yang sedang diklik. Margin menentukan margin halaman. Semua elemen ini memiliki padanannya di dalam kode HTML, yaitu dalam atribut elemen <body>. Selain mengubah format tampilan melalui Page Properties, kita juga dapat melakukannya dengan CSS (Cascading Style Sheet) yang akan kita bahas pada tutorial bagian lain. Setelah selesai, Anda dapat melihat tampilannya di browser (Gambar).
     
    (c) Copyright 2012 Aneka BOLA. gubhugsport by Eric Hermawan