2 | Konsep Rekayasa Perangkat Lunak

Konsep Rekayasa Perangkat Lunak 


Sebelum menelusuri materi ini, mari kita telusuri kembali dahulu, apa pengertian dari perangkat lunak. 

Terdapat banyak pengertian bagi perangkat lunak dari berbagai ahli, tetapi secara umum, perangkat lunak dapat diartikan sebagai kumpulan dari prosedur, program, dan dokumen data lainnya, yang saling berhubungan satu sama lain yang juga merepresentasikan masalah yang ada di dunia nyata yang juga dikonfigurasikan ke bentuk sebuah aplikasi yang harus dikerjakan komputer.

Tapi secara singkatnya perangkat lunak terdiri dari 3 komponen utama, yakni Program, Data, dan Dokumentasi. Apakah ketiga komponen ini?

Program adalah suatu rancangan desain, kode skema, struktur, maupun bentuk - bentuk yang lainnya yang disusun sesuai dengan alur dari Algoritma yang memiliki tujuan untuk mempermudah suatu permasalahanProgram biasanya datang dalam bentuk tulisan - tulisan kode, dalam bahasa pemrogramman.

Data adalah sekumpulan fakta maupun keterangan yang dibuat menggunakan kata - kata,  simbol, kalimat, angka, dan lain seterusnya. Data ini merupakan komponen yang akan direkam atau menjadi perintah bagi sebuah perangkat lunak.

Dokumentasi adalah proses pemilihan, pengolahan, penyimpanan, dan pengumpulan informasi di bidang pengetahuan. Kegiatan dokumentasi ini merupakan kegiatan untuk menyimpan dan menerima data yang diberikan ke software. 

Setelah mengulas kembali apa itu software, mari kita masuk ke materi utama.


A. Rekayasa Perangkat Lunak (RPL) 


Konsep dasar rekayasa perangkat lunak 

Untuk membahas materi rekayasa perangkat lunak ini, mari kita kupas satu persatu, mengenai apa, siapa, kapan, kenapa, dimana, dan bagaimana, dari materi ini.

a. What (Apa itu rekayasa perangkat lunak)

Rekayasa perangkat lunak atau dapat disingkat sebagai RPL,  memiliki banyak pengertian oleh banyak ahli maupun kelompok. 

RPL secara umum dapat diartikan sebagai pendekatan sistematis terhadap perancangan, analisis, penilaian, pengujian, implementasi, rekayasa ulang, dan pemeliharaan perangkat lunak dengan menggunakan prinsip - prinsip dari rekayasa untuk perangkat lunak. 

RPL ini berupa ilmu, yang digunakan untuk membahas semua aspek dari memproduksi sebuah perangkat lunak, dari awal spesifikasi sistem, hingga pemeliharaan dari sistem yang telah digunakan.

b. Who (Untuk siapa rekayasa perangkat lunak ini ditujukan)

Rekayasa perangkat lunak ini ditujukan untuk orang - orang yang berniat membangun sebuah perangkat lunak, dengan fungsi memberikan arahan tentang bagaimana pembuatan sebuah perangkat lunak itu, harus dilakukan.

c. When (Kapan rekayasa perangkat lunak ini dilaksanakan)

Kegiatan rekayasa perangkat lunak ini dilaksanakan ketika proyek perangkat lunak yang ingin dikembangkan, tidak dapat dilaksanakan hanya dengan cara tradisional, yakni hanya dengan menulis sebuah program saja, tetapi ketika proyeknya memiliki kerumitan, ketidakpastian kebutuhan, dan masalah lain yang membutuhkan pengamatan lebih lanjut untuk membangun perangkat lunak yang dibutuhkan.

d. Where (Dimana rekayasa perangkat lunak ini diimplementasikan)

Kegiatan rekayasa perangkat lunak ini diimplementasikan dan dilaksanakan ketika perangkat lunak yang ingin dikembangkan, sudah masuk ke dalam sekala sedang dan besar. Yang dimaksud dengan sekala sedang dan besar adalah ketika perangkat lunak yang dibutuhkan itu, memiliki tingkat kompleksitas yang tinggi, serta ketika proyeknya meliputi cukup banyak jumlah kebutuhan pengguna perangkat lunak.

