Rabu, 17 Agustus 2011

shut down cepat pake java script

Posted by el-maiya 19.44, under | No comments


Trik ini mungkin sangat berguna apabila anda sedang tergesa-gesa entah itu karena anda disuruh orang tua yang tidak bisa ditunda atau ...... lagi disuruh ma sang kekasih yang apabila tidak anda lakukan maka kekasih akan marah .. hehehehe.

Shut Down, ya ... pasti semua orang sudah mengerti fungsi dari shutdown tersebut !!, shutdown sendiri mempunyai pengertian Menonaktifkan semua aplikasi yang sedang dijalankan, dan mematikannya dengan menggunakan suatu perintah yang disediakan oleh sistem operasi. Biasanya anda melakukan Shutdown dengan cara klik Start dan klik Shutdown. Kini, ada trik yang dapat mempercepat shutdown bahkan hanya dengan 1 langkah yang memanfaatkan shortcut pada keyboard maka komputer anda akan segera mati.
Berikut ini langkah-langkah menggunakan trik tersebut :

1. Buka Notepad, kemudian ketikkan script dibawah ini !

@echo off shutdown -s -t 5 -c "Komputer anda akan segera mati !!"

2. Penulisan script haruslah sama seperti yang saya tuliskan diatas, anda dapat lebih mempercepat proses shutdown yaitu dengan cara mengganti teks “5” pada script dengan “now” (tanpa tanda kutip),
Contoh : -s –t now –c

3. Anda juga dapat mengganti pesan ketika anda melakukan shutdown pada teks “Komputer anda akan segera mati” dengan teks yang lain, tapi ingat anda harus tetap memakai tanda kutip.
Apabila anda sudah selesai silahkan simpan dengan nama shut.bat.
4. Selanjutnya silahkan anda kirim ke dekstop file shut.bat tersebut dengan cara klik kanan kemudian Send To Dekstop.
5. Kemudian atur shortcut key dengan cara klik kana pada file shut kemudian pilih Properties, untuk lebih jelasnya perhatikan gambar berikut ini !

6. Kemudian klik OK.
7. Silahkan dicoba pasti mantab gan ...!!!!

Script Auto Reply SMS Gateway dengan PHP

Posted by el-maiya 19.39, under | No comments

Setelah sekian lama tidak update blog, kangen rasanya untuk berbagi kembali pada pengunjung setia blog ini. Dalam postingan kali ini saya akan berbagi ilmu tentang bagaimana cara membuat script auto reply SMS Gateway dengan PHP dan MySQL. Topik ini sebenarnya sudah lama dinantikan oleh beberapa rekan namun baru sempat kali ini saya mewujudkannya. Maaf ya rekans…

OK deh… masih dengan menggunakan Gammu kita akan membuat contoh studi kasus yaitu tentang nilai mahasiswa. Adapun skenarionya adalah sbb: andaikan kita telah memiliki data nilai matakuliah Kalkulus mahasiswa. Nah… untuk melihat nilainya, si mahasiswa tinggal mengirim pesan melalui SMS dengan format ‘NILAINIM‘ dan dikirim ke nomor HP tertentu. Selang beberapa waktu si mahasiswa tadi akan mendapat SMS balasan berisi nilai matakuliah Kalkulus yang diperolehnya secara otomatis. OK paham ya skenarionya?

Sebelum kita bahas lebih lanjut mengenai pembuatan scriptnya, terlebih dahulu kita harus mengetahui ide pembuatan script auto reply SMS dengan Gammu ini.

Tentu kita sudah ketahui bersama bahwa setiap kali SMS yang diterima oleh Gammu, maka SMS tersebut akan masuk ke dalam tabel ‘INBOX‘ yang ada di database MySQL. Lantas.. mungkin Anda bertanya, bagaimana cara membedakan mana SMS yang telah diproses dan yang belum diproses (baru saja masuk)? Jawabannya adalah terletak pada field yang bernama ‘Processed‘. Begitu ada SMS masuk, maka secara default nilai pada field ini adalah ‘false‘. Nah… Bila ditemukan record SMS yang bernilai ‘false’ ini maka kita bisa proses dengan menggunakan script tertentu. Kemudian setelah data SMS tersebut diproses kita harus segera mengubah nilainya menjadi ‘true‘ untuk membedakan mana SMS yang telah diproses dengan yang belum.

