Pemodelan Capability Maturity Model Inte

Pemodelan Capability Maturity Model
Integration (CMMI) Representasi Continuous
Untuk Memperoleh Fleksibilitas dalam Proses Pengembangan Perangkat
Lunak
Muhammad Danial Masruroini
Jurusan Teknik Elektro, Universitas Negeri Malang
Malang, Indonesia
muhammad.danial.1505336@students.um.ac.id
Abstract—Penentuan software process models dalam suatu
pengembangan perangkat lunak merupakan hal yang paling pertama
dilakukan. Karena pemodelan proses adalah kunci keberhasilan utama
dalam mengerjakan sebuah pengembangan perangkat lunak. Beberapa
pengembang yang mengalami kegagalan dalam melakukan
pengembangan perangkat lunak disebabkan mereka tidak menerapkan
software process models dalam proses pengembangannya. Terdapat
beberapa macam pemodelan proses dalam systems development life
cycle, dan pemodelan ini akan memberikan pengaruh saat
dilaksanakannya proses pengembangan suatu perangkat lunak.
Capability maturity model integration (CMMI) merupakan salah satu
model yang dapat digunakan oleh pengembang untuk memberikan hasil
perangkat lunak yang berkualitas.

Keywords —Systems Development Life Cycle , Software Process
Models, Capability Maturity Model Integration (CMMI).

I.
LATAR BELAKANG
Software process sering disebut dengan software
development process atau software life cycle merupakan
rangkaian
aktivitas
yang
tujuan
akhirnya
adalah
mengembangkan atau mengubah suatu perangkat lunak. Proses
perangkat lunak juga bisa diartikan sebagai serangkaian aktivitas
kerja, kegiatan, atau tugas yang dilakukan ketika pengembang
sedang mengembangkan sebuah program perangkat lunak yang
terdapat di dalam sebuah framework atau model yang saling
berkaitan diantara rangkaian proses satu dengan proses yang
lain. Pada umumnya aktivitas ini meliputi: (1) specification, (2)

design and implementation , (3) validation, dan (4) evolution.
Untuk merepresentasikan deskripsi (abstrak) suatu proses
dari beberapa perspektif tertentu pastilah diperlukan sebuah
pemodelan proses perangkat lunak. Penentuan software process
models dalam suatu pengembangan perangkat lunak merupakan
hal yang paling pertama dilakukan. Karena pemodelan proses ini
adalah kunci keberhasilan utama dalam mengerjakan sebuah
pengembangan perangkat lunak. Di dalam systems development
life cycle (SDLC) dikenal beberapa macam pemodelan proses.
Perbedaan pemodelan proses yang digunakan terdapat dalam
rangkaian aktivitas-aktivitas setiap model.

Beberapa pengembang perangkat lunak yang mengalami
kegagalan dalam melakukan pengembangan perangkat lunak
disebabkan mereka tidak menerapkan software process models
yang sesuai dengan jenis program yang dikembangkan.
Terdapat beberapa macam pemodelan proses dalam systems
development life cycle, dan pemodelan ini akan memberikan
pengaruh saat dilaksanakannya proses pengembangan suatu
perangkat lunak. Capability maturity model integration (CMMI)

merupakan salah satu model yang lebih fleksibel dan dapat
digunakan oleh para pengembang untuk memberikan hasil
perangkat lunak yang berkualitas.
II. KAJIAN LITERATUR
A. Systems Development Life Cycle
Systems development life cycle atau lebih umum dikenal
dengan istilah SDLC adalah sebuah cara yang dipakai untuk
membangun atau mengembangkan suatu perangkat lunak [1].
Cara-cara pada SDLC ini tentu saja terdiri dari beberapa tahap
pengerjaan mulai dari tahap perencanaan, tahap analisis
kebutuhan, tahap perancangan, dan tahap penerapan sehingga
akhirnya bisa menjadi satu-kesatuan sistem yang utuh. Konsep
dari SDLC inilah yang memicu munculnya berbagai jenis
pemodelan pengembangan perangkat lunak untuk menyusun
kerangka kerja dalam melaksanakan kegiatan pengembangan
perangkat lunak.
Systems development life cycle sebenarnya bukan hanya
sekedar konsep teoretis. SDLC digunakan hampir atau bahkan
setiap hari di bidang teknologi informasi di seluruh dunia.
Pemanfaatan SDLC yang sesuai akan mampu memberikan hasil

