Engine guest online dengan PHP tanpa menggunakan database.

Di dalam website ber-tipe komersil, biasanya sering dicantumkan informasi tentang member online ataupun guest online. Mungkin terlihat sepele, tapi ternyata hal kecil seperti itu dapat mendongkrak popularitas website tersebut. Semakin banyak jumlah member / guest yg online, maka akan semakin bagus.

Banyak cara yg dapat digunakan untuk membuat engine ini, umumnya selalu menggunakan database sehingga lebih mudah untuk mengontrolnya. Cara lain dapat menggunakan suatu text file, berupa .txt, .xml atau yg lainnya. Nah disini, ane akan membahas bagaimana membuat engine tersebut menggunakan text file .txt, berikut contoh scriptnya.........

//Definisi variabel
$visitor = $_SERVER['REMOTE_ADDR'];
$time = time();
$flag = $jmlguest = 0;

//Script ini untuk mengecek, apakah ID guest sudah ada apa belum
$fp=fopen("guest_online.txt","a+");
$baca = explode("\n",fread($fp,filesize('guest_online.txt')+1));
foreach($baca as $list_guest)
{
    $guest = explode(",",$list_guest);
    if(eregi($visitor,$guest[0])) $flag=1;
}

//Jika ID guest belum ada, maka ID guest tersebut akan di catat.
if($flag==0) fwrite($fp,$visitor.",".$time."\n");
fclose($fp);


//Script ini untuk menghapus ID guest yg sudah tidak online lagi.
$filearray = file ('guest_online.txt');
$newarray = array();
foreach ($filearray as $list_guest )
{
    $guest = explode(",",$list_guest);
    //$time-300, maksudnya waktu sekarang dikurang 300 detik sebelumnya, ini bisa disesuaikan kebutuhan.
    if(!eregi($visitor,$guest[0]) && ($guest[1] > ($time-300)))
    {
        $jmlguest++;
        array_push($newarray,$guest[0].",".$guest[1]);
    }
}


//ini untuk memperbaharui timestamp dari ID guest yg bersangkutan
$jmlguest++;
array_push($newarray,$visitor.",".$time."\n");


$string = implode ("",$newarray);
$fp = fopen ( 'guest_online.txt', 'w' );
fwrite ( $fp , $string );
fclose ( $fp );

//disini tinggal anda cetak jumlahnya.
echo $jmlguest." guest online";

Setelah script itu dijalankan dengan benar, maka berapa jumlah guest yg online dapat langsung diketahui, mudah bukan ?? jadi kita tidak perlu membebani database untuk hal2 sederhana semacam ini, untuk contohnya bisa buka www.propertiproperti.com dan klo ada masukkan, ane selalu open.............

OLTP vs OLAP

Seperti yang sudah ane jelaskan sebelumnya, Online Transaction Processing Systems atau OLTP merupakan Sistem yang memproses suatu transaksi secara langsung (insert,update,delete) melalui komputer yang terhubung dalam jaringan. Sedangkan OLAP (Online Analytical Processing Systems) adalah Sistem yang dibuat untuk membantu dalam perencanaan, memecahkan masalah dan mendukung keputusan.

Dari definisinya jelas, bahwa keduanya merupakan sistem yang menggunakan suatu basis data. Lantas apa perbedaan antara keduanya ?? simak uraian berikut............

1. Berdasarkan sumber data
    OLTP : Data Operasional, data OLTP adalah data asli.
    OLAP : Data konsolidasi, data OLAP di peroleh dari beberapa OLTP.

2. Berdasarkan Tujuan datanya
    OLTP : Untuk mengendalikan dan menjalankan tugas2 utama.
    OLAP : Untuk membantu dalam perencanaan, memecahkan masalah dan mendukung keputusan.

3. Berdasarkan Data apa yg di tampilkan
    OLTP : Bisnis proses yg berkelajutan.
    OLAP : Menampilkan data dari berbagai macam aktivitas bisnis.

4. Query yg digunakan
    OLTP : Simple Query.
    OLAP : Complex Queries.

5. Kecepatan proses
    OLTP : Pada dasarnya sangat cepat.
    OLAP : Tergantung dari data yg dilibatkan, proses akan lebih cepat dengan menggunakan fungsi indexing.

6. Space yg dibutuhkan
    OLTP : Relativ kecil.
    OLAP : Lebih besar, karena membutuhkan lebih banyak indexing dibandingkan OLTP.

7. Database Design
    OLTP : Normalized dengan banyak table.
    OLAP : De-normalized dengan sedikit table dan menggunakan star / showflake schemas.

Kurang lebih itulah perbedaan antara OLTP dan OLAP, jika diantara ente2 ada yg ingin menambahkan atau mengkoreksi, ane selalu open........

Relasi OLTP, ETL, Business Intelligence, Data Warehouse dan OLAP

Apa itu OLTP ?? Kemudian apa yg dimaksud dengan ETL ?? Bagaimana Data Warehouse & Business Intelligence bekerja ?? dan apa perbedaan OLTP dengan OLAP ?? mari kita coba tarik benang merah di antara ke-5 unsur tersebut...., tapi sebelumnya kita cari tau dulu pengertian dari masing2 unsur.

Online Transaction Processing Systems (OLTP) adalah suatu sistem yang memproses suatu transaksi secara langsung(insert,update,delete) melalui komputer yang terhubung dalam jaringan. Sedangkan ETL sesuai dengan namanya (Extract, Transformation and Load), Extract berarti proses pengambilan data dari sumber data,proses pengambilan data ini tidak mengambil keseluruhan data yang ada di database operasional, melainkan hanya mengambil data-data matang saja.

Transform berarti mengubah struktur Database tersebut ke dalam bentuk standart, mengingat data-data yang diambil berasal dari sumber berbeda yang kemungkinan memiliki standarisasi yang berbeda pula. Standarisasi diperlukan untuk nantinya memudahkan pembuatan laporan. Load sendiri adalah proses mengirimkan data yang telah menjalani proses transformasi ke repository(gudang data) akhir.


Data Warehouse bicara mengenai bagaimana data-data yang besar dan beragam disimpan dalam satu repository(gudang data) dan disusun sedemikian sehingga memudahkan pencarian, sedangan Business Intelligence bisa dikatakan sebagai konsep database yang multidimensi sehingga memudahkan analisa dan pengambilan keputusan secara bijak berdasakan informasi yang akurat. Gabungan dari DW dan BI dinamakan Online Analytical Processing Systems (OLAP) yaitu sistem yang dibuat untuk membantu dalam perencanaan, memecahkan masalah dan mendukung keputusan.


Untuk mengetahui lebih jelas relasi antar unsur-unsur tersebut bisa lihat gambar dibawah ini :


Dari situ dapat disimpulkan, bahwa data2 awal yg ada didalam OLTP di olah sedemikian rupa melalui proses ETL, hasil dari pengolahan tersebut menghasilkan bentuk database baru yg dinamakan Data Warehouse, Data Warehouse tidak bisa dipisahkan dengan Business Intelligent, karena BI yg baik didapat dari DW yg baik juga. Hasil dari DW & BI itulah kita bisa menarik kesimpulan dan mengambil keputusan yang dinamakan sebagai OLAP.

Itulah gambaran singkat mengenai OLTP, ETL, DW, BI dan OLAP, Ane yakin anda sudah tau sekilas perbedaan antara OLTP dan OLAP. Ingin tau lebih detail lg perbedaan keduanya ?? ikuti posting selanjutnya ya.........