BAB II KAJIAN PUSTAKA
A. KAJIAN TEORI
16. McCall’s Quality Factors
McCall, Richard, dan Walter dalam Pressman (2000) merumuskan sebelas faktor yang ada dalam software quality dikategorikan ke dalam tiga aspek penting dari produk software. Yaitu, karakteristik operasional (product operation), kemampuannya untuk mengalami perubahan (product revision) dan adaptasi dengan lingkungan baru (product transition).
45
Berdasarkan gambar di atas, McCall menghubungkan quality factor dengan metric. Berikut adalah gambar hubungan antara quality factor dengan metric:
Gambar 6. Hubungan McCall’s Quality Factor dengan Metric Pengujian (Pressman R. S. , 2000)
Berikut ini adalah kategori produk menurut McCall:
a. Product Operation
1) Correctness merupakan karakteristik yang berakaitan dengan bagaimana program mampu memenuihi spesifikasi dan tujuan yang ingin dicapai oleh pengguna (Pressman, 2001: 509). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
a) Completeness
Karakteristik yang menunjukan tingkat di mana implementasi penuh dari fungsi yang dibutuhkan telah dicapai.
46 b) Consistency
Karakteristik yang menunjukan penggunaan satu bentuk yang seragam pada rancangan seluruh sistem.
c) Traceability
Karakteristik program yang menunjukan kemampuan untuk melacak representasi desain atau program dapat kembali ke tampilan awal.
2) Reliability merupakan karakteristik yang berkaitan dengan bagaimana sebuah program mampu beroperasi dalam sebuah kondisi yang menuntut presisi tertentu (Pressman, 2001: 509). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
a) Accuracy
Karakteristik yang menunjukan kemampuan software untuk memberikan hak kontrol atau hasil dan efek (perhitungan) dengan tingkat presisi yang standar atau yang telah ditetapkan.
b) Consisteny
Karakteristik yang menunjukan penggunaan satu bentuk yang seragam pada seluruh rancangan sistem.
c) ErrorTolerance
Karakteristik yang menunjukan indikasi kesalahan proses ketika progam sedang berjalan.
d) Modularity
Karakteristik yang menunjukan tingkat standar program ditinjau dari modularitas program yang dikembangkan ke dalam masing-masing komponen atau fungsi.
47 e) Simplicity
Karakteristik yang menunjukan tingkat sejauh mana user dapat memahami program tanpa mengalami kesulitan.
3) Efficiency merupakan karakteristik yang berkaitan dengan jumlah sumber daya komputer yang digunakan serta kode yang diperlukan dalam program untuk menjalankan setiap fungsinya (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
a) Conciseness
Karakteristik yang menunjukan bahwa implementasi program maupun atribut sebagai fungsi pada aplikasi, dikembangkan dengan jumlah baris kode yang relatif ringkas.
b) ExecutionEfficiency
Karakteristik yang menunjukan bahwa eksekusi program berjalan secara efektif.
c) Operability
Karakteristik yang menunjukan bahwa pengguna membutuhkan banyak langkah untuk mengontrol dan mengoperasikan sesuai karakter program yang dikembangkan.
4) Integrity merupakan karakteristik yang berkaitan dengan tingkat kontrol terhadap program oleh pengguna, baik yang mendapatkan otorisasi ataupun tidak (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
48 a) Auditability
Karakteristik yang menunjukan kemudahan program-program untuk diuji sesuai standar.
b) Instrumentation
Karakterisitik yang menunjukan sejauh mana program dapat memonitor sendiri operasi dan mengidentifikasi kesalahan yang memang terjadi.
c) Security
Karakteristik yang menunjukan kemampuan program untuk melindungi informasi dan data. sehingga orang atau sistem yang tidak sesuai tidak dapat membaca atau memodifikasi program dan hanya orang atau sistem berwenang.
5) Usability merupakan karakteristik yang berkaitan dengan usaha yang diperlukan oleh pengguna untuk mengoperasikan, menyiapkan input dan menginterpretasikan output dari program (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
a) Operability
Karakteristik yang menunjukan bahwa pengguna membutuhkan banyak langkah untuk mengontrol dan mengoperasikan sesuai karakter program yang dikembangkan.
b) Training
Karakteristik yang menunjukan tingkat di mana program memungkinkan pengguna baru untuk menerapkan sistem.
49
b. Product Revision
1) Maintainability merupakan karakteristik yang berkaitan dengan usaha yang diperlukan untuk menemukan dan mengatasi kesalahan di dalam program (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
a) Conciseness
Karakteristik yang menunjukan bahwa implementasi program maupun atribut sebagai fungsi pada aplikasi, dikembangkan dengan jumlah baris kode yang relatif ringkas.
b) Consistency
Karakteristik yang menunjukan penggunaan satu bentuk yang seragam pada seluruh rancangan sistem.
c) Instrumentation
Karakterisitik yang menunjukan sejauh mana program dapat memonitor sendiri operasi dan mengidentifikasi kesalahan yang memang terjadi.
d) Modularity
Karakteristik yang menunjukan tingkat standar program ditinjau dari modularitas program yang dikembangkan ke dalam masing-masing komponen atau fungsi.
e) Self-documentation
Karakteristik yang menunjukan sejauh mana kode sumber menyediakan dokumentasi yang berarti.
50 f) Simplicity
Karakteristik yang menunjukan tingkat, sejauh mana user dapat memahami program tanpa mengalami kesulitan.
2) Flexibility merupakan karakteristik yang berkaitan dengan usaha yang diperlukan untuk mengubah program yang beroperasi (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut: a) Conciseness
Karakteristik yang menunjukan, bahwa implementasi program maupun atribut sebagai fungsi pada aplikasi, dikembangkan dengan jumlah baris kode yang relatif ringkas.
b) Consistency
Karakteristik yang menunjukan, penggunaan satu bentuk yang seragam pada seluruh rancangan sistem.
c) Expandability
Karakteristik yang menunjukan, sejauh mana tingkat standar arsitektur, data atau desain prosedural dapat dikembangkan.
d) Generality
Karakteristik yang menunjukan, potensi aplikasi untuk diperluas komponennya. Generalitas didefinisikan, sejauh mana produk perangkat lunak dapat berjalan saat diperluas fungsinya.
e) Modularity
Karakteristik yang menunjukan tingkat standar program ditinjau dari modularitas program yang dikembangkan ke dalam masing-masing komponen atau fungsi.
51 f) Self-documentation
Karakteristik yang menunjukan, sejauh mana kode sumber menyediakan dokumentasi yang berarti.
g) Simplicity
Karakteristik yang menunjukan, tingkat sejauh mana user dapat memahami program tanpa mengalami kesulitan.
3) Testability merupakan karakteristik yang berkaitan dengan usaha yang diperlukan untuk menguji sebuah program untuk memastikan bahwa program tersebut berfungsi sebagaimana mestinya (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku
Software Engineering: A Practitioner’s Approach sebagai berikut: a) Audiability
Karakteristik yang menunjukan kemudahan program program untuk diuji sesuai standar.
b) Instrumentation
Karakterisitik yang menunjukan, sejauh mana program dapat memonitor sendiri operasi dan mengidentifikasi kesalahan yang memang terjadi.
c) Modularity
Karakteristik yang menunjukan tingkat standar program ditinjau dari modularitas program yang dikembangkan ke dalam masing-masing komponen atau fungsi.
d) Self-documentation
Karakteristik yang menunjukan, sejauh mana kode sumber menyediakan dokumentasi yang berarti.
52 e) Simplicity
Karakteristik yang menunjukan, tingkat sejauh mana user dapat memahami program tanpa mengalami kesulitan.
c. ProductTransition
1) Portability merupakan karakteristik yang berkaitan dengan usaha yang diperlukan untuk mentransfer program dari satu perangkat keras atau perangkat lunak ke dalam lingkungan sistem yang berbeda (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
a) Generality
Karakteristik yang menunjukan potensi aplikasi untuk diperluas komponennya. Generalitas didefinisikan sebagai sejauh mana produk perangkat lunak dapat berjalan saat diperluas fungsinya.
b) HardwareIndependence
Karakateristik yang menunjukan tingkat kemampuan progam atau perangkat lunak untuk dipisahkan dari hardware.
c) Modularity
Karakteristik yang menunjukan tingkat standar program ditinjau dari modularitas program yang dikembangkan ke dalam masing-masing komponen atau fungsi.
d) Self-documentation
Karakteristik yang menunjukan sejauh mana kode sumber menyediakan dokumentasi yang berarti.
53 e) Softwaresystemindependence
Karakteristik yang menunjukan tingkat di mana program ini bersifat independen (jauh dari bahasa pemrograman yang tidak standar) dan tidak mengalami kendala pada lingkungan sistem operasi.
2) Reusability merupakan karakteristik yang berkaitan dengan bagaimana sebuah program dapat digunakan kembali di dalam program lain (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
a) Generality
Karakteristik yang menunjukan potensi aplikasi untuk diperluas komponennya. Generalitas didefinisikan sebagai sejauh mana produk perangkat lunak dapat berjalan saat diperluas fungsinya.
b) HardwareIndependence
Karakateristik yang menunjukan tingkat kemampuan progam atau perangkat lunak untuk dipisahkan dari hardware.
c) Modularity
Karakteristik yang menunjukan tingkat standar program ditinjau dari modularitas program yang dikembangkan ke dalam masing-masing komponen atau fungsi.
d) Self-documentation
Karakteristik yang menunjukan sejauh mana kode sumber menyediakan dokumentasi yang berarti.
54 e) Softwaresystem independence
Karakteristik yang menunjukan tingkat di mana program ini bersifat independen (jauh dari bahasa pemrograman yang tidak standar) dan tidak mengalami kendala pada lingkungan sistem operasi.
3) Interoperability merupakan karakteristik yang berkaitan dengan usaha yang diperlukan untuk menghubungkan sebuah sistem dengn sistem yang lain (Pressman, 2001: 510). Menurut Roger S. Pressman menyebutkan subkarakteristik dalam buku Software Engineering: A Practitioner’s Approach sebagai berikut:
a) Communicationcommonality
Karakteristik yang menunjukan bahwa tingkat standar antarmuka, protocol (domain) dan kapasitas bandwith yang digunakan untuk pengembangan aplikasi.
b) DataCommonality
Karakteristik yang menunjukan tingkat penggunaan struktur data maupun jenis data yang digunakan telah memenuhi standar pengembangan program.
c) Generality
Karakteristik yang menunjukan potensi aplikasi untuk diperluas komponennya. Generalitas didefinisikan sebagai sejauh mana produk perangkat lunak dapat berjalan saat diperluas fungsinya.
d) Modularity
Karakteristik yang menunjukan tingkat standar program ditinjau dari modularitas program yang dikembangkan ke dalam masing-masing komponen atau fungsi.
55