Imperatif Deklaratif


Ada dua cara sistem bekerja, yaitu imperatif dan deklaratif. Deklaratif adalah tentang apa yang ingin dicapai (hasil akhirnya), sementara imperatif adalah soal bagaimana sesuatu tersebut dicapai (prosesnya). Kalimat 'I want tea on the table at 9am' adalah kalimat deklaratif, sementara 'go to the kitchen at 8.45, take mug and tea and sugar, then put in hot water' adalah kalimat imperatif.

Kalimat deklaratif berguna pada sistem yang sudah tahu bagaimana menerjemahkan input menjadi output. Jadi kita sebagai pengguna tahu jadi saja, yang penting bisa kasih input dengan benar. Masalah bagaimana proses di antaranya itu bukan urusan kita. Sementara itu pada imperatif tugas kita adalah menyebutkan proses-proses apa saja yang diperlukan menuju ke output yang diinginkan. Deklaratif dan imperatif tidak untuk dibandingkan mana yang lebih baik, dua-duanya ada best practice-nya sendiri-sendiri.

Sebenarnya imperatif dan deklaratif ini adalah terminologi yang sudah banyak dikenal di bidang software engineering. Tapi karena saya tidak secara native belajar itu, saya juga baru tahu dua istilah tersebut belum lama ini. Dalam beberapa kasus kita tentu pernah mengamalkan dua pendekatan ini, hanya saja tidak tahu kalau ada sebutannya. Bahkan bukan hanya pada urusan pekerjaan, hidup sehari-hari pun butuh dua-duanya.

Memesan makanan di restoran itu deklaratif karena kita cukup menyebut menu apa yang kita mau. Kita tidak perlu memberi tahu bagaimana cara masaknya karena yang bertugas untuk itu sudah pasti lebih tahu. Kalau kita mencoba imperatif pada tempat yang tidak seharusnya, minimal kita jadi nyebai dan sok tahu, maksimal malah merusak hasil akhirnya. Sebaliknya pada lingkungan yang imperatif, kita tidak sebaiknya bersikap deklaratif. Sejelas-jelasnya input, kalau sistemnya belum tahu bagaimana cara memprosesnya ya nggak akan jadi apa-apa.


Kemampuan menentukan kapan harus imperatif dan kapan harus deklaratif adalah skill. Mungkin itu salah satu unsur yang terbangun dari terkumpulnya pengalaman. Tapi menurut saya orang bisa punya kecenderungan ke salah satu antara imperatif dan deklaratif. Natural leader bisa jadi punya bias ke deklaratif karena dia bagus dalam memberikan command. Tapi baiknya ia ditemani orang yang tahu bagaimana sesuatu bekerja, alias imperatif. Duet Steve Jobs dan Steve Wozniak yang mendirikan Apple adalah contoh yang bagus menurut saya. Jobs adalah man of vision dan marketing genius (declarative), sementara Wozniak adalah inventor dan computer wizard (imperative). Berapa banyak ide brilian yang tidak terjadi karena tidak ada yang bisa mewujudkannya? Berapa banyak penemuan yang tidak jadi apa-apa karena tidak ada yang membesarkannya? Let's collab.


Chandra

0 comments :

Post a Comment