Rabu, 01 April 2015

Studi Kasus Analisa Berjalan

Pertemuan 3

Studi Kasus Sistem Penjualan


A. Prosedur Order Penjualan 


Setiap konsumen dapat memesan barang datang langsung atau melalui faximile dengan menyertakan dokumen PO yang diterima oleh bagian penjualan. Kemudian bagian penjualan berdasarkan PO, memeriksa pesanan barang dengan menggunakan arsip Kartu stock, apabila stock barang ada maka nilai penjualan dihitung dan dicatat kedalam faktur penjualan yang dibuar rangkap 4 (empat) untuk diserahkan ke Kasir dan data-data penjualan diarsipkan.

B. Prosedur Pembayaran Tunai

Setelah konsumen mendapat konfirmasi tentang pesanan pembelian disetujui, maka konsumen melakukan transaksi pembayaran melalui transfer uang ke bank yang ditunjuk dengan bukti setoran. Berdasarkan bukti setoran, kasir membuka arsip penjualan yang dicocokkan dengan
bukti setoran. Apabila sesuai dengan nilai penjualan maka dibuatkan kwitansi lunas, merekap nilai penjualan harian. Distribusi dokumen-dokumen berdasarkan nilai transaksi penjualan sebagai 
berikut : untuk kwitansi dan faktur penjualan di berikan kepada customer. Dan copy faktur diberikan ke bagian penjualan sedangkan lembar faktur berikutnya di arsipkan.

C. Prosedur Pengiriman Barang

Bagian penjualan kemudian membuka arsip faktur penjualan untuk menyiapkan barang-barang yang akan dikirim dan mencatatnya ke dokumen Surat Jalan untuk selanjutnya diserahkan ke Bagian Pengiriman yang bertugas mengirim barang ke konsumen.

D. Prosedur Pembuatan Laporan

Setiap akhir periode Bagian Penjualan membuat Laporan Penjualan Bulanan berdasarkan rekap penjualan harian dan faktur penjualan serta laporan Stok Barang Keluar berdasarkan Kartu Stok. Kedua laporan tersebut diberikan kepada Manajer Penjualan untuk proses evaluasi penjualan selama satu bulan.

Gambarkan DAD berjalan yang terdiri dari :
  • Diagram Konteks
  • Diagram Nol
  • Diagram Detail

JAWABAN:

Diagram Konteks Sistem Penjualan


Diagram Nol (0) Sistem Penjualan



Diagram Detail Sistem Penjualan


Kamis, 26 Maret 2015

SOAL TESTING (Pengujian Perangkat Lunak)

Pertemuan 2

Studi Kasus


  1. Sebutkan dan jelaskan kelebihan serta kekurangan dari model proses yg ada.
  2. Anda adalah seorang manajer yang mendapatkan proyek sebuah perangkat lunak pengelolah     database yg sangat sederhana, tetapi waktu yg ditentukan oleh pelanggan sangat ketat. Pertanyaan; model pengembangan perangkat lunak mana yang anda pilih dan jelaskan alasannya.
  3. Anda dipilih menjadi seorang manajer proyek yg mendapat proyek membangun sebuah aplikasi yang sangat mirip dengan aplikasi lain yg sudah pernah dibangun sebelumnya, meskipun yang satu ini lebih besar dan kompleks, syarat syaratnya sudah didokumentasikan dengan teliti oleh pemakai. Pertanyaan; model pengembangan perangkat lunak mana yg anda pilih dan jelaskan alasannya. 
  4. Buat sebuah program dan lakukan pengujian black box terhadap program yg anda buat


JAWABAN:

1.  Sebutkan dan jelaskan kelebihan serta kekurangan dari model proses yang ada.
     Jawab;
  •  Waterfall Model/Linear Sequential Model

Waterfall model adalah model yang melakukan pendekatan pada perkembangan perangkat lunak secara seistematik dan sekuensial. Yang artinya kegiatan pada model ini dilakukan secara terurut berdasarkan panduan proses mulai dari komunikasi kepada client atau pelanggan sampai dengan aktifitas sampai pengorderan setelah masalah dipahami secara lengkap dan berjalan stabil sampai selesai.
Ada 2 fase-fase dalam Waterfall model :