e. Why (Kenapa melakukan kegiatan rekayasa perangkat lunak ini)

Kegiatan rekayasa perangkat lunak ini dilaksanakan, karena proyek yang berskala sedang dan besar ini memiliki banyak rentetan tugas, yang tentunya juga menyebabkan lebih banyak personil yang dibutuhkan untuk melakukan kegiatan pembuatan perangkat lunak. Fungsi rekayasa perangkat lunak ini adalah memberi teknik - teknik dalam menjalankan kegiatan pengembangan perangkat lunak ini termasuk dalam pembuatan perangkat lunaknya sendiri maupun dalam manajemen tim pengembang, guna menjadi pekerjaan yang berjalan dengan baik dan lancar, serta menghasilkan perangkat lunak akhir yang berkualitas.

f. How (Bagaimana melakukan rekayasa perangkat lunak)

teknik - teknik yang diterapkan dalam rekayasa perangkat lunak untuk pengembangan perangkat lunak secara garis besar meliputi :

  • Spesifikasi perangkat lunak, yakni tahapan mencari tahu apa saja fitur yang dibutuhkan dalam perangkat lunak yang dikembangkan,
  • Pengembangan perangkat lunak, yakni tahapan dimana perangkat lunak mulai dikembangkan,
  • Validasi perangkat lunak, yakni tahapan pengujian perangkat lunak akan bug, ataupun kesalahan tertentu lainnya dari perangkat lunak,
  • Evolusi perangkat lunak, salah satu tahapan yang sering dilupakan tetapi penting. Tahapan ini yakni tahapan mengadaptasikan perangkat lunak dengan waktu dan zamannya.

Yang diinginkan di akhir proses rekayasa perangkat lunak adalah perangkat lunak yang :
  • Hasil akhir kegiatannya tepat waktu
  • Pembiayaannya tidak keluar anggaran
  • Meningkatkan kinerja 
  • Mengoperasikan prosedur sistem dengan benar


Cakupan rekayasa perangkat lunak

Yang dimaksud dengan cakupan rekayasa perangkat lunak, adalah mengenai bagian - bagian dalam pembangunan sebuah perangkat lunak, yang dibahas di dalam rekayasa perangkat lunak, yakni 

a. Proses 

Rekayasa perangkat lunak mencangkup proses dari mengembangkan dan membangun sebuah perangkat lunak. Yang dimaksud dengan proses ini, adalah semua aspek teknis yang ada dan perlu untuk membangun sebuah perangkat lunak dari tahap awalan (spesifikasi) sampai tahap yang paling akhir (evolusi). 

b. Manajemen 

