Selasa, 20 Juni 2017

Proyek 2

Proyek yang kami lakukan adalah tentang WEB CUCI SEPATU. Dimana kekurangan dari web tersebut adalah tidak terhubungnya lokasi cuci sepatu dengan Google API. Maka, kami menambahkan hal tersebut kedalam proyek ini yaiu Google API agar user dapat dengan mudah menemukan lokasi cuci sepatu.

Proyek 1

Proyek yang kami lakukan adalah tentang WEB CUCI SEPATU. Dimana kekurangan dari web tersebut adalah tidak terhubungnya lokasi cuci sepatu dengan Google API. Maka, kami menambahkan hal tersebut kedalam proyek ini yaiu Google API agar user dapat dengan mudah menemukan lokasi cuci sepatu.

Senin, 19 Juni 2017

PostTestEstimasi

Sebutkan 3 jenis COCOMO !
COCOMO merupakan singkatan dari Constructive Cost Model yaitu algortima model estimasi biaya perangkat lunak yang dikembangkan dan diterbitkan oleh Barry Boehm. Cocomo merupakan sebuah model – model untuk memperkirakan usaha, biaya dan jadwal untuk proyek-proyek perangkat lunak.
COCOMO pertama kali diterbitkan pada tahun 1981 Barry Boehm W. ‘s Book rekayasa ekonomi Perangkat Lunak sebagai model untuk memperkirakan usaha, biaya, dan jadwal untuk proyek-proyek perangkat lunak. Ini menarik pada studi dari 63 proyek di TRW Aerospace mana Barry Boehm adalah Direktur Riset dan Teknologi Perangkat Lunak pada tahun 1981. Penelitian ini memeriksa proyek-proyek ukuran mulai dari 2.000 sampai 100.000 baris kode , dan bahasa pemrograman mulai dari perakitan untuk PL / I . Proyek-proyek ini didasarkan pada model waterfall pengembangan perangkat lunak yang merupakan pengembangan software proses lazim pada tahun 1981.
Macam-macam COCOMO :
1. Basic COCOMO menghitung usaha pengembangan perangkat lunak (dan biaya) sebagai fungsi dari ukuran program yang. Ukuran Program dinyatakan dalam perkiraan ribuan baris kode sumber ( SLOC )
COCOMO berlaku untuk tiga kelas proyek perangkat lunak:
§  Proyek Organik – “kecil” tim dengan “baik” pengalaman bekerja dengan “kurang kaku” persyaratan
§  Proyek semi-terpisah – “menengah” tim dengan pengalaman bekerja dicampur dengan campuran kaku dan kurang dari kebutuhan kaku
§  Proyek tertanam – dikembangkan dalam satu set “ketat” kendala. Hal ini juga kombinasi proyek organik dan semi-terpisah. ( Hardware, software, operasional ).

2. Medium COCOMO menghitung usaha pengembangan perangkat lunak sebagai fungsi dari ukuran program yang dan satu set “driver biaya” yang mencakup penilaian subjektif dari produk, perangkat keras, personil dan atribut proyek. Ekstensi ini mempertimbangkan satu set empat “driver biaya”, masing-masing dengan sejumlah atribut anak.
3. Detail COCOMO menggabungkan semua karakteristik versi intermediate dengan penilaian dampak cost driver di setiap langkah (analisis, desain, dll) dari proses rekayasa perangkat lunak.
Model rinci menggunakan pengganda usaha yang berbeda untuk setiap cost driver atribut. Ini Tahap pengganda upaya Sensitif masing-masing untuk menentukan jumlah usaha yang diperlukan untuk menyelesaikan setiap tahap.
Dalam rinci COCOMO, upaya dihitung sebagai fungsi dari ukuran program yang dan satu set driver biaya yang diberikan sesuai dengan setiap fase siklus hidup perangkat lunak.
Sebuah jadwal proyek rinci tidak pernah statis.
Kelima fase rinci COCOMO adalah :
§  rencana dan kebutuhan.
§  desain sistem.
§  desain rinci.
§  kode modul dan uji.
§  integrasi dan pengujian.


ESTIMASI BERDASARKAN SEJARAH

Apa yang anda ketahui dengan estimasi berdasarkan sejarah,

Menurut Kamus Besar Bahasa Indonesia (KBBI) Estimasi adalah perkiraan, penilaian atau pendapat. Estimasi adalah suatu metode dimana kita dapat memperkirakan nilai dari suatu populasi dengan menggunakan nilai dari sampel. Estimator adalah nilai pendugaan/suatu data statistik, sebagai sampel yang digunakan untuk mengisi suatu parameter.
            Jalan keluar dari ketergantungan pada orang dan untuk membuat estimasi lebih khusus, yaitu anda harus mengerti tentang sejarahnya. Tulislah berapa lama masing-masing tugas dapat diselesaikan dan siapa yang bertanggung jawab atas tugas tersebut.
