Error deprecated di PHP 5.3.X


pesan error pada PHP versi 5.3.x disebabkan karena ada ratusan bugs untuk versi 5.3 terutama 5.3.0. terbukti php dot net sendiri masih melakukan develop utk versi 5.2 nya.. ga tau kenapa ambisi update versi ini malah membuatnya tak stabil, malahan dah ada planing tuh launching php versi 6.x

Jika anda menggunakan xampp, update xampp anda dengan yang lebih baru, atau update php nya saja ke yang lebih baru, kebanyakan error pada penanganan object. Daripada harus edit satu-satu coding yang sudah dibikin, mending update versi php nya…

Untuk keamanan data anda, backuplah dulu project anda sebelum diupdate.

Saya lebih suka pakai versi update karena banyak fungsi baru yg built in dan karena keamanan aplikasi.

Jika pesan error anda adalah Function bla bla is deprecated in some path, itu adalah pemberitahuan dari php bahwa fungsi atau parameter yang disebutkan akan dihapus di versi php berikutnya..

jadi segera benahi coding anda, mulai sekarang…

Posted in PHPComments (3)

Selamat jalan Gus Dur


Kami akan slalu bangga padamu, kami akan slalu mengenang jasa-jasamu…

Kami tak lupa humor-humor segarmu, yang bikin kami tersenyum dan berpikir secara bersamaan..

Gus… meski kini engkau talah tiada, tapi semangat dan perjuanganmu tak akan pernah padam…

Semoga Engkau ditempatkan di tempat yang layak disisi-Nya…

Posted in UmumComments (0)

Wifi sering mati sendiri pada laptop lenovo B450


Pengalaman pertama pake lenovo, karena sebelumnya setia sama acer n toshiba.

Intel inside, saya baru coba karena biasanya AMD mania, setelah laptop acer saya rusak parah, mati total, dengan kondisi board processor rusak kata tukang servis di acer center mangga dua.

males banget karena harga spare partnya 3.350.000,- itupun butuh waktu sekitar 3 bulan dan tidak ada jaminan stok ada, katanya.

akhirnya saya ambil tuh dari tukang servis laptop merk bantal, trus langsung ke seberang tuk beli lenovo B450 yang murah meriah, harga dual core cuma 4.5jt.

Pulang bawa 2 laptop yang satu ditaruh bawah lemari satunya diatas meja.

instal linux ubuntu gagal, instal fedora gagal juga, akhirnya pake mandriva dan oke. tapi sayang banya drivernya ga kedetek.

tak coba lagi instal vista, driver bawaannya vista jadi kedetek semua.. namun sayang masalah muncul wifi sering mati sendiri.

lagi lagi saya ubah os nya menjadi win xp, eh malah driver xp yg q download dari webnya lenovo ga mau diinstall. wuih capek deh..

terakhir saya pake win7 prof edition trial. mak nyus tanpa harus install driver semua sudah kedetek, mulai vga, wifi, lan, card reader, dll.

eh tau nya masalah wifi mati sendiri lagi trus kalo ga direstart ga mau hidup. asem. akhirnya q coba download driver wifi terbaru untuk win 7 32bit. di http://consumersupport.lenovo.com/en/DriversDownloads/drivers.html

Jika masalah tetap muncul, coba buka device manager, klik kanan pada wifi, pilih power management, dan hilangkan centang pada tulisan “allow the computer to turn of this device to save power” kemudian klik “oke”, restart komp.

tak restart trus q pake ym an, pake fesbukan, pake cam2an, oke dan belum ada tanda2 mati lagi..

secara barang, lenovo B450 lumayan, harga miring, fitur agak lengkap, spec gede, dan body tak jelek2 amat.

Posted in UmumComments (1)

Penyebab Migren (Sakit Kepala Sebelah)


Jika Anda sudah mengalami migren berkali-kali dan dalam kondisi yang serupa, maka besar kemungkinan Anda sudah tahu pemicu pada diri Anda. Namun, jika Anda masih juga belum mengetahui penyebab migren Anda, mungkin sudah saatnya Anda mencatat hal-hal yang Anda lakukan atau minum sebelum si migren kumat. Untuk mencegah si migren kambuh, berikut adalah hal-hal yang ditengarai menjadi pemicu migren. Apakah salah satunya yang sering menjadi pemicu migren Anda?

