Rabu, 26 Juni 2013

Menggunakan SMSLib di Linux

Jumpa lagi setelah sekian lama kita tidak bersua, umur semakin tua dan waktu kita bersama semakin tersita, apa daya manusia? Hanyalah seonggok daging dan tulang belaka, takkan bisa apa-apa tanpa bantuan yang Maha Kuasa. Cukup puisinya mari kita belajar bersama lagi ;-p Tantangan kali ini adalah kita membuat suatu aplikasi berkaitan dengan sms, penerapannya bisa untuk SMS Gateway, dsb. Bisa juga untuk membuat aplikasi "smart sms auto replay", wuiissh aplikasi apa itu? Entahlah cuman biar keliatan keren saja hehehe.. Pertama download dulu library untuk smslib. Menurut dokumentasinya, smslib ini memerlukan beberapa komponen, silahkan dibaca sendiri, salah satu komponennya adalah Java Communications Library, bisa menggunakan SUN Java Comm v2 atau v3, atau menggunakan RXTX, mari kita menggunakan RXTX saja karena RXTX bisa digunakan di sistem operasi secara luas, beda dengan Java Comm yang hanya berjalan di SO Windows saja. Silahkan download dulu komponen dari RXTX. Extract hasil dari downloadnya, kemudian kita buka directory linux dan copykan file .so sesuai dengan arsitektur linux yang kita gunakan, apakah 32bit atau 64bit, copy ke /jre/lib/i386/ untuk 32bit atau /jre/lib/x86_64/ untuk 64bit. Untuk mencoba apakah RXTX sudah berjalan mari kita buat Project Java, silahkan menggunakan IDE favorit, bisa menggunakan NetBeans, Eclipse, dsb. Buat class bernama SimpleRead dan tambahkan library RXTXcomm.jar. Isi dari class SimpleRead adalah sebagai berikut :
import gnu.io.CommPortIdentifier;
import java.util.Enumeration;

public class SimpleRead {
  public static void main(String[] ap) {
    Enumeration pList = CommPortIdentifier.getPortIdentifiers();
    while (pList.hasMoreElements()) {
      CommPortIdentifier cpi = (CommPortIdentifier) pList.nextElement();
      System.out.print("Port " + cpi.getName() + " ");
      if (cpi.getPortType() == CommPortIdentifier.PORT_SERIAL) {
        System.out.println("is a Serial Port: " + cpi);
      } else if (cpi.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
        System.out.println("is a Parallel Port: " + cpi);
      } else {
        System.out.println("is an Unknown Port: " + cpi);
      }
    }
  }
}
Kelas diatas bertujuan menampilkan port serial maupun parallel yang aktif dalam komputer kita, jalankan perintah tersebut, apabila ada error kemungkinan karena masalah hak akses, kelas tersebut berusaha menulis pada folder /var/lock/, solusinya kita tambahkan user kita pada group uucp. Tambahkan dengan mengedit file /etc/group atau dengan menggunakan perintah :
usermod -a -G uucp dicky
Perintah tersebut menambahkan user bernama dicky dalam group uucp sehingga memiliki hak akses write ke directory /var/lock/. Jalankan kelas SimpleRead, jika tidak ada error berarti RXTX sudah berjalan lancar. Selamat anda layak dapan pujian ;-p Sekarang saatnya kita membuat kelas untuk membaca sms dari perangkat yang kita gunakan, tambahkan komponen lainnya dalam project kita yaitu, smslib.jar tentu saja, Apache log4j, Apache Jakarta Commons - Net, dan JSMPP. Buat file log4j.properties di source directory dari Project kita dengan isi :
log4j.logger.smslib=DEBUG, smslib
log4j.appender.smslib=org.apache.log4j.ConsoleAppender
log4j.appender.smslib.layout=org.apache.log4j.PatternLayout
log4j.appender.smslib.layout.ConversionPattern=%-6r %d [%t] %-5p %C %x - %m%n
Kemudian dari hasil download smslib, kita bisa melihat sample dari cara membaca sms di kelas ReadMessages dari package examples.modem. Kita tinggal melihat contoh dari kelas itu kemudian sesuaikan dengan perangkat yang kita gunakan, karena saya menggunakan HP Sony Ericsson W550i maka saya ganti konfigurasi dengan :
SerialModemGateway gateway = new SerialModemGateway("modem.com7", "COM3", 115200, "Sony Ericsson", "W550i");

Minggu, 18 Maret 2012

Instalasi Apache, PHP, dan MySQL di Linux

