EVALUASI KUALITAS PERANGKAT LUNAK BERORIENTASI OBJEK RHAMDANI

Ukuran: px
Mulai penontonan dengan halaman:

Download "EVALUASI KUALITAS PERANGKAT LUNAK BERORIENTASI OBJEK RHAMDANI"

Transkripsi

1 EVALUASI KUALITAS PERANGKAT LUNAK BERORIENTASI OBJEK RHAMDANI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2008

2 EVALUASI KUALITAS PERANGKAT LUNAK BERORIENTASI OBJEK Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor Oleh : RHAMDANI G DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2008

3 Judul : Evaluasi Kualitas Perangkat Lunak Berorientasi Objek Nama : Rhamdani NRP : G Menyetujui : Pembimbing I, Pembimbing II, Wisnu Ananta Kusuma, S.T, M.T NIP Toto Haryanto, S.Kom Mengetahui: Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor Dr. drh. Hasim, DEA NIP Tanggal Lulus :

4 ABSTRAK RHAMDANI. Evaluasi Kualitas Perangkat Lunak Berorientasi Objek. Dibimbing oleh WISNU ANANTA KUSUMA dan TOTO HARYANTO. Pengembangan perangkat lunak berorientasi objek membutuhkan pendekatan yang berbeda dengan pengembangan perangkat lunak terstruktur. Perbedaan tersebut terdapat pada tahap desain, implementasi, dan evaluasi kualitas perangkat lunak tersebut. Dengan demikian, dibutuhkan metrics yang berbeda dengan traditional metrics untuk melakukan evaluasi kualitas perangkat lunak tersebut. Chidamber & Kemerer (1994) mengajukan enam buah object oriented metrics. Keenam metrics tersebut memiliki sudut pandang yang terkait dengan faktor-faktor kualitas perangkat lunak. Dengan demikian, metrics tersebut dapat digunakan untuk melakukan evaluasi kualitas perangkat lunak berorientasi objek dari beberapa faktor kualitas yang terkait. Penelitian ini melakukan perhitungan object oriented metrics terhadap semua class pada perangkat lunak ERP. Selanjutnya, nilai metrics masing-masing class dibandingkan dengan nilai batas atas metrics tersebut. Dengan melakukan perbandingan tersebut, dapat diketahui class mana saja yang disarankan untuk diperiksa ulang dan/atau direvisi. Selain itu, penelitian ini juga melakukan perhitungan lebih lanjut untuk mengetahui nilai rata-rata masing-masing metrics pada perangkat lunak tersebut. Nilai rata-rata tersebut dibandingkan juga dengan nilai batas atas metrics sehingga dapat diketahui tinggi rendahnya nilai metrics secara keseluruhan. Dengan mengetahui tinggi rendahnya nilai metrics, dapat diketahui kualitas perangkat lunak tersebut. Dari penelitian yang dilakukan, ditemukan beberapa class yang disarankan untuk diperiksa ulang dan/atau direvisi. Selain itu, perangkat lunak ERP berkualitas baik dari segi usability, understandability, modifiability, dan testability. Akan tetapi, dari segi reusability, kualitas perangkat lunak ERP hanya dapat dikatakan moderat. Kata kunci: Object oriented metrics, Chidamber & Kemerer metrics, desain berorientasi objek, faktor kualitas.

5 RIWAYAT HIDUP Penulis dilahirkan di Jakarta pada tanggal 29 Mei 1986 dari pasangan Bapak M. Sadikin dan Ibu Ahyani. Penulis merupakan anak pertama dari dua bersaudara. Tahun 2004 penulis lulus dari SMU Negeri 91 Jakarta dan pada tahun yang sama lulus seleksi masuk IPB melalui jalur Undangan Saringan Masuk IPB (USMI). Penulis memilih Program Studi Ilmu Komputer, Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam IPB. Pada tahun 2007, Penulis menjalankan praktek kerja lapangan di PT. Sigma Karya Sempurna (Balicamp) selama kurang lebih 5 bulan sebagai software tester untuk project Panin Business Internet Banking. Penulis juga pernah menjadi assisten praktikum mata kuliah Pengembangan Sistem Berorientasi Objek pada semester genap 2007/2008. Saat ini, penulis aktif sebagai anggota Java Campus Team di Departemen Ilmu Komputer IPB.

6 PRAKATA Alhamdulillah, puji dan syukur penulis panjatkan ke hadirat Allah SWT atas segala rahmat dan karunia-nya sehingga penulis dapat menyelesaikan skripsi ini. Shalawat serta salam juga penulis sampaikan kepada junjungan kita Nabi Muhammad SAW beserta seluruh sahabat dan umatnya hingga akhir zaman. Penulis menyampaikan terima kasih kepada Bapak Wisnu Ananta Kusuma, S.T., M.T. selaku pembimbing I yang telah banyak membantu dan membimbing penulis selama proses penelitian dan penyusunan skripsi ini. Penulis juga menyampaikan terima kasih kepada Bapak Toto Haryanto, S.Kom. selaku pembimbing II yang telah memberikan saran dan masukan kepada penulis, serta Bapak Irman Hermadi, S.Kom., M.S. yang bersedia menjadi moderator dan dosen penguji dalam pelaksanaan seminar dan sidang. Terima kasih juga penulis sampaikan kepada: 1. Ayahanda M. Sadikin dan Ibunda Ahyani yang senantiasa mendoakan dan memberikan dukungan selama penulis menjalankan studi di Institut Pertanian Bogor. Adik penulis Imam Suderajat yang senantiasa mendengarkan cerita-cerita penulis selama kuliah di IPB. 2. Destarina Arghia (MSL 42) beserta keluarga yang selalu memberi dukungan dan semangat dalam mengerjakan skripsi ini. 3. Teman-teman satu tim dalam pengerjaan perangkat lunak ERP Halida Ernita (ILKOM 41) dan Dian Indah Savitri (ILKOM 41). 4. Roby Ikhsan & istri, Ifnu Bima, S.Kom. (ILKOM 38), dan Hadikusuma Wahab, S.Kom. (ILKOM 40 ) yang bersedia memberikan arahan dalam mengerjakan perangkat lunak ERP dan skripsi ini. 5. Diomidis Spinellis sebagai pengembang tool CKJM yang bersedia memberikan arahan dan saran melalui dalam menggunakan CKJM untuk mengolah data pada skripsi ini. 6. Teman-teman satu kost Riza Mahendra, Hasan, Rizki Pebuardi, Hely Kurniwan yang rela membantu dalam pelaksanaan seminar dan sidang. 7. Sahabat penulis, Ardian PrawiraYudha, yang memberikan fasilitas internet di rumahnya untuk digunakan penulis dalam menyelesaikan skripsi ini. 8. Teman-teman ILKOM 41 lainnya yang telah banyak membantu penulis selama menjalani kuliah di IPB. 9. Departemen Ilmu Komputer, staf, dan dosen yang telah begitu banyak membantu baik selama penelitian maupun pada masa perkuliahan. Penulis juga mengucapkan terima kasih kepada semua pihak lainnya yang telah memberikan kontribusi yang besar selama pengerjaan penelitian ini yang tidak dapat disebutkan satu-persatu. Semoga penelitian ini dapat memberikan manfaat. Bogor, Juli 2008 Rhamdani

7 v DAFTAR ISI Halaman DAFTAR TABEL... vi DAFTAR GAMBAR... vi DAFTAR LAMPIRAN... vi PENDAHULUAN... 1 Latar Belakang... 1 Tujuan Penelitian... 1 Ruang Lingkup Penelitian... 1 Manfaat Penelitian... 1 TINJAUAN PUSTAKA... 1 Kualitas Perangkat Lunak... 1 Metrics... 2 Object Oriented Metrics... 3 Weighted Methods per Class (WMC)... 3 Depth of Inheritance Tree (DIT)... 3 Number of Children (NOC)... 4 Coupling between Object (CBO)... 4 Response for A Class (RFC)... 4 Lack of Cohesion in Methods (LCOM)... 4 Cyclomatic Complexity (CC)... 5 METODE PENELITIAN... 5 Studi Literatur... 6 Pengumpulan Data... 6 Implementasi Perhitungan Metrics... 6 Analisis Hasil Pengukuran Metrics... 6 HASIL DAN PEMBAHASAN... 6 Pengumpulan Data... 6 Implementasi Perhitungan Metrics... 6 Analisis Hasil Perhitungan Metrics Weighted Methods per Class (WMC) Depth of Inheritance Tree (DIT) Number of Children (NOC) Coupling Between Object Class (CBO) Response for A Class (RFC) Lack of Cohesion in Methods (LCOM) Kualitas Perangkat Lunak ERP KESIMPULAN DAN SARAN Kesimpulan Saran DAFTAR PUSTAKA... 11

8 vi DAFTAR TABEL Halaman Tabel 1 Ringkasan statistik WMC pada perangkat lunak ERP Tabel 2 Ringkasan statistik DIT pada perangkat lunak ERP Tabel 3 Ringkasan statistik NOC pada perangkat lunak ERP Tabel 4 Ringkasan statistik CBO pada perangkat lunak ERP Tabel 5 Ringkasan statistik RFC pada perangkat lunak ERP Tabel 6 Ringkasan statistik nilai rasio LCOM pada perangkat lunak ERP Tabel 7 Kategori metrics perangkat lunak ERP beserta pengaruhnya terhadap faktor kualitas DAFTAR GAMBAR Halaman Gambar 1 Faktor-faktor kualitas perangkat lunak (El-Ahmadi 2006) Gambar 2 Hierarki metrics (Sarker 2005) Gambar 3 Perhitungan CC dengan graph (Rosenberg 1998) Gambar 4 Diagram metodologi penelitian Gambar 6 Histogram WMC pada perangkat lunak ERP Gambar 7 Histogram DIT pada perangkat lunak ERP Gambar 8 Histogram NOC pada perangkat lunak ERP Gambar 9 Histogram CBO pada perangkat lunak ERP Gambar 10 Histogram RFC pada perangkat lunak ERP Gambar 11 Histogram LCOM pada perangkat lunak ERP DAFTAR LAMPIRAN Halaman Lampiran 1 Source Code class LoginCustomerController Lampiran 2 Perhitungan Metrics pada Class LoginCustomerController Lampiran 3 Hasil Perhitungan Metrics pada semua Class project ERP Lampiran 4 Beberapa Class yang Disarankan Agar Diperiksa Ulang dan/atau Direvisi Terkait Dengan Nilai Metrics-nya Lampiran 5 Ringkasan Pengaruh Metrics Terhadap Faktor-Faktor Kualitas berdasarkan sudut pandang masing-masing metric

