P. 1
PERANCANGAN PERANGKAT LUNAK

PERANCANGAN PERANGKAT LUNAK

|Views: 163|Likes:

More info:

Published by: Doni Helton Janius Wowor on Sep 13, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

04/24/2013

pdf

text

original

PERANCANGAN PERANGKAT LUNAK

I. Pengantar
♦ Definisi : Perancangan perangkat lunak adalah disiplin manajerial dan teknis yang berkaitan dengan pembuatan dan pemeliharaan produk perangkat lunak secara sistematis, termasuk pengembangan dan modifikasinya, yang dilakukan pada waktu yang tepat dan dengan mempertimbangkan faktor biaya. ♦ Tujuan : Tujuan perancangan perangkat lunak adalah untuk :

memperbaiki kualitas produk perangkat lunak meningkatkan produktivitas memuaskan teknisi perangkat lunak.

• •

♦ Pengertian produk perangkat lunak : Produk perangkat lunak adalah perangkat lunak yang digunakan oleh berbagai pengguna, bukan untuk pengguna pribadi. ♦ Hal-hal • • yang perlu diperhatikan dalam pengembangan

sebuah produk perangkat lunak : kebutuhan dan batasan-batasan yang diinginkan pengguna harus ditentukan dan dinyatakan secara tegas, produk perangkat lunak harus dirancang sedemikian rupa sehingga mampu mengakomodasi paling tidak kepentingan tiga pihak berikut : 1. pelaksana implementasi, 2. pengguna,

• Prinsip dasar perancangan rekayasa perangkat lunak adalah merancang produk perangkat lunak yang meminimalkan jarak intelektual. • menyiapkan bantuan pelatihan. penyebaran produk yang telah mengalami modifikasi ke situssitus pengguna. • penulisan source code harus dilakukan dengan hati-hati dan senantiasa melalui tahap uji. prinsip pengoperasian. • user’s manual. 3. 2. dilengkapi dengan dokumen-dokumen pendukung seperti : 1. • • ♦ Jarak inteletual • Pemetaan antara model dengan realitas yang dimodelkan dikenal sebagai jarak intelektual antara suatu persoalan dengan komputerisasi solusi atas persoalan tersebut.3. ♦ Tugas-tugas pemeliharaan perangkat lunak meliputi : • • analisa terhadap permintaan perubahan. 4. perancangan ulang dan modifikasi terhadap source code yang diikuti dengan serangkaian proses uji. dan pemelihara produk. dokumen pemeliharaan. instruksi instalasi. ♦ Modul • Prinsip dasar untuk menangani kerumitan dalam perancangan perangkat lunak adalah dengan melakukan dekomposisi . dokumentasi perubahan dan pembaruan dokumen-dokumen yang berkaitan dengan modifikasi.

Dalam dekomposisi tersebut harus ditetapkan pengantarmukaan (interfacing) antar setiap subunit.terhadap sistem yang berukuran besar ke dalam beberapa subsistem yang lebih kecil. • penyampaian parameter (parameter passing) antar modul. rancangan. dituliskan dalam sebuah bahasa pemrograman tertentu. yaitu pemenuhan terhadap kebutuhan pengguna. serta pengelolaan proyek. • Pengantarmukaan Pengantarmukaan kendali data dilakukan dilakukan dengan dengan mekanisme mekanisme hubungan pemanggilan (calling) antar modul. ♦ Software Engineer • Software engineer bertugas melakukan analisa. pengemasan. uji dan verifikasi. • Software engineer harus mempunyai keterampilan dan pengalaman seorang programmer ♦ Kualitas Produk Perangkat Lunak Beberapa atribut yang merupakan ukuran kualitas perangkat lunak adalah : • • kegunaan. ♦ Programmer Programer adalah individu yang bertugas dalam hal rincian implementasi. yaitu kemampuan melaksanakan fungsi yang . baik pengantarmukaan kendali maupun data. dokumentasi. diinginkan. dan modifikasi algoritma serta struktur data. pemeliharaan perangkat lunak. keandalan. • • Unit dekomposisi tersebut dinamakan modul.

efisiensi.• • kejelasan. • • Distribusi upaya antara pengembangan dan pemeliharaan bervariasi antara 40/60. implementasi dan 3. peningkatan kemampuan produk. yaitu penulisan program dilakukan secara jelas dan mudah dimengerti. 2. analisa dan perancangan. pengujian. Beberapa Ukuran Yang Berkaitan Proyek ♦ Total Upaya Yang Dicurahkan Untuk Perangkat Lunak 100 % Hardware 80 Pengembangan s/w 60 40 Pemeliharaan s/w 20 0 1955 1960 1978 1985 Perubahan rasio biaya untuk h/w terhadap biaya untuk s/d 1985 ♦ Distribusi Upaya • Masa hidup sebuah produk perangkat lunak adalah 1 s/d 3 tahun dalam pengembangan dan 5 s/d 15 tahun dalam pemakaiannya (pemeliharannya). Tiga aktivitas pengembangan perangkat lunak adalah : 1. 30/70. • Tiga aktivitas pemeliharaan perangkat lunak adalah : 1. . terutama dalam waktu eksekusi dan penggunaan memory. dan bahkan 10/90. II.