Sesuai janji saya pada waktu di posting Konfigurasi Apache, PHP, dan MySQL di Windows, maka kali ini saya ingin memposting untuk instalasi di Linux. Berhubung saya menggunakan Distro Mandriva 2011, maka untuk pengguna Distro lain silahkan buat artikel sendiri ya! Emang harus gitu? Ya ga juga sih, tapi daripada kalian keluyuran ga jelas, ato ngelamun sendirian mending melakukan sesuatu yang berguna(emg ada ngelamun berjamaah? Ada donk coba kalian perhatikan di kemacetan lalu lintas, orang2 pada ngelamaun berjamaah tuh). Oke sampai mana tadi? Kebanyakan pembicaraan ga penting intisari pembicaraan jadi ga dapet. Oh iya tadi sampai melamun, langsung saja kita mulai pengaturannya.

Hal pertama sebelum dilakukan pengaturan, adalah install aplikasi terlebih dahulu. Enaknya apa dulu ya? Apache dulu deh. Oke langkah pertama buka Mandriva Linux Control Center -> Install and Remove Software Pada query ketikkan apache-base dan pilih apache-base untuk diinstall pada komputer. Ikuti langkah instalasi dan kebutuhan library. Jika proses instalasi sudah selesai silahkan jalankan servicenya dengan mengetikkan di console sebagai root :
/etc/init.d/httpd start
Documen Root defaultnya ada di var/www/html ini adalah tempat untuk meletakkan aplikasi kita. Untuk konfigurasinya ada di file /etc/httpd/conf/httpd.conf dan konfigurasi tambahannya ada id direktory /etc/http/conf.d. Untuk mengecek apakah apache sudah berjalan, buka browser kemudian coba ketikkan http://localhost pada address bar browser favorit. Jika muncul halaman bertuliskan It's Work berarti instalasi Apache sudah berhasil. Langkah selanjutnya kita instal PHP. Masuk pada Mandriva Linux Control Center -> Install and Remove Software installah apache-mod_php. Kemudian untuk mysql ya tinggal install mysql aja disitu. Jangan lupa install pula php-mysql. Simpel banget ya?

Rabu, 14 Desember 2011

Unordinary Love Story

Ketemu lagi dengan saya, setelah beberapa kali posting agak berat mengenai pemrograman mungkin kali ini agak rileks dulu ya, saya ingin posting suatu cerita, hmmm cerita apa ya? Yang paling laku aja deh, di Indonesia cerita yang laku kalo tidak cerita cinta ya cerita misteri :-p
Oke untuk cerita misteri lain kali saja, sekarang saya mau cerita tentang cinta dulu, kenapa saya yang basisnya programmer koq tiba2 pengin cerita tentang cinta? Apakah saya sedang dilanda mabuk cinta (hmm setiap hari itu mah). Tapi alasan sebenarnya saya penasaran ato bisa dibilang muak ya? Melihat acara FTV bertema cinta di "dunia pertelevisian" kita, kalo kita lihat alurnya monoton sekali, saya memang tidak pernah menonton sih, tapi kalo pas kebetulan menonton pas gonta-ganti chanel pasti FTV bertema cinta itu memiliki alur yang monoton, pertama perkenalan, trus PDKT, ntar ada konflik (biasanya salah paham), penyelesaian trus jadian dech (ending). Mungkin masalah rating dan kepopuleran bermain disini, tp apa ya harus segitunyaaa??

Mungkin ada diantara yang bilang, "Loe jangan cuman omdo, coba lu buat cerita sendiri!!", Oke saya akan buat cerita sendiri, mungkin cerita ini ga lebih bagus, tapi paling tidak bisa memberi warna pada negeri ini dengan warna yang berbeda.
Cerita ini hanya fiktif belaka, apabila ada kesamaan dengan dunia nyata itu hanya kebetulan semata.

WHAT IS LOVE?
Anto mengumpulkan keberaniannya, dia berdiri menatap Jessica yang sedang berbincang dengan Robbie di kantin kampus, tampaknya mereka baru saja menyelesaikan makan siang mereka. Anto menarik nafas panjang, kemudian berjalan menghampiri mereka. "Hi Jess, aku mau ngomong bentar ganggu ga?", "Emang mo ngomong apa? Ngomong aja lagi napa harus nanya segala?". Anto melihat Robbie dan terdiam beberapa saat, Robbie yang paham langsung bilang, "Eh Jess, kalian ngobrol dulu aja ya, aku mo ke perpus dulu. Ayo To, aku duluan ya? Jangan lupa aku pinjem catatan kuliahnya Pak Marco ya?". Anto mengangguk, kemudian setelah Robbie pergi Anto mulai bertanya kepada Jessica, cewek yang dikenalnya secara tidak sengaja di jalan, saat cewe itu kebingungan karena bannya bocor, sedangkan dia sedang terburu-buru karena ada ujian Mata Kuliah penting, dan Anto dengan sukarela meminjamkan sepeda motornya.