9 1 Latar Belakang PENDAHULUAN Desain berorientasi objek merupakan suatu konsep yang banyak digunakan oleh pengembang perangkat lunak saat ini. Hal ini dikarenakan kemudahan yang ditawarkan di dalam desain berorientasi objek dari sisi pengembangan dan perawatannya. Dengan kata lain, desain berorientasi objek merupakan pendekatan yang efektif untuk membangun perangkat lunak yang flexibel. Pengembangan berorientasi objek ternyata membutuhkan pendekatan yang berbeda dengan pengembangan struktural. Perbedaan tersebut terdapat pada tahap desain dan implementasinya. Perbedaan ini yang kemudian menimbulkan permasalahan dalam penggunaan metrics untuk mengevaluasi kualitas perangkat lunak berorientasi objek. Traditional metrics seperti Cyclomatic Complexity (CC), yang digunakan untuk mengevaluasi desain terstruktur, ternyata tidak dapat digunakan begitu saja dalam desain berorientasi objek. Bahkan beberapa traditional metrics tidak dapat digunakan sama sekali dalam lingkungan berorientasi objek. Oleh karena itu, dibutuhkan metrics yang dapat merefleksikan desain berorientasi objek. Banyak penelitian yang mengajukan object oriented metrics. Salah satu penelitian tersebut dilakukan oleh Chidamber & Kemerer (1994). Chidamber & Kemerer, yang merupakan pelopor dalam penelitian object oriented metrics, mengajukan enam buah object oriented metrics. Metrics tersebut adalah Weighted Methods per Class (WMC), Depth of Inheritance Tree (DIT), Number of Children (NOC), Coupling Between Object (CBO), Response for A Class (RFC), dan Lack of Cohesion in Methods (LCOM). Keenam metrics tersebut dapat digunakan di dalam lingkungan berorientasi objek. Penelitian ini membahas penggunaan Chidamber & Kemerer object oriented metrics untuk mengevaluasi kualitas perangkat lunak berorientasi objek. Perangkat lunak yang digunakan adalah perangkat lunak ERP yang berorientasi objek yang dikembangkan oleh Ernita (2008). Tujuan Penelitian Tujuan dari penelitian ini adalah: 1 Menerapkan object oriented metrics untuk melakukan evaluasi perangkat lunak berorientasi objek. 2 Menganalisis efektivitas object oriented metrics yang digunakan. Ruang Lingkup Penelitian Ruang lingkup penelitian ini adalah : 1 Metrics yang digunakan adalah object oriented metrics yang diajukan oleh Chidamber & Kemerer (1994). 2 Perhitungan metrics dilakukan dengan bantuan tool Chidamber & Kemerer Java Metrics (CKJM). Manfaat Penelitian Penelitian ini diharapkan dapat melakukan estimasi kualitas perangkat lunak ERP yang berorientasi objek melalui faktor-faktor kualitas perangkat lunak. Selain itu, hasil perhitungan metrics dapat digunakan sebagai acuan untuk memperbaiki desain perangkat lunak ERP (Ernita 2008). TINJAUAN PUSTAKA Kualitas Perangkat Lunak Kualitas perangkat lunak dapat memiliki banyak arti bergantung dari siapa yang memandangnya. Bila dilihat dari sudut pandang customer, perangkat lunak yang baik adalah perangkat lunak yang memuaskan kebutuhan customer. Dengan demikian, perangkat lunak tersebut dikatakan memiliki kualitas yang baik. Lain halnya jika dilihat dari sudut pandang pengembang. Pengembang perangkat lunak akan melihat produk perangkat lunak dari dalam perangkat lunak itu sendiri. Pengembang yang menggunakan pemikiran berorientasi objek memiliki tujuan pada terpenuhinya karakterisktik tertentu. Terpenuhinya karakteristik - karakteristik tersebut merupakan kualitas dari sudut pandang pengembang (El-Ahmadi 2006). Dengan kata lain, jika diinginkan kualitas perangkat lunak yang tinggi, haruslah ditentukan karakteristik apa saja yang diinginkan. Karakteristik tersebut berupa faktor-faktor kualitas. Faktor-faktor tersebut dapat dilihat pada gambar 1.

10 2 Gambar 1 Faktor-faktor kualitas perangkat lunak (El-Ahmadi 2006). Definisi faktor-faktor tersebut sebagai berikut: Reliability Menurut Jawadekar (2004), reliability adalah tingkat ketepatan fungsi-fungsi perangkat lunak tanpa adanya kesalahan. Reusability Reusability adalah tingkat kemampuan perangkat lunak atau bagian perangkat lunak untuk dapat digunakan ulang di lain tempat sebagai komponen yang reusable (Jawadekar 2004). Usability Usability adalah tingkat usaha yang dibutuhkan untuk mempelajari, mengoperasikan, dan menggunakannya untuk tujuan yang diinginkan (Jawadekar 2004). Maintainability Maintainability adalah tingkat usaha untuk mengetahui letak kesalahan dan memperbaikinya. Faktor ini dapat dipecah menjadi tiga subfaktor, masing-masing understandability, modifiability, dan testability (El-Ahmadi 2006). Understandability Understandability terkait dengan peningkatan kompleksitas psikologis (SATC 1995). Modifiability Modifiability dari segi flexibility adalah tingkat kemudahan sebuah sistem atau komponen agar dapat dimodifikasi untuk penggunaan dalam suatu aplikasi atau lingkungan (IEEE Std diacu dalam Barbacci 2004). Testability Menurut Jawadekar (2004), testability adalah tingkat usaha yang dibutuhkan untuk menguji perangkat lunak dalam proses quality assurance. Availability Availabillity adalah tingkat kemudahan suatu sistem atau komponen agar dapat dioperasikan dan diakses ketika ingin digunakan (IEEE Std , diacu dalam Barbacci 2004). Complexity El-Ahmadi (2006) menyatakan masih terdapat satu faktor lagi yang tidak secara langsung terkait dalam hierarki faktor pada gambar 1. Faktor tersebut adalah complexity. Complexity dibagi menjadi dua jenis, yaitu complexity of problem dan complexity of solution. Complexity of problem adalah jumlah sumber daya yang dibutuhkan untuk sebuah solusi yang optimal terhadap sebuah permasalahan. Complexity of solution terdiri dari time complexity dan space complexity. Time complexity terkait dengan sumber daya waktu sedangkan space complexity terkait dengan sumber daya memori (Fenton & Pfleeger 1997). Complexity berpengaruh pada understandability, modifiability, dan testability (El-Ahmadi 2006). Semua faktor kualitas tersebut dapat diukur secara kuantitatif menggunakan metrics. Penjelasan metrics dapat dilihat pada subbab selanjutnya. Metrics Sarker (2005) membagi metrics ke dalam dua kategori, yaitu project based metrics dan design based metrics. Project based metrics terdiri dari process, product, dan resources sedangkan design based metrics terdiri dari traditional metrics dan object oriented metrics. Gambar 2 memperlihatkan hierarki metrics tersebut. Process metrics, disebut juga management metrics, berhubungan dengan proses dalam mengembangkan sebuah sistem (Systa & Yu 1999). Process metrics biasanya digunakan untuk: Membantu memprediksi ukuran akhir sebuah sistem, Memprediksi tingkat usaha yang dibutuhkan dalam sebuah proyek,

11 3 Dan menentukan apakah sebuah proyek sesuai dengan jadwal. Gambar 2 Hierarki metrics (Sarker 2005). Product metrics, disebut juga quality metrics, digunakan untuk mengontrol kualitas dari produk perangkat lunak. Metrics ini digunakan untuk perangkat lunak yang belum selesai dibuat agar dapat diprediksi properti dan kompleksitas hasil akhir perangkat lunak tersebut (Sarker 2005). Resources adalah entitas yang dibutuhkan dalam aktifitas proses pengembangan. Resources yang diukur adalah semua input dalam menghasilkan perangkat lunak (Sarker 2005). Pada sistem berorientasi objek, traditional metrics umumnya digunakan dalam ruang lingkup methods yang terdiri atas operasioperasi sebuah class. Beberapa contoh traditional metrics antara lain cyclomatic complexity (CC), source line of code (SLOC), dan comment percentage (CP). Object oriented metrics digunakan untuk merefleksikan perangkat lunak berorientasi objek. Beberapa contoh object oriented metrics yang telah diajukan antara lain Chidamber & Kemerer (CK) metrics, MOOD, dll. Penjelasan tentang object oriented metrics akan dijelaskan lebih detil pada subbab selanjutnya. Object Oriented Metrics Systa & Yu (1999) membagi object oriented metrics ke dalam tiga kategori, yaitu inheritance metrics, complexity metrics, dan communication metrics. Inheritance metrics mengukur hierarki pewarisan (inheritance), complexity metrics memperkirakan kompleksitas perangkat lunak, dan communication metrics mengukur pasangan (coupling) dan keterpaduan (cohesion) antar class. Object oriented metrics yang diajukan oleh Chidamber & Kemerer (1994) adalah: Complexity metrics terdiri dari weighted methods per class (WMC). Inheritance metrics terdiri dari depth of inheritance tree (DIT) dan number of children (NOC). Communication metrics terdiri dari coupling between object (CBO), response for a class (RFC), dan lack of cohesion in method (LCOM). Penjelasan mengenai definisi, sudut pandang, nilai batas atas, dan faktor-faktor kualitas apa saja yang terkait dengan masingmasing metrics dapat dilihat pada subbab selanjutnya. Weighted Methods per Class (WMC) Misalkan sebuah class C 1 memiliki methods M 1, M 2,, M n dan c 1, c 2,, c n adalah kompleksitas tiap method tersebut, maka: Kompleksitas methods dapat didefinisikan oleh masing-masing pengembang (Chidamber & Kemerer 1994). Penelitian ini menggunakan cyclomatic complexity untuk perhitungan kompleksitas tiap method. Semakin banyak jumlah method sebuah class, semakin besar pula pengaruh pada class yang mewarisinya. Akibatnya, semakin besar upaya dan waktu yang dibutuhkan untuk maintenance dan testing (Chidamber & Kemerer 1994; Lindroos 2004). Selain itu, class yang memiliki banyak method yang kompleks berarti class tersebut semakin spesifik. Hal ini dapat membatasi kemungkinan reuse (Chidamber & Kemerer 1994; Systa & Yu 1999; Lindroos 2004). Dari kedua sudut pandang tersebut dapat disimpulkan bahwa WMC terkait dengan beberapa faktor-faktor kualitas, yaitu maintainability (testability), usability, dan reusability. RefactorIT menyarankan nilai batas atas WMC sebesar 50 untuk sebuah class. WMC yang didefiniskan RefactorIT menggunakan cyclomatic complexity dalam perhitungan kompleksitas tiap method. Depth of Inheritance Tree (DIT) Kedalaman sebuah class dalam hierarki pewarisan diukur oleh DIT. Apabila terdapat multiple inheritance, DIT didapat dari panjang

12 4 maksimum dari node ke root pada tree tersebut (Chidamber & Kemerer 1994). Penelitian ini menggunakan perangkat lunak berorientasi objek dengan bahasa pemrograman Java sehingga tidak ada multiple inheritance dalam implementasinya. Selain itu, setiap class merupakan turunan dari class Object sehingga DIT setiap class pada pemrogaman Java minimal 1. Class Object sendiri memiliki DIT = 0. RefactorIT menyarankan nilai batas atas DIT sebesar 5 untuk sebuah class. Semakin dalam sebuah class dalam sebuah hierarki pewarisan, semakin besar pula potensi penggunaan ulang method yang diwarisinya (Chidamber & Kemerer 1994; Systa & Yu 1999; Lindroos 2004). Selain itu, semakin dalam sebuah class dalam hierarki pewarisan maka semakin banyak method yang dimilikinya, baik method pada class itu sendiri maupun method yang diwarisinya. Hal ini mengakibatkan class tersebut semakin kompleks (Systa & Yu 1999 dalam Lindroos 2004). Kedua sudut pandang tersebut menjelaskan bahwa DIT berpengaruh pada faktor reusability dan complexity. El-Ahmadi (2006) menyatakan bahwa complexity mempengaruhi understandability, modifiability, dan testability. Jadi, secara keseluruhan DIT berpengaruh pada reusability, understandability, modifiability, dan testability. Number of Children (NOC) NOC adalah jumlah subclasses langsung yang mewarisi sebuah class pada hierarki class (Chidamber & Kemerer 1994). Semakin besar NOC maka semakin tinggi reusability. Hal ini dikarenakan pewarisan merupakan bentuk dari reuse. Selain itu, semakin besar NOC maka semakin besar upaya dan waktu untuk testing. (Chidamber & Kemerer 1994; SATC 1995; Lindroos 2004; Sarker 2005). Dari sudut pandang di atas, dapat disimpulkan bahwa NOC berpengaruh pada reusability dan testability. RefactorIT menyarankan nilai batas atas NOC sebesar 10 untuk sebuah class. Coupling between Object (CBO) CBO didefinisikan untuk sebuah class, yaitu banyaknya class yang terpasangkan oleh class yang diukur. Sebuah class A dikatakan terpasangkan dengan class B jika class A menggunakan method atau instance variable pada class B (Chidamber & Kemerer 1994). CBO yang berlebihan merupakan perusak desain modular dan mengurangi reuse. Semakin tidak tergantung sebuah class dengan class lain maka semakin mudah class tersebut digunakan ulang untuk aplikasi lain (Lindroos 2004). Selain itu, class dengan CBO yang besar berarti semakin sensitif class tersebut terhadap perubahan pasangan class-nya. Hal ini mengakibatkan upaya untuk maintenance class tersebut semakin besar (Chidamber & Kemerer 1994; Systa & Yu 1999; Lindroos 2004). Dengan demikian, dapat disimpulkan bahwa CBO terkait dengan reusability dan maintainability. Nilai batas atas metric ini, sampai saat ini, belum dapat ditemukan. Akan tetapi, berdasarkan sudut pandang di atas dapat disimpulkan bahwa semakin kecil nilai CBO maka akan semakin baik kualitas desain class tersebut. Response for A Class (RFC) RFC adalah RS. RS didefinisikan sebagai berikut: Dimana, adalah himpunan method yang dipanggil oleh method i dan adalah himpunan semua method yang ada di class tersebut (Chidamber & Kemerer 1994). RefactorIT menyarankan nilai batas atas RFC sebesar 50 untuk sebuah class walaupun RFC sebesar 100 untuk sebuah class masih bisa diterima. Semakin banyak method yang dapat dipanggil sebagai respon sebuah pesan, semakin besar juga upaya dan waktu untuk testing. Hal ini dikarenakan tester membutuhkan pemahaman yang tinggi terhadap class tersebut sebelum melakukan testing (Chidamber & Kemerer 1994; Lindroos 2004). Selain itu, semakin banyak method yang dapat dipanggil pada sebuah class, semakin besar kompleksitas class tersebut. Ini berarti semakin besar upaya pemeliharaan class tersebut (El-Ahmadi 2006). Sudut pandang di atas menyatakan bahwa RFC terkait dengan maintainability (understandability, modifiability, dan testability). Lack of Cohesion in Methods (LCOM) Misalkan sebuah class C 1 dengan n buah methods M 1, M 2,, M n. Lalu {I j } adalah himpunan instance variable yang digunakan oleh method M i. Dengan demikian terdapat n buah himpunan I 1, I 2,, I n.

