BAB II
LANDASAN TEORITIS
2.1. Network Flow Models 2.1.1 Pengertian Network
Menurut Taylor (1999, p408), Network atau jaringan merupakan suatu bentuk penyusunan dari jalur-jalur yang terhubung pada titik-titik yang bervariasi, yang dimana melalui jalur-jalur tersebut dapat dialirkan satu atau lebih barang dari satu titik ke titik lainnya. Penggunaan network dapat menggambarkan suatu sistem dengan jelas, karena pada umumnya, hampir semua sistem dapat dengan mudah dimodelkan menggunakan network.
2.1.2 Komponen Network
Network memiliki dua komponen utama, yaitu nodes dan branches. Nodes menyatakan titik pertemuan pertemuan yang menghubungkan beberapa branches, sedangkan branches menghubungkan nodes dan memperlihatkan
aliran dari satu titik ke titik lainnya. Biasanya, branches mempunyai suatu nilai /
value yang menunjukkan suatu jarak, waktu, atau biaya.
Gambar 2.1 Komponen Network
2.2. Manajemen Proyek
2.2.1 Elemen Manajemen Proyek
x
node branch
Pada umumnya kegiatan manajemen berfokus pada kegiatan perencanaan, pengorganisasian, dan pengendalian dari proses yang akan berlangsung seperti proses produksi atau penghantaran jasa. Manajemen proyek memiliki perbedaan dari kegiatan manajemen pada umumnya, karena sebuah proyek memiliki batasan-batasan seperti adanya batasan jumlah bahan baku dan tenaga kerja untuk suatu kegiatan yang penting, yang dibatasi oleh waktu. Menurut Taylor (1999, p452), ada 3 elemen utama dalam manajemen proyek, yaitu: tim proyek (project team), perencanaan proyek (project planning), dan pengendalian proyek (project control). Pada bagian ini, elemen yang diuraikan lebih detil adalah elemen perencanaan proyek dan pengendalian proyek.
2.2.1.1 Perencanaan Proyek
Pada tahap perencanaan proyek, walaupun bukan pekerjaan yang sederhana, semua aktifitas / kegiatan atau langkah-langkah di dalam proyek harus diidentifikasi selengkap-lengkapnya. Aktifitas yang dimaksud disini ialah suatu pekerjaan / usaha individu yang membutuhkan tenaga kerja, bahan baku / resources, dan waktu, yang berada dibawah pengendalian manajemen.
Semua aktifitas yang telah diidentifikasi tersebut harus ditentukan kesalingtergantungannya (precedence relationship), yaitu aktifitas mana yang dilakukan pertama kali dan aktifitas mana yang mengikuti suatu aktifitas tertentu. Biasanya, untuk mempermudah penentuannya, maka hubungan ini dituangkan kedalam tabel ‘immediate predecessors’. Untuk lebih jelasnya dapat dilihat pada tabel 2.1, yang menunjukkan contoh kesalingtergantungan dari aktifitas ‘proyek turun mesin’.
Activity
A Remove and diassemble motor -
B Clean paint housing A
C Rewind armature A
D Replace bearings A
E Assemble and install motor in housing B, C, D Tabel 2.1 Daftar aktifitas dan predecessors ‘proyek turun mesin’
Setelah itu, seluruh kegiatan proyek harus dibuat penjadwalannya, yang dapat dilakukan dengan cara menentukan perkiraan waktu yang dibutuhkan oleh setiap kegiatan, sehingga dapat ditentukan waktu penyelesaian proyek secara keseluruhan.
Penjadwalan proyek yang telah dibuat harus dibandingkan dengan sasaran akhir dari proyek, yang jika ditemukan bahwa penjadwalan yang dibuat tidak memungkinkan, maka harus dilakukan usaha-usaha tambahan, seperti mempersingkat waktu dengan cara menambah mesin dan tenaga kerja.
2.2.1.2 Pengendalian Proyek
Fokus dari pengendalian proyek yaitu memastikan apa yang telah direncanakan sebelumnya dapat berjalan pada pelaksanaannya, sesuai dengan rencana yang telah dibuat. Dalam kebanyakan kasus, fokus utamanya yaitu menjaga proyek agar tetap konsisten pada penjadwalan yang telah dibuat dan memastikan supaya proyek dapat selesai tepat waktu.
Metodologi yang banyak digunakan adalah metode WBS (Work
Breakdown Structure), dimana sebuah proyek dipecah-pecah menjadi
komponen-komponen yang lebih kecil, dan setiap komponen kecil tersebut dipecah-pecah lagi menjadi komponen yang lebih detil, dan
seterusnya, sehingga pada akhirnya didapatkan daftar aktifitas dan tugas-tugas individu.
2.2.2 Jaringan Proyek (Project Network)
Dengan menggunakan Network Flow Models, maka pada jaringan proyek,
branches dapat dilihat sebagai suatu aktifitas dari sebuah proyek, sedangkan nodes dapat dilihat sebagai titik awal dan titik akhir dari suatu aktifitas, yang
sering juga disebut sebagai kejadian / events. Branches yang digunakan disini adalah directed branches / arrows , dimana tanda panah ini menunjukkan suatu
precedence relationship diantara tiga buah aktifitas. Untuk lebih jelasnya, lihat
gambar 2.2.
Gambar 2.2 Jaringan proyek
Tujuan dibuatnya jaringan proyek ini adalah untuk membantu perencanaan dan penjadwalan suatu proyek.
2.2.2.1 Concurrent Activities dan Dummy Activities
Concurrent activities merupakan suatu kegiatan yang dapat
berlangsung pada waktu yang bersamaan. Pada umumnya suatu proyek pasti memilikinya.
Dalam merancang jaringan proyek, untuk menghadapi concurrent
activities ini, seringkali diperlukan apa yang dinamakan dummy activities. Dummy ini diperlukan karena terdapat aturan dalam membangun jaringan
proyek, yaitu bahwa dua atau lebih aktifitas tidak boleh mempunyai start dan end nodes yang sama. Dummy activities ini digunakan untuk
1 Activity 1 2 Activity 2 3
menunjukkan precedence relationship, akan tetapi dummy activities tidak menunjukkan suatu lintasan waktu.
Gambar 2.3 Concurrent activities
Pada gambar 2.3 diatas, dapat dilihat bahwa aktifitas 1 dengan aktifitas 2 mempunyai node awal dan akhir yang sama, sehingga untuk memisahkan node akhirnya, disisipkan sebuah dummy activity yang nilai waktunya 0, seperti yang dapat dilihat pada gambar 2.4 berikut ini.
Gambar 2.4 Dummy activity
Salah satu contoh logika ketergantungan yang sangat terbantu dengan adanya dummy activities ini adalah sebagai berikut: aktifitas C tergantung oleh aktifitas A dan B, dan aktifitas D tergantung oleh aktifitas B (aktifitas ini berasal dari proyek instalasi mesin). Untuk lebih jelasnya dapat dilihat pada tabel 2.2. Tanpa adanya dummy activities, logika ketergantungan menjadi salah, seperti yang dapat dilihat pada gambar 2.5(a). 1 2 Activity 1 Activity 2 x months y months 1 Activity 2y months 3 2 Activity 1 x months Dummy activity 0 month
Dengan memakai dummy activities, maka diperoleh suatu bentuk logika ketergantungan yang benar. Seperti network yang ada pada gambar 2.5(b).
Activity
Code Activity Description PredecessorsImmediate
A Install machine -
B Hire operator -
C Train operator A, B
D Inspect machine A
Tabel 2.2 Aktifitas dan predecessors ‘proyek instalasi mesin’
Gambar 2.5(a) Logika ketergantungan yang salah dari proyek instalasi mesin
Gambar 2.5(b) Logika ketergantungan yang benar dari proyek instalasi mesin – membutuhkan dummy activity
2.2.2.2 Lintasan Kritis (The Critical Path)
Path dapat diartikan sebagai suatu urutan dari aktifitas yang
dilewati dalam pergerakan dari starting event / node hingga ke ending
event / node dari suatu network (Davis/McKeown/Rakes, 1999, p268).
Selanjutnya, dikatakan bahwa pada setiap network, pasti mempunyai sekurang-kurangnya dua buah path, yang minimal satu dari path tersebut
1 32 4 6B 5 D A C 1 3 2 4 6 A B D C
bersifat kritis. Karena penyelesaian suatu proyek mengharuskan agar semua path dilewati, maka durasi dari path yang terpanjang (waktu yang dibutuhkan agar path dapat dilewati semuanya) merupakan lintasan / jalur kritis (Critical Path).
Sedangkan menurut Taylor (1999, p457), Critical Path atau lintasan kritis ialah jalur terpanjang yang dilalui di dalam suatu jaringan. Lintasan kritis juga dapat diartikan sebagai lintasan yang mempunyai waktu yang paling cepat untuk menyelesaikan suatu jaringan proyek.
Salah satu pendekatan matematis yang digunakan untuk menemukan lintasan kritis di dalam suatu jaringan proyek, yang sangat banyak digunakan ialah metode PERT/CPM, yang akan dibahas lebih mendetil pada bagian selanjutnya.
2.2.2.3 Membangun Jaringan Proyek
Setelah memahami konsep dari Concurrent activities, dummy
activities dan critical path, jaringan proyek dapat dibangun secara akurat.
Berikut ini adalah beberapa aturan dan tips dalam mengembangkan suatu jaringan proyek secara akurat:
1. Sebelum seluruh aktifitas dapat berjalan, semua aktifitas yang mendahuluinya (preceding activities) haruslah selesai terlebih dahulu
2. Garis panah hanya menunjukkan hubungan saling mendahului secara logika saja, baik panjangnya maupun arahnya tidak mempunyai suatu arti apapun.
3. Setiap daripada garis panah (aktifitas) harus diawali dan diakhiri dengan sebuah node event.
4. Tidak ada dua buah node di dalam jaringan yang dihubungkan secara langsung oleh lebih dari satu garis panah. 5. Dalam melakukan penomoran pada nodes, sangat dianjurkan
untuk melakukan penomoran dengan kelipatan sepuluh pada jaringan yang besar, supaya jika terjadi perubahan di waktu yang akan datang, dapat dengan mudah dilakukan.
6. Seluruh garis panah di dalam jaringan haruslah mempunyai arah, lebih kurang, dari kiri ke kanan.
7. Perincian dari aktifitas haruslah selengkap-lengkapnya, sesuai dengan yang dibutuhkan untuk menggambarkan hubungan logika dan perencanaan dari aktifitas-aktifitasnya.
Salah satu kesalahan yang paling sering terjadi dalam membangun logika jaringan ini adalah meletakkan suatu aktifitas dalam jaringan berdasarkan urutan waktu seperti yang biasanya terjadi secara kronologis (sequential activities), yang seharusnya bisa digambarkan secara paralel (concurrent activities). Untuk lebih jelasnya dapat dilihat pada gambar 2.6(a) dan 2.6(b) yang menunjukkan contoh diagram “paying bills”
Gambar 2.6(a) Sequential network diagram untuk ‘paying bills’
1 2 3 4 5 6
Examine Bills
7 Make Out
Gambar 2.6(b) Proper network diagram untuk ‘paying bills’
2.3. Metode PERT/CPM
Diasumsikan para pembaca sudah memahami teknik pengembangan suatu jaringan proyek, mulai dari penentuan aktifitas proyek secara mendetil, penentuan logika kesalingtergantungannya, hingga kepada penggunaan dummy activities, sehingga pada sub-judul ini akan lebih difokuskan pada tinjauan latar belakang metode PERT/CPM ini dan proses perhitungannya secara matematis.
2.3.1 Latar Belakang PERT/CPM
PERT (Program Evaluation and Review Technique) pertama kali dikembangkan di tahun 1950 akhir, dan digunakan secara umum untuk mengatur penelitian militer dan proyek pembangunan. PERT pertama kali diaplikasikan dalam ‘Polaris missile project’ untuk U.S Navy. Faktanya, PERT dikembangkan oleh departemen pertahanan secara spesifik untuk mendukung proses perencanaan, penjadwalan dan pengendalian dari seluruh aktifitas yang jumlahnya sangat banyak dan bertumpuk, yang terkait pada proyek tersebut. PERT juga banyak diaplikasikan pada bidang pembangunan, industri,
1 3 2 4 6 5 Examine Bills 7 Make Out Checks Insert Checks In Envelopes Address Envelopes Place Stamps Mail Dummy Dummy
penjadwalan maskapai penerbangan, dan sebagainya. Salah satu fitur utama dari PERT , sebagai tambahan dari kemampuannya dalam mengidentifikasi penjadwalan dan perencanaan aktifitas, ialah bahwa PERT dapat menangani ketidakpastian yang terjadi dalam memperkirakan waktu penyelesaian aktifitas yang beragam.
Sedangkan CPM (Critical Path Method) dikembangkan terpisah dari PERT, akan tetapi hubungan keduanya sangatlah erat. Pada dasarnya, CPM berfokus kepada pertukaran antara biaya proyek dengan waktu penyelesaian proyek, bukan berfokus kepada ketidakpastian waktu dari suatu aktifitas seperti yang difokuskan oleh PERT.
Hingga saat ini, PERT dan CPM merupakan dua teknik utama dari manajemen proyek yang sangat banyak dipakai. Metode PERT biasanya digunakan untuk menentukan waktu penyelesaian proyek yang diharapkan secara keseluruhan dan dapat mengidentifikasi lintasan kritisnya, yang dimana jika tidak diselesaikan sesuai dengan jadwalnya, akan menunda penyelesaian proyek tersebut. Sedangkan metode CPM biasanya digunakan untuk mempersingkat waktu pelaksanaan proyek secara keseluruhan, dengan syarat, pihak manajemen bersedia untuk mengalokasikan sumber daya lebih banyak pada proyek tersebut. 2.3.2 Algoritma Perhitungan PERT
Urutan langkah-langkah dasar yang digunakan dalam proses perhitungan PERT adalah sebagai berikut:
1. Identifikasi seluruh tugas / aktifitas yang berhubungan dengan proyek. 2. Identifikasi “immediate predecessor relationship’ untuk seluruh
3. Gambarkan jaringan dasar dari proyek untuk menunjukkan semua hubungan yang terkait.
4. Perkirakan durasi waktu yang diharapkan dari setiap aktifitas.
5. Dengan Forward Pass, hitung earliest start dan earliest finish time untuk setiap aktifitas.
6. Dengan waktu penyelesaian proyek yang telah dihitung dengan
forward pass, gunakan backward pass untuk menghitung latest start
dan latest finish time untuk setiap aktifitas. 7. Hitung float / slack time pada setiap aktifitas.
8. Temukan jalur / lintasan kritis dari jaringan proyek tersebut, dimana jalur kritis adalah jalur yang memuat aktifitas yang mempunyai nilai
slack nol.
2.3.3 Perhitungan Penjadwalan Dasar
Dalam melakukan perhitungan, simbol-simbol yang digunakan didalam jaringan proyek ini dapat dilihat pada gambar 2.7 berikut ini.
Gambar 2.7 Simbol-simbol yang digunakan di dalam jaringan Arti dari simbol-simbol diatas, yang akan dipergunakan dalam proses perhitungan dan analisis dari metode PERT ialah:
ESij = early start time EFij = early finish time LSij = latest finish time LFij = latest finish time
Activity
Code
[ES
ij, D
ij, EF
ij]
(LSij
, F
ij, LF
ij)Dij = expected activity time Fij = float / slack time
2.3.3.1 Forward Pass
Forward pass pada dasarnya adalah kegiatan yang melakukan
perhitungan waktu tercepat untuk dimulainya dan berakhirnya suatu aktifitas, sehingga dapat ditentukan waktu yang dibutuhkan untuk selesainya sebuah proyek.
Early start time untuk sebuah aktifitas adalah waktu tercepat yang
mungkin bagi suatu aktifitas untuk dimulai, yang dilambangkan dengan
ESij, dimana i dan j melambangkan node awal dan node akhir yang
berhubungan dengan aktifitas tersebut. Sedangkan early finish time untuk sebuah aktifitas merupakan early start time ditambahkan dengan durasi waktu yang diperlukan untuk menyelesaikan aktifitas tersebut (duration
time), yang dilambangkan dengan EFij = ESij + Dij.
Beberapa aturan yang digunakan pada forward pass ini ialah: 1. Semua aktifitas yang tidak mempunyai aktifitas pendahulu,
diasumsikan dapat dimulai dengan segera, sehingga nilai ESij =
0.
2. Jika ada beberapa aktifitas yang ada mendahului sebuah aktifitas, maka earliest start time untuk aktifitas tersebut adalah nilai terbesar dari earliest finish time dari seluruh aktifitas pendahulu. Aturan ini dapat dituliskan secara matematis sebagai: ESij =
maximum(EFk1.i, EFk2.i, …, EFkn.i).
Backward pass pada dasarnya adalah kegiatan yang melakukan
perhitungan waktu paling lambat untuk dimulainya dan berakhirnya suatu proyek. Backward pass ini digunakan untuk memberikan jawaban kepada pertanyaan: Seberapa banyak – jika memungkinkan – suatu aktifitas dapat terlambat, tanpa memperpanjang waktu proyek?
Latest start time untuk sebuah aktifitas LSij adalah waktu paling
lambat yang mungkin bagi suatu aktifitas untuk dimulai, tanpa menunda waktu selesainya proyek. Sedangkan latest finish time untuk sebuah aktifitas LFij merupakan latest start time ditambahkan dengan durasi
waktu yang diperlukan untuk menyelesaikan aktifitas tersebut (duration
time), yang dilambangkan dengan LFij = LSij + Dij. Akan tetapi. Pada
penggunaannya, bentuk yang lebih praktis ialah: LSij = LFij - Dij., karena
perhitungan dilakukan secara backward, yaitu dengan diketahui LFij maka
dapat dihitung ESij.
Beberapa aturan yang digunakan pada backward pass ini ialah: 1. Perhitungan dimulai pada event yang paling terakhir, dimana
nilai latest finish timenya merupakan total duration time yang telah dihitung dengan forward pass. Dengan kata lain, untuk aktifitas yang paling terakhir, LFij = EFij.
2. Jika ada beberapa aktifitas yang ada yang meninggalkan sebuah node, maka latest finish time untuk aktifitas yang memasuki node tersebut adalah nilai terkecil dari latest
starting time dari seluruh aktifitas yang meninggalkan node
tersebut. Aturan ini dapat dituliskan secara matematis sebagai:
2.3.3.3 Float (Slack) Time
Float / slack time merupakan lama waktu untuk sebuah aktifitas
dapat terlambat, tanpa menyebabkan tertundanya waktu keseluruhan proyek. Float time untuk setiap aktifitas dapat dihitung jika forward pass dan backward pass telah dilakukan sebelumnya untuk menghitung batasan waktu yang ada (start dan finish time). Cara menghitungnya adalah dengan mengambil selisih dari LS dengan ES, atau selisih dari LF dengan EF, yang secara matematis dapat dituliskan sebagai: Fij = LSij – EFij atau Fij = LFij – EFij.
Perhitungan float time untuk aktifitas apapun mempunyai asumsi bahwa aktifitas lain berlangsung dengan duration time yang diharapkan, dengan kata lain, bahwa aktifitas lainnya akan terlaksana sesuai jadwal.
Sesuai dengan pembahasan sebelumnya, lintasan kritis dapat ditentukan dengan melihat jalur yang melewati aktifitas-aktifitas yang mempunyai float time Fij = 0.
2.3.4 Ketidakpastian pada Jaringan PERT
Dalam penerapan metode jaringan PERT, pada kenyataannya sulit untuk menentukan waktu aktifitas secara akurat, dikarenakan teknologi yang selalu berubah dan produk yang tidak standar. Oleh karena itu, untuk mengakomodasi ketidakpastian ini, maka pengembang awal PERT menyediakan tiga perkiraan waktu untuk setiap waktu aktifitas: (1) most probable time (tm) – waktu yang
diperlukan untuk menyelesaikan aktifitas dengan kondisi normal; (2) pessimistic
time (tp) – waktu paling lama yang diperlukan untuk menyelesaikan aktifitas jika
terjadi penundaan yang signifikan di dalam proyek; (3) optimistic time (to) –
sesuatunya terjadi secara ideal. Dengan menggunakan tiga perkiraan waktu ini, maka expected time – waktu yang cenderung terjadi jika aktifitas dilakukan secara berulang-ulang – untuk setiap aktifitas dapat ditentukan dengan rumus sebagai berikut: 4 6 o m p e t t t t = + +
Pada kenyataannya, aktifitas yang ada tidak dilakukan secara berulang, bahkan kebanyakan hanya terjadi sekali saja. Bagaimanapun juga, te tetap
merupakan perkiraan tunggal yang terbaik untuk memperkirakan waktu yang dibutuhkan untuk menyelesaikan aktifitas, yang banyak digunakan pada penerapannya.
Pembobotan yang digunakan untuk menghitung te ini didasarkan pada
pendekatan distribusi peluang beta, karena pengembang PERT menemukan bahwa distribusi ini dapat mendekati 4 karakteristik yang diharapkan untuk waktu aktifitas, yaitu:
1. Mempunyai probabilitas yang kecil (1 dari 100) untuk mencapai waktu yang paling optimis (waktu paling pendek), yang disimbolkan dengan to.
2. Mempunyai probabilitas yang kecil (1 dari 100) untuk mencapai waktu yang paling pesimis (waktu paling lama), yang disimbolkan dengan tp.
3. Hanya ada satu nilai waktu yang paling mendekati (most likely
time), yang disimbolkan dengan tm, yang nilainya bebas selama
dalam batasan dua nilai ekstrim to dan tp.
4. Mempunyai kemampuan untuk mengukur ketidakpastian dalam mengestimasi.
Distribusi beta sendiri memiliki sifat unimodal (mempunyai satu nilai puncak), mempunyai titik akhir yang positif dan berhingga dengan kesimetrisan yang tidak terlalu dipentingkan. Jadi, rumusan / formula untuk menghitung waktu yang diharapkan merupakan kombinasi dari ketiga waktu yang ada, yang dirumuskan dengan aljabar menggunakan rataan tertimbang.
Keuntungan dari penggunaan tiga perkiraan waktu ini adalah bahwa kita dapat menghitung dispersi dari waktu aktifitas dan dapat menggunakan informasi ini untuk mengevaluasi faktor ketidakpastian yang ada di dalam pelaksanaan proyek agar dapat sesuai dengan penjadwalan yang telah dibuat.
Dengan menggunakan tiga buah nilai dari setiap waktu aktifitas ini, maka dapat dihitung standar deviasi untuk setiap aktifitas. Perbedaan antara to dengan tp menunjukkan jarak antara titik ekstrim ujung kanan dan titik ekstrim ujung kiri
dari distribusi peluang waktu aktifitas yang mungkin. Jarak ini mempunyai besaran sekitar ±3 standar deviasi (luas kurva 1% mempunyai jarak 3 standar deviasi), maka tp – to = 6 standar deviasi. Sehingga, faktor ketidakpastian ini /
dispersi dari waktu aktifitas ini dapat diukur menggunakan alat bantu statistik
variance, yang merupakan kuadrat dari standar deviasinya dengan rumusan
sebagai berikut:
Variansi waktu aktifitas =
2 2 6 p o t
t t
σ = − Dengan rumus diatas, maka variansi waktu untuk setiap aktifitas dapat dihitung, dan setelah semuanya dihitung, maka diperoleh variansi waktu penyelesaian proyek dengan cara menjumlahkan seluruh variansi waktu aktifitas kritis yang dapat dirumuskan sebagai berikut:
Variansi waktu proyek = 2 2 . _ _ t critical activities critical activities σ σ ∀ =
∑
Variansi waktu proyek diperoleh hanya dengan menjumlahkan seluruh variansi aktifitasnya saja, karena masing-masing aktifitas saling bebas, dengan kata lain durasi waktu aktifitas yang satu tidak mempengaruhi durasi waktu aktifitas lainnya, sehingga kovarians antar aktifitas bernilai 0.
Dengan adanya variansi ini, maka dengan mudah standar deviasi dari waktu penyelesaian proyek dapat dihitung dengan rumus σ = σ2.
Secara statistik telah diketahui bahwa waktu penyelesaian proyek tidak dapat digambarkan oleh distribusi beta, akan tetapi lebih mengikuti kepada pendekatan distribusi normal. Asumsi ini didasarkan kepada central limit theorem of probability / teorema probabilitas terpusat, yang dimana untuk kasus
analisis PERT pada proyek yang kita lakukan, mengatakan bahwa jika jumlah aktifitas yang dilakukan cukup banyak dan masing-masing aktifitas bebas secara statistik, maka penjumlahan variansi waktu aktifitas kritis akan mendekati mean
atau nilai tengah dari distribusi normal. Sehingga dengan menggunakan asumsi ini, kita dapat menginterpretasikan waktu penyelesaian proyek yang diharapkan (tp) dan variansinya (vp) sebagai mean (µ) dan variance (σ2) dari distribusi
normal yang dapat dilihat pada gambar 2.8 berikut.
Gambar 2.8 Pendekatan kurva normal terhadap waktu penyelesaian proyek Time (x scale) µ x Zσ Probability x Z µ σ − =
Nilai Z yang dihitung dengan rumus Z x µ σ
−
= , dapat digunakan untuk
menentukan tingkat keyakinan atau tingkat kepercayaan (confidence level) dari
waktu proyek. Dengan kata lain, nilai Z dapat menentukan besarnya peluang bahwa proyek dapat diselesaikan pada waktu x, dengan melihat tabel sebaran
distribusi normal (tabel luas kurva statistik Z). Selain itu, dapat pula dilakukan perhitungan invers normal dengan suatu data probabilitas tertentu (luas area dibawah kurva normal), untuk menghitung nilai harapannya.
2.3.5 Time / Cost Trade-offs
Penjadwalan yang dibentuk dengan apa yang telah dibahas sejauh ini hanya melihat dari aspek waktu saja. Namun sesungguhnya, waktu pelaksanaan proyek bisa dipercepat dengan mengalokasikan sejumlah resources yang akan
menambah biaya (menggunakan metode CPM), seperti yang dapat dilihat pada gambar 2.9 berikut.
Gambar 2.9 Kurva time / cost trade-offs Project Cost Minimum Time Minimum Cost Minimu m Minimu m Project Completion Time
Akan tetapi, mengacu kepada pembatasan pada perancangan ini, maka sesuai dengan asumsi bahwa resources yang ada tetap, maka bagian ini tidak
diuraikan lebih lanjut secara mendetil.
2.4. Perencanaan Produksi
Perencanaan produksi merupakan suatu teknik yang dapat digunakan untuk memprediksi dan menyusun terlebih dahulu seluruh rangkaian kegiatan sedemikian rupa, sehingga terjamin penyelesaiannya.
Ada 4 macam teknik utama yang biasanya dilakukan di dalam merencanakan produksi, yaitu:
1. Routing: menyusun rangkaian langkah-langkah operasionil (What,
How, When).
2. Scheduling: menyusun jadwal waktu untuk pelaksanaan kegiatan
operasionil secara terperinci (When).
3. Dispatching: penetapan tugas dan pelaksanaan dari kegiatan yang
telah dirumuskan dalam routing dan scheduling (Who).
4. Follow up dan Control: mengadakan pengendalian dan penyesuaian
pada waktu pelaksanaan.
Perencanaan produksi dibagi ke dalam 3 tingkat, yaitu: 1. Perencanaan tingkat pabrik.
Perencanaan tingkat awal, dimana perencanaan yang dilakukan meliputi pemilihan jenis bahan dan fasilitas yang diperlukan (gedung, mesin, proses, dll).
2. Perencanaan tingkat proses.
Perencanaan yang lebih mendalam dari perencanaan tingkat pabrik, misalnya: penetapan unit mesin tertentu, perlengkapan produksi tertentu, tata letak mesin, dll.
3. Perencanaan tingkat operasional.
Perencanaan tingkat akhir ini dilakukan untuk mendapatkan rangkaian perincian elemen-elemen kerja, dengan menganalisa pusat kerja dan kegiatan pokok operasional.
Tingkat variasi dan kompleksitas dari suatu perencanaan produksi dapat dipengaruhi oleh faktor-faktor, seperti:
• Jumlah komponen dari suatu produk.
• Keragaman jumlah dan jenis kegiatan operasional.
• Kesalingtergantungan antar kegiatan satu dengan kegiatan lainnya. • Ketersediaan kapasitas mesin.
• Waktu pengiriman yang ketat.
• Adanya produk sampingan selain produk standar. • Frekuensi perubahan pesanan.
• Proses produksi yang berdasarkan “Job-order”, “Intermittent / Batch”, atau “Continuous production”.
2.5.1 Pengertian Rekayasa Piranti Lunak
Pengertian dari rekayasa piranti lunak untuk pertama kalinya diperkenalkan oleh Fritz Bauer sebagai: penetapan dan penggunaan prinsip-prinsip rekayasa dalam usaha mendapatkan piranti lunak yang ekonomis, yaitu piranti lunak yang terpercaya dan bekerja efisien pada mesin atau komputer (Pressmann, 1992, p19).
2.5.2 Paradigma Rekayasa Piranti Lunak
Terdapat lima paradigma dasar atau model proses dasar dalam melakukan rekayasa suatu piranti lunak, yaitu: The Classic Life Cycle atau sering disebut
dengan Waterfall Model, Prototyping Model, Fourth Generation Techniques (4GT), Spiral Model, dan Combine Model. Disamping itu, paradigma atau model
proses dalam rekayasa piranti lunak terkini yang banyak digunakan ialah
Rational Unified Process (RUP) dan Extreme Programming (XP). Perancangan
program aplikasi dibuat menggunakan Waterfall Model sebagai paradigma
rekayasa piranti lunaknya.
Menurut Pressman (1992, p20-21), ada enam tahapan dalam Waterfall Model yang dapat dilihat pada gambar 2.10 berikut ini.
Penjelasan dari setiap tahapan di dalam Waterfall Model diatas adalah
sebagai berikut:
• Rekayasa sistem (System Engineering)
Perangkat lunak merupakan bagian dari sebuah sistem yang lebih besar, maka pada tahapan awalnya, aktifitas ini dimulai dengan penetapan kebutuhan dari semua elemen sistem. Gambaran sistem ini sangat penting, terutama jika perangkat lunak yang dibangun harus berinteraksi dengan elemen sistem lainnya, seperti hardware, manusia, dan database.
• Analisis kebutuhan perangkat lunak (Software Requirement
Analysis)
Analisis yang dilakukan pada tahap ini adalah untuk mengetahui kebutuhan piranti lunak, sumber informasi piranti lunak, fungsi-fungsi yang dibutuhkan, kemampuan piranti lunak, dan perancangan antarmuka piranti lunak tersebut.
• Perancangan (Design)
Perancangan piranti lunak dititikberatkan pada empat atribut program, yaitu struktur data, arsitektur piranti lunak, rician prosedur dan karakter antarmuka. Proses perancangan ini menterjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat dinilai kualitasnya, sebelum dilanjutkan ke tahapan pengkodean.
Aktifitas yang dilakukan adalah mengubah hasil perancangan menjadi suatu bentuk yang dapat dimengerti oleh mesin, yaitu dengan membuat program.
• Pengujian (Testing)
Pengujian merupakan suatu kegiatan yang dilakukan untuk mencari kelemahan dan kesalahan yang terjadi pada program aplikasi dan kemudian memperbaiki kelemahan dan kesalahan tersebut. Ada beberapa metode pengujian untuk menguji fungsi – fungsi dari suatu program aplikasi. Metode tersebut adalah :
⇒ Metode Pengujian White-Box
Metode ini menerapkan pengujian terhadap struktur logika program dan detail procedural. Pengujian dilakukan terhadap setiap baris kode program untuk meyakinkan bahwa semua operasi internal bekerja sesuai dengan spesifikasi dan semua komponen internal telah dicoba. ⇒ Metode Pengujian Black-Box
Metode ini merupakan pengujian interface dari perangkat
lunak oleh pemakai untuk mengetahui spesifikasi dari suatu fungsi dalam program aplikasi. Pengujian dilakukan dengan memberi input pada program aplikasi, kemudian diproses,
dan hasil keluarannya dibandingkan apakah telah sesuai dengan kebutuhan fungsional yang diinginkan pemakai. ⇒ Metode pengujian Gray-Box
Metode ini merupakan gabungan dari metode pengujian
memvalidasi interface perangkat lunak dan pemilihan
beberapa logika internal. • Pemeliharaan (Maintenance)
Kebutuhan pemakai selalu akan meningkat, maka piranti lunak yang telah dibuat perlu dipelihara agar dapat mengantisipasi peningkatan / perubahan kebutuhan pemakai terhadap fungsi-fungsi baru yang dapat timbul karena berbagai perubahan diluar yang memepengaruhi sistem, seperti munculnya sistem operasi baru dan perangkat keras baru, perubahan strategi perusahaan, dan sebagainya.
2.6. Interaksi Manusia dan Komputer
Dewasa ini suatu sistem atau program yang bersifat interaktif sangat populer dan sangat digemari, oleh karena itu penggunaan komputer telah berkembang pesat sebagai suatu program yang interaktif, yang meningkatkan ketertarikan para pengguna untuk menggunakannya. Program yang interaktif ini perlu dirancang sedemikian rupa sehingga pengguna dapat merasa senang dan juga dapat ikut berinteraksi dengan baik dalam penggunaannya.
2.6.1 Program Interaktif
Suatu program interaktif yang baik harus bersifat user friendly.
Shneiderman (1998, p15) menjelaskan lima kriteria yang harus dipenuhi oleh suatu program yang user friendly, yaitu:
1. Waktu belajar yang tidak lama.
2. Kecepatan penyajian informasi yang tepat. 3. Tingkat kesalahan pemakai yang rendah.
4. Penghafalan sesudah melampaui jangka waktu. 5. Kepuasan pribadi.
Suatu program yang interaktif dapat dengan mudah dibuat dan dirancang dengan suatu perangkat bantu pengembangan sistem antarmuka, seperti Visual Basic, Borland Delphi, dan sebagainya. Keuntungan penggunaan perangkat
bantu untuk mengembangkan antarmuka menurut Santosa (1997, p7) yaitu: 1. Antarmuka yang dihasilkan menjadi lebih baik.
2. Program antarmukanya menjadi mudah ditulis dan lebih ekonomis untuk dipelihara.
2.6.2 User Interface
Terdapat beberapa pedoman yang dianjurkan dalam merancang suatu program guna mendapatkan suatu program yang user friendly.
2.6.2.1 Delapan Aturan Emas
Menurut Shneiderman (1998, p74-75), perancangan sistem interaksi manusia dan komputer yang baik harus memperhatikan delapan aturan utama, yaitu:
1. Strive for consistency (Mempertahankan konsistensi).
2. Enable frequent user to use shortcuts (Memungkinkan para
pengguna yang sudah sering menggunakan untuk memakai
shortcut ).
3. Offer informative feedbacks (Memberikan umpan balik yang
informatif).
4. Design dialogs to yield closure (Mendesain suatu dialogs yang
baik sehingga pengguna mengetahui kapan awal dan kapan akhir dari suatu aksi).
5. Offer simple error handlings (Memberikan penanganan
kesalahan secara sederhana).
6. Permit easy reversal action (Mengijinkan pembalikan aksi
(undo) dengan mudah).
7. Support internal locus of control (Mendukung agar
pemakailah yang berperan sebagai pengendali sistem / inisiator, bukan responden).
8. Reduce short term memory load (Mengurangi beban ingatan
jangka pendek, dimana manusia hanya dapat mengingat 7 ± 2 satuan informasi , sehingga kesederhanaan perancangan harus dipertahankan).
2.6.2.2 Tampilan Data
Beberapa pedoman yang disarankan untuk digunakan dalam merancang tampilan data yang baik menurut Smith dan Mosier yang dikutip oleh Shneiderman (1998, p80) yaitu:
1. Konsistensi tampilan data, istilah, singkatan, format dan sebagainya haruslah standar.
2. Beban ingatan yang sesedikit mungkin bagi pengguna. Pengguna tidak perlu mengingat informasi dari layar yang satu ke layar yang lain.
3. Kompatibilitas tampilan data dengan pemasukan data. Format tampilan informasi perlu berhubungan erat dengan tampilan pemasukan data.
4. Fleksibilitas kendali pengguna terhadap data. Pemakai harus dapat memperoleh informasi dari tampilan data dalam bentuk yang paling memudahkan.
2.6.2.3 Waktu Respon
Waktu respons dalam sistem komputer menurut Shneiderman (1998, p352) adalah jumlah detik dari saat pemakai memulai suatu aktifitas (misalnya dengan menekan tombol pada keyboard atau tombol mouse), sampai pada saat komputer menampilkan hasilnya di perangkat
keluaran (monitor, speaker, printer, dan sebagainya).
Beberapa pedoman yang disarankan mengenai kecepatan waktu respons pada suatu program menurut Shneiderman (1998, p367) yaitu:
1. Pemakai lebih menyukai waktu respons yang lebih pendek. 2. Waktu respons yang panjang (lebih dari 15 detik) akan terasa
menggangu.
3. Waktu respons yang lebih pendek menyebabkan waktu berpikir pengguna juga lebih pendek.
4. Langkah yang lebih cepat dapat meningkatkan produktifitas, akan tetapi juga dapat meningkatkan kesalahan.
5. Waktu respons harus sesuai dengan tugasnya:
a. Untuk mengetik, menggerakkan kursor, memilih dengan mouse: 50 – 150 milidetik.
b. Tugas sederhana yang sering: < 1 detik. c. Tugas biasa: 2 - 4 detik.
d. Tugas kompleks: 8 – 12 detik.
2.7. State Transition Diagram (STD)
State Transition Diagram merupakan sebuah modelling tool yang digunakan
untuk menggambarkan suatu sistem yang memiliki ketergantungan terhadap waktu. STD merupakan suatu kumpulan keadaan atau atribut yang mencirikan suatu keadaan pada waktu tertentu.
Komponen-komponen utama STD adalah:
1. State, disimbolkan dengan
State merupakan suatu reaksi / respon yang dilakukan oleh sistem
ketika suatu tindakan dilakukan. Ada dua jenis state, yaitu state awal
dan state akhir. State akhir dapat berupa beberapa state, sedangkan
state awal hanyalah satu state.
2. Arrow, disimbolkan dengan
Arrow sering disebut juga dengan transisi state yang diberi label
dengan ekspresi aturan. Label tersebut menunjukkan kejadian yang menyebabkan transisi tersebut terjadi.
3. Condition dan Action, disimbolkan dengan simbol sebagai berikut:
Condition adalah suatu event pada lingkungan eksternal yang dapat
dideteksi oleh sistem, sedangkan action adalah tindakan yang dilakukan
oleh sistem bila terjadi perubahan state, atau merupakan reaksi
terhadap kondisi yang terpenuhi. Action akan menghasilkan suatu output.