Kelas : B
Daftar Kelompok :
Dosen Pengampu
Agus Hermanto, S.Kom, M.MT, ITIL, COBIT, SFC
i
1. Teori / Literatur Tentang Ieee Standard & Knapsack Problem
Secara umum diterima bahwa kerja sama antara insinyur perangkat lunak dan tim SQA
adalah cara yang tepat untuk mencapai kegiatan pengembangan dan pemeliharaan yang
efisien dan ekonomis yang, pada saat yang sama, menjamin kualitas produk dari kegiatan ini.
1
e. IEEE 1042.1 – Penggunaan ulang software – Model untuk menggunakan
ulang library Interoperability: Basic Interoperability Data Model (BIDM)
3). Standar panduan
a. IEEE 1233 – Petunjuk untuk persyaratan spesifikasi pengembangan sistem
b. IEEE/EIA 12207.1 – Petunjuk, Informasi teknologi – Proses siklus hidup
software – Siklus hidup data
c. IEEE/EIZ 12207.2 – Petunjuk, Informasi teknologi – Proses siklus hidup
software – Implementasi teknologi (Galin, 2004)
Knapsack Problem (KP) adalah salah satu studi berbagai permasalahan. Ada banyak
variasi permasalahan pada penerapan di kehidupan nyata. KP memilih beberapa yang ada
dengan maksimal berat total yang tidak melebihi batas maksimal L. Knapsack problem sudah
digunakan untuk menyelesaikan masalah dikehidupan yang berkaitan dengan berbagai bidang
termasuk kriptografi dan matematika terapan. The links between requirements and the
artifacts of a project
Knapsack Problem adalah sekumpulan dari item n, tiap item diasosiasikan dengan berat
dan profit. Tujuannya ialah untuk memilih subset dari item n yang mampu memaksimalkan
profit yang dalam bersamaan cocok engan knapsack. Masalah yang sama ialah diambil dari
siuasi dimana pendaki gunung harus memilih beberapa item yang harus disertakan dalam
ransel (knapsack) yang berguna selama pejalanan. Kesulitannya ialah sang pendaki harus
memilih benda yang lebih menguntungkan namun tidak boleh melebihi batas kapasitas
ransel. Saintis telah menunjukkan ketertarikannya pada masalah ini karena merepresentasikan
praktek kehidupan dengan situasi yang berbeda-beda.
Knapsack problem merupakan masalah optimasi klasik berupa pengapakan barang yang
didefinisikan sebagai berikut:
1. Di berikan sebuah knapsack (wadah) dan n objek (setiap objek bisa terdiri daribanyak
barang);
2
3. Knapsack berkapasitas W;
4. Tujuan: tentukan jumlah barang dari setiap objek yang harus dimasukkan ke dalam
knapsack sehingga total nilainya semaksimal mungkin. Knapsack problem dapat di
formulasikan menggunakan notasi matematika sebagai berikut:
Dengan batasan
Dimana
v² adalahprofitobjek ∀ ∈ {1, … , }
x² adalah0/1(3)
yang berbeda-beda dan dapat dikelompokkan knapsack problem menjadi tiga variasi,
yaitu:
1. Unbounded knapsack problem: tidak ada batasan jumlah barang untuk setiap objek;
2. 0/1 knapsack problem: jumlah barang untuk setiap objek hanya boleh 0 atau 1;
3. Fractional knapsack problem: jumlah barang untuk setiap objek boleh pecahan
(seperempat, setengah dansebagainya).
Pada penelitian ini hanya fokus pada 0/1 knapsack problem. Sebagai contoh, di sini
dibahas studi kasus tentang pengepakan barang ke dalam sebuah koper. Misalkan, si A akan
pergi ke suatu Negara di Eropa untuk melanjutkan studi S3. Maskapai penerbangan hanya
3
memperbolehkan setiap penumpang membawa bagasi maksimal 20 kilogram. Jika si A
ternyata mempunyai tujuh macam barang yang berat seluruhnya adalah 37 kilogram,
bagaimana memilih sejumlah barang yang total nilainya paling besar tetapi beratnya tidak
melebihi 20 kilogram? Nilai barang di sini bisa berupa tingkat kepentingannya, harganya,
nilai histori dan sebagainya. Nilai barang didefinisikan sebagai tingkat kepentingan barang
tersebut untuk dibawa. Agar lebih sederhana, semua objek diasumsikan berjumlah 1 paket
atau unit dantidak bisa dipecah dengan demikian, masalah itu tergolong kedalam 0/1
knapsack. Pada kasus ini, souvenir (satu paket dengan berat 13 kg) memiliki tingkat
kepentingan paling tinggi, yaitu sebesar 500. (Setemen, 2010)
4
o Cyclomatic Complexity
Kompleksitas Siklomatis adalah metrics perangkat lunak yang memberikan
pengukuran kuantitatif terhadap kompleksitas logis suatu program, nilai yang
didapatakan menentukan jumlah jalur independent dalam himpunan path, Jalur
independent adalah jalur yang terdapat dalam program yang mengintroduksi
sedikitnya satu rangkaian statement proses atau kondisi baru.
o Graph Matrices
Graph matrix adalah matriks dua dimensi yang membantu dalam menentukan
himpunan dasar. Ini memiliki kolom dan baris masing – masing sama dengan
jumlah simpul dalam flow graph. Untuk membedakan satu sama lain setiap simpul
diwakili oleh beberapa huruf. Setiap tepi dilengkapi dengan beberapa bobotlink
(0-tanpa koneksi, 1-jika adakoneksi).
- Loop testing
Pengujian Loop didefinisikan sebagai jenis pengujian perangkat lunak, yang sepenuhnya
berfokus pada validitas konstruksi loop. Ini adalah salah satu bagian dari Pengujian
Struktur Kontrol (pengujian jalur, pengujian validasi data, pengujian kondisi).
o Simple Loops
o Nested loops
o Concatenated loops
o Unstructured loop
5
3. Alat Uji (Testing Tools)
Dalam setiap proses pengembangan perangkat lunak (SDLC), ada proses yang dinamakan
tahapan testing. Tahapan testing digunakan untuk menguji sebuah sistem perangkat lunak,
apakah sistem tersebut mampu berjalan sesuai yang diharapkan atau tidak. Testing sangat
sulit dilakukan jika menggunakan cara manual, misalnya performance testing / load testing
yang membutuhkan ribuan parallel hit dalam jangka waktu tertentu. Untuk itulah dibutuhkan
sebuah software testing tools untuk membantu meringankan beban kerja tadi. Nama lain dari
software testing tools ini adalah Automation Testing Tools.
Pada pengujian program knapsack ini, diberlakukan standar internasional perangkat lunak
(IEEE Standard) agar bisa mengetahui seberapa layak program tersebut bisa diterapkan.
Sementara untuk alat uji nya / testing tools nya bisa menggunakan aplikasi unit testing seperti
PHPUnit, Katalon Studio, Cypress.io, dan Appium. Nantinya pengujian akan menggunakan
salah satu atau lebih dari aplikasi tersebut, karena tiap aplikasi unit testing diatas masing-
masing memiliki kelebihan dan kekurangan sehingga penggunaanya patut dipertimbangkan
terlebih dahulu.
6
Daftar Pustaka
Nidhra, S. (2012). Black Box and White Box Testing Techniques - A Literature Review.
International Journal of Embedded Systems and Applications.
https://doi.org/10.5121/ijesa.2012.2204
Nurshanty, A. O., Saputra, A., Hardjanto, F. R., Franklyn, M. B., & Yudanegara, D. (n.d.).
Teknik Dalam White-box dan Black-box Testing. Retrieved October 28, 2020, from
https://socs.binus.ac.id/2020/07/02/teknik-dalam-white-box-dan-black-box-testing/
Chronologium. December 25, 2015. [WORK] Tools untuk Pengujian Software
https://chronologium.wordpress.com/2015/12/25/work-tools-untuk-pengujian-software/
[Accessed 27 October 2020]
Ryanditha, Pietro. September 27, 2018. Automation Testing tools yang wajib untuk di coba
https://medium.com/skyshidigital/automation-testing-tools-yang-wajib-untuk-di-coba-
36430ddddda9
[Accessed 27 October 2020]
Setyati, Noni. June 26, 2015. Tools Testing
https://www.kompasiana.com/thephplovers/55002df58133119a17fa7360/tools-testing
[Accessed 27 October 2020]
Assi, M., & Haraty, R. A. (2019, March 21). A Survey of the Knapsack Problem. ACIT 2018
- 19th International Arab Conference on Information Technology.
https://doi.org/10.1109/ACIT.2018.8672677