Anda dapat membandingkan tuagas yang akan diestimasik dengan tugas yang sama yang dikerjakan lebih awal, setelah itu mulailah dengan melakukan estimasi.

            Hal ini dimaksudkan agar anda menjabarkan suatu proyek ke dalam beberapa tugas yang biasanya diulang dan mudah untuk dibandingkan. 

Pretest Bab 9

Pada fase pemograman ada tahapan uji. Sebutkan tahapan uji tersebut !


LANGKAH-LANGKAH PEMROGRAMAN (THE PROGRAMMINGSTEPS)

Langkah 1. Rencana Penggabungan (Plan The Integration)

Menurut akal sehat anda tidak akan dapat membuat semua program sekaligus dan kemudian membuang semuanya – ini memerlukan rangkaian langkah demi langkah. Rencanakan urutan dimana anda akan menggabungkannya. Bab 9 ini merinci beberapa metode untuk menggabungkan bagian-bagian tersebut, tetapi anda harus merencanakan urutan penggabungan ini sekarang, karena anda harus menulis program supaya dapat digabungkan. Ini disebut Rencana Tes Sistem (System Test Plan).
Langkah 2. Mendisain Modul (Design The Module)

            Programmer menerima beberapa tingkatan disain dari fase disain. Tugasnya adalah memecah modul secara rinci ke tingkat yang lebih rendah sampi mencapai keadaan programmer siap untuk melakukan pemrograman. Ini disebut disain modul. Disain modul adalah pendekatan top-down dimulai dengan kotak paling atas, AMST000 dan dipecah ke dalam sub-komponen yang tepat, Dan kemudian modul tersebut dipecah lagi sampai tercapai sebuah tingkatan dimana mulai dapat diprogram.
            Pertanyaan yang bisa diajukan adalah : “Pada tingkatan mana disain sistem berhenti dan disain modul dimulai ?”. Jawabannya adalah “Disain sistem dipecah sampai pada tingkat dimana programmer dapat memulainya”. Tingkatan ini dapat bermacam-macam dari proyek ke proyek dan bahkan dari satu bagian sistem ke bagian lainnya – tergantung pada programmer yang menerima bagian tersebut.
            Adapun pertimbangan lainnya adalah :
• Jika pemecahan modul yang dihasilkan adalah sangat penting yang memerlukan prioritas seperti adanya respon, user-friendly atau konsistensi, perancang bisa melanjutkan ke tingkat yang lebih rendah.
• Tingkat pemecahan dari disain dinyatakan dengan kontrak.
• Jika programmer tidak mengetahui pada waktu disain, pengetahuan programmer tingkat menengah dapat diasumsikan, dan disain dapat diambil alih oleh programmer tingkat menengah yang dapat mengatasinya.

            Tetapi perlu diingat bahwa programmer tidak senang menerima disain yang terlalu rinci, yang programnya adalah menerjemahkan bahasa Inggris yang sederhana, seperti pernyataan-pernyataan secara harafiah ke dalam bahasa pemrograman.




Langkah 3. Telusuri Disain Modul (WalkThrough The Module Design)

            Seperti pada tingkat atas dan menengah dari disain, pertukaran harus dibuat sebaiknya pada tingkat yang paling rendah. Telusuri disain dari masing-masing modul sebelum melakukan pengkodean. Penelusuran ini sangat kecil : hanya programmer yang tepat, supervisor dan mungkin programmer lainnya yang perlu diperhatikan. Kegunaan dari penelusuran disain modul adalah untuk memastikan bahwa disain yang terbaik yang telah dilakukan, semua fungsi telah dialamatkan dan semua bagian telah ditangani.

Langkah 4. Rencana Bagaimana Menguji Modul (Plan How To Test The Module)
           
            Programmer harus menyiapkan rencana pengujian modul dan data pengujian sebelum dikodekan. Rencana pengujian dilakukan setelah kode ditetapkan. Mereka cenderung hanya menguji bagian kode yang paling ‘sulit’. Pimpinan proyek bisa saja melakukan tuntutan pada penelusuran rencana pengujian sepanjang disain modul sedang dilaksanakan. Kerjakan penelusuran ini bersama-sama.