Menurut Referensi Pressma


Menurut Referensi Sommerville


Kedua fase-fase menggunakan nama yang berbeda pada tiap fasenya, tetapi pada dasarnya inti dari kedua fase-fase tersebut adalah sama. Tahapan-tahapan yang sering dijumpai adalah menurut refrensi dari Sommerville karena lebih terperinci perbedaan pada tiap fasenya.

a. Requirements definition
b. System and software design
c. Implementation and unit testing
d. Integration and system testing
e. Operation and maintenance

Kelebihan Waterfall Model :
  1. Mudah diaplikasikan.
  2. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
  3. Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
   Kekurangan Waterfall model :
  1. Waterfall model bersifat kaku sehingga sulit untuk melakukan perubahan pada sistem perangkat lunak.
  2. Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
  3. Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
  4. Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
  5. Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
    
Pemakaian Waterfall model : Waterfall model digunakan untu pembuatan sistem perangkat lunak yang berukuran besardan pembuatannya secara terpisah.


  • Model V/V-Model
Bisa dikatakan model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.
Kelebihan V-Model :
  1. V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dantool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
  2. V Model dikembangkan dan di-maintain oleh publik. Userdari V Model berpartisipasi dalam change control boardyang memproses semua change request terhadap V Model.

Kekurangan V-Model :
  1. V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
  2. V Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.


  • Incremental Model

Dalam model Incremental ini proses pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka dalam pengerjaan perbagian.

Kelebihan incremental model :
  1. Resiko yang rendah pada pengembangan sistem.
  2. Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
  3. Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
  4. Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
  5. Mampu mengakomodasi perubahan kebutuhan customer.
  6. Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
  7. Memaksimalkan pengembalian modal investasi konsumen.

   
Kekurangan incremental model :
  1. Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
  2. Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
  3. Hanya cocok untuk proyek dengan skala kecil.
  4. kemungkinan tiap bagian tidak dapat diintegrasikan.



  • Prototyping Model

Protoyping Model adalah model yang dapat diterapkan pada model apapun. Model ini tidak memerlukan data yang lengkap dari sisi client dan banyaknya keraguan dari pembuat software karena kondisi yang belum diketahui (seberapa besar software, bagaimana sistem penerapannya). Model ini tepat digunakan jika pihak client menginginkan prototype dari software dalam waktu yang singkat. Dan prototype inilah yang akan menjadi acuan dari client untuk memberikan data kebutuhan yang lebih lengkap pada pembuat software (developer).

Kelebihan Prototyping model :
  1. Menghemat waktu pengembangan.
  2. Adanya komunikasi yang baik antara pengembang dan pelanggan.
  3. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
  4. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
  5. User dapat berpartisipasi aktif dalam pengembangan sistem.
  6. Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
  7. Untuk digunakan secara standalone.
  8. Digunakan untuk memperluas SDLC.

   
Kekurangan Prototyping model :
  1. Pada prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
  2. Prototype yang di setujui oleh client harus dikembangkan oleh developer tanpa ada data tambahan dari client dan software dari prototype harus memiliki fungsi yang lengkap.
  3. Banyak ketidak sesuaian pada bentuk prototype.
  4. Proses analisis dan perancangan terlalu singkat.
  5. Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
  6. Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
  7. Mengesampingkan alternatif pemecahan masalah.
  8. Bisanya kurang fleksible dalam mengahadapi perubahan.
  9. Prototype yang dihasilkan tidak selamanya mudah dirubah
  10. 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.
  11. 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.
  12. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.


  • Spiral Model