sistem perangkat lunak yang berkualitas. Penggunaan SDLC
akan lebih optimal jika dilengkapi dengan berbagai teknik
pengembangan sistem [2].

Dasar yang dijadikan acuan dalam pengembangan perangkat
lunak merupakan pemodelan dari proses yang akan dilakukan.
Proses-proses pengembangan perangkat lunak adalah faktor
penentu yang memungkinkan pengembangan perangkat lunak
bisa berjalan tepat waktu dan rasional. Proses-proses tersebut

adalah ruang lingkup rancangan kerja untuk beberapa unsur
dalam process area yang harus dibangun agar dalam
pengembangan perangkat lunak tidak terjadi missconception
antara organisasi pengembang dengan para stakeholders.
Process area ini akan menjadi dasar bagi management control
proyek pengembangan perangkat lunak serta membuat konteks
yang mana metode-metode teknis diterapkan, membangun
produk usaha (model, dokumen, data, laporan, dan lain-lain),
membangun pondasi, menjamin kualitas, dan mengatur
perubahan secara rapi [3].

Beberapa metode yang digunakan dalam pembangunan
sebuah perangkat lunak memberikan teknis khusus ketika
pelaksanaannya. Metode-metode itu terkait dengan aktivitasaktivitas yang luas meliputi analisis kebutuhan, konstruksi
program, desain, pengujian, dan pemeliharaan atau perawatan.
Pengembangan perangkat lunak mengandalkan pada
serangkaian prinsip-prinsip dasar yang mengatur setiap proses
area teknologi dan menyangkut aktivitas-aktivitas pemodelan
serta teknik deskriptif yang lainnya. Untuk mengembangkan
sebuah perangkat lunak secara memadai, setiap aktivitas prosesproses harus dirancang (dimodelkan) terlebih dahulu.
B. Software Process Models
Software process adalah rangkaian dari suatu aktivitas yang
berhubungan, yang tujuan akhirnya adalah membangun atau
mengembangkan perangkat lunak. Aktivitas ini meliputi lankahlangkah pengembangan perangkat lunak mulai dari awal sampai
dengan implementasi sistemnya. Terdapat empat tahap yang
mendasari dalam dilaksakannya proses pengembangan
perangkat lunak,yaitu: (1) software specifications, (2) software
design and implementation , (3) software validation, dan (4)
software evolution . Tahap-tahap tersebut merupakan garis besar
dari suatu proses pengembangan perangkat lunak. Namun,
sebenarnya terdapat sub-sub aktivitas dari setiap tahapan

tersebut yang membuatnya lebih kompleks. Menurut
Sommerville (2011) tidak ada tahapan proses pengembangan
perangkat lunak yang benar-benar ideal dan banyak organisasi
pengembang mempunyai model prosesnya sendiri dalam
melakukan pengembangan perangkat lunak. Meskipun begitu,
harus tetap ada metode pemodelan yang dijadikan dasar atau
acuan agar pelaksanaan pengembangan perangkat lunak bisa
tercapai dengan sempurna.
Software process model atau pemodelan proses perangkat
lunak merupakan representasi dari software process yang sudah
disederhankan. Setiap pemodelan proses adalah representasi
yang berasal dari perspektif bagian tahapan proses dan
memberikan penjabaran tentang tahapan proses tersebut.
Process models atau terkadang disebut sebagai “process
paradigms” tidak memberikan deskripsi secara lengkap proses
pengembangan perangkat lunak, akan cenderung merupakan
abstrak dari proses pengembangan [4].

Pada umumnya usaha yang berkaitan dengan pengembangan
perangkat lunak dapat digolongkan ke dalam tiga fase tanpa

