Easy Gammu Installer

Alhamdulillah… kini sudah ada software installer Gammu 1.25 yang mudah-mudahan bisa memudahkan Anda untuk melakukan instalasi Gammu 1.25. Installer ini saya buat dengan menggunakan script PHP yang dijalankan via browser.

Anda kini tidak perlu repot-repot menghapalkan command-command seperti gammu identify, gammu smsd inject, dll., tak perlu pula bolak-balik ke command prompt, atau bahkan mengutak-atik file SMSDRC maupun GAMMURC yang cukup memusingkan. Yang Anda lakukan hanyalah mengisi parameter konfigurasi via form, simpan… dan lakukan test koneksi, pengiriman, dan menerima sms dll hanya dengan mengklik tombol yang disediakan. Mudah bukan??

Berikut ini adalah langkah-langkah instalasi Gammu 1.25 menggunakan Easy Gammu 1.25 Installer.



Di sini saya sengaja memilih versi Gammu 1.25 karena saya rasa versi inilah yang paling stabil dibandingkan versi terbaru.

Langkah Instalasi Installer

Anda cukup double click pada file installer.

Gammu Installer

Gammu Installer

Gammu Installer

Arahkan direktori instalasi ke folder WWW jika Anda menggunakan AppServ atau HTDOCS jika menggunakan XAMPP.

Gammu Installer

Selesai !!!

Setting Gammu

Sekarang langkah berikutnya untuk instalasi Gammu dan konfigurasinya. Caranya cukup mudah, yaitu tinggal buka browser dan arahkan URL nya ke http://localhost/gammu.

Gammu Installer

Langkah 1. Setting GAMMURC, cukup masukkan nomor port dan jenis connection

Gammu Installer

Langkah 2. Lakukan test koneksi Gammu dengan HP (hanya dengan klik tombol)

Gammu Installer

Langkah 3. Jika langkah No. 2 sukses, buat database Gammu. (masukkan username dan password koneksi MySQL, masukkan pula nama database Gammu yang akan dibuat)

Gammu Installer

Langkah 4. Setting konfigurasi SMSDRC (masukkan parameter-parameter yang dibutuhkan ke dalam form)

Gammu Installer

Langkah 5. Buat service Gammu hanya dengan mengklik tombol

Gammu Installer

Langkah 6. Jalankan service Gammu hanya dengan mengklik tombol

Gammu Installer

Langkah 7. Lakukan test pengiriman SMS

Gammu Installer

Langkah 8. Lakukan test penerimaan SMS

Gammu Installer

Langkah 9. Hentikan service Gammu hanya dengan mengklik tombol.


Baca Selengkapnya......

Sedikit Bumbu Keamanan PHP


Saat kita mulai membuat aplikasi berbasis web dengan menggunakan PHP tentu kita akan berfokus pada cara pembuatannya, bagaimana mengimplementasikan logika sehingga menghasilkan suatu karya (sistem) yang berjalan sesuai dengan keinginan dan kebutuhan kita.

Tapi ada kalanya kita perlu membalik pola pikir tersebut dengan memandang sebagai seorang user (pengguna aplikasi) yang mungkin memiliki waktu lebih banyak dalam penggunaan aplikasi tersebut. Dalam hal ini banyak hal yang mungkin tidak kita perhatikan dari aplikasi buatan kita tersebut oleh karena itu ada pepatah "Tidak ada sistem yang sempurna." tetapi penulis akan memberikan sedikit informasi keamanan dasar sehingga kita bisa sedikit melangkah menuju kesempurnaan tersebut.


Beberapa hal yang perlu diperhatikan dalam langkah percobaan para cracker untuk memboikot akses website kita antara lain :
1. Melalui URL (method GET)
2. Melalui media input yang terdapat dalam form (method POST)

Sebagaimana kita ketahui bahwa terdapat 2 cara umum pengiriman variable dalam PHP yaitu GET dan POST sehingga perlu penanganan khusus dalam penerimaan serta pengiriman variable tersebut.

Untuk method POST :
Method POST merupakan penangkapan variable dari media input yang terdapat dalam FORM.

1. Batasi jumlah karakter (maxlength)
Pembatasan jumlah karakter dalam media input sangat penting sehingga tidak dimungkinkan penulisan script seperti javascript pada inputbox tersebut.
Contoh implementasi :
Titik rawan : Input Login (username dan password), Input search

