1 - konsep dasar rekayasa perangkat lunak (1)

Post on 18-Feb-2016

45 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

sdadadas

TRANSCRIPT

19 Agustus 2015

Konsep Dasar Rekayasa Perangkat Lunak

Sekumpulan baris kode yang ditulis menurut

aturan bahasa pemrograman tertentu, disimpan

dan dijalankan pada arsitektur perangkat keras

untuk menjalankan fungsi fungsi tertentu.‐

Apa itu Perangkat Lunak?

• Instruksi• Atau program komputer yang ketika dieksekusi akan

memberi fungsi dan hasil yang diinginkan.

• Struktur data• Yang memungkinkan program memanipulasi informasi

• Dokumen• Yang menggambarkan operasi dan penggunaan program.

Apa itu Perangkat Lunak?

Sistem Operasi

Sistem Tertanam

Perangkat Lunak Aplikasi: Bisnis, ilmiah, lini produk

Aplikasi Web

Aplikasi Mobile

Utility

Kecerdasan Buatan

Jenis Perangkat Lunak

PL dikembangkan bukan diproduksi: Kualitas PL tidak terlihat secara fisik, harga dapat ditentukan konsumen

PL tidak mengalami ke ausan: PL tidak dipengaruhi ‐lingkungan: debu, cuaca, goncangan; PL tdk memilki suku cadang

PL dapat digunakan kembali (reusable): Komponen PL dapat digunakan berulang ulang meskipun dengan ‐platform berbeda

Karakteristik Perangkat Lunak

Perangkat lunak telah diselesaikan dan diserahkan (delivered) tetapi tidak pernah digunakan (47%).

Pemakai (user) sudah membayar untuk perangkat lunak tetapi tidak pernah jadi dan diserahkan (29,7%).

Perangkat lunak digunakan sebagaimana mestinya (2%).

Masalah dalam Perangkat Lunak

Bagaimana memenuhi kebutuhan pelanggan terhadap perangkat lunak?

Bagaimana membuat harga PL lebih terjangkau?

Bagaimana merancangan sebuah PL yang baik?

Bagaimana dapat membuat PL secara cepat sesuai jadwal?

Bagaimana membuat perangkat lunak yang dpt diandalkan?

Bagaimana perangkat lunak tetap dapat dirawat/dipelihara?

Tantangan Perangkat Lunak

Ada banyak buku membahas mengenai perangkat lunak, bukankah itu cukup untuk memandu developer membuat perangkat lunak?

Apakah disadari keberadaannya, apa dpt dijangkau, apakah isi tsb cukup lengkap mengatasi persoalan yg dihadapi, apa isi buku up to date dengan permasalahan?

Mitos Perangkat Lunak: Manager

Ketika jadwal deadline sudah dekat menambah jumlah developer akan mempercepat waktu pengerjaan perangkat lunak?

Menambahkan orang ke dalam proyek perangkat lunak tidak serta merta mempercepat waktu penyelesaian ‐proyek karena pendatang baru harus beradaptasi dan perlu diajari sehingga memerlukan waktu tambahan

Mitos Perangkat Lunak: Manager

Menyatakan tujuan umum cukup untuk memulai membuat program?

Pernyataan tujuan harus bersifat definitive tdk boleh ambigu diperlukan untuk memulai membuat program

Mitos Perangkat Lunak: Pelanggan

Kebutuhan perangkat lunak terus berubah dan itu merupakan hal yang mudah karena perangkat lunak bersifat fleksibel?

Perangkat lunak memang bisa berubah setiap saat akan tetapi hal tersebut membutuhkan biaya lebih besar, ketika perubahan baru didefinisikan saat program sudah memasuki tahap konstruksi ketimbang pada tahap perancangan

Mitos Perangkat Lunak: Pelanggan

Begitu selesai menuliskan kode program berarti program sudah selesai?

Kenyataan 60 80% proses perangkat lunak ‐dikerjakan ketika produk sudah diserahkan ke pelanggan

Mitos Perangkat Lunak: Developer

Sampai program selesai dibuat, tidak ada cara untuk menjalankanya/mengujinya?

Pengujian sudah dapat dilakukan sejak awal program dibuat maupun saat program dibuat

Mitos Perangkat Lunak: Developer

Satu satunya goal adalah membuat ‐program aplikasi berjalan?

Program/aplikasi bukan satu satunya ‐tujuan. Di samping itu terdapat model, perencanaan, dokumentasi yang terkadang justru lebih penting

Mitos Perangkat Lunak: Developer

Ilmu yang mempelajari tehnik

pembuatan software yang baik

dengan pendekatan tehnik

(Engineering approach)

Rekayasa Perangkat Lunak?

Metodologi / prinsip prinsip untuk ‐mengembangkan perangkat lunak

yang handal, efisien, tepat waktu

sesuai kebutuhan pelanggan

Rekayasa Perangkat Lunak?

1. Fase Definisi (What)

Merupakan fase indentifikasi informasi yang akan diproses.

2. Fase Pengembangan (How)

Berfokus pada bagaimana pengembangan perangkat lunak dilakukan ?

3. Fase Pemeliharaan (Change).