memperdulikan jenis aplikasi dan tingkat kerumitan dari
perangkat lunak yang dikembangkan [5].
1) Fase Definisi (Definition Phase)
Fase pendefinisian ini memfokuskan pada apa yang
dikembangkan oleh organisasi pengembang perangkat
lunak. Organisasi harus melakukan identifikasi pada
informasi-informasi yang akan diproses, fungsi dan
aktivitas-aktivitas yang dibutuhkan, sistem perangkat
lunak yang diharapkan, antarmuka yang akan dibuat,
ruang lingkup rancangan, dan kriteria validasi yang
dibutuhkan. Kebutuhan atau requirememt merupakan
kunci utama dari sistem perangkat lunak yang
didefinisikan untuk mendapatkan hasil produk yang
sukses. Beberapa metode yang diterapkan selema fase
definisi ini berbeda-beda tergantung dari pemilihan
model proses pengembangan perangkat lunak (atau
bahkan kombinasi pemodelan) yang diterapkan.
Terdapat tiga aktivitas utama yang berada dalam
tingkatan yang sama, yaitu:
 Sistem atau rekayasa informasi dari perangkat lunak

yang dikembangkan
 Perencanaan proyek pengembangan perangkat
lunak, dan
 Analisis kebutuhan perangkat lunak
2) Fase Pengembangan (Development Phase)
Pada fase pengembangan memfokuskan pada
bagaimana proses pengembangan perangkat lunak
dijalankan. Seorang pengembang harus mendefinisikan
bagaimana informasi yang didapat dari stakeholders
dikonstruksi, bagaimana fungsi atau fitur diaplikasikan
sebagai suatu arsitektur sistem perangkat lunak,
bagaimana rincian alur sistem diimplementasikan,
bagaimana antarmuka dibangun, bagaimana seorang
pengembang akan menerjemahkan rancangan ke dalam
bahasa program, serta bagaimana melakukan pengujian
pada produk perangkat lunak.
Beberapa metode yang diterapkan selama masa
pengembangan perangkat lunak akan bermacam-macam
jenisnya, namun terdapat tiga aktivitas teknis yang
khusus dan harus selalu ada, yaitu:

 Rancangan sistem perangkat lunak
 Pembuatan source code program, dan
 Pengujian sistem perangkat lunak
3) Fase Pemeliharaan (Maintenance Phase )
Pada fase pemeliharaan memfokuskan pada
perubahan (changes) yang dikaitkan dengan koreksi
kesalahan, penyesuaian-penyesuaian yang diperlukan
saat lingkungan (environment) suatu perangkat lunak

dalam proses pengembangan, serta perubahan yang
berkaitan dengan perkembangan yang dikarenakan
permintaan stakeholders yang berubah. Fase ini
mengaplikasikan lagi tahapan-tahapan yang terdapat
pada fase definisi dan dase pengembangan, tetapi semua
perubahan tetap bergantung pada konteks perangkat
lunak yang dikembangkan. Terdapat empat macam
perubahan yang biasa terjadi saat proses pengembangan
perangkat lunak, yaitu:
 Koreksi
Meskipun sudah ada jaminan kualitas sistem

perangkat lunak yang baik, tetapi pengguna akan
tetap saja menemukan cacat (bug). Pemeliaraan
bersifat koreksi (corrective maintenance ) akan
melakukan beberapa perubahan atau membenahi
cacat/rusak (bug) agar sistem bisa sempurna.
 Adaptasi
Seiring berjalannya waktu komponen-komponen
pada komputer (seperti CPU, sistem operasi, dan
lain-lain) pasti mengalami perubahan. Pemeliharaan
bersifat adaptasi (addaptive maintenance ) akan
menghasilkan
perubahan
pada
kebutuhan
fungsional sistem perangkat lunak.
 Perkembangan (enhancement)
Pengguna perangkat lunak bisa mengenali fungsifungsi tambahan yang memberikan keuntungan
ketika mereka menggunakan sebuah perangkat
lunak. Pemeliharaan bersifat sempurna (perfective
maintenance) akan memperluas ruang lingkup

perangkat lunak dengan menambah kebutuhan
fungsionalnya.
 Pencegahan
