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 dam pemeriksaan. Sejak dari awal sampai menjadi produk jadi utuh maupun sebagai komponen, dan juga memuat informasi-informasi yang diperlukan untuk analisis 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). Dalam peta proses operasi pekerjaan dibagi menjadi menjadi elemen-elemen operasi secara detail. Di sini, tahapan proses operasi kerja harus diuraikan secara logis dan sistematis. Dengan demikian, keseluruhan operasi kerja dapat digambarkan dari awal (raw material) sampai menjadi produk akhir (finished good product) sehingga analisis perbaikan dari masing-masing operasi kerja secara individual maupun uruturutannya secara keseluruhan akan dapat dilakukan (Wignjosoebroto, 2000 , p131). Untuk bisa menggambarkan Peta Proses Operasi dengan baik, ada beberapa prinsip yang perlu diikuti, sebagai berikut :
20 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. 5. Penomoran terhadap suatu kegiatan pemeriksaan diberikan secara tersendiri dan prinsipnya sama dengan penomoran untuk kegiatan operasi.
2.2. Peramalan 2.2.1
Definisi Peramalan Peramalan atau forecasting adalah suatu kegiatan untuk memperkirakan apa yang
terjadi pada masa yang akan datang. Peramalan merupakan suatu kegiatan untuk meramalkan apa yang akan terjadi di masa yang akan datang dengan menggunakan dan mempertimbangkan data dari masa lampau. Ketepatan secara mutlak dalam memprediksi peristiwa dan tingkat kegiatan yang akan datang adalah tidak mungkin dicapai, oleh karena itu ketika perusahaan tidak dapat melihat kejadian yang akan datang secara pasti, diperlukan waktu dan tenaga yang besar agar mereka dapat memiliki kekuatan terhadap kejadian yang akan datang.
21 Peramalan pada umumnya digunakan untuk memprediksi pendapatan, biaya, keuntungan, harga dan perubahan teknologi. Dalam lingkungan perusahaan, peramalan kebanyakan digunakan untuk mengestimasi atau memprediksi permintaan yang akan datang guna memperkirakan jumlah dan jenis apa saja yang diproduksi oleh perusahaan. 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. 4. Penentuan tujuan, yaitu menentukan kebutuhan informasi-informasi bagi para pembuat keputusan seperti : •
Variabel-variabel yang akan diestimasi.
•
Siapa yang akan menggunakan hasil peramalan.
•
Untuk tujuan apa hasil peramalan akan digunakan.
•
Estimasi jangka panjang atau jangka pendek yang diinginkan.
•
Derajat ketepatan estimasi yang diinginkan.
•
Kapan estimasi dibutuhkan.
22 •
Bagian-bagian peramalan yang diinginkan, seperti peramalan untuk kelompok pembeli, kelompok produk, atau daerah geografis.
5. Pengembangan model Menentukan model yang merupakan penyederhanaan dari sistem dan merupakan kerangka analitik bagi masukan yang akan memperoleh pengeluaran. Model ditentukan berdasarkan sifat-sifat dan perilaku variabel. 6. Pengujian model Dilakukan untuk menentukan tingkat akurasi, validitas dan reliabilitas, yang ditentukan dengan membandingkan hasil peramalan dengan kenyataan / aktual. 7. Penerapan model Setelah lulus dalam pengujian, data historik akan dimasukkan ke dalam model untuk menghasilkan ramalan. 8. Revisi dan evaluasi Ramalan yang telah dibuat harus senantiasa diperbaiki dan ditinjau kembali. Hal ini perlu dilakukan bila terdapat perubahan dalam perusahaan dan lingkungannya (harga produk,
karakteristik
produk,
periklanan,
tingkat
pengeluaran
pemerintah,
kebijaksanaan moneter, atau kemajuan teknologi); dan hasil perbandingan antara ramalan dengan data aktual.
2.2.2
Tujuan Peramalan Tujuan dari peramalan sendiri adalah untuk melihat atau memperkirakan prospek
ekonomi atau kegiatan usaha serta pengaruh lingkungan terhadap prospek tersebut, sehingga dapat diperoleh informasi mengenai : 1.
Kebutuhan suatu kegiatan usaha di masa yang akan datang.
23 2.
Waktu untuk mengambil keputusan yang berkaitan dengan skala produksi, pemasaran, serta target usaha.
3.
Perencanaan skala produksi, pemasaran, anggaran, biaya produksi dan arus kas (cash flow).
2.2.3
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.
Gambar 2.1 Pola Data Stasioner / Horisontal (H)
24 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.2 Pola Data Musiman / Seasonal (S)
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.3 Pola Data Siklis / Cyclical (C)
25 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.4 Pola Data Trend (T)
2.2.4
Metode-metode Peramalan Menurut Render dan Heizer (2001, p48), terdapat dua pendekatan umum yang
digunakan dalam peramalan yaitu : peramalan kualitatif dan peramalan kuantitatif. 1. Metode Kualitatif Metode ini biasanya digunakan untuk meramalkan lingkungan dan teknologi, karena kondisi tersebut berbeda dengan kondisi perekonomian dan pemasaran. Oleh karena itu metode kualitatif disebut dengan technological forecasting. Teknik-teknik kualitatif adalah subjektif atau “ judgmental ” atau berdasarkan pada estimasiestimasi dan pendapat-pendapat. Berbagai sumber pendapat bagi peramalan kondisi bisnis adalah :
26
Para eksekutif
Orang-orang penjualan
Para langganan
Sedangkan berbagai teknik peramalan kualitatif yang dapat digunakan, secara ringkas dapat diuraikan sebagai berikut : a. Metode Delphi Metode ini merupakan teknik yang mempergunakan suatu prosedur yang sistematik untuk mendapatkan suatu konsensus pendapat-pendapat dari suatu kelompok ahli. Proses Delphi ini dilakukan dengan meminta kepada para anggota kelompok untuk memberikan serangkaian ramalan-ramalan melalui tanggapan mereka terhadap daftar pertanyaan. Kemudian, seorang moderator mengumpulkan dan memformulasikan daftar pertanyaan baru dan dibagikan lagi kepada kelompok. Jadi ada suatu proses pembelajaran bagi kelompok karena mereka menerima informasi baru dan tidak ada pengaruh pada tekanan kelompok atau dominasi individual. b. Riset pasar Adalah peralatan peramalan yang berguna, terutama bila ada kekurangan data historik atau data tidak reliable. Teknik ini secara khusus digunakan untuk meramal permintaan jangka panjang dan penjualan produk baru. Kelemahan riset pasar mencakup kurangnya kekuatan prediktif, serta memakan waktu dan biaya.
27 c. Analogi historik Peramalan dilakukan dengan menggunakan pengalaman-pengalaman historik dari suatu produk yang sejenis. Peramalan produk baru dapat dikaitkan dengan tahap-tahap dalam siklus kehidupan produk yang sejenis. d. Konsensus panel Gagasan yang didiskusikan oleh kelompok akan menghasilkan ramalan-ramalan yang lebih baik daripada dilakukan oleh seseorang. Diskusi dilakukan dalam pertemuan pertukaran gagasan secara terbuka. 2. Metode Kuantitatif Metode kuantitatif hanya dapat diterapkan jika tersedia informasi mengenai data masa lalu, informasi dapat dikuantifisir (diwujudkan dalam bentuk angka), dan asumsi beberapa aspek pola masa lalu akan berlanjut. Jenis peramalan kuantitatif dibagi dua, yaitu: 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.
28 Macam – macam metode peramalan yaitu : 1.
Metode Single Moving Average Salah satu cara untuk mengubah pegaruh data masa lalu terhadap nilai tengah
sebagai ramalan adalah dengan menentukan sejak awal berapa jumlah nilai pengamatan masa lau yang akan dimasukkan untuk menghitung nilai tengah. Untuk menggambarkan prosedur ini digunakan istilah rata-rata bergerak karena setiap muncul nilai pengamatan baru, nilai rata-rata baru dapat dihitung dengan membuang nilai observasi yang paling tua dan memasukkan nilai pengamatan yang terbaru. Rata-rata bergerak ini kemudian akan menjadi ramalan untuk periode mendatang. Perhatikan bahwa jumlah titik data dalam setiap rata-rata tetap konstan dan pengamatan yang dimasukkan adalah yang paling akhir. Dibandingkan dengan nilai tengah sederhana (dari semua data masa lalu) rata-rata bergerak berorde T mempunyai karakteristik sebagai berikut: •
hanya menyangkut T periode terakhir dari data yang diketahui,
•
jumlah titik data dala setiap rata-rata tidak berubah dengan berjalannya waktu.
Tetapi metode ini juga mempunyai kelemahan sebagai berikut: •
metode ini memerlukan penyimpanan yang lebih banyak karena semua T pengamatan terakhir harus disimpan, tidak hanya nilai tengahnya,
•
metode ini tidak dapa menanggulangi dengan baik adanya trend atau musiman, walaupun metode ini lebih baik dibanding rata-rata total.
Karena seorang peramal harus memilih jumlah periode (T) dalam rata-rata bergerak, ada baiknya beberapa aspek dari pemilihan ini dikemukakan.
29 MA(1)──yaitu rata-rata bergerak dengan orde 1─nilai data terakhir yang diketahui (XT) digunakan sebagai ramalan untuk periode berikutnya (FT+1 = XT). contohnya adalah “ramalan harga jadi dari saha IBM besok adalah harga jadi hari ini.” Metode ini dinamakan ramalan naïf (NF1). MA(4)──untuk data kuartalan, rata-rata bergerak empat periode secara efektif mengeluarkan pengaruh musiman (terutama jika pengaruh musiman ini bersifat aditif), namun jika digunakan sebagai ramalan untuk periode mendatang tidak akan dapat menyesuaikan unsure trend atau musiman itu sendiri. Dalam keadaan ini MA(4) akan bermanfaat jikan digunakan sebagai rata-rata bergerak terpusat (centered) (daripada sebagai ramalan) untuk membantu memeriksa komponen dalam deret berkala. MA(12)──sekai lagi, untuk data bulanan, metode ini menghilangkan pengaruh musiman dari deret data dan bermanfaat dalam mendekomposisi deret menjadi komponen trend,musiman , dan lain-lain,tetapi metode ini sendiri tidak efektif jika digunakan sebagai alat peramalan untuk data yang menunjukkan kecenderungan musiman. MA(besar) ──secara umum, makin besar orde dari rata-rata bergerak ──yaitu jumlah nilai data yang digunakan untuk setiap rata-rata, maka pengaruh penghalusan data akan semakin besar. Jika digunakan sebagai ramalan, MA(besar) tidak banyak memperhatikan fluktuasi dalam deret data.
30 Secara aljabar, rata-rata bergerak (MA)dapat dituliskan sebagai berikut: X1 + X 2 + Λ + X T 1 T = ∑ Xi, T T i ≥1 X + Λ + X T + X T +1 1 T +1 = 2 = ∑ Xi, T T i =2
FT +1 =
(3 − 3)
FT + 2
(3 − 4)
Dengan membandingkan
FT +1 dan
FT + 2
dapat dilihat bahwa
FT + 2
perlu
menghilangkan X 1 dan menambah nilai X T +1 begitu nilai ini tersedia, sehingga cara lain ntuk menulis FT + 2 adalah FT + 2 = FT +1 +
2.
1 ( X T +1 − X 1 ), T
(3 − 5)
Metode Double Moving Average Salah satu peramalan time series dengan melihat data trend adalah peramalan
dengan metode double moving average. Pertama kali dilakukan moving average kemudian baru dilakukan lagi moving average untuk data yang tadi yang sudah di moving average pertama kali. Berikut ini adalah rumus yang dipakai pada peramalan ini yaitu : ¾ Rumus untuk moving average yang pertama M t = Yt +1 =
Yt + Yt −1 + Yt − 2 + .... + Yt − k +1 k
¾ Rumus untuk moving average yang kedua M t' =
M t + M t −1 + M t − 2 + .... + M t − k +1 k
31 ¾ Rumus untuk menghitung peramalan dengan double moving average at = M t + ( M t − M t' ) = 2 M t − M t' bt =
2 ( M t − M t' ) k −1
^
Yt + p = at + bt + p m 3.
Metode Single Exponential Smoothing Kasus yang paling sederhana dari pemulusan eksponensial (smoothing) tunggal
(SES) dapat dikembangkan dari persamaan (3-5’) menjadi persamaan (3-17), dan dapat ditulis kembali sebagai (3-18):
⎛X F⎞ Ft +1 = Ft + ⎜ t − t ⎟, ⎝ N N⎠ 1⎞ ⎛1⎞ ⎛ Ft +1 = ⎜ ⎟ X t + ⎜1 − ⎟ Ft , ⎝N⎠ ⎝ N⎠
(3 − 17) (3 − 18)
Dari persamaan (3-18) dapat dilihat bahwa ramalan ini (Ft +1 ) didasarkan atas pembobotan observasi yang terakhir dengan suatu nilai bobot (1/N) dan pembobotan ramalan yang terakhir sebelumnya (Ft ) dengan suatu bobot [1-(1/N)]. Karena N suatu bilangan positif, 1/N akan menjadi suatu konstanta antara nol (jika N tak terhingga) dan 1 (jika N=1). Dengan mengganti 1/N dengan α, persamaan (3-18) menjadi Ft +1 = αX t + (1 − α )Ft ,
(3 − 19)
Persamaan ini merupakan benuk umum yang digunakan dalam menghitung ramalan dengan metode pemulusan eksponensial. Metode ini banyak mengurangi masalah penyimpanan data, karena tidak perlu lagi menyimpan semua data historis atau sebagian daripadanya (seperti dalam kasus rata-rata bergerak). Agaknya hanya pengamatan terakhir, ramalan terakhir, dan suatu nilai α yang harus disimpan.
32 Implikasi pemulusan eksponensial dapat dilihat dengan lebih baik bila persamaan (3-19) diperluas dengan mengganti F dengan komponennya sebagai berikut: Ft −1 = α X t + (1 − α ) [α X t −1 + (1 − α ) Ft −1 ], = α X t + α (1 − α )X t −1 + (1 − α ) Ft −1 2
(3 − 20)
Jika proses substitusi ini diulangi dengan mengganti Ft −1 dengan komponennya, Ft −2 dengan komponennya, dan seterusnya, hasilnya adalah persamaan (3-21): Ft +1 = α X t + α (1 − α )X t −1 + α (1 − α ) X t −2 + α (1 − α ) X t −3 2
+ α (1 − α ) X t −4 + α (1 − α ) X t −5 + Λ + α (1 − α ) 4
5
+ (1 − α ) Ft −( N −1) N
3
N −1
X t −( N −1) (3 − 21)
Misalkan α=0,2; 0,4; 0,6; atau 0,8. Maka bobot yang diberikan pada nilai pengamatan observasi masa lalu akan menjadi berikut: Jika bobot ini diplot, dapat dilihat bahwa bobot tersebut menurun secara eksponensial, dari sana nama pemulusan eksponensial muncul. (Perlu dikemukakan bahwa walaupun tujuannya adalah menemukan nilai α yang meminimumkan MSE pada kelompok data pengujian, penaksiran yang terjadi dalam pemulusan eksponensial adalah masalah non-linear.) Cara lain untuk menuliskan-persamaan (3-19) adalah dengan susunan sebagai berikut: Ft +1 = Ft + α ( X t − Ft ),
(3 − 22)
secara sederhana Ft +1 = Ft + α (et ),
(3 − 23)
di mana (et ) adalah kesalahan ramalan (nilai sebenarnya dikurangi ramalan) untuk periode t. Dari dua bentuk Ft −1 ini dapat dilihat bahwa ramalan yang dihasilkan dari SES
33 secara sederhana merupakan ramalan yang lalu ditambah suatu penyesuaian untuk galat yang terjadi pada ramalan terakhir. Dalam bentuk ini terbukti bahwa jika α mempunyai nilai mendekati 1, maka ramalan yang baru akan mencakup penyesuaian kesalahan yang besar pada ramalan sebelumnya. Sebaliknya, jika α mendekati 0, maka ramalan yang akan mencakup penyesuaian yang sangat kecil. Jadi, pengaruh besar kecilnya α benarbenar analog (dalam arah yang berlawanan) dengan pengaruh memasukkan jumlah pengamatan yang kecil atau besar pada perhitungan rata-rata bergerak. Perlu juga diperhaikan bahwa pemulusan eksponensial tunggal akan selalu mengikuti setiap trend dalam data yang sebenarnya, karena yang dapat dilakukannya tidak lebih dari mengatur ramalan mendatang dengan suatu persentase dari kesalahan yang terakhir. Persamaan (3-22) mengandung prinsip dasar dari umpan balik (feedback) yang negatif, karena persamaan ini berperan sebagai proses kontrol yang dilakukan oleh alat otomatis seperti termostat, pilot otomatis, dan sebagainya. Galat ramalan masa lalu dipakai untuk mengoreksi ramalan mendatang pada arah yang berlawanan dengan kesalahan tersebut. Penyesuaian tersebut dapat berlangsung sampai kesalahannya dikoreksi. Prinsip ini sama dengan prinsip alat pengendali otomatis yang mengarah kepada kesetimbangan begitu terjadi penyimpangan (galat). Prinsip ini, yang tampaknya sederhana, memainkan peranan yang sangat penting dalam peramalan. Jika digunakan secara tepat prinsip ini dapat digunakan untuk mengembangkan suatu proses mengatur diri sendiri (self-adjusting process) yang dapat mengoreksi kesalahan peramalan secara otomatis. Pemulusan Eksponensial Tunggal memerlukan sedikit penyimpangan dat dan perhitungan. Oleh karena itu metode ini menarik jika diperlukan peramalan untuk sejumlah besar item. Salah satu hal yang perlu diperhatikan berkaitan dengan tahap
34 inisialisasi SES. Sebagai contoh, untuk dapat memulai sistem peramalan SES kita memerlukan F1, karena
F2 = αX 1 + (1 − α )F1
Karena nilai untuk F1, tidak diketahui, kita dapat menggunakan nilai observasi pertama (X1) sebagai ramalan pertama (F1= X1) dan kemudian dilanjutkan dengan menggunakan persamaan (3-19). Ini merupakan salah satu metode inisialisasi. Kemungkinan lain adalah merata-ratakan empat atau lima nilai pertama dalam kelompok data, dan menggunakannya sebagai ramalan pertama. Perhatikan dari persamaan (3-21) bahwa ramalan awal memainkan peranan dala semua ramalan selanjutnya. Suku terakhir pada persamaan (3-21) adalah
(1 − α )N
Ft −( N −1)
Misalkan N = 5 dan Ft-4 adalah ramalan awal. Setelah itu jelas bahwa Ft-4 memainkan peranan dalam Ft-1. Perhatikan berikut ini: Ft-4
Ft-3
Ft-2
Ft-1
Ft-4
Xt-4
Xt-3
Xt-2
Xt-1
Xt
Ft+1
Waktu
t-4
t-3
t-2
t-1
t
t+1
Ft +1 = α X t + α (1 − α )X t −1 + α (1 − α ) X t −2 + α (1 − α ) X t −3 2
+ α (1 − α ) X t −4 + (1 − α ) Ft −4 4
5
(ramalan awal)
3
(3 − 21' )
35 Jika α = 0,1 bobot untuk Ft-4 adalah 0,59049. Jika α = 0,5 bobot untuk Ft-4 adalah 0,03125. Jika α = 0,9 bobot untuk Ft-4 adalah 0,00001. Jelaslah bahwa bila dipilih nilai α yang kecil, maka nilai ramalan awal memainkan peranan yang lebih berarti dibanding dengan menggunakan nilai α yang besar. Nilai α yang besar (0,9) memberikan pemulusan yang sangat kecil dalam ramalan, sedangkan nilai α yang kecil (0,1) memberikan pemulusan yang besar.
4.
Metode Double Exponential Smoothing Dua Parameter Dari Holt Metode pemulusan eksponensial linear dari Holt dalam prinsipnya serupa dengan
Brown, kecuali bahwa Holt tidak menggunakan rumus pemulusan berganda secara langsung. Sebagai gantinya, Holt memuluskan nilai trend dengan parameter yang berbeda dari parameter yang digunakan pada deret yang asli. Ramalan dari pemulusan eksponensial linear Holt didapat dengan menggunakan dua konstanta pemulusan (dengan nilai antara 0 dan 1) dan tiga persamaan : S t = αX t + (1 − α )( S t −1 + bt −1 ) bt = γ ( S t − S t −1 ) + (1 − γ )bt −1 Ft + m = S t + bt m Dimana : St
= Pemulusan ke-t
bt
= Nilai trend ke-t
Ft + m = α
=
Nilai peramalan ke-t
Faktor pemulusan
Proses inisialisasi awal untuk pemulusan eksponensial linear dari Holt memerlukan dua taksiran, yaitu mengambil nilai pemulusan pertama untuk S1 dan mengambil nilai
36 trend b1. Yang pertama mudah dilakukan. Pilih S1 = X1. Taksiran trend kadang kadang lebih merupakan masalah. Kita memerlukan taksiran trend dari satu periode ke periode lainnya. Inilah beberapa kemungkinannya : b1 = X 2 − X 1 b1 =
(X 2 − X1) + (X 3 − X 2 ) + (X 4 − X 3) 3
b1 = taksiran kemiringan “ bola-mata ” ( eyeball ) setelah data tersebut diplot.
2.2.5
Statistik Ketepatan Peramalan
¾ Ukuran Statistik Standar
Jika X1 merupakan data aktual untuk periode i dan Ft merupakan ramalan (atau nilai kecocokan/fitted value) untuk periode yang sama, maka kesalahan didefinisikan sebagai : et = X t − Ft Jika terdapat nilai pengamatan dan ramalan untuk n periode waktu, maka akan terdapat n buah galat dan ukuran statistik standar berikut yang dapat didefinisikan : •
Nilai Tengah Galat Absolut (Mean Absolute Error) MAE =
•
Nilai Tengah Galat Kuadrat (Mean Squared Error)
MSE = •
1 n ∑ et n t =1
1 n et 2 ∑ t =1 n
Deviasi Standar Galat (Standard Deviation of Error)
37 SDE =
•
1 n et 2 ∑ t =1 n −1
Nilai Tengah Deviasi Absolut (Mean Absolute Deviation)
MAD =
1 ∑ Xi − X n
Tujuan optimalisasi statistik seringkali adalah untuk memilih suatu model agar MSE (atau SSE) minimal, tetapi ukuran ini mempunyai dua kelemahan. Pertama, ukuran ini menunjukkan pencocokan (fitting) suatu model terhadap data hitoris. Pencocokan seperti ini tidak perlu mengimplikasikan peramalan yang baik. Suatu model terlalu cocok (over fitting) dengan deret data, yang berarti sama dengan memasukkan unsur random sebagai bagian proses bangkitan, berarti tidak berhasil mengenali pola non-acak dalam data dengan baik. Perbandingan nilai MSE yang terjadi selama fase pencocokan peramalan adalah mungkin memberikan sedikit indikasi ketepatan model dalam peramalan. Kedua, sebagai ukuran ketepatan model adalah berhubungan dengan kenyataan bahwa metode yang berbeda akan menggunakan prosedur yang berbeda pula dalam fase pencocokan. Dalam fase peramalan, penggunaan MSE sebagai suatu ukuran ketepatan juga dapat menimbulkan masalah. Ukuran ini tidak memudahkan perbandingan deret berkala yang berbeda dan untuk selang waktu yang berlainan, karena MSE merupakan ukuran para absolut. Lagipula, interpretasinya tidak bersifat intuitif bahkan untuk para spesialis sekalipun, karena ukuran ini menyangkut pengkuadratan sederetan nilai.
38 Dua formulasi yang sering digunakan dalam menghitung kesalahan yaitu mean absolute deviation (MAD) dan mean squared error (MSE). MAD adalah rata-rata kesalahan
absolut
dan
MSE
adalah
ukuran
deviasi
permalan
dan
tidak
mempertimbangkan apakah kesalahan itu negatif atau positif. Perbedaan keduanya adalah terletak pada bobot kesalahan, satu dalam bentuk angka kesalahan absolut dan yang lainnya dalam bentuk nilai kuadrat. Sedangkan bias (ME) dihitung dengan menggunakan kesalahan rata-rata. Nilai bias positif mengindikasi kecenderungan peramalan terlalu rendah sedangkan bias negatif mengidikasikan kecenderungan peramalan terlalu tinggi. (Makridakis, 1999, pp58-61) ¾ Ukuran-ukuran Relatif
Karena adanya keterbatasan MSE sebagai suatu ukuran ketepatan peramalan, maka muncul usulan alternatif–alternatif lain yang diantaranya menyangkut galat persentase. Tiga ukuran yang sering digunakan (Makridakis, 1999, pp61-62) adalah : •
Galat Persentase (Percentage Error) ⎛ X − Ft PE = ⎜⎜ t ⎝ Xt
•
Nilai Tengah Galat Persentase (Mean Percentage Error) MPE =
•
⎞ ⎟⎟ * 100 ⎠
1 n ∑ PEt n t =1
Nilai Tengah Galat Persentase Absolut (Mean Absolute Percentage Error) MAPE =
1 n ∑ PEt n t =1
39 PE dapat digunakan untuk menghitung kesalahan persentase setiap periode waktu. Nilai-nilai ini kemudian dapat dirata-ratakan untuk memberikan nilai tengah kesalahan persentase (MPE). Namun MPE mungkin mengecil karena PE positif dan negatif
cenderung
saling
meniadakan.
Sehingga
MPE
didefinisikan
dengan
menggunakan nilai absolut dari PE dalam mencari nilai MAPE.
2.3 Linear Programming
Linear Programming adalah suatu cara untuk menyelesaikan persoalan pengalokasian sumber-sumber yang terbatas diantara beberapa aktivitas yang bersaing, dengan cara yang terbaik yang mungkin dilakukan. Persoalan pengalokasian ini akan muncul manakala seseorang harus memilih tingkat aktivitas-aktivitas tertentu yang bersaing dalam hal penggunaan sumber daya langka yang dibutuhkan untuk melaksanakan aktivitas-aktivitas tersebut. Contoh sederhana dari uraian diatas, antara lain keadaan bagian produksi suatu perusahaan yang dihadapkan pada masalah penentuan tingkat produksi berbagai jenis produk dengan memperhatikan batasan-batasan faktor produksi: mesin, tenaga kerja, bahan mentah, modal dan sebagainya untuk memperoleh tingkat keuntungan maksimal atau biaya minimal. 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
40 perencanaan aktivitas-aktivitas untuk memperoleh suatu hasil yang optimum, yaitu suatu hasil yang mencapai tujuan terbaik diantara seluruh alternatif yang fisibel. Dalam membangun model dari formulasi persoalan diatas akan digunakan karakteristik-karakteristik yang biasa digunakan dalam persoalan programa linier, yaitu : a. Variabel keputusan Variabel keputusan adalah variabel yang menguraikan secara lengkap keputusankeputusan yang akan dibuat. b. 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). c. 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. d. 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). 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.
41 ¾ 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.3.1
Aplikasi dan Interpretasi Linear Programming
Dalam memecahkan suatu masalah, linear programming menggunakan matematis. Linear berarti bahwa semua fungsi matematis yang disajikan dalam model ini haruslah fungsi linear, atau secara praktis dapat dikatakan bahwa persamaan tersebut bila digambarkan pada grafik akan berbentuk garis lurus. Sedangkan programming merupakan sinonim dari perencanaan. Jadi Linear Programing (LP) mencakup perencanaan aktivitas-aktivitas untuk memperoleh suatu hasil yang optimum, yaitu suatu hasil yang mencerminkan tercapainya sasaran tertentu yang paling baik berdasarkan model matematis diantara alternative yang mungkin dengan menggunakan fungsi linear.
2.3.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 optmal ke berbagai kegiatan.
42 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. 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
43 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
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 (Subagyo, 1988 , pp9-12)
2.3.3
Asumsi Linear Programming
Asumsi–asumsi model Linear Programming adalah sebagai berikut : 1. Linierity dan Additivity Syarat utama dari linear programming adalah bahwa fungsi tujuan dan semua kendala harus linier. Kata linier secara tidak langsung mengatakan bahwa hubungannya proporsional, yang berarti bahwa tingkat perubahan atau kemiringan fungsional itu adalah konstan dan karena itu perubahan nilai variabel akan
44 mengakibatkan perubahan relatif nilai fungsi dalam jumlah yang sama. Linear programming juga mensyaratkan bahwa jumlah variabel kriteria dan jumlah penggunaan sumber daya harus bersifat aditif. Aditif dapat diartikan tidak adanya penyesuaian pada perhitungan variabel kriteria karena terjadinya interaksi. 2. Divisibility Asumsi ini berarti bahwa nilai solusi yang diperoleh Xj, tidak harus berupa bilangan bulat. Akibatnya jika nilai–nilai bulat diperlukan, suatu nilai Linear Programming alternatif, yaitu Integer Programming harus digunakan. 3. Deterministic Dalam Linear Programming, semua parameter model (Cj, aij, dan bi) diasumsikan diketahui konstan. Linear Programming secara tidak langsung mengasumsikan suatu masalah keputusan dalam suatu kerangka statis dimana semua parameter diketahui dengan kepastian. Dalam kenyataannya, parameter model jarang bersifat deterministic, karena mereka mencerminkan kondisi masa depan dan masa sekarang, dan keadaan masa depan jarang diketahui secara pasti. Ada beberapa cara untuk mengatasi ketidakpastian beberapa parameter dalam model Linear Programming. Analisis sensitivitas adalah suatu teknik yang dikembangkan untuk menguji nilai solusi,
bagaimana
kepekaannya
terhadap
perubahan–perubahan
parameter
(Mulyono, 1999 , pp22-23 ).
2.3.4
Metode Simpleks
Karena kesulitan menggambarkan grafik berdimensi banyak, maka penyelesaian masalah LP yang melibatkan lebih dari dua variabel menjadi tak praktis atau tidak mungkin. Dalam keadaan ini kebutuhan metode solusi yang lebih umum menjadi nyata.
45 Metode umum itu dikenal dengan nama algoritma Simpleks yang dirancang untuk menyelesaikan seluruh masalah LP, baik yang melibatkan dua variabel atau lebih dari dua variabel. Metode Simpleks merupakan prosedur aljabar yang bersifat iteratif, yang bergerak selangkah demi selangkah, dimulai dari suatu titik ekstrim pada daerah fisibel (ruang solusi) menuju ke titik ekstrim yang optimum. Perhatikan model linier berikut : 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 Maka pembatas dari model tersebut dapat dituliskan ke dalam bentuk persamaan AX = b. Perhatikan suatu sistem AX = b dari m persamaan linier dalam n variabel (n > m). Definisi :
46 1. Solusi basis Solusi basis untuk AX = b adalah solusi dimana terdapat sebanyak-banyaknya m variabel berharga bukan nol. Untuk mendapatkan solusi basis dari AX = b maka sebanyak (n-m) variabel harus dinolkan. Variabel-variabel yang dinolkan ini disebut variabel non-basis (NBV). Selanjutnya, dapatkan harga dari n – (n-m) = m variabel lainnya yang memenuhi AX = b, yang disebut variabel basis (BV). 2. Solusi basis fisibel Jika seluruh variabel pada suatu solusi basis berharga non-negatif, maka solusi itu disebut solusi basis fisibel (BFS). 3. Solusi fisibel titik ekstrim Yang dimaksud dengan solusi fisibel titik ekstrim atau titik sudut ialah solusi fisibel yang tidak terletak pada suatu segmen garis yang menghubungkan dua solusi fisibel lainnya. Ada tiga sifat pokok titik ekstrim ini, yaitu : Sifat 1.a : Jika hanya ada satu solusi optimum, maka pasti ada satu titik ekstrim. Sifat 1.b : Jika solusi optimumnya banyak, maka paling sedikit ada dua titik ekstrim yang berdekatan. (Dua buah titik ekstrim dikatakan berdekatan jika segmen garis yang menghubungkan keduanya itu terletak pada sudut dari batas daerah fisibel). Sifat 2
: Hanya ada sejumlah terbatas titik ekstrim pada setiap persoalan.
Sifat 3
: Jika suatu titik ekstrim memberikan harga Z yang lebih baik dari yang lainnya, maka pasti solusi itu merupakan solusi optimum.
47 Sifat 3 ini menjadi dasar dari metode simpleks yang prosedurnya meliputi 3 langkah berikut : 1. Langkah inisialisasi
: mulai dari suatu titik ekstrim.
2. Langkah iteratif
: bergerak menuju titik ekstrem berdekatan yang lebih baik. Langkah ini diulangi sebanyak diperlukan.
3. Aturan penghentian
: memberhentikan langkah ke-2 apabila telah sampai pada titik ektrim yang terbaik (titik optimum).
2.3.5
Algoritma Simpleks Untuk Persoalan Maksimasi
Untuk menyelesaikan persoalan programa linier dengan menggunakan metode simpleks, lakukan langkah-langkah berikut : 1. Konversikan formulasi persoalan ke dalam bentuk standar 2. Cari solusi basis fisibel (BFS) 3. Jika seluruh NBV mempunyai koefisien non-negatif (artinya berharga positif atau nol) pada basis fungsi tujuan (basis persamaan z yang biasa juga disebut baris 0), maka BFS sudah optimal. Jika pada baris 0 masih ada variabel dengan koefisien negatif, pilihlah salah satu variabel yang mempunyai koefisien paling negatif pada baris 0 itu. Variabel ini akan memasuki status variabel basis, karena itu variabel ini disebut sebagai variabel yang masuk basis (entering variabel, disingkat EV). 4. Hitung rasio dari ruas kanan (koefisien EV) pada setiap baris pembatas dimana EVnya mempunyai koefisien positif.
48 Variabel basis pada baris pembatas dengan rasio positif terkecil akan berubah status menjadi variabel non-basis. Variabel ini kemudian disebut sebagai variabel yang meninggalkan basis atau leaving variabel, disingkat LV. Lakukan operasi baris elementer (ERO) untuk membuat keofisien EV pada baris dengan rasio positif terkecil akan berubah status menjadi berharga 1 dan berharga 0 untuk baris-baris lainnya.
2.3.6
Analisis Sensitivitas
Analisis perubahan parameter dan pengaruhnya terhadap solusi Linear Programming dinamakan post optimality analysis. Istilah post optimality menunjukkan bahwa analisis ini terjadi setelah diperoleh solusi optimum, dengan mengasumsikan seperangkat nilai parameter yang digunakan dalam model. Perubahan atau variasi dalam suatu masalah LP yang biasanya dipelajari melalui post optimality analysis dapat dipisahkan kedalam tiga kelompok umum : ¾ Analisis yang berkaitan dengan perubahan diskrit parameter untuk melihat berapa
besar perubahan dapat ditolerir sebelum solusi optimum mulai kehilangan optimalitasnya, ini dinamakan analisis sensitivitas. Jika suatu perubahan kecil dalam parameter menyebabkan perubahan drastis dalam solusi, dikatakan bahwa solusi adalah sangat sensitif terhadap nilai parameter itu. Sebaliknya, jika perubahan parameter tidak mempunyai pengaruh besar terhadap solusi dikatakan solusi relatif insensitif terhadap nilai parameter itu. ¾ Analisis yang berkaitan dengan perubahan struktural. Masalah ini muncul bila
masalah LP dirumuskan kembali dengan menambahkan atau menghilangkan kendala dan atau variabel untuk menunjukkan operasi model alternatif.
49 ¾ Analisis yang berkaitan dengan perubahan kontinu parameter untuk menentukan
urutan solusi dasar yang menjadi optimum jika perubahan ditambah lebih jauh, ini dinamakan parametric-programming. Melalui analisis sensitivitas dapat dievaluasi pengaruh perubahan–perubahan parameter dengan sedikit tambahan perhitungan berdasarkan tabel simpleks optimum. Dalam
membicarakan
analisis
sensitivitas,
perubahan–perubahan
parameter
dikelompokkan menjadi : 1. Perubahan koefisien fungsi tujuan ( Cj ) 2. Perubahan konstan sisi kanan ( bi ) 3. Perubahan kendala atau koefisien matriks A 4. Penambahan variabel baru 5. Penambahan kendala baru (Mulyono, 1999 , pp76-77 )
2.4
Sistem Informasi
Beberapa pengertian sistem informasi menurut beberapa ahli adalah sebagai berikut : 1. Menurut O’Brien (2003, p7) sistem informasi dapat berupa kombinasi dari manusia, perangkat keras, perangkat lunak, jaringan komunikasi, dan sumber data yang mengumpulkan, mengubah, dan menyebarkan informasi di dalam sebuah organisasi. 2. Menurut Mcleod (2001, p4) sistem
informasi adalah suatu kombinasi yang
terorganisasi dari manusia, perangkat lunak, perangkat keras, jaringan
50 komunikasi dan sumber daya data yang mengumpulkan, mentransformasikan serta menyebarkan informasi didalam sebuah organisasi. 3. Menurut Laudon dan Laudon (2003, p8) sistem informasi adalah suatu kumpulan komponen-komponen yang saling berhubungan yang mengumpulkan, memproses, menyimpan, dan mendistribusikan informasi untuk mendukung pengambilan keputusan dan pengawasan dalam sebuah organisasi. Jadi sistem informasi merupakan suatu alat bantu yang dirancang untuk membantu menyediakan informasi yang berguna di dalam pengambilan keputusan organisasi baik pada tingkat perencanaan strategis, perencanaan manajemen maupun perencanaan operasi untuk mencapai tujuan organisasi.
2.5
Analisis dan Desain Sistem Berorientasi Objek
2.5.1 Analisis Sistem
Menurut McLeod (2001, p234) analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem yang baru atau diperbaiki. Jadi dapat disimpulkan bahwa analisis sistem adalah penelitian sistem yang ada dengan tujuan penyempurnaan sistem yang dapat dimanfaatkan oleh pengguna sistem. Menurut Cushing (1991, p327), analisis sistem dapat didefinisikan sebagai proses penyelidikan kebutuhan informasi pemakai didalam suatu organisasi agar dapat menetapkan tujuan dan spesifikasi untuk desain suatu sistem informasi.
2.5.2 Perancangan Sistem
Menurut Mulyadi (1993, p51) adalah proses penterjemahan kebutuhan pemakai ke dalam alternatif rancangan sistem informasi yang diajukan kepada pemakai informasi
51 untuk dipertimbangkan. Sedangkan menurut Cushing (1991, p348) perancangan sistem adalah proses penyiapan spesifikasi yang terperinci untuk pengembangan suatu sistem baru. Dari definisi diatas, perancangan sistem dapat disimpulkan suatu proses penyiapan spesifikasi dalam menterjemahkan kebutuhan pemakai dalam pengembangan sistem baru.
2.5.3 Paradigma Berorientasi Objek
Paradigma dari konsep berorientasi objek merupakan strategi pengembangan yang berdasarkan pada konsep bahwa sistem seharusnya dibangun dari kumpulan komponen yang reusable (dapat digunakan kembali) yang dinamakan objek. Objek meliputi pemisahan data dan fungsi yang sama dengan yang dilakukan dalam konsep terstruktur. Walaupun konsep berorientasi objek mirip dengan konsep terstruktur, tetapi sebenarnya berbeda. Sebagai contohnya adalah dalam kasus perancangan sistem informasi untuk universitas. Berdasarkan pendekatan terstruktur, dilakukan pendefinisikan sebuah database dan perancangan program untuk mengakses data tersebut. Dalam database terdapat infomasi tentang mahasiswa, dosen, ruangan, dan mata kuliah. Program akan mengijinkan pengguna untuk menempatkan mahasiswa dengan mata kuliahnya, menugaskan dosen untuk mengajar mata kuliah, menjadwalkan mata kuliah dalam ruangan tertentu, dan sebagainya. Program akan mengakses dan meng-update database, secara keseluruhannya program akan mendukung kegiatan harian dari universitas. Sedangkan berdasarkan pendekatan berorientasi objek, dalam dunia nyata, sebuah universitas terdiri dari mahasiswa, dosen, ruangan, dan mata kuliah. Semua itu akan dianggap sebagai objek. Dalam dunia nyata mahasiswa mempunyai sesuatu (nama,
52 alamat, tanggal lahir, dan sebagainya) dan melakukan sesuatu (memilih mata kuliah, membatalkan mata kuliah, dan membayar uang kuliah). Dari sudut pandang sebuah sistem, ruangan mempunyai sesuatu (bangunan dimana mereka ada dan nomor ruangan) dan dapat melakukan sesuatu juga (seperti memberitahu jika ruangan itu tersedia dan mengijinkan untuk menggunakan ruangan untuk periode tertentu). Faktor utama ditemukannya pendekatan berorientasi objek adalah karena ditemukannya kekurangan-kekurangan pada pendekatan terstruktur (Nugroho, 2002, p11) yaitu: 1. Biaya pengembangan perangkat lunak berkembang sesuai dengan berkembangnya keinginan atau kebutuhan pengguna. 2. Pemeliharaan yang sukar. 3. Lamanya penyelesaian suatu proyek. 4. Jangka waktu penyelesaian proyek selalu terlambat. 5. Biaya pengembangan perangkat lunak yang sangat tinggi, dan sebagainya. Pendekatan berorientasi objek membuat data terbungkus pada setiap fungsi atau prosedur dan melindunginya terhadap perubahan tidak dikehendaki dari fungsi yang berada di luar. Beberapa karakteristik yang menjadi ciri-ciri dari pendekatan berorientasi objek (Nugroho, 2002, pp11-12) adalah: 1. Pendekatan lebih pada data dan bukannya pada prosedur atau fungsi. 2. Program besar dibagi pada apa yang dinamakan objek-objek. 3. Struktur data dirancang dan menjadi karakteristik dari objek-objek. 4. Fungsi-fungsi yang mengoperasikan data tergabung dalam satu objek yang sama. 5. Data tersembunyi dan terlindung dari fungsi atau prosedur yang ada di luar.
53 6. Objek-objek dapat saling berkomunikasi dengan saling mengirim pesan satu sama lain.
2.5.4 Kaitan Analisis dan Desain dengan Orientasi Objek (Larman, 1998, p6)
Untuk merancang suatu aplikasi piranti lunak, pada tahap awal diperlukan deskripsi dari permasalahan dan spesifikasi aplikasi yang dibutuhkan. Apa saja persoalan yang ada dan apa yang harus dilakukan sistem. Penekanan analisis adalah pada proses investigasi atas permasalahan yang dihadapi tanpa memikirkan definisi solusi terlebih dahulu. Jadi dalam tahap analisis, dikumpulkan informasi mengenai permasalahan, spesifikasi sistem berjalan, serta spesifikasi sistem yang diinginkan. Sedangkan penekanan dalam desain adalah pada logika solusi dan bagaimana memenuhi spesifikasi yang dibutuhkan serta konstrain atau batasan yang ada. Tahap perancangan berorientasi objek, penekanan terletak pada bagaimana mendefinisikan objek-objek logik dalam aplikasi yang akan diimplementasikan ke dalam bahasa pemrograman berorientasi objek seperti C++, Smalltalk, Java, atau Visual Basic.
2.5.5 Keunggulan dan Kelemahan Analisis dan Desain Berorientasi Objek ¾ Keunggulan Analisis dan Desain Berorientasi Objek
Terdapat dua kemampuan sistem berorientasi objek (McLeod, 2001, pp613-614) yaitu: 1. Reusability Kemampuan untuk menggunakan kembali pengetahuan dan kode program yang ada, dapat menghasilkan keunggulan saat suatu sistem baru dikembangkan atau sistem
54 yang ada dipelihara atau direkayasa ulang. Setelah suatu objek diciptakan, ia dapat digunakan kembali, mungkin hanya dengan modifikasi kecil di sistem lain. Ini berarti biaya pengembangan yang ditanamkan di satu proyek dapat memberikan keuntungan bagi proyek-proyek lain. 2. Interoperability Kemampuan untuk mengintegrasikan berbagai aplikasi dari beberapa sumber, seperti program yang dikembangkan sendiri dan perangkat lunak jadi, serta menjalankan aplikasi-aplikasi ini di berbagai platform perangkat keras.
Reusability dan interoperability menghasilkan empat keunggulan kuat (McLeod, 2001, pp614-615) yaitu: -
Peningkatan kecepatan pembangunan, karena sistem dirancang seperti dunia nyata melihatnya.
-
Pengurangan biaya pengembangan, karena pengembangan lebih cepat.
-
Kode berkualitas tinggi memberikan keandalan lebih besar dan ketangguhan yang lebih dibandingkan yang biasa ditemukan dalam sistem berorientasi proses.
-
Pengurangan biaya pemeliharaan dan rekayasa ulang sistem, karena kode yang berkualitas tinggi dan kemampuan pemakaian kembali.
¾ Kelemahan Analisis dan Desain Berorientasi Objek
Beberapa kelemahan dari sistem berorientasi objek (McLeod, 2001, p615) adalah: -
Diperlukan waktu lama untuk memperoleh pengalaman pengembangan.
-
Kesulitan metodologi untuk menjelaskan sistem bisnis yang rumit.
55 -
Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan untuk sistem bisnis.
2.5.6 Aktivitas Utama Object Oriented Analysis and Design (OOAD) Mathiassen et al. (2000, pp14-15) menjelaskan empat buah aktivitas utama dalam analisa dan perancangan berorientasi objek yang digambarkan dalam Gambar 2.5 berikut ini.
Gambar 2.5 Aktivitas Utama dalam OOAD
Berikut ini merupakan penjelasan lebih rinci mengenai keempat aktivitas utama dalam melakukan analisa dan perancangan berorientasi objek menurut Mathiassen et al. (2000, pp14-15).
56 1. Analisis Problem Domain Problem domain merupakan bagian dari situasi yang diatur, diawasi, dan dikendalikan oleh sistem. Tujuan melakukan analisis problem domain adalah mengidentifikasi dan memodelkan problem domain. Analisis problem domain terbagi menjadi tiga aktivitas yang digambarkan dalam Gambar 2.6, yaitu: a. Memilih objek, class, dan event yang akan menjadi elemen model problem domain. b. Membangun model dengan memusatkan perhatian pada relasi struktural antara class dan objek. c. Mendeskripsikan properti dinamis dan atribut untuk setiap class.
Gambar 2.6 Aktivitas Analisis Problem Domain
Pada aktivitas classes, langkah awal yang perlu dilakukan adalah menentukan class. Langkah berikutnya adalah membuat sebuah event table yang dapat membantu menentukan event-event yang dimiliki oleh setiap class.
57 Pada aktivitas structure, class-class yang telah ditentukan sebelumnya akan dihubungkan berdasarkan tiga jenis hubungan yaitu generalisasi, agregasi, atau asosiasi sehingga menjadi sebuah skema yang disebut class diagram. Dalam aktivitas behavior, definisi class dalam class diagram akan diperluas dengan menambahkan deskripsi pola perilaku dan atribut dari masing-masing class. Pola perilaku dari class terdiri dari tiga jenis, yaitu: •
Sequence 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. Hasil dari aktivitas ini adalah sebuah statechart diagram yang menunjukkan
perubahan status dari masing-masing class yang dikarenakan oleh event tertentu mulai dari initial state sampai dengan final state.
2. Analisis Application Domain
Application domain merupakan organisasi yang mengatur, mengawasi, atau mengendalikan problem domain. Tujuan dilakukannya analisis application domain adalah untuk menentukan kebutuhan penggunaan sistem. Sama seperti analisis problem domain, analisis application domain juga terdiri dari beberapa aktivitas antara lain:
58 a. Menentukan penggunaan sistem dan bagaimana sistem berinteraksi dengan user. b. Menentukan fungsi dan kemampuan sistem dalam mengolah informasi. c. Menentukan kebutuhan interface sistem dan merancang interface.
Berikut ini merupakan gambaran aktivitas-aktivitas yang dilakukan pada saat melakukan analisis application domain.
Gambar 2.7 Aktivitas Analisis Application Domain
Dalam aktivitas usage, hal pertama yang harus dilakukan adalah membuat actor table yang dapat membantu menentukan actor dan use case yang berkaitan. Langkah selanjutnya adalah membuat use case diagram sehingga terlihat lebih jelas interaksi antara actor dengan masing-masing use case. Function merupakan fasilitas sistem yang menjadikan sistem tersebut berguna bagi actor. Terdapat empat jenis function, antara lain: •
Update Fungsi update diaktifkan oleh event problem domain dan menghasilkan perubahan status model.
59 •
Signal Fungsi signal diaktifkan oleh perubahan status model dan menghasilkan reaksi di dalam context.
•
Read 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.
Aktivitas interface mencakup pembuatan navigation diagram yang merupakan skema yang menunjukkan tampilan dari sistem dan relasi antar interface.
3. Architectural Design
Architectural design berfungsi sebagai kerangka kerja dalam aktivitas pengembangan sistem dan menghasilkan struktur komponen dan proses sistem. Tujuannya adalah untuk menstrukturisasi sebuah sistem yang terkomputerisasi. Tahap architectural design terdiri dari tiga aktivitas yaitu criteria, component architecture, dan process architecture seperti yang digambarkan pada Gambar 2.8.
60
Gambar 2.8 Aktivitas Architectural Design
Criterion merupakan properti yang diinginkan dari sebuah arsitektur. Tabel 2.1 menunjukkan criterion yang telah ditentukan oleh para peneliti untuk menentukan kualitas dari sebuah software.
Tabel 2.1 Criteria untuk Menentukan Kualitas Software Criterion Usable Secure Efficient Correct Reliable Maintainable Testable Flexible Comprehensible Reusable Portable Interoperable
Ukuran Kemampuan sistem beradaptasi dengan context organisasional dan teknikal. Pencegahan akses ilegal terhadap data dan fasilitas. Eksploitasi ekonomis dari fasilitas technical platform. Kesesuaian dengan kebutuhan. Fungsi yang dijalankan secara tepat. Biaya untuk mencari dan memperbaiki kerusakan sistem. Biaya untuk menjamin bahwa sistem melakukan fungsinya. Biaya memodifikasi sistem. Usaha yang diperlukan untuk memahami sistem. Penggunaan bagian dari sistem ke dalam sistem lain yang berkaitan. Biaya memindahkan sistem ke technical platform lain. Biaya pemasangan sistem dengan sistem
60
Gambar 2.8 Aktivitas Architectural Design
Criterion merupakan properti yang diinginkan dari sebuah arsitektur. Tabel 2.1 menunjukkan criterion yang telah ditentukan oleh para peneliti untuk menentukan kualitas dari sebuah software.
Tabel 2.1 Criteria untuk Menentukan Kualitas Software Criterion Usable Secure Efficient Correct Reliable Maintainable Testable Flexible Comprehensible Reusable Portable Interoperable
Ukuran Kemampuan sistem beradaptasi dengan context organisasional dan teknikal. Pencegahan akses ilegal terhadap data dan fasilitas. Eksploitasi ekonomis dari fasilitas technical platform. Kesesuaian dengan kebutuhan. Fungsi yang dijalankan secara tepat. Biaya untuk mencari dan memperbaiki kerusakan sistem. Biaya untuk menjamin bahwa sistem melakukan fungsinya. Biaya memodifikasi sistem. Usaha yang diperlukan untuk memahami sistem. Penggunaan bagian dari sistem ke dalam sistem lain yang berkaitan. Biaya memindahkan sistem ke technical platform lain. Biaya pemasangan sistem dengan sistem
61 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. 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
•
Generic Architecture Pattern
•
Client-Server Architecture Pattern
Hasil dari aktivitas ini adalah sebuah component diagram yang merupakan class diagram yang dilengkapi dengan spesifikasi komponen yang kompleks. 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: •
Centralized Pattern
•
Distributed Pattern
•
Decentralized Pattern
Hasil dari aktivitas ini adalah sebuah deployment diagram yang menunjukkan processor dengan komponen program dan active objects.
62 4. Component Design
Component design bertujuan untuk menentukan implementasi kebutuhan di dalam kerangka kerja arsitektural. Hasilnya adalah deskripsi mengenai komponenkomponen sistem. (Mathiassen et al., 2000, p231). Component design terdiri dari tiga aktivitas, yaitu: a. Model component Merupakan bagian sistem yang mengimplementasikan model problem domain. Dalam aktivitas ini dihasilkan sebuah class diagram yang telah direvisi. b. Function component Merupakan bagian sistem yang mengimplementasikan kebutuhan fungsional. Hasilnya adalah class diagram dengan operasi dan fungsi-fungsinya. Terdapat empat pola eksplorasi untuk merancang function component, yaitu: •
Model-Class Placement
•
Function-Class Placement
•
Startegy
•
Active Function
c. Connecting component Merupakan desain hubungan antar komponen untuk memperoleh rancangan yang fleksibel dan mudah dimengerti. Hasilnya adalah class diagram yang berhubungan dengan komponen-komponen sistem. Gambar 2.9 berikut ini menggambarkan aktivitas-aktivitas yang terdapat dalam component design.
63
Gambar 2.9 Aktivitas Component Design
2.5.7 UML (Unified Modeling Language) ¾ Pengenalan UML Berdasarkan OMG, UML (Unified Modeling Language) dapat didefinisikan sebagai sebuah bahasa yang berdasarkan grafik atau gambar untuk memvisualisasi (visualisizing),
menspesifikasi
(specifying),
mengkonstruksi
(constructing),
dan
mendokumentasi (documenting) sebuah sistem perangkat lunak. UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘Ms. Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan atau aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standar untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software. UML bukan hanya bahasa pemrograman visual saja, tetapi merupakan model yang dapat secara langsung dihubungkan dengan bahasa pemrograman yang bervariasi.
64 Artinya hal ini mungkin untuk memetakan model dengan UML ke dalam bahasa pemrograman seperti Java, C++, atau Visual Basic, atau bahkan dihubungkan secara langsung dengan relational database atau object oriented database (Booch, 1999, pp1516). ¾ UML Diagram
UML mencakup berbagai macam diagram yang dapat digunakan dalam analisis dan desain sebuah sistem. Menurut Ali Bahrami (1999, p93), terdapat sembilan jenis diagram yang didefinisikan oleh UML yaitu: 1. Class diagram (statis) 2. Use case diagram 3. Behaviour diagram (dinamis): 3.1. Interaction diagram: 3.1.1. Sequence diagram 3.1.2. Collaboration diagram 3.2. Statechart diagram 3.3. Activity diagram 4. Implementation diagram: 4.1. Component diagram 4.2. Deployment diagram Menurut Grady Booch (1999, p99), jika ingin memodelkan suatu aplikasi yang sederhana yang akan dijalankan pada sebuah mesin tunggal, maka diagram yang dapat digunakan adalah use case diagram, class diagram (untuk pemodelan struktural), dan interaction diagram (untuk pemodelan behavioral). Jika pemodelan difokuskan juga pada aliran proses, maka dapat menambahkan statechart diagram dan activity diagram
65 yang dapat menggambarkan tingkah laku dari sistem. Sedangkan jika sistem itu terdapat client atau server, maka diagram yang diperlukan untuk menggambarkan sistem adalah use case diagram, activity diagram, class diagram, interaction diagram, statechart diagram, component diagram, dan deployment diagram.
2.6 Permodelan Use Case
Menurut Whitten et al. (2004, p271), pada permodelan use case terdapat dua kegiatan penting yang terlibat. Yang pertama adalah pembuatan diagram use case. Diagram use case adalah diagram yang menggambarkan hubungan antara aktoraktor dan use case–use case dalam sebuah sistem. Aktor adalah entitas eksternal yang berinteraksi dengan sistem yaitu seseorang atau sesuatu yang mengubah informasi dalam sistem dan berhubungan dengan paling tidak satu use case. Jadi aktor tidak hanya manusia, tetapi juga dapat berupa sebuah organisasi maupun sistem informasi lain. Sedangkan use case menggambarkan rangkaian dari kegiatan yang berhubungan yang dilakukan oleh aktor. Elemen-elemen pada diagram use case ditunjukkan pada gambar 2.10 di bawah ini.
66
Gambar 2.10 Elemen Diagram Use Case
Kegiatan yang kedua dalam permodelan use case adalah narasi use case. Narasi use case adalah deskripsi secara tulisan dari proses bisnis yang terjadi dan bagaimana user berinteraksi dengan sistem dalam menyelesaikan tugasnya. Menurut Whitten et al. (2004, p276), ada empat tahap dalam permodelan use case yaitu mengidentifikasi aktor bisnis, mengidentifikasi use case, membangun diagram use case, dan mendokumentasikan persyaratan-persyaratan bisnis pada narasi use case. Tahap pertama, mengidentifikasi aktor bisnis. Identifikasi aktor dilakukan pada tahap pertama karena dengan memperhatikan aktor-aktor yang terlibat dalam bisnis, maka kita dapat memusatkan pikiran bagaimana sistem akan digunakan dan tidak pada bagaimana sistem akan dibangun. Dengan mengidentifikasi aktor-aktor yang terlibat dalam bisnis maka ruang lingkup sistem akan lebih jelas karena informasi use case dapat diperoleh melalui penelitian dan wawancara dengan aktor.
67 Tahap kedua, mengidentifikasi use case. Ketika dilakukan kegiatan analisis maka kegiatan-kegiatan dan dokumen yang kritis dan penting saja yang perlu diidentifikasi untuk menemukan use case karena pertimbangan waktu dan biaya. Cara yang terbaik untuk menemukan use case adalah melakukan pemeriksaan terhadap aktor dan bagaimana mereka akan menggunakan sistem. Tahap ketiga, membangun diagram use case. Setelah aktor dan use case diidentifikasi maka dapat digambarkan sebuah diagram use-case untuk melihat ruang lingkup dari sistem yaitu interaksi antara aktor-aktor dan use case–use case dalam sebuah sistem. Tahap keempat, mendokumentasikan persyaratan-persyaratan bisnis pada narasi use case. Pada tahap ini dilakukan deskripsi secara tulisan dari proses bisnis yang terjadi dan bagaimana user berinteraksi dengan sistem dalam menyelesaikan tugasnya. Item-item yang dapat termasuk dalam narasi use-case adalah : -
Precondition : batasan untuk sebuah kondisi dari sistem sebelum use case dapat dilaksanakan. Secara khusus, hal ini mengacu pada use case lain yang sebelumnya telah dilaksanakan.
-
Trigger : peristiwa yang dimulai ketika dilakukan pelaksanaan dari use case.
-
Typical course of events : rangkaian aktivitas normal yang dilakukan oleh aktor dan sistem untuk mencapai tujuan dari use case. Termasuk juga di dalamnya interaksi antara aktor dan sistem dan aktivitas yang dilakukan oleh sistem dalam merespon interaksi.
-
Alternate courses : merupakan tindakan dari use case jika terjadi pengecualian atau variasi pada typical course.
68 -
Conclusion : menentukan ketika use case berakhir dengan sukses, atau dengan kata lain, ketika aktor utama menerima sesuatu nilai yang dapat diukur.
-
Postcondition : batasan untuk sebuah kondisi dari sistem setelah use case berhasil dilaksanakan.
-
Business rules : menentukan kebijaksanaan dan prosedur dari bisnis bahwa sistem yang baru harus ada.
-
Implementation
constraints
and
specifications
:
menentukan
beberapa
persyaratan nonfungsional yang mungkin mempengaruhi realisasi dari use case dan mungkin membantu di beberapa rencana arsitektur dan ruang lingkup. -
Assumptions : dibuat oleh pembuat sistem ketika mendokumentasikan use case.
-
Open issues : beberapa persoalan mungkin membutuhkan penyelesaian ulang sebelum use case dapat diselesaikan.
2.7 User Interface
Perancangan user interface adalah perancangan dialog antara user dan komputer. Dialog akan menampilkan input data dan output informasi. Salah satu cara perancangan user interface adalah dengan menggunakan sebuah windows. Pada Visual Basic, formulir adalah windows untuk membuat antarmuka program. Gambar 2.11 akan memperjelas penggambaran windows untuk perancangan user interface.
69
Gambar 2.11 Tampilan Windows pada Visual Basic 6.0
Baris menu menyediakan akses kepada sebagian besar perintah yang mengendalikan lingkungan permrograman pada Visual Basic. Menu dan perintah sama fungsinya seperti pada program–program berbasis Windows lainnya. Di bawah baris menu terdapat toolbar yang merupakan sekumpulan tombol yang berfungsi sebagai tombol cepat untuk menjalankan perintah dan mengendalikan lingkungan pemrograman Visual Basic. Beberapa sarana lain yang ada adalah : -
Toolbox Toolbox digunakan untuk menambahkan elemen antarmuka program ke dalam form. Toolbox juga mengandung kontrol–kontrol yang bisa digunakan untuk membuat objek yang bisa melakukan operasi “di balik layar”, diantaranya
70 membuat objek yang bisa melakukan operasi “di balik layar”, diantaranya adalah objek untuk menelusuri waktu program dan untuk memanipulasi informasi database. -
Jendela project Jendela project berisi semua file yang digunakan pada proses pemrograman dan menyediakan akses untuk melihat view code atau view object.
-
Jendela properties Jendela properties digunakan untuk mengubah karakteristik dari elemen yang terdapat pada form. Jendela properties mengandung kotak daftar dropdown yang menampilkan semua elemen objek pada form.
2.8 Navigation Diagram
Navigation Diagram merupakan statechart diagram khusus yang berfokus pada user interface (Mathiassen et al., 2000, p344). Diagram ini menunjukkan windowwindow dan transisi diantara window-window tersebut. Sebuah window dapat digambarkan sebagai sebuah state. State ini memiliki nama dan berisi gambar miniatur window. Transisi antar state dipicu oleh ditekannya sebuah tombol yang menghubungkan dua window.
71
Gambar 2.12 Contoh Navigation Diagram