Chat via WhatsApp
Kamus Digital Webside.id

Apa Itu Abstraction?

Abstraction adalah konsep rekayasa software yang berkaitan dengan struktur data, pemrograman, arsitektur, pengujian, deployment, atau operasi sistem untuk membangun aplikasi yang dapat dipelihara.

Pengertian Abstraction

Abstraction adalah konsep rekayasa software yang berkaitan dengan struktur data, pemrograman, arsitektur, pengujian, deployment, atau operasi sistem untuk membangun aplikasi yang dapat dipelihara. Secara operasional, Abstraction membantu memberi struktur pada pekerjaan yang berhubungan dengan rekayasa perangkat lunak, arsitektur, testing, deployment, dan operasi, terutama ketika hasil harus dapat diukur dan diulang.

Penerapannya perlu diuji terhadap requirement, code dan dependency. Hasilnya kemudian dapat dinilai melalui lead time, deployment frequency dan defect rate. Jika definisi, data, dan ruang lingkup tidak konsisten, tim mudah mengambil kesimpulan yang terlihat benar tetapi tidak relevan dengan tujuan.

Cara Kerja Abstraction

  1. Untuk Abstraction, tentukan konteks penggunaan Abstraction dan keputusan apa yang perlu dibantu oleh istilah ini.
  2. Identifikasi komponen yang terlibat, misalnya requirement, code, dan source code.
  3. Terapkan pada ruang lingkup yang jelas dan dokumentasikan asumsi agar tim memakai definisi yang sama.
  4. Evaluasi dampaknya menggunakan indikator seperti lead time dan deployment frequency.

Manfaat dan Kegunaan

  • Membantu memisahkan masalah data, proses, teknologi, dan keputusan sehingga perbaikannya lebih tepat sasaran.
  • Memudahkan evaluasi karena perubahan dapat dibandingkan terhadap baseline dan indikator yang disepakati.
  • Membuat hasil Abstraction dapat ditinjau bersama indikator seperti lead time, deployment frequency, dan defect rate.
  • Membuat eksperimen dan perbaikan berikutnya lebih cepat karena pembelajaran sebelumnya terdokumentasi.

Penerapan dalam Bisnis

Tim biasanya membutuhkan Abstraction ketika tim ingin merilis fitur lebih cepat tanpa meningkatkan jumlah bug produksi. Gunakan test suite untuk menyamakan konteks, data, dan keputusan yang akan diambil. Hasilnya dapat ditinjau melalui lead time dan deployment frequency.

Contoh Abstraction

Contohnya, tim perlu memilih trade-off antara performa, kompleksitas, biaya, dan maintainability. Tim mendokumentasikan kondisi awal dalam test suite, menerapkan Abstraction pada ruang lingkup terbatas, lalu membandingkan deployment frequency dengan reliability. Hasil dan alasan perubahan dicatat pada architecture diagram sebelum pendekatan diperluas.

Kesalahan yang Perlu Dihindari

  • Menerapkan Abstraction tanpa menjelaskan tujuan, baseline, dan keputusan apa yang akan dipengaruhi.
  • Menggunakan data yang periodenya, definisinya, atau sumbernya berbeda lalu membandingkannya seolah setara.
  • Mengejar satu metrik sambil mengabaikan kualitas, biaya, pengalaman pengguna, atau risiko.
  • Tidak menyimpan log, baseline, atau catatan perubahan sehingga masalah yang sama sulit ditelusuri.

Pertanyaan yang Sering Diajukan

Apa itu Abstraction?

Abstraction adalah konsep rekayasa software yang berkaitan dengan struktur data, pemrograman, arsitektur, pengujian, deployment, atau operasi sistem untuk membangun aplikasi yang dapat dipelihara.

Apakah Abstraction harus menggunakan tool tertentu?

Tidak selalu. Tool hanya membantu implementasi. Hal yang lebih penting adalah definisi, data, proses, kepemilikan, dan kriteria keberhasilan yang sesuai dengan kebutuhan.

Apa kesalahan umum saat menggunakan Abstraction?

Kesalahan yang sering terjadi adalah menerapkan Abstraction tanpa tujuan dan baseline, mencampur data yang tidak sebanding, serta mengubah terlalu banyak faktor sekaligus.