Seiring berjalannya waktu juga keadaan suatu
perangkat lunak pasti akan menurun, oleh sebab itu
pemeliharaan pencegahan (preventive maintenance)
harus dilakukan sebagai upaya untuk melayani
kebutuhan dari para pengguna perangkat lunak.
Pada dasarnya pemeliharaan ini melakukan
beberapa perubahan terhadap program komputer
sehingga
mempermudah
dalam
proses
pengoreksian, penyesuaian, dan pengembangan.
Fase-fase dan langkah yang berkaitan harus
diimbangi dengan beberapa aktivitas pelindung
(umbrella activities). Aktivitas-aktivitas khusus di dalam
ketegori ini meliputi beberapa hal, yaitu:
 Pengontrolan dan pelacakan proyek perangkat lunak
 Peninjauan ulang teknis formal
 Penjaminan kualitas perangkat lunak
 Penghasilan dan penyiapan berkas-berkas
 Manajemen reusabilitas, dan
 Manajemen resiko

C. Capability Mature Model Integration
Capability mature model dapat diartikan sebagai suatu
penyederhanan yang representatif terhadap keadaan sebenarnya,
yang berfungsi untuk mengukur batas kematangan (mature) hasil
proses ketika sebuah organisasi pengembang software
menyajikan, membuat, atau mengembangkan perangkat lunak
[6].

Kegiatan utama dari capability mature model ini adalah
melakukan pengukuran tingkat kematangan. Mengukur bisa
diartikan sebagai sebuah kegiatan untuk melakukan pemetaan
suatu kondisi ke dalam sebuah skala atau ukuran. Nilai-nilai
yang diperhatikan ketika melakukan pengukuran capability
mature model ini ada beberapa poin sebagai berikut: (1)
parameter yang akan diukur, (2) metode pengukurannya, (3)
skala penilian yang dijadikan stadar, dan (4) pandangan
teoretisnya oleh para ahli.
Ciri-ciri yang paling banyak diketaui mengenai maturity
model adalah proses pengembangannya. Ketika suatu
ornganisasi sedang melakukan pengembangan software, maka
proses yang dilakukan akan disederhanakan dan dideskripsikan
menjadi skala kematangan dengan satuan jumlah tertentu. Skala
atau tingkatan kematangan itulah yang di dalamnya mengandung
beberapa syarat khusus yang harus dipenuhi oleh organisasi.
Tinkatan-tingkatan yang ada disusun secara runtut, mulai dari
tingkat awal sampai pada tingkat akhir saat sudah menjadi
sebuah sistem yang diimplementasikan. Dan selama
pengembangan berlangsung, tahapan proses bergerak maju
mulai dari tingkatan satu menuju tingkatan berikutnya dengan
tidak boleh melompati salah satunya, semua proses dilakukan
tahap demi tahap secara berurutan.
Evolusi perubahan dari CMM menuju CMMI berbanding
lurus dengan perubahan pada industri pengembangan perangkat
lunak dan juga kebutuhan dari para penggunanya. Capability
mature model integration (CMMI) merupakan pemodelan yang
dapat digunakan oleh organisasi pengembang perangkat lunak
untuk meningkatkan kualitas produk atau layanan mereka [7].
CMMI adalah perwujudan panduan secara umum dan
pemodelan melampaui disiplin-disiplin, memasukkan semua
unsur siklus hidup (life cycle) proyek mulai dari konsep,
pengembangan, penyampaian (delivery), dan pemeliharaan.
CMMI menitikberatkan pada tujuan akhir dari pelaksanaan suatu
proses pengembangan yang dilakukan oleh oranganisasi
tersebut.
Capability mature model integration memiliki dua tahap
representasi dalam upaya untuk melakukan perbaikan pada
proses pengembangan perangkat lunak yang diterapkan oleh
organisasi, yaitu bertahap (staged) dan berkelanjutan
(continuous). Perbedaan utama yang mendasari antara dua
representasi ini adalah bagaimana process area yang ada akan

diorganisasikan dan direpresentasikan [8]. Process area yang
dimaksud adalah hal-hal yang menjadi tujuan akhir difokuskan
untuk diselesaikan. Jenis pemodelan ini membantu organisasi
pengembang software dalam menentukan strategi proses
pengembangan perangkat lunak. Model ini akan memfasilitasi
penentuan kemampuan untuk setiap tahapan proses dan
mengidentifikasi masalah-masalah kritis yang harus sesegera
mungkin dibenahi.


