BAB 2 LANDASAN TEORI 2.1 Peta Proses Operasi Peta proses operasi merupakan suatu diagram yang menggambarkan langkah-langkah proses yang akan dialami bahan baku mengenai urut-urutan operasi dan pemeriksaan. Sejak dari awal sampai menjadi produk jadi utuh maupun sebagai komponen, dan juga memuat informasi-informasi yang diperlukan untuk analisa lebih lanjut, seperti, waktu yang dihabiskan, material yang digunakan, dan tempat atau alat mesin yang dipakai. Jadi dalam suatu peta proses operasi, dicatat hanyalah kegiatankegiatan operasi dan pemeriksaan saja, kadang-kadang pada akhir proses dicatat tentang penyimpanan (Sutalaksana, 1979, p21). Untuk dapat menggambarkan Peta Proses Operasi dengan baik, ada beberapa prinsip yang perlu diikuti, sebagai berikut : 1. Pertama-tama, pada baris paling atas dinyatakan kepalanya “Peta Proses Operasi” yang diikuti oleh identifikasi lain seperti nama objek, nama pembuat peta, tanggal dipetakan cara lama atau cara sekarang, nomor peta dan nomor gambar. 2. Material yang akan diproses diletakkan di atas garis horisontal, yang menunjukkan bahwa material tersebut masuk ke dalam proses. 3. Lambang-lambang ditempatkan dalam arah vertikal, yang menunjukkan terjadinya perubahan proses. 4. Penomoran terhadap suatu kegiatan operasi diberikan secara berurutan sesuai dengan urutan operasi yang dibutuhkan untuk pembuatan produk tersebut atau sesuai dengan proses yang terjadi.
36 5. Penomoran terhadap suatu kegiatan pemeriksaan diberikan secara tersendiri dan prinsipnya sama dengan penomoran untuk kegiatan operasi.
2.2 Pengukuran Waktu Berdasarkan Sutalaksana (1979, p131) pengukuran waktu adalah pekerjaan mengamati dan mencatat waktu kerja baik setiap elemen ataupun siklus dengan menggunakan alat-alat yang telah disiapkan. Teknik pengukuran waktu dibagi ke dalam dua bagian, yaitu secara langsung dan tidak langsung. Secara langsung berarti pengukuran dilaksanakan secara langsung yaitu di tempat di mana pekerjaan yang bersangkutan dijalankan. Dua cara yang termasuk pengukuran secara langsung, yaitu dengan metode cara jam henti dan sampling pekerjaan. Sedangkan cara tidak langsung melakukan perhitungan waktu tanpa harus berada ditempat pekerjaan yaitu dengan membaca tabel-tabel yang tersedia asalkan mengetahui jalannya pekerjaan melalui elemen-elemen pekerjaan atau gerakan.
37
Gambar 2.1 Flowchart pengumpulan data dan pengolahan data jam henti
38 Langkah-langkah pengerjaan dari penyusun untuk pengumpulan dan pengolahan: 1. Pengumpulan data waktu elemen kerja Mengumpulkan data waktu elemen kerja sesuai dengan kebutuhan metode yang dipakai untuk menyelesaikan masalah terjadi di lapangan. 2. Mengklasifikasi data Dilakukan
klasifikasi
terhadap
data
yang
telah
dikumpulkan
untuk
mempermudah dalam proses pengolahan data. 3. Uji kenormalan data Melakukan uji kenormalan data pada data yang telah dikumpulkan dan diklasifikasi. Jika data tidak lolos uji kenormalan data maka data yang telah diambil dan diklasifikasi tidak dapat digunakan. Sehingga data harus dibuang dan harus dilakukan pengumpulan data waktu elemen kerja lagi. 4. Uji keseragaman data Melakukan uji keseragaman data pada data yang telah lolos uji kenormalan data. Jika data tidak lolos uji keseragaman data maka data pencilan yang ada harus dibuang, lalu kembali ke langkah uji kenormalan data. 5. Uji kecukupan data Melakukan uji kecukupan data pada data yang telah lolos uji kenormalan data dan uji keseragaman data. Jika data tidak lolos uji kecukupan data maka kekurangan data yang ada harus dilengkapi, lalu kembali ke langkah uji kenormalan data. 6. Waktu siklus Melakukan perhitungan waktu siklus.
39 7. Waktu normal Melakukan perhitungan waktu normal. 8. Waktu baku Dari hasil perhitungan waktu elemen tiap proses, serta data performance dan allowance maka akan diolah menjadi data waktu baku tiap elemen proses. Pengukuran waktu ditujukan untuk mendapatkan waktu baku penyelesaian pekerjaan yaitu waktu yang dibutuhkan secara wajar oleh seorang pekerja yang normal untuk menyelesaikan suatu pekerjaan yang dijalankan dalam sistem kerja terbaik.
2.2.3
Pengujian Keseragaman Data Sebelum data dapat digunakan maka perlu dilakukan pengujian keseragaman
data untuk dapat menetapkan waktu standar, dengan tujuan untuk mengetahui apakah hasil pengukuran waktu cukup seragam untuk digunakan. Suatu data dikatakan seragam, yaitu data yang berasal dari sistem sebab yang sama, bila berada di antara kedua batas kendali. Langkah-langkah pemrosesan hasil pengukuran pendahuluan adalah: 1. Kelompokkan hasil pengukuran ke dalam beberapa subgrup dan hitung rata-rata dari tiap subgrup:
Xk =
∑ Xi n
dimana : n = banyaknya data dalam satu subgrup k = jumlah subgrup yang terbentuk Xi = data pengamatan
40 2. Hitung rata-rata dari rata-rata subgrup:
X=
∑ Xk k
3. Hitung standar deviasi dari waktu penyelesaian:
σ=
∑ ( Xi − X )
2
N −1
dimana : N = jumlah pengamatan pendahuluan yang dilakukan 4. Hitung standar deviasi dari distribusi harga rata-rata subgrup: σx =
σ n
Perumusan batas kendali adalah sebagai berikut: BKA = X + Z σ
x
| BKB = X − Z σ
x
| Z = 1−
1− β 2
dimana : BKA = Batas Kendali Atas BKB = Batas Kendali Bawah Z
= Nilai dari tabel distribusi normal sesuai dengan tingkat keyakinan
2.2.2 Pengujian Kenormalan Data
Uji kenormalan: suatu kumpulan data hasil pengukuran layak untuk diolah jika data-data tersebut berdistribusi normal. Uji kenormalan dilakukan untuk membuktikan apakah data-data yang telah diperoleh memiliki pola distribusi yang
41 sesuai dengan distribusi normal atau tidak. Pengujian terhadap kenormalan data menggunakan Kolmogorov-Smirnov normality test. Nilai P- value yang diperoleh dari hasil perhitungan Kolmogorov-Smirnov test dibandingkan dengan nilai P-value yang sesuai dengan tingkat keyakinan yang telah ditentukan dengan menggunakan uji hipotesa sebagai berikut. H0 = Data berdistribusi Normal H1 = Data tidak berdistribusi Normal Analisa: •
Tolak H0 jika P-value Kolmogorov-Smirnov Test < nilai α (data tidak berdistribusi normal).
•
Gagal Tolak H0 jika P-value Kolmogorov-Smirnov Test > nilai α (data berdistribusi normal).
2.2.3
Pengujian Kecukupan Data
Menurut Sutalaksana (1979, p.134), uji kecukupan data dilakukan untuk mendapatkan apakah jumlah data hasil pengamatan cukup untuk melakukan penelitian. Uji kecukupan data bertujuan untuk mengetahui apakah jumlah sample yang diambil telah cukup untuk mewakili populasi. 2 ⎛k 2 ⎜ s N∑ Xi − (∑ Xi ) N'=⎜ ∑ Xi ⎜ ⎝
Apabila N>N’ maka jumlah sample sudah mencukupi.
2
⎞ ⎟ ⎟ ⎟ ⎠
42 Dimana: N’ = jumlah pengamatan yang seharusnya dilakukan. K = tingkat kepercayaan dalam pengamatan. (k=2, 1-α = 95%). S = derajat ketelitian dalam pengamatan (5%). N = jumlah pengamatan yang sudah dilakukan. Xi = data pengamatan.
2.2.5
Faktor Penyesuaian dan Kelonggaran
Faktor kelonggaran adalah faktor penilaian atas kewajaran kerja pekerja saat pengukuran waktu dilakukan. Tujuannya adalah mendapatkan data waktu kerja normal. Sementara faktor kelonggaran adalah penilaian atas pengaruh atau dampak kondisi dan lingkungan kerja terhadap kinerja pekerja. Tujuan dari pemberian faktor kelonggaran adalah memperoleh data waktu baku kerja yang dapat mewakili data semua pekerja. Metode yang digunakan adalah metode Westinghouse, dimana pada faktor penyesuaian terdapat kriteria penilaian berupa: •
Ketrampilan Ketrampilan adalah kemampuan operator mengikuti cara kerja yang ditetapkan.
•
Usaha Usaha adalah kesungguhan yang ditunjukkan atau diberikan operator ketika melakukan pekerjaannya.
•
Kondisi Kerja
43 Kondisi kerja yang dimaksud adalah kondisi fisik lingkungannya seperti keadaan pencahayaan, ttemperatur, dan kebisingan suara. •
Konsistensi Konsistensi yang dimaksud di sini adalah konsistensi waktu pekerja dalam menyelesaikan pekerjaannya.
Sementara kriteria-kriteria penilaian pada faktor kelonggaran adalah sebagai berikut:
2.2.5
•
Besarnya tenaga yang dikeluarkan saat bekerja.
•
Sikap/posisi kerja
•
Gerakan kerja
•
Kelelahan mata
•
Keadaan temperatur tempat kerja
•
Keadaan atmosfer lingkungan/tempat kerja
•
Keadaan lingkungan yang baik
•
Kelonggaran untuk kebutuhan pribadi
Waktu Baku
Waktu normal = rata-rata waktu siklus × (1+penyesuaian) ⎛ ⎞ 100 Waktu baku = waktu normal × ⎜ ⎟ ⎝ 100 − % kelonggaran ⎠
44 2.3 Peramalan 2.3.1
Definisi Peramalan
Menurut Sofjan Assauri peramalan/Forecasting adalah kegiatan untuk memperkirakan apa yang akan terjadi pada masa yang akan datang.
Peramalan
diperlukan karena adanya perbedaan waktu antara kesadaran akan dibutuhkannya suatu kebijakan baru dengan waktu pelaksanaan kebijakan tersebut. Jadi dalam menentukan kebijakan itu perlu diperkirakan kesempatan atau peluang yang ada, dan ancaman yang mungkin terjadi. Dalam suatu perusahaan, ramalan dibutuhkan untuk memberikan informasi kepada berbagai kegiatan seperti penjualan, permintaan, persediaan, keuangan dan sebagainya. Baik tidaknya hasil suatu penelitian dalam ekonomi dan dunia usaha sangat ditentukan oleh ketepatan ramalan yang dibuat. Demikian pula baik tidaknya keputusan dan rencana yang disusun juga sangat bergantung pada ketepatan ramalan yang dibuat. Walaupun demikian perlu disadari bahwa ramalan tetaplah ramalan yang selalu memiliki unsur kesalahan (error). Sehingga penting diperhatikan untuk memperkecil kemungkinan kesalahan tersebut sekecil mungkin.
2.3.2
Jenis-Jenis Peramalan
Pada umumnya peramalan dapat dibedakan dari beberapa segi tergantung dari cara melihatnya. Apabila dilihat dari segi sifat penyusunannya, maka peramalan dapat dibedakan atas dua macam yaitu: •
Peramalan yang subjektif, yaitu peramalan yang didasarkan atas perasaan atau intuisi dari orang yang menyusunnya. Dalam hal ini pandangan atau
45 judgement dari orang yang menyusunnya sangat menentukan baik tidaknya hasil ramalan tersebut. •
Peramalan yang objektif, yaitu peramalan yang didasarkan atas data yang relevan pada masa lalu, dengan menggunakan data teknik-teknik dan metode-metode dalam penganalisaan data tersebut.
Disamping itu, jika dilihat dari jangka waktu ramalan yang disusun, maka peramalan dapat dibedakan atas dua macam, yaitu: •
Peramalan jangka panjang, yaitu peramalan yang dilakukan untuk penyusunan hasil ramalan yang jangka waktunya lebih dari satu setengah tahun atau tiga semester. Peramalan seperti ini misalnya diperlukan dalam penyusunan rencana pembangunan suatu negara atau daerah, corporate planning, rencana investasi atau rencana expansi dari suatu perusahaan.
•
Peramalan jangka pendek, yaitu peramalan yang dilakukan untuk penyusunan hasil ramalan dengan jangka waktu kurang dari setengah tahun, atau tiga semester. Peramalan seperti ini diperlukan dalam penyusunan rencana tahunan, rencana kerja operasional, dan anggaran, contohnya penyusunan rencana produksi, rencana penjualan, rencana pengadaan, rencana persediaan, anggaran produksi, dan anggaran perusahaan.
46 Berdasarkan sifat ramalan yang telah disusun, maka peramalan dapat dibedakan menjadi dua macam, yaitu: •
Peramalan kualitatif, yaitu peramalan yang didasarkan atas data kwalitatif pada masa lalu. Hasil peramalan yang dibuat sangat bergantung pada orang yang menyusunnya. Biasanya peramalan kualitatif didasarkan atas hasil penyelidikan, seperti Delphi, S-curve, analogies dan penilaian bentuk atau morphological research, atau didasarkan atas ciri-ciri normatif seperti decision matrices atau decision trees.
•
Peramalan kuantitatif, adalah peramalan yang didasarkan atas data kuantitatif pada masa lalu. Hasil peramalan yang dibuat sangat tergantung pada metode peramalan yang digunakan. Peramalan kuantitatif hanya dapat digunakan apabila terdapat tiga kondisi sebagai berikut: •
Adanya informasi tentang keadaan yang lain
•
Informasi tersebut dapat dikuantifikasikan dalam bentuk data
•
Dapat diasumsikan bahwa pola yang lalu akan berkelanjutan pada masa yang akan datang.
47 Jenis-jenis peramalan kuantitatif: a. Time Series Jenis peramalan ini merupakan estimasi masa depan yang dilakukan berdasarkan nilai masa lalu dari suatu variabel dan / atau kesalahan masa lalu. b. Metode Causal Peramalan ini memberikan suatu asumsi bahwa faktor yang diramalkan mewujudkan suatu hubungan sebab akibat dengan satu atau lebih independent variabel. Tujuannya adalah untuk menemukan bentuk hubungan tersebut dan menggunakannya untuk meramalkan nilai mendatang dari dependent variable.
2.3.3 Langkah-Langkah Peramalan
Pada dasarnya ada beberapa langkah peramalan yang penting yaitu: 1. Menganalisis data yang lalu Tahap ini berguna untuk pola yang terjadi pada masa lalu. Analisis ini dilakukan dengan cara membuat tabulasi dari data yang lalu. 2. Menentukan metode yang digunakan Masing-masing metode akan memberikan hasil peramalan yang berbeda. Dengan kata lain, metode peramalan yang baik adalah metode yang menghasilkan penyimpangan antara hasil peramalan dengan nilai kenyataan yang sekecil mungkin. 3. Memproyeksikan data yang lalu dengan menggunakan metode yang dipergunakan dan mempertimbangkan adanya beberapa faktor perubahan.
48 Faktor-faktor perubahan tersebut antara lain terdiri dari perubahan kebijakan-kebijakan yang mungkin terjadi, termasuk perubahan kebijakan pemerintahan, perkembangan potensi masyarakat, perkembangan teknologi dan penemuan-penemuan baru, dan perbedaan antara hasil ramalan yang ada dengan kenyataan.
2.3.4 Jenis-Jenis Pola Data
Data yang diplot adalah data masa lalu yang dipergunakan untuk meramalkan data di masa yang akan datang. Dari data yang telah diplot akan terlihat pola data untuk menentukan metode ramalan yang akan digunakan. Menurut Makridakis (1999, p21), pola–pola data deret waktu yang umum terjadi yaitu :
1. Pola Horisontal ( H ) Terjadi bila nilai data berfluktuasi di sekitar nilai rata–rata yang konstan. (Deret seperti itu “ stasioner “ terhadap nilai rata–ratanya). Suatu produk yang penjualannya tidak meningkat atau menurun selama waktu tertentu termasuk jenis ini. Demikian pula, suatu keadaan pengendalian mutu yang menyangkut pengambilan contoh dari suatu proses produksi berkelanjutan yang secara teoritis tidak mengalami perubahan juga termasuk jenis ini.
49
Gambar 2.2 Pola Data Stasioner / Horisontal (H) 2. Pola Musiman / Seasonal (S) Terjadi bila suatu deret dipengaruhi oleh faktor musiman (misalnya kuartal tahun tertentu, bulanan, atau hari–hari pada minggu tertentu). Penjualan dari produk seperti minuman ringan, es krim, dan bahan bakar pemanas ruang, semuanya menunjukkan jenis pola ini.
Gambar 2.3 Pola Data Musiman / Seasonal (S)
50 3. Pola Siklis / Cyclical (C) Terjadi bila data dipengaruhi oleh fluktuasi ekonomi jangka panjang seperti yang berhubungan dengan siklus bisnis. Penjualan produk seperti mobil, baja, dan peralatan utama lainnya menunjukkan jenis pola ini.
Gambar 2.4 Pola Data Siklis / Cyclical (C)
4. Pola Trend (T) Terjadi bila terdapat kenaikan atau penurunan sekuler jangka panjang dalam data. Penjualan banyak perusahaan, produk bruto nasional (GNP) dan berbagai indikator bisnis atau ekonomi lainnya mengikuti suatu pola trend selama perubahannya sepanjang waktu.
Gambar 2.5 Pola Data Trend (T)
51 2.3.5
Analisis Error Peramalan
Terdapat dua penilaian yang umum dipakai untuk menilai error suatu hasil peramalan yaitu: •
Mean Squared Error (MSE) merupakan cara untuk mengukur kesalahan peramalan keseluruhan. MSE merupakan rata-rata selisih kuadrat antara nilai yang diramalkan dan yang diamati.
MSE = Kekurangan
penggunaan
∑ kesalahan peramalan n MSE
adalah
bahwa
MSE
cenderung
menonjolkan deviasi yang besar karena adanya pengkuadratan. Menggunakan MSE sebagai perhitungan kesalahan peramalan biasanya menunjukkan bahwa lebih baik mempunyai beberapa deviasi yang kecil daripada satu deviasi besar. Dengan MSE selisih error akan tampak lebih jelas karena adanya faktor pengkuadratan. •
Mean Absolute Percent Error (MAPE). Masalah yang terjadi dengan
MAD dan MSE adalah bahwa nilai mereka tergantung pada besarnya unsur yang diramal. Permasalahan ini dapat dihindari dengan MAPE. MAPE dihitung sebagai rata-rata diferensiasi absolute antara nilai yang diramal dan actual dinyatakan sebagai persentase nilai actual, jika kita memiliki nilai yang diramal dan actual untuk n periode. Sangat penting bagi kita untuk tidak sepenuhnya bergantung hasil analisa statistic dalam bentuk angka. Kita juga perlu untuk ”melihat” (dalam arti yang
sebenarnya) data kita dalam bentuk grafik, bahkan keadaan data kita dalam worksheet minitab untuk memeriksa kejanggalan-kejanggalan yang mungkin terjadi.
52 2.3.6
Peramalan Regresi Linear
Analisis deret waktu (time series) adalah suatu teknik atau metode peramalan dengan menggunakan analisis hubungan antara variabel yang dicari atau diramal dengan hanya satu-satunya variabel bebas yang mempengaruhinya yang merupakan variabel waktu. Jadi dalam analisis deret waktu ini, variabel yang menentukan atau variabel bebas (independent variable) hanyalah variabel waktu. Dalam bentuk Y = f(x), maka Y adalah variabel yang diramalkan dan x adalah variabel waktu. Dengan regresi linear yang sederhana dimaksudkan suatu pola hubungan yang berbentuk garis lurus antara suatu variabel yang diramalkan dengan satu variabel yang mempengaruhinya atau variabel bebas. Dalam analisa deret waktu ini variabel bebasnya adalah waktu. Pola hubungan yang ditunjukkan dengan analisa regresi yang sederhana mengasumsikan bahwa hubungan di antara dua variabel dapat dinyatakan dengan suatu garis lurus. Dalam penerapannya secara mudah dilakukan dengan menempatkan atau memplot titik-titik dari data observasi pada kertas gambar atau grafik untuk melihat asumsi yang dapat digunakan bagi analisa regresi. Selanjutnya digambarkan atau ditariklah suatu garis yang tepat mewakili titik-titik tersebut. Notasi regresi sederhana yang merupakan pola garis lurus itu dinyatakan sebagai: Y = a + bX Dimana Y adalah variabel yang diramalkan, X adalah variabel waktu, serta a dan b adalah parameter atau koefisien regresi. Garis lurus yang dicari adalah garis lurus yang mendekati titik-titik dari data historis. Untuk mencari garis lurus tersebut, kita perlu mencari besaran a dan b, besaran tersebut merupakan nilai konstan yang tidak berubah-ubah di dalam penganalisaan yang dilakukan. Artinya bila diperoleh nilai atau besaran a dan b, maka setiap nilai X atau
53 variabel waktu akan dpat diperoleh besaran Y atau variabel yang dicari untuk nilai X tersebut. Terdapat beberapa teknik dan metode yang dapat digunakan untuk mencari atau mengestimasi nialai a dan b dalam hubungan fungsional dari regresi sederhana Y = a + bX. Pada prinsipnya teknik dan metode yang ada mendasarkan proses analisanya pada usaha untuk mendapatkan suatu garis lurus yang tepat melalui atau mendekati titik-titik yang berserakan (scatter) dari data observasi. Garis tersebut dinyatakan sebagai berikut: ∧
Y=a+bX Kesalahan ramalan yang terdapat adalah: ∧
ei = Yi - Y
Sedangkan penyimpangan atau deviasi ramalan adalah: d = Yi - Y ∧
Dalam hal ini Y adalah nilai yang diramalkan, X adalah variabel yang mempengaruhi atau variabel bebas,
ei
adalah kesalahan ramalan, d adalah
penyimpangan atau deviasi, Yi adalah nilai observasi, dan Y adalah rata-rata dari nilai ∧
observasi. Selisih nilai ramalan atau estimasi dan nilai observasi rata-rata dengan Y − Y
yang merupakan besaran yang ditunjukkan atau diterangkan dengan terdapatnya garis yang melalui atau mendekati titik-titik dari data observasi. Seperti telah diuraikan di atas usaha yang dilakukan untuk mendapatkan garis yang tepat untuk ramalan adalah dengan meminimalisasikan kesalahan ramalan.
54 Kesalahan ramalan diminimalisasikan dengan cara mengambil turunan parsial atau parsial derivative dari jumlah kesalahan ramalan, dan kemudian menyamakannya dengan nol. Proses pengerjaannya adalah sebagai berikut: ∧ ∑ ei2 = ∑ ⎛⎜⎝ Yi - Yi ⎞⎟⎠
2
∧
Dimana dari persamaan tersebut diketahui Y = a + bX sehingga dengan substitusi diperoleh:
∑ e = ∑ ( Y - a + bX ) 2 i
∂ ( ∑ ei )
2
i
2
= -2∑ ( Yi - a - bX i ) = 0
∂a
∂ ( ∑ ei )
i
2
= -2∑ X i ( Yi - a - bX i ) = 0
∂b
Dari persamaan tersebut dapat diperoleh hasil persamaan dibawah ini, yang merupakan formula umum dari teknik dan metode yang disebut least squares. Kedua persamaan tersebut adalah:
∑ Y = na + bX ∑ X Y =a∑ X i
i
i i
i
+ b ∑ Xi
Nilai-nilai a dan b dapat diperoleh dengan pemecahan secara simultan dari kedua persamaan di atas. Nilai a dan b dapat diperoleh sebagai berikut: a=
∑Y − b ∑ X i
n
n
Atau
a = Y - bX Dan
i
55
b=
n ∑ Xi Yi - ∑ X i ∑ Yi n ∑ Xi2 - ( ∑ X i )
2
Atau b=
2.4
∑ X Y - X∑ Y ∑ X -X∑ X i
i
2 i
i
i
Linear Programming
2.4.1 Definisi Linear Programming
Linear programming adalah suatu teknik matematik dalam menentukan
alokasi sumber-sumber untuk mencapai suatu tujuan tertentu. Persoalan linear programming adalah suatu persoalan untuk menentukan besarnya masing-masing nilai
variabel sedemikian rupa sehingga nilai fungsi tujuan (objective function) yang linier menjadi optimum (maksimum atau minimum) dengan memperhatikan pembataspembatas yang ada yaitu pembatas mengenai inputnya. Linear Programming ini menggunakan model matematis untuk menjelaskan
persoalan yang dihadapinya. Sifat “linier” disini memberi arti bahwa seluruh fungsi matematis dalam model ini merupakan fungsi yang linier, sedangkan kata “programa” merupakan sinonim untuk perencanaan. Dengan demikian programa linier adalah perencanaan aktivitas-aktivitas untuk memperoleh suatu hasil yang optimum, yaitu suatu hasil yang mencapai tujuan terbaik diantara seluruh alternatif yang fisibel.
56 Dalam membangun model dari formulasi persoalan diatas akan digunakan karakteristik-karakteristik yang biasa digunakan dalam persoalan programa linier, yaitu: •
Variabel keputusan Variabel keputusan adalah variabel yang menguraikan secara lengkap keputusan-keputusan yang akan dibuat.
•
Fungsi tujuan Fungsi tujuan merupakan fungsi dari variabel keputusan yang akan dimaksimumkan (untuk pendapatan atau keuntungan) atau diminimumkan (pendapatan/minggu)
–
(ongkos
material/minggu)
–
(ongkos
tenaga
kerja/minggu). •
Pembatas Pembatas merupakan kendala yang dihadapi sehingga kita tidak bisa menentukan harga-harga variabel keputusan secara sembarang. Koefisien dari variabel keputusan pada pembatas disebut koefisien teknologis, sedangkan bilangan yang ada di sisi kanan setiap pembatas disebut ruas kanan pembatas.
•
Pembatas tanda Pembatas
tanda
adalah
pembatas
yang
menjelaskan
apakah
variabel
keputusannya diasumsikan hanya berharga nonnegatif atau variabel keputusan tersebut boleh berharga positif, boleh juga negatif (tidak terbatas dalam tanda).
57 Dapat ditarik kesimpulan mengenai pengertian programa linier. Programa linier adalah suatu persoalan optimasi dimana kita melakukan hal-hal berikut: •
Kita berusaha memaksimalkan atau meminimumkan suatu fungsi linier dari variabel-variabel keputusan yang disebut fungsi tujuan.
•
Harga / besaran dari variabel-variabel keputusan itu harus memenuhi suatu set pembatas.
Setiap
pembatas
harus
merupakan
persamaan
linier
atau
ketidaksamaan linier. •
Suatu pembatas tanda dikaitkan dengan setiap variabel.
2.4.2 Formulasi Linear Programming
Dalam model Linear Programming dikenal dua macam fungsi, yaitu : fungsi tujuan (objective function) dan fungsi-fungsi batasan (constraint functions). Fungsi tujuan adalah fungsi yang menggambarkan tujuan/sasaran yang berkaitan dengan pengaturan secara optimal sumber daya-sumber daya, untuk memperoleh keuntungan maksimal atau biaya minimal. Sedangkan fungsi batasan merupakan bentuk penyajian secara matematis batasan-batasan kapasitas yang tersedia yang akan dialokasikan secara optimal ke berbagai kegiatan. Masalah keputusan yang sering dihadapi adalah alokasi optimum sumber daya yang langka. Sumber daya dapat berupa uang, tenaga kerja, bahan mentah, kapasitas mesin, waktu, ruangan atau teknologi. Tugas analisis adalah mencapai hasil terbaik yang mungkin dengan keterbatasan sumber daya ini. Hasil yang diinginkan mungkin ditunjukkan sebagai maksimasi dari beberapa ukuran, seperti profit, penjualan dan kesejahteraan, atau minimasi seperti biaya, waktu, dan jarak.
58 Setelah masalah diidentifikasikan, tujuan ditetapkan, langkah selanjutnya adalah formulasi model matematik yang meliputi tiga tahap, sebagai berikut : •
Tentukan variabel yang tak diketahui (variabel keputusan) dan nyatakan dalam simbol matematik.
•
Membentuk fungsi tujuan yang ditunjukkan sebagai suatu hubungan linier (bukan perkalian) dari variabel keputusan.
•
Menentukan semua kendala masalah tersebut dan mengekspresikan dalam persamaan atau pertidaksamaan yang juga merupakan hubungan linier dari variabel keputusan yang mencerminkan keterbatasan sumber daya masalah itu.
Agar dapat memudahkan pembahasan model LP ini, digunakan simbol-simbol sebagai berikut : m
= macam batasan-batasan sumber atau fasilitas yang tersedia.
n
= macam kegiatan-kegiatan yang menggunakan sumber atau fasilitas tersebut.
i
= nomor untuk sumber atau fasilitas yang tersedia (i = 1, 2, …, m)
j
= nomor untuk aktivitas (sebuah variabel keputusan) (j = 1, 2, …, m)
cij
= koefisien keuntungan per unit
xj
= tingkat aktivitas j (sebuah variabel keputusan ) untuk j = 1,2,...,n
aij
= banyaknya sumber i yang digunakan/dikonsumsi oleh masing-masing unit aktivitas j ( untuk i = 1,2,...,m dan j = 1,2,...,n ).
bi
= banyaknya sumber i yang tersedia untuk pengalokasian ( i= 1,2,...,m ).
Z
= ukuran keefektifan yang terpilih
59 Bentuk baku model Linear Programming : Fungsi tujuan
:
Maksimumkan atau minimumkan Z = C1X1 +C2X2 + C3X3 + … + CnXn
Fungsi Pembatas
:
a11X1 + a12X2 +a13X3 + … + a1nXn ≤ b1 a21X1 + a22X2 +a23X3 + … + a2nXn ≤ b2 . . .
am1X1 + am2X2 +am3X3 + … + amnXn ≤ bm dan X1 ≥ 0, X2 ≥ 0, …, Xn ≥ 0
2.4.3
Metode Simpleks
Apabila suatu persoalan program linier hanya mengandung dua kegiatan (variabel keputusan) saja, maka dapat dipecahkan dengan metode grafik, tetapi jika mengandung tiga atau lebih variabel keputusan, maka metode grafik tidak dapat digunakan lagi, sehingga diperlukan alternatif lain yaitu dengan metode simpleks. Langkah pertama, metode simpleks mengharuskan agar setiap batasan ditempatkan dalam bentuk standar yang khusus dimana setiap batasan diekspresikan sebagai persamaan dengan menambahkan variabel slack dan surplus sebagaimana diperlukan. Jenis konversi ini umumnya menghasilkan sekelompok persamaan dimana jumlah variabel adalah lebih besar daripada jumlah persamaan, yang umumnya berarti bahwa persamaan-persamaan tersebut menghasilkan sejumlah titik pemecahan yang
60 tidak terbatas. Titik ekstrim dari ruang ini dapat diidentifikasi secara aljabar sebagai pemecahan dasar (basic solution) dari sistem persamaan simultan tersebut. Dari teori aljabar linier, sebuah pemecahan dasar diperoleh dengan menetapkan beberapa variabel yang sebanyak selisih antara jumlah total variabel dengan jumlah total persamaan memiliki nilai sama dengan nol dan lalu memecahkan variabel sisanya, dengan ketentuan bahwa kondisi tersebut menghasilkan satu pemecahan yang unik. Pada intinya, transisi dari prosedur grafik ke prosedur aljabar sepenuhnya bergantung pada keabsahan hubungan penting berikut: Titik ekstrim ÍÎpemecahan dasar Dengan titik adanya ruang pemecahan grafik untuk menuntun kita ke arah solusi optimal, kita memerlukan sebuah prosedur untuk mengidentifikasi suatu pemecahan dasar awal dan lalu bergerak secara sistematis ke pemecahan dasar lainnya yang memiliki potensi untuk memperbaiki nilai fungsi tujuan. Pada akhirnya, pemecahan dasar yang bersesuaian dengan nilai optimum akan diidentifikasi dan proses perhitungan berakhir. Pada gilirannya, metode simpleks merupakan prosedur perhitungan yang berulang (iterative) dimana setiap pengulangan (iterasi) berkaitan dengan satu pemecahan dasar. Penentuan pemecahan dasar dalam metode simpleks umumnya melibatkan perincian perhitungan yang menjemukan. Perincian seperti ini sebaiknya tidak mengalihkan perhatian kita darii gagasan dasar metode ini: menghasilkan beberapa pemecahan dasar secara berurutan dengan cara yang akan mengarahkan kita pada titik ekstrim optimum.
61 Langkah-langkah pemecahan linier programming dengan menggunakan metode simpleks: 1
Formulasikan dan standarisasikan modelnya
2
Bentuk tabel awal simpleks berdasarkan informasi model di atas
3
Tentukan kolom kunci di antara kolom-kolom variabel yang ada, yaitu kolom yang mengandung nilai (cj-Zj) paling posistif untuk kasus maksimasi dan mengandung nilai (cj-Zj) paling negatif untuk kasus minimasi.
4
Tentukan baris kunci di antara baris-baris variabel yang ada, yaitu baris yang memiliki rasio kuantitas dengan nilai positif terkecil.
5
Bentuk tabel berikutnya dengan memasukkan variabel perdata ke kolom variabel dasar dan mengeluarkan variabel perantau dari kolom tersebut, serta lakukan transformasi baris-baris variabel.
6
Lakukan uji optimalitas, dengan kriteria jika semua koefisien pada baris (cj-Zj) sudah tidak ada lagi yang bernilai positif (maksimasi) atau sudah tidak ada lagi yang bernilai negatif (minimasi), berarti tabel sudah optimal. Jika kriteria tersebut belum terpenuhi, maka diulang mulai dari langkah ke-3 sampai ke-6 hingga terpenuhi kriteria tersebut.
2.4.4
Pemrograman Linear Integer
Integer programming adalah program linear (Linear Programming) di mana variabel-variabelnya
bertipe
integer.
Integer
programming
digunakan
untuk
memodelkan permasalahan yang variabel-variabelnya tidak mungkin berupa bilangan yang tidak bulat (bilangan real), seperti variabel yang merepresentasikan jumlah orang, karena jumlah orang pasti bulat dan tidak mungkin berupa pemecahan. Integer
62 programming juga biasanya lebih dipilih untuk memodelkan suatu permasalahan karena
program linear dengan variabel berupa bilangan real kurang baik dalam memodelkan permasalahan yang menuntut solusi berupa bilangan integer.
2.5
Penjadwalan Mesin
2.5.1 Definisi Penjadwalan Mesin
Menurut Rosnani Ginting (Penjadwalan mesin, 2009, p1) penjadwalan mesin adalah pengurutan pembuatan/pengerjaan produk secara menyeluruh yang dikerjakan pada beberapa buah mesin. Dengan demikian masalah sequencing senantiasa melibatkan pengerjaan sejumlah komponen yang sering disebut dengan istilah job. Job sendiri masih merupakan komposisi dari sejumlah elemen-elemen dasar yang disebut aktivitas atau operasi. Tiap aktivitas atau operasi ini membutuhkan alokasi sumber daya tertentu selama peiode waktu tertentu yang sering disebut dengan waktu proses. Menurut Baker (Introduction to sequencing and scheduling, p2) penjadwalan adalah pengalokasian sumber daya yang terbatas untuk mengerjakan sejumlah pekerjaan.
2.5.2 Tujuan Penjadwalan Mesin
Menurut Bedworth (1987) tujuan dari aktivitas penjadwalan adalah sebagai berikut: 1. Meningkatkan
penggunaan
sumberdaya
atau
mengurangi
waktu
tunggunya, sehingga total waktu proses dapat berkurang, dan produktivitas dapat meningkat. 2. Mengurangi persediaan barang setengah jadi atau mengurangi sejumlah pekerjaan yang menunggu dalam antrian ketika sumberdaya yang ada
63 masih mengerjakan tugas yang lain. Teori Baker mengatakan, jika aliran kerja suatu jadwal konstan, maka antrian yang mengurangi waktu alir akan mengurangi rata-rata persediaan barang setengah jadi. 3. Mengurangi beberapa kelambatan pada pekerjaan yang mempunyai batas waktu penyelesaian sehingga akan meminimisasi penalty cost (biaya kelambatan). 4. Membatu pengambilan keputusan mengenai perencanaan kapasitas pabrik dan jenis kapasitas yang dibutuhkan sehingga penambahan biaya yang mahal dapat dihindarkan.
2.5.3 Model Penjadwalan
Proses penjadwalan timbul jika terdapat keterbatasan sumber daya yang dimiliki sehingga diperlukan adanya pengaturan sumber-sumber daya tersebut secara efisien. Berbagai model penjadwalan telah dikembangkan untuk mengatasi persoalan penjadwalan tersebut. Menurut Baker (1974), model penjadwalan dapat dibedakan menjadi 4 jenis keadaan, yaitu: 1. Mesin yang digunakan dapat berupaproses dengan mesin tunggal atau proses dengan mesin majemuk. 2. Pola aliran proses dapat berupa aliran identik atau sembarang. Pola aliran dapat dibedakan menjadi flowshop dan jobshop. Flowshop terdiri atas pure flowshop dan general flowshop. Pada pure flowshop berbagai pekerjaan akan mengalir pada lini produksi yang sama dan tidak dimungkinkan adanya variasi. Pada general flowshop dimungkinkan adanya variasi antara
64 pekerjaan atau pekerjaan yang dating tidak harus dikerjakan di semua mesin. Sedangkan pada jobshop, setiap pekerjaan memiliki pola aliran kerja yang berbeda. 3. Pola kedatangan pekerjaan statis atau dinamis. Pada pola statis, pekerjaan datang bersamaan pada waktu nol dan siap dikerjakan atau kedatangan pekerjaan bisa tidak bersamaan tetapi saat kedatangan telah diketahui sejak waktu nol. Pada pola dinamis mempunyai sifat kedatangan pekerjaan tidak menentu, artinya terdapat variabel waktu sebagai faktor yang berpengaruhi. 4. Sifat indormasi yang diterima dapat bersifat deterministik atau stokastik. Model deterministik memiliki kepastian informasi tentang parameter dalam model, sedangkan model stokastik mengandung unsur ketidakpastian.
Parameter yang dimaksud adalah: •
Saat datang, saat siap, jumlah pekerjaan, batas waktu penyelesaian (due date), dan bobot kepentingan masing-masing pekerjaan.
•
Jumlah operasi, susunan mesin (routing), waktu proses, dan waktu set up.
•
Jumlah dan kapasitas mesin, kemampuan dan kecocokan tiap mesin terhadap pekerjaan yang akan dikerjakan.
65 Pada proses penjadwalan produksi deterministik dibutuhkan tiga parameter dasar, yaitu: •
Processing time (ti) atau waktu proses, yaitu waktu yang dibutuhkan untuk
memberikan nilai tambah pada order i. •
Ready time (ri) atau saat siap, yaitu saat paling awal order i dapat diproses oleh
mesin. •
Due date (di) atau saat kirim, yaitu saat kirim order i kepada konsumen.
Secara garis besar, pengurutan pekerjaan pada mesin terdiri atas dua jenis, yaitu: •
Pengurutan n pekerjaan terhadap 1 mesin
•
Pengurutan n pekerjaan terhadap m mesin
Pengurutan n pekerjaan terhadap m mesin juga terdiri atas dua jenis, disesuaikan dengan kondisi permasalahan, yaitu: •
m mesin pararel, maksudnya masing-masing pekerjaan (job) diproses pada 1 mesin yang disusun secara pararel.
•
m mesin seri, maksudnya masing-masing pekerjaan harus melewati masingmasing mesin.
66 2.5.4 Output Penjadwalan
Untuk memastikan bahwa suatu aliran kerja yang lancar akan melalui tahapan produksi, maka sistem penjadwalan harus membentuk aktivitas-aktivitas output sebagai berikut: 1. Pembebanan (Loading) Pembebanan melibatkan penyesuaian kebutuhan kapasitas untuk order-order yang diterima/diperkiraan dengan kapasitas yang tersedia. Pembebanan dilakukan dengan menugaskan order-order pada fasilitas-fasilitas, operatoroperator dan peralatan tertentu. 2. Pengurutan (Sequencing) Pengurutan merupakan penugasan tentang order-order mana yang diprioritaskan untuk diproses dahulu bila suatu fasilitas harus memproses banyak job. 3. Prioritas job (dispaching) Dispaching merupakan prioritas kerja tentang job-job mana yang diseleksi dan diprioritaskan untuk diproses. 4. Pengendalian kinerja penjadwalan Pengendalian kinerja penjadwalan dilakukan dengan: •
Meninjau kembali status order-order pada saat melalui sistem tertentu.
•
Mengatur kembali urutan-urutan, misalnya expediting order-order yang jauh di belakang atau mempunyai prioritas utama.
5. Updating jadwal Updating jadwal dilakukan sebagai refleksi kondisi operasi yang terjadi dengan
merevisi prioritas-prioritas.
67 2.5.5 Penjadwalan Mesin Heuristic Pour
Menurut Hamid Davoud Pour (2001) mengembangkan algoritma heuristik baru di dalam menyelesaikan penjadwalan flowshop dengan tujuan meminimalkan makespan (flowtime maksimum) yaitu berdasarkan pendekatan kombinasi. Hal ini dilakukan dengan cara mengganti setiap job dengan job lainnya dalam urutan sampai ditemukan kombinasi urutan yang dapat memenuhi kinerja tujuan. Dalam metode ini diasumsikan bahwa semua job diproses secara terpisah dan independent untuk setiap mesinnya. Berikutnya adalah notasi yang digunakan: •
Pij = waktu proses dari job i pada mesin j.
•
Cij = rentang waktu antara saat job i pada mesin j dimulai (t=0) sampai job itu selesai.
•
Ci = sum of completion time untuk job i pada semua mesin.
•
Fmax = rentang waktu antara saat pekerjaan tersedia atau dapat dimulai sampai pekerjaan itu selesai (makespan).
Langkah-langkah pengerjaan Algoritma Heuristic Pour: 1. Memilih job 1 sebagai urutan pertama sementara dalam urutan pengerjaan sehingga waktu proses job 1 pada semua mesin dianggap nol. 2. Menempatkan job-job lain (selain job yang sudah dipilih sebagai urutan pertama, yaitu job 1) pada urutan berikutnya. 3. Memilih waktu proses terkecil untuk masing-masing mesin. 4. Melakukan penambahan waktu proses (completion time) pada setiap Pij dengan aturan increasing processing time, yaitu dengan menambahkan waktu proses secara kumulatif dari yang terkecil menuju yang terbesar pada tiap Pij.
68 5. Menghitung sum of completion time (∑Ci) untuk setiap job yang ada. 6. Mengurutkan ∑Ci dengan aturan increasing order (yaitu pengurutan yang dimulai dari yang terkecil hingga yang terbesar) untuk diletakkan pada urutan setelah job yang sudah dipilih untuk urutan pertama sementara (yaitu job 1). 7. Setelah didapatkan urutan sementara di mana job 1 sebagai urutan pertama, maka hitunglah Fmax-nya dari urutan sementara tersebut. 8. Melakukan ulang langkah 1-7 untuk setiap job yang ada yang akan ditempatkan sebagai urutan pertama dari urutan pengerjaan job sampai didapatkan nilai Fmax paling minimal. 9. Melakukan ulang langkah 1-8 untuk job yang akan menempati posisi berikutnya yaitu pada posisi kedua, ketiga dan seterusnya setelah terpilih job untuk posisi pertama dengan nilai Fmax minimum.
69
Gambar 2.6 Flowchart Pengerjaan Algoritma Heuristic Pour
70 2.6 Sistem Informasi 2.6.1
Pengertian Sistem Informasi Pengertian sistem menurut O’Brien (2005, p29) adalah sekelompok elemen
yang saling berhubungan atau berinteraksi hingga membentuk satu kesatuan. Konsep sistem berikut ini lebih tepat untuk bidang sistem informasi. Sistem adalah sekelompok komponen yang saling berhubungan, bekerja bersama untuk mencapai tujuan bersama dengan menerima input serta menghasilkan output dalam proses transformasi yang teratur. Sistem semacam ini disebut sebagai sistem dinamis dan memiliki tiga fungsi dasar (input-proses-output) yang saling berinteraksi: •
Input melibatkan penangkapan dan perakitan berbagai elemen yang memasuki sistem untuk diproses. Contohnya, bahan baku, energi, data, dan usaha manusia harus terjamin dan diatur untuk pemrosesan.
•
Pemrosesan melibatkan proses transformasi yang mengubah input menjadi output. Contohnya adalah proses manufaktur, proses bernafasnya manusia, atau perhitungan matematika.
•
Output melibatkan perpindahan elemen yang telah diproduksi oleh proses transformasi ke tujuan akhirnya. Contohnya, barang jadi, layanan oleh manusia dan informasi manajemen harus dipindahkan ke para pemakainya.
•
Umpan balik/feedback adalah data mengenai kinerja sistem. Contohnya, data mengenai kinerja penjualan adalah umpan balik bagi manajer penjualan.
•
Pengendalian melibatkan pengawasan dan pengevaluasian umpan balik untuk menetapkan apakah sistem bergerak menuju pencapaian tujuan atau
71 tidak. Fungsi pengendalian kemudian akan membuat penyesuaian yang dibutuhkan atas komponen input pemrosesan sistem, untuk memastikan bahwa sistem tersebut menghasilkan output yang sesuai. Contohnya, seorang manajer menjalankan pengendalian ketika menugaskan kembali seorang tenaga penjualan ke wilayah penjualan yang baru, setelah mengevaluasi umpan balik mengenai kinerja penjualan mereka.
Input
Proses
Output
feedback Gambar 2.7 Model Dasar Sistem
McLeod (2001, p12) berpendapat informasi adalah data yang telah diproses atau data yang memiliki arti. Sedangkan menurut O’Brien (2004, p13) informasi adalah data yang telah dikonversikan menjadi konteks yang berarti dan berguna bagi pemakai tertentu. Terdapat empat dimensi informasi menurut McLeod (2001, p145), yaitu : •
Ketepatan waktu Informasi harus dapat tersedia untuk memecahkan masalah pada waktu yang tepat sebelum situasi menjadi tidak terkendali atau kesempatan yang ada menghilang.
•
Kelengkapan Perusahaan khususnya manajer harus dapat memperoleh informasi yang memberi gambaran lengkap dari suatu permasalahan atau penyelesaian.
72 Namun pemberian informasi yang tidak berguna secara berlebihan harus dihindari. •
Akurasi Secara ideal, semua informasi harus akurat untuk menunjang terbentuknya system yang akurat pula. Akurasi ini terutama diperlukan dalam aplikasiaplikasi tertentu seperti aplikasi yang melibatkan keuangan, semakin teliti informasi yang diinginkan maka biaya pun semakin bertambah.
•
Relevansi Informasi disebut relevan jika informasi tersebut berkaitan langsung dengan masalah yang sedang dihadapi. Manajer harus mampu memilih informasi yang diperlukan.
Pengertian sistem informasi menurut Whitten et al (2004, p10) adalah pengaturan orang, data, proses, dan information technology (IT)/teknologi informasi yang berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan sebagai output informasi yang diperlukan untuk mendukung sebuah organisasi.
73 2.6.2 Sumber Daya Sistem Informasi
Gambar 2.8 Komponen-Komponen Sistem Informasi
Sumber : O’Brien (2005, p34) Gambar di atas menunjukkan bahwa sistem informasi memiliki lima sumber daya dasar yaitu manusia, hardware, software, data dan jaringan. Sumber daya sistem informasi dan produknya menurut O’Brien (2005, p35-36): 1. Sumber Daya Manusia (SDM) •
Para pakar: sistem analis, pembuat software, operator system.
•
Pemakai akhir: orang-orang lainnya yang menggunakan sistem informasi.
2. Sumber Daya Perangkat Keras (hardware) •
Mesin: komputer, monitor video, disk drive magnetis, printer, pemindai optikal.
•
Media: floppy disk magnetic tape, disk optikal, kartu plastik, formulir kertas.
74 3. Sumber Daya Perangkat Lunak (software) •
Program: program system operasi, program spreadsheets, program word processing, program penggajian.
•
Prosedur: prosedur entri data, prosedur untuk memperbaiki kesalahan, prosedur pendistribusian cek gaji.
4. Sumber Daya Data •
Deskripsi produk, catatan pelanggan, file kepegawaian, database persediaan.
5. Sumber Daya Jaringan •
Media komunikasi, pemrosesan komunikasi, software untuk akses dan pengendalian jaringan.
6. Produk Informasi •
Laporan manajemen dan dokumen bisnis yang menggunakan tampilan teks serta grafik, respons audio, dan formulir kertas.
2.6.3 Object Oriented Analysis & Design (OOA&D) Menurut Whitten et al (2004, p27) object-oriented analysis and design adalah kumpulan peralatan dan teknik untuk pengembangan sistem yang akan memanfaatkan teknologi object untuk mengkonstruksikan sebuah sistem dan perangkat lunaknya. Sementara menurut Whitten et al (2004, p408) object-oriented analysis itu sendiri adalah suatu pendekatan yang digunakan untuk mempelajari objek yang sudah ada untuk mengetahui apakah mereka dapat digunakan kembali atau diadaptasi untuk
75 pemakai baru, atau menentukan satu objek baru atau yang dimodifikasi yang akan digabung dengan objek yang sudah ada ke dalam suatu aplikasi komputasi bisnis yang sangat berharga. Sedangkan object modeling adalah teknik untuk mengidentifikasi objek di dalam lingkungan sistem dan mengidentifikasi hubungan antar objek-objek tersebut (Whitten et al, 2004, p408). Menurut mathiassen et al (2000, pp5-6) menyatakan bahwa keuntungan menggunakan OOAD antara lain : 1. OOA&D memberikan informasi yang jelas mengenai context sistem. 2. Selain dapat mendukung dalam menangani data dalam jumlah besar OOA&D dapat mendistribusikannya ke seluruh bagian organisasi 3. OOA&D berhubungan erat dengan object oriented analysis, object oriented design, object oriented user interface, dan object oriented programming. Sedangkan kelemahan OOA&D menurut Raymond McLeod, Jr (2001, p615) yaitu: 1. Diperlukan waktu lama untuk memperoleh pengalaman pengembangan. 2. Kesulitan metodologi untuk menjelaskan sistem bisnis yang rumit. 3. Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan untuk sistem bisnis.
2.6.3.1 Objek dan Class Menurut Mathiassen et al (2000, p4) objek adalah sebuah entitas yang memiliki identitas, status, dan perilaku. Sementara class merupakan deskripsi dari kumpulan objek yang memiliki struktur, pola perilaku, dan atribut yang sama.
76 Beberapa konsep sistem untuk permodelan objek dari perancangan OOA&D menurut Whitten (2004, p409-417) antara lain : a. Encapsulation Encapsulation adalah pengemasan beberapa item ke dalam satu unit. Konsep ini diterapkan pada suatu objek, atribut, dan behavior objek yang dikelompokkan untuk kemudian dapat diakses melalui behavior objek tersebut. b. Inheritance Inheritance adalah konsep dimana metode dan atau atribut yang ditentukan di dalam sebuah objek class dapat diwariskan atau digunakan lagi oleh objek class lainnya. c. Generalization/specialization Generalization adalah sebuah teknik di mana atribut dan behavior yang umum pada beberapa tipe kelas objek, dikelompokkan (atau diabstraksi) ke dalam kelasnya sendiri, disebut supertype. Atribut dan metode kelas objek supertype kemudian diwariskan oleh kelas objek tersebut (subtype). d. Supertype Supertype adalah sebuah entity yang berisi atribut dan behavior yang umum bagi satu atau lebih subtype kelas. Juga disebut kelas abstract atau parent. e. Subtype Subtype adalah sebuah kelas objek yang mewariskan atribut dan behavior dari sebuah kelas supertype dan kemudian mengisikan atribut dan behavior lain yang unik kedalamnya. Juga disebut kelas child, dan jika berada di level terendah dari hirarki pewarisan, maka disebut kelas concrete.
77 f. Multiplicity Multiplicity adalah jumlah kejadian minimum dan maksimum dari satu objek/kelas untuk satu kejadian tunggal dari objek/kelas yang terkait. g. Aggregation Aggregation adalah sebuah hubungan di mana satu kelas “whole” yang lebih besar berisi satu atau lebih kelas “part” yang lebih kecil. Atau, kelas “part” yang lebih kecil adalah bagian dari kelas “whole” yang lebih besar. h. Composition Composition adalah hubungan agregasi di mana “whole” bertanggung jawab atas pembuatan dan perusakan “bagian-bagian”. Jika “whole” rusak, maka “part” juga akan rusak. i. Polymorphism Polymorphism adalah konsep bahwa objek yang berbeda dapat merespons pesan yang sama dalam cara yang berbeda.
78 2.6.3.2 Aktivitas Utama Object Oriented Analysis and Design (OOA&D)
Gambar 2.9 Aktivitas utama dalam Object Oriented Analysis & Design
Menurut Mathiassen et al (2000, p15) terdapat 4 tahapan atau aktivitas utama dalam analisis dan perancangan berorientasi objek, yaitu: 2.6.3.3 Analisis Problem Domain
Gambar 2.10 Aktivitas pada Problem Domain Modeling
79 Problem domain adalah bagian dari konteks yang diatur, diawasi atau dikendalikan oleh sistem. Tujuan dari analisis problem domain adalah mengidentifikasi dan memodelkan problem domain. Analisis problem domain terbagi menjadi tiga aktivitas yaitu antara lain : a. Classes. Memilih objek, class, dan event yang akan menjadi elemen model problem domain. b. Structure. Membangun model dengan memusatkan perhatian pada relasi struktural antara class dan objek. c. Behavior. Mendeskripsikan properti dinamis dan atribut dari class yang terpilih. (Mathiassen et al, 2000, p45-48)
2.6.3.4 Classes
Gambar 2.11 Subaktivitas dalam Memilih Class dan Event
Tujuan aktivitas Classes adalah untuk mengidentifikasi seluruh objek dan event untuk dimasukkan kedalam problem-domain model terkait. Dengan kata lain tujuan dari classes ini adalah untuk memilih elemen problem-domain model. Hasil dari
80 aktivitas ini adalah sebuah event table yang berisi kelas yang terpilih dan hubungan event diantaranya. Menurut Mathiassen et al (2000, p55) ada 3 sub aktivitas dalam memilih Class dan Event, yaitu : 1. Menemukan kandidat class Pemilihan class merupakan kunci utama dalam membuat problem domain. Pada umumnya yang dilakukan adalah mencari semua kata benda sebanyak mungkin yang terdapat pada system definition. Penggunaan nama class sebaiknya : •
Sederhana dan mudah dimengerti
•
Sesuai dengan problem domain
•
Menunjukkan satu kejadian
(Mathiassen et al, 2000, p55-57) 2. Menemukan kandidat untuk event Penentuan event yang akan mengelola seluruh informasi sistem merupakan salah satu bagian penting dalam problem domain. Langkah yang harus dilakukan adalah dengan mencari kata kerja pada system definition. Penggunaan nama event sebaiknya : •
Sederhana dan mudah dibaca
•
Bersifat originate pada problem domain
•
Mengindikasi single event
(Mathiassen et al, 2000, p57-59) 3. Mengevaluasi dan memilih secara sistematik
81 Jika daftar class dan event telah lengkap, maka mereka dievaluasi secara sistematik. Kriteria umum untuk mengevaluasi adalah sebagai berikut: •
class dan event ada dalam system definition
•
class dan event relevan untuk problem domain
(Mathiassen et al, 2000, p60)
2.6.3.5 Stucture Structure bertujuan untuk mendeskripsikan hubungan struktural diantara class dan objek di dalam problem domain. Konsep structure terbagi menjadi dua, yaitu class structure dan object structure. Hasil dari structure adalah sebuah class diagram dengan class dan struktur. konsep structure dibedakan atas : 1. Class structure Class structure menggambarkan hubungan konseptual yang statis antar class. Class structure terdiri atas : •
Generalization Structure : merupakan suatu hubungan antara satu
atau lebih subclass dengan satu atau lebih superclass. •
Cluster Structure : merupakan kumpulan dari classes yang saling
berhubungan. (Mathiassen et al, 2000, p 69, p72-74) 2. Object structure Object structure menggambarkan hubungan yang dinamis antara objects yang ada dalam problem domain. Object structure terdiri atas :
82 •
Agregation structure : memdefinisilkan hubungan dimana sebuah
objek terdiri atas 2 buah objects atau lebih. •
Association structure : merupakan hubungan antara 2 atau lebih
objek. (Mathiassen et al, 2000, p 69, p75-77)
Perbedaan antara association structure dan aggregation structure adalah hubungan antar class pada aggregation mempunyai ikatan yang kuat sedangkan pada association tidak kuat. Dan dalam aggregation menggambarkan hubungan yang definitive serta fundamental sedangkan dalam association menggambarkan hubungan yang tidak tetap. Terdapat tiga tipe aplikasi dari struktur aggregation : 1. Whole part, dimana keseluruhan adalah merupakan penjumlahan dari bagian-bagiannya; jika ditambahkan atau dihapus satu bagian maka akan mengubah keseluruhan secara mendasar. 2. Container content, dimana keseluruhan adalah container dari bagianbagiannya; jika ditambahkan atau dihapus satu content maka properti dari keseluruhan tidak akan berubah secara mendasar. 3. Union member, dimana keseluruhan adalah merupakan union anggota yang diorganisasikan. Dengan menambah atau menghapus sebagian kecil anggota, union tidak akan berubah secara mendasar. Bagaimanapun, terdapat batas terbawah pada sejumlah anggota, yang merupakan pendukung bagi model sebuah union tanpa anggota. (Mathiassen et al, 2000, p79)
83 2.6.3.6 Behavior Menurut Mathiassen et al (2000, p90) behavioural pattern adalah deksripsi kemungkinan event trace bagi seluruh objek didalam sebuah class. Tujuan behavior adalah untuk memodelkan problem domain yang dinamis. Hasil dari behavior adalah sebuah behavior pattern dengan atribut pada setiap class dalam class diagram. Tiga konsep yang terkandung dalam behavior adalah : •
Event trace, merupakan urutan dari events yang melibatkan objek secara spesifik.
•
Behavioral pattern, merupakan suatu deskripsi dari kemungkinan event trace untuk semua objek dalam class.
•
Attribute, merupakan suatu deskripsi dari class atau event.
(Mathiassen et al, 2000, p89)
Behavioural pattern dapat digambarkan dalam notasi statechart diagram. Behaviour dalam setiap class yang ditunjukkan dalam event table harus konsisten dengan statechart diagram. Menurut Whitten et al (2004, p419) statechart diagram digunakan untuk memodelkan behavior objek khusus yang dinamis. Diagram ini mengilustrasikan siklus hidup objek-berbagai keadaan yang dapat diasumsikan oleh objek dan event-event yang menyebabkan objek beralih dari satu state ke state lainnya.
Terdapat tiga jenis perilaku class dan dapat digambarkan dalam statechart diagram, yaitu: •
Sequence
84 Merupakan event yang terjadi secara berurutan satu per satu. •
Selection Merupakan pemilihan salah satu dari beberapa event yang terjadi.
•
Iteration Merupakan event yang terjadi berulang kali.
(Mathiassen et al, 2000, p94-95)
2.6.4
Analisis Application Domain
Gambar 2.12 Analisis Application Domain
Menurut Mathiassen et al (2000, p115) application-domain adalah organisasi yang mengatur, mengawasi atau mengendalikan problem-domain. Analisis application domain terdiri dari beberapa aktivitas antara lain: A. Usage. Menentukan penggunaan sistem dan bagaimana sistem berinteraksi dengan user. B. Function. Menentukan fungsi dan kemampuan sistem dalam mengolah informasi. C. Interfaces. Menentukan kebutuhan interface sistem dan merancang interface.
85 (Mathiassen et al, 2000, p117)
2.6.4.1 Usage Menurut Mathiassen et al (2000, p119), usage digunakan untuk menetapkan bagaimana actor berinteraksi dengan sistem. Konsep kuncinyanya adalah : •
Actor : sebuah abstraksi dari user atau sistem lain yang berinteraksi dengan target system.
•
Use case : urutan kejadian – kejadian antara system dan actor dalam application domain.
2.6.4.2 Function Menurut Mathiassen et al. (2000, p137), functions adalah fasilitas untuk membuat sebuah model berguna bagi actor. Tujuannya adalah untuk menentukan kemampuan sistem dalam memproses informasi. Function memiliki empat tipe yang berbeda, yaitu: •
Update Fungsi update diaktifkan oleh event problem domain dan menghasilkan perubahan status model.
•
Signal Fungsi signal diaktifkan oleh perubahan status model dan menghasilkan reaksi di dalam context.
•
Read
86 Fungsi read diaktifkan oleh kebutuhan actor akan informasi dan menghasilkan tampilan model sistem yang relevan. •
Compute Fungsi compute diaktifkan oleh kebutuhan actor akan informasi dan berisi perhitungan yang dilakukan baik oleh actor maupun oleh model. Hasilnya adalah tampilan dari hasil perhitungan yang dilakukan.
2.6.4.3 User Interface 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. User interface adalah interface yang menghubungkan antara user dengan sistem.
•
System interfaces Class diagram untuk peralatan luar dan protokol - protokol untuk berinteraksi dengan sistem lain. System interface adalah interface yang menghubungkan antara sistem dengan sistem lain.
87 2.6.5
Architectural Design
Gambar 2.13 Aktivitas Architectural Design
Menurut Mathiassen et al (2000, p173) architectural design bertujuan untuk menstrukturkan sistem yang terkomputerisasi. Prinsip architectural design yaitu: •
mendefinisikan dan memprioritaskan criteria,
•
menjembatani criteria dengan technical platform, dan
•
mengevaluasi desain lebih awal.
Hasil dari architectural design adalah struktur dari komponen dan proses sistem. Tiga aktivitas pada architectural design adalah criteria, component architecture, dan process architecture.
2.6.5.1 Criterion Criterion merupakan properti yang diinginkan dari sebuah arsitektur. Tabel berikut menunjukkan criterion yang telah ditentukan oleh para peneliti untuk menentukan kualitas dari sebuah software.
88 Tabel 2.1 Criteria untuk Menentukan Kualitas Software Ukuran
Criterion
Kemampuan sistem beradaptasi dengan context Usable organisasional dan teknikal Secure
Pencegahan akses ilegal terhadap data dan fasilitas
Efficient
Eksploitasi ekonomis dari fasilitas technical platform
Correct
Kesesuaian dengan kebutuhan
Reliable
Fungsi yang dijalankan secara tepat Biaya untuk mencari dan memperbaiki kerusakan
Maintainable sistem Biaya untuk menjamin bahwa sistem melakukan Testable fungsinya Flexible
Biaya memodifikasi sistem
Comprehensible Usaha yang diperlukan untuk memahami sistem Penggunaan bagian dari sistem ke dalam sistem lain Reusable yang berkaitan Portable Interoperable
Biaya memindahkan sistem ke technical platform lain Biaya pemasangan sistem dengan sistem lain
(Mathiassen et al, 2000, p178)
Mathiassen et al. (2000, pp179-182) menyebutkan bahwa kriteria usable, flexible, dan comprehensible tergolong sebagai kriteria umum yang harus dimiliki oleh sebuah sistem dan menentukan baik tidaknya suatu rancangan sistem.
89 2.6.5.2 Component Architecture Component architecture adalah struktur sistem dari komponen-komponen yang berkaitan. Dalam aktivitas ini, perlu ditentukan pola arsitektural yang paling sesuai dengan model sistem. Pola-pola arsitektural tersebut antara lain: •
Layered Architecture Pattern Layered architecture terdiri dari beberapa komponen yang dirancang dalam bentuk lapisan-lapisan (layer), di mana setiap komponen diuraikan menjadi interface atas dan bawah. Interface bawah menjelaskan operasi yang dapat diakses oleh komponen dari lapisan di bawahnya, sedangkan interface atas menjelaskan operasi yang disediakan oleh komponen di lapisan atas.
•
Generic Architecture Pattern Arsitektur ini terdiri dari model sistem yang terletak di lapisan paling bawah, diikuti dengan function pada lapisan di atasnya dan interface di lapisan teratas. Perangkat teknis bisa diletakkan di bawah model di mana perangkat teknis ini terhubung dengan model dan interface.
•
Client-Server Architecture Pattern Arsitektur ini dikembangkan untuk sistem yang terdistribusi di beberapa area geografis yang berbeda. Komponen dari arsitektur ini mencakup sebuah server dan beberapa klien, di mana klien-klien ini menggunakan server secara independen satu sama lainnya.
90 Hasil dari aktivitas ini adalah sebuah component diagram yang merupakan class diagram yang dilengkapi dengan spesifikasi komponen yang kompleks. Komponen sistem memiliki tiga bagian, yaitu : •
Model : bertanggung jawab untuk menampung object dari problem domain.
•
Function : bertanggung jawab untuk menyediakan fungsionalitas dari sistem.
•
User interface : bertanggung jawab untuk mengatur interaksi antara pengguna (user) dengan sistem.
Tabel 2.2 Macam-macam Distribusi dalam Client Server Architecture Client
Server
Architecture
U
U+F+M
Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M
M
Distributed data
2.6.5.3 Process Architecture Process architecture adalah sebuah struktur eksekusi sistem yang terdiri dari proses-proses yang saling tergantung satu sama lain. Dalam aktivitas ini juga perlu menentukan pola distribusi yang sesuai dengan model sistem. Pola-pola distribusi yang ada antara lain:
91 •
Centralized Pattern
•
Distributed Pattern
•
Decentralized Pattern
Hasil dari aktivitas ini adalah sebuah deployment diagram yang menunjukkan processor dengan komponen program dan active objects.
2.6.5.4 Component Design
Gambar 2.14 Aktivitas Component Design
Menurut Mathiassen et al (2000, p231) Component design bertujuan untuk menentukan implementasi kebutuhan di dalam kerangka kerja arsitektural. Kegiatan component design bermula dari spesifikasi arsitektural dan kebutuhan sistem. Hasilnya adalah
deskripsi mengenai komponen-komponen yang saling berhubungan dengan
sistem. Component design terdiri dari tiga aktivitas, yaitu: •
Model component Model component adalah bagian dari sistem yang mengimplementasikan model problem domain. Konsep utama dalam desain komponen model
92 adalah struktur. Dalam aktivitas ini dihasilkan sebuah class diagram yang telah direvisi. •
Function component Function
component
adalah
bagian
dari
sistem
yang
mengimplementasikan kebutuhan fungsional. Tujuan dari function komponen adalah memberikan akses bagi usr interface dan komponen sistem lainnya ke model. •
Connecting component Connecting component merupakan desain hubungan antar komponen untuk memperoleh rancangan yang fleksibel dan mudah dimengerti. Hasilnya adalah class diagram yang berhubungan dengan komponenkomponen sistem.
2.6.6 Unified Modelling Language (UML) UML merupakan pengantar kepada gelombang metode OOAD yang muncul pada akhir tahun 1980an dan awal 1990an. Pada saat itu, ada banyak metode object oriented yang berbeda yang digunakan dalam industri, di antaranya Booch Method dari Grady Booch, Object Modeling Technique (OMT) dari James Rumbaugh, dan ObjectOriented Software Engineering (OOSE) dari Ivar Jacobson. Adanya banyak metode dan teknik pemodelan tersebut merupakan permasalahan utama dalam pengembangan sistem saat itu, karena tidak ada standar dan keseragaman tertentu sehingga terdapat keterbatasan antar proyek dan antar anggota tim pengembangan. Hal ini mempersulit komunikasi dan menimbulkan banyak kesalahan dalam proyek. Permasalahan inilah
93 yang membawa kepada usaha untuk menemukan bahasa pemodelan yang standar, yang dapat digunakan pada semua keadaan di seluruh dunia. Tahun 1994, Booch dan Rumbaugh menyatukan pandangan mereka tentang metode pengembangan object oriented, dan disusul oleh Jacobson pada 1995, serta metode-metode lain seperti Fusion, Shlaer-Mellor, dan lain-lain. Pada 1996, Object Management Group (OMG) meminta proposal untuk sebuah pendekatan yang standar untuk object oriented modeling. Para pencetus UML mulai bekerja dengan para metodologis dan pengembang dari perusahaan lain untuk membuat sebuah proposal yang menarik bagi OMG agar modeling languange dapat diterima oleh para pencetus, metodologis dan pengembang. Proposal diserahkan ke OMG pada September 1997, hasil akhirnya adalah kolaborasi dari banyak orang. Dan pada November 1997 dibuat sebuah standarnya yaitu UML version 1.0. UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standarstandar teknologi object oriented dan software component.
Gambar 2.15 Terbentuknya Unified Modelling Language (UML)
94 2.6.6.1 Kegunaan UML Berdasarkan OMG, UML (Unified Modeling Language) dapat didefinisikan sebagai sebuah bahasa yang berdasarkan gambar untuk memvisualisasi (visualisizing), menspesifikasi (specifying), mengkonstruksi (constructing), dan mendokumentasi (documenting) sebuah sistem perangkat lunak. UML menggunakan notasi yang dikombinasikan dari beberapa metode yang telah berkembang sebelumnya. Hal ini ditujukan untuk mempermudah desain, dan dapat digunakan untuk model dengan skala besar sekalipun dengan jumlah kompleksitas, jumlah tim, dan distribusi komponen yang sangat besar. Tujuan akhir dari UML adalah untuk menjadi sesederhana mungkin selama masih memenuhi kebutuhan untuk melakukan modeling pada sistem yang akan dibangun.
UML mendefinisikan diagram-diagram sebagai berikut: •
class diagram
•
statechart diagram
•
use case diagram
•
sequence diagram
•
navigation diagram
•
component diagram
•
deployment diagram
95 2.6.6.2 Class Diagram Menurut Whitten et al (2004, p 432) class diagram adalah gambar grafis mengenai struktur objek statis dari suatu system, menunjukkan kelas-kelas objek yang menyusun sebuah system dan juga hubungan antara kelas dan objek tersebut. Class memiliki tiga area pokok : 1. Nama (dan stereotype) 2. Atribut 3. Metoda
Hubungan antar class: 1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
Gambar 2.16 Contoh Hubungan Asosiasi
2. Aggregation adalah sebuah hubungan di mana satu kelas “whole” yang lebih besar berisi satu atau lebih kelas “part” yang lebih kecil. Atau, kelas “part” yang lebih kecil adalah bagian dari kelas “whole” yang lebih besar.
Gambar 2.17 Contoh Hubungan Agregasi
3. Generalization adalah sebuah teknik di mana atribut dan behavior yang umum pada beberapa tipe kelas objek, dikelompokkan (atau diabstraksi) ke dalam
96 kelasnya sendiri, disebut supertype. Atribut dan metode kelas objek supertype kemudian diwariskan oleh kelas objek tersebut (subtype).
Gambar 2.18 Contoh Hubungan Generalisasi
2.6.6.3 Statechart Diagram Menurut Whitten et al (2004, p662) statechart diagram adalah sebuah diagram UML yang menggambarkan state yang dapat diasumsikan oleh objek selama masa hidupnya, kejadian-kejadian yang memicu transisi antar state, dan aturan yang mengatur dari dan ke state yang mana sebuah objek dapat melakukan transisi. Kegiatan – kegiatan yang dilakukan dalam membuat diagram statechart (Whitten, 2004, p663): •
Mengidentifikasi state awal dan akhir (bagaimana objek dibentuk dan dihancurkan?).
•
Mengidentifikasi state lain yang dapat dimiliki oleh sebuah objek selama siklus hidupnya.
•
Mengidentifikasi trigger (event) yang menyebabkan objek meninggalkan sebuah state khusus.
•
Mengidentifikasi jalur transisi state (ketika state objek berubah, state mana yang selanjutnya akan dimasuki oleh objek?).
97 2.6.6.4 Use Case Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, mengcreate sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Menurut Whitten et al (2004, p257), terdapat tiga komponen dasar yang membentuk use case diagram : •
Use-Case Use Case adalah urutan langkah – langkah yang secara tindakan saling terkait (skenario), baik terotomatisasi maupun secara manual untuk tujuan melengkapi stau tugas bisnis tunggal.
•
Pelaku (Actor) Actor adalah segala sesuatu yang perlu berinteraksi dengan system untuk pertukaran informasi.
•
Relationship (hubungan) Relationship digambarkan sebagai garis hubungan antara pelaku dengan use case dimana terjadi interaksi di antara mereka.
98 2.6.6.5 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar 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. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. 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.
2.6.6.6 Navigation Diagram Menurut Mathiassen et al (2000, p344) navigation diagram merupakan statechart diagram khusus yang berfokus pada user interface. Diagram ini menunjukkan window-window dan transisi diantara window-window tersebut.
2.6.6.7 Component Diagram Menurut Whitten et al (2004, p667) component diagram merupakan diagram dengan tipe implementasi yang digunakan untuk secara grafis menggambarkan arsitektur fisik dari perangkat lunak sistem. Diagram tersebut dapat digunakan untuk menunjukkan bagaimana kode pemrograman dibagi ke dalam modul-modul (atau
99 komponen) dan untuk menggambarkan ketergantungan di antara komponen-komponen tersebut.
2.6.6.8 Deployment Diagram Deployment Diagram merupakan diagram dengan tipe implementasi yang menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak pada suatu sistem (Whitten, 2004, p668). Diagram ini menggambarkan komponen perangkat lunak, prosesor, dan peralatan yang membentuk arsitektur sistem.