Selasa, 26 Mei 2015

Perbedaan Antara White-Box dan Black-Box

White-box testing. (juga dikenal dengan clear box testing, glass box testing, transparent box testing, dan structural testing) Dalam White-box testing, kita membuat test cases dengan melihat source code untuk mencari adanya kesalahan pada program. White-box testing dilakukan oleh Software Engineer karena membutuhkan pengetahuan tentang programming dan implementasinya. Hal-hal yang biasa diuji dalam test cases seperti Loops(while or for loop), Decision Making (if statement or switch statement) atau data structure.
  • Keuntungan White-box testing:
  1. Sebagai Software engineer yang memiliki akses ke source code, hal ini menjadi sangat mudah untuk melakukan skenario pengujian secara efektif.
  2. Membantu Software engineer untuk mengoptimalkan source code.
  3. Baris kode yang tidak efisien dapat dihilangkan agar mencegah bugs pada program.
  • Kerugian White-box testing:
  1. Karena dibutuhkan Software engineer yang berpengalaman dalam White-box testing sehingga mengeluarkan biaya tambahan.
  2. Terkadang sangat sulit melihat setiap baris kode untuk mencari bugs pada program yang akan diuji.
Black-box testing. Sedangkan Black-box testing merupakan kebalikan dari White-box testing dimana Software Tester tidak memiliki akses source code atau mengetahui implementasi dari program tersebut untuk mencari adanya kesalahan pada program dan juga tidak diharuskan memiliki pengetahuan tentang programming dan implementasinya. Ketika melakukan Black-box testing, tester akan berinteraksi dengan user interface yang menyediakan input dan memeriksa outputnya, juga menguji performa program atau menguji function-function yang tidak bekerja dengan benar.
  • Keuntungan Black-box testing:
  1. Cocok dan efisien untuk source code dengan skala besar.
  2. Menguji program dari sudut pandang user.
  3. Software tester dalam jumlah yang banyak dapat menguji program tersebut tanpa harus memiliki pengetahuan tentang programming.
  • Kerugian Black-box testing:
  1. Software tester hanya menjalankan beberapa skenario pengujian yang dipilih.
  2. Pengujian yang tidak efisien karena Software tester memiliki pengetahuan yang terbatas tentang program.
  3. Pengujian yang tidak spesifik karena Software tester tidak memiliki akses ke source code.

Sabtu, 09 Mei 2015

Rancangan Aplikasi Rumah Sakit (Andi Saputra - 2012130004 - Teknik Informatika)

1. Use Case Diagram

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpK5nb82rSyNPPrhQy_zwk2XzDq444q2BH1BpMmosADGZX_xfk68_IHln1ALEMzyyxI6HgNkfm27P-QN9-MBjOWq36FovJXP3_pVjZ0dEFveL1iyQw8e8n6Q2U1oCfwMO3XwMT4yMryJ7f/s1600/use+rhs.png

2. Class Diagram 
Class diagram memperlihatkan keberadaan dari class-class dan hubungannya dari sistem dalam logical view. Class diperoleh dengan melakukan  pengetesan pada sequence dan collaboratin diagram. Pasien masuk ke petugas loket menghsilkan laporan dan masuk ke petugas medis, di sana petugas medis menentukan apa masuk ke laboran atau langsung ke apoteker mebeli obat, setelah itu pasien melakukan administrasi.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMpa0K5lrij3TwdVB0Bhs7NtutoNBJxmEDAELJyV5WqFbBI6FEO3FNAUw2PBtzOkLQHAxZpzTdsScRtRe3KB06IWS2EIc02x6Ba_J4hbMHYIilT9UZ9ULaEYjuOpIWhVEd1aC5YPWG2map/s1600/clas+rhs.png

3. Activity Diagram