1. Bobot tubuh
BMI (Body Mass Index/Indeks Massa Tubuh) memengaruhi kesehatan seseorang. Para peneliti menemukan bahwa wanita dengan kondisi obesitas sedang (BMI sekitar 30), memiliki kenaikan 35 persen risiko terkena sakit kepala ketimbang mereka yang BMI-nya lebih rendah. Obesitas kelas tinggi (BMI di atas 40) memiliki kemungkinan sakit kepala lebih sering hingga 80 persen.

2. Kepribadian
Beberapa sifat seseorang, termasuk mabuk kekuasaan, pendiam, pemarah, dan obsesif membuat Anda lebih mudah terkena migren. Jika Anda memiliki salah satu sifat tersebut, ada baiknya untuk mengikuti kelas relaksasi.

3. Orgasme
Dalam satu survei, sebanyak 46 persen penderita sakit kepala yang berulang mengatakan bahwa penyebab sakit kepalanya adalah seks. Biasanya, ini merupakan sakit kepala yang timbul akibat kerja keras (yang juga sering dialami oleh pelari dan atlet angkat beban). Pada tahap ini, akan terasa sakit yang lamban, dimulai sejak pemanasan atau mendadak pening ketika mencapai orgasme (kebanyakan dialami oleh pria). Di beberapa kasus yang jarang, sakit kepala yang begitu hebat bisa terjadi akibat tumor dan penyempitan pembuluh darah. Pada kebanyakan orang, sakit kepala akibat seks tak terlalu berbahaya.

4. Terlalu banyak tidur
Biasanya di hari-hari kerja, kita merasa amat kelelahan, dan begitu menemukan libur panjang, kita membalas dendam dengan tidur yang lama. Menurut penulis What Your Doctor May Not Tell You About Migraines, Alexander Mauskop, MD, ini terjadi akibat perubahan rutinitas mendadak. Pertahankan kebiasaan dan rutinitas tidur Anda secara perlahan. Jika Anda biasa tidur 8 jam, jangan tiba-tiba memperpanjang jam tidur menjadi 10 jam atau tetap berbaring padahal sebenarnya Anda sudah tak lagi mengantuk. Ini bisa membuat kepala Anda sakit.

5. Bau cat
Cat tradisional bisa menyebabkan sakit kepala. Jika ada bagian rumah Anda yang baru saja dicat, usahakan untuk tidak memasuki ruangan tersebut. Setidaknya tutuplah pintu ruangan tersebut, dan taruh kopi bubuk di wadah, lalu taruh di pojok ruangan. Bubuk kopi bisa menyerap bau cat.

6. Dehidrasi
Kekurangan cairan pun bisa mengakibatkan migren. Anda tak perlu minum air bergalon-galon. Air dari buah-buahan dan sayur pun bisa membantu, karena vitamin dan cairan ada di dalamnya.

7. Melewatkan waktu makan
Kelaparan adalah salah satu pemicu sakit kepala yang paling umum. Bisa menyebabkan kekurangan asupan pada otak dan membuat Anda tak bisa berpikir.

8. Terlalu banyak kafein
Sedikit kafein bisa menyembuhkan sakit kepala, namun jika terlalu banyak, justru bisa memicu. Neurolog asal New York, Audrey Halpern, MD, mengatakan, jika kafein adalah penyebab sakit kepala, kurangi asupannya perlahan-lahan hingga hanya meminumnya tak lebih dari 2 cangkir seminggu.

9. Kurang bergerak
Sebuah studi di Swedia mengatakan, bahwa mereka yang kurang aktif lebih banyak terkena sakit kepala dibandingkan mereka yang sering berolahraga. Coba lakukan latihan kardio setidaknya 20-30 menit per hari, 5 hari seminggu. Hal ini baik untuk mengurangi stres, mengirimkan darah ke otak, dan mengalirkan endorfin ke seluruh tubuh. Namun, sebaiknya konsultasi dengan dokter Anda sebelum mulai berolahraga, karena olahraga bisa menjadi salah satu pemicu bagi sebagian orang.