Proses di atas ini harus dilakukan setiap saat. Anda dapat menggunakan script PHP atau script apapun untuk memproses data SMS yang masuk ke dalam INBOX ini. Bila Anda menggunakan script PHP, maka Anda perlu membuat script auto refresh yang secara otomatis berjalan pada selang interval waktu tertentu. Proses auto refresh ini bertujuan untuk mengecek ada tidaknya SMS baru yang masuk sekaligus memprosesnya.

OK… now back to the case… pertama kita siapkan dahulu data nilai Kalkulus mahasiswa beserta tabelnya.
view sourceprint?
1.CREATE TABLE `nilaikalkulus` (
2.`nim` varchar(10),
3.`nilai` int(11),
4.PRIMARY KEY (`nim`)
5.);
view sourceprint?
1.INSERT INTO `nilaikalkulus` VALUES ('M0197001', '80');
2.INSERT INTO `nilaikalkulus` VALUES ('M0197002', '79');
3.INSERT INTO `nilaikalkulus` VALUES ('M0197003', '86');

Oya, untuk tabel di atas Anda bisa buat pada satu database yang sama dengan tabel-tabel bawaannya Gammu atau bisa juga berbeda.

Selanjutnya, kita buat script PHP untuk pemrosesannya. Oya.. pastikan bahwa keyword dari perintah SMS yang dikirimkan adalah sesuai dengan format. Untuk memastikan bahwa keyword dari perintah itu benar, Anda harus membuat parsing terlebih dahulu. Jika format perintah benar maka SMS akan diproses untuk mengirimkan nilainya. Namun jika tidak sesuai, maka tetap diproses dengan mengirimkan pesan kesalahan dalam bentuk SMS pula.

Hal terpenting… jangan lupa mengubah status ‘processed’ menjadi ‘true’ pada setiap SMS yang telah diproses di dalam tabel INBOX nya.

Nah.. ini dia scriptnya untuk membuat auto reply, lengkap saya sertakan penjelasannya dalam bentuk komentar.
view sourceprint?
01.02.
03.//koneksi ke mysql dan db nya
04.mysql_connect("dbhost", "dbuser", "dbpass");
05.mysql_select_db("dbname");
06.
07.// query untuk membaca SMS yang belum diproses
08.$query = "SELECT * FROM inbox WHERE Processed = 'false'";
09.$hasil = mysql_query($query);
10.while ($data = mysql_fetch_array($hasil))
11.{
12.// membaca ID SMS
13.$id = $data['ID'];
14.
15.// membaca no pengirim
16.$noPengirim = $data['SenderNumber'];
17.
18.// membaca pesan SMS dan mengubahnya menjadi kapital
19.$msg = strtoupper($data['TextDecoded']);
20.
21.// proses parsing
22.
23.// memecah pesan berdasarkan karakter
24.$pecah = explode(" ", $msg);
25.
26.// jika kata terdepan dari SMS adalah 'NILAI' maka cari nilai Kalkulus
27.if ($pecah[0] == "NILAI")
28.{
29.// baca NIM dari pesan SMS
30.$nim = $pecah[1];
31.
32.// cari nilai kalkulus berdasar NIM
33.$query2 = "SELECT nilai FROM nilaikalkulus WHERE nim = '$nim'";
34.$hasil2 = mysql_query($query2);
35.
36.// cek bila data nilai tidak ditemukan
37.if (mysql_num_rows($hasil2) == 0) $reply = "NIM tidak ditemukan";
38.else
39.{
40.// bila nilai ditemukan
41.$data2 = mysql_fetch_array($hasil2);
42.$nilai = $data2['nilai'];
43.$reply = "Nilai Kalkulus Anda: ".$nilai;
44.}
45.}
46.else $reply = "Maaf perintah salah";
47.
48.// membuat SMS balasan
49.
50.$query3 = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID) VALUES ('$noPengirim', '$reply', 'Gammu')";
51.$hasil3 = mysql_query($query3);
52.
53.// ubah nilai 'processed' menjadi 'true' untuk setiap SMS yang telah diproses
54.
55.$query3 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
56.$hasil3 = mysql_query($query3);
57.}
58.?>

Oya… mungkin Anda bertanya, mengapa untuk proses parsing di atas pesan SMS nya perlu dibuat huruf kapital dengan strtoupper(). Ya… hal ini perlu karena supaya ada keseragaman bentuk pesan. Karena terkadang SMS dikirim dengan huruf kapital semua, kecil semua atau campuran. Bila tidak seragam, maka sulit dalam proses memparsingnya, karena string ‘NILAI’ dengan ‘nilai’ itu berbeda sehingga bila ditulis huruf kecil semua nantinya bisa dianggap perintah salah. Nah.. supaya seragam, maka setiap SMS yang masuk kita buat kapital semua saja.