2. Lapisi dengan penahan kutip atau addslashes()
Fungsi PHP ini akan membantu kita menambahkan tanda kutip (') pada setiap karakter garing (/) sehingga dapat mencegah timbulnya efek SQL injection. Saya rasa teknik hacking ini cukup populer diantara anda. Penambahan kutip akan membuat garing menjadi bertipe string sehingga tidak dianggap sebagai salah satu perintah query pada MySQL / SQL.
Contoh implementasi : addslashes($_POST['_username'])
Titik rawan : Form Login

3. Lapisi dengan penahan tag atau htmlspecialchars()
Untuk mencegah terjadinya teknik hacking xss atau javascript injection maka ada baiknya kita menambahkan fungsi tersebut. Hal ini akan membuat tag html maupun javascript memiliki tipe data string sehingga tidak akan dieksekusi oleh browser.
Apabila script dimungkinkan dalam media input sehingga masuk ke dalam database dan saat browser membuka halaman yang terkontaminasi tersebut maka browser akan melakukan eksekusi terhadap perintah tersebut yang biasanya dalam bentuk javascript.
Contoh implementasi : htmlspecialchars($_POST['pesan'])
Titik rawan : Form Login, Form Kontak Admin

4. Perhatikan nama media input
Sudah saatnya kita berusaha sedikit lebih unik dalam menentukan nama pada media input kita sehingga mempersulit beberapa tools penjahat yang menggunakan library (kamus kata) dalam penentuan nama variable incarannya. Misalnya pada media input login tambahkan garis bawah. Tentu anda memiliki ide sendiri dalam
mengimplementasikan hal ini.
Contoh implementasi :
Titik rawan : Input Login (username dan password)

Untuk method GET :
Method get merupakan penangkapan variable yang berasal dari URL.

1. Gunakan .htaccess
Sebenarnya ini adalah sebuah metode yang menjadikan website kita seakan memiliki
struktur direktori yang luas, padahal itu adalah variable. Sehingga memecah
konsentrasi dari pengunjung yang berniat isenk. Bila halaman tidak ditemukan maka
kita dapat meredirectnya ke halaman 404 kesayangan kita.

Implementasi :


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L]


RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^(.*) http://www.mydomain.com/$1 [L,R=301]

Untuk lebih jelasnya dapat dilihat disini :
http://www.ilmuwebsite.com/tutorial-php/membuat-url-mod-rewrite-part-1-http-conf

2. Hindari $_REQUEST()
Metode ini digunakan untuk menangkap variable dalam bentuk POST dan GET. Ada kalanya kita membutuhkan metode penerimaan variable dengan menggunakan fungsi ini, tetapi batasilah penggunaannya karena tanpa disadari suatu saat anda akan mendapatkan masalah karena hal ini. Dan bila kita telah terlanjur menggunakannya pada seluruh aplikasi kita maka kita akan sulit untuk merubah (Bisa, dengan memilah mana yang tidak perlu dan benar-benar menggunakan.).

Tambahan :
1. Session dan Cookies timeout
Gunakan timeout pada session atau cookies terutama untuk pengenalan login. Session merupakan penanda dari sisi server dan akan hilang apabila browser ditutup, sedangkan cookies adalah pengenalan dari sisi browser dan bila tidak diset timeout maka status akan terus login (pada pengenalan login.), tentu saja anda tau kemungkinan-kemungkinan yang akan terjadi selanjutnya.

Mungkin sampai disini dulu, karena sudah waktunya berangkat kerja. Bila ada yang ingin ditambahkan silahkan ditambahkan karena pengetahuan kita tidak akan habis dengan saling berbagi.

Penulis : Sofian Oktavianus

Baca Selengkapnya......

Open Source Photo Gallery Designed with Mootools Javascript Library


(E) 2 Photo Gallery adalah sebuah galeri open source yang dibangun dengan Javascript Mootools Perpustakaan yang kompak, modular, Object-Oriented javascript framework. Dirancang untuk memungkinkan Anda untuk meng-upload foto ke folder yang dikehendaki, memberitahu (E) 2 Galeri Foto apa folder untuk melihat dan secara otomatis akan mengambil foto dengan menggunakan PHP.

Download source code lengkap disini

atau

http://www.ziddu.com/download/5665824/e2_photo_gallery_full.zip.html

Baca Selengkapnya......

Perbandingan Toko Online dengan Template dengan Bukan Template


