INTRODUCTION SOFTWARE ENGINEERING Pertemuan 1 (Software Engineering) Oleh: Irma Permata Sari Jurusan Teknik Informatika dan Komputer Politeknik Negeri Jakarta 2016
LEARNING OUTCOMES Mahasiswa dapat menjelaskan konsep dan perkembangan rekayasa perangkat lunak
OUTLINES Konsep dasar Rekayasa Perangkat Lunak (PL) Peran PL Perkembangan aturan PL Macam-macam PL Evolusi PL Mitos PL
Koki? Chef? Programmer ibarat koki dan software engineer sebagai chef . Koki dan chef sama saja , sama-sama masak , namun yang membedakan antara koki dan chef adalah kekreatifitasannya . Andai seorang koki dan chef diberikan sebutir telur dan disuruh memasakan telur itu dan kemudian menghidangkannya ke orang lain , maka yang dilakukan seorang koki adalah memasak telur itu kemudian memberikannya ke orang lain, sedangkan yang dilakukan chef adalah bagaimana membuat telur istimewa saat dihidangkan ke orang lain , segala proses akan dilakukan dengan teliti dan sebaik mungkin sebelum dihidangkan ke orang lain.
Software Engineer = Programmer? Software Engineering? Software Engineer = Programmer? Software engineer adalah orang yang melakukan proses engineering sedangkan programmer adalah orang yang melakukan proses programming. Programmer melakukan tugasnya pada tahap construction . Setelah desaigner mendesain baru programmer yang mengimplementasikannya dengan menulis koding . Sedangkan software engineer lebih luas atau dapat dibilang semuanya . programmer ibarat seorang koki dan software engineer seorang chef , programmer hanya menulis coding kemudian membuatnya menjadi sebuah perangkat lunak yang siap pakai . Sedangkan software engineer berfikir bagaimana perangkatl lunak istimewa dikalangan pengguna , mereka benar-bebar berfikir keras tentang fungsi , desain , dll .
Konsep Rekayasa Perangkat Lunak Berasal dari 2 kata, yaitu Software (Perangkat Lunak) dan Engineering (Rekayasa) Perangkat Lunak (Software) adalah program komputer, prosedur, aturan, dan dokumentasi yang berkaitan dengannya serta data yang berkaitan dengan operasi suatu sistem komputer (IEEE) Engineering atau Rekayasa adalah penerapan teori, metode, dan alat bantu yang sesuai untuk mencari solusi terhadap masalah dengan pendekatan sistematis Defenisi Software: Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu Struktur data yang dapat membuat program memanipulasi informasi Dokumen yang menjelaskan operasi dan penggunaan program (Roger Pressman). Program komputer, prosedur, aturan, dan dokumentasi yang berkaitan dengannya serta data yang berkaitan dengan operasi suatu sistem komputer (IEEE). Defenisi Engineering Engineering atau Rekayasa adalah penerapan teori, metode, dan alat bantu yang sesuai untuk mencari solusi terhadap masalah dengan pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur, mesin, produk, proses atau sistem
Konsep RPL Lanj.. Proses membuat perangkat lunak dengan menggunakan kaidah-kaidah atau prinsip-prinsip rekayasa sehingga dihasilkan perangkat lunak yang berkualitas. Roger Pressman: Pembentukan dan penggunaan prinsip rekayasa (engineering) untuk mendapatkan perangkat lunak secara ekonomis namun andal dan dapat bekerja secara efisien pada komputer (dikutip dari Fritz Bauer, 1968) Suatu disiplin, kaidah yang mengintegrasikan proses, metode, dan alat bantu (tools) untuk pembangunan perangkat lunak komputer.
Konsep RPL Lanj.. IEEE Computer Society: The application of a systematic, disciplined quantifiable approach to the development, operation, and maintenance of software that is, the application of engineering to software. The study of approaches as in (1).
Peranan Software Engineering.. 1.Perangkat lunak yang dihasilkan sesuai dengan kebutuhan 2. Perangkat lunak digunakan dan beroperasi dengan benar 3. Bermanfaat bagi pemakai yang menggunakannya 4. Biaya rendah (efisien), efektif dan sesuai dengan anggaran 5. Tepat waktu (pembuatan, penyerahan maupun instalasinya) 6. Tahap pekerjaannya terjamin kualitasnya (dokumentasi, verifikasi dan validasi). Perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang diinginkan. Perangkat lunak dapat digunakan dan beroperasi dengan benar di lingkungan sebenarnya. Perangkat lunak memberikan manfaat bagi pemakai yang menggunakannya. Biaya yang dikeluarkan untuk membuatnya rendah (efisien), efektif dan sesuai dengan anggaran yang telah ditetapkan. Tepat waktu, baik saat pembuatan, penyerahan ke pemakai, maupun instalasinya. Setiap tahap pekerjaan terjamin kualitasnya, terdokumentasi, dan dapat dipertanggungjawabkan kebenarannya (ada proses verifikasi dan validasi).
Perkembangan Aturan Perangkat Lunak Institute of Electrical and Electronics Engineers IEEE adalah organisasi internasional, beranggotakan para insinyur, dengan tujuan untuk mengembangan teknologi untuk meningkatkan harkat kemanusiaan.
Proses dasar RPL, meliputi : 4. Evolusi prangkat lunak 3. Validasi perangkat lunak 2. Pengembangan perangkat lunak 1. Spesifikasi perangkat lunak 1. Spesifikasi perangkat lunak. Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan. 2. Pengembangan perangkat lunak: Pengembangan terhadap produk perangkat lunak yang memenuhi spesifikasi perangkat lunak. 3. Validasi perangkat lunak: Perangkat lunak harus divalidasi untuk menjamin bahwa perangkau lunak melakukan apa yang diinginkan oleh user. 4. Evolusi rangkat lunak: Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan yang berubah ubah
Macam-Macam Perangkat Lunak Perangkat Lunak Sistem, Sekumpulan program yang ditulis untuk melayani program-program yang lain. Contoh: Kompiler , Editor , Utilitas pengatur file. Perangkat Lunak Real-Time, Program-program yang memonitor/menganalisis/mengontrol kejadian dunia nyata pada saat terjadinya (real-time event). Contoh: Perangkat lunak untuk mengatur mekanisme kerja lift , ATCS (Automatic Traffic Control System) Perangkat Lunak Bisnis, memroses informasi bisnis atau fasilitas pengambilan keputusan manajemen Contoh: Payroll , Inventory
Perangkat Lunak Teknik dan Ilmu Pengetahuan, ditandai dengan penggunaan algoritma number crunching (data numerik), simulasi sistem. Contoh: Software SPSS , Software MathLab Embedded Software, produk yang ada dalam read-only memory dan dipakai untuk mengontrol hasil dan sistem untuk keperluan konsumen dan pasar industri Contoh: Mobile Navigation System , Game pada mobile phone Perangkat Lunak Komputer Personal, sesuai kebutuhan personal spt pengolah kata,angka dan manajamen database Contoh: Aplikasi pencatatan inventaris kantor , Pengolah kata (word processor), lembar kerja elektronik (spreadsheet), organizer Perangkat Lunak Kecerdasan Buatan, menggunakan algoritma non-numeris untuk memecahkan masalah kompleks yang tidak sesuai untuk perhitungan atau analisis secara langsung. Contoh: Sistem Pakar , Aplikasi pendeteksi plagiat
Evolusi Perangkat Lunak Era Pertama ( 1950 – 1960): Batch Orientation Limmited distribution Custom software Era Kedua (1960 – 1970): Multi user Real Time Database Product Software Era Ketiga (1980 – 1990): Distributed system Embedded Intelegence Low Cost Hardware Consummer Inpact Era Keempat (1990 – 2000): Expert system AI Machine Parallel Architecture Era Pertama ( 1950 – 1960) : Batch Orientation Suatu orientasi di mana proses dilakukan setelah data dikumpulkan dalam sa waktu tertentu, atau proses dilakukan setelah data terkumpul, lawan dari badalah ONLINE atau Interactive Process. Keuntungan dari Interactive ad mendapatkan data yang selalu up to date. Limmited distribution Suatu penyebaran software yang terbatas pada perusahaan-perusahaan tertentu Custom software Software yang dikembangkan berdaasarkan perusahaan-perusahaan tertentu. Era Kedua (1960 – 1970) : Multi user Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat ya sama. Real Time Suatu sistem yang dapat mengumpulkan, menganalisa dan mentransfo rmasdata dari berbagai sumber, mengontrol proses dan menghasilkan output da mili second. Database Perkembangan yang pesat dari alat penyimpan data yang OnLine menyebabkamuncul generasi pertama. DBMS (DataBase Management System). Product Software Adalah software yang dikembangkan untuk dijual kepada masyarakat luas. Era Ketiga (1980 – 1990) : Distributed system Suatu sistem yang tidak hanya dipusatkan pada komputer induk ( Host computer), daerah atau bidang lainnya, yang juga memiliki komputer yang ukurannya lebih kecil dari komputer induk. Lawan dari distributed system adalah Centralized System. Embedded Intelegence Suatu product yang diberi tambahan “Intellegence” dan biasanya ditambahkan mikroprocessor yang mutakhir. Contohnya adalah automobil, robot, peralatan diagnostic serum darah. Low Cost Hardware harga hardware yang semakin rendah, ini dimungkinkan karena munculnya Personal Computer. Consummer Inpact Adanya perkembangan komputer yang murah menyebabkan banyaknya software yang dikembangkan, software ini memberi dampak yang besar terhadap masyarakat. Era Keempat (1990 – 2000) : Expert system
Ada pertanyan?
Tugas! Carilah materi tentang Mitos software yaitu berkaitan dengan Kode Etik dan hukum dalam RPL
Reference Pressman, Roger S., Software Engineering : A Practitioner’s Approach, 5th edition, McGraw-Hill International, 2001 Sommervile, Ian, Software Engineering, 7th Addison Wesley Publishing Company, 2003 http://web.unair.ac.id/admin/file/f_33720_rpl_1_Konsep_Dasar_Rekayasa_Perangkat_Lunak.pdf Konsep rekayasa perangkat lunak. Wardani Muhamad, M.T. Politeknik Telkom Introduction to Software Engineering. Prof. Lyle N. Long. lnl@psu.edu
Terima Kasih Sampai jumpa minggu depan…