Keterangan:
Cara pengiriman pesan balasan pada script di atas, saya menggunakan teknik insert data pada tabel OUTBOX dengan query SQL. Anda dapat mempelajari kembali teknik ini serta menggunakan teknik lain dengan membaca artikel saya tentang ‘Teknik Dasar Mengirim SMS dengan Gammu‘.

Selanjutnya supaya script di atas berjalan secara otomatis mengecek SMS yang masuk, Anda harus buat auto refresh dalam selang beberapa detik.

sms.php
view sourceprint?
01.
02.
03.
04.
05.
06.
07.
08.
09.

SMS server running....


10.
11.12.
13.//koneksi ke mysql dan db nya
14.mysql_connect("dbhost", "dbuser", "dbpass");
15.mysql_select_db("dbname");
16.
17.// query untuk membaca SMS yang belum diproses
18.$query = "SELECT * FROM inbox WHERE Processed = 'false'";
19.$hasil = mysql_query($query);
20.while ($data = mysql_fetch_array($hasil))
21.{
22.// membaca ID SMS
23.$id = $data['ID'];
24.
25.// membaca no pengirim
26.$noPengirim = $data['SenderNumber'];
27.
28.// membaca pesan SMS dan mengubahnya menjadi kapital
29.$msg = strtoupper($data['TextDecoded']);
30.
31.// proses parsing
32.
33.// memecah pesan berdasarkan karakter
34.$pecah = explode(" ", $msg);
35.
36.// jika kata terdepan dari SMS adalah 'NILAI' maka cari nilai Kalkulus
37.if ($pecah[0] == "NILAI")
38.{
39.// baca NIM dari pesan SMS
40.$nim = $pecah[1];
41.
42.// cari nilai kalkulus berdasar NIM
43.$query2 = "SELECT nilai FROM nilaikalkulus WHERE nim = '$nim'";
44.$hasil2 = mysql_query($query2);
45.
46.// cek bila data nilai tidak ditemukan
47.if (mysql_num_rows($hasil2) == 0) $reply = "NIM tidak ditemukan";
48.else
49.{
50.// bila nilai ditemukan
51.$data2 = mysql_fetch_array($hasil2);
52.$nilai = $data2['nilai'];
53.$reply = "Nilai Kalkulus Anda: ".$nilai;
54.}
55.}
56.else $reply = "Maaf perintah salah";
57.
58.// membuat SMS balasan
59.
60.$query3 = "INSERT INTO outbox(DestinationNumber, TextDecoded) VALUES ('$noPengirim', '$reply')";
61.$hasil3 = mysql_query($query3);
62.
63.// ubah nilai 'processed' menjadi 'true' untuk setiap SMS yang telah diproses
64.
65.$query3 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
66.$hasil3 = mysql_query($query3);
67.}
68.?>
69.
70.
71.

Sebenarnya untuk memproses SMS dan memberikan auto reply, selain dengan auto script menggunakan auto refresh seperti di atas, Anda dapat pula menggunakan TRIGGER di MySQL nya. Namun.. bagi yang belum terbiasa membuatnya seperti saya, mungkin agak repot, apalagi bila panjang text auto reply nya di atas 160 karakter.

Script di atas sudah diuji coba dan berjalan dengan lancar di modem Wavecom Fastrack.

OK deh.. selamat mencobanya, dan silakan berkreasi sendiri ya… Anda dapat menambahkan keyword lain atau format SMS lain yang lebih dari satu.

Membuat Sendiri Kirim SMS Gratis Via Web dengan PHP dan MySQL

Posted by el-maiya 19.34, under | No comments

Masih terkait dengan SMS gateway, dalam artikel kali ini saya akan mencoba memaparkan cara membuat sendiri aplikasi kirim SMS gratis via web. Permintaan untuk membuat artikel dengan topik ini sudah banyak masuk ke email saya maupun komentar dalam blog ini. Namun, mohon maaf baru kali ini saya bisa mewujudkannya.