Manajemen, dalam rekayasa perangkat lunak yakni mengenai pengelolaan (manajemen) yang perlu ketika melakukan pembangunan perangkat lunak, biasanya dalam bentuk proyek perangkat lunak. Hal - hal yang dikelola oleh manajemen dalam rekayasa perangkat lunak meliputi : 

  • Sumber daya manusia
            Manajemen sumber daya manusia adalah kegiatan - kegiatan yang dilakukan, guna                mengarahkan aktivitas organisasi agar mengembangkan, mempertahankan, dan                    menarik tenaga kerja agar menjadi efektif. Hal ini penting untuk mencapai kinerja
            personil yang baik.
  • Resiko
            Manajemen resiko adalah segala kegiatan yang dilakukan, guna meminimalkan                        ataupun mencegah terjadinya resiko dalam sebuah kegiatan.
  • Proses
           Manajemen proses adalah rangkaian aktivitas perencanaan dan pengawasan                          kinerja suatu proses. Dalam hal ini, yakni proses pembangunan perangkat lunak.                      Fungsi dari manajemen proses ini adalah agar kegiatan yang dilakukan, dilaksanakan              dengan tepat, tidak mengalami masalah, dan seefisien mungkin.
  • Biaya

        Tidak sama dengan manajemen keuangan, manajemen biaya adalah sistem yang                 disusun untuk memberikan informasi yang lengkap, yang kemudian akan digunakan oleh         manajemen, guna menjalankan kegiatan operasional, yakni meliputi kegiatan                         mengidentifikasi peluang, penyempurnaan proses dari produksi, perencanaan strategi,            serta untuk membuat keputusan terkait dengan pengadaan serta pemanfaatan sumber            daya yang dibutuhkan oleh perusahaan.

        Proses yang dimaksud di atas, mencangkup anggaran, estimasi, pendanaan,                         pengelolaan, perbandingan antara biaya, pengelolaan, dan perencanaan. Tujuan dari            manajemen biaya ini adalah agar selesainya  kegiatan tepat waktu dan tepat anggaran.

  • Waktu  
        Manajemen waktu adalah cara mengelola dan juga mengalokasikan waktu yang ada             dalam periode waktu tertentu.
  • Procurement
         Manajemen procurement merupakan prosedur dan proses yang terkait dengan upaya 
         perusahaan untuk mendapat suplai bagi kepentingan operasional dari bisnis.                             Procurement ini termasuk pengadaan barang dan juga manusia. Hal ini sangat penting             karena untuk melakukan proyek yang cukup besar, barang dan orang yang dibutuhkan 
         juga semakin banyak.
  • Stakeholder
        Manajemen stakeholder adalah suatu proses untuk memprioritaskan, melibatkan, serta            mengidentifikasi para pemangku kepentingan, selama masa dan ketika proses                         pengembangan perusahaan, tapi dalam hal ini yakni perangkat lunak. Hal ini sangat                penting karena dalam pembuatan perangkat lunak, biayanya bisa menjadi sangat besar 
         sehingga menyebabkan butuhnya investor. Tapi hal ini tidak selalu perlu, karena                    terkadang juga, perusahaan individual memesan akan pembuatan sebuah perangkat                lunak sehingga tidak diperlukannya investor.        
  • Ruang lingkup proyek 
        Manajemen ruang lingkup proyek, yakni mencangkup kegiatan dan langkah - langkah            yang diperlukan untuk memastikan sebuah proyek melakukan segala pekerjaan yang
        diperlukan, dan hanya pekerjaan yang tidak dibutuhkan, demi mencapai kesuksesan 
        proyek. Hal ini menjadi sangat penting untuk menurunkan biaya dan meningkatkan                kinerja sebuah tim, karena bila melakukan pekerjaan yang tidak dibutuhkan, hal ini 
        berpotensial mengganggu proses pengembangan secara keseluruhan dan meningkatkan
        biaya proyek.
  • Kualitas

        Manajemen kualitas yakni proses - proses dan kegiatan yang dilakukan untuk                        memastikan dan mempertahankan kualitas produk akhir, agar selaras dengan ekspetasi         awal.

dan lain seterusnya 

c. Produk

Produk, yakni hasil dari proses rekayasa perangkat lunak, yang telah diimplementasikan untuk membangun perangkat lunak. Produk ini berupa perangkat lunak yang sudah siap digunakan oleh pengguna.

Tujuan rekayasa perangkat lunak 

Ada beberapa tujuan utama dari melakukan rekayasa perangkat lunak, yakni :

  • Agar perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang diinginkan
  • Agar perangkat lunak yang dihasilkan dapat digunakan dengan benar di lingkungan  sebenarnya 
  • Agar perangkat lunak yang dihasilkan dapat memberikan manfaat bagi pemakai yang menggunakannya
  • Agar biaya yang dikeluarkan untuk mengembangkan perangkat lunaknya rendah, dan hasilnya tepat waktu, baik saat pembuatan, penyerahan ke pamakainya, maupun saat instalasinya.
  • Agar dalam setiap tahap pekerjaan, dapat terjamin kualitasnya, dapat dipertanggungjawabkan kebenarannya (ada proses validasi dan verifikasi), dan terdokumentasi. 


Karakteristik rekayasa perangkat lunak 

