Uncategorized

Using gammu to send long text message

Posted by:

Gammu has feature to send long text message longer than 160 characters. A single sms is maximum 160 characters, so if you send a message more than 160 chars, it will be splitted up into messages.

There are two ways to sending long text message in gammu:

Using command [cci]gammu-smsd-inject[/cci]

You can find this command under gammu folder. Here is the syntax to send long text message using this command:

gammu-smsd-inject.exe -c smsdrc TEXT receiver -len 400 -text message

Notes:

  • [cci]smsdrc[/cci] smsd configuration file
  • [cci]receiver[/cci] receiver phone number
  • [cci]-len 400[/cci] just write like this
  • [cci]message[/cci] the message you want to send

See example below:

gammu-smsd-inject.exe -c smsdrc TEXT 628568787878 -len 400 -text "Ini teks yang panjang. Ini teks yang panjang. 
Ini teks yang panjang. Ini teks yang panjang. Ini teks yang panjang. Ini teks yang panjang. Ini teks yang panjang. 
Ini teks yang panjang. Ini teks yang panjang. Ini teks yang panjang."

Insert the message to [cci]outbox[/cci] and [cci]outbox_multipart[/cci] tables

Here step by step using this method:

    1. Split up the message into messages each 153 maximum length.
    2. Insert first part of the messages into [cci]outbox[/cci]. Keep up [cci]ID[/cci] of the inserted message
    3. Insert rest of message into [cci]outbox_multipart[/cci]

Notes:
Fill up [cci]UDH[/cci] column in [cci]outbox_multipart[/cci] with this value [cci]050003D3XXYY[/cci], where:

    • XX: two digits represent total of messages
    • YY: twi digist represent order of the messages

0

Passing PHP variable to javascript file

Posted by:

PHP and Javascript work on different sides. PHP work on server side while Javascript work at client side. If your javascript file is separate from html file, you cannot refers to PHP variables. But there is a tricky way how to passing PHP variable into javascript file.

Write you Javascript file as PHP

<?php
	header("content-type: application/x-javascript");
	$base_url = $_REQUEST['base_url'];
?>
document.ready = function(e){
alert('<?php echo $base_url?>');
}

In the above code, you have read PHP variable in javascript file. Save above code as [cci]js.php[/cci]

Include javascript file in html head

This is simple [cci]index.php[/cci] file:

