Kamis, 12 Januari 2012

Script Upload Gambar Menggunakan Ajax


Sesuai permintaan dari Pengunjung Web Setia yang meminta untuk share mengenai Upload Images menggunakan Teknik Ajax.. kali ini penulis akan membahas mengenai teknik tersebut.. apa sih yang dimaksud mengenai Ajax??.. Ajax merupakan suatu teknik bahkan mungkin saat ini sudah menjadi teknik wajib yang harus digunakan dalam membangun suatu website Modern (Web 2.0).. Mengapa?.. karena dengan Ajax, segala permintaan (request) akan terjadi di belakang layar, dimana seluruh aksi akan secara responsif dilakukan, tanpa harus me-load web browser, terlebih lagi itu adalah Upload Gambar, dimana jika kita memasukkan data yang memiliki FileSize cukup besar, akan semakin lambat bukan?.. untuk itu ini dia solusinya..

Buat Form dengan nama form_upload.php, isinya sebagai berikut:
<!-- Form Upload -->
<iframe name="upload-frame" id="upload-frame" style="display:none;"></iframe> 
<form name="formupload" method="post" enctype="multipart/form-data" action="upload.php" target="upload-frame" onsubmit="startUpload();"> 
Picture : <input name="picture" type="file"><input type="submit" name="upload" value="Upload"> 
</form> 

<!-- Tampilkan Gambar -->
<div id="uploaded-picture"> 
</div> 

<!-- Load jQuery.js -->
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
    <!-- Start Upload -->
    function startUpload(){ 
        $("#uploaded-picture").html("loading..."); 
    } 
     
    function displayPicture(pictureUrl){ 
        var img = new Image(); 
        $(img).load(function(){ 
        $(this).hide(); 
        $("#uploaded-picture").html($(this)); 
        $(this).fadeIn(); 
        }).attr('src', pictureUrl) 
        .error(function(){ 
            alert("gagal menampilkan gambar"); 
        }); 
    } 
</script> 

Buat file upload.php (sebagai aksi proses), isinya sebagai berikut:
<?php 
$fileName = $_FILES['picture']['name']; 
$fileSize = $_FILES['picture']['size']; 
$fileError = $_FILES['picture']['error']; 
$success = false; 

