Makalah Software Engineering [PDF]

  • Author / Uploaded
  • suci
  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

KATA PENGANTAR Puji syukur kehadirat Tuhan Yang Maha Esa atas segala rahmatNYA sehingga makalah ini dapat tersusun hingga selesai . Tidak lupa kami juga mengucapkan banyak terimakasih atas bantuan dari pihak yang telah berkontribusi dengan memberikan sumbangan baik materi maupun pikirannya. Dan harapan kami semoga makalah ini dapat menambah pengetahuan dan pengalaman bagi para pembaca, Untuk ke depannya dapat memperbaiki bentuk maupun menambah isi makalah agar menjadi lebih baik lagi. Karena keterbatasan pengetahuan maupun pengalaman kami, Kami yakin masih banyak kekurangan dalam makalah ini, Oleh karena itu kami sangat mengharapkan saran dan kritik yang membangun dari pembaca demi kesempurnaan makalah ini. Denpasar, 19 Maret 2018



Software and Engineering



Page 1



DAFTAR ISI



Kata Pengantar.................................................................................................................. 1 Daftar Isi........................................................................................................................... 2 BAB I Pendahuluan 1.1 Latar Belakang....................................................................................................3 1.2 Rumusan Masalah...............................................................................................3 1.3 Tujuan.................................................................................................................3 BAB II Pembahasan 2.1 Pengertian Perangkat Lunak.................................................................................4 2.2 Pengertian rekayasa perangkat lunak………………………………………….4 2.3 Faktor factor rekayasa perangkat lunak................................................................5 2.4 Tanggung jawab dan etika perekayasa perangkat lunak……………………...10 2.4 Pengertian SDLC................................................................................................10 2.5 Tahapan tahapan dalam SDLC……………………………………...................11 BAB III Simpulan 3.1 Kesimpulan.........................................................................................................13 3.2 Saran..................................................................................................................13 Daftar Pustaka.....................................................................................................................14



Software and Engineering



Page 2



BAB I PENDAHULUAN 1.1 Latar Belakang Dalam era globalisasi saat ini kemajuan serta perkembangan teknologi semakin meningkat yang seiring dengan kemajuan jaman. Perkembangan sistem pada komputer beserta aplikasi-aplikasi pendukung sangat memudahkan setiap pengguna untuk melakukan setiap proses pada komputer. Seiring berkembangnya pula ilmu pengetahuan teknologi dan informasi dan setiap peserta didik dituntut untuk dapat mengoperasikan komputer , mau tidak mau karena semakin kedepan komputer lebih sering digunakan baik itu dalam media pembelajaran maupun ketika di lingkup pekerjaan karena komputer memudahkan setiap pengguna untuk melakukan proses yang dikehendakinya. Dalam penyusunan makalah ini saya akan membahas mengenai perangkat lunak serta tanggung jawab dan etika perekayasa perangkat lunak. Perangkat lunak itu sendiri dapat diartikan adalah sebuah software yang menghubungkan antara pengguna dengan perangkat keras , dan bisa disimpulkan perangkat lunak menglakukan perintah yang kita intruksikan dan dijalankan oleh perangkat keras. 1.2 Rumusan Masalah a. Apa pengertian perangkat lunak? b. Apa pengertian rekayasa perangkat lunak? c. Apa saja factor-faktor rekayasa perangkat lunak? d. Bagaimana Tanggung Jawab Profesional dan Etika dalam perekayasa perangkat lunak? e. Apa Pengertian SDLC ? f. Apa saja tahapan-tahan dalam SDLC? 1.3 Tujuan a. Untuk memahami pengertian perangkat lunak. b. Untuk memahami pengertian rekayasa perangkat lunak. c. Untuk memahami factor-faktor rekayasa perangkat lunak. d. Untuk memahami tanggung jawab dan etika dalam perekayasa perangkat lunak. e. Untuk memahami pengertian SDLC. f. Untuk memahami tahapan-tahan dalam SDLC Software and Engineering



Page 3



BAB II PEMBAHASAN 2.1



Pengertian Perangkat Lunak Perangkat lunak merupakan program komputer yang berfungsi menghubungkan antara



