Pengantar Ilmu Rekayasa Perangkat Lunak [Deskripsi, fungsi, dan Ruang Lingkup]

Rekayasa Perangkat Lunak – Belum lama ini, mimin menonton sebuah vlog seorang youtuber berdarah minang yang berada di amerika. Mimin tertarik dan menonton video tersebut, ya durasinya kurang lebih 15 menitan lah…

Hal menariknya adalah youtuber tersebut bukan sekedar berada di amerika karena sebuah jalan-jalan. Dia sedang membuat video blog nya bersama seorang anak indonesia juga yang saat ini bekerja dikantor mesin pencari dan penjelajah terbesar saat ini.

Kalian tahu yang saya maksud kan?, yup… Google, mereka berbincang banyak hal didalam video tersebut.

Mulai dari latar belakang pendidikan mereka masing-masing, sama berdarah minang dan anak indonesia. Sampai keluarga, budaya, perbedaan antara budaya indonesia dan amerika, dan banyak lagi.

Di antara percakapan yang panjang itu mimin tertarik akan satu hal, yaitu ketika salah satu dari mereka mengatakan tentang RPL.

Mimin penasaran rekayasa peangkat lunak itu apa dan bagaimana sih?, kalian juga kan?. Simak yuk artikel berikut!!!

Pengertiaan Rekayasa Perangkat Lunak

rekayasa perangkat lunak
pxhere.com

Rekayasa Perangkat Lunak Menurut Wikipedia

Menurut Wikipedia, rekayasa perangkat lunak merupakan salah satu bidang profesi yang membahas cara-cara pengembangan software, termasuk pembuatan, pemeliharaan, manajemen organisasi dan pengembanganan aplikasi serta manajemen kualitas.

Pengertian RPL Menurut IEEE Computer Society

Rekayasa perangkat lunak sebagai penerapan adalah suatu pendekatan yang sistematis, disiplin dan terkuantifikasi dari segi pengembangan, penggunaan dan pemeliharaan aplikasi. Serta studi tentang suatu pendekatan-pendekatan barkaitan dengan hal tersebut, yaitu penerapan pendekatan engineering atas aplikasi.

Rekayasa Perangkat Lunak ialah pengubahan perangkat lunak itu sendiri dengan tujuan untuk mengembangkan, memelihara, dan membangun kembali.

Kata rekayasa sendiri adalah sebuah prinsip untuk menghasilkan aplikasi yang dapat bekerja lebih efisien dan efektif untuk pengguna.

Jadi dapat kita simpulkan bahwa Rekayasa Perangkat lunak adalah sebuah usaha untuk mengembangkan sebuah perangkat yang jauh lebih berguna dan lebih efisien.

Hmmm menarik juga ya, pantas aja semakin hari semakin semuanya serba mudah, baik itu di sektor rumah tangga, kantor ataupun dari segi transportasi.

selanjutnya adalah tujuan dilakukannya sebuah rekayasa perangkat lunak.

Tujuan Rekayasa Perangkat Lunak

tujuan rp;
pxhere.com

Secara lebih khusus maka kita dapat menyatakan tujuan dan Rekaya Perangkat Lunak ini adalah:

1. Memperoleh biaya produksi pembuatan aplikasi yang lebih rendah.

Tujuan dilakukannya sebuah pekerjaan serius adalah agar mampu menghasilkan sebuah hal yang lebih ketimbang hal yang kemarin.

Begitu pula tujuan dilakukannya RPL ini, diharapkan mampu membuat tehnologi yang mumpuni tapi dengan budget yang lebih murah.

2. Menghasilkan pereangkat lunak yang memiliki kinerjanya tinggi, andal dan tepat waktu

Semua perusahaan tehnologi saat ini sangat memperhatikan kinerja dari barang yang mereka perdagangkan, maka dari itu kinerja menjadi nilai jual yang jauh lebih diperhatikan. RPL sangatlah berguna dalam hal ini.

3. Menghasilkan aplikasi yang mampu bekerja pada berbagai jenis platform

Terlepas dari era televisi dan komputer tabung, semua komputer saat ini sepertinya dibuat dalam berbagai bentuk dan versi.

Sebuah kemajuan yang sangat signifikan bagaimana mereka membuat sebuah komputer bisa dibawa kemana-mana tanpa sebuah CPU besar, dan mampu bekerja dalam berbagai platform.

4. Menghasilkan software yang memiliki biaya perawatan jauh lebih rendah

Semakin canggih atau maju sebuah tehnologi maka semakin cepat pula ia akan menghisap segala sesuatu yang ada dikantong anda.

Bagaimana tidak sebuah tehnologi canggih memiliki biaya perawatan yang sangat tinggi dalam menjaga keawetannya, namun Rekayasa perangkat lunak dimaksudkan agar sebuah biaya perawatan sebuah gadget bisa lebih rendah tahun ke tahun.