ada beberapa karakteristik dari rekayasa perangkat lunak, yakni :

  • Understandability, yakni rekayasa perangkat lunak harus dapat dimengerti, apalagi oleh orang yang tidak begitu mengerti tentang rekayasa perangkat lunak,
  • Visibility, yakni apakah aktivitas - aktivitas proses dari awal mencapai akhir dengan hasil yang jelas, sehingga kemajuan dari proses tersebut terlihat nyata / jelas
  • Maintainability, mengenai kemampuan proses untuk diperbaiki dan dikembangkan
  • Supportability, yakni sejauh mana aktivitas proses ini dapat didukung oleh CASE  
  • Acceptability, yakni apakah aktivitas proses yang telah ditentukan ini dapat diterima, digunakan, dan dilaksanakan dengan bertanggung jawab, selama pembuatan software 
  • Reliability, yakni apakah proses dapat dilakukan dengan kesalahan proses dapat dihindari atau tidak terjadi, guna menghindari kesalahan pada produk akhir  
  • Rapidity, yakni seberapa cepat sebuah sistem dapat dikirimkan setelah spesifikasi yang diinginkan telah disediakan 
  • Robustness, adalah kemampuan proses tetap berjalan meski terjadi kesalahan di dalamnya.


Proses perangkat lunak 

Rangkaian kegiatan dan hasil - hasilnya yang memberi hasil berupa perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan atau aktivitas pada proses perangkat lunak, yakni :

  • Spesifikasi, berupa hal - hal yang menjadi fitur dan fungsi dari perangkat lunak, apa yang harus dapat dilakukan oleh perangkat lunaknya yang dibuat, serta batasan ataupun kendala dalam kemampuan operasinya didefinisikan disini.
  • Pengembangan, yakni bagian produksi dari perangkat lunak 

  • Validasi, yakni pengujian atas perangkat lunak guna melihat kecocokannya dengan apa yang diinginkan pengguna, serta mencari kesalahan dalam sistem

  • Evolusi, yakni pengubahan atas perangkat lunaknya, sesuai dengan keinginan dari pengguna


Programming VS software developing VS software engineering 

kedua istilah, programming dan developing sering didengar pada rekayasa perangkat lunak, keduanya memiliki arti yang berbeda, yakni :

Pemrogramman, pemrogramman adalah menciptakan keputusan, atau memberi perintah terhadap komputer apa yang harus dilakukan dalam keadaan yang berbeda - beda. Pemrogramman sangat memanfaatkan logika.

Sedangkan developing, berupa proses menentukan, merancang, menyusun. memprogram, menguji, mendokumentasikan, serta memperbaiki masalah atau bug yang terdapat di dalam pembuatan serta pemeliharaan perangkat lunak. Maka dari itu, developing mencangkup pengembangan baru, penelitian, modifikasi, membuat prototype, rekayasa ulang, penggunaan kembali, maupun aktivitas lain, semuanya yang bersangkutan dengan perangkat lunak.

Untuk software engineering, berbeda dengan software developing, software engineer biasanya sudah termasuk dalam proses pengembangan software dari awal. Software developer biasanya hanya mengisi sebagian dari tugas dari software engineer dalam pengembangan sebuah software. Dalam software development life cycle, yakni sebuah struktur pengembangan software yang dianggap efisien dan bagus untuk diterapkan, terdapat beberapa tahap dalam pengembangan software yakni perencanaan, persyaratan, desain, membangun, dokumentasi, testing, dan penggunaan / penyebaran. software developer disini, biasanya hanya bertanggung jawab atas bagian desain, membangun, dan mengetes software. Sedangkan software engineer biasanya melaksanakan semua bagian dari SDLC tersebut, dan diperlukan dalam tahap perencanaan dan persyaratan. 




B. Etika Rekayasa Perangkat Lunak

Dalam software engineering, tanggung jawab yang dimiliki oleh pembuat, mencangkup hal yang lebih luas dari hanya sekedar melakukan pembuatan perangkat lunak, pembuat perangkat lunak juga memiliki tanggung jawab atas perilaku mereka. Perilaku yang benar sebagai perancang perangkat lunak yakni harus berperilaku jujur dan etis, serta bertanggung jawab, jika seorang perancang perangkat lunak ingin dihormati. Perilaku etis ini tidak hanya sekedar mengikuti hukum saja, melainkan juga etika, norma, tata krama, dan hal - hal lain yang berlaku di masyarakat. 

Isu tanggung jawab professional 


