Posts Tagged Java

AplikasiSMS – Mengirim SMS dengan SMSLIB

Pada posting kali ini, kita akan mencoba membahas source code mengirim sms dengan smslib dalam AplikasiSMS. Didalam AplikasiSMS, pengiriman sms dilakukan dengan cara asynchronous. Dengan cara ini proses pengiriman akan diatur oleh smslib dengan cara memasukkan dalam sebuah antrian.

Dengan menggunakan cara pengiriman asynchronous, maka proses pengiriman akan dilakukan di background, setelah proses pengiriman selesai dikerjakan maka smslib akan menjalankan class callback yang kita buat.

/**
     * Method untuk mengirim pesan menggunakan metode async
     * @param tujuan
     * @param message
     * @throws Exception 
     */
    public void sendMessage(String tujuan, String message) throws Exception{
        tujuan = HPUtil.cekHP(tujuan);
        if(service.getServiceStatus()==Service.ServiceStatus.STARTED){
            outboundMessage = new OutboundMessage(tujuan, message);
            service.queueMessage(outboundMessage);
        }
    }

Source code diatas adalah source code yang digunakan untuk mengirim sms. Method yang digunakan untuk mengirim secara asynchronous adalah queueMessage().

Ketika proses pengiriman sms selesai dikerjakan, maka source code class yang dipanggil adalah sebagai berikut :

/**
     * Class yang akan dijalankan setelah proses pengiriman pesan selesai dikerjakan oleh SMSLIB
     */
    class OutboundNotification implements IOutboundMessageNotification{

        @Override
        public void process(AGateway arg0, OutboundMessage arg1) {
            // sms yang sudah terkirim, ditampilkan pada layar
            tulisLayar(1, HPUtil.cekHP(arg1.getRecipient()), arg1.getText(), arg1.getDate(), arg1.getMessageStatus().toString());
        }
        
    }

Dari class tersebut, kita dapat mengetahui status  sms yang kita kirim, apakah berhasil terkirim atau gagal.

Kita akan bahas cara membaca sms dengan smslib dilain waktu. 😀

, , , , , ,

Leave a comment

AplikasiSMS – Konfigurasi modem dan memulai service SMSLIB

Post kali ini, kita akan membahas bagian dari AplikasiSMS, yaitu tentang konfigurasi modem untuk smslib dan langkah-langkah yang diperlukan untuk memulai service smslib.

Di dalam source code AplikasiSMS, terdapat sebuah method dengan nama initModem() yang terdapat pada class arfa.ussd.views.MainView.java, method ini berisi script yang akan kita bahasa kali ini.

public void initModem(){
        gateway = new SerialModemGateway("modem-"+SessionUtil.com, SessionUtil.com, SessionUtil.baudrate, "HP Q", "");
        gateway.setProtocol(Protocols.PDU);
        gateway.setInbound(true);
        gateway.setOutbound(true);
        
        outboundNotification = new OutboundNotification();
        inboundNotification = new InboundNotification();
        ussdNotification = new USSDInboundNotification();
        try{
            service = Service.getInstance();
            service.S.SERIAL_POLLING=true;
            //service.S.SERIAL_NOFLUSH=true;
            service.S.SERIAL_TIMEOUT=15000;
            service.S.QUEUE_SCHEDULING_INTERNAL=3000;
            service.setOutboundMessageNotification(outboundNotification);
            service.setInboundMessageNotification(inboundNotification);
            service.setUSSDNotification(ussdNotification);
            service.addGateway(gateway);
            service.startService();
            
            setTitle(getTitle()+" - "+gateway.getManufacturer());
        }catch(Exception exception){
            onWarning("Terjadi Kesalahan Init Modem !!\n"+exception.getMessage());
            gateway = null;
            exception.printStackTrace();
        }
    }

Read the rest of this entry »

, , , ,

Leave a comment

Java – Cetak Nota Memanfaatkan dokumen HTML

Buat yang memakai java untuk membuat sebuah aplikasi desktop, pasti sudah mengenal yang namanya JasperReport. JasperReport sendiri banyak digunakan untuk pembuatan laporan, nota, dan lain sebagainya.

JasperReport sudah terbukti kemampuannya, tetapi kalau hanya untuk mencetak sebuah nota, rasanya jika menggunakan JasperReport terlalu banyak resource yang dihabiskan. Seperti membutuhkan memory yang lebih besar, space harddisk yang lebih besar. Read the rest of this entry »

, , , ,

2 Comments

Pentingnya melepaskan object tak terpakai di Java

Sesuai tulisan sebelumnya, disini kita akan membahas pentingnya melepaskan object yang sudah tidak dipakai.

Kita buat dulu program sederhana untuk mengakses database MySQL secara berulang ulang, disini hanya ditampilkan sebagian source code saja. Source Code pertama adalah Source Code yang tidak melepaskan object yang telah tak terpakai. Berikut Source Codenya :

Connection connection;

int hasil = 0;

while(true){

try {

// TODO code application logic here

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

String url = "jdbc:mysql://localhost:3306/achmadlutfi";

String user = "root";

String password = "";

connection = DriverManager.getConnection(url, user, password);

Statement statement = connection.createStatement();

ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) AS hasil FROM arfa_inbox");

if(resultSet.next()){

hasil = resultSet.getInt("hasil");

}

System.out.println("Hasilnya adalah : "+hasil);

} catch (SQLException ex) {

Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);

}

try {

Thread.sleep(1000);

} catch (InterruptedException ex) {

Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);

}

}

Read the rest of this entry »

, , ,

Leave a comment

Kesalahan pemahaman Garbage Collector

Java adalah salah satu bahasa pemrograman yang menurut cukup mudah dipelajari. Salah satu yang membuatnya jadi lebih mudah adalah adanya fasilitas Garbage Collector. Dengan adanya fitur ini, setiap object yang sudah tidak digunakan lagi maka akan ditangani oleh garbage collector secara otomatis.

Karena kemampuan Garbage Collector tersebut, membuat kita kurang memperhatikan pembuatan object yang akhirnya membuat aplikasi yang kita buat jika makin lama digunakan akan semakin banyak menghabiskan memory komputer kita. Jika diteruskan akan muncur exception : Read the rest of this entry »

, , , , ,

Leave a comment