13 5 Kemudian P = {I i, I j I i I j = Ø} dan Q = {I i, I j I i I j Ø}. Jika semua n himpunan {I 1 }, {I 2 },, {I n } adalah Ø maka P = Ø. LCOM diharapkan rendah pada sebuah class (cohesiveness tinggi) karena menaikkan encapsulation. LCOM yang tinggi (cohesiveness rendah) menandakan sebuah class yang semestinya dipecah menjadi 2 atau lebih class. Selain itu, LCOM yang tinggi menandakan kompleksitas yang tinggi (Chidamber & Kemerer 1994; Lindroos 2004). Dari sudut pandang tersebut, dapat ditarik kesimpulan bahwa LCOM berpengaruh terhadap maintainability (understandability, modifiability, dan testability). Sampai saat ini, belum dapat ditemukan berapa besar nilai batas atas metric ini. Akan tetapi, dari definisi Chidamber dan Kemerer (1994), nilai LCOM bergantung pada jumlah methods pada sebuah class. Dengan demikian, terdapat nilai maksimum LCOM pada class tersebut, yaitu ketika Q = 0. Berdasarkan sudut pandang dan nilai maksimum LCOM dapat ditarik kesimpulan bahwa semakin kecil nilai aktual LCOM dibanding nilai maksimumnya, semakin baik cohesiveness class tersebut (Rosenberg, 1998). Cyclomatic Complexity (CC) CC, disebut juga McCabe cyclomatic complexity, digunakan untuk evaluasi kompleksitas sebuah method (Rosenberg et. al diacu dalam Sarker 2005). CC adalah jumlah test cases yang dibutuhkan untuk menguji methods secara komprehensif (Rosenberg 1998). Perhitungannya dapat dilakukan dengan menggambarkan urutan program sebuah method menjadi graph dengan semua path yang mungkin terjadi. Kompleksitasnya dihitung dengan rumus: Gambar 3 Perhitungan CC dengan graph (Rosenberg 1998). Ada cara lain untuk menghitung v(g). Andersson dan Vestergren (2004) merumuskannya sebagai berikut: dimana, P adalah jumlah predicate nodes yang ada dalam graph G. Predicate node adalah sebuah node yang merepresentasikan pernyataan Boolean di dalam code sehingga terdapat dua buah outgoing edges. Method dengan CC yang rendah umumnya lebih baik (El-Ahmadi 2006). CC yang rendah berarti semakin baik dalam faktor testability dan understandability. Semakin kompleks sebuah method (CC tinggi) maka semakin tinggi testability dan understandability. Akan tetapi, method yang memiliki CC yang rendah bukan berarti method tersebut tidak kompleks. Hal ini mungkin berarti bahwa method tersebut melakukan message passing dalam implementasinya (SATC 1995). METODE PENELITIAN dimana, v(g) adalah cylomatic complexity untuk graf G. e adalah jumlah edges pada graf G, dan n adalah jumlah nodes pada graf G. Gambar 3 menjelaskan bagaimana perhitungan CC pada sebuah graf. Gambar 4 Diagram metodologi penelitian. Penelitian ini dilaksanakan dengan mengikuti tahap-tahap seperti pada gambar 4. Penelitian ini diawali dengan studi literatur,

14 6 pengumpulan data, kemudian melakukan implementasi perhitungan metrics, dan yang terakhir adalah analisis hasil perhitungan metrics. Studi Literatur Studi literatur dilakukan dengan cara mempelajari jurnal, buku, artikel, dan situs yang terkait dengan metrics perangkat lunak berorientasi objek. Metrics yang dipakai dalam penelitian ini adalah 6 buah metrics yang diajukan oleh Chidamber & Kemerer (1994). Metrics ini dipilih karena berhubungan dengan kualitas perangkat lunak. Selain itu, metrics ini banyak digunakan oleh umum (Hogan 1997). Untuk nilai batas atas beberapa metrics, diperoleh berdasarkan saran dari RefactorIT. Pengumpulan Data Pengumpulan data dilakukan setelah perangkat lunak ERP selesai dikembangkan. Data yang dikumpulkan adalah semua yang terkait dengan pengukuran metrics perangkat lunak ERP. Implementasi Perhitungan Metrics Pada tahap ini, perhitungan metrics dilakukan dengan bantuan tool CKJM (Chidamber & Kemerer Java Metrics) (Spinellis 2005). Tool ini dipilih karena hasil perhitungan metrics yang dihasilkan cukup sesuai dengan definisi metrics Chidamber & Kemerer (1994). Analisis Hasil Perhitungan Metrics Analisis dilakukan dengan cara membandingkan nilai metrics perangkat lunak ERP dengan nilai standard metrics yang disarankan oleh RefactorIT (Sarker 2005). Dari hasil perbandingan tersebut dapat diketahui class mana saja yang perlu diperiksa dan/atau direvisi. Selain itu, dicari juga nilai maksimal, minimal, dan median secara keseluruhan dari masing-masing metrics. Nilai-nilai ini yang akan memperkirakan kualitas perangkat lunak dari beberapa faktor kualitas yang terkait. HASIL DAN PEMBAHASAN Pengumpulan Data Perangkat lunak yang dipilih pada penelitian ini adalah perangkat lunak berbasis web, yaitu perangkat lunak ERP (Ernita 2008). Perangkat lunak tersebut dikembangkan dengan bahasa pemrograman Java, terdiri dari 236 classes dan 39 jar file sebagai library. Perhitungan metrics secara manual membutuhkan semua file *.java (java file) sedangkan perhitungan metrics dengan CKJM membutuhkan semua file hasil kompilasi (class file) pada project ERP beserta library yang dipakainya. File tersebut masing-masing berekstensi *.class dan *.jar. Pada project ERP, class file dan jar file tersimpan di bawah direktori erp/build/web/web-inf/classes dan erp/build/web/web-inf/lib sedangkan java file tersimpan di bawah direktori erp/src/java. Implementasi Perhitungan Metrics Pada tahap ini, perhitungan metrics secara manual dilakukan dengan melihat source code class (*.java) dari data yang diperoleh. Lampiran 1 memperlihatkan source code salah satu class, yaitu class LoginCustomerController. Perhitungan keenam metrics secara manual terhadap class LoginCustomerController dapat dilihat pada lampiran 2. Berikut nilai keenam metrics untuk class LoginCustomerController: WMC = 13 DIT = 1 NOC = 0 CBO = 4 RFC = 26 LCOM = 17 Implementasi perhitungan metrics secara manual tentunya membutuhkan waktu yang tidak sedikit. Dengan mempertimbangkan keterbatasan waktu, maka digunakan CKJM sebagai tool untuk melakukan perhitungan DIT, NOC, CBO, RFC sedangkan WMC dan LCOM dihitung secara manual. Hal ini dikarenakan CKJM mengasumsikan kompleksitas semua methods = 1 dalam menghitung WMC sedangkan penelitian ini menggunakan CC sebagai kompleksitas semua methods. Selain itu, CKJM masih belum dapat menghitung LCOM ketika class yang diukur tidak memiliki instance variable. Hasil perhitungan keenam metrics pada perangkat lunak ERP (Ernita 2008) dapat dilihat pada lampiran 3.

15 7 Analisis Hasil Perhitungan Metrics Dari hasil perhitungan keenam metrics yang didapat pada tahap sebelumnya, dapat dilakukan analisis sebagai berikut: 1 Weighted Methods per Class (WMC) Histogram pada gambar 6 memperlihatkan bahwa modus nilai WMC adalah 6, yaitu sebanyak 30 class. Selain itu, sebanyak 224 class memiliki WMC di bawah 50 dan hanya 12 class yang memiliki WMC di atas 50. Ini menunjukkan bahwa sebagian besar class yang ada pada perangkat lunak ERP memiliki kompleksitas yang masih bisa ditoleransi. Class yang memiliki WMC di bawah 50, bukan berarti class tersebut tidak kompleks. Bisa saja methods pada class tersebut lebih banyak menggunakan message passing. Hal ini tentunya dapat mengurangi nilai CC pada methods tersebut sehingga mengurangi nilai WMC. Akan tetapi, WMC setidaknya dapat menentukan class mana saja yang patut disarankan untuk diperiksa ulang dan/atau direvisi. Tabel 1 Ringkasan statistik WMC pada perangkat lunak ERP. Metric Min Max Median Stdev WMC Depth of Inheritance Tree (DIT) Gambar 7 adalah histogram DIT pada perangkat lunak ERP. Tidak seperti WMC, DIT pada perangkat lunak ERP cenderung memiliki nilai yang hampir seragam. Modus DIT adalah 1, yaitu sebanyak 189 class. Ini berarti bahwa sebagian besar class pada perangkat lunak ERP hanya mewarisi class root-nya, yaitu class java.lang.object. Selain itu, sebanyak 47 class memiliki nilai DIT sebesar 3. Ini berarti bahwa tingkat reuse pada perangkat lunak ERP sangat tinggi karena semua class mewarisi superclass-nya. Untuk class yang memiliki nilai DIT 3, class tersebut memiliki tingkat reuse yang lebih tinggi, tetapi juga meningkatkan kompleksitasnya. Gambar 6 Histogram WMC pada perangkat lunak ERP. Ada sebanyak 12 class yang disarankan diperiksa ulang dan/atau diperbaiki dari segi kompleksitas karena memiliki WMC di atas class tersebut dapat dilihat pada lampiran 4. Tabel 1 memperlihatkan ringkasan statistik nilai-nilai WMC pada perangkat lunak ERP. Tabel tersebut memperlihatkan nilai standard deviasi yang cukup besar. Ini berarti nilai-nilai WMC pada classes yang diamati menyebar dari nilai tengahnya sehingga lebih baik menggunakan nilai median sebagai nilai ratarata daripada menggunakan nilai mean (Walpole 1992). Dari nilai mediannya, dapat diartikan bahwa rata-rata nilai WMC perangkat lunak ERP memiliki nilai di bawah nilai batas atas. Dengan demikian WMC perangkat lunak ERP rendah. Gambar 7 Histogram DIT pada perangkat lunak ERP. Tabel 2 memperlihatkan ringkasan statistik nilai-nilai DIT. Metric DIT pada perangkat lunak ERP memiliki nilai median sebesar 1. Dengan demikian, rata-rata class pada perangkat lunak ERP memiliki nilai DIT yang kecil di bawah nilai batas atas yang disarankan oleh RefactorIT, yaitu sebesar 5. Atau lebih tepatnya lagi, semua class pada perangkat lunak ERP memiliki nilai DIT di bawah 5. Dengan demikian tidak perlu dilakukan pemeriksaan ulang dan/atau revisi pada semua class dari segi inheritance. Tabel 2 Ringkasan statistik DIT pada perangkat lunak ERP. Metric Min Max Median Stdev DIT Number of Children (NOC) Histogram pada gambar 8 menjelaskan bahwa NOC pada perangkat lunak ERP