Untuk membuat fasilitas kirim SMS gratis via web, kita membutuhkan sebuah aplikasi gateway untuk mengirim SMS. Aplikasi sms gateway ini nanti kita install atau letakkan di pc yang ada di rumah kita beserta modem/hp yang tercolok pada PC tersebut sebagai alat untuk mengirim SMS. PC ini harus senantiasa terhubung ke internet untuk berkomunikasi dengan PC server yang ada di hosting. Sedangkan di dalam hosting, kita buat semacam script form untuk interface user yang ingin mengirim SMS. Untuk aplikasi sms gateway yang diinstall di PC rumah, Anda bisa menggunakan Gammu sebagai enginenya.

Pertanyaan yang muncul kemudian adalah bagaimana cara mengkomunikasikan PC server yang ada di hosting dengan PC di rumah, atau dengan kata lain bagaimana mengirim data sms yang disubmit via hosting kemudian bisa sampai di PC rumah lalu mengirimkan sms tersebut via modem/hp?

OK… konsep dasar atau ide dasar dalam pembuatannya adalah kita menggunakan semacam web service yang dibuat di server hosting untuk komunikasi antara PC rumah dan PC hosting. Web service ini nanti senantiasa akan diakses oleh PC rumah. Melalui web service inilah SMS akan dikirim dari PC hosting ke PC rumah. Lantas, apa bentuk output dari web service ini? Web service disajikan dalam bentuk XML yang isinya adalah bunyi SMS dan nomor tujuan SMS yang akan dikirim. Data XML yang berisi bunyi sms dan nomor tujuan inilah yang nanti akan dibaca oleh PC rumah, lalu mengirimkannya lewat SMS gateway (Gammu).

Nah.. sekarang kita menuju implementasi cara pembuatannya.

Langkah pertama, Anda harus sudah menginstall Gammu sebagai tool SMS gateway nya. Pastikan Anda bisa mengirim SMS menggunakan Gammu dan HP/modem yang tercolok di PC Anda.

Langkah kedua, buatlah script form untuk mengirim SMS. Script form ini nanti diletakkan di server hosting

sms.html
view sourceprint?
1.

2.No. Tujuan
3.Isi SMS

4.


Bila diperhatikan, form kirim SMS di atas nantinya akan disubmit di script kirim.php. Di dalam script kirim.php inilah nomor tujuan dan isi SMS akan disimpan dalam tabel temporary pada database server hosting. Misalkan kita beri nama tabel temporary tersebut adalah ‘outbox’. Kita bisa buat tabel ‘outbox’ ini dengan struktur sbb:
view sourceprint?
1.CREATE TABLE `outbox` (
2.`id` int(11) AUTO_INCREMENT,
3.`destinationNumber` varchar(20),
4.`sms` text,
5.PRIMARY KEY (`id`)
6.)

Field ‘id’ digunakan sebagai nomor unik penanda setiap SMS yang akan dikirim, field ‘destinationNumber’ untuk menyimpan nomor tujuan SMS, dan ‘sms’ untuk menyimpan isi SMS.

OK, kita buat script kirim.php nya

kirim.php
view sourceprint?
01.02.// koneksi ke mysql server hosting
03.mysql_connect('dbhost', 'dbuser', 'dbpass');
04.mysql_select_db('dbname');
05.
06.// baca nomor tujuan dan isi sms dari form
07.$destNumber = $_POST['destination'];
08.$sms = $_POST['sms'];
09.
10.// query insert data sms ke tabel 'outbox'
11.$query = "INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID) VALUES ('$destNumber', '$sms', 'Gammu')";
12.mysql_query($query);
13.
14.echo "SMS sudah dikirim...";
15.?>

Setelah data sms yang dikirim tersimpan dalam tabel ‘outbox’, langkah selanjutnya kita buat script web service untuk menyajikan data sms yang tersimpan dalam tabel ‘outbox’ tersebut ke dalam bentuk dokumen XML. Misalkan kita beri nama script untuk mengenerate XML ini ‘data.php’

data.php
view sourceprint?
01.02.// koneksi ke mysql server hosting
03.mysql_connect('dbhost', 'dbuser', 'dbpass');
04.mysql_select_db('dbname');
05.
06.// membuat header dokumen XML
07.header('Content-Type: text/xml');
08.echo "";
09.
10.// membuat root tag untuk data XML
11.echo "";
12.
13.// query untuk membaca seluruh SMS yang ada di tabel outbox
14.$query = "SELECT * FROM outbox ORDER BY id";
15.$hasil = mysql_query($query);
16.while ($data = mysql_fetch_array($hasil))
17.{
18.// representasi data sms
19.echo "";
20.echo "".$data['id']."";
21.echo "".$data['destinationNumber']."";
22.echo "".$data['sms']."";
23.echo "
";
24.}
25.echo "
";
26.?>