Langkah 5. Kode Setiap Modul (Code Each Module)
           
            Standar pengkodean akan ditetapkan pada saat disain sistem (lihat bagian 7.12). Kita tidak membahas bagaimana membuat program – lihat Referensi 12 (tulisan ini membahas disain sama baiknya dengan pemrograman) dan Referensi 13 untuk lebih jelasnya.
Berikut ini adalah ringkasan dari sebuah program terstruktur, yaitu :
• Jika berukuran kecil. Aturan dasarnya adalah kira-kira 100 baris kode yang dapat dieksekusi dan listingnya tidak lebih dari 2 halaman.
• Satu entry, satu exit.
• Referensi secara keseluruhan sedikit.
• Konstruksi terstruktur yang digunakan : berurutan, IF/THEN/ELSE, CASE, WHILE, UNTIL, CALL (bukan GO TO).

Langkah 6. Menguji Modul (Test The Module)

            Programmer menguji modul dengan menetapkan lingkungan yang tepat, menyediakan beberapa input, membiarkan modul langsung memproses secara logik dan mendapatkan hasilnya. Beberapa input mungkin tidak sebenarnya, terutama jika modul tersebut tidak menyediakan input yang sebenarnya.
            Modul seharusnya diuji dalam dua tahap, yaitu :
• Tahap Pertama disebut pengujian “White Box”. Programmer harus mengetahui isi di dalam modul dan menyediakan data pengujian, sehingga masing-masing path logical dalam program dapat dieksekusi.

• Tahap Kedua atau pengujian “Black Box” dapat dilakukan. Dalam pengujian ini, programmer mengabaikan bagian dalam dari modul – data disediakan secara berurut dan dianggap seperti pemakaian sebenarnya.


Langkah 7. Menguji Level Terendah dari Integrasi (Test The Lowest Levels Of Integration)

            Jika modul utama memanggil sub-modul, programmer harus menggabungkan dan menguji semua modul secara bersama-sama. Bahkan jika programmer tidak bertanggung jawab untuk menulis sub-modul, programmer harus menguji perintah CALL dan RETURN dari seluruh modul.
Metode terbaik untuk melakukan hal ini adalah membuat sebuah “program stub” (potongan program) sebagai pengganti sub-modul. Potongan program ini dapat terdiri dari empat baris program yang menunjukkan bahwa kontrol sudah diterima dengan baik, tampilkan parameter penerima, jika perlu lakukan pengontrolan kembali dengan beberapa parameter yang tidak sebenarnya.

Langkah 8. Menyimpan Semua Hasil Pengujian; Penggabungan Modul-modul Yang Telah Diuji (Save The Results Of All Tests; Submit Finished Modules To Integration)

            Hasil pengujian digunakan untuk menyusun statistik yang menunjukkan penyebab, cara perbaikan serta biaya-biaya yang dibutuhkan untuk memperbaiki kesalahan-kesalahan program. Pimpinan proyek biasanya menguasai/mengepalai penggabungan ini pada sistem berukuran kecil sampai sedang.
           
            Software seperti CMS (Code Management System) sangat berguna untuk menajemen konfigurasi – menjamin program tetap berjalan sesuai versinya dan mengubah ke source code.

Langkah 9. Memulai Dokumentasi User(Get Started On The User Documentation)

            Apakah programmer bertanggung jawab pada dokumentasi user atau tidak, tahapan ini adalah waktu terbaik untuk menjawabnya. Dokumen-dokumen berikut mungkin harus ditulis :
·       Tuntunan Pemakai (User’s Guide)
·       Tuntunan Pemeliharaan (Maintanance Guide)

·       Tuntunan Operator / Tuntunan Manajer Sistem (Operator’s Guide / System Manager’s Guide)

Post Test Bab 9

Pada fase pemograman ada tahapan uji. Sebutkan perbedaan dari uji secara black box dengan white box tahapan uji ! 
Perbedaan White Box & Black Box
·       White box (Struktural)
1.     Dilakukan oleh penguji yang mengetahui tentang QA.
2.     Melakukan testing pada software/program aplikasi menyangkut security dan performance program tersebut (meliputi tes code, desain implementasi, security, data flow, software failure).
3.     Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing.

·       Metode BlackBox  (Fungsional)
1.     Dilakukan oleh penguji Independent.
2.     Melakukan pengujian berdasarkan apa yang dilihat, hanya fokus terhadap fungsionalitas dan output. Pengujian lebih ditujukan pada desain software sesuai standar dan reaksi apabila terdapat celah-celah bug/vulnerabilitas pada program aplikasi tersebut setelah dilakukan white box testing.

3.     Dilakukan setelah white box testing.