• Home
  • Berita
  • Software Engineering adalah? apa itu engineering software 100% mudah

Software Engineering adalah? apa itu engineering software 100% mudah

Oleh Ayoni Sulthon
No ratings yet.

Di era teknologi saat ini tentu saja kebutuhan tentang komputer dan perangkat komputer semakin banyak jenisnya. Termasuk juga tentang software, lalu apakan yang dinamakan software enginering? Simak ulasan lengkap dan detailnya

Apa itu Software Engineering?

Software engineering adalah bagian dari ilmu komputer dan informatika, yang mempelajari tentang pengembangan dan pembangunan software, sistem komputer atau software aplikasi. Aplikasi yang dibuat dapat dari sistem operasi Android, IOS, Windows, Mac OS ataupun linux.

Menurut Wikipedia, Software Engineering adalah profesi yang khusus mendalami cara pembuatan, pengembangan, pemeliharaan dan manajemen kualitas software.

software engineer

Software engineering mempelajari banyak bahasa pemrograman, dalam mengembangkan software ada beberapa bahasa pemrograman yang dipakai untuk membuatan software, diantaranya adalah bahasa C, C++, Java, PHP, Html, CSS, Pyton, Visual basic dan masih banyak lagi.

Dalam pengembangan software enginering ada tiga komponen utama, yaitu  hardware engineering , software engineering dan jaringan komputer, semuanya saling berhubungan, namun ketiganya memiliki tujuan yang berbeda.

Hardware engineering adalah orang yang fokus pada proses pengembangan perangkat keras komputer, contoh produknya adalah processor, kartu grafis atau VGA, Mouse game, mother board dan masih banyak lagi.

Jaringan komputer adalah orang yang mempelajari cara membangun sebuah jaringan dan topografi jaringan. Contohnya : membangun Jaringan LAN, WAN, RTRW net dan masih banyak lagi.

Sedangkan Software engineering adalah orang yang mempelajari prinsip-prinsip dan cara pengembangan software atau perangkat lunak. Berbeda dengan programer biasa, software engineering bekerja untuk membuat aplikasi yang lebih besar dan kompleks. Biasanya, software enginer membangun aplikasi yang dipakai untuk keperluan bisnis dan organisasi besar.

Memahami Software Engineering

Dalam proses pembuatan software, seorang software engineering akan melaksanakan pendekatan teknologi secara sistematis, terstruktur dan disiplin dengan cara merekayasa perangkat lunak.

Untuk itu tidak hanya dibutuhkan ketelitian pengoperasian semata, namun lebih kepada bagaimana sebuah ssofware bisa bekerja sesuai dengan harapan dan kebutuhan penggunanya.

Berbeda dengan hardware engineeing, sebab hardware dibuat di pabrik, sedangkan software dibangun berdasarkan algoritma pemrograman.

Software yang sudah berjalan juga tidak bisa aus seperti hardware, namun peluang untuk di update sangat sering. Sehingga, software lebih membutuhkan maintanance dan update berkala.

apa itu software engineering

Metode-Metode Software Engineer

Saat ini metode yang dipakai oleh software engineering ada lima jenis, yaitu metode sekuensial linier, RAD, prototipe, spiral dan 4GT. Dari ke lima metode ini, model 4GT memiliki kelebihan dari segi waktu. Cuma, ada kekurangan yang sangat vital, yaitu alat bantunya, hanya bisa dipakai oleh aplikasi tertentu saja.

Software Development Lifecycle (SDLC)

Sebelum membahas 5 elemen diatas, Anda wajib mengetahui apa itu SDLC terlebih dahulu. SDLC adalah tahapan pembuatan software guna bertujuan untuk mengembangkan software yang akan di bangun, yaitu komunikasi, pengumpulang kebutuhan, studi kelayakan, sistem analisa, desain software, integrasi, implementasi dan disposisi. Bahasa pemrograman dan testing dilakukan diawal.

Untuk membuat sebuah perangkat lunak, hal hal yang paling perlu diperhatikan adalah langkah – langkah penting dari perencanaan, pengembangan (coding dan testing) dan pemeliharaan (maintenance)

Jika Anda tertarik dengan dunia software engineering, berikut ini adalah cabang karir yang paling banyak di cari oleh perusahaan, antara lain :

  1. Application Development