<?php
	$base_url = $_SERVER['HTTP_HOST'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="js.php?base_url=<?php echo $base_url?>"></script>
</head>
<body> 
</body>

0

Creating auto increament column in oracle

Posted by:

Unlike MySQL, Oracle has not auto_increament attribute when you create a table. In MySQL, we can create table with auto increament column in simple way like this:

CREATE TABLE test(
    id INT primary key auto_increment,
    name varchar(20)
);

To insert a row into [cci]test[/cci] table, simply leave blank for [cci]id[/cci] column, MySQL will automatically increse the value on every insert statement.

INSERT INTO test(name) values('Mahmud');

Above statement will resulting:

id            name
1             Mahmud

How about auto increament in Oracle. Auto increament in oracle not as simple as in MySQL. Look at below codes to create auto increament in oracle.

CREATE TABLE test(
id NUMBER primary key,
name varchar2(20)
);

CREATE SEQUENCE test_sequence
START WITH 1
INCREMENT BY 1;

CREATE OR REPLACE TRIGGER test_trigger
BEFORE INSERT
ON test
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT test_sequence.nextval INTO :NEW.ID FROM dual;
END;

0

Merge two JSON object in javascript

Posted by:

JSON or JavaScript Object Notation, is a text-based data interchange format. JSON consists of key value pair with comma separated or an array or mixed both of them. Here an example of JSON:

var a = {title:'Semurjengkol in the night', author:'Amir Hamzah'};

Variable [cci]a[/cci] is JSON object which has two keys, [cci]title[/cci] and [cci]author[/cci]. Consider you have another JSON object:

var b = {book: 'Puasa Siang Hari', page: 12};

Our goal is to merge [cci]a[/cci] and [cci]b[/cci] to build new JSON object. There are two methods to merge two JSON Object.

Merge all of keys

Using this method, we combine all of keys from both [cci]a[/cci] and [cci]b[/cci] to build new JSON object which have keys from [cci]a[/cci] and [cci]b[/cci].

var a = {title:'Semurjengkol in the night', author:'Amir Hamzah'};
var b = {book: 'Puasa Siang Hari', page: 12};
var c = a.merge(b);
console.log(c);

Method [cci]a.merge(b)[/cci] will return new JSON object which have all of keys from [cci]a[/cci] and [cci]b[/cci]. Here is the content of [cci]c[/cci]

c = {title:'Semurjengkol in the night', author:'Amir Hamzah', book: 'Puasa Siang Hari', page: 12};

Merge to one root

Another method to merge two JSON object is attach them into one root.

var a = {title:'Semurjengkol in the night', author:'Amir Hamzah'};
var b = {book: 'Puasa Siang Hari', page: 12};
var c = {};
c['a'] = a;
c['b'] = b;
console.log(c);

By using this method, the new JSON object [cci]c[/cci] will be like this:

c = {a: {title:'Semurjengkol in the night', author:'Amir Hamzah'},
b:{book: 'Puasa Siang Hari', page: 12}};

0

Embeding pdf file into web page using google viewer

Posted by:

Google viewer is an online tool from google enable you to embedding your document file like .doc,.pdf,.xls,etc into your web pages so users can directly see your document in the web without downloading it first.

This tutorial will guide you how to embed your pdf file into web page. To use google viewer, you must insert the following iframe into your web page:

<iframe src="http://docs.google.com/viewer?
url=URL_FILE_PDF&amp;embedded=true"/>

The google viewer url comes with two arguments:

  1. [cci]URL[/cci]: your pdf file url, must be reachable by internet, not in your localhost
  2. [cci]embedded[/cci] : (true/false) embed or no

Here an example:

<iframe src="http://docs.google.com/viewer?
url=http://semurjengkol.com/wp-content/uploads/2011/08/
911.pdf&amp;embedded=true" width="800" height="400"/>

Here the result of above code:

0

Javascript-Menghilangkan trailing space atau white character pada string

Posted by:

Bismillahirrohmanirrohim

Trailing space atau white character pada sebuah string merupakan tambahan satu atau lebih karakter space ataupun tab di awal atau di akhir string. Permasalahan yang sering muncul berkaitan dengan trailing space ini terjadi ketika user atau pengunjung website mengisi form yang disediakan pada web tersebut. Sengaja atau tidak, seringkali user memberikan tambahan karakter space pada awal atau akhir kata yang diinput.

Untuk data-data yang vital seperti username dan password, penambahan ini dapat berakibat fatal jika data yang diinput oleh user tersebut langsung disimpan ke dalam database. Oleh karena itulah, data-data input tersebut perlu dihilangkan.

Ada dua teknik dasar untuk menghilangkan trailing space atau white character pada sebuah string. Yang pertama dapat dilakukan di sisi client, yakni menggunakan Javascript, dan yang kedua dilakukan di sisi server dengan Java atau PHP.

Pada umumnya, setiap bahasa pemrograman telah menyediakan fungsi built-in untuk menghilangkan trailing space, biasanya dinamakan trim(). Akan tetapi javascript tidak menyediakan fungsi built-in tersebut. Oleh karena itu, perlu dicari langkah alternatifnya. Berikut ini adalah alternatif yang dapat menggantikan fungsi tersebut.

function trim(str){
return str.replace(/^\s+|\s+$/g, '');
}

Selamat mencoba!

0

Javascript-Associative Arrays

Posted by:

Bismillahirrohmanirrohim

Dalam hal pemrograman, tentu sebagian besar dari kita pernah bahkan seringkali menggunakan array untuk menyimpan data. Dalam javascript, untuk mendeklarasikan sebuah array sangatlah mudah. Perhatikan baris kode berikut:

var birds = new Array();
birds[] = "Merpati";
birds[] = "Nuri";
birds[] = "Garuda";

Selain dengan cara di atas, array dalam javascript dapat dideklarasikan dengan cara berikut:

var birds = new Array("Merpati", "Nuri", "Garuda");

Atau bisa juga dengan cara yang paling singkat:

var birds = ["Merpati", "Nuri", "Garuda"];

Ketiga cara di atas menghasilkan variable array yang sama. Lalu, bagaimana mengakses elemen dari array? Perhatikan baris kode berikut:

var birds = ["Merpati", "Nuri", "Garuda"];
alert("elemen 0:"+birds[0]);
alert("elemen 1:"+birds[1]);
alert("elemen 2:"+birds[2]);

Untuk mencoba code di atas, klik tombol berikut:


Elemen array dapat diakses dengan menggunakan format: nama_array[index].
Dalam kebanyakan kasus pemrograman, pengaksesan array menggunakan index sudah mencukupi kebutuhan, tetapi pada beberapa kasus kita membutuhkan akses terhadap elemen array menggunakan string. Array yang demikian disebut juga asosiatif array.
Berikut langkah untuk mendeklarasikan asosiatif array:

var birds = new Array();
birds['biru'] = "Merpati";
birds['merah'] = "Nuri";
birds['hijau'] = "Garuda";

Untuk mengakses elemen dari asosiatif array digunakan string sebagai ganti index.

var birds = new Array();
birds['biru'] = "Merpati";
birds['merah'] = "Nuri";
birds['hijau'] = "Garuda";
alert(birds['biru']);
alert(birds['merah']);
alert(birds['hijau']);

Klik tombol berikut untuk mencoba code diatas:

0

Gammu-Teknik Mengirim SMS pada SMS Engine (SMS Gateway)

Posted by:

Bismillahirrohmanirrahim

Melanjuti tutorial sebelumnya Gammu-Cara Setting Konfigurasi SMS Engine (SMS Gateway), tutorial kali ini akan membahas bagaimana caranya mengirim SMS pada SMS Engine yang telah terkonfigurasi dengan baik. Baiklah, pada tutorial sebelumnya, kita telah mengetahui bagaimana mengatur konfigurasi sebuah SMS Engine agar dapat terkoneksi dengan modem. Ketika SMS Engine telah berjalan, maka setiap sms yang masuk ke nomor modem tersebut secara otomatis akan disimpan ke dalam database pada tabel inbox, lalu kita tinggal memproses inbox tersebut sesuai dengan keinginan.

Jadi yang perlu ditekankan disini ialdah kita dapat membuat aplikasi atau program yang memanfaatkan SMS Engine ini dengan menggunakan bahasa pemrogaman apapun. Sudah paham kan maksudnya. Jadi, aplikasi yang dibuat dan SMS Engine melakukan komunikasi melalui database. Yang perlu dilakukan hanyalah mengecek apakah ada sms baru pada tabel inbox.

Secara umum, teknik mengirim sms pada Gammu melalui smsd atau sms engine terdapat 2 cara, yaitu:

    1. Menggunakan aplikasi gammu-smsd-inject.exe

gammu-smsd-inject.exe merupakan aplikasi yang disertakan dalam package Gammu dan berada pada folder bin. Untuk mengirim sms dengan menggunakan teknik ini, perhatikan source code berikut:

gammu-smsd-inject.exe -c smsdrc TEXT 08656565656 -text "Hello with Gammu"

Potongan code di atas adalah untuk mengirim sms ke nomor 08656565656 dengan pesan “Hello with Gammu”. Jangan lupa smsdrc merupakan file konfigurasi gammu smsd.

    1. Menginput ke dalam database Outbox

Cara kedua ialah secara manual kita input data ke dalam table outbox. Field pada outbox yang perlu disi adalah:DestinationNumber, TextEncoded, SendingDateTime. Jika input telah OK, tinggal tunggu saja, gammu smsd secara otomatis akan mengirimkan sms tersebut.

Perlu diingat bahwa kedua teknik ini adalah untuk mengirim sms dengan menggunakan smsd atau sms engine. Jadi pastikan smsd atau sms engine telah berjalan dengan baik. Jika tidak, sms tidak pernah akan terkirim. Selamat mencoba

0

Gammu-Cara Setting Konfigurasi SMS Engine (SMS Gateway)

Posted by:

Bismillahirrahmanirrohim

Gammu merupakan sebuah aplikasi SMS Gateway yang sangat powerfull untuk melakukan tugas pengiriman dan penerimaan SMS. Pada tutorial kali ini, saya akan membahas mengenai cara setting SMS Engine pada gammu. Baiklah sebelum kita mulai, sobatNet harus punya tools yang akan kita gunakan dalam tutorial ini. OK, sudah pada tau gammu kan. Kalau belum tau, tidak masalah, sobatNet tetep bisa mengikuti tutorial ini.

OK, singkat cerita gammu merupakan sebuah aplikasi yang berfungsi untuk mengirim dan menerima SMS melalui sebuah atau beberapa modem yang terkoneksi pada PC. Nah, agar gammu dapat bekerja dengan baik sebagai SMS Engine, konfigurasi perlu dilakukan. Tujuan konfigurasi dilakukan jelas agar gammu dapat mengenali dengan baik modem yang akan digunakan sebagai SMS Gateway(modem yang digunakan untuk sms).

Silahkan sobatNet download gammu versi terbaru disini.

Setelah gammu selesai didownload, extractlah paket tersebut. Distribusi gammu terdiri dari 4 buah folder yaitu bin, include, lib, share. Agar SMS Engine gammu dapat berjalan sebagaimana mestinya dibutuhkan sebuah database server baik itu mysql, pgsql ataupun sqlite. Dalam distribusi gammu, telah disertakan struktur tabel dalam bentuk file SQL yang dibutuhkan oleh gammu, sobatNet tinggal mengimport saja file SQL tersebut ke dalam database. Untuk bagian import database ini, saya tidak akan membahas terlalu detail, saya kira sobatNet juga sudah familiar dengan import database.

Baiklah, langkah selanjutnya sebelum SMS Engine Gammu dapat berjalan adalah dengan melakukan konfigurasi. Ini adalah bagian paling penting. Untuk melakukan konfigurasi, lakukan langkah-langkah berikut:

  1. Buat sebuah file pada folder bin, misal: smsdrc (nama file bebas)
  2. Isikan file tersebut dengan kode berikut:
    [gammu]
    port = com5:
    connection = at115200
    synchronizetime = no
    logfile = gammu.log
    logformat = textall
    
    [smsd]
    commtimeout = 15
    sendtimeout = 15
    PIN = 1234
    debuglevel = 2
    logfile = smsd.log
    service = SQL
    driver = native_mysql
    user = root
    password = root
    pc = localhost:3311
    Database = smsd
    deliveryreport = sms
    deliveryreportdelay = 10
    
  3. Pada konfigurasi diatas, yang harus diperhatikan adalah
    port: nama port dimana modem terinstall,
    connection: baud rate yang disupport modem,
    driver: driver database yang sobatNet gunakan,
    user: database user,
    password: database password,
    pc: database host
    Database: nama database
Catatan: Database yang diisi adalah database berisi table-table gammu yang telah diimport sebelumnya.

OK, sekarang muncul sebuah pertanyaan besar. Bagaimana cara mengetahui port dan baud rate modem? Bagaimana? Ada yang tau? Mari kita lanjutkan tutorial ini. Untuk mengetahui port modem sobatNet, ikuti langkah-langkah berikut ini:

  1. Buka Device Manager dengan cara klik Start->Run, lalu ketikan devmgmt.msc lalu Enter. Akan muncul window device manager berikut:
    Window Device Manager

    Window Device Manager

  2. Di bagian modem, carilah modem yang sobatNet pakai, dalam tutorial ini saya menggunakan modem ZTE. Klik kanan pada Nama modem, lalu pilih properties. Maka akan muncul window berikut:
    Modem properties

    Modem properties

  3. Lalu pilih tab modem, maka akan terlihat port modem. Pada gambar diatas port modem, saya beri kotak berwarna biru, yaotu COM5. Maka isi port pada file konfigurasi di atas dengan COM5: atau cukup dengan COM5. Keduanya boleh.
Mudah kan? Langkah selanjutnya adalah menentukan baud rate modem sobatNet. Konfigurasi baudrate bisa berbeda-beda untuk beberapa merk modem. Untuk lebih jelasnya mengenai konfigurasi baudrate ini, sobatNet dapat melihat file Daftar connection atau baudrate beberapa modem. Jika telah mendapatkan baudrate untuk modem sobatNet, isikan pada kofigurasi di atas di bagian connection. Ingat sekali lagi di bagian connection.

OK, sejauh ini konfigurasi telah selesai dilakukan, tinggal mengetes konfigurasi, apakah sudah benar atau belum. Jalankan perintah berikut(jangan lupa untuk mengubah direktori ke direktori gammu/bin):

gammu -c smsdrc --identify

Catatan: smsdrc pada perintah diatas adalah nama file konfigurasi yang telah dibuat, jadi harap disesuaikan dengan nama file yang telah sobatNet buat (jika berbeda).
Jika konfigurasi berhasil maka akan didapat output berikut:

Identify modem using gammu

Identify modem using gammu

Selamat konfigurasi berhasil 😀

Baiklah langkah selanjutnya adalah menjalankan SMS Engine atau SMS Daemon, ketikan perintah berikut pada konsol:

gammu-smsd -c smsdrc

Setelah dijalankan perintah diatas, jika sukses maka tidak akan ada output macam-macam. Perhatikan gambar berikut:

Menjalankan gammu-smsd

Menjalankan gammu-smsd

File gammu-smsd berjalan di background sekarang. Nah pada folder gammu/bin akan terbuat sebuah file smsd.log yang merupakan log aktifitas dari gammu-smsd.

Jika sudah selesai pada tahap ini, maka sms engine telah berjalan, cobalah sobatNet kirim sms ke no modem, maka pada sms tersebut akan tersimpan dalam database pada table inbox.

OK mungkin sampai disini dulu tutorial mengenai cara setting sms engine gammu. InsyaAllah akan kita lanjutkan dengan tutorial bagaimana cara mengirim sms pada gammu

0

JQuery-Memilih Elemen HTML berdasarkan lebih dari satu attribute

Posted by:

Bismillahirrohmaniraahim

Pada tutorial kali ini, saya akan membahas bagaimana menggunakan JQuery untuk memilih elemen HTML berdasarkan lebih dari satu attribut. Langkahnya sangatlah mudah. Baiklah, agar pemahaman mengenai pemilihan elemen pada JQuery ini menjadi utuh dan tidak terkesan lompat-lompat, saya akan memulai membahas bagaimana cara untuk memilih elemen berdasarkan satu attribute.

Misalkan, kita hendak memilih sebuah elemen input yang memiliki attribu name=option1, maka script yang bisa digunakan adalah sebagai berikut:

$('input[name=option1]')

Dengan menggunakan script yang sederhana tersebut, kita sudah dapat memilih elemen yang memiliki attribut name=option1. Sederhana dan mudah kan, pas dengan semboyan JQuery “Write less do more”.

Ok, kembali ke permasalahan awal, bagaimana caranya jika kita ingin memilih elemen, jika kriteria pemilihan kita ada beberapa attribute. Baiklah untuk mempermudah pemahaman, kita ambil sebuah contoh. Misal kita ingin memilih elemen yang memilih attribut name=option1 dan value=1.  Bagaimana caranya? Cobalah menduga dengan insting sobatNet sebagai seorang programmer . Jika saya harus menduga, maka saya akan menduga seperti ini:

$('input[name=option1, value=1]')

atau seperti ini:

$('input[name=option1;value=1]')

Tetapi, ternyata tak satupun dari kedua dugaan tersebut benar. Lantas bagaimana? Ok, ini dia the real solution:

$('input[name=option1][value=1]')

Bagaimana jika ingin memilih berdasarkan tiga attribute. Jawabnya trivial: Gunakan insting sobatNet. Saya tunggu jawabannya.

0
Page 4 of 4 1234