,

Tiket.com Tuan Rumah Meetup Komunitas Functional Programming

Secara tradisional, bisnis biasa melakukan proses analisis berdasarkan data yang dihasilkan oleh proses bisnis itu sendiri seperti data inventaris, transaksi dan umpan-balik dari pengguna/pelanggan yang tersimpan dalam sistem basis data terstruktur/konvesional (data warehouse). Bisnis mengambil kemanfaat dengan proses yang kita kenal sebagai business analytics atau ada yang menyebutnya lebih sebagai business intelligence. Serangkaian proses analisis (statistik) dikenakan kepada data untuk mendapatkan pola (pattern) tertentu yang padanya mengindikasikan makna bisnis tertentu yang digunakan sebagai dasar untuk menyusun serangkaian strategi bisnis selanjutnya.

Seiring dengan perjalanan waktu, ketika dunia semakin terkoneksi (terutama via internet) dimana bukan hanya bisnis harus dijalanakan secara global karena cabang (branch) yang tersebar di seluruh penjuru dunia, namun pengguna/pelanggan mereka juga semakin terhubung antar sesamanya. Apabila mereka puas atas suatu produk bisnis (baik berupa barang/jasa), dengan sukarela mereka menyatakan kepuasannya itu di media social seperti Twitter, Facebook dan yang semacamnya. Hal sebaliknya, bila mereka kesal dan kecewa atas suatu produk bisnis, tak segan pula mereka lampiaskan kekesalan dan kekecewaan mereka di dunia maya. Mereka lebih memilih melakukan hal ini daripada melalui media umpan-balik atau customer feedback yang disediakan oleh perusahaan. Data celoteh mereka tentu saja bukanlah data yang terstruktur dengan baik seperti halnya data bisnis konvensional yang telah disinggung di atas. Di samping melalui media sosial, interaksi antara pengguna/pelanggan dengan suatu produk bisnis haruslah juga bisa ditangkap secara diam-diam (seamless) dalam bentuk log yang merupakan semi-structured data yang bila diolah dengan benar bisa menghasilkan nilai bisnis yang sangat penting. Di jaman berlimpah informasi seperti saat ini, pengguna/pelanggan bisnis cenderung malas/enggan memberikan umpan-balik, mereka inigin “dimengerti” kebutuhannya tanpa mereka perlu mengungkapkannya.

Dan semua itu bermuara dengan dihasilkannya data dalam jumlah yang sangat masif/besar (biasanya berukuran terabytes atau lebih), semakin bervariasi/beraneka dan dengan pertumbuhan yang sangat cepat. Data bisnis tidak hanya berupa data yang dihasilkan proses bisnis konvensional semata. Bahwa data transaksi bisnis sebagai bahan penting untuk memang benar, namun tak lagi memadai. Bisnis harus pula memperhitungkan semi-structured dan un-structured data yang telah disebutkan di atas dalam analisis bisnisnya. Data ini kita kenal sebagai big data. Big data analytics diperlukan sebab pengguna/pelanggan suatu produk bisnis ingin dipilihkan informasi yang sesuai dengan kebutuhannya. User distraction menuntut personalisasi informasi, sebentuk informasi yang secara personal memang diinginkan dan dibutuhkan. Di sisi yang lain predictive analytics diperlukan sebagai metode pengambilan keputusan bisnis berbasis algoritma cerdas (machine learning) yang diharapkan tidak hanya berkontribusi besar untuk meningkatkan keuntungan bisnis yang signifikan, namun juga bisa menjamin keberlangsungan bisnis di masa mendatang.

Secara teknis, untuk melakukan proses analisis atas big data, diperlukan proses komputasi terdistribusi (distributed computing). Data dikumpulkan (collected) di penyimpanan (storage) yang terdistribusi di banyak server. Untuk menganalisisnya kita tidak bisa lagi menarik semua data yang besar itu ke satu server lalu kita berlakukan suatu proses analisis. Proses analisis itu haruslah kita distribusikan juga mendatangi data yang akan diproses. Inilah yang kemudian kita kenal sebagai parallel processing. Hasil parallel processing dari masing-masing server atau node yang selanjutnya dikumpulkan di server pengkoordinasi yang selanjutnya bisa kita kenakan aksi (act-on), seperti menampilkan dalam bentuk grafik, file report, menampilkan hasil keputusan algoritma dan lain sebagainya.

Parallel processing menuntut paradigma pemrograman yang atomic, ringan dan tanpa ekses dari luar/eksternal program/algoritma itu sendiri (no side effects). Functional programming (FP) menjawab hal ini dengan baik. Functional programming pada prinsipnya adalah paradigma pemrograman yang menuntut suatu fungsi yang bila padanya dimasukkan suatu masukan/input/argumen, maka dia akan melakukan proses/task/job yang sama bila dilakukan dengan masukan/input/argumen yang berbeda. Jadi fungsi ini akan menghasilkan keluaran/output/result yang tak tergantung pada status program (program state).

Didorong untuk untuk ikut serta berkontribusi dalam perkembangan functional programming di Indonesia dan kebutuhan Tiket.com untuk implementasi big data analytics karena pertumbuhan datanya (internal dan eksternal) yang sudah memasuki ranah big data, maka pada 21 Juni 2014 yang lalu, Tiket.com menyediakan diri sebagai tuan rumah acara meetup Lambda Jakarta yang merupakan komunitas functional programming di Jakarta. Di samping sebagai tuan rumah, Handaru Sakti (R&D Programmer/Data Scientist) dari Tiket.com juga memberikan paparan yang berjudul: “Why Functional Programming is Important in Big Data Era?” Ada pula Asep Bagja (Co-founder at FroyoStory) yang membawakan materi “Graphic Programming in Racket”. Acara berlangsung seru, dinamis dan interaktif walau beberapa saat sebelum acara dimulai, Jakarta diguyur hujan yang lebat. Berikut adalah beberapa foto dari kegiatan para FP enthusiast itu:

image

Gambar 1. Handaru Sakti in Action

image

Gambar 2. Asep Bagja in Action

image

Gambar 3. Photo Session Para Lambdas di Tiket.com

image

Gambar 4. Ramah Tamah sebelum Meetup Dimulai

image

Gambar 5. Suasana Saat Meetup Berlangsung

Jadi, bagi para programmer yang tertarik pada paradigma functional programming, baik yang menggunakan bahasa pemrograman Scala, Haskell, Clojure, F#, Erlang, Go, OCaml, Lisp, Scheme atau yang lainnya, dipersilahkan bergabung dengan komunitas yang secara rutin menyelenggarakan pertemuan sebulan sekali sejak Januari 2014 yang lalu dan beberapa kali menyelenggarakan “mini-meetup” dengan tema spesifik bahasa pemrograman FP tertentu di sini: http://www.meetup.com/Lambda-Jakarta/ Kami tunggu keikutsertaan kalian, Lambdas Indonesia.

[fbcomments]