Bila Anda ingin membuat Toko Online, saat ini sudah banyak program-program gratis alias template yang siap saji seperti Joomla, OS Commerce dan Zen Chart. Anda hanya perlu membayar NAMA DOMAIN + HOSTING saja, untuk awalnya Rp. 500.000 per tahun juga sudah mencukupi untuk meletakkan Toko Online Anda.

Tetapi ada juga perusahaan web development yang mematok harga dari Rp. 5 Juta s/d Rp. 25 Juta untuk membuat Toko Online. Kalau dibanding dengan pembuatan toko online dengan template, harga ini seperti bumi dan langit, mahal sekali.

Saya ingin menceritakan pengalaman pribadi saat mengurus BUKUKITA.COM, karena semua script tersebut dibuat dari awal dan butuh waktu 6 bulan sehingga bisa launching. Dan sampai saat ini situs tersebut saya yakin terus dikembangkan.

Bila kita mengembangkan sendiri situs Toko Online, tidak tergantung pada template gratisan, maka kita bisa menambah fitur yang sesuai dengan situasi dan kondisi di mana kita ingin berjualan. Di BUKUKITA.COM banyak sekali fitur-fitur yang tidak ada di template gratisan seperti memberikan poin setiap pembeli membeli buku dan kemudian poin itu bisa digunakan untuk membeli buku, hadiah yang diundi per bulan dan bisa dipilih sendiri, dan fitur blog untuk para member sehingga mereka bisa saling berhubungan satu sama lain. Dengan kata lain, situs yang dibuat dan dikembangkan sendiri akan sangat fleksibel menghadapi segala macam perubahan di masa yang akan datang.

Tentu saja kita harus mempunyai modal yang cukup bila ingin membuat dan mengembangkan sendiri. Bagaimana dengan mereka yang mempunyai modal pas-pasan? Apakah masa depan Toko Online yang dibuat dengan template akan tidak cerah?

Bagi mereka yang memiliki modal pas-pasan dan tidak mempunyai pengalaman, tidak ada salahnya mencoba membuka toko online dengan template seperti os commerce atau zen chart. Hitung-hitung mencari pengalaman dan belajar berbisnis online. Kalau memang nanti sukses dan mempunyai modal yang besar, tentu anda bisa menyewa programmer yang sangat ahli dengan bayaran tinggi untuk merombak situs Anda tersebut. Kalau Anda saat ini menggunakan Zen Chart, Anda bisa mengontak programmer Zen Chart untuk merombak situs sesuai dengan keinginan Anda. Ini bisa saja, jadi jangan juga berkecil hati.

Jadi kalau ingin membuat dan mengembangkan situs Toko Online sendiri, ada beberapa syarat yang mungkin saya bisa berikan di sini:

* Butuh Modal dan Waktu untuk membuat Toko Online
* Butuh seorang Sistem Analis yang tahu seluk beluk pembuatan Toko Online
* Butuh seorang Programmer ahli untuk mengimplementasikan apa yang dirancang oleh Sistem Analis
* Harus kreatif dan inovatif sehingga fitur-fitur selalu ditambah dan diperbaharui, ini akan membuat Toko Online anda unik dibanding dengan yang lain

Jadi kalau kita lihat syarat-syarat tersebut, mereka yang membuat Toko Online sendiri biasanya adalah perusahaan yang memang mempunyai modal.

Tetapi bila Anda masih blank dan tidak mempunyai pengalaman, jangan ragu untuk menggunakan template yang siap saji. Jalankan saja toko online tersebut sehingga Anda mempunyai pengalaman dan bisa menjadi sistem analis nantinya untuk mengembangkan dan membesarkan toko online anda sendiri yang mempunyai fitur-fitur unik dibanding dengan toko lainnya.

Pilihan sekarang ada di tangan Anda :)

Semoga Bermanfaat,

Sumber: www.babastudio.com

Baca Selengkapnya......

Membuat check all dan uncheck all

Tulisan ini cukup sederhana yaitu bagaimana kita membuat tombol untuk menangani checklist yang banyak, check all dan uncheck all.
Disini saya membuatnya dengan javascript, silahkan lihat kode nya dibawah ini :

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Latihan Javascript :: membuat check all dan uncheck all</title>
</head>