10. Kekurangan tidur
Sebuah studi besar-besaran menyatakan, bahwa mereka yang tidur 6 jam atau kurang pada malam hari memiliki risiko lebih besar untuk sakit kepala yang parah dan sering, ketimbang mereka yang lebih banyak waktu tidur. Beberapa makanan pun bisa memicu sakit kepala. Maka, jangan lupa untuk mencatat makanan apa saja yang memicu sakit kepala Anda. Beberapa makanan yang mengandung magnesium, seperti bayam, buncis, kacang polong, atau whole grain, dipercaya bisa mengurangi rasa sakit kepala.

Sumber: kompas

Posted in UmumComments (1)

SMS Temanku, Belajar facebook


Nih, barusan temenku, mr. M (temen sekampung) sms ingin diajarin cara mendaftar di facebook, trus q balesin tuh satu persatu sms nya, kira-kira begini:

mr M: beng, warahi aq gae facebook yoo
beng: Oke, u wes nang ngarep komp?

mr M: wes, aq yo wes ndue email
beng: sippp, buka en, browser firefox, nek ga ngono internet explorer…

mr M: browser ki opo?
beng: klik menu start trus golekono tulisane Internet explorer

mr M: trus pye?
beng: ketik di kotak paling atas, “www.facebook.com” trus enter

mr M: oke, trus???
beng: nek wes metu gambare, isinen form pendaftaran sesuai yg ada

mr M: ngendi ne seng di isi, kok ga ono opo2…
beng: mosok, nang layar ono tulisan opo?

mr M: mung tulisan tok, nduwor dewe ono tulisan “The page cannot be displayed”
beng: wah, kliru paling lek mu nulis nduwure

mr M: wes bener kok, www.facebook.com
beng: ehm, mungkin koneksi internetmu mati..

mr M: opo butuh internet, ndek omah ga ono internete..
beng: a*****m…..drijiku sampe kriting… tibake nggletek..

mr M: ooo, yo wes, kapan2 ae lek aq nang warnet tak sms neh… suwon yoo…
beng: podo2, emailmu opo?

mr M: www.cahganteng2000@yahoo.com, digaweke kancaku, tapi rung tau tak bukak
beng: waduh.. email kok ono www ne ki piye…

mr M: www opo?
beng: Wassalamualaikum Warahmatullah Wabarakatuh….

Wetengku ngelu…

Posted in Kata-kataComments (7)

Dinamika chating dengan webcam


Ini adalah kisah temanku yang maniak chating, biasanya yang dia pake webcam adalah kamera di hp N95 nya, software yang digunakan adalah WWIGO {webcam Wherever I Go}, selain bisa digunakan utk chating, camera hp juga bisa dipake CCTV, merekam aktivitas ruangan yg dapat disimpan di PC/HP, format bisa mp4, avi, dll. bahkan bisa dipake dengan koneksi bluetooth.. Yang bikin tambah mek nyus, aplikasi ini gratis booo…

Nah, gini nih ceritanya, dia punya temen di facebook, anggap aja nama temenku Mr P trus temen facebook cewe tadi namanya Mrs W..

awalnya temenku yang masih jomblo tadi mengirim pesan lewat message di FB, ternyata selalu direspon sama Mrs W. Tiap malam, selalu saling membalas pesan, karena si Mrs W pake HP buat FBan, si Mr P pake komputer, cz dia memang berniat nyari jodoh…

Lama-lama Mr P jenuh juga tuh bolas bales pesan, apalagi di FB Mrs W fotonya cuma satu, kelihatan separo lagi mukanya. Suatu saat Mr P ngajak chating lewat YM yang bisa pake webcam, setelah di provokasi (bilang bisa liat muka, bisa ngomong gratis, dll) akhirnya Mrs W mau juga berkorban ke warnet.

Keesokan harinya Mrs W sudah di warnet, dan Mr P sudah menunggu di YM, terjadilah percakapan seru:
Mr P: Halo.. Halo…
Mrs W: Iya mas…

