Secara definisi: Software entities should be open for extension, but closed for modification. Robert C. Martin Disini bisnis logic dibungkus menjadi entitas yang bisa di-extend sebanyak apapun tanpa banyak perubahan di entity utama. Disini benefit dari abstraksi sangat terasa. Open-Close Principle ini bisa diterapkan menggunakan Strategy Pattern dan Factory…
Secara definisi: Single-responsibility principle (SRP) is a computer-programming principle that states that every module, class or function in a computer program should have responsibility over a single part of that program's functionality, which it should encapsulate. Robert C. Martin Kalau di-bahasa-indonesia-kan kurang lebih seperti ini: Single Responsibility…
Gw orangnya introvert banget. Seperti yang pernah gw bahas di postingan lalu, hasil Big Five Test gw aja Extroversion-nya 3% doang. Gw emang ga suka tempat keramaian kalau emang ga penting-penting banget, seperti pasar, bioskop, stadion, tempat konser, dan tempat sejenis lainnya. Waktu kecil aja gw hanya mau ikut diajak ke pasar karena buat beli baju lebaran aja…
Setiap orang berhak punya mimpi. Ga ada salahnya punya mimpi tinggi. Yang penting mimpi bukan sekedar mimpi. Ada visi dibaliknya yang harus dijaga. Ada planning yang jelas untuk menggapainya. Ada usaha yang harus dikerahkan. Ada doa yang dipanjatkan. Tak terkecuali gw, gw juga berhak punya impian setinggi langit. Gw bukan tipe orang yang kalo udah dapat sesuatu…
Mutable Objects ini sebenarnya masih turunan masalah dari Global Variable. Mutable Object adalah objek yang state-nya bisa berubah setelah objeknya dibuat. Sama seperti Global Variables, Mutable Objects memberikan keleluasaan untuk mengganti nilai state-nya kapan saja dan dimana saja yang bisa disalahgunakan. Penyalahgunaan tersebut secara teknis ga bisa dicegah…
Kita sering mendengar bahwa code yang baik adalah yang gampang dibaca, gampang dimengerti, dan gampang dijaga. Object Oriented Programming (OOP) adalah salah satu orientasi pemrograman populer yang dapat memenuhi kriteria tersebut, IMHO. Namun, sebelum OOP booming, orang-orang terlebih dulu menggunakan pendekatan prosedural seperti pada bahasa C. Kebiasaan saat…
Boolean adalah tipe data yang hanya punya dua nilai. True dan False, hanya itu. Pada beberapa bahasa pemrograman atau database nilai True dan False bisa diganti dengan bilangan 1 dan 0. Boolean ini sangat sederhana karena hanya ada 2 kemungkinan tersebut (kecuali Boolean yang dibungkus menjadi NULL atau Undefined pada beberapa bahasa). Saking simple-nya…
DISC adalah tes kepribadian yang paling sering gw temui saat interview kerja. DISC ini parameternya berdasarkan nilai-nilai, keyakinan dan perspektif yang dikembangkan William Moulton Marston. Hasil DISC test gw adalah C (Conscientiousness). Type C sering disebut sebagai analyst. Biasanya Type C bekerja sebagai software engineer, bagian keuangan, analis investasi…
Enneagram merupakan personality test berdasarkan motivasi dasar seseorang. Pertama kali nyoba tes ini saat gw interview kerja. Sejak mengenal MBTI sebenarnya gw udah nemu Enneagram, tapi waktu itu belum nyoba. Hasil tes Enneagram gw adalah Type 5 (The Thinker). Type 5 cenderung memiliki keingintahuan tinggi, tidak bergantung ke orang lain, dan suka meneliti…
MBTI itu personality test dengan 16 personality. Parameternya berdasarkan cognitive function yang dikembangkan Jung, Myers dan Briggs. MBTI merupakan personality test pertama gw yang gw coba saat kuliah, hasilnya gw adalah ISTJ (Introvert, Sensing, Thinking, Judging). Introvert itu tentang cara mendapatkan energi, yaitu dengan menyendiri. Sensing itu tentang cara…