<script type="text/javascript">
function Check(){
//Ambil semua elemen dalam id formCheck
allCheckList = document.getElementById("formCheck").elements;
//Hitung banyaknya elemen
jumlahCheckList = allCheckList.length;
//Jika tombolCheck bernilai "Check All"
if(document.getElementById("tombolCheck").value == "Check All"){
for(i = 0; i < jumlahCheckList; i++){
//semua elemen ke-i checkbox nya diset true (dicentang)
allCheckList[i].checked = true;
}
//Set nilai tombolCheck menjadi "Uncheck All"
document.getElementById("tombolCheck").value = "Uncheck All";
//Jika tombolCheck tidak bernilai "Check All" (sudah dirubah menjadi Uncheck All)
}else{
for(i = 0; i < jumlahCheckList; i++){
//semua elemen ke-i checkbox nya diset false (tidak dicentang)
allCheckList[i].checked = false;
}
//Set nilai tombolCheck menjadi "Check All"
document.getElementById("tombolCheck").value = "Check All";
}
}
</script>

< ?php
$hobi = $_POST['hobi'];
if(empty($hobi)){
?>

<b>Silahkan Pilih Hobi Anda :</b>
<form id="formCheck" method="POST" action="check_all.php">
<input type="checkbox" name="hobi[1]" value="Baca Koran" />Baca Koran<br />
<input type="checkbox" name="hobi[2]" value="Memancing" />Memancing<br />
<input type="checkbox" name="hobi[3]" value="Bikin Susah Orang" />Bikin Susah Orang<br />
<input type="checkbox" name="hobi[4]" value="Menulis" />Menulis<br />
<input type="checkbox" name="hobi[5]" value="Demonstrasi" />Demonstrasi<br />

<input type="button" id="tombolCheck" value="Check All" onClick="Check();"/>
<input type="submit" value="Submit" />
</form>

< ?php
}

if(is_array($hobi)){
echo '<b>Hobi yang anda pilih : <br />';
foreach($hobi as $indek=>$namahobi){
echo 'Hobi indek '.$indek.' : '.$namahobi.'<br />';
}
echo '<a href="check_all.php">Back »</a>';
}
?>

</script></html>

Silahkan lihat Demo nya disini
Atau Download disini

Baca Selengkapnya......

Membuat Aplikasi Database dengan Netbeans, Waaah ternyata gampang Banget (Bagian 2)

Wah ternyata banyak juga yah hehe.

Ok deh sekarang kita lanjutkan.

Setelah itu kembali ke frame utama yang telah kita buat kemudian rubah view menjadi sourcecode



Kemudian buat sebuah method
activeForm()

sebagai berikut:
public void activeForm(Boolean b){
jButton1.setEnabled(b);
jButton2.setEnabled(!b);
jButton3.setEnabled(b);

jButton4.setEnabled(b);

jButton5.setEnabled(b);

jButton6.setEnabled(b);

jButton7.setEnabled(b);

jButton8.setEnabled(b);

jButton9.setEnabled(b);

}


jButton1- jButton9 adalah tombol yang kita buat dalam aplikasi
masih pada frame utama klik kanan tombol yang sudah temen-temen persiapkan untuk memunculkan frame login, kalau saya tombol ini:



Kemudian pilih Event->action->actionPerformed, trus ketikan kode berikut:

dLogin=new FLogin(this, true);
dLogin.setVisible(true);
if(dLogin.userActive) activeForm(true); else activeForm(false);


tentu saja deklarasikan terlebih dahulu dlogin nya OK.

kalau sudah kembali ke FLogin klik kanan pada Tombol login kemudian pilih

Event->action->actionPerformed. Kemudian ketikan kode berikut:
String user, ps;
user=jTextField1.getText();
ps= String.valueOf(jPasswordField1.getPassword());
logic.KoneksiDB koneksi=new logic.KoneksiDB("localhost", "root", "opik");
boolean userAda=koneksi.cekUser(user, ps);
if(userAda){
userActive=true;
this.setVisible(false);
}else{
userActive=false;
JOptionPane.showMessageDialog(null, "Username atau password tidak Cocok, ulangi lagi");
}

Usrname dan password databasenya sesuaikan dengan username dan password di kompi kalian

Kalau sudah, klik kanan pada Tombol batal kemudian pilih Event->action->actionPerformed.
Kemudian ketikan kode berikut:

this.setVisible(false);

Nah Sekarang Coba run dan Jalankan kira-kira tampilannya kayak gini:







Yup memang sederhana. Postingan ini memang dibuat untuk menunjukan pada temen-temen bahwa mudah membuat aplikasi database, apalagi dibantu dengan netbeans,
Ok deh Selamat Mencoba!, Punya Ide lain??? Kirim komentar yaaaaaa

Baca Selengkapnya......

Membuat Aplikasi Database dengan Netbeans, Waaah ternyata gampang Banget (Bagian 1)

Beberapa hari yang lalu ada temen yang pengen tau cara membuat aplikasi database, ya semacam step-by step tutorial gitu deh.

Ok deh sobat, kebetulan saya sedang membuat project Sistem Informasi Akuntansi. tapi yang akan saya tunjukan kali ini hanya bagaimana cara membuat form login sedehana.

Dalam postingan kali ini saya akan tunjukan cara membuat form login sederhana.
Idenya adalah, kita akan membuat sebuah form yang tidak dapat diakses, untuk dapat di akses,
maka kita perlu login terlebih dahulu. Kemudian untuk keperluan login, kita buat sebuah form login untuk melakukan verifikasi username dan password. Kalau password berhasil di
verifikasi maka user akan dapat menggunakan program, ya gitu deh.
Ok cukup intronya sebelum mulai membuaka netbeans, persiapkan dulu databasenya, supaya
gampang kita pake mysql. Buat table kemudian buat feld-field sebagai berikut:

kd_user varchar 6
username varchar 15
password varchar 20
nama_lengkap varchar 50

kalau sudah, sekarang buka netbeansnya, kemudian buat program baru, terserah mau di kasih nama apa. Kalau belum tau cara buat project di netbbeans silahkan baca di
http://onta-programing.blogspot.com/2008/12/buat-project-baru-di-netbeans.html

Setelah buat project buat sebuah form yang berfungsi sebagai form utama, kaya ginilah kira-kira:



Kalau mau, temen-temen bias download source codenya di sini.

Set icon-icon pada toolbar, dan button-buttonya menjadi disable (kan ceritanya program baru bisa di gunakan kalo udah login :)).

Setelah itu buat form satu lagi untuk form login. Gunakan JDialog untuk membuat Form login.
Yup kurang lebih kaya ginilah. Inga-inga ting… he bentuk formnya terserah kalian OK.



Nah sekarang, kita buat sebuah class untuk membuat sambungan ke database. Ingat ini bagian terpenting dari tujuan postingan ini
Buat class kemudian masukan kode sebagai berikut:
package logic;

import java.sql.Connection;
import java.sql.SQLException;

import java.sql.Statement;
import java.sql.DriverManager;

import java.sql.ResultSet;

public class KoneksiDB {

private String localhost, username, password;
public Connection conn=null;

public Statement state=null;

public ResultSet hasil=null;

public KoneksiDB(String host, String user, String pass){

localhost=host;

username=user;

password=pass;

try{
Class.forName("org.gjt.mm.mysql.Driver");
conn=DriverManager.getConnection("jdbc:mysql://"+localhost+"/coba", username, password);
state=conn.createStatement();

}catch(Exception e){

e.printStackTrace();
}

}

public boolean cekUser(String un, String ps){

try {

hasil = state.executeQuery("select username, password, nama_lengkap from
db_login where username='"+un+"' AND password='"+ps+"'");
hasil.last();
if(hasil.getRow()==1)return true;
else return false;

} catch (SQLException ex) {

ex.printStackTrace(); return false;
}

}
}


Nah kalo sudah, sekarang coba ngopi dulu, trus santai dulu deh sejenak trus, perhatikan kode
di atas. Kode di atas merupakan kode untuk membuat sambungan dengan database. Kurang jelas baca lagi postingan

http://onta-programing.blogspot.com/2008/12/susah-koneksi-java-ke-database-siapa.html
Sekarang buat sebuah class main, yaitu sebuah class dimana kita akan menjalankan aplikasi.

Jadi ada satu hal yang perlu di perhatikan adalah selalu pisahkan logic program dengan form.
Ok di bawah kode public static void main(String args[]) ketikan kode berikut:

try{
javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){
e.printStackTrace();
}
javax.swing.SwingUtilities.invokeLater(new Runnable(){
public void run(){
form.FUtama app=new form.FUtama();
app.setVisible(true);
}
});

Fungsinya untuk menampilkan form utama yang kita buat tadi.
Nah kalau sudah …….. lanjutin aja ke bagian 2 ya… sok klik disini nya.

Baca Selengkapnya......
Template by : Global Info Media