pengguna dan komputer yang digunakan. dapat dibilang perangkat lunak merupakan sebagai media penerjemah perintah yang diberikan oleh pengguna kepada komputer untuk selanjutnya diproses melalui perangkat keras komputer tersebut.Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras yang biasa disebut sebagai device driver, melakukan proses penghitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya, seperti sistem operasi dan bahasa pemrograman. Secara umum ada tiga jenis perangkat lunak yang diketahui hingga saat ini yaitu sistem operasi yang merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Kedua yaitu perangkat lunak bahasa pemrograman seperti java. Dan yang ketiga yaitu perangkat lunak aplikasi yang merupakan penrangkat yang digunakan untuk membantu dan memudahkan pekerjaan seseorang misalnya saja Microsoft Excel, Word, dan Power Point



2.2 Rekayasa Perangkat Lunak Rekayasa atau teknik merupakan penerapan ilmu dan teknologi untuk menyelesaikan permasalahan manusia. Hal ni diselesaikan lewat pengetahuan, matematika, dan pengalaman praktis yang diterapkan untuk mendesain objek atau proses yang berguna. Para praktisi teknik professional disebut perekayasa. Rekayasa perangkat lunak atau Software engineering dalam bahasa inggris merupakan bidang ilmu yang mempelajari tentang segala aspek perangkat lunak, seperti cara-cara pengembangan, pemeliharaan , pembuatan, serta manajemen kualitas perangkat lunak. Rekayasa perangkat lunak juga merupakan disiplin rekayasa dengan perangkat lunak yang dikembangkan. Biasanya proses melibatkan penemuan pada keinginan klien, menyusunnya didalam daftar kebutuhan, merangcang arsitektur yang mampu mendukung semua kebutuhan, perancangan, pengodean, pengujian, dan pengintegrasian bagian yang terpisah, menguju keseluruhan, penyebaran, dan pemeliharaan perangkat lunak. Software and Engineering



Page 4



2.3. Faktor-Faktor Rekayasa Perangkat Lunak Berbagai faktor yang memengaruhi perncanaan, manajemen, dan pemilihan aktivitas SQM dan teknik-teknik adalah sebagai berikut: 



Daerah system yang akan ditempati perangkat lunak (safety-critical, mission-critical, dan business critical),







Kebutuhan system dan perangkat lunak,







Komponen komersial (eksternal) atau standar (internal) untuk digunakan di dalam sistem,







Standar rekayasa perangkat lunak spesifik yang bisa diterapkan,







Metode dan tool perangkat lunak yang digunakan untuk pengembangan dan pemeliharaan, dan untuk peningkatan dan evaluasi kualitas,







Anggaran, staf, organisasi proyek, rencana, dan penjadwalan dari semua proses-proses,







Pengguna yang diharapkan dan penggunaan system, dan







Tingkat integritas system. Informasi pada factor ini memengaruhi bagaimana proses SQM diorganisasikan dan



didokumentasikan, bagaimana aktivitas SQM spesifik dipilih, dan sumber daya apa yang diperlukan dan yang akan memaksakan batas atau usaha. 1. Keterkaitan Dalam situasi dengan kegagalan system yang mungkin mempunyai konsekuensi yang sangat hebat, keterkaitan keseluruhan (perangkat keras, perangkat lunak, dan manusia) adalah kebutuhan kualitas yang utama disamping kemampuan dasar. Keterkaitan perangkat lunak mencakup karakteristik toleransi kesalahan, keselamatan, keamanan, dan usabilitas. Keandalan juga menjadi sebuah ukuran yang dapat digambarkan dalam hubungannya dengan keterkaitan. Badan literature untuk system harus sangat dapat tergantung (“kepercayaan tinggi” atau “system integritas tinggi”). Istilah untuk mekanisme tradisional dan system elektrik yang tidak boleh mencakup perangkat lunak telah di import untuk mendiskusikan ancaman atau risiko, integritas system, dan konsep yang berhubungan, dan mungkin menemukan acuan yang dikutip untuk bagian ini.



Software and Engineering



Page 5