"Emm ntar weekend ada acara ga? Ini aku punya voucher dari Steack Cafe yang baru buka, kalo kosong nti aku jemput". Jessica menatap Anto kemudian memegang gelas yang sudah kosong, dia memainkan sedotan di gelas tersebut, "Sorry ya To, aku lagi diet nih, ga makan daging gitu, eh tapi kamu bisa ajak Lina tuh? Katanya dari kemaren dia ngidam pengin makan banana split". "Ooh lagi diet ya, gimana kalo ke restoran yang lain aja?", Anto berusaha tersenyum. "Eh tapi kayanya malem minggu aku ga bisa dech To, ada acara apa gitu, eh udah dulu ya aku ke kelas dulu, ada kuliah", kata Jessica sambil membereskan tasnya. Sepeninggal Jessica, Anto memandang voucher discount di tangannya, pikirannya menerawang jauh.

"Eh koq cepet banget ngobrolnya Jess?", tanya Robbie melihat Jessica menyusulnya di perpus, "Tadi Anto pengin ngajakin aku jalan weekend ini, tapi aku males sih" jawab Jessika seperti sedang memikirkan sesuatu. "Anto tuh suka ama kamu, dia kan orangnya baik, kamu ga suka ya?". "Iya sih dia baik, pengertian, and bisa jadi pacar yang baik and setia juga. Tapi ga tau ya kenapa aku ga ada rasa ama dia, aku juga bingung", Jessica melihat Robbie dan melanjutkan, "Sebenernya aku pengen juga punya pacar yang baek seperti kamu, seperti Anto, tau sendiri kan gimana mantan-mantan aku? Mereka semua brengsek semua, kalo ga diselingkuhin, mereka kasar juga ama aku, tapi anehnya kenapa aku selalu jatuh cinta dengan cowo-cowo seperti itu? Kenapa aku tidak jatuh cinta aja dengan cowo-cowo seperti kalian Rob? Btw ginama kabar cewe kamu di luar kota? Koq bisa sih kamu pacaran jarak jauh gitu?". Robbie tersenyum, "Kami sudah memiliki komitmen Jess, cinta berdasarkan emosi pasti ga bakal langgeng, siapa yang menjamin emosi kamu bisa stabil? Bagaimana bisa kamu menahan godaan untuk selingkuh kalau ga ada komitmen yang kuat? Kami sudah sepakat bahwa cinta kami adalah cinta yang dianugerahkan Allah untuk kami, saat kami semakin menua dan menjadi tak secakap sekarang, cinta itu tetap ada di hati kami, karena Allah maha abadi bukan? Begitulah cinta kami". Jessica mengangguk-angguk, dalam hatinya ada kebimbangan sekarang.

Anto berjalan menelusuri trotoar bersama keponakannya, Sisca, putri kakaknya yang baru berusia 10 tahun, sambil menggenggam voucher dia mengamati sekeliling, malam minggu jalan selalu ramai, orang-orang keluar untuk menghilangkan kepenatan setelah seminggu ini bekerja atau sekolah. Makan malam bersama, nonton film, atau sekedar jalan-jalan menikmati udara malam. "Bener ya Oom, kita makan steak yang enaaak??" tanya Sisca dengan mata berbinar. "Iya, makanya kamu jangan nakal ya? Kalau ga nakal nanti Oom Anto akan sering-sering ajak kamu makan atau jalan-jalan". Sisca berjalan ceria digandeng oleh Anto.
Saat melewati Restoran Steak yang lumayan terkenal disitu jantung Anto seakan terhenti untuk 0.12 detik. Di bangku luar Restoran tersebut dia melihat Jessica, berdua dengan Albert, cowo yang terkenal sebagai geng motor di kampusnya. Mereka terlihat asyik bercanda dan makan steak, terlihat begitu mesra. Saat pandangan Anto melihat Jessica, Jessica merasa ada yang mengawasi, dia segera menyapu pandangan ke luar, saat tatapan mereka bertemu, Jessica terkejut, dia segera menunduk dan terdiam. "Ayooo Oom jalan, napa siih malah berhenti disini?", ajakan Sisca membuyarkan lamunannya, dia segera menggendong Sisca dan mencium pipinya, "Iya, iyaa, ayo sekarang cepet nanti keburu habis hahahahaa..". Anto berjalan menggendong Sisca, mereka tertawa bersama, ya, Anto sudah melepaskan sesuatu yang tidak seharusnya dia bawa, hidup ini terlalu indah untuk memanggul sesuatu yang akan jadi beban, Anto menyadari bahwa dia berhak untuk bahagia, dan dia akan membagi kebahagian itu bersama orang-orang yang dia sayangi. Sementara itu Jessica tidak melepaskan pandangannya dari Anto, sampai dia berbelok di perempatan jalan dan hilang dari pandangan. Jessica merasa emosi dan logikanya beradu di dalam dirinya.
--END--

