Friday 10 October 2014

SYSTEM DESIGN

SYSTEM DESIGN

Beberapa Strategi Desain System

Model driven design, sebuah pendekatan desain sistem yang menekankan penggambaran model sistem untuk mendokumentasikan aspek teknis dan implementasi dari sebuah sistem.
Model structured design, sebuah teknik desain sistem yang menguraikan proses-proses sistem menjadi komponen-komponen yang dapat dikelola.
Desain terstruktur modern, sebuah teknik yang fokus pada proses. Modern structured design adalah teknik berorientasi proses untuk mengubah program besar ke dalam hirarki modul-modul yang menghasilkan sebuah program komputer yang lebih mudah untuk diimplementasikan dan dipelihara (diubah)

Beberapa Keuntungan menggunakan prototyping sebagai pendekatan desain sistem

Prototyping adalah proses iterative dalam pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working system) yang secara terus menerus diperbaiki melalui kerjasama antara user dan analis.

Prototype methodology


  • Analis bekerja dengan tim untuk mengidentifikasi requirement awal untuk sistem
  • Analis kemudian membangun prototype. Ketika sebuah prototype telah selesai. User bekerja dengan prototype  itu dan menyampaikan pada analis apa yang mereka sukai dan yang tidak mereka sukai.
  • Analis kemudian menggunakan feedback ini untuk memperbaiki prototype
  • Versi baru diberikan kembali ke user
  • Ulangi langkah-langkah tersebut sampai user merasa puas

Keuntungan prototype


  • Prototype melibatkan user dalam analisa dan desain
  • Punya kemampuan menangkap requirement secara konkret daripada secara abstrak
  • Untuk digunakan secara standalone
  • Digunakan untuk memperluas SDLC

Beberapa kerugian atau perangkap prototyping sebagai sebuah pendekatan desain sistem

Prototype juga bisa dibangun melalui beberapa tool pengembangan untuk menyederhanakan proses. Prototyping merupakan bentuk dari Rapid Application Development (RAD).

Beberapa kerugian RAD:


  • RAD mungkin mengesampingkan prinsip-prinsip rekayasa perangkat lunak
  • Menghasilkan inkonsistensi pada modul-modul sistem
  • Tidak cocok dengan standar
  • Kekurangan prinsip reusability komponen

Kelemahan prototyping adalah : 


  1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan  kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.
  2. pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai  tanpa memikirkan  lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem . 
  3. Hubungan pelanggan dengan komputer yang disediakan  mungkin  tidak mencerminkan teknik perancangan yang baik 

Prototyping  bekerja dengan baik pada penerapan-penerapan yang berciri sebagai berikut: 


  1. Resiko tinggi Yaitu untuk maslaha-masalah yang tidak terstruktur dengan baik, ada perubahan yang besar dari waktu ke waktu, dan adanya persyaratan data yang tidak menentu. 
  2. Interaksi pemakai penting . Sistem harus menyediakan dialog on-line antara pelanggan dan komputer. 
  3. Perlunya penyelesaian yang cepat 
  4. Perilaku pemakai yang sulit ditebak 
  5. Sistem yang inovatif.  Sistem tersebut membutuhkan cara penyelesaian masalah dan penggunaan perangkat keras yang mutakhir 
  6. Perkiraan tahap penggunaan sistem yang pendek

Tugas yang harus dilakukan untuk menyelesaikan desain sistem pada proyek pengembangan in house

Untuk proyek pengembangan in house, desain sistem melibatkan pengembangan spesifikasi desain teknik yang akan memandu konstruksi dan implementasi dari sebuah sistem baru. Untuk menyelesaikan fase desain, desainer sistem harus menyelesaikan tugas-tugas di bawah ini :

Mendesain arsitektur aplikasi.

Arsitektur aplikasi merupakan suatu desain aplikasi yang terdiri dari komponen-komponen yang saling berinteraksi satu sama lain.Biasanya juga disebutdengan infrastruktur aplikasi. Carakomunikasi komponen-komponen tersebutmelalui network atau jaringan yang salingterhubung. Terdapat beberapa macam arsitektur aplikasi, di antaranya Stand Alone, ClientServer (Two Tier), dan Three Tier. Selain ketiga arsitektur tersebut, Clustering dan DRC(Disaster Recovery Center) merupakan suatu metode tambahan pada arsitektur aplikasi yang lazim digunakan untuk menjaga availability suatu sistem.

Mendesain database sistem.