16 8 seragam, yaitu sebesar 0. Ini berarti bahwa semua class pada perangkat lunak ERP tidak memiliki subclass. Dengan kata lain, pengembang perangkat lunak ERP tidak memanfaatkan pewarisan dalam membuat class. Hal ini mungkin diakibatkan kurangnya komunikasi antara desainer class yang berbeda sehingga kesempatan reuse class tidak dapat direalisasikan. setidaknya kedua pencilan tersebut memiliki peluang besar untuk diperiksa ulang dan/atau direvisi. Hal ini dikarenakan class dengan nilai CBO yang semakin besar mengindikasikan class tersebut semakin sulit dipahami, semakin sulit untuk digunakan ulang, dan tentunya semakin sulit dirawat. Kedua class tersebut dapat dilihat pada lampiran 4. Gambar 8 Histogram NOC pada perangkat lunak ERP. NOC yang semakin rendah berarti kemungkinan kesalahan dalam melakukan sub-classing semakin rendah. Dalam kasus ini tidak terdapat kesalahan dalam melakukan sub-classing karena semua class memiliki nilai NOC sebesar 0. Tabel 3 memperlihatkan ringkasan statistik nilai-nilai NOC. Dapat dilihat pada tabel 3 bahwa semua nilai statistiknya adalah 0. Dengan demikian, rata-rata nilai NOC sangat rendah dibandingkan nilai batas atas yang disarankan RefactorIT sehingga tidak diperlukan pemeriksaan ulang dan/atau revisi class dari segi ketepatan sub-classing. Tabel 3 Ringkasan statistik NOC pada perangkat lunak ERP. Gambar 9 Histogram CBO pada perangkat lunak ERP. Tabel 4 menunjukkan bahwa nilai-nilai CBO cukup menyebar dari nilai tengahnya. Selain itu, median sebesar 4 menunjukkan bahwa rata-rata nilai CBO pada perangkat lunak ERP cukup rendah. Tabel 4 Ringkasan statistik CBO pada perangkat lunak ERP. Metric Min Max Median Stdev CBO Response for A Class (RFC) Metric Min Max Mean Stdev NOC Coupling Between Object Class (CBO) Histogram pada gambar 9 menjelaskan bahwa nilai CBO pada perangkat lunak ERP memiliki modus sebesar 1. Sebanyak 66 class memiliki nilai CBO sebesar 1. Histogram tersebut juga menunjukkan adanya dua pencilan atau nilai ekstrim. Kedua pencilan tersebut memiliki nilai CBO masing-masing sebesar 21 dan 25. Karena belum ditemukannya nilai batas atas CBO, tidak dapat dipastikan apakah kedua pencilan tersebut disarankan untuk diperiksa ulang dan/atau direvisi. Akan tetapi, Gambar 10 Histogram RFC pada perangkat lunak ERP. Histogram pada gambar 8 menjelaskan bahwa modus nilai RFC adalah 4, yaitu sebanyak 22 class. Selain itu, histogram tersebut juga menunjukkan bahwa sebagian besar class memiliki nilai RFC di bawah batas atas yang disarankan RefactorIT, yaitu sebesar 50. Jumlah class tersebut sebanyak 213 class. Sisanya, 23 class, memiliki nilai di atas batas atas. RFC yang tinggi tentunya meningkatkan kompleksitas class tersebut. Dengan

17 9 demikian, ke-23 class tersebut disarankan untuk diperiksa ulang dan/atau direvisi sehingga nilai RFC-nya bisa berada di bawah nilai batas atas yang disarankan oleh RefactorIT. Ke-23 class tersebut dapat dilihat pada lampiran 4. Tabel 5 memperlihatkan ringkasan statistik nilai-nilai RFC. Rata-rata nilai RFC, sebesar 20, berada di bawah nilai batas atas yang disarankan oleh RefactorIT. Ini berarti RFC pada perangkat lunak ERP rendah. Tabel 5 Ringkasan statistik RFC pada perangkat lunak ERP. Metric Min Max Median Stdev RFC Lack of Cohesion in Methods (LCOM) Gambar 11 memperlihatkan histogram LCOM. Dapat dilihat dengan jelas bahwa modus nilai LCOM sebesar 0, yaitu sebanyak 116 class. Seperti yang telah dibahas pada Tinjauan Pustaka, nilai LCOM sebesar 0 dapat terjadi ketika nilai P Q. Selain itu, dapat juga terjadi ketika semua n himpunan {I 1 }, {I 2 },, {I n } adalah Ø. Dengan demikian, class yang memiliki nilai LCOM sebesar 0 bisa saja adalah class yang tidak memiliki instance variable, class yang hanya memiliki 1 buah method, atau bahkan interface. Banyaknya nilai 0 ini terjadi karena memang sebagian besar class pada perangkat lunak ERP adalah interface dan class yang tidak memiliki instance variable. Gambar 11 Histogram LCOM pada perangkat lunak ERP. Histogram tersebut juga memperlihatkan cukup banyaknya nilai LCOM yang berada di atas 100, yaitu sebanyak 58 class. Bahkan terdapat class yang memiliki nilai LCOM mencapai Akan tetapi, nilai LCOM yang besar belum berarti tingkat cohesiveness suatu class rendah. Rosenberg (1998) mengatakan semakin kecil nilai LCOM dibandingkan dengan nilai maksimumnya, semakin baik cohesivenessnya, begitu juga sebaliknya. Dengan demikian perlu diketahui nilai rasio antara nilai aktual LCOM dengan nilai maksimal LCOM suatu class sebelum menyimpulkan tingkat cohesiveness-nya. Berdasarkan landasan tersebut nilai rasio didapat dengan rumus sebagai berikut: dimana, rasiolcom adalah nilai rasio LCOM LCOM adalah nilai aktual LCOM suatu class. maxlcom adalah nilai maksimum LCOM suatu class. maxlcom terjadi ketika Q = 0, yaitu ketika P maksimal. Ini berarti tidak terdapat satu-pun pasangan method yang menggunakan instance variable yang sama. Dengan kata lain, nilai maksimum LCOM dirumuskan sebagai berikut: dimana, NOM adalah number of methods, yaitu jumlah method yang terdapat pada class. Nilai rasio tersebut berada dalam selang [0, 1]. Class yang memiliki nilai rasio yang semakin dekat dengan 0, berarti semakin tinggi cohesiveness class tersebut. Begitu juga sebaliknya, semakin dekat nilai rasio sebuah class dengan 1, berarti semakin rendah cohesiveness class tersebut. Nilai rasio masing-masing class dapat dilihat pada lampiran 3. Nilai rasio tersebut dapat digunakan sebagai petunjuk untuk mengetahui class mana saja yang sekiranya perlu diperiksa ulang dan/atau direvisi, yaitu class yang memiliki nilai rasiolcom mendekati 1 (cohesiveness rendah). Class tersebut disarankan untuk dipecah menjadi dua atau lebih class agar tingkat cohesivenessnya menjadi lebih tinggi. Tabel 6 Ringkasan statistik nilai rasio LCOM pada perangkat lunak ERP. rasiolcom Min Max Mean Stdev

18 10 Dapat dilihat pada tabel 6, nilai standard deviasi dari nilai rasio LCOM cukup kecil sehingga tidak terlalu banyak pencilan dalam data. Dengan demikian, rata-rata nilai rasio LCOM dapat menggunakan nilai mean, yaitu sebesar Ini menandakan tingginya tingkat cohesiveness perangkat lunak ERP. Dengan kata lain LCOM pada perangkat lunak ERP dapat dikatakan cukup rendah. 7 Kualitas Perangkat Lunak ERP Dari hasil analisis keenam metrics, dapat dianalisis lebih lanjut seberapa baik kualitas perangkat lunak ERP berdasarkan faktorfaktor kualitas yang terkait dengan keenam metrics tersebut. Tinggi rendahnya nilai metrics akan mempengaruhi pada tinggi rendahnya faktor-faktor kualitas yang terkait pada masing-masing metric. Sebagai contoh, nilai WMC yang tinggi menyebabkan menurunnya tingkat reusability, usability, dan testability. Untuk lebih jelasnya, dapat dilihat pengaruh nilai metrics terhadap faktor-faktor kualitas yang terkait pada lampiran 5. Pada pembahasan sebelumnya telah diketahui apakah nilai setiap metrics pada perangkat lunak ERP itu rendah atau tinggi. Dengan demikian, dapat diketahui seberapa tinggi reusability, usability, uderstandability, modifiability, dan testability perangkat lunak ERP dari nilai-nilai hasil pengukuran keenam metrics. Tabel 7 memperlihatkan ringkasan tinggi rendahnya nilai rata-rata setiap metric beserta pengaruhnya terhadap faktor-faktor kualitas. Dapat dilihat pada tabel 7 bahwa WMC dan CBO yang rendah mengakibatkan peningkatan reusability. Ini berarti setiap class mudah untuk di-reuse karena memiliki kompleksitas yang rendah. Di lain sisi, rendahnya DIT dan NOC mengakibatkan penurunan reusability. Ini dapat terjadi karena, pada kenyataanya, pengembang tidak terlalu memanfaatkan pewarisan dalam membuat class. Perbedaan tersebut dapat terjadi karena WMC dan CBO melakukan prediksi seberapa mudah suatu class untuk digunakan ulang berdasarkan kompleksitasnya sedangkan DIT dan NOC lebih melihat kepada fakta apakah suatu class memanfaatkan pewarisan secara baik. Dengan demikian, perbedaan pengaruh kedua pasangan metrics tersebut bukan merupakan suatu keanehan. Lain halnya dengan faktor kualitas selain reusability, setiap metric meningkatkan faktor kualitas usability, understandability, modifiability, dan testability. Dengan demikian, kualitas perangkat lunak ERP dapat dikatakan tinggi dari segi usability, understandability, modifiability, dan testability. Akan tetapi, dari segi reusability hanya dapat dikatakan moderat. Tabel 7 Kategori metrics perangkat lunak ERP beserta pengaruhnya terhadap faktor kualitas No Metrics Kategori Faktor Kualitas Reusability Usability Understandability Modifiability Testability 1 WMC rendah NA NA 2 DIT rendah NA 3 NOC rendah NA NA NA 4 CBO rendah NA 5 RFC rendah NA NA 6 LCOM rendah NA NA Keterangan : NA = Not Applicable