Activity diagram merupakan model perilaku yang dinamis dari class secara individual maupun beberapa bentuk dari obyek. Semua itu menunjukkan deretan dari state yang dilakukan obyek melalui event yang menyebabkan sebuah transisi dari satu ke aktifitas yang lain, dan beberapa aksi yang menghasilkan dari satu state atau aktifitas yang berubah. Activity diagram fokus pada state dan secara bentuk digunakan untuk memodelkan tahapan yang nampak terpotong-potong dari sebuah aktivitas yang kontinyu dari obyek. Diagram ini memiliki hubungaan yang tertutup dengan activity diagram. Activity diagram fokus pada aktifitas dan pada pemodelan deretan aktivitas dari proses.
Pasien daptar dengan melakukan validasi jamkesmas,askes,ktp setelah itu baru di periksa oleh petugas medis, di sana petugas medis memberikan informasi ke papa pasien untuk di rawat atau tidak di rawat, lalu melakukan administrasi dan keluar. Untuk activity diagram prosesnya hampir sama dengan stetchart diagram, perbedaanya hanya di alur lebih komplit.


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtL8HbKgShEhqjzzHY-KGWjYglQJhJ6w0gmgT3_8SymbC4zxFIFKXQrQvBfSfwutLkYZuO2lkapJWiRtpgl0nT02XEsmv2sl8y-PoBG-lVz2H3OiNHztlInLU9r9gcH7w6VaodEqIztfbz/s1600/activity+slas.pnghttps://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY4kQ-Tdn1tvezeoyNyAXFyLkoF6caazcKZUQQM7IlkPyEVhl1NIRSTo_GtJ8LlDV02db9Vo2xplPRalJFgp9_nSiqiUvSqy21wIotYTIsquxs6CENfugM9TC_cRb9_c2G7_kNmtygnY0o/s1600/statechart+rhs.png

4. Sequence Diagram

Sequence diagram merupakan diagram Interaksi yang dinyatakan dengan waktu, atau dapat dikatakan dengan diagram dari atas (top) ke bawah (bottom). Setiap Sequence diagram menyatakan salah satu dari beberapa aliran yang melalui sebuah use case. Untuk sequence ini alur nya dari pasien daptar ke petugas loket , lalu dari petugas loket memberikan data pasien ke petugas medis, di petugas medis keluar hasil apakah perlu di bawa ke laboran atau tidak,jika tidak atau iya nantinya langsung ke apoteker dan membayar administrasi.menggunakan 1 actor (pasien) dan 5 objek (petugas tiket, petugas medis, laboran, apoteker, administrasi).
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg92C9-B04vcWcaVCHjntJleBBjQm4Teb-iL8BTV1BnNRyK81ZOapOU5tq-Ppk9P4GhNRkJocjcXFl4i7HOEfG2FpsCOhqXMejD8KzQMRIKBB67XOTilkhAfEz_QWjMiAqC7buFHDBxJzcf/s1600/sekj.png 
2. CLAS DIAGRAM
Class diagram memperlihatkan keberadaan dari class-class dan hubungannya dari sistem dalam logical view. Class diperoleh dengan melakukan  pengetesan pada sequence dan collaboratin diagram. Pasien masuk ke petugas loket menghsilkan laporan dan masuk ke petugas medis, di sana petugas medis menentukan apa masuk ke laboran atau langsung ke apoteker mebeli obat, setelah itu pasien melakukan administrasi. 


3. STATECHART DIAGRAM DAN ACTIVITY DIAGRAM
Statechart diagram merupakan model perilaku yang dinamis dari class secara individual maupun beberapa bentuk dari obyek. Semua itu menunjukkan deretan dari state yang dilakukan obyek melalui event yang menyebabkan sebuah transisi dari satu ke aktifitas yang lain, dan beberapa aksi yang menghasilkan dari satu state atau aktifitas yang berubah. Statechart diagram fokus pada state dan secara bentuk digunakan untuk memodelkan tahapan yang nampak terpotong-potong dari sebuah aktivitas yang kontinyu dari obyek. Diagram ini memiliki hubungaan yang tetrtutup dengan activity diagram. Activity diagram fokus pada aktifitas dan pada pemodelan deretan aktivitas dari proses.
Pasien daptar dengan melakukan validasi jamkesmas,askes,ktp setelah itu baru di periksa oleh petugas medis, di sana petugas medis memberikan informasi ke papa pasien untuk di rawat atau tidak di rawat, lalu melakukan administrasi dan keluar. Untuk activity diagram prosesnya hampir sama dengan stetchart diagram, perbedaanya hanya di alur lebih komplit.
- See more at: http://heni-cliquers.blogspot.com/2013/06/rancangan-aplikasi-rumah-sakit.html#sthash.9iyvwwyz.dpuf

