Mitos Perangkat Lunak

Wednesday, October 31, 2012
Mitos perangkat lunak ada 3, yaitu :
1. Mitos Manajemen 
2. Mitos Pelanggan 
3. Mitos praktisi

1. Mitos Manajemen

a. Kita tidak perlu mengubah pendekatan terhadap pengembangan software, karena jenis pemrograman yang kita lakukan sekarang ini sudah dilakukan 10 tahun yang lalu.
realitasnya : Walau hasil program sama, produktivitas dan kualitas software harus ditingkatkan dengan menggunakan pendekatan software developments.

b. Kita sudah mempunyai buku yang berisi standarisasi dan prosedur untuk pembentukan software.
Realitasnya : Memang buku tersebut ada, tetapi apakah buku tersebut sudah dibaca atau buku tersebut sudah ketinggalan jaman (out of date).

c. Jika kita tertinggal dari jadwal yang ditetapkan, kita menambah beberapa progammer saja. Konsep ini sering disebut Mongolin harde concept.


2. Mitos Pelanggan

a. Pernyataan tujuan umum sudah cukup untuk memulai penulisan program. Penjelasan yang lebih rinci akan menyusul kemudian.
Realitasnya : Definisi awal yang buruk adalah penyebab utama kegagalan usaha-usaha pembentukan software. Penjelasan yang formal dan terinci tentang informasi fungsi performance interface, hambatan desain dan kriteria validasi adlaah penting. Karakteristik di atas dapat ditentukan hanya setelah adanya komunikaso antara customer dan developer.

b. Kebutuhan proyek yang terus menerus berubah dapat dengan mudah diatasi karena software itu bersifat fleksibel. Kenyataannya memang benar bahwa kebutuhan software berubah, tetapi dampak dari perubahan berbeda dari waktu ke waktu.


3. Mitos Praktisi

a. Tidak ada metode untuk analisa dan testing terhadap suatu pekerjaan, cukup menuju ke depan terminal dan mulai coding.
Realitasnya : Metode untuk analisa desain dan testing diperlukan dalam pengembangan software.

b. Segera setelah sofware digunakan, pemeliharaan dapat diminimalisasikan dan diatasi dengan cara "CATCH AS CATCH CAM".
Realitasnya : Diperlukan budget yang besar dalam maintenance software. Pemeliharaan software harus diorganisir, direncanakan dan dikontrol seolah-olah sebagai suatu proyek besar dalam sebuah organisasi.





Masalah dan Penyebab Masalah Perangkat Lunak

Masalah perangkat lunak ada tiga, yaitu :

1. Estimasi jadwal dan biaya yang seringkali tidak tepat.
2. Produktivitas orang-orang software (programer) yang tidak dapat mengimbangi permin- taan kebutuhan software.
3. Kualitas software yang kurang baik.


Sedangkan penyebab masalah perangkat lunak ada dua, yaitu :

1. Karakteristik software itu sendiri
Karakteristik software adalah software yang bersifat logika dibandingkan fisik, oleh karena itu mebgukur software harus merupakan suatu kesatuan, tidak seperti hardware.
Software yang bersifat tidak asu ini menyebabkan kesalahan yang terjadi pada software. Umumnya terjadi pada tahap pengembangan.
Manajer tingkat menengah dan tingkat atas yang tidak mempunyai latar belakang software, seringkali diberi tanggung jawab untuk mengembangkan software. Padahal tidak semua manajer itu dapat me-manage semua proyek. Praktisnya : software programmer atau software engineering mendapatkan latihan formal yang sedikit dalam hal tehnik baru pengembangan software.

2. Kegagalan mereka yang bertanggung jawab dalam pengembangan software.





Krisis Perangkat Lunak

Krisis perangkat lunak

Adalah sekumpulan masalah yang ditemukan dalam pengembangan software komputer. Masalahnya tidak hanya terbatas pada software yang tidak berfungsi sebagaimana mestinya, tetapi krisis software ini terdiri dari masalah yang berhubungan dengan :

1. Bagaimana mengembangkan software.
2. Bagaimana memelihara software yang ada, yang berkembang dalam jumlah ynag besar.
3. Bagaimana mengimbangi permintaan software yang makin besar.





Komponen Perangkat Lunak

Komponen perangkat lunak dibagi menjadi tiga bentuk, yaitu :

1. Bentuk bahasa

Terbagi menjadi 3, yaitu :
a. High Level, contoh Java, Basic, Pascal, Cobol, Fortran.
b. Middle Level, contoh C
c. Low Level, contoh Bahasa Assembly
2. Bentuk translator