Mengenai hal - hal yang harus diketahui dan dilaksanakan oleh seorang engineer software, terdiri dari beberapa hal, yakni :    

  • Konfidensilitas
    • Engineer biasanya harus merahasiakan dengan hormat hal - hal mengenai atasan dan klien mereka, terlepas dari ada tidaknya perjanjian formal yang telah ditandatangani
  • Kompetensi 
    • Seorang engineer tidak boleh menggambarkan tingkat kemampuannya. Seorang engineer seharusnya dengan tidak sengaja apabila mengambil pekerjaan yang lebih dari kompetensi yang mereka miliki

  • Hak properti intelektual
    • Seorang engineer harus sadar akan hukum tempatnya bekerja, yang bersangkutan dengan penggunaan kekayaan intelektual seperti hak cipta, paten, dan lain - lain. Mereka harus dengan seksama dan hati - hati memeriksa kekayaan intelektual atasan dan kliennya dilindungi.

  • Penyalahgunaan komputer
    • Seorang engineer seharusnya tidak untuk menggunakan keterampilannya untuk disalahgunakan, seperti penyalahgunaan atas komputer milik orang lain. Penyalahgunaan ini bisa dari masalah yang tergolong sepele (bermain game di komputer orang lain) hingga sampai yang serius (menyebarkan virus) 


Kode etik IEEE

IEEE atau dikenal juga dengan insititute of electrical and electronics engineers, adalah organisasi yang beranggotakan insinyur, yang memiliki tujuan untuk perkembangan teknologi demi meningkatkan harkat kemanusiaan.

Menurut IEEE, seorang technical engineer terikat pada perilaku kode etis dan professional tertinggi, serta menjunjung kode etik sebagai berikut :

  • Menolak penyogokan dan penyuapan dalam bentuk apapun
  • Mengembangkan pemahaman atas teknologi, aplikasi yang sesuai, dan kemungkinan konsekuensinya
  • Mengupayakan menghindari kecelakaan kepada orang lain, pekerjaan, atau reputasi dengan kegiatan yang tidak benar, ataupun berniat buruk
  • Bersifat jujur dan realistis dalam menyatakan perkiraan atau klaim menurut data yang ada
  • Menerima tanggung jawab dalam pengambilan keputusan di kegiatan engineering, yang taat akan asas pada kesehatan, keamanan, kesejahteraan publik, serta segera memberitahu secara terbuka apabila ada faktor yang dapat membahayakan bagi publik atau lingkungan
  • Membantu rekan yang lain dalam mengembakan profesi mereka dan mendukung mereka dengan dan dalam mengikuti kode etik 
  • Menerima, mencari dan menawarkan kritik serta saran pekerjaan teknis, memperbaiki dan mengakui atas kesalahan serta menghargai kontribusi oleh orang lain.
  • Mengembangkan dan menjaga kompetensi teknis dan mengambil tugas teknologi lain, hanya ketika mempunyai kualifikasi yang cukup melalui pengalaman ataupun pelatihan, atau setelah menyatakan dengan terbuka keterbatasan relevansinya
  • Memperlakukan secara rata dan adil semua orang, terlepas dari ras, agama, gender, kekurangan, cacat, maupun umur.

Kode etik ACM

ACM atau juga dikenal dengan nama association for computery machinery adalah asosiasi profesi TI dalam bidang ilmu dan pendidikan komputer. Assosiasi ini menjalankan kegiatan,yakni memberikan sumber daya untuk pengembangkan komputer, baik secara profesi, maupun ilmu.

Menurut ACM, kode etik ini terbagi atas beberapa hal, yakni tanggung jawab professional khusus, elemen keputusan, kepemimpinan organisasi, dan kewajiban moral.


Kode etik dan praktek profesional rekayasa perangkat lunak

