Mrogram

Menulis program bagaikan menulis puisi. Begitu kata Matt, pentolannya WordPress. Sebagaimana menulis baris-baris kode, diperlukan kegairahan tertentu. Tapi selain kegairahan, juga abstraksi. Halah. Ruwet. Imajinasi. Pokoknya kemampuan untuk membayangkan sesuatu yang nggak ada wujudnya.

Antara Hayalan, Imajinasi dan Abstraksi

Kalau menghayal itu seperti menggambar dalam fikiran, segala sesuatu yang terjadi di sekitar yang kenyataannya tidak berhubungan, namun dalam gambar fikiran menjadi berhubungan. Nah imajinasi itu menggambar dalam fikiran, yang sebelumnya nggak ada. Liar dan bebas kemana-mana. Abstraksi, itu seperti imajinasi namun lebih terstruktur dan ikut kaidah-kaidah tertentu. Terikat. Ah itu definisi saya sendiri. Jangan dipercaya.

Lalu kembali ke mrogram. Ini seperti merancang sebuah urutan kerja sehingga menghasilkan sesuatu. Seperti membuat sepeda. Atau membuat jam dinding. Ruwet ya? Memang ngomongin barang nggak keliatan itu agak ruwet. Yang mudah? Mungkin seperti membuat mesin selep (mesin penggiling padi, yang bertugas memilahkan padi menjadi beras dan gabah). Bayangkan Anda duduk di pinggir sawah, melihat padi-padi yang sudah mulai menguning dan siap di panen. Sesekali bolehlah memetik padi yang masih muda. Kalau dikunyah rasanya manis. Kembali lagi ke mesin. Kita punya masalah ini padi harus diolah agar menjadi beras yang siap dijual.

Madzhab Prosedural
Jika Anda penganut madzhab prosedural, maka yang Anda lakukan adalah memisah mesin selep ke dalam tugas-tugas secara berurutan. Kurang lebih mesin selep akan dibagi menjadi:

  1. Mesin awur, yang mengeluarkan padi dan gabah dari batang padi.
  2. Mesin giling, yang memisahkan padi dan gabah.
  3. Mesin keluaran awur, yang mengolah keluaran mesin awur. Batang padi yang sudah tidak ada padinya karena dikeluarkan oleh mesin awur, akan dimasukkan ke dalam mesin keluaran, dan otomatis masuk ke dalam karung batang padi.
  4. Mesin keluaran giling, yang mengolah keluaran mesin giling. Gabah akan dimasukkan ke dalam karung gabah, dan padi akan dimasukkan ke dalam karung padi.

Menurut madzhab prosedural, ke empat mesin di atas dituangkan dalam fungsi. Setiap fungsi, sebagaimana mesin, membutuhkan masukan dan menghasilkan keluaran. Misal mesin awur, membutuhkan masukan batang padi yang baru saja dipanen, dan mengeluarkan gabah padi serta batang padi. Jika dituangkan dalam program kurang lebih begini:

function mesin_awur( batang_padi ){
return [ gabah_padi, batang padi ]
}

Begitu ya? hmm itu tulisan pakai tata bahasa apa ya? Maaf kalau nggak pakai tata bahasa algoritma. Nah begitulah kira-kira. Sehingga Anda sebagai perancang mesin giling dengan madzhab prosedural, kurang lebih punya mesin_awur(), mesin_giling(), mesin_keluaran_awur(), mesin_keluaran_giling(). Kurang lebih begitu.

Madzhab Obyek

Selain madzhab prosedural, dikenal pula madzhab baru yang bernama Madzhab obyek. Menurut aliran ini, setiap tugas harus dipisah-pisah obyeknya. Lalu obyek tersebut harus diidentifikasi apa saja yang dilakukannya. Dalam contoh di atas, mungkin hanya ada 2 obyek, yakni padi dan karung. Kalau dituangkan dalam program kira-kira.

class padi {
function digiling()
function dibelah()
function dimasukinkarung()
}

class karung {
function diisi()
function dipindah()
}

Betul begitu? Setelah saya baca lagi tulisan di atas, sebetulnya nggak genah, saya ini mau nulis apa. Reti ora son?

4 thoughts on “Mrogram”

  1. wah mas, tak pikir ndak nyentuh wordpress, tak pikir cuma : ‘drupal is the music of my coding, my coding oh my coding…’ hehe

    kok ra nyambung, wah bahasane keduwuren nggo aku, nak mentog :
    Ctrl+Alt+Del bae lah 😀

  2. Tuan Sofyan ini sudah menelisik mazhab dalam dunia rumit ini. Kalau saya masih sekedar nulis kode sebisanya, yang penting jalan … 🙂

  3. memang terbukti dahsyat pak aku langsung pr juga setelah ikutan tukaran link ini alexa juga nggk mengecewakan lah pernah menyentuh 84 ribu meski sekarang karena jarang posting jadi 160 lagi

Leave a Reply

Your email address will not be published. Required fields are marked *