19 11 KESIMPULAN DAN SARAN Kesimpulan Enam buah metrics yang diajukan oleh Chidamber & Kemerer (1994) dapat digunakan untuk mengetahui kualitas perangkat lunak berorientasi objek dari beberapa faktor kualitas. Selain itu, metrics tersebut juga dapat digunakan untuk mengetahui class mana saja yang perlu diperiksa ulang dan/atau direvisi. Akan tetapi, LCOM tidak dapat digunakan langsung untuk mengetahui class mana saja yang perlu diperiksa ulang dan/atau direvisi. Berdasar pada hasil analisis, dapat disimpulkan bahwa perangkat lunak ERP (Ernita 2008) berkualitas baik dari segi usability, understandability, modifiability, dan testability. Akan tetapi, dari segi reusability, kualitas perangkat lunak ERP hanya dapat dikatakan moderat. Saran Penelitian selanjutnya disarankan menggunakan object oriented metrics lainnya sehingga kualitas perangkat lunak ERP dapat diketahui dari faktor-faktor kualitas lainnya. Selain itu, penelitian selanjutnya dapat pula mengimplementasikan Chidamber & Kemerer metrics untuk mengukur seberapa besar pengaruh penggunaan framework pada Java terhadap kualitas perangkat lunak tersebut. DAFTAR PUSTAKA Andersson, Magnus & Patrik Vestergren Object-Oriented Design Quality Metrics [Master Thesis]. Uppsala: Computing Science Department, Uppsala University. Barbacci, Mario R Software Quality Atributes: Modifiability And Usability. Pittsburgh: Carnegie Mellon University. Chidamber, S dan Chris F. Kemerer A Metrics Suite for Object Oriented Design. IEEE Transaction on Software Engineering, vol. 20 no. 6. El-Ahmadi, Abdellatif Software Quality Metrics for Object Oriented Systems. Kongens Lyngby : Technical University of Denmark. Ernita, Halida Pengembangan Enterprise Resource Planning (ERP) Untuk Perusahaan Ritel. Prosiding Seminar Nasional Informatika 2008 ISSN: : Fenton, Norman E. & Shari Lawrence Pfleeger Software Metrics: A Rigourous and Practical Approach. Boston: PWS Publishing Company. Hogan, Jer An Analysis of OO Software Metrics. Coventry: Department of Computer Science, University of Warwick. Jawadekar, Waman S Software Engineering: Principles and Practice. New Delhi: Tata McGraw-Hill. Lindroos, Jaana Code and Design Metrics for Object-Oriented Systems. Helsinski: Department of Computer Science, University of Helsinsky. Rosenberg, Linda H Applying and Interpreting Object Oriented Metrics. Utah: SATC NASA. Sarker, Muktamyee An Overview of Object Oriented Design Metrics [Master Thesis]. Umea: Department of Computer Science, Umea University. SATC Software Quality Metrics for Object Oriented System Environments. Grenbelt Maryland : NASA Goddard Space Flight Center. Spinellis, Diomidis Tool Writing: A Forgotten Art?. IEEE Software. Systa, Tarja & Ping Yu Using OO Metrics and Rigi to Evaluate Java Software. Tampere: Department of Computer Science, University of Tampere. Walpole, Ronald E Pengantar Statistika. Jakarta: PT Gramedia Pustaka Utama.

20 LAMPIRAN

