top of page
bg-grid 1.png

Software Engineering: Dasar, Tujuan, dan Prosesnya

Ketahui pengertian, dasar, tujuan, dan proses software engineering di sini!

software-engineer

Hasna Latifatunnisa

Mau Belajar

software-engineer

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Software engineering terdiri dari dua kata, yaitu software dan engineering.

Software adalah kumpulan program yang terintegrasi. Sementara engineering merupakan penerapan ilmu berbasis ilmiah untuk merancang, membangun, memelihara, dan meningkatkan proses maupun framework dalam membuat sesuatu.

Artikel ini akan mengupas lebih detail pengertian, dasar-dasar, tujuan, dan proses software engineering.

Pengertian Software Engineering

Dilansir dari Geeks for Geeks, software engineering adalah proses merancang, mengembangkan, menguji, dan memelihara perangkat lunak. Ini adalah pendekatan sistematis yang bertujuan untuk menciptakan perangkat lunak berkualitas, reliable, dan bisa di-maintenance.

Dalam software engineering ada berbagai teknik, tool, dan metodologi. Bidang ini juga menerapkan pendekatan terstruktur untuk mengembangkan perangkat lunak yang bisa meningkatkan efisiensi waktu dan anggaran.

Software engineering merupakan disiplin ilmu yang terus berkembang. Ilmu ini menggabungkan ilmu komputer dan pemecahan masalah strategis menggunakan prinsip-prinsip engineering, kemajuan teknologi, dan bahasa pemrograman.

Dasar-dasar Software Engineering

Dirangkum dari Geeks for Geeks, berikut beberapa prinsip utama software engineering:

  • Modularity: memecah perangkat lunak menjadi komponen yang lebih kecil dan dapat digunakan kembali lalu dikembangkan serta diuji.
  • Reusability: membuat komponen yang dapat digunakan ulang di banyak proyek lain. Komponen ini juga dapat menghemat waktu dan sumber daya.
  • Testing: memverifikasi bahwa software memenuhi persyaratan dan tidak ada bug.
  • Abstraction: menyembunyikan detail komponen dan hanya memperlihatkan fungsionalitas yang diperlukan dari perangkat lunak.
  • Encapsulation: mengumpulkan data dan fungsi suatu objek menjadi satu kesatuan serta mencegah akses langsung dari pihak yang tidak punya kewenangan. 
  • Maintenance: memperbarui dan meningkatkan software secara berkala untuk memperbaiki bug, menambahkan fitur baru, dan memastikan keamanan.
  • Design pattern: memecahkan masalah berulang dalam desain software dengan menyediakan template untuk menyelesaikannya.
  • Continuous integration & deployment: mengintegrasikan perubahan kode secara terus-menerus dan menerapkannya dalam proses produksi.
  • Agile methodologies: menggunakan proses pengembangan iterative dan incremental yang berfokus pada kepuasan pelanggan, kecepatan pengiriman, dan fleksibilitas.

Tujuan Software Engineering

Geeks for Geeks juga menjelaskan tujuan dari software engineering, yaitu:

  • Maintainabilitysoftware harus dapat dikembangkan untuk memenuhi kebutuhan yang terus berubah.
  • Efficiencysoftware tidak boleh menggunakan perangkat komputasi yang boros, seperti memori dan processor cycle.
  • Correctness – produk software harus memenuhi persyaratan yang sudah ditentukan di dokumen software requirements specification (SRS) dan diimplementasikan dengan benar.
  • Reusabilitysoftware memiliki reusability yang baik jika modul produk bisa digunakan kembali untuk mengembangkan produk baru.
  • Testabilitysoftware bisa digunakan untuk menetapkan kriteria pengujian dan mengevaluasi perangkat lunak sesuai dengan kriteria yang sudah ditetapkan.
  • Reliability – berkaitan dengan sejauh mana suatu program bisa melakukan fungsi sesuai keinginan dalam periode waktu yang berubah-ubah.
  • Portabilitysoftware dapat ditransfer dari satu sistem komputer ke lainnya.
  • Adaptabilitysoftware memungkinkan untuk menjalankan sistem sesuai kebutuhan pengguna.
  • Interoperability – kemampuan dua atau lebih functional unit untuk memproses data secara bersamaan.

{{COMPONENT_IDENTIFIER}}

Proses Software Engineering

Ada empat proses utama dari software engineering, antara lain:

#1 Specification

Dalam proses ini, software engineer akan membuat deskripsi terperinci tentang sistem perangkat lunak yang akan dikembangkan. Spesifikasi dibuat sesuai functional dan non-functional requirement

#2 Development

Development adalah proses di mana software engineer mulai melakukan perancangan, pemrograman, pendokumentasian, pengujian, dan perbaikan bug. Pengembangan dilakukan sesuai dengan spesifikasi yang sudah ditentukan.

#3 Validation

Proses validasi berkaitan dengan evaluasi software. Validasi memastikan bahwa software memberikan fungsionalitas yang diperlukan, memenuhi product attribute, dan sesuai dengan keinginan pengguna.

#4 Evolution

Setelah semua proses selesai, pengembangan software tidak berhenti di satu waktu saja. Software engineer perlu memperbaruinya secara berkala untuk memenuhi kebutuhan yang terus berubah. 

Penutup

Software engineering adalah penerapan prinsip-prinsip keteknikan yang digunakan dalam pembuatan perangkat lunak. Penerapan ini berkaitan dengan sistem fisik, desain, pengembangan, pengujian, dan pengelolaan sistem perangkat lunak.

Bidang ini merupakan kombinasi ilmu dan teknik komputer. Output dari proses ini yaitu menghasilkan software untuk semua jenis perangkat, baik komputer hingga mobile app.

bottom of page