Download - Pertemuan Ke-1 Pengantar RPL

Transcript
  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    1/34

    REKAYASA PERANGKAT LUNAK

    (SOFTWAREENGINNERING)

    Harjono Padmono Putro, ST, MKomSemester Genap 2013/2014

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    2/34

    GRADUATION

    2

    Absensi: 10% syarat mengikuti UAS = 75% dari kehadiran

    Tugas 2x: 20% Tugas 1 (10%) Tugas 2 (10%)

    UTS: 30% UAS: 40% materi dari awal kuliah

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    3/34

    BUKU

    Software Engineer ing: A Pract i t ioner 's Ap proach

    Pengarang : Roger S. Pressman

    Penerbit: Fourth Edition, McGraw-Hill, 1997

    Sommerville I. (2001)

    Software Eng ineer ing

    6thEdition, Addison-Wesley, Harlow, Essex, UK

    Stevens P. with Pooley, R. (2000)

    Using UML: Softw are Engineer ing w ith Objects and

    Components,

    Addison-Wesley, Harlow, Essex, UK 3

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    4/34

    TUJUAN

    4

    Mahasiswa mengetahui konsep RPL danmemahami berbagai jenis proses dalam RPL

    Mahasiswa mengerti dan mampu membuat DFD,ERD, STD dan Kamus Data.

    Mahasiswa mengerti konsep pengembangan OOdan mampu membuat berbagai Diagram dalam

    UML. Mahasiswa mengerti konsep pengujian sistem.

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    5/34

    MATERIPERKULIAHAN #1

    Pertemuan ke-1 : Pengantar RPL

    Pertemuan ke-2 : Analisa Sistem 1

    Pertemuan ke-3 : Analisa Sistem 2

    Pertemuan ke-4 : Model Analisa 1 Pertemuan ke-5 : Model Analisa 2

    Pertemuan ke-6 : Quis 1

    Pertemuan ke-7 : Perancangan Sistem

    Ujian Tengah Semester

    5

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    6/34

    MATERIPERKULIAHAN #2

    Pertemuan ke-8 : OOAD

    Pertemuan ke-9 : UML 1

    Pertemuan ke-10 : UML 2

    Pertemuan ke-11 : Pengujian Sistem Pertemuan ke-12 : Perawatan Sistem

    Pertemuan ke-13 : Quis 2

    Pertemuan ke-14 : Model Pengembangan Multimedia

    Ujian Akhir Semester

    6

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    7/34

    PENGANTARRPLPertemuan 17

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    8/34

    PENYELESAIANMASALAH

    (PROBLEMSOLVING)

    8

    COMPUTER

    SCIENCECUSTOMER

    SOFTWARE

    ENGINEERING

    Teori FungsiComputer Problem

    Tools dan

    Teknik utk

    Menyelesaikan

    Problem

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    9/34

    MITOSDALAMSOFTWAREENGINEERING

    The only deliverable for a successful project is a

    working program

    9

    Plan Requirements Design

    Data Structures

    Test Specs

    WorkingProgram

    Listings

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    10/34

    10

    Grab the tail and it feels like a rope. Grab a leg and it seems like a tree.

    Grab its trunk and it feels like a hose.

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    11/34

    MENGAPAPERLUSOFTWAREENGINEERING

    Masalahnya adalah kompleksitas

    Banyak dibutuhkan sumber-sumber, tetapikuncinya adalah ukuran(size):

    UNIX berisi 4 juta lines of code Windows 2000 berisi 108lines of code dikerjakan

    oleh Timdengan 1400 orang

    Software engineering adalah bagaimana mengelolakompleksitas tersebut dan dapat bekerja dalam

    satu Tim Work. 11

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    12/34

    SAMPLE: TEAMSIZE

    12

    Product Dev Team Size Test Team Size

    NT 3.1 200 140

    NT 3.5 300 230

    NT 3.51 450 325

    NT 4.0 800 700

    Win2000 1400 1700

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    13/34

    PERTANYAAN MENDASAR

    Apa yang dimaksud dengan Perangkat

    Lunak (Software) ?

    13

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    14/34

    PERANGKAT LUNAK

    Menurut Terminologi IEEE:Softwareadalah koleksi dari program-program

    komputer, prosedur-prosedur, aturan-aturan serta data

    dan dokumentasi yang terhimpun didalamnya 14

    (SOFTWARE)

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    15/34

    KATEGORIPERANGKATLUNAK(SOFTWARE)

    Produk perangkat lunak dapat dikembangkan

    untuk pemakaian khusus atau dikembangkan

    untuk suatu keperluan umum.

    Generik : dikembangkan untuk dijual kepada

    sejumlah pemakaia yang berbeda-beda.

    Custom : dikembangkan untuk pemakai

    tunggal sesuai spesifikasi yang diinginkan.

    15

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    16/34

    PERANGKAT LUNAK

    16

    PerangkatLunak

    Instruksi-instruksi

    Prosedur-

    prosedur

    Data-dataterstruktur

    Dokumen-dokumen

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    17/34

    PERANGKATLUNAKDAPATBERUPA:

    Instruksi-instruksi(program komputer) yang jikadieksekusi memberikan fungsi dan keandalanyang diinginkan.

    Prosedur-proseduryang menggambarkan

    tahapan-tahapan pelaksanaan program, keluarandari tiap tahap, kendali jaminan kualitas dan mile-stones kemajuan

    Data-data terstrukturyang memungkinkan

    program dapat memanipulasi informasi.

    Dokumen-dokumenyang menggambarkan operasidan penggunaan program.

    17

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    18/34

    EVOLUSI

    PERANGKAT

    LUNAK

    1950

    1960

    1970

    1980

    1990

    2000

    18

    Tahun-tahun Awal Batch orientation Limited distribution Custom software

    Era Kedua Multiuser Real-time Database Product software

    Era Ketiga Distributed systems Embedded intelligence Low-cost hardware Consumer impact

    Era Ke-empat Powerful desk-top systems Object-oriented technologies Expert systems Soft computing (ANN, Fuzzy Logic)

    Parallel computer

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    19/34

    PERTANYAAN

    Apa yang dimaksud dengan software engineering

    (rekayasa perangkat lunak) ?

    19

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    20/34

    REKAYASAPERANGKATLUNAK

    Definisi Klasik (1969)

    20

    The establishment and use of sound engineering principles in

    order to obtain economically software that is reliable and works

    efficiently on real machines.

    Penerapan prinsip engineering untuk memperoleh software yang

    ekonomis, reliable dan bekerja efisien pada komputer

    Definisi IEEE (1993)Software Engineering: (1) The application of a systematic, disciplines,

    quantifiable approach to the development, operation, and maintenance of

    software; that is the application of engineering to software. (2) The

    study of approaches as in (1).

    RPL : (1) Penerapan secara sistematis, disiplin, pendekatan terukur pada

    pengembangan, pengoperasian dan pemeliharaan software. (2) Studi

    terhadap (1)

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    21/34

    DEFINISI

    Menurut Fritz Bauer (1969)

    Software Engineeringadalah pendekatan sistematik untukpengembangan, pengoperasian, perawatansuatuperangkat lunak yaitu dengan menerapkan prinsip rekayasadalam usaha memperoleh perangkat lunak yang ekonomis,dapat bekerja secara andaldan efisienpada mesinsebenarnya.

    21

    Menurut Boehm (1986)

    Software Engineeringadalah aplikasidari sainsdanmatematika yang membuat peralatan komputer menjadibermanfaat bagi manusia melalui programkomputer,prosedurdan dokumentasiyang berhubungan dengannya.

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    22/34

    DEFINISI

    22

    Menurut Richard Fairly (1985)

    Software Engineeringadalah disiplinyang secarateknologi danmanajerialberhubungan dengan produksidan perawatansuatu perangkat lunak, yang

    dikembangkandan dimodifikasi menurut fungsi waktudan dengan perkiraan biayadidalamnya.

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    23/34

    TIGAELEMENKUNCIPADAREKAYASAPL

    23

    Software

    Engineering

    Metodologi

    PerangkatBantu

    Prosedur

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    24/34

    1. MetodologiMerupakan sekumpulan teknik atau metoda untukmembangun suatu perangkat lunak melalui

    beberapa tahap pengembangan.2. Perangkat pembantu (Tools)

    Perkakas untuk dipergunakan pada prosespengembangan.

    Misal: CASE, data flow diagram, decision table,program design language (PDL), dll.

    3. ProsedurPengelolaan kegiatan pengembangan (manajemen).

    Misal: Mendefinisikan tahapan-tahapan untukpenerapan metoda, keluaran dari tiap tahap(dokumen, laporan, formulir), kendali jaminankualitas dan mile-stones kemajuan proyek.

    24

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    25/34

    Software engineeringadalah suatu disiplinrekayasa yang berhubungan dengan seluruh

    aspek produksi perangkat lunak.

    Perekayasa perangkat lunak harus:

    Menerapkan pendekatan sistematik danterorganisasi kedalam pekerjaan mereka.

    Menggunakan perangkat dan teknik tertentuyang tergantung pada:

    Masalah yang harus dipecahkan; Keterbatasan-keterbatasan untuk

    pengembangan;

    Sumber-sumber yang tersedia.25

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    26/34

    Tujuan pokokdari software engineeringadalah

    membuat pengembangan perangkat lunak lebih dekat ke

    sains dan jauh dari suatu karya seni

    Tujuan Dasardari suatu software engineeringadalah

    untuk menghasilkan suatu perangkat lunak berkualitas,

    tepat waktu dan ekonomis.

    Ekonomissebab rancangan yang buruk berakibat pada

    peningkatan biaya pemeliharaan.

    26

    TUJUANRPL

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    27/34

    TUJUAN RPL

    Menciptakan suatu program untuk dapatmemecahkan masalah secara fungsional.

    Menjamin kualitas karakteristik seperti reliabilitydan

    performance.

    Membuat dokumentasi yang baik, mudah dimengerti

    dan mudah dimodifikasi.

    27

    (Menurut Bill Gates)

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    28/34

    JADISOFTWAREENGINEERINGTERUTAMA

    UNTUKMENJAWABMASALAH:

    Kualitas Perangkat Lunak Menentukan kehandalan sistem komputer.

    Mempengaruhi unjuk kerja sistem.

    Menentukan apakah perangkat lunak mudahdipelihara dan dikembangkan.

    Pemeliharaan Perangkat Lunak Memperbaiki kesalahan (bugs) pada perangkat

    lunak. Menyesuaikan dengan perubahan perangkat keras

    dan sistem perangkat lunak.

    Menyesuaikan dengan perkembangan dunia usahadan organisasi.

    28

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    29/34

    PERTANYAAN

    Apa perbedaan antara software engineering

    (rekayasa perangkat lunak) dengan computer

    science (ilmu komputer) ?

    29

    P S

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    30/34

    PERBEDAANANTARASOFTWAREENGINEERING

    DENGANCOMPUTERSCIENCE

    30

    Computer Science Software Engineering

    Berhubungan dengan:

    Teori-teori

    Dasar-dasar Ilmu

    Komputer

    Pengetahuan praktisuntuk pengembangan

    Untuk menghasilkanperangkat lunak yangberguna.

    P S

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    31/34

    PERBEDAANANTARASOFTWAREENGINEERING

    DENGANCOMPUTERSCIENCE

    Computer science terkait dengan teori-teori dan

    dasar-dasar dari ilmu komputer, sedangkan

    software engineering terkait pada pengetahuan

    praktis mengenai pengembangan dan penyerahanperangkat lunak yang berguna.

    Teori-teori Ilmu Komputer biasanya tidak cukup

    digunakan sebagai pendukung yang lengkap dari

    software engineering.

    31

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    32/34

    SOFTWARE ENGINEERING

    Software engineering berhubungan dengan teori-teori,metoda-metoda dan alat-alat (tools) untuk pengembangperangkat lunak profesional.

    Tools dan prosedur digunakan untuk membantumengelola ukuran, kompleksitas dan jaminan kualitasdari produk perangkat lunak yang dihasilkan.

    32

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    33/34

    IEEE STANDARD1074-1991 FORDEVELOPINGOF

    SOFTWARELIFECYCLEPROCESSES.

    Stardar IEEE untuk Pengembangan Proses Siklus

    Hidup Perangkat Lunak.

    Standar ini meliputi proses-proses pada

    pengembangan perangkat lunak dan

    perawatannya.

    Standard ini diikuti oleh ISO/IEC 12207 untuk

    Software Life Cycle Processes yang dipublikasikanpada 1 Agustus 1995.

    33

  • 7/22/2019 Pertemuan Ke-1 Pengantar RPL

    34/34

    THE END

    &

    QUESTIONANSWERS

    34