Apa itu Infrastructure as Code? Infrastructure as Code, atau sering disingkat IaC, adalah praktik di dunia IT yang mengelola infrastruktur dengan menggunakan kode, layaknya menulis program. Tujuannya adalah supaya tim developer atau tim operasional bisa secara otomatis mengatur, memantau, dan menyediakan resource tanpa harus mengkonfigurasi hardware, OS, aplikasi, dan layanan secara manual. Kadang IaC juga […]
Category: Software development
system testing
Apa itu System Testing? System testing, juga dikenal dengan istilah system-level testing atau system integration testing, adalah proses pengujian di mana tim quality assurance (QA) mengevaluasi bagaimana berbagai komponen aplikasi berinteraksi satu sama lain dalam sistem atau aplikasi yang sudah terintegrasi penuh. System testing bertujuan untuk memverifikasi apakah aplikasi dapat menjalankan tugas-tugasnya sesuai dengan yang […]
regression testing
Apa itu Regression Testing? Regression testing adalah jenis pengujian perangkat lunak yang bertujuan untuk memastikan apakah perubahan pada aplikasi atau komponen software terkait menimbulkan bug atau gangguan baru. Seorang engineer di bidang quality assurance (QA) biasanya yang bertugas melakukan pengujian ini, guna mengecek apakah modifikasi pada kode mengganggu fungsi aplikasi atau efisiensi penggunaannya terhadap sumber […]
CQRS (command query responsibility segregation)
Apa itu CQRS (Command Query Responsibility Segregation)? CQRS (Command Query Responsibility Segregation) adalah pola desain dan arsitektur pemrograman yang memisahkan proses pengambilan data (query) dan perubahan data (command). Pola ini menggunakan command handler untuk menyederhanakan proses query dan menyembunyikan kompleksitas perubahan data yang bisa melibatkan banyak sistem. Saat digabungkan dengan pola event sourcing, CQRS bisa […]
fail fast
Apa itu Fail Fast? Fail fast adalah sebuah filosofi dalam pengembangan produk dan perangkat lunak yang menekankan pentingnya pengujian secara menyeluruh dan pengembangan secara bertahap (incremental) untuk menilai apakah suatu ide punya nilai atau tidak. Tujuan utama dari pendekatan ini adalah untuk mengurangi kerugian dengan segera berhenti ketika ide atau fitur yang diuji ternyata tidak […]
reactive programming
Apa itu Reactive Programming? Reactive programming adalah paradigma pemrograman yang berfokus pada bagaimana sebuah sistem merespons perubahan data dan event (kejadian), bukan menunggu input secara konvensional. Konsep utamanya adalah menangani data dan event secara asynchronous, sehingga aplikasi bisa tetap responsif meskipun sedang melakukan tugas berat. Dalam konteks komputasi, event bisa berarti aksi pengguna atau sistem […]
Kotlin
Apa itu Kotlin? Kotlin adalah bahasa pemrograman berorientasi objek yang menggunakan tipe statis dan dapat berjalan bersama Java Virtual Machine (JVM), pustaka kelas Java (Class Libraries), serta sistem Android. Bahasa pemrograman Kotlin awalnya dikembangkan sebagai solusi untuk meningkatkan bahasa Java. Karena itu, Kotlin sering digunakan bareng Java dalam berbagai proyek. Walaupun sekarang Kotlin jadi bahasa […]
Inovasi Digital
Apa itu inovasi digital? Inovasi digital adalah adopsi teknologi digital modern oleh sebuah bisnis. Proses ini diterapkan sebagai rencana strategis untuk organisasi agar dapat meningkatkan proses bisnis. Inovasi digital juga meningkatkan pengalaman pelanggan dan kinerja, serta dapat digunakan untuk menciptakan model bisnis baru. Tujuan dari inovasi digital adalah untuk menggunakan teknologi baru guna meningkatkan proses […]
Jenkins
Jenkins adalah sebuah perangkat lunak otomatisasi open source yang digunakan dalam proses continuous integration dan continuous delivery/deployment (CI/CD). Alat ini termasuk bagian dari ekosistem DevOps dan ditulis menggunakan bahasa pemrograman Java. Jenkins berfungsi untuk mengimplementasikan alur kerja CI/CD yang dikenal dengan istilah pipeline. Pipeline CI/CD ini berfungsi untuk mengotomatisasi proses pengujian dan pelaporan terhadap perubahan-perubahan […]
smoke testing
Apa itu Smoke Testing? Smoke testing, atau dikenal juga sebagai build verification testing atau confidence testing, adalah metode pengujian perangkat lunak yang dilakukan untuk memastikan apakah build baru siap masuk ke tahap pengujian selanjutnya. Tujuan utama dari metode ini adalah memastikan fungsi-fungsi krusial dalam software berjalan dengan baik, tanpa masuk ke detail yang lebih dalam. […]