Kriteria Dalam Melakukan Rerekayasa Perangkat Lunak

Dalam proses pengembangan sebuah aplikasi, setiap engineer harus memahami kriteria-kriteria utama dalam proses pembuatan sebuah aplikasi.

Berikut beberapa kriteria umum yang harus dipenuhi dalam pengembangan sebuah projek rekayasa perangakt lunak yang ideal:

  1. Mampu terus dirawat dan dipelihara (maintainability)
  2. Dapat mengikuti perkembangan teknologi dari tahun ke tahun (dependability)
  3. Dapat memenuhi keinginan pengguna (robust).
  4. Efektif dan efisien ketika menggunakan energi dan penggunaannya.
  5. Mampu memenuhi kebutuhan yang diinginkan (usability).

Kriteria-kriteria diatas, haruslah dapat dipenuhi oleh para pengembang. Sebab, apalah arti sebuah penelitian seperti ini.

Ketika mereka tak mampu memenuhi kriteria-kriteria yang telah menjadi tolak ukur berhasilnya sebuah pembuatan aplikasi.

Maka dari itu kriteria adalah sebuah hal yang tak boleh anda kesampingkan sedikit pun.

Ruang Lingkup Rekayasa Perangkat Lunak

ruang lingkup rekayasa perangkat lunak
pxhere.com

Rekayasa perangkat lunak merupakan sebuah proses pembuatan sebuah aplikasi yang mencakupi banyak ruang lingkup. Berikut beberapa ruang lingkup RPL:

A. Software Requiremets

Software Requirements memiliki mencakup mengenai hal-hal beruap spesifikasi kebutuhan dan persyaratan pengembangan software.

Requirement adalah wujud dari layanan dan batasan bagi system yang akan dibangun. Atau requirement adalah sebuah pernyataan atau gambaran pelayanan yang disediakan di dalam system.

Batasan – batasan dari system dan dapat juga berupa sebuah definisi matematis fungsi – fungsi sistem.

Tujuan utama dari Software Requirement Specification (SRS) adalah untuk menjembatani kesenjangan komunikasi antara klien dan pengembang, agar mereka dapat memiliki visi bersama tentang aplikasi yang akan dibangun.

Berikut beberapa keuntungan utama dari SRS yang baik :

  • SRS menentukan dasar kesepatakan antara Pengguna dan Pengembang Jadi, melalui SRS, klien secara jelas menggambarkan apa yang diharapkan dari pengembang.
  • SRS menyediakan referensi agar validasi produk akhir SRS bisa membantu klien menentukan seperti apakah software yang memenuhi persyaratan.
  • SRS yang tidak tepat akan membuat klien kebingungan menentukan apakah perangkat yang disampaikan adalah apa yang diperintahkan.

Tidak ada cara pengembang dapat meyakinkan klien bahwa semua persyaratan telah dipenuhi selain memenuhi dan membuat Srs yang tepat dan baik.

B. Software Design

Software Design adalah ruang lingkup software design yang mencakup proses penampilan arsitektur, antar muka, komponen, serta karakteristik lain dari software.

RPL pada lingkup ini akan sangat membantu bagi anda yang mempunyai ketertarikan di bidang desain grafis.

Membuat logo, memanipulasi foto, membuat poster, banner, dll. Kamu bisa belajar melalui buku atau internet.

Langkah pertama untuk memulai belajar tentang desain grafis adalah dengan mengetahui software yang sering digunakan.

Ada banyak jenis software yang mudah, menarik, dan pas dengan kebutuhan kamu.
Berikut beberapa macam software desain grafis yang biasa dipakai :

1. Adobe Photoshop
Ini adalah jenis software yang biasanya digunakan untuk memanipulasi foto, mengedit gambar, dll. Software ini memilik fitur yang lengkap yang akan memudahkan kamu dalam menghasilkan karya yang sesuai.

2. Adobe Illustrator
Software ini mampu memberikan hasil dalam bentuk ilustrasi seperti vektor.
Vektor juga dapat berguna untuk membuat logo, karakter animasi, kartu nama, brosur, dll. Ada beberapa karya yang dibuat dari hasil Adobe Illustrator , yaitu : Watemark, Desain logo, Banner, Spanduk, Ilustrasi, dan tabel.

3. CorelDraw
Software ini terkesan mempunyai tampilan yang lebih mudah untuk dipelajari dalam pengerjaan desain. Bisa juga digunakan untuk pembuatan logo, kartu nama. kalender, banner, dll.

CorelDraw merupakan salah satu software yang sudah banyak dikenal dan digunakan oleh para desainer grafis.