Mr P : sudah konek lum?
Mrs W : sudah dunk mas

Mr P : thanks ya dah mau ke warnet
Mrs W : iya cz aq juga pengen banget chat yg bisa lgsg liat orangnya n denger suaranya

Mr P : langsung dimulai yuks
Mrs W : yuks, gimana caranya

Mr P : km logout dulu dari yahoo, jangan chat lewat email, tp download dulu softwarenya YM
Mrs W : oke, tunggu ya.. aku mau download dulu YM nya

Mrs W : oh iya, downloadnya dimana?
Mr P : di yahoo.com/messenger

Mrs W : oke mas, udah ketemu, aq logout dulu ya dari email
Mr P : oke, jgn lama2 ya :D

si Mr P deg2an juga, untuk menambah rasa PEDE dia segera liat cermin,
pake sisiran, pake pelembab, sampe dia senyum2 sendiri liat dirinya dalam cermin. Lalu….

Mrs W : udah mas
Mr P : ini dah pake ym

Mrs W : sudah, gimana nyalain videonya
Mr P : lihat dimenu action pilih “view webcam”

Mrs W : oke, kok ga da gambarnya, ada tulisan “waiting for permission from xxx”
Mr P : bentar aq approve dulu

si Mr P memasang mukanya di webcam, berpose kanan kiri dengan senyum merekah

Mr P : gimana udah keluar
Mrs W : udah mas, ternyata mas ga jelek2 amat, lmyn cakep hihi

Mr P : trims atas pujiannya, km termasuk org ke 99 yg bilang gitu
Mrs W : masa sih, yg 98 org blgnya gimana

Mr P : bilang gini, km ga jelek2 amat, tp ga cakep blas haha
Mr P : oh iya, cam kamu mana? udh q request kok statusnya tetep not conected
Mrs W : gimana nyalain webcam aq

Mr P : di menu action klik menu “invit to view my webcam”
Mrs W : oke sudah, tp ga ada gambarnya, cuma status not conected

Mr P : kok sama ya… mgkn error komputer km
Mrs W : masa error mas, mau pindah komputer disini full

Mr P : gimana ya, aq kan pengin liat kamu
Mrs W : kl pake voice aja gmn mas

Mr P : males ah, ga bisa liat mukanya
Mrs W : lha trus gmn dong

Mr P : coba tanya operator
Mrs W : bentar ya, aq mo ke operator

Mr P : jgn lama2 ya.. dah ga tahan nih.. :P
Mrs W : mas, kata operator memang ga bisa cz disini ga ada webcamnya

mr P langsung down, lalu camnya di matiin

Mr P : sory camq error
Mrs W : knp mas, jgn marah donk

Mr P : aq ga marah, cm kecewa aja
Mrs W : maaf deh, kan aq ga tau

Mr P : (sambil mikir, n bcr dalam hati) mungkin dia pura2 bego, karena malu liatin mukanya yg jelek ke aq yg ganteng ini
Mrs W : (bcr dlm hati jg) jgn2 dia marah, udah ga cakep, pemarah lagi, dasar cowo o on..

Mr P & Mrs W : bareng2 bilang “bye bye”…

Tamat, keduanya ga melakukan komunikasi lagi sampai hari ini…
Kasihan ya…

cerita ini sengaja saya samarkan namanya, jika ada yg punya pengalaman sama, bisa jadi ini adalah kisah cinta anda yg tak tergapai… bersabarlah…

Posted in Internet, UmumComments (2)

Hubungan antara matematika dan komputer


keterkaitan antara matematika dan komputer ada dalam dua hal

Matematika dapat mencari persamaan logika yang rasional yang dapat di terjemahkan ke dalam komputer melalui bahasa pemrograman.

Komputer dapat melakukan perhitungan logika rasional matematis secara cepat dan tepat.

keterbatasan komputer dapat di atasi dengan logika matematis, sedangkan persoalan matematis dapat di komputerisasikan layaknya menghitung banyaknya pasir dalam timbangan.

Posted in UmumComments (0)