Database merupakan salah satu komponen yang penting di sistem informasi, karena berfungsi sebagai basis penyedia informasi bagi para pemakainya. Penerapan database dalam sistem informasi disebut dengan database sistem. Sistem basis data (database system ) ini adalah suatu sistem informasi yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan lainnya dan membuatnya tersedia untuk beberapa aplikasi yang bermacam-macam di dalam suatu organisasi.
Tujuan dari desain database adalah untuk menentukan data-data yang dibutuhkan dalam sistem, sehingga informasi yang dihasilkan dapat terpenuhi dengan baik. Database yang sudah masuk dalam suatu media penyimpanan tidak akan pernah bisa diakses tanpa adanya suatu perangkat lunak aplikasi yang familiar dengannya, misalkan saja perangkat lunak aplikasi yang berbasis database.

Medesain antarmuka sistem.

Merancang antarmuka merupakan bagian yang paling penting dari merancang sistem. Biasanya hal tersebut juga merupakan bagian yang paling sulit, karena dalam merancang antarmuka harus memenuhi tiga persyaratan: sebuah antarmuka harus sederhana, sebuah antarmuka harus lengkap, dan sebuah antarmuka harus memilki kinerja yang cepat.

Alasan utama mengapa antarmuka sulit untuk dirancang adalah karena setiap antarmuka adalah sebuah bahasa pemrograman yang kecil: antarmuka menjelaskan sekumpulan objek-objek dan operasi-operasi yang bisa digunakan untuk memanipulasi objek.

Dalam proses pengembangan antarmuka, kita bisa atau mungkin saja tidak bisa memisahkannya dari seluruh proses pengembangan sebuah produk. Walaupun begitu, fokus dari dua proses tersebut sangatlah berbeda. Dalam proses pengembangan antarmuka, fokus haruslah terletak pada elemen-elemen antarmuka dan objek-objek yang pengguna lihat dan gunakan, dibandingkan dengan kemampuan sebuah program.

Elemen-Elemen dalam perancangan antarmuka adalah


  1. Mendefinisikan konsep. Mengumpulkan kebutuhan-kebutuhan pengguna dan mendefinisikan desain secara konseptual.
  2. Memvalidasi konsep.  Mengevaluasi konseptual desain tersebut.
  3. Merancang.  Mengevaluasi prototype. Menandai dan memperbaiki masalah-masalah yang ditemukan.
  4. Pengembangan.  Melakukan pengujian secara berkala terhadap desain yang lebih dahulu dibuat dan desain yang paling terakhir dibuat. Menandai dan memperbaiki masalah-masalah yang ditemukan.

Mengemas spesifikasi desain.

Memperbarui rencana proyek

Tugas yang harus dilakukan untuk menyelesaikan analisis procurement dan keputusan perangkat lunak dan pelayanan yang dibutuhkan oleh sebuah proyek yang melibatkan solusi “membeli”

Desain sistem untuk solusi yang melibatkan perolehan produk perangkat lunak commercial off the shelf (COTS) memasukkan fase procurement dan analisis keputusan yang menekankan perangkat lunak dan pelayanan. Penyelesaian fase-fase tersebut mencakup tugas-tugas dibawah ini :

  • Meneliti kriteria dan pilihan teknis.
  • Mengumpulkan proposal (atau quotes) dari vendor.
  • Memvalidasi klaim dan performansi vendor.
  • Mengevaluasi dan merangking proposal vendor.
  • Menyerahkan (atau melepaskan) kontrak dan melakukan pertemuan dengan vendor.


Read Full Article...

CONTOH PENGGAMBARAN CLASS DIAGRAM

Contoh Kasus

Gambarkan sebuah model class diagram untuk mengkomunikasikan hal berikut : Perusahaan XYZ memiliki beberapa karyawan. Perusahaan melacak LAST NAME, FIRST NAME, MIDDLE NAME, GENDER, HOME ADDRESS, DATE HIRED, dan BIRTHDATE. Beberapa karyawan adalah karyawan full-time. Untuk karyawan semacam itu, perusahaan tertarik untuk ANNUAL SALARY dari setiap karyawan. Karyawan lain adalah karyawan yang digaji berdasarkan jam, perusahaan tertarik pada HOURLY PAY RATE dari setiap karyawan tersebut.

Gambar Class Diagram

Contoh Gambar Class Diagram

Read Full Article...

Penjelasan dan contoh UML Multiplicity

Pengertian Multiplicity

Cara kerja UML adalah dengan mendefinisikan notasi dan sebuah meta-model. Notasi tersebut adalah model-model yang direpresentasikan dalam bentuk grafis, ini adalah syntax untuk bahasa permodelan. Untuk contohnya, notasi class diagram mendefinisikan bagaimana item-item dan konsep-konsep seperti class, association, dan multiplicity direpresentasikan.
Tentu saja, ini semua mengarah kepada pertanyaan apakah sebenarnya yang dimaksud dengan sebuah association atau multiplicity atau bahkan sebuah class. Para pengguna umumnya menyarankan beberapa definisi-definisi informal, tetapi banyak orang menginginkan informasi yang lebih daripada itu semua.
Multiplicity dari suatu titik association adalah angka kemungkinan bagian dari hubungan kelas dengan single instance (bagian) pada titik yang lain. Multiplicity berupa single number (angka tunggal) atau range number (angka batasan). Multiplcity merepresentasikan jumlah koneksi suatu class dengan class yang lainnya. Pada contoh, hanya bisa satu ‘Customer’ untuk setiap ‘Order’, tapi satu ‘Customer’ hanya bisa memiliki beberapa ‘Order’.
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Classmenggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain.