CorelDraw memiliki kelebihan yakni mudah untuk diedit, mengatur kontras, pengaturan keseimbangan warna, dan mengubah warna dari RGB ke CMYK. Atau sebaliknya.

C. Software Construction

pembuatan perangkat lunak
pxhere.com

Software construction merupakan bagian yang berhubungan dengan detail pengembangan aplikasi, termasuk didalamny adalah algoritma, pengkodean, pengujian dan pencarian kesalahan.

Untuk pemahaman secara umum, kata konstruksi mengacu pada proses membangun. Agar lebih jelasnya kita analogikan seperti dalam proses pengembangan sebuah gedung, konstruksi adalah pekerjaan yang dilakukan oleh tukang bangunan/pekerja bangunan.

Sedangkan dalam perspektif aplikasi, konstruksi adalah kebanyakan proses coding dan debugging namun juga melibatkan detailed design, construction planning, unit testing, integration, integration testing dan aktivitas-aktivitas lain.

Selain itu, konstruksi software construction adalah pusat dari pengembangan aplikasi itu sendiri.

Tahapan sebelumnya, rekayasa kebutuhan dan arsitektur umum dilakukan agar pengembang dapat melakukan konstruksi secara efektif.

Tahapan setelah konstruksi, dilakukan untuk memeriksa dan emastikan apakah konstruksi yang dilakukan sudah dilakukan dengan benar. Dalam proses pengembangan software apapun, bagian konstruksi tidak bisa anda skip begitu saja.

D. Software Testing

Software testing adalah step selanjutnya yang meliputi pengujian terhadap perilaku aplikasi secara keseluruhan.

Process software testing adalah sebuah process yang sangat penting dalam dunia pengembangan aplikasi. kenapa?

karena dengan menerapkan process ini dalam alur pengembangan software maka kita bisa menjamin kualitas dari software yang kita buat (setidaknya dalam hal pemenuhan functional requirement).

process software testing sendiri ada beberapa proses berdasarkan dari apa yanng saya pelajari dan dapatkan dari teman-teman saya setidaknya ada 3 jenis testing yang dapat kita lakukan yaitu: Unit Testing, Integration Testing dan User Acceptance Testing (UAT).

E. Software Maintenance

Software manintenance merupakan tahapan selanjutnya yang meliputi upaya-upaya perawatan serta perbaikan ketika aplikasi sudah berjalan atau dioperasikan.

Saat kita menggunakan sebuah hardware, kita perlu mengeluarkan biaya maupun effort untuk melakukan perawatan entah karena usang atau ada beberapa perangkatnya yang rusak.

Berbeda dengan software, dia ngga akan usang atau rusak. Tapi, software akan selalu berubah setelah versi pertamanya selesai. Nah, inilah yang dinamakan maintenance dalam software.

4 Jenis Maintenance Software:

Corrective maintenance, ini kita lakukan saat sebuah bug ditemukan pada sistem dan kita harus melakukan perbaikan.

  • Adaptive maintenance, ketika sistem yang telah kita buat harus mengyesuaikan perubahan pada environment dimana sistem tersebut berjalan. Misalnya, saat kita membuat sebuah aplikasi Android, kita harus melakukan maintenance ketika versi Android di upgrade, sehingga aplikasi kita tetap compatible.
  • Perfective maintenance, saat pengguna sistem atau stakeholder merubah requirement dari sistem yang telah kita bangun.
  • Preventive maintenance, saat kita hendak meningkatkan kualitas sistem yang kita bangun atau hendak mengatasi sebuah bug sebelum bug tersebut terjadi.

F. Software Configuration Management

Manajenen konfigurasi software adalah step yang berhubungan dengan langkah-langkah perubahan konfigurasi software dalam rangka memenuhi kebutuhan tertentu.

Pernahkan anda melakukan sebuah update aplikasi atau software di playstore atau baik pada smartphone ataupun pada komputer?

Tahukah anda, bahwa sebenarnya dibalik sebuah aplikasi yang berubah-ubah ada sebuah sub disiplin ilmu dalam Software Engineering yang disebut Sofware Configuration Management (SCM).

Anda mungkin saja pengguna aplikasi, terlihat mudah saja mengupdate software bahkan sampai sering bosan melakukannya.

namun ternyata proses dibalik itu penuh pertimbangan dan dikontrol dengan sangat baik untuk memastikan kualitas software tetap baik.

SCM membahas disiplin dan teknik menginisiasi dan memulai, mengevaluasi, dan mengendalikan perubahan pada produk perangkat lunak selama dan setelah proses pengembangan aplikasi.

G. Software Engineering Management

manajemen rpl
pxhere.com

Bagian ini berkaitan dengan pengelolaan dan pengukuran RPL, yang termasuk didalamnya adalah proses perencanaan proyek perangkat lunak.