Oleh ACM/ICEE-CS (asosisasi profesi), terdapat delapan prinsip profesional software engineering, yakni :

  • Product atau produk, artinya produk yang dihasilkan ataupun modifikasi yang dilakukan terhadap produknya, dijamin oleh perekayasa perangkat lunak, memenuhi standar professional setinggi - tingginya. 
  • Judgment dan penilaian, artinya integritas dan independensi penilaian professional yang dilakukan oleh perekayasa perangkat lunak, akan dipertahankan oleh seorang perekayasa perangkat lunak tersebut  
  • Public atau masyarakat, Artinya secara konsisten, seorang perekayasa perangkat lunak akan bergerak sesuai dengan kepentingan masyarakat 
  • Client dan employer, Artinya dengan melakukan sebaik mungkin, seorang perekayasa perangkat lunak akan menjalankan tugasnya bagi klien dan atasan mereka, dengan masih tetap konsisten terhadap kepentingan masyarakat 
  • Profession atau profesi,  Artinya seorang perekayasa perangkat lunak akan mementingkan reputasi dan integritas profesi, konsisten dengan kepentingan masyarakat
  • Management atau manajemen, Artinya dengan mengikuti dan mempromosikan pengembangan etis, seorang manajer akan melaksanakan kegiatan manajemen pemeilharaan dan pengembangan perangkat lunak itu.
  • Self atau diri sendiri, Artinya dengan seumur hidupnya, seorang perekayasa perangkat lunak akan berpartisipasi dalam pembelajaran seumur hidupnya, mengenai praktek profesi mereka, dan juga akan mempromosikan pendekatan yang etis, terhadap praktek dari profesi tersebut 
  • Collegues atau kolega, Artinya seorang perekayasa perangkat lunak, haruslah bersikap dengan adil, dan dengan positif mendukung koleganya.

Selain rekayasa perangkat lunak, terdapat juga istilah lain yakni rekayasa sistem atau system engineering. 

Bila rekayasa perangkat lunak adalah meliputi pembangunan perangkat lunak, kontrol, aplikasi, infrastruktur dan database pada sistem.

Rekayasa sistem berkaitan dengan semua aspek di dalam pembangunan sistem berbasis komputer, hal ini termasuk rekayasa perangkat lunak, proses, bahkan hardware.


Jadi, rekayasa perangkat lunak hanyalah suatu subdivisi dari rekayasa sistem.



Kesimpulan 

  1. Perangkat lunak dapat diartikan sebagai kumpulan dari prosedur, program, dan dokumen data lainnya, yang saling berhubungan satu sama lain yang juga merepresentasikan masalah yang ada di dunia nyata yang juga dikonfigurasikan ke bentuk sebuah aplikasi yang harus dikerjakan komputer.
  2. Program adalah suatu rancangan desain, kode skema, struktur, maupun bentuk - bentuk yang lainnya yang disusun sesuai dengan alur dari Algoritma yang memiliki tujuan untuk mempermudah suatu permasalahan
  3. Data adalah sekumpulan fakta maupun keterangan yang dibuat menggunakan kata - kata,  simbol, kalimat, angka, dan lain seterusnya.
  4. Dokumentasi adalah proses pemilihan, pengolahan, penyimpanan, dan pengumpulan informasi di bidang pengetahuan.
  5. RPL dapat diartikan sebagai pendekatan sistematis terhadap perancangan, analisis, penilaian, pengujian, implementasi, rekayasa ulang, dan pemeliharaan perangkat lunak dengan menggunakan prinsip - prinsip dari rekayasa untuk perangkat lunak. 
  6. Fungsi rekayasa perangkat lunak adalah memberi teknik - teknik dalam menjalankan kegiatan pengembangan perangkat lunak, termasuk dalam pembuatan perangkat lunaknya sendiri maupun dalam manajemen tim pengembang, guna pekerjaan yang berjalan dengan baik dan lancar, serta menghasilkan perangkat lunak akhir yang berkualitas.
  7. Rekayasa perangkat lunak ditujukan untuk orang - orang yang berniat membangun sebuah perangkat lunak, dengan fungsi memberikan arahan tentang bagaimana pembuatan sebuah perangkat lunak itu, harus dilakukan.
  8. Kegiatan rekayasa perangkat lunak dilaksanakan ketika proyek perangkat lunak yang ingin dikembangkan, tidak dapat dilaksanakan hanya dengan cara tradisional
  9. Kegiatan rekayasa perangkat lunak dilaksanakan ketika perangkat lunak yang ingin        dikembangkan, sudah masuk ke dalam skala sedang dan besar. 
  10. Cakupan dari RPL adalah proses, produk, dan manajemen
  11. Manajemen dalam RPL terdiri dari manajemen sumber daya manusia, resiko, proses,    biaya, waktu, procurement, stakeholder, ruang lingkup proyek, kualitas, dan lain            seterusnya
  12. Aktivitas rekayasa perangkat lunak meliputi : Spesifikasi, fungsionalitas, perangkat lunak, dan batasan kemampuan operasinya harus didefinisikan, pengembangan (proses produksi PL), Validasi (Pengujian perangkat  lunak terhadap spesifikasi), Evolusi (sw/req change)
  13. Programming  ≠ software developing  ≠ software engineering 
  14. Terdapat 8 prinsip profesional software engineering ACM/IEEE-CS, yakni :
         1. Bertindak secara konsisten sesuai dengan kepentingan dari masyarakat
         2. Menjamin produk memenuhi standard profesional setinggi - tingginya 
         3. mementingkan integritas dan reputasi profesi konsisten dengan kepentingan                             masyarakat
         4. Melakukan yang terbaik bagi klien dan atasan 
         5. Berpartisipasi dalam pembelajaran seumur hidup mengenai praktek profesi dan                     mempromosikan pendekatan etis terhadap praktek profesi itu
         6. Manajer dan perangkat lunak akan mengikuti dan mempromosikan pendekatan etis                 terhadap manajemen pengembangan dan pemeliharaan perangkat lunak.
         7. Bersikap adil dan mendukung terhadap koleganya
         8. Mempertahankan integritas dan independensi penilaian professional mereka 