Spiral model adalah model proses yang pendekatannya bersifat realistis pada software besar karena proses dari awal sampai proses pengiriman dan perbaikan dapat dipahami dengan baik oleh client dan developer. Model ini mempunyai rangkaian kerja yang iterasi (peningkatan pada model) awal yang berbentuk prototype dan kemudian iterasi selanjutnya akan menjadi perkembangan dari model sebelumnya. Model ini dapat terus digunakan meskipun software sudah dikirimkan karena proses (siklus)dapat berputar lagi jika ada perubahan pada software sampai tidak ada permintaan perubahan pada software oleh client.
Spiral Model

Ada 6 pembagian proses pembuatan pada spiral model :
  1. Komunikasi Pelanggan.
  2. Perencanaan.
  3. Analisis resiko.
  4. Perekayasaan.
  5. Konstruksi dan Peluncuran.
  6. Evaluasi Client
Kelebihan model Spiral :
  1. Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
  2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
  3. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
  4. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
  5. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
  6. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
  7. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.

   
Kekurangan model Spiral :
  1. Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
  2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
  3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
  4. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  5. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

2. Anda adalah seorang manajer yang mendapatkan proyek sebuah perangkat lunak pengelolah database yg sangat sederhana, tetapi waktu yg ditentukan oleh pelanggan sangat  ketat. Pertanyaan; model pengembangan perangkat lunak mana yang anda pilih dan jelaskan alasannya.

Jawab;

Menurut saya, model pengembangan perangkat lunak yang cocok untuk pelanggan dengan tenggat waktu yang ketat adalah Prototype Model. Prototype Model ini tepat digunakan jika pihak client menginginkan prototype dari software dalam waktu yang singkat dan Model ini tidak memerlukan data yang lengkap dari sisi client dan banyaknya keraguan dari pembuat software karena kondisi yang belum diketahui (seberapa besar software, bagaimana sistem penerapannya). 


3. Anda dipilih menjadi seorang manajer proyek yg mendapat proyek membangun sebuah aplikasi yang sangat mirip dengan aplikasi lain yg sudah pernah dibangun sebelumnya, meskipun yang satu ini lebih besar dan kompleks, syarat syaratnya sudah didokumentasikan dengan teliti oleh pemakai. Pertanyaan; model pengembangan perangkat lunak mana yg anda pilih dan jelaskan alasannya.

Jawab;

Menurut saya, model pengembangan perangkat lunak yang cocok untuk membangun sebuah aplikasi yang sangat mirip dengan aplikasi lain adalah Spiral Model. Spiral Model ini tepat digunakan karena Model ini mempunyai rangkaian kerja yang iterasi (peningkatan pada model) awal yang berbentuk prototype dan kemudian iterasi selanjutnya akan menjadi perkembangan dari model sebelumnya dan Model ini dapat terus digunakan meskipun software sudah dikirimkan karena proses (siklus)dapat berputar lagi jika ada perubahan pada software sampai tidak ada permintaan perubahan pada software oleh client.


4.  Buatlah sebuah program dan lakukan pengujian black box terhadap program yg anda buat

Jawab;


Black Box Testing dengan Equivalence Partitioning :

Pemeliharaan data untuk aplikasi bank yang sudah diotomatisasikan. Pemakai dapat memutar nomor telepon bank dengan menggunakan mikro komputer yang terhubung dengan password yang telah ditentukan dan diikuti dengan perintah-perintah. Data yang diterima adalah :

-        Kode area        : kosong atau 3 digit
-        Prefix               : 3 digit atau tidak diawali 0 atau 1
-        Suffix              : 4 digit
-        Password         : 6 digit alfanumerik
-        Perintah           : check, deposit, dll

Selanjutnya kondisi input digabungkan dengan masing-masing data elemen  dapat ditentukan sebagai berikut:
  • Kode area : kondisi input, Boolean –kode area mungkin ada atau tidak kondisi input, range –nilai ditentukan antara 200 dan 999
  • Prefix  : kondisi input range > 200 atau tidak diawali 0 atau 1
  • Suffix  : kondisi input nilai 4 digit
  • Password : kondisi input boolean –passwordmungkin diperlukan atau  tidak kondisi input nilai dengan 6 karakter string
  • Perintah   : kondisi input set berisi perintah-perintah yang telah didefinisikan