Implementasi ajax dalam mengirim isi textarea kedalam file


Sebenarnya tulisan ini dari request di komentar, yang minta contoh penggunaan ajax.

kali ini saya tidak akan ngomong panjang tentang ajax, karena di tulisan sebelum2nya sudah dibahas detail teorinya, judul disinikan implementasi, jadi praktek only. oke

Visi tulisan ini adalah:
- implementasi ajax dengan prototype.js
- mengirim nilai textarea
- menulisi file dengan ajax
- mendeteksi respon

Misi tulisan ini adalah:
1. memanggil ajax
2. membuat form texarea
3. membuat script request
4. membuat file baru yg berisi script penampung proses
5. mendeteksi keluaran

File utama.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mengirim isi textarea ke dalam file</title>
<script src="prototype.js" type="text/javascript"></script>
<script language="javascript">
      function validasi(){
      if($("listData").value == ""){
        alert('Textarea jangan kosong doonkkk');
        $("listData").focus();
        return false;
      }
      return true;
      }
      function listData(){
          if($("listData").value != ""){
              var dListData = $('listData').value;
              var text = dListData.replace(/\s+$/g,"");
              var splitq = text.split("\n");
    
                  var jumBaris = splitq.length;
                  URL='tulisTextFile.php?jumBaris='+jumBaris+'&dListData='+splitq+'&rd=65765s';
                   new Ajax.Request(URL,{
                       method: 'get',
                       onSuccess: function(transport){
              if(transport.responseText){
                              var responData = transport.responseText;
                              var hasilx = new Array();
                              hasilx = responData.split("|");
                alert('terima hasil:');
                alert('jenis hasil'+hasilx[0]);
                alert('status respon'+hasilx[1]);
              } else {
                alert('respon gagal');
              }
                       }, onFailure: function(transport){
              alert('request gagal');
                       }, onLoading: function(transport){
              alert('masih loading');
                       }
                   });
          }  else {
      alert('gagal, teks jangan kosong');
      }
      }
 
</script>
 
</head>
<body>
  <table>
  <tr>
  <td>
    <textarea name="listData" id="listData" cols="109" rows="3" style="font-size:11px;font-family: Tahoma;text-align:left;"></textarea>
  </td>
  </tr>
  <tr>
  <td>
    <input type="submit" name="prosesdata" value="Kirim ke File" id="prosesData" onClick="if(validasi()) { kirimData(); }"/>
  </td>
  </tr>
  </table>
 
</body>
</html>

Lalu buat file baru dengan nama tulisTextFile.php

< ?php
$jumBaris = $_GET['jumBaris'];
$dListData = $_GET['dListData'];
$explodeList = explode(",",$dListData);
$isi = "";
foreach($explodeList as $index=>$nil){
    $isi .= "".$nil."\r\n";
}
 
    $namaFileDigit = $jumBaris."Digit.txt";
    @unlink($namaFileDigit);
    $handle = @fopen($namaFileDigit, 'a+');
    
    if(@fwrite($handle, $isi)){
    echo '1|Sukses isi file';
  } else {
    echo '0|Gagal isi file';
  }
 
    @fclose($handle);
?>

silahkan jalankan di browser anda dengan memanggil localhost/utama.php
isi textarea, lalu tekan tombol Kirim ke File…

Semoga sukses, kalo error gimana ya.. semoga aja tidak okeyyy…
pengin njelasin tapi cape,,,,

Posted in Ajax, Javascript, PHPComments (3)

LEXICOGRAPHIC ORDER


PENENTUAN NILAI PERMUTASI DENGAN LEXICOGRAPHIC ORDER

Permutasi tanpa perulangan, biasa dirumuskan dengan n!
Jumlah Permutasi ini ada n!
Misal, permutasi n = 5,
P5= 5! = 120
120 tersebut merupakan barisan angka yang berbeda satu sama lain, dari masing-masing barisan angka, terdapat 5 digit angka yang berbeda. Inilah kenapa disebut permutasi tanpa perulangan.

Dalam prakteknya permutasi tanpa perulangan sering dipakai dalam teori graf, matematika diskrit, peluang, teori antrian, dll