Berhubungan dengan koreksi kesalahan dan penyesuaian yang dibutuhkan.

Empat tipe perubahan dalam fase pemeliharaan adalah Koreksi, Adaptasi, Perkembangan dan Pencegahan

Fase dalam Rekayasa Perangkat Lunak

1. PL telah menyatu dengan kehidupan sehari hari, banyak ‐suara yang harus didengar, beda pelanggan berbeda kebutuhan, sehingga memahami masalah harus didahulukan sebelum solusi dibuat.

2. Kebutuhan PL telah berkembang pesat ke dalam bentuk‐bentuk yang lebih rumit, lebih canggih, sehingga kompleksitas ini menuntut perancangan sebagai kegiatan yang penting dilakukan

Langkah-langkah dalam Rekayasa Perangkat Lunak?

3. Individu mapun organisasi organisasi semakin ‐mengandalkan PL untuk menunjang keputusan taktis maupun strategis, PL yang gagal berdampak buruk terhadap individu atau organisasi tersebut oleh karena itu PL harus dapat diandalkan setiap saat.

4. Seiring dengan kemajuan teknologi, bertambahnya pengguna maka tuntutan untuk beradaptasi dan peningkatan mutu bertambah pula, maka PL harus bersifat dapat dirawat/diperbarui.

Langkah-langkah dalam Rekayasa Perangkat Lunak?

1. Pahami Permasalahannya: siapa yang terkait dgn

masalah, fitur apa yg dibutuhkan, dapatkah masalah

dianalisis dan dikategorikan.

2. Rancang Solusinya: Pernahkan Anda atau anggota tim

menghadapi masalah yang serupa, dapatkah model

perancangan diajukan.

Solusi Praktis

3. Laksanakan Rancangannya: Pernahkah kode program

yang dibuat/algoritma diulas, apakah kode program

dapat dilacak melalui rancangannya.

4. Periksa Hasilnya: Mungkinkah untuk menguji solusi

yang diajukan, apakah solusi sudah menghasilkan

informasi yang dinginkan pelanggan.

Solusi Praktis

3. Laksanakan Rancangannya: Pernahkah kode program

yang dibuat/algoritma telah diulas? Apakah kode

program dapat dilacakmelalui rancangannya?

4. Periksa Hasilnya: Mungkinkah untuk menguji solusi

yang diajukan? Apakah solusi sudahmenghasilkan

informasi yang dinginkan pelanggan?

Solusi Praktis

Masalahnya adalah kompleksitas Banyak dibutuhkan sumber-sumber, tetapi kuncinya adalah

ukuran (size) : UNIX berisi 4 juta lines of code. Windows 2000 berisi 108 lines of code yang dikerjakan oleh Tim dengan

anggota 1400 orang.

Soft. Engineering adalah bagaimana mengelola kompleksitas tersebut dan dapat bekerja dalam

satu Team Work

Mengapa perlu RPL?

Bagaimana bekerja dalam suatu proyek skala besar, kompleks & melibatkan banyak orang ?

1. Spesifikasi Kebutuhan (requirement specification)

2. Analisis (analysis)

3. Perancangan (design)

4. Implementasi & Pengujian (implementastion & testing)

5. Perawatan & Up-grade (maintenance & upgrade)

Tahapan Pengembangan RPL

Evolusi Perangkat Lunak

Tahun-tahun Pertama• Batch Orientation

Suatu orientasi di mana proses dilakukan setelah data dikumpulkan dalam satuan waktu tertentu, atau proses dilakukan setelah data terkumpul, lawan dari batch adalah ONLINE atau Interactive Process. Keuntungan dari Interactive adalah mendapatkan data yang selalu up to date.

• Limited distribution

Suatu penyebaran software yang terbatas pada perusahaan-perusahaan tertentu.

• Custom software

Software yang dikembangkan berdasarkan keinginan perusahaan-perusahaan tertentu.

Era KeduaMulti user

Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat yang sama.

Real Time

Suatu sistem yang dapat mengumpulkan, menganalisa dan mentransformasikan data dari berbagai sumber, mengontrol proses dan menghasilkan output dalam mili second.

Era KeduaDatabase

Perkembangan yang pesat dari alat penyimpan data yang OnLine menyebabkan muncul generasi pertama DBMS (Database Management System).

Product Software

Adalah software yang dikembangkan untuk dijual kepada masyarakat luas.

Era Ketiga• 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.

Era Ketiga• Low Cost Hardware

Harga hardware yang semakin rendah, ini dimungkinkan karena munculnya Personal Computer.

• Consumer Impact

Adanya perkembangan komputer yang murah menyebabkan banyaknya software yang dikembangkan, software ini memberi dampak yang besar terhadap masyarakat.

Era Keempat• Expert system

Suatu penerapan A.I. (Artificial Intellegence) pada bidang-bidang tertentu, misalnya bidang kedokteran, komunikasi, dll.

• AI Machine

Suatu mesin yang dapat meniru kerja dari sebagian otak manusia. Misalnya mesin robot, komputer catur.

• Parallel Architecture

Arsitektur komputer yang memungkinkan proses kerja LAN paralel, yang dimungkinkan adanya prosesor berbeda dalam satu komputer

top related