Komunitas Python Indonesia

ID-PYTHON Meetup #3: Rekan-rekan yang ingin menghadiri di Bandung,diharapkan untuk mengisi form registrasi ini.

Sabtu, 28 Januari 2012

Meetup #3 id-python di Kampus ITB

Sabtu 28 Januari 2012, id-python mengadakan meetup #3 di Gd. Benny Subianto (Labtek V), Institut Teknologi Bandung.  Acara dimulai dengan perkenalan antar peserta meetup. Dan diskusi ringan/sharing antar peserta meetup mengenai pengalaman masing-masing Python. Misalnya:


  • Bagaimana peluang kerja bagi programmer Python? Saat ini semakin banyak perusahaan yang menggunakan Python untuk produk ataupun projek internal perusahaan. Beberapa perusahaan yang disebutkan: OpenERP (ERP berbasiskan Python) kini telah memiliki 5 partner implementor di Indonesia, EBDesk sedang mengembangkan produk yang menggunakan Python, Indowebster sedang mengembangkan ERP menggunakan OpenERP, Insan Infonesia menggunakan Python untuk parsing dan analisa file log.
  • Bagaimana penerapan MVC dalam menggunakan microframework Bottle? Belum terjawab jelas. (Mas Peb, tolong dijawab ya :) )
Selanjutnya acara dilanjutkan dengan presentasi mengenai "Python untuk Pemrosesan Teks dalam Bahasa Indonesia" serta demo singkat menggunakan microframework Bottle (file presentasi menyusul ya!)


Kira-kira jam 12, datang gerombolan dari Jakarta yang dikomandoi Gilang Chandra. Diminta push up karena telat, tapi mereka nggak mau. Instirahat sebentar.

Setelah istirahat, Gilang memberikan presentasi mengenai "Django meet MongoDB" alias menggunakan MongoDB sebagai basis data aplikasi yang dibangun menggunakan Django (file presentasi menyusul juga!)

Setelah presentasi, dilanjutkan lagi dengan sharing mengenai id-python: website yang baru, milis id-python. Juga  sharing apa yang diharapkan dan diperlukan oleh anggota id-python khususnya bagi yang baru mengenal Python. Beberpa usulan:
  • Website id-python menampilkan info lowongan pekerjaan buat programmer Python
  • Meetup-meetup berikutnya disertai dengan kesempatan untuk melakukan coding bersama antar peserta meetup. Beberapa topik yang diajukan:
  • Meetup diadakan tiap bulan, bergantian di Jakarta dan Bandung. Meetup berikutnya direncanakan akhir Februari di Jakarta.
Acara ditutup dengan foto-foto bersama (sebagai bukti bahwa meetup bukan hoax dan benar sudah dilangsungkan). 



Terima kasih khusus buat Peb Aryan telah menyediakan ruang serta konsumsi untuk meetup ini. Sampai berjumpa di meetup #4!

Jumat, 27 Januari 2012

Besok, id-python meetup #3!

Besok, id-python meetup #3!

Ruang Rapat Lt. 2,
Gd. Benny Subianto (Labtek V), Institut Teknologi Bandung
Jalan Ganesa 10 Bandung 40132
Hari/Tanggal : Sabtu, 28 Januari 2012
Waktu: 10.00 - selesai

Beberapa topik yang akan dipresentasikan :

1. Python for Android (oleh Gilang Chandrasa)
2. Indonesian Natural Language Processing with Python (Peb R. Aryan)
3. ... (masih terbuka kesempatan bagi yang ingin berbagi pengalaman dalam
menggunakan python)


Sampai berjumpa besok pagi!

Selasa, 24 Januari 2012

Profil: PT L7 Systems


Posting ini merupakan bagian dari posting yang menampilkan profil pengguna Python di Indonesia.

PT L7 Systems adalah perusahaan penyedia jasa teknologi informasi untuk Industri Komunikasi seperti Telkomsel dan Indosat.

