State Design Pattern dengan Strategy Design Pattern sebenarnya agak-agak mirip. Tingkat kompleksitasnya juga rendah sama seperti Strategy Pattern sehingga cenderung lebih gampang dipahami, walaupun ga sepopuler Strategy Pattern. State Design Pattern adalah Design Pattern yang termasuk ke dalam behavioral pattern yang dapat mengubah behaviornya ketika internal…
Kali ini gw akan mengupas tuntas tentang Strategy Pattern, yang sebenarnya sudah umum digunakan oleh software engineer. Barangkali masih ada yang bingung sama design pattern yang satu ini. Tingkat kompleksitasnya cukup rendah, sehingga seharusnya gampang dipahami asalkan punya basic OOP yang baik. Strategy Pattern adalah Design Pattern yang termasuk ke dalam…
Beberapa postingan terakhir gw lebih sering post tulisan di luar coding karena berbagai hal, termasuk salah satunya lagi berduka sejak ditinggal nenek😥. Sekarang gw mulai mencoba menulis tentang codingan lagi🙂. Seperti kita ketahui, pada Java terdapat beberapa inteface Collection seperti Set, List dan Map. Pada Java 8 ke bawah, Collection tersebut biasanya…
Kuliah itu penting ga sih buat kerja? Pertanyaan semacam ini sering ditanyain sama yang baru lulus SMA/SMK yang masih mencari jati diri. Termasuk yang ingin menjadi software engineer. Ga bisa dipungkiri, jaman sekarang semua informasi serba terbuka, termasuk mencari materi pelajaran. Di google semua jenis informasi tersedia, baik yang gratis maupun yang berbayar…
Big O Notation biasa digunakan untuk menghitung kompleksitas algoritma. Dalam pemrograman, ini sering dijadikan pedoman sebelum membuat keputusan pendekatan algoritma yang akan dipakai. Big O notation sendiri adalah tingkat kompleksitas operasi dari algoritma terhadap jumlah elemen yang diproses secara linear. Terdapat 2 jenis kompleksitas, yaitu space dan time…
Sejak Java 8 dirilis, gw mulai jarang menggunakan API java.util.Date dan java.util.Calendar karena Java 8 telah mengadopsi Date/Time API dari JodaTime yang memiliki kode fitur JSR-310. API ini mengatasi berbagai permasalahan dari API lama. Meskipun ini dirilis beberapa tahun lalu berbarengan dengan rilisnya Java 8, masih banyak mungkin yang belum kenal atau belum…
Materi tentang composition atau inheritance biasanya sudah diajarkan sejak kuliah. Tapi seringkali kita hanya sekedar tahu tapi masih bingung tentang best practice-nya gimana. Artikel tentang "dahulukan composition dibandingkan inheritance" sudah sering didiskusikan seperti pada buku-buku tentang design patterns atau tulisan-tulisan dari Martin Fowler, Joshua…
Setelah laptop kantor gw mati total untuk kedua kalinya, laptop gw diganti. Gw mulai mencoba trial & error terhadap beberapa OS. Yang jadi pertimbangan gw adalah: Support Wayland atau ada fitur gesture tanpa harus di-install manual karena gw udah terbiasa dengan fitur ini di Windows 10 dan bikin gw lebih produktif buat pindah-pindah workspace; Bisa custom…
Pada Java 8 terdapat Functional Interface yang dapat digunakan sebagai Lambda. Namun mayoritas Functional Interface tersebut by default tidak melakukan throws Exception. Ini cukup ribet kalau kita memanggil method yang throws checked exception pada scope Lambda pada umumnya. Contohnya kita ingin melakukan looping String yang berisi path sebuah text menggunakan…
Sebenarnya contoh penggunaannya udah pernah gw bikin pada post tentang Single Responsibility dan Open-Close Principle, nah sekarang penjelasannya. Prinsip yang satu ini mungkin udah pada familiar. Terutama bagi yang menggunakan Spring framework pasti sudah tidak asing lagi. Prinsip ini merupakan implementasi dari Inversion of Control. Dengan Dependency Injection…