OK… ketiga file di atas (sms.html, kirim.php, dan data.php) nanti diletakkan di dalam server hosting. Sampai langkah ini, kita sudah selesai bekerja di level server hosting. Langkah berikutnya adalah membuat script di sisi PC rumah.

Di dalam PC rumah, nantinya kita akan membuat script untuk membaca data sms yang tersaji dalam bentuk XML yang digenerate melalui script ‘data.php’ yang ada di server hosting. Setelah data sms ini dibaca, kemudian kita masukkan ke dalam tabel ‘outbox’ bawaannya Gammu untuk dikirim melalui hp/modem. Oya, kita perlu juga menghapus setiap data sms di server hosting yang sudah dibaca. Mengapa hal ini dilakukan? ya dong, supaya tabel ‘outbox’ nya di server hosting tidak penuh. Lantas, bagaimana cara menghapus data secara otomatis di server hosting setelah data sms nya terbaca? ya… kita gunakan CURL.

OK… ini dia script untuk membaca data sms dari XML nya.

bacasms.php
view sourceprint?
01.02.// koneksi ke mysql di server localhost
03.mysql_connect('dbhost', 'dbuser', 'dbpass');
04.// nama database Gammu yang ada di localhost
05.mysql_select_db('dbname');
06.
07.// baca data XML dari server hosting yang digenerate oleh data.php
08.$dataxml = simplexml_load_file('http://namasitus/data.php');
09.foreach($dataxml->data as $data)
10.{
11.// baca field ID
12.$id = $data->id;
13.// baca nomor tujuan
14.$destination = $data->destination;
15.// baca isi sms
16.$sms = $data->sms;
17.
18.// mengirim SMS via Gammu dengan insert data ke tabel outbox Gammu
19.$query = "INSERT INTO outbox (DestinationNumber, TextDecoded) VALUES ('$destination', '$sms')";
20.mysql_query($query);
21.
22.// hapus data SMS di server hosting yang sudah terbaca berdasarkan ID
23.$curlHandle = curl_init();
24.curl_setopt($curlHandle, CURLOPT_URL, 'http://namasitus/hapus.php');
25.curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'id='.$id);
26.curl_setopt($curlHandle, CURLOPT_HEADER, 0);
27.curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
28.curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
29.curl_setopt($curlHandle, CURLOPT_POST, 1);
30.curl_exec($curlHandle);
31.curl_close($curlHandle);
32.}
33.?>

Jika web server di PC localhost belum mendukung CURL, maka lakukan setting CURL terlebih dahulu.

Eh… kalo kita liat pada script bacasms.php di atas, pada proses penghapusan data SMS yang ada di server hosting melalui CURL terdapat pemanggilan script hapus.php. Nah… script ini belum kita buat di server hosting. Script hapus.php ini nanti berfungsi untuk menghapus data sms yang ada di tabel outbox dalam database server hosting berdasarkan ID nya setelah data sms tersebut di baca oleh script bacasms.php.

hapus.php
view sourceprint?
01.02.// koneksi ke mysql di server hosting
03.mysql_connect('dbhost', 'dbuser', 'dbpass');
04.mysql_select_db('dbname');
05.
06.// baca ID data yang akan dihapus yang dikirim via CURL dari localhost
07.$id = $_POST['id'];
08.// hapus data SMS berdasarkan ID
09.$query = "DELETE FROM outbox WHERE id = '$id'";
10.mysql_query($query);
11.
12.?>

Sekali lagi script hapus.php di atas harus ditaruh di server hosting lho ya… !!!

Selanjutnya script bacasms.php ini harus senantiasa kita jalankan melalui web browser localhost di PC rumah kita supaya bisa selalu membaca data sms yang ada di hosting lalu mengirimnya via Gammu. Lalu bagaimana supaya script bacasms.php ini bisa secara otomatis berjalan dan selalu bisa membaca data dari server hosting? Sebenarnya Anda bisa mengklik tombol REFRESH pada web browser supaya script ini bekerja, namun tentu hal ini membuat report kan? Nah… salah satu solusi dari hal ini adalah Anda bisa menjalankan autorefresh melalui AJAX yang secara otomatis merefresh script bacasms.php ini pada setiap selang n detik. Ini dia script nya…

