Teka-Teki Kode Morse

Di musim hujan begini, orang tua harus pandai-pandai mencari kegiatan dalam ruangan untuk anak. Salah satunya adalah tebak-tebakan dengan pesan rahasia yang ditulis dalam kode morse. Anak saya menikmatinya lho…

Cara membuatnya cukup mudah. Tuliskan saja pesan rahasia Anda ke Text to Morse Converter. Copy paste hasilnya ke spreadsheet, lalu klik Text to Column dengan memilih space pada pilihan “Separated by” agar kode morse terpisah menjadi satu huruf tiap cell. Terakhir berilah kotak-kotak per cell agar mudah diisi dengan huruf oleh anak Anda. Rapikan secukupnya, cetak dan berikan kepada buah hati yang sudah tak sabar memecahkan teka-teki.

Teka-Teki Kode Morse

 

 

Hasilnya sangat menyenangkan lho…

Teka-Teko Kode Morse

Selamat berteka-teki!

 

Cara Membuat Ponsel Android sebagai Wireless Card

Bismillah.

Ini kejadian nyata di rumah saya. Ada 2 PC di rumah saya tetapi hanya ada 1 modem Bolt. Modem Bolt sendiri bisa memberikan koneksi internet melalui 1 koneksi kabel USB dan 8 device mobile melalui WiFi. Jadi, modem saya colokkan ke 1 PC dengan kabel USB. Sementara PC yang lain, saya koneksikan melalui WiFi menggunakan ponsel Android. Berikut skema ponsel Android sebagai Wireless Card.

Cara Membuat Ponsel Android sebagai Wireless Card

 

 

Ponsel Android saya set USB Tethering ke PC sebagai downlink. Uplink saya gunakan WiFi ke modem Bolt.

Lumayan, untuk solusi darurat sambil menunggu membeli Wireless Card. Maklum tertunda libur panjang tanggal merah.

Disklamasi (Disclaimer)

Tentu saja cara yang saya gunakan ini tidak membuat Android Anda benar-benar menjadi Wireless Card, karena Anda tidak dapat menggunakan perintah iwconfig ataupun menggunakan promusciuous mode yang biasa disyaratkan dalam aplikasi-aplikasi sniffing. Sekedar mendapatkan koneksi internet dari Wireless Access Point terdekat.

Bukan Tutorial JPOS (ISO 8583)

Bismillah.

Disklamasi

Sesuai judul posting, tulisan ini bukan tutorial JPOS, melainkan pengalaman saya menggunakan jpos (project log). Jadi jangan terlalu banyak berharap tulisan ini akan membantu Anda memecahkan masalah yang Anda hadapi. Untuk itulah Anda dibayar Boss Anda bukan? Wkwkwkw…

jpos

Pendahuluan

Menggunakan JPOS adalah salah satu tantangan terberat yang pernah saya hadapi di dunia perkodingan. Minimnya resource tentang JPOS (baik dalam bahasa Inggris maupun Indonesia) masih diperparah dengan kenyataan bahwa tutorial-tutorial JPOS yang tersedia hanya membahas satu tipe instalasi JPOS saja. Tutorial-tutorial tersebut masih belum menunjukkan kekuatan sebenarnya dari JPOS. Mungkin saja karena tutorial-tutorial tersebut ditulis ketika JPOS masih dalam versi awal. Untuk itulah tulisan ini ingin menunjukkan bahwa fitur yang ditawarkan JPOS sebenarnya sangat luar biasa. Kombinasinya bisa dikatakan endless.

Mengapa kita perlu mengetahui kelengkapan fitur JPOS? Ada dua alasan utama. Pertama, aplikasi ISo8583 diharapkan dapat mengantisipasi load yang tinggi. Tuning JPOS untuk mendapatkan TPS (Transaction per Second) yang tinggi, jelas tidak datang dari konfigurasi standar. Kedua, tidak setiap kondisi di mana JPOS digunakan, dapat dipecahkan dengan solusi konfigurasi yang standar. Pengalaman saya menggunakan JPOS untuk menghubungkan sebuah database korporasi dengan salah satu institusi keuangan, justru mengharuskan sebuah konfigurasi JPOS di luar konfigurasi umum.

