METODE DESAIN DAN CODING Untuk Memenuhi Tugas Mata Kuliah Rekayasa Perangkat Lunak
Dosen Pembimbing : Wachyu Hari Haji, S.Kom, MM Disusun Oleh : Fadhilla Eka Hentino / 41813120051
UNIVERSITAS MERCU BUANA JAKARTA FAKULTAS ILMU KOMPUTER JURUSAN SISTEM INFORMASI JUNI 2015
METODE DESAIN I.
DESAIN DATA Desain data adalah aktivitas pertama 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.
II.
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.
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.
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.
1. PROSES DESAIN 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. 2. 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. 3. 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.
1.1 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”
6
Lakukan”pemfaktoran tingkat kedua”
7
Saringlah struktur program iterasi pertama dengan menggunakan heuristic desain bagi kualitas perangkat lunak yang telah ditingkatkan.
4. 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.
III.
PASCA PEMEROSESAN 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.
IV.
Mengkaji desain.
Mempertimbangkan “optimasi” (bila perlu dan dibenarkan).
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.
V.
DESAIN INTERFACE Desain interface memfokuskan diri pada 3 area perhtian: 1.
Desain interface antara modul – modul perangkat lunak.
2.
Desain interface antara perangkat lunak dan produser dan konsumen informasi bukan manusia lainnya (yakni entitas eksternal lainnya).
3.
Desain interface antara pemakai dan komputer.
1. DESAIN INTERFACE PEMAKAI INTERNAL DAN EKSTERNAL 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. 2. 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.
VI.
MASALAH – MASALAH DESAIN Pada saat interface pemakai berkembang, hampir muncul empat masalah desain umum,
yaitu: waktu respon sistem, fasilitas help pemakai, penanganan informasi kesalahan, dan pelabelan perintah. waktu respon sistem mempunyai dua karakteristik penting: panjang dan variabilitas. Bila jarak (panjang) eaktu untuk respon sistem terlalu panjang, stres dan frustasi pemakai akan menjadi hal yang dapat dihindari. Tetapi, waktu respon yang sangat pendek juga dapat menggangu bila pemakai ditinggak interface. Variabilitas mengacu pada penyimpangan terhadap waktu respon rata – rata, dan dalam banyak hal variabilitas lebih penting dari karakteristik waktu respon. Ada dua tipe fasilitas help yang berbeda: integrated dan add-on[RUB88].fasilitas help integrated didesain kedalam perankat lunak sejak awal.peralatan itu sering menjadi sensitif konteks, yang memungkinkan pemakai memilih topik – topik yang relevan dengan kegiatan yang sedang dilakukan. Fasilitas help add-on ditambahkan ke perangkat lunak seetelah sistem tersebut dibangun.dalam banyak hal fasilitas tersebut benar – benar Merupakan manual pemakai on-linebdengan kapabilitas query yang terbatas. Pemakai mungkin harus mencari daftar yang berisi ratusan topik untuk mendapatkan pedomn yang sesuai, sering membuat banyak kesalahan dan menerima informasi yang tidak relevan. Ada sejumlah masalah desain [RUB88] yang harus ditekankn bila fasilitas help dipertimbangkan:
Apakah help akan dapat diperoleh untuk smua fungsi sistem dan pada keseluruhan waktu selama interaksi sistem? Pilihan mencakup help hanya untuk suatu sub-kumpulan dari semua fungsi dan aksi, dan help untuk semua fungsi.
Bagaimana pemakai memperoleh help? Pilihan meliputi menu help, kunci fungsi khusus, dan sebuah perintah help.
Bagaimana help akan direpresentasikan? Pilihan mencakup sebuah jendela terpisah, reperensi untuk dokumen yang dicetak (kurang ideal), dan satu atau dua baris usulan yng dibuat pada suatu lokasi layar yang tetap.
Bagaimana pemakai kembali keinteraksi normal?pilihan mencakup tombol return yang ditanpilkan pada layar dan kunci fungsi atau urutan kontrol.
Bagaimana informasi help distruktur? Pilihan mencakup struktur “datar” dimana semua informasi diakses melalui sesuatu kata kunci, hirarki informasi bertingkat yang memberikn detail tambahan pada saat pemakai melangkah kedalam struktur tersebut, dan kegunaan hiperteks.
Secara umum setiap pesan atau peringatan kesalahan yang dihasilkan oleh sebuah sistem intraktif harus memiliki karakteristik sebagai berikut:
Pesan harus menggambarkan masaalah dalam istilah yang dapat dipahami oleh pemakai.
Pesan harus memberinasehat intruktif untuk membetulkan kesalahan.
Pesan harus mengindikasikan kosekuensi negatif dari kesalahan.
Pesan harus disertai oleh isarat visual atau audibel.
Pesan harus tidak “menghakimi”, yaitu penyusunan kata tidak boleh menyalahkan pemakai.
Ada sejumlah isu desain yang muncul pada saat perintah diberikan sebagai sebuah mode interaksi:
Apakah setiap pilihan menu akan memiliki perintah yang sesuai?
Bagaimanakah bentuk yang akan diambil oleh perintah tersebut?
Seberapa sulitkah mempelajari dan mengimgat perintah – perintah tersebut?
Dapatkah dikostumasi atau disingkat oleh pemakai?
METODE PENGKODEAN
Pada dasarnya, pengkodean adalah menyalin alur data dan alur system kedalam bahasa pemrograman yang kita inginkan. Pada pengkodean dilakukan 2 tahap yaitu pengkodean alur system dan data dan pengkodean tampilan. Adapun metode pengerjaannya biasa mendahulukan pengkodean system kemudian pengkodean tampilan atau sebaliknya atau keduanya dilakukan bersamaan tergantung perangkat lunak kita apakah berorientasi objek (object oriented programming) atau berorientasi pada system (system oriented programming) Program adalah serangkaian ekspresi yang disusun menjadi kesatuan prosedur berupa urutan langkah untuk menyelesaikan suatu permasalahan dan diimplementasikan dalam bentuk bahasa pemrograman sehingga dapat dijalankan pada komputer. Adapun bahasa pemrograman merupakan tata cara penulisan program. Pada bahasa pemrograman terdapat dua faktor penting, yakni:
Sintaks, yaitu aturan-aturan gramatikal yang mengatur tatacara penulisan ekspresi/statemen
Semantik, yaitu aturan-aturan untuk menyatakan suatu arti Standar pemrograman dibutuhkan untuk menciptakan suatu program dengan portabilitas
yang tinggi sehingga memudahkan dalam merancang dan merawat program serta meningkatkan efektivitas penggunaan peralatan komputer. Beberapa standar dasar penilaian untuk sebuah program dikatakan baik antara lain:
Teknik pemecahan masalah
Penyusunan program
Perawatan program
Standar prosedur
Bahasa Pemrograman memiliki 2 Generasi yang berbeda yaitu
Generasi Ke-4 atau 4GL Keunggulan : a. Jalur kode yang lebih sedikit b. Memberikan potensi dilakukannya pemrograman oleh end user untuk aplikasi mereka sendiri c. Metodologi pengembangan d. Produktivitas yang meningkat e. Layanan yang meningkat f. Partisipasi pemakai
Generasi Ke-3 atau 3GL Keunggulan : a. Kepadatan b. Efisiensi mesin c. Fungsionalitas d. Kompatibilitas e. Produktivitas pengkodean f. Pengujian dan pemeliharaan
DAFTAR PUSTAKA http://elearning.gunadarma.ac.id/docmodul/peng_implementasi_pmliharaan_si/bab3pengkodean_perangkat_lunak.pdf http://id.wikipedia.org/wiki/Bahasa_pemrograman http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CB0QFjAAah UKEwj56Ij9gojGAhWkNKYKHTQmAOg&url=http%3A%2F%2Fwsilfi.staff.gunadarma.ac.id %2FDownloads%2Ffiles%2F2200%2FPengkodean%2BPerangkat%2BLunak%2Bmg%2Bke%2 B4.pdf&ei=N7J5VbnxKaTpmAW0zIDADg&usg=AFQjCNFEH4yaSY5QzGuTgaQuRg_iqKWBA&sig2=f9OMHKLHv8MZDj8I7nbvvg&bvm=bv.95277229,d.dGY&cad =rja http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CB0QFjAAah UKEwjcidThhojGAhUIG6YKHVCtANY&url=http%3A%2F%2Fwww.smknperkapalan.net%2 Febook%2Fview.php%3Ffile%3DMeteri%2BVEDC%2FSemester%2B3%2Frekayasa%2Bsiste m%2Boperasi%2FPert%2B1%2FModul%2FModulTeori%2FBab%2B4%2BMETODE%2BDES AIN.doc&ei=L7Z5VZy2OYi2mAXQ2oKwDQ&usg=AFQjCNFt2OcouOq7jKz7GfpDOZkLNOUqg&sig2=N_VTjc0l9DLcLRhxrNAA0w&bvm=bv.95277229,d.dGY&c ad=rja