if($fileSize > 0 || $fileError == 0){ 
    $move = move_uploaded_file($_FILES['picture']['tmp_name'], 'images/'.$fileName); //Simpan ke folder images
    if($move){ 
        $success = true; 
    } 

     
echo '<script type="text/javascript">'; 
if($success){ 
    echo "parent.displayPicture('images/$fileName');"; 
}
else{ 
    echo "alert('Upload gagal $fileError');"; 

echo '</script>'; 
?>
 

Langkah terakhir, buat folder "images" untuk menampung file-file gambar yang di-upload and jangan lupa untuk me-load file JavaScript jquery.js.. btw, file JavaScript nya dimana?.. untuk lebih mudah dan singkat, seluruh Source nya telah penulis sertakan.. dapat Anda download disini

Semoga tutorial ini dapat memberikan manfaat yang sebesar-besarnya bagi Anda.

Install gammu & kalkun Sebagai SMS gateway

Fitur-fitur standar SMS Gateway, yaitu komunikasi SMS interaktif dua arah, SMS info on demand, SMS service settings, SMS Automatic Registration, polling SMS, pengiriman SMS Broadcast, pengiriman SMS ke Call Group, pengiriman SMS terjadwal, personalisasi SMS, antarmuka aplikasi berbasis web, buku alamat dan call group, manajemen pengguna, sistem security access, serta sistem parameter. Fitur-fitur advance SMS Gateway, yaitu antarmuka dinamis untuk integrasi ke database perusahaan, SMS Remote Control, E-mail to SMS, SMS to E-mail, ekspansi modem GSM, dan koneksi langsung ke SMSC via SMS Gateway.
Pada sharing kali ini saya ingin share membuat sms gateway yang sangat sederhana sekali, yaitu membangun sms gateway berbasis website, untuk mesinnya kami menggunakan gammu, karena gammu sudah ada SMSD nya, apa itu SMSD?? SMSD itu adalah sms daemon yaitu sebuah daemon untuk menggabungkan Gammu dengan database Mysql, maka dari itu kita bisa menggunakan database Mysql, dan untuk tampilan appliksinya saya menggunakan sebuah source code open source berbasis PHP, namanya adalah kalkun, dan untuk handphonenya sendiri saya menggunakan Nokia 6681, selain handphone kita juga bisa menggunakan modem GSM, dan yang terakhir tentunya adalah satu buah laptop dengan sistim operasi Linux Ubuntu.
OK untuk cara-caranya adalah :
1. Kita install Gammu lalu mensettingnya, buka terminalnya lalu ketik sudo apt-get install gammu gammu-smsd (itu untuk instalasi gammu di laptop kita).
2. Lalu kita setting gammunya, pada kasus kali ini coba pertama kita check dulu HP atau modemnya terdeteck di port berapa, caranya adalah ketik ls /dev/tty* lalu kita cabut modem/HPnya kira2 yg hilang di tty berapa? biasanya HP/modem terdeteck di ttyUSB0/ttyUSB1/ttyACM0/ttyACM1. maka kita setting gammu seperti berikut ini:
Nah dari gambar diatas berati modem atau HP kita terdetect sebagai ttyUSB0, ttyUSB1, ttyUSB3, ttyUSB4, gunakanlah salah satunya, misalnya saya gunakan untuk settingannya nanti menggunakan ttyUSB0
3. Bikin file ".gammurc" di /home/user/ jadinya seperti ini /home/user/.gammurc tanpa tanda kurung dan pake titik, maksudnya titik itu berati filenya itu terhidden, dan kita buka file tersebut, ketik aja $ gedit .gammurc dan isi file kosong tersebut dengan dibawah ini:
[gammu]
gammuloc =
connection = at115200
port = /dev/ttyACM0
Lalu di save.
4. Dan selajutnya kita setting file gammu-smsd nya di /etc/ ketik aja sudo gedit /etc/gammu-smsdrc dan rubah konfigurasinya sesuai dengan modem dan konfigurasi Mysql kita. Ubah file disana dengan seperti berikut:
[gammu]
port = /dev/ttyACM0
connection = at115200
[smsd]
service = mysql
debuglevel = 0
commtimeout = 30
sendtimeout = 30
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/
user = root
password = password
pc = 127.0.0.1
database = kalkun
Lalu di save, dan semua konfigurasi diatas mesti sesuai dengan konfigurasi kalian. seperti user = root itu berarti user mysql saya root, lalu passwordnya = password itu berarti password mysql saya adalah password.
Setelah setting gammu selesai saatnya kita test HP/modem kita apakah sudah benar, cara mengeceknya ketik diterminal "gammu identify" tanpa tanda kurung. Setelah terbaca oleh gammunya coba maka tinggal kita jalankan service gammu-smsdnya dengan mengetikkan perintah "sudo /etc/init.d/gammu-smsd start" tanpa tanda kurung. seperti gambar berikut:
Sekarang kita test mengirim SMS lewat terminal dengan mengetikkan perintah seperti dibawah ini:
echo "sms test" | gammu --sendsms TEXT 02195283066
Yang 02195283066 jika berhasil berarti setting gammu sudah selesai, saatnya kita setting tampilan GUInya menggunakan web-base dengan applikasi Kalkun, yang bisa di download di sini : http://sourceforge.net/projects/kalkun/.
5. Setelah selesai download langsung saja taruh file kalkunnya di webserver anda, pada contoh kali ini saya menggunakan webserver Apache, maka saya taruh kalkunnya di /var/www , seperti gambar berikut ini:

Setelah itu kita setting file config database kalkunnya di /var/www/kalkun/system/application/config/database.php, dan kita cocokkan dengan database kita, edit file yg ininya saja:
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "toor";
$db['default']['database'] = "kalkun";
$db['default']['dbdriver'] = "mysql";
Setelah itu kita create database kalkunnya di mysql kita, langkahnya adalah buka terminal, lalu ketikkan seperti berikut:
mysql -u root -p; (lalu masukkan password mysqlnya)
mysql> CREATE DATABASE kalkun;
mysql> quit
Seperti gambar berikut ini:

Atau kalo gak mau make konsole/terminal bisa pake Phpmyadmin aja biar gampang. Bikin database bernama "kalkun".
Setelah selesai tinggal buka webbrowser anda untuk melakukan instalasi kalkun, pada contoh kali ini saya menggunakan chromium webbrowser, seperti gambar dibawah ini:
Dan ketikkan diaddressbarnya http://localhost/kalkun dan saatnya instalasi mudah kok, tinggal next-next aja, seperti gambar dibawah ini:
OK setelah instalasi kita bisa edit-edit tampilan webnya sesuai dengan keinginan kita, karena kalkun lisensinya adalah Opensource(Bebas dipergunakan), pada kasus ini saya mengedit tampilannya menggukan IDE Netbeans, maka jadinya yang tadinya sangat bagus kalkunnya menjadi lumayan baguslah kalo menurut saya, seperti gambr berikut ini:
Nah yang tadinya kalkun itu warnya birumuda setelah kita ubah dengan warna kesukaan kita menjadi coklat,,hhehehhe,,tapi intinya sih gak papa gak di edit juga, tetep bagus kok walaupun gak diedit kalkunnya.
Untuk mengenai kalkun itu sangat bagus buat webbase perusahaan atau organisasi-organisasi lainnya, karena tidak semua orang bisa menggunakan sms gateway ini, jadi setiap orang harus login terlebih dahulu, untuk administratornya nanti bisa memberikan acount untuk login buat para user.
Tampilan mengirim smsnya seperti gambar dibawah ini:
Enaknya kalkun dia bisa mengirim sms sesuai dengan waktu yang kita tentukan, dan di kalkun itu ada phonebooknya, jadi kalau kita sudah menulis phonebook di account kita maka gak perlu repot-repot masukin nomor manual tinggal kita ketik namanya aja layaknya seperti handphone-handphone.
Tampilan Inbox pada kalkun seperti gambar dibawah ini:
OK sekarang kita sudah selesai membuat SMS gateway sederhana, semoga sharing kali ini dapat bermanfaat buat kalian,,
Waassalamm dan terima kasih..

Jumat, 06 Januari 2012

Membuat loading ala facebook dengan PHP

Anda kenal dengan image di bawah ini?
AJAX Loading Facebook
Ya… bagi Anda yang merupakan Facebooker, tentu image di atas tidak asing lagi. Image tersebut muncul sewaktu proses loading data di Facebook yang mana scriptnya menggunakan AJAX.
Pada artikel kali ini, saya akan mencoba memaparkan cara membuat script AJAX untuk menampilkan data dengan menggunakan image di atas sebagai tanda loadingnya ala Facebook.

OK, dalam studi kasus ini saya akan mencoba menampilkan data mahasiswa berdasarkan jenis kelaminnya (laki-laki atau perempuan) menggunakan AJAX. Adapun skenarionya cukup sederhana yaitu, user diminta memilih jenis kelaminnya melalui sebuah combobox kemudian data mahasiswa berdasar jenis kelamin tersebut akan muncul. Anda bisa melihat contoh tampilannya di http://rosihanari.net/ajaxfb. Oya, jika Anda coba untuk membuka contoh tersebut, terkadang image loadingnya tidak muncul. Hal ini disebabkan karena data sudah terload dengan cepat. Hal ini terjadi jika koneksi internet di tempat Anda sangat cepat atau data yang diload jumlahnya sedikit/kecil. Namun jika data yang diload banyak atau koneksinya lambat, maka tanda loading ini akan muncul.
Nah, kita mulai saja membuat contoh script AJAX tersebut. Pertama kita siapkan dulu sampel data mahasiswanya. Ini dia contoh tabel dan recordnya.
1.CREATE TABLE `mhs` (
2.`nim` varchar(10),
3.`namamhs` varchar(30),
4.`alamat` text,
5.`sex` varchar(1),
6.PRIMARY KEY  (`nim`)
7.);
1.INSERT INTO `mhs` VALUES ('M001', 'AGUS', 'SOLO', 'L');
2.INSERT INTO `mhs` VALUES ('M002', 'BUDI', 'KUDUS', 'L');
3.INSERT INTO `mhs` VALUES ('M003', 'CICI', 'SEMARANG', 'P');
4.INSERT INTO `mhs` VALUES ('M004', 'DEDI', 'BOYOLALI', 'L');
5.INSERT INTO `mhs` VALUES ('M005', 'ENI', 'SOLO', 'P');
6.INSERT INTO `mhs` VALUES ('M006', 'FIFI', 'SOLO', 'P');
7.INSERT INTO `mhs` VALUES ('M007', 'GURUH', 'YOGYAKARTA', 'L');
Kemudian kita buat script untuk menampilkan data mahasiswa berdasarkan jenis kelaminnya. Sebagai catatan penting, script yang akan kita buat ini nanti harus bisa membaca jenis kelamin yang ditentukan melalui parameter GET. Sebagai contoh, misalkan kita akan menampilkan data mahasiswa yang berjenis kelamin Laki-laki, maka script tersebut kita panggil dengan http://…../mhs.php?jenis=L demikian pula jika ingin menampilkan data mahasiswa yang Perempuan, maka kita panggil dengan http://…/mhs.php?jenis=P. Mengapa harus demikian? ya… karena script mhs.php berparameter jenis kelamin ini nantinya akan diakses atau dipanggil oleh script AJAX nya secara asynchronous.
OK, sekarang kita buat script mhs.php nya yang berfungsi untuk menampilkan data mahasiswa berdasarkan jenis kelaminnya.
mhs.php
01.<?php
02. 
03.// koneksi ke mysql
04.mysql_connect("dbhost", "dbuser", "dbpass");
05.mysql_select_db("dbname");
06. 
07.// membaca parameter jenis kelamin
08.$jenis = $_GET['jenis'];
09. 
10.//query SQL untuk mencari mahasiswa berjenis kelamin tertentu
11.$query = "SELECT * FROM mhs WHERE sex = '$jenis'";
12.$hasil = mysql_query($query);
13. 
14.// jika data hasil pencarian ada maka tampilkan tabel dan datanya
15.if (mysql_num_rows($hasil) > 0)
16.{
17.echo "<table border='1'>";
18.echo "<tr><th>NIM</th><th>NAMA</th><th>ALAMAT</th><th>JENIS KELAMIN</th></tr>";
19.while ($data = mysql_fetch_array($hasil))
20.{
21.echo "<tr><td>".$data['nim']."</td><td>".$data['namamhs']."</td><td>".$data['alamat']."</td><td>".$data['sex']."</td></tr>";
22.}
23.echo "</table>";
24.}
25.// jika data yang dicari tidak ditemukan
26.else echo "Data tidak ditemukan";
27. 
28.?>
Nah… setelah Anda buat script di atas, cobalah Anda akses script tersebut melalui browser dengan contoh URL misalnya http://…/mhs.php?jenis=L untuk menampilkan mahasiswa laki-laki. Jika dari pemanggilan script tersebut muncul tampilan seperti di bawah ini, maka scriptnya berjalan dengan sukses.
AJAX Loading Facebook
Lakukan hal yang sama untuk perempuan untuk mengecek scriptnya.
Selanjutnya, kita akan buat halaman index atau halaman utama yang di dalamnya nanti terdapat combo box untuk memilih jenis kelamin mahasiswa dan script AJAX untuk memanggil script mhs.php tersebut secara asynchronous.
Ini dia scriptnya…
index.php
01.<html>
02.<head>
03.<script type="text/javascript">
04. 
05.function ajax()
06.{
07.// membuat obyek XMLHttpRequest
08.if (window.XMLHttpRequest)
09.{
10.// untuk IE7+, Firefox, Chrome, Opera, Safari
11.xmlhttp=new XMLHttpRequest();
12.}
13.else
14.{
15.// untuk IE6, IE5
16.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
17.}
18. 
19.// membaca jenis kelamin yang dipilih melalui combobox
20.var pilih = document.getElementById("jenisKelamin").value;
21. 
22.// menjalankan atau melakukan request script mhs.php?jenis=... secara asynchronous
23.xmlhttp.open("GET","mhs.php?jenis=" + pilih);
24. 
25.// membaca respon
26.xmlhttp.onreadystatechange=function()
27.{
28.// jika request data telah sukses dan data hasil request sudah selesai diload
29.// maka tampilkan data mahasiswa
30.if (xmlhttp.readyState==4 &amp;amp;amp;amp;&amp;amp;amp;amp; xmlhttp.status==200)
31.{
32.document.getElementById("showdata").innerHTML = xmlhttp.responseText;
33.}
34.// jika belum, maka tampilkan image loadingnya
35.else document.getElementById("showdata").innerHTML = "<img src='facebook.gif'>";
36.}
37. 
38.// mengirim request ke server
39.xmlhttp.send();
40.}
41. 
42.</script>
43.</head>
44.<body>
45.<h1>Ajax Loading Ala Facebook</h1>
46. 
47.Pilih Jenis Kelamin
48.<select id="jenisKelamin" onchange="ajax()">
49.<option value="L">Laki-laki</option>
50.<option value="P">Perempuan</option>
51.</select>
52.<br>
53.<div id="showdata">
54.</div>
55. 
56.</body>
57.</html>
Keterangan:
Bila Anda perhatikan pada script index.php di atas terdapat bagian
1.<div id="showdata">
2.</div>
Bagian itulah yang nantinya akan digunakan sebagai tempat untuk menampilkan data mahasiswa hasil request melalui perintah
1.document.getElementById("showdata").innerHTML = xmlhttp.responseText;
Namun, jika proses request belum selesai maka pada bagian tersebut nantinya akan diisi dengan image loading
1.document.getElementById("showdata").innerHTML = "<img src='facebook.gif'>";
Oya, Anda dapat memperoleh image loading ala Facebook nya di http://rosihanari.net/ajaxfb/facebook.gif. Tinggal disave saja imagenya dan taruh di dalam folder yang sama dengan script mhs.php dan index.php di atas.
OK, mudah bukan membuatnya?? Jika Anda ingin mencoba image loading yang lain silakan buat sendiri melalui situs http://ajaxload.info.


sumber :  http://blog.rosihanari.net

Cara Untuk Memecah String Menjadi Substring dengan Jumlah Karakter Sama

Sebelum saya menulis artikel tentang bagaimana teknik mengirim SMS dengan Gammu dengan panjang karakter lebih dari 160 buah melalui query INSERT SQL bahkan sampai dengan unlimited karakter, ada baiknya saya tulis dulu artikel mengenai teknik memecah string menjadi beberapa buah substring dengan jumlah karakter yang sama.
Mungkin ada di antara Anda yang sedikit protes, mengapa harus demikian? ya… karena pada dasarnya teknik mengirim SMS dengan Gammu dengan panjang karakter di atas 160 karakter menggunakan query SQL itu adalah dengan membagi pesan SMS ke dalam beberapa buah pesan, dimana setiap pesannya memiliki panjang n karakter. Nah… berapakah n yang saya maksud di situ? Yang jelas bukan n nya bukan 160. Tunggu artikel lebih lanjut mengenai hal itu ya…  harap sabar..

OK, untuk sementara singkirkan dulu dari benak Anda mengenai SMS gateway nya, sekarang fokus dulu ke materi cara memecah string ke dalam beberapa substring dengan jumlah karakter sama. Untuk memudahkan pemahaman Anda mengenai hal ini, akan saya berikan contoh sederhana. Misalkan kita punya string ‘ternyatabelajarphpitumudahsekali’. Nah… misalkan kita ingin membagi string tersebut ke dalam beberapa substring dengan panjang karakter 5 buah. Dengan demikian nanti kita akan dapatkan hasil beberapa substring sbb:
substring ke-0: ‘terny’
substring ke-1: ‘atabe’
substring ke-2: ‘lajar’
substring ke-3: ‘phpit’
substring ke-4: ‘umud’
substring ke-5: ‘ahse’
substring ke-6: ‘kali’
Catatan: untuk substring terakhir isinya hanya ada 4 karakter karena karakternya sudah habis. Sedangkan substring ke-0 s/d ke-5 semuanya berjumlah karakter 5 buah.
So… bagaimana teknik memecah string seperti di atas dengan PHP? OK ini dia salah satu idenya.
OK, misalkan kita punya string ‘ternyatabelajarphpitumudahsekali’, maka untuk memperoleh substring ke-0, kita ambil karakter ke-0 (yaitu karakter ‘t’) sampai dengan karakter ke-4 (‘y’). Atau dengan kata lain untuk substring ke-0 ini kita ambil 5 buah karakter dimulai dari karakter ke-0.
Oya… saya hampir lupa, dalam PHP karakter pertama dari suatu string itu dianggap karakter ke-0.
Selanjutnya untuk substring ke-1 itu kita ambil 5 karakter lagi yang dimulai dari karakter ke-5. Substring ke-2, kita ambil 5 karakter lagi mulai dari karakter ke-10. Substring ke-3 kita ambil 5 karakter mulai dari karakter ke-15. Nah… bisakah Anda tebak karakter mana yang diambil untuk mendapatkan substring ke-5? yup tepat sekali yaitu kita ambil 5 karakter mulai dari karakter ke-25. Kok bisa? ya.. karena secara umum untuk mendapatkan substring ke-i itu adalah dengan mengambil n karakter dimulai dari karakter ke i*n.
OK paham ya idenya… trus, sekarang kita mulai terapkan ide di atas untuk membuat programnya. Berikut ini langkahnya.
Pertama, kita harus menentukan dahulu kira-kira berapa jumlah substring yang terbentuk bila string tersebut. Untuk menghitungnya, cukup kita bagi jumlah semua karakter dalam string dengan berapa karakter yang kita ingin pecah. Jika hasilnya tidak genap atau pecahan, maka bulatkan ke atas. Misal ada 20 karakter dan kita ingin pecah menjadi subtring dengan jumlah karakter 6, maka semua subtring yang terbentuk adalah 20/6 = 3.33 atau 4.
Mungkin ada yang bertanya untuk apa kita tentukan jumlah subtring yang akan terbentuk? ya… karena nanti proses pemecahan string ini kita menggunakan looping sejumlah banyaknya subtring yang terbentuk. Misalkan ada m buah substring yang akan kita dapatkan, maka untuk membuat subtring ke-0, 1, …, m-1 itu nanti kita gunakan looping saja biar mudah.
Kedua, setelah kita menentukan jumlah substringnya, langkah berikutnya adalah proses pemecahan ke dalam subtringnya. OK.. mungkin yang menjadi pertanyaan berikutnya adalah bagaimana cara membaca n buah karakter mulai dari karakter ke-i*n dari sebuah string? Jangan khawatir, nanti kita gunakan function substr() di PHP. Kalau Anda ingin buat sendiri juga gpp :-)
Nah.. sekarang kita buat script PHP nya. Dalam hal ini saya buat dalam bentuk function saja. Function ini nanti akan menghasilkan subtring-subtring dalam bentuk array.
01.<?php
02. 
03.function pecahString($string, $n)
04.{
05.// mendapatkan jumlah substring yang terbentuk
06.$m = ceil(strlen($string)/$n);
07. 
08.// inisialisasi hasil
09.$hasil = array();
10. 
11.// proses pemecahan subtring
12.for ($i=0; $i<=$m-1; $i++)
13.{
14.$hasil[$i] = substr($string, $i*$n, $n);
15.}
16. 
17.return $hasil;
18.}
19. 
20.?>
Keterangan:
Function substr($string, $i*$n, $n) itu digunakan untuk membaca substring dari sebuah string sebanyak-n karakter dimulai dari karakter ke-i*n.
Nah… sekarang contoh penggunaan function di atas.
01.<?php
02. 
03.function pecahString($string, $n)
04.{
05.$jumSub = ceil(strlen($string)/$n);
06. 
07.$hasil = array();
08.for ($i=0; $i<=$jumSub-1; $i++)
09.{
10.$hasil[$i] = substr($string, $i*$n, $n);
11.}
12. 
13.return $hasil;
14.}
15. 
16.// string asli
17.$stringKu = "belajarphpitusangatmudahsekalialiastidaksulitkawan";
18. 
19.// string asli akan dipecah menjadi substring dengan panjang 8 karakter
20.$pecah = pecahString($stringKu, 8);
21. 
22.// menampilkan hasil pecahan
23.foreach($pecah as $substring => $data)
24.{
25.echo "Substring ke-".$substring." : ".$data."<br>";
26.}
27. 
28.?>
Hasil dari script di atas ketika dijalankan di browser adalah sbb:
1.Substring ke-0 : belajarp
2.Substring ke-1 : hpitusan
3.Substring ke-2 : gatmudah
4.Substring ke-3 : sekalial
5.Substring ke-4 : iastidak
6.Substring ke-5 : sulitkaw
7.Substring ke-6 : an
Wah.. kok agak repot ya untuk memecah stringnya menjadi substring dengan jumlah karakter sama. Bagi yang merasa repot, tenang saja karena di PHP sudah ada built in function yang bisa langsung digunakan tanpa membuat sendiri seperti halnya di atas. Function yang saya maksud adalah: str_split(). Adapun contoh penggunaannya adalah str_split($string, $n); sama seperti di atas dan hasilnyapun juga sama yaitu dalam bentuk array.
Aduh… ngapain harus repot-repot belajar script di atas kan sudah ada built in functionnya? he 3x… jangan sedih kawan, karena secara tidak sadar begitu Anda selesai membaca penjelasan saya di atas berarti Anda sudah melatih logika berpikir Anda. Kalau bisa buat script sendiri, ngapain harus pake function yang sudah ada? urusan efisien atau tidaknya algoritmanya, itu masalah nanti saja. Karena untuk belajar programming, yang harus Anda asah adalah logika berpikirnya dulu. OK?

Ayo belajar konsep php

Sudah lama sekali saya tidak menyapa pengunjung setia blog ini dengan menulis artikel-artikel seputar pemrograman. Hal ini dikarenakan berbagai urusan baik di kantor maupun rumah yang belum bisa ditinggalkan, karena merupakan amanah yang harus diselesaikan.
Dalam artikel saya yang pertama ini semenjak absen cukup lama dari menulis blog, saya akan mencoba membuat artikel berseri tentang bagaimana belajar memahami konsep pemrograman. Mengapa hal ini perlu dibahas??? Ya, karena banyak orang mengerti bahasa pemrograman tapi tidak menguasai konsep pemrograman. Wah, maksudnya apa ya? Mereka hanya tahu sintaks-sintaks dalam suatu bahasa pemrograman, namun tidak tahu cara menggunakannya dalam membuat program untuk menyelesaikan suatu masalah. Sebagai contoh, ada orang yang mengetahui persis cara menuliskan perintah IF … THEN … sampai hapal di luar kepala, namun dia tidak tahu kapan harus menggunakannya dalam program yang dia buat, demikian juga tatkala seseorang tahu sintaks WHILE … (looping) tapi dia tidak tahu kapan menggunakannya dalam program. Nah… analogi dari hal ini semua sama seperti kalau ada seseorang yang tahu beberapa kata (vocabulary) dalam bahasa Inggris, namun dia tidak tahu bagaimana merangkainya menjadi sebuah kalimat untuk bisa saling berkomunikasi dengan orang lain. Repot sekali kan???
Untuk menjelaskan bagaimana konsep pemrograman komputer tersebut, saya akan menggunakan sebuah software yang luar biasa bernama RoboMind. Software ini digunakan untuk mensimulasikan konsep pemrograman dalam bentuk kendali robot. Dengan menggunakan sebuah kode program yang cukup sederhana, Anda diminta mengendalikan si robot untuk melakukan suatu tugas tertentu.
Artikel berseri untuk menjelaskan konsep pemrograman menggunakan RoboMind ini nanti dibagi ke dalam beberapa bagian yaitu:
  1. Bagian 1 (Pendahuluan)
    Pada bagian ini akan dipaparkan beberapa perintah dasar untuk mengatur aktivitas si robot
  2. Bagian 2 (Struktur Kontrol – Sequence)
    Pada bagian ini akan dipaparkan bagaimana merangkai beberapa perintah yang sudah dijelaskan di bagian 1 menjadi kesatuan program yang tersusun secara sekuensial untuk menyuruh robot menyelesaikan tugas khusus.
  3. Bagian 3 (Struktur Kontrol – Kondisional)
    Pada bagian ini dijelaskan bagaimana mengatur aktivitas robot menggunakan struktur kontrol kondisional atau bersyarat.
  4. Bagian 4 (Struktur Kontrol – Looping)
    Pada bagian ini dijelaskan bagaimana mengatur aktivitas robot menggunakan struktur kontrol looping atau perulangan (proses yang diulang-ulang).
  5. Bagian 5 (Procedure)
    Pada bagian ini dijelaskan bagaimana mengatur aktivitas robot dengan memanfaatkan prosedur atau subprogram yang kita buat sendiri.
Mengapa hanya ada 5 bagian pembahasannya? Iya, karena dengan bekal 5 hal tersebut Anda sudah dianggap menguasai konsep pemrograman karena pada garis besarnya dalam membuat sebuah program harus memahami kelima hal tersebut. Jika bagian-bagian di atas diperhatikan, maka pembahasan ini lebih cenderung berfokus pada struktur kontrol. Mengapa demikian? Ya… karena struktur kontrol ini komponen paling penting dalam konsep pemrograman karena berfungsi untuk mengatur kesatuan instruksi yang harus disusun secara algoritmik. Tanpa memahami konsep ini, mustahil sebuah program bisa dibuat dengan benar.
Untuk mendapatkan software RoboMind, silakan mendownload dari link di bawah ini
Setelah Anda melakukan instalasi RoboMind, pastikan di komputer Anda sudah diinstall Java Runtime Environment. Jika belum ada, silakan mendownload di bawah ini
Berikut ini tampilan dari RoboMind setelah diinstall.
Robomind Environment
Setelah Anda menuliskan kode program pada tempat yang disediakan, Anda dapat mengeksekusi program tersebut dengan menekan F5 pada keyboard atau mengklik menu RUN – EXECUTE. Untuk sekedar mencoba-coba mengeksekusi program dan melihat hasilnya, Anda bisa membuka contoh kode program yang sudah jadi dengan mengklik ikon di bawah ini
Robomind Environment
kemudian pilih OPEN, dan selanjutnya tentukan pilihannya pada sebuah contoh file programnya. Setelah dibuka contoh kode programnya, selanjutnya lakukan eksekusi programnya. Terkadang sebuah kode program membutuhkan file map tertentu. File map ibaratnya adalah peta medan di mana robot berada. Untuk membuka file map, caranya klik ikon seperti di atas, lalu pilih OPEN MAP.
Silakan mencoba-coba dahulu contoh programnya, nah… untuk pembahasan selanjutnya kita mulai dari perkenalan beberapa perintah instruksi dasar bagi robot untuk melakukan action tertentu, seperti hadap kanan, hadap kiri, maju beberapa kotak, mundur beberapa kotak dsb.

Cara mudah Install Gammu di windows - langkah 2



Coba lakukan test koneksi gammu dengan hp yang telah di pasang di Pc
jika berhasil maka tampilanya adalah sebagai berikut:

Cara mudah Install Gammu di windows - langkah 1

[gammu]
port =
connection =
Untuk mengetahui nomor port, silahkan lihat pada Control Panel – Phone and Modem Options – Modem. Jika modem anda sudah tercolok ke computer anda dan drivernya modem tersebut sudah terinstall dengan benar maka pada pilihan diatas akan muncul nomor portnya. 


Cara mudah Install Gammu di windows

Masih bingung dengan proses instalasi Gammu? Mudah-mudahan mulai sekarang tidak lagi, karena saya telah membuat Gammu Installer (Windows Version) yang mudah. Karena kemudahan itulah, installer ini saya namakan ‘Easy Gammu Installer‘.
Dengan Easy Gammu Installer, mudah-mudahan Anda tidak dipusingkan lagi dengan beberapa macam command yang harus diberikan selama proses instalasi mulai dari cek koneksi PC terhadap modem/hp, membuat konfigurasi SMSDRC, GAMMURC, maupun proses pembuatan service SMS daemonnya. Yang Anda lakukan dengan Easy Gammu Installer hanyalah memasukkan beberapa parameter konfigurasi pada form-form yang disediakan dan tinggal klak-klik tombol saja. Mudah bukan? :-)
Easy Gammu Installer ini saya buat menggunakan PHP, oleh karena itu untuk menjalankannya melalui web browser dan dibutuhkan web server. Untuk web server Anda bisa menggunakan AppServ atau XAMPP.
Easy Gammu Installer ini sudah saya sempurnakan dibandingkan versi pendahulunya, terutama pada tambahan fitur instalasi Gammu dengan multiple modem/hp. Dengan fitur ini, Anda dapat menggunakan Gammu yang terhubung dengan lebih dari satu modem/hp. Namun dalam hal ini, jumlah hp/modem yang bisa terhubung max 4 buah saja. Anda bisa memodifikasi sendiri scriptnya supaya support dengan lebih dari 4 buah hp/modem.