Terbagi menjadi 3, yaitu :
a. Interpreter
Menerjemahkan dari bahasa tingkat tinggi ke bahasa tingkat rendah secara satu persatu (statemen demi statemen).
b. Compiler
Menerjemahkan secara keseluruhan, proses lebih cepat dari interpreter.
c. Assembler
Menerjemahkan dari bahasa rakitan ke bahasa mesin

3. Bentuk mesin







Real Time Software

Real time software

Software yang mengukut , menganalisa dan mengontrol kejadian yang sesungguhnya terjadi di dunia. Elemen-elemen real time software terdiri dari :

1. Komponen pengumpul data
Yang mengumpulkan dan menyusun informasi dari lingkungan external.
2. Komponen analisis
Yang mentransformasikan informasi yang dioerlukan oleh aplikasi.
3. Komponen kontrol
Yang memberikan respon kepada lingkungan external.
4. Komponen Monitor
Yang mengkoordinasi semua komponen-komponen lainnya, sehingga respons real time yang berkisar satu milisecond sampai satu menit dapat dipertahankan.

Perlu dicatat bahwa istilah real time berbeda dari istilah interactive atau time sharing. Sistem real time harus memberikan respons pada waktu yang ditentukan, sedangkan pada sistem interactive atau time sharing respons time biasanya melebihi batas waktu yang ditentukan tanpa merusak hasil.





Metode-metode RPL

Monday, October 29, 2012
Metode-metode Rekayasa Perangkat Lunak (RPL)

Pendekatan-pendekatan terstruktur terhadap pengembangan perangkat lunak mencakup model, notasi, aturan, saran pengembangan sistem (rekomendasi) dan panduan proses.

* Deskripsi model sistem : Deskripsi model yang harus dikembangkan dan notasi yang digunakan untuk mendefinisikan model-model ini. Contoh : model aliran data.

* Aturan : Batasan yang berlaku bagi model sistem. Contoh : Setiap entitas pada model sistem harus memiliki nama yang unik.

* Rekomendasi : Saran dalam membentuk perancangan yang baik. Contoh : Tidak ada objek yang memiliki lebih dari tujuh sub-objek yang berhubungan dengannya.

* Panduan Proses : Aktifitas yang bisa diikuti untuk mengembangkan model sistem. Contoh: Atribut objek harus didokumentasikan sebelum mendefinisikan operasi yang berhubungan dengan objek.





Atribut-atribut perangkat lunak yang baik

Atribut-atribut perangkat lunak yang baik

Perangkat lunak seharusnya memberikan user kebutuhan fungsionalitas dan kinerja yang :

1. Dapat dipelihara (Maintanability) : Perangkat lunak harus dapat memenuhi perubahan kebutuhan user.

2. Dapat diandalkan (Dependability) : Perangkat lunak harus dapat dipercaya dan tidak menyebabkan kerusakan fisik atau ekonomi jika terjadi kegagalan sistem.

3. Efisien : Perangkat lunak harus efisien dalam penggunaan sumber daya sistem.

4. Kemampupakaian (Usability) : Perangkat lunak harus dapat dipakai sesuai dengan yang direncanakan.





Tantangan kunci yang dihadapi RPL

Berikut adalah tantangan-tantangan kunci yang dihadapi dalam Rekayasa Perangkat Lunak(RPL) :

1. Tantangan Warisan (Legacy) : Tantangan memelihara dan meng-upadate perangkat lunak sedemikian sehingga biaya yang berlebihan dapat dihindari dan layanan bisnis yang penting tetap dilakukan.

2. Tantangan Heterogenitas : Tantangan teknik pengembangan untuk membangun perangkat lunak yang dapat diandalkan dan cukup flexibel untuk menghadapi heterogenitas yang ada.

3. Tantangan Pengiriman : Tantangan mempersingkat waktu kirim sistem besar dan kompleks, tanpa mengurangi kualitas sistem.




Model atau paradigma umum pada proses perangkat lunak

Model atau paradigma umum pada proses perangkat lunak

1. Model air terjun (waterfall) : Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasin dan evolusi dan merepresentasikan sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi pengujian dan seterusnya.

2. Pengembangan evolusioner : Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian diperbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan.

3. Pengembangan Sistem Formal : Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini dengan menggunakan metode matematik menjadi sebuah program.

4. Pengembangan berdasarkan pemakaian ulang (Reusable) : Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem berfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangan dari awal.


Model Proses Perangkat Lunak

Sunday, October 28, 2012
Pengertian Model Proses Perangkat Lunak :
- Merupakan deskripsi yang disederhanakan dari proses perangkat lunak dipresentasikan dengan sudut pandang tertentu.
- Bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak dan peran orang yang terlibat pada rekayasa perangkat lunak.



Contoh jenis model proses perangkat lunak :

