KSP Season 12 Ep 2:
Patterns and Practices in Software Development and Microservices
Fotografer: Michelle Annabelle
Penulis: Michelle Annabelle
Menjadi salah satu program ISTTS yang sukses, KSP kembali mengadakan webinar secara online. Pada season 12 episode 2, tepatnya pada hari Kamis, 17 Februari 2022, KSP mengangkat tema Pattern and Practices in Software Development and Microservices yang dibawakan dengan luar biasa oleh pembicara Andi Sumarto. Beliau merupakan alumni Informatika ISTTS pada tahun 1994. Selain itu, Beliau juga merupakan Senior Software Engineer at Loan Market Group Pty Ltd Melbourne, Australia.
Ada beberapa konsep yang dijelaskan oleh Kak Andika beserta dengan demo code , yaitu :
- OOP / Object Oriented Programming
Metode pemrograman yang berorientasi pada objek. Pilar -pilarnya berupa Object and Classes, Abstractions, Encapsulation, Inheritance, Polymorphism.
- Cohesion and Coupling
Cohesion adalah ketergantungan antar modul satu dengan modul lainnya, sementara coupling adalah keterikatan fungsi-fungsi di dalam suatu modul. Program yang baik adalah program yang menganut konsep high cohesion dan low coupling.
- Technical Debt
Sebuah “hutang” yang muncul ketika developer lebih mementingkan sebuah program ini rilis dengan cepat daripada menyempurnakan isi code-nya.
- Monolithic dan Microservices Software
Dua konsep ini diyakini akan memberikan soulsi dalam membangun program yang lebih efisien. Monolithic adalah sebuah aplikasi yang berisi keseluruhan code yang dikompilasi menjadi 1. Kebutuhan akan komunikasi kepada program atau layanan bisa jadi tidak ada. Sementara microservices berbeda, microservices membagi layanan menjadi bagian yang lebih kecil.
Semakin kompleks sebuah program, maka biaya yang dibutuhkan monolithic lebih besar daripada microservices. Selain itu, pada monolithic dimana satu server melayani semua layanan, maka update pada sebuah aplikasi juga berimbas pada seluruh program dan juga komunikasi antar modul juga sulit karena berada dalam server yang sama. Sebaliknya, menggunakan konsep microservices, program dapat lebih secure dan reliable. Karena setiap layanan memiliki infrastruktur sendiri, maka program dapat lebih mudah dibuat tanpa memikirkan hubungan antar modul. Meskipun komunikasi antar modul mudah, tapi juga ada kemungkinan kegagalan yang terjadi, jadi developer harus selalu mempersiapkan cara untuk meng-handlenya. Sifat dari microservices membuat konsep ini merupakan pilihan yang tepat bila program memiliki skala yang besar, sementara monolithic lebih tepat untuk penggunaan program dengan skala yang lebih kecil.
“One Difference between a smart programmer and a professional programmer is that the professional understands that clarity is king. Professionals use their powers for good and write code that others can understand”
- Robert C. Martin.
Quote ini menyatakan dan merangkap webinar ini dengan menjelaskan bahwa programmer yang professional adalah seorang programmer yang code nya dipahami dan memiliki struktur yang baik. Terima kasih Kak Andika! Semoga ilmu yang telah dibagikan dapat dimanfaatkan dengan baik bagi seluruh peserta baik internal maupun eksternal ISTTS.