Representasi Staged
Pada repesentasi staged ini, sebuah organisasi
pengembang perangkat lunak melewati beberapa macam
tahapan atau tingkatan dalam upayanya mencapai tingkat
kematangan (maturity) yang tinggi. Tahapan atau tingkatan
yang dicapai oleh organisasi tersebut harus bersifat
kumulatif, yang artinya setiap tahapan atau tingakatan di
atas harus bisa memenuhi tujuan-tujuan (golas) pada
tahapan di bawahnya.
Tingkatan (level) harus benar-benar dipenuhi oleh
setiap organisasi pengembang secara bertahap. Tingkatan
(level) ini terbagi menjadi 5 tahapan, yaitu:
1) Maturity level 1: initial
2) Maturity level 2: managed
3) Maturity level 3: defined
4) Maturity level 4: quantitatiively managed
5) Maturity level 5: optimizing
Pada tingkatan initial, suatu organisasi pengembang
perangkat lunak disimulasikan sebagai ad hoc dan
kondisinya kacau. Organisasi perngembang perangkat
lunak yang cenderung tidak mempunyai lingkungan yang
tidak stabil untuk menunjang berjalannya proses
pengembangan perankat lunak. Oleh sebab itu, tingkat
keberhasilan yang dihasilkan oleh organisasi pengembang
mempunyai ketergantungan terhadap kemampuan dan
kerja keras dari satu atau beberapa orang yang terdapat di
dalamnya. Pada tingkatan ini, meskipun nanti suatu
organisasi pengembang bisa memberikan hasil akhir
sebuah produk atau jasa sesuai tujuan, namun tahap
perencanaan yang sudah dilakukan sebelumnya cenderung
tidak bisa memenuhi harapan. Keberhasilan membuat
produk/sistem perangkat lunak tidak memiliki sifat yang
stabil.
Pada tingkat managed, terdapat sebuah kesepakatan
dasar untuk prosedur berdasarkan kebijakan yang ada
terhadap perencanaan aktivitas. Oleh sebab itu, produk atau
jasa yang dibuat dapat dijaga kualitasnya (quality control).
Beberapa usaha yang dilakukan dalam menjaga kualitas
produk atau jasa diantaranya adalah melakukan
perencanaan aktivitas, pembagian tugas-tugas, memantau
antara perencanaan yang dilakukan dengan pelaksanaan di

lapangan, melakukan tindakan jika terdapat perubahan
terhadap perencanaan, serta melakukan milestone atau
pemantauan produk atau jasa pada suatu titik tertentu pada
rangkaian aktivitas. Selain terdapat standardisasi prosedur
dalam pengembangan sebuah produk atau jasa, terdapat
komitmen yang terbentuk di antara para stakeholder .
Dalam usaha mencapai tingkat managed, terdapat tujuh
process area yang harus terpenuhi ketika melakukan
implementasi. Tujuh process area dan penjelasannya pada
tingkatan managed dapat dilihat pada tabel berikut [9].
Tabel 1. Penjelasan Process Area pada CMMI di
Tingkatan Managed (Chrissis, 2011: 267-508)
Process area
Specific Goals
Perencanaan Menetapkan perkiraan
proyek
Mengembangkan sebuah perencanaan
proyek
Mendapatkan komitmen terhadap
rencana
Pemantauan
Melakukan pemantauan proyek
dan
berdasarkan perencanaan
pengendalian Melakukan tindakan koreksi
proyek
Proses dan
Mengevaluasi proses dan pekerjaan
jaminan
produk secara obyektif
kualitas
Menyediakan keakurasian tujuan
produk
Manajemen
Melakukan manajemen kebutuhan
kebutuhan
Manajemen
Menetapkan perjanjian bersama dengan
kerja sama
supplier
Supplier
Memperoleh kesepakatan dengan
supplier
Manajemen
Menetapkan dasar konfigurasi
konfigurasi
Melacak dan mengontrol perubahan
konfigurasi
Menetapkan integritas
Pengukuran
Mempersiapkan aktivitas pengukuran
dan analisis
dan analisis
Menyediakan hasil pengukuran

