Senin, 23 September 2013

BAB 2 || MODEL PROSES PERANGKAT LUNAK


Proses Perangkat Lunak
 sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak, di mana setiap aktifitas bersifat saling terkait (koheren) untuk menspesifikasikan merancang, implementasi dan pengujian sistem perangkat lunak.
aktifitas generic dalam semua proses perangkat lunak adalah
  • Initial proses perangkat lunak yang ditandai sebagai ad hoc
  • Repeatable Proses-proses manajemen proyek dasar dibangun untuk menelusuri masalah biaya, jadwal dan fungsionalitas
  • Defiend Proses perangkat lunak, baik untuk aktifitas manajemen atau perekayasaan didokumentasi, distandarkan dan diintregrasi kedalam proses perangkat lunak organisasi besar
  • Management Pengukuran detail terhadap proses perangkat lunak dan kualitas produksi dikumpulkan.
  • Optimizing Pertambahan proses yang terus menerus dimungkinkan oleh umpan balik kuantitatif dari proses dan dari gagasan inovatif pengujian serta teknologi
Pengembangan Perangkat Lunak
Pengembangan perangkat lunak adalah suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak.
Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses pengembangan perangkat lunak mengikuti tahap-tahap:
  • Menentukan APA yang harus dikerjakan oleh perangkat lunak dalam suatu rentang waktu tertentu
  • Mendefinikan BAGAIMANA perangkat lunak dibuat, mencakup arsitektur perangkat lunaknya, antarmuka internal, algoritma, dan sebagainya
  • Penerapan (penulisan program) dan pengujian unit-unit program
  • Validasi perangkat lunak secara keseluruhan (pengujian sistem)

Pemodelan Proses Perangkat Lunak
Model proses Perangkat Lunak merupakan suatu representasi proses perangkat lunak yang disederhanakan, dipresentasikan dan perspektif khusus. Contoh perspektif proses:
  • Perspektif Alur-kerja (workflow)-barisan kegiatan
  • Perspektif Alur Data (data flow) - alur informasi
  • Perspektif Peran - siapa melakukan apa
Model Sekuensial Linier (Waterfall)
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNvojdVJWXVJx1BoCfAHZD28umYK8NZ7WOPdOF1Qb8VoFpBoKUCZYtOzW8__EUWjIH5o0DQupFU5undI3KS_sokfeYVmgSx-T7BNZ14Rbb2a7LkX9mgNBR5wjWtHnCgeLQSgwkb7vvhBWq/s320/waterR.jpg
Aktifitas model sekuensial linier meliputi:
  • Rekayasa dan Pemodelan Sistem / Informasi
  • Analsis Kebutuhan Perangkat Lunak
  • Desain
  • Generasi kode
  • Pengujian (tes)
  • Pemeliharaan
Model waterfall adalah model yang paling lama dan bayak secara luas digunakan sebagai paradigma untuk rekayasa software
Keuntungan : Sederhana, langkah secara terurut, fokus dan mudah diikuti
Kekurangan : 
  • Tidak fleksibel sebab proyek yang nyata jarang mengikuti aliran yang terurut untuk menyusun model
  • Sangat sulit untuk costumer terhadap menghadapi semua kebutuhan yang eksplisit
  • Costumer harus memiliki kesabaran untuk menunggu keabsahan produk software dalam fase
  • Yang terlambat
  • Costumer tercakup dalam awal proyek
  • Pembuat sering ditunda secara tidak berhubungan diantara fase

Model Prototipe
http://ali.misri07.alumni.ipb.ac.id/files/2010/06/Prototype.jpg
Model prototpe ini dimulai dengan mengumpulkan kebutuhan. Pengembang dan pelanggan bertemu dan mendenfinisikan obyektif keseluruhan dari perangkat lunak, dan mengidentifikasikan segala kebutuhan yang diketahui.
Prototipe bisa menjadi paradigma yang efektif bagi rekayasa perangkat lunak. Kuncinya adalah mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang keduanya harus setuju bahwa "prototype di bangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan
Keuntungan :
  • Mudah dan cepat identifikasi kebutuhan costumer
  • Costumer mengecek prototipe di awal tingkatan dan menyediakan input dan umpan baliknya
Model RAD
http://karthiksangi.files.wordpress.com/2009/07/rad2.jpg
Rapid application Development (RAD) adalah sebuah model proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek
Pendekata RAD melingkupi fase-fase berikut:
  • Pemodelan Data
  • Pemodelan Bisnis
  • Pemodelan Aplikasi
  • Pengujian dan Turnover
Keuntungan: 
  • Waktu pembuatan yang pendek
  • Pengurangan biaya supaya software digunakan kembali dan konstruksi dasar komponen
Kelemahan:
  • RAD butuh developer dan pelanggan yang diijinkan untuk menyusun
  • Pembuatan software adalah spesifik proyek, dan tidak boleh dimodulkann secara baik
Model Proses Perangkat Lunak Evolusioner
Model proses klasik tidak dirancang untuk mengirim sistem yang produktif sehingga asumsiya pada :
  • Sistem yang akan dikirimkan setelah urutan linear diselesaikan
  • Costumer mengetahui yang mereka inginkan di tingkatan awal
Realita dalam proses pembuatan software
  • Banyaknya kebutuhan perubahan selama latihan pembuatan
  • Banyaknya aktifitas iterasi dan bekerja sebab evolusi alami dari produksi software
Persetujuan yang sulit dengan evolusi produk, beberapa evolusi model proses yang disusun:
  • the incremental model
  • the spiral model
  • the component assembely model
  • the concurrent development model
