A. Desain data dan Arsitektur 1. Desain Data Desain data adalah aktivitas pertama ( dan beberapa sering mengatakan yang terpenting ) dari empat aktivitas desain yang dilakukan selama rekayasa perangkt lunak.proses desain data dirangkum oleh Wasserman[WAS80]: Aktivitas utama selama desain data adalah memilih representasi logis dari objek data (struktur data) yang didefinisikan selama tahap definisi persyaratan dan spesifikasi. Proses pemilihan dapat melibatkan analisis algoritmik terhadap struktur alternative untuk menentukan desain yang pling efisien atau hanya melibatkan penggunaan serangkaian modul (sebuah paket) yang memberikan operasi yang diperlukan pada beberapa reprsentsi suatu objek. Wasserman [WAS80] mengusulkan serangkaian prinsip yang dapat digunakan untuk menentkan dan mendesain data. Serangkaian prinsip itu adalah sebagai berikut; 1. Prinsip analisis sistematik yang di apliksikan pada fungsi dan perilaku seharusnya diaplikasikan juga pada data. 2. Semua struktur data dan operasi yang akan dilakukan pada masing masing struktur data harus diidentifikasi. 3. Kamus data harus dibangun dan digunakn untuk menentukan baik data maupun desain program. 4. Keputusan desain data tingkat rendah harus ditunda sampai akhir proses desain. 5. Representasi struktur data hanya boleh diketahui oleh modul modul yang harus menggunkan secara langsung data yang didisikan didalam struktur tersebut. 6. Pustaka struktur data danoperasi yang digunakan yang dapat diaplikasikan pada struktur data tersebut harus dikembangkan. 7. Desain perangkat lunak dan bahasa pemerograman harus mendukung spesifikasi dan realisasi dari tipe tipe data abstrak.
2. Prinsip Mendesain Data Prinsip analisis sistematika yang diaplikasikan pada fungsi dan perilaku harusnya juga diaplikasikan pada data. Semua struktur data dan operasi yang akan dilakukan pada masing-masing struktur data harus didentifikasi. Kamus data harus dibangun dan digunakan untuk menentukan baik data maupun desain program. Keputusan desain data tingkat rendah harus ditunda sampai akhir proses desain. Representasi struktur data hanya boleh diketahui oleh modul-modul yang menggunakan secara langsung data yang diisikan didalam struktur tersebut. Pustaka struktur data dan operasi yang berguna yang dapat diaplikasikan pada struktur data tersebut harus dikembangkan. Desain perangkat lunak dan bahasa pemrograman harus mendukung spesifikasi dan realisasi dari tipe-tipe data abstrak. 3. Desain Arsitektur Desain arsitektur adalah untuk mengembangkan struktur program modular dan merepresentasikan hubungan control antar modul.metode desain yang disajikan pada bagian ini mendorong prekayasa perangkat lunak untuk berkosentrasi pada desain arsitektur sebelum mencemaskan masalah perpipaan. a. Kontributor Desain arsitektur berakar dari konsep esain yang lebih awal yang menekankan pada modularitas [DEN73], desain topdown[wir71],dan pemerograman terstruktur[dah72,lin70]. Steven, Myers, dan Constantine [STE74], adalah perintis desain perangkat lunak yang didasarkan pada aliran data melalui sebuah sistem. b. Area Aplikasi Masing masing metode desain mempunyai kelemahan dan kelebihan. Factor seleksi yang penting untuk suatu metode desain adalah luasnya apliksi dimana aplikasi dapat di aplikasikan. Desain berorientasi pada alira dat dapat menyetujui rentang area aplikasi yang luas.
B. Proses Desain dan Arsitektur Desain yang berorientasi pada aliran data merupakan suatu metode desain arsitektur yang mengijinkan transisi yang baik dari model analisis ke deskripsi desain dari struktur program. Trnsisi dari aliran informasi (yang ditujukan sebagai diagram aliran data) kestruktur dilakukan bagian dari proses 5 langkah: 1. Tipe aliran informasi dibangun. 2. Batas aliran diindikasikan. 3. DFD dipetakan didalam struktur program. 4. Hirarki kontrol ditentukan dengan pemfaktoran. 5. struktur resultan disaring atau diperhalus dengan menggunakan pengukuran desain dan heuristik. Pada bagian ini kita akan mengamati 2 tipe aliran. a. Aliran Transformasi Informasi memasuki system bersama dengan jalur yang mentransformasikan data eksternal kedalam bentuk internal dan akan didefinisikan sebagai aliran masuk. Pada inti perangkat lunak terjadi transisi. Data yang masuk dilewatkan melalui pusat transformasi dan mulai bergerak sepanjang jalur yang sekarang mengarah keluar dari perangkat lunak. Data yang mengalir disepanjang jalur jalur disebut aliran keluar. Keseluruhan aliran data terjadi dalam cara yang berurutan dan mengikuti satu atau hanya beberapa jalur garis lurus. Bil segmen dari diagram aliran data menunjukkan karakteristik tersebut, maka disitu ada aliran transformasi. b. Aliran Transaksi Aliran transaksi ditandai dengan pergerakan data sepanjang jalur masuk yang mengkonversi informasi dunia eksternal kedalam suatu transaksi. Transaksi tersebut dievaluasi, dan berdasarkan nilai, aliran sepanjang satu daribeberapa jalur aksi diinisiasi. Pusat aliran informasi dari mana banyak jalur aksi berasal disebut pusat transaksi.
c. Pemetaan Transformasi Pemetaan transformasi adalah serangkaian langkah desain yang mengijinkn sebuah DFD dengan karakteristik aliran transformasi untuk dipetakan ke dalam template yang telah ditentukan sebelumnya untuk struktur program. Langkah langkah desain pemetaan transformasi: 1 kajilah model sistem fundamental. 2 Kajilah dan saringlah diagram aliran data untuk perangkat. 3 Tentukan apakah DFD memiliki karakteristik aliran transformasi dan transaksi. 4 Isolasi pusat transformasidengan mengkhususkan batas aliran masuk dan keluar. 5 Lakukan pemfaktoran tingkat pertama 7 Lakukan pemfaktoran tingkat kedua 7 Saringlah struktur program iterasi pertama dengan menggunakan heuristic desain bagi kualitas perangkat lunak yang telah ditingkatkan. d. Pemetaan Transaksi Pada banyak aplikasi perangkat lunak, item data tunggal memicu satu atau sejumlah aliran informasi yang mempengaruhi suatu fungsi yang diimplikasikan oleh pemicu item data. Item data yang disebut transaksi, dan karakteristik alirannya yang terkait. Langkah langkah desain pemetaan transaksi: 1. Kaji model sistem fundamental. 2. Kaji dan saring diagram aliran data untuk perangkat lunak. 3. Tentukan apakah DFD memiliki karakteristik aliran transformasi atau transaksi. 4. Identifikasi pusat transaksi dan karakteristik aliran sepanjang masing masing jalur aksi.
5. Petakan DFD pada sebuah struktur program yang sesuai dengan pemerosesan transaksi. 6. faktorkan dan saringlah struktur transaksi dan struktur masing masing jalur aksi. 7. saringlah strutur program iterasi pertama dengan menggunakan heuristic desain untuk kualitas perangkat lunak yang dikembangkan. C. Pasaca Pemorosesan Desain Aplikasi dari pemetaan transaksi dan transformasi yang berhasil kemudian ditambahkan pada dokumentasi tambahan yang dibutuhkan sebagai bagian dari desain arsitektur. Setelah struktur dikembangkan dan disaring, tugas tugas berikut harus dilakukan: Mengembangkan narasi pemerosesan untuk masing masing modul. Menyediakan deskripsi interface untuk masing masing modul. Menentukan struktur data local dan global. Mencatat semua batasan desain. Mengkaji desain. Mempertimbangkan optimasi (bila perlu dan dibenarkan). D. Optimasi Desain Arsitektur Desainer perangkat lunak harus memperhatikan perkembangan representasi perangkat lunak yang akan memenuhi semua fungsi dan persyaratan kinerja dan penerimaan jasa berdasarkan pengukuran desain kualitas. Oleh karena itu cukup beralasan untuk mengusulkan pendekatan berikut ini untuk perangkat lunak kinerja kritis. 1. Kembangkan dan saringlah struktur program tanpa memperhatikan optimasi kinerja kritis. 2. Gunakan peranti CASE yang mensimulasi kinerja run time untuk menisolasi area inesifiensi.
3. selama iterasi desain selanjutnya, pilihlah modul yang dicurigai time hot dan dengan hati hati kembangkanlah prosedur(algoritma algoritma) untuk efisiensi waktu. 4. Kodekan sebuah bahasa pemerograman yang sesuai. 5. Instrumentasikan perangkat lunak untuk mengisolasi modul yang menjelaskan utilisasi proses yang berat. 6. Bila perlu, Desain ulang atau kodekan kembali bahasa yang tergantung pada mesin untuk meningkatkan efisiensi. E. Desain Interface Desain interface memfokuskan diri pada 3 area perhtian: Desain interface antara modul modul perangkat lunak. Desain interface antara perangkat lunak dan produser dan konsumen informasi bukan manusia lainnya (yakni entitas eksternal lainnya). Desain interface antara pemakai dan komputer. a. Desain interface pemakai eksternal dan internal Desain interface program internal, yang kadang disebut desain interface intermodular, dikendalikn oleh data yang harus mengalir diantara modul modul dan karakteristik bahasa pemerograman dimana perangkat lunak akan diimplementasikan. Secara umum, model analisis berisi banyak informasi yang dibutuhkan bagi desain interface intermodular. Desain interface eksternal dimulai dengan evaluasi terhadap masing masing entitas eksternal yang di representasikan pada DFD model analisis. Persayaratan data dan kontrol dari entitas eksternal ditentukan, dan dirancang interface eksternal yang sesuai. Desain interface eksternal bagi masing masing sensor didasarkan item kontrol dan data spesifik yang dibutuhkan untuk sensor tersebut. Baik desain interface eksternal maupun internal harus dirangkai dengan validasi data dan algoritma penanganan kesalahan dalam sebuah modul. Karena efeksamping menyebar melalui interface program, maka
penting untuk mengecek semua aliran data dari modul ke modul (atau ke dunia luar) untuk memastikan bahwa data sesuai dengan batas yang telah ditentukan selama analisis persyaratan. b. Desain interface pemakai Desain interface pemakai berkaitan dengan study terhadap manusia, juga terhadap isu isu teknologi. Siapakah para pemakainya? Bagaimana pemakai belajar berinteraksi dengan sistem berbasis komputer yang baru? Bagaimana pemakai menginterpresentasikan informasi yang dihasilkanoleh sistem? Apakah yang diharapkan dari sistem tersebut? Itu hanya sebagian kecil dari banyak pernyataan yang harus diajukan dan dijawab sebagai bagian dari desain interface pemakai. 1. Desain interface mesin - mesin a. Model model desain interface Ada empat model yang berbeda pada saat manusiakomputer/ human-komputer interface (HCL) akan didesain. Perekayasa perangkat lunak menciptakan sebuah model desain, perekayasa manusia ( atau perekayasa perangkat lunak) membangun model pemakai, pemakai akhir mengembangkan citra mental yang sering disebut user s model atau perception, dan implementer sistem menciptakan system image [RUB88]. Model desain dari keseluruhan sistem menggabungkan data, arsitektur, interface, dan representasi prosedural dari perangkat lunak. Model pemakai menggambarkan profil para pemakai akhir dari sistem. Untuk membangun interface pemakai yang efektif, semua desain harus dimulai dengan suatu pemahaman terhadap pemakai yang dimaksudkan, meliputi profil, usia, jenis kelamin [SHN87]. Para pemakai juga dapat dikategorikan sebagai: Orang baru
Pemakai intermiten yang banyak pengetahuan Pemakai yang banyak pengetahuan dan sering Persepsi sistem (model pemakai) merupakan citra sistem yang ada dikepala seorang pemakai akhir. Sebgai contoh, bila pemakai pengelola kata tersebut, persepsi sistem akan menuntun respon tersebut. Citra sistem merangkai manifestasi bagian luar dari sistem berbasis computer (tampilan luar dan rasa interface), dengan semua informasi yang mendukung (buku-buku, manual, pita video) yang menggambarkan sintaksis dan semantik sistem. 2. Pedoman desain interface Ada tiga kategori pedoman desain HCI: interaksi umum, tampilan informasi, dan entry data. a. Interaksi umum Pedoman bagi interaksi umum sering melewati batasan kedalam tampilan informasi, entridata, dan kontrol sistem keseluruhan. Dengan demikian pedoman itu mencakup keseluruhan dan bila diabaikan akan menimbulkan resiko besar. Pedoman berikut berfokus pada interaksi umum: Konsisten Berikan umpan balik yang sangat berarti Mintalah verifikasi terhadap sembarang aksi destrutif yang signifikan Ijin kemudahan pembatalan sebagian besar aksi Kurangi jumlah informasi yang harus diingat diantara aksi aksi Usahakan adanya efisiensi dalam dialog, gerakan, dan pemikiran Memaafkan kesalahan
Kategorikan aktifitas menurut fungsi dan atur geografi layar secar sesuai Sediakan fasilitas help dan sensitif konteks Gunakan verbal aksi yang sederhana atau frase verbal pendek untuk menamai perintah b. Tampilan Informasi Bila informasi yang disajikan oleh HCI tidak lengkap, ambigu, atau tidak dapat dimengerti, makaapliksi tersebut akan gagal memenuhi kebutuhan pemakai. Infomsi ditampilkan dalam banyak cara yang berbeda: dengan teks, gambar dan suara; dengan penempatan, gerakan dan ukuran; dan dengan menggunakan warna, resolusi, dan bahkan penghilangan.pedoman berikut berfokus pada tampilan informasi: Menampilkan hanya informasi yang relevan dengan konteks yang ada Jangan membanjiri pemakai dengan data, gunakn format representasi yang memungkinkan asimilasi informasi yang cepat. Gunakan label label yang konsisten, penyingkatan standar, dan warna yang dapat diprediksi Ijinkan pemakai untuk memelihara konteks visual Hasilkan pesan kesalahan yang berarti Gunakan huruf besar dan kecil, indentasi, dan pengelompokkan teks untuk membantu pemahaman. Gunakan jendela untuk menggolongkan tipe tipe informasi yang berbeda Gunakan tampilan analog untuk mempresentasikan informasi yang lebih mudah diasimilasikan dengan bentuk representasi ini
Pertimbangkan ketersediaan geografi layar tampilan dan gunakan secara efisien c. Input Data Dalam banyak aplikasi, keybord menjadi medium input yang utama, tetapi mouse, digitizer, dan bahkan sistem pengenaln suara secara cepat menjadi alternatif yang efektif. Pedoman pedoman berikut berfokus pada input data: Minimalkan jumlah aksi input pyang dibutuhkan dari pemakai. Jagalah konsistensi diantara tampilan informasi dan input data Ijinkan pemakai mengkostumasi input Interaksi harus fleksibel tetapi juga diatur kemode input yang disukai pemakai Non aktifkan perintah yang tidak sesuai didalam konteks aksi yang sedang berlangsung Biarkan pemakai mengontrol aliran interaktif Silakan help untuk membantu semua aksi input Hilangkan input mickey mouse F.Desain Prosedural Tujuan: untuk menetapkan detail algoritma yang akan dinyatakan dalam suatu bahasa tertentu. Desain prosedural dilakukan setelah diselesaikannya perancangan desain data, arsitektur, dan antar muka software. Coding Program Design Language (PDL)
à adalah pseudocode atau suatu bahasa keseluruhan yang sintaksnya dari bahasa tertentu (pemrograman terstruktur).