Nah untuk mencari semua nilai barisan angka dari permutasi tanpa perulangan,
bisa kita pakai manual, yaitu dengan bolak-balik angka, tuker-tuker tempat, cari pola, sampe ketemu 120 barisan angka yang berbeda.
bisa juga dengan komputasi, yaitu mencari algoritma yang rasional dan dibuatlah beberapa perintah baris program sehingga hasilnya komputer dapat mencari sendiri nilai dari 120 permutasi tersebut.

P5= 5! = 120
1-2-3-4-5
2-3-4-5-1
3-4-5-1-2
dst

Dengan menggunakan fungsi rekursif sederhana, hal ini dapat di implementasikan dalam program komputer:


var dgt;
var permutations;
    function permRekursif(dgt) {  
        /* Jika hanya memiliki panjang karakter tunggal, maka kembalikan nilai string */  
       if (strlen(dgt) < 2) {  
          return array(dgt);  
       }  
      
        /* Inialisasi variabel menjadi array */  
        permutations = array();  
      
       /* ambil nilai dari dgt, kecuali angka pertama */  
       ekor = substr(dgt, 1);  
    
       /* ulangi permutasi dengan dgt ekor */  
       foreach (permRekursif(ekor) as permutation) {  
           /* cari panjang permutation */  
          length = strlen(permutation);  
           /* konstruk permutasi dengan memasukkan bil pertama diantara dua blok bilangan sampai ketemu panjang < 2*/  
           for (i = 0; i <= length; i++) {  
               permutations[] = substr(permutation, 0, i) . dgt[0] . substr(permutation, i);  
           }  
       }  
    
       /* kembalikan nilai array dari hasil permutasi */  
       return permutations;  
    }  
 
//cara manggilnya
permRekursif(jumDgt);

Nah, masalahnya akan muncul jika yang di input adalah digit yang besar, contohnya
n = 20 atau n = 30
n! = 20! = 2432902008176640000
n! = 30! = 2.6525285981219103e+32

Apakah komputer dual core anda ngatasin? pastinya baru 10 digit dengan pemrosesan 3628800 kali data sudah hang.
yang kita harapkan adalah penyelesaian permutasi dengan n digit, berapapun nilainya.

keterbatasan komputer bisa kita tutupi dengan kecerdasan logika, dimana perulangan milyaran kali tidak bisa diselesaikan sekali proses, namun bisa dilakukan one by one sehingga nilai permutasi dapat di generate dengan ringan oleh komputer anda, bahkan yang pentium 1 sekalipun.

Metode penyelesaian permutasi one by one, bisa pakai lexicographic order, dimana barisan angka diurutkan berdasarkan dari kecil ke besar, mirip seperti bikin kamus, dari a, b, c sampai z.
makanya metode ini disebut juga dengan dictionary order.

Nah, misal n=3
hasil permutasi dengan metode LO ini menghasilkan
123
132
213
231
312
321
persis, urut dari kecil ke besar.

Sekarang kita ingin mencoba mencari algoritma dari lexicographic order, sehingga jika kita kirim angka ke -i dia mengirim nilai yang kita maksud.
misalkan dalam n=3 tadi,
kita kirim angka 3, maka dia mengembalikan nilai 213
kita kirim angka 5, maka dia mengembalikan nilai 312
Bisa nggak kira-kira komputer menyelesaikan ini?
pasti bisa donk, ngapain di bahas kalau ga bisa.

wah udah panjang ya… diterusin nanti di episode berikutnya oke coy…sabar sabar…

Posted in MathComments (0)

Manipulasi nilai nol dan NULL di mysql


Dalam mysql, penyimpanan dan pemrosesan data sering jadi masalah, termasuk dalam menangani field yang berisi “NULL” baik nilai tersebut berupa angka, baik itu integer, decimal, maupun double.

Ambil contoh ketika kita membuat database yang berisi data statistik yang rencananya diisi data yang besar, dimana ada nilai nol (0) dan kosong (NULL). nol akan dihitung, sedangkan NULL tidak.

