BAB 2 LANDASAN TEORI
2.1
Pemeliharaan (Maintenance)
2.1.1
Pengertian Pemeliharaan Definisi pemeliharaan (maintenance) menurut Patrick (2001, p407) adalah suatu
kegiatan untuk memelihara dan menjaga fasilitas yang ada serta memperbaiki, melakukan penyesuaian atau penggantian yang diperlukan untuk mendapatkan suatu kondisi operasi produksi agar sesuai dengan perencanaan yang ada. Pemeliharaan atau perawatan (maintenance) adalah suatu kombinasi dari berbagai tindakan yang dilakukan untuk menjaga suatu barang atau memperbaikinya, sampai pada suatu kondisi yang bisa diterima1. Pengertian lain dari pemeliharaan adalah kegiatan menjaga fasilitas-fasilitas dan peralatan pabrik serta mengadakan perbaikan atau penyesuaian yang diperlukan agar tercapai suatu keadaan operasi produksi yang memuaskan dan sesuai dengan yang direncanakan2. Pengertian maintenance secara umum yaitu serangkaian aktivitas (baik bersifat teknis dan administratif) yang diperlukan untuk mempertahankan dan menjaga suatu produk atau system tetap berada dalam kondisi aman, ekonomis, efisien dan pengoperasian optimal. Aktivitas perawatan sangat diperlukan karena : 9 Setiap peralatan mempunyai umur penggunaan (useful life). Suatu saat dapat mengalami kegagalan/kerusakan.
1 2
Corder, hal 1 Assauri, hal 88
46 9 Kita tidak dapat mengetahui dengan tepat kapan peralatan akan mengalami kerusakan (failure) 9 Manusia selalu berusaha untuk meningkatkan umur penggunaan dengan melakukan perawatan (maintenance) Yang menjadi musuh utama bagian perawatan adalah breakdown, deterioration dan konsekuensi dari semua tipe kejadian yang tidak terencana. Perawatan (maintenance) berperan penting dalam kegiatan produksi dari suatu perusahaan yang menyangkut kelancaran atau kemacetan produksi, volume produksi, serta agar produk dapat diproduksi dan diterima konsumen tepat pada waktunya (tidak terlambat) dan menjaga agar tidak terdapat sumber daya kerja (mesin dan karyawan) yang menganggur karena kerusakan (downtime) pada mesin sewaktu proses produksi sehingga dapat meminimalkan biaya kehilangan produksi atau bila mungkin, biaya tersebut dapat dihilangkan. Dengan demikian, pemeliharaan memiliki fungsi yang sama pentingnya dengan fungsi-fungsi lain dari suatu perusahaan. Karena pentingnya aktivitas pemeliharaan maka diperlukan perencanaan yang matang untuk menjalankannya, sehingga terhentinya proses produksi akibat mesin rusak dapat dikurangi seminimum mungkin. Pemeliharaan yang baik akan mengakibatkan kinerja perusahaan meningkat, kebutuhan konsumen dapat terpenuhi tepat waktu, serta nilai investasi yang dialokasikan untuk peralatan dan mesin dapat diminimasi. Selain itu pemeliharaan yang baik juga dapat meningkatkan kualitas produk yang dihasilkan dan mengurangi waste yang berarti mengurangi ongkos produksi. Sedangkan manajemen pemeliharaan (maintenance management) adalah pengorganisasian perawatan untuk memberikan pandangan umum mengenai perawatan
47 fasilitas produksi3. Manajemen pemeliharaan adalah pengelolaan peralatan dan mesinmesin siap pakai (ready to use). Dalam usaha menjaga agar setiap penggunaan peralatan dan mesin secara kontinu dapat berproduksi, diperlukan kegiatan pemeliharaan sebagai berikut4 : ♦
Secara kontinu melakukan pengecekan (inspection).
♦
Secara kontinu melakukan pelumasan (lubricating).
♦
Secara kontinu melakukan perbaikan (reparation).
♦
Melakukan penggantian spare part, disertai penyesuaian reliabilitas.
Pelaksanaan dari perawatan ini memerlukan beberapa hal penting, yaitu diantaranya : 1.
Orang yang berwenang atau bertanggung jawab terhadap pelaksanaan.
2.
Perencanaan dan penjadwalan perawatan.
3.
Pengawasan untuk dapat menjaga agar tujuan perawatan dapat terpenuhi.
4.
Diperlukan pula penyesuaian bila terjadi suatu penyimpangan, perubahan terhadap kinerja produksi.
Peranan bagian maintenance ini tidak hanya menjaga agar kegiatan dilantai produksi pabrik dapat berjalan dengan baik ataupun juga agar produk dapat diproduksi dan diserahkan kepada pelanggan tepat pada waktunya, akan tetapi untuk menjaga agar pabrik dapat bekerja secara efisien dengan menekan atau mengurangi kemacetankemacetan menjadi seminimum mungkin.
3 4
Supandi, hal 15 Tampubolon, 2004, p250
48 Jadi dengan adanya kegiatan maintenance ini, maka peralatan pabrik dapat dipergunakan untuk produksi sesuai dengan rencana, dan diharapkan dapat menurunkan tingkat kerusakan selama peralatan tersebut dipergunakan untuk proses produksi.
2.1.2
Tujuan Pemeliharaan Secara umum, masalah pemeliharaan sering terabaikan sehingga kegiatan
pemeliharaan tidak teratur, yang pada akhirnya apabila mesin dan peralatan mengalami kerusakan dapat mempengaruhi kapasitas produksi. Dengan demikian, kegiatan pemeliharaan harus dilakukan secara tetap dan konsisten. Kegiatan pemeliharaan peralatan dan fasilitas mesin tentu memiliki tujuan. Tujuan utama dari fungsi perawatan adalah5 : 1. Memperpanjang usia kegunaan asset. 2. Menjamin ketersediaan peralatan dan kesiapan operasional perlengkapan serta peralatan yang dipasang untuk kegiatan produksi. 3. Membantu mengurangi pemakaian atau penyimpangan diluar batas serta menjaga modal yang ditanamkan selama waktu yang ditentukan. 4. Menjaga kualitas pada tingkat yang tepat untuk memenuhi apa yang dibutuhkan oleh produk itu sendiri dan kegiatan produksi yang tidak terganggu. 5. Menekan tingkat biaya perawatan serendah mungkin dengan melaksanakan kegiatan perawatan secara efektif dan efisien. 6. Memenuhi kebutuhan produk dan rencana produksi tepat waktu. 7. Meningkatkan keterampilan para supervisor dan operator melalui kegiatan pelatihan yang diadakan. 5
Corder, hal 3 & Assauri, hal 89
49 8. Menghindari kegiatan maintenance yang dapat membahayakan keselamatan para pekerja.
Tujuan utama dilakukannya pemeliharaan menurut Patrick (2001, p407) yaitu: 1. Mempertahankan kemampuan alat atau fasilitas produksi guna memenuhi kebutuhan yang sesuai dengan target serta rencana produksi. 2. Mengurangi pemakaian dan penyimpangan diluar batas dan menjaga modal yang diinvestasikan dalam perusahaan selama jangka waktu yang ditentukan sesuai dengan kebijaksanaan perusahaan. 3. Menjaga agar kualitas produk berada pada tingkat yang diharapkan guna memenuhi apa yang dibutuhkan produk itu sendiri dan menjaga agar kegiatan produksi tidak mengalami gangguan. 4. Memperhatikan dan menghindari kegiatan – kegiatan operasi mesin serta peralatan yang dapat membahayakan keselamatan kerja. 5. Mencapai tingkat biaya serendah mungkin, dengan melaksanakan kegiatan maintenance secara efektif dan efisien untuk keseluruhannya. 6. Mengadakan suatu kerjasama yang erat dengan fungsi – fungsi utama lainnya dari suatu perusahaan, dalam rangka untuk mencapai tujuan utama perusahaan yaitu tingkat keuntungan atau return of investment yang sebaik mungkin dan total biaya serendah mungkin.
50 2.1.3
Jenis Pemeliharaan Kegiatan pemeliharaan (maintenance) dapat dibedakan dalam 3 jenis yaitu
corrective maintenance (breakdown maintenance/perbaikan), preventive maintenance (pencegahan), dan total productive maintenance (perawatan keseluruhan).
2.1.3.1 Corrective Maintenance (CM) Menurut pendapat Patrick (2001, p401) corrective maintenance (CM) merupakan kegiatan perawatan yang dilakukan setelah mesin atau fasilitas produksi mengalami kerusakan atau gangguan sehingga tidak dapat berfungsi dengan baik. Kegiatan CM ini sering disebut dengan kegiatan reparasi atau perbaikan. CM biasanya tidak dapat kita rencanakan dahulu karena kita hanya bisa memperbaikinya setelah terjadi kerusakan, bahkan terkadang perbaikan tersebut bisa tertunda dan terlambat. Perbaikan yang dilakukan karena adanya kerusakan yang dapat terjadi akibat tidak dilakukannya preventive maintenance maupun telah diterapkannya preventive maintenance, akan tetapi sampai pada suatu waktu tertentu fasilitas produksi atau peralatan yang ada tetap rusak. Dalam hal ini, kegiatan corrective maintenance bersifat perbaikan yaitu menunggu sampai kerusakan terjadi terlebih dahulu, kemudian baru diperbaiki agar fasilitas produksi maupun peralatan yang ada dapat dipergunakan kembali dalam proses produksi sehingga operasi dalam proses produksi dapat berjalan lancar dan kembali normal. Apabila perusahaan hanya mengambil tindakan untuk melakukan corrective maintenance saja, maka terdapat faktor ketidakpastian akan lancarnya fasilitas dalam proses produksi maupun peralatannya sehingga akan menimbulkan efek-efek yang dapat
51 menghambat kegiatan produksi jikalau terjadi kerusakan maupun gangguan yang tibatiba terjadi pada fasilitas produksi yang dipakai perusahaan. CM juga biasa yang disebut sebagai mean active corrective maintenance time (MACMT), dimana itu hanya meliputi active time (meliputi dokumentasi) yang melibatkan designer. Tindakan corrective maintenance (CM) ini kelihatannya lebih murah biayanya dibandingkan tindakan preventive maintenance (PM). Tentu saja pernyataan ini benar selama gangguan kerusakan belum terjadi pada fasilitas maupun peralatan ketika proses produksi berlangsung Æ tidak melakukan proses produksi. Namun, saat kerusakan terjadi selama proses produksi berlangsung, maka biaya perawatan akan mengalami peningkatan akibat terhentinya proses produksi. Selain itu, biaya-biaya perawatan dan pemeliharaan akan membengkak pada saat terjadinya kerusakan tersebut. Dengan demikian, dapat disimpulkan bahwa tindakan CM lebih memusatkan permasalahan setelah permasalahan itu terjadi, bukan menganalisa masalah untuk mencegahnya agar tidak terjadi. Oleh karena tindakan CM itu jauh lebih mahal, maka sedapat mungkin harus dicegah dengan mengintensifkan kegiatan preventive maintenance. Diperlukan juga adanya pertimbangan bahwa dalam jangka panjang untuk mesin-mesin yang mahal dan termasuk dalam ”critical unit” dari proses produksi, PM akan jauh lebih menguntungkan dibandingkan CM.
52 Menurut pendapat Patrick (2001, p401) Corrective Maintenance dapat dihitung dengan MTTR (mean time to repair) dimana time to repair ini meliputi beberapa aktivitas yang biasanya dibagi ke dalam 3 grup, yaitu:
Preparation time Waktu yang dibutuhkan untuk persiapan seperti mencari orang untuk pekerjaan, travel, peralatan sudah dipenuhi atau belum dan tes perlengkapan.
Active Maintenance time Waktu yang diperlukan untuk melakukan pekerjaan tersebut. Meliputi waktu untuk mempelajari repair charts sebelum actual repair dimulai dan waktu yang dihabiskan dalam menverifikasi bahwa kerusakan tersebut sudah diperbaiki. Kemungkinan juga meliputi waktu untuk post-repair documentation ketika hal tersebut harus diselesaikan sebelum perlengkapan tersedia. Contohnya Aircraft.
Delay Time (Logistic time) Waktu yang dibutuhkan untuk menunggu komponen dalam mesin untuk diperbaiki Perawatan korektif merupakan studi dalam menentukan tindakan yang di
perlukan untuk mengatasi kerusakan-kerusakan atau kemacetan yang terjadi berulang kali. Tindakan perawatan ini bertujuan untuk mencegah terjadinya kerusakan yang sama. Prosedur ini ditetapkan pada peralatan atau mesin yang sewaktu waktu dapat terjadi kerusakan.
53 Pada umumnya usaha untuk mengatasi kerusakan itu dapat di lakukan dengan cara sebagai berikut: 1. Mencatat data trouble/kerusakan, melakukan kemudian meng-improve peralatan sehingga trouble/kerusakan yang sama tidak terjadi lagi. 2. Improve peralatan sehingga perawatan menjadi lebih mudah. 3. Merubah proses. 4. Merancang kembali komponen yang gagal. 5. Mengganti dengan komponen yang baru. 6. Meningkatkan prosedur perawatan preventif. 7. Meninjau kembali dan merubah sistem pengoperasian. Dengan demikian, didapatkan kesimpulan bahwa pemeliharaan korektif memusatkan permasalahan setelah permasalahan itu terjadi, bukan menganalisa masalah untuk mencegahnya agar tidak terjadi. Breakdown maintenance menurut Tampubolon (2004, p251) adalah kegiatan pemeliharaan yang dilakukan setelah terjadinya kerusakan atau terjadi kelainan pada fasilitas dan peralatan sehingga tidak dapat berfungsi dengan baik. Contohnya mesin dan peralatan yang digunakan dalam proses konversi, selama masih ada garansi (after sale service), tidak terlalu menekankan pada pemeliharaan preventif, cukup pada keadaan apabila mesin dan peralatan sudah mengalami kerusakan sehingga perlu pembongkaran secara total (breakdown). Pada dasarnya aktivitas ini tidak tepat untuk disebut aktivitas perawatan. Yang termasuk dalam katagori ini adalah semua aktivitas yang tak terencana (unscheduled) yang disebabkan oleh kerusakan (breakdown) peralatan.
54 2.1.3.2 Preventive Maintenance (PM) Preventive Maintenance6 adalah pemeliharaan yang dilakukan secara terjadwal, umumnya secara periodik, dimana sejumlah tugas pemeliharaan seperti inspeksi, perbaikan, penggantian, pembersihan, pelumasan dan penyesuaian dilaksanakan. Menurut Adam (1992, p583) pengertian preventive maintenance adalah kegiatan perawatan dan pencegahan yang dilakukan untuk mencegah timbulnya kerusakan mesin. Mesin akan mengalami nilai depresiasi (penurunan) apabila dipakai terus menerus. Oleh karena itu, dibutuhkannya inspeksi dan servis secara rutin maupun periodik. Contohnya apakah mesin sudah dilubrikasi atau belum, apakah ada komponen/part yang rusak sehingga harus digantikan komponen lainnya. Dengan adanya preventive maintenance, diharapkan semua mesin yang ada akan terjamin kelancaran proses kerjanya sehingga tidak ada yang terhambat dalam proses produksinya dan bisa selalu dalam keadaan optimal. Menurut pendapat Patrick (2001, 401) preventive maintenance adalah kegiatan pemeliharaan dan perawatan yang dilakukan untuk mencegah timbulnya kerusakankerusakan yang tidak terduga dan menemukan kondisi atau keadaan yang dapat menyebabkan fasilitas produksi mengalami kerusakan pada waktu proses produksi. Jadi, semua fasilitas produksi yang mendapatkan perawatan (preventive maintenance) akan terjamin kontinuitas kerjanya dan selalu diusahakan dalam kondisi atau keadaan yang siap dipergunakan untuk setiap operasi atau proses produksi pada setiap saat. Selain itu, menurut Patrick (2001, p403) efektivitas dan ekonomi dari preventive maintenance dapat ditingkatkan dengan mengambil account dari distribusi time to failure (TTF) pada komponen yang akan dirawat dan failure rate dari sistem yang ada. 6
Ebeling, 1997, p189
55
Kegiatan pemeliharaan atau perawaatan untuk mencegah terjadinya kerusakan yang tak terduga yang menyebabkan fasilitas produksi mengalami kerusakan pada waktu digunakan dalam proses produksi. Pemeliharaan preventif sangat penting untuk mendukung fasilitas produksi yang termasuk dalam golongan “critical unit”. Kategori komponen kritis (Tampubolon, 2004, p251), yaitu : 1. Kerusakan fasilitas atau peralatan akan membahayakan keselamatan atau kesehatan para pekerja. 2. Kerusakan fasilitas akan mempengaruhi kualitas dari produk yang dihasilkan. 3. Kerusakan fasilitas tersebut akan menyebabkan kemacetan seluruh proses produksi. 4. Modal yang ditanam (investasi) dalam fasilitas tersebut cukup mahal harganya. Manfaat preventive maintenance (Patton, 1995, p12), yaitu : 1. Memperkecil overhaul ( turun mesin ). 2. Mengurangi kemungkinan reparasi berskala besar. 3. Mengurangi biaya kerusakan / pergantian mesin. 4. Memperkecil kemungkinan produk-produk yang rusak. 5. Meminimalkan persediaan suku cadang. 6. Memperkecil hilangnya gaji – gaji tambahan akibat penurunan mesin ( overhaul ). 7. Menurunkan harga satuan dari produk pabrik.
56 Dalam perusahaan, preventive maintenance dapat dibedakan atas 2 macam berdasarkan kegiatan/aktivitasnya (Tampubolon, 2004, p251), yaitu: 1. Routine maintenance. Kegiatan perawatan yang dilakukan secara rutin. Contohnya, yaitu pembersihan fasilitas atau peralatan, pelumasan (lubrication) atau pengecekan oli, pengecekan isi bahan bakarnya dan apakah termasuk dalam pemanasan (warming up) dari mesinmesin selama beberapa menit sebelum dipakai beroperasi sepanjang hari. 2. Periodic maintenance. Kegiatan perawatan yang dilakukan secara periodic atau dalam jangka waktu tertentu. Program ini mencangkup : ♦ Peninjauan pada seluruh catatan, termasuk kartu kartu order inspeksi atau kartu historical peralatan. ♦ Peninjauan biaya perbaikan. ♦ Peninjauan “ kerugian produksi “ karena adanya pekerjaan perawatan. ♦ Peninjauan untuk jaminan order pekerja perbaikan dan pengaturan kembali mengenai prioritas kerja yang di utamakan. ♦ Peninjauan terhadap alternatif apa yang didahulukan atau dijadwalkan terlebih dahulu. Preventive maintenance merupakan tindakan perawatan pencegahan dalam rangkaian aktivitas pemeliharaan dengan tujuan : o Memperpanjang umur produktif asset dengan mendeteksi bahwa sebuah asset memiliki titik kritis penggunaan (critical wear point) dan mungkin akan mengalami kerusakan.
57 o Melakukan inspeksi secara efektif dan menjaga supaya kondisi peralatan selalu dalam keadaan sehat. o Mengeliminir kerusakan peralatan dan hasil produksi yang cacat serta meningkatkan ketahanan mesin dan kemampuan proses o Mengurangi waktu yang terbuang pada kerusakan peralatan dengan membuat aktivitas pemeliharan peralatan o Menjaga biaya produksi seminimum mungkin Predictive Maintenance yaitu teknik perawatan dimana dilakukan inspeksi terhadap asset peralatan untuk memprediksikan terhadap kerusakan/kegagalan yang akan terjadi. Beberapa contoh teknik perawatan prediktif : vibration monitoring, thermography, tribology, process parameters, visual inspection, ultrasonic monitoring, other non-destructive techniques.
Diagram 2.1 Relasi Konsep Maintenance Keuntungan dari perawatan yang direncanakan (scheduled maintenance) : Ì Mengurangi down-time, meningkatkan up-time Ì Mengurangi breakdown maintenance Ì Meningkatkan efisiensi peralatan Ì Memperpanjang umur hidup peralatan (umur produktif)
58 Ì Mengurangi jumlah standby-equipment Ì Mengurangi persediaan/stock spare parts Ì Penjadwalan pekerja yang lebih efektif Ì Distribusi pekerja (labor) yang lebih seimbang Ì Mengurangi overtime ¾ Standarisasi prosedur operasi, biaya dan waktu untuk menyelesaikan pekerjaan ¾ Meningkatkan produktivitas ¾ Lebih efisien dalam cost perawatan ¾ Meningkatkan kualitas produk, dsb. Preventive maintenance juga meliputi : 1. Melakukan pencatatan dan pengelolaan data tentang perawatan, kegagalan, dan penggunaan peralatan (dasar analisis peralatan) 2. Semua jenis kegiatan predictive. Termasuk inspeksi, melakukan pengukuran, inspeksi part untuk kualitas, analisis pelumas, temperature, getaran, kebisingan, pencatatan semua data dari kegiatan predictive untuk trend analysis 3. Perbaikan minor (30 menit) Æ dorongan yang besar kearah produktivitas 4. Writing up setiap kondisi yang memerlukan perhatian khusus Æ yang berpotensial kearah kegagalan 5. Penjadwalan dan pelaksanaan perbaikan yang dinstruksikan 6. Menggunakan frekuensi dan severity kegagalan untuk meningkatkan PM task list 7. Training dan upgrading kemampuan system PM Sistem preventive maintenance dirancang untuk 2 tujuan : Mendeteksi lokasi critical “potential failure” Menganulir “potential failure”
59 2.1.3.3 Pemeliharaan Produktif secara Total (Total Productive Maintenance) TPM sering didefinisikan sebagai “productive maintenance” yaitu pemeliharaan produktif yang dilaksanakan oleh semua karyawan melalui kegiatan-kegiatan kelompok kecil, yang terdiri atas : ¾ Total efektif Memaksimalkan efektifitas peralatan secara menyeluruh ¾ Total sistem Membuat sistem dari mulai peralatan di design sampai dengan peralatan tersebut tidak dipergunakan lagi ¾ Total keterlibatan Melibatkan semua bagian (minimal : bagian engineering, produksi dan maintenance) ¾ Total partisipasi Mulai dari operator yang paling rendah sampai ke Top Management ¾ Total usaha Setiap karyawan berusaha secara sungguh-sungguh untuk mempromosikan Productive Maintenance (PM) Sasaran TPM adalah : Zero ABCD (Accident , Breakdown, Crisis, Defect)
60 Secara teoritis, total biaya pemeliharaan dapat digambarkan bahwa biaya pemeliharaan korektif (breakdown maintenance) akan berbanding terbalik dengan pemeliharaan preventif (preventive maintenance), seperti diuraikan kurva gambar 2.1. Pemeliharaaan produktivitas secara total (TPM) dapat dilakukan dengan jalan berikut (Tampubolon, 2004, p253) : 1. Mendesain mesin atau peralatan yang memiliki reliabilitas tinggi, mudah dioperasikan dan mudah untuk dipelihara. 2. Analisa biaya investasi untuk mesin atau peralatan dengan pelayanan (service) dari pemasok dan biaya-biaya pemeliharaanya. 3. Mengembangkan perencanaan pemeliharaan preventif yang dapat dimanfaatkan secara praktis oleh operator, bagian pemeliharaan, dan teknisi. 4. Melatih pekerja untuk mengoperasikan mesin atau peralatan, termasuk cara memeliharanya.
Gambar 2.1 Kurva Total Biaya Pemeliharaan
61
Di dalam melaksanakan kegiatan pemeliharaan terdapat 2 masalah utama yang dihadapi perusahaan (Tampubolon, 2004, p253), yaitu: a. Persoalan teknis. Persoalan teknis menyangkut usaha untuk menghilangkan kemungkinan timbulnya kemacetan karena kondisi fasilitas atau peralatan konversi yang tidak baik. Dalam kondisi teknis yang perlu diperhatikan, antara lain : ♦ Tindakan-tindakan apa yang diperlukan untuk memelihara atau merawat peralatan yang ada dan untuk memperbaiki mesin dan peralatan yang rusak. ♦ Alat-alat atau komponen apa yang dibutuhkan serta harus disediakan agar tindakan-tindakan pada bagian di atas dapat dilakukan. b. Persoalan ekonomis. Persoalan ekonomis menyangkut bagaimana usaha yang harus dilakukan supaya kegiatan pemeliharaan mesin dan peralatan yang dibutuhkan secara teknis dapat efisien
dengan
memperhatikan
besarnya
biaya
yang
terjadi
yang
dapat
menguntungkan perusahaan. Persoalan ekonomis perlu dianalisis terhadap perbandingan di antara masing-masing tindakan alternatif yang diambil. Adapun biaya yang terdapat dalam kegiatan pemeliharaan, antara lain biaya-biaya pengecekan, penyetelan (set-up), biaya telah diuraikan seperti gambar 2.1.
62 Perbandingan biaya-biaya itu perlu dilakukan dengan tujuan sebagai berikut : 1. Apakah
sebaiknya
dilakukan
preventive
maintenance
atau
corrective
maintenance, dimana biaya-biaya yang perlu diperhatikan adalah : a. Jumlah biaya-biaya perbaikan yang perlu akibat kerusakan yang terjadi karena adanya preventive maintenance, dengan jumlah biaya pemeliharaan dan perbaikan akibat kerusakan yang terjadi, walaupun sudah diadakan preventive maintenance dalam jangka waktu tertentu. b. Jumlah biaya-biaya pemeliharaan dan perbaikan yang akan dilakukan terhadap suatu peralatan disertai dengan harganya. c. Jumlah biaya-biaya pemeliharaan dan perbaikan yang dibutuhkan oleh peralatan dengan jumlah kerugian yang dihadapi bila peralatan rusak dalam operasi konversi. 2. Apakah sebaiknya peralatan yang rusak diperbaiki di dalam perusahaan atau di luar perusahaan, dengan membandingkan jumlah biaya-biaya yang akan dikeluarkan. 3. Apakah sebaiknya peralatan yang rusak diperbaiki atau diganti. Dalam hal ini biaya-biaya yang perlu diperbandingkan antara lain : a. Jumlah biaya perbaikan dengan harga pasar atau nilai dari peralatan tersebut. b. Jumah biaya perbaikan dengan harga peralatan yang sama di pasar.
63 2.2
Konsep-Konsep Pemeliharaan
2.2.1
Konsep Hubungan Waktu Dalam Maintenance
Diagram 2.2 Maintenance Time Relationship Keterangan istilah waktu dalam maintenance : 1. Up Time Waktu (period of time) dimana mesin/peralatan ada dalam kondisi baik sehingga dapat melakukan fungsi seperti seharusnya (melakukan fungsi dalam kondisi yang ditetapkan dan dengan maintenance yang ditetapkan pula) 2. Down Time Waktu (period of time) dimana mesin/peralatan tidak berada dalam kondisi untuk dapat melakukan fungsinya. Downtime dihitung mulai saat mesin tidak berfungsi sampai mesin kembali dalam keadaan dapat berfungsi seperti seharusnya, setelah dilakukan perbaikan. 3. Operating Time Waktu (period of time) dimana mesin melakukan fungsi seperti seharusnya OPERATING TIME < UP TIME
64 4. Standby Time Waktu (period of time) dimana mesin berada dalam kondisi untuk dapat berfungsi seperti seharusnya, tetapi mesin tidak dioperasikan Up time = Operating Time + Standby Time 5. Maintenance Time Waktu dimana kegiatan maintenance dilakukan termasuk delay-delay yang terjadi selama pelaksanaan kegiatan 6. Active Maintenance Time Bagian dari maintenance time, dimana kegiatan/pekerjaan maintenance benar-benar dilakukan. 7. Logistic Time Waktu dalam downtime, dimana kegiatan maintenance belum dapat dimulai karena alasan logistik. 8. Administratif Time Waktu dalam downtime, dimana kegiatan maintenance belum dapat dimulai karena alasan administrative 9. Corrective Maintenance Time Waktu dalam active maintenance time, dimana dilakukan kegiatan corrective maintenance 10. Preventive Maintenance Time Waktu dalam active maintenance time, dimana dilakukan kegiatan preventive maintenance. Active Maintenance Time = CM Time + PM Time
65 2.2.2
Konsep Breakdown (Downtime) Breakdown dapat didefinisikan sebagai berhentinya mesin pada saat produksi
yang melibatkan engineering dalam perbaikan, biasanya mengganti sparepart yang rusak, dan lamanya waktu lebih dari 5 menit (berdasarkan definisi OPI-Overall Performance Index). Downtime mesin merupakan waktu menganggur atau lama waktu dimana unit tidak dapat lagi menjalankan fungsinya sesuai dengan yang diharapkan. Hal ini terjadi apabila suatu unit mengalami masalah seperti kerusakan mesin yang dapat mengganggu kinerja mesin secara keseluruhan termasuk kualitas produk yang dihasilkan atau kecepatan produksinya sehingga membutuhkan waktu tertentu untuk mengembalikan fungsi unit tersebut pada kondisi semula. Unsur-unsur dalam downtime:
Maintenance delay Waktu yang dibutuhkan untuk menunggu ketersediaan sumber daya maintenance untuk melakukan proses perbaikan. Sumber daya maintenance dapat berupa alat bantu, teknisi, alat tes, komponen pengganti dan lain-lain.
Supply delay Waktu yang dibutuhkan untuk personel maintenance untuk memperoleh komponen yang dibutuhkan dalam proses perbaikan. Terdiri dari lead time administrasi, lead time produksi, dan waktu transportasi komponen pada lokasi perbaikan.
Access Time Waktu untuk mendapatkan akses ke komponen yang mengalami kerusakan.
66
Diagnosis Time Waktu yang dibutuhkan untuk menentukan penyebab kerusakan dan langkah perbaikan yang harus ditempuh untuk memperbaiki kerusakan.
Repair or replacement unit Waktu aktual yang dibutuhkan untuk menyelesaikan proses pemulihan setelah permasalahan dapat diidentifikasikan dan akses ke komponen yang rusak dapat dicapai.
Verification and alignment Waktu untuk memastikan bahwa fungsi daripada suatu unit telah kembali pada kondisi operasi semula.
W a k tu Produksi
W a k tu Produksi
W a k tu Produksi
W a k tu Produksi
..
Operasi
Berhenti
Breakdown #1
Breakdown #2
Breakdown #3
W a k tu Breakdown
W a k tu Breakdown
W a k tu Breakdown
Grafik 2.1 Hubungan Waktu Breakdown Terhadap Waktu Produksi
Waktu
67 Frekuensi
Ciri pola Minor st o p p ag es
Ciri pola breakdown
30’’
30’
Lamanya berhenti
Daerah gangguan
Grafik 2.2 Pola Frekuensi Breakdown Vs Minor Stoppages
Gambar 2.2 Bathtub Curve of Breakdown Phase Kerusakan yang terjadi pada suatu sistem peralatan, komponen membutuhkan perawatan yang berbeda-beda bergantung pada masing-masing pola karakteristik kerusakan yang terjadi. Kurva kerusakan diatas menggambarkan pola kerusakan dari fase siklus awal (start-up) hingga mencapai siklus breakdownnya dengan pola yang
68 berbentuk seperti kubah bak mandi (bathtub curve). Kurva ini juga disebut critical wear curves. Kurva ini merupakan kombinasi antara infant mortality (kerusakan dini) dan ending mortality curves (kerusakan akhir). Probabilitas kerusakan dimulai dengan fase kerusakan awal yang biasanya disebabkan oleh faktor proses start-up akibat penyesuaian, set-up mesin ataupun faktor-faktor yang dapat menyebabkan mesin harus melalui kondisi ketidaknormalan/down sebelum beroperasi secara optimal, kemudian fase/level kedua pola laju kerusakan (wear-point) mengalami kondisi konstan dimana λ (t) = 0, dalam arti sistem peralatan berada dalam kondisi pengoperasian normal, stabil dalam kondisi umur optimalnya, fase inilah yang diharapkan untuk selalu dapat terealisasi dalam proses produksi, hingga pada suatu waktu kondisi peralatan/sistem harus sampai kepada suatu titik kondisi ”wear-out” akibat menurunnya tingkat kehandalan mesin (fase critical wear point) sehingga kurva laju kerusakan kembali mengalami peningkatan. Kurva pola kerusakan inilah yang paling umum digunakan untuk menggambarkan pola/ fase kerusakan didalam berbagai konteks maintenance. Breakdown pada mesin dan peralatan produksi biasanya disebabkan oleh faktorfaktor sebagai berikut : •
Debu, kotoran, bahan dasar
•
Gesekan, umur mesin, kelonggaran, kebocoran
•
Karat, perubahan bentuk, cacat, retak
•
Suhu, getaran, dan factor-faktor kimiawi lainnnya
•
Kelemahan rancangan
•
Kurang perawatan pencegahan
•
Pengatasan sementara sebelumnya tidak sempurna
69 •
Kesalahan operasional
•
Kualitas sparepart yang rendah
•
dan faktor-faktor penyebab kerusakan yang lainnya Dalam hal ini, penghilangan konsep lama penanganan breakdown mutlak
dilakukan, yaitu “ini adalah hal yang biasa, terjadi breakdown pada mesin!”. Ini tidak sesuai dengan visi dan misi utama pilar maintenance sebagai bagian dari Total Productive Maintenance (TPM), yaitu Breakdown Reduction to achieve “Zero Losses”. Dalam hal ini kita harus meneliti fakta penting yang terjadi selama ini di lapangan. yaitu bahwa sebagian besar dari breakdown yang terjadi adalah pengulangan dan disebabkan oleh hal-hal yang sederhana. Langkah-langkah pengurangan breakdown sebagai fungsi utama dari breakdown maintenance :
Menetapkan Rencana Perawatan yang Terbaik
Menyorot Penyebab Breakdown Sewaktu-waktu Menghilangkan Breakdown Berulang
Perbaikan ke Kondisi Awal dan Standart
Identifikasi Jenis-jenis Breakdown
Langkah 4
Langkah 3
Langkah 2
Langkah 1
Gambar 2.3 Langkah-langkah Pengurangan Breakdown
Langkah 5
70 Metodologi Pengurangan Breakdown dalam konsep Breakdown Maintenance : # Jumlah Breakdown
Metode Perawatan Optimis
Mengurangi Penyimpangan
Meniadakan Breakdown berulang (Langkah 1/ 2/ 3)
Menghilangkan penyebab kerusakan (Langkah 4/ 5 )
Meniadakan Breakdown Mendadak
Usaha pencapaian Zero breakdown (Pewngembangan)
Waktu
Gambar 2.4 Hubungan Jumlah Breakdown terhadap Waktu dalam Konsep Breakdown Reduction
2.2.3
Konsep Reliability (Kehandalan) Yang dimaksud dengan keandalan adalah :
1. Peluang sebuah komponen atau sistem akan dapat beroperasi sesuai fungsi yang diinginkan untuk suatu periode waktu tertentu ketika digunakan dibawah kondisi operasi yang telah ditetapkan. (Ebeling, 1997, p5) 2. Peluang dari sebuah unit yang dapat bekerja secara Normal ketika digunakan untuk kondisi tertentu setidaknya bekerja dalam suatu kondisi yang telah ditetapkan. (Dhillon and Reiche, 1995, p25)
71 Terdapat 4 elemen yang signifikan dengan konsep reliability, diantaranya yaitu: 1. Probability (peluang); Setiap item memiliki umur atau waktu yang berbeda antara satu dengan yang lainnya sehingga terdapat sekelompok item yang memiliki rata-rata hidup tertentu. Jadi, untuk mengidentifikasi distribusi frekuensi dari suatu item dapat dilakukan dengan cara melakukan estimasi waktu hidup dari item tersebut agar diketahui umur pemakaiannya sudah berapa lama. 2. Performance (kinerja); Kehandalan merupakan suatu karakteristik performansi sistem dimana suatu sistem yang andal harus dapat menunjukkan performansi yang memuaskan jika dioperasikan. 3. Time (Waktu); Reliability / kehandalan suatu sistem dinyatakan dalam suatu periode waktu karena waktu merupakan parameter yang penting untuk melakukan penilaian kemungkinan suksesnya suatu sistem. Peluang suatu item untuk digunakan selama setahun akan berbeda dengan peluang item untuk digunakan dalam sepuluh tahun. Biasanya faktor waktu berkaitan dengan kondisi tertentu, seperti jangka waktu mesin selesai diperbaiki sampai mesin rusak kembali (mean time to failue) dan jangka waktu mesin mulai rusak sampai mesin tersebut diperbaiki (mean time to repair). 4. Condition (Kondisi); Perlakuan yang diterima oleh suatu sistem dalam menjalankan fungsinya dalam arti bahwa dua buah sistem dengan tingkat mutu yang sama dapat memberikan tingkat kehandalan yang berbeda dalam kondisi operasionalnya. Misalnya kondisi temperatur, keadaan atmosfer dan tingkat kebisingan di mana sistem dioperasikan.
72
2.2.4
Konsep Availability (Ketersediaan) Availability adalah probabilitas komponen atau sistem dapat beroperasi sesuai
dengan fungsinya pada kondisi operasi normalnya apabila tindakan perawatan pencegahan dan pemeriksaan dilakukan. Availability total meliputi penggantian pencegahan dan pemeriksaan dalam arti availability merupakan proporsi waktu teoritis yang tersedia untuk komponen dalam system dapat beroperasi dengan baik.
2.2.5
Konsep Maintainability (Keterawatan) Menurut Ebeling (1997, p6) definisi maintainability adalah probabilitas bahwa
suatu komponen yang rusak akan diperbaiki dalam jangka waktu (T), dimana pemeliharaan (maintainability) dilakukan sesuai dengan ketentuan yang ada. Menurut pendapat Patrick (2001, p401) kebanyakan sistem engineered itu dipelihara (dimaintain), sistem akan diperbaiki kalau terjadi kerusakan dan pemeliharaan akan dibentuk pada sistem tersebut untuk menjaga pengoperasian yang ada dalam sistem pemeliharaan ini (system maintainability). Menurut pendapat Patrick (2001, p402) maintainability mempengaruhi tingkat availability secara langsung. Waktunya diambil untuk memperbaiki kerusakan dan menyelesaikan preventive maintenance secara rutin untuk mengambil sistem dari available state yang ada. Jadi terdapat hubungan yang erat antara reliability dengan maintainability, dimana yang satu mempengaruhi yang lainnya dan kedua-duanya mempengaruhi availability dan cost yang ada. Berdasarkan pendapat dari Patrick (2001, p402) sistem dari maintainability itu cukup diatur dengan design dimana design tersebut menentukan features seperti
73 aksesbilitas, kemudahan dalam tes, diagnosis kerusakan juga kebutuhan untuk kalibrasi, lubrikasi dan tindakan preventive maintenance lainnya. Langkah-langkah pengambilan tindakan Maintenance (Arman, p366), yaitu : 1. What : berarti menentukan jenis komponen yang perlu diberlakukan pemeliharaan rutin. Tipe komponen digolongkan dalam jenis :
Komponen Kritis : komponen yang frekuensi kerusakannya sangat sering
Komponen Mayor : komponen yang frekuensi kerusakannya cukup tinggi.
Komponen Minor : komponen yang frekuensi kerusakannya jarang.
2. How : berarti menentukan bagaimana cara/tindakan pemeliharaan yang diambil :
Inspeksi rutin.
Preventive Maintenance.
Corrective Maintenance.
3. Who : berarti menentukan siapa yang akan bertanggung jawab atas kerusakan dan yang bertanggung jawab untuk mereparasinya. 4. Where : berarti menentukan tempat yang akan digunakan untuk mereparasinya. 5. Why : berarti apa penyebab kerusakan? 6. When : berarti kapan perawatan dilakukan?
74 2.3
Fungsi Distribusi Kerusakan (Failure Distribution) Distribusi kerusakan merupakan ekspresi matematis usia dan pola kerusakan
mesin
atau
peralatan.
Karakteristik
kerusakan
setiap
peralatan/mesin
akan
mempengaruhi kedekatan yang digunakan dalam menguji kesesuaian dan menghitung parameter fungsi distribusi kerusakan. Pada umumnya, karakteristik dari kerusakan setiap mesin tidaklah sama terutama jika dioperasikan dalam kondisi lingkungan yang berbeda. Suatu peralatan maupun mesin yang memiliki karakteristik dan dioperasikan dalam kondisi yang sama juga mungkin akan memberikan nilai selang waktu antar kerusakan yang berlainan. Suatu kondisi yang berhubungan dengan kebijakan perawatan seperti kebijakan perawatan pencegahan (preventive) memerlukan informasi tentang selang waktu suatu mesin akan mengalami kerusakan lagi. Biasanya saat terjadi perubahan kondisi mesin dari kondisi bagus menjadi rusak lagi, tidak dapat diketahui dengan pasti. Akan tetapi, dapat diketahui probabilitas terjadinya perubahan tersebut.
75 2.4
Fungsi Distribusi Kumulatif Fungsi distribusi kumulatif merupakan fungsi yang menggambarkan probabilitas
terjadinya kerusakan sebelum waktu t. Probabilitas suatu sistem atau peralatan mengalami kegagalan dalam beroperasi sebelum waktu t, yang merupakan fungsi dari waktu yang secara matematis dapat dinyatakan sebagai: t
F(t) =
∫ f (t )dt
untuk t ≥ 0
0
Keterangan F (t) : fungsi distribusi kumulatif f (t) : fungsi kepadatan peluang Jika t Æ ∞ maka F (t) = 1
2.5
Fungsi Kehandalan (Reliability) Berdasarkan pendapat dari Ebeling (1997, p23) kehandalan merupakan
probabilitas sistem atau komponen akan berfungsi hingga waktu tertentu (t). Pengertian fungsi kehandalan adalah probabilitas suatu sistem atau komponen akan beroperasi dengan baik tanpa mengalami kerusakan pada suatu periode waktu t dalam kondisi operasional yang telah ditetapkan. Probabilitas kerusakan dari suatu fungsi waktu dapat dinyatakan sebagai berikut: F (t)
= P (T ≤ t), dimana:
T
= variabel acak kontinu yang menyatakan saat terjadinya kegagalan
F (t) = probabilitas bahwa kerusakan terjadi sebelum waktu T = t (fungsi distribusi) Kehandalan dapat diuraikan sebagai berikut:
76 R (t) = P (T ≥ t ), dimana: R(t) merupakan distribusi kehandalan, probabilitas bahwa kegagalan tidak akan terjadi sebelum t, atau probabilitas bahwa waktu kerusakan lebih besar atau sama dengan t. 2.6
Laju Kerusakan (Failure Rate) Laju kerusakan (failure rate) dari suatu peralatan atau mesin pada waktu t adalah
probabilitas dimana peralatan mengalami kegagalan atau kerusakan dalam suatu interval waktu berikutnya yang diberikan dan diketahui kondisinya baik pada awal interval, sehingga dianggap sebagai suatu probabilitas kondisional. Notasinya adalah λ (t ) atau R (t). 2.6.1
Fungsi Laju Kerusakan Fungsi laju kerusakan diartikan sebagai limit dari laju kerusakan dengan Δt Æ 0,
dengan demikian fungsi laju kerusakan sesaat dan fungsi laju kerusakan dapat diartikan sebagai berikut:
− [R(t + Δt ) − R (t )] 1 ⋅ Δt + 0 R(t ) Δt
λ (t ) = lim λ (t ) =
− dR(t ) 1 ⋅ dt R(t )
λ (t ) =
f (t ) untuk t ≥ 0 R(t )
Keterangan
λ (t ) : fungsi laju kerusakan f (t) : fungsi kepadatan peluang R (t) : fungsi kehandalan
77
f (t)
ta
tx
ty
tz
Gambar 2.5 Fungsi Kepadatan Peluang Sumber : Patrick, D.T. O’Connor 2001. Practical Reliability Engineering. Fourth edition. John Wiley & Sons, LTD. 2.6.2
Pola Dasar Laju Kerusakan
Pola dasar dari fungsi laju kerusakan λ (t ) akan berubah sepanjang waktu dari produk tersebut mengalami usaha. Kurva laju kerusakan atau bathtub curve merupakan suatu kurva yang menunjukkan pola laju kerusakan sesaat yang umum bagi suatu produk. Pada umumnya laju kerusakan suatu sistem selalu berubah sesuai dengan bertambahnya waktu. Dari hasil percobaan, dapat diketahui bahwa laju kerusakan suatu produk akan mengikuti suatu pola dasar sebagai berikut:
78
Usefull life
Failure rate
Burn in
Wear out
Random Failure
Early Failure
Wear-out Failure
Running Period
Operation Period
Winding Up Period
Time
Gambar 2.6 Kurva Laju Kerusakan Menurut Patrick (2001, p11) setiap periode waktu mempunyai karakteristik tertentu yang ditentukan oleh laju kerusakannya, yaitu: a. Kerusakan awal (early failure) Periode ini disebut juga running period (wear in period) yang ditandai dengan penurunan laju kerusakan. Laju kerusakan yang terjadi pada tahap/fase ini disebut juga kerusakan awal. Bisa disebabkan oleh desain yang tidak tepat, kesalahan pemakaian, kesalahan pengepakan, pengendalian kualitas yang tidak memenuhi syarat, performansi material dan tenaga kerja di bawah standar, dan sebagainya. Apabila kerusakan ini terjadi dan diganti dengan produk atau komponen baru maka akan terjadi peningkatan reliability. b. Pengoperasian Normal (useful life region/chance failure) Periode ini ditandai dengan laju kerusakan yang tetap/konstan. Kerusakan yang terjadi pada fasa/tahap ini disebabkan oleh kesalahan manusia atau adanya penambahan beban secara tiba-tiba.
79 c. Periode wear out (wear out failure) Periode ini ditandai dengan peningkatan yang tajam pada laju kerusakan karena memburuknya kondisi peralatan/mesin yang ada. Sebaiknya dilakukan perawatan pencegahan apabila suatu alat telah memasuki fasa ini agar dapat mengurangi terjadinya kerusakan yang lebih fatal. Penyebabnya adalah peralatan atau mesin yang digunakan sudah melebihi umur produk, terjadinya keausan karena pemakaian dan korosi (ditandai dengan berkarat), dan perawatan yang tidak memadai. Berdasarkan gambar 2.6 di atas, periode kerusakan awal (early failure) dapat didekati dengan distribusi Weibull, sedangkan periode pengoperasian Normal (chance failure) dapat dipenuhi dengan distribusi Weibull dan distribusi Eksponential. Dan yang terakhir periode wear out failure dapat didekati dengan distribusi Weibull dan distribusi Lognormal . Perhitungan laju kerusakan berdasarkan distribusi menunjukkan tindakan alternative pada komponen pada mesin. Apabila identifikasi distribusi menunjukkan bahwa waktu kerusakan memiliki laju kerusakan yang konstan atau menurun (berdistribusi Weibul atau Eksponential dengan β ≤ 1 , maka kegiatan preventive maintenance tidak akan efektif untuk dilaksanakan karena tidak akan meningkatkan kehandalan mesin sehingga usulan tindakan perawatan pencegahan yang dilakukan hanya berupa pemeriksaan saja. Sedangkan bila interval kerusakan memiliki laju kerusakan meningkat (berdistribusi Normal, Lognormal
dan Weibull dengan β > 1 ),
maka tindakan preventive maintenance yang diusulkan bisa berupa pemeriksaan saja maupun penggantian komponen pada preventive maintenance.
80 2.7
Distribusi Kerusakan
Pendekatan yang digunakan untuk mencari kecocokan antara distribusi keandalan dengan data kerusakan; terbagi 2 cara, yaitu: 1. Menurunkan distribusi kehandalan secara empiris langsung dari data kerusakan. Dengan kata lain, kita menentukan model matematis untuk kehandalan, laju kerusakan, dan rata-rata waktu kerusakan secara langsung berdasarkan pada data kerusakan. Cara ini disebut juga dengan non-parametric method. Hal ini dikarenakan metode ini tidak membutuhkan spesifikasi dari distribusi secara teoritis tertentu dan selain itu juga tidak membutuhkan penaksiran dari parameter untuk distribusi. 2. Mengidentifikasi sebuah distribusi kehandalan secara teoritis, menaksir parameter, dan kemudian melakukan uji kesesuaian distribusi. Metode ini akan menggunakan distribusi teoritis dengan tingkat kecocokan tertinggi dan data kerusakan sebagai model distribusi reliabilitas yang digunakan untuk menghitung kehandalan, laju kerusakan, dan rata-rata waktu kerusakan. Berdasarkan kenyataan bahwa hampir semua data kerusakan umum memiliki kecocokan yang tinggi terhadap suatu distribusi tertentu, maka cara kedua umumnya lebih disukai daripada cara pertama. Cara kedua juga memiliki beberapa keunggulan (Ebeling,1997,p358), yaitu: 1. Model empiris tidak menyediakan informasi di luar range dari data sampel, sedangkan dalam model distribusi teoritis, ekstrapolasi melebihi range data sampel adalah mungkin untuk dilakukan. 2. Yang ingin diprediksi adalah data kerusakan secara keseluruhan, bukan hanya terbatas pada sampel saja karena sampel hanya merupakan sebagian kecil dari
81 populasi yang diambil secara acak, sehingga model kerusakan tidak cukup, bila hanya dibentuk berdasarkan data sampel saja. 3. Distribusi teoritis dapat juga digunakan untuk menggambarkan berbagai macam laju kerusakan. 4. Ukuran sampel yang kecil menyediakan informasi yang sedikit mengenai proses kegagalan. Akan tetapi, jika sampel konsisten terhadap distribusi teoritis, maka hasil prediksi yang lebih kuat dapat diperoleh. 5. Distribusi teoritis lebih mudah untuk digunakan dalam menganalisa proses kegagalan yang kompleks. Terdapat 4 macam distribusi yang digunakan agar dapat mengetahui pola data yang terbentuk, distribusi tersebut antara lain : distribusi Weibull, Exponential, Normal dan Lognormal . Distribusi kerusakan merupakan ekspresi matematis usia dan pola kerusakan mesin
atau
peralatan.
Karakteristik
kerusakan
setiap
peralatan/mesin
akan
mempengaruhi kedekatan yang digunakan dalam menguji kesesuaian dan menghitung parameter fungsi distribusi kerusakan. Pada umumnya, karakteristik dari kerusakan setiap mesin tidaklah sama terutama jika dioperasikan dalam kondisi lingkungan yang berbeda. Suatu peralatan maupun mesin yang memiliki karakteristik dan dioperasikan dalam kondisi yang sama juga mungkin akan memberikan nilai selang waktu antar kerusakan yang berlainan. Suatu kondisi yang berhubungan dengan kebijakan perawatan seperti kebijakan perawatan pencegahan (preventive) memerlukan informasi tentang selang waktu suatu mesin akan mengalami kerusakan lagi. Biasanya saat terjadi perubahan kondisi mesin dari kondisi bagus menjadi rusak lagi, tidak dapat diketahui dengan pasti. Akan tetapi, dapat diketahui probabilitas terjadinya perubahan tersebut.
82 2.7.1
Distribusi Weibull
Distribusi Weibull merupakan distribusi yang paling banyak digunakan untuk waktu kerusakan karena distribusi ini baik digunakan untuk laju kerusakan yang meningkat maupun laju kerusakan yang menurun. Terdapat dua parameter yang digunakan dalam distribusi ini yaitu θ yang disebut dengan parameter skala (scale parameter) dan β yang disebut dengan parameter bentuk (shape parameter). Fungsi reliability yang terdapat dalam distribusi Weibull yaitu (Ebeling, 1997, p59) : Reliability function : R(t ) = e
t ( )β
θ
Dimana θ > 0, β > 0, dan t > 0
Dalam distribusi Weibull yang menentukan tingkat kerusakan dari pola data yang terbentuk adalah parameter β. Nilai-nilai β yang menunjukkan laju kerusakan terdapat dalam tabel berikut (Ebeling, hal 63) : Tabel 2.1 Nilai Parameter Bentuk (β) Distribusi Weibull Nilai 0 < β <1 β=1
1<β<2 β=2 β>2 3≤β≤4
Laju Kerusakan Laju kerusakan menurun (decreasing failure rate) Æ DFR Laju kerusakan konstan (constant failure rate) Æ CFR Distribusi Exponential Laju kerusakan meningkat (increasing failure rate) Æ IFR Kurva berbentuk konkaf Laju kerusakan linier (linier failure rate) Æ LFR Distribusi Rayleigh Laju kerusakan meningkat (increasing failure rate) Æ IFR Kurva berbentuk konveks Laju kerusakan meningkat (increasing failure rate) Æ IFR Kurva berbentuk simetris Distribusi Normal
Jika parameter β mempengaruhi laju kerusakan maka parameter θ mempengaruhi nilai tengah dari pola data.
83 2.7.2
Distibusi Exponential
Distribusi Exponential digunakan untuk menghitung keandalan dari distribusi kerusakan yang memiliki laju kerusakan konstan. Distribusi ini mempunyai laju kerusakan yang tetap terhadap waktu, dengan kata lain probabilitas terjadinya kerusakan tidak tergantung pada umur alat. Distribusi ini merupakan distribusi yang paling mudah untuk dianalisa. Parameter yang digunakan dalam distribusi Exponential adalah λ, yang menunjukkan rata – rata kedatangan kerusakan yang terjadi. Fungsi reliability yang terdapat dalam distribusi eksponential yaitu (Ebeling, 1997, p41) : Reliability function : R (t ) = e − λt Dimana t > 0, λ > 0
2.7.3
Distribusi Normal
Distribusi Normal cocok untuk digunakan dalam memodelkan fenomena keausan (kelelahan) atau kondisi wear out dari suatu item. Sebenarnya distribusi ini bukanlah distribusi reliabilitas murni karena variable acaknya memiliki range antara minus tak hingga sampai plus tak hingga. Akan tetapi, karena hampir untuk semua nilai μ dan σ, peluang untuk variable acak yang memiliki nilai negative dapat diabaikan, maka distribusi Normal dapat digunakan sebagai pendekatan yang baik untuk proses kegagalan.
84 Parameter yang digunakan adalah μ (nilai tengah) dan σ (standar deviasi). Karena hubungannya dengan distribusi Lognormal , distribusi ini dapat juga digunakan untuk menganalisa probabilitas Lognormal . Fungsi reliability yang terdapat dalam distribusi Normal yaitu (Ebeling, 1997, p69) : ⎛t −μ ⎞ Reliability function : R(t ) = Φ⎜ ⎟ ⎝ σ ⎠ Dimana μ > 0, σ > 0 dan t > 0
2.7.4
Distribusi Lognormal
Distribusi Lognormal menggunakan dua parameter yaitu s yang merupakan parameter bentuk (shape parameter) dan tmed sebagai parameter lokasi (location parameter) yang merupakan nilai tengah dari suatu distribusi kerusakan. Distribusi ini dapat memiliki berbagai macam bentuk, sehingga sering dijumpai bahwa data yang sesuai dengan distribusi Weibull juga sesuai dengan distribusi Lognormal . Fungsi reliability yang terdapat pada distribusi Lognormal yaitu (Ebeling, 1997, p73) : ⎛1 t Reliability function : R (t ) = 1 − Φ⎜⎜ ln ⎝ s t med
Dimana s > 0, tmed > 0 dan t > 0
⎞ ⎟⎟ ⎠
85 2.8
Identifikasi Kerusakan Distribusi
Pengidentifikasian distribusi dapat dilakukan dalam 2 tahap, yaitu yaitu Index of Fit (r) dan Goodness of Fit Test. 2.8.1
Index of Fit (r)
Dengan metode Least Square Curve Fitting, dicari nilai index of fit (r) atau korelasi antara t; (atau ln t;) sebagai x dengan y yang merupakan fungsi dari distribusi teoritis terhadap x. Kemudian distribusi yang terpilih adalah distribusi yang nilai index of fit (r) terbesar distribusi dengan nilai r yang terbesar akan dipilih untuk diuji dengan menggunakan Goodness of Fit Test. Rumus umum yang terdapat dalam metode Least Square Curve Fitting adalah:
F (t i ) = Dimana :
i − 0.3 n + 0.4 i = data waktu ke-t n = jumlah data kerusakan
Index of Fit (r) =
Dimana :
n ⎛ n ⎞⎛ n ⎞ n∑ xi y i − ⎜ ∑ xi ⎟⎜ ∑ y i ⎟ i =1 ⎝ i =1 ⎠⎝ i =1 ⎠ 2 ⎡ n 2 ⎛ n ⎞2 ⎤⎡ n 2 ⎛ n ⎞ ⎤ − − n x x n y y ⎜ ⎟ ⎜ ⎟ ⎢ ∑ i ⎥ ∑ i ⎥⎢ ∑ i ⎝ ∑ i i =1 ⎝ i =1 ⎠ ⎥⎦ ⎢⎣ i =1 ⎠ ⎥⎦ ⎢⎣ i =1
n = jumlah kerusakan yang terjadi
86 Gradien :
♦
untuk Distribusi Weibull, Normal, Lognormal n ⎛ n ⎞⎛ n ⎞ n∑ xi y i − ⎜ ∑ xi ⎟⎜ ∑ y i ⎟ ⎝ i =1 ⎠⎝ i =1 ⎠ b = i =1 2 n ⎛ n ⎞ 2 n∑ xi − ⎜ ∑ xi ⎟ i =1 ⎝ i =1 ⎠
♦
untuk Distribusi Exponential n
b=
∑x y i
i =1 n
∑x i =1
Intersep :
i
2 i
a = y − bx
Dalam menentukan distribusi yang hendak digunakan untuk menghitung MTTF, MTTR dan Reliability, proses yang harus dilakukan adalah mencari nilai r untuk masing-masing distribusi sehingga didapatkan nilai r terbesar yang kemudian akan diuji lagi menurut hipotesa distribusinya (Ebeling, 1997, p367).
87 Di bawah ini adalah rumus-rumus mencari nilai r ,yaitu: 1.
Distribusi Weibull
rweibull =
n ⎛ n ⎞⎛ n ⎞ n∑ xi y i − ⎜ ∑ xi ⎟⎜ ∑ y i ⎟ i =1 ⎝ i =1 ⎠⎝ i =1 ⎠
⎡ n 2 ⎛ n ⎞2 ⎤⎡ n 2 ⎛ n ⎞2 ⎤ ⎢n∑ xi − ⎜ ∑ xi ⎟ ⎥ ⎢n∑ y i − ⎜ ∑ y i ⎟ ⎥ ⎝ i =1 ⎠ ⎥⎦ ⎢⎣ i =1 ⎝ i =1 ⎠ ⎥⎦ ⎢⎣ i =1
Keterangan:
xi = ln(t i ) ⎡ ⎛ ⎞⎤ 1 ⎟⎟⎥ y i = ln ⎢ln⎜⎜ − 1 F ( t ) i ⎝ ⎠⎦ ⎣ ti adalah data ke-i Parameter : β = b dan θ = e 2.
⎛a⎞ −⎜ ⎟ ⎝b⎠
Distribusi Exponential
reksponential =
n ⎛ n ⎞⎛ n ⎞ n∑ xi y i − ⎜ ∑ xi ⎟⎜ ∑ y i ⎟ i =1 ⎝ i =1 ⎠⎝ i =1 ⎠
⎡ n 2 ⎛ n ⎞2 ⎤⎡ n 2 ⎛ n ⎞2 ⎤ ⎢ n∑ xi − ⎜ ∑ xi ⎟ ⎥ ⎢n∑ y i − ⎜ ∑ y i ⎟ ⎥ ⎝ i =1 ⎠ ⎥⎦ ⎢⎣ i =1 ⎝ i =1 ⎠ ⎥⎦ ⎢⎣ i =1
Keterangan: xi = t i
⎡ ⎛ ⎞⎤ 1 ⎟⎟⎥ y i = ln ⎢ln⎜⎜ − 1 F ( t ) i ⎝ ⎠⎦ ⎣ ti adalah data ke-i Parameter : λ = b
88 3.
Distribusi Normal
rnormal =
n ⎛ n ⎞⎛ n ⎞ n∑ xi z i − ⎜ ∑ xi ⎟⎜ ∑ z i ⎟ i =1 ⎝ i =1 ⎠⎝ i =1 ⎠
⎡ n 2 ⎛ n ⎞2 ⎤⎡ n 2 ⎛ n ⎞2 ⎤ ⎢ n ∑ x i − ⎜ ∑ xi ⎟ ⎥ ⎢ n ∑ z i − ⎜ ∑ z i ⎟ ⎥ ⎝ i =1 ⎠ ⎥⎦ ⎢⎣ i =1 ⎝ i =1 ⎠ ⎥⎦ ⎢⎣ i =1
Keterangan: xi = t i zi = Φ-1[F(ti)]
Æ diperoleh dari tabel Φ(z) di lampiran
ti adalah data ke-i Parameter : σ =
4.
1 ⎛a⎞ dan μ = − ⎜ ⎟ b ⎝b⎠
Distribusi Lognormal
rlog normal =
n ⎛ n ⎞⎛ n ⎞ n∑ xi z i − ⎜ ∑ xi ⎟⎜ ∑ z i ⎟ i =1 ⎝ i =1 ⎠⎝ i =1 ⎠
⎡ n 2 ⎛ n ⎞2 ⎤⎡ n 2 ⎛ n ⎞2 ⎤ ⎢n∑ xi − ⎜ ∑ xi ⎟ ⎥ ⎢n∑ z i − ⎜ ∑ z i ⎟ ⎥ ⎝ i =1 ⎠ ⎦⎥ ⎣⎢ i =1 ⎝ i =1 ⎠ ⎦⎥ ⎣⎢ i =1
Keterangan:
xi = ln(t i ) zi = Φ-1[F(ti)]
Æ diperoleh dari tabel Φ(z) di lampiran
ti adalah data ke-i Parameter : s =
1 dan tmed = e-sa b
89 2.8.2
Uji Kebaikan Suai (Goodness of Fit)
Tahap selanjutnya setelah dilakukan perhitungan index of fit adalah pengujian
goodness of fit untuk nilai index of fit yang terbesar. Dilakukan dengan membandingkan antara hipotesis nol (Ho) dan hipotesis alternatif (H1). Ho menyatakan bahwa waktu kerusakan berasal dari distribusi tertentu dan H1 menyatakan bahwa waktu kerusakan tidak berasal dari distribusi tertentu. Pengujian ini merupakan perhitungan statistik yang didasarkan pada sampel waktu kerusakan. Statistik ini kemudian dibandingkan dengan nilai kritik yang diperoleh dari tabel. Secara umum, apabila pengujian statistik ini berada di luar nilai kritik, maka Ho diterima. Sebaliknya, maka H1 yang diterima. Ada 2 jenis goodness-of-fit test, yaitu: 1. Uji Umum (general tests) Digunakan untuk menguji beberapa distribusi. Terdiri dari: uji Chi-Square. 2. Uji Khusus (spesific tests) Digunakan hanya untuk menguji 1 jenis distribusi. Nilai kritis tergantung dari Derajat Kepercayaan ( α ) pengujian sampel yang ada. Terdiri dari: a. Mann's Test untuk Distribusi Weibull, b. Bartlett's Test untuk Distribusi Exponential, c. Kolmogorov-Smirnov Test untuk Distribusi Normal dan Lognormal . Ketika suatu distribusi data waktu kerusakan telah diasumsikan sebelumnya, dimana asumsi tersebut bisa ditentukan melalui bentuk umum atau bentuk dari plot data dalam suatu grafik (bisa dalam bentuk versi minitab). Validitas dari asumsi distribusi
90 dapat diketahui melalui suatu pengujian. Hasil pengujian tersebut mempunyai dua kemungkinan, yaitu asumsi bahwa distribusi bisa diterima atau ditolak.
2.8.2.1 Mann’s Test untuk Pengujian Distribusi Weibull
Menurut Ebeling, (1997, p400-401) hipotesa untuk melakukan uji ini adalah: H0 : Data kerusakan berdistribusi Weibull H1 : Data kerusakan tidak berdistribusi Weibull Uji statistiknya adalah : ⎡ (ln t i +1 − ln t i ) ⎤ ⎢ ⎥ Mi i = k 1+1 ⎣ ⎦ M = k1 ⎡ (ln t i +1 − ln t i ) ⎤ k2 ∑ ⎢ ⎥ Mi i =1 ⎣ ⎦ r −1
k1
∑
Mi = Zi+1 - Zi
⎡ i − 0.5 ⎞⎤ ⎛ Zi = ln ⎢− ln⎜1 − ⎟⎥ ⎝ n + 0.25 ⎠⎦ ⎣ Keterangan: ti
= data waktu kerusakan yang ke-i
Xi
= ln(ti)
r,n
= banyaknya data
Mi
= nilai pendekatan Mann untuk data ke-i
Mα,k1,k2
= nilai Mtabel untuk distribusi WeibullÆ lihat distribusi F
v1=k1
v2=k2
k1 =
r 2
k2 =
r −1 Æ bil. bulat terbesar yang lebih kecil dari (r/2) 2
Jika, nilai Mhitung < Mtabel (α,k1,k2) Æ maka H0 diterima.
91 2.8.2.2 Bartlett’s Test untuk Pengujian Distribusi Exponential
Menurut Ebeling, (1997, p399) Hipotesa untuk melakukan uji ini adalah : H0 : Data kerusakan berdistribusi Eksponential H1 : Data kerusakan tidak berdistribusi Eksponential Uji statistiknya adalah : ⎡ ⎛1⎞ r ⎤ ⎛1⎞ r 2r ⎢ln⎜ ⎟∑ t i − ⎜ ⎟∑ ln t i ⎥ ⎝ R ⎠ i =1 ⎝ R ⎠ i =1 ⎦ B= ⎣ (r + 1) 1+ 6r Keterangan: ti = data waktu kerusakan ke-i r = jumlah kerusakan B = nilai uji statistik untuk uji Bartlett’s Test Jika X 12−α 2
, r −1
< B < X α2 2
, r −1
Æ H0 diterima
92 2.8.2.3 Kolmogorov-Smirnov
untuk
Pengujian
Distribusi
Normal
maupun
Lognormal
Menurut Ebeling, (1997, p402-404) Hipotesa untuk melakukan uji ini adalah : H0 : Data kerusakan berdistribusi Normal atau Lognormal H1 : Data kerusakan tidak berdistribusi Normal dan Lognormal Uji statistiknya adalah : Dn = max{D1,D2} Dimana, ⎧⎪ ⎛ t − t ⎞ i − 1⎫⎪ ⎟− D1 = max ⎨Φ⎜⎜ i ⎬ 1≤i ≤ n n ⎪⎭ ⎪⎩ ⎝ s ⎟⎠
⎧⎪ i ⎛ t − t ⎞⎫⎪ ⎟⎬ D2 = max ⎨ − Φ⎜⎜ i ⎟⎪ 1≤i ≤ n n s ⎪⎩ ⎝ ⎠⎭ n
ln t t=∑ i i =1 n n
dan
s2 =
∑ (ln t i =1
i
− t)2
n −1
Keterangan: ti = data waktu kerusakan ke-i t = rata-rata data waktu kerusakan
s = standar deviasi n = banyaknya data kerusakan
Jika, Dn < Dkritis Æ terima H0. Nilai Dkritis diperoleh dari table critical value for Kolmogorov-Smirnov test for Normality Æ lihat lampiran
93 2.9
Nilai Tengah dari Distribusi Kerusakan (Mean Time To Failure)
Mean time to failure merupakan rata–rata selang waktu kerusakan dari suatu
distribusi kerusakan dimana rata-rata waktu ini merupakan waktu ekspektasi terjadinya kerusakan dari unit-unit identik yang beroperasi pada kondisi Normal. MTTF sering digunakan untuk menyatakan angka ekspektasi E(t) dan dapat dinyatakan dengan: ∞
E(t) = ∫ t. f (t )dt 0
Dan integral dari t.f(t) dt dapat dinyatakan dengan: tp
∫ tf (t )dt = − 0
⎡ (t − μ )2 ⎤ ⎡ σ ⎛ t − μ ⎞⎤ exp ⎢ ⎟⎥ ⎥ + ⎢μ × N ⎜ 2 2σ ⎝ σ ⎠⎦ ⎣ 2σ ⎦ ⎣
Perhitungan nilai MTTF untuk masing–masing distribusi, yaitu: a.
Distribusi Weibull (Ebeling, 1997, p59)
⎛ 1⎞ MTTF = θ .Γ⎜⎜1 + ⎟⎟ ⎝ β⎠ ⎛ 1⎞ Nilai Γ⎜⎜1 + ⎟⎟ Æ didapat dari ⎝ β⎠ Γ(x) = tabel fungsi Gamma (lihat di lampiran) b.
Distribusi Eksponential
MTTF = c.
1
λ
Distribusi Normal
MTTF = μ d.
Distribusi Lognormal
MTTF = t med .e
s2 2
94 2.10
Nilai Tengah dari Distribusi Perbaikan (Mean Time To Repair)
Dalam menghitung rata-rata atau penentuan nilai tengah dari fungsi probabilitas untuk waktu perbaikan, sangatlah perlu diperhatikan distribusi data perbaikannya. Penentuan untuk pengujian ini dilakukan dengan cara yang sama dengan yang sudah dijelaskan sebelumnya. Menurut Ebeling (1997, p192), MTTR diperoleh dengan rumus: ∞
∞
0
0
MTTR = ∫ th(t )dt = ∫ (1 − H (t ) )dt dimana, h(t) = fungsi kepadatan peluang untuk data waktu perbaikan (TTR) H(t) = fungsi distribusi kumulatif untuk data waktu perbaikan (TTR)
Perhitungan nilai MTTR untuk masing–masing distribusi, yaitu: a.
Distribusi Weibull
⎛ 1⎞ MTTR = θ .Γ⎜⎜1 + ⎟⎟ ⎝ β⎠ ⎛ 1⎞ Nilai Γ⎜⎜1 + ⎟⎟ Æ didapat dari ⎝ β⎠ Γ(x) = tabel fungsi Gamma (lihat di lampiran) b.
Distribusi Eksponential
MTTR = c.
1
λ
Distribusi Normal dan Lognormal
MTTR = t med .e
s2 2
95 2.11
Model Penentuan Interval Waktu Penggantian Pencegahan Optimal
Model penentuan penggantian pencegahan berdasarkan kriteria minimasi downtime digunakan dengan menentukan waktu terbaik dilakukannya penggantian sehingga total downtime per unit waktu dapat terminimasi. Penggantian dilakukan untuk menghindari terhentinya mesin akibat kerusakan komponen. Model ini digunakan untuk mengetahui interval waktu penggantian pencegahan yang optimal sehingga meminimasi total downtime. Ada 2 jenis model perawatan untuk penggantian yaitu sebagai berikut : 1.
Block Replacement Jika pada selang waktu tp tidak terdapat kerusakan, maka tindakan penggantian dilakukan pada suatu interval tp yang tetap. Jika sistem rusak sebelum jangka waktu tp, maka dilakukan penggantian kerusakan dan penggantian selanjutnya akan tetap dilakukan pada saat tp dengan mengabaikan penggantian perbaikan sebelumnya.
2.
Age Replacement Dalam metode ini tindakan penggantian dilakukan pada saat pengoperasiannya sudah mencapai umur yang ditetapkan yaitu sebesar tp. Jika pada selang waktu tp tidak terdapat kerusakan, maka dilakukan penggantian sebagai tindakan korektif. Perhitungan umur tindakan penggantian tp dimulai dari awal lagi dengan mengambil acuan dari waktu mulai bekerjanya system kembali setelah dilakukan tindakan perawatan korektif tersebut.
96 Model penentuan interval waktu penggantian pencegahan berdasarkan kriteria minimasi downtime yang digunakan adalah Age Replacement (Jardine, hal 94). Dalam penggunaan model ini perlu diketahui konstruksi modelnya yaitu : Tf = downtime yang dibutuhkan untuk melakukan penggantian kerusakan. Tp = downtime yang dibutuhkan untuk melakukan penggantian pencegahan. f(t) = fungsi kepadatan probabilitas waktu kerusakan. Pada model Age Replacement ini, tindakan penggantian pencegahan dilakukan pada saat pengoperasian telah mencapai umur yang telah ditetapkan yaitu tp. Hal ini dilakukan jika pada selang waktu tp tidak terjadi kerusakan. Apabila sebelum waktu tp, sistem ini tidak mengalami kerusakan maka dilakukan penggantian sebagai tindakan perawatan korektif. Penggantian selanjutnya akan dilakukan pada saat tp dengan mengambil waktu acuan dari waktu beroperasinya sistem setelah dilakukan tindakan perawatan korektif. Metode ini dapat digambarkan sebagai berikut : Penggantian Kerusakan
Penggantian Kerusakan
Penggantian pencegahan
Tf
tp
Tp
Tf
t
Gambar 2.7 Model Age Replacement
97 Total downtime per unit waktu untuk penggantian pencegahan pada saat tp didenotasikan dengan D (tp) yakni : (Jardine, hal 96) D(tp ) =
Total ekspektasi downtime per siklus ekspektasi panjang siklus
Total ekspektasi downtime per siklus = Tp.R(tp ) + (1 − R(tp ) ) Ekspektasi panjang siklus = (tp + Tp ).R(tp ) + (M (tp ) + Tf )( . 1 − R(tp ) ) Dengan demikian total downtime per unit waktu adalah :
D(tp ) =
T p .R (tp ) + (1 − R(tp )) (tp + T p ).R(tp ) + ( M (tp )) + T f ).(1 − R(tp ))
Dimana : tp
= interval waktu penggantian pencegahan
Tf
= downtime yang terjadi karena penggantian kerusakan.
Tp
= downtime yang terjadi karena penggantian pencegahan
F(t)
= fungsi distribusi interval antar kerusakan yang terjadi
R(tp) = probabilitas terjadinya penggantian pencegahan pada saat tp M(tp) = waktu rata-rata terjadinya kerusakan jika penggantian pencegahan dilakukan pada tp D(tp) = downtime persatuan waktu Sementara nilai tingkat ketersediaan (availability) dari interval penggantian pencegahan / D(tp)min dapat diketahui dengan rumus A(tp) = 1-D(tp)min.
98 2.12
Model Penentuan Interval Waktu Pemeriksaan Optimal
Selain pencegahan, juga perlu dilakukan tindakan pemeriksaan yang terjadi secara tiba-tiba. Konstruksi model interval waktu pemeriksaan optimal tersebut adalah : ( Jardine, hal 108) •
1/ μ = Waktu rata-rata perbaikan
•
1/ i = Waktu rata-rata pemeriksaan
Total downtime per unit waktu merupakan fungsi dari frekuensi pemeriksaan (n) dan didenotasikan dengan D(n) yakni : D(n) = downtime untuk perbaikan kerusakan + downtime untuk pemeriksaan D ( n) = Dimana :
λ ( n) n + μ i
λ (n) = laju kerusakan yang terjadi n
= jumlah pemeriksaan per satuan waktu
μ
= berbanding terbalik dengan 1/ μ
I
= berbanding terbalik dengan 1/ i
Diasumsikan laju kerusakan berbanding terbalik dengan jumlah pemeriksaan :
λ ( n) = k / n Dan karena : ( Jardine, hal 109 ) D ( n) =
λ ( n) n + μ i
Maka : λ (n) = −k / n 2 Dan : D ' (n) = −
λ ( n) 1 + n2μ i
99 Dimana :
1 MTTR = (1 / μ jam kerja/bln
Nilai μ berbanding terbalik dengan 1/ i : 1 waktu 1 x pemeriksaan = (1 / i ) jam kerja/bln
Nilai i berbanding terbalik dengan 1/i
Nilai K adalah nilai konstan dari jumlah kerusakan per satuan, sehingga jumlah pemeriksaan optimal dapat diperoleh : n=
k •i
μ
Interval waktu pemeriksaan ( ti) =
jam kerja/bln n
Sementara nilai tingkat ketersediaan ( avaibility ) jika dilakukan ”n” pemeriksaan bisa diketahui dengan rumus : A(n) = 1 – D(n).
100 2.13
Tingkat Ketersediaan (Availability) Total
Pada perhitungan Availability total komponen kritis bertujuan untuk mengetahui tingkat ketersediaan / kesiapan mesin untuk beroperasi kembali saat mesin tersebut telah diperbaiki. Tingkat ketersediaan berdasarkan interval waktu penggantian pencegahan dan tingkat ketersediaan berdasarkan interval pemeriksaan merupakan 2 kejadian yang saling bebas dan tidak saling mempengaruhi. Sehingga berdasarkan teori peluang dua kejadian bebas, nilai peluang kejadian saling bebas sama dengan hasil perkalian kedua availability tersebut. ( Walpole, hal 101)
2.14
Reliabilitas
dengan
Preventive
Maintenance
dan
Tanpa
Preventive
Maintenance
Peningkatan kehandalan dapat ditempuh dengan cara preventive maintenance. Dengan preventive maintenance, maka pengaruh wear-out mesin atau komponen dapat dikurangi dan menunjukkan hasil yang cukup signifikan terhadap umur sistem. Berdasarkan sistem yang ada peningkatan tingkat keandalan (Reliability) sering dicapai dengan program Preventive Maintenence. Preventive Maintenence ini dapat mengurangi kerusakan karena usia yang sudah tua atau sudah saatnya mengalami kerusakan (wearout) dan mempunyai pengaruh yang besar dalam umur ekonomis suatu peralatan dan sistem.
101 ⎛1 t R (T) = 1 - Φ ⎜⎜ ln ⎝ s t med
⎞ ⎟⎟ Ædegan Distribusi Lognormal ⎠
⎡ ⎛1 t R (T) = ⎢1 − Φ⎜⎜ ln ⎝ s t med ⎣ n
⎞⎤ ⎟⎟⎥ ⎠⎦
n
⎛ 1 t − nt ⎞ ⎟⎟ R (t - nT) = 1 - Φ⎜⎜ ln s t med ⎠ ⎝
Rm (t) = R(T) n ∗ R(t − nT ) Dimana : T
= Age Replacement
n
= Jumlah Penggantian ke n
R (t)
= Keandalan sebelum dilakukan perawatan ( saat ini )
R (T) n = Probabilitas keandalan hingga mulai dilakukannya perawatan
R(t - nT) = Probabilitas reliability untuk waktu t-nT dari tindakan preventive maintenence yang terakhir Rm (t) = Keandalan setelah dilakukan Preventive Maintnence
102 Menurut Ebeling (1997, p204), model kehandalan berikut mengasumsikan sistem kembali ke kondisi baru setelah menjalani preventive maintenance. Keandalan pada saat t dinyatakan sebagai berikut : Rm(t) = R(t)
untuk 0 ≤ t < T
Rm(t) = R(T).R(t-T)
untuk T ≤ t < 2T
Keterangan: T
= interval waktu penggantian pencegahan kerusakan
Rm(t) = kehandalan (reliability) dari sistem dengan preventive maintenance R(t)
= kehandalan (reliability) dari sistem tanpa preventive maintenance
R(T)
= peluang dari kehandalan hingga preventive maintenance pertama
R(t-T) = peluang dari kehandalan antara waktu t-T setelah sistem dikembalikan pada kondisi awal pada saat T.
Secara umum persamaannya adalah : Rm(t) = R(T)n.R(t-nT)
untuk nT ≤ t ≤ (n+1)T, dimana n = 1,2,3,…dst
Keterangan: n
= jumlah perawatan
Rm(t) = reliability dengan preventive maintenance R(T)n = probabilitas kehandalan hingga n selang waktu perawatan R(t-nT)= probabilitas kehandalan untuk waktu t-nT dari tindakan preventive maintenance yang terakhir.
103 Untuk laju kerusakan yang konstan : R(t) = e − λt maka, Rm(t) = (e − λt )n e − λt (t − nT ) Rm(t) = e − λnt ⋅e − λt ⋅e λnt Rm(t) = e − λt Rm(t) = R(t) Berdasarkan rumus di atas, ini membuktikan bahwa distribusi eksponential, yang memiliki laju kerusakan konstan, bila dilakukan preventive maintenance tidak akan menghasilkan dampak apapun. Dengan demikian, tidak ada peningkatan reliability seperti yang diharapkan, karena Rm(t) = R(t)
2.15
Perhitungan Biaya Failure dan Biaya Preventive
Secara teoritis, total biaya pemeliharaan dapat digambarkan bahwa biaya pemeliharaan korektif (breakdown maintenance) akan berbanding terbalik dengan pemeliharaan preventif (preventive maintenance), seperti diuraikan kurva gambar 2.8. Pemeliharaaan produktivitas secara total dapat dilakukan dengan jalan berikut (Tampubolon, 2004, p253) : 1. Mendesain mesin atau peralatan yang memiliki reliabilitas tinggi, mudah dioperasikan dan mudah untuk dipelihara. 2. Analisa biaya investasi untuk mesin atau peralatan dengan pelayanan (service) dari pemasok dan biaya-biaya pemeliharaanya. 3. Mengembangkan perencanaan pemeliharaan preventif yang dapat dimanfaatkan secara praktis oleh operator, bagian pemeliharaan, dan teknisi.
104 4. Melatih pekerja untuk mengoperasikan mesin atau peralatan, termasuk cara memeliharanya.
Gambar 2.8 Kurva Total Cost of Maintenance
Melaksanakan kegiatan pemeliharaan terdapat 2 persoalan utama yang dihadapi perusahaan (Tampubolon, 2004, p253), yaitu: a.
Persoalan teknis. Persoalan teknis menyangkut usaha untuk menghilangkan kemungkinan timbulnya kemacetan karena kondisi fasilitas atau peralatan konversi yang tidak baik. Dalam kondisi teknis yang perlu diperhatikan, antara lain : ♦ Tindakan-tindakan apa yang diperlukan untuk memelihara atau merawat
peralatan yang ada dan untuk memperbaiki mesin dan peralatan yang rusak. ♦ Alat-alat atau komponen apa yang dibutuhkan serta harus disediakan agar
tindakan-tindakan pada bagian di atas dapat dilakukan.
105 b.
Persoalan ekonomis. Persoalan ekonomis menyangkut bagaimana usaha yang harus dilakukan supaya kegiatan pemeliharaan mesin dan peralatan yang dibutuhkan secara teknis dapat efisien dengan memperhatikan besarnya biaya yang terjadi yang dapat menguntungkan perusahaan. Persoalan ekonomis perlu dianalisis terhadap perbandingan di antara masing-masing tindakan alternatif yang diambil. Adapun biaya yang terdapat dalam kegiatan pemeliharaan antara lain biaya-biaya pengecekan, penyetelan (set-up), biaya seperti yang telah diuraikan. Perbandingan biaya-biaya itu perlu dilakukan dengan tujuan sebagai berikut : 1. Apakah sebaiknya dilakukan preventive maintenance atau corrective maintenance, dimana biaya-biaya yang perlu diperhatikan adalah : a. Jumlah biaya-biaya perbaikan yang perlu akibat kerusakan yang terjadi karena
adanya
preventive
maintenance,
dengan
jumlah
biaya
pemeliharaan dan perbaikan akibat kerusakan yang terjadi, walaupun sudah diadakan preventive maintenance dalam jangka waktu tertentu. c. Jumlah biaya-biaya pemeliharaan dan perbaikan yang akan dilakukan terhadap suatu peralatan disertai dengan harganya. d. Jumlah biaya-biaya pemeliharaan dan perbaikan yang dibutuhkan oleh peralatan dengan jumlah kerugian yang dihadapi bila peralatan rusak dalam operasi konversi. 2. Apakah sebaiknya peralatan yang rusak diperbaiki di dalam perusahaan atau di luar perusahaan, dengan membandingkan jumlah biaya-biaya yang akan dikeluarkan.
106 3. Apakah sebaiknya peralatan yang rusak diperbaiki atau diganti. Dalam hal ini biaya-biaya yang perlu diperbandingkan antara lain : a. Jumlah biaya perbaikan dengan harga pasar atau nilai dari peralatan tersebut. b. Jumah biaya perbaikan dengan harga peralatan yang sama di pas Untuk menghitung total biaya saat failure dan preventive rumus yang digunakan adalah : ♦ Failure
Tc(tf ) =
Cf tf
Dimana :
Cf = biaya failure tf = nilai MTTF ♦ Preventive
Tc(tp) =
{C {t
p p
× R(t p )}+ {C f × (1 − R (t p ))} × R(t p )}+ {t f × (1 − R (t p ))}
Dimana :
Cp
= biaya preventive Æ biaya teknisi x Tp
Cf
= biaya failure Æ(biaya teknisi+biaya kehilangan produksi+biaya komponen)x Tf
tp
= interval waktu preventive maintenance
tf
= nilai MTTF
R
= nilai reliability saat R(tp) atau nilai reliability yang diharapkan
107 2.16
Ekspektasi Penghematan Biaya
Penghematan biaya (cost saving) terjadi apabila selisih antara total failure cost dengan total preventive cost bernilai positif. Persentasi penghematan biaya dirumuskan sebagai berikut: Penghematan biaya = total failure cost-total preventive cost x 100% total failure cost Apabila cost saving bernilai positif (+) dan persentasi penghematan biaya cukup besar (sebanding dengan nilai investasi sistem), maka preventive maintenance perlu untuk dilakukan. Sedangkan apabila cost saving bernilai negatif (-) dan persentasi penghematan biaya sangat kecil (tidak sebanding dengan nilai investasi sistem), maka
preventive maintenance tidak perlu untuk dilakukan.
108 2.17
Sistem Informasi
2.17.1 Pengertian Sistem
Definisi sistem menurut beberapa pakar sistem informasi diuraikan sebagai berikut :
Menurut Raymond McLeod, Jr (2001, p11): “A system is a group of elements that are integrated with the common purpose of
achieving an objective” yang berarti sistem adalah sekelompok elemen-elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan tertentu. Suatu organisasi seperti perusahaan atau suatu bidang fungsional sangat cocok dengan definisi ini.
Menurut Mathiassen et al. (2000, p9): Sistem adalah kumpulan dari komponen yang mengimplementasikan persyaratan
model, function dan interface.
Menurut Davis (1984, p67) : Sistem dapat terbagi menjadi dua yaitu abstrak maupun fisik. Sebuah sistem abstrak adalah suatu susunan teratur gagasan atau konsepsi yang saling tergantung sasaran. Sistem fisik lebih dari sekedar konseptual, karena dapat memperlihatkan kegiatan atau perilaku. Model umum sebuah sistem terdiri dari masukan, pengolah, dan keluaran (Davis, 1984, p68).
109 Organisasi terdiri dari sejumlah sumber daya seperti manusia, material, uang, mesin, dan informasi, dimana sumber daya tersebut bekerja menuju tercapainya suatu tujuan tertentu yang ditentukan oleh pemilik atau manajemennya. Model dasar dari sistem ialah sebagai berikut :
Input (masukan) Merupakan sekumpulan data baik dari luar organisasi maupun dari dalam organisasi yang akan digunakan dalam proses sistem informasi.
Process (proses) Merupakan kegiatan konversi, manipulasi, dan analisis dari data input menjadi lebih berarti bagi manusia.
Output (keluaran) Merupakan proses mendistribusikan informasi kepada orang atau kegiatan yang memerlukannya.
Feedback (umpan balik) Merupakan output yang dikembalikan kepada orang-orang dalam organisasi untuk membantu mengevaluasi input.
Subsistem Merupakan sebagian dari sistem yang mempunyai fungsi khusus. Masing-masing subsistem itu sendiri memiliki komponen input, proses, output, dan feedback.
110 Menurut pendapat McLeod (2001, p11-12), penjelasan hubungan elemen-elemen dalam sistem yaitu: sumber daya input diubah menjadi sumber daya output. Sumber daya mengalir dari elemen input, melalui elemen transformasi, ke elemen output. Suatu mekanisme pengendalian memantau proses transformasi untuk meyakinkan bahwa sistem tersebut memenuhi tujuannya. Mekanisme pengendalian ini dihubungkan pada arus sumber daya dengan memakai suatu lingkaran umpan balik (feedback loop) yang mendapatkan informasi dari output sistem dan menyediakan informasi bagi mekanisme pengendalian. Mekanisme pengendalian membandingkan sinyal-sinyal umpan balik ke sasaran dan mengarahkan sinyal pada elemen input jika sistem operasi memang perlu diubah. Jika elemen sistem menggambarkan suatu perusahaan manufaktur, sumber daya
input adalah bahan mentah, yang diubah menjadi barang jadi atau jasa melalui proses manufaktur. Mekanisme pengendaliannya adalah manajemen perusahaan, tujuannya adalah sasaran-sasaran yang ingin dicapai perusahaan, dan lingkaran umpan baliknya adalah arus informasi ke dan dari manajemen.
2.17.2 Pengertian Data dan Informasi
Data terdiri dari fakta-fakta dan angka-angka yang relatif tidak berarti bagi pemakai. Saat data diproses, ia dapat diubah menjadi informasi. Sedangkan pengertian informasi menurut McLeod (2001,p15) adalah data yang telah diproses, atau data yang memiliki arti dan siap dipakai. Informasi juga bisa diartikan sebagai data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Informasi sangat dibutuhkan karena informasi merupakan suatu dasar dalam mengambil keputusan dalam perusahaan. Pengolah informasi adalah salah satu elemen
111 kunci dalam sistem konseptual. Pengolah informasi dapat meliputi elemen-elemen komputer, elemen-elemen non-komputer, atau kombinasi keduanya. Kualitas dari informasi ditentukan oleh 4 hal, yaitu: 1.
Information quality Semakin akurat suatu informasi, maka semakin tinggi pula kualitas informasinya. Akurat berarti informasi tersebut harus bebas dari kesalahan–kesalahan dan tidak menyesatkan. Akurat berarti pula suatu informasi harus jelas mencerminkan maksud dari sumber ke penerimanya. Sehingga pembuat keputusan akan semakin terbantu dan yakin akan informasi yang diterimanya ketika harus membuat keputusan.
2.
Information timeless Informasi yang disediakan oleh sistem informasi dapat dipergunakan oleh orang yang tepat pada waktu yang tepat untuk mengambil keputusan, kebijakan, atau tindakan yang tepat.
3.
Information quantity Informasi yang diperoleh oleh pembuat keputusan harus sesuai dengan kebutuhan. Jika terlalu sedikit akan menyulitkan dalam membuat keputusan yang akurat dan tepat waktu. Jika terlalu banyak atau melebihi dari yang dibutuhkan atau dapat dipergunakan, pembuat keputusan seringkali mengabaikan informasi dari masalah yang serius.
4.
Information relevan Informasi yang didapat oleh pembuat keputusan harus mempunyai relevansi terhadap tanggung jawab dan tugas mereka.
112 2.17.3 Pengertian Sistem Informasi
Menurut McLeod (2001, p2) Informasi merupakan data yang telah diproses atau data yang memiliki arti. Sedangkan menurut O’Brien (2002, p13), informasi adalah data yang telah dikonversikan menjadi bentuk yang bermakna dan berguna bagi pengguna akhir. Menurut pendapat ahli lainnya, informasi adalah data yang telah diproses menjadi bentuk yang memiliki arti bagi penerima dan dapat berupa fakta, suatu nilai yang bermanfaat atau prospek keputusan. Jadi ada suatu proses transformasi data menjadi suatu informasi (input-proses-output). Dari definisi yang disebutkan, informasi dapat disimpulkan sebagai data yang telah diolah yang mempunyai arti dalam pengambilan keputusan bagi pihak yang bersangkutan. Pengertian sistem informasi menurut Mcleod (2001,p4) adalah suatu kombinasi yang terorganisasi dari manusia, peranti lunak, perangkat keras, jaringan komunikasi, dan sumber daya data yang mengumpulkan, mentransformasikan, serta menyebarkan informasi di dalam sebuah organisasi. Adapun komponen - komponen dari sistem informasi adalah metode kerja (work
practices), informasi (information), manusia (people), teknologi informasi (information technologies). Alasan diperlukannya sistem informasi dalam suatu organisasi ialah sebagai berikut : a.
Untuk sinkronisasi aktivitas–aktivitas dalam organisasi sehingga semua sumber daya dapat dimanfaatkan seefektif mungkin.
b.
Perkembangan teknologi yang semakin kompleks.
c.
Semakin pendeknya waktu untuk pengambilan keputusan.
d.
Lingkungan bisnis yang semakin kompetitif.
113 e.
Pengaruh kondisi ekonomi international.
f.
Meningkatnya kompleksitas dari aktivitas bisnis / organisasi. Dalam suatu organisasi, sistem informasi memiliki beberapa peranan dasar yaitu
sistem informasi berusaha memberikan informasi aktual tentang lingkungan dari organisasi tersebut sehingga organisasi mendapat gambaran yang akurat tentang lingkungannya. Selain itu dengan aliran informasinya, sistem informasi berusaha agar elemen – elemen di dalam organisasi selalu kompak dan harmonis dimana tidak terjadi duplikasi kerja dan lepas satu sama lain. Dengan demikian dapat dilihat bahwa manfaat dari sistem informasi ialah : a.
Menjadikan organisasi lebih efisien dan lebih efektif
b.
Lebih cepat tanggap dalam merespon perubahan
c.
Mengelola kualitas output
d.
Memudahkan melakukan fungsi kontrol
e.
Memprediksi masa depan
f.
Melancarkan operasi organisasi
g.
Menstabilkan beroperasinya organisasi
h.
Membantu pengambilan keputusan.
2.17.4 Pengembangan Sistem Informasi
Pengembangan sistem informasi (system development) dapat berarti menyusun sistem informasi yang benar-benar baru atau yang lebih sering terjadi adalah menyempurnakan sistem yang telah ada. Juga sering terjadi pengembangan sistem informasi berbasis komputer dilakukan dengan motivasi untuk memanfaatkan komputer
114 sebagai alat bantu yang dikenal sebagai alat yang cepat, akurat, tidak cepat lelah, serta tidak mengenal arti kata bosan, untuk melaksanakan instruksi-instruksi pengguna. Pengembangan sistem informasi yang direalisasikan dengan bantuan komputer (Computerized Information System) melalui suatu tahapan yang disebut dengan sistem analisis dan desain. Yang dimaksud dengan sistem analisis dan desain adalah peningkatan kinerja suatu organisasi dengan tujuan perbaikan prosedur-prosedur dan metode yang lebih baik. Sistem desain merencanakan suatu sistem baru menggantikan (dikomplemenkan) dengan sistem usaha lama. Untuk itu diperlukan analisis, yaitu proses mengumpulkan dan menginterprestasikan kenyataan-kenyataan yang ada, mendiagnosa persoalan dan menggunakan keduanya untuk memperbaiki sistem. Sistem analis selain bertugas untuk memecahkan persoalan yang dihadapi juga diharapkan dapat membantu menangani perencanaan perluasan usaha. Dalam hal ini sistem pemecahan harus berorientasi ke masa mendatang, jika sistemnya belum ada juga harus dapat memperhitungkan kemungkinan-kemungkinan kebutuhan masa depan suatu usaha dan perubahan yang harus dilakukan untuk memenuhi kebutuhan tersebut. Dalam banyak hal, sistem analis harus memiliki inovasi yang tinggi untuk memberikan banyak cara alternatif untuk memperbaiki situasi. Rencana perbaikan yang diberikan dapat lebih dari satu strategi dan setelah manajemen memutuskan strategi yang dipilih, baru dikembangkan strategi tersebut. Sistem desain mirip dengan blueprint yang memspesifikasikan semua karakteristik yang harus ada pada produk jadi.
115 Menurut Adi Nugroho (2002,p78), pengembangan sistem informasi dilakukan karena alasan-alasan sebagai berikut : 1.
Adanya permasalahan yang dijumpai pada sistem yang lama Permasalahan pada sistem yang lama bisa berarti pencatatan data yang tidak akurat, informasi yang sering terlambat atau sukar diperoleh saat dibutuhkan, ketida-kefisienan
operasi,
serta
ketidak-amanan
data-data
penting
yang
mengakibatkan permasalahan akses data oleh oknum yang tidak berhak. 2.
Pertumbuhan organisasi Pada saat organisasi masih kecil, masih mungkin segalanya dilakukan secara manual dengan jumlah pengelola beberapa orang saja. Namun saat organisasi berkembang menjadi besar, tidaklah mungkin untuk melakukan segalanya secara manual. Saat inilah diperlukan otomatisasi pemrosesan data sehingga prosesproses dalam organisasi bisa berjalan dengan cepat serta akurat. Selain itu juga diperlukan suatu cara tertentu sehingga data-data yang diperlukan sebagai dasar pengambilan keputusan oleh manajer dapat diperoleh dengan cepat.
3.
Untuk meraih kesempatan-kesempatan Teknologi informasi telah berkembang dengan cepatnya. Organisasi mulai merasakan bahwa teknologi informasi perlu digunakan untuk meningkatkan penyediaan informasi sehingga mendukung penuh dalam proses pengambilan keputusan yang akan dilakukan oleh para manajer. Dalam keadaan pasar bersaing, kecepatan informasi sangat menentukan berhasil atau tidaknya strategi serta rencana-rencana yang telah disusun untuk meraih kesempatan-kesempatan yang ada. Bila pesaing organisasi berhasil memanfaatkan kesempatan-kesempatan itu,
116 kita akan tertinggal sehingga mungkin akan menjadi terlambat untuk dapat memanfaatkan kesempatan itu. Siklus pengembangan sistem adalah kumpulan-kumpulan kegiatan dari analisis pendesain dan user dari sistem informasi yang dilaksanakan untuk dikembangkan dan diimplementasikan. Siklus hidup pengembangan sistem informasi menyajikan metodologi atau proses yang diorganisasikan guna membangun suatu sistem informasi. Siklus hidup sistem informasi dimulai dari fase perencanaan, fase pembangunan (investigasi, analisis, desain, implementasi), dan dievaluasi secara terus-menerus untuk menetapkan apakah sistem informasi tersebut masih layak diaplikasikan. Jika tidak maka sistem informasi tersebut akan diganti dengan yang baru dan dimulai dari perencanaan kembali. Siklus pengembangan sistem informasi terdiri dari aktivitas-aktivitas, yaitu penyelidikan awal, penentuan kebutuhan sistem, pengembangan prototipe sistem, desain sistem, implementasi dan evaluasi.
Sumber : Tessy Badriyah, http://newserver.eepis-its.edu/~tessy/simbab2.pdf.
Gambar 2.9 Siklus Pengembangan Sistem
117 2.18
Analisa dan Perancangan Sistem Informasi Berorientasi Objek
2.18.1 Analisa Sistem
Menurut McLeod (2001, p234) analisa sistem adalah penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem yang baru atau diperbaiki. Jadi dapat disimpulkan bahwa analisis sistem adalah penelitian sistem yang ada dengan tujuan penyempurnaan sistem yang dapat dimanfaatkan oleh pengguna sistem. Menurut Cushing (1991, p327), analisa sistem dapat didefinisikan sebagai proses penyelidikan kebutuhan informasi pemakai didalam suatu organisasi agar dapat menetapkan tujuan dan spesifikasi untuk desain suatu sistem informasi.
2.18.2 Konsep Dasar Object Oriented dan Object Oriented Programming
Berorientasi objek merupakan sebuah metode permodelan sistem dari sudut pandang objek beserta sifat–sifatnya. Dalam berorientasi objek, sebuah sistem dimodelkan dengan objek–objek yang ada didalam sistem, dimana objek–objek tersebut saling berinteraksi. Sehingga sebuah model yang dirancang dengan menggunakan pendekatan berorientasi objek umumnya memiliki karakteristik mudah dimengerti, dan dapat secara langsung berhubungan dengan kenyataan. Karateristik lain yang ada dalam pendekatan berorientasi objek menurut Nugroho (2002,p11), pendekatan yang dilakukan lebih pada data bukan pada prosedur atau fungsi, program besar dibagi pada apa yang disebut dengan objek, struktur data dirancang dan menjadi karakteristik dari objekobjek, fungsi-fungsi yang mengoperasikan data tergabung dalam satu objek yang sama, objek-objek dapat saling berkomunikasi dengan saling mengirim pesan satu sama lain.
118 Menurut Nugroho (2002,p11), faktor utama ditemukannya pendekatan berorientasi objek adalah karena adanya kekurangan – kekurangan pada pendekatan terstruktur : 1.
Biaya pengembangan peranti lunak berkembang sesuai dengan berkembangnya keinginan atau kebutuhan pengguna.
2.
Pemeliharaan yang sukar.
3.
Lamanya penyelesaian suatu proyek.
4.
Jangka waktu penyelesaian proyek selalu terlambat.
5.
Biaya pengembangan peranti lunak yang sangat tinggi, dan sebagainya. Menurut Heru Irman (http://www.gematel.com/Edisi28/Artikel%20Lepas/lepas3.html),
metodologi berorientasi objek memiliki beberapa konsep dasar, yaitu : 1.
Objek Objek merepresentasikan sebuah entitas, baik secara fisik, konsep ataupun secara peranti lunak. Definisi yang formal dari objek adalah sebuah konsep, abstraksi atau sesuatu yang diberi batasan jelas dan dimaksudkan untuk sebuah aplikasi. Sebuah objek adalah sesuatu yang mempunyai keadaan, kelakuan dan identitas. Keadaan dari objek adalah satu dari kondisi yang memungkinkan dimana objek dapat muncul, dan dapat secara normal berubah berdasarkan waktu. Keadaan dari objek biasanya diimplementasikan dengan kelompok propertinya (disebut atribut), berisi nilai dari properti tersebut, ditambah keterhubungan objek yang mungkin dengan objek lainnya. Kelakuan menentukan bagaimana sebuah objek beraksi dan bereaksi terhadap permintaan dari objek lainnya. Direpresentasikan dengan kelompok pesan yang direspon oleh objek (operasi yang dilakukan oleh objek). Kelakuan dari objek
119 mendeskripsikan segala sesuatu yang dapat kita lakukan terhadap objek tersebut dan segala sesuatu yang dapat dilakukan oleh objek untuk kita. Setiap objek mempunyai identitas yang unik. Identitas yang unik ini membuat kita dapat membedakan dua objek yang berbeda, walaupun kedua objek tersebut mempunyai keadaan dan nilai yang sama pada atributnya. 2.
Kelas Kelas adalah deskripsi dari kelompok objek dengan properti yang sama (atribut), kelakuan yang sama (operasi), serta relationship dan semantik yang sama. Dimana telah dinyatakan, bahwa sebuah objek adalah instansiasi dari kelas. Sebuah kelas adalah sebuah hasil abstraksi dari sesuatu dengan mengelompokkan karakteristik yang sejenis dengan mengabaikan karakteristik lainnya.
3.
Atribut Atribut adalah nama-nama properti dari sebuah kelas yang menjelaskan batasan nilainya dari properti yang dimiliki oleh sebuah kelas tersebut. Atribut dari suatu kelas merepresentasikan properti-properti yang dimiliki oleh kelas tersebut. Atribut mempunyai tipe yang menjelaskan tipe instansiasinya. Hanya sebuah instansiasi dari kelas (objek) yang dapat mengubah nilai dari atributnya. Keadaan (state) dari sebuah objek dijelaskan dengan nilai dari atribut-atribut yang dimilikinya (selain keberadaan hubungan dengan objek lainnya). Dalam sebuah kelas atribut hanya dinyatakan keberadaan dan batasan nilainya saja, sedangkan dalam sebuah objek atributnya sudah dinyatakan nilai dan menjelaskan kedudukan/ keadaan dari objek tersebut.
120 4.
Operasi Operasi adalah implementasi dari layanan yang dapat diminta dari sebuah objek dari sebuah kelas yang menentukan tingkah lakunya. Sebuah operasi dapat berupa perintah ataupun permintaan. Sebuah permintaan tidak boleh mengubah kedudukan dari objek tersebut. Hanya perintah yang dapat mengubah keadaan dari sebuah objek. Keluaran dari sebuah operasi tergantung dari nilai keadaan terakhir dari sebuah objek.
2.18.3 Pengertian Class
Objek–objek yang memiliki kesamaan karakteristik dapat dikelompokkan ke dalam suatu kelompok, yang dinyatakan dengan Class. Menurut Mathiassen (2000,p4),
Class adalah deskripsi dari kumpulan objek–objek yang mempunyai kesamaan struktur, pola operasi, dan atribut. Dapat dinyatakan bahwa sebuah objek dijelaskan di sebuah class, class menjelaskannya dengan bentuk struktur dan kelakukan dari semua objeknya. Sebuah objek yang diciptakan dari sebuah class disebut juga instance dari class, dengan kata lain class adalah deskripsi statik dan objek adalah instance dinamis dari class.
Gambar 2.10 Class
121 2.18.4 Pengertian Objek
Objek adalah sebuah entitas yang dapat menyimpan informasi dan menawarkan sejumlah operasi untuk mengevaluasi maupun mempengaruhi keadaan entitas itu sendiri. Sebuah objek ditandai dengan sejumlah operasi dan sebuah state / informasi yang mengingat akibat / efek dari operasi tersebut. Menurut Mathiassen (2000,p4), Objek adalah sebuah entitas yang memiliki identitas, state dan operasi ( behavior). Objek mempunyai arti kombinasi dari data dan logik yang mewakilkan entitas dari kenyataan. Objek merepresentasikan sebuah entitas, baik secara fisik, konsep ataupun secara peranti lunak. Definisi yang formal dari objek adalah sebuah konsep, abstraksi atau sesuatu yang diberi batasan jelas dan dimaksudkan untuk sebuah aplikasi. Sebuah objek adalah sesuatu yang mempunyai keadaan, kelakuan dan identitas. Keadaan dari objek adalah satu dari kondisi yang memungkinkan dimana objek dapat muncul, dan dapat secara normal berubah berdasarkan waktu. Keadaan dari objek biasanya diimplementasikan dengan kelompok propertinya (disebut atribut), berisi nilai dari properti tersebut, ditambah keterhubungan objek yang mungkin dengan objek lainnya. Kelakuan menentukan bagaimana sebuah objek beraksi dan bereaksi terhadap permintaan dari objek lainnya. Direpresentasikan dengan kelompok pesan yang direspon oleh objek (operasi yang dilakukan oleh objek). Kelakuan dari objek mendeskripsikan segala sesuatu yang dapat kita lakukan terhadap objek tersebut dan segala sesuatu yang dapat dilakukan oleh objek untuk kita. Setiap objek mempunyai identitas yang unik. Identitas yang unik ini membuat kita dapat membedakan dua objek yang berdeda,
122 walaupun kedua objek tersebut mempunyai keadaan dan nilai yang sama pada atributnya. Ciri–ciri yang dimiliki oleh suatu objek adalah : 1. Setiap objek memiliki suatu identitas, atau informasi individual yang unik, disebut dengan atribut. Contohnya; seorang mahasiswa mempunyai atribut NIM, dan setiap mahasiswa mempunyai NIM masing–masing, sehingga ini merupakan suatu identitas yang unik. 2. Objek dapat melakukan suatu operasi ( behavior). 3. Objek dapat dikomposisikan menjadi bagian–bagian yang terpartisi yang dinyatakan dalam hubungan agregat.
2.18.5 Pengertian Object Oriented
Object oriented adalah berfokus kepada objek itu sendiri. Objek dapat dianggap sebagai 'kotak hitam' yang menerima dan mengirimkan pesan. Pada peranti lunak, sebuah kotak hitam selalu terdiri dari kode (instruksi sekuensial komputer) dan data (informasi dimana instruksi dioperasikan di dalamnya). Secara tradisional kode dan data selalu dipisahkan, sedangkan pada object oriented, kode dan data digabungkan menjadi satu bagian yang tidak terpisahkan, yang disebut sebagai objek, dan kita tidak perlu lagi melihat kedalam isi dari objek yang telah dibentuk, karena semua bentuk komunikasi dengan objek dilakukan dengan menggunakan pesan. (www.gematel.com).
123 2.18.6 Pengertian Analisa Sistem Berorientasi Objek
Menurut McLeod (2001, p234), analisa sistem merupakan penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem yang baru atau diperbaiki. Jadi, penelitian sistem yang telah ada, dibuat penyempurnaan sistem yang dapat dimanfaatkan oleh pengguna sistem. Berdasarkan pendapat Bahrami (1999, p79), analisa sistem merupakan proses menggali kebutuhan-kebutuhan sebuah sistem dan apa yang harus dilakukan sistem tersebut untuk memenuhi kebutuhan-kebutuhan user. Tujuan dari analisis berorientasi obyek adalah pertama untuk memahami domain permasalahan dan tanggungjawab sistem dengan memahami bagaimana user menggunakan atau akan menggunakan sistem.
2.18.7 Pengertian Perancangan Sistem Berorientasi Obyek
Menurut pendapat O’Brien (2002, p352), analisa sistem mencakup apa yang harus dilakukan sistem untuk memenuhi kebutuhan informasi dari pengguna, sedangkan perancangan sistem mencakup bagaimana sebuah sistem dapat memenuhi kebutuhan ini. Perancangan sistem terdiri dari aktivitas perancangan yang menghasilkan spesifikasi sistem sesuai dengan kebutuhan yang dikembangkan di dalam proses analisis sistem. Proses perancangan terdiri dari 3 aktivitas, yaitu : a.
Perancangan user interface, yaitu merancang tampilan layar untuk mendukung interaksi antara pengguna dengan aplikasi komputer.
b.
Perancangan basis data, yaitu merancang bagaimana elemen data tersusun dalam sebuah media dengan struktur yang baik, sehingga mudah diakses.
124 c.
Perancangan proses, yaitu serangkaian perancangan prosedur dan kegiatan merancang kode-kode program sesuai dengan spesifikasi proses agar sistem informasi yang dirancang dapat berfungsi untuk memenuhi kebutuhan.
2.19
Analisis dan Desain Sistem Berorientasi Objek
Menurut Mathiassen et al. (2000, p5), Analisis dan Perancangan Berorientasi Objek mendeskripsikan dua permasalahan yang berbeda, yakni di dalam sistem dan di luar sistem. Analisis objek mendeskripsikan fenomena di luar sistem, seperti orang dan barang, yang dapat berdiri sendiri. Perancangan objek mendeskripsikan fenomena di dalam sistem yang dapat diawasi. Kita dapat mendeskripsikan behavior mereka sebagai operasi untuk komputer yang menyelesaikannya. Menurut Martin dan Odell (1992, p31), analisis dan desain berorientasi obyek memiliki beberapa karakteristik penting: a.
Mereka mengubah jalan pikiran kita mengenai sistem. Jalan pikiran OO lebih alami bagi kebanyakan orang dibandingkan dengan teknik analisis dan desain secara terstruktur.
b.
Sistem dapat dibuat di luar dari obyek-obyek yang telah ada. Hal ini menunjukkan tingkat
kemampuan
daur
ulang
yang
tinggi,
yang
menghemat
uang,
memperpendek waktu pengembangan, dan meningkatkan keterandalan sistem. c.
Kompleksitas
dari
obyek
dapat
digunakan
untuk
perkembangan
yang
berkelanjutan, karena obyek-obyek dibangun di luar dari obyek-obyek lain. d.
Tempat penyimpanan CASE seharusnya berisikan library dari tipe-tipe obyek, beberapa diperoleh dari pembelian dan beberapa lainnya diperoleh dari built-in-
house.
125 e.
Pembuatan sistem yang bekerja dengan benar adalah lebih mudah dibandingkan dengan teknik OO.
f.
Teknik OO memiliki sifat alami yang sesuai dengan teknologi CASE.
2.19.1 Pengertian OOAD (Object Oriented Analysis Design)
Menurut Mathiassen, et.al. (2000, p12), OOAD merupakan sekumpulan petunjuk umum yang keseluruhan, dan komponen-komponen sistem. Perspektif-perspektif tersebut mengarahkan kepada aktivitas analisis dan perancangan. Untuk membuat metode kita menjadi lebih berguna, kita merancangnya hingga terdapat penyesuaian, perkembangan, dan substitusi bagian dapat dengan mudah diimplementasikan. OOAD bercermin pada empat perspektif dalam sebuah sistem dan konteksnya: isi sistem informasi, bagaimana sistem akan digunakan, sistem dihubungkan pada empat aktivitas OOAD, yaitu Problem Domain Analysis, Application Domain Analysis,
Architectural Design, dan Component Design. Setiap aktivitas tersebut menuju pada hasil yang spesifik.
2.19.2 Keunggulan dan Kelemahan OOAD
Keunggulan OOAD (McLeod, 2001, pp613-614) yaitu: 1.
Reusability Kemampuan untuk menggunakan kembali pengetahuan dan kode program yang ada, dapat menghasilkan keunggulan saat suatu sistem baru dikembangkan atau sistem yang ada dipelihara atau direkayasa ulang. Setelah suatu objek diciptakan, ia dapat digunakan kembali, mungkin hanya dengan modifikasi kecil di sistem
126 lain. Ini berarti biaya pengembangan yang ditanamkan di satu proyek dapat memberikan keuntungan bagi proyek-proyek lain. 2. Interoperability Kemampuan untuk mengintegrasikan berbagai aplikasi dari beberapa sumber, seperti program yang dikembangkan sendiri dan peranti lunak jadi, serta menjalankan aplikasi-aplikasi ini di berbagai platform perangkat keras. 3 Reusability dan interoperability menghasilkan empat keunggulan kuat (McLeod, 2001, pp614-615), yaitu: - Peningkatan kecepatan pembangunan, karena sistem dirancang seperti dunia nyata melihatnya. - Pengurangan biaya pengembangan, karena pengembangan lebih cepat. - Kode berkualitas tinggi memberikan keandalan lebih besar dan ketangguhan yang lebih dibandingkan yang biasa ditemukan dalam sistem berorientasi proses. - Pengurangan biaya pemeliharaan dan rekayasa ulang sistem, karena kode yang berkualitas tinggi dan kemampuan pemakaian kembali.
Kelemahan OOAD(McLeod, 2001, p615), yaitu: -
Kesulitan metodologi untuk menjelaskan sistem bisnis rumit
-
Diperlukan waktu lama untuk memperoleh pengalaman pengembangan.
-
Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan untuk sistem bisnis.
127 2.20
Konsep Encapsulation, Inheritance, dan Polymorphism
2.20.1 Enkapsulasi (Information Hiding)
Berdasarkan pendapat Mcleod (2001, p331), Encapsulation adalah integrasi data dengan proses yang berhubungan dengan data itu. Cara yang baik untuk memahami konsep ini adalah dengan membayangkan suatu obyek sebagai paket hadiah. Label di bagian luar mengidentifikasikan isi paket, dan itu disebut bagian umum. Dalam terminologi berorientasi obyek, bagian umum (public part) adalah definisi data yang tersedia dalam kelas obyek dan proses yang dimungkinkan. Isi paket, sebaliknya, dinamakan bagian pribadi. Bagian pribadi (private part) terdiri dari data dan proses spesifik. Tiap kejadian obyek memiliki akses ke data dan kode programnya sendiri untuk melaksanakan prosesnya. Obyek-obyek lain mengetahui bagian publik suatu obyek dan dapat meminta jasa tersebut, tetapi mereka tidak memiliki akses ke bagian pribadi. Enkapsulasi juga bisa diartikan menyembunyikan cara pengimplementasian suatu benda dari pengguna, sehingga pengguna hanya tergantung dan berhubungan dengan antarmuka luarnya saja. Enkapsulasi sering disebut dengan "penyembunyian informasi". Ini akan memungkinkan pengguna mengoperasikan suatu sistem tanpa harus mengetahui cara/mekanisme implementasi dari antarmukanya. Sebagai contoh nyata enkapsulasi adalah saat kita menggunakan sebuah remote
control untuk televisi, maka fungsi-fungsi detail dan cara implementasi fungsi pada remote control telah terenkapsulasi, kita sebagai pengguna hanya akan berhubungan dengan tombol-tombol sebagai antarmukanya.
128 2.20.2 Inherintance
Inheritance atau yang biasa kita sebut sebagai warisan merupakan kemampuan obyek untuk menurunkan sifat, metode, atribut, dan variabel yang dimiliki oleh class induk/dasarnya tanpa menggunakan banyak kode program, serta dapat ditambahkan metode, atribut, dan variabel baru. Secara sederhana berarti menciptakan kelas baru yang memiliki sifat-sifat kelas induknya, ditambah dengan karakteristik yang khas dari kelas itu sendiri. Objek-objek memiliki banyak persamaan, namun ada sedikit perbedan. Objek-objek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian objek-objek ini memiliki kesamaan yaitu teridentifikasi sebagai objek mobil, objek ini dapat dikatakan sebagai objek induk (parent). Sedangkan minibus dikatakan sebagai objek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.
2.20.3 Polymorphism
Polymorphism merupakan kemampuan untuk mendefinisikan beberapa class dengan fungsi yang berbeda, namun memiliki nama metode dan properti yang identik dan dapat digunakan secara bergantian pada saat program dijalankan. Polymorphism adalah hasil natural dari fakta bahwa objek dari tipe yang berbeda dapat menggunakan
property dan operasi yang sama dalam hal yang berbeda. Contohnya kita mempunyai antar muka bernama musik, dengan operasi main dan berhenti, kita menerapkannya pada objek piano, gitar, drum dan bass, maka jika melakukan
perintah
main
kepada
semua
objek
maka
semua
objek
akan
129 mengimplemetasikan perintah tersebut dengan memainkan alat musik yang bebedabeda, walaupun dengan satu perintah dari antar muka yang sama.
2.21
Unified Modelling Language (UML)
2.21.1 Pengertian Pemodelan (modeling)
Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin kompleks sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. (http://www.IlmuKomputer.com) Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya. Selain itu, juga diharapkan arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama. Kesuksesan suatu pemodelan piranti lunak dapat ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebutan segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan. Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang
130 sebenarnya (proses) akan membuat proyek gagal. Dan pemahaman terhadap metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat.
Metodologi Pemodelan
Proses
Tool
Sumber : http://www.omg.org/gettingstarted/what_is_uml.htm
Gambar 2.11 The Triangle for Success (Segitiga suskes)
2.21.2 Konsep Bahasa UML
Menurut pendapat Booch, Rumbaugh, dan Jacobson (1999, p13), UML (Unified
Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO atau Object-Oriented. UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem
software (http://www.omg.org).
131 UML adalah sebuah ”bahasa” yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem (http://www.IlmuKomputer.com). UML adalah sebuah modeling language, bukanlah sebuah method. Sebagian besar method, paling tidak dalam prinsipnya, terdiri dari sebuah modeling language dan sebuah proses. Modeling language adalah notasi (terutama grafikal) yang digunakan
method untuk mengekspresikan rancangan. Proses adalah nasihat atas langkah-langkah apa yang perlu diambil dalam menjalankan sebuah rancangan. Dengan menggunakan UML, kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti: C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique) dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
132 2.21.3 Sejarah Singkat UML
UML merupakan hasil pemikiran dari Grady Booch, James Rumbaugh, dan Ivar Jacobson. Belakangan ini mereka dinamakan “The Three Amigos”. Ketiga orang ini bekerja di organisasi yang berbeda pada tahun 80-an dan awal tahun 90-an. Masingmasing mengembangkan metodologinya sendiri mengenai analisis dan desain sistem berorientasi obyek (Object-Oriented Analysis and Design). Metodologi mereka mendapatkan keunggulan tersendiri yang membedakan mereka dengan para pesaing lainnya, seperti: metodologi coad, shlaer-mellor, wirfs-brock dan lain sebagainya. Jumlah yang menggunakan metoda OO mulai diuji coba dan diaplikasikan antara 1989 hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari
General Electric, dikenal dengan OMT (Object Modelling Technique). Di tahun 1994, Rumbaugh bergabung dengan Rational Software Corporation, dimana Booch bekerja. Jacobson kemudian bergabung juga dengan Rational setahun kemudian. Dimulai pada bulan Oktober 1994, The Three Amigos ini yang merupakan tiga tokoh yang metodologinya banyak digunakan untuk mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE sehingga muncul release version 0.9 pada bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group), Anderson Consulting, Ericsson, Platinum
Technology, ObjectTime Limited, dan lain-lain serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn.
133
Sumber : Dharwiyanti, Wahono, http://ikc.tuxed.org/umum/yanti-uml.php, 2003.
Gambar 2.12 Terbentuknya Unified Modelling Language (UML)
Booch, Rumbaugh, dan Jacobson (The Three Amigos) ini menyusun 3 buku serial tentang UML pada tahun 1999 dengan seri [7] [8] [9]. Sejak saat itulah, UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek. (OMG - http://www.omg.org) Menurut pendapat Priestly (1999, p7-8), versi draf UML mulai menjalar industri
software dan menyebabkan perubahan secara bertahap. Oleh karena banyak perusahaan mulai merasakan UML mampu membawakan sasaran yang strategis, maka UML konsorsium berkembang pesat. Anggota-anggotanya antara lain adalah DEC, HewlettPackard, Intellicorp, Microsoft, Oracle, Texas Instruments, Rational, dan yang lainnya. Pada tahun 1997, konsorsium memproduksikan versi 1.0 dari UML dan mengumpulkannya kepada Object Management Group (OMG) untuk menanggapi permintaan OMG terhadap sebuah proposal untuk sebuah bahasa modelling yang
134 standar. Konsorsium berkembang, menghasilkan versi 1.1 dan mengumpulkannya pada OMG, yang telah mengadopsikannya di akhir tahun 1997. OMG mengambil alih pemeliharaan UML dan memproduksikan dua revisi baru pada tahun 1998. UML akhirnya menjadi sebuah standar mutlak dalam industri software, dan terus berkembang.
2.21.4 Konsep Dasar UML
Konsep dasar UML bisa dilihat pada tabel berikut ini: Tabel 2.2 Konsepsi Dasar UML Major Area
Structural
View
Diagrams
Static View
Class diagram
Use Case View
Use Case Diagram
Implementation View Deployment View State machine view Activity View
Component Diagram Deployment Diagram State Chart Diagram Activity Diagram
Dynamic
Sequence Diagram Interaction View
Collaboration Diagram
Model Management
Model Management View
Class diagram
Extensibility
All
All
Main Concepts Class, association, generalization, dependency, realization, interface Use case, actor, association, extend, include, use case generalization Component, interface, dependency, realization. Node, component, dependency, location State, event, transition, action State, activity, completion transition, fork, join Interaction, object, message, activation Collaboration, interaction, Collaboration role, message Package, subsystem, model
Constraint, stereotype, tagged values
Sumber : http://www.cetuslinks.org/oo_uml.html
135 Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic
behaviour, dan model management, bisa dipahami dengan mudah apabila kita melihat tabel 2.2 di atas dari segi diagram. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagram tersebut. Langkah-langkah dalam dalam pembuatan diagram UML bisa dilihat 2.21.5 penjelasan di bawah ini.
2.21.5
Diagram UML
2.21.5.1 System Definition
Untuk membuat suatu sistem yang akan diimplementasikan baik secara teknis maupun sosial hal yang harus dilakukan pertama kali adalah mengerti struktur, hubungan, proses detil dari suatu organisasi serta mengevaluasi dan menentukan teknologi yang relevan untuk mendukung sistem tersebut agar dapat bekerja dengan semestinya.
System definition (Mathiassen, 2000, p24) adalah suatu deskripsi yang jelas namun singkat dari sebuah system yang terkomputerisasi dan diekspresikan dengan katakata. Sebuah System Definition menjelaskan property mendasar dari pengembangan sebuah system dan kegunaannya. System Definition menjelaskan system dalam konteks, informasi apa saja yang harus dimiliki, fungsi apa saja yang harus tersedia, dimana harus digunakan dan dalam kondisi apa pengembangan bisa dilakukan. Sebuah System Definition harus singkat dan tepat dan memiliki penjelasan yang paling mendasar tentang system tersebut. Keterangan yang ringkas dan tepat menyediakan rangkuman yang membuat kita lebih mudah dalam membandingkan dengan pilihan lain yang ada.
136
Sumber : Lab perangkat lunak anapersist 2004-2005
Gambar 2.13 Contoh System Definition
137 2.21.5.2 Rich Picture
Rich picture merupakan suatu penggambaran dari sistem yang membantu orang awam untuk mengerti keadaan dari sistem yang sedang berjalan maupun sistem yang akan diusulkan. Menurut Mathiassen (2000, p27) sebuah rich picture berfokus pada aspekaspek penting dari keadaan yang berjalan, yang ditentukan sendiri oleh sang illustrator. Bagaimanapun juga, rich picture harus mampu memberikan gambaran yang luas dari kondisi yang ada sehingga memungkinkan adanya beberapa penafsiran.
Rich picture bukanlah sebuah hasil dan anggota proyek boleh tidak setuju terhadap gambar yang ada. Pada kenyataannya, pengembang sistem dapat menggunakan
rich picture untuk mengemukakan pandangan yang berbeda dari keadaan yang ada sebagai dasar dari diskusi terhadap system yang ingin dikerjakan. Berikut ini merupakan contoh dari rich picture.
138
Sumber : Lab perangkat lunak anapersist 2004-2005
Gambar 2.14 Contoh Rich Picture
139 2.21.5.3 FACTOR Criteria
Menurut Mathiassen (2000, p39) FACTOR criteria memiliki 6 elemen: 1.
Functionality Fungsi dari system yang mendukung tugas dari application-domain.
2.
Application domain Bagian dari organisasi yang mengurus, mengawasi atau mengontrol problem
domain. 3.
Conditions Kondisi seperti apa yang sedang berjalan ketika system dikembangkan dan digunakan.
4.
Technology Teknologi yang digunakan dalam mengembangkan system dan teknologi yang dibutuhkan untuk menjalankan system.
5.
Objects Objek utama dari problem domain.
6.
Responsibility Kegunaan system secara keseluruhan.
140 FACTOR criteria dapat digunakan dalam 2 cara. FACTOR dapat digunakan untuk mendukung pengembangan system-definition, dengan mempertimbangkan secara hati-hati bagaimana keenam elemen FACTOR diformulasikan atau kita dapat juga mulai dengan definisi kita terhadap sistem dan kemudian menggunakan criteria untuk melihat bagaimana system definition memenuhi 6 faktor yang ada.
Tabel 2.3 Contoh FACTOR criteria
Functionality Mencatat barang barang yang terjual, mengetahui total penjualan dalam satu jangka waktu tertentu misalnya minggu, bulan, tahun, mengetahui jenis barang yang paling laku dan yang kurang laku dalam jangka waktu tertentu. Application
Bagian Penjualan, kasir.
Condition
Sistem harus dapat menyesuaikan dengan naik turun nya harga Seperangkat PC yang compatible dalam penggunaan java, printer.
Technology Object
Kasir, manager, Bagian penjualan, Customer.
Responsibility
Sistem harus dapat menyusun laporan penjualan Sumber : Lab perangkat lunak anapersist 2004-2005
2.21.5.4 Class Diagram
Class sendiri merupakan sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/operasi). Jadi, dapat disimpulkan bahwa class diagram menggambarkan sekumpulan class,
interface, dan collaboration, dan relasi-relasinya. Class diagram juga menunjukkan atribut (attribute) dan operasi (operation) dari sebuah objek class.
141 Atribut adalah nama-nama properti dari sebuah kelas yang menjelaskan batasan nilainya dari properti yang dimiliki oleh sebuah kelas tersebut. Atribut dari suatu kelas merepresentasikan properti-properti yang dimiliki oleh kelas tersebut. Atribut mempunyai tipe yang menjelaskan tipe instansiasinya. Operasi adalah implementasi dari layanan yang dapat diminta dari sebuah objek dari sebuah kelas yang menentukan tingkah lakunya. Sebuah operasi dapat berupa perintah ataupun permintaan. Sebuah permintaan tidak boleh mengubah kedudukan dari objek tersebut. Hanya perintah yang dapat mengubah keadaan dari sebuah objek. Keluaran dari sebuah operasi tergantung dari nilai keadaan terakhir dari sebuah objek.
Class memiliki 3 area pokok, yaitu nama, atribut, dan metoda/fungsi. Atribut dan metoda dapat memiliki salah satu sifat berikut ini: −
Private : tidak dapat dipanggil dari luar class yang bersangkutan
−
Protected : hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.
−
Public : dapat dipanggil oleh siapa saja Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak
yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run time. Sesuai dengan perkembangan class
model, class dapat dikelompokkan menjadi package.
142 Menurut Booch (1999, p108), class diagram dapat digunakan untuk:
Memodelkan gambaran dari sistem Melibatkan pembuatan keputusan tentang pertimbangan abstraksi mana yang menjadi bagian dari sistem dan yang mana yang menjadi batasan. Penggunaan
class diagram untuk menspesifikasikan abstraksi ini dan tanggung jawabnya.
Memodelkan kolaborasi yang sederhana Kolaborasi merupakan kumpulan class, interface dan elemen lain yang bekerja bersama untuk menyediakan tingkah laku (behaviour) dari class. Penggunaan class
diagram adalah untuk menvisualisasikan dan menspesifikasi kumpulan class dan relasinya.
Memodelkan skema database yang logis Skema di sini adalah blueprint dari konseptual desain dari database. Di banyak
domain, sangat diperlukan penyimpanan informasi yang secara terus-menerus ke dalam relational database atau object oriented database. Database tersebut dapat dibuat skemanya dengan menggunakan class diagram.
143
Sumber : Dharwiyanti, Wahono, http://ikc.tuxed.org/umum/yanti-uml.php, 2003.
Gambar 2.15 Contoh Class Diagram
144
Hubungan atau operasi antar kelas digambarkan dengan notasi-notasi, antara lain: •
Association Role Association adalah hubungan antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya seperti terlihat dalam gambar di bawah ini.
Company
-Employer
-Employee
1
Person
*
Gambar 2.16 Association •
Navigability Merupakan sebuah properti dari role, yang menandakan bahwa ada kemungkinan untuk melakukan navigasi uni-directional pada association dari objek sumber ke objek tujuan.
Person
Company
Works for
Gambar 2.17 Navigability
145 •
Aggregation Aggregation atau agregasi adalah hubungan “bagian dari” atau “bagian keseluruhan”. Suatu class atau objek mungkin memiliki atau bisa dibagi menjadi
class atau objek tertentu, dimana class atau objek yang disebut kemudian merupakan bagian dari class atau objek yang terdahulu. Menurut Larman (1998, p359), ada 2 jenis aggregation, yakni : 1. Composite Aggregation Disebut juga strong aggregation dimana objek ”bagian” tidak dapat berdiri sendiri tanpa objek ”keseluruhan”. Jadi, antara objek yang satunya saling terkait kuat dengan objek lainnya. Merupakan multiplicity pada satu composite dan dinotasikan dengan filled diamond. Menunjukkan bahwa composite secara tunggal memiliki the part. Notasinya adalah :
Gambar 2.18 Composite aggregation
2. Shared Aggregation Merupakan multiplicity pada composite yang lebih dari 1 dan dinotasikan dengan hollow diamond. Menunjukkan bahwa the part bisa terdapat pada
instance composite.Notasinya adalah :
Gambar 2.19 Shared Aggregation
146 Agregasi adalah bentuk khusus dari association.
Company
Departmen 1
*
Gambar 2.20 Aggregation •
Composition Composition adalah strong aggregation. Pada composition, objek “bagian” tidak dapat berdiri sendiri tanpa objek “keseluruhan”. Jadi mereka terkait dengan kuat satu dengan yang lainnya.
Company
Departmen 1
*
Gambar 2.21 Composition •
Generalization Generalization adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent / induk . Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk.
Vehicle
Bus
Truck
Car
Gambar 2.22 Generalization
147 2.21.5.5 State Chart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram). Sebuah state diagram menunjukkan urutan-urutan state dari sebuah objek selama masa hidupnya (life time-nya), sekaligus dengan event-event yang menyebabkan perubahan dari state tersebut. Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
Gambar 2.23 Contoh State Chart Diagram
148 2.21.5.6 Use Case Diagram
Use case diagram menggambarkan interaksi antara sistem (use case) dengan aktor. Aktor adalah abstraksi dari user atau sistem lain yang berinteraksi dengan sistem.
Use Case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Use Case diagram
digunakan
untuk
menyusun
requirement
dari
sebuah
sistem,
mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.
Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja dan sebagainya. Seorang actor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaanpekerjaan tertentu. Menurut Priestly (2000,p325-326), use case diagram menunjukkan aktor-aktor yang berinteraksi dengan sebuah sistem dan use case yang menjelaskan cara-cara seperti bagaimana interaksi mengambil tempat. Aktor-aktor dihubungkan dengan use case di mana mereka dihubungkan dengan sebuah asosiasi.
149
Make Form
Entry Form
CustomerService Customer Make Report
Update Goods
Storage
Deliver Order
Gambar 2.24 Contoh Use Case Diagram Notasi-notasi atau hubungan yang terdapat pada use case diagram, dapat dilihat pada tabel berikut ini: Tabel 2.4 Use Case Relation Relationship Function Notation Association Komunikasi path antara sebuah actor dan sebuah use case yang ikut berperan serta Extend Merupakan fungsi tambahan dari behaviour ke dalam use <<extend>> case yang tidak diketahui Use case Hubungan antara use case umum dengan use case yang generalization lebih spesifik yang merupakan turunan dan bentuk tambahan dari use case Include Merupakan fungsi tambahan dari behaviour tambahan ke <
> dalam use case yang secara eksplisit menggambarkan adanya penambahan Sumber : Booch, Jacobson, Rumbaugh (1999, p65). The Unified Modelling Language Reference Manual. Addison Wesley Inc.
150 2.21.5.7 Activity Diagram
Activity diagram menampilkan aliran aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, keputusan yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram dapat digunakan untuk memodelkan operasi yang kompleks, memodelkan proses bisnis secara keseluruhan, memodelkan sebuah use case, atau memodelkan beberapa buah use case. Sebuah activity dapat direalisasikan oleh satu use case atau lebih. Decision digunakan
untuk
menggambarkan
behaviour
pada
kondisi
tertentu.
Untuk
mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horisontal atau vertikal.
Gambar 2.25 Contoh Activity Diagram
151 2.21.5.8 Function
Function fokus kepada apa yang actor lakukan di dalam sistem tersebut. Pada dasarnya function ditujukan sebagai perhitungan, di mana data yang diterima akan dirubah menjadi suatu data yang berarti. Menurut Mathiassen (2000, p136) function adalah suatu fasilitas untuk membuat suatu model yang berguna untuk actor. Suatu function dapat diaktifkan, dijalankan dan menghasilkan suatu hasil yang diinginkan.
Function memiliki beberapa tipe, setiap tipe dari sebuah function merupakan ekspresi atau penggambaran dari hubungan yang terjadi antara model dan konteks sistem dan setiap function memiliki karakteristik yang dapat membantu ketika ingin mendefinisikan suatu function. Tipe dari function antara lain (Mathiassen, 2000, p136) : ♦
Update Function ini diaktifkan oleh problem domain dan dapat menghasilkan sebuah perubahan dalam model state.
♦
Signal Function ini diaktifkan dengan merubah model state dan menghasilkan suatu reaksi dari dalam sistem, reaksi dapat dilihat oleh actor dalam application domain.
♦
Read Function ini membutuhkan suatu informasi dari actor untuk dapat diaktifkan dan sistem dapat menampilkan bagian yang relefan dari suatu model.
152 ♦
Compute Function diaktifkan dengan informasi yang didapatkan dari actor dan terjadi perhitungan yang melibatkan informasi yang didapat dari actor atau model, hasilnya ditampilkan dengan hasil perhitungan yang diinginkan. Tujuan dalam menganalisa suatu function (Mathiassen, 2000, p139) adalah
menentukan kemampuan proses sistem informasi dengan membuat daftar dari function dengan spesifikasi detil dari function tersebut. Di bawah ini merupakan contoh dari
function list dengan spesifikasi detilnya. Tabel 2.5 Contoh Function List Function
Cari Tambah Hapus Ubah Cancel Cetak Hitung jumlah pesanan Hitung kapasitas Hitung jumlah mesin Hitung waktu proses Create schedule
Complexity Simple Simple Simple Simple Simple Simple Simple Medium Simple Medium Very complex
Function Type Read Update Update Update Update Read Read Compute Read, Compute Compute Compute
153 2.21.5.9 Sequence Diagram
Menggambarkan interaksi antar objek di dalam dan sekitar sistem (termasuk pengguna, display dan sebagainya) berupa message yang digambarkan terhadap waktu (Bennet et al., 2006, p253). Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu dapat juga dikatakan bahwa untuk menggambarkan interaksi antar object yang ada pada use case. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan yang terjadi secara internal dan output apa yang dihasilkan. Setiap sequence diagram harus diberi suatu frame dimana setiap frame tersebut memiliki heading degan menggunakan notasi sd yang merupakan singkatan dari
sequence diagram (Bennet et al., 2006, pp 253-254). Terdapat beberapa notasi penulisan heading pada setiap frame yang terdapat pada sequence diagram (Bennet et al., 2006, p270). Notasi heading pada frame tersebut antara lain : a. alt Notasi ini merupakan singkatan dari alternatives yang menyatakan bahwa ada beberapa alternatif pengerjaan suatu program. b. opt Notasi ini adalah singkatan dari optional yang artinya setiap frame yang mempunyai
heading ini memiliki status pilihan dimana akan dijalankan apabila syarat tertentu terpenuhi.
154 c. loop Notasi ini merupakan singkatan dari looping yang artinya operation yang ada di dalam frame tersebut akan dijalankan secara terus menerus pada kondisi tertentu. d. break Notasi ini menandakan bahwa seluruh operation yang ada setelah frame tersebut tidak dijalankan. e. par Notasi ini merupakan singkatan dari parallel yang menandakan bahwa operation yang ada di frame tersebut dijalankan bersama-sama. f. seq Notasi ini merupakan singkatan dari weak sequencing yang berarti operation yang berasal dari lifeline yang berbeda dapat terjadi pada urutan mana saja. g. strict Notasi ini menyatakan bahwa operation harus dilakukan secara berurutan. Notasi ini merupakan singkatan dari strict sequencing. h. neg Notasi ini menandakan bahwa operasi tidak valid. Neg merupakan singkatan dari
negative. i. critical Notasi critical menyatakan operasi yang ada di dalam suatu frame pada heading ini tidak memiliki sela yang kosong. j. ignore Notasi ini mengindikasikan bahwa tipe pesan atau parameter yang dikirimkan dapat diabaikan dalam interaksi.
155 k. consider Notasi ini menyatakan pesan yang harus dipertimbangkan dalam suatu interaksi. l. assert Notasi ini singkatan dari assertion yang merupakan urutan dari pesan yang valid. m. ref Notasi ini menyatakan bahwa di dalam frame tersebut menunjuk suatu operation yang ada di dalamnya pada suatu sequence diagram tertentu. Notasi ini merupakan singkatan dari refer. Masing-masing objek, termasuk aktor memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Setiap peran memiliki sebuah lifeline yang memanjang di bawahnya. Message direpresentasikan dengan panah ber-label yang digambarkan dari satu lifeline ke lifeline lain. Message memberikan sebuah aktivasi. Di ujung aktivasi, return message menunjukkan arah balik kendali kepada obyek yang memanggil. Parameter dan nilai
return dapat ditunjukkan dalam message. Message dikirim ke obyek dengan sendirinya untuk memberikan aktivasi nested. Pembentukan obyek ditunjukkan dengan sebuah message kontruktor yang melahirkan sebuah peran. Penghancuran obyek ditunjukkan dalam message ‘destroy’.
Lifeline dari obyek yang dihancurkan ditunjukkan dalam point destruksi.
156 Menurut Priestly (2000,p327-328), Sequence diagram menunjukkan sebuah interaksi antara peran atau obyek-obyek prototype dalam sebuah kolaborasi. Notasi dasar untuk sequence diagram ditunjukkan pada gambar berikut:
.
Gambar 2.26 Contoh Sequence Diagram
2.21.5.10Component Diagram
Menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun
executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa
157
interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain. Menurut Schmuller (1999,p152), sebuah component diagram berisi component,
interface, dan hubungan (relationship). Bentuk component diagram utama adalah sebuah segi empat utama yang memiliki dua segi empat lain yang bergantung pada sisi kiri dari segi empat utamanya. Nama dari komponen dapat ditulis di dalam icon tersebut. Nama tersebut berupa string.
Component Diagram menggambarkan bagaimana kondisi pengimplementasian dari objek dan class pada saat penggunaan di lapangan. Component diagram ini juga menggambarkan aktivitas dan interaksi antara aktor, komponen, class, dan objek. Contoh dari Component Diagram ini dapat dilihat pada gambar dibawah ini:
Gambar 2.27 Contoh Component Diagram 2.21.5.11 Deployment Diagram
158 Menggambarkan node dalam membentuk topologi perangkat keras yang akan digunakan dan konfigurasi komponen-komponen yang ada di dalam sistem. Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar
node dan requirement dapat juga didefinisikan dalam diagram ini. Menurut Schmuller (1999, p14), deployment diagram menunjukkan arsitektur
sebuah
computer-based
system
secara
fisik.
Diagram
ini
menggambarkan komputer dan peralatannya, menunjukkan hubungan yang satu dengan yang lain, dan menunjukkan software yang ada dalam tiap mesin. Setiap komputer menunjukkan sebuah cube, dengan interkoneksinya antara komputer yang digambarkan sebagai garis yang menghubungkan cuber-cube tersebut.
Server:BankServer «table» AccountDB : Account
:Transactions
Interface1
client:ATMKiosk
:ATM-GUI
Gambar 2.28 Contoh Deployment Diagram 2.21.6 Langkah-Langkah Penggunaan UML
159 Berikut ini adalah tips langkah-langkah pengembangan piranti lunak dengan menggunakan UML (www.IlmuKomputer.com): a.
Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
b.
Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
c.
Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
d.
Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
e.
Berdasarkan use case diagram, mulailah membuat activity diagram.
f.
Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masingmasing alir.
g.
Buatlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.
h.
Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
i.
Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokkan
class menjadi komponen-komponen. Karena itu buatlah component diagram pada
160 tahap ini. Juga, definisikan tes integrasi untuk setiap komponen menyakinkan ia berinteraksi dengan baik. j.
Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan
requirement piranti lunak, sistem operasi, jaringan dan sebagainya. Petakan komponen ke dalam node. k.
Mulailah membangun sistem. Ada 2 pendekatan yang dapat digunakan: − Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes. − Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
l.
Lakukan uji modul dan uji integrasi serta perbaiki model beserta codenya. Model harus selalu sesuai dengan code yang aktual.
m.
2.22
Piranti lunak siap dirilis
Tahapan Pengembangan Software Berorientasi Objek
Dalam siklus pengembangan sistem informasi ini, penulis menggunakan metode
Mathiassen, untuk tahapan atau langkah-langkah dalam menganalisis sistem. Namun langkah-langkah yang ada tidak diikuti seratus persen karena terdapat beberapa tahapan yang dirasakan harusnya ada tetapi tidak disarankan oleh Mathiassen. Oleh karena itu, terdapat beberapa tambahan tahapan dalam menganalisis masalah, dan juga ada beberapa tahapan yang tidak dibuat karena tidak diperlukan dalam pengembangan sistem informasi atau tidak sesuai kebutuhan.
161 Menurut Mathiassen et al., untuk menganalisis sistem informasi berbasiskan objek terdapat empat kegiatan utama yang harus dilakukan. Namun sebelumnya, seorang analis harus mampu menangkap apa yang ingin pengguna dapatkan dari sistem atau piranti lunak itu. OOAD menjelaskan empat perspektif melalui empat aktivitas utama, yang ditunjukkan pada gambar berikut:
Sumber : Mathiassen et al. (2000, p15)
Gambar 2.29 Tahap Unified Software Development
162 Terdapat 4 aktivitas utama yang digunakan dalam menggunakan metode Unified
Software Deployment untuk OOA&D (Object Oriented Analysis and Design) yang dibahas oleh Mathiassen (2000, p14), yaitu : 1. Problem Domain Analysis
Menurut Mathiassen et al. (2000, p45), Problem Domain Analysis merupakan bagian dari sebuah konteks yang diadministrasi, dimonitor dan dikontrol oleh sebuah sistem. Tujuannya adalah untuk mengidentifikasi dan memodelkan sebuah problem
domain.
Sumber : Mathiassen et al. (2000, p46)
Gambar 2.30 Activities in Problem Domain
Dalam tahapan ini sistem dirancang sesuai dengan kebutuhan informasi dari pengguna, tahapan ini menentukan hasil dari keseluruhan akivitas analisis dan perancangan.
163 Tahapan dari Problem Domain Analysis ini adalah : a. Menentukan ”Class” yang ada dalam sistem dengan melakukan proses identifikasi dari definisi sistem yang telah dikembangkan. Menurut Mathiassen et al. (2000, p53), Class adalah suatu deskripsi dari sekumpulan objek yang mempunyai structure, behavioral pattern dan attributes. b. Menganalisa dan mengembangkan ”struktur” hubungan dari class – class yang ada. Menurut Mathiassen et al. (2000, p69), tujuan structure adalah untuk mendeskripsikan hubungan struktural antara classes dan objects dalam problem
domain. c. Menganalisa ”Behavior” dari class – class tersebut untuk menentukan state dari setiap class yang termasuk dalam sistem ini. Menurut Mathiassen et al. (2000, p89), tujuan behavior adalah untuk memodelkan problem domain yang dinamis. Dan 3 konsep yang terkandung dalam behavior adalah : •
Event Trace
ÆUrutan dari events yang melibatkan objek secara
spesifik. •
Behavioral PatternÆSuatu deskripsi dari kemungkinan events traces untuk semua object dalam class.
•
Attribute
ÆSuatu deskripsi dari class atau event.
164 Hasil laporan perancangan yang dihasilkan dari tahapan ini adalah : a. Rich Picture : gambaran seluruh sistem sebagai sebuah model yang akan dilihat
user saat sistem sudah jadi. b. System Definition : mendefinisikan seluruh sistem sebagai sebuah model yang akan dilihat user saat sistem jadi (FACTOR). c. Class Diagram : untuk menggambarkan hubungan antara class-class dalam sebuah sistem. d. Statechart Diagram : untuk menggambarkan bagaimana state dari daur hidup kelas yang ada di dalam sistem ini. Dapat dilihat dari tahap ini telah dapat dilihat model aplikasi secara keseluruhan bagaimana aplikasi tersebut akan terbentuk.
2. Application Domain Analysis
Menurut Mathiassen et al. (2000, p115), Application Domain Analysis adalah organisasi yang mengadministrasi, memonitor atau mengontrol sebuah problem domain. Tujuannya adalah untuk menetapkan system usage requirements. Aktivitas dari Application Domain Analysis adalah : Usage, Functions dan
Interfaces.
165
Sumber : Mathiassen et al. (2000, p117)
Gambar 2.31 Application Domain Analysis
Tahapan ini berfokus pada bagaimana sistem akan digunakan oleh pengguna. Tahap ini dan tahap sebelumnya dapat dimulai secara bergantian, tergantung pada kondisi pengguna. Menurut Mathiassen (2000, p 116)
Terdapat 3 tahapan yang akan
dilakukan dalam Application Domain Analysis, yaitu : a. Menentukan usage, yaitu menentukan aktor dan use case yang terlibat dan interaksinya. b. Menentukan function (fungsi) sistem untuk memproses informasi dan membuat daftar fungsi.
Tipe – tipe functions adalah : - Update functions Diaktifkan dengan problem domain event dan hasilnya didalam perubahan
model state.
166 - Signal functions Diaktifkan dengan merubah model state dan hasilnya pada reaksi di konteks. Reaksi ini mungkin menampilkan actor pada application domain atau intervensi langsung di problem domain. - Read functions Diaktifkan oleh kebutuhan akan informasi di lembar kerja actor dan hasilnya tampilan sistem yang relevan dari model. - Compute functions Diaktifkan oleh kebutuhan akan informasi di lembar kerja actor melibatkan informasi yang disediakan actor atau model. Hasilnya adalah tampilan dari kegiatan compute tersebut.
c. Menentukan interface pengguna dan sistem, untuk interaksi sesungguhnya dari pengguna dan sistem informasi yang dirancang. Menurut Mathiassen et al. (2000, p151), interfaces adalah fasilitas yang membuat system model dan
functions dapat digunakan oleh actor. Tujuannya adalah untuk menetapkan system interfaces. Hasil dari interfaces adalah : •
User interfaces Tipe dialog dan form presentasi, daftar lengkap dari elemen user interface,
window diagram dan navigation diagram. •
System interfaces Class diagram untuk peralatan luar dan protokol - protokol untuk berinteraksi dengan sistem lain.
167 Laporan yang akan dihasilkan dari tahapan ini adalah : a. Use Case Diagram, yang menggambarkan interaksi pengguna sebagai aktor dengan sistem informasi . b. Function List, yaitu kemampuan yang harus dimiliki sistem sebagai kebutuhan dasar dari user. c. User Interface Navigation Diagram, yaitu diagram untuk menggambarkan tampilan layar yang akan dirancang untuk memenuhi kebutuhan user.
3. Architectural Design
Menurut Mathiassen et al. (2000, p173), tujuan dari architectural design adalah untuk menstruktur sistem yang terkomputerisasi.
Sumber : Mathiassen et al. (2000, p176)
Gambar 2.32 Activities in Architectural Design
Dalam tahap ini dirancang arsitektur hubungan antara client dan server yang memadai untuk sistem agar dapat berjalan baik. Perancangan tahap ini menentukan
168 bagaimana struktur sistem fisik akan dibuat dan bagaimana distribusi sistem informasi pada rancangan fisik tersebut. Laporan yang dihasilkan adalah Deployment
Diagram. Menurut Mathiassen et al. (2000, p173), 3 aktivitas yang terdapat pada Architectural
Design : a. Criteria Menurut Mathiassen et al. (2000, p177), tujuan dari criteria adalah untuk mengatur prioritas perancangan. Konsepnya adalah : ♦
Criterion : Properti dari architecture
♦
Conditions : Kesempatan dan batas technical, organizational dan human yang terlibat dalam suatu tugas.
Menurut Mathiassen et al. (2000, p184), terdapat pula kondisi – kondisi yang harus diperhitungkan : -
Technical Adalah perangkat keras yang tersedia, peranti lunak dasar dan sistem; menggunakan kembali bahan – bahan dan komponen – komponen yang telah ada; menggunakan komponen standar yang dapat dibeli.
-
Organizational Adalah perjanjian kontrak; rencana pengembangan dan pembagian kerja antara pengembang.
-
Human Adalah kemampuan untuk mendesain; pengalaman dengan sistem yang serupa; pengalaman dengan technical platform.
169 Menurut Mathiassen et al. (2000, p178) terdapat 12 jenis kriteria software : •
UsableÆ kemampuan sistem untuk beradapatasi dengan situasi organisasi, tugas dan hal – hal teknis.
•
SecureÆ kemampuan untuk melakukan pencegahan terhadap akses yang tidak berwenang.
•
EfficientÆ penggunaan secara ekonomis terhadap fasilitas technical platform.
•
CorrectÆ sesuai dengan kebutuhan.
•
ReliableÆ ketepatan dalam melakukan suatu fungsi.
•
MaintainableÆ kemampuan untuk perbaikan sistem yang rusak.
•
TestableÆ penempatan biaya untuk memastikan sistem bekerja sesuai dengan yang diinginkan.
•
FlexibleÆ kemampuan untuk modifikasi sistem yang berjalan.
•
ComprehensibleÆ usaha yang diperlukan untuk memperoleh pengertian akan suatu sistem.
•
ReusableÆ potensi untuk menggunakan sistem pada bagian sistem lain yang saling berhubungan.
•
PortableÆ kemampuan sistem untuk dapat dipindahkan ke technical platform yang lain.
•
Interoperable Æ kemampuan untuk merangkai sistem ke dalam sistem yang lain.
170
b. Component Menurut Mathiassen et al. (2000, p189), tujuan dari components adalah untuk menciptakan sistem yang comprehensible dan flexible. Component architecture adalah sebuah struktur sistem dari components yang saling berhubungan.
c. Process Menurut Mathiassen et al. (2000, p209), tujuan process adalah untuk mendefinisikan struktur program secara fisik.
4. Component Design
Menurut Mathiassen et al. (2000, p231), tujuan component design adalah untuk menetapkan sebuah implementasi pada sebuah architectural framework. Ini merupakan tahap terakhir dalam Unified Software Deployment sebelum melakukan programming. Sistem akan dimodelkan secara lengkap dalam diagram yang disebut sebagai Component Diagram. Di tahap ini terlihat bagaimana sistem bekerja dan interaksi yang terjadi antara sistem dan pengguna.
Sumber : Mathiassen et al. (2000, p232)
Gambar 2.33 Components Design
171 Aktivitas pada component design adalah :
a. Model component Menurut Mathiassen et al. (2000, p235), model component adalah bagian dari sistem yang mengimplementasikan problem domain model.
b. Function component Tujuan Function component menurut Mathiassen et al. (2000, p252) adalah untuk menetapkan functions implementation. Function implementation adalah bagian dari sistem yang mengimplementasikan persyaratan functions.
c. Connecting component Tujuan dari connecting components menurut Mathiassen et al. (2000, p271) adalah untuk menggabungkan system components. Ada 2 konsep dalam connenting component yaitu : •
Coupling Merupakan suatu ukuran seberapa dekat 2 classes atau components terhubungkan.
•
Cohesion Merupakan ukuran seberapa dekat class atau component saling terkait satu sama lain.
172 2.23
Relational Database System
Menurut Mathiassen (2000,p320-322), di dalam sebuah relational database, data disusun dalam tabel-tabel, di mana setiap tabel memiliki nama yang unik dan menentukan sebuah format umum untuk menyimpan datanya. Kelas-kelas model direpresentasikan secara dasar dalam sebuah tabel yang mengambil nama dari class. Setiap atribut class menjadi kolom tabel, dan setiap objek direpresentasikan sebagai baris tabel. Hubungan menambah kolom yang berisi referensi unik untuk setiap objek ditunjukkan pada gambar tabel berikut:
customerID 1 2 … 100
SSN-no 610-15-1234 101-28-5678 … 760-96-6789
Name Lily Clarkson Janet Lee … Michella
Address 15 Victoria 23 Thichimiz Street … 30 Orched Street
Gambar 2.34 Hubungan Class dengan Relational Database