Semua tingkatan kematangan (maturity level) tersebut
menjelaskan beberapa tahapan yang harus dipenuhi oleh
orgnisasi pengembang perangkat lunak untuk mendapatkan
suatu model proses pengembangan perangkat lunak yang
lebih efektif dan efisien. Tingkatan tersebut juga
menjelaskan mengenai evolusi proses-proses yang ada, dari
keadaan yang kurang efektif menjadi keadaan yang sangat
terorganisasi dan teroptimasi.
Dalam pengaplikasian CMMI, dilakukan pengukuran
untuk melakukan evaluasi dari setiap hasil pencapaian

penerapannya, hal ini dinamakan appraisal. Metode
standar yang digunakan dalam melakukan proses
appraisal, yang dikeluarkan oleh software engineering
institute (SEI) adalah Standar CMMI Appraisal Method for
Process Improvement [8]. SEI menggolongkan metode
appraisal ini ke dalam tiga tingkatan, masing-masing
tingkatan dengan kelengkapan, ukuran proyek dan
kebutuhan perangkat lunak yang berbeda-beda. Secara
umum hasil dari ketiga kelas tersebut tidak sama tingkat
kehandalannya dan kebenarannya, tetapi untuk beberapa
tujuan tertentu tingkat kehandalannya bisa lebih/kurang
baik tergantung proses evaluasi.


Representasi Continuous
Konsep CMMI for development juga memunculkan
model pendekatan atau representasi yang memberikan
deskripsi proses pengembengan perangkat lunak dan
membaginya menjadi dua dimensi, yaitu process area dan
capability level. Pendekatan ini dinamakan representasi
continuous [10].
Development process CMMI memfokuskan pada cara
yang digunakan oleh suatu pendekatan dalam menanggapi
masalah yang terjadi dalam proses pengembangan
perangkat lunak dan mengetahui peluang bisnis yang ada
diantara organisasi pengembang dengan stakeholder [7].
Jika representasi staged menggunakan maturity level untuk
melakukan pendekatan karakteristik pada keadaan proses
pengembangan perangkat lunak oleh organisasi secara
keseluruhan dan juga fokus pada melakukan peningkatan
proses secara sistematis dan terstruktur. Sedangkan
representasi continuous menggunakan capcbility level
untuk memperlihatkan rincian karakteristik pada keadaan
proses kerja pengembangan perangkat lunak oleh
organisasi bukan secara keseluruhan, melainkan melalui
process area dalam organisasi pengembang yang
diharapkan bisa berkembang kepada sektor lain, tetapi tetap
sesuai dengan tujuan awal organisasi.
Gambar 1. Perwujudan Representasi Continuous (CMMI
Product Team, 2010)

Pada gambar tersebut bisa dipahami bahwa penekatan
continuous ini berfokus pada tujuan-tujuan umum dari sebuah
proses pengembangan perangkat lunak. Dari setiap tujuan
tersebut diperlihatkan karakteristiknya secara terperinci melalui
capability level.
Suatu organisasi pengembang harus memenuhi semua
tujuan-tujuan umum (generic goals) dalam process area yang
menjadi sasaran pengembangan untuk bisa mencapai level yang
diinginkan. Capability level memberikan rincian karakteristik
yang memberikan panduan untuk meningkatkan proses untuk
mencapai tujuan tertentu. Pendekatan continuos ini akan
memberikan gambaran secara terperinci mengenai proses dalam
pengembangan perangkat lunak yang dilakukan oleh organisasi
pengembang. Hal ini tentu saja akan memberikan peluang bagi
organisasi untuk melakukan evaluasi terhadap process area
secara individual, sehingga organisasi mampu mengidentifikasi
dan memfokuskan pada titik masalah yang terdapat pada proses
pengembangan perangkat lunak, serta mengukur status
peningkatan kematangan proses. Capability level digunakan
untuk melakukan pengukuran peningkatan dari proses yang
kacau (tidak berjalan dengan baik) hingga proses yang sudah
teroptimasi pada setiap process area . Sebagai tambahan,
capability level ini tidak bisa dilewati, satu komponen dibuat di
atas komponen yang lainnya (bertingkat). Menggunakan
pendekatan continuous membutuhkan pemahaman yang baik
pada keterkaitan yang sifatnya menggantung pada tiap-tiap
process area , karena level tertentu dalam process area harus
benar-benar terpenuhi sebelum mencapai capability level yang
berikutnya.
Representasi continuous memberikan pandangan pada
tingkat individual proses pengembangan secara mendetil.
Representasi ini juga secara efisien meningkatkan kinerja proses
pengembangan perangkat lunak dan memastikan peningkatan
yang kuat, serta memberikan pondasi yang utuh bagi
peningkatan individual proses pengembangan perangkat lunak
pada organisasi pengembang untuk mencapai tingkat
kematangan (maturity level) berikutnya.
III. KESIMPULAN
Proses pengembangan perangkat lunak diperlukan proses
yang terdiri dari praktik-praktik atau aktivitas-aktivitas yang
detail sehingga memberikan turunan-turunan proses lain yang
akan menjadikannya lebih efektif. Dalam pengembangan
perangkat lunak pula diperlukan pendekatan atau representasi
yang mampu memberikan penilaian kemampuan dan
kematangan. Oleh sebab itu, diperlukan pemodelan proses
perangkat lunak yang tepat ketika sebuah organisasi sedang
mengembangkan perangkat lunak sehingga sistem yang
dihasilkan akan sempurna. Pemodelan proses merupakan
serangkaian metode dan sederetan tahap-tahap yang terstruktur.

