Pengenalan Komputer
PROSES
DESAIN
Daya guna suatu sistem merupakan hal yang
sangat penting untuk diperhatikan karena daya guna merupakan kelayak-pakaian
suatu produk oleh konsumen.
SIKLUS
HIDUP PERANGKAT LUNAK
Pada dasarnya siklus hidup perangkat lunak
merupakan suatu proses desain atas program yang akan dibangun untuk mendapatkan
hasil yang dapat didaya gunakan. Model-model desain perangkat lunak adalah
sebagai berikut :
Model
Air Terjun (Waterfall Model)
Model ini adalah model klasik yang sistematis
dan urut.
1.
Requirements
Analysis and Definition
Mengumpulkan apa yang
dibutuhkan secara lengkap untuk kemudian dianalisis guna mendefinisikan
kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus
dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
2.
System
and Software Desain
Setelah apa yang
dibutuhkan selesai dikumpulkan dan sudah lengkap maka desain kemudian
dikerjakan
3.
Implementation
and Unit Testing
Desain program
diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang
telah ditentukan. Program yang dibangun langsung diuji secara unit, apakah
sudah bekerja dengan baik.
4.
Integration
and System Testing
Penyatuan unit-unit
program untuk kemudian diuji secara keseluruhan (system testing)
5.
Operation
and Maintenance
Mengoperasikan program
di lingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan
untuk adaptasi dengan situasi yang sebenarnya
Kekurangan utama dari model ini adalah adanya
kesulitan dalam mengakomodasi perubahan setelah proses dijalani. Fase
sebelumnya harus sudah legkap dan selesai dikerjakan sebelum menginjak ke fase berikutnya.
Masalah yang ada pada model air terjun :
1.
Perubahan
sulit dilakukan karena sifatnya kaku
2.
Model
ini cocok ketika kebutuhan dapat dikumpulkan secara lengkap sehingga perubahan
dapat ditekan sekecil mungkin padahal perubahan merupakan sesuatu yang wajar
terjadi
3.
Digunakan
untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat
yang berbeda dan dibagi menjadi beberapa sub-proyek
MODEL
EVALUASI PROSES SOFTWARE
Model ini bersifat iteratif atau mengandung
perulangan dengan hasil proses berupa produk yang semakin lama semakin lengkap
hingga versi terlengkap yang dihasilkan sebagai produk akhir.
Terdapat dua
model dalam model evaluasi ini yaitu :
1. Incremental Model
Ciri-ciri :
a. Kombinasikan elemen-elemen dari model air terjun dengan sifat perulangan
dimana proses dimulai dari fase pertama hingga akhir dan menghasilkan produk
dengan spesifikasi yang lebih lengkap, demikian seterusnya sampai memenuhi
kebutuhan pengguna
b. Produk hasil inkrementasi pertama biasanya adalah produk inti (core product) yaitu produk yang memenuhi
kebutuhan dasar. Produk tersebut sudah dapat digunakan tetapi masih melalui
proses pengecekan untuk bekal pembangunan pada inkrementasi selanjutnya hingga
produk yang komplet dihasilkan
c.
Cocok
digunakan jika jumlah anggota tim pengembang tidak cukup
d.
Mampu
mengakomodasikan perubahan secara fleksibel
Masalah yang timbul :
- Cocok untuk proyek berukuran kecil
- Kemungkinan terjadi kesulitan dalam memetakan kebutuhan pengguna ke dalam rencana spesifikasi hasil inkremen
2.
Spiral
Model
Proses digambarkan
sebagai spiral dimana setiap loop
mewakili suatu fase dari proses software. Beberapa loop paling dalam berfokus
pada kelayakan sistem, selanjutnya tentang definisi kebutuhan, kemudian
berkaitan dengan desain sistem.
Sektor-sektor dalam
tiap loop :
- Objective Settings (menentukan tujuan)
§ Menentukan tujuan dari fase yang ditentukan
§ Batasan pada proses dan produk sudah diketahui
§ Perencanaan sudah disiapkan
§ Resiko dari proyek sudah diketahui
§ Alternatif strategi sudah disiapkan berdasarkan resiko yang telah diketahui
dan direncanakan
- Risk Assessment and Reduction (penanganan dan pengurangan resiko)
§ Setiap resiko
dianalisa secara detail
§ Langkah-langkah penanganan dilakukan, misal membuat prototipe
untuk mengetahui ketidak cocokan
- Development and Validation (pembangunan dan pengujian)
§ Jika resiko user
interface dominan maka dibuatkan prototipe user interface
§ Jika bagian keamanan yang
bermasalah maka menggunakan model formal dengan perhitungan matematis
§ Jika masalah pada
integrasi maka model waterfall lebih cocok
- Planning
§ Proyek dievaluasi
atau ditinjau ulang dan diputuskan untuk terus ke fasel selanjutnya atau tidak
§ Jika dilanjutkan maka
rencanakan loop selanjutnya
Pada model spiral, resiko sangat dipertimbangkan.
Resiko adalah sesuatu yang mungkin akan mengakibatkan terjadinya kesalahan.
Model spiral merupakan pendekatan yang realistis untuk perangkat lunak berskala
besar.
Pengguna dan pembangun sistem dapat memahami
dengan baik software yang akan dibangun karena setiap kemajuan dapat diamati
dengan baik namun model ini membutuhkan waktu yang cukup panjang.
RAPID
APPLICATION DEVELOPMENT (RAD)
RAD adalah model proses pembangunan perangkat
lunak yang inkremental dengan menekankan
pada siklus pembangunan yang pendek. RAD mengadopsi model waterfall dan
pembangunan dalam waktu singkat dicapai dengan menerapkan component based instruction (komponen instruksi dasar).
Kelemahan model ini adalah :
1.
Tidak
cocok untuk proyek berskala besar
2.
Proyek
dapat gagal karena waktu yang disepakati tidak terpenuhi
3.
Tidak
cocok untuk sistem yang tidak dapat dimodularisasi
4.
Kurang
cocok untuk resiko teknis yang tinggi
Keterangan :
1.
Business
Modelling
Menjawab pertanyaan
mengenai kebutuhan sistem, misal :
§ Informasi apa yang mengendalikan proses bisnis ?
§ Informasi apa yang dihasilkan ?
§ Siapa yang menghasilkan informasi ?
§ Kemana informasi itu diberikan ?
§ Siapa yang mengolah informasi ?
2. Data Modelling
Menerangkan mengenai analisis kebutuhan data,
misal :
§ Aliran informasi yang
sudah didefinisikan disusun menjadi sekumpulan objek data
§ Karakteristik atau
atribut dan hubungan antar objek tersebut ditentukan
3.
Process
Modelling
Objek data yang sudah
didefinisikan diubah menjadi aliran informasi yang diperlukan untuk menjalankan
fungsi-fungsi bisnis
4.
Application
Generation
Menggunakan komponen
program yang sudah ada atau membuat komponen yang bisa digunakan lagi selama
diperlukan
5.
Testing
and Turnover
Kebanyakan komponen
yang sudah ada sudah melalui pengujian namun komponen baru dan interface harus
tetap diuji.
MENGGUNAKAN
ATURAN DESAIN
Aturan desain menyarankan bagaimana
meningkatkan daya guna, dengan aturan misalnya :
1.
Authority
: Apa selalu diikuti atau hanya sebagai saran ?
2.
Generality
: Aturan yang digunakan untuk banyak situasi atau hanya kasus tertentu ?
Ada dua bagian aturan
desain, yaitu :
1.
Standard,
meliputi :
a.
Standar
suatu desain selalu ditentukan oleh organisasi nasional atau internasional
seperti ISO untuk memastikan pemenuhan syarat tertentu
b. Standar
memerlukan teori mendasar dan secara pelan mengubah teknologi
c.
Standar
perangkat keras berdasarkan pada faktor fisiologi atau ergonomi sedangkan
standar perangkat lunak berdasarkan pada faktor psikologi dan teori kognitif
d. Perangkat
keras lebih umum digunakan dan memiliki harga yang mahal serta sulit untuk
diubah sedangkan perangkat lunak sebaliknya
e.
Daya
guna berupa :
1. Efektifitas : ketelitian dan kelengkapan dimana user mencapai suatu
tujuan
2. Efisiensi : sumber daya yang berhubungan dengan ketelitian dan
kelengkapan untuk mencapai suatu tujuan
3.
Kepuasan :
kenyamanan dan kepuasan dalam pemakaian suatu sistem
1.
Guidelines
(garis pedoman), yaitu :
a.
Lebih
bersifat saran dan umum berupa buku teks dan laporan garis pedoman
b.
Abstrak
dari garis pedoman dapat digunakan selama aktivitas awal siklus sedangkan
detail garis pedoman (style guides)
digunakan pada siklus lebih lanjut
c.
Pemahaman
pembenaran garis pedoman akan membantu penyelesaian konflik yang terjadi
Contoh :
1. Data entry
1.1 Position
designator
1.1.1
Distinctive cursor
…….
Exception
…….
Comment
…….
DASAR PEMIKIRAN DESAIN
Dasar pemikiran
desain adalah informasi yang menjelaskan mengapa atau bagaimana sistem komputer
bekerja.
Kelebihan :
1. Komunikasi melalui siklus hidup
2. Penggunaan kembali pengetahuan desain melintasi produk
3. Pelaksanaan disiplin desain
4. Presentasi argumen untuk nilai yang harus dibayar untuk desain
5. Mengorganisasikan ruang besar desain potensial
6. Menangkap informasi konstektual
Orientasi
proses :
Menjaga urutan
pertimbangan dan pembuatan keputusan
Orientasi
struktur :
Penekanan pada
struktur tonggak posisi (post hock) alternatif
desain yang dipertimbangkan
TEKNIK-TEKNIK
DASAR PEMIKIRAN DESAIN
Sistem informasi berbasis isu (Issue-based Information System – IBIS) :
1. Dasar dari
banyak riest pemikiran desain
2. Berorientasi
proses
3. Struktur
hirarki dari isu-su dengan satu akar
4. Posisi adalah pemecahan
potensial dari suatu isu
5. Argumen
memodifikasi hubungan diantara posisi dan isu
6. Versi grafik
dari IBIS adalah gIBIS
Dasar pemikiran
secara psikologis :
1.
Untuk
mendukung daur tugas artefak dimana tugas pengguna dipengaruhi oleh sistem yang
mereka gunakan
2.
Bertujuan
untuk membuat konsekuensi eksplisit dari desain untuk pengguna
3.
Desainer
mengidentifikasi tugas yang didukung sistem
4.
Klaim
psikologi sistem dibuat secara eksplisit
5.
Aspek
negatif desain dapat digunakan untuk
meningkatkan iterasi desain selanjutnya
PROTOTIPE
Bentuk evaluasi daya guna dan sekaligus untuk
mendapatkan umpan balik dilakukan dengan membangun dan mengevaluasi prototipe.
Untuk meningkatkan kompleksitas, perlu
dilakukan hal-hal berikut :
1.
Verbal
Prototipe : deskripsi tekstual dengan aneka pilihan dan hasil, contoh :
2.
Paper
Mock-ups : sketsa screen design dan print-out
screen design
Merupakan suatu desain prototipe
yang dirancang diatas kertas meliputi elemen-elemennya. Langkah pertama adalah
membuat sketsa di atas kertas desain dan mengimplementasikannya di komputer dan
memberikan print-out yang lebih terperinci. Proses ini dapat mengurangi waktu yang
digunakan untuk mendesain sistem.
Contoh :
3.
Interaksi
Sketsa : penyusunan sketsa interaktif
dengan tulisan tangan
4. Working Prototipe : interaktif dan
implementasi kerangka
Dalam kasus tertentu dibuat
dengan menggunakan algoritma yang sederhana. Working prototipe bertujuan untuk
memberikan suatu gambaran tentang sistem yang akan dibangun. Skenario dari
suatu prototipe adalah sepertiga dari keseluruhan sistem yang akan dibangun.
Ada tiga bentuk working
prototype, yaitu :
a. Vertical
Prototype : kemampuan sistem hanya ditampilkan sebagian
b. Horizontal
Prototype : semua interface ditampilkan tetapi kemampuannya tidak ditampilkan
c. Scenario
Prototype : hanya menampilkan sebagian fitur dan fungsi
SKENARIO
Skenario adalah suatu uraian interaksi
manusia dengan mesin yang membantu proses desain berfokus pada keperluan user
yang berbeda sehingga dapat digunakan untuk aktivitas desain. Skenario dapat
membantu membatasi keruwetan pada lapisan teknologi.
Untuk menuliskan skenario dibutuhkan dasar
pemahaman mengenai tugas yang mendukung sistem dan pengguna. Skenario dapat
diambil dari hasil pengumpulan data selama proses penelitian berlangsung. Jika
tidak punya akses terhadap data, dapat
ditulis berdasarkan pengetahuan terdahulu atau dibayangkan. Skenario akan
dibaca oleh user dan akan diberi masukan sehingga berguna untuk mengambil
keputusan dan pendesaianan interface suatu sistem.
Skenario ditulis dengan menggunakan bahasa
yang interaktif, membuang sistem yang mengacu ke sistem atau teknologi dan
di-review agar user yang tidak mempunyai latar belakang teknologi bisa membaca
dan memahaminya.
DESAIN
ANTAR MUKA
Seorang desainer program selalu berpikir
bagaimana membuat suatu interface yang baik agar program yang dibuat bisa
berjalan dengan baik dan mudah digunakan. Interface adalah suatu bit program
yang terdiri dari menu, tombol yang saling berhubungan atau suatu bagian
perangkat lunak yang digunakan.
1.
Antar
Muka Berbasis Teks
Merupakan jenis
interface primitif yang menggunakan text
based interface dalam suatu kode program.
Contoh :
Program kalkulator
menampilkan suatu interface yang mudah untuk dimengerti oleh user karena
memiliki judul, cara mengoperasikan program, help dan instruksi lain.
1.
Antar
Muka Berbasis Grafik
Suatu aplikasi berbasis grafik biasanya memiliki :
a. Button
b. Menu
c. Check Box
d. Radio Buttons
e. Single-line Text Box
f. Multiline Text Box
g. Drop-down Menu
Contoh :
MERENCANAKAN SUATU PROYEK APLIKASI
Diperlukan suatu perencanaan agar proyek
dapat berjalan dengan sukses. Beberapa hal yang
mungkin terjadi bila suatu proyek aplikasi tidak direncanakan, misalnya
1. Banyak kode, sedikit fitur
2. Banyak bug
3. Banyak waktu yang akan dihabiskan
4. Kehilangan fitur
Oleh sebab itu perlu dilakukan berbagai hal
untuk mendapatkan program yang baik, misalnya :
1.
Perencanaa
2.
Ide
3.
Pengumpulan
kebutuhan
4.
Pengujian
5.
Evaluasi
6.
Penambahan
fitur
PERENCANAAN
Untuk keperluan ini dibutuhkan suatu suatu
ide, meski pemrograman suatu proyek tidak hanya dimulai dari ide karena
bagaimanapun untuk memprogram suatu aplikasi dibutuhkan suatu keahlian.
Ada beberapa tipe
ide guna memulai suatu proyek :
1. Memperbaiki atau membuat sesuatu lebih baik, meniru atau memperbaiki
sesuatu yang telah dibuat sehingga pembuatan proyek akan memerlukan lebih
sedikit langkah dan waktu
2. Ide baru dimana pemrogram akan membuat sesuatu yang benar-benar baru. Hal
inimembutuhkan waktu dan langkah yang tidak mudah
3.
Melihat
kebutuhan pasar dengan pengkombinasian dua ide sebelumnya
Ide sebaiknya
langsung didokumentasikan agar tidak hilang. Cara untuk mendokumentasi ide misalnya sebagai berikut :
Jika persyaratan
sudah dipetakan secara detail, baik fungsi input maupun output, makaperlu
ditinjau kembali apakah perlu diubah atau diperbaiki. Jika sudah baik, maka
tiba saatnya memilih bahasa pemrograman yang akan digunakan.
Bahasa
pemrograman yang digunakan sangat menentukan hasil yang akan diperoleh. Untuk
membuat aplikasi, kita harus mengukur
kemampuan pemrograman yang dimiliki.
Apakah menguasai pemrograman berorientasi objek untuk membuat interface.
DASAR PEMROGRAMAN
Proyek
pemrograman selalu dimulai dengan aplikasi dasar guna meletakkan struktur
tambahan dan menentukan bentuk interface yang akan dibuat, karena :
1.
Kode
program berasosiasi dengan kejadian ketika aplikasi digunakan. Aplikasi tidak
digunakan oleh end user
2.
Beberapa
informasi atau instruksi diberikan end
user waktu memulai penggunaan aplikasi
3. Kode program yang baik harus bisa dikembangkan pada suatu saat
Pengujian
terhadapsuatu aplikasi dilakukan untuk menemukan kesalahan yang mungkin terjadi
dan harus didokumentasikan untuk keperluan pengembangan selanjutnya.
Contoh :
Ada beberapa strategi
untuk melakukan pengujian yaitu :
1.
Preview
Testing
2. Beta Testing
Pengujian atas aplikasi yang sedang
dibangun dapat langsung dilakukan oleh user. Jika aplikasi dibuat secara gratis
atau untuk donasi, user akan memberikan umpan balik atas kesalahan yang terjadi
dan akan digunakan untuk perbaikan pada versi selanjutnya.
Jika aplikasi dibangun untuk keperluan
komersial, preview dan beta testing dilakukan dengan strategi :
1. Batasi
fitur aplikasi, hilangkan komponen yang vital seperti save atau export file
2. Letakkan
beberapa fitur yang tidak begitu penting pada aplikasi
3.
Berikan
batas waktu untuk menggunakan aplikasi dan kelompok pengguna
4.
Jika
software di-update, batasi jumlah fitur karena akan menghemat biaya
5.
Berikan
peringatan bahwa program masih memiliki kesalahan dan untuk mendapatkan versi full
mereka harus membayar untuk mendapatkannya.
Setelah melakukan pengujian, pemrogram akan
melakukan pembaruan untuk menyempurnakan aplikasi dan apabila bertujuan komersial maka tentu
memerlukan biaya pemeliharaan.
Untuk File artikel dapat di download disini
Tidak ada komentar:
Posting Komentar