Skill yang paling dibutuhkan untuk berkarir sebagai Application Development adalah skill problem-solving, pemahaman alur algoritma pemrograman, logika matematika dan memahami bahasa pemprograman

Bahasa pempograman yang harus dikuasai adalah Java dan C# dan phyton.

  1. System Development

Skill yang paling dibutuhkan untuk berkarir sebagai System Development adalah kemampuan desain , algoritma dan pemrograman. Sebab skill ini berfungsi untuk mensuport devisi application development.

Bahasa pemograman yang harus dikuasai adalah C dan C++ dan Java.

  1. Web Development

Skill yang paling dibutuhkan untuk berkarir sebagai Web Development adalah melakukan design web atau aplikasi berbasis web yang akan dijalankan web browser, Web Development itu sendiri biasanya dibagi menjadi 2 bagian. Yaitu bagian Front End dan bagian Back End.

Bagian front end adalah bagian yang fokus pada tampilan website, skill yang wajib dikuasai adalah desain layout, bootstrap, CSS dan PHP.

Bagian back end adalah bagian yang khusus menangani sistem yang berjalan dibalik tampilan luar website, contohnya sistem pembayaran pada sebuah website toko online, sistem keamanan pada sebuah website. Skill yang wajib dikuasai oleh back end adalah PHP, Java Script, Framework seperti Laravel atau Code Igniter, Database, server, integrasi API dan pengaturan keamanan website.

  1. Embedded System Development

Skill yang paling dibutuhkan untuk berkarir sebagai Embedded System Development yaitu melakukan design software untuk digunakan pada perangkat non-komputer, seperti mobil, TV, android, IOS.

Bahasa pemograman yang harus dikuasai adalah seperti C++, Swift dan gabungan bahasa lainnya.

 

engineering software

Elemen Software Engineering

Dalam pembuatan software, software engineering memiliki 3 elemen kunci utama, yaitu:

  1. Metode

Menurut Wikipedia, metode (berasal dari Bahasa Yunani: methodos) secara harfiah berarti pengejaran pengetahuan, penyelidikan, cara penuntutan penyelidikan, atau sistem semacam itu. Pada saat ini metode berarti proses yang ditentukan untuk menyelesaikan tugas.

Dalam software engineering terdapat langkah-langkah dalam pengaplikasian metode, diantaranya adalah

  • Perencanaan program dan estimasi waktu pelaksanaan proyek
  • Analisis kebutuhan sistem dan kebutuhan perangkat lunak
  • Membuat struktur data
  • Membuat arsitektur program yang akan dibuat
  • Proses algoritma yang dipakai
  • Pembuatan bahasa pemprograman (coding)
  • Testing program
  • Pemeliharaan program (maintanance)
  1. Peralatan

Peralatan disini adalah peralatan yang berupa software, software-software ini memiliki fungsi yang berbeda-beda yaitu berguna untuk memberikan suport, contohnya:

  • CASE yaitu software yang berfungsi untuk menghubungkan antara software, hardware dan database
  • Database yaitu suatu tempat untuk menaruh struktur data yang isinya berupa informasi penting tentang program.
  • CAD (Computer Aided Design) yaitu suatu software untuk menggambar suatu produk atau bagian dari suatu produk, bisa berupa gambar 2Dimensi atau 3Dimensi
  • CAE (Computer Aided Engineering) yaitu penggunaan software komputer untuk membantu tugas analisis teknik, seperti fluida komputasi.
  • CAM (Computer Aided Manufacturing) yaitu penggunaan software komputer untuk mengontrol alat dan mesin yang berhubungan dengan proses permesinan.
  1. Prosedur

Dalam pembuatan software tentunya sofware engineering memiliki prosedur khusus untuk membuat software, berikut ini adalah prosedur yang paling sering digunakan. Yaitu:

  • Pengurutan metode yang digunakan
  • Pembuatan dokumen, formulir dan laporan yang dipakai
  • Quality control software
  • Melakukan koordinasi perubahan pada software

Model Pengembangan Software Engineering

Pada proses pengebangan software (Software Development Process) maka para engineering harus menerapkan struktur yang baik dan terurut, yang bertujuan untuk mensukseskan pembuatan software dengan cara melewati tahap-tahap tertentu.

Dalam pengembangan software ada beberapa model yang paling sering dipakai, diantaranya adalah

  1. Metode Waterfall