Model Formal
Meskipun belum menjadi pendekatan utama, metode inin



BAB 1 || PERANGKAT LUNAK SEBAGAI PRODUK


Kata Pengantar
Pada umumnya mahasiswa Teknik Informatika dan Sistem Informasi lebih mengutamakan pemograman, karena menurut mereka itu adalah kemampuan inti yang harus dikuasai. pada kenyataannya, banyak kemampuan lain yang mungkin selama in dianggap sebelah mata, justru menjadi penopang dan penentuk proses membangu perangkat lunak, kerja sama dalam tim, kemampuan berkomunikasi, kemampuan membuat dokumentasi, kemampuan wawancara, kemampuan belajar cepat bidang lain diluar pemograman dan sebagainya.

Latar Belakang Disiplin RPL
faktor-faktor yang melatarbelakangi munculnya RPL:
  • Ketidakmampuan organisasi memprediksi waktu, usaha dan biaya untuk membangun perangkat lunak
  • Perubahan nisbah/rasio beaya perangkat keras terhadap harga perangkat keras
  • Kemampuan pesat perangkat keras
  • Kemajuan dalam teknik-teknik pembuatan perangkat lunak
  • Tuntutan yang lebih tinggi terhadap jumlah perangkat lunak
  • Tuntuatan yang lebih tinggi terhadap mutu perangkat lunak
  • Meingkatnya peran pemeliharaan
Perangkat Lunak (Software)
Nama lain dari Software adalah perangkat lunak. Karena disebut juga sebagai perangkat lunak, maka sifatnya pun berbeda dengan hardware atau perangkat keras, jika perangkat keras adalah komponen yang nyata yang dapat diliat dan disentuh oleh secara langsung manusia, maka software atau Perangkat lunak tidak dapat disentuh dan dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda namun  bisa untuk dioperasikan.
Pengertian software adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. Melalui sofware atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah

Jenis Perangkat Lunak
Pengelompokan jenis perangkat lunak dapat dilakukan dengan mengelompokan cara pembuatannya, pembuatan perangkat keras dapat dikelompokan menjadi dua yaitu:

Perangkat Lunak Generik
Perangkat Lunak Pesanan

Sedangkan bila dikelompokan berdasarkan penggunaannya dikelompokan dalam 8 kategori yaitu:

System Software
Real-time Software
Business Software
Engineering and Scientific Software
Embedded Software
Personal Software
Web Base Software
Artificial Intelligence Software

Perbedaan Karakteristik
Sebagai "barang" yang terintegrasi dalam sebuah system komputer, perangkat lunak memiliki perbedaan bila dibanding perangkat keras antara lain 
  1. Perangkat lunak bukan produk pabrikan, perangkat keras bukan merupakan "barang yang di buat oleh pabrik", dimana sifatnnya secara fisik tidak akan terlihat, control terhadap kualitas produk sesuai dengan ketelitian pembuatan algoritma
  2. Perangkat lunak mengalami wear out, berbeda dengan perangkat keras perangkat yang memiliki usia teknik tertentu pada batas waktu tertentu beberapa komponen akan mengalami kerusakan atau penurunan fungsi, kerusakan yang terjadi pada beberapa komponen perangkat keras selalu mempengaruhi kinerja perangkat keras bahkan terkadang berhenti sama sekali
  3. Sebagian besar perangkat lunak dibangun dengan dikembangkan dengan menggunakan desain dan komponen software yang telah ada sebelumnya.
Kateristik Perangkat Lunak
Atribut Perangkat Lunak seharusnya memberikan pengguna kebutuhan fungsionalitas dan untik kerja yang dapat dirawat, berguna. dalam buku software eggineering Ian Sommerville, Perangkat lunak mempunyai karakteristik sebagai berikut :
  1. Maintability (dapat dirawat), perangkat lunak harus dapat memenuhi perubahan kebutuhan
  2. Dependability, perangkat lunak harus dapat dipercaya
  3. Efisiensi, Perangkat Lunak harus efisien dalam penggunaan redource
  4. Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang Direncanakan
Mutu Perangkat Lunak
Terdapat 3 pihak (minimal) yang mempengaruhi mutu perangkat lunak yaitu
  • Sponsor
  • User
  • Developer
Mitos Perangkat Lunak
  • Mitos Manajemen Manajer yang bertanggung jawab terhadap masalah perangkat luak, seperti juga manajer pada kebanyakan disiplin, sering mengalami tekanan karena masalah pengaturan keuangan, menjaga jadwal agar tidak kacau dan peningkatan kualitas.
  • Mitos Pelanggan Pelanggan mempercayai mitos tentang perangkat lunak karena manajer dan para pelaksana yang bertanggung jawab atas masalah perangkat lunak hanya bekerja sedikit saja untuk memperbaiki kesalahan informasi.
  • Mitos para Praktisi Pemograman dilihat sebagai sebuah karya seni
Krisis Perangkat Lunak
  •  Masalah nyata yang sudah menganggu perkembanagan perangkat lunak
  • Serangkaian masalah yang terjadi dalam perkembangan perangkat lunak komputer
  • Masalah yang tidak hanya terbatas pada perangkat lunak yang tidak berfungsi dengan baik tapi juga pada penderitaan yang melingkupi masalah-masalah yang berhubungan dengan bagaimana mengembangkan perangkat lunak, bagaimana memelihara volume perangkat lunak yang sedang tumbuh dan bagaimana mengejar kebutuhan perangkat lunak lebih banyak lagi