2. Tingkat integritas perangkat lunak Tingkat integritas ditentukan berdasarkan pada konsekuensi kegagalan dari perangkat lunak. Dalam perangkat lunak yang mementingkan keselamatan atau keamanan, teknik-teknik seperti analisis risiko untuk keselamatan atau analisis ancaman untuk keamanan mungkin digunakan untuk mengembangkan suatu aktivitas perencanaan yang akan mengidentifikasi daerah yang potensial terhadap kekacauan. Sejarah kegagalan dari perangkat lunak juga bisa membantu mendeteksi kesalahan dan menilai kualitas. Tingkatan integritas ( miasalnya, gradasi integritas) akan di usulkan di dalam suatu perangkat lunak. 3. Faktor Tim Tim dapat digambarkansebagai suatu kelompok perseorangan yang telah terorganisasi untuk kepentingan bekerja bersama untuk mencapai sekumpulan tujuan yang tidak bisasecara efektif dicapai oleh perseorangan yang bekerja sendiri. Efektivitas suatu tim mungkin diukur dalam hasil terhadap penerimaa pelanggan, kemampuan tim, dan kepuasan perseorangan. Masukan perseorangan dan organisasi dengan mantap memengaruhi masukan tim. Proses pekerjaan tim ditandai oleh usaha yang mengarah pada tujuan, pengetahuan dan keahlian yang digunakan, strategi pengadopsian, dadan dinamika kelompok. Konstruksi tim dan manajemen merupakan sebuah tantangan kritis di dalam pemecahan masalah yang dikendalikan perangkat lunak (software-driven). Sebuah tim akan memerlukan: 



Identifikasi tujuan







Definisi strategi,







Manajemen tugas,







Manajemen waktu,







Penempatan sumber daya,







Komposisi tim antardispilin ilmu,







Waktu control







Pelatihan







Komunikasi tim,







Keterpaduan tim, dan.



Software and Engineering



Page 6



Karakteristik utama dari kesuksesan tim mencakup: 1. Pembagian tujuan Harus ada kesadaran bersama pada tujuan tim umum dari semua anggota tim. Berbagi tujuan adalah sasaran yang langsung, panduan dan pengintegrasian usaha perseorangan untuk mencapai hasil yang diharapkan. 2. Kolaborasi efektif Suatu tim harus bekerja sebagai tim. Tim ini memerlukan kerja sama, individu pemberi kontribusi, pertukaran gagasan dan pengetahuan oleh individu, dan pembangunan hubungan antarpribadi, dan kepercayaan. Lingkungan proyek memudahkan dan mendorong kerja sama yang efektif dan interoperasi. 3. Kemampuan individual Masing-masing anggota tim harus dilatih dan dipandu agar bisa bekerja sama dengan anggota tim lainnya. Beberapa karakteristik lain dari tim yang berjalan dengan baik meliputi: 



Pembagian misis dan tujuan,







Penyebaran informasi lengkap tentang jadwal, aktivitas, dan prioritas,







Pengembangan suatu pemahaman peran dari tiap anggota tim,







Pemahaman untuk memperhatikan konflik dan kebutuhan untuk memecahkannya,







Secara efisien memanfaatkan kemampuan perseorangan







Secara efektif menyebarkan pertemuan –pertemuan,







Dengan teliti mengevaluasi kinerja dari tiap anggota tim, dan







Secara terus menerus memperbarui keahlian perseorangan untuk menemukan kebutuhan yang ada.



Indicator tambahan dari operasi yang efektif meliputi tingkat dari keterlibatan dan keikutsertaan manajemen proyek, focus pada tujuan, tanggung jawab bersama, orientasipada pemikiran secara strategis, dan kecepatan untuk tanggap terhadap tantangan dan peluang.



Software and Engineering



Page 7



