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 kegiatan-
kegiatan 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 urut-
urutannya 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 estimasi-
estimasi 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:
)43(,1
)33(,1
1
2
122
1
211
−=+++
=
−=+++
=
∑
∑+
=
++
≥+
T
ii
TTT
T
ii
TT
XTT
XXXF
XTT
XXXF
Λ
Λ
Dengan membandingkan 1+TF dan 2+TF dapat dilihat bahwa 2+TF perlu
menghilangkan 1X dan menambah nilai 1+TX begitu nilai ini tersedia, sehingga cara lain
ntuk menulis 2+TF adalah
( ) )53(,11112 −−+= +++ XX
TFF TTT
2. 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
kYYYY
YM ktttttt
1211
.... +−−−+
++++==
Rumus untuk moving average yang kedua
kMMMM
M kttttt
121' .... +−−− ++++=
31
Rumus untuk menghitung peramalan dengan double moving average
mbaY
MMk
b
MMMMMa
pttpt
ttt
tttttt
++ +=
−−
=
−=−+=
^
'
''
)(1
22)(
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):
)183(,111
)173(,
1
1
−⎟⎠⎞
⎜⎝⎛ −+⎟
⎠⎞
⎜⎝⎛=
−⎟⎠⎞
⎜⎝⎛ −+=
+
+
ttt
tttt
FN
XN
F
NF
NXFF
Dari persamaan (3-18) dapat dilihat bahwa ramalan ini ( )1+tF didasarkan atas
pembobotan observasi yang terakhir dengan suatu nilai bobot (1/N) dan pembobotan
ramalan yang terakhir sebelumnya ( )tF 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
( ) )193(,11 −−+=+ ttt FXF αα
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:
( ) ( )[ ]( ) ( ) )203(11
,11
12
1
111
−−+−+=
−+−+=
−−
−−−
ttt
tttt
FXX
FXXF
αααα
αααα
Jika proses substitusi ini diulangi dengan mengganti 1−tF dengan komponennya,
2−tF dengan komponennya, dan seterusnya, hasilnya adalah persamaan (3-21):
( ) ( ) ( )( ) ( ) ( ) ( )
( ) ( ) )213(1
111
111
1
11
55
44
33
22
11
−−+
−++−+−+
−+−+−+=
−−
−−−
−−
−−−+
NtN
NtN
tt
ttttt
F
XXX
XXXXF
α
αααααα
ααααααα
Λ
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:
( ) )223(,1 −−+=+ tttt FXFF α
secara sederhana
( ) )233(,1 −+=+ ttt eFF α
di mana ( )te adalah kesalahan ramalan (nilai sebenarnya dikurangi ramalan) untuk
periode t. Dari dua bentuk 1−tF 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 α benar-
benar 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
( ) 112 1 FXF αα −+=
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
( ) ( )11 −−− NtN Fα
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 Ft+1
Xt-4 Xt-3 Xt-2 Xt-1 Xt
t-4 t-3 t-2 t-1 t t+1 Waktu
( ) ( ) ( )( ) ( ) )'213(11
111
45
44
33
22
11
−−+−+
−+−+−+=
−−
−−−+
tt
ttttt
FX
XXXXF
ααα
ααααααα
(ramalan awal)
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 :
mbSFbSSbbSXS
ttmt
tttt
tttt
+=−+−=+−+=
+
−−
−−
11
11
)1()())(1(
γγαα
Dimana : St = Pemulusan ke-t
bt = Nilai trend ke-t
mtF + = 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 :
3)()()( 342312
1
121
XXXXXXb
XXb−+−+−
=
−=
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 :
ttt FXe −=
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)
∑ ==
n
tet
nMAE
1
1
• Nilai Tengah Galat Kuadrat (Mean Squared Error)
21
1 etn
MSE n
t∑ ==
• Deviasi Standar Galat (Standard Deviation of Error)
37
211
1 etn
SDE n
t∑ =−=
• Nilai Tengah Deviasi Absolut (Mean Absolute Deviation)
∑ −= XXn
MAD i1
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)
100*⎟⎟⎠
⎞⎜⎜⎝
⎛ −=
t
tt
XFX
PE
• Nilai Tengah Galat Persentase (Mean Percentage Error)
tn
tPE
nMPE ∑ =
=1
1
• Nilai Tengah Galat Persentase Absolut (Mean Absolute Percentage Error)
tn
tPE
nMAPE ∑ =
=1
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 keputusan-
keputusan 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 EV-
nya 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 Ukuran
Usable Kemampuan sistem beradaptasi dengan context organisasional dan teknikal.
Secure Pencegahan akses ilegal terhadap data dan fasilitas.
Efficient Eksploitasi ekonomis dari fasilitas technical platform.
Correct Kesesuaian dengan kebutuhan. Reliable Fungsi yang dijalankan secara tepat.
Maintainable Biaya untuk mencari dan memperbaiki kerusakan sistem.
Testable Biaya untuk menjamin bahwa sistem melakukan fungsinya.
Flexible Biaya memodifikasi sistem.
Comprehensible Usaha yang diperlukan untuk memahami sistem.
Reusable Penggunaan bagian dari sistem ke dalam sistem lain yang berkaitan.
Portable Biaya memindahkan sistem ke technical platform lain.
Interoperable 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 Ukuran
Usable Kemampuan sistem beradaptasi dengan context organisasional dan teknikal.
Secure Pencegahan akses ilegal terhadap data dan fasilitas.
Efficient Eksploitasi ekonomis dari fasilitas technical platform.
Correct Kesesuaian dengan kebutuhan. Reliable Fungsi yang dijalankan secara tepat.
Maintainable Biaya untuk mencari dan memperbaiki kerusakan sistem.
Testable Biaya untuk menjamin bahwa sistem melakukan fungsinya.
Flexible Biaya memodifikasi sistem.
Comprehensible Usaha yang diperlukan untuk memahami sistem.
Reusable Penggunaan bagian dari sistem ke dalam sistem lain yang berkaitan.
Portable Biaya memindahkan sistem ke technical platform lain.
Interoperable 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 komponen-
komponen 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, pp15-
16).
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 aktor-
aktor 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 window-
window 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