Coders let you Coding Using iPad

Dari dulu mencari interpreter atau compiler yang jalan di mobile phone atau gadget. Dulu waktu masih memakai Nokia E51 aku menginstall Python. Tapi codingnya susahnya amit-amit jabang vampire. Ngeselin abis. Apalagi editornya menggunakan semacam notes di E51 yang spacingnya susah dilihat bedanya untuk indentasi (tahu sendiri python kayak apa). Ugh…

Trus kenapa sih coding harus pake gadget? Kenapa gak pake laptop sekalian? Notebook atau gimana gitu? Ya karena mesti keluar duit lagi kan beli laptop mini segala? Nah berhubung sekarang sudah tidak lagi menggunakan Nokia, aku mencari aplikasi yang memungkinkan aku untuk coding. Buat apa? Buat mengasah otak sambil menunggu kereta di stasiun. Adalah situs http://projecteuler.net yang menyediakan soal-soal menantang tentang matematika yang bisa disolve dengan bantuan pemrograman. Akhirnya setelah googling, aku menemukan HandBasic yang free, namun tidak bisa menyimpan code yang dibuat. Setiap kali keluar, hilanglah itu memory. Untuk coding pemula, benar-benar lumayan. Setidaknya anakku Rayyan yang kelas 2 SD sudah bisa coding mencari luas persegipanjang dan  keliling segitiga di atas kereta waktu perjalanan ke Tegal.

Nah, dapat tautan dari jawara Pascal Bee, tentang adanya aplikasi dengan bahasa pemrograman Lua di iPad. Langsung aku beli. Ssebenarnya yang membuatku ingin membelinya adalah bagaimana dengan gadget mobile bisa tetap bikin program biarpun simple, untuk mengatasi rasa haus memecahkan soal di situs macam Euler. Sebagai uji coba, aku pilih problem nomor 53 yang belum pernah aku kerjakan. Soalnya adalah sebagai berikut:

There are exactly ten ways of selecting three from five, 12345:

123, 124, 125, 134, 135, 145, 234, 235, 245, and 345

In combinatorics, we use the notation, 5C3 = 10.

In general,

nCr =
n! /
r!(n−r)!
,where r ≤ n, n! = n×(n−1)××3×2×1, and 0! = 1.

It is not until n = 23, that a value exceeds one-million: 23C10 = 1144066.

How many, not necessarily distinct, values of  nCr, for 1 ≤ n ≤ 100, are greater than one-million?

Nah itulah soal yang harus dipecahkan. Dan dalam sekali hit, alhamdulillah, algoritmanya langsung benar. Memang tidak optimized, misal tidak menggunakan segitiga pascal dsb. Tapi aku justru ingin menguji kemampuan iterasi dan rekursif di iPad dengan aplikasi ini. Jadi aku menggunakan simple brute force dengan sedikit heuristic.

Euler53 solved using Lua
Euler53 solved using Lua

Yang menarik dari aplikasi ini:

  • Untuk soal Euler 53, komputasi sangat cepat
  • Title dan description program dibuat sangat jelas
  • Panduan lumayan membantu, namun untuk beberapa kasus tetap membutuhkan googling untuk mencari informasi tertentu, misal kata kunci local untuk recursive function
  • Bisa coding di mana saja tanpa perlu laptop atau notebook
  • Berguna dan mudah dipakai oleh pemula

Yang kurang atau bisa ditingkatkan:

  • Help yang lebih lengkap
  • Fungsi-fungsi eksternal dengan library yang lebih lengkap, syukur-syukur bisa mengakses API iPad
  • Editor yang lebih canggih (code completion, dsb)
  • Penjelasan dan panduan ketika error

Hasilnya adalah:

Hasil Euler 53
Hasil Euler 53

Jadi buat kamu-kamu yang emang doyan coding di mana saja, Coders merupakan aplikasi di iPad yang sangat layak untuk dimiliki.