Karakteristik kinerja tim ini memerlukan tiap-tiap anggota tim untuk menyokong ide, beroperasi pada lingkungan yang berisi keanekaragaman keahlian , memahami kontribusi dari yang lain, berbagi pengetahuan, menanyakan tingkat pemahaman secara aktif, mengambil bagian dengan penuh semangat, dan melatih fleksibilitas. 4. Faktor Pelanggan Ada suatu kebenaran yang mutlak, yaitu rekayasa perangkat lunak harus bisa menjadi pengendali pelanggan (customer-driver). Bagian ini mempertimbangkan beberapa karakteristik dan teknik khusus dari lingkungan pengembangan perangkat lunak yang dikendalikan pelanggan (customer-driven), yang meliputi: 1. Pengembangan yang dikendalikan pelanggan bersifat padat kebutuhan dan dikendalikan fitur Karena kebutuhan pelanggan adalah prioritas yang tertinggi, kebutuhan pelanggan harus secara hati-hati dikumpulkan, dikenali, ditetapkan, divisualisasikan, dan secara internal, diprioritaskan anatarkebutuhan sendiri. Sebagai konsekuensinya, kebutuhan rekayasa menjadi kunci tahap strategis antarproses rekayasa perangkat lunak. 2. Pengembangan yang dikendalikan pelanggan bersifat iterative Pengembangan iterative menjadi penting karena mengizinkan umpan balik yang luas dan pemberian jawaban untuk umpan balik. 3. Pengembangan yang dikendalikan pelanggan bertujuan untuk mengembangkan aplikasi-aplikasi terbaik (killer application) Teknik ini adalah satu-satunya cara untuk bertahan pada pasar yang sangat tinggi kompetisisnya 4. Pengembangan yang dikendalikan pelanggan sangat menghargai waktu pemasaran. Waktu berarti kesempatan sehingga aplikasi harus direkayasa secara cepat dan efisien, cukup untuk menangkap peluang pasar yang bergantung waktu. 5. Pengembangan yang dikendalikan pelanggan berusaha untuk memberikan kepuasan pada banyak stakeholder melalui situasi yang saling menguntungkanSetiap aktivitas pengembangan perangkat lunak melibatkan banyak orang, masing-masing mempunyai tujuan dan pandangan yang berbeda. Oleh karena itu, rekonsiliasi yang efektif dari konflik atas kebutuhan system menjadi sebuah factor kunci dalam meyakinkan kepuasan pelanggan. Software and Engineering



Page 8



6. Pengembangan yang dikendalikan pelanggan berfokus pada kualitas produk dan layanan. Jaminan kualitas menyiratkan pengaturan proses perangkat lunak, seperti pengembang dan pelanggan yang dicukupi dengan kualitas dan konsistensi barang-barang atau jasa yang dihasilkan atau yang disediakan. Pengembangan yang dikendalikan pelanggan memandang pelanggan sebagai mitra, tidak hanya sebagai pembeli 7.Dalam meyakinkan harapan pelanggan, pelanggan perlu duduk bersama dengan pengembang pada masing-masing tahap proses pengembangan perangkat lunak. Hal tersebut dapat memperkecil resiko dan mengurangi siklus waktu selama proses pengembangan. 8. Pengembangan yang dikendalikan pelanggan dapat dikostumisasi, dipersonalisasi, dan sesuai dengan kebutuhan individu dan perubahan pada kebutuhan Tidak ada dua bisnis atau perseorangan yang sama (permintaan dan kebutuhan bertukar-tukar dan meningkat bahkan antarorganisasi tunggal). Mengenali perbedaan perseorangan dan keanekaragaman organisasi menjadi suatu kerumitan dalam penyediaan solusi yan efektif. 9. Pengembangan yang dikendalikan pelanggan diarahkan oleh psikologi kognitif Psikologi kognitif mendapat pemikiran seperti bahasa untuk program sumber perangkat lunak. Oleh karena itu, suatu pendekatan pengembangan perangkat lunak yang dikendalikan pelanggan perlu menguji luas perancangan perangkat lunak denagn teliti untuk mencerminkan kebutuhan pelanggan sebagai kebutuhan yang dirasakan oleh pelanggan. 10. Pengembangan yang dikendalikan pelanggan harus informative dan mudah diakses Perancangan suatu solusi perangkat lunak di dalam “era pelanggan” (customer age) memerlukan layanan pelanggan yang penuh, dan mendukung bantuan yang terdokumentasi dengan baik dan web interaktif. Aplikasi tidak menyediakan informasi pendukung, seperti subjek kepada keluhan pelanggan, ketidakpuasan, dan penolakan.



Software and Engineering



Page 9



2.4



Tanggung Jawab Profesional dan Etika Rekayasa perangkat lunak jelas dibatasi oleh hukum lokal, nasional dan internasional.



Perekayasa perangkat lunak harus memiliki tanggung jawab etis dan moral jika ingin dihormati sebagai profesional. Terdapat beberapa standar dan kode etik yang harus dipertimbangkan, yaitu: Konfidensialitas, Harus menghormati konfidensialitas atasan dan kliennya walaupun tidak ada persetujuan yang ditanda tangani secara formal. Kompetensi. Tidak boleh menyalahi tingkat kompetensinya (melebihi atau menyimpang) Hak Properti Intelektual, Menyadari terhadap hukum yang mengatur penggunaan properti intelektual, seperti paten, hak cipta dan lain sebagainya. Penyalahgunaan Komputer, Tidak boleh dengan sengaja menyalah gunakan komputer yang nantinya berakibat merugikan orang lain, seperti penyebaran virus, penyadapan dan lain sebagainya.