Jumat, 27 Februari 2015

Tugas1_RPL (Andi Saputra - 2012130004 - Teknik Informatika)

AGILE MODEL
(Widodo Journal : 2006:1) Pada dekade 90-an diperkenalkan metodologi baru yang dikenal dengan nama agile methods. Metodologi ini sangat revolusioner perubahannya jika dibandingkan dengan metode sebelumnya. Agile Methodsdikembangkan karena pada metodologi tradisional terdapat banyak hal yang membuat proses pengembangan tidak dapat berhasil dengan baik sesuai tuntutanuser. Saat ini metodologi ini sudah cukup banyak berkembang, diantaranya adalah:
1) eXtreme Programming (XP)
2) Scrum Methodology
3) Crystal Family
4) Dynamic Systems Development Method (DSDM)
5) Adaptive Software Development (ASD)
6) Feature Driven Development (FDD)
Jika kita lihat, agile bisa berarti tangkas, cepat, atau ringan. Agility merupakan metode yang ringan dan cepat dalam pengembangan perangkat lunak. Agile Alliance mendefinisikan 12 prinsip untuk mencapai proses yang termasuk dalamagility:
Prioritas tertinggi adalah memuaskan pelanggan melalui penyerahan awal dan perangat lunak yang bernilai. 
Menerima perubahan requirements meskipun perubahan tersebut diminta pada akhir pengembangan. 
Memberikan perankat lunak yang sedangdikerjakan dengan sering,beberapa min ggu atau bulan, dengan pilihan waktu yang paling singkat. 
Pihak bisnis dan penggembangan harus berkerja sama setiap hari selam penggembangan berjalan. 
Bangun proyek dengan individu-individu yang bermotivasi tinggi dengan memberikan lingkungan dan dukungan yang diperlukan, dan mempercyai mereka sepenuhnya untuk menyelesaikan pekerjaannya. 
Metode yang paling efektif dan efisien dala m menyampaikan informasi kepada tim pengembangan adalah dengan komunikasi langsung  face to face. 
Perangkat lunak yang dikerjakan merupakan pengukur utama kemajuan. 
Proses agile memberikan proses pengembangan  yang bias ditopang.Sponsor,pengembangan, dan user garus bias menjaga ke-konstanan langkah yang tidak pasti. 
Perhatian yang harus terus mennerus terhadap rangcangan dan teknik yang baik meningkatkan agility. 
Keserdahanaan seni untuk meminimalkan jumlah pekerjaan adalah penting
Arsitektur,requirements, dan rancangan terbaik muncul dari tim yang mengatur sendiri. 
Pada interval reguler tertentu,tim merefleksikan bagaimana menjadi lebih efektif,kemudian menyesuaikannya
  
Kelebihan  Metode Agile
-          Meningakatkan rasio kepuasan pelanggan. 
-          Bisa melakukan reviw pelanggan mengenai software yang dibuat lebih awal. 
-          Mengurangi resiko kegagalan implementasi software dari non-teknis. 
-          Besar kerugian baik secara material atau imaterial tidak terlalu besar jiak terjadi kegagalan
-           
Kekurangan Metode Agile
 Cara pengembanganya cukup sulit,sehingga hanya orang-orang tertentu saja yang menggunakanya biaya yang dibutuhkan cukup tinggi.