Objek 


  • Objek didefinisikan sebagai konsep, abstraksi atau benda dengan batasan dan arti untuk suatu masalah. 
  • Semua objek mempunyai identitas yang berbeda dengan lainnya. 
  • Istilah identitas berarti bahwa objek dibedakan oleh sifat yang melekat dan bukan dengan uraian sifat yang dimilikinya. 
  • Contohnya : kembar identik, walaupun mereka nampak seperti sama, tetapi merupakan dua orang yang berbeda. 
  • Kadang-kadang objek berarti suatu barang, maka digunakan istilah object instance, dan object class untuk menunjukkan satu grup dari barang yang sama. 

Kelas


  • Suatu object class menggambarkan kumpulan dari objek yang mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum. 
  • Contoh : Orang, perusahaan , binatang, proses adalah objek. 
  • Setiap orang mempunyai umur, IQ, dan mungkin pekerjaan. Setiap proses mempunyai pemilik, prioritas, list dari sumber daya yang dibutuhkan. 
  • Objek dan object class sering sama sebagai benda dalam deskripsi masalah.

UML Multiplicity Notations

UML Multiplicity Notations

Contoh class untuk masing – masing multiplicity

Mulitiplicity and Navigation

Read Full Article...

Wednesday 8 October 2014

Pengertian, fungsi, dan contoh Data Flow Diagram (DFD)

Pengertian DFD

Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas.
DFD merupakan alat bantu dalam menggambarkan atau menjelaskan proses kerja suatu sistem.

Fungsi DFD

Fungsi dari Data Flow Diagram adalah :
  • Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
  • DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem.
  • DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.

Contoh DFD

1. Contoh DFD di Restoran

Contoh DFD di Restoran

Penjelasan :
Proses DFD diatas menggambarkan mengenai bisnis proses di sebuah restoran atau tempat makan. Proses berawal dari order dari customer, pembayaran customer, menyampaikan order ke kitchen, hingga proses pelaporan ke manager. Proses bisnis ini digunakan oleh restoran yang pembayaran dilakukan sebelum pesanan customer dihidangkan. Karena dalam urutan proses, customer melakukan payment terlabih dahulu, kemudian order akan diserahkan ke kitchen.
  1. Orders (pesanan)
  2. Price (harga)
  3. Inventory (persediaan)
  4. Payments (pembayaran)
  5. Reports (laporan)
Exsternal pada gambar DFD diatas adalah:
  1. Customer (pelanggan)
  2. Bank
  3. Cashier (kasir)
  4. Kitchen (koki)
  5. Manager 
Proses pada DFD diatas adalah :
  1. Place Order, proses ini melakukan input data ke dalam sistem berdasarkan order yang dilakukan oleh customer. Data yang di input akan disimpan dalam data store orders. Proses ini mendapat input data dari customer dan mengeluarkan hasil penyimpanan data ke data store orders.
  2. Generate Invoice, mendapatkan data dari data store orders dan price untuk melakukan pembuatan invoice sesuai dengan order customer. Invoice yang dihasilkan diberikan kembali kepada customer.
  3. Apply Payment, proses ini mendapatkan data payment dari customer. Pada proses ini akan terjadi pemisahan untuk mengeluarkan data cash dan data pembayaran menggunakan credit card.
  4. Get Orders, proses ini bertugas untuk memberikan data orders kepada kitchen untuk dilakukan proses selanjutnya. Data pada proses ini diperoleh dari data store orders yang telah diinputkan pada proses sebelumnya.
  5. Update Order Status, proses ini dilakukan untuk mengupdate data atas order yang telah dibuat oleh kitchen. Jika order selesai dibuat, maka kitchen akan melakukan update data order.
  6. Update Inventory, dari data orders dilakukan juga proses update inventory yang akan menghasilkan data stok inventory pada tabel inventory. 
  7. Generate Orders Reports, proses ini dilakukan untuk menghasilkan laporan seluruh order yang telah diinput.
  8. Generate Payment Reports, proses ini mendapatkan data dari data store payment untuk menghasilkan laporan payment.
  9. Generate Inventory Reports, inventory yang telah diupdate akan diproses pada proses ini untuk dilakukan pelaporan report inventory.
  10. Generate Final Report, mengumpulkan seluruh report pada proses sebelumnya untuk diproses dan disimpan pada data store report.
  11. Get Reports, mengolah kumpulan data report dari data store report untuk menghasilkan suatu laporan ke eksternal manager.