2.5



System Development Life Cycle (SDLC) Pengertian SDLC SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan



programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi : 



Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi







Mempelajari dan menganalisis sistem informasi yang sedang berjalan







Menentukan permintaan pemakai sistem informasi







Memilih solusi atau pemecahan masalah yang paling baik







Menentukan perangkat keras (hardware) dan perangkat lunak (software)







Merancang sistem informasi baru







Membangun sistem informasi baru







Mengkomunikasikan dan mengimplementasikan sistem informasi baru







Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan



Software and Engineering



Page 10



System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize.Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang besar, masingmasing langkah dikerjakan oleh tim yang berbeda.



2.6



Tahapan tahapan dalam SDLC. Berikut ini adalah Fase-fase Sistem Development Life Cycle (SDLC) meliputi :



A. Perencanaan Sistem (Systems Planning) Lebih menekankan pada aspek studi kelayakan pengembangan sistem (feasibility study). Aktivitas-aktivitas yang ada meliputi : • Pembentukan dan konsolidasi tim pengembang. • Mendefinisikan tujuan dan ruang lingkup pengembangan. • Mengidentifikasi apakah masalah-masalah yang ada bisa diselesaikan melalui pengembangan sistem. • Menentukan dan evaluasi strategi yang akan digunakan dalam pengembangan sistem. • Penentuan prioritas teknologi dan pemilihan aplikasi. B. Analisis Sistem (Systems Analysis) Analisa sistem adalah tahap di mana dilakukan beberapa aktivitas berikut: • Melakukan studi literatur untuk menemukan suatu kasus yang bisa ditangani oleh sistem. • Brainstorming dalam tim pengembang mengenai kasus mana yang paling tepat dimodelkan dengan sistem. • Mengklasifikasikan masalah, peluang, dan solusi yang mungkin diterapkan untuk kasus tersebut. • Analisa kebutuhan pada sistem dan membuat batasan sistem. • Mendefinisikan kebutuhan sistem. C. Perancangan Sistem (Systems Design) Pada tahap ini, features dan operasi-operasi pada sistem dideskripsikan secara detail. AktivitasSoftware and Engineering



Page 11



aktivitas yang dilakukan adalah: • Menganalisa interaksi obyek dan fungsi pada sistem. • Menganalisa data dan membuat skema database. • Merancang user interface. D. Implementasi Sistem (Systems Implementation) Tahap berikutnya adalah implementasi yaitu mengimplementasikan rancangan dari tahap-tahap sebelumnya dan melakukan uji coba. Dalam implementasi, dilakukan aktivitas-aktivitas sebagai berikut: • Pembuatan database sesuai skema rancangan. • Pembuatan aplikasi berdasarkan desain sistem. • Pengujian dan perbaikan aplikasi (debugging). E. Pemeliharaan Sistem (Systems Maintenance) Dilakukan oleh admin yang ditunjuk untuk menjaga sistem tetap mampu beroperasi secara benar melalui kemampuan sistem dalam mengadaptasikan diri sesuai dengan kebutuhan. Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya.Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi system



Software and Engineering



Page 12



BAB III SIMPULAN 3.1 Kesimpulan Dari penyusunan makalah ini dapat kita simpulkan bahwa Rekayasa Perangkat Lunak yaitu sebagai menyediakan sebuah kerangka kerja guna membangun perangkat lunak dengan kualitas yang lebih tinggi 3.2 Saran Dari makalah yang telah penulis buat,mungkin terdapat kesalahan dan kekurangan baik dari penulisan maupun materi dan juga dari kata katanya, penulis sangat mengharapkan saran dan kritik dari para pembaca agar dapt memberikan motivasi atau nasihat guna memperbaiki makalah ini nantinya.



Software and Engineering



Page 13



Daftar Pustaka: 



http://dymand-informatika.blogspot.co.id/2012/03/rekayasa-perangkat-lunakmakalah-1.html







https://yuliagroups.wordpress.com/system-development-life-cycle-sdlc/



Software and Engineering



Page 14