Konsep CMMI bertujuan untuk dapat mengembangkan
sebuah perangkat lunak secara tepat, dan meningkatkan
kematangan organisasi pengembang perangkat lunak dengan
memberikan pedoman-pedoman (guidances) mengenai
peningkatan proses pengembangan perangkat lunak.
CMMI memiliki dua model pendekatan yaitu staged dan
continuous.
Pendekatan
continuous
dalam
CMMI
mendeskripsikan proses ke dalam dua hal, yaitu process area
dan capability level. Pendekatan ini memberikan fleksibilitas
yang tinggi yang berguna dalam meningkatkan kematangan
proses pengembangan perangkat lunak.
DAFTAR RUJUKAN
[1] Ian Sommerville. (2011). Software Engineering (Ninth
Edition). Software Engineering (Ninth Edition).
[2] Dennis, A., Wixom, B. H., & Tegarden, D. (2015).
Systems analysis and design: An object-oriented approach
with UML.
[3] Scroggins, R. (2014). SDLC and Development
Methodologies. Global Journal of Computer Science and
Technology: C Software & Data Engineering, 14(7), 0–2.
[4] Pressman, R. S. (2004). Software Engineering. A Brief
History of Computing. https://doi.org/10.1111/j.13652362.2005.01463.x
[5] Rusli, M., Ziveria, M., Informasi, S., Teknologi, I., Rusli,
M., & Ziveria, M. (2016). Membandingkan Empat
Paradigma Rekayasa Perangkat Lunak, 2.
[6] April, A., Huffman Hayes, J., Abran, A., & Dumke, R.
(2005). Software Maintenance Maturity Model (SM mm ):
the software maintenance process model: Research
Articles. Journal of Software Maintenance and Evolution:
Research
and
Practice,
17(3),
197–223.
https://doi.org/10.1002/smr.v17:3
[7] Ii, B. A. B., Syariah, A. B., & Syariah, P. B. (2005).
Landasan Teori, 8–43.
[8] Widodo,
W.
(2016).
EVALUASI
PROSES
PENGEMBANGAN PERANGKAT LUNAK PADA
VIRTUAL TEAM DEVELOPMENT MENGGUNAKAN
CMMI Versi 1.3. Jurnal Informatika, 10(1), 1140–1148.
[9] Skripsi, P. M., & Praktik, K. (n.d.). Implementasi cmmi
pada sistem informasi pengelolaan matakuliah skripsi,
kerja praktik, dan pemrograman terintegrasi terapan di
program studi sistem informasi ukdw, (CMMI).
[10] Yanti, N. P. (n.d.). PEMETAAN VORD KE DALAM
CMMI UNTUK MENINGKATKAN KUALITAS
ANALISIS KEBUTUHAN PERANGKAT LUNAK (
STUDI
KASUS
SISTEM
PENJUALAN
SUPERMARKET SAKINAH ), 1–9.