PERTEMUAN KE-1 RUANG LINGKUP REKAYASA PERANGKAT LUNAK A. TUJUAN PEMBELAJARAN Adapun tujuan pembelajaran yang akan dicapai sebagai berikut: 1.1.Mengetahui definisi perangkat lunak 1.2.Mengetahui jenis perangkat lunak 1.3.Mengetahui peranan perangkat lunak 1.4.Mengetahui definisi rekayasa perangkat lunak 1.5.Mengetahui pembagian bidang komputer B. URAIAN MATERI Tujuan Pembelajaran 1.1: Definisi Perangkat Lunak Perangkat lunak adalah program komputer dan dokumentasi terkait (Sommerville, 2011, p. 6).Sedangkan definisi dari IEEE, perangkat lunak (software) adalah program komputer, prosedure, dokumentasi terkait, dan data terkait untuk mengoperasikan sistem komputer. Sehingga perangkat lunak terdiri dari 4 komponen, yaitu: - Program komputer (kode) - Prosedur - Dokumentasi - Data yang dibutuhkan untuk mengoperasikan sistem perangkat lunak Tujuan Pembelajaran 1.2: Jenis Perangkat lunak Produk perangkat lunak dapat dikembangkan untuk pelanggan tertentu, atau dapat dikembangkan untuk pasar umum. Sehingga jenis perangkat lunak berdassarkan pasar dibagi menjadi dua, yaitu: 1. Perangkat Lunak Generik Perangkat lunak standar yang diproduksi oleh perusahaan pengembang dan dijual pada pasar terbuka ke siapapun yang bisa membelinya (Shrinkwrapped) 2. Perangkat Lunak Pesanan Perangkat lunak yang dikembangkan khusus dan disesuaikan dengan kebutuhan pelanggan Jenis perangkat lunak berdasarkan platform antara lain: 1. Software Sistem, yaitu jenis perangkat lunak yang bertujuan untuk mengatur dan mengontrol perangkat keras sehingga sistem dapat melakukan tugasnya. 2. Software Real-Time, yaitu perangkat lunak yang sangat tergantung pada dunia luar, dan harus merespon pada masalah dunia nyata dalam batasan waktu 3. Software Bisnis, yaitu perangkat lunak yang dibuat secara khusus untuk mendukung operasional bisnis tertentu. 4. Software Teknik dan Ilmu Pengetahuan, perangkat lunak yang dapat menyelesaikan perhitungan- perhitungan yang sulit dan rumit dalam waktu yang sangat cepat. 5. Software Tertanam (Embedded Software), yaitu perangkat lunak khusus yang dirancang untuk menjalankan tugas tertentu dan sistem tersebut tertanam dalam satu kesatuan sistem, biasanya disimpan dalam ROM (Random Access Memory) 6. Software Komputer Personal, perangkat lunak yang diinstalasi dan digunakan pada komputer yang digunakan secara pribadi 7. Software Kecerdasan Buatan, perangkat lunak yang dibuat dengan menggunakan teknik algoritma tertentu untuk memecahkan masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan. 8. Software Mobile, perangkat lunak yang diinstalasi dan digunakan pada perangkat mobile Jenis perangkat lunak berdasarkan lisensinya dibagi menjadi dua, yaitu: 1. Proprietary Software Software yang source codenya tertutup dan didistribusikan dengan suatu format lisensi yang membatasi pihak lain untuk menggunakan, memperbanyak dan memodifikasi. Lisensi proprietary software memungkinkan orang lain menggunakan software yang kita buat dengan diikuti penyerahan royalti (uang) ke pemilik hak ciptanya. Shareware dan Freeware adalah proprietary software. Free for use belum tentu free for (redistribute) atau free for modify! 2. Open Source Software Software yang source codenya terbuka dan didistribusikan dalam suatu format lisensi yang memungkinkan pihak lain secara bebas memperbanyak dan memodifikasi source code didalamnya. Hak cipta tetap ada, tapi lisensi memungkinkan orang lain bebas untuk menggunakan dan memodifikasi software tersebut Jenis lisensi open source software: - GNU General Public License (GPL) - Apache License - BSD license - MIT License - Mozilla Public License Tujuan Pembelajaran 1.3: Peranan Perangkat Lunak Perangkat lunak memiliki beberapa peran dalam kehidupan manusia, yaitu: 1. Menggantikan peran manusia: Dengan otomasi terhadap suatu tugas atau proses 2. Memperkuat peran manusia: Dengan membantu manusia mengerjakan suatu tugas atau proses dengan lebih baik dan tertata 3. Restrukturisasi Peran Manusia: Dengan melakukan perubahan-perubahan terhadap sekumpulan tugas atau proses 4. Hiburan dan Permainan:Dengan menyajikan aplikasi interaktif hiburan yang semakin dekat dengan kenyataan Tujuan Pembelajaran 1.4: Definisi Rekayasa Perangkat Lunak Rekayasa perangkat lunak adalah disiplin ilmu yang berkaitan dengan semua aspek produksi perangkat lunak (Sommerville, 2011, p. 6). Tujuan Pembelajaran 1.5: Pembagian Bidang Komputer IEEE/ACM Computing Curricula 2005 membagi bidang komputer menjadi 5 bagian seperti ditunjukkan pada gambar di bawah ini: Berdaasarkan IEEE/ACM Computing Curricula 2005, APTIKOM mendefiniskan sebagai berikut: 1. Sistem Komputer (Computer Engineering), yang menekankan pada kemampuan individu dalam merancang dan mengembangkan perangkat keras berbasis digital (rekayasa perangkat keras/hardware), mencakup di antaranya: a. Terkait dengan desain dan konstruksi sistem berbasis komputer/digital. b. Mencakup studi mengenai perangkat keras, perangkat lunak, teknologi komunikasi, dan interaksi di antara komponen tersebut. c. Fokus pada teori, prinsip, dan praktek terapan ilmu elektronika serta matematika, untuk kemudian diimplementasikan dalam bentuk desain komputer atau teknologi lain berbasis digital. d. Belakangan ini berkembang menjadi ilmu yang mempelajari pula cara mendesain beragam peralatan berbasis digital yang banyak ditemui di pasar (digital gadget) dan beragam peralatan perangkat keras komunikasi yang banyak dipergunakan dalam jaringan komputer. e. Di samping itu, terkait pula dengan studi perancangan komponen berbasis digital (embedded devices). Variasi Nama: Teknik Komputer, Sistem Komputer, Rekayasa Perangkat Keras, Komputerisasi Digital, Ilmu Komputer Digital, Rekayasa Komputer, dan lain sebagainya. 2) Ilmu Komputer (Computer Science), yang menekankan padakemampuan individu dalam merancang dan mengembangkan ragamalgorithma komputasi (teori komputasi dan algorithma), mencakup diantaranya: a. Spektrum yang danalgorithmis sangat beragam, hingga yang dari yang bersifat sangat sangat teoritis terapan sepertipengembangan robotika dan sistem cerdas. b. Terbagi menjadi tiga bagian utama: i. Fokus pada teori maupun algorithma yang dipergunakan dalamproses perancangan dan implementasi perangkat lunak. ii. Fokus pada teori maupun algorithma yang dipergunakan dalamproses dan perancangan sistem perangkat keras sertakomponennya. iii. Fokus pada teori maupun algorithma yang dipergunakansebagai model matematis dalam menyelesaikan permasalahantertentu. c. Kurikulumnya sangat kental dengan ilmu pengetahuan terkaitdengan logika matematika, komputasi, dan algorithma, yang dalammodel terapannya dinyatakan dalam pengembangan programkomputer. Variasi Nama: Teknik Informatika, Ilmu Komputer, Ilmu Komputasi,Informatika, Ilmu Informatika, Matematika Komputasi, dan lainsebagainya. 3) Sistem Informasi padakemampuan (Information individu System), dalam yang merancang, menekankan mengembangkan, danmenerapkan sistem informasi organisasi sebagai aset utama organisasi,mencakup di antaranya: a. Fokus pada teknik mengintegrasikan solusi teknologi informasidengan proses bisnis agar kebutuhan organisasi akan informasidapat terpenuhi. b. Menekankan pada informasi sebagai sebuah sumber daya pentingdalam berproduksi, terutama dalam kaitan kebutuhan korporasidalam pencapaian visi dan misi yang dicanangkan. c. Mempelajari aspek penting bagaimana informasi diciptakan,diproses, dan didistribusikan ke seluruh pemangkukepentingandalam institusi. d. Kurikulum ditekankan pada bagaimana memastikan agar teknologidan sistem informasi yang dimiliki selaras dengan strategi bisnisperusahaan, agar dapat tercipta keunggulan kompetitif dalambersaing (the value of information technology to the business). Variasi Nama: SistemInformasi Sistem Informasi, Manajemen, Manajemen Manajemen Sistem Informatika, Informasi, ManajemenInformasi, dan lain sebagainya. 4) Teknologi Informasi (Information Technology), yang menekankanpada kemampuan individu dalam merencanakan, menentukan, danmengelola teknologi informasi, di mana fitur dan kapabilitas teknologiuntuk nilai tambah, mencakup di antaranya: a. Fokus pada aspek “teknologi” sebagai entitas pemungkin (enabler)organisasi. b. Menekankan pada proses tata kelola, perencanaan dan organisasi,pengadaan dan implementasi, penerapan dan pemeliharaan, sertapengawasan dan evaluasi sumber daya teknologi informasi yang adapada suatu institusi. c. Spektrum fokus kurikulum dari sekedar mempelajarikecenderungan teknologi di masa mendatang hingga melakukan“perancangan” ide atau gagasan terhadap inovasi teknologi yangdibutuhkan organisasi. d. Kurikulum akan sangat padat dengan isu tata kelola dangovernance teknologi informasi. Variasi Nama: Teknologi Informasi, Teknologi Informasi dan Komunikasi,Teknik Informasi, Telematika, Teknologi Informatika, dan lainsebagainya. 5) Rekayasa Perangkat Lunak (Software Engineering ), yangmenekankan pada kemampuan dalam merancang dan mengembangkanperangkat lunak (software), mencakup di antaranya: a. Menekankan pada pengembangan dan penerapan metodologipembuatan perangkat lunak dengan kualitas prima. b. Fokus pada pengembangan model sistematis dan terpercaya, yangharus dipergunakan sebagai panduan dalam mengembangkanberbagai jenis perangkat lunak. c. Selain perangkat lunak aplikasi, mencakup pula pengetahuanmengenai bagaimana membangun sebuah perangkat lunak sistem(system software) dan perangkat lunak penunjang (tool software). d. Di samping itu, dibekali pula ilmu yang terkait dengan seluk belukinfrastruktur di satu sisi, dan sistem informasi di sisi lainnya, karenakedua komponen tersebut merupakan entitas penting yang beradadalam ruang lingkup pengembangan perangkat lunak. Variasi Nama: Rekayasa Perangkat Lunak, Rekayasa Software,Programming, Pengembangan Software, dan lain sebagainya. C. LATIHAN SOAL/TUGAS 1. Sebutkan contoh perangkat lunak sesuai jenis perangkat lunak berdasarkan pasar, platform, dan lisensi! 2. Apa yang menjadi area pengetahuan rekayasa perangkat lunak? D. DAFTAR PUSTAKA 1. Pressman, R. S. (2015). Software Engineering. A Practitioner's Approach (8th ed.). New York: McGraw-Hill Education. 2. Sommerville, I. (2011). Software Engineering (9th ed.). Boston: Addison-Wesley.