Referensi :

https://id.wikipedia.org/wiki/Institute_of_Electrical_and_Electronics_Engineers

https://www.spiceworks.com/tech/devops/articles/software-developer-vs-software-engineer/#:~:text=The%20software%20developer%20can%20be,(SDLC)%20from%20the%20beginning.

https://www.elektroindonesia.com/elektro/komp27.html#:~:text=Visibility%2C%20apakah%20aktivitas%2Daktivitas%20proses,proses%20dapat%20didukung%20oleh%20CASE

https://publikasiilmiah.ums.ac.id/bitstream/handle/11617/12178/Prosiding%20Semnas%20Teknik%20Sipil%20UMS%202020-446-454.pdf?sequence=1#:~:text=Manajemen%20Integrasi%20Proyek%20(Project%20Integration,dalam%20group%20Proses%20Manajemen%20Proyek

https://repository.dinus.ac.id/docs/ajar/Mempro_5.pdf

https://revou.co/panduan-karir/apa-itu-stakeholder-management#:~:text=Stakeholder%20management%20adalah%20suatu%20proses%20untuk%20mengidentifikasi%2C%20memprioritaskan%2C%20serta%20melibatkan,selama%20proses%20pengembangan%20produk%20perusahaan.

https://glints.com/id/lowongan/procurement-management-adalah/#:~:text=Menurut%20Oracle%2C%20procurement%20management%20adalah,digunakan%20dalam%20supply%20chain%2Dnya.

https://bitlabs.id/blog/manajemen-waktu-adalah/#Pengertian_Manajemen_Waktu

https://accurate.id/marketing-manajemen/pengertian-lengkap-manajemen-risiko/

https://id.wikipedia.org/wiki/Manajemen_proses

https://unida.ac.id/teknologi/artikel/pengertian-program-dan-tujuannya.html#:~:text=Apa%20itu%20program%3F,dengan%20tujuan%20mempermudah%20suatu%20permasalahan.

https://www.gramedia.com/literasi/pengertian-data/

https://sambiroto.ngawikab.id/2020/11/dokumentasi-pengertian-dan-reduksi-pemaknaannya-kini/#:~:text=Menurut%20KBBI%2C%20definisi%20dokumentasi%20adalah,koran%2C%20dan%20bahan%20referensi%20lain.

https://id.wikipedia.org/wiki/Rekayasa_perangkat_lunak

http://repository.stei.ac.id/1034/3/BAB%202.pdf


Comments

Popular posts from this blog

Mengenai Perangkat Lunak

Siklus Pengembangan Perangkat Lunak atau Software Development Life Cycle (SDLC)

REKAYASA KEBUTUHAN