Model sekuensial linier atau biasa dikenal dengan model waterfall, model ini adalah model paling umum dipakai jika dibandingkan model lain karena paling lama ditemukan.

Sistem waterfall ini memakai pendekatan pengembangan software yang sistematik dan sekuensial (berurutan) dimulai dari tahapan pertama yaitu tahap analisis kebutuhan, desain sistem, coding, pengujian dan penerapan program.

Model waterfall ini cocok dipakai ketika semuanya elemen sudah jelas dan sudah terstruktur dengan baik, karena jika belum atau ada satu proses belum lengkap maka proses selanjutnya tidak bisa berjalan dengan baik, sehingga target waktu bisa molor.

  1. Model Prototype

Model prototype merupakan metode pemutakhiran dari metode waterfall, prosesnya lebih gampang dan cocok untuk diaplikasikan. Cuma ada 3 alur kerja dalam model prototype, yaitu:

  • Mendengar dari kebutuhan konsumen
  • Build prototype/mock-up
  • Presentasi kepada konsumen

Setelah melakukan presentasi kepada konsumen, maka akan ada feedback baru dari konsumen. Jika sudah di update maka proses akan diulang kembali sampai konsumen benar-benar puas, hal ini ditulis dalam buku The lean Startup.

  1. Model RAD (Rapid Application Development)

Rapid Application Development adalah model pengembangan software secara linear yang sangat pendek hanya sekitar 60-90 hari. Model RAD ini mengadopsi kecepatan dengan pendekatan konstruksi berbasis komponen.

Perlu diketahui bahwa metode RAD ini lebih efektif jika dibandingkan dengan model waterfall karena cocok untuk keperluan sistem yang mendesak. Kekurangan dari metode RAD adalah tidak semua perangkat lunak cocok mangaplikasikan RAD, apalahi sistem yang memiliki resiko tinggi dan membutuhkan tenaga kerja yang sangat banyak.

  1. Model Incremental

Metode Incremental adalah gabungan dari beberapa elemen waterfall yang diaplikasikan secara berulang dengan model prototype. Element ini terus dikerjakan sampai menghasilkan sebuah sistem yang diperlukan oleh user.

Kelebihan dari metode incremental adalah team bisa bekerja dengan optimal dan bisa mengakomodir kebutuhan perusahaan yang fleksibel.

Konsumen bisa memakai sistem terlebih dahulu (prototipe) yang sudah jadi sambil menunggu fitur yang belum tersedia.

  1. Model Spiral

Metode spiral ini menggabungkan tiga model sebelumnya yaitu prototyping dengan perulangan dan model waterfall. Model spiral atau biasa disebut dengan Spiral Boehm memproses dengan beberapa tahapan diantaranya:

  • Liaison yaitu tahap untuk melakukan komunikasi langsung dengan user.
  • Planning yaitu menentukan siapa yang akan memberi informasi, kapan batasan waktu dan informasi detail tentang proyek yang akan dibuat.
  • Analisis resiko yaitu mencari semua peluang resiko yang akan terjadi.
  • Rekayasa yaitu proses dalam pembuatan prototype.
  • Konstruksi dan pelepasan yaitu tahap selanjutnya dari pembuatan prototype selanjutnya akan dilakukan pengujian, proses instalasi dan pemberian feedback untuk keberhasilan sistem.
  • Evaluasi yaitu menerima feedback terhadap proyek yang sudah dijalankan.

Kekurangan dari sistem spiral ini yaitu membutuhkan waktu yang lama dan cost atau uang yang besar.

Namun memiliki kelebihan yaitu mengetahui sangat detail resiko dan permasalahan yang akan muncul, sehingga bisa dipakai untuk pembuatan sistem dengan skala yang lebih besar.

Kesimpulan

Software engineering adalah hal wajib yang harus dipelajari oleh developer sofware. Untuk itu Anda bisa belajar software engineering dari internet dan buku-buku software engineering yang banyak dijual pada toko buku atau e-book. Semoga bermanfaat dan jangan lupa untuk memilih hosting terbaik di Indonesia

 

Ayoni Sulthon

SEO Strategist DomaiNesia, ask me all about SEO and Digital Marketing.

Artikel

Lainnya


Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Pindah Ke DomaiNesia

Tertarik mendapatkan semua fitur layanan DomaiNesia? Dapatkan Diskon Migrasi 25% serta GRATIS biaya migrasi & setup

Ya, Migrasikan layanan Saya!