Jumat, 25 Februari 2011

Membuat grafik simpel untuk web dengan HTML

Bagi yang senang bermain dengan HTML, suatu ketika akan berhadapan dengan sistem informasi berbasis web. Kadang sistem informasi tersebut memerlukan bantuan visualisasi dengan grafik. Dalam PHP telah disediakan fitur dengan menggunakan JPGraph atau libPNG untuk men-generate grafik dan menjadi gambar image. Namun demikian, tidak semua web server apache, php, mysql langsung disupport dengan kelengkapan tambahan library tersebut.Untuk mengatasinya, kita dapat menggunakan beberapa teknik sederhana untuk membuat sebuah grafik. Kuncinya adalah di HTML saja.

Sebagai contoh saya memiliki data sebagai berikut:

AsemsaurusBimosaurusCocotsaurusDengkulmusaurus
10% 20% 60% 10%

Dan kita akan menjadikan perolehan angka Asemsaurus, Bimosaurus, Cocotsaurus, Dengkulmusaurus tersebut pada Grafik seperti ini:

Asemsaurus
10%
Bimosaurus
20%
Cocotsaurus
60%
Dengkulmusaurus
10%



Nah bagaimana tekniknya?

Sederhana saja. Yaitu dengan cara membuat sebuah background warna, yang widthnya adalah disesuaikan dengan variabel angka. Untuk penggunaan persen, dapat langsung menggunakan persentase lebar.

<div style="background:#3399ff; text-align:center; float:left; width:10%">10%</div>


akan menghasilkan elemen seperti berikut:

10%


Angka 10% yang dimiliki, akan digunakan untuk menyesuaikan lebarnya grafik. Mudah bukan? Untuk tabel di atas, kira-kira scriptnya adalah seperti demikian:

Script:

<table>
<tr style="height:15px;">
<th style="background:#ffffff;; color:#000000;">Asemsaurus</th>
<td style="width:300px">

<div style="background:#ff0000; text-align:center; float:left; width:10%">10%</div>


</td></tr>

<tr style="height:15px;">
<th style="background:#ffffff; color:#000000;">Bimosaurus</th>
<td style="width:300px">

<div style="background:#99ff33; text-align:center; float:left; width:20%">20%</div>


</td>

</tr>
<tr style="height:15px;">
<th style="background:#ffffff; color:#000000;">Cocotsaurus</th>
<td style="width:300px">

<div style="background:#ff6633; text-align:center; float:left; width:60%">60%</div>


</td>

</tr>
<tr style="height:15px;">
<th style="background:#ffffff; color:#000000;">Dengkulmusaurus</th>
<td style="width:300px">

<div style="background:#3399ff; text-align:center; float:left; width:10%">10%</div>

</td>

</tr>
</table>



bimosaurus



Nah, selanjutnya progammer PHP dapat melakukan pengambilan nilai dari database atau dari sebuah input untuk kemudian dimasukkan dalam value yang akan dijadikan sebagai width tersebut, yang akan saya posting, kapan-kapan..CMIIW



Sekian

Bimosaurus

40 komentar:

  1. wuhahahaaa....
    kosik... iki kok threaded - chronological - karo jumlah comment ilang :))

    wasyuuuueeeemmmmmmm.....
    wongedanraurus tenaaaan

    BalasHapus
  2. jump to next reply membuatku tak mampu berkeliaran bebas di mari :))
    threaded mendelep di sini :))

    siaaallll

    BalasHapus
  3. jangan berprasangka lho, kui dudu karepku hahaha

    BalasHapus
  4. *berprasangka*
    wong cuma berlaku di themes ini kok
    wuuuuuu :p

    BalasHapus
  5. lha nek warna font ki podo karo background e yo jelas ra iso diwoco.. Jal diselect sik :)

    BalasHapus
  6. Sik yohh, mati lampu jew..bar ono sing meledak mau nun jakal..mbuh tekan pirang jam iki terlunta lunta cuma berbody gitar

    mau ki yo wes tak select, tp rag metu jew.. Wahh...

    BalasHapus
  7. Wah,, aku bermasalah sama post dan get dalam hitung karakter.

    Jadi itu php sending sms udah jalan, tp sebelum dikirim mau dicek dulu berapa karakternya dengan tekan tombol submit. Eh submitku dua-dunya masuk post. Harusnya kan submit karakter masuk ke post di dalam get, yang nantinya masuk ke post sending sms-nya.
    Ato logikaku kebalik yoo,, heumm

    BalasHapus
  8. hitung karakter e tak wenehi script e.. Hitung karakter jangan diproses di server side nya../ php tapi di sisi browser (client side) dengan menggunakan javascript.. sik tunggu

    BalasHapus
  9. <script type="text/javascript">



    function textCounter(field, countfield, maxlimit)

    {

    if (field.value.length > maxlimit)

    field.value = field.value.substring(0, maxlimit);

    else

    countfield.value = maxlimit - field.value.length;

    }

    </script>









    <form method="post" action="?mod=send&post=yes">



    <table class="table-common">
    <tr><td>NO HP</td><td><input type="text" name="noHP"></td></tr>


    <tr><td>SMS</td><td><textarea name="sms" rows="5" cols="30" wrap="soft" id="sms" onKeyDown="textCounter(this.form.sms,this.form.cmsg,160);" onKeyUp="textCounter(this.form.sms,this.form.cmsg,160);"></textarea></td></tr>

    <tr><td>Jml</td><td><input name="cmsg" type="text" id="cmsg" value="160" size="3"></td></tr>

    <tr><td></td><td><input type="submit" value="KIRIM"></td></tr>

    </table>



    </form>

    bimosaurus

    BalasHapus
  10. Asem, tetangga sebelah belon nyala inet, still manual henpon. Hiks.. Tak bergetar pula.. Huhuu..

    BalasHapus
  11. mengko hasile seperti ini.. tapi karang yo nang kene ra iso dolanan TULISAN JAWA (javascript dibreidel pak pez) yo nang kene ra mlaku





    NO HPSMS

    Jml

    BalasHapus
  12. Lohh,,, otomatis keluar toh, gut gutt...
    Langsung ngerun per karakter?

    Soale wingi baca nek php susah ngerun per karakter. Ternyata pake japakrip

    BalasHapus
  13. Kerjo meneh, koding meneh, desain meneh, dan upload sing wingi korup meneh

    BalasHapus
  14. So so so... Bengi2 enake turu..
    Mati lampuuuu

    BalasHapus
  15. JFYI ... :) pas aku telpon bojoku, aku weruh sesuatu dan aku berlari ke bawah sing terang.. soale nang nduwur lampune peteng ndedhet

    BalasHapus
  16. haduw malah kebelet libil nang mburi :(

    BalasHapus
  17. cermati wae sing nang server kang.. karo tak oprek :)

    BalasHapus
  18. nang kantorku mau bengi ono pocongan... :)


    Off sik

    BalasHapus