BAB 2 LANDASAN TEORI
2.1.
Peramalan
2.1.1. Kualitas Data Dalam melakukan aktivitas peramalan, data yang digunakan harus berkualitas, dalam artian sesuai dengan kebutuhan untuk menghasilkan peramalan yang akurat sehingga memberikan informasi yang berguna bagi manajemen untuk mengelola persediaan. Salah satu indikator bahwa suatu data dapat diterima menjadi masukan (input) dalam peramalan adalah bahwa variasi datanya normal (Gaspersz., 1998, p80). Beberapa macam masalah dan tindakan yang harus diambil berkaitan dengan kualitas data dapat dilihat pada tabel berikut : Tabel 2.1. Masalah dan Tindakan Berkaitan dengan Kualitas Data No.
Masalah
Tindakan
1.
Kesalahan data (data error)
Identifikasi dan koreksi data
2.
Perubahan tetap dalam pola data Mengubah model peramalan
3.
Permintaan tidak normal
Melakukan saringan dan penyesuaian
4.
Data hilang
Memperoleh data asli atau substitusi data
5.
Variasi normal
Menerima data itu
Sumber : Production Planning and Inventory Control (Gaspersz, 1998, p80)
25 2.1.2. Uji Normalitas Data Pengujian normalitas data diperlukan untuk mengetahui apakah data terdistribusi normal / mengikuti sebaran normal. Salah satu metode pengujian normalitas data adalah teknik Kolmogorov-Smirnov. Teknik ini banyak dipakai karena penggunaannya sederhana dan tidak menimbulkan perbedaan persepsi antara pengamat yang satu dengan pengamat yang lain, yang sering terjadi pada uji normalitas dengan menggunakan grafik semata. Teknik Kolmogorov-Smirnov menguji perbedaan antara data yang diuji normalitasnya dengan data normal baku. Jika tingkat signifikansinya di bawah 0,05 (p-value < 0,05), artinya ada perbedaan signifikan antara data yang diuji dengan data normal baku. Ini akan membawa pada kesimpulan bahwa data tidak terdistribusi normal. Sedangkan bila tingkat signifikansinya di atas 0,05 (p-value > 0,05), artinya tidak perbedaan signifikan antara data yang diuji dengan data normal baku sehingga membawa pada kesimpulan bahwa data tersebut terdistribusi normal. Pengujian normalitas data dengan teknik Kolmogorov-Smirnov ini dapat dilakukan dengan menggunakan bantuan software aplikasi statistik Minitab 14 dengan langkah-langkah sebagai berikut : 1. Memasukkan data yang akan diuji ke kolom yang terdapat di Worksheet. 2. Pilih menu Stat Æ Basic Stat Æ Normality Test. Masukkan judul kolom data yang diuji sebagai Variable kemudian centang option Kolmogorov-Smirnov Æ OK.
26 3. Setelah hasil yang berbentuk grafik keluar, klik kanan pada window hasil tes dan pilih Append Graph to Report untuk memasukkan laporan ke Report Pad. Contoh hasil pengujian normalitas data tinggi badan dengan menggunakan Minitab 14 terlihat seperti di bawah ini : Probability Plot of Tinggi Badan Normal 99
Mean StDev N KS P-Value
95 90
168.3 7.523 29 0.121 >0.150
Percent
80 70 60 50 40 30 20 10 5
1
150
160
170 Tinggi Badan
180
190
Gambar 2.1. Contoh Hasil Pengujian Normalitas Data Menggunakan Minitab 14
2.1.3. Deskripsi Peramalan Aktivitas peramalan adalah suatu fungsi bisnis yang berusaha memperkirakan penjualan dan penggunaan produk sehingga produk itu dapat dibuat dalam kuantitas yang tepat. Dengan demikian, peramalan merupakan suatu dugaan terhadap permintaan yang akan datang berdasarkan pada beberapa variabel peramal, sering berdasarkan data deret waktu historis (Gaspersz., 1998, p71).
27 Dalam industri manufaktur dikenal ada dua jenis permintaan, yaitu : 1. Dependent demand Dependent demand didefinisikan sebagai permintaan terhadap material, parts, atau produk yang terkait langsung dengan atau diturunkan dari struktur BOM (bill of material) untuk produk akhir atau untuk suatu item tertentu. 2. Independent demand Independent demand didefinisikan sebagai permintaan terhadap material, parts, atau produk, yang bebas atau tidak terkait langsung dengan struktur BOM untuk produk akhir atau item tertentu. Produk yang termasuk di dalam independent demand merupakan objek peramalan. Sedangkan produk-produk yang termasuk dependent demand tidak boleh diramalkan, tetapi harus direncanakan atau dihitung. Misal dalam kasus industri mobil, permintaan terhadap mobil termasuk independent demand yang dapat diramalkan. Sedangkan permintaan ban disebut dependent demand yang harus dihitung, karena terkait langsung dengan struktur BOM untuk produk akhir mobil. Jadi, jika mobil akan diproduksi sebanyak 100 unit, dan untuk 1 mobil membutuhkan 5 buah ban (termasuk ban cadangan), maka permintaan ban dapat dihitung sebesar 100 mobil x 5 buah ban/mobil = 500 buah ban.
28 2.1.4. Horizon Waktu Peramalan Penentuan horizon waktu peramalan tergantung dari situasi dan kondisi aktual dari masing-masing industri manufaktur serta tujuan dari peramalan itu sendiri. Tujuan utama dari peramalan dalam manajemen permintaan adalah untuk meramalkan permintaan item-item independent demand di masa yang akan datang. Selanjutnya dengan mengkombinasikannya dengan pelayanan pesanan (order service) yang bersifat pasti, akan dapat mengetahui total permintaan suatu item atau produk agar memudahkan manajemen produksi dan inventori. Horizon waktu peramalan berkaitan dengan 1) interval ramalan (forecast interval) atau bagaimana seringnya mengembangkan suatu ramalan, ada yang intervalnya harian, mingguan, triwulan, semesteran, atau tahunan. Di samping itu, ada juga 2) banyaknya periode di masa mendatang yang akan diramalkan, mencakup periode 12 atau 24 bulan mendatang, atau 8, 12, 16, atau 20 triwulan mendatang. Dalam sistem peramalan berlaku aturan bahwa semakin jauh periode di masa mendatang yang akan diramalkan - dengan asumsi faktor-faktor lain tetap – hasil ramalan akan semakin kurang akurat. Tabel 2.2. Deskripsi Interval Ramalan Interval Ramalan
Tujuan
Periode analisis
Peramalan jangka pendek (Short-range forecast) Perencanaan distribusi inventori, perencanaan material, dan sebagainya. Analisis dilakukan secara teratur dan berulang.
Peramalan jangka menengah (Mid-range forecast) Perencanaan anggaran, produksi, pembelian menggunakan PO (purchase order), dan sebagainya. Analisis dilakukan secara periodik.
Peramalan jangka panjang (Long-range forecast) Perencanaan bisnis, analisis fasilitas, proyekproyek jangka panjang, produk atau pasar baru, investasi modal, dan lainlain. Dilakukan analisis satu kali.
29 Tabel 2.2. Deskripsi Interval Ramalan (Lanjutan) Interval Ramalan
Sumber data
Peramalan jangka pendek (Short-range forecast) Data internal (harian atau mingguan) dengan teknik kuantitatif. Manajemen operasional.
Peramalan jangka menengah (Mid-range forecast) Data internal (bulanan atau triwulanan) dengan teknik kuantitatif dan kualitatif. Manajemen menengah (middle management).
Peramalan jangka panjang (Long-range forecast) Data eksternal (triwulan atau tahunan).
Manajemen puncak (top management). Rincian banyak item Kelompok produk atau Beberapa produk Objek atau stockkeeping famili dari produk. atau famili dari peramalan units. produk. Sumber : Production Planning and Inventory Control (Gaspersz, 1998, pp75-76) Peramal
2.1.5. Pola Data Historis Riwayat permintaan masa lalu merupakan data historis yang dapat digunakan untuk meramalkan permintaan di masa mendatang pada metode peramalan ekstrapolasi. Buffa et al. (1996, p67) membagi pola data ini menjadi empat macam, yaitu : 1. Pola data horisontal Pola horisontal terjadi bila permintaan berfluktuasi di sekitar suatu permintaan rata-rata. Permintaan rata-rata tetap konstan dan tidak secara konsisten naik atau turun. Pola horisontal biasa terjadi pada produk yang berada pada siklus hidup tahap dewasa. 2. Pola data kecenderungan (trend) Pola kecenderungan mengacu pada kenaikan atau penurunan permintaan dari satu periode ke periode berikutnya. Contoh, jika permintaan bulanan rata-rata suatu produk meningkat 10-15% tiap tahun, maka tampak ada kecenderungan
30 naiknya permintaan. Produk pada tahap siklus pertumbuhan biasanya cenderung naik, sedangkan produk di tahap penurunan permintaannya juga cenderung menurun. 3. Pola data musiman Pada pola musiman, permintaan dipengaruhi oleh faktor-faktor musiman yang terjadi pada selang waktu / interval yang teratur dan panjangnya konstan. Contoh, penjualan mesin penyapu salju akan leih tinggi pada bulanbulan musim dingin. 4. Pola data siklikal Pola data siklikal hampir serupa dengan pola musiman, hanya selang waktu / intervalnya bervariasi dan durasi kejadian di tiap intervalnya juga tidak sama panjang. Contoh, adanya resesi ekonomi menyebabkan permintaan produk menurun, dimana resesi terjadi dalam selang waktu yang tidak beraturan (irregular) dan lama resesi tidak sama.
Sumber : [http1] Gambar 2.2. Jenis Pola Data Deret Waktu
31 2.1.6. Model Peramalan Ekstrapolasi (Time Series) Ada beberapa model peramalan ekstrapolasi yang dijelaskan oleh Gaspersz (1998, pp71-118) dan Render et al. (2001, pp50-69), yang dapat digunakan untuk meramalkan permintaan, yaitu : 1. Model Rata-Rata Bergerak (Moving Average Model) Model rata-rata bergerak menggunakan sejumlah data aktual permintaan yang baru untuk membangkitkan nilai ramalan untuk permintaan di masa yang akan datang. Metode ini efektif diterapkan apabila dapat diasumsikan bahwa permintaan terhadap produk akan tetap stabil sepanjang waktu. Formula yang digunakan adalah :
Rata − rata bergerak n periode =
∑ (permintaan dalam n periode terdahulu )
n
dimana n adalah banyaknya periode dalam rata-rata bergerak.
2. Model Rata-Rata Bergerak Terbobot (Weighted Moving Average Model) Model rata-rata bergerak terbobot lebih responsif terhadap perubahan, karena data dari periode yang baru diberi bobot lebih besar. Jumlah periode berbobot dapat diambil dari banyak periode terakhir yang pergerakan datanya relatif tidak stabil. Formula model rata-rata bergerak n-periode terbobot, weighted MA(n), dinyatakan sebagai berikut :
Weighted MA(n ) =
∑ (pembobot untuk periode n )(permintaan aktual dalam periode n ) ∑ (pembobot )
dimana koefisien pembobot periode n sebesar 1, koefisien periode n-1 sebesar 2, dan seterusnya.
32 3. Model Pemulusan Eksponensial (Exponential Smoothing Model) Model pemulusan eksponensial cocok dipakai untuk pola data historis yang bergejolak atau tidak stabil sewaktu-waktu, karena model ini menyesuaikan nilai ramalan dengan pola data aktual secara terus menerus. Apabila galat ramalan (forecast error) positif, yang artinya nilai aktual permintaan lebih tinggi daripada nilai ramalan (A – F > 0), maka model akan secara otomatis meningkatkan nilai ramalan, dan begitu pula bila yang terjadi sebaliknya. Formula model pemulusan eksponensial adalah :
Ft = Ft −1 + α(A t −1 − Ft −1 ) dimana : Ft
= nilai ramalan untuk periode ke-t
Ft −1 = nilai ramalan untuk satu periode yang lalu, t-1 A t −1 = nilai aktual untuk satu periode waktu yang lalu, t-1 α
= konstanta pemulusan (smoothing constant) Besarnya konstanta pemulusan α berlaku 0 < α < 1 dengan
pertimbangan sebagai berikut :
•
Apabila pola historis dari data aktual permintaan sangat bergejolak atau tidak stabil dari waktu ke waktu, nilai α yang dipilih mendekati 1, misalnya α = 0,9; 0,95; 0,99. Semakin bergejolak, nilai α semakin mendekati 1.
•
Apabila data historis dari data aktual permintaan tidak berfluktuasi atau relatif stabil dari waktu ke waktu, nilai α yang dipilih mendekati 0, misalnya α = 0,2; 0,15; 0,05; 0,01, dan lain-lain, tergantung pada
33 sejauh mana kestabilan datanya. Semakin stabil, α harus semakin kecil mendekati nilai 0.
4. Model Analisis Garis Kecenderungan (Trend Line Analysis Model) Model analisis garis kecenderungan dipergunakan sebagai model peramalan apabila pola historis data aktual permintaan menunjukkan adanya suatu kecenderungan menaik atau menurun dari waktu ke waktu. Model analisis garis kecenderungan sederhana menggunakan formula sebagai berikut :
Ft = a + bt
( )( ) ∑ t − n (t ) a = A − b(t ) b=
∑ tA − n t A 2
2
dimana : b = slope dari persamaan garis lurus a
= intersep dari persamaan garis lurus
t
= indeks waktu
t
= nilai rata-rata dari t
A = variabel permintaan (data aktual permintaan)
A = nilai rata-rata permintaan per periode waktu; rata-rata dari A
34 5. Model Pemulusan Eksponensial dengan Mempertimbangkan Kecenderungan (Exponential Smoothing with Trend Adjustment) Langkah-langkah perhitungan nilai ramalan berdasarkan model pemulusan eksponensial dengan mempertimbangkan kecenderungan adalah : a. Menghitung nilai ramalan periode t ( Ft ) berdasarkan metode pemulusan eksponensial sederhana (simple exponential smoothing). b. Menghitung nilai trend dengan menggunakan persamaan : Tt = (1 − β )Tt −1 + β(Ft − Ft −1 ) dimana : Tt
= smoothed trend periode t
Tt −1 = smoothed trend periode t-1 (periode yang lalu)
β
= konstanta dari trend-smoothing yang dipilih
Ft
= nilai ramalan berdasarkan metode pemulusan eksponensial sederhana, ES, untuk periode t
Ft −1 = nilai ramalan berdasarkan metode pemulusan eksponensial sederhana, ES, untuk periode t-1 Pemilihan konstanta pemulusan untuk trend, β , dipilih berdasarkan percobaan. Beberapa nilai β perlu diuji untuk mengetahui mana yang memberikan hasil peramalan yang paling baik.
35 c. Menghitung nilai ramalan berdasarkan metode pemulusan eksponensial dengan mempertimbangkan kecenderungan, menggunakan persamaan :
Forecast Including Trend = New Forecast + trend Correction FITt
=
Ft
+
Tt
6. Model dekomposisi seri waktu (decompotition time series) Model peramalan ini menaganalisis seri waktu dengan membongkar data
masa
lalu
menjadi
komponen-komponen
dan
kemudian
memproyeksikannya ke depan. Ada 4 unsur seri waktu yang didekomposisi oleh model ini, yaitu : trend, musim, siklus, dan variasi acak. -
Trend (T) adalah gerakan ke atas atau ke bawah secara berangsur-angsur dari data sepanjang waktu.
-
Musim (S) adalah pola data yang berulang setelah periode harian, mingguan, bulanan, atau kuartalan. Kuartalan menjadi kaidah munculnya istilah musim, yaitu musim : gugur, dingin, semi, dan panas.
-
Siklus (C) adalah pola dalam data yang terjadi setiap beberapa tahun. Siklus biasanya dikaitkan dengan siklus bisnis dan merupakan hal yang sangat penting dalam analisis dan perancanaan bisnis jangka pendek.
-
Variasi acak (R) adalah “tanda” dalam data yang disebabkan oleh peluang dan situasi yang tidak biasa; variabel acak mengikuti pola yang tidak dapat dilihat. Variasi acak sering dihapus dengan menghilangkan periode waktu (seperti mingguan, bulanan) yang jelas-jelas menyimpang,
36 atau dengan menghilangkan nilai yang tinggi dan rendah ketika seri setidaknya mempuyai hitungan lusin. Dua bentuk model dekomposisi yang dikenal adalah dekomposisi perkalian (multiplicative decompotition) dan dekomposisi penambahan (additive decompotition). Yang paling banyak dipakai adalah model perkalian, yang mengasumsikan bahwa permintaan adalah hasil dari empat unsur : Permintaan = T × S × C × R. Sedangkan model penambahan memberikan estimasi dengan menambahkan keempat unsur tersebut : Permintaan = T + S + C + R. Gambar berikut menunjukkan permintaan produk selama empat tahun dengan indikasi trend dan musim.
Gambar 2.3. Permintaan Produk dengan Indikasi Trend dan Musim
37
2.1.7. Validasi Peramalan Setiap kali selesai melakukan perhitungan dan memperoleh hasil peramalan, hasil tersebut harus diuji keakuratannya. Hal yang perlu dilakukan adalah menghitung tracking signal untuk setiap nilai ramalan yang muncul.
Tracking signal adalah suatu ukuran bagaimana baiknya suatu ramalan memperkirakan nilai-nilai aktual (Gaspersz, 1998, p80). Suatu ramalan diperbarui setiap minggu, bulan, atau triwulan, sehingga data permintaan yang baru dibandingkan dengan nilai-nilai ramalan. Tracking signal dihitung sebagai hasil running sum of forecast error (RSFE) dibagi dengan mean absolute
deviation (MAD), sebagai berikut : RSFE MAD
Tracking Signal =
=
dimana : MAD =
∑ (actual demand in period i - forecast demand in period i )
MAD
∑ (absolut dari
forecast error ) n
n = banyaknya periode data George Plossl dan Oliver Wight, dua ahli pengendalian persediaan, menyarankan batas tracking signal menggunakan maksimum ± 4 MAD (untuk persediaan volume-tinggi) dan ± 8 MAD (untuk produk volume-rendah). Peramal yang lain menyatakan rentang MAD yang lebih rendah. Satu MAD kirakira sama dengan 0,8 deviasi standar, sehingga ± 2MAD = ± 1,6 deviasi standar, ± 3MAD = ± 2,4 deviasi standar, dan ± 4MAD = ± 3,2 deviasi standar. Ini menyatakan bahwa untuk ramalan yang berada “dalam pengawasan”, 89%
38 kesalahan diharapkan berada dalam ± 2 MAD, 98% berada dalam ± 3MAD, atau 99,9% dalam ± 4MAD. Selain melihat nilai MAD dan tracking signal, dapat juga dibuat grafik garis yang menggambarkan nilai aktual dan ramalan untuk melihat apakah pola ramalan pada model telah sesuai dan dapat mengikuti pola permintaan aktual. Apabila kesemua syarat ini sudah terpenuhi, model peramalan dianggap sah / valid dalam memperkirakan permintaan di masa mendatang.
2.1.8. Peramalan Menggunakan Perangkat Lunak “Quantitative Management” Saat ini sudah banyak alat bantu perangkat lunak yang ditawarkan untuk kemudahan dalam melakukan peramalan, seperti Crystal Ball Predictor, Minitab 14, SPSS, POM for Windows, dan QM for Windows. Karena model peramalan yang telah dijelaskan di atas sesuai dengan yang ada pada QM for Windows, maka perangkat lunak inilah yang akan dipakai. Cara penggunaannya ditampilkan dalam langkah-langkah sebagai berikut : 1. Buka program QM dan pilih Menu Module – Forecasting. 2. Ambil Menu File – New – Time Series Analysis. Selanjutnya akan muncul sebuah window “Create data set for Forecasting/Time Series Analysis” 3. Pada window tersebut, masukkan judul peramalan yang diinginkan (Title), dan jumlah periode data historis yang akan dipakai sebagai dasar peramalan (Past Period). Kemudian pilih nama yang hendak dimunculkan pada setiap baris nama periode nantinya, apakah hendak menggunakan huruf, angka, atau bulan. Setelah selesai, klik tombol OK.
39
Gambar 2.4. Penyetelan Data pada QM for Windows 4. Saat muncul layar seperti di bawah ini, yang perlu dilakukan adalah memasukkan nilai permintaan pada periode historis yang jumlahnya sesuai dengan pilihan sebelumnya, kemudian pilih metode peramalan yang akan dipakai dari method yang sudah tersedia di QM.
Gambar 2.5. Pemilihan Model Peramalan pada QM for Windows
40 5. Selanjutnya tentukan periode rata-rata yang diinginkan. Misal, ingin dilakukan peramalan rata-rata bergerak (MA) 3 bulanan, maka pada #Period to Average dimasukkan angka 3. Setelah itu, tinggal menekan tombol Solve untuk menjalankan peramalan. Hasil yang diberikan oleh QM berupa nilai error, perkiraan permintaan periode selanjutnya, analisis perhitungan detil, dan grafik yang menunjukkan nilai aktual berbanding nilai peramalannya. Apabila hendak menguji metode peramalan lain maupun mengubah rata-rata periode, cukup menekan tombol Edit, maka layar akan kembali seperti langkah sebelumnya.
Gambar 2.6. Hasil Peramalan pada QM for Windows
41 6. Untuk beberapa model peramalan, akan muncul data tambahan yang perlu diisi. Misal, untuk model rata-rata bergerak tertimbang / terbobot, akan muncul tabel nilai pembobot yang harus diisi. Sedangkan, untuk model dekomposisi, yang diminta adalah data jumlah musim (season) dan dasar pemulusan yang diinginkan. Semua data masukan tersebut, disesuaikan dengan model peramalan yang dipilih sebelumnya.
Gambar 2.7. Model Rata-Rata Bergerak Tertimbang pada QM for Windows
42
2.2.
Teori Persediaan
2.2.1. Pengertian Persediaan Persediaan atau yang lebih dikenal dengan sebutan inventori adalah stok suatu item atau sumber daya yang menganggur, yang disediakan untuk penggunaan di masa depan (Monks, 1996, p229). Sedangkan Chase et al. (2004, p513) mendeskripsikan persediaan sebagai stok tiap item dan sumber daya yang digunakan oleh perusahaan. Sistem persediaan adalah rangkaian kebijakan dan pengendalian yang memonitor tingkat persediaan dan pada tingkat berapa harus dipertahankan, kapan stok harus diisi lagi, dan berapa jumlah yang harus dipesan. Kaidahnya, persediaan pada perusahaan manufaktur umumnya merujuk pada item-item yang berkontribusi dan menjadi bagian dari produk akhir perusahaan. Tujuan pokok diadakannya analisis persediaan di perusahaan manufaktur adalah untuk mengetahui (1) kapan item-item perlu dipesan dan (2) berapa jumlah pemesanannya.
2.2.2. Tujuan Persediaan Dalam bukunya, Chase et al. (2004, pp513-514) juga menjelaskan lima tujuan diperlukannya persediaaan, yaitu : 1. Untuk memelihara independensi operasi. Suplai material di area kerja memungkinkan fleksibilitas operasi. Misal, karena ada biaya setiap membuat susunan produksi yang baru, persediaan memungkinkan manajemen untuk mengurangi jumlah penyusunan produksi tersebut.
43 2. Untuk memenuhi variasi permintaan. Karena permintaan terhadap produk tidak diketahui secara pasti, maka diperlukan adanya stok pengaman (safety stock) untuk menangani adanya variasi permintaan. 3. Untuk memungkinkan fleksibilitas penjadwalan produksi. Adanya persediaan mampu mengurangi beban sistem produksi untuk menghasilkan barang jadi. Persediaan menimbulkan lead time yang lebih panjang, memungkinkan perencanaan produksi mengalir lebih lancar dan mengurangi biaya operasi melalui lot-size produksi yang lebih besar. 4. Untuk menjadi pengaman karena variasi waktu pengiriman material. Ketika material dipesan dari vendor, keterlambatan mungkin terjadi karena beberapa alasan : adanya variasi normal pada waktu pengiriman, adanya kekurangan material pada pabrik milik vendor sehingga terjadi backlog / penundaan pekerjaan, adanya aksi mogok di pabrik milik vendor atau salah satu perusahaan pengiriman, pesanan yang terhilang, atau adanya kesalahan pengiriman dan kerusakan material. 5. Untuk mendapat keuntungan dari ukuran pemesanan ekonomis. Ada beberapa biaya untuk melakukan pemesanan, antara lain : biaya tenaga kerja, telepon, administrasi, meterai, dan seterusnya. Sehingga, semakin besar jumlah yang dipesan, semakin sedikit pesanan yang perlu dicatat. Demikian juga, semakin besar jumlah material yang dikirim, semakin rendah biaya kirim tiap unit materialnya.
44
2.2.3. Klasifikasi Persediaan Pujawan (2005, p103) mengklasifikasikan persediaan melalui tiga cara, yaitu : 1. Klasifikasi berdasarkan bentuk Berdasarkan bentuknya, persediaan dapat diklasifikasikan menjadi bahan baku (raw materials), barang setengah jadi (work in process), dan produk jadi (finished product). Klasifikasi ini biasanya hanya berlaku pada perusahaan manufaktur. 2. Klasifikasi berdasarkan fungsi Berdasarkan fungsinya, persediaan dibedakan menjadi : a. Pipeline / transit inventory Persediaan ini muncul karena lead time pengiriman dari satu tempat ke tempat lainnya. Misal, barang yang tersimpan di truk sewaktu proses pengiriman. Persediaan jenis ini dapat dikurangi dengan mempercepat proses pengiriman dengan cara mengubah alat atau mode transportasi, memakai pemasok lain yang lokasinya lebih dekat (dengan mempertimbangkan harga, kualitas, dan ongkos pengiriman). b. Cycle stock Persediaan ini akibat motif memenuhi skala ekonomi (jumlah pemesanan yang paling menguntungkan dari sudut pandang biaya, bukan kebutuhan). Persediaan ini mempunyai siklus tertentu. Pada saat pengiriman jumlahnya banyak, kemudian sedikit demi sedikit berkurang akibat dipakai atau dijual sampai akhirnya habis atau hampir habis, kemudian mulai dengan siklus baru lagi.
45 c. Safety stock Persediaan ini ada dengan tujuan sebagai perlindungan terhadap ketidakpastian permintaan maupun pasokan. Perusahaan biasanya menyimpan lebih banyak dari perkiraan kebutuhan selama suatu periode supaya jika sewaktu-waktu dibutuhkan bisa dipakai tanpa harus menunggu. Besar kecilnya persediaan pengaman terkait dengan biaya persediaan dan service level. d. Anticipation stock Persediaan ini dibutuhkan untuk mengantisipasi kenaikan permintaan yang bersifat musiman. Walaupun sifat permintaannya tidak pasti, namun perusahaan bisa memprediksi adanya kenaikan dalam jumlah yang signifikan (bukan sekedar pola acak). 3. Klasifikasi berdasarkan sifat ketergantungan kebutuhan antara satu item dengan item lainnya. Dependent demand adalah item-item yang kebutuhannya tergantung dari kebutuhan akan item-item yang lain. Biasanya, komponen atau bahan baku yang digunakan untuk membuat produk jadi termasuk ke dalam golongan ini, karena kebutuhannya tergantung dari berapa produk jadi yang akan dibuat. Independent demand adalah item-item yang kebutuhannya tidak tergantung dari item lain. Yang termasuk dalam golongan ini adalah produk jadi.
46
2.2.4. Biaya Persediaan Biaya-biaya yang berimbas pada pengambilan keputusan dalam analisis persediaan adalah sebagai berikut (Chase et al., 2004, p514) : 1. Biaya Simpan (Holding Costs) Kategori ini meliputi biaya fasilitas penyimpanan, penanganan material, asuransi, material tercuri, kerusakan, keusangan, penyusutan, pajak, dan investasi modal dalam bentuk persediaan. Jika biaya penyimpanan tinggi, sebaiknya tingkat persediaannya rendah dan lebih sering melakukan penambahan ulang. 2. Biaya Penyusunan (Setup Costs) Untuk membuat produk yang berbagai macam, perlu mendapatkan materialmaterial yang dibutuhkan, menyetel peralatan yang spesifik, menulis catatan yang diperlukan, pembebanan waktu dan material yang wajar, serta mengeluarkan persediaan yang sebelumnya. 3. Biaya Pesan (Ordering Costs) Biaya ini mencakup biaya yang berhubungan dengan pihak manajemen dan administrasi untuk menyiapkan pemesanan produksi atau pembelian. Biaya pesan meliputi semua detil, termasuk menghitung item dan jumlah barang yang akan dipesan. Biaya untuk memelihara sistem yang mengurus pemesanan juga termasuk ke dalam biaya pesan. 4. Biaya Kekurangan Persediaan (Shortage Costs) Ketika persediaan suatu item habis, pesanan terhadap item tersebut harus menunggu sampai persediaannya diisi atau pesanan dibatalkan. Ada trade-off antara mengadakan persediaan untuk memenuhi permintaan dan biaya akibat
47 kekurangan persediaan. Cara untuk menyeimbangkannya agak sulit, karena tidak mungkin memperkirakan besarnya profit yang hilang, efek kehilangan pelanggan, atau penalti karena keterlambatan. Biasanya, biaya kekurangan persediaan hanya berupa perkiraan kasar.
2.2.5. EOQ (Economic Order Quantity) Probabilistik Model persediaan EOQ probabilistik pada dasarnya sama dengan EOQ deterministik,
yaitu
mencari
jumlah
pemesanan
ekonomis
dengan
memperhitungkan dua macam biaya persediaan, meliputi : biaya pesan dan biaya simpan. Yang menjadi pembeda adalah, seperti namanya, EOQ probabilistik mengandung unsur ketidakpastian dan perlu didekati dengan distribusi probabilitas. Model EOQ probabilistik memperhitungkan perilaku permintaan dan tenggang waktu pesanan datang (lead time) yang tidak pasti atau tidak bisa ditentukan sebelumnya. Model ini valid saat salah satu dari kedua sifat tadi maupun kedua sifat tersebut terpenuhi. Ketika salah satu permintaan (demand) atau saat tenggang pesan (lead time) tidak bisa diketahui secara pasti sebelumnya, ada tiga kemungkinan yang akan terjadi : •
Persediaan habis ketika pesanan belum tiba.
•
Persediaan habis tepat pada saat pesanan tiba.
•
Persediaan belum habis saat pesanan tiba.
Apabila ketiga kemungkinan tersebut sering terjadi, tentu akan merugikan perusahaan karena persediaan yang tidak terkendali dan berdampak pada tidak
48 lancarnya arus produksi (saat terjadi kekurangan persediaan). Oleh karena itu, jalan keluar untuk mengantisipasi penyimpangan itu, perlu dibentuk cadangan keras (iron stock) atau persediaan pengaman (safety stock) melalui pendekatan distribusi probabilitas.
2.2.5.1. Persediaan Cadangan (Safety Stock) Ketika permintaan (demand) selama periode kedatangan pesanan (lead time) tidak bisa diketahui sebelumnya secara pasti, maka deviasi kapan persediaan dibutuhkan dan kapan persediaan datang harus diketahui. Distribusi normal akan dipakai untuk menggambarkan perilaku penyimpangan tersebut. Jika
rata-rata
permintaan
selama
periode
kedatangan
pesanan
ditransformasi ke mean atau nilai rata-rata kurva normal, maka perilaku penyimpangan tingkat permintaan itu akan menyebar di sekitar mean sehingga deviasi penyebaran itu akan dapat digunakan untuk memperkirakan persediaan cadangan (safety stock) yang berdasar pada perilaku penyimpangan variabelvariabel yang mempengaruhinya dan dinyatakan dalam σ .
Gambar 2.8. Deviasi pada Distribusi Normal
49 Gambar 2.8. menjelaskan cakupan luas area pada kurva normal dimana penyimpangan atau deviasi x terhadap rata-rata μ adalah (x - μ ) dan dinyatakan dalam standar deviasi σ . Pada dasarnya, σ menandai cakupan luas area tertentu pada kurva normal. Pada kasus persediaan cadangan ini, penyimpanganpenyimpangan x i terhadap μ dinyatakan dalam σ melalui :
σ=
∑
(X
i
−X n
)
2
Selanjutnya, nilai σ yang sudah didapat, digunakan untuk menemukan luas area dalam kurva normal z melalui : z=
x −μ σ
Nilai z yang menandai luas area, menandakan seberapa besar persentase kemungkinan kehabisan persediaan diinginkan terjadi. Selanjutnya, nilai z disebut sebagai faktor keamanan. Besarnya faktor keamanan ini dapat ditetapkan sebelumnya, sesuai keinginan perusahaan. Misal, perusahaan menginginkan kemungkinan persediaan habis adalah sebesar 5%, maka kemungkinan persediaan ada yaitu 95% atau 0,95. Pada tabel statistika luas di bawah kurva normal, untuk luas 0,95 nilai z-nya adalah 1,645. Untuk memudahkan pemahaman mengenai penggunaan kurva normal pada kasus penentuan persediaan cadangan, maka rumus di atas diubah menjadi :
zσ = x − μ Karena (x - μ ) mencerminkan persediaan persediaan cadangan, maka : Persediaan Cadangan = Faktor Keamanan x σ g
50
2.2.5.2. Kuantitas Pemesanan Ekonomis Menurut Siswanto (2007, p193), agar biaya total persediaan minimum, maka sebuah formula perlu diturunkan untuk memperoleh Q optimal (Q*). Dari hasil penurunan formula tersebut, didapatkan formulasi Q optimal untuk model EOQ probabilistik sebagai berikut : Q* =
2D(S + BK ∑ (K i − SP )P(K i )) h
2.2.5.3. Saat Pesan Ulang Ekonomis Saat pesan ulang atau SP sangat tergantung pada persediaan cadangan dan harapan pemakaian. Saat Pesan Ulang ekonomis dapat dihitung dengan formula berikut ini (Siswanto, 2007, p195) : SP = Persediaan Cadangan + Harapan Pemakaian
2.2.5.4. Kelemahan Model Saat pesan ulang atau SP dinyatakan dalam jumlah persediaan semasa tenggang pesan sangat tergantung kepada besar kecilnya persediaan cadangan dan harapan pemakaian selama masa tenggang pesan HP. Penentuan SP optimal atau pesan ulang ekonomis baru bisa dilakukan setelah jumlah persediaan cadangan optimal diketahui. Di sisi lain, persediaan cadangan optimal baru bisa dihitung setelah peluang kehabisan persediaan atau P(Ki) ditetapkan terlebih dahulu.
51 Jika perhitungan Q optimal (Q*) pada EOQ probabilistik dimulai dari : Q* =
2D(S + BK ∑ (K i − SP )P(K i )) h
maka di dalam formulasi itu masih terkandung parameter SP. Padahal SP dipengaruhi jumlah persediaan cadangan di mana pada, P(KP) =
h×Q D × BKP
masih terkandung variabel Q yang dicari. Dengan demikian, jelas sekali bahwa proses perhitungan Q optimal pada model EOQ probabilistik merupakan proses dengan siklus tertutup dimana output setiap proses perhitungan menjadi input bagi proses perhitungan
berikutnya. Maka, penentuan Q optimal dan SP optimal tidak bisa dilakukan sekaligus namun harus dilakukan secara bertahap dan bersifat coba-coba, kecuali memotong siklus itu dengan menganggap peluang kehabisan pesediaan atau ∑
(K i − SP )P(K i ) adalah nol.
52
2.3.
Sistem Informasi
2.3.1. Pengertian Sistem Menurut Martin et al. (2005, p355), sistem adalah rangkaian komponen yang saling berhubungan dan bekerjasama untuk mencapai tujuan bersama. Sedangkan McLeod (2001, p25) menjelaskan pengertian sistem sebagai suatu integrasi elemen-elemen yang semuanya bekerja menuju satu tujuan. Semua sistem meliputi tiga elemen utama, yaitu input, transformasi, dan output. Sebuah sistem memiliki tujuh elemen kunci sebagai berikut (Martin et al., 2005, p356) : 1. Boundary Gambaran mengenai elemen-elemen mana (seperti komponen dan storage) yang berada di dalam sistem untuk dianalisis, dan mana yang ada di luar sistem; diasumsikan bahwa elemen-elemen di dalam lingkup sistem lebih mudah berubah dan mudah untuk dikontrol daripada yang di luar. 2. Environment Segala sesuatu yang ada di luar sistem; lingkungan memberikan asumsiasumsi, batasan-batasan, dan masukan-masukan ke dalam sistem. 3. Inputs Sumber-sumber daya (data, material, suplai, energi) dari lingkungan yang dikonsumsi dan dimanipulasi di dalam sistem. 4. Outputs Sumber-sumber daya atau produk (informasi, laporan, dokumen, tampilan layar, material) yang disediakan untuk lingkungan akibat aktivitas di dalam sistem.
53 5. Components Aktivitas atau proses di dalam sistem yang mengubah input menjadi bentuk setengah jadi atau menghasilkan output sistem; komponen dapat juga dianggap sebagai sistem itu sendiri, dimana mereka disebut sebagai subsistem, atau modul. 6. Interfaces Tempat dimana dua komponen atau sistem dan lingkungannya bertemu untuk berinteraksi; sistem sering membutuhkan subkomponen khusus pada tampilan untuk menyaring, menerjemahkan, menyimpan, dan memeriksa apapun yang mengalir melalui tampilan. 7. Storage Area penyimpanan yang digunakan untuk menyimpan informasi, energi, material, dan seterusnya untuk semnetara dan permanen; storage menyediakan buffer di antara komponen sistem yang memungkinkan mereka untuk bekerja pada waktu dan aktivitas yang berbeda, dan memungkinkan komponen yang berbeda saling berbagi sumber data yang sama.
2.3.2. Pengertian Informasi Informasi adalah salah satu dari lima jenis utama sumber daya yang dapat dipakai oleh manajer. Semua sumber daya termasuk informasi dapat dikelola. Pengelolaan informasi semakin penting saat bisnis menjadi lebih rumit dan kemampuan komputer berkembang (McLeod, 2001, p25). Informasi merupakan data yang telah diproses dan diatur ulang menjadi bentuk yang lebih bermakna bagi seseorang (Whitten et al., 2004, p764).
54
2.3.3. Pengertian Sistem Informasi Menurut Martin et al. (2005, p355), sistem informasi adalah kumpulan dari teknologi informasi, prosedur, dan orang-orang yang bertanggung jawab dalam penangkapan, pergerakan, pengaturan, dan distribusi dari data dan informasi. Seperti sistem-sistem lainnya, sangat krusial bahwa komponenkomponen sistem informasi harus dapat bekerja sama dengan baik. Komponenkomponen tersebut harus konsisten, redundansinya minimal, lengkap, dan terkoneksi secara baik. Sedangkan pengertian sistem informasi menurut O’Brien (2005, p5) adalah kombinasi teratur dari orang-orang (people), perangkat keras (hardware), perangkat lunak (software), jaringan komunikasi (network) dan sumber daya data (data resource) yang mengumpulkan, mengubah, dan menyebarkan informasi dalam sebuah organisasi. Peran utama sistem informasi (O’Brien, 2005, pp10-11) adalah : 1. Mendukung proses bisnis 2. Mendukung pengambilan keputusan para pegawai dan manajernya dalam membuat strategi untuk keunggulan kompetitif.
55
2.4.
Analisis dan Perancangan Sistem Informasi
2.4.1
Analisis Sistem Informasi Menurut Whitten et al. (2004, p186), analisis sistem merupakan teknik penyelesaian masalah yang mendekomposisikan sistem ke dalam komponenkomponen pembentuknya dengan tujuan untuk mengetahui seberapa baik komponen-komponen tersebut bekerja sama dan beinteraksi untuk mencapai tujuan yang ditetapkan. Analisis sistem informasi termasuk dalam fase pengembangan proyek sistem informasi yang fokus utamanya adalah mengetahui permasalahan dan kebutuhan-kebutuhan yang ada di proses bisnis berjalan. Analisis sistem informasi bersifat independen dari setiap teknologi yang dapat maupun akan digunakan sebagai solusi terhadap masalah yang ada.
2.4.2
Perancangan Sistem Informasi Whitten et al. (2004, p186) berpendapat, perancangan sistem merupakan teknik penyelesaian masalah pelengkap (untuk analisis sistem) dengan mengumpulkan kembali komponen-komponen sistem menjadi sistem yang lengkap – dengan harapan, sistemnya lebih baik. Proses ini dapat melibatkan penambahan, penghapusan, dan pengubahan pada sistem berjalan. Perancangan sistem informasi meliputi kegiatan yang berfokus pada spesifikasi dari solusi detil yang berbasis komputer, disebut juga physical design. Bila analisis sistem menekankan pada masalah bisnis, sebaliknya perancangan sistem berfokus pada pertimbangan teknis dan implementasi sistemnya.
56
2.5.
Sistem Informasi Berorientasi Objek
2.5.1. Pemodelan Objek Pemodelan objek merupakan teknik untuk mengidentifikasi objek-objek di dalam suatu lingkungan sistem dan mengidentifikasi hubungan / relasi antara objek-objek tersebut (Whitten et al., 2004, p430). Teknik pemodelan objek menggambarkan penggunaan metodologi dan notasi diagram yang sangat berbeda dengan yang digunakan untuk pemodelan data dan pemodelan proses. Pada tahun 1994, Grady Booch, James Rumbaugh, dan Ivar Jacobson bergabung untuk menciptakan metode pengembangan sistem berorientasi objek. Fokus mereka adalah membuat sebuah bahasa pemodelan objek standar untuk melengkapi metode sistem berorientasi objek yang sudah ada. Hasilnya yaitu
Unified Modelling Language (UML) versi 1.0 yang dirilis pada tahun 1997. UML adalah seperangkat persetujuan bahasa pemodelan yang digunakan untuk menjelaskan atau menggambarkan sistem perangkat lunak (software) dalam kaitannya dengan objek. UML tidak menentukan metode pengembangan sistem, melainkan hanya menotasikan sistem tersebut ke dalam pemodelan objek standar yang dapat diterima oleh semua pihak.
2.5.2. Objek dan Kelas Menurut Mathiassen et al. (2000, p4), objek adalah sebuah entitas yang memiliki identitas (identity), atribut (state), dan perilaku (behavior). Contohnya objek sepeda yang memiliki identitas berupa nama ‘sepeda’, atributnya berupa pedal, roda, jeruji, dan stang. Sedangkan perilaku sepeda adalah kecepatannya bisa naik atau turun, bisa mengerem, pedalnya dapat dikayuh, dan sebagainya.
57 Kelas adalah deskripsi dari sekumpulan objek yang saling berbagi struktur, pola perilaku, dan atribut. Yang membedakan objek-objek di dalam suatu kelas adalah identitasnya. Tiap objek memiliki identitas yang berbeda dan spesifik. Kelas menjadi dasar dari modularitas dan struktur dalam pemrograman berorientasi objek. Sebagai contohnya, kelas manusia. Maka di dalam kelas tersebut disimpan data mengenai atribut / sifat-sifat yang dimiliki manusia (warna kulit, memiliki 2 mata, warna rambut, jenis kelamin, dst.) serta bagaimana perilakunya (berjalan, tidur, makan, dst.). Di dalam kelas manusia tersebut ada banyak objekobjek manusia sebagai anggotanya, yaitu manusia A, manusia B, manusia C, dan seterusnya, yang memiliki atribut dan perilaku yang sama.
2.5.3. Analisis Sistem Informasi Berorientasi Objek Analisis sistem informasi yang menggunakan pemodelan objek disebut dengan analisis sistem berorientasi objek atau object-oriented analysis (OOA). Seperti yang dijelaskan oleh Whitten et al. (2004, p430), bahwa OAA merupakan pendekatan yang digunakan untuk : 1. mempelajari objek-objek yang sudah ada untuk melihat apakah mereka dapat digunakan lagi atau disesuaikan untuk penggunaan yang baru, dan 2. mendefinisikan objek baru atau yang sudah dimodifikasi, yang akan digabungkan dengan objek-objek yang sudah ada ke dalam suatu aplikasi bisnis. Objek-objek yang diidentifikasi pada saat analisis disebut dengan entity
object (Whitten et al., 2004, p686; Mathiassen, 2000, p4). Objek entitas ini
58 merupakan objek yang berisi informasi (attribute) terkait dengan proses bisnis, sifatnya tetap, dan disimpan di dalam database. Atribut objek menunjukkan bagaimana user dapat membedakan suatu objek dengan objek-objek lain di dalam konteks sistem. Objek tersebut juga mengenkapsulasi behaviour (disebut method) untuk memelihara atribut / informasi yang dimilikinya. Sebuah objek entitas dikatakan bersifat tetap, yang artinya objek muncul sesaat setelah eksekusi program
software menciptakannya. Objek entitas hidup di antara eksekusi program karena informasi tentang objek entitas itu disimpan di dalam database, yang memungkinkan objek tersebut dipanggil kembali dan dimanipulasi.
2.5.4. Perancangan Sistem Informasi Berorientasi Objek Perancangan sistem informasi yang menggunakan pemodelan objek disebut perancangan sistem berorientasi objek atau object-oriented design (OOD). OOD adalah kelanjutan dari OAA; merupakan pendekatan yang digunakan untuk menetapkan solusi perangkat lunak / software yang berkenaan dengan kolaborasi objek, atribut-atribut objek, dan perilaku-perilaku objek (Whitten et al., 2004, p686). OOD menggunakan model yang sama dengan yang dikembangkan saat analisis dan menyaringnya untuk merefleksikan lingkungan produksi yang ditargetkan, termasuk software, hardware, dan teknologi arsitekturnya. Jika objek yang diidentifikasi saat analisis adalah objek yang merepresentasikan data aktual di dalam proses bisnis, maka selama perancangan
59 sistem akan diidentifikasi tipe-tipe objek lainnya sebagai hasil implementasi fisik sistem yang baru. Kedua tipe objek ini adalah :
1. Interface Object Objek ini dipakai sebagai alat agar user dapat berkomunikasi dengan sistem. Yang termasuk dalam interface object adalah jendela layar / window, kotak dialog / dialogue box, dan layar / screen. Tugas dari interface object adalah ; •
mentranslasikan masukan user menjadi informasi yang dapat dimengerti oleh sistem dan digunakan untuk memproses kejadian bisnis.
•
mengambil data yang terkait dengan kejadian bisnis dan mentranslasi data tersebut untuk dipresentasikan kepada user.
2. Control Object Objek ini berisi aplikasi logis atau aturan-aturan kejadian bisnis. Control
object mengatur interaksi interface object dan entity object agar sistem lebih robust. Selain itu aktivitas proses lebih mudah dikendalikan ketika implementasi sistem dijalankan. Di dalam use-case, sebuah control object dapat diasosiasikan dengan hanya satu actor saja.
60
2.5.5. Kriteria Pemrograman Berorientasi Objek Suatu bahasa pemrograman, disebut sebagai bahasa yang mendukung pemrograman berorientasi objek atau Object-Oriented Programming (OOP) jika memiliki kriteria sebagai berikut : 1. Enkapsulasi (Encapsulation) Prinsip enkapsulasi ini diaplikasikan kepada objek, dimana baik atribut dan perilaku objek tersebut dibungkus menjadi satu, yaitu di dalam objek itu sendiri (Whitten et al., 2004, p432). Jadi, setiap objek memiliki tanggung jawab terhadap fungsi dan perilaku yang mempengaruhi data (atau atribut) yang dimilikinya. Satu-satunya cara untuk mengakses atau mengubah atribut objek adalah melalui perilaku spesifik dari objek tersebut. Contoh : hanya SAYA (sebagai
objek) yang dapat MENGUBAH (sebagai perilaku) NAMA
AKHIR dan ALAMAT RUMAH (sebagai atribut) yang tersimpan di dalam
database mahasiswa BINUS. 2. Pewarisan (Inheritance) Konsep pewarisan merupakan konsep dimana perilaku dan / atau atribut yang didefinisikan di dalam suatu kelas objek, dapat diwariskan atau digunakan juga oleh kelas objek yang lainnya (Whitten et al., 2004, p434). Konsep ini memperkenalkan tingkatan / taksonomi di dalam kelas, yaitu
superclass dan subclass. Superclass mewakili kelas objek yang lebih umum (generalisasi), sedangkan subclass adalah kelas objek yang lebih rendah levelnya (spesialisasi).
61 Sebagai contoh, ORANG di dalam sebuah kelas pembelajaran dapat diklasifikasikan menjadi MURID dan GURU. Dalam hal ini, kelas objek ORANG menjadi superclass, dan kelas objek MURID dan GURU menjadi
subclass-nya. Untuk lebih jelas, diperlihatkan melalui gambar di bawah ini :
ORANG
Superclass
MURID
GURU
Subclass 1
Subclass 2
Gambar 2.9. Superclass - Subclass 3. Polimorfisme (Polymorphism) Polimorfisme merupakan konsep yang menyatakan dimana objek yang berbeda dapat meresponi pesan yang sama dengan cara yang berbeda pula (Whitten, 2004, p438). Misal, objek JENDELA dan PINTU yang samasama dapat melakukan proses membuka dan menutup. Tetapi cara kedua objek memproses buka dan tutup tersebut berbeda. Untuk PINTU, membuka-menutup dilakukan dengan mengayun ke dalam dan ke luar, sedangkan JENDELA dengan cara menggeser ke atas dan ke bawah. JENDELA pun bermacam-macam jenisnya. Tidak semua JENDELA harus menggeser ke atas dan ke bawah, ada juga yang harus didorong ke luar dan ke dalam seperti PINTU. Keragaman berbagai objek dalam meresponi pesan yang sama inilah yang disebut dengan polimorfisme.
62
2.6.
Analisis dan Perancangan Sistem Informasi Berorientasi Objek (OOA&D) Mathiassen et al. (2000, p12) menyebutkan, OOA&D merupakan kumpulan pedoman umum untuk melakukan analisis dan perancangan sistem. Metode ini harus disesuaikan dengan kondisi proyek / organisasi dimana sistem akan diimplementasikan. Ada 4 aktivitas utama yang dilakukan dalam OOA&D, yaitu : problem-domain analysis, application-domain analysis, architectural
design, dan component design, secara berturut-turut. Setiap aktivitas ini akan memberikan hasil yang spesifik. Hasil di tiap aktivitas tersebut nantinya akan disajikan dalam bentuk dokumentasi analisis dan dokumentasi perancangan
sistem. Cara mengatur dan mendokumentasikan aktivitas-aktivitas ini tergantung dari bagaimana menyesuaikan OOA&D dengan kebutuhan yang ada.
Requirement for use
Problem-Domain Analysis
Model
ApplicationDomain Analysis
Component Design Spesification of Component
Specifications of architecture Architectural Design
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p15) Gambar 2.10. Aktivitas Utama dalam OOA&D
63 2.6.1
System Choice
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p25) Gambar 2.11. Sub Aktivitas dalam Pemilihan Sistem Pemilihan sistem terdiri dari beberapa sub aktivitas seperti gambar di atas. Sub aktivitas pertama berfokus pada tantangan bagaimana cara untuk mendapatkan gambaran umum mengenai situasi permasalahan yang ada dan dari berbagai
sudut
pandang
orang
yang
menginterpretasikannya.
Cara
menggambarkan situasi ini adalah dengan membuat Rich Picture. Dengan menggunakan Rich Picture, situasi dari berbagai sudut pandang user bisa didapat dengan cepat. Tujuannya bukan untuk memberikan deskripsi yang detil mengenai keadaan secara keseluruhan, melainkan hanya untuk memberikan gambaran secara umum. Sub aktivitas kedua adalah menciptakan dan mengevaluasi ide-ide untuk perancangan
sistem.
Ide-ide
ini
menggambarkan
bagian
dari
solusi
terkomputerisasi yang dapat dirangkum dalam satu atau lebih definisi sistem. Proses menciptakan ide ini harus melibatkan user. Ada 3 cara untuk menciptakan dan mengevaluasi ide, yaitu :
64 •
Exemplars : mempelajari dan mengambil / meniru solusi dari organisasi yang juga mengalami permasalahan sistem yang sama. Misal, mempelajari sistem akunting standar yang beredar di pasaran.
•
Metaphors : melakukan studi dan pertemuan-pertemuan dengan membuat metafora dari permasalahan yang ada. Misal, sistem perpustakaan dimetaforakan dengan sistem pengendalian inventori.
•
Experiments : membuat prototipe sistem yang ditargetkan dengan alat bantu. Prototipe ini harus mudah diimplementasikan dan mudah diubahubah, tidak harus terkomputerisasi. Misal, menggambar layar pada secarik kertas dan membuat urutan gambar layar untuk mengilustrasikan penggunaan sistem nantinya. Pada sub aktivitas ketiga, diformulasikan dan dipilih definisi sistemnya,
merundingkan dan mengevaluasi alternatif-alternatif definisi sistem yang berhubungan dengan situasi yang ada. Definisi sistem diperoleh melalui iterasi ketiga subaktivitas tadi. Hal ini terjadi karena pemahaman situasi yang terus diperbarui dan penciptaan ide-ide baru yang inovatif. Tujuan dari sub aktivitas ketiga ini adalah memilih sistem aktual yang akan dikembangkan. Caranya dengan menjelaskan secara sistematis interpretasi-interpretasi, kemungkinankemungkinan, dan konsekuensi-konsekuensi dari beberapa alternatif solusi. Definisi sistem sebagai hasil pemilihan sistem harus dapat memberikan deskripsi yang jelas mengenai sistem terkomputerisasi dengan menggunakan bahasa sehari-hari. Definisi sistem dapat dinyatakan melalui kriteria FACTOR :
65 •
Functionality : merupakan fungsi sistem yang mendukung kegiatan application-domain.
•
Application domain : bagian organisasi yang mengelola, memonitor, dan mengontrol problem domain.
•
Conditions : situasi dimana sistem akan dikembangkan dan digunakan.
•
Technology : teknologi yang digunakan untuk mengembangkan sistem dan teknologi yang digunakan untuk menjalankan sistem.
•
Objects : Objek utama dalam problem domain.
•
Responsibility : Tanggung jawab sistem secara keseluruhan terhadap konteksnya.
2.6.2
Problem-Domain Analysis Problem domain adalah bagian dari konteks yang dikelola, dimonitor, dan dikontrol oleh sebuah sistem (Mathiassen et al., 2000, pp45-48). Problem-
domain analysis difokuskan untuk menjawab pertanyaan : “Informasi apa yang dihadapi oleh sistem?”. Selama aktivitas analisis berlangsung, akan dibuat sebuah
model
problem-domain
yang
menyediakan
bahasa
untuk
mengekspresikan kebutuhan-kebutuhan sistem. Saat perancangan sistem, model tersebut akan diubah ke dalam bentuk komponen yang mewakili atribut problem-
domain saat ini maupun yang di masa lalu. Model problem-domain harus dapat memberikan pemahaman yang benar kepada calon user. Titik awal utama dari analisis problem-domain adalah definisi sistem. Elemen “objek” dari definisi sistem (FACTOR) menyediakan kriteria
66 dasar pemilihan objek, class, dan event. Problem-domain analysis dibagi menjadi tiga aktivitas seperti yang terlihat pada gambar berikut :
System Definition
Classes
Behavior
Structure
Model
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p46) Gambar 2.12. Aktivitas dalam Problem-Domain Analysis 1. Classes
Classes menggambarkan kegiatan dalam mendefinisikan isi informasi dari sistem. Problem domain didefinisikan dan digolongkan dengan cara memilih kelas (class) dan operasi (event). Class menunjukkan bagian-bagian di dalam
problem domain, sedangkan event merujuk pada operasi-operasi yang dilakukan objek di dalam class. Event ini merupakan element dasar dari
behavior. Hasil dari aktivitas classes adalah sebuah event table yang berisi kelas-kelas yang terpilih bersama event-event yang terkait class tersebut. 2. Structure
Structure berhubungan dengan menggambarkan relasi struktural antara class dengan objek. Relasi di dalam problem domain ini ada yang bersifat statis (struktur abstrak antar class) dan dinamis (struktur antar objek). Hasil dariaktivitas struktur adalah class diagram yang menunjukkan kelas-kelas yang terpilih dan relasi struktural antara kelas-kelas dan objek-objek.
67 3. Behavior Behavior berkaitan dengan perilaku dan interaksi objek. Pada aktivitas ini digambarkan sifat-sifat dan atribut dinamis dari setiap kelas yang terpilih. Deskripsi dari perilaku dan atribut ini menciptakan penggolongan objek di problem domain dengan lebih jelas. Hasilnya disebut sebagai state diagram.
2.6.3
Application-Domain Analysis Application domain adalah organisasi yang mengelola, memonitor, dan mengontrol problem domain (Mathiassen et al., 2000, pp115-118). Applicationdomain analysis berfokus pada pertanyaan : “Bagaimana sistem target ini akan digunakan?”. Tujuan pertanyaan ini adalah untuk mendefinisikan kebutuhankebutuhan (requirement) akan fungsi sistem dan interface. Aktivitas-aktivitas dalam problem-domain analysis dapat dilihat pada gambar berikut :
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p117) Gambar 2.13. Aktivitas dalam Application-Domain Analysis
68 1. Usage Dari aktivitas ini, akan ditetapkan sistem target yang digunakan dalam
application domain dengan mengidentifikasi dan strukturisasi use case dan actor. Menurut Mathiassen et al. (2000, p119), actor adalah abstraksi user atau sistem lain yang berinteraksi dengan sistem target. Sedangkan use case adalah pola interaksi antara sistem dan actor di dalam application domain. Hasil dari aktivitas usage adalah use-case diagram. 2. Functions Tujuan aktivitas ini adalah untuk menetapkan kemampuan sistem dalam memproses informasi (Mathiassen et al., 2000, p137). Pada aktivitas ini diformulasikan kebutuhan fungsi-fungsi sistem. Fungsi adalah fasilitas untuk membuat model yang berguna bagi actor. Ada beberapa tipe fungsi dalam yang menunjukkan relasi antara model dan konteks sistem, yaitu : •
Update : fungsi yang diaktifkan oleh problem-domain event dan hasilnya adalah perubahan pada atribut model.
•
Signal : fungsi yang diaktifkan oleh perubahan pada atribut model dan hasilnya adalah reaksi di dalam konteks; reaksi ini mungkin ditampilkan ke actor dalam application domain, atau langsung mengintervensi problem domain.
•
Read : fungsi yang diaktifkan oleh kebutuhan akan informasi dari kegiatan kerja actor dan hasilnya merupakan tampilan bagian-bagian model yang relevan dengan informasi yang dibutuhkan.
69 •
Compute : fungsi yang diaktifkan karena kebutuhan informasi dari kegiatan kerja actor dan terdiri dari komputasi yang melibatkan informasi dari actor atau model; hasil yang ditampilkan berupa hasil perhitungan.
Aktivitas function ini berupa sebuah daftar fungsi (function list) beserta tipe fungsi dan kompleksitasnya. 3. Interface Di dalam aktivitas ini dibahas mengenai bagaimana menguraikan kebutuhan tampilan / interface sistem. Interface adalah fasilitas yang membuat actor dapat mengakses model sistem dan fungsi-fungsinya (Mathiassen et al., 2000, p151). User interface sebagai tampilan layar untuk user, hasilnya dapat berupa dialogue style dan form presentasi, daftar lengkap elemen user
interface, window diagram pilihan dan navigation diagram.
2.6.4
Architectural Design Tujuan dari aktivitas architectural design ini adalah untuk merancang sistem terkomputerisasi berupa spesifikasi arsitektur yang memenuhi kriteriakriteria tertentu. Hasil perancangan arsitektur ini juga menjadi kerangka kerja bagi aktivitas pengembangan yang tersisa (Mathiassen et al., 2000, pp173-176). Yang menjadi pedoman aktivitas perancangan adalah dokumentasi hasil aktivitas analisis sistem sebelumnya; seperti dijelaskan pada bagian 2.5.4, dimana OOD adalah kelanjutan dari OOA. Sesuai dengan tujuan tersebut di atas, perancangan arsitektur ini dibagi menjadi beberapa aktivitas seperti terlihat pada gambar berikut :
70
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p176) Gambar 2.14. Aktivitas dalam Architectural Design
1. Criteria Sebuah OOD akan dievaluasi untuk mengetahui apakah sistem tersebut nantinya akan memenuhi kebutuhan sesuai dengan yang dicatat dalam dokumentasi analisis. Sebuah perancangan yang baik memiliki beberapa karakteristik yaitu : •
tidak terdapat kelemahan yang mendasar, dan
•
bersifat usable, flexible, dan comprehensible.
Kriteria adalah sifat-sifat terpilih yang harus dimiliki oleh arsitektur sistem. Kriteria ini yang nantinya dipakai sebagai alat untuk mengukur kualitas software yang akan dibangun. Kriteria-kriteria yang ada akan dibuat prioritasnya sesuai dengan kebutuhan sistem target, yaitu apakah kriteria tersebut sangat penting, penting, kurang penting, tidak relevan, atau mudah ditambahkan. Beberapa kriteria yang dipertimbangkan adalah :
71 Tabel 2.3. Kriteria Dalam OOD
Kriteria Usable
Untuk mengukur ... Kemampuan sistem beradaptasi dengan organisasi, tingkat hubungan kerja, dan konteks teknisnya. Tindakan pencegahan terhadap akses terhadap data dan Secure fasilitas oleh pihak yang tidak berhak melakukannya. Nilai ekonomis dari fasilitas technical platform. Efficient Kemampuan dalam menjawab kebutuhan konteks sistem. Correct Kemampuan dalam melakukan eksekusi fungsi secara presisi. Reliable Biaya alokasi dan pembetulan kerusakan sistem. Maintainable Biaya untuk memastikan bahwa sistem berjalan sesuai dengan Testable perintah fungsinya. Biaya modifikasi / pengembangan dari sistem yang sudah Flexible dipasang. Comprehensible Usaha yang dibutuhkan untuk mendapatkan pemahaman yang koheren terhadap sistem. Potensi menggunakan bagian sistem ke dalam sistem lain Reusable yang berelasi. Biaya memindahkan sistem ke technical platform yang lain. Portable Biaya untuk merangkaikan sistem ini dengan sistem yang lain Interoperable untuk dioperasikan bersama-sama. Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p178) 2. Component Architecture Arsitektur komponen dibuat untuk menciptakan karakteristik struktur sistem yang flexible dan comprehensible. Aktivitas ini berfokus pada aspek-aspek yang stabil, yaitu kelas. Arsitektur ini mendekomposisikan struktur sistem ke dalam bentuk komponen-komponen yang saling berelasi. Hasil dari aktivitas ini adalah class diagram dengan spesifikasi komponen-komponen
kompleksnya.
72 3. Process Architecture Arsitektur proses dibuat untuk mendefinisikan struktur fisik yang membentuk sistem. Aktivitas ini berfokus pada aspek-aspek yang dinamis, yaitu objek. Arsitektur ini membentuk proses di dalam sistem agar mencapai koordinasi dan dapat digunakan secara efisien pada technical platform, dan memperhatikan
pertimbangan-pertimbangan
fisik.
Arsitektur
proses
mendekomposisikan struktur sistem menjadi beberapa proses yang berinteraksi. Hasil aktivitas ini berupa deployment diagram yang menunjukkan prosesor bersama program yang dilakukannya dan active
object di dalamnya.
2.6.5
Component Design Tujuan perancangan komponen adalah untuk menetapkan implementasi kebutuhan di dalam kerangka kerja arsitektural yang telah dibuat. Ada dua komponen sistem yang akan dibahas pada aktivitas ini, yaitu komponen model dan komponen fungsi. 1. Model component Tujuan komponen model dibuat adalah untuk menyampaikan data ke fungsi dan interface saat ini maupun yang lalu, dan terakhir kepada user dan sistem lainnya. Model harus merefleksikan relasi konseptual yang relevan dari
problem domain, jelas, dan cepat serta mudah digunakan. Dasar perancangan model ini adalah model berorientasi objek pada aktivitas analisis (class
diagram).
Kegiatan
utamanya,
menggambarkan
event
menggunakan
mekanisme yang tersedia di bahasa pemrograman berorientasi objek.
73 Hasilnya berupa revised class diagram yang biasanya terdiri dari penambahan kelas, atribut, dan struktur yang mewakili event. 2. Function component Tujuan komponen fungsi dibuat adalah untuk menetapkan implementasi fungsi. Behavior dalam sistem berorientasi objek yang digambarkan sebagai operasi, harus dapat diaktifkan melalui objek-objek kelas yang relevan. Dengan itu, komponen-komponen fungsi dalam kaitannya dengan operasi harus diimplementasi. Dasar perancangan ini adalah tipe-tipe fungsi yang ada (Signal, Read, Update, Compute). Hasilnya berupa class diagram dengan
operasi di dalam kelas dan komponen fungsinya.
74
2.7.
Notasi Mathiassen et al. (2000, pp329-330) mengemukakan bahwa notasi adalah sebuah bagian bahasa baku yang berbentuk teks dan grafik / gambar untuk menjelaskan sistem dan konteksnya. Tujuan penggunaan notasi ini adalah untuk menyederhanakan komunikasi dan dokumentasi. Notasi terdiri dari elemenelemen, aturan-aturan penyusunan elemen, dan tata cara untuk menafsirkannya. Notasi yang baik, memiliki beberapa karakteristik sebagai berikut : 1. dapat mengekspresikan baik gambaran secara umum maupun detil, 2. mengandung elemen-elemen tekstual dan grafikal, 3. dapat digunakan untuk membuat skema dan spesifikasi yang tepat, 4. memungkinkan pengendalian sintaksis dan konsistensi secara otomatis, 5. memungkinkan dukungan alat bantu yang terotomatisasi, 6. menciptakan lingkup keseluruhan yang relevan dan dapat digunakan secara konsisten. Pengembangan sistem informasi berorientasi objek atau object-oriented
analysis and design (OOA&D) menggunakan notasi-notasi dalam tiga jenis bentuk, yaitu : daftar dan tabel, diagram, dan spesifikasi tekstual. Masing-masing tahap dalam OOA&D memuat campuran dari ketiga jenis notasi tersebut. 1. Daftar dan Tabel Tabel sesuai untuk memberikan gambaran umum mengenai relasi antara dua elemen dalam deskripsi. Sedangkan daftar cocok dipakai untuk menjelaskan keseluruhan elemen di dalam kategori tertentu. Tabel dan daftar ini tidak termasuk dalam UML.
75 2. Diagram Diagram memberikan gambaran umum deskripsi dalam lingkup yang terbatas. Pada gambar di bawah ini, ditunjukkan diagram-diagram yang digunakan dalam OOA&D. Semuanya menggunakan notasi UML kecuali
rich picture, navigation diagram, dan window diagram. 3. Spesifikasi Tekstual Spesifikasi tekstual cocok untuk mendeskripsikan aspek-aspek detil secara singkat dan tepat. Spesifikasi tekstual ini juga tidak termasuk ke dalam UML, tetapi dapat dilampirkan sebagai catatan tambahan bagi elemen-elemen diagram yang sifat detilnya perlu dijelaskan.
76
2.8.
Diagram OOA&D
2.8.1
Rich Picture Rich picture merupakan gambar informal yang menggambarkan persepsi keseluruhan kegiatan yang menjadi lingkup proyek pengembangan sistem (Mathiassen et al., 2000, pp26-29). Rich picture menggambarkan secara khusus permasalahan sistem dan application domain.
Rich picture tidak memiliki notasi khusus, namun dalam pembuatannya harus dipertimbangkan agar benar-benar dapat memberikan pemahaman yang sesuai, baik terhadap user maupun tim pengembang sistem. Hal tersebut penting, karena rich picture merupakan alat bantu utama bagi tim pengembang sistem untuk meraih pemahaman yang jelas tentang lingkup proses yang dihadapinya. Di saat yang bersamaan, rich picture juga berguna sebagai alat bantu untuk memfasilitasi komunikasi yang baik dengan user.
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p28) Gambar 2.15. Contoh Rich Picture
77
2.8.2
Class Diagram Class diagram menggambarkan struktur objek di dalam sistem dan relasi antar objek-objek di dalam class itu. Class diagram memberikan gambaran umum problem domain secara koheren, yaitu dengan menggambarkan semua relasi struktural antara class dan objek di dalam model. (Mathiassen et al., 2000, pp69-77) Ada dua macam struktur di dalam class diagram, yaitu : 1. Structures between Classes Struktur class menandakan relasi antar class yang bersifat statis dan konseptual. Mereka menghubungkan class dimana relasinya tidak akan berubah kecuali ada perubahan pada deskripsinya. Ada dua macam struktur class : generalisasi dan cluster. Generalisasi mengumpulkan sifat-sifat umum dan pola behavior dari class-class yang berbeda ke bentuk class yang lebih umum. Sedangkan struktur cluster mengumpulkan beberapa class pada class diagram di bawah satu konsep yang menyeluruh. 2. Structures between Objects Struktur antar objek memiliki relasi yang lebih konkret dan dinamis. Relasi ini dapat berubah-ubah tanpa menunggu perubahan deskripsinya. Struktur antar objek juga memiliki dua macam tipe : agregasi dan asosiasi. Keduanya menangkap relasi yang dinamis antar objek dalam problem
domain. Agregasi menunjukkan relasi sebuah objek superior (the whole) yang terdiri dari beberapa objek inferior (the parts). Sedangkan asosiasi
78 menunjukkan kedua objek yang saling berhubungan memiliki relasi dalam prosesnya, namun sebatas hubungan asosiasi, seperti namanya. Struktur antar objek digambarkan sebagai relasi antara dua class atau lebih. Struktur yang digambarkan dalam tingkat class dengan tanda
multiplicity, artinya ada beberapa objek dari class yang berelasi tadi dapat dihubungkan.
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p70) Gambar 2.16. Contoh Class Diagram
79
2.8.3
Statechart Diagram Statechart diagram menggambarkan sifat umum dari semua objek dalam class dan berisikan atribut / state dan transisi atributnya. Selama analisis, biasanya menggambarkan atribut cukup dengan nama. Transisi menggambarkan
event
pada
problem
domain
sistem.
Statechart
diagram
juga
dapat
menggambarkan use case, dimana transisi sebagai simbol actions. (Mathiassen et al., pp341-343)
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p98) Gambar 2.17. Contoh Statechart Diagram
80
2.8.4
Use-Case Diagram Use-case diagram menunjukkan hubungan relasional antara actor dan use-case (Mathiassen et al., 2000, p343). Diagram ini menggambarkan esensi yang sama dengan actor table. Actor dan use-case adalah dua elemen dalam deskripsi. Koneksi antara keduanya mengindikasikan bahwa actor berperan dalam use-case yang bersangkutan. Koneksi ini juga dapat terlihat dalam struktur
class diagram. Namun, hal ini berlaku hanya untuk beberapa situasi khusus. Semua use-case yang didukung oleh satu sistem, dapat dikelompokkan dengan nama sistem yang sama. Selain itu, dapat dikelompokkan pula berdasarkan subsistemnya. Setiap use-case menentukan beberapa urutan interaksi yang mungkin antara actor dengan sistem. Detilnya dijelaskan menggunakan use-case specification atau statechart diagram.
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p129) Gambar 2.18. Contoh Use-Case Diagram
81
2.8.5
Sequence Diagram Sequence diagram menggambarkan interaksi antara beberapa objek dalam kurun waktu tertentu. Keberadaannya adalah sebagai tambahan class
diagram, yang menggambarkan situasi umum dan statis. Sequence diagram mampu menunjukkan situasi yang kompleks dan dinamis dari objek-objek yang dihasilkan oleh class diagram (Mathiassen et al., 2000, pp340-341). Pada sequence diagram, sumbu horisontal menunjukkan partisipasi objek dan sumbu vertikal menunjukkan urutan waktu. Interaksi terjadi ketika ada
message / pesan yang disampaikan antar objek. Sequence diagram dapat menggambarkan interaksi spesifik maupun beberapa urutan interaksi yang melibatkan perulangan atau pesan kondisional. Garis hidup (lifeline) objek berupa batang dengan nama objek di atasnya. Bagian garis hidup ini dapat diberi garis putus-putus sebagai tanda bahwa objek tidak terlibat dalam suatu situasi dalam diagram. Objek diciptakan ketika simbol objek dicantumkan sesuai urutan dan diterminasi menggunakan simbol dekstruksi (X). Saat ini, notasi untuk sequence diagram berkembang dengan adanya notasi untuk menggambarkan interaksi antar objek yang bersifat perulangan (loop), pilihan (option), dan alternatif (alternate). Contoh penggambaran
sequence diagram sebagai berikut :
82
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p157) Gambar 2.19. Contoh Sequence Diagram Standar
Sumber : [http2] Gambar 2.20. Contoh Sequence Diagram dengan Loop Frame
83
Sumber : [http2] Gambar 2.21. Contoh Sequence Diagram dengan Option Frame
Sumber : [http2] Gambar 2.22. Contoh Sequence Diagram dengan Alternate Frame
84
2.8.6
Navigation Diagram Diagram navigasi adalah bentuk spesial dari statechart diagram yang berfokus pada keseluruhan dinamika tampilan jendela layar (window) untuk
user. Diagram ini menunjukkan window-window yang berpartisipasi dan transisi window-window tersebut (Mathiassen et al., 2000, p344). Sebuah window direpresentasikan oleh sebuah atribut. Atribut ini memiliki nama dan berisi ikon yang berbentuk jendela layar mini (miniature
window). Transisi atribut dihubungkan ke tombol di dalam window. Dalam transisi atribut, ada aksi yang harus dilakukan user terhadap window untuk mengaktivasi transisi tersebut.
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p160) Gambar 2.23. Contoh Navigation Diagram
85
2.8.7
Window Diagram Window diagram menggambarkan rancangan satu jendela layar dan meliputi skema detil dari elemen-elemen jendela layar yang bersangkutan (Mathiassen et al., 2000, p344-345).
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p345) Gambar 2.24. Contoh WindowDiagram
86
2.8.8
Deployment Diagram Deployment diagram menggambarkan konfigurasi sistem dalam bentuk prosesor dan objek yang dilekatkan pada prosesor (Mathiassen et al., 2000, p340). Prosesor adalah sebuah unit yang dapat melakukan proses. Ketika berbicara mengenai konfigurasi, prosesor berperan sebagai objek.
External device adalah stereotip (bentuk klise) khusus dari prosesor. Komponen program adalah komponen koheren yang memberikan fasilitas tertentu kepada komponen lain. Karakteristiknya adalah memiliki tampilan layar untuk setiap class dan operasi yang diimplementasikannya. Sebuah prosesor dapat memiliki beberapa komponen program. Prosesor dan komponen program merupakan objek dan dapat berisikan objek-objek lainnya. Sehingga, notasi objek dapat digunakan pada deployment diagram.
Sumber : Object Oriented Analysis & Design. (Mathiassen et al., 2000, p210) Gambar 2.25. Contoh Deployment Diagram