Sekilas memang sama, seorang programmer database (databaser) yang perhatian sama efisiensi data, akan membuat field dengan tipe data “NULL” yang berarti hemat space, karena NULL tidak makan space
kemudian data yang memiliki nilai nol (0) dihitung, sedang yang NULL tidak

operasi matematis yang disediakan mysql cukup oke, sehingga olah, proses dan simpan data di mysql kemudian program interface nya digunakan untuk menampilkan hasilnya saja.

dalam sebuah operasi matematika di mysql, AVG/rata-rata akan menegasikan angka NULL,

Cth : rata-rata dari : 1,3,7,null,0,5,3 = (1+3+7+0+5+2)/6 = 3
nilai NULL tidak ikut dihitung bukan.. demikian juga dengan SUM, COUNT, STD_DEV, dsb

Coba dibuktikan dengan praktek dulu ya…

Quick Code


CREATE TABLE `data_contoh` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`data_a` DOUBLE NULL ,
`data_b` DOUBLE NULL
) ENGINE = MYISAM ;
 
INSERT INTO `data_contoh` VALUES (1, 2, 6);
INSERT INTO `data_contoh` VALUES (2, 4, NULL);
INSERT INTO `data_contoh` VALUES (3, 5, NULL);
INSERT INTO `data_contoh` VALUES (4, NULL, 7);

dari tabel diatas kita mempunyai :
id = “1,2,3,4″
data_a = “2,4,5,null”
data_b = “6,NUL,NULL,7″

1. Kasus mencari rata-rata suatu kolom

SELECT AVG( data_a ) AS ratarata_a from data_contoh;

output :
ratarata_a = 3.6666666666667
tidak ada masalah dalam hal ini.

2. Kasus penjumlahan antar kolom (kolom_a + kolom_b)

SELECT id, ( data_a + data_b ) AS jumData FROM `data_contoh` GROUP BY id
Hasil :
ID 1 : 2+6 = 8
ID 2 : 4+NULL = NULL
ID 3 : 5+NULL = NULL
ID 4 : NULL+7 = NULL

nah, kelihatan juga kan ketika NULL dijumlahkan dengan berapapun nilainya akan “NULL”, demikian juga dengan pengurangan.

intinya null tidak hanya menegasikan dirinya sendiri, namun juga mempengaruhi perhitungan dengan menegasikan yang lainnya.

Sebagai solusi agar nilai NULL kita negasikan, yang berarti bukan NULL yang menegasikan kita.

ganti query sql berikut ini:
SELECT id, ( IFNULL(data_a,0) + IFNULL(data_b,0) ) AS jumData FROM `data_contoh` GROUP BY id
Hasil:
ID 1 : 2+6 = 8
ID 2 : 4+NULL = 4
ID 3 : 5+NULL = 5
ID 4 : NULL+7 = 7

Penjelasannya ada disini, Dalam mysql ada istilah Control Flow Functions, yang terdiri dari:
- CASE WHEN THEN
kondisi = operasi yang menghasilkan nilai tertentu, misal 1+1
SELECT CASE kondisi WHEN 1 THEN ’satu’ WHEN 2 THEN ‘dua’ ELSE ‘banyak’ END;
hasil : dua
- IF
kondisi = operasi yang menghasilkan nilai true/false, misal 10>11
SELECT IF(kondisi,’oke’,'not oke’);
hasil : not oke
- IFNULL
kondisi = jika kondisi berupa NULL maka ambil angka 9, jika kondisi tidak NULL ambil nilai kondisi, misal 12/0
SELECT IFNULL(kondisi,9);
hasil : 0
- NULLIF
kondisi = jika kondisi1=kondisi2 hasil=NULL, jika tidak hasil=kondisi1. misal kondisi1=5-2, kondisi2=6-3
SELECT NULLIF(kondisi1,kondisi2);
hasil : NULL

Cukup mudah bukan, yang penting jika ketemu NULL, maka pakai control flow sebagai solusinya.
Fuihhh ngantukk….

Posted in MySQLComments (2)

See more articles in the archive

  • Popular
  • Comments
  • Tags
  • Subscribe
Advertise Here

Category

Tag Cloud