Kopdar Python Indonesia, April 2013

Tanggal 27 April lalu saya berkesempatan menghadiri Kopdar Python Indonesia di Gedung Detik.com, Jalan Warung Buncit, Jakarta. Zaki Akhmad mengundang saya untuk berbagi pengalaman penggunaan Python dan tentang situs web Python.or.id.

Wah, komunitas apa, Python Indonesia, ini? Paguyuban pawang ular? Bukan, Python adalah bahasa pemrograman aras atas (high level language) dalam bentuk skrip dijalankan sebagai interpreter. Python tersedia di banyak platform populer untuk komputer pribadi, termasuk bawaan yang terpasang di keluarga Linux; dan relatif mudah dipasang di OS X di Mac dan Keluarga Windows. Tampil mencolok dengan gaya necis, Python disukai karena membawa tradisi penulisan kode yang mudah dibaca lewat indentasi yang populer, sekaligus bahan kritik oleh sebagian kalangan yang merasa spasi tidak patut untuk dijadikan bagian dari penulisan kode. Perdebatan dapat menjadi sengit, namun akhir-akhir ini kian disadari kurang bermanfaat membanggakan pilihan pribadi dengan sikap berlebih.

Seingat saya komunitas Python pernah mencoba bertemu langsung (yang diharapkan akan rutin saat itu) lewat inisiatif di PT INTI, Bandung, empat tahun lalu, terkait acara komunitas Ruby Indonesia. (Yang terakhir ini juga bukan paguyuban penjaja batu akik). Setelah itu kegiatan terasa lebih sepi, dibanding komunitas PHP yang semarak di milis misalnya, sampai dengan saya baca beberapa tulisan Zaki Akhmad tentang Python dan pertemuan kecil hingga berlanjut menjadi “kopdar” (“kopi darat”, istilah yang dipopulerkan oleh pengguna radio amatir 1980-an).

Pertemuan April lalu bagian dari acara dua-bulanan Python Indonesia, dalam hal ini diramaikan oleh teman-teman dari sekitar Jabodetabek. Lewat pengantar, Zaki mengajak siapapun yang terkait Python — pengembang, pengguna, penggiat, hingga penggembira — untuk datang dan berbagi. Dalam pertemuan seperti ini, tidak hanya dibicarakan pemrograman, melainkan juga aspek sosial seperti kegiatan komunitas. Untuk bulan April, tiga topik yang diangkat: penggunaan Python untuk eksploitasi keamanan sistem dibawakan oleh Tom Gregory, kisah-kisah komunitas oleh saya, dan alat bantu penugasan (task) dan antrean (queue) oleh Selwin Ong.

Dari sekitar 20 hadirin, hanya Zaki Akhmad dan Ahmad Sofyan yang sudah saya kenal dari acara-acara komunitas sebelumnya. Berarti hal bagus karena “ular masih mendesis”, demikian komentar Ahmad Sofyan di Facebook, dan dengan kelanjutan yang prospektif. Tom Gregory membuka paparan pertama dengan penjelasan tentang kemudahan penggunaan Python untuk membantu peretasan (hacking) ke bagian dalam sistem lewat modus lama yang masih populer, buffer overflow. Dari beberapa skrip yang ditunjukkan, saya lihat relatif sederhana dari sisi pemrograman Python; bukan karena saya sudah mahir, melainkan karena konsep besar yang diangkat Tom tentang otak-atik stack interaksi sistem operasi dan aplikasi perlu pemahaman yang lebih tinggi. Secara umum eksploitasi dilakukan dengan “menggenangi” tajuk (header) subrutin, sehingga alur eksekusi terganggu atau dibelokkan dan aplikasi lumpuh. Tom dengan fasih menjelaskan struktur tempat penyerangan di aplikasi, semacam tata-letak aplikasi yang kerap dijumpai di penjelasan bahasa pemrograman aras bawah seperti Assembly.

Tom Is Ready to Exploit Buffers

Python memang disukai sebagai “manajer tugas”, yaitu bagian aplikasi penampung parameter yang diperlukan dan kemudian dilanjutkan dengan dieksekusi oleh modul lain yang lebih cocok. Antarmuka Python ke modul berbasis C dapat dijadikan contoh. Dalam kasus yang ditampilkan Tom, konsep eksekusi berbasis pengetahuan akses aras bawah, sedangkan parameter dan “bagian besar”-nya ditulis di atas Python. Bahasa berbasis interpreter disukai dalam hal ini: tak perlu kompilasi, ubah-langsung-jalankan.

Saya sendiri membawakan topik “bersenang-senang”: pemakaian Python untuk pengajaran pemrograman dan beberapa cerita pendek kelangsungan di komunitas, khususnya di milis id-python, yang sejak awal menjadi forum untuk komunitas Python di Indonesia. Terbetik juga dalam pikiran saya untuk menghidupkan aktivitas pemrograman di ranah komunitas untuk Bandung. Seharusnya menyenangkan dapat menyelenggarakan diskusi pemrograman secara bebas, di lingkungan pemrogram, dan juga sosialisasi lebih luas untuk publik, tertutama segmen yang diharapkan mendapat keuntungan dari pengetahuan pemrograman. Baru terpikir, belum mulai bergerak.

Bagian terakhir tentang RQ: Job Queue oleh Selwin Ong. RQ adalah pustaka pengelola tugas dan antrean dan disebut oleh Selwin sebagai, pustaka mudah-pakai yang sedang kami kembangkan. Didemonstrasikan pemanggilan modul dan penggunannya yang cukup lewat statemen baris per baris di interpreter Python, RQ mendapat pertanyaan antusias dari hadirin, terkait proses pendefinisian tugas, mekanisme antrean, dan menjadi tanya-jawab di seputar mekanisme “notifikasi” keberhasilan/kegagalan suatu tugas. Selwin menjelaskan dengan baik bagian yang sudah dikerjakan, yang masih berstatus “feature usulan”, dan juga hal-hal yang menjadi batasan atau “solusi tsb. tidak disukai”. Hal-hal seperti ini menjadi latihan yang bagus untuk pengembang dalam karir berikutnya menjadi pengambil keputusan pada proyek yang dikembangkan. Dengan atmosfer perangkat lunak bebas sekarang — ditambah alat bantu pendukung yang praktis digunakan — latihan pengambilan keputusan oleh pengembang dapat dilakukan berupa interaksi langsung dengan pengguna.

Selwin Explaining Jobs and Queue

Kopdar ditutup dengan diskusi bebas yang hangat. Kabarnya ini Kopdar dengan peserta lebih banyak daripada sebelumnya; semoga saja dapat awet dilakukan setiap dua bulan, waktu yang cukup untuk acara seperti ini.

Kopdar Python ID April 2013

Selamat untuk panitia dan semua yang telah berkontribusi.

Catatan:
Kelengkapan rangkai salindia diperoleh dari tulisan Zaki Akhmad untuk Python.or.id.

2 Comments

  1. kalau ada acara kopdar python indonesia lagi bagi bagi info dong saya mau ikutan nih terutama di jakarta ya.

  2. Wah, ada komunitasnya. Baru tau.

Comments are closed.