bab 2 landasan teorithesis.binus.ac.id/doc/bab2/2008-1-00471-tisi-bab 2.pdflangsung adalah...
TRANSCRIPT
BAB 2
LANDASAN TEORI
2.1 Pengukuran Waktu
Menurut Sutalaksana (1979, p131) pengukuran waktu adalah pekerjaan
mengamati dan mencatat waktu kerja baik setiap elemen ataupun siklus dengan
menggunakan alat-alat yang telah disiapkan. Teknik pengukuran waktu terbagi atas
dua bagian yaitu secara langsung dan secara tidak langsung. Pengukuran secara
langsung adalah pengukuran yang dilakukan secara langsung yaitu di tempat dimana
pekerjaan yang bersangkutan dilaksanakan. Dua cara yang termasuk di dalamnya
adalah cara jam henti dan sampling pekerjaan. Cara tidak langsung melakukan
perhitungan waktu tanpa harus berada di tempat pekerjaan yaitu dengan membaca
tabel-tabel yang tersedia asalkan mengetahui jalannya pekerjaan melalui elemen-
elemen pekerjaan atau elemen-elemen gerakan.
Pengukuran waktu ditujukan untuk mendapatkan waktu baku penyelasian
pekerjaan yaitu waktu yang dibutuhkan secara wajar oleh seorang pekerja normal
untuk menyelesaikan suatu pekerjaan yang dijalankan dalam sistem kerja terbaik
(Sutalaksana, 1979, p117).
2.2 Pengukuran Waktu Baku
Waktu baku merupakan waktu yang dibutuhkan oleh seorang pekerja yang
memiliki tingkat kemampuan rata-rata untuk menyelesaikan suatu pekerjaan. Di sini
sudah meliputi kelonggaran waktu yang diberikan dengan memperhatikan situasi dan
10
kondisi pekerjaan yang harus diselesaikan tersebut. Dengan demikian, maka waktu
baku yang dihasilkan dalam aktivitas pengukuran kerja ini akan dapat digunakan
sebagai alat untuk membuat rencana penjadwalan kerja yang menyatakan berapa
lama suatu kegiatan itu berlangsung dan berapa output yang dihasilkan serta berapa
jumlah tenaga kerja yang dibutuhkan untuk menyelesaikan pekerjaan tersebut.
2.2.1 Pengukuran Pendahuluan
Tujuan dilakukan pengukuran pendahuluan adalah untuk mengetahui
berapa kali pengukuran harus dilakukan untuk tingkat-tingkat ketelitian dan
kepercayaan yang diinginkan. Tahap-tahapnya adalah sebagai berikut
(Sutalaksana, 1979, p132) :
1. Melakukan beberapa buah pengukuran yang banyaknya ditentukan oleh
pengukur.
2. Menguji keseragaman data, menghitung jumlah pengukuran yang diperlukan,
dan bila pengukuran belum mencukupi maka dilanjutkan dengan pengukuran
pendahuluan kedua.
2.2.2 Uji Keseragaman Data
Uji keseragaman data perlu untuk dilakukan terlebih dahulu sebelum
menggunakan data yang diperoleh guna menetapkan waktu baku. Uji keseragaman
data bisa dilaksanakan dengan cara visual dan/atau mengaplikasikan peta kontrol
(control chart). Peta kontrol (control chart) adalah suatu alat yang tepat guna
dalam menguji keseragaman data dan/atau keajegan data yang diperoleh dari hasil
pengamatan.
11
Uji keseragaman data secara visual dilakukan secara sederhana mudah dan
cepat. Di sini kita hanya sekedar melihat data yang terkumpul dan seterusnya
mengidentifikasikan data yang terlalu ekstrim. Yang dimaksud dengan data yang
terlalu “ekstrim” adalah data yang terlalu besar atau yang terlalu kecil dan jauh
menyimpang dari trend rata-ratanya. Data yang terlalu ekstrim ini sebaiknya
dibuang jauh-jauh dan tidak dimasukkan ke dalam perhitungan selanjutnya,
(Wignjosoebroto, 2000, p194-195).
Langkah-langkah yang dilakukan untuk menguji keseragaman data sebagai
berikut :
1. Hasil pengukuran dikelompokkan ke dalam subgrup-subgrup dan hitung rata-
rata tiap subgrup :
niΣΧ
=ΧΚ
Dimana : n = ukuran subgrup, yaitu banyaknya data dalam satu subgrup
k = jumlah subgrup yang terbentuk
Xi = data pengamatan
2. Hitung rata-rata keseluruhan, yaitu rata-rata dari rata-rata subgrup :
kkΧΣ
=Χ
3. Hitung standar deviasi dari waktu penyelesaian :
( )1
2
−ΝΧ−ΧΣ
= iσ
Dimana : N = jumlah pengamatan pendahuluan yang telah dilakukan
12
4. Hitung standar deviasi dari distribusi harga rata-rata subgrup :
nσσ =
Χ
5. Tentukan Batas Kontrol Atas (BKA) dan Batas Kontrol Bawah (BKB) :
BKA = ( )Χ
Ζ+ σx
BKB = ( )Χ
Ζ− σx
Dimana : Z = koefisien pada distribusi normal sesuai dengan tingkat
kepercayaan. Rumusnya :
⎥⎦⎤
⎢⎣⎡ −
−=Ζ2
11 β
6. Jika seluruh rata-rata data waktu subgrup berada di daerah antara BKA dan
BKB, maka data waktu dikatakan seragam.
2.2.3 Uji Kecukupan Data
Waktu yang diperlukan untuk melaksanakan elemen kerja pada umumnya
akan sedikit berbeda dari siklus ke siklus kerja sekalipun operator bekerja pada
kecepatan normal dan uniform, tiap elemen dalam siklus yang berbeda tidak selalu
akan bisa diselesaikan dalam waktu yang persis sama. Aktivitas pengukuran kerja
pada dasarnya adalah merupakan proses sampling. Konsekuensi yang diperoleh
adalah bahwa semakin besar jumlah siklus kerja yang diamati atau diukur maka
akan semakin mendekati kebenaran akan data waktu yang diperoleh. Konsistensi
dari hasil pengukuran dan pembacaan waktu oleh stop-watch akan merupakan hal
yang diinginkan dalam proses pengkuran kerja. Semakin kecil variasi atau
13
perbedaan data waktu yang ada, maka jumlah pengukuran atau pengamatan yang
harus dilakukan juga akan cukup kecil. Sebaliknya, semakin besar variabilitas dari
data waktu pengukuran, akan menyebabkan jumlah siklus kerja yang diamati juga
akan semakin besar agar bisa diperoleh ketelitian yang dikehendaki
(Wignjosoebroto, 2000, p183).
Perhitungan uji kecukupan data dapat dilakukan setelah semua harga rata-
rata subgrup berada dalam batas kendali. Rumus dari kecukupan data adalah :
( )2
22
'⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
ΣΧ
ΣΧ−ΝΣΧΖ=Ν
i
iis
Dimana :
N’ = jumlah pengukuran data minimum yang dibutuhkan
N = jumlah pengukuran data pendahuluan yang telah dilakukan setelah
dikurangi data pengukuran di luar BKA atau BKB
Z = bilangan konversi pada distribusi normal sesuai dengan tingkat
kepercayaan
s = tingkat ketelitian
Jumlah pengukuran waktu dapat dikatakan cukup apabila jumlah
pengukuran data minimum yang dibutuhkan secara teoritis lebih kecil atau sama
dengan jumlah pengukuran yang sudah dilakukan (N’≤N). Jika jumlah pengukuran
masih belum mencukupi, maka harus dilakukan pengukuran lagi sampai jumlah
pengukuran tersebut cukup.
14
2.2.4 Tingkat Ketelitian dan Tingkat Kepercayaan
Yang dicari dengan melakukan pengukuran-pengukuran ini adalah waktu
yang sebenarnya dibutuhkan untuk menyelesaikan suatu pekerjaan. Karena waktu
penyelesaian ini tidak pernah diketahui sebelumnya maka harus diadakan
pengukuran-pengukuran. Yang ideal tentunya dilakukan pengukuran-pengukuran
yang sangat banyak (sampai tak terhingga kali) karena dengan demikian diperoleh
jawaban yang pasti. Tetapi hal ini jelas tidak mungkin karena keterbatasan waktu,
tenaga, dan tentunya biaya. Namun sebaliknya jika tidak dilakukan beberapa kali
pengukuran saja, dapat diduga hasilnya sangat kasar. Sehingga yang diperlukan
adalah jumlah pengukuran yang tidak membebankan waktu, tenaga dan biaya yang
besar tetapi hasilnya tidak dapat dipercaya. Jadi, walaupun jumlah pengukuran
tidak berjuta kali, tetapi jelas tidak hanya beberapa kali saja.
Dengan tidak dilakukannya pengukuran yang banyak sekali ini, pengukur
akan kehilangan sebagian kepastian akan ketetapan/rata-rata waktu penyelesaian
yang sebenarnya. Hal ini harus disadari. Tingkat ketelitian dan tingkat kepercayaan
adalah pencerminan tingkat kepastian yang diinginkan oleh pengukur setelah
memutuskan tidak akan melakukan pengukuran yang sangat banyak.
Tingkat ketelitian menunjukkan penyimpangan maksimum hasil
pengukuran dari waktu penyelesaian sebenarnya. Hal ini biasanya dinyatakan
dalam persen. Sedangkan, tingkat kepercayaan menunjukkan besarnya
kepercayaan pengukur bahwa hasil yang diperoleh memenuhi syarat ketelitian tadi.
Inipun dinyatakan dalam persen (Sutalaksana, 1979, p135).
15
2.2.5 Penyesuaian
Penyesuaian adalah proses dimana analisa pengukuran waktu
membandingkan penampilan operator (kecepatan atau tempo) dalam pengamatan
dengan konsep pengukur sendiri tentang bekerja secara wajar. Setelah pengukuran
berlangsung, pengukur harus mengamati kewajaran kerja yang ditunjukkan
operator. Ketidakwajaran dapat saja terjadi, misalnya bekerja tanpa kesungguhan,
sangat cepat seolah-olah diburu waktu, atau karena menjumpai kesulitan-kesulitan,
seperti karena kondisi ruangan yang buruk. Sebab-sebab seperti ini mempengaruhi
kecepatan kerja yang berakibat terlalu singkat atau terlalu panjangnya waktu
penyelasian. Hal ini jelas tidak diinginkan karena waktu baku yang dicari adalah
waktu yang diperoleh dari kondisi dan cara kerja yang baku yang diselesaikan
secara wajar.
Andaikata ketidakwajaran ada, maka pengukur harus mengetahuinya dan
menilai seberapa jauh hal itu terjadi. Penilaian perlu diadakan karena berdasarkan
inilah penyesuaian dilakukan. Jadi jika pengukur mendapatkan harga rata-rata
siklus/elemen yang diketahui diselesaikan dengan kecepatan tidak wajar oleh
operator, maka agar harga rata-rata tersebut menjadi wajar, pengukur harus
menormalkannya dengan melakukan penyesuaian.
Biasanya penyesuaian dilakukan mengalikan waktu siklus rata-rata atau
waktu elemen rata-rata dengan suatu harga p yang disebut faktor penyesuaian.
Besarnya harga p tentunya sedemikian rupa sehingga hasil perkalian yang
diperoleh mencerminkan waktu yang sewajarnya atau yang normal. Bila pengukur
berpendapat bahwa operator bekerja di atas normal (terlalu cepat), maka harga p-
nya akan lebih besar dari satu (p1). Sebaliknya jika operator dipandang bekerja di
16
bawah normal, maka harga p akan lebih kecil dari satu (p). Seandainya pengukur
berpendapat bahwa operator bekerja dengan wajar, maka harga p-nya sama dengan
satu (p=1) (Sutalaksana, 1979, p138).
Terdapat beberapa metode dalam menentukan faktor penyesuaian
(Sutalaksana, 1979, p139-149), yaitu :
a. Metode Persentase
Merupakan cara yang paling awal digunakan dalam melakukan penyesuaian.
Besarnya faktor penyesuaian sepenuhnya dilakukan oleh pengukur melalui
pengamatannya selama melakukan pengukuran. Cara ini adalah cara yang
paling mudah dan sederhana tetapi cara ini bersifat subyektif, kurang teliti
karena kasarnya penelitian.
b. Metode Schumard
Cara ini memberikan patokan-patokan penilaian melalui kelas-kelas
performance kerja dimana setiap kelas tersebut mempunyai nilai sendiri-
sendiri. Di sini pengukur diberi patokan untuk menilai performansi kerja
operator menurut kelas-kelas Superfast+, Fast+, Fast-, Excellent, dan
seterusnya.
c. Metode Westinghouse
Cara ini mengarahkan penelitian pada 4 faktor yang dianggap menentukan
kewajaran atau ketidakwajaran dalam bekerja, yaitu : keterampilan, usaha,
kondisi kerja, dan konsistensi. Setiap faktor terbagi dalam kelas-kelas dan
nilainya masing-masing.
17
d. Metode Objektif
Merupakan metode yang memperlihatkan dua faktor, yaitu : kecepatan kerja
dan tingkat kesulitan pekerjaan. Kedua faktor inilah yang dipaandang bersama-
sama untuk menentukan berapa harga penyesuaian untuk mendapatkan waktu
normal.
e. Metode Bedaux dan Sintesa
Cara Bedaux tidak banyak berbeda dengan Schumard, hanya saja nilai-nilai
pada cara Bedaux dinyatakan dalam “B”. Sedangkan cara Sintesa waktu
penyelesaian setiap elemen gerakan dibandingkan dengan harga-harga yang
diperoleh dari tabel-tabel waktu gerakan untuk kemudian dihitung harga rata-
ratanya.
2.2.6 Kelonggaran
Kelonggaran diberikan untuk tiga hal yaitu untuk kebutuhan pribadi,
menghilangkan rasa fatigue, dan hambatan-hambatan yang tidak dapat
dihindarkan. Ketiganya ini merupakan hal-hal yang secara nyata dibutuhkan oleh
pekerja, dan yang selama pengukuran tidak diamati, diukur, dicatat, ataupun
dihitung. Karenanya sesuai pengukuran dan setelah mendapatkan waktu normal,
kelonggaran perlu ditambahkan (Sutalaksana, 1979, p149-154).
1. Kelonggaran untuk kebutuhan pribadi
Yang termasuk dalam kebutuhan pribadi disini adalah hal-hal seperti minum
sekadarnya untuk menghilangkan rasa haus, ke kamar kecil, bercakap-ckap
dengan teman sekerja untuk menghilangkan ketegangan dan kejenuhan kerja.
Kebutuhan-kebutuhan ini jelas terlihat sebagai sesuatu yang mutlak. Besarnya
18
kelonggaran yang diberikan untuk kebutuhan probadi seperti itu berbeda-beda
dari satu pekerjaan ke pekerjaan lainnya karena setiap pekerjaan memiliki
karakteristik sendiri-sendiri dengan tuntunan yang berbeda-beda.
2. Kelonggaran untuk menghilangkan rasa fatigue
Rasa fatigue tercermin antara lain dari menurunnya hasil produksi baik jumlah
maupun kualitas. Salah satu cara untuk menentukan besarnya kelonggaran ini
adalah dengan melakukan pengamatan sepanjang hari kerja dan mencatat pada
saat-saat dimana hasil produksi menurun.
3. Kelonggaran untuk hambatan-hambatan tak terhindarkan
Dalam melaksanakan pekerjaannya, pekerja tidak akan lepas dari berbagai
“hambatan”. Ada hambatan yang dapat dihindarkan seperti mengobrol
berlebihan dan menganggur dengan sengaja ada pula hambatan yang tidak
dapat dihindarkan karena berada di luar kekuasaan pekerja untuk
mengendalikannya. Beberapa contoh yang termasuk ke dalam hambatan tak
terhindarkan adalah :
a. Menerima atau meminta petunjuk kepada pengawas.
b. Melakukan penyesuaian-penyesuaian mesin
c. Memperbaiki kemacetan-kemacetan singkat seperti mengganti alat potong
yang patah, memasang kembali ban yang lepas dan sebagainya.
d. Mengasah peralatan potong.
e. Mengambil alat-alat khusus atau bahan-bahan khusus dari gudang.
19
2.2.7 Perhitungan Waktu Baku
Kegiatan pengukuran waktu dinyatakan selesai bila semua data yang
diperoleh telah seragam, dan jumlahnya telah memenuhi tingkat ketelitian dan
keyakinan yang diinginkan. Selanjutnya adalah mengolah data untuk menghitung
waktu baku yang diperoleh dengan langkah-langkah :
1. Menghitung waktu siklus
2. Menghitung waktu normal
3. Menghitung waktu baku
2.3 Peramalan
Peramalan (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.
Peramalan merupakan alat bantu yang penting dalam perencanaan yang
efektif. 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. Peramalan permintaan
memegang peranan yang penting dalam perencanaan dan pengambilan keputusan,
khususnya di bidang produksi. Peramalan permintaan bisa menyangkut jadwal
20
produksi, perencanaan kebutuhan tenaga kerja, perencanaan kapasitas produksi, dan
sebagainya.
Pada dasarnya terdapat beberapa langkah peramalan yang penting yaitu :
1. Menganalisa data yang lalu. Tahap ini berguna untuk pola yang terjadi pada
masa lalu. Analisa ini dilakukan dengan cara membuat tabulasi dari data yang
lalu.
2. Menentukan metode yang digunakan. Masing-masing metode akan memberikan
hasil permalan 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.
• Bagian-bagian peramalan yang diinginkan, seperti peramalan untuk
kelompok pembeli, kelompok produk, atau daerah geografis.
21
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.3.1 Metode Peramalan
Banyak jenis metode peramalan yang tersedia untuk meramalkan
permintaan dalam produksi. Namun yang lebih penting adalah bagaimana
memahami karakteristik suatu metode peramalan agar sesuai dengan situasi
pengambilan keputusan. Situasi peramalan sangat beragam dalam horison waktu
peramalan, faktor yang menentukan hasil sebenarnya, tipe pola data dan berbagai
aspek lainnya. Untuk menghadapi penggunaan yang luas seperti itu, beberapa
teknik telah dikembangkan. Teknik tersebut dibagi dalam 2 kategori utama,
(Makridakis, 1999, p19-24) yaitu :
22
1. Metode peramalan kuantitatif
Metode kuantitatif sangat beragam dan setiap teknik memiliki sifat, ketepatan,
dan biaya tertentu yang harus dipertimbangkan dalam memilih metode tertentu.
Metode kuantitatif formal didasarkan atas prinsip-prinsip statistik yang
memiliki ketepatan tinggi atau dapat meminimumkan kesalahan (error), lebih
sistematis, dan lebih populer dalam penggunaannya. Untuk menggunakan
metode kuantitatif terdapat tiga kondisi yang harus terpenuhi, yaitu :
a. Tersedia informasi tentang masa lalu.
b. Informasi tersebut dapat dikuantitatifkan dalam bentuk data numerik.
c. Dapat diasumsikan bahwa beberapa aspek pola masa lalu akan terus
berlanjut di masa mendatang.
Metode kuantitatif dapat dibagi ke dalam dua model, yaitu :
a. Model deret berkala (time series)
Pada model ini, pendugaan masa depan dilakukan berdasarkan nilai masa
lalu dari suatu variabel dan / atau kesalahan masa lalu. Model deret berkala
menggunakan riwayat permintaan masa lalu dalam membuat ramalan untuk
masa depan. Tujuan metode peramalan deret berkala ini adalah menemukan
pola dalam deret berkala historis dan mengekstrapolasikan pola dalam deret
data historis dan mengekstrapolasikan pola tersebut ke masa depan.
Langkah penting dalam memilih suatu metode deret berkala yang tepat
adalah dengan mempertimbangkan jenis pola data, sehingga metode yang
paling tepat dengan metode tesebut dapat diuji. Pola data dapat dibedakan
menjadi :
23
1. Pola Horizontal (H) terjadi bilamana nilai data berfluktuasi di sekitar
nilai rata-rata yang konstan. (deret seperti itu adalah “stasioner”
terhadap nilai rata-ratanya). Suatu produk yang penjualannya tidak
meningkat atau menurun selama waktu tertentu termasuk jenis ini.
Demikian pula suatu pengendalian kualitas yang menyangkut
pengambilan contoh dari suatu proses produksi berkelanjutan yang
secara teoritis tidak mengalami perubahan juga termasuk jenis ini.
2. Pola musiman (S) terjadi bilamana suatu deret dipengaruhi oleh faktor
musiman (misalnya kuartal tahun tertentu, bulanan, atau hari-hari pada
minggu tertentu). Penjualan dari produk minuman ringan, es krim, dan
bahan bakar pemanas ruangan, menunjukkan jenis pola ini.
3. Pola siklis (C) terjadi bilamana datanya dipengaruhi oleh fluktuasi
ekonomi jangka panjang seperti yang berhubungan dengan siklus
bisnis. Penjualan produk seperti mobil, baja dan peralatan utama
lainnya menunjukkan jenis pola data ini.
4. Pola trend (T) terjadi bilamana terdapat kenaikan atau penurunan
sekuler jangka panjang dalam data. Penjualan banyak perusahaan,
produk bruto nasional (GNP) dan berbagai indikator bisnis atau
ekonomi lainnya mengkuti pola trend selama perubahannya sepanjang
waktu.
Banyak deret data yang mencakup kombinasi dari pola-pola data di atas.
Metode peramalan yang dapat membedakan setiap pola harus dipakai bila
diinginkan adanya pemisahan komponen pola tersebut.
24
b. Model kausal
Model kausal mengasumsikan bahwa faktor yang diramalkan menunjukkan
suatu hubungan sebab-akibat dengan satu atau lebih variabel bebas.
Maksud dari model kausal adalah menemukan bentuk hubungan tersebut
dan menggunakannya untuk meramalkan nilai mendatang dari variabel tak
bebas. Setelah hubungan ini ditemukan, nilai-nilai masa mendatang dapat
diramalkan cukup dengan memasukkan nilai-nilai yang sesuai untuk
variabel-variabel independen. Metode peramalan kausal mengasumsikan
bahwa permintaan akan suatu produk bergantung pada satu atau beberapa
faktor independen (misalnya, harga, iklan, persaingan, dan lain-lain).
Metode peramalan kuantitatif terletak di antara dua ekstrim rangkaian
kesatuan, yaitu :
1. Metode naif/intuitif. Metode ini bersifat sederhana dan mudah dipakai,
tetapi tidak selalu tepat seperti metode kuantitatif formal. Metode ini
masih cukup banyak digunakan karena beberapa orang lebih menyukai
pendekatan judgemental daripada pendekatan yang lebih obyektif.
2. Metode kuantitatif formal yang didasarkan atas prinsip-prinsip
statistika. Metode ini menggunakan ekstrapolasi horisontal, musiman,
dan trend. Jenis ini didasarkan atas pengalaman empiris yang sangat
beragam dari bisnis ke bisnis, produk ke produk, dari peramal yang satu
ke peramal yang lain.
25
2. Metode peramalan kualitatif atau teknologis
Metode peramalan ini tidak memerlukan data yang serupa seperti metode
peramalan kuantitatif. Input yang dibutuhkan tergantung pada metode tertentu
dan biasanya merupakan hasil dari pemikiran intuitif, perkiraan dan
pengetahuan yang telah didapat. Pendekatan teknologis seringkali memerlukan
input dari sejumlah orang yang terlatih.
Metode kualitatif mengandalkan opini pakar atau manajer dalam membuat
prediksi tentang masa depan. Metode ini berguna untuk tugas peramalan
jangka panjang. Penggunaan pertimbangan dalam peramalan, sekilas,
tampaknya tidak ilmiah dan bersifat sementara. Tetapi bila data masa lalu tidak
ada atau tidak mencerminkan masa mendatang, tidak banyak alternatif selain
menggunakan opini dari orang-orang yang berpengetahuan. Ramalan
teknologis terutama digunakan untuk memberikan petunjuk, untuk membantu
perencana dan untuk melengkapi ramalan kuantitatif, bukan untuk memberikan
suatu ramalan numerik tertentu.
Metode kualitatif dapat dikelompokkan menjadi 2 yaitu :
a. Metode eksploratoris
Metode eksploratoris (seperti Delphi, kurva-S, analogi, dan penelitian
morfologis) dimulai dengan masa lalu dan masa kini sebagai titik awalnya
dan bergerak ke arah masa depan secara heuristik, seringkali dengan
melihat semua kemungkinan yang ada.
b. Metode normatif
Metode normatif (seperti matriks kelutusan, pohon relevansi, dan analisis
sistem) dimulai dengan menetapkan sasaran dan tujuan yang akan datang,
26
kemudian bekerja mundur untuk melihat apakah hal ini dapat dicapai,
berdasarkan kendala, sumber daya, dan teknologi yang tersedia.
2.3.2 Pemilihan Teknik Peramalan
Pola atau karakteristik data mempengaruhi teknik peramalan yang dipilih.
Seringkali, pola data tersebut merupakan karakteristik inheren dari kegiatan yang
sedang diteliti. Hubungan data dengan jangka waktu semakin jelas jika kita
mengamati bahwa pola trend adalah merupakan kecenderungan jangka panjang,
sedangkan variasi musiman menunjukkan pola data yang berulang. Dalam
mengevaluasi teknik-teknik yang dikaitkan dengan pola data bisa saja diterapkan
lebih dari satu teknik untuk data yang sama. Misalnya, teknik-teknik tertentu
mungkin lebih akurat dalam memprediksi titik balik, sedangkan lainnya terbukti
lebih andal dalam peramalan pola perubahan yang stabil. Bisa juga terjadi
beberapa model meramalkan terlalu tinggi (overestimate) atau terlalu rendah
(underestimate) dalam situasi tertentu. Selain itu, mungkin juga terjadi bahwa
prediksi jangka pendek dari suatu model lebih baik dari model lain yang memiliki
prediksi jangka panjang yang lebih akurat.
Teknik Peramalan untuk Data yang Stasioner
Suatu data runtut waktu yang bersifat stasioner merupakan suatu serial data
yang nilai rata-ratanya tidak berubah sepanjang waktu. Keadaan tersebut terjadi
jika pola permintaan yang mempengaruhi data tersebut relatif stabil. Dalam
bentuknya yang paling sederhana, peramalan suatu data runtut waktu yang
27
stasioner memerlukan data historis dari runtut waktu tersebut untuk mengestimasi
nilai rata-ratanya, yang kemudian menjadi permalan untuk nilai-nilai masa datang.
Beberapa teknik yang dapat dipertimbangkan ketika meramalkan data
runtut waktu yang stasioner adalah metode naif, metode rata-rata sederhana, rata-
rata bergerak, pemulusan exponensial sederhana, dan model ARIMA (metode
Box-Jenkins). (Hanke, 2005, p75)
Teknik Peramalan untuk Data Trend
Suatu data runtut waktu yang bersifat trend didefinisikan sebagai suatu
series yang mengandung komponen jangka panjang yang menunjukkan
pertumbuhan atau penurunan dalam data tersebut sepanjang suatu periode waktu
yang panjang. Dengan kata lain, suatu data runtut waktu dikatakan mempunyai
trend jika nilai harapannya berubah sepanjang waktu sehingga data tersebut
diharapkan menaik atau menurun selama periode dimana peramalan diinginkan.
Biasanya data runtut waktu ekonomi mengandung suatu trend.
Teknik-teknik peramalan yang digunakan untuk peramalan data runtut
waktu yang mengandung trend adalah rata-rata bergerak, pemulusan exponensial
linier dari Holt, regresi sederhana, model ARIMA (metode Box-Jenkins). (Hanke,
2005, p75-76).
Teknik Peramalan untuk Data Musiman
Suatu data runtut waktu yang bersifat musiman didefinisikan sebagai suatu
data runtut waktu yang mempunyai pola perubahan yang berulang secara tahunan.
Mengembangkan suatu teknik peramalan musiman biasanya memerlukan
28
pemilihan metode perkalian dan pertambahan dan kemudian mengestimasi indeks
musiman dari data tersebut. Indeks ini kemudian digunakan untuk memasukkan
sifat musiman dalam peramalan atau untuk menghilangkan pengaruh seperti itu
dari nilai-nilai yang diobservasi.
Teknik-teknik yang dapat dipertimbangkan ketika kita meramalkan data
runtut waktu yang bersifat musiman meliputi metode dekomposisi klasik, Census
X-12, pemulusan exponensial dari Winter, regresi berganda dan model ARIMA
(metode Box-Jenkins). (Hanke, 2005, p76).
Teknik Peramalan untuk Data yang Bersifat Siklis
Pengaruh siklis didefinisikan sebagai fluktuasi seperti gelombang di sekitar
garis trend. Pola siklis cenderung untuk berulang setiap dua, tiga tahun, atau lebih.
Pola siklis sulit untuk dibuat modelnya karena polanya tidak stabil. Turun-naiknya
fluktuasi di sekitar trend jarang sekali berulang pada interval waktu yang tetap, dan
besarnya fluktuasi juga selalu berubah. Metode dekomposisi bisa diperluas untuk
menganalisa data siklis.
Teknik-teknik yang dapat dipertimbangkan ketika kita meramalkan data
runtut waktu yang bersifat siklis adalah metode dekomposisi klasik, indikator
ekonomi, model-model ekonometrik, regresi berganda dan model ARIMA (metode
Box-Jenkins). (Hanke, 2005, p76).
29
2.3.3 Metode Peramalan Triple Exponential Smoothing Tiga Parameter dari
Winter
Pada umumnya, metode rata-rata bergerak dan pemulusan eksponensial
dapat digunakan untuk hampir segala jenis data stasioner atau non stasioner
sepanjang data tersebut tidak mengandung faktor musiman. Tetapi bilamana
terdapat faktor musiman, metode-metode tersebut akan menghasilkan peramalan
yang buruk. Untuk data stasioner, digunakan metode rata-rata bergerak atau
pemulusan eksponensial. Jika datanya menunjukkan suatu trend linear, maka baik
model linear dari Brown atau Holt dapat diterapkan. Tetapi jika datanya musiman,
metode tersebut tidak dapat mengatasinya dengan baik. Walaupun demikian,
metode Winter dapat menangani faktor musiman secara langsung.
Metode Winter didasarkan atas 3 persamaan pemulusan, yaitu satu untuk
unsur stasioner, satu untuk trend dan satu untuk musiman. Hal ini serupa dengan
metode Holt, dengan satu pemulusan tambahan untuk mengatasi musiman.
Perumusan dasar untuk metode Winter (Makridakis, 1999, p121-127) adalah
sebagai berikut :
Pemulusan Keseluruhan :
St = ))(1( )1()1( −−−
+−+ ttLt
t bSIX
αα
Pemulusan Trend :
bt = )1()1( )1()( −− −+− ttt bSS γγ
Pemulusan Musiman :
It = )()1( Ltt
t ISX
−−+ ββ
30
Peramalan :
F(t+m) = (St+bt*m)I(t-L+m)
Dimana :
L = Panjang musiman
b = Komponen trend
I = Faktor penyesuaian musiman
Ft+m = Peramalan untuk m periode ke depan.
Salah satu masalah dalam menggunakan metode Winter adalah menentukan
nilai-nilai untuk α,β, dan γ tersebut yang akan berpengaruh dalam perhitungan
nilai-nilai error seperti MSE atau MAPE. Pendekatan untuk menentukan nilai ini
biasanya secara trial dan error, walaupun mungkin juga digunakan algoritma
optimasi non-linear untuk mendapatkan nilai parameter optimal. Karena kedua
pendekatan tersebut memakan banyak waktu dan mahal, maka metode ini jarang
digunakan. Metode ini baru dipakai jika banyak himpunan data yang harus
ditangani.
Untuk menginisialisasi metode peramalan Winter yang diterangkan di atas,
kita perlu menggunakan paling sedikit satu data musiman lengkap (yaitu L
periode) untuk menentukan estimasi awal dari indeks musiman, Lt-1, dan kita perlu
menaksir faktor trend dari satu periode ke periode selanjutnya. Adapun rumus
yang digunakan untuk inisialisasi awal yaitu :
XL+1 = SL+1
It = XX L
31
2.3.4 Metode Peramalan Dekomposisi
Metode Dekomposisi mendasarkan penganalisaan untuk mengidentifikasi
tiga faktor utama yang terdapat dalam suatu deret waktu, yaitu faktor trend, faktor
siklus, dan faktor musiman. Di dalam beberapa hal, peramal hanya mendasarkan
penyusunannya pada dua faktor yang penting yaitu trend dan musiman. Faktor
trend menggambarkan perilaku data dalam jangka panjang, dan dapat meningkat,
menurun atau tidak berubah. Pengukuran perkembangan faktor trend dilakukan
untuk periode waktu yang panjang dengan menghilangkan variasi musim dan
variasi siklus. Faktor siklus menggambarkan baik turunnya ekonomi atau industri
tertentu. Faktor musiman berkaitan dengan fluktuasi periodik dengan panjang
konstan. Perbedaan antara musiman dan siklus adalah bahwa musiman berulang
dengan sendirinya pada interval yang tetap seperti tahun atau bulan, sedangkan
faktor siklus mempunyai jangka waktu yang lebih lama dan lamanya berbeda dari
satu siklus ke siklus yang lainnya.
Ada beberapa pendekatan alternatif untuk mendekomposisi suatu deret
waktu, dengan tujuan untuk mengisolasikan masing-masing komponen dari deret
itu setepat mungkin. Konsep dasar dari dekomposisi ini adalah data empiris di
mana yang pertama adalah pergeseran musim, kemudian trend dan terakhir adalah
siklus. Residu yang ada dianggap unsur acak yang walaupun tidak dapat ditaksir,
tetapi dapat diidentifikasi (Makridakis, 1999, p150-156).
Langkah-langkah dekomposisi :
1. Pada deret data yang sebenarnya (Xt) hitung rata-rata bergerak yang
panjangnya (N) sama dengan panjang musiman. Maksud dari rata-rata bergerak
adalah menghilangkan unsur musiman dan keacakan. Meratakan sejumlah
32
periode yang sama dengan panjang pola musiman akan menghilangkan unsur
musiman dengan membuat rata-rata dari periode yang musimannya tinggi dan
periode yang musimannya rendah. Karena galat acak tidak mempunyai pola
yang sistematis, maka perata-rataan ini juga mengurangi keacakan.
2. Pisahkan rata-rata bergerak N periode (langkah 1) dari deret data semula untuk
memperoleh unsur trend dan siklus.
3. Pisahkan faktor musiman dengan menghitung rata-rata untuk tiap periode yang
menyusun panjang musiman secara lengkap.
4. Identifikasi bentuk trend yang tepat (linear, eksponensial, kurva-S, dan lain-
lain) dan hitung nilainya untuk setiap periode (Tt).
5. Pisahkan hasil langkah 4 dari hasil langkah 2 (nilai gabungan dari unsur trend
dan siklus) untuk memperoleh faktor siklus.
6. Pisahkan musiman, trend dan siklus dari data asli untuk mendapatkan unsur
acak yang ada, Et.
Metode dekomposisi dapat berasumsi pada model aditif atau multiplikatif dan
bentuknya dapat bervariasi. Model aditif berbentuk :
Xt = It + Tt + Ct + Et
Model multiplikatif berbentuk :
Xt = It x Tt x Ct x Et
33
2.3.5 Statistik Ketepatan Peramalan
Ukuran Statistik Standar
Jika Xt merupakan data aktual untuk periode t 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 dapat didefinisikan :
• Nilai Tengah Galat Absolut (Mean Absolut Error)
∑ ==
n
tet
nMAE
1
1
• Nilai Tengah Galat Kuadrat (Mean Squarred Error)
∑ ==
n
tet
nMSE
121
• Deviasi Standar Galat (Standar Deviation of Error)
∑ =−=
n
tet
nSDE
12
11
Dua formulasi yang sering digunakan dalam menghitung kesalahan yaitu
mean absolute error (yang dalam beberapa buku disebut sebagai mean absolute
deviation) dan mean squarred error (MSE). Perbedaan keduanya adalah terletak
pada bobot kesalahan, satu dalam bentuk angka kesalahan absolut dan yang
lainnya dalam bentuk nilai kuadrat.
Tujuan optimalisasi statistik seringkali adalah untuk memilih suatu model
agar MSE minimal, tetapi ukuran ini mempunyai dua kelemahan. Pertama, ukuran
34
ini menunjukkan pencocokan (fitting) suatu model terhadap data historis.
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 (Makridakis, 1999, p58-61).
Ukuran-ukuran Relatif
Karena adanya keterbatasan MSE sebagai suatu ukuran ketepatan
peramalan, maka muncul usulan alternatif-alternatif lain yang diantaranya
menyangkut galat presentase. Tiga ukuran yang sering digunakan (Makridakis,
1999, p61-62) adalah :
• Galat Persentase (Percentage Error)
100×⎟⎟⎠
⎞⎜⎜⎝
⎛ −=
t
tt
XFX
PE
35
• Nilai Tengah Galat Persentase (Mean Percentage Error)
∑ ==
n
t tPEn
MPE1
1
• Nilai Tengah Galat Persentase Absolut (Mean Absolute Percentage Error)
∑ ==
n
t tPEn
MAPE1
1
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. Dari sana MAPE didefinisikan
dengan menggunakan nilai absolut dari PE.
2.4 Pemrograman Linier
Pemrograman linier (linier programming) merupakan suatu bentuk model
matematika yang dapat digunakan untuk memecahkan masalah pengoptimalan.
Menurut Subagyo et al. (1999, p9) pemrograman linier merupakan suatu model
umum yang dapat digunakan dalam pemecahan masalah pengalokasian sumber-
sumber yang terbatas secara optimal. Masalah tersebut timbul apabila seseorang
diharuskan memilih atau menentukan tingkat setiap kegiatan yang harus
dilakukannya, dimana masing-masing kegiatan membutuhkan sumber yang sama
sedangkan jumlahnya terbatas.
Dalam pemrograman linier, kata linier memberikan arti bahwa seluruh fungsi
matematis dalam model ini merupakan fungsi yang linier, sedangkan kata
pemrograman merupakan sinonim untuk perencanaan. Dengan demikian
36
pemrograman linier adalah perencanaan aktivitas-aktivitas untuk memperoleh suatu
hasil yang optimum, yaitu suatu hasil yang mencapai tujuan terbaik diantara seluruh
alternatif yang fisibel.
Karakteristik atau sifat-sifat dari pemrograman 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 non negatif atau variabel keputusan
tersebut boleh berharga positif, boleh juga negatif (tidak terbatas dalam tanda).
Dapat ditarik kesimpulan mengenai pengertian pemrograman linier, yaitu
suatu persoalan optimasi dimana kita melakukan hal-hal berikut :
37
• Kita berusaha memaksimalkan atau meminimumkan suatu fungsi linier dari
variabel-variabel keputusan yang disebut fungsi tujuan.
• Harga/besaran dari variabel-variabel keputusan itu harus memenuhi suatu set
pembatas. Setiap pembatas harus merupakan persamaan linier atau
ketidaksamaan linier.
• Suatu pembatas tanda dikaitkan dengan setiap variabel.
2.4.1 Formulasi dan Bentuk Umum Linear Programming
Masalah keputusan yang sering dihadapi adalah alokasi optimum sumber
daya langka/terbatas, yang ditunjukkan sebagai maksimasi keuntungan atau
minimasi biaya. Setelah masalah diidentifikasikan, tujuan/sasaran yang ingin
dicapai ditetapkan, langkah selanjutnya adalah formulasi model matematis yang
meliputi 3 tahap berikut :
1. Menentukan variabel keputusan (unsur-unsur dalam persoalan yang dapat
dikendalikan oleh pengambil keputusan) dan nyatakan dalam simbol
matematis.
2. Membentuk fungsi tujuan yang ditujukan sebagai suatu hubungan linear dari
variabel keputusan.
3. Menentukan semua kendala/batasan masalah tersebut dan ekspresikan dalam
persamaan atau pertidaksamaan yang merupakan hubungan linear dari variabel
keputusan yang mencerminkan keterbatasan sumber daya masalah tersebut.
Untuk memudahkan pembahasan model linear programming, digunakan
simbol-simbol berikut :
38
Xj = Banyaknya kegiatan j, (j = 1,2,...n), berarti terdapat n variabel keputusan
Z = Nilai fungsi tujuan
Cj = Sumbangan per unit kegiatan j. Pada masalah maksimasi Cj menunjukkan
keuntungan atau penerimaan per unit, pada kasus minimasi Cj
menunjukkan biaya per unit.
bi = Jumlah sumber daya ke i (i = 1,2,...m) yang tersedia untuk dialokasikan e
setiap unit kegiatan, berarti terdapat m jenis sumber daya.
aij = Jumlah sumber daya i yang diperlukan untuk menghasilkan setiap unit
output kegiatan j.
Simbol-simbol tersebut dapat disusun ke dalam tabel berikut :
Tabel 2.1 Tabel Simbol Model Linear Programming
Sumber / kegiatan Pemakaian sumber / unit Kapasitas sumber 1 2 . .
m
a11 a12 ..................... a1n a21 a22 ..................... a2n . . ...................... . . . ...................... .
am1 am2 .................... amn
b1 b2 . .
bm Z / unit banyak kegiatan C1 C2 ...................... Cn
X1 X2 ...................... Xn
Sumber : Tjutju Tarliah Dimyati (2003)
Berdasarkan tabel di atas dapat disusun bentuk umum model linear
programming berikut :
Maksimumkan (minimumkan) ∑=
=n
jij XCZ
1
Dengan kendala ∑=
n
jiij Xa
1
(≤,=,≥) bi untuk semua i (i = 1,2,..m) dan bi≥0,
Xi≥0
39
2.4.2 Asumsi-Asumsi Dasar Linear Programming
Untuk menunjukkan masalah optimasi sebagai model linear programming
(LP), diperlukan beberapa asumsi yang terkandung dalam formulasi LP. Asumsi-
asumsi tersebut adalah :
a. Proportionality
Asumsi ini menyatakan bahwa naik turunnya nilai Z dan penggunaan sumber
atau fasilitas, akan berubah secara proporsional dengan perubahan tingkat
kegiatan. Misal : Z = C1X1 + C2X2 + .... + CnXn setiap
pertambahan/pengurangan 1 unit X1 akan menaikkan/menurunkan nilai Z
dengan C1, demikian juga untuk yang lain mempunyai sifat yang sama.
b. Additivity
Asumsi ini menyatakan bahwa nilai fungsi tujuan setiap kegiatan tidak saling
mempengaruhi, atau dalam LP dianggap bahwa kenaikan nilai fungsi tujuan
(Z) yang diakibatkan oleh kenaikan suatu kegiatan dapat ditambahkan tanpa
mempengaruhi bagian nilai Z yang diperoleh dari kegiatan lain atau dapat
dikatakan bahwa tidak ada korelasi antara satu kegiatan dengan kegiatan lain.
c. Disibility
Asumsi ini menyatakan bahwa nilai keluaran (output) yang dihasilkan oleh
setiap kegiatan dapat berupa bilangan pecahan.
d. Deterministic (Certainty)
Asumsi ini menyatakan bahwa semua parameter yang terdapat dalam model LP
(aij,bi,Cj) dapat diperkirakan dengan pasti. Dalam kenyataannya, parameter
model jarang bersifat deterministic, karena keadaan masa depan jarang
diketahui dengan pasti. Untuk mengatasi ketidakpastian parameter,
40
dikembangkan suatu teknik analisis sensitivitas, guna menguji nilai solusi,
bagaimana kepekaannya terhadap perubahan-perubahan parameter.
2.4.3 Metode Simpleks
Metode simpleks merupakan salah satu metode dalam pemrograman linier
yang umum digunakan untuk menentukan hasil yang optimal bagi permasalahan
yang memiliki tiga variabel atau lebih. Masalah pemrograman linier yang hanya
mengandung dua variabel dapat diselesaikan dengan metode grafik. Tetapi apabila
masalah tersebut mengandung lebih dari dua variabel maka metode grafik akan
sangat sulit untuk diterapkan sehingga diperlukan penggunaan metode simpleks.
Metode simpleks dikembangkan pertama kali oleh George Dantzig tahun
1947. Metode ini menyelesaikan masalah LP melalui tahapan (perhitungan ulang)
dimana langkah-langkah perhitungan yang sama diulang sampai tercapai solusi
optimal. Langkah-langkah penyelesaian masalah penyelesaian LP dalam bentuk
standar dengan menggunakan metode simpleks adalah sebagai berikut :
• Langkah 1 : Merubah fungsi tujuan dan fungsi kendala
Fungsi tujuan dirubah menjadi bentuk implisit dengan jalan menggeser semua
CjXj ke kiri.
Z = C1X1 + C2X2 + ... + CnXn diubah menjadi
Z – C1X1 – C2X2 – ... – CnXn = 0
Pada bentuk standar, semua fungsi kendala mempunyai tanda ≤.
Pertidaksamaan fungsi kendala selain kendala nonnegatif dirubah menjadi
bentuk persamaan dengan menambahkan variabel slack, yaitu suatu variabel
yang mewakili tingkat pengangguran, kapasitas yang merupakan batasan. Oleh
41
karena variabel yang ada diwakili oleh X1, X2, ....., Xn maka variabel slack ini
diwakili oleh S1, S2, ..., Sm.
a11X1 + a12X2 + a13X3 + ... + a1nXn ≤ h1
a21X1 + a22X2 + a23X3 + ... + a2nXn ≤ h2
.
.
am1X1 + am2X2 + am3X3 + ... + amnXn ≤ hm
diubah menjadi
a11X1 + a12X2 + a13X3 + ... + a1nXn + S1 = h1
a21X1 + a22X2 + a23X3 + ... + a2nXn + S2 = h2
.
.
am1X1 + am2X2 + am3X3 + ... + amnXn + S1 = hm
• Langkah 2 : Mentabulasikan persamaan-persamaan yang diperoleh pada
langkah 1
Tabel 2.2 Bentuk Umum Tabel Simpleks Awal
Basis Z X1 X2 . . Xn S1 S2 . . Sm Solusi Z S1 S2 . .
Sm
1 0 0 . . 0
-C1 -C2 . . -C2 0 0 . . 0 a11 a12 . . a1n 1 0 . . 0 a21 a22 . . a2n 0 1 . . 0 . . . . . . . . . . . . . . . . . . . . am1 am2 . . amn 0 1 . . 0
0 b1 b2 . .
bm
Kolom basis menunjukkan variabel yang sedang menjadi basis, yaitu S1, S2, Sn
yang nilainya ditunjukkan oleh kolom solusi. Secara tidak langsung ini
42
menunjukkan bahwa variabel non basis (X1, X2, ..., Xn) sama dengan nol,
karena belum ada kegiatan sedangkan kapasitasnya masih menganggur yang
ditunjukkan oleh nilai S1, S2, ..., Sn.
• Langkah 3 : Menentukan entering variable
Entering variable (kolom kunci) adalah kolom yang merupakan dasar untuk
mengubah nilai tabel. Pilih kolom pada baris fungsi tujuan yang mempunyai
nilai negatif dengan angka terbesar. Jika pada baris fungsi tujuan terdapat lebih
dari satu kolom yang mempunyai nilai negatif yang angkanya terbesar pilihlah
salah satu secara sembarang. Jika tidak ditemukan nilai negatif, berarti solusi
sudah optimal. Sebaliknya untuk kasus minimasi, pilih kolom pada baris fungsi
tujuan yang nilainya positif terbesar. Jika tidak ditemukan nilai positif berarti
solusi telah optimal.
• Langkah 4 : Menentukan leaving variable
Leaving variable (baris kunci) dipilih dari rasio yang nilainya positif terkecil.
Rasio diperoleh dengan cara membagi nilai solusi dengan koefisien pada
entering variable yang sebaris.
Rasio = aEnteringnyKolomKoefisien
SolusiNilai
Jika terdapat lebih dari satu baris yang mempunyai rasio terkecil maka pilih
salah satu secara sembarang. Jika tidak ada elemen yang nilainya positif dalam
kolom kunci maka persoalan tidak memiliki pemecahan. Kolom pada entering
variable dinamakan entering column dan baris yang berhubungan dengan
leaving variable dinamakan persamaan pivot. Elemen pada perpotongan
entering column dan persamaan pivot dinamakan elemen pivot.
43
• Langkah 5 : Menentukan persamaan pivot baru
Persamaan pivot baru = persamaan pivot lama : elemen pivot
Gantilah nilai basis persamaan pivot baru dengan nama entering variablenya.
• Langkah 6 : Tentukan persamaan-persamaan baru selain persamaan pivot baru
Persamaan baru = (persamaan lama) – (koefisien kolom entering x persamaan
pivot baru)
• Langkah 7 : Lanjutkan perbaikan-perbaikan.
Lakukan langkah perbaikan dengan cara mengulang langkah 3 sampai langkah
6 hingga diperoleh hasil optimal. Iterasi baru berhenti setelah pada baris fungsi
tujuan sudah tidak ada yang bernilai negatif. Solusi yang dihasilkan adalah
nilai-nilai yang terletak pada kolom solusi. Apabila dalam proses terjadi
keadaan dimana nilai-nilai pada baris fungsi tujuan bertambah secara tak
terbatas, maka iterasi tidak perlu dilanjutkan, cukup disebutkan bahwa
kenaikan nilai Z tidak terbatas.
Dalam beberapa kasus, terdapat penyimpangan-penyimpangan dari
persoalan dengan formulasi standar biasa yang bisa diselesaikan dengan metode
simpleks. Penyimpangan tersebut dapat berupa tanda (=), kendala bertanda (≥) atau
bi negatif. Ada 4 cara formulasi yaitu :
1. Apabila fungsi kendala bertanda ≤, tambahkan variabel slack.
2. Apabila fungsi kendala bertanda =, tambahkan variabel arifisial.
3. Apabila fungsi kendala bertanda ≥, kurangi dengan variabel slack dan
tambahkan variabel artifisial.
44
4. Apabila nilai kanan fungsi kendala adalah negatif, maka harus diubah positif
(kalikan -1) dan sesuaikan dengan ketiga point di atas.
Penyelesaian dengan variabel artifisial dapat dilakukan dengan 2 teknik
yaitu teknik M dan teknik 2 fase.
2.4.3.1 Teknik M
Pada teknik ini, setiap variabel artifisial dalam fungsi tujuan diberikan
penalty M (M bilangan positif yang sangat besar). Penalty bertanda negatif (-)
apabila fungsi tujuan maksimasi dan positif (+) apabila fungsi tujuan minimasi.
Contoh :
Minimumkan : Z = 7X1 + 3X2 + 0S1 + 0S2 + MR1 + MR2
Dengan kendala : 4X1 + 6X2 + S1 = 36
7X1 + 5X2 + R1 = 35
8X1 + 4X2 - S1 + R2 = 36
X1,X2,S1,S2,R1,R2 ≥ 0
Untuk memasukkan model dalam tabel, terlebih dahulu substitusikan R1 dan R2.
R1 = 35 – 7X1 – 5X2
R2 = 32 – 8X1 – 4X2 + S2, kemudian masukkan ke dalam persamaan Z
Z = 7X1 + 3X2 + M (35 – 7X1 – 5X2) + M (32 – 8X1 – 4X2 + S2)
= (7 – 15M)X1 – (3 – 9M)X2 + S2M + 67M
Z – (7 – 15M)X1 – (3 – 9M)X2 – S2M = 67M
Kemudian lakukan langkah-langkah penyelesaian dengan metode simpleks.
45
2.4.3.2 Teknik 2 Fase
Teknik 2 fase terdiri dari dua fase pengerjaan, yaitu :
• Fase 1 : Pada fase ini fungsi tujuan semula diganti dengan meminimumkan
jumlah variable artifisialnya dan diuji apakah persoalan yang dihadapi
memiliki solusi fisibel atau tidak. Jika nilai minimum fungsi tujuan baru ini
berharga nol (seluruh variabel artificial berharga nol), berarti persoalan
memiliki solusi fisibel, lanjutkan ke fase 2. Tetapi jika nilai minimum fungsi
tujuan baru ini berharga positif, maka persoalan tidak memiliki solusi fsibel.
STOP.
• Fase 2 : Gunakan solusi basis optimum pada fase1 sebagai solusi awal bagi
persoalan sebenarnya. Dalam hal ini ubahlah bentuk fungsi tujuan pada fase
1 dengan mengembalikannya pada fungsi tujuan persoalan sebenarnya dan
fungsi batasan diperoleh dari tabel optimal fase 1 tanpa memasukkan variabel
R nya.
2.4.4 Metode Dual Simpleks
Prosedur perhitungan pada metode simpleks berkisar dari solusi dasar
fisibel yang belum optimal menuju ke solusi fisibel yang optimal. Apakah proses
tersebut akhirnya mencapai solusi fisibel optimal adalah tergantung pada
kemampuan untuk mendapatkan suatu solusi dasar awal yang fisibel. Dalam kaitan
ini, variabel artifisial dapat digunakan untuk menemukan solusi awal fisibel. Jika
formulasi LP mengandung banyak variabel artificial, akan membutuhkan banyak
perhitungan untuk memperoleh solusi awal fisibel.
46
Untuk menghindari hal tersebut dapat digunakan suatu prosedur yang
disebut metode dual simpleks. Metode ini pada awalnya memiliki solusi yang tidak
fisibel tetapi melalui iterasi akan diperoleh suatu solusi fisibel optimal. Pada
dasarnya metode dual simpleks menggunakan tabel yang sama seperti metode
simpleks primal, tetapi leaving variable dan entering variablenya ditentukan
sebagai berikut :
a. Leaving variable (feasibility condition)
Leaving variable adalah variabel basis yang memiliki harga negatif terbesar.
Jika semua variabel basis telah berharga positif atau nol, berarti keadaan fisibel
telah tercapai.
b. Entering variable (optimality condition)
Tentukan rasio antara koefisien persamaan Z dengan koefisien persamaan
leaving variabel. Abaikan penyebut yang positif atau nol. Jika semua penyebut
berhara positif atau nol, berarti persoalan yang bersangkutan tidak memiliki
solusi fisibel. Untuk persoalan minimasi, entering variable adalah variabel
dengan rasio terkecil, sedangkan untuk persoalan maksimasi entering variable
adalah variabel dengan rasio absolut terkecil.
2.4.5 Pemrograman Linier Integer
Salah satu asumsi teknik LP adalah divisibility atau fractionality. Dengan
kata lain, setiap variabel model dapat terjadi pada semua nilai non negatif, suatu
nilai solusi yang kontinu. Dalam situasi keputusan tertentu, asumsi ini tidak
realistik dan tak dapat diterima. Integer Linear Programming adalah suatu LP
47
dengan tambahan persyaratan bahwa semua atau beberapa variabel bernilai bulat
non negatif, tetapi tidak perlu bahwa parameter model juga bernilai bulat.
Dalam masalah integer linear programming, jika model mengharapkan
semua variabel basis bernilai integer (bulat positif atau nol), dinamakan pure
integer programming. Jika model hanya mengharapkan variabel-variabel tertentu
bernilai integer, dinamakan mixed integer programming. Jika model hanya
mengharapkan nilai nol atau satu untuk variabelnya, dinamakan zero one integer
programming.
2.4.5.1 Algoritma Branch and Bound
Algoritma branch and bound dimulai dengan melonggarkan ruang
pemecahan dari masalah integer LP. Jika nilai variabel adalah integer, solusi ini
juga merupakan solusi dari permasalahan integer. Jika variabel tidak bernilai
integer, daerah fisibel dibagi dengan menambahkan batasan dari nilai variabel
yang belum integer. Hasil pembagian daerah fisibel ini dibuat dalam submasalah
yang akan diselesaikan. Batasan nilai dari fungsi tujuan ditemukan dan
digunakan untuk membantu menemukan submasalah yang mana yang bisa
dieliminasi dari pertimbangan dan kapan solusi optimal ditemukan. Jika solusi
submasalah tidak memberikan solusi optimal, submasalah baru dipilih dan
percabangan berlanjut (Render et al., 2003, p450).
6 langkah dalam menyelesaikan masalah maksimasi integer
programming dengan branch and bound menurut Render et al.(2003, p450)
adalah sebagai berikut :
48
1. Selesaikan masalah awal dengan LP. Jika hasilnya memenuhi batasan
integer, selesai. Jika tidak, nilai ini memberikan batas atas awal.
2. Temukan semua solusi fisibel yang memenuhi batasan integer untuk
digunakan seabagai batas bawah. Biasanya, pembulatan ke bawah setiap
variabel akan memenuhi point ini.
3. Buat cabang dari salah satu variabel yang tidak memiliki nilai integer. Bagi
masalah menjadi 2 submasalah berdasarkan nilai integer yang diperoleh dari
pembulatan ke atas dan ke bawah dari nilai non integer. Contohnya : jika X2
= 3,75 adalah solusi akhir LP, buat batasan X2 ≥ 4 dalam submasalah pertama
dan X2 ≤ 3 pada submasalah kedua.
4. Buat node pada percabangan baru ini dengan memecahkan masalah baru.
5.
• Jika cabang menghasilkan solusi masalah LP yang tidak fisibel, akhiri
cabang ini.
• Jika cabang menghasilkan solusi masalah LP yang fisibel, tetapi bukan
solusi integer, lanjutkan ke langkah 6.
• Jika cabang menghasilkan solusi integer yang fisibel, periksa nilai fungsi
tujuan. Jika nilai ini sama dengan batas atas, solusi optimal telah dicapai.
Jika tidak sama dengan batas atas, tetapi melebih batas bawah, jadikan
nilai ini menjadi batas bawah baru dan lanjutkan ke langkah 6. Jika nilai
ini lebih kecil dari batas bawah, akhiri cabang ini.
49
6. Periksa kedua cabang lagi dan tentukan batas atas sesuai dengan nilai
maksimum dari fungsi tujuan dari semua node akhir. Jika batas atas sama
dengan batas bawah, berhenti. Jika tidak kembali ke langkah 3.
2.4.5.2 Algoritma Cutting Plane
Sesuai dengan namanya, algoritma cutting plane (algoritma bidang
pemotong) memotong, mengiris atau membuang daerah layak yang tidak
diperlukan yang menyebabkan solusinya tidak bulat. Dalam penyelesaiannya
algoritma ini menambahkan satu fungsi kendala baru dalam setiap iterasinya.
Terdapat beberapa jenis algoritma bidang pemotong, seperti misalnya
algoritma fraksional murni dan algoritma campuran. Metode pemotongan baru
terus dikembangkan tetapi tidak satupun yang dipandang secara seragam baik
dari segi perhitungan. Pengalaman telah menunjukkan bahwa beberapa masalah
yang kecil tidak dapat dipecahkan oleh metode pemotongan. Pada kenyataannya
dilaporkan beberapa kasus dimana peubah acak dalam urutan batasan telah
membuat sebuah masalah yang mudah dari segi perhitungan menjadi sebuah
masalah yang rumit (Taha, 1996, p342).
Kesimpulan dari metode pemotongan adalah metode ini tidak dapat
digunakan secara efektif untuk memecahkan masalah integer umum, tetapi
beberapa gagasan dari metode ini dapat dan telah dipinjam untuk meningkatkan
efektivitas jenis-jenis teknik pemecahan lainnya. Jadi bila terdapat pilihan antara
metode pemotongan dan metode branch and bound maka metode branch and
bound umumnya terbukti lebih baik (Taha, 1996, p332).
50
2.5 Analisa Sensitivitas
Menurut Mulyono (Mulyono, 2002, p79) seorang analis jarang dapat
menentukan parameter model LP seperti (cj,bi,aij,) dengan pasti karena nilai
parameter ini adalah fungsi dari beberapa uncontrolable variable. Misalnya,
permintaan masa depan, biaya bahan mentah, dan harga energi sebagai sumber daya
tak dapat diperkirakan dengan tepat sebelum masalah diselesaikan. Sementara itu
solusi optimum model LP didasarkan pada parameter ini. Akibatnya analis perlu
mengamati pengaruh perubahan parameter terhadap solusi optimum. Analisis
perubahan parameter dan pengaruhnya terhadap solusi LP 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 analyisis dapat dipisahkan ke dalam tiga kelompok umum :
a) Analisa 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.
b) Analisa 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.
51
c) Analisa yang berkaitan dengan perubahan kontinu parameter untuk menentukan
urutan solusi dasar yang menjadi optimum jika perubahan ditambah lebih jauh,
ini dinamakan Parametric Programming.
Dalam membicarakan analisa sensitivitas, perubahan-perubahan parameter
dikelompokkan menjadi :
• Perubahan koefisien fungsi tujuan
• Perbahan konstan sisi kanan
• Perubahan kendala
• Penambahan variabel baru
• Penambahan kendala baru
2.6 Sistem Informasi
2.6.1 Pengertian Sistem
Menurut pendapat McLeod (2001, p11), sistem adalah sekelompok elemen-
elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan
tertentu. Suatu organisasi seperti perusahaan atau suatu bidang fungsional cocok
dengan definisi ini. Organisasi terdiri dari sejumlah sumber daya seperti manusia,
material, uang, mesin, dan informasi dimana sumber daya tersebut bekerja menuju
tercapainya suatu tujuan yang ditentukan oleh pemilik atau manajemen.
52
2.6.2 Pengertian Informasi
Berdasarkan pendapat McLeod (2001, p15), informasi adalah data, yang
telah diproses, atau data yang memiliki arti. Terdapat empat dimensi informasi
menurut McLeod (2001, p145), yaitu :
• Relevansi
Informasi memiliki relevansi jika berkaitan langsung dengan masalah yang
ada. Manajer harus mampu memilih informasi yang diperlukan tanpa membaca
seluruh informasi mengenai subyek lain.
• Akurasi
Idealnya, semua informasi harus akurat tetapi peningkatan ketelitian sistem
menambah biaya. Karena alasan tersebut, manajer terpaksa menerima ketelitian
yang kurang dari sempurna.
• Ketepatan Waktu
Informasi harus dapat tersedia untuk memecahkan masalah sebelum situasi
krisis menjadi tidak terkendali atau kesempatan menghilang. Manajer harus
mampu memperoleh informasi yang menggambarkan apa yang sedang terjadi
sekarang, selain apa yang telah terjadi di masa lampau.
• Kelengkapan
Manajer harus dapat memperoleh informasi yang memberi gambaran lenkap
dari suatu permasalahan atau penyelesaian. Namun pemberian informasi yang
tidak berguna secara berlebihan harus dihindari.
53
2.6.3 Pengertian Sistem Informasi
Menurut O’Brien (2005, p5) sistem informasi dapat merupakan kombinasi
teratur apapun dari orang-orang, hardware, software, jaringan komunikasi, dan
sumber daya data yang mengumpulkan, mengubah, dan menyebarkan informasi
dalam sebuah organisasi. Orang bergantung pada sistem informasi untuk
berkomunikasi antara satu sama lain dengan menggunakan berbagai jenis alat fisik
(hardware), perintah dan prosedur pemrosesan informasi (software), saluran
komunikasi (jaringan), dan data yang disimpan (sumber daya data).
2.6.4 Pengertian Sistem Informasi Manajemen
Sistem informasi manajemen bertujuan untuk memenuhi kebutuhan
informasi umum untuk manajer dalam perusahaan atau dalam subunit fungsional
perusahaan. Subunit dapat didasarkan pada area fungsioanl atau tingkatan
manajemen. Sistem informasi manajemen menyediakan informasi bagi pemakai
dalam bentuk laporan dan keluaran dari berbagai simulasi model matematika,
dimana model laporan ataupun keluaran dapat disajikan dalam bentuk tabel atau
grafik (McLeod, 2001, p326).
Berdasarkan pendapat McLeod (2001, p327) sistem informasi manajemen
dapat didefinisikan sebagai suatu sistem berbasis komputer yang menyediakan
informasi bagi beberapa pemakai dengan kebutuhan yang serupa. Para pemakai
biasanya membentuk suatu entitas organisasi formal (perusahaan atau subunit di
bawahnya). Informasi menjelaskan perusahaan atau salah satu sistem utamanya
mengenai apa yang telah terjadi di masa lalu, apa yang sedang terjadi sekarang dan
apa yang mungkin terjadi di masa depan. Informasi tersebut tersedia dalam bentuk
54
laporan periodik, laporan khusus, dan keluaran dari simulasi matematika. Keluaran
informasi tersebutlah yang akan digunakan oleh manajer maupun non-manajer
dalam perusahaan saat mereka membuat keputusan untuk memecahkan masalah.
2.6.5 Pengertian Analisa dan Perancangan Sistem
Menurut McLeod (2001, p234) analisa sistem adalah penelitian atas sistem
yang telah ada dengan tujuan untuk merancang sistem yang baru atau diperbaiki.
Jadi dapat disimpulkan bahwa analisa sistem adalah penelitian sistem yang ada
dengan tujuan penyempurnaan sistem yang dapat dimanfaatkan oleh pengguna
sistem. Sedangkan menurut Cushing (1991, p327), analisa sistem dapat
didefinisikan sebagai proses penyelidikan kebutuhan informasi pemakai di dalam
suatu organisasi agar dapat menetapkan tujuan dan spesifikasi untuk desain suatu
sistem informasi.
Menurut Mulyadi (1993, p51) perancangan sistem adalah proses
penerjemahan kebutuan pemakai ke dalam alternatif rancangan sistem informasi
yang diajukan kepada pemakai informasi untuk dipertimbangkan. Sedangkan
menurut Cushing (1991, p348) perancangan sistem adalah proses penyiapan
spesifikasi yang terperinci untuk pengembangan suatu sistem baru. Dari definisi di
atas, perancangan sistem dapat disimpulkan suatu proses penyiapan spesifikasi
dalam menterjemahkan kebutuhan pemakai dalam pengembangan sistem baru.
55
2.7 Analisa dan Perancangan Sistem Informasi Berorientasi Objek
2.7.1 Pengertian 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.
Objek mempunyai arti kombinasi dari data dan logik yang mewakilkan
entitas dari kenyataan. Objek merepresentasikan sebuah entitas, baik secara fisik,
konsep ataupun secara perangkat lunak. Definisi yang formal dari objek adalah
sebuah konsep, abstraksi atau sesuatu yang diberi batasan jelas dan dimaksudkan
untuk sebuah aplikasi.
Menurut Mathiassen et al. (2000, p4) objek merupakan suatu entitas dengan
identitas, state (keadaan) dan behavior (kelakuan). Keadaan dari objek adalah satu
dari kondisi yang memungkinkan dimana objek dapat muncul, dan dapat secara
normal berubah berdasarkan waktu. Keadaan dari objek biasanya
diimplementasikan dengan kelompok propertinya (disebut atribut), berisi nilai dari
properti tersebut, ditambah keterhubungan objek yang mungkin dengan objek
lainnya. Kelakuan menentukan bagaimana sebuah objek beraksi dan bereaksi
terhadap permintaan dari objek lainnnya. Direpresentasikan dengan kelompok
pesan yang direspon oleh objek (operasi yang dilakukan oleh objek). Kelakuan dari
objek mendeskripsikan segala sesuatu yang dapat kita lakukan terhadap objek
tersebut dan segala sesuatu yang dapat dilakukan oleh objek untuk kita.
56
Setiap objek mempunyai identitas yang unik. Identitas yang unik ini
membuat kita dapat membedakan dua objek yang berbeda, walaupun kedua objek
tersebut mempunyai keadaan dan nilai yang sama pada atributnya.
2.7.2 Kaitan Analisis dan Perancangan dengan Orientasi Objek
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
analisa, 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.
Inti dari analisis dan perancangan berorientasi objek adalah untuk
menekankan pertimbangan atas domain permasalahan beserta solusinya dari sudut
pandang objek. Tahap analisis berorientasi objek lebih ditekankan untuk mencari
dan mendfinisikan objek atau konsep yang ada dalam domain permasalahan.
Contohnya dalam membangun aplikasi perpustakaan, analisis bertujuan
mendapatkan penjabaran objek seperti buku, petugas perpustakaan, dan
sebagainya. 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++,
Smaltalk, Java, atau Visual Basic (Larman, 1998, p6)
57
2.7.3 Konsep Analisis dan Perancangan Berorientasi Objek
Tiga buah konsep atau teknik dasar dalam analisis dan perancangan
berorientasi objek yaitu :
1. Pembungkusan (Encapsulation)
Encapsulation dalam bahasa pemrograman berorentasi objek secara sederhana
berarti pengelompokan data dan fungsi (yang disebut sebagai metode). Secara
tradisional, data dan fungsi dalam sebuah program adalah independen. Seperti
dalam pemrograman modular dan abstraksi data, pemrograman berorientasi
objek mengelompokkan data dengan fungsi yang beroperasi pada data tersebut.
Setiap objek kemudian mempunyai sebuah set data dan set fungsi secara logik.
2. Pewarisan (Inheritance)
Dalam object oriented programming kita dapat menciptakan objek baru yang
diturunkan dari objek lain. Objek baru ini sering disebut dengan objek turunan
(derived class) sedangkan objek induknya sering disebut dengan base class.
Sifat yang terkandung pada objek turunan adalah sifat hasil pewarisan dari
sifat-sifat yang terdapat pada objek induk. Jadi kita dapat membuat objek baru
yang memiliki kemampuan lebih dibanding dengan objek induknya dengan
menambahkan sifat baru ke dalam objek tersebut.
3. Polimorfisme (Polymorphism)
Polymorphism adalah kemampuan dari tipe objek yang berbeda untuk
menyediakan atribut dan operasi yang sama dalam hal yang berbeda.
Polimorphism adalah hasil natural dari fakta bahwa objek dari tipe yang
berbeda (bahkan dari subtipe yang berbeda) dapat menggunakan properti dan
operasi yang sama dalam hal yang berbeda.
58
2.8 Unified Modelling Language (UML)
2.8.1 Diagram UML
Menurut Roff (2003, p11-13), UML bisa dibagi dalam dua bagian utama,
yaitu :
1. Structural Diagram
Class diagram dan implementation diagram termasuk dalam bagian ini.
Dengan dua kategori ini, kita bisa menemukan empat tipe spesifik dari diagram
yaitu :
• Class dan object diagram
• Component dan deployment diagram
2. Behavioral Diagram
Behavioral diagram digunakan untuk menunjukkan bagaimana aliran proses
antara komponen, kelas, pengguna dan sistem. Ada lima behavioral diagram
dalam UML, yaitu :
• Use case diagram
• Activity diagram
• Sequence diagram
• Collaboration diagram
• Statechart diagram
Terdapat tiga buah diagram inti yang paling sering digunakan untuk
membangun sistem yaitu use case diagram (untuk menggambarkan kebutuhan
pengguna sistem), sequence diagram (untuk menganalisis setiap use case dan
memetakannya ke dalam class), dan class diagram (untuk menentukan struktur
59
berorientasi objek). Ketiga diagram ini akan dapat meng-cover 80% dari
kebutuhan pemodelan objek ketika membangun aplikasi bisnis dengan teknologi
objek (Ambler, 2002, online).
Menurut Booch (1999, p99-100), 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 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.8.1.1 Class dan Object Diagram
Menurut Mathiassen et al. (2000, p53) class diagram merupakan
deskripsi dari kumpulan obyek yang saling berbagi struktur, pola tingkah laku
dan atribut. Class diagram digunakan untuk merepresentasikan bagian-bagian
pokok yang berbeda (kelas), hubungan mereka satu sama lain dan dalam
subsistem mana kelas itu berada. Class diagram termasuk atribut dan operasi dan
juga berbagai tipe tugas/peran dan asosiasi (Roff, 2003, p11).
Atribut adalah nama-nama properti dari sebuah kelas yang menjelaskan
batasan nilainya dari properti yang dimiliki oleh sebuah kelas tersebut. Atribut
60
dari suatu kelas merepresentasikan properti-properti yang dimiliki oleh kelas
tersebut. Atribut mempunyai tipe yang menjelaskan tipe instansiasinya.
Operasi adalah implementasi dari layanan yang dapat diminta dari sebuah
obyek dari sebuah kelas yang menentukan tingkah lakunya. Sebuah operasi dapat
berupa perintah ataupun permintaan. Sebuah permintaan tidak boleh mengubah
kedudukan dari objek tersebut. Hanya perintah yang dapat mengubah keadaan
dari sebuah objek. Keluaran dari sebuah operasi tergantung dari nilai keadaan
terakhir dari sebuah objek.
Hubungan antar kelas terdiri dari :
• Association
Association adalah hubungan antar benda struktural yang terhubung diantara
objek. Kesatuan objek yang terhubung merupakan hubungan khusus, yang
menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian.
Sumber : www.wikipedia.org
Gambar 2.1. Association
• Aggregation
Aggregation atau agregasi adalah hubungan “bagian dari” atau “bagian
keseluruhan”. Suatu class atau objek mungkin memiliki atau bisa dibagi
menjadi class atau objek tertentu, dimana class atau objek yang disebut
kemudian merupakan bagian dari class atau objek yang terdahulu. Agregasi
adalah bentuk khusus dari association.
61
Sumber : www.wikipedia.org
Gambar 2.2. Aggregation
• Composition
Composition adalah strong aggregation. Pada composition, objek “bagian”
tidak dapat berdiri sendiri tanpa objek “keseluruhan”. Jadi mereka terkait
dengan kuat satu dengan lainnya.
Sumber : www.wikipedia.org
Gambar 2.3. Composition
• Generalization
Generalization menggambarkan hubungan khususdalam objek anak/child
yang menggantikan objek parent/induk. Dalam hal ini, objek anak
memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada
objek induk.
Sumber : www.wikipedia.org
Gambar 2.4. Generalization
Sedangkan object diagram sangat mirip dengan class diagram, kecuali
kebalikan dari kelas, object diagram menunjukkan objek yang merupakan
instance dari kelas. Objek merupakan sesuatu yang unik dan individual,
sedangkan class lebih umum. Object diagram menggambarkan sekumpulan
62
objek-objek dan hubungannya. Object diagram digunakan untuk
menggambarkan struktur data, static snapshots dari instance dari class diagram.
Object diagram adalah class diagram yang dilihat dari sudut pandang objek.
2.8.1.2 Component dan Deployment Diagram
Component diagram menggambarkan organisasi dan dependensi diantara
sekumpulan komponen-komponen. Component diagram digunakan untuk
mengilustrasikan bagaimana komponen dari sistem berinteraksi satu sama lain.
Sumber : www.wikipedia.org
Gambar 2.5. Component Diagram
Deployment diagram menggambarkan bagaimana komponen akan
bekerja setelah diinstal pada sistem dan bagaimana sistem ini berinteraksi satu
sama lain.
63
Sumber : www.wikipedia.org
Gambar 2.6. Deployment diagram
2.8.1.3 Use Case Diagram
Use case diagram menampilkan sekumpulan use case dan aktor, serta
hubungan diantaranya, dimana dapat menggambarkan fungsionalitas yang
diharapkan dari sebuah sistem. Sebuah use case merepresentasikan sebuah
interaksi antara aktor dengan sistem. Seorang aktor adalah sebuah entitas
manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-
pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang
menyusun kebutuhan sebuah sistem, mengkomunikasikan rancangan dengan
klien, dan merancang test case untuk semua fitur yang ada pada sistem.
64
Sumber : www.wikipedia.org
Gambar 2.7. Contoh use case diagram
2.8.1.4 Activity Diagram
Activity diagram digunakan untuk menganalisa behavior dalam use case
yang lebih kompleks dan menunjukkan interaksinya satu sama lain. Activity
diagram mirip dengan statechart diagram sejauh merepresentasikan aliran data.
Bagaimanapun, activity diagram digunakan untuk memodelkan aliran kerja
bisnis selama desain use case. Activity diagram biasanya digunakan untuk
merepresentasikan aktivitas bisnis yang kompleks, membantu untuk
mengidentifikasi use case atau interaksi antara dan dalam use case (Roff, 2003,
p13).
65
Sumber : www.wikipedia.org
Gambar 2.8. Contoh Activity Diagram
2.8.1.5 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi
vertikal (waktu) dan dimensi horisontal (objek-objek yang terkait). Sequence
diagram biasa digunakan untuk menggambarkan skenario atau rangkaian
langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk
menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas
tersebut, proses dan perubahan yang terjadi secara internal dan output apa yang
dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message
digambarkan sebagai garis berpanah dari satu objek ke objek lainnya, dimana
beberapa message tersebut dapat dipetakan menjadi metode dari class. Activation
bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan
diterimanya sebuah message.
66
Sumber : www.wikipedia.org
Gambar 2.9. Contoh sequence diagram
2.8.1.6 Statechart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari
satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari
rangsangan yang diterima. Pada umumnya statechart diagram menggambarkan
class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).
Diagram ini menekankan pada metode (event) dari objek. Statechart diagram
menampilkan sebuah state machine, yang terdiri dari state, transition, event, dan
activity. Dalam UML, state digambarkan berbentuk segi empat dengan sudut
membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state
umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi
yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai
akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan
akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.