Manajemen RPL bisa kita gambarkan secara sederhana sebagai posisi manajemen dalam industri software.

Banyak orang mungkin berpikir untuk menulis program komputer dan kode ketika mereka berpikir tentang pengembangan software, tetapi bidangnya mencakup lebih banyak, mulai dari tahap desain, pengujian, pemeliharaan, adaptasi, hingga penjualan produk jadi.

Manajemen keseluruhan dari semua kegiatan ini sangat penting untuk memastikan kesuksesan produk. Ini juga merupakan bentuk manajemen yang unik dan dapat berbeda dari mengelola proyek perangkat keras.

Spesialisasi dalam bidang pengembangan software akan memastikan bahwa manajer yang efisien akan selalu membutuhkan.

H. Software Engineering Tools and Methods

Merupakan kegiatan kajian teoritis tentang alat bantu yang dibutuhkan serta metode RPL yang akan digunakan.

Demikian perihal tentang ruang lingkup rekayasa perangkat lunak

Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain

pembahasan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin dengan bidang ilmu lain.

Bukan hanya sub bidang dalam disiplin ilmu komputer namun dengan beberapa disiplin ilmu lain diluar ilmu komputer.

  • Dalam Bidang ilmu manajemen meliputi akuntansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia, kebijakan, dan strategi bisnis.
  • Dalam Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis numerik, dan matematika diskrit.
  • Dalam Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.

Kesimpulan

Setelah semua pembahasan diatas kami akan menjelaskan sedikit proses perjalanan anda sebagai seorang software engineer. Dalam beberapa hal sebuah jalur karier seperti ini bisa membelok tajam dari jalur pengembang software.

Meskipun membutuhkan akar ketika rekayasa perangkat lunak atau teknologi informasi, seorang software engineer akan membantu mengarahkan tim engineer di setiap langkah dalam proses pengembangan.

Mereka perlu terorganisir, terampil mengelola orang, dan harus memungkinkan mereka yang menulis kode untuk melakukan pekerjaan mereka dengan paling efisien.

Mereka harus bisa bertanggung jawab atas proses perekrutan, presentasi pelanggan, menghadiri konferensi, menangani perjalanan, dan detail manajemen lainnya.

Jika Anda telah bekerja di bidang pengembangan aplikasi tetapi ingin beralih ke manajemen atau jika Anda mempelajari teknik perangkat lunak dan berpikir bahwa kepribadian dan gaya kerja Anda mungkin lebih cocok untuk manajemen dan organisasi.Ini adalah sebuah jalur karier yang hebat bagi Anda.

Pengetahuan Anda dalam menulis kode diperlukan dan bisa mencegah mereka yang hanya memiliki keterampilan manajerial menangani pekerjaan dengan baik.

Jadi Anda pasti perlu belajar ilmu komputer atau pengembangan aplikasi dan mendapatkan gelar dan mendapatkan beberapa pengalaman kerja terlebih dahulu jika Anda belum.

Jika Anda sudah bekerja di lapangan, pertimbangkan mengejar beberapa kursus pendidikan berkelanjutan atau gelar master untuk bisa mendapatkan keterampilan bisnis yang Anda perlukan untuk pekerjaan ini.

Beberapa perguruan tinggi dan universitas akan menawarkan sertifikat atau gelar lanjutan dalam manajemen RPL.

Ini akan menjadi langkah yang baik untuk seorang software engineer yang terampil, dan dirancang untuk memberi mereka pendidikan dalam aspek bisnis software.

Ada juga konferensi internasional yang didedikasikan khusus dibuat untuk manajemen dan aplikasi rekayasa perangkat lunak. Jika Anda mempunyai pengalaman kerja dan gelar sarjana yang diperlukan,

Anda bisa mendaftar ke Master of Science di bidang Teknologi Informasi, dengan fokus pada Manajemen RPL. Beberapa sekolah akan menawarkan gelar Master of Science dalam Manajemen Rekayasa Perangkat Lunak.

Kursus khas dapat mencakup manajemen proyek sistem, analisis bisnis, spesifikasi aplikasi, pengujian aplikasi, dan manajemen proyek aplikasi terapan.

Seiring perkembangan zaman digital, efisiensi biaya dan kontrol kualitas hanya akan menjadi lebih penting, dan spesialisasi lebih lanjut dalam bidang pengembangan software akan memastikan bahwa manajer yang efisien akan selalu membutuhkan.

Menjalankan proyek dengan sukses mulai dari tahap pra-desain hingga pengujian dan penyebaran produk akhir dapat terbukti sangat memuaskan, dan menjadi pemimpin dalam industri perangkat lunak juga bisa terbukti bermanfaat secara finansial.

Leave a Comment