index.php
view sourceprint?
01.
02.
03.SMS Server Running...
04.
28.
29.
30.
31.

SMS Server Running...


32.
33.

Contoh script AJAX yang ada di index.php di atas diset supaya bisa merefresh secara otomatis bacasms.php dalam interval 5 detik (5000 ms). Dengan demikian yang perlu Anda jalankan di localhost hanyalah script index.php di atas melalui browser.

Nah.. konsep di atas memungkinkan kita untuk bisa membangun aplikasi SMS gateway yang terintegrasi antara PC di server hosting dengan PC di rumah tanpa menggunakan IP public yang urusan untuk mendapatkannya sangat ribet dan mahal biayanya, atau tanpa menggunakan VPS maupun dedicated server untuk tipe hostingnya yang juga sangat mahal biayanya.

Anda dapat belajar teknik-teknik lain kaitannya dengan SMS gateway yang mengintegrasikan server hosting dengan pc rumah dengan contoh-contoh script SMS gateway yang saya buat untuk belajar.

Oya… meskipun namanya SMS gratis, tapi tidak sepenuhnya gratis. Istilah Gratis hanya bagi si pengguna atau pengirim SMS melalui web Anda, namun tidak gratis bagi si pemilik web karena harus menyisihkan sedikit biaya untuk bayar pulsa. Tapi tak apalah, anggap saja itu biaya marketing untuk lebih mengenalkan web Anda, apalagi saat ini pulsa sms sangat murah :-) Bisa pula tambahkan string pada setiap SMS yang dikirimkan dengan nama situs Anda untuk lebih memperkuat branding web Anda. Untuk hal ini silakan utak-atik sendiri ya :-)

Simpel bukan idenya??? Selamat mencoba…

Membuat Script SMS Auto Forward dengan PHP

Posted by el-maiya 19.29, under | No comments

Maaf ya.. lama saya gak update lagi nih blog, semoga pengunjung setia blog ini gak berpindah ke lain blog :-) OK deh… pada artikel SMS gateway kali ini, saya akan mencoba memaparkan cara membuat script SMS Gateway yang dapat digunakan untuk melakukan auto forwarding SMS dengan script PHP.

Apa sih auto forwarding SMS itu?? Misalkan Anda memiliki sejumlah nomor hp teman atau member yang jumlahnya banyak sekali, bisa ratusan atau ribuan yang tersimpan di database SMS center. Nah… jika Anda ingin mengirim pesan SMS ke semua nomor tersebut, Anda tinggal kirim SMS ke SMS center yang Anda buat sendiri dengan format pesan misalnya: FWD#PESAN maka otomatis pesan akan diteruskan oleh SMS center ke semua nomor hp yang ada di database.

Kalau sudah paham apa itu SMS Auto Forwarding, bagaimana cara membuatnya? Untuk membuat SMS auto forwarding ini, yang Anda butuhkan adalah PC server yang di dalamnya sudah terinstal Gammu sebagai gateway untuk SMS nya, web server (saya sarankan menggunakan AppServ). Di dalam AppServ ini sudah terdapat Apache sebagai webserver, PHP server dan juga mysql. Oya sampai lupa, untuk keperluan sms gateway ini Anda juga harus punya modem untuk pengiriman sms nya.

Adapun langkah pertama yang Anda harus lakukan untuk membuat sms auto forwarding ini adalah instalasi Gammu nya. Setelah instalasi Gammu, Anda akan mendapatkan beberapa buah tabel di database mysql seperti pada gambar berikut ini (gunakan phpmyadmin)

SMS gateway auto forwarding

Di antara beberapa tabel di atas, terdapat sebuah tabel bernama ‘pbk’. Tabel ini merupakan singkatan dari ‘phonebook’ yang nantinya digunakan untuk menyimpan data nomor hp yang nantinya bisa dikirimi pesan SMS auto forwarding ini. Silakan isi beberapa data nomor hp beserta nama pemiliknya.

SMS gateway auto forwarding

Selanjutnya kita buat script PHP untuk memproses SMS auto forwarding ini. Script PHP ini nanti harus senantiasa berjalan di browser. Anda bisa menggunakan teknik auto refresh pada browser atau menggunakan teknik AJAX.