1. Model aliran kerja (work flow) : menunjukan kegiatan pada proses bersama dengan input, output dan ketergantungannya. Merepresentasikan pekerjaan manusia.

2. Model aliran data (data flow) : merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukan bagaimana input ke proses, misalnya spesifikasi ditransformasikan menjadi output, misalnya menjadi desain.

3. Model peran/aksi : merepresentasikan peran orang yang terlibat pada perangkat lunak dan kegiatan yang menjadi tanggung jawab mereka.

Proses Perangkat Lunak

Proses perangkat lunak adalah serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak (sebagian besar dilakukan oleh perekayasa perangkat lunak). 


Ada 4 macam kegiatan/aktivitas pada proses perangkat lunak :
1. Spesifikasi Perangkat Lunak : Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan.
2. Pengembangan Perangkat Lunak : Perangkat lunak yang memenuhi spesifikasi harus diproduksi.
3. Validasi Perangkat Lunak : Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
4. Evolusi Perangkat Lunak : Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.

Tipe Produk Perangkat Lunak

Tipe produk perangkat lunak dibedakan menjadi 2 yaitu :

1. Produk Generik : Sistem stand-alone standar yang diproduksi oleh organisasi pengembang dan dijual ke pasar terbuka ke siapapun yang membelinya. Biasa disebut sebagai software sbrink-wrapped. Contoh : pengolah kata (word processor).

2. Produk pesanan (yang disesuaikan) : Sistem yang dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak. Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol lalu lintas udara.




 Perbedaan penting antara tipe-tipe perangkat lunak :

1. Pada produk generik, organisasi yang mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak.

2. Pada produk pesanan, spesifikasi biasanya dikembangkan dan dikontrol oleh organisasi yang membeli perangkat lunak tersebut.

Evolusi Perangkat Lunak

Tuesday, October 23, 2012

Evolusi perangkat lunak (software)

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.
- Limmited distribution 
Suatu penyebaran software yang terbatas pada perusahaan tertentu.
- Custom software
Software yang dikembangkan berdasarkan keinginan perusahaan-perusahaan tertentu.


Era kedua
- Multi user
Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat yang sama.
- Real time
Suatu sistem yang dapat mengumpulka , menganalisa dan mentransdormasikan data dari berbagi sumber, mengontrol proses dan menghsailkan output dalam mili second.
- Database
Perkembangan yang pesat dari alat penyimpanan data yang online menyebabkan muncul generasi pertama DBMS (Data Base 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 memilki 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 dan lain-lain
- 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 dan lain-lain,
- 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 pararel, yang dimungkinkan adanya prosesor berbeda dalam satu komputer.

Rekayasa Perangkat Lunak (RPL)


 



 


Pengertian Software Engineering (RPL) :
  • Ilmu yang mempelajari teknik pembuatan software yang baik dengan pendekatan teknis (Engineering  approach).
  • Suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak.
  • Mengadopsi pendekatan yang sistematis dan terorganisir dalam aktivitasnya dan menggunakan tool dan teknik yang sesuai yang ditentukan berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia.

Pengertian Perangkat Lunak

Perangkat lunak adalah sekelompok item atau objek yang membentuk "konfigurasi" dimana di dalamnya termasuk :
- instruksi / program
- dokumen
- struktur data


Perangkat Lunak adalah program-program komputer beserta dokumentasinya, seperti requirement, model desain dan user manual.

Arti perangkat lunak :
1. Instruksi atau program komputer yang ketika dieksekusi akan memberi fungsi dan hasil yang diinginkan.
2. Struktur data yang memungkinkan program memanipulasi informasi.
3. Dokumentasi yang menggambarkan operasi dan penggunaan program.

Grafika Komputer

Monday, October 22, 2012
Grafika komputer adalah suatu bidang komputer yang mempelajari cara-cara untuk meningkatkan dan memudahkan komunikasi manusia dengan komputer dengan jalan memanipulasi sutau objek menggunakan komputer.


Konsep dasar grafika komputer :

1. Hitung-menghitung ( *, / , + , - )

2.

Komponen dasar sitem grafik interaktif :

1. Masukan : mouse, tablet dan stylus, peralatan force feedback, scanner, live video stream, dan lain-lain.
2. Proses dan penyimpanan.
3. Keluaran : layar, printer berbasis kertas, perekam video, non-linear editor,dan lain-lain.

Penerapan grafika komputer :
1. Computer Aided Design (CAD) 
2. Presentasi 
3. Art 
4. Hiburan 
5. Pendidikan dan Pelatihan 
6. Visualisasi
7. GUI (Graphical User Interface)
 

GLOBAL WARA Copyright © 2011-2012 | Powered by Adhi Purna Hermawan