Metodologi Extreme Programming
·       Extreme Programming yang selanjutnya disingkat dengan XP merupakan salah satu dari sekian banyaknya metodologi dalam rekayasa perangkat lunak dan juga merupakan bagian dari metodologi pengembangan perangkat lunak agile.
·  Secara umum Extreme Programming (XP) dapat dijabarkan sebagai sebuah pendekatan pengembangan perangkat lunak yang mencoba meningkatkan efisiensi dan fleksibilitas dari sebuah proyek pengembangan perangkat lunak dengan mengkombinasikan berbagai ide simpel/sederhana tanpa mengurangi kualitas software yang akan dibagun.
· XP dikembangkan oleh Beck, Cunningham, dan Jeffries dan ini merupakan lightweight disciplinepengembangan perangkat lunak berdasarkan empat core value.
Kelebihan dan Kekurangan XP
Kelebihan :
·         Meningkatkan kepuasan kepada klien
·         Pembangunan system dibuat lebih cepat
·         Menjalin komunikasi yang baik dengan client.
·         Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kekurangan :
·         User story kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
·         Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
·         XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

Adaptive Software Development (ASD)
Adaptive Software Development (ASD) diajukan oleh Jim Highsmith sebagai teknik untuk membangun sofware dan sistem yan kompleks. Filosofi yang mendasari Adaptive Software Development (ASD) adalah kolaborasi manusia dan tim yang mengatur dairi sendiri. Adaptive cyccle planning yaitu menggunakana informasi awal seperti misi dari klien, batasan proyek dan kebutuhan dasar untuk definisikan rangkaian software increment (produk software yang secara berkala diserahkan).
  1. Collaboration ; orang-orang bermotivasi tinggi bekerja sama saling melengkapi, rela membantu, kerja keras, tampil di bidangnya, dan komunikasikan masalah untuk hasilkan penyelesaian yang efektif.
  2. Learning : Tim pembangun sering merasa sudah tahu semua hal tentang proyek, padahal tidak selamanya begitu. Karenacc itu proses ini membuat mereka belajar lebih tentang proyek melalui 3 cara :
·         Focus Group : klien dan pengguna memberi masukan terhadap software.
·         Formal Tecchique Review : Tim ASD lengkap melakukan review.
·         Postmortems : Tim ASD lakukan intropeksi pada kinerja dan proses.


Dynamic Software Development Method (DSDM)
Dynamic Software Development Method (DSDM) pada dasarnya merupakan suatu metodelogi pengembangan perangkat lunak yang didasarkan pada metodelogi RAD.
a.      Tahapan Dynamic Software Development Method (DSDM)
1)      Feasibility study
2)      Business study – prioritized requirements
3)      Functional model iteration
§  Risk analysis
§   Time-box plan
4)      Design and build iteration
5)      Implementation
b.      Kelebihan Dynamic Software Development Method (DSDM)
·         Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan
·         Membangun software dengan cepat
·         DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan dengan XP
c.       Kelemahan Dynamic Software Development Method (DSDM)
·         Setiap iterasi bergantung pada prototype sebelumya
·         Menentukan scope dari suatu prototype proyek tidak pernah selesai
·         Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
·         Isu-isu mengenai system backup and recoverysystem performance dan system security kurang/tidak diperhatikan dan sering terlupakan
d.      Waktu Penggunaan
Dynamic Sofware Development Method (DSDM) cocok untuk proyek yang membutuhkan waktu singkat dan tidak memerlukan kinerja tinggi, ini karena DSDM berdasar pada model RAD.

Scrum
Scrum adalah iteratif dan pengembangan perangkat lunak kerangka kerja tambahan tangkas untuk proyek-proyek perangkat lunak dan mengelola produk atau pengembangan aplikasi. Fokusnya adalah pada "strategi, pengembangan produk fleksibel holistik di mana tim pengembangan bekerja sebagai sebuah unit untuk mencapai tujuan bersama" sebagai lawan dari "pendekatan tradisional, berurutan".
Kekurangan dan kelebihan
1). Kelebihan
·         Keperluan berubah dengan cepat
·         Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
·         Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
·         Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
·         Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
2). Kekurangan
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
      Implementasi
Penerapan Metodologi Scrum Dengan Team Foundation Server 2010 memiliki fokus utama yaitu maajemen pengembangan produk.