Meskipun tulisan ini tidak merinci seluruh fitur-fitur kelengkapan JPOS (karena kombinasinya luar biasa banyaknya), tetapi tulisan ini ingin setidaknya mengenalkan logika dasar penggunaan JPOS. Untuk penyelesaian akhir aplikasi ISO8583 yang sedang Anda bangun, Anda bisa merujuk pada Guide yang disediakan JPOS ataupun melalui milis user jpos. Hati-hati! Jangan kaget bila ada senior-senior di milis yang akan membalas pertanyaan Anda dengan sinis dan nyinyir.

Berikut ini adalah susunan tulisan bukan tutorial JPOS ini:

  1. Lisensi
  2. ISO 8583
  3. Kompilasi JPOS
  4. JPOS sebagai Aplikasi
  5. JPOS sebagai Framework
  6. Packager
  7. Menghubungkan JPOS dengan Database
  8. Referensi Lain yang Menarik

Lisensi

Meskipun JPOS dirilis di bawah lisensi Open Source, tetapi (entah bagaimana, saya bukan orang hukum) penggunaan JPOS untuk kegiatan komersial diharuskan menggunakan lisensi komersial. Apakah ini jebakan betmen? Hehehe.. entahlah. Padahal sangat kecil kemungkinan (atau bahkan mustahil?) ada aplikasi ISO 8583 yang tidak bertujuan komersial.

Sisi baiknya, dengan lisensi JPOS yang Open Source itu , kita bisa menggunakan (baca: mengkonfigurasikan) JPOS terlebih dahulu, baru membeli lisensinya. Jadi kita tidak membeli kucing dalam karung seperti ketika membeli aplikasi komersial biasa. Bahkan JPOS jauh lebih baik dari aplikasi yang memberikan demo atau trial, karena JPOS sudah memberikan aplikasi full feature sejak awal. Kita bebas menggunakannya sampai pada titik ketika aplikasi tersebut berjalan secara komersial, kita disyaratkan untuk memiliki lisensi komersial dari JPOS.

ISO 8583

ISO 8583 adalah sebuah protokol komunikasi antarhost yang dirancang khusus untuk kebutuhan payment. Anda dapat mempelajari ISO 8583 dari berbagai sumber kemudian kembali ke halaman ini untuk melanjutkan (bukan) tutorial JPOS.

Berikut beberapa link yang mungkin bisa membantu:

  1. Wikipedia page ttg ISO 8583
  2. An Introduction to ISO 8583 oleh kuriositaet.de
  3. Ebook ttg ISO 8583 oleh mas amyunus
  4. Pengenalan ISO 8583 oleh Bayu Rimba

Kompilasi JPOS

Kode sumber JPOS selalu tersedia terbuka. Dulu kode sumber ini disediakan di sourceforge. Sejak versi xx, kode sumber JPOS disediakan di github. Untuk dapat menggunakan JPOS, kita harus meng-compile kode sumber ini menjadi sebuah file JAR. Ada berbagai cara mengkompilasi JPOS menjadi JAR. Untuk amannya, ikutilah petunjuk di file README.md di dalam JPOS.

  1. Kompilasi Quick and Dirty.
    Cara kompilasi ini bisa ditempuh dalam keadaan terdesak 😀 Caranya adalah dengan menzip direktori JPOS dan me-rename-nya menjadi JPOS.jar. Belum saya coba! Cuman denger dari temen master Java. (Untested)
  2. Kompilasi dengan Maven dan/atau Gradle
  3. Download saja dari saya
    Opsi terakhir, jika Anda merasa kerepotan dengan urusan kompail-mengompail ini, silakan unduh saja file JAR hasil kompilasian saya.

jpos-1.8.9-SNAPSHOT (796,6 Kb)

jpos-1.9.5-SNAPSHOT (825 Kb)

atau download sendiri nightly build dari http://jpos.org/maven/ (direktori: org/jpos/jpos/x.x.x-SNAPSHOT/)

 

JPOS sebagai Aplikasi

Oke, setelah memiliki file jar JPOS, selanjutnya kita akan mulai dengan skenario paling sederhana, yaitu langsung menggunakan JPOS sebagai aplikasi. Keuntungan metode ini adalah kita tidak perlu melakukan programmning, cukup dengan mengedit file konfigurasi saja. Di dalam coding aplikasi berbasis JPOS, bisa dikominasikan dengan konfigurasi QBean. Pembahasan lebih lanjut akan dituangkan dalam postingan terpisah.

Project Guide jpos terbaru justru menyarankan kita menggunakan metode ini.

JPOS sebagai Framework

Selain menggunakan JPOS sebagai aplikasi, kita juga bisa menggunakan JPOS sebagai framework. Keuntungan metode ini adalah kita dapat mensetting/memprogram aplikasi ISO 8583 dengan cara yang fleksibel sesuai dengan keinginan kita. Seluruh perilaku aplikasi bisa kita kendalikan sepenuhnya. Kita dapat mengkonfigurasi koneksi, logika pemrograman, ISO package, ISO message, dst. Hal ini sangat kita perlukan jika requirement dari user maupun lingkungan menuntut adanya fitur khusus dari aplikasi kita (haduh.. belibet bener bahasanya, mudah-mudahan yang baca ngerti ya). Pembahasan lebih lanjut akan dituangkan dalam postingan terpisah, Insya Allah.

Sebagai gambaran singkat, penggunaan jPOS sebagai ISO Server adalah solusi terpopuler. Tetapi saya pernah juga mendapati requirement dari bank agar jPOS sebagai pensuplai data ditempatkan sebagai client (nah lho!).

Packager

Jpos belum bisa berjalan tanpa konfigurasi packager data. Ada banyak Packager yang sudah preload di jpos, tinggal pilih. Yaitu:

  1. XML Packager
  2. ISO 87A Packager
  3. ISO 87A Packager BBitmap
  4. ISO 87B Packager
  5. ISO 93A Packager
  6. ISO 93B Packager

Kita juga bisa membuat Packager sendiri, jpos menyediakan class Generic Packager untuk menggunakan packager buatan sendiri.

Menghubungkan JPOS dengan Database

Agar JPOS dapat memberikan data yang diperlukan oleh host, maka kita perlu mengambil data yang diminta oleh host dari database kita. Nah ini urusannya agak panjang, karena database bisa bermacam-macam platform.

Pembahasan lebih lanjut akan dituangkan dalam postingan terpisah, Insya Allah. Namun secara singkat, saya banyak terbantu dengan adanya JDBC driver. Ada banyak database yang bisa diakses menggunakan JDBC, antara lain:

  1. MySQL (JDBC Driver),
  2. PostgreSQL (JDBC Driver),
  3. MS SQL Server (JDBC Driver),
  4. dan lain-lain.

Saya sendiri menggunakan Oracle JDBC Driver versi 6.

Referensi Lain yang Menarik

Uulasan di atas masih membicarakan seputar dasar-dasar jpos, masih ada banyak hal lain yang dapat dibangun menggunakan jpos. Beberapa sumber telah mengulas hal-hal menarik dan berguna seputar jpos.  Sementara ini saya list dulu saja yha..

  1. Membuat jPOS client dengan jpos-template
  2. Step-by-Step Membangun jPOS ISO Server dengan Netbeans
  3. jpos javadoc (Very Useful! Terutama ketika mencari method suatu Class jpos)
  4. Me-log message ISO 8583 dengan log4j

Jika Anda menemukan referensi jpos yang menarik, silakan tambahkan melalui kotak komentar ya!

Penutup

Apa yang ingin saya katakan di penutup tulisan ini mungkin tidak relevan dengan isi tulisan. Namun saya merasa hal tersebut cukup sangat penting untuk diketahui. Perlu diingat bahwa bank adalah sumber aktivitas ribawi, sebuah dosa yang tidak ditolerir di berbagai agama. Sebagai programmer jpos, saya harap kita dapat memilah mana bentuk kerja sama dengan bank yang terlarang dan mana yang masih dalam kategori diperbolehkan.

Mudah-mudahan tulisan ini bermanfaat.