Rabu, 15 Februari 2012

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 :
  1. Cocok untuk proyek berukuran kecil
  2. 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 :
  1. 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

  1. Risk Assessment and Reduction (penanganan dan pengurangan resiko)
§      Setiap resiko dianalisa secara detail
§  Langkah-langkah  penanganan dilakukan, misal membuat prototipe untuk mengetahui ketidak cocokan

  1. 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

  1. 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