Ide pembuatan script PHP untuk memproses SMS auto forwarding ini kita harus memecah keyword FWD#PESAN terlebih dahulu. Bila diawali dengan keyword FWD maka barulah proses forwarding ini dilakukan. Selanjutnya bila keywordnya benar-benar diawali dengan FWD, maka PESAN akan dikirim ke semua nomor hp yang ada di tabel ‘pbk’. Tanda # digunakan untuk memisahkan keyword dengan pesan yang akan dikirim. Untuk memecah string dari SMS, kita bisa menggunakan function explode() di PHP.

Berikut ini adalah script PHP untuk SMS autoforwarding ini.

run.php

01.
02.
03.// koneksi ke database gammu
04.mysql_connect("dbhost", "dbuser", "dbpass");
05.mysql_select_db("dbname");
06.
07.// membaca sms yang masuk dan belum diproses
08.$query = "SELECT * FROM inbox WHERE Processed = 'false'";
09.$hasil = mysql_query($query);
10.while ($data = mysql_fetch_array($hasil))
11.{
12.// membaca id sms
13.$id = $data['ID'];
14.// membaca isi sms
15.$sms = $data['TextDecoded'];
16.
17.// memecah isi sms berdasarkan karakter #
18.$pecah = explode("#", $sms);
19.
20.// cek keywordnya apakah sama dengan 'FWD'?
21.if (strtoupper($pecah[0]) == "FWD")
22.{
23.// jika keywordnya FWD maka lakukan proses forwarding
24.
25.// membaca data phonebook dari tabel 'pbk'
26.$query2 = "SELECT * FROM pbk";
27.$hasil2 = mysql_query($query2);
28.while ($data2 = mysql_fetch_array($hasil2))
29.{
30.// membaca nomor hp
31.$nohp = $data2['Number'];
32.// membaca isi pesan yang akan diforward
33.$pesan = $pecah[1];
34.// proses pengiriman pesan ke setiap no hp
35.$query3 = "INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID) VALUES ('$nohp', '$pesan', 'Gammu')";
36.mysql_query($query3);
37.}
38.}
39.
40.// menandai sms telah diproses
41.$query2 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
42.mysql_query($query2);
43.}
44.
45.?>

Keterangan:

Mungkin Anda bertanya-tanya, mengapa di pengecekan keywordnya saya menggunakan strtoupper()? ya… hal ini dikarenakan cara penulisan sms bisa berbeda-beda pada besar kecilnya huruf. Oleh karena itu saya buat menjadi besar semua (kapital). Namun kapitalisasi huruf ini hanya saya berikan pada keywordnya saja, sedangkan untuk pesan yang akan diforward tidak perlu. Kapitalisasi huruf pada keyword ini penting karena di PHP penulisan huruf kecil dan besar pada suatu string itu berbeda (case sensitive). Sebagai contoh penulisan ‘FWD’ dengan ‘Fwd’ atau ‘fwd’ atau ‘fwD’ semuanya berbeda.

Nah… selanjutnya script di atas harus dijalankan terus menerus di web server. Jika secara manual, Anda musti merefresh script di atas pada browser terus menerus supaya bisa memproses SMS yang masuk. Namun hal ini tentu tidak mungkin bukan? So… kita harus membuat sistem otomatisasi supaya script di atas bisa melakukan refresh sendiri. Anda bisa menggunakan teknik auto refresh atau menggunakan AJAX.

Untuk kali ini kita mencoba menggunakan AJAX untuk menjalankan script run.php di atas secara otomatis. Oleh karena itu perlu kita buat script index.html yang di dalamnya kita sisipkan script AJAX untuk menjalankan script run.php.

index.html

01.<html>
02.<head>
03.<title>SMS Auto Forwardingtitle>
04.<script type="text/javascript">
05.
06.function ajax()
07.{
08.if (window.XMLHttpRequest)
09.{
10.xmlhttp=new XMLHttpRequest();
11.}
12.else
13.{
14.xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");
15.}
16.
17.xmlhttp.open("GET","run.php");
18.xmlhttp.send();
19.setTimeout("ajax()", 5000);
20.}
21.script>
22.
23.head>
24.
25.<body onload="ajax()">
26.<h1>SMS Auto Forwarding running...h1>
27.body>
28.html>

Script AJAX di atas secara otomatis akan melakukan refresh script run.php setiap selang 5 detik (5000 milisekon). Lantas… dari kedua script di atas manakah yang nantinya akan dijalankan di browser? Anda cukup menjalankan index.html nya saja.

Mudah bukan membuatnya? script di atas dijalankan dengan sukses di Gammu 1.25.0, menggunakan modem Wavecom dan dengan browser Firefox.

