Sunday, May 31, 2009
Barcode 2D
Image above was called barcode 2D. Barcode 2D is next generation from Linier Barcode with single strip black and white. Reader for barcode 2D are use camera with computer vision functionality or with Barcode 2D scanner. There are some informations inside of the digital pattern black and white from Barcode 2D. This information can be decoded with handphone application like kaywa reader . The barcode 2D format is open format so many peoples can use this barcode. This barcode usually can find in Japan. I was developed mobile application prototype with this barcode 2D (QR Code). The sample of my mobile application prototype can you see at link below.
Mobile Cinema Simulator Demo
Mobile Cinema Implemented Demo
Mobile Cinema Devices
Mobile Cinema QR Code Reader Application
Play with J2ME
This is an example for graphic test in J2ME. There are 2 files that will be created, MyCanvas.java and scrCanvas.java , have a nice try.
MyCanvas.java script
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MyCanvas extends MIDlet implements CommandListener{
private Display display = null;
private scrCanvas scrCanvasObj = null;
private Command exit = new Command("EXIT",Command.EXIT,1);
private Command fullScreen = new Command("Full Screen",Command.OK,1);
public MyCanvas()
{
scrCanvasObj = new scrCanvas();
scrCanvasObj.addCommand(exit);
scrCanvasObj.addCommand(fullScreen);
scrCanvasObj.setCommandListener(this);
}
public void startApp() {
if(display == null)
{
display = Display.getDisplay(this);
display.setCurrent(scrCanvasObj);
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c,Displayable d)
{
if(c == exit)
{
notifyDestroyed();
destroyApp(true);
}
else if(c == fullScreen)
{
scrCanvasObj.setFullScreenMode(true);
}
}
}
Di bawah ini script scrCanvas.java
import javax.microedition.lcdui.*;
public class scrCanvas extends Canvas implements Runnable{
private int x = 0,y = 0;
private int ax = 1,ay = 1;
public scrCanvas()
{
Thread thread = new Thread(this);
thread.start();
}
private void backgroundHitam(Graphics g)
{
g.setColor(0x000000);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
}
private void kotak(Graphics g)
{
g.setColor(0xff0000);
g.fillRect(x,y, 25,25);
}
private void tulisString(Graphics g)
{
g.setColor(0x00ff00);
g.drawString("Contoh Canvas", 1, 1, Graphics.LEFT | Graphics.TOP);
}
private void rubahPosisiKotak()
{
x+=ax;
y+=ay;
if(x<=0 || x+25>=this.getWidth())
ax*=-1;
if(y<=0 || y+25>=this.getHeight())
ay*=-1;
}
public void paint(Graphics g)
{
backgroundHitam(g);
tulisString(g);
kotak(g);
}
public void run()
{
while(true)
{
repaint();
rubahPosisiKotak();
try
{
Thread.sleep(1);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
Rich Application with EXT-GWT
EXT-GWT is a framework to develop web that called "Rich Application". Many applications was developed under web based now because centralized and high flexibility. Because of rapid development in web based technology many IT engineers was think to convert desktop application into web application with look and feel like Desktop UI. With AJAX (Asynchronous Javascript and XML), web application can request and response with minimal time processing.
How to develop this Rich Application web ? This is can be developed with javascript, silverlight in .NET or Java FX. But one of many technologies for Rich Application web framework, I found EXT-GWT framework. EXT-GWT is extender framework from GWT (Google Web Toolkit). With this framework we not need to create javascript code manually or build the UI because in this framework will generate the javascript code and UI and with HttpRequest functionality we can do asynchronous request.
This is software to develop Rich Application with EXT - GWT :
1. Download dan install JAVA SDK 1.6 update 12 from this link http://java.sun.com/javase/downloads/index.jsp
2. Download dan Install Eclipse IDE from this link http://www.eclipse.org/downloads/
3. Download GWT from this link http://code.google.com/webtoolkit/download.html
4. Download EXT-GWT SDK from this link http://extjs.com/products/gxt/download.php
5. Follow the setup tutorial video (Getting Started Screencast) from this link http://extjs.com/helpcenter/index.jsp
This is the screenshoot of ext-gwt web application
Near Field Communication
Near Field Communication .... pasti banyak yang tanya2 apa itu Near Field Communication ... ya kalo diterjemahin gampangnya komunikasi dengan jarak pendek .... mmmm masih blon ngerti and blon kebayang juga kayak gimana hehehe gampang coba cari aja di wikipedia :P.
Near Field Communication merupakan teknologi penerus Java Card dan teknologi RF. Pasti dateng pertanyaan lagi apa tuh Java Card apa tuh RFID ... hehe coba kalian liat gambar di bawah ini
Nah mungkin kalo udah gw kasih liat gambar di atas kalian pasti tau apa itu. Yap itu adalah kartu Flazz BCA. Kartu ini dipakai buat pembayaran sebagai ganti uang tunai. Nah sebenernya kartu Flazz BCA ini adalah kartu Java Card.... dimana kita bisa menginstall aplikasi dan mengisi data ke dalam kartu ini. Kenapa kita bisa install dan mengisi data ke dalam kartu ini , karena di dalam Java Card terdapat microprocessor dan memory seperti layaknya di komputer cuma kemampuannya dan muatannya lebih kecil nggak sehebat komputer.
Karena ada microprocessor and memory di dalam kartu ini maka kartu ini secara tidak langsung dapat "berpikir" sehingga kita bisa membuat aplikasi (kalo gw sih bikin pake java) dan menginstall aplikasi tersebut ke dalam kartu ini. Nah jadi pas kalian lakuin pembayaran ke counter sebenernya ada aplikasi yang bekerja di dalam kartu untuk get nilai sama set nilai uang kalian dari kartu. Cara pembayarannya pun cuma tinggal deketin (tap) ke alat pembaca... cara seperti ini disebut dengan "contactless transaction". Jadi dengan cara deketin kartu beberapa cm dari alat, transaksi bisa dilakukan. Teknik seperti ini sebenernya menggunakan teknologi Radio Frequency (RF), ini dimungkinkan karena kartu Java Card untuk yg Flazz BCA punya antenna yg dapat menerima gelombang alat pembaca kartu. Untuk yg pengen tau lebih jauh tentang teknologi RF silahkan buka wikipedia :P. Struktur kartu dalamnya kayak ini nih
Nah jenis kartu yang dipake buat Flazz BCA itu jenis kartu "pasif" maksudnya adalah kartu tersebut menerima gelombang dari alat pembaca kartu lalu kartu mengubah gelombang tersebut jadi medan listrik di dalam kartu yg dipergunakan untuk menjalankan proses aplikasi kartu.
Nah di negara2 maju seperti negara2 di benua Eropa dan negara Jepang ada penggabungan teknologi Java Card, Radio Frequency dan handphone menjadi satu. Teknologi ini dikenal kalo di Eropa ya .... itu namanya teknologi Near Field Communication (NFC), jadinya perangkat handphone di sana bisa dipergunakan untuk contactless transaction seperti layaknya Flazz BCA. Contoh gambarnya ada di bawah ini
Jadi NFC ato gampangnya komunikasi jarak pendeknya itu dipake buat transaksi. Di dalam handphone sama vendor udah dipasang alat RF reader, RF writer dan chip smart card (Java Card). Handphone ini itu bisa dipake antara lain buat transaksi micropayment (transaksi dalam jumlah kecil), transportasi seperti pembelian tiket, pembaca smart poster (poster yang dipasang Radio Frequency Tag, yg mengandung informasi tertentu). Contohnya yg diatas untuk pembayaran. Terus dibawah ini handphone NFC buat transportasi, orang lagi mo naik kereta tiketnya pake handphone karena e-ticket
Terus di bawah ini handphone bisa retrieve (baca / ambil) data dari sebuah poster yg ada RF Tag
nah di atas itu ceritanya ada poster yg nyimpen data. Pas handphone nya di deketin ke poster data masuk ke handphone. Datanya ya berupa url link ke website promo yg berkaitan dengan poster tersebut.
Untuk Indonesia sendiri masih pada tahap Java Card technology yg diterapin sama BCA, tapi kalo di negara2 Eropa ama Jepang (NT Docomo) itu udah pada terapin NFC ato Near Field Technology ini buat transaksi, beli tiket transportasi, smart poster, pertukaran data antar handphone secara tagging.
Untuk video demo nya ada link di bawah ini
http://www.nfc-forum.org/resources/multimedia/
Nah gitu deh perkembangan teknologi mobile terbaru di negara2 lain. Kapan ya Indonesia bisa kejar ketinggalan kalo di negara lain udah pake handphone tapi di Indonesia masih pake kartu contactless :P, just kidding.
Near Field Communication Developer Team
Selamat Jalan Laskar Legenda ku !!!, Semoga kita bertemu pada titik perjuangan di suatu waktu nanti, Dimana cita dan impian merupakan lencana kebanggaanmu
Thursday, February 12, 2009
Command dan Alert di J2ME
Command Class merepresentasikan aksi terhadap suatu informasi yang ditampilkan. Command identik dengan button pada pemrograman aplikasi di platform yang lain. Behavior atau aksi yang akan dilakukan apabila command di invoke tidak didefinisikan pada method dari objek ini, tetapi akan didefinisikan pada method commandAction pada interface CommandListener. Class Command memiliki beberapa tipe antara lain BACK, CANCEL, EXIT, HELP, ITEM, OK, SCREEN dan STOP. Command Class juga memiliki tingkat prioritas yang menunjukkan hierarki dari objek command. Berikut merupakan listing program pengimplementasian objek dari Class Command dan objek dari Class Alert dengan tipe alert alarm, alert confirmation, alert error, alert info dan alert warning.
Tuesday, February 10, 2009
SQL Injection
Kali ini saya bakal sharing sedikit nih tentang pengetahuan web hacking. Cara hacking web disini pake teknik yang biasa disebut Sql Injection.
Sql Injection itu suatu cara hacking web dengan memanfaatkan celah keamanan suatu web atau keteledoran sang developer web dalam membuat webnya, jadi dengan kita ketik beberapa "sintaks query" di url web atau di tempat input-input tertentu dapat mengakibatkan kita mendapatkan informasi yang sifatnya "private" dalam web tersebut.
OKe deh langsung aja ya. Buat pertama kali deteksi apakah suatu web dapat kena serangan SQL Injection yaitu dengan cara begini :
http://www.contohweb.com?productid=1
Nah misal ada link web kayak diatas yang menerima parameter variabel productid dengan nilai 1, lalu kita coba tambahin tanda quote ' ato petik satu dibelakang angka 1. Contoh :
http://www.contohweb.com?productid=1'
Nah kalo ada keluar pesan error di web tersebut berarti web tersebut punya kemungkinan bisa kena serangan SQL Injection.
Nah untuk lebih detilnya ini ada sedikit video tentang penyerangan situs pake SQL Injection dari mas xyberbreaker (codename), ini salah satu inspirator gw :P
http://www.indowebster.com/SQL_injection__3.html
Tapi walaupun memang ada suatu celah keamanan seperti apapun, pasti ada cara buat tutup celah keamanan tersebut. :D
Walaupun disini dijelaskan tentang cara hack tapi mungkin lebih tepatnya crack website bukan maksudnya untuk menjahati web orang lain, tapi disini kita bisa berpikir sebagai hacker yang bisa menutup celah keamanan tersebut (jadi bukan buat tindakan negatif ya ... :P).
So yang pasti maju terus hacker Indonesia ^^V
Tips cegah virus di flashdisk
Ini beberapa langkah biar virus nggak gampang automatic run di flash disk kita.
1. Buat folder baru di flashdisk
2. Rename nama folder itu jadi autorun.inf
Dengan cara seperti ini dapat menghindari autorun dari virus berjalan di flashdisk kita. Selamat mencoba.
Kalo mau menantang coba colok flash disk anda di komputer bervirus :P