3. Upaya Relatif pengembangan (40%) pemeliharaan (60%) 36% 16% 8% analisa dan perancangan implementasi uji 16% 12% penyesuaian peningkatan 12% perbaikan Diagram distribusi upaya dalam putaran hidup sebuah perangkat lunak (software life cycle. dan perbaikan.2. SLC) ♦ Kategori Ukuran Proyek Katagori Jumlah programme r 1 1 2-5 5-20 100-1K 2K-5K Lama pengerjaa n 1-4 minggu 1-6 bulan 1-2 tahun 2-3 tahun 4-5 tahun 5-10 tahun Jumlah Baris 500 1K-2K 5K-50K 50K-100K 1M 1M-10M Contoh proyek Trivial Kecil Menengah Besar Sangat Besar Extra Besar keperluan pribadi seorang programmer penyelesaian numerik masalah sains compiler berukuran tidak terlalu besar paket data base sistem operasi besar sistem pertahanan balistik . penyesuaian produk dengan lingkungan pemrosesan baru.

sakit. sampel : 70 programmer) Aktivitas % Wakt u 13 16 32 13 15 6 5 Keterangan Penulisan program Membaca program dan membuat manual Mengkomunikasi pekerjaan Kegiatan pribadi (libur. dsb) Lain-lain (kamar kecil.dua aspek dasar kemampuan : kecakapan umum dan terbiasa dengan aplikasi tertentu. rehat kopi.♦ Penggunaan Waktu Seorang Programmer Tabel aktivitas programmer (Bell Lab. ♦ Faktor • Yang Mempengaruhi Kualitas Produk dan Produktivitas Programmer Kemampuan pribadi : . telefon pribadi. dsb) Pelatihan Surat menyurat waktu efektif upaya perbaikan atas kegagalan (48%) waktu overhead (39%) Diagram distribusi aktivitas programer untuk dua buah proyek perangkat lunak. . Study.

kecuali jika para programmer baru tersebut mempunyai tugas yang tidak bergantung kepada hasil kerja programmer lama.yang dimaksud dengan kecakapan umum adalah kemampuan dasar dalam menulis program komputer dengan benar sedangkan ukuran produktivitas seorang programmer adalah banyak baris yang dihasilkan oleh programmer tersebut per hari. .tiga level kerumitan produk : program aplikasi. • Kerumitan produk program level sistem. . . • Komunikasi team meningkatnya ukuran produk yang dihasilkan akan menurunkan produktivitas programmer akibat meningkatnya kerumitan antara komponen-komponen program dan akibat meningkatnya komunikasi yang perlu dilakukan antara programmer. atau sebaliknya. level produktivitas contoh bahasa . . manajer. dimana n adalah jumlah programmer yang terlibat dalam proyek tersebut.ketidakakraban dengan lapangan aplikasi akan menghasilkan produktivitas rendah dan kualitas yang buruk.. . dan pelanggan. program utility.penambahan lebih banyak programmer dalam sebuah proyek yang sedang ber-jalan akan menurunkan produktivitas.seorang yang cakap dalam pemrograman belum tentu cakap pula dalam aplikasi sains. .Hukum Brooks : Adding more programmers to a late project may make it later.jumlah lintasan komunikasi antar programmer yang terjadi dalam sebuah proyek adalah n(n-1)/2.

tetapi di pihak lain juga merupakan sumber kesulitan dalam proses perancangannya. diuji. o perubahan terhadap produk harus tetap meminta persetujuan manajer sebagai penanggung jawab proyek. • Kendali perubahan o kelenturan sebuah produk perangkat lunak merupakan sebuah kekuatan. lingkungan . o • Pendekatan sistematis o sistem menetapkan teknik dan prosedur baku. reserve word) baku. dan didokumentasikan. C bahasa rakitan • Notasi yang tepat o bahasa pemrograman menetapkan notasi (baca : token. • Tingkat teknologi o peran penggunaan teknologi dalam proyek perangkat lunak misalnya menyangkut bahasa pemrograman.produ k aplikasi utility sistem relatif terhadap level sistem 25 s/d 100 5 s/d 10 1 produk pengolahan data compiler sistem operasi pemrograman Pascal. Cobol Pascal. terutama untuk hal-hal yang berkaitan dengan matematika. o dampak perubahan harus dapat ditelusuri. penetapan notasi antar programer (baca : perancang produk) harus dilakukan sehingga dapat dimengerti dengan jelas. o pembakuan dalam pengembangan dan pemeliharaan perangkat lunak masih belum mantap.

tidak mempunyai pengetahuan dasar tentang logika dan algoritma. • Ketersediaan waktu o penetapan lama proyek dan jumlah programmer terlibat harus mempertimbangkan kemampuan pribadi setiap programmer serta kemapuan komunikasi antar mereka. • Pemahaman permasalahan o pelanggan adalah penyumbang utama terhadap kegagalan dalam memahami masalah adalah : 1. menyediakan dan penggunaan tools tertentu. 2. tidak mengerti kemampuan dan keterbatasan komputer. tidak memahami permasalahan perusahaannya. . konstruksi aliran kendali. o peningkatan keandalan akan menurunkan produktivitas. o peningkatan keandalan dihasilkan melalui perhatian yang sangat besar pada tahap analisa. o pemrograman modern fasilitas penyesuaian pendefinisisan dan penggunaan data. o software engineer tidak memahami lapangan aplikasi. o Boehm : rasio produktivitas antara dua produk dengan keandalan terendah dengan yang tertinggi adalah 2:1. dan concurent programming • Tingkat keandalan o setiap produk harus mempunyai keandalan standar. teknik pemrograman. 3.mesin bahasa yang digunakan. gagal mendapatkan informasi kebutuhan pelnggan karena pelanggan bukan seorang end user. fasilitas modular.

dalam pendefinisian masalah dan 2. o proyek 1 bulan dengan 6 programmer bisa saja diganti dengan proyek 6 bulan dengan 1 programmer atau proyek 3 bulan dengan 3 programmer. kemampuan implementasi dengan penulisan program yang benar. 6. programmer yang makin sedikit berarti o jumlah memperbanyak beban kerja kepada setiap programmer. atau ruang kerjanya dapat ditata secara pribadi. dokumentasi.o jumlah programmer yang makin banyak akan meningkatkan overhead di antaranya akibat keperluan komunikasi. kemampuan debugging secara deduktif dengan kerangka “what if ”. . • Fasilitas dan sumber daya semua keterampilan tersebut harus senantiasa Fasilitas non teknis yang tetap perlu diperhatikan yang berkaitan dengan motivasi programmer misalnya : mesin yang baik. 3. serta tempat yang tenang. kemampuan bekerja dengan pelanggan. • Persyaratan keterampilan o berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak. keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya. kemampuan perancangan. 5. o dilatih. misalnya : 1. 4.

atau hanya sedikit mengetahui. seberapa banyak fungsi. o di sisi lain terjadi promosi jabatan menjadi manajer dimana yang berpromosi tidak atau kurang mempunyai kemampuan manajemen.• Pelatihan yang cukup Banyak programmer yang dilati dalam bidang-bidang : ilmu komputer. dan kemampuan dapat diberikan melalui sejumlah pengembangan. dan stabilitas terhadap memodifikasi perangkat lunak. akses. latar belakang teknik perangkat lunak. matematika. • Kemampuan manajemen o seringkali manajer proyek tidak mempunyai. tetapi jarang yang mendapat pelatihan dalam bidang teknik perangkat lunak. keandalan. • Faktor lain sistem komputer dalam mengembangkan atau Faktor lain di antaranya adalah : keakraban. ♦ Masalah Manajerial . teknik elektro. masalah mendasar dari keterbatasan teknologi perangkat lunak. • Peningkatan kualitas Dua aspek yang menimbulkan keinginan untuk meningkatkan kualitas produk adalah : 1. 2. akuntansi. • Sasaran yang tepat Sasaran utama dari teknik perangkat lunak adalah pengembangan produk-produk perangkat lunak yang tepat untuk digunakan.

proyek prosedur.• Sejumlah masalah yang seringkali muncul : 1. tetapkan kriteria keberhasilan proyek 7. tidak digunakannya prosedur. buruknya prosedur dan teknik pemilihan manajer proyek 3. laksanakan lakukan pendokumentasian 3. buruknya kemampuan untuk menetapkan sumber daya yang dibutuhkan proyek 5. dan teknik dalam perancangan sistem kendali yang memungkinkan manajer dapat mengontrol proyeknya dengan baik 9. siapkan rencana darurat . tetapkan kualitas dengan acuan standar peluncuran produk 6. tidak diterapkan prosedur. kriteria keberhasilan proyek tidak tepat 6. metoda. tetapkan tujuan dengan menyatakan kualitas yang diinginkan 5. buruknya perencanaan proyek 2. analisa menentukan metode yang efektif 4. sebelumnya dan untuk 2. standar dan teknik untuk mengukur kualitas kerja dan produktivitas programmer dan analis pengolahan data tidak dijalankan • Beberapa solusi yang dapat dilakukan : 1. teknik. tidak diketahui dengan tepat siapa penanggung jawab buruknya hasil proyek 4. lakukan pendidikan dan pelatihan terhadap manajemen puncak dan manajer proyek penggunaaan data dari standar. buruknya struktur organisasi proyek 7. dan strategi yang dapat menyediakan kejelasan perkembangan proyek 10. pemilihan teknik menajemen yang tidak tepat 8.

kembangkan kejujuran.8. buat penetapan kerja yang spesifik untuk setiap pelaksana dan tetapkan standar kerja. . bukan berdasarkan kemampuan teknik atau (apalagi) memang tidak ada orang lain lagi 10. akurasi biaya. pilih manajer proyek berdasarkan kemampuannya memimpin proyek. dan perkiraan jadwal proyek yang dapat diterima manajemen dan pelanggan 9.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->