21 13 Lampiran 1 Source Code Class LoginCustomerController 1 package ilkom.erp.web.controller.customer; 2 3 import ilkom.erp.order.orderdebitur; 4 import ilkom.erp.service.orderservice; 5 import ilkom.erp.web.util.messageresourceutil; 6 import ilkom.erp.web.util.sessionutil; 7 import java.security.messagedigest; 8 import java.security.nosuchalgorithmexception; 9 import java.util.logging.level; 10 import java.util.logging.logger; 11 import javax.faces.application.facesmessage; public class LoginCustomerController { 14 private OrderService orderservice; 15 private OrderDebitur debitur = new OrderDebitur(); 16 private String realpassword; public String getrealpassword() { 19 return realpassword; 20 } public void setrealpassword(string realpassword) { 23 this.realpassword = realpassword; 24 } public void setorderservice(orderservice orderservice) { 27 this.orderservice = orderservice; 28 } public OrderDebitur getdebitur() { 31 return debitur; 32 } public void setdebitur(orderdebitur debitur) { 35 this.debitur = debitur; 36 } public String login(){ 39 OrderDebitur orderdebiturdb = 40 orderservice.getbynameorderdebitur(debitur.getdebiturname()); if (orderdebiturdb==null){ 43 MessageResourceUtil.addMessage(FacesMessage.SEVERITY_INFO, 44 Login.fail.signUpFirst", null); 45 clear(); 46 return "fail"; 47 }else if(!orderdebiturdb.getpassword().equals(md5(realpassword))){ 48 MessageResourceUtil.addMessage(FacesMessage.SEVERITY_INFO, 49 "Login.fail", null); 50 clear(); 51 return "fail"; 52 } SessionUtil.setDebitur(orderDebiturDb); 55 return "login success"; 56 } public String signup(){ 59 clear(); 60 return "signup"; 61 } private void clear() { 64 debitur = new OrderDebitur(); 65 } public static String md5(string s){ 68 try { 69 MessageDigest md = MessageDigest.getInstance("MD5"); 70 md.update(s.getbytes()); 71 return new String(md.digest());

22 14 Lanjutan 72 } catch (NoSuchAlgorithmException ex) { Logger.getLogger(LoginCustomerController.class.getName()).log(Level.SEVERE, 75 null, ex); 76 } 77 return null; 78 } 79 } Lampiran 2 Perhitungan Metrics pada Class LoginCustomerController WMC Class LoginCustomerController memiliki 10 buah method, yaitu getrealpassword(), setrealpassword(), setorderservice(), getdebitur(), setdebitur(), login(), signup(), clear(), md5(). Akan tetapi, masih terdapat satu buah method yang secara implisit selalu dimiliki oleh sebuah class di Java, yaitu method constructor. Kalau tidak didefinisikan oleh pembuat class, konstruktor tersebut disebut default constructor. Default constructor ini memanggil method super(), yaitu konstruktor dari superclass-nya. Dengan demikian, class LoginCustomerController memiliki 7 buah method. CC untuk setiap method sebagai berikut: Constructor: CC 1 = P + 1 = =1 getrealpassword(): CC 2 = P + 1 = =1 setrealpassword(): CC 3 = P + 1 = =1 setorderservice(): CC 4 = P + 1 = = 1 getdebitur(): CC 5 = P + 1 = = 1 setdebitur(): CC 6 = P + 1 = = 1 login(): CC 7 = P + 1 = = 3 signup(): CC 8 = P + 1 = = 1 clear(): CC 9 = P + 1 = = 1 md5():cc 10 = P + 1 = = 2 Dari CC setiap method didapat : DIT Class LoginCustomerController tidak melakukan extends (mewarisi) class lain secara eksplisit. Akan tetapi, setiap class di Java mewarisi class Object dan class Object adalah root pada hierarki pewarisan class di Java. Dengan demikian, NOC Setelah menelusuri semua class pada data, tidak terdapat satu pun class yang mewarisi class LoginCustomerController. Dengan demikian,

23 15 Lanjutan CBO Class LoginCustomerController memiliki instance variable dari class OrderService (orderservice) dan OrderDebitur (debitur). Selain itu, method login() memanggil static method addmessage() dari class MessageResourceUtil dan static method setdebitur() dari class SessionUtil. Dengan demikian, RFC Semua method yang terdapat pada class LoginCustomerController dan method yang dipanggil di dalamnya sebagai berikut: Constructor memanggil Object.super(). getrealpassword() tidak memanggil method lain. setrealpassword() tidak memanggil method lain. setorderservice() tidak memanggil method lain. getdebitur() tidak memanggil method lain. setdebitur() tidak memanggil method lain. login() memanggil OrderService.getByNameOrderDebitur(), OrderDebitur.getDebiturName(), MessageResourceUtil.addMessage(), this.clear(), OrderDebitur.getPassword(), String.equals(), this.md5(), dan SessionUtil.setDebitur(). signup() memanggil this.clear(). clear() memanggil OrderDebitur.this(). md5() memanggil MessageDigest.getInstance(), MessageDigest.update(), String.getBytes(), String.this(), MessageDigest.digest(), Logger.getLogger(), LoginCustomerController.class.getName(), Logger.log(). Selanjutnya RS dapat ditentukan sebagai berikut : = {this(), this.getrealpassword(), this.setrealpassword(), this.setorderservice(), this.getdebitur(), this.setdebitur(), this.login(), this.signup(), this.clear(), this.md5(), Object.super(), OrderService.getByNameOrderDebitur(), OrderDebitur.getDebiturName(), MessageResourceUtil.addMessage(), OrderDebitur.getPassword(), String.equals(), SessionUtil.setDebitur(), OrderDebitur.this(), MessageDigest.getInstance(), MessageDigest.update(), String.this(), String.getBytes(), MessageDigest.digest(), Logger.getLogger(), LoginCustomerController.class.getName(), Logger.log()} Dengan demikian, LCOM Class LoginCustomerController memiliki dua buah instance variable, yaitu orderservice dan debitur sehingga, I constructor = I 1 = Ø I getrealpassword = I 2 ={realpassword} I setrealpassword = I 3 ={realpassword} I setorderservice = I 4 = {orderservice}

24 16 Lanjutan I getdebitur = I 5 = {debitur} I setdebitur = I 6 = { debitur} I login = I 7 = {orderservice, debitur, realpassword} I signup = I 8 = {debitur} I clear = I 9 = {debitur} I md5 = I 10 = Ø Kemudian, dari hasil di atas dapat ditentukan himpunan P dan Q sebagai berikut: P = { I 1 I 2, I 1 I 3, I 1 I 4, I 1 I 5, I 1 I 6, I 1 I 7, I 1 I 8, I 1 I 9, I 1 I 10, I 2 I 4, I 2 I 5, I 2 I 6, I 2 I 8, I 2 I 9, I 2 I 10, I 3 I 4, I 3 I 5, I 3 I 6, I 3 I 8, I 3 I 9, I 3 I 10, I 4 I 5, I 4 I 6, I 4 I 8, I 4 I 9, I 4 I 10, I 5 I 10, I 6 I 10, I 7 I 10, I 8 I 10, I 9 I 10 } Q = { I 2 I 3, I 2 I 7, I 3 I 7, I 4 I 7, I 5 I 6, I 5 I 7, I 5 I 8, I 5 I 9, I 6 I 7, I 6 I 8, I 6 I 9, I 7 I 8, I 7 I 9, I 8 I 9 } Karena P > Q, dengan demikian

PENDAHULUAN TINJAUAN PUSTAKA

PENDAHULUAN TINJAUAN PUSTAKA 1 Latar Belakang PENDAHULUAN Desain berorientasi objek merupakan suatu konsep yang banyak digunakan oleh pengembang perangkat lunak saat ini. Hal ini dikarenakan kemudahan yang ditawarkan di dalam desain

Lebih terperinci

Studi Literatur Implementasi Perhitungan Metrics Pengumpulan Data Implementasi Perhitungan Metrics Analisis Hasil Perhitungan Metrics

Studi Literatur Implementasi Perhitungan Metrics Pengumpulan Data Implementasi Perhitungan Metrics  Analisis Hasil Perhitungan Metrics 6 pengumpulan data, kemudian melakukan implementasi perhitungan metrics, dan yang terakhir adalah analisis hasil perhitungan metrics. Studi Literatur Studi literatur dilakukan dengan cara mempelajari jurnal,

Lebih terperinci

EVALUASI KUALITAS PERANGKAT LUNAK DENGAN METRICS BERORIENTASI OBJEK

EVALUASI KUALITAS PERANGKAT LUNAK DENGAN METRICS BERORIENTASI OBJEK EVALUASI KUALITAS PERANGKAT LUNAK DENGAN METRICS BERORIENTASI OBJEK Kornelis Letelay 1, Azhari SN² 1Jurusan Ilmu Komputer, Fakultas Sains dan Teknik, Universitas Nusa Cendana Jl. Adi Sucipto, Penfui, P.O.

Lebih terperinci

PENGGUNAAN PROGRAM CKJM UNTUK ANALISIS PAKET REMOTE METHOD INVOCATION. Abstrak

PENGGUNAAN PROGRAM CKJM UNTUK ANALISIS PAKET REMOTE METHOD INVOCATION. Abstrak PENGGUNAAN PROGRAM CKJM UNTUK ANALISIS PAKET REMOTE METHOD INVOCATION Adi Kusjani, Berta Bednar Jurusan Teknik Komputer STMIK Akakom Yogyakarta adikusja@akakom.ac.id Abstrak Sistem Remote Method Invocation

Lebih terperinci

Mengukur Tingkat Reusability dan Efficiency dari Kode Program dengan Pendekatan Fuzzy Logic

Mengukur Tingkat Reusability dan Efficiency dari Kode Program dengan Pendekatan Fuzzy Logic Mengukur Tingkat Reusability dan Efficiency dari Kode Program dengan Pendekatan Fuzzy Logic Arwin Halim 1, Alex Xandra Albert Sim 2, Gabyola 3, Hartono 4 Program Studi Teknik Informatika, STMIK Mikroskil

Lebih terperinci

ABSTRAK. Kata Kunci: computer based test, software metric, rekrutmen, turnover pegawai, autograder. Universitas Kristen Maranatha

ABSTRAK. Kata Kunci: computer based test, software metric, rekrutmen, turnover pegawai, autograder. Universitas Kristen Maranatha ABSTRAK Seiring dengan terjadinya turnover pegawai dalam sebuah perusahaan, menjadikan perusahaan harus memiliki standar tertentu untuk dapat menerima calon pegawai barunya. Dalam proses rekrutmen pegawai,

Lebih terperinci

PERBANDINGAN PENERAPAN OOP DAN AOP PADA APLIKASI YANG DIBANGUN DENGAN FRAMEWORK ASP.NET MVC WEB APPLICATION

PERBANDINGAN PENERAPAN OOP DAN AOP PADA APLIKASI YANG DIBANGUN DENGAN FRAMEWORK ASP.NET MVC WEB APPLICATION Seminar Nasional Teknologi Informasi dan Komunikasi 2 (SENTIKA 2) ISSN: 29-9 Yogyakarta, Maret 2 PERBANDINGAN PENERAPAN DAN PADA APLIKASI YANG DIBANGUN DENGAN FRAMEWORK ASP.NET MVC WEB APPLICATION Adi

Lebih terperinci

PENGUKURAN SOFTWARE METRIC TERHADAP IMPLEMENTASI FRAMEWORK LARAVEL PADA PEMBANGUNAN APLIKASI BERBASIS WEB STUDI KASUS : JURNAL LOGIC

PENGUKURAN SOFTWARE METRIC TERHADAP IMPLEMENTASI FRAMEWORK LARAVEL PADA PEMBANGUNAN APLIKASI BERBASIS WEB STUDI KASUS : JURNAL LOGIC PENGUKURAN SOFTWARE METRIC TERHADAP IMPLEMENTASI FRAMEWORK LARAVEL PADA PEMBANGUNAN APLIKASI BERBASIS WEB STUDI KASUS : JURNAL LOGIC SOFTWARE METRIC MEASUREMENT ON LARAVEL FRAMEWORK IMPELEMENTATION FOR

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008 PERANCANGAN APLIKASI ESTIMASI USAHA UNTUK PROYEK SOFTWARE YANG BERORIENTASI OBJEK Muhsin Shodiq

Lebih terperinci

PEMERINGKATAN SOFTWARE APLIKASI BERDASARKAN PROPERTI KUALITAS DISAIN DAN METRICS FOR OBJECT ORIENTED SOFTWARE MENGGUNAKAN ANALYTIC HIERARCHY PROCESS

PEMERINGKATAN SOFTWARE APLIKASI BERDASARKAN PROPERTI KUALITAS DISAIN DAN METRICS FOR OBJECT ORIENTED SOFTWARE MENGGUNAKAN ANALYTIC HIERARCHY PROCESS PEMERINGKATAN SOFTWARE APLIKASI BERDASARKAN PROPERTI KUALITAS DISAIN DAN METRICS FOR OBJECT ORIENTED SOFTWARE MENGGUNAKAN ANALYTIC HIERARCHY PROCESS Efano Hermawan 1 dan Petrus Mursanto 2 1 Magister Teknologi

Lebih terperinci

Fuzzy Model for Predicting Reusability Factor of a Software. Model Fuzzy untuk Memprediksi Faktor Reusability Sebuah Perangkat Lunak

Fuzzy Model for Predicting Reusability Factor of a Software. Model Fuzzy untuk Memprediksi Faktor Reusability Sebuah Perangkat Lunak Fuzzy Model for Predicting Reusability Factor of a Software Model Fuzzy untuk Memprediksi Faktor Reusability Sebuah Perangkat Lunak Endang Suryawati Pusat Penelitian Informatika Lembaga Ilmu Pengetahuan

Lebih terperinci

Teknik Informatika S1

Teknik Informatika S1 Teknik Informatika S1 SOFTWARE QUALITY AND TESTING White Box Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021 White Box Testing Kadang disebut

Lebih terperinci

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN http://sholikins.wordpress.com http://sholikins.wordpress.com 1 Pemrograman Berorientasi Objek / OOP (Objek Oriented Programming)??? http://sholikins.wordpress.com

Lebih terperinci

Konsep Pemrograman Berbasis Obyek

Konsep Pemrograman Berbasis Obyek Konsep Pemrograman Berbasis Obyek Tujuan Pembelajaran Memahami konsep Pemrograman Berbasis Obyek atau Object Oriented Programming (OOP) Memahami perbedaan antara pemrograman OOP dengan pemrograman prosedural

Lebih terperinci

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra Konsep Dasar Pemrograman Berorientasi Obyek I JAVA Anugrah Kusuma Seno Adi Putra Konsep Dasar Pemrograman Berorientasi Obyek I JAVA @2007 Java Competency Center - Institut Teknologi Bandung Penulis : Anugrah

Lebih terperinci

Teknik Informatika S1

Teknik Informatika S1 Teknik Informatika S1 SOFTWARE QUALITY AND TESTING White Box Testing (1) Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021 Tugas Black Box Mengingatkan

Lebih terperinci

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: 1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: Program dapat di-compile dan output-nya adalah 5 Program dapat di-compile dan output-nya adalah 6 Program akan

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER

RENCANA PEMBELAJARAN SEMESTER RENCANA PEMBELAJARAN SEMESTER Capaian Pembelajaran (CP) Deskripsi Singkat MK Materi Pemebelajaran/Pokok Bahasan Pustaka CPL - PRODI PP1 CP-MK M1 M2 Menguasai pengetahuan dan kemampuan untuk membangun sebuah

Lebih terperinci

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI Disusun Oleh : TANGGAL PRAKTIKUM : 02 NOVEMBER 2015 NAMA : IMAM HASAN NRP : 140411100099 KELOMPOK : D 2 DOSEN PENGAMPU : HERMAWAN, S.T.,

Lebih terperinci

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Waktu Sisa : 0:59:57 1. Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Output: Bapak null Anak Error karena constructor Bapak(String

Lebih terperinci

KONSEP MANAJEMEN PROYEK

KONSEP MANAJEMEN PROYEK KONSEP MANAJEMEN PROYEK Perancangan Perangkat Lunak Bertalya Program Pasca Sarjana, Universitas Gunadarma Konsep Manajemen Proyek Manajemen proyek perangkat lunak merupakan layer pertama pada proses software

Lebih terperinci

Lampiran 1 Source Code Class LoginCustomerController

Lampiran 1 Source Code Class LoginCustomerController LAMPIRAN 13 Lampiran 1 Source Code Class LoginCustomerController 1 package ilkom.erp.web.controller.customer; 2 3 import ilkom.erp.order.orderdebitur; 4 import ilkom.erp.service.orderservice; 5 import

Lebih terperinci

Pemrograman Lanjut. Class : Deeper Look 2

Pemrograman Lanjut. Class : Deeper Look 2 Pemrograman Lanjut Class : Deeper Look 2 PTIIK - 2013 Objectives Mampu menggunakan variabel dan method static dan final. Mampu meng-import static member dari sebuah kelas. Mampu membuat package dan meng-import

Lebih terperinci

KONSEP MANAJEMEN PROYEK

KONSEP MANAJEMEN PROYEK KONSEP MANAJEMEN PROYEK Perancangan Perangkat Lunak (Software Engineering) Bertalya Program Pasca Sarjana Universitas Gunadarma Konsep Manajemen Proyek Manajemen proyek per. lunak merupakan layer pertama

Lebih terperinci

Bahasa Pemrograman :: Polimorfism and Abstraction

Bahasa Pemrograman :: Polimorfism and Abstraction Bahasa Pemrograman :: and Abstraction Julio Adisantoso ILKOM IPB 24 Mei 2010 Access Modifiers Access Modifiers Accessor Methods Mutator Methods Inheritance Akses Default (Package Accessibility) Tidak terdapat

Lebih terperinci

Inheritance dan Kata Kunci static

Inheritance dan Kata Kunci static Inheritance dan Kata Kunci static PEWARISAN (INHERITANCE) Salah satu fitur yang paling kuat dalam OOP adalah penggunaan kode kembali (code reuse). Sekali sebuah prosedur dibuat, maka kita bisa menggunakannya

Lebih terperinci

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD Pemrograman Web Berbasis Framework Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD hasan@uad.ac.id Pokok Bahasan Pendahuluan Requirement atau penelusuran

Lebih terperinci

SILABUS MATA KULIAH PEMROGRAMAN JAVA

SILABUS MATA KULIAH PEMROGRAMAN JAVA A. IDENTITAS MATA KULIAH Program Studi : Teknik Informatika Mata Kuliah : Pemrograman Java Kode : SP331 Bobot : 4 (empat) sks Kelas : MI Semester : 4 (empat) Mata kuliah prasyarat : Tidak ada Deskripsi

Lebih terperinci

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI. TESTING DAN IMPLEMENTASI SISTEM WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 3 TESTING DAN IMPLEMENTASI SISTEM Pengembangan Perangkat Lunak Bagian 2 Mengukur Produktivitas dalam Pengembangan Perangkat Lunak.

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK DISUSUN OLEH: Tim Asisten Praktikum Jurusan

Lebih terperinci

3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta

3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta Dosen Pengampu: Anief Fauzan Rozi, S.Kom., M.Eng. Phone/WA: 0856 4384 6541 PIN BB: 29543EC4 Email: anief.umby@gmail.com Website: http://anief.mercubuana- yogya.ac.id 3/17/16 Testing dan Audit Perangkat

Lebih terperinci

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA SILABUS REKAYASA PERANGKAT LUNAK

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA SILABUS REKAYASA PERANGKAT LUNAK No. SIL/EKA/PTI 273/01 Revisi : 00 Tgl : 21 Juni 2010 Hal 1 dari 5 MATA KULIAH : Rekayasa Perangkat Lunak KODE MATA KULIAH : PTI 273 SEMESTER : 4 PROGRAM STUDI : Pendidikan Teknik Informatika DOSEN PENGAMPU

Lebih terperinci

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM Pendahuluan Rekayasa Perangkat Lunak II Alif Finandhita Teknik Informatika UNIKOM finandhita@gmail.com AGENDA PERKULIAHAN Deskripsi dan Silabus Mata Kuliah Penilaian dan Referensi Pengantar Rekayasa Perangkat

Lebih terperinci

MEMAHAMI PENGGUNAAN UML

MEMAHAMI PENGGUNAAN UML MEMAHAMI PENGGUNAAN UML Reza Kurniawan Reza.kurniawan@raharja.info Abstrak Saat ini sebagian besar para perancang sistem informasi dalam menggambarkan informasi dengan memanfaatkan UML diagram dengan tujuan

Lebih terperinci

PENGEMBANGAN APLIKASI FUZZY TEMPORAL ASSOCIATION RULE MINING (STUDI KASUS : DATA TRANSAKSI PASAR SWALAYAN ) HANDAYANI RETNO SUMINAR

PENGEMBANGAN APLIKASI FUZZY TEMPORAL ASSOCIATION RULE MINING (STUDI KASUS : DATA TRANSAKSI PASAR SWALAYAN ) HANDAYANI RETNO SUMINAR PENGEMBANGAN APLIKASI FUZZY TEMPORAL ASSOCIATION RULE MINING (STUDI KASUS : DATA TRANSAKSI PASAR SWALAYAN ) HANDAYANI RETNO SUMINAR DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

Lebih terperinci

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI. TESTING DAN IMPLEMENTASI SISTEM WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 6 TESTING DAN IMPLEMENTASI SISTEM Pengujian Berorientasi Objek Model Pengujian OOA dan OOD. Strategi Pengujian Berorientasi Objek.

Lebih terperinci

PENYAJIAN SISTEM INFORMASI SPASIAL SUMBER DAYA ALAM DENGAN MENGGUNAKAN FRAMEWORK PMAPPER AMALIA RAHMAWATI G

PENYAJIAN SISTEM INFORMASI SPASIAL SUMBER DAYA ALAM DENGAN MENGGUNAKAN FRAMEWORK PMAPPER AMALIA RAHMAWATI G PENYAJIAN SISTEM INFORMASI SPASIAL SUMBER DAYA ALAM DENGAN MENGGUNAKAN FRAMEWORK PMAPPER AMALIA RAHMAWATI G64103020 DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

REKAYASA PERANGKAT LUNAK II

REKAYASA PERANGKAT LUNAK II REKAYASA PERANGKAT LUNAK II Pendahuluan Rekayasa Perangkat Lunak II DISUSUN OLEH: ADAM MUKHARIL BACHTIAR TEKNIK INFORMATIKA UNIKOM adfbipotter@gmail.com AGENDA PERKULIAHAN 2 Deskripsi dan Silabus Mata

Lebih terperinci

Konsep Dasar Pemrograman Berorientasi Objek

Konsep Dasar Pemrograman Berorientasi Objek Konsep Dasar Pemrograman Berorientasi Objek CLASS & OBJECT Kita dapat membuat banyak OBJECT dari satu CLASS Untuk membuat banyak OBJECT, kita cukup gunakan keyword new berulang kali Misal: Rekening CLASS

Lebih terperinci

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 1:58:53 1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference

Lebih terperinci

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

MODUL 3 PEWARISAN TUJUAN DASAR TEORI MODUL 3 PEWARISAN TUJUAN Setelah menyelesaikan modul ini, praktikan dapat: Memahami pewarisan tunggal dan jamak dalam pemrograman java. Mampu mengimplementasikan pewarisan tunggal dalam bahasa pemrograman

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I 1.1 Latar Belakang PENDAHULUAN Teknologi Informasi adalah suatu teknologi yang digunakan untuk mengolah data, termasuk memproses, mendapatkan, menyusun, menyimpan dan memanipulasi data dalam berbagai

Lebih terperinci

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pewarisan dan deklarasi pewarisan dalam bahasa Java Konsep polimospisme dan deklarasi

Lebih terperinci

ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI

ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI 1 ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI FACHROZI FAHMI 141421117 PROGRAM STUDI EKSTENSI

Lebih terperinci

PENERAPAN DAN PERBANDINGAN CARA PENGUKURAN RESPON PADA ANALISIS KONJOIN

PENERAPAN DAN PERBANDINGAN CARA PENGUKURAN RESPON PADA ANALISIS KONJOIN PENERAPAN DAN PERBANDINGAN CARA PENGUKURAN RESPON PADA ANALISIS KONJOIN (Studi Kasus: Preferensi Mahasiswa Statistika IPB Angkatan 44, 45, dan 46 terhadap Minat Bidang Kerja) DONNY ARIEF SETIAWAN SITEPU

Lebih terperinci

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Materi kuliah ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung

Lebih terperinci

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma Dasar-Dasar Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma Tujuan Pembelajaran Memahami langkah awal untuk melakukan pengujian terhadap

Lebih terperinci

KATA PENGANTAR. Syukur Alhamdulillaahi rabbil alamin terucap ke hadirat Allah SWT

KATA PENGANTAR. Syukur Alhamdulillaahi rabbil alamin terucap ke hadirat Allah SWT KATA PENGANTAR Bismillahirrahmannirahim, Syukur Alhamdulillaahi rabbil alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan

Lebih terperinci

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010 Tujuan Perkuliahan PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Oleh : Sarwosri, S.Kom, M.T. Umi Laili Yuhana, S.Kom, M.Sc. Memberikan gambaran tentang perangkat lunak, rekayasa perangkat lunak. Memberikan

Lebih terperinci

Object Oriented Programming 1

Object Oriented Programming 1 Object Oriented Programming 1 PEMROGRAMAN BERORIENTASI OBYEK Pemrograman beriorientasi obyek (Object Oriented Programming = OOP) berbeda dengan pemrograman konvensional pada umumnya, terutama dalam memperlakukan

Lebih terperinci

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman Konsep Pemrograman Berorientasi Obyek Maria Ulfah S Nurochman Kompetensi Menjelaskan paradigma pemrograman berorientasi obyek Membedakan antara paradigma pemrograman berorientasi obyek dan pemrograman

Lebih terperinci

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 PEWARISAN Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran di lingkungan

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

APLIKASI INVENTORI DAN HUTANG-PIUTANG DENGAN FITUR SMS GATEWAY BERBASIS YII FRAMEWORK DI UD. MANUNGGAL SKRIPSI

APLIKASI INVENTORI DAN HUTANG-PIUTANG DENGAN FITUR SMS GATEWAY BERBASIS YII FRAMEWORK DI UD. MANUNGGAL SKRIPSI APLIKASI INVENTORI DAN HUTANG-PIUTANG DENGAN FITUR SMS GATEWAY BERBASIS YII FRAMEWORK DI UD. MANUNGGAL SKRIPSI Disusun Oleh : NOVITA SARI NPM. 0934010068 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI

Lebih terperinci

LAPORAN TUGAS AKHIR PENGUJIAN PERANGKAT LUNAK DENGAN SOFTWARE RATIONAL TEST MANAGER DAN RATIONAL ROBOT

LAPORAN TUGAS AKHIR PENGUJIAN PERANGKAT LUNAK DENGAN SOFTWARE RATIONAL TEST MANAGER DAN RATIONAL ROBOT LAPORAN TUGAS AKHIR PENGUJIAN PERANGKAT LUNAK DENGAN SOFTWARE RATIONAL TEST MANAGER DAN RATIONAL ROBOT Disusun oleh: Agung Widiyarto 1204000068 FAKULTAS ILMU KOMPUTER UNIVERSITAS INDONESIA DEPOK 2008 LAPORAN

Lebih terperinci

LAPORAN RESMI INHERITANCE

LAPORAN RESMI INHERITANCE LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN BAB 4 INHERITANCE Disusun Oleh : NAMA : FARIDATUS SHOFIYAH NRP : 13.06.311.00112 KELOMPOK : C1 DOSEN PENGAMPU : MEDIKA RISNASARI, MT ASISTEN : AGUS PRIYONO Disetujui

Lebih terperinci

PENGUJIAN PERANGKAT LUNAK

PENGUJIAN PERANGKAT LUNAK PENGUJIAN PERANGKAT LUNAK (DPH2C2) PROGRAM STUDI D3 MANAJEMEN INFORMATIKA UNIVERSITAS TELKOM SEMESTER GENAP TAHUN AKADEMIK 2016-2017 PERTEMUAN 5 MATERI : WHITE BOX TESTING BAGIAN 1 Hanya digunakan di lingkungan

Lebih terperinci

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: a. Abstraksi (abstraction) b. Pembungkusan (encapsulation) c. Pewarisan (inheritence)

Lebih terperinci

PENYELESAIAN MASALAH PENGIRIMAN PAKET KILAT UNTUK JENIS NEXT-DAY SERVICE DENGAN MENGGUNAKAN TEKNIK PEMBANGKITAN KOLOM. Oleh: WULAN ANGGRAENI G

PENYELESAIAN MASALAH PENGIRIMAN PAKET KILAT UNTUK JENIS NEXT-DAY SERVICE DENGAN MENGGUNAKAN TEKNIK PEMBANGKITAN KOLOM. Oleh: WULAN ANGGRAENI G PENYELESAIAN MASALAH PENGIRIMAN PAKET KILAT UNTUK JENIS NEXT-DAY SERVICE DENGAN MENGGUNAKAN TEKNIK PEMBANGKITAN KOLOM Oleh: WULAN ANGGRAENI G54101038 PROGRAM STUDI MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU

Lebih terperinci

Composition dan Inheritance

Composition dan Inheritance Composition dan Inheritance Viska Mutiawani, M.Sc 1 Viska Mutiawani - Informatika FMIPA Konsep Penting Composition Inheritance (pewarisan) Superclass (super kelas) Subclass (sub kelas) Method overriding

Lebih terperinci

(INHERITANCE) Nurochman

(INHERITANCE) Nurochman PEWARISAN (INHERITANCE) Nurochman Inheritance Adding functionality to existing classes Re use of code Refining a general solution to a specific Rapid development of solutions What is Inheritance? Subclass

Lebih terperinci

Nama : Rendi Setiawan Nim :

Nama : Rendi Setiawan Nim : Nama : Rendi Setiawan Nim : 41813120188 Desain Test Case Definisi Test Case Test case merupakan suatu tes yang dilakukan berdasarkan pada suatu inisialisasi, masukan, kondisi ataupun hasil yang telah ditentukan

Lebih terperinci

Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall

Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall Lutfi Fanani Program Teknologi Informasi dan Ilmu Komputer Universitas Brawijaya Malang,

Lebih terperinci

PRAKTIKUM OBJECT ORIENTED PROGRAMING

PRAKTIKUM OBJECT ORIENTED PROGRAMING PRAKTIKUM OBJECT ORIENTED PROGRAMING Class, Object dan Elemen dalam Class Pada Java Disusun oleh: KELOMPOK 1 STMIK STIKOM INDONESIA (STIKI)-BALI 2016 KATA PENGANTAR Puji syukur penulis panjatkan kehadiran

Lebih terperinci

Pengantar Analisis dan Desain Berbasis Obyek. Object Oriented Analysis and Design

Pengantar Analisis dan Desain Berbasis Obyek. Object Oriented Analysis and Design Pengantar Analisis dan Desain Berbasis Obyek Object Oriented Analysis and Design TUJUAN OOAD Definisi Analisis dan Desain Berorientasi Obyek. Konsep dasar OOAD SOFTWARE UML Tool : Rational Rose Bahasa

Lebih terperinci

Teknik Pengujian (2) Whitebox Testing

Teknik Pengujian (2) Whitebox Testing Teknik Pengujian (2) Whitebox Testing Pengujian Perangkat Lunak Mina Ismu Rahayu 2011 Pengujian Ujicoba merupakan proses eksekusi program dengan tujuan untuk menemukan kesalahan. Sebuah ujicoba kasus yang

Lebih terperinci

BAB II TINJAUAN PUSTAKA. definisi ringkas dan formal dari sistem Informasi.

BAB II TINJAUAN PUSTAKA. definisi ringkas dan formal dari sistem Informasi. BAB II TINJAUAN PUSTAKA 2.1. Konsep Sistem Informasi Sebelum membahas konsep sistem Informasi, berikut ini akan diberikan definisi ringkas dan formal dari sistem Informasi. 2.1.1. Definisi sistem informasi

Lebih terperinci

Pengantar Analisis dan Desain Berbasis Obyek (Object Oriented Analysis and Design)

Pengantar Analisis dan Desain Berbasis Obyek (Object Oriented Analysis and Design) Pengantar Analisis dan Desain Berbasis Obyek (Object Oriented Analysis and Design) Tujuan OOAD Definisi Analisis dan Desain Berorientasi Obyek. Konsep dasar OOAD Software UML Tool : Rational Rose Bahasa

Lebih terperinci

MODUL 3 Inheritance. Tujuan: Mahasiswa dapat mengenal dan memahami konsep inheritance dan cara menerapkan inheritance dengan constructor

MODUL 3 Inheritance. Tujuan: Mahasiswa dapat mengenal dan memahami konsep inheritance dan cara menerapkan inheritance dengan constructor MODUL 3 Inheritance Tujuan: Mahasiswa dapat mengenal dan memahami konsep inheritance dan cara menerapkan inheritance dengan constructor Materi: Pengantar Inheritance Manfaat Penggunaan Inherintance Keyword

Lebih terperinci

BAB III METODOLOGI PENELITIAN

BAB III METODOLOGI PENELITIAN BAB III METODOLOGI PENELITIAN Salah satu tujuan dari pengukuran kualitas desain adalah untuk melihat apakah ada aspek desain yang masih dapat diperbaiki untuk meningkatkan kualitas desain. Setelah dilakukannya

Lebih terperinci

PENGUKURAN KEMIRIPAN CITRA BERBASIS WARNA, BENTUK, DAN TEKSTUR MENGGUNAKAN BAYESIAN NETWORK RIZKI PEBUARDI

PENGUKURAN KEMIRIPAN CITRA BERBASIS WARNA, BENTUK, DAN TEKSTUR MENGGUNAKAN BAYESIAN NETWORK RIZKI PEBUARDI PENGUKURAN KEMIRIPAN CITRA BERBASIS WARNA, BENTUK, DAN TEKSTUR MENGGUNAKAN BAYESIAN NETWORK RIZKI PEBUARDI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

Lebih terperinci

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM 1 INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM INHERITANCE Pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang direferensi sebagai induk

Lebih terperinci

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK Farah Zakiyah Rahmanti, M.T 2015 Overview Definisi Teknologi Java Konsep Pemrograman Procedural dan OOP Struktur Java, Identifier, Kata Kunci, Tipe Data, Operator,

Lebih terperinci

PEMBUATAN APLIKASI POINT OF SALES MULTIPLATFORM USER INTERFACE MENGGUNAKAN ZEND FRAMEWORK

PEMBUATAN APLIKASI POINT OF SALES MULTIPLATFORM USER INTERFACE MENGGUNAKAN ZEND FRAMEWORK PEMBUATAN APLIKASI POINT OF SALES MULTIPLATFORM USER INTERFACE MENGGUNAKAN ZEND FRAMEWORK TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah

Lebih terperinci

EVALUASI PELAKSANAAN KURIKULUM SISTEM MAYOR-MINOR PROGRAM PENDIDIKAN SARJANA (S1) INSTITUT PERTANIAN BOGOR DICKY PRATAMA YENDRA

EVALUASI PELAKSANAAN KURIKULUM SISTEM MAYOR-MINOR PROGRAM PENDIDIKAN SARJANA (S1) INSTITUT PERTANIAN BOGOR DICKY PRATAMA YENDRA EVALUASI PELAKSANAAN KURIKULUM SISTEM MAYOR-MINOR PROGRAM PENDIDIKAN SARJANA (S1) INSTITUT PERTANIAN BOGOR DICKY PRATAMA YENDRA DEPARTEMEN STATISTIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT

Lebih terperinci

IDENTIFIKASI JENIS SHOREA (MERANTI) MENGGUNAKAN ALGORITME VOTING FEATURE INTERVALS 5 BERDASARKAN KARAKTERISTIK MORFOLOGI DAUN EVI SUSANTI

IDENTIFIKASI JENIS SHOREA (MERANTI) MENGGUNAKAN ALGORITME VOTING FEATURE INTERVALS 5 BERDASARKAN KARAKTERISTIK MORFOLOGI DAUN EVI SUSANTI IDENTIFIKASI JENIS SHOREA (MERANTI) MENGGUNAKAN ALGORITME VOTING FEATURE INTERVALS 5 BERDASARKAN KARAKTERISTIK MORFOLOGI DAUN EVI SUSANTI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

Konsep Pemrograman Berorientasi Obyek

Konsep Pemrograman Berorientasi Obyek Konsep Pemrograman Berorientasi Obyek Tujuan Pengenalan bahasa Java Memberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural.

Lebih terperinci

REKAYASA PERANGKAT LUNAK. Ramadhan Rakhmat Sani, M.Kom

REKAYASA PERANGKAT LUNAK. Ramadhan Rakhmat Sani, M.Kom REKAYASA PERANGKAT LUNAK Ramadhan Rakhmat Sani, M.Kom ramadhan_rs@dsn.dinus.ac.id 085640989018 RENCANA KEGIATAN PERKULIAHAN SEMESTER W Pokok Bahasan 1 Pengenalan Teknologi Informasi 2 Konsep Sistem Komputer

Lebih terperinci

Materi. Definisi Test Case White Box Testing Blackbox Testing Teknik Testing yang Lain Penggunaan Metode Tes

Materi. Definisi Test Case White Box Testing Blackbox Testing Teknik Testing yang Lain Penggunaan Metode Tes Disain Test Case Materi Definisi Test Case White Box Testing Blackbox Testing Teknik Testing yang Lain Penggunaan Metode Tes Jenis Testing Dengan berdasarkan pada fungsi yang dispesifikasikan dari produk,

Lebih terperinci

Pemrograman Berorientasi Objek Danu Wira Pangestu

Pemrograman Berorientasi Objek Danu Wira Pangestu Pemrograman Berorientasi Objek Danu Wira Pangestu About Me Danu Wira Pangestu S.Kom - Univ.PGRI Yogyakarta Prodi T.Informatika (2006) Email : danu.wira.pangestu@gmail.com Blog : bangdanu.wordpress.com

Lebih terperinci

Citra Noviyasari, S.Si, MT SI - UNIKOM

Citra Noviyasari, S.Si, MT SI - UNIKOM Citra Noviyasari, S.Si, MT SI - UNIKOM Diagram class sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS) RENCANA PEMBELAJARAN SEMESTER (RPS) CSG3H3 RPL TEKNIK BERORIENTASI OBJEK Disusun oleh: Eko Darwiyanto PROGRAM STUDI S1 TEKNIK INFORMATIKA FAKULTAS INFORMATIKA TELKOM UNIVERSITY LEMBAR PENGESAHAN Rencana

Lebih terperinci

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques) TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques) Ujicoba software merupakan elemen yang kritis dari SQA dan merepresentasikan tinjauan ulang yang menyeluruh terhadap spesifikasi,desain dan