PT L7 Systems menggunakan Python untuk pembuatan aplikasi untuk pemantauan kerja mesin pengering kayu.  Demikian penuturan dari Bapak Irsyad Lubis dari PT L7 Systems
Sebenarnya kantor kami tidak pakai Python awalnya. Kebetulan waktu itu
ada proyek untuk pengerjaan mesin pengering kayu. Kantor kami kebagian
buat kontrolernya. Kita punya produk hardware namanya Mote (Semacam
alat data akusisi jarak jauh). Si Mote ini yang membaca data dari
sensor dan mengirimkannya ke server. Di server kita pantau datanya.
Untuk proyek ini, si mote ini juga difungsikan untuk mengontrol si
mesin.
Kebetulan waktu itu saya lagi iseng. Saya ingin tahu pergerakan naik
turun temperatur, tekanan, kelambaban, dan moisturenya seperti apa
dalam bentuk grafik. Maka saya buatlah aplikasi menggunakan python
untuk membaca file log yang dihasilkan dan menampilkannya dalam bentuk
grafik bergerak.
Saya menggunakan matplotlib untuk urusan grafiknya. Untuk mengetahui
setiap ada perubahan di file lognya, saya pake Pyinotify (hanya ada di
linux) sehingga saya tidak perlu melakukan looping yang ujung-ujungnya
hemat resource.
Ternyata si bos senang dengan hasilnya. Ditambah lagi, si klien pernah
lihat dan suka dengan hasilnya. Jadinya, waktu itu si bos minta
programnya dibuat lengkap menjadi sebuah produk untuk klien tersebut
(rencana awal hanya mengandalkan si mote itu).
Untuk urusan GUI, saya selalu bisa mengandalkan Qt. Kebetulan PySide
waktu itu sudah bisa stabil jadi bisa dipakai di lingkungan komersil.
Aplikasinya tidak lagi membaca dari file log tapi langsung berhubungan
dengan mote melalui gelombang radio. Interface receiver gelombang
radionya menggunakan port serial sehingga PySerial cocok untuk
digunakan. Untuk konfigurasi, saya percayakan kepada SQLite. Karena
lingkungan data akusisi mengharuskan pengolahan data yang sangat
besar, saya memakai PyTables yang menggunakan format penyimpanan data
HDF5.
Hasilnya, aplikasi tersebut dipakai di dua mesin tanpa ada masalah.
Sampai saat ini sudah berjalan lebih kurang setahun. Pengerjaannya
sangat cepat. Hanya sekitar dua minggu untuk menyelesaikan semua fitur
yang sesuai dengan rencana awal. Tentu saja pada prakteknya waktunya
lebih lama dari itu dengan permintaan penambahan fitur ini itu oleh
klien.
Pelajaran yang bisa diambil dari proyek ini adalah Python sangat bagus
untuk urusan pengolahan data. Fasilitas yang disediakan sangat
menunjang. Apalagi dengan disediakannya list, tuple, dan dictionary
sebagai bagian dari bahasa itu sendiri.
Setelah proyek itu, si bos jadi percaya sama Python untuk membuat
aplikasi dengan cepat. Buktinya, untuk membuat aplikasi konfigurasi
mote di komputer, si bos minta teman saya buat dengan menggunkaan
Python.
Selain itu juga, ada beberapa lagi proyek yang menggunakan Python di
kantor kami.
Beberapa screenshot aplikasi buatan PT L7 Systems 



Senin, 23 Januari 2012

PYTHON: Instalasi cx_Oracle di Linux 64bit

Bingung meng-Compile cx_Oracle, salah satu library yang di gunakan oleh python untuk melakukan koneksi ke Oracle database, di linux 64bit? Sekedar berbagi pengalaman saya yang sempat kewalahan. Begini selengkapnya, saya sedang men-Develop sebuah web-app dengan Turbogears 2.1.4 dengan menggunakan sqlAlchemy sebagai ORM. Kebetulan database yang saya gunakan adalah Oracle maka akhir nya mendapatkan cx_Oracle dalam bentuk source code. Berhubung "how-to" untuk 64bit linux tidak dapat saya temukan. Maka saya coba untuk melakukan kompilasi seperti biasa yang saya lakukan dalam lingkungan Linux, hasil kompilasi ok. Tetapi ketika library hendak di gunakan langsung muncul error

" Wrong lcntsh -ELF32..." *) kira2 seperti ini error nya, karena lupa untuk snapshot error message nya secara lengkap.

Setelah saya coba perlahan-lahan mencari tahu apa nya yang salah. Ternyata python yang terinstall dalam Fedora 14 64bit saya adalah yg 64bit, Oracle-XE yang terinstall adalah 32-bit, dan library Oracle-client 32bit. Problem nya adalah di Oracle-client nya, ketika saya ganti dengan client yang versi 64bit. Woolaahh, sqlAlchemy dapat terkoneksi ke Oracle secara sempurna!

Langkah-langkah selengkap nya adalah sebagai berikut:

1. Download cx_oracle source code di sini
2. Download oracle instant client 64 bit basic & devel dari website oracle.com atau di sini
3. Unzip Oracle Instant Client basic and devel zip file
4. Do
    $ export ORACLE_HOME=~/Downloads/instant_clientxx/
    $ export LD_LIBRARY_PATH=$ORACLE_HOME
    *) Penting untuk diketahui path ORACLE_HOME di arahkan ke direktori
        di mana Oracle instant client di extract
5. cd $ORACLE_HOME
    $ ln -s libclntsh.so.10.1 libclntsh.so
    $ ln -s libocci.so.10.1 libocci.so
6. Kembali ke direktori di mana cx_oracle di extract lalu eksekusi perintah ini
    $ python setup.py build