2. DFD Di Rental DVD

Contoh DFD di Rental DVD

Penjelasan:
DFD diatas menggambarkan proses sistem rental DVD. Proses yang ada pada sistem tersebut mulai dari proses peminjaman, verifikasi data, pembayaran, konfirmasi DVD dan proses pelaporan sebagai proses akhir.
Data store pada DFD diatas adalah:

  1. Membership Information

Eksternal pada DFD diatas adalah:

  1. Customer
  2. DVD Library
  3. Store Manager

Proses pada DFD diatas adalah:

  1. Verifiying the Data, pada proses ini dilakukan proses verifikasi data member dan data ketersediaan DVD yang akan dipinjam. Data member disimpan pada data store member. Verifikasi data dikirimakan ke eksternal untuk mendapatkan informasi available DVD. Data yang didapat dari eksternal dan data store member akan manantukan peminjaman DVD yang dilakukan customer.
  2. Payments Details, customer akan melakukan pembayaran setelah DVD yang akan dipinjam didapatkan. Dan pada proses ini customer akan mendapatkan struk pembayaran dari sistem. Pada proses ini terdapat kekurangan data store payment yang seharusnya disimpan dalam database.
  3. Payments Reports, proses ini mendapatkan data dari proses sebelumnya serta data dari eksternal yang berupa stok DVD. Pada proses ini akan menghasilkan suatu laporan report yang akan diserahkan kepada manager.

3. DFD Penjualan dan Pembelian

Contoh DFD Proses Pembelian dan Penjualan

Penjelasan :
DFD menggambarkan bisnis proses mengenai alur pemesanan barang dari customer hingga pembelian barang ke supplier. Bisnis proses diatas adalah satu siklus yang lengkap sebuah perusahaan untuk mulai dari pemesanan awal hingga pembelian barang dari supplier untuk kebutuhan produksi. Serta penerimaan pembayaran dari customer dan pembayaran ke supplier atas pembelian yang telah dilakukan.

Data Store pada DFD diatas adalah :

  1. Product Info
  2. Customer Info
  3. Inventory Info
  4. Account Receivable
  5. Account Payable

Eksternal pada DFD diatas adalah:

  1. Customer
  2. Bank
  3. Supplier

Proses pada DFD diatas adalah :

  1. Proses Orders, proses ini mendapatkan data dari customer mengenai data order data payment. Proses ini akan melakukan verifikasi data dari data store customer dan product untuk mengecekan barang dan customer yang melakukan pemesanan. Hasil verifikasi dikirim ke proses selanjutnya untuk verifikasi inventory.
  2. Verify Inventory, pemesanan yang dilakukan customer harus dipenuhi. Sehinggga pada proses ini bertugas untuk melakukan verifikasi inventory atas barang yang dipesan dari data store inventory. Jika terdapat kekurangan inventory, maka proses ini akan mengirimkan data ke proses selanjutnya untuk dilakukan pemesana inventory ke supplier. Proses ini juga akan mendapatkan data dari supplier atas barang yang telah dikirim oleh supplier. Sehingga proses ini akan melakukan update data store inventory. Proses ini juga akan memberikan data pada proses invoice. Data yang diberikan adalah data order yang dilakukan oleh customer.
  3. Reorder Product, proses ini dilakukan jika terdapat kekurangan inventory atas barang yang diproduksi. Data yang diterima dari proses sebelumnya akan diberikan kepada supplier atas dasar kebutuhan barang yang diperlukan untuk produksi.
  4. Generate Invoice, proses ini mendapatkan dari proses sebelumnya untuk pembuatan invoice atau tagihan atas order yang dilakukan customer. Invoice akan diikirimkan ke customer untuk dilakukan pembayaran.
  5. Process Payments, pembayaran yang dilakukan oleh customer akan disimpan pada data store account receivable. Dan proses ini akan mengeluarkan suatu laporan ke bank.
  6. Process Payable, proses ini melakukan pembayaran ke supplier. Data yang didapat dari supplier berupa bill tagihan. Data pembayaran ini akan disimpan pada data store account patabye. Hasil yang dikeluarkan pada proses ini adalah pembayaran ke bank atas tagihan yang udah dibuat, serta bukti pembayaran akan dikirimkan ke supplier.


Sumber:
http://id.wikipedia.org/wiki/Data_flow_diagram
http://7enius.wordpress.com/2012/03/11/pengertian-fungsi-dan-contoh-dari-data-flow-diagramdfd/

Read Full Article...