Lebih terperinci

INSTITUT TEKNOLOGI BANDUNG

INSTITUT TEKNOLOGI BANDUNG PENGEMBANGAN PEMODELAN 3D PRODUK BERBASIS FEATURE BERDASARKAN ALGORITMA FEATURE PENGURANGAN TUGAS SARJANA Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik Oleh Faizal Wahyu Prabowo

Lebih terperinci

Silabus dan Satuan Acara Perkuliahan

Silabus dan Satuan Acara Perkuliahan & Implementasi Sistem Halaman : 1 dari 8 1. Pendahuluan a. Terminologi b. Jenis-jenis Kesalahan c. Penjaminan Kualitas VS Pengujian d. Technique e. Stages f. Strategies 2. White Box a. Basis Path b. Control

Lebih terperinci

PENERAPAN ALGORITMA C4.5 UNTUK MEMBANTU CALON KONSUMEN DALAM MENENTUKAN PROGRAM ASURANSI YANG SESUAI (STUDI KASUS : PT. ASURANSI BINTANG Tbk.

PENERAPAN ALGORITMA C4.5 UNTUK MEMBANTU CALON KONSUMEN DALAM MENENTUKAN PROGRAM ASURANSI YANG SESUAI (STUDI KASUS : PT. ASURANSI BINTANG Tbk. PENERAPAN ALGORITMA C4.5 UNTUK MEMBANTU CALON KONSUMEN DALAM MENENTUKAN PROGRAM ASURANSI YANG SESUAI (STUDI KASUS : PT. ASURANSI BINTANG Tbk.) TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana

Lebih terperinci

STRUKTUR DENGAN ARRAY DAN FUNCTION

STRUKTUR DENGAN ARRAY DAN FUNCTION STRUKTUR Struktur digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. DEKLARASI STRUKTUR STRUKTUR

Lebih terperinci

USUL PENELITIAN PENGEMBANGAN IPTEKS

USUL PENELITIAN PENGEMBANGAN IPTEKS P2I USUL PENELITIAN PENGEMBANGAN IPTEKS PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK OTOMASI KANTOR DI FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG DENGAN MENERAPKAN METODE BPM(BUSINESS PROCESS MANAGEMENT)

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK DISUSUN OLEH: Tim Asisten Praktikum Jurusan

Lebih terperinci

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing TUGAS MAKALAH Testing dan Implementasi Sistem White Box Testing Anggota Kelompok II : Komang Dodik Gunawan 13101172 Daniel Eka Saputra 13101882 Teguh Wirawan 13101058 DW GD Surya Damanik 13101461 MD Adhi

Lebih terperinci

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK PRODI SISTEM INFORMASI Inheritance (Pewarisan) Konsep inheritance pada pemrograman berorientasi objek sama dengan konsep pewarisan sifat pada manusia.

Lebih terperinci

UNIVERSITAS MERCU BUANA FAKULTAS : ILMU KOMPUTER PROGRAM STUDI : SISTEM INFORMASI

UNIVERSITAS MERCU BUANA FAKULTAS : ILMU KOMPUTER PROGRAM STUDI : SISTEM INFORMASI UNIVERSITAS MERCU BUANA FAKULTAS : ILMU KOMPUTER PROGRAM STUDI : SISTEM INFORMASI No. Dokumen 02-3.04.1.02 Distribusi Tgl. Efektif RENCANA PEMBELAJARAN SEMESTER Mata Kuliah Kode Rumpun MK Bobot (SKS) Semester

Lebih terperinci

SISTEM MONITORING PENGANTARAN OBAT PADA PT. XYZ DENGAN PEMROGRAMAN JAVA ANDROID DAN WEB

SISTEM MONITORING PENGANTARAN OBAT PADA PT. XYZ DENGAN PEMROGRAMAN JAVA ANDROID DAN WEB SISTEM MONITORING PENGANTARAN OBAT PADA PT. XYZ DENGAN PEMROGRAMAN JAVA ANDROID DAN WEB Rivan Junizar 41513120145 FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA 2015 SISTEM MONITORING PENGANTARAN OBAT

Lebih terperinci

Pewarisan atau Inheritance

Pewarisan atau Inheritance Pewarisan atau Inheritance Oleh : Agus Priyanto, M.Kom Tujuan Kuliah Mengerti tentang pewarisan Mengerti gagasan tentang kelas dasar dan kelas turunan Mampu membuat kelas baru dari kelas yang sudah ada

Lebih terperinci

SKRIPSI PENYUSUNAN DRAF MANUAL PRE-REQUISITE HACCP DAN DRAF MANUAL HALAL UNTUK PKIS SEKAR TANJUNG. Oleh : RIZKI RAMADHANI F

SKRIPSI PENYUSUNAN DRAF MANUAL PRE-REQUISITE HACCP DAN DRAF MANUAL HALAL UNTUK PKIS SEKAR TANJUNG. Oleh : RIZKI RAMADHANI F SKRIPSI PENYUSUNAN DRAF MANUAL PRE-REQUISITE HACCP DAN DRAF MANUAL HALAL UNTUK PKIS SEKAR TANJUNG Oleh : RIZKI RAMADHANI F24102048 2006 FAKULTAS TEKNOLOGI PERTANIAN INSTITUT PERTANIAN BOGOR BOGOR 2 PENYUSUNAN

Lebih terperinci

KONSEP Pemrograman Berorientasi Objek KARMILASARI

KONSEP Pemrograman Berorientasi Objek KARMILASARI KONSEP Pemrograman Berorientasi Objek KARMILASARI Capaian Pembelajaran 2 Memahami perbedaan pemrograman prosedural dan pemrograman berorientasi objek (object oriented programming /OOP) Memahami elemen

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 PENELITIAN TERDAHULU Hasil kerja Nurmaya yang didasarkan pada penelitian oleh [ABR96], melakukan modifikasi terhadap Metrics Calculator Christariny dengan menambahkan Graphical

Lebih terperinci

Praktikum 3 Konsep Class, Attribute dan Method

Praktikum 3 Konsep Class, Attribute dan Method Praktikum 3 Konsep Class, Attribute dan Method Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pemprograman bahasa Java Konsep Object Oriented Programming (OOP) Deklarasi pemprograman OOP dengan

Lebih terperinci

RANCANGAN PEMBELAJARAN

RANCANGAN PEMBELAJARAN RANCANGAN PEMBELAJARAN MATA KULIAH : ANALISA DAN PERANCANGAN SISTEM SEMESTER: 4 KODE : KI091318 SKS: 4 JURUSAN : TEKNIK INFORMATIKA FTIF ITS PROGRAM : S1 DOSEN: KOMPETENSI UTAMA / TIU : untuk mengidentifikasi

Lebih terperinci