Naaah.. begitulah cerita yang aku buat, bagaimana? hah lebih jelek? Ya gapapa yang penting beda gitu, dunia akan berwarna saat perbedaan itu saling mengisi. Ayo ditunggu tanggapannya! ^_^

Minggu, 16 Oktober 2011

Berbagai Pemikiran Saya Tentang Misteri Illahi

Lama ga update blog, maklum (sok) sibuk :-D
Mumpung hari Jumat (sok religius) pengen sekali mengeluarkan unek2 tentang apa yang terjadi dibalik kejadian di dunia ini. Tapi karena apa yang saya tulis ini mungkih hal yang sensitif sekali jadi sebelumnya perhatikan dulu ketentuan yang saya buat berikut :
Semua yang saya tulis di bawah murni dari pemikiran saya sendiri, jadi apa yang saya tulis ini mungkin tidak ada rujukannya yang valid, saya tidak bertanggung jawab apabila ada yang mengambil tulisan saya ini sebagai sumber informasi. Karena berdasarkan pemikiran saya, mungkin (bisa jadi malah pasti) SALAH. Jadi saya mohon mungkin ada yang lebih berkompeten dengan ilmu ini bisa berbagi atau mengoreksi. Kita berdiskusi disini. :-)
Oke kita mulai saja, sejak kecil saya selalu terpikirkan dengan pertanyaan2 seperti ini :
  1. Apakah takdir manusia bisa diubah? Bukankah takdir manusia sudah ditetapkan sejak ruh manusia diciptakan?
  2. Kenapa kadang orang jahat mendapatkan kehidupan yang lebih baik dari orang baik? Dimana keadilan ini?
  3. Dan pertanyaan lain yang saya lupa, mungkin kalo inget saya update lagi nanti ;-p
Pertanyaan-pertanyaan seperti itu saya selalu diskusikan dengan teman-teman dan sampai beberapa tahun belakangan belum bisa memuaskan rasa penasaran ini. Kita tahu kuasa Allah Maha Besar, saya sebagai manusia tidak akan bisa mengetahui rahasia-rahasia-Nya. Dijelaskan seperti apapun tidak akan mengerti karena kemampuan otak manusia mungkin cuma seperti debu di luasnya alam semesta jika dibandingkan dengan ilmu-Nya.
Jadi agar saya bisa memuaskan rasa penasaran itu, saya membuat pemikiran sederhana yang bisa diterima oleh otak saya ini. Oke begini pemikiran saya atas pertanyaan-pertanyaan itu, saya jabarkan satu-satu ya :

Pengenalan Ant Bagian 3

Setelah kita belajar bagaimana menambahkan library dan fungsi unit testing pada posting pengenalan ant terdahulu, kini kita coba berlatih lagi, kali ini kita belajar membuat file war, jadi latihan kali ini kita akan belajar ant dengan membuat web yang akan diupload ke server (bisa tomcat, glassfish, dsb) sehingga bisa diakses user melalui browser.

Senin, 10 Oktober 2011

Pengenalan Ant Bagian 2

Hai hai semuaa.. siap dengan hari yang menantang lagi? Kalo pak Mario Teguh punya"Salam Super" maka mari kita buat salam sendiri,, "Salam Petualang"^_^
Oke setelah pada posting terdahulu kita belajar menggunakan Ant, sekarang kita lanjut dengan materi yang agak sedikit lebih rumit lagi. Pada posting terdahulu kita hanya memiliki satu sumber kode java yang menampilkan pesan yang kita tulis pada console, tanpa adanya dependency dengan library lain. Sekarang kita akan menambahkan suatu baris kode sehingga memiliki dependency, dan kita akan menyertakan library tersebut pada paket distribusinya agar terlihat lebih rumit ;-p
Untuk itu kita perlu menambahkan fitur pada program terdahulu, diantaranya :
  1. Fitur logging.
  2. Fitur Unit Test.

Selasa, 04 Oktober 2011

Pengenalan Ant Bagian 1

Halo para penyuka tantangan semuanya! Sekarang saya akan mengajak untuk mengenal "Ant", emg perlu kenalan ama semut? Udah aku pites tadi hehehe.. Kalo kalian sering menggunakan NetBeans untuk coding paling tidak mengerti kalo buildnya menggunakan Ant suatu program build-tool dari Apache. Dengan fitur otomatis di IDE kita tidak perlu mengerti script Ant untuk mendistribusikan code-code Java yang kita buat. Tinggal menekan tombol, jadi deh file .jar atau .war yang akan kita berikan ke client. Tapi sekarang bagi yang belum kenal dengan Ant mari kita belajar bersama untuk mengenal Ant ini.