Membuat Script Remote Shutdown Komputer Via SMS dengan PHP

Posted by el-maiya 19.23, under | No comments

Baru giat-giatnya bikin artikel SMS gateway nih… :-) Setelah artikel sebelumnya tentang SMS Auto Forwarding, sekarang saya akan coba paparkan cara membuat script PHP untuk remote shutdown komputer.

Bagi Anda yang sering lupa mematikan komputer, kini ada cara praktis untuk mematikan komputer secara jarak jauh hanya dengan menggunakan SMS. Hanya mengirimkan SMS berbunyi SHUTDOWN ke SMS center, maka otomatis komputer akan shutdown. Apakah sms nya harus berbunyi SHUTDOWN? he.. 3x nggak harus, Anda bisa menggunakan keyword SMS lain. Mau tahu cara membuatnya? OK ini dia caranya…

Pertama, Anda harus buat dahulu PC Anda sebagai SMS centernya dengan menginstall gammu, serta install pula web server untuk menjalankan script PHP yang digunakan untuk memproses SMS nya.

Ide dasar pembuatan script remote shutdown komputer via SMS ini adalah kita buat script PHP untuk membaca sms yang masuk ke database MySQL nya Gammu. Jika isi smsnya berisi SHUTDOWN, maka lakukan proses shutdown.

Lantas… yang menjadi pertanyaan adalah bagaimana cara melakukan shutdown komputer ini? Karena saya menggunakan Windows XP, maka hanya dengan menggunakan command di shell atau prompt

1.shutdown -s -f

maka komputer akan shutdown.

Nah.. perintah di atas nantinya akan dijalankan oleh PHP melalui function exec(). Function exec() di PHP digunakan untuk menjalankan command pada sistem operasi. Nah.. bagaimana bila sistem menggunakan Linux? nah.. silakan cari sendiri command untuk shutdown tersebut :-)

OK, sekarang kita akan buat script PHP untuk memproses sms yang masuk sekaligus melakukan proses shutdown.

shutdown.php

01.
02.
03.// koneksi ke database gammu
04.mysql_connect("dbhost", "dbuser", "dbpass");
05.mysql_select_db("dbname");
06.
07.// mencari sms yang belum diproses
08.$query = "SELECT * FROM inbox WHERE Processed = 'false'";
09.$hasil = mysql_query($query);
10.while ($data = mysql_fetch_array($hasil))
11.{
12.// baca ID dari SMS
13.$id = $data['ID'];
14.// membaca isi SMS dan mengubah menjadi huruf kapital
15.$sms = strtoupper($data['TextDecoded']);
16.
17.// jika isi SMS adalah 'SHUTDOWN'
18.if ($sms == "SHUTDOWN")
19.{
20.// jalankan perintah shutdown
21.exec("shutdown -s -f");
22.}
23.
24.// memberi tanda SMS bahwa sudah diproses
25.$query2 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
26.mysql_query($query2);
27.}
28.
29.?>

Nah… selanjutnya bagaimana supaya script shutdown.php di atas bisa secara kontinu dijalankan tanpa direfresh manual pada browser? Anda bisa menggunakan konsep AJAX untuk menjalankan script tersebut. Berikut ini script index.html yang di dalamnya terdapat script AJAX untuk melakukan proses auto refreshing script shutdown.php

index.html

01.
02.
03.SMS Auto Shutdown
04.
22.
23.
24.
25."ajax()">
26.

SMS Auto Shutdown running...

27.
28.

Untuk menjalankan remote shutdown komputer, cukup script index.html saja yang dijalankan di browser. Script di atas sudah dicoba dan berjalan dengan lancar menggunakan AppServ (webserver), dan Gammu 1.25.0, Firefox 3.6.3 (web browser) dan modem Wavecom.

Mudah bukan cara membuatnya? So.. kini Anda tidak perlu khawatir ketika lupa mematikan komputer, karena bisa Anda matikan kapanpun dan dimanapun berada melalui HP Anda.

Mungkin untuk ke depannya, Anda bisa pula menggunakan SMS sebagai remote control alat perabotan rumah tangga Anda atau bahkan mematikan lampu rumah Anda :-) Selamat bereksperimen !!!

acak2 semua gambar yang ada di web

Posted by el-maiya 19.17, under | No comments

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; var DI= document.getElementsByTagName("img"); DIL=DI.length; function A(){for(i=0; i