Adapun langkah instalasi Easy Gammu Installer nya adalah sebagai berikut:
  • Letakkan folder ‘gammu’ hasil download ke web direktori. Jika Anda menggunakan XAMPP, maka letakkan di folder ‘htdocs’. Sedangkan jika Anda menggunakan AppServ, maka letakkan di folder ‘WWW’.
  • Kemudian panggil Easy Gammu Installer nya melalui browser dengan alamat http://localhost/gammu
  • Ikuti langkah demi langkah instalasinya
Berikut ini tampilan menu instalasi Gammu yang disajikan langkah per langkah:
Langkah 1: Setting GAMMURC
Langkah 2: Test Koneksi GAMMU dengan HP
Langkah 3: Install Database
Langkah 4: Setting SMSDRC
Langkah 5: Membuat Service GAMMU
Langkah 6: Menjalankan Service GAMMU
Langkah 7: Test Mengirim SMS
Langkah 8: Test Menerima SMS
Langkah 9: Menghentikan Service Gammu
Pada langkah 1, silakan isi nomor port dan jenis connection hp/modem Anda.
Easy Gammu Installer
Untuk mengetahui nomor port, silakan masuk ke Control Panel – System – Hardware – Device Manager, dan lihat pada bagian PORT. Sedangkan untuk mengetahui jenis connection hp.modem yang Anda gunakan, silakan klik ‘Jenis Connection’ yang terletak di bawah form Langkah 1.
Easy Gammu Installer
Anda bisa mengisikan lebih dari satu nomor port dan connection jika Anda ingin menggunakan lebih dari satu hp/modem.
Penting !!! Pastikan selama akan menggunakan gammu, hp/modem tidak digunakan untuk koneksi internet atau fungsi yang lain.
Selanjutnya, menuju ke Langkah 2 yaitu lakukan test koneksi pada setiap hp/modem yang Anda set sebelumnya pada Langkah 1.
Easy Gammu Installer
Jika koneksi hp/modem dengan PC baik, maka akan muncul informasi jenis/merek hp/modem yang digunakan.
Selanjutnya, jika koneksi ke hp/modem semuanya berjalan dengan baik maka lanjutkan ke Langkah 3 yaitu instalasi database yang diperlukan Gammu untuk bekerja. Masukkan username, password MySQL serta nama database yang akan dibuat.
Easy Gammu Installer
Langkah berikutnya adalah mensetting konfigurasi SMSDRC yang diperlukan Gammu SMS Daemon untuk bekerja. Isikan nomor port dan jenis connectionnya seperti yang Anda lakukan pada Langkah 1, dan juga isikan pula nama identitas untuk hp/modem Anda. Nama identitas ini nanti digunakan untuk menentukan melalui modem/hp mana yang akan digunakan untuk mengirim dan menerima SMS. Masukkan juga username, password, dan nama database MySQL yang telah Anda buat pada Langkah 3.
Easy Gammu Installer
Setelah SMSDRC selesai disetting, selanjutnya membuat service. Untuk membuat service cukup Anda klik tombol yang ada pada Langkah 5. Dalam hal ini, service gammu hanya akan dibuat sejumlah hp/modem yang Anda tentukan.
Jika service gammu sudah dibuat, maka Anda bisa menjalankan servicenya (Langkah 6)
Easy Gammu Installer
Terakhir, setelah service berjalan Anda dapat mengetest pengiriman SMS via Gammu melalui Langkah 7,
Easy Gammu Installer
serta mengetest penerimaan SMS melalui Langkah 8.
Easy Gammu Installer.
Easy Gammu Installer di atas telah saya coba dengan baik dengan modem Wavecom Fastrack yang menggunakan connection (at115200). Sedangkan untuk tipe modem/hp yang lain belum saya coba karena tidak mungkin saya test pada semua jenis modem yang ada di pasaran.
Oleh karena itu saya harap bantuan rekan-rekan untuk mengetestnya pada HP/modem lain. Silakan share pengalaman Anda mengenai kompatibilitas Easy Gammu Installer ini dengan hp/modem Anda pada komentar di bawah ini dengan menuliskan informasi jenis HP/modem yang Anda gunakan dan juga informasi bisa atau tidaknya digunakan.
Beberapa tipe hp/modem kemungkinan hanya bisa cocok untuk gammu versi tertentu saja, oleh karena itu pastikan memilih versi gammu yang cocok dari beberapa versi gammu di atas. Sebaiknya mulailah mencoba versi gammu 1.25.0 dahulu, jika modem/hp tidak dikenali atau tidak bisa mengirim dan menerima sms, cobalah menggunakan 1.26.0, begitu seterusnya.
Setelah Gammu sukses diinstall (SMS bisa dikirim dan diterima dengan baik melalui hp/modem), selanjutnya Anda bisa menggunakannya untuk membangun aplikasi SMS Gateway sendiri. Anda bisa belajar bagaimana membangun aplikasi SMS Gateway dengan contoh-contoh script yang saya tulis pada blog ini, atau dengan mempelajari ebook dan sampel script dari saya.