BAB 3 LANDAS AN TEORI
3.1
Teknik Industri
3.1.1 Definisi Teknik Industri Definisi teknik industri menurut Institute of Industrial Engineers (IIE) adalah suatu rekayasa yang berkaitan dengan desain, pembaruan, dan instalasi dari sistem terintegrasi yang meliputi manusia, material, peralatan (mesin), energi dan informasi. Serta mencakup pengetahuan khusus dan keahlian dalam matematika, fisika, dan studi sosial bersama dengan prinsip dan metode analisa teknik dan desain untuk menspesifikasi, memprediksi, dan evaluasi hasil yang ingin dicapai dari sistem. Definisi lain menurut sumber (www.uwm.edu/~uksaxena/intro.PDF) adalah mengintegrasikan manusia, teknologi, dan informasi untuk meningkatkan keunggulan saing global perusahaan.
3.1.2
Peramalan Peramalan adalah suatu metode dasar yang dapat membantu bagian perencanaan
untuk membuat suatu perencanaan produksi. Di dalam Yamit (hal 44) mendefinisikan bahwa peramalan ( Forecasting ) merupakan alat bantu yang penting dalam perencanaan yang efektif. Peramalan permintaan memegang peranan yang penting dalam perencanaan dan pengambilan keputusan
Peramalan permintaan menyangkut penjadwalan produksi, perencanaan pemenuhan kebutuhan bahan,
perencanaan kebutuhan tenaga kerja, perencanaan kapasitas produksi, dan sebagainya. 3.1.2.1 Metode Peramalan secara Umum
Banyak jenis metode peramalan yang tersedia untuk meramalkan permintaan dalam produksi. Namun yang lebih penting adalah bagaimana memahami karakteristik suatu metode peramalan agar sesuai dengan situasi pengambilan keputusan. Situasi peramalan sangat beragam dalam horizon waktu peramalan, faktor yang menentukan hasil yang sebenarnya. Untuk menghadapi penggunaan yang luas seperti itu, beberapa teknik telah dikembangkan. Peramalan secara umum dapat dikelompokkan menjadi 2, yaitu : 1). M etode Peramalan Kuantitatif M etode kuantitatif sangat beragam dan setiap teknik memiliki sifat, ketepatan dan biaya tertentu yang harus dipertimbangkan dalam memilih metode tertentu. M etode kuantitatif normal didasarkan atas prinsip – prinsip statistik yang memiliki ketepatan tinggi atau dapat meminimumkan kesalahan ( error ), lebih sistematis, dan lebih populer penggunaannya. Untuk menggunakan metode kuantitatif terdapat tiga kondisi yang harus dipenuhi, yaitu : a. tersedia informasi tentang masa lalu. b. Informasi tersebut dapat dikuantitatifkan dalam bentuk data numerik. c. Dapat diasumsikan bahwa beberapa aspek pola masa lalu akan terus berlanjut di masa mendatang ( Yamit, hlm 45 – 46 ).
M odel deret berkala ( time series ) termasuk metode kuantitatif. Pada model ini, pendugaan masa depan dilakukan berdasarkan nilai masa lalu dari suatu variabel dan atas kesalahan masa lalu. M odel deret berkala menggunakan riwayat permintaan masa lalu dalam membuat ramalan untuk masa depan. Tujuan metode peramalan deret berkala ini adalah menemukan pola dalam deret berkala historis dan mengekstrapoliskan pola dalam deret data historis dan mengeksplorasikan pola tersebut ke masa depan. Langkah penting dalam memilih suatu metode deret berkala ( time series ) yang tepat adalah dengan mempertimbangkan jenis pola data, sehingga metode yang paling tepat dengan metode tersebut dapat diuji. 1. Pola Horizontal ( H ) terjadi bagaimana nilai data berfluktuasi disekitar nilai rata – rata yang konstan. ( deret seperti itu adalah “stasioner” terhadap nilai rata – ratanya ). Suatu produk yang penjualannya tidak meningkat atau menurun selama waktu tertentu termasuk jenis ini. Demikian pula suatu pengendalian kualitas yang menyangkut pengambilan contoh dari suatu proses produksi kontinyu yang secara teoritis tidak mengalami perubahan juga termasuk jenis ini. 2. Pola M usiman ( S ) terjadi bilamana suatu deret dipengaruhi oleh faktor musiman ( misalnya kuartal tahun tertentu, bulanan, atau harian pada minggu tertentu ). Penjualan dari produk minuman ringan, es krim dan bahan bakar pemanas ruangan menunjukkan jenis pola ini. 3. Pola Siklis ( C ) terjadi bilamana datanya dipengaruhi oleh fluktuasi ekonomi jangka panjang seperti yang berhubungan dengan siklus bisnis. Penjualan produk seperti mobil, baja dan peralatan utama lainnya menunjukkan jenis pola data ini.
4. Pola Trend ( T ) terjadi bilamana terdapat kenaikkan atau penurunan sekuler jangka panjang dalam data. Penjualan banyak perusahaan, produk bruto nasional (GNP) dan berbagai indikator bisnis atau ekonomi lainnya mengikuti pola trend selama perubahannya sepanjang waktu. Banyak deret data yang mencakup kombinasi dari pola – pola data diatas.
2). M etode Peramalan Kualitatif atau Teknologis. M etode peramalan ini tidak memerlukan data yang serupa seperti metode peramalan kuantitatif. Input yang dibutuhkan tergantung pada metode tertentu dan biasanya merupakan hasil dari pemikiran intuitif, perkiraan ( judgement ), dan pengetahuan yang telah didapat. Pendekatan teknologis seringkali memerlukan input dari sejumlah orang yang terlatih ( M akridakis, hal 10 ). M etode kualitatif atau pertimbangan ( judgement ) mengandalkan opini pakar atau manajer dalam membuat prediksi tentang masa depan. M etode ini berguna untuk tugas peramalan jangka panjang. Penggunaan pertimbangan ( judgement ) dalam peramalan, sekilas, tampaknya tidak ilmiah dan bersifat sementara. Tetapi bila data masa lalu tidak ada atatu tidak mencerminkan masa mendatang, tidak banyak alternatif selain menggunakan opini dari orang – orang yang berpengetahuan. Ramalan teknologis terutama digunakan untuk memberikan petunjuk, untuk membantu perencana dan untuk melengkapi ramalan kuantitatif, bukan untuk memberikan suatu ramalan numerik tertentu.
M etode kualitatif dapat dikelompokkan menjadi 2, yaitu :
a. M etode Eksploratoris. M etode Eksploratoris seperti ( Delphi, kurva – S, analogi, dan penelitian morfologis ) dimulai dengan masa lalu dan masa kini sebagai titik awalnya dan bergerak ke arah masa depan secara heuristik, seringkali dengan melihat semua kemungkinan yang ada.
b. M etode Normatif M etode Normatif ( seperti matriks keputusan, pohon relevansi, dan analisis sistem) dimulai dengan menetapkan sasaran dan tujuan yang akan datang, kemudian bekerja mundur untuk melihat apakah hal ini dapat dicapai, berdasarkan kendala, sumber daya, dan teknologi yang tersedia.
3.1.2.2 Pemilihan Teknik Peramalan Pola data yang ada mempengaruhi teknik peramalan yang dipilih. Seringkali, pola data tersebut merupakan karakteristik inheren dari kegiatan yang sedang diteliti. Hubungan data dengan jangka waktu semakin jelas jika kita mengamati bahwa pola trend adalah merupakan kecenderungan jangka panjang, sedangkan variasi musiman menunjukkan pola data yang berulang dalam satu tahun. Dalam mengevaluasi teknik – teknik yang dikaitkan dengan pola data bisa saja diterapkan lebih dari satu teknik untuk data yang sama. M isalnya, teknik – teknik tertentu mungkin lebih akurat dalam memprediksi titik balik, sedangkan lainnya terbukti lebih andal dalam peramalan pola perubahan yang stabil.
Dalam beberapa kasus bisa juga terjadi beberapa model meramalkan terlalu tinggi (overestimate) atau terlalu rendah (underestimate) dalam situasi tertentu. Selain itu, mungkin juga terjadi bahwa prediksi jangka pendek dari suatu model lebih baik dari model lain yang memiliki prediksi jangka panjang yang lebih akurat. Untuk itu pemilihan teknik peramalan yang tepat sangat dibutuhkan dalam proses perencanaan produksi. Tentu saja disesuaikan dengan pola data permintaan produk yang akan dibuat peramalannya. Teknik Peramalan untuk Data yang Stationer ( Hanke, hlm 67 ) Deret stasioner yang didefinisikan sebagai sesuatu yang nilainya meannya tidak berubah sepanjang waktu. Situasi seperti ini muncul ketika pola permintaan yang mempengaruhi deret relatif stabil. Dalam bentuk paling sederhana, peramalan deret stasioner melibatkan penggunaan deret historis tersedia untuk mengestimasi nilai mean, yang kemudian menjadi peramalan di masa mendatang. Teknik yang lebih canggih adalah pembaharuasn estimasi sebagai informasi baru menjadi tersedia. Teknik – teknik ini berguna pada estimasi awal yang tidak terandalkan, atau ketika kestabilan rata – ratanya dipertanyakan. Selain itu, teknik pembaharuan memberikan beberapa tingkatan responsif tertentu terhadap perubahan struktur deret yang dihadapi. Teknik peramalan stasioner digunakan apabila : • Pendorong menghasilkan suatu deret telah stabil dan lingkungan di mana deret berada relatif tidak berubah. Contohnya adalah jumlah kerusakkan per minggu pada lini perkitan dengan tingkat produksi yang seragam, unit penjualan suatu
produk atau jasa yang dalam daur hidup berada pada tahap dewasa, dan jumlah penjualan yang dihasilkan dari tingkat upaya yang konstan. • M odel yang sangat sederhana dibutuhkan karena kurang tersediannya data atau kemudahan dalam penjelasan dan implementasi. Contohnya adalah ketika bisnis masih baru dan sangat sedikit tersedia data historis. • Kestabilan tercapai melalui perbaikan sederhana dari faktor – faktor seperti pertumbuhan populasi dan inflasi. Contohnya adalah perubahan pendapatan terhadap pendapatan per kapita atau perubahan dolar penjualan terhadap nilai dolar konstan . • Deret dapat ditransformasikan menjadi sesuatu yang stabil. Contohnya adalah transformasi deret menjadi bentuk logaritmik, akar kuadrat, atau selisih – selisih. • Deret merupakan himpunan galat ramalan dari suatu teknik peramalan yang dipertimbangkan sesuai. Teknik yang perlu dipertimbangkan dalam peramalan deret stasioner terdiri dari metode naif, metode rata – rata sederhana, rata – rata bergerak, pemulusan eksponensial linier Holt sederhana, dan model Box Jenkins.
Teknik Peramalan untuk Data Trend ( Hanke, hlm 67 ) Data trend didefinisikan sebagai deret waktu yang berisi komponen jangka panjang mewakili pertumbuhan atau penurunan dalam deret di sepanjang periode waktu. Dengan kata lain, deret waktu dianggap mempunyai trend apabila nilai rata – ratanya berubah sepanjang waktu sehingga diharapkan deret tersebut menaik atau menurun pada periode yang peramalannya diinginkan.
Teknik peramalan untuk data trend digunakan apabila : • Peningkatan produktivitas dan teknologi baru yang mengarah ke perubahan gaya hidup. • Kenaikan populasi yang menyebabkan peningkatan permintaan atas barang dan jasa. • M eningkatnya penerimaan pasar. Teknik yang perlu dipertimbangkan ketika peramalan deret trend adalah rata – rata bergerak, pemulusan eksponential linier Holt, regresi liner sederhana, kurva pertumbuhan, dan model eksponential. Teknik Peramalan untuk Data yang bersifat Siklis ( Hanke, hlm 68 ) Dampak siklis didefinisikan sebelumnya sebagai fluktuasi seperti gelombang di sekitar trend. Pola siklis cenderung untuk berulang pada data di setiap dua tahun, tiga tahun atau bisa lebih. Pola siklis sulit untuk dibuatkan model karena polanya yang tidak stabil. Naiknya turunnya fluktuasi seperti gelombang di sekitar trend jarang berulang pada interval yang tetap, dengan kata lain, fluktuasinya juga beragam.
Teknik peramalan untuk data siklis digunakan ketika : • Siklus bisnis mempengaruhi variabel amatan. Contohnya faktor – faktor ekonomi, pasar dan kompetisi. • Terjadinya pergeseran selera popular. Contohnya fashion, musik dan makanan. • Terjadinya pergeseran populasi. Contohnya peperangan, epidemic dan bencana alam.
• Terjadinya
pergeseran
daur
hidup
produk.
Contohnya
pengenalan,
pertumbuhan, dewasa, dan jenuhnya pasar. Teknik yang perlu dipertimbangkan ketika meramalkan deret siklis terdiri dari dekomposisi klasik, regresi berganda, dan metode Box Jenkins.
3.1.2.3 Metode Peramalan 3.1.2.3.1 Metode Regresi Linier Salah satu bentuk peramalan yang paling sederhana adalah regresi linier. Dalam alikasi regresi linier diasumsikan bahwa terdapat hubungan antara variabel yang ingin diramalkan ( variabel dependent ) dengan variabel lain ( variabel independent ). Selanjutnya, peramalan ini didasarkan pada asumsi bahwa pola pertumbuhan dari data historis bersifat linier ( walaupun sebenarnya tidak linie sempurna ). Pola pertumbuhan ini didekati dengan suatu model yang menggambarkan hubungan – hubungan yang terkait dalam suatu keadaan. Rumus model tersebut adalah : Y ( t ) = a + bt Dimana Y merupakan fungsi terhadap waktu. Variabel a dan b adalah parameter yang akan ditentukan dalam perhitungan. Rumus – rumus dalam menghitung variabel a dan b adalah sebagai berikut : N
b=
N
N
N ∑ tY (t ) − ∑ Y (t )∑ t t =1
t= 1
N
N ∑t 2 t =1
t =1
⎞ ⎛ − ⎜ ∑ t⎟ ⎝ t =1 ⎠ N
dimana : Y ( t ) = fungsi terhadap waktu N = jumlah periode t
= periode
3.1.2.3.2 Metode Regresi Kuadratis Salah satu bentuk peramalan regresi yang lain adalah regresi kuadratis. Peramalan ini didasarkan pada asumsi bahwa pola pertumbuhan dari data historis bersifat kuadratis. Pada dasarnya peramalan jenis ini serupa dengan regresi linier, hanya saja berbeda dalam hal asumsi data historis. Pola pertumbuhan ini didekati dengan suatu model yang menggambarkan hubungan – hubungan yang terkait suatu keadaan. M odel tersebut dapat dijabarkan sebagai berikut : Y ( t ) = a + bt + ct 2 b=
γδ − θ a γβ − a 2
dimana : 2
N ⎛ N ⎞ γ = ⎜∑t 2 ⎟ − ∑t 4 ⎝ t =1 ⎠ t =1
N
N
N
t= 1
t =1
t= 1
N
N
N
t =1
t =1
t =1
δ = ∑ t ∑ Y (t ) − N ∑ tY (t )
θ = ∑ t 2 ∑Y (t ) − N ∑ t 2Y (t )
N
N
N
t =1
t =1
t =1
α = ∑t ∑t 2 − N ∑t 3 2
N ⎛ N ⎞ β = ⎜ ∑t ⎟ − N∑t 2 ⎝ t= 1 ⎠ t =1
setelah nilai b diperoleh maka nilai c didapatkan dari persamaan berikut: c=
θ − (b)(α ) γ
selanjutnya, nilai a didapatkan dengan mengunakan nilai b dan nilai c yang telah diperoleh sebelumnya melalui persamaan :
N
a=
∑ Y (t ) t= 1
N
N
−b
∑t t= 1
N
N
−c
∑t
2
t= 1
N
3.1.2.3.3 Metode Double Moving Average M etode ini mampu mengurangi kesalahan sistematis yang terjadi bila moving average ( rata – rata bergerak ) digunakan untuk data yang memiliki trend tertentu. Dasar dari metode ini adalah menghitung rata – rata bergerak yang kedua. Rata – rata bergerak ganda merupakan rata – rata bergerak dan disimbolkan sebagai MA ( M x N ) yang berarti M A M periode dari M A N periode.
Prosedur yang digunakan : 1.Cari x rata – rata dari x1 sampai xt dan nilai peramalan untuk periode S’t=1 2.Cari x rata – rata dari x2 sampai xt=1 dan nilai peramalan untuk periode S’t=2 3.Ulangi kedua langkah tersebut sampai semua nilai x telah dihitung. Lanjutkan dengan cara yang sama untuk menghitung S”t hanya saja kini yang dirata – ratakan bukan x melainkan S’ t 4.M enghitung at dengan rumus : at = 2S’t - S” t 5.M enghitung bt dengan rumus : bt = (2 (2S’t – S”t)) / ( N – 1) 6.Langkah terakhir adalah menghitung peramalan ( Ft/m ) dimana m merupakan jumlah periode ke muka dari t, rumus : Ft/m = at + bt.m 7. 3.1.2.3.4 Metode Double Exponential S moothing M etode ini memberikan bobot yang semakin menurun pada setiap data historis dimana penurunan bobot ini mengikuti pola eksponensial. S’t = αxt + (1-α)S’t=1 S”t = αS’t + (1-α)S” t=1 at = 2S’t-S”t bt = (α ( S’t – S”t)) / ( 1 – α ) Ft+m = at + bt.m
Dimana : S’t = pemulusan eksponential tunggal periode ke – t S”t = pemulusan eksponential ganda periode ke – t α = konstanta pemulusan xt = data permintaan periode ke – t at = penyesuaian pemulusan eksponential tunggal bt = taksiran kecenderungan antar periode Ft+m
= peramalan periode ke – (t + m)
m = jumlah periode ke depan yang diramalkan
3.1.2.3.5 Metode S iklis Sekarang kita beralih ke perihal mendasar lain seperti halnya, bagaimana mengukur kesesuaian suatu metode peramalan tertentu untuk suatu kumpulan data yang diberikan. Dalam banyak situasi peramalan, ketepatan dipandang sebagai kriteria penolakan untuk meih suatu metode peramalan. Dalam banyak kasus, kata “ketepatan” ( accuracy ) menunjuk ke “kebaikan suai”, yang pada akhirnya penunjukkan seberapa jauh model peramalan tersebut mampu memproduksi data yang telah diketahui. Dalam pemodelan eksplanatoris ( kausal ), ukuran “kebaikan suai” cukup menonjol. Dalam pemodelan deret – berkala, sebagian data yang diketahui dapat digunakan untuk meramalkan sisa data berikutnya sehingga
memungkinkan orang untuk mempelajari ketepatan ramalan secara lebih langsung. Bagi pemakai ramalan, ketepatan ramalan yang akan datang adalah yang palin penting. Bagi pembuat model, kebaikan suai model untuk fakta ( kuantitatif dan kualitatif ) yang diketahui harus diperhatikan. M acam pertanyaan yang sering diajukan adalah sebagai berikut : 1. Berapa ketepatan tambahan yang dapat dicapai dalam situasi tertentu melalui penggunaan teknik peramalan formal ? 2. Bagaimana ketidaktepatan ramalan yang akan terjadi jika ramalan didasarkan atas pendekatan yang sangat sederhana dibandingkan dengan teknik yang secara sistematis lebih canggih? 3. Untuk situasi yang diketahui, berapa banyak perbaikan dapat diperoleh dalam bentuk ketepatan ramalan? 4. Sejauh mana orang dapat mencapai ramalan yang sempurna ? 5. Jika kesempatan untuk pencapai ketepatan yang lebih tinggi dalam situasi tertentu telah dipahami, bagaimana pengetahuan itu dapat membantu dalam pemilihan teknik peramalan yang tepat? ( M akridakis, hlm 39 – 40 )
Setelah setiap peramalan dihitung dan didapatkan hasil peramalan untuk masa mendatang, peramalan diolah kembali untuk mendapatkan nillai kesalahan peramalan. Nilai kesalahan peramalan dapat diukur dengan : Mean Square Error ( M SE )
N
M SE =
Dimana N
∑ li
2
t=1
N
= jumlah periode
3.1.2.4 Tracking Signal Salah satu cara untuk mengontrol peramalan untuk memastikan bahwa metode peramalan yang digunakan akan menghasilkan peramalan yang baik adalah dengan menggunakan tracking signal. Tracking signal adalah suatu perhitungan mengenai sebaik apakah metode peramalan yang digunakan dalam memprediksi data aktualnya. Tracking signal dihitung sebagai jumlah kesalahan peramalan ( running sum forecast error / RSFE) dibandingkan dengan nilai M AD ( Mean Absolute Deviation ). Secara umum, tracking signal dituliskan sebagai berikut : TS
=
RSFE MAD
=
∑ (data aktual
periode i − data peramalan periode i ) MAD
Dimana :
MAD =
∑ kesalahan peramalan = ∑ li n
n = jumlah periode yang bersangkutan
n
Batas kontrol tidak boleh terlalu rendah agar tersedia kelonggaran bagi kesalahan – kesalahan peramalan yang sangat kecil dan batas kontrsol juga tidak boleh terlalu tinggi sehingga peramalan yang buruk harus terus menerus dipantau. George Plossl dan Oliver Wright, dua orang yang ahli kontrol persediaan mengusulkan untuk menggunakan batas maksimum sebesar 4 M AD untuk jumlah persediaan yang besar dan batas maksimum 8 M AD untuk jumlah persediaan yang lebih rendah. 3.1.2.5 Peta Moving Range Langkah pertama setelah peramalan dibuat adalah melakukan verifikaasi peramalan sedemikian rupa sehingga hasil peramalan tersebut benar – benar mencerminkan data masa lalu dan sistem sebab akibat yang mendasari permintaan tersebut. Banyak alat yang dapat digunakan untuk memverifikasi peramalan dan mendeteksi perubahan sistem sebab akibat yang melatar belakangi perubahan pola permintaan. Bentuk yang paling sederhana adalah peta kontrol peramalan. Peta kontrol ini dapat dibuat dalam kondisi data yang tersedia minim. Pola M oving Range dirancang untuk membandingkan nilai permintaan aktual dengan nilai peramalan. M R = (d ' t − d t ) − (d ' t −1 − d t −1 )
MR =
∑ MR n −1
UCL = +2,66 MR LCL = - 2,66 MR
Daerah A : dibatasi dengan ( ± 1,77 MR ) Daerah B : dibatasi dengan ( ± 0,89 MR ) Daerah C : daerah diatas atau dibawah garis sumbu ( central line). Kondisi tidak terkendali terjadi jika : 1. Tiga titik data yang berurutan, dua atau lebih diantaranya berada di daerah A 2. Lima titik data yang berurutan, empat atau lebih diantaranya berada di daerah B 3. Delapan titik atau data yang berurutan berada pada salah satu sisi gari 3.1.3 Perencanaan Agregat Peningkatan daya saing industri, salah satunya dapat dicapai melalui perencanaan produksi. Perencanaan produksi berhubungan dengan penentuan volume, ketepatan waktu, penyelesaian, utilisasi kapasitas, dan pemerataan beban. Rencana produksi dalam hal ini harus terkoordinasi dengan perencanaan perusahaan. Ada beberapa tipe perencanaan produksi. Berdasarkan periode waktunya, akan ada perencanaan jangka panjang, perencanaan jangka menengah dan perencanaan jangka pendek. Ketiga jenis perencanaan ini memerlukan proses perencanaan yang berbeda (juga input dan outputnya) satu sama lain. Ilustrasi tipe perencanaan ini dapat dilihat pada tabel 3.1 Untuk perencanaan produksi perusahaan dapat dipakai perencanaan agregat. Perencanaan agregat adalah “ perencanaan yang dubuat untuk menentukan total permintaan dari seluruh elemen produksi dan jumlah tenaga kerja yang diperlukan “ ( David D. Bedworth, etc ). Sedangkan menurut T. Hani Handoko, perencanaan agregat adalah “ Proses perencanaan kuantitas dan pengaturan waktu keluaran selama periode
waktu tertentu ( 3 bulan sampai satu tahun ) melalui penyesesuaian variabel – variabel tingkat produksi karyawan, persediaan, dan variabel yang dapat dikendalikan lainnya. “ Perencanaan agregat merupakan perencanaan produksi jangka menengah. Horizon perencanaannya biasanya berkisar antara 1 sampai 24 bulan atau bisa bervariasi dari 1 sampai 3 tahun. Horizon tersebut tergantung pada karakteristik produk dan jangka waktu produksi. Periode perencanaan disesuaikan dengan periode peramalan, biasanya 1 bulan. Tujuan perencanaan produksi adalah menyusun suatu rencana produksi untuk memenuhi permintaan pada waktu yang tepat dengan menggunakan sumber – sumber atau alternatif – alternatif yang tersedia dengan biaya yang paling minimum keseluruhan produk. Perencanaan agregat ini merupakan langkah awal aktivitas perencanaan produksi yang dipakai sebagai pedoman untuk penyusunan Jadwal Induk Produksi(JIP). Tabel 3.1 Tipe Rencana Produksi
Input Perencanaan
Usulan Dasar T ujuan umum Peramalan umum - Ekonomi - T eknologi - lainnya
Variabel Keputusan Tingkat • Kapasitas pembebanan untuk Jumlah tenaga Jangka Panjang alternati f produksi: kerja • Alokasi sumber - jumlah tenaga Tingkat produksi daya untuk : kerja Urutan Pengerjaan produk, proses, - tingkat produksi Order pasar. - persediaan subkontrak
Rencana produksi jangka panjang ( 5 – 10th)
Output Perencanaan
Rencana Perluas an Kapasitas Rencana: - produk baru - teknologi baru - pasar baru - pabrik baru + lokasi
Perencanaan Jangka panjang Batas kapasitas saat ini. Peramalan per periode Alternatif Produksi yang layak + biaya
Rencana produksi jangka menengah (Agregat) ( 1-24 bulan)
Rencana produksi agregat Penerimaan Order Waktu pengiriman kebutuhan
Tujuan pe rencanaan
Rencana Produksi agregat Menentukan bagaimana permintaan dikompromikan dengan sumber daya yang terpasang
Rencana produksi jangka pendek / penjadwal an ( 1-24 bulan) Untuk mencapai tujuan khusus organisasi Untuk meningkatkan kelangsungan hidup dan pengembangan jangka panjang
Untuk mengefekti fkan kapasitas sumber daya saat ini
Jadwal produksi Penugasan Order ke: Tiap departemen, shift kerja, personal dan alat.
Untuk memastikan kepuasan konsumen lewat ketepatan waktu penyerahan Untuk mengefekti fkan penggunaan faktor produksi
Ruang lingkup perencanaan agregat dapat dilihat pada gambar 3.1. Langkah ini untuk perusahaan yang make to stock. Bila perusahaan make to order, maka peramalan tidak perlu dilakukan, tetapi hanya melihat daftar order pelanggan saja.
Gambar 3.1 Ruang Lingkup Perencanaan A gregat
Perencanaan agregat dimaksudkan untuk mengoptimalkan penggunaan sumber daya yang tersedia. Dalam perencanaan agregat peramalan permintaan berbagai produk digabungkan menjadi unit – unit yang homogen.
Kita dapat melaksanakan agregat dengan mengkonsolodasi item – item yang sejenis ke dalam kelompok produk yang mana kemudian tiap kelompok tersebut digabungkan ke dalam suatu kuantitas kebutuhan mendatang untuk suatu periode perencanaan melalui produk agregat. Dasar dari pembentukan unit agregat biasanya diambil dari aspek – aspek produksi seperti penggunaan jam mesin, jam orang atau waktu baku. Biasanya fasilitas produksi dianggap konstan selama periode perencanaan, dengan demikian tinggal diusahakan untuk menggunakan fasilitas produksi ini dengan lebih efektif dan efisien. Perencanaan agregat dibuat untuk memenuhi sejumlah tujuan tertentu, yaitu (Adam, Everett, and Ronald J. Elbert , 1986, hlm 438 ) : 1. M emenuhi keseluruhan output, persediaan dan sebagainya seperti yang tercantum dalam rencana perusahaan. Jika perusahaan berkeinginan untuk meningkatkan persediaan dengan promosi besar – besaran, perencanaan agregat harus dapat mendukung rencana yang ditetapkan. 2. M enggunakan fasilitas perusahaan sesuai dengan strategi perusahaan. Begitu pula apabila fasilitas yang digunakan melebihi batas akan mengakibatkan kerusakan pada fasilitas yang tersedia dan mutu produk yang dihasilkan semakin rendah. 3. Rencana yang dibuat harus konsisten dengan tujuan perusahaan dan kebijakan yang menyangkut karyawan perusahaan.
3.1.3.1 Variabel – Variabel Keputusan dalam Perencanaan Agregat. Variabel – variabel keputusan yang berada dalam perencanaan agregat adalah :
1. Jumlah tenaga kerja langsung, yaitu tenaga kerja yang langsung berpengaruh terhadap kapasitas produksi. 2. Kecepatan produksi, yaitu besaran yang menyatakan produk agregat yang dibuat setiap bulan. Satuannya dapat berupa unit / periode waktu, ton/ bulan, atau liter / bulan. 3. Waktu lembur ( overtime ), dibutuhkan bila kecepatan produksi atau jumlah produksi yang akan dibuat lebih besar daripada kemampuan pabrik. Itu berarti pabrik berproduksi membutuhkan jam kerja lebih besar dari jam kerja biasa pada bulan tertentu. 4. Jumlah pesanan yang disubkontrakkan, hal ini terjadi jika kapasitas pabrik termasuk penggunaan waktu lembur tidak mampu melayani pesanan sehingga kelebihan pesanan tersebut disubkontrakkan ke perusahaan lain yang sejenis. 5. Jumlah pesanan yang ditunda waktu penyerahannya. Jika kapasitas yang ada tidak dapat memnuhi pesanan pada waktu yang telah dijanjikan, maka sebagian permintaan konsumen ditunda waktu penyerahannya. Pesanan yang ditunda waktu penyerahannya disimpan di gudang yang berarti membutuhkan biaya penyimpanan. 6. Tingkat persediaan, yaitu banyaknya produk yang disimpan dalam bentuk produk jadi yang siap dijual.
3.1.3.2 Komponen – komponen Ongkos dalam Perencanaan Produksi
Secara umum, kriteria perencanaan agregat adalah meminimumkan biaya total produksi selama kurun waktu tertentu. Adapun komponen – komponen ongkos yang dipertimbangkan adalah : 1.Biaya pekerja langsung. Ongkos ini tergantung kepada jumlah pekerja langsung yang bekerja selama periode kurun waktu perencanaan. 2.Biaya lembur. Biaya lembur ini adalah biaya yang dikeluarkan diluar jam kerja reguler. 3.Ongkos hire ( perekrutan tenaga kerja baru ). M eliputi ongkos test, interview, pemeriksaan kesehatan, latihan, serta ongkos administrasi. 4.Ongkos layoff ( pemutusan hubungan kerja ). M eliputi ongkos pemberian pesangon, ongkos administrasi, serta pengaruh negatif dari para pekerja. 5.Ongkos persediaan ( inventory cost ). M eliputi ongkos simpan, modal yang terikat oleh bunga, depresiasi, resiko, dan kerusakan. 6.Ongkos penundaan pesanan ( kekurangan persediaan ). M eliputi hilangnya kesempatan keuntungan dari penjualan serta ongkos kehilangan langganan dan kehilangan penjualan pada masa yang akan datang. Biasanya tercermin dari penurunan laba pada masa yang akan datang. Yang termasuk dalam biaya / ongkos simpan adalah ( Nasution, 1999) : 1. modal yang tertanam pada persediaan. Dengan adanya barang yang disimpan berarti ada modal yang tertanam dalam gudang. Jumlah uang yang tertanama dalam persediaan tidak dapat digunakan untuk produksi. 2. Pajak dan asuransi gudang. Berupa pajak bumi dan bangunan serta asuransi untuk gudang.
3. Depresiasi gudang. Semua barang mengalami penyusutan dari harga sebenarnya seiring dengan berjalannya waktu. Begitu pula dengan gudang, nilainya telah berubah pada saat sekarang jika dibandingkan pada saat awal. Adanya penyusutan nilai gudang ini dimasukkan sebagai ongkos simpan. 4. Penyusutan barang yang disimpan. Yang terjadi pada gudang, terjadi pula pada barang – barang yang disimpan dalam gudang. 5. Biaya kerusakan pada barang yang disimpan. Hal ini juga dimasukkan ke dalam biaya simpan karena barang yang disimpan ada kemungkinan beresiko rusak, seperti tertindih, sudah kadaluarsa, teroksidasi atau tercemar dengan bau dari barang lainnya. 6. Biaya administrasi dan pemindahan barang. Biaya administrasi gudang merupakan biaya yang dikeluarkan karena pada saat barang akan keluar atau masuk perlu untuk dicatat. Begitu pun jika barang yang akan dimasukkan dalam gudang membutuhkan waktu perjalanan yang lama, maka perlu dihitung pula biaya pemindahan barang.
3.1.4 Pemrograman Tujuan ( Goal Programming ) Konsep pemrogaman tujuan ( Goal Programming ) pertama kali diperkenalkan pada awal tahun enam puluhan oleh Abraham Charnes dan William Cooper dari Institut Teknologi Carneggie, dan R.O.Ferguson, seorang konsultan di M ethods Engineering Council ( Taylor III, hlm 270 ). M ereka mengembangkan suatu model untuk rencana kompensasi ( gaji ) karyawan di General Electrics ( menggunakan tingkat gaji bervariasi untuk eksekutif sebagai sasaran multiplenya ). Yuji Ijiri kemudian
mengembangkan suatu konsep prioritas preempetive untuk menyelesaikan sasaran multiple dan pendekatan penyelesaian secara umum. Pemrograman tujuan sangat mirip dengan pemrogaman linier, kecuali bahwa pada pemrograman tujuan kita dapat mempunyai lebih dari satu tujuan. Pemrograman tujuan menggabungkan semua tujuan manajerial ke dalam formulasi pemrograman. Pendekatan dasar dari pemrograman tujuan adalah untuk menerapkan suatu tujuan yang dinyatakan dengan angka tertentu untuk setiap tujuan, merumuskan suatu fungsi tujuan untuk setiap tujuan, dan kemudian mencari penyelesaian yang meminimumkan jumlah dari penyimpangan – penyimpangan ( deviasi ) dari fungsi tujuan terhadap tujuan masing – masing. Karena penyimpangan – penyimpangan tujuan – tujuan itu diminimumkan, sebuah model Goal Programming dapat menangani aneka ragam tujuan dengan dimensi atau satuan ukuran yang berbeda. Tujuan – tujuan yang saling bentrok juga dapat diselesaikan. Jika terdapat banyak tujuan, priritas dapat ditentukan dan proses penyelesaian Goal Programming ini akan berjalan sedemikian rupa sehingga tujuan dengan prioritas tertinggi dipenuhi sedekat mungkin sebelum memikirkan tujuan dengan prioritas lebih rendah. Jika Linier Programming berusaha mengidentifikasikan solusi optimum dari suatu himpunan solusi layak, Goal Programming mencari titik yang paling memuaskan dari sebuah persoalan dengan beberapa tujuan. Berikut ini adalah definisi dari beberapa istilah dan lambang yang biasa digunakan dalam Goal Programming :
Decision variables : seperangkat variabel yang tak diketahui ( dalam model Goal Programming dilambangkan dengan xj , dimana j = 1, 2,...,n yang akan dicari nilainya ( Variabel Keputusan ). Right Hand Side Values (RHS) : nilai- nilai yang biasanya menunjukan ketersediaan sumber daya (dilambangkan dengan bi) yang akan ditentukan kekurangan atau kelebihan penggunaannya. (Nilai sisi kanan). Goal : keinginan untuk meminimumkan angka penyimpangan dari suatu nilai RH S pada suatu goal constraint tertentu.(Tujuan). Goal constaint : sinonim dari istilah goal equation, yakni suatu tujuan yang dieksresikan ke dalam persamaan matematik dengan memasukkan variabel simpangan.(Kendala tujuan). Preemtive priority factor : suatu sistem urutan (yang dilambangkan dengan P k, dimana k = 1,2,3,....,K dan K menunjukan banyaknya tujuan dalam model) yang memungkinkan tujuan-tujuan disusun secara ordinal dalam model Goal programming. Sistem urutan itu menempatkan tujuan-tujuan dalam susunan dengan hubungan sepert berikut: P1>P2>>>Pk P1 merupakan tujuan yang paling penting P2 merupakan tujuan yang kurang penting dan seterusnya. Deviational variables : variabel – variabel yang menunjukan kemungkinan penyimpangan dari suatu nilai RHS kendala tujuan (dalam model Goal Programing dilambangkan dengan di, dimana i = 1,2,...,m; dan m adalah banyaknya kendala
tujuan dalam model) atau penyimpangan positif dari suatu nilai RHS (dilambagkan dengan di). Variabel – variabel ini serupa dengan slack variabel dalam Linear Proggraming. (Variabel simpangan). Diffrential weight : timbangan matematik yang diekspresikan dengan angka cardinal (dilambangkan dengan wki dimana k = 1,2,....,K; i=1,2,....,m)dan digunakan untuk membedakan variabel simpangan i di dalam suatu tingkat prioritas k.(Bobot). Technological coeficient : nilai – nilai numeric (dilambangkan dengan aij ) yang menunjukan penggunaan nilai bi per unit untuk menciptakan xj . (Koefisien teknologi).
3.1.4.1 Unsur – Unsur Goal Proggraming Setiap model Goal Proggraming paling sedikit terdiri dari tiga komponen, yaitu sebuah fungsi tujuan, kendala – kendala tujuan, dan kendala non negatif.
Fungsi Tujuan Ada tiga jenis fungsi tujuan dalam Goal Programming, yaitu: m
M inimumkan Z = ∑ d i− + d i+ i= 1
(
)
M inimumkan Z = Pk d i− + d i+ untuk k = 1,2,...,K
(
)
M inimunkan Z = Wki Pk d i− + d i+ untuk k = 1,2,...,K Fungsi tujuan yang pertama digunakan jika variabel simpangan dalam suatu masalah tidak dibedakan menurut prioritas atau bobot. Fungsi tujuan kedua digunakan dalam
suatu masalah dimana urutan tujuan – tujuan diperlukan, tetapi variabel simpangan didalam setiap tingkat prioritas memiliki kepentingan yang sama. Dalam fungsi tujuan ketiga, tujuan – tujuan diurutkan dan variabel simpangan pada setiap ingkat pioritas memiliki kepentingan yang sama. Dalam fungsi tujuan ketiga, tujuan – tujuan pada setiap prioritas dibedakan dengan menggunakn bobot yang berlainan w ki. Jadi fungsi tujuan yang akan digunakan tergantung pada situasi masalahnya. Dalam model Goal Proggramming tidak ditemukan variabel keputusan pada fungsi tujuan.
Kendala Tujuan Ada enam jenis kendala tujuan yang berlainan. M aksud setiap jenis kendala itu ditentukan oleh hubungannya dengan fungsi tujuan.
Persamaan pertama
maknanya serupa dengan kendala pertidaksamaan ≤ dalam masalah program linier maksimal. Persamaan kedua maknanya serupa dengan ke ndala pertidaksamaan ≥ pada masalah program liner maksimasi. Persamaan ketiga, keempat dan kelima semuanya memperbolehkan penyimpangan kedua arah, tetapi persamaan kelima mencari penggunaan sumber daya yang diinginkan sama dengan bi. Ini serupa dengan kendala persamaan dalam Linear Proggramming, tetapi tidak menempel pada solusi karena dimungkinkan adanya penyimpangan negatif dan positif. Jika kendala persamaan dimasukkan dengan menempatkan sebuah artificial variabel d i+ , seperti pada persamaan keenam. Persamaan ketiga dan keempat memperbolehkan adanya penyimpangan positif dan negatif dari nilai RHSnya.
Kendala Non-negatif Variabel – variabel dalam Goal Programing biasanya bernilai lebih besar atau sama dengan nol. Semua model Goal Programing terdiri dari variabel simpangan dan variabel keputusan, sehingga pernyataan non negatif dilambangkan sebagai : xj , di+ , di-.
Kendala S truktural Si samping ketiga komponen yang telah disebutkan diatas, dalam model Goal Programming kadang – kadang terdapat model yang lain, yaitu kendala struktural yang artinya kendala –kendala lingkungan yang tidak berhubungan langsung dengan tujuan – tujuan masalah yang dipelajari. Variabel simpangan tidak dimasukkan dalam kendala ini, karena itu, kendala ini tidak diikutsertakan dalam fungsi tujuan. Untuk dapat mencapai semua tingkat aspirasi yang diinginkan oleh seseorang pembuat keputusan sangatlah sukar. Hal itu mengakibatkan akan terjadinya deviasi dari tujuan (goal) yang diingikan. Oleh karena itu, dalam formulasi pemograman tujuan proses pencarian solusi optimal dilakukan dengan mencari suatu nilai minimasi dari jumlah deviasi yang terjadi. Persamaan matematikanya adalah sebagai berikut: M isal : X1, x2 , ....., xn
= variabel keputusan dari permasalahan.
K
= jumlah tujuan yang ada.
cjk
= koefisien xj ( j = 1, 2,..., n ) dalam fungsi tujuan untuk setiap
tujuan k ( k = 1, 2,..., k )
gk
= sasaran untuk tujuan k ( the goal for objective k )
maka : n
∑
cjl xj = g1
( sasaran 1 )
cj2 xj = g1
( sasaran 2 )
cjk xj = g1
( sasaran k )
j =1
n
∑ j =1
n
∑ j =1
Persamaan fungsi tujuan adalah merupakan minimasi dari deviasi sasaran yang ada, yaitu:
M inimasi z =
⎛ ∑= ⎜⎜ k 1 ⎝ K
n
∑ j=1
⎞ c jk x 2 - g k ⎟⎟ ⎠
Persamaan tersebut kemudian diubah ke dalam bentuk Program Linier dengan menambahkan variabel baru, yaitu variabel deviasi yang terdiri dari : Dk - = tingkat overachievement dari sasaran (goal) Dk- = tingkat underachievement dari sasaran (goal) Dimana: n
d k = ∑ c jk − g j untuk k = 1,2,3,...,K j= i
Sehingga fungsi tujuan berubah menjadi : K
M inimasi z = ∑ d k k =i
Oleh karena nilai dari d k dapat beruba positif maupun negatif, maka nilai – nilai dari variabel d k dapat diganti dengan perbedaan antara dua variabel non variabel non negatif baru. Dalam solusi optimal nilai dari kedua variabel tersebut mempunyai dua kemungkinan, yaitu : •
Salah satu nilai dari variabel deviasi tersebut nol.
•
Kedua variabel deviasi tersebut memunyai niali nol.
Kemungkinan pertama timbul karena kejadian overachievement dan underachievent tidak mungkin terjadi pada saat yang besamaan. Pengurangan biaya operasi lebih besar dari 10% tidak mungkin terjadi pada saat yang bersamaan dengan pengurangan biaya operasi kurang dari 10%, sedangkan kemungkinan terjadi apabila pengurangan biaya operasi tepat 10%. Adanya kemungkinan tersebut mengakibatkan :
3.1.4.2 Asumsi Model Goal Programming M odel Goal Programming memerlukan sejumlah asumsi. Jika dalam membuat model dari duatu masalah tertentu asumsu – asumsi itu tidak dapat dipenuhu, maka Goal Programming bukan merupakan masalah yang sedang dipelajari, jika asumsi model membatasi penerapan Goal Programming. Asumsi – Asumsi berikut harus diingat agar penerapan model Goal Programming bermanfaat.
Additivitas dan linearitas. Diasumsikan bahwa proporsi penggunan bi yang ditentukan oleh aij harus tetap benar tanpa memperhatikan nilai solusi xj yang dihasilkan. Artinya, LHS dari kendala tujuan harus sama dengan nilai RH S. Dalam kehidupan sehari – hari, hubungan synergistic dapat menyebabkan penyimpangan asumsi ini. Suatu contoh adalah ketika seseorang ditempatkan dalam suatu lingkungan yang kompetitif akan lebih prduktif dibandingkan dengan jika prestasi seseorang diukur dalam lingkungan yang tidak kompetitif. Prosedur model lain, seperti Stockhastic Goal Programing, cocok untuk kedua model jenis persoalan ini. Divisibilitas. Diasumsikan bahwa nilai-nilai xj ,di-,di+ yang dihasilkan dapat dipecah. Artinya, kita dapat menyelesaikan jumlah pecahan nilai xj dan menggunakan jumlah pecah nilai sumber daya dalam solusi itu. Terbatas. Diasumsikan bahwa xj ,di-,di+ yang dihasilkan harus terbatas. Artinya, kita tidak dapat memiliki nilai variabel keputusan, sumber daya, atau penyimpangan tujuan yang tidak terbatas. Segalanya dalam dunia ini terbatas.
Kepastian dan Periode Waktu S tatis. Diasumsikan bahwa parameter Goal Prgraming seperti aij, bi, Pk, dan wki diketahui dengan pasti dan mereka akan tetap statis selama periode perencanaan dimana hasil model digunakan.
3.4.3 Perumusan Masalah Goal Programming Langkah – langkah perumusan Goal Programming meliputi beberapa tahap sebagai berikut :
1. Tentukan variabel keputusan. Disini kuncinya ada;ah menyatakan dengan jelas variabel keputusan yang tidak diketahui. M akin tepat definisi akan makin mudah pengerjaan model yang lainnya. 2. Nyatakan sistem kendala. Kincinya pertama adalah menentukan nilai – nilai sisi kanan dan kemudian menentukan koefisien teknoogi yang cocok dan variabel keputusan yang diikutsertakan dalam kendala. Juga perhatikan jenis penyimpangan yang diperbolehkan dalam nilai RHS. Jika penyimangan diperbolehkan dalam dua arah, tempatkan kedua variabel simpangan dalam kendala itu. Jika penyimpangan hanya diperbolehkan pada satu arah, tempatkan hanya satu variabel simpangan yang tepat pada kendala yang bersangkutan. 3. Tentukan prioritas utama. Kuncinya disini adalah membuat urutan tujuan – tujuan. Biasanya urutan tujuan merupakan pernyataan ppreferensi individu. Jika persoalannya tidak memiliki uruttan tujuan, lewati langkah ini dan kemudian ke langkah berikutnya. 4. M enentukan bobot. Disini kuncinya adalah membuat urutan didalam suatu tujuan tertentu. Jika tidak diperlukan lewati langkah ini. 5. Nyatakan fungsi tujuan. Disini kuncinya adalah memilih variabel simpangan yang benar untuk dimasukkan dalam fungsi tujuan. 6. Nyatakan keperluan non negatif. Langkah ini merupakan bagian resmi dari perumusan masalah Goal Programming. Ada dua kasus yang perlu diperhatikan dalam pemograman tujuan ini, yaitu pemograman tujuan tidak preemptive (nonpreemptive goal Programming) dan
pemograman tujuan preemptive (preemptive goal programming). Pemograman tujuan tidak preemptive (nonpreemptive goal programming) adalah pemograman dimana semua tujuan kurang lebih sama pentingnya. Sedangkan pemograma tujuan preemptive (preemptive goal programming) adalah pemograman dimana terdapat urutan tingkat prioritas dari tujuan – tujuan, sehingga tujuan – tujuan yang sangat penting mendapat perhatian utama, yang berada pada urutan kedua mendapat priorotas kedua mendapat prioritas kedua, dan setereusnya (jika ada lebih dari dua prioritas). Contoh Kasus : Dimension ltd. M emproduksi dua macam produk, yaitu meja dan kursi, yang harus diproses melalui perakitan dan pemolesan. Fungsi perakitan memiliki 60 jam kerja; sedangkan fungsi pemolesan hanya untuk 48 jam kerja. Untuk menghasilkan satu meja dibutuhkan 4 jan kerja perakitan dan 2 jam pemolesan. Untuk menghasilkan satu kursi dibutuhkan waktu 2 jam kerja perakitan dan 4 jam pemolesan. Laba tiap meja $ 8 dan tiap kursi $ 6. Pihak perusahaan memiliki dua tujuan yang berperingkat sama ( sama pentingnya). Pertama adalah tujuan mencapai laba $ 100, dan tujuan kedua adalah produksi 10 unit meja. Karena tujuan ini berperingkat sama, selisih sebanyak $1 dari target laba sama pentingnya dengan selisih 1 meja. Fungsi tujuan dan batasan untk pemecahan bagi persoalan program tujuan ini adalah : M inimumkan : z = Dup + Dut Dengan kendala : 6X1 + 6X2 + Dup – Dop = 100
Tujuan laba
X1 + Dut – Dot = 10
Tujuan meja
4X1 + 2X2 ≤ 60
Batasan perakitan
2X1 + 4X2 ≤ 48
Batasan pemolesan
Semua variabel ≥ 0 Dimana : Dup = jumlah laba dibawah target Dop = jumlah laba diatas target Dut = jumlah produksi meja dibawah target Dot = jumlah produksi meja di atas target
Penyelesaian persoalan di atas adalah sebagai berikut : M inimum z = Dup + Dut + M R1 + MR2 z = Dup + Dut + M (110 – 9X1 – 6X2 – Dup – Dop – Dut – Dot) z – Dup – Dut + 9X1M + 6X2M + DupM – DopM + DutM – DotM = 110 z + (-1 + M )Dup + (-1 + M)Dut – DopM – DotM – 9X1M + 6X2M = 110 Dengan kendala : 8X1 + 6X2 + Dup – Dop + R1 = 100→ R1 = 100 – 8X1 – 6X2 – Dup + Dop X1 + Dut – Dot + R2 = 10
→ R2 = 10 – X1 – Dut + Dot
+
R1 + R2 = 110 – 9X1 – 6X2 – Dup + Dop – Dut + Dot
4X1 + 2X2 + S3
= 60
2X1 + 4X2 + S4
= 48
V
X
X
D
D
D
D
S
S
R
R
R
a
1
2
u
u
o
o
3
4
1
2
HS
p
t
p
t
0
0
0
0
11
Ra
0
tio
r B a s i s Z
R
9
6
-
-
-
-
M
M
1
M
1
M
8
6
+
+
M
M
1
-
0
M 0
0
0
1
0
1 1
R
1
0
0
0
1
-
10
2.
0
5
0
0
0
1
10
10
1 2
4
2
0
0
0
0
1
0
0
0
60
15
2
4
0
0
0
0
0
1
0
0
48
24
V
X
X
D
D
D
D
S
S
R
R
R
a
1
2
u
u
o
o
3
4
1
2
HS
p
t
p
t
S 3
S 4
r B
a s i s Z
0
6
-
-
-
8
M
1
M
8
M
+
M
M
-
0
0
0
9
20
Ra
M
tio
20
2.
M
1
R
0
6
1
-
-
1
8
0
1
8
0
0
1
8
5
1
R
1
0
0
-
0
0
0
1
10
1
10
2
S
0
2
0
0
-
-
4
1
0
0
4
-
20
5
28
14
4
3
S
0
4
0
0
-
2
0
1
0
2
2
4
V
X
X
D
D
D
D
S
S
R
R
R
ar.
1
2
up
op
ut
ot
3
4
1
2
HS
0
0
-1
0
-1
0
0
0
-
-
0
M
M
1
-
20/
1
8
Ba sis Z
Do t
0
6/
1/
-
-1
1
0
0
8
8
1/
/
8
8
X1
S3
1
0
6/
1/
-
8
8
1/
/
8
8
-1
-
½
0
0
0
0
0
1
0
0
1
-
1/
1
2
/
0
100 /8
0
10
0
23
2 S4
0
10
-
¼
0
0
0
1
-
/4
1/
1
4
/ 4
Dari tabel diatas, dapat dilihat bahwa tujuan memproduksi 10 meja dapat tercapai bahkan kelebihan (100/8 – 10 = 20/8); 20/8 timbul dalam pemecahan akhir senagai Dot (kelebihan target produksi meja). Tujuan laba $ 100 (keduanya, Dup dan Dop, bernilai nol karena mereka tidak dalam pemecahan akhir, sehingga labanya persis $ 100). Nilai z = 0 diatas berarti tidak adanya penyimpangan tujuan dibawah target.
3.1.5 Perencanaan Disagregat (Bedworth, hlm 146 – 150) Perencanaan agregat belum menunjukan produk spesifik di dalam proses manufaktur. Upaya untuk memecah ke dalam produk spesifik dikenal sebagai perencanaan disagregat. Terdapat beberapa metoda yang digunakan untuk menyelesaikan permasalahan disagregasi, baik dengan pendekatan optimasi maupun heuristik. Hax
dan M eal mengidentifikasikan struktur produk kedalam 3 tingkatan yang berbeda, yaitu : 1. Item, merupakan produk akhir yang sampai kepada konsumen. Item merupakan tingkat yang paling rendah dalam struktur produk. Suatu jenis produk dapat terdiri atas banyak item yang dapat dibedakan berdasarkan warna, bentuk keemasan atau ukuran. 2. Family, merupakan kumpulan beberapa item yang memiliki biaya set up yang sama. Pengertiannya adalah apabila suatu mesin sudah dipersiapkan untuk membuat suatu item dari suatu family, maka semua item – item yang lain di dalam family yang sama dapat juga diproduksi, hanya dengan melakukan perubahan kecil pada set up. 3. Type, merupakan sekumpulan yang memiliki ongkos produksi per satuan unit waktu produksi yang relatif sama pula. Jumlah produksi per type ditentukan dengan aggregate production plan. Pembahasan berikut ini merupakan suatu pendekatan disaggregat yang dikembangkan oleh Hax dan Bitran. Pendekatan Hax dan Bitran terdiri dari dua algoritma, yaitu : 1. Algoritma yang menguraikan perencanaan agregat dalam jumlah produk family 2. Algoritma yang menguraikan jumlah produksi family menjadi jumlah produk item. Berikut adalah Algoritma Disagregasi Item (Bedworth, hlm 153-154) 1. Syarat setiap family i. Yang akan diproduksi, tentukan jumlah periode N dengan
⎛ N ⎞ syarat: Yi ≤ ∑ K ij ⎜ ∑ Dijn + SS ij + I ij , t −1 ⎟ ∀ jEi ⎝ n −1 ⎠ *
2. M enghitung :
⎛ N ⎞ E = ∑ Kij ⎜ ∑ Dijn + SS ij + I ij , t−1 ⎟ − Yi* ∀jEi ⎝ n−1 ⎠
3. Untuk setiap item dari family i. Perhitungsn kuantitas produksi sebagai berikut : N
Yi = ∑ *
∀ jEi
N ⎛ ⎞ Dijn + SS ij − I ij ,t −1 − ⎜ Ei Dijn ∑ Kij Dijn ⎟ n −1 ⎝ ⎠
* * Jika Yij ≤ 0 untuk setiap item, misalnya item g ( j = g ), maka dijadikan Yij = 0.
Kemudian nuang item g dari family tersebut dan kurangi faktor penyebut pada sebelah kanan persamaan di atas dengan Kig Dign, ulangi langkah 3. Yi* = Kuantitas produksi yang didapatkan Kij = Faktor konversi untuk unit produk item j dalam family i tehadap unit produk agregat Dij,t
= Kebutuhan untuk item j dalam family i. Selama periode produksi t
E = Kelebihan permintaan Yij * = Jumlah produksi unit item j family i pada periode t.
3.1.6 MAS TER PRODUCTION S CHEDULE (JAD WAL INDUK PRODUKS I)
(Fogarty at al, hlm 409) Master Production Schedule (M PS) adalah hasil dari proses disagregasi. M PS merupakan suatu rencana produksi yang fleksibel yang menyatakan jumlah dan waktu produksi dari produk akhir (end item). M PS bukanlah merupakan suatu hasil peramalan tetapi benar – benar merupakan suatu perencanaan produksi yang feasibel dengan memperhatikan faktor – faktor: 1. Kapasitas atau beban produksi dan perubahannya 2. Perubahan dalam persediaan produk jadi 3. Fluktuasi permintaan 4. Efisiensi dan faktor utilitas dari faktor produksi
3.1.7 ROUGH C UT CAPACIY PLANNING (Fogarty at al, hlm 410) RCPP (Rough Cut Capacity Planning) adalah perencanaan kapasitas untuk mengetahui apakah produksi yang dijadwalkan melebihi kapasitas yang tersedia. RCCP sangat penting bagi JIP (Jadwal Induk Produksi) karena RCCP digunakan untuk memberikan peringatan apabila kapasitas tidak mencukupi. Dalam RCCP, kapasitas yang dibutuhkan pada setiap bagian produksi (departemen atau mesin) yang dipilih dihitung dengan yang dibutuhkan oleh JIP. Jika kapasitas yang dibutuhkan melebihiatau tidak dapat dipenuhi oleh kapasitas yang tersedia maka harus dilakukan beberapa langkah alternatif, yaitu; 1. Jika kapasitas yang ada masih dapat ditingkatkan maka dilakukan kerja lembur, penambahan tenaga kerja, penambahan shift atau penambahan lini produksi.
2. Jika kapasitas yang ada tidak dapat ditingkatkan lagi maka harus dilakukan perubahan JIP. Proses – proses dalam RCPP : 1. M enentukan aturan RCCP dalam production planning and control systems. 2. M elihat ketiga teknik yang terdapat dalam RCCP dan memilih teknik untuk digunakkan. 3. M enentukan keputusan yang akan diambil dalam RCPP dari berbagai keputusan yang ada. 4. M elihat dua altenatif pendekatan capcacity management, yaotu Line Balancing yang berada dibawah filosofi JIT dan drum buffer rope dan filosofi i Theory of Consistency.
Tiga teknik dalam RCPP (Fogarty, hlm 410):
1. Perencanaan kapasitas dengan overall factors M etode ini menggunakan data masa lalu untuk menentukan persentase dari total jam kerj yang dapat dianggap sebagai beban kerja pada setiap produksi, departemen produksi maupun mesin. M etode ini mudah dalam mengestimasi beban kerja pada setiap bagian produksi dan membutuhkan data yang lebih sedikit. Kelemahan metode ini adalah kurang dapat dipercaya keakuratannya.
2. Pendekatan Bill of Labour Pada metode ini, estimasi beban kerja pada setiap bagian produksi untuk setiap periode pada Jadwal Induk Produksi. I w,t = ∑ q p ,t h p ,w Dimana : Iw,t = Beban kerja pada stasiun kerja w selama periode t Qp,t = Jumlah unit item p yang akan diproduksi selama periode t Hp,w
= Jumlah total jam produksi yang dibutuhkan oleh item p pada stasiun
kerja w. N = Jumlah item yang akan diproduksi 3. Pendekatan resources files Pendekatan ini membutuhkan waktu standar, lead time menunjukan penugasan yang lebih pasti. Penentuan terhadap kapasitas yang tersedia, ditujukan untuk membandingkan diantara kapasitas yang tersedia dengan kapasitas yang dibutuhkan. Terdapat dua pendekatan dalam hal ini, yaitu: 1. M esin – mesin yang ada tidak selalu ersedia secara penuh.
2. Terdapatnya perbedaan diantara rata – rata waktu standar dengan rata – rata aktual produksi. Adjustment yang pertama adalah utilisasi. Utilisasi merupakan angka 0 dan 1. Dimana dapat disebabkan oleh mesin, pekerja, peralatan atau material yang tidak tersedia. Yang kedua adalah efisiensi, merupakan rata – rata dari waktu standar produksi epr jam pekerja (aktual), sehingga:
Capacity available = Time available x Utilization x Efficiency 3.2
Sistem Informasi
3.2.1
Pengertian Sistem M enurut M cLeod (2004, hlm 9) sistem adalah sekumpulan elemen-elemen yang
saling terintegrasi untuk mencapai suatu tujuan (integration of elements working toward an objective). Terdiri dari sumber daya : -
Fisik berupa manusia, material, dan mesin (termasuk fasilitas dan energi).
-
Konspetual berupa uang dan informasi. M enurut Bennet (2002, hlm 6) sistem mempunyai beberapa karakteristik :
-
Sistem berada dalam lingkungan.
-
Sistem dipisahkan dari lingkungan oleh beberapa jenis batasan.
-
Sistem memiliki input dan output. M ereka menerima input dari lingkungan, dan mengirim output ke lingkungannya.
-
Sistem memiliki antarmuka yang mengizinkan komunikasi diantara dua sistem.
-
Sistem mungkin memiliki sub-sistem. Sub-sistem juga adalah sistem, dan mungkin memiliki sub-sistemnya sendiri.
-
Sistem yang bertahan memiliki mekanisme kendali.
-
Kendali sistem bergantung
pada umpan balik (dan kadang-kadang diteruskan).
Terdiri dari informasi dari operasi sistem atau lingkungannya, yang dilewati kepada mekanisme kendali -
Sistem memiliki beberapa sifat yang tidak langsung bergantung pada sifat bagiannya. Ini dinamakan sifat emergent pada tingkatan keseluruhan.
Tabel 3.2 System Input dan Output System
Murid
In put
Input
Output
Informasi
Pengetahuan baru
Latihan
Ide baru
Bimbingan
Solusi
Transformation
Output
Gambar 3.2 Sistem Input dan Output
3.2.2
Pengertian Informasi M enurut Laudon (2004, hlm 13) informasi adalah cluster dari fakta yang berarti
dan berguna pada manusia dalam proses pengambilan keputusan M enurut M cLeod (2004, hlm 12) informasi adalah data yang telah diproses, atau data yang memiliki arti. Dimensi informasi menurut M cLeod (2001, hlm 145), yaitu: -
Relevansi Dikatakan relevan jika informasi berhubungan langsung dengan masalah yang dihadapi.
-
Akurasi Idealnya, seluruh informasi harus akurat untuk mendukung terbentuknya sistem yang akurat. Akurasi diperlukan diperlukan dalam aplikasi-aplikasi tertentu seperti aplikasi yang melibatkan keuangan, informasi yang semakin teliti akan menambah biaya.
-
Ketepatan Waktu Informasi harus tersedia untuk menyelesaikan masalah pada waktu yang tepat sebelum situasi menjadi tidak terkendali atau kesempatan yang ada menghilang. M anajer harus mampu memdapatkan informasi yang menggambarkan keadaan yang sedang terjadi sekarang, selain apa yang telah terjadi pada masa lalu.
-
Kelengkapan Perusahaan terutama manajer harus dapat memdapatkan informasi yang memberikan gambaran lengkap dari suatu permasalahan. Namun pemberian informasi yang tidak berguna secara berlebihan harus dapat dihindari.
3.2.3
Pengertian Sistem Informasi Whitten (2004, hlm 10) memberikan definisi bahwa sistem informasi adalah
susunan dalam organisasi yang meng-capture (mencatat/merekam dalam file yang permanen) dan mengelola data untuk menghasilkan informasi berguna yang mendukung sebuah organisasi beserta karyawan, pelanggan, pemasok barang dan rekanannya. Banyak organisasi menganggap sistem informasi diperlukan untuk memiliki kemampuan bersaing atau memperoleh keuntungan persaingan. Laudon (2004, hlm 55) mengemukakan sistem informasi merupakan komponen – komponen yang saling berhubungan dan bekerja sama untuk mengumpulkan,
memproses, menyimpan, dan menyebarkan informasi untuk mendukung pengambilan keputusan, koordinasi, pengendalian, dan untuk memberikan gambaran aktivitas di dalam perusahaan. M enurut M cKeown (2004, hlm 56) sistem informasi merupakan gabungan dari komputer dan user yang mengeloloa perubahan data menjadi informasi serta menyimpan data dan informasi tersebut. M cLeod (2001, hlm 17) memberikan definisi bahwa sistem informasi yang diproses berdasarkan computer (Computer-Based Imformation System) atau yang lebih sering dikenal dengan singkatan CBIS mempunyai 5 subsistem atau aplikasi yang menggunakan komputer dalam information processes. Kelima subsistem tersebut adalah: 1. AIS (Accounting Information System), yaitu sistem yang melakukan pemrosesan terhadap data-data perusahaan. 2. M IS (Management Information
System),
yaitu
sistem komputer
yang
diimplementasikan bagi tujuan utama untuk menghasilkan informasi manajemen. 3. DSS (Decision Support System), yaitu sistem penghasil informasi yang bertujuan memberikan dukungan bagi pemecahan masalah serta bagi pengambilan keputusan oleh manajer. 4. Virtual office, yaitu sistem pengaturan modern bagi pekerjaan di perusahaan yang dapat dilakukan dengan mudah menggunakan otomatisasi kantor (office automation) dan aplikasi elektronik lainnya. 5. Knowledge-based system, yaitu sistem yang mencakup ragam sistem dengan tujuan
mengaplikasikan
intelejensi buatan
kepentingan pengambilan keputusan.
(artificial intelligence)
untuk
Output yang dihasilkan oleh CBIS akan menjadi informasi bagi pengambilan keputusan. M odel CBIS ini dapat dilihat pada Gambar 3.3
Acc ounting Infor mation Sy stem
Management Infor mation Sy stem Problem
Decisions
Infor mation
Decision Infor mation Sy stem
The Virtual Office Problem Solution
Knowledgebas ed Systems
Gambar 3.3 M odel Computer Based Information System (CBIS) Sumber: M cleod, 2001, hlm 18
3.2.4
Pengertian Sistem Informasi Manajemen M enurut M cLeod (2004, hlm 260), sistem informasi adalah sistem berbasis
komputerisasi yang menyediakan informasi kepada pengguna dengan kebutuhan yang sama. Pengguna membentuk sebuah entitas organisasi formal dan menjelaskan apa yang telah terjadi pada masa lalu. •
Inputs: High volume data
•
Processing: Simple models
•
Outputs: Summary reports
•
Users: Middle managers
Gambar 3.4 Sistem Informasi M anajemen
3.2.5
Siklus Hidup Pengembangan Sistem (SDLC - System Development Life Cycle) M enurut M cLeod (2001) siklus hidup pengembangan sistem adalah ungkapan
yang meliputi analisis, desain, dan tahap implementasi dari siklus hidup sistem. M elibatkan personel IT, pengguna, dan spesialis informasi.
Gambar 3.5 Tahapan Siklus Hidup Sistem Tahap – tahap dalam siklus hidup sistem adalah: 1. Tahap Perencanaan : •
M enyadari masalah.
•
M endefinisikan masalah
•
M enentukan tujuan.
•
M engidentifikasi batasan-batasan
•
M engadakan studi kelayakan, dari segi teknis, pengembalian ekonomis, pengembalian non ekonomis, operasional, hukum, etika dan jadwal.
•
M empersiapkan usulan penelitian sistem.
•
M enyetujui atau menolak penelitian proyek oleh manajer untuk memutuskan keberlangsungan sistem.
•
M enetapkan mekanisme pengendalian, yang meliputi apa yang harus dikerjakan, siapa yang mengerjakan, dan kapan akan dilaksanakan.
2. Tahap Analisis •
M engumumkan alasan suatu proyek..
•
M engorganisasi tim proyek.
•
M endefinisikan kebutuhan informasi.
•
M endefinisikan kriteria kinerja sistem.
•
M empersiapkan proposal desain.
•
M enyetujui atau menolak desain proyek.
3. Tahap Perancangan •
M enyiapkan rancangan sistem yang terinci
•
M engidentifikasi berbagai alternatif konfigurasi sistem
•
M engevaluasi berbagai alternatif konfigurasi sistem
•
M emilih konfigurasi yang terbaik
•
M empersiapkan usulan penerapan .
•
M enyetujui atau menolak penerapan sistem.
4. Tahap Implementasi •
Rencanakan implementasi .
•
Umumkan.
•
Dapatkan sumber daya hardware.
•
Dapatkan sumber daya software.
•
Siapkan database.
•
Siapkan fasilitas fisik.
•
Siapkan proposal cutover
•
M enyetujui atau menolak cutover pada sistem baru.
•
Cutover pada sistem baru.
5. Tahap Penggunaan : •
Penggunaan sistem untuk mencapai tujuan yang diidentifikasikan pada tahap perencanaan.
•
Audit sistem yang dilakukan dengan studi penelitian untuk mengetahui seberapa baik sistem baru memenuhi kriteria kinerja.
•
Pemeliharaan sistem biasanya dilakukan untuk tiga tujuan yaitu memperbaiki kesalahan, menjaga kinerja sistem, dan meningkatkan sistem.
•
M empersiapkan proprosal reengineering.
• 3.2.6
M enyetujui atau menolak reengineering. Sumber Daya dan Aktivitas Sistem Informasi Sumber daya yang digunakan dalam sistem informasi ada lima, yaitu:
1. Sumber daya manusia ( people resources ) seperti sistem analis, pengembang piranti lunak, operator sistem, pemakai. 2. Sumber daya perangkat keras ( hardware resources ) seperti komputer, floppy disk, printer dan sebagainya. 3. Sumber daya perangkat lunak (software resources ) seperti sistem operasi, program, prosedur pemasukan data dan sebagainya. 4. Sumber daya data ( data resources ) seperti deskripsi suatu produk, file karyawan, catatan pelanggan, dan sebagainya. 5. Sumber daya jaringan ( network resources ) seperti media komunikasi, prosedur komunikasi, akses jaringan, dan sebagainya.
3.3 Analisis dan Perancangan Berorientasi Objek Whitten (2004, hlm 408) mengemukakan bahwa tehnik analisis berorientasi obyek merupakan alat terbaik yang dapat digunakan untuk sebuah proyek yang akan mengimplementasikan sistem yang menggunakan teknologi obyek untuk membangun, mengelola, dan merakit obyek – obyek itu menjadi aplikasi komputer yang berguna. Pendekatan berorientasi obyek yang dipusatkan pada sebuah tehnik sering disebut dengan permodelan obyek.
3.3.1
Pengertian Objek M enurut Coad dan Yourdon. (1990) objek adalah abstraksi dari sesuatu dalam
problem domain, yang menunjukkan kemampuan sistem untuk menyimpan informasi, dan berinteraksi dengannya, atau keduanya. M enurut Roff (2003, hlm 50) objek adalah sebuah instance dari sebuah class dengan sekumpulan datanya, yang memberi class sebuah state abstraksi dari sesuatu dalam problem domain, yang menunjukkan kemampuan sistem untuk menyimpan informasi, dan berinteraksi dengannya, atau keduanya. Contoh, jika kita memiliki sebuah tiket, maka tiket untuk tempat duduk 4A untuk Lenny Kravitz yang akan bermain dalam pertunjukan halloween adalah sebuah objek karena memiliki bagian (state) tetap melalui sekumpulan datanya. M enurut Roff (2003, hlm 51) : -
Object-oriented analysis adalah proses yang digunakan untuk mengerti (menganalisa) sebuah sistem menggunakan class dan object untuk dunia yang berhubungan dengan sistem.
-
Object-oriented design adalah metode yang biasanya mencatat perbendaharaan kata dalam tahap analisis yang memberikannya sifat yang diperlukan sistem untuk bertahan.
-
Object-oriented programming adalah implementasi aktual dari model yang dibuat dalam Object-oriented design
Aktivitas dalam OOAD terdiri dari beberapa aktivitas yang menjadi aktivitas utama dan aktivitas tambahan. Aktivitas utama ini terdiri dari beberapa kegiatan, seperti problem domain analysis, application domain analysis, architectural design dan component design. Keempat aktivitas ini merupakan aktivitas analisa dan perancangan pada daur hidup dalam pengembangan sistem. Gambar 3.6 berikut akan menampilkan berbagai aktivitas tersebut serta hubungannya.
Requirements for use
Problem Domain Analysis
Model
Applicatin Domain Anal ysis
Component Design Specifications of components Specifications of architecture Architectural Design
Gambar 3.6 Siklus Pengembangan Dengan OOAD Sumber : M athiassen, 2000, hlm 15
3.3.2
Pemilihan Sistem (System Choice) Untuk memulai sebuah perancangan dan analisis dengan berorientasi obyek,
dibutuhkan pemilihan sistem untuk mengetahui sistem seperti apa dan masalah apa yang harus ditangani dalam sistem tersebut untuk dapat memenuhi kebutuhan dari user. Pemilihan sistem digunakan untuk menentukan konteks sistem yang akan dibuat. Tujuan
dari pemilihan sistem untuk menentukan karakteristik sistem secara menyeluruh. Pembuatan system definition sebagai awal mulainya aktivitas dalam pemilihan sistem. System choice ini dapat dilakukan dengan terlebih dahulu mendeskripsikan sistem yang diinginkan. Untuk dapat memformulasikan sistem yang akan digunakan, perlu dilakukan pengamatan terhadap situasi yang terkait dengan sistem serta pemahaman orang-orang yang berhubungan dengan situasi tersebut. Pengamatan terhadap situasi ini pun perlu didukung dengan penciptaan dan evaluasi ide untuk desain sistem. Dengan demikian, pemilihan sistem akan menjadi maksimal setelah melakukan diskusi serta evaluasi terhadap alternatif-alternatif dari sistem yang lain. M enurut M arthiassen (2000, hlm 24) System definition adalah suatu uraian ringkas dari suatu sistem terkomputerisasi yang dinyatakan dalam bahasa alami.
Idea
Situation
System
System definition
Gambar 3.7 Sub Aktivitas dari Pemilihan Sistem Sumber : M athiassen, 2000, hlm 25 Beberapa prinsip yang dapat digunakan dalam pemilihan sistem yaitu memahami situasi, menumbuhkan gagasan baru, dan menggambarkan alternatif sistem. Sedangkan hasil dari pemilihan sistem tersebut adalah berupa FACTOR (Functionality, Application Domain, Conditions, Technology, Objects, Responsibility). Adapun arti dari masing – masing FACTOR yaitu : 1. Functionality : Fungsi sistem yang mendukung tugas application domain.
2. Application Domain : Bagian dari suatu organisasi yang administrate, monitor atau mengendalikan problem domain. 3. Conditions : dengan kondisi yang bagaimana sistem akan digunakan dan dikembangkan. 4. Technology : Semua teknologi yang digunakan untuk mengembangkan dan menjalankan sistem. 5. Objects : Obyek yang utama di dalam problem domain. 6. Responsibility : Tanggung jawab sistem (kegunaan) secara keseluruhan dalam hubungannya dengan konteks sistem.
3.3.3
Problem Domain Analysis M arthiassen (2000, hlm 45) mengatakan bahwa dalam problem domain analysis
ada 3 kegiatan yang dilakukan yaitu mencari elemen dari problem domain berupa class, event, dan object dengan membuat model berdasarkan hubungan struktural antara class dan object yang dipilih, kemudian bagaimana interaksi antara object dan class tersebut. Dasar dari analisis problem domain adalah membuat model dunia nyata seperti yang akan dilihat oleh pemakai yang dilakukan dengan membuat dahulu secara umum baru kemudian secara mendetail.
3.3.3.1 Menentukan Class dan Event Hal yang pertama kali dilakukan dalam analisa problem domain yaitu menentukan class. Class adalah kumpulan dari object yang mempunyai structure, behavioral pattern, dan attribut yang bersamaan. Sedangkan object adalah suatu entitas
yang memiliki identitas, state, dan behaviour. Cara menentukan class ada beberapa ketentuan yaitu : •
Untuk mencari calon jangan membuang terlalu cepat, tetapi lebih baik evaluasi dengan teliti.
•
Untuk menentukan candidate class harus berupa kata benda di dalam keterangan, cari persamaan dengan sistem komputer, dan literatur teknis di dalam problem domain.
•
Untuk memberi nama class secara hati – hati yaitu secara sederhana, mudah dibaca, tepat, tidak membingungkan, dan seperti yang digunakan di problem domain. Berikutnya adalah menentukan event. Event adalah peristiwa yang terjadi seketika yang melibatkan satu atau lebih object. Suatu event dapat ditemukan berupa kata kerja yang ada di dalam penjelasan.
3.3.3.2 Menentukan Structure Dalam menentukan structure dimulai dengan class dan event yang sudah ditentukan sebelumnya untuk ditentukan strukturnya dan kemudian menghubungkan antar class tersebut. Hasil dari keseluruhan akivitas yang dilakukan adalah berupa class diagram. Ada dua macam aktivitas yang dilakukan untuk menentukan structure yaitu menentukan structure antar class dan structure antar object.Structure antar class ada bebrapa jenis hubungan yaitu : •
Generalisasi.
Generalisasi adalah sebuah tehnik dimana atribut dan behaviour yang umum pada beberapa tipe kelas obyek, dikelompokkan ke dalam kelasnya sendiri. M isalnya taxi merupakan salah satu jenis mobil yang membawa penumpang.
Gambar 3.8 Hubungan Generalisasi Sumber : M athiassen, 2000, hlm 74 •
Cluster. Cluster adalah pengelompokkan dari kelas dengan tujuan untuk memperjelas kelas – kelas yang telah dikelompokkan tersebut.
«cluster» Cars
«cluster » Car
Own er
Motor
Passenger Car
Cylinder
Taxi
Clerk
Gambar 3.9 Hubungan Cluster Sumber: M athiassen, 2000. hlm 75
Sedangkan structure antar object mempunyai dua macam hubungan yaitu : •
Agregasi.
Agrerasi adalah bentuk khusus dari asosiasi yang menggambarkan seluruh bagian suatu obyek yang merupakan bagian dari obyek yang lain. M isalnya mobil terdiri dari mesin, motor, badan mobil, dan lain sebagainya.
Car
1 1
1 1
Body
1 4..*
Motor
Wheel
1 1..*
Cam Shaft
1 2..*
Cylinder
Gambar 3.10 Contoh Agregasi Sumber: M athiassen, 2000, hlm 76 •
Asosiasi. Asosiasi adalah hubungan antar obyek yang saling membutuhkan. Berikut adalah macam – macam asosiasi obyek menurut Whitten (2004, hlm 415) Tabel 3.3 Asosiasi Obyek/Kelas
Multiciply
Notasi Multiciply
Asosiasi dengan Multiciply
1 or leave blank
Employee
Zero or 1
0....1
Employee
Customer
Zero or More
0....* or *
Exactly 1
Employee
Customer
Works for 1
Works for
Has 0...1
Makes 0..*
Makes
*
Departement
Makna Asosiasi Seorang karyawan bekerja pada satu dan hanya satu departem en
Departement
Spouse
Payment
Payment
Seorang karyawan memiliki satu suami/istri Customer dapat tidak melakukan pembayaran sampai beberapa kali.
1 or more
1.....*
University
Offers 1..*
Course
Universitas menawarkan paling sedikit 1 mata kuliah sampai beberapa mata kuliah
3.3.3.3 Class dan Object Diagram Class diagram digunakan untuk mewakili bagian (classes) berbeda, hubungan mereka satu dengan yang lainnya. Termasuk atribut dan operasi. Object diagram sangat mirip dengan class diagram, kecuali hubungan dengan class, yang menunjukkan objek yang merupakan instance dari class. Diagram ini biasanya lebih untuk contoh perancangan. Dengan kata lain, object berhubungan dengan sesuatu yang unik, sedangkan class lebih umum.
3.3.3.4 Menentukan Behaviour Aktivitas ini adalah aktivitas yang bertujuan mendefinisikan interaksi atau dynamic properties antara object dan class serta behavior dari object dan class tersebut. Behavior perlu dibuat bagi semua class dan dapat dibuat dengan terlebih dulu membuat event trace yang akan menghasilkan behavioral pattern. Yang dimaksud dengan event trace adalah rangkaian atau urut-urutan event yang meliputi suatu object tertentu, sedangkan behavioral pattern adalah deskripsi dari event trace yang mungkin untuk seluruh object dalam sebuah class. Behavioral pattern ini ditampilkan dalam bentuk statechart diagram yang merupakan bentuk yang paling umum digunakan, regular expression atau state table.
3.3.3.5 Statechart Diagram Statechart diagram menampilkan state – state yang mungkin dari sebuah obyek, event yang dapat dideteksi dan respon atas event – event tersebut. Secara umum, pendeteksian sebuah event dapat menyebabkan sebuah obyek bergerak dari satu state ke state lain. Statechart diagram digunakan untuk menggambarkan sifat dari subsystem, memodelkan interaksi dengan kelas dan system interface, dan use case. M erupakan cara fantastis untuk mengvisualisasikan urutan aplikasi. Tansition
Initial State
State
Final State
Gambar 3.11 Simbol Statechart Diagram
3.3.4
Application Domain Analysis Application domain ini merupakan fase desain untuk menggambarkan kejadian
yang ada seperti apa. Ada beberapa aktivitas yang diperlukan dalam analisis application domain yaitu usage, function, dan interfaces. M enurut M athiassen (2000, hlm 115) application domain adalah analisa dalam organisasi dengan meng-administrate, monitor, dan mengkontrol problem domain yang ada.
System Definition and model Interfaces
Usage Iterate
Functions Requirements
Gambar 3.12 Analisis Application Domain Sumber : M athiassen, 2000, hlm 117
Usage : Dalam aktivitas analisa mengenai usage ini, hasill yang ingin didapatkan adalah jawaban dari pertanyaan bagaimana sistem berinteraksi dengan orang dan sistem lain. Hasil dari usage adalah use case Functions : Aktivitas
functions
bertujuan
untuk
mendefinisikan
properties
dari
pemrosesan informasi dari sistem (system information processing capabilities) untuk membantu actor. Hasil akhir dari aktivitas ini adalah daftar lengkap dari fungsi-fungsi dengan spesifikasi dari fungsi-fungsi yang kompleks. Sebuah fungsi atau function akan diaktifkan, dieksekusi dan pada akhirnya akan menghasilkan sesuatu. Fungsi yang dieksekusi akan merubah state dari model component’s state atau menciptakan reaksi di application domain dan problem domain. Interfaces :
Aktivitas interfaces mempunyai tujuan untuk mengidentifikasikan kebutuhan akan interface dari sistem. Interface adalah suatu fasilitas yang membuat model dan function dapat berinteraksi dengan actor. Interface terdiri dari user interface dan system interface. Hasil dari aktivitas ini adalah perancangan screen atau form, navigation diagram dan deskripsi lainnya.
3.3.4.1 Use Case Diagram Whitten (2004, hlm 257) memberikan informasi bahwa ada dua alat utama yang digunakan saat menyajikan permodelan use case. Pertama adalah use case diagram yaitu diagram yang menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. Diagram ini mengkomunikasikan lingkup kejadian bisnis yang harus diproses oleh sistem. Kedua dinamakan use case narative, yang merupakan deskripsi tekstual tentang kejadian bisnis dan bagaimana pengguna akan berinteraksi dengan sistem untuk menyelesaikan tugas. Dalam use case diagram terlebih dahulu harus menentukan actor dan use case. Actor adalah abstraksi dari user atau sistem lain yang berinteraksi dengan target atau orang yang mengerjakan pekerjaan. Sedangkan use case adalah pola interaksi antara sistem dan aktor di dalam application domain. Use case menggambarkan fungsi – fungsi sistem dari sudut pandang pengguna eksternal dalam sebuah cara yang mereka pahami. Use case awalnya ditentukan paad tahap persyaratan dari siklus hidup dan akan diperbaiki secara bertahap di sepanjang siklus hidup.
Ada empat macam tipe pelaku (actor) yaitu : a. Pelaku bisnis utama Æ Stakeholder yang terutama mendapatkan keuntungan dari eksekusi use case dengan menerima sesuatu yang terukur atau nilai yang teramati. b. Pelaku sistem utama Æ Stakeholder yang secara langsung berhadapan dengan sistem untuk memulai atau memicu kejadian bisnis atau sistem. c. Pelaku server eksternal Æ Stakeholder yang merespons sebuah perminataan dari use case. d. Pelaku penerima eksternal Æ Stakeholder yang bukan pelaku utama, tetapi menerima nilai terukur atau teramati (output) dari use case. M enurut Whitten (2004, hlm 262) langkah – langkah yang dibutuhkan untuk membuat use case adalah : 1. M engidentifikasi pelaku bisnis. 2. M engidentifikasi use case. 3. M embuat diagram model use case. 4. M endokumentasikan secara naratif use case. Untuk mendokumentasikan ada beberapa item yang mencakup didalamnya yaitu nama use case, tipe use case, use case ID, prioritas (prioritas mengkomunikasikan pentingnya use case dalam konteks high, medium, atau low), dan deskripsi (ringkasan pendek tang berisi sejumlah kalimat yang menunjukkan secara garis besar tujuan use case dan berbagai kegiatannya).
Gambar 3.13 Contoh Diagram M odel Use Case
3.3.4.2 Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario yang menunjukkan interaksi antara aktor dan objek dan objek lainnya. Pesan dikirim dari aktor ke objek, dari objek ke objek, dan dari objek ke aktor untuk menunjukkan urutan kendali melalui sebuah sistem. Selain itu dapat digunakan untuk menunjukkan setiap kemungkinan jalur melalui sebuah interaksi, atau menunjukkan jalur tunggal melalui sebuah interaksi. Diagram ini menunjukkan sejumlah contoh obyek dan message (pesan) yang diletakkan di antara obyek – obyek ini di dalam use case. Komponen utama sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat bernama message yang diwakili oleh garis tanda oanah dan waktu yang ditunjukkan dengan progress vertikal. Obyek/participant diletakkan di dekat bagian atas diagram dengan urutan dari kiri ke kanan. Setiap participant terhubung dengan garis titik
– titik yang disebut lifeline. Sepanjang lifeline ada kotak yang disebut activation. Activation mewakili sebuah eksekusi operasi dan participant. Panjang kotak ini berbanding lurus dengan durasi activation. Sebuah message dapat menjadi s imple, synchronous, atau asynchronous. Message yang simple adalah sebuah perpindahan control dari satu participant ke participant yang lainnya. Jika sebuah participant mengirimkan sebuah message synchronous, maka jawaban atas message tersebut ditunggu sebelum diproses dengan urusannya. Namun jika message asynchronous yang dikirimkan, maka jawaban atas message tersebut tidak perlu ditunggu. Time adalah diagram yang mewakili waktu pada arah vertikal. Waktu dimulai dari atas ke bawah. Message yang lebih dekat dari atas akan dijalankan terlebih dahulu dibanding message yang lebih dekat ke bawah. Dari penjelasan tersebut tampak bahwa sequence diagram menunjukkan dua dimensi. Dimensi dari kiri ke kanan menunjukkan tata letak objek/participant dan dimensi dari atas ke bawah menunjukkan lintasan waktu.
Synchronous (aliran diinterupsi sampai pesan selesai)
Asynchronous (Tidak menunggu respon)
Return
(aliran
kendali telah
kembali
menyelesaikan operasi) Gambar 3.14 Simbol – Simbol Message
dan
pesan
telah
Object1
Object2
Actor3 Message1
Message2 Activation
Lifeline
Gambar 3.15 Simbol – Simbol pada Sequence Diagram 3.3.4.3 Navigation Diagram Navigation diagram digunakan untuk menghubungkan dialog antara interface yang menampilkan button, menus, screens, dan layout windows. Interface adalah fasilitas yang membuat model sistem dan function dapat berinteraksi dengan actors. User interface adalah interface untuk users. Sedangkan system interface adalah suatu sistem yang terhubung ke sistem lain.
F orm Fo rm Title Tit le
F orm Fo rm Tit Title le
FForm orm Title Title
Gambar 3.16 Contoh Navigation Diagram
3.3.5
Architectu re Design Aktivitas merancang arsitektur sistem adalah sebuah kegiatan yang bertujuan
mendeskripsikan kelesuruhan struktur sistem dan hubungan antara komponen – komponen utama dari sistem tersebut beserta interaksinya. Aktivitas-aktivitas yang dilakukan adalah mendefinisikan criteria, components dan processes.
Criteria : Kriteria digunakan untuk menset prioritas mana yang harus didahulukan. Kriteria mempunyai beberapa prinsip yaitu desain yang baik harus usable, fleksibel, dan comprehensible serta seimbang untuk beberapa kriteria yang ada. Adapun macam – macam kriteria yang dapat dipilih yaitu : 1.Usable = Sistem dapat digunakan di tempat lain.
2.Secure = Sistem tidak diberikan akses secara umum untuk mencegah orang lain yang tidak berkepentingan dapat memodifikasi data yang ada. 3. Efficient = Penggunaan teknologi dengan ekonomis dan membuat sistem yang mudah digunakan. 4. Correct = Sistem dapat memenuhi kebutuhan. 5. Reliable = Fungsi yang dijalankan dalam sistem harus tepat dan dapat dijalankan. 6. Maintainable = Sistem mudah untuk diperbaiki dan biaya yang digunakan untuk mencari dan memperbaiki kerusakan system rendah. 7. Testable = Sistem dites dengan baik untuk memastikan sistem yang dilakukan dapat dilaksanakan oleh sistem development. 8. Flexible = Dalam merubah sistem tidak memakan waktu dan biaya yang banyak. 9. Comprehensible = Sistem mudah dipahami dan dari sistem yang lama jika dibuat sistem yang baru dapat mudah dimengerti. 10. Reusable = Suatu sistem dapat dipakai oleh sistem lain. 11. Portable = Sistem dapat berubah ke platform apa saja. 12. Interoperable = Banyaknya biaya yang dibutuhkan untuk merubah atau menambah sistem yang lama dengan yang baru.
Untuk menentukan kriteria diperlukan menganalisa secara spesifik kondisi yang ada dalam perusahaan seperti secara tehnik (Hardware, Software, dan komponen lain yang digunakan), organisasi apakah saling berhubungan atau terintegrasi satu sama lain, dan manusia yang menggunakannya (pengalaman staff dan kompetensinya). Kemudian
membuat prioritas desain untuk kriteria tersebut, manakah yang paling penting dan tidak penting kriteria yang harus ada dalam perusahaan. Components : Komponen atau components adalah suatu kumpulan bagian-bagian program yang mempunyai tugas yang telah ditentukan. Arsitektur komponen dapat dirancang berdasarkan beberapa pola, yaitu layered architecture, generic architecture atau clientServer architecture. Komponen dari sistem terdiri dari 3 bagian, yaitu model, function dan user interface component. Komponen model mempunyai tugas untuk menampung objects yang merupakan bentuk dari problem domain. Komponen function bertugas menyediakan functionality dari model. Komponen user interface bertanggung jawab atas interaksi di antara actor dan functionality.Hasil dari aktivitas ini yaitu Component Diagram. Component diagram mengandung component, interfacei, dan relationship. M enurut Fowler (2005, p122) hal penting pada component adalah component yang dapat mewakili potongan – potongan yang independen yang dapat dipesan dan diperbaharui sewaktu – waktu. Component diagram digunakan untuk mengilustrasikan bagaimana komponen sebuah sistem berinteraksi dengan sistem lainnya.
Node
Gambar 3.17 Simbol – Simbol Pada Component Diagram Processes :
Process atau proses adalah sekumpulan operasi yang dieksekusi dalam urutan yang terbatas dan terhubung. Jika terdapat proses yang banyak dengan sumber daya yang digunakan bersama, maka perlu koordinasi antara sumber daya tersebut, seperti processors, program components atau external devices. Hasil yang diharapkan dari aktivitas ini adalah deployment diagram dan solusi dari mekanisasi koordinasi. Depleyment diagram adalah diagram yang menggambarkan processors, assigned components dan active objects. Deployment diagram menunjukkan tata letak sebuah sistem secara fisik, menampakkan bagian – bagian software yang berjalan pada bagian – bagian hardware. Bagian utama dari hardware adalah node yaitu nama umum untuk semua jenis sumber komputasi. Ada dua tipe node yang mungkin yaitu : •
Processor adalah node yang dapat mengeksekusi sebuah komponen.
•
Device adalah node yang tidak dapat mengeksekusi sebuah komponen yang merupakan perangkat keras (seperti printer atau monitor) yang menjadi interface dengan dunia luar. Deployment diagram menggambarkan dimana model akan bergerak setelah
mereka diinstal pada sistem dan bagaimana sistem ini berinteraksi satu sama lain.
Gambar 3.18 Contoh Deployment Diagram
M ekanisasi koordinasi yang dimaksudkan mencakup hal-hal berikut: 1. M elakukan pengawasan akan kepastian akses tunggal terhadap sumber daya yang digunakan bersama. 2. M elakukan pengiriman tugas tersentralisasi untuk koordinasi semua proses yang bersamaan. 3. M elakukan pengawasan secara periodik terhadap perubahan state bagi proses awal dalam situasi yang tepat 4. M elakukan sinkronisasi pertukaran data untuk mencegah penundaan yang tidak perlu terjadi dengan operasi read dan write.
3.3.6
Component Design Component adalah kumpulan dari program – program yang secara keseluruhan
saling berhubungan dengan baik. Component digunakan untuk membuat struktur sistem yang fleksibel sehingga mudah untuk dipahami. Component sangat berkaitan dengan
interface.
Interface dalam konsep
OOAD aadalah
serangkaian
operasi yang
menspesifikasikan perilaku sebuah class.. Aktivitas yang dilakukan dalam perancangan komponen ini adalah desain model component, function component dan connecting component. Model Component : Model component adalah bagian dari sistem yang mengimplementasikan model dari problem domain. Tujuan dari aktivitas model component adalah mengirimkan data saat ini dan data historic ke function, interface dan kepada user atau sistem lain. Fokus utama dari perancangan model component adalah struktur. Dengan demikian, hasil yang diharapkan dari aktivitas ini berhubungan dengan struktur pula, yaitu revised class diagram dari hasil aktivitas analisa. Revisi dari class diagram mencakup penambahan class baru, attributes dan structures untuk menggambarkan events. Function Component : Function
component
diartikan
sebagai
bagian
dari
sistem
yang
mengimplementasikan kebutuhan fungsional. Aktivitas desain function component bertujuan untuk menentukan kemampuan akses ke model bagi user interface dan sistem komponen yang lain. Hasil yang diharapkan dari aktivitas ini adalah sebuah class diagram dengan operasi dan spesifikasi dari operasi yang kompleks. Spesifikasi bagi operasi yang kompleks dapat digambarkan dalam bentuk operation specification, sequence diagram atau statechart diagram.
Connecting Component : Aktivitas desain connecting component bertujuan untuk mengkoneksikan komponen dari sistem. Hasil dari aktivitas ini adalah class diagram dengan komponenkomponen yang termasuk di dalamnya. Koneksi antar komponen yang baik disyaratkan sebagai berikut: 1. M emaksimalkan cohesion; di mana cohesion menggambarkan property positif sebagai ukuran seberapa baik class atau komponen terikat bersama. 2. M eminimasi coupling; di mana coupling merupakan property negatif sebagai ukuran seberapa dekat dua class atau komponen terhubung.
3.3.7
Tahapan Konstruksi dan Implementasi Sistem Whitten (2004, hlm 678) konstruksi sistem adalah fase pengembangan, instalasi,
dan pengujian komponen – komponen sistem. Sedangkan implementasi sistem adalah instalasi dan pengiriman sistem keseluruhan ke produksi. Tujuan dari fase konstruksi adalah untuk membangun dan menguji sebuah sistem fungsional yang memenuhi persyaratan bisnis dan desain dan untuk mengimplementasi antarmuka antara sistem baru dan sistem produksi yang telah ada. Adapun tahapan dari fase konstruksi yaitu : 1. M embangun dan mengetes jaringan (bila perlu). 2. M embangun dan mengetes databse. 3. M enginstal dan mengetes paket perangkat lunak baru (bila perlu). 4. M enulis dan mengetes program baru.
Sedangkan tahapan untuk fase implementasi yaitu : 1. M enguji sistem. Tugas ini melibatkan analisis, pemilik, pengguna, dan pembangun sistem. Pemilik dan pengguna sistem memiliki wewenang penuh apakah sistem berjalan dengan baik atau tidak, Sedangkan pembangun sistem, dari berbagai macam spesialisasi dilibatkan dalam pengujian sistem. Input utama tugas ini meliputi paket perangkat lunak, program custom built, dan semua program yang ada yang membentuk sistem baru. Pengujian sistem dilakukan dengan menggunakan data pengujian sistem yang telah dibuat sebelumnya oleh analisis sistem. 2. M enyiapkan rencana konversi. Aktivitas ini dipicu oleh penyelesaian dari pengujian sistem yang sukses. Dengan menggunakan spesifikasi desain sistem baru, sebuah rencana detail konversi dapat dibuat. Hasil utama dari aktivitas ini adalah rencana konversi yang akan mengidentifikasi database yang harus diinstal, pelatihan pengguna akhir, dan dokumentasi yang harus dikembangkan, dan sebuah strategi untuk konversi dari sistem lama ke sistem baru. 3. M enginstal database. Tujuan tugas ini adalah mempopulasikan database sistem baru dengan data yang telah ada pada sistem lama. Keterlibatan utama para analisa sistem dan desainer adalah dalam perhitungan ukuran database dan perkiraan waktu yang dibutuhkan
untuk melakukan instalasi. Akhirnya, personel untuk data entry atau karyawan kontrak sering ditugaskan untuk melakukan data entry.
4. M elatih para pengguna. Pelatihan dapat dilakukan satu demi satu, tetapi pelatihan kelompok biasanya lebih disukai. Pelatihan kelompok dapat menghemat waktu dan meningkatkan pembelajaran kelompok. Tugas diselesaikan oleh analisis sistem dan melibatkan pemilik sistem dan pengguna. Dengan adanya dokumentasi yang tepat untuk sebuah sistem baru, analisis sistem akan memberikan dokumentasi pengguna sistem (umumnya dalam bentuk manual) dan pelatihan bagi pengguna sistem. 5. Beralih ke sistem baru. Konversi ke sistem baru dari sistem lama adalah kejadian yang sangat penting. Setelah konversi, kepemilikan sistem secara resmi berpindah dari analisis dan progamer kepada pengguna akhir. Tugas ini melibatkan pemilik sistem, pengguna, analisis, desainer, dan pembangun. M anajer proyek yang akan mengawasi proses konversi memfasilitasi tugas ini. Pemilik sistem memberikan umpan balik berkenaan dengan pengalaman mereka dalam keseluruhan proyek. Pengguna sistem akan memberikan umpan balik yang berharga tentang penggunaan aktual dari sistem baru tersebut. Analisis, desainer, dan pembangun sistem yang akan menilai umpan balik yang diterima dari pemiliki dan pengguna sistem setelah sistem berada pada operasi. Hasil utama dari aktivitas ini adalah sistem operasional yang diletakkan dalam produksi di dalam bisnis tersebut.
3.3.8
Tahapan Pengembangan Software Berorientasi Objek Dalam Perancangan Software berorientasi Objek, dilakukan beberapa tahapan
yang menggunakan metode Unified Software Deployment. M etode ini digunakan untuk melakukan Anailsis dan Desain Software berorientasi objek secara cepat dan sederhana, sedangkan untuk programming tidak termasuk dalam Desain ini. Tahapan-tahapan yang dilakukan dapat dilihat pada Aktivitas-aktivitas dalam OOAD . Terdapat 4 kegiatan utama yang digunakan dalam menggunakan metode Unified Software Deployment untuk OOAD (Object Oriented Analysis and Design) yang dibahas oleh M athiassen (2000, hlm 14) : A. Problem Domain Analysis Tahap ini adalah tahapan dimana sistem akan dirancang sesuai dengan kebutuhan informasi dari pengguna, tahapan ini menentukan hasil dari keseluruhan akivitas analisis dan perancangan. Tahapan dari Problem Domain Analysis ini adalah : 1. M enentukan Class yang ada dalam
sistem dengan melakukan proses
identifikasi dari definisi sistem yang telah dikembangkan 2. M enganalisa dan mengembangkan struktur hubungan dari class-class yang ada 3. M enganalisa Behaviour dari class -class tersebut.untuk menentukan state chart setiap class yang termasuk dalam sistem ini. Hasil laporan perancangan yang dihasilkan dari tahapan ini adalah :
1. System Definition : mendefinisikan seluruh sistem sebagai sebuah model yang akan dilihat user saat sistem jadi 2. Class Diagram : untuk menggambarkan hubungan antara class-class dalam sebuah sistem 3. State Diagram : untuk menggambarkan bagaimana state dari daur hidup class yang ada di dalam sistem ini. Dapat
dilihat dari tahap ini telah dapat dilihat model aplikasi secara
keseluruhan bagaimana aplikasi tersebut akan terbentuk.
B. Application Domain Analysis Tahapan ini berfokus pada bagaimana sistem akan digunakan oleh pengguna. Tahap ini dan tahap sebelumnya dapat dimulai secara bergantian, tergantung pada kondisi pengguna menurut M athiassen(2000, hlm 116) . Terdapat 3 tahapan yang akan dilakukan dalam Aplication Domain Analysis, yaitu : 1. M enentukan Penggunaan (usage), yaitu menentukan Actor dan use case yang terlibat dan interaksinya. 2. M enentukan Fungsi sistem untuk memproses informasi dan membuat daftar fungsi. 3. M enentukan Antarmuka pengguna dan sistem, untuk interaksi sesungguhnya dari pengguna dan sistem informasi yang dirancang. Laporan yang akan dihasilkan dari tahapan ini adalah :
1. Use Case Diagram, yang menggambarkan interaksi pengguna sebagai aktor dengan sistem informasi . 2. Function List, yaitu kemampuan yang harus dimiliki sistem sebagai kebutuhan dasar dari user 3. User Interface Navigation Diagram, yaitu diagram untuk menggambarkan tampilan layar yang akan dirancang untuk memenuhi kebutuhan user.
C. Architectural Design Dalam tahap ini, akan dirancang arsitektur hubungan antara Client dan server yang memadai untuk sistem dapat berjalan dengan baik. Perancangan diisini akan menentukan bagaimana struktur sistem fisik akan dibuat dan bagaimana distribusi sistem informasi pada rancangan fisik tersebut. Laporan yang dihassilkan adalah Component Diagram dan Deployment Diagram.
D. Component Design Ini merupakan tahap terakhir dalam Unified Software Deployment
sebelum
melakukan programming. Dimana sistem akan dimodelkan secara lengkap dalam diagram yang disebut sebagai Component Diagram. Dari sini akan terlihat bagaimana sistem bekerja dan interaksi yang terjadi antara sistem dan pengguna.
3.3.9
Keuntungan dan Keterbatasan OOAD (Obyek Oriented Analysis and Design) Keuntungan menggunakan OOAD karena merupakan konsep yang umum yang
dapat digunakan untuk memodel hampir semua fenomena dan dapat dinyatakan dalam
bahasa umum dimana kata benda menjadi class, kata kerja menjadi behaviour, dan kata sifat menjadi atribut. Dengan OOAD dapat memberikan informasi yang jelas tentang konteks dari sistem. Serta dapat mengurangi biaya maintenance sehingga memudahkan untuk mencari hal yang akan diubah dan membuat perubahan menjadi lokal, tidak berpengaruh pada modul yang lainnya. Kekuatan lainnya adalah sangat dekatnya hubungan antara OO analisis, OO design, OO user interface, dan OO progamming. Keunggulan lain dari OOAD adalah kesinambungan antara Analisa, Desain, Antarmuka pengguna, dan Programming. Dimana dalam saat analisa, objek bisa saja berbentuk kondisi sosial , ekonomi, dan kondisi organisasi, sedangkan dalam desain bisa berupa antarmuka sistem, fungsi, proses, dan komponen.
Sehingga dalam desain,
developer menggunakan objek untuk menentukan kebutuhan sistem, dalam desain, developer menggunakna untuk mendeskripsikan sistem , dan saat programming, objek digunakan untuk konsep struktur pemrograman. Sedangkan keterbatasan dari OO adalah ada dua macam aplikasi yang tidak cocok untuk dikembangkan dengan metode OOAD ini, yang pertama adalah aplikasi yang sangat berorientasi ke database. Aplikasi yang sangat berorientasi ke penyimpanan dan pemanggilan data sangat tidak cocok dikembangkan dengan OO karena akan banyak kehilangan manfaat dari penggunaan RDBM S (Relational Database Management System) untuk penyimpanan data. Selain itu aplikasi yang kurang cocok dengan pendekatan OO adalah aplikasi yang membutuhkan banyak algoritma. Beberapa aplikasi yang emlibatkan perhitungan yang besar dan kompleks sangat tidak cocok menggunakan pendekatan OO.