7. Jika semua nya lancar maka cx_oracle.so akan tergenerasi sempurna, cara
    mengetahui nya adalah eksekusi perintah
    # updatedb
    $ locate cx_oracle.so
8. Dan yang terakhir adalah
    $ python setup.py install

Have fun!

5 hari lagi! id-python Meetup #3

Tinggal 5 hari lagi, ayo pada daftar!

meetup ketiga akan diselenggarakan di

Ruang Rapat Lt. 2,
Gd. Benny Subianto (Labtek V), Institut Teknologi Bandung
Jalan Ganesa 10 Bandung 40132
Hari/Tanggal : Sabtu, 28 Januari 2012
Waktu: 9.00 - selesai

Beberapa topik yang akan dipresentasikan :

1. Python for Android (oleh Gilang Chandrasa)
2. Indonesian Natural Language Processing with Python (Peb R. Aryan)
3. ... (masih terbuka kesempatan bagi yang ingin berbagi pengalaman dalam
menggunakan python)

Pendaftaran dapat dilakukan online (gratis) di alamat :

https://docs.google.com/spreadsheet/viewform?formkey=dHNJNGhLWnpSLTZ3WU5hRnF0TFp6SGc6MQ

Tersedia snack untuk sekitar 30 peserta pertama yang hadir.

Minggu, 22 Januari 2012

6 hari lagi! id-python Meetup

id-python meetup #3 tinggal 6 hari lagi. Mohon kesediaan rekan-rekan yang berencana hadir untuk melengkapi form registrasi.

Sekedar mengingatkan:

Meetup akan diadakan 28 Januari 2012 bertempat di:
Ruang Rapat Lt. 2,
Gd. Benny Subianto (Labtek V), Institut Teknologi Bandung
Jalan Ganesa 10 Bandung 40132
Waktu: 9.00 - selesai

Sabtu, 21 Januari 2012

Profil: Owo Sugiana (RAB)

Posting ini merupakan bagian dari rangkaian posting mengenai profil pengguna Python di Indonesia

Di Indonesia, Python sudah digunakan untuk mengembangkan aplikasi komersial. Salah satu perusahaan yang menggunakan Python untuk mengembangkan aplikasi-aplikasi komersial di antara: RAB Linux Indonesia. Demikian penuturan Owo Sugiana, dari RAB, mengenai penggunaan Python dalam bisnis RAB.
Baiklah, dimulai dari tahun 1999 saat RS Pertamina Jaya membutuhkan solusi
desktop di Linux. Akhirnya digunakanlah wxPython dan PostgreSQL. Sistem
yang dibangun dikategorikan sebagai ERP dan cukup mercusuar dimana dokter
memasukkan data keluhan pasien, saran, hingga resep. Suatu terobosan yang
berani yang dilakukan oleh direktur rumah sakit waktu itu. Ini bukan lagi
tentang IT. Yah, dokter mana yang mau mengetikkan resep ? Konon aplikasi
itu masih berjalan hingga sekarang.
Python berlanjut ke billing warnet (http://rab.co.id/warnet) yang telah
menginjak versi 5. Aplikasi ini merupakan desktop dengan 3 tier. Billing
menggunakan teknik firewall (iptables). Client windows beruntung, karena
juga disediakan rilis untuknya (exe).
RAB mulai memantapkan Python untuk aplikasi non web. Tahun 2004 berlanjut
ke sistem pengisian pulsa, namun masih menggunakan PHP untuk web admin.
Untuk transaksi menggunakan jalur XMLRPC antara PHP (client) dan Python
(server). Sedangkan report dan lainnya masih menggunakan teknik query
langsung ke database. Produk ini bertahan hingga sekarang.
Teknik yang sama juga digunakan untuk pembuatan SPP online, yaitu tagihan
dan pembayaran uang sekolah, mulai dari Kelompok Bermain hingga SMA. Ada 9
server sekolah dan 1 server yayasan. Python selain sebagai billing server,
juga merupakan synchronizer data. Sayangnya masih menggunakan PHP untuk
adminnya, entah kenapa :)
Tahun 2011 merupakan tahun "penemuan" untuk mengembangkan aplikasi web
dengan Python, yaitu Django. Hal yang mungkin sudah lama digunakan oleh
para peserta milis ini. Pemicunya adalah sebuah proyek yang pelanggannya
telah memiliki aplikasi di Google Apps, dan kami diminta untuk melakukan
upgrade karena developer sebelumnya punya kesibukan lain. Penelusuran
menunjukkan pustaka Google Apps berasal dari Django, namun bukan Django.
Ini mengganggu buat saya pribadi karena bisa-bisa hidup mati dengan Google.
Akhirnya ditemukanlah django-non-rel yang kompatibel dengan Google Apps.
Sejak itu saya selalu menggiring proyek web yang baru ke arah Django.