BAB 2
LANDASAN TEORI
2.1 Simulasi
2.1.1 Pengertian Simulasi
Menurut Kelton, Sadowski dan Sturrock (2003,p3), simulasi mengarah kepada
sekumpulan cara-cara dan penerapan-penerapan untuk meniru perilaku dari sistem-
sistem yang sesungguhnya, misalnya dengan menggunakan komputer dan piranti lunak
yang tepat.
Menurut Kelton, Sadowski dan Sturrock (2003,p7), simulasi komputer adalah
cara untuk mempelajari bermacam-macam model dari sistem yang sesungguhnya yaitu
mengevaluasi numerik dengan menggunakan suatu piranti lunak yang dirancang untuk
meniru cara beroperasi atau meniru karakteristik dari sistem tersebut.
2.1.2 Model Simulasi
Model simulasi dapat diklasifikasikan seperti Iconic dan Symbolic. Model
simulasi Iconic (biasanya disebut simulator) seperti suatu sistem yang sesungguhnya.
Simulasi Iconic ini digunakan untuk sebuah latihan, misalnya pada Flight Simulator dan
Driving Simulator sedangkan model simulasi Symbolic adalah karakteristik dari sistem
yang didapat dari bentuk angka atau simbol. Model simulasi Symbolic ini biasa
dijalankan pada sebuah komputer, jadi tanpa sebuah komputer, simulasi tidak dapat
dilakukan.
8
2.1.2.1 Klasifikasi dalam Model Simulasi
Model simulasi dapat diklasifikasikan dalam tiga dimensi yang berbeda, yaitu :
1. Segi waktu (Static vs Dynamic)
Pada model simulasi Static, waktu tidak terlalu berpengaruh terhadap
proses atau suatu proses yang terjadi pada waktu-waktu tertentu saja. Contoh:
simulasi gempa untuk menguji struktur bangunan, simulasi monte carlo.
Sedangkan pada model simulasi Dynamic, proses sangat dipengaruhi
oleh waktu atau berlangsung pada suatu rentang waktu. Contoh: simulasi
gerakan roket, simulasi kedatangan mobil ke jalan tol, simulasi kontrol elevator.
2. Segi Sistem (Continuous vs Discrete)
Dalam model simulasi Discrete , kondisi dari sistem dapat berubah-ubah
secara diskrit (terputus-putus). Contoh: simulasi jumlah tabungan, simulasi
kedatangan pembeli.
Sedangkan dalam model simulasi Continuous sistem dapat terus berubah
setiap saat menurut waktu. Contoh: simulasi gerakan roket, simulasi peningkatan
suhu udara.
3. Segi Input (Deterministic vs Stochastic)
Yang dimaksud dengan simulasi Deterministic adalah simulasi yang
menggambarkan suatu proses yang pasti terjadi (tidak tergantung
ketidaktentuan). Contoh: percobaan reaksi kimia di lab.
9
Sedangkan yang dimaksud dengan simulasi Stochastic adalah simulasi
yang menggambarkan suatu proses yang mengandung sifat ketidakpastian atau
probabilistik atau random. Contoh: simulasi kedatangan pelanggan atau pembeli.
2.1.3 Langkah-langkah Dalam Pembuatan Simulasi
Langkah-langkah atau proses yang harus diperhatikan dalam pembuatan
simulasi, adalah sebagai berikut:
- Problem Definition atau pendefinisian masalah, yaitu mendefinisikan seluruh
masalah untuk mencapai target akhir yang akan dicapai. Apabila kita ingin
memecahkan sebuah masalah dengan baik, sebelumnya kita harus mengetahui
terlebih dahulu apa masalahnya agar dapat mendapatkan sebuah solusi dari
masalah tersebut. Untuk mengetahui masalah yang dihadapi, dapat kita lakukan
dengan mengumpulkan informasi dan data yang secukupnya untuk dipelajari
baik masalahnya maupun di dalam sistem yang ada.
- Project Planning atau perencanaan proyek, yaitu memastikan adanya sumber
perangkat lunak dan perangkat keras dan lain-lain untuk digunakan dalam
perencaaan. Hal yang penting dalam perencanaan adalah penentuan hasil akhir
atau tujuan dari rencana pembuatan simulasi.
- System Definition atau mendefinisikan sistem, yaitu menentukan batasan yang
dapat digunakan pada pendefinisian sebuah sistem dan menyelidiki cara kerja
sistem yang sesungguhnya. Pertama, kita harus mencoba untuk mengidentifikasi
setiap karakteristik sebuah sistem sebagai obyek. Setelah itu kita spesifikasikan
10
hasil akhirnya, dimulai dengan mengidentifikasikan komponen yang akan
digunakan kemudian tentukan setiap komponen-komponen yang akan
dimasukkan dalam sebuah model.
- Conceptual Model Formulation atau perumusan konsep dari model, yaitu
mengembangkan bentuk dasar dari model secara grafik (diagram balok) atau
pseudocode untuk mendefinisikan komponen-komponen, mendeskripsikan
variabel, dan interaksi dari sistem.
- Preliminary Experimental Design atau perancangan awal, yaitu memilih
keefektifan dari ukuran yang digunakan. Sebuah perancangan simulasi komputer
merupakan rencana yang sangat penting untuk sebuah kuantitas dari informasi
yang diperoleh.
- Input Data Preparation atau persiapan data masukan, yaitu mengidentifikasikan
dan mengumpulkan data yang diperlukan dalam sebuah simulasi, seperti waktu
rata-rata, waktu proses yang dibutuhkan, keabsahan dari sebuah data, waktu
yang dibutuhkan untuk hal-hal lainnya.
- Programming Language atau bahasa pemrograman, yaitu merancang sebuah
simulasi ke dalam bahasa pemrograman. Lebih dari 100 bahasa pemrograman
yang berbeda yang dapat digunakan, dan ratusan bahasa telah digunakan dalam
perusahaan dan universitas. Bahasa pemrograman untuk perancangan simulasi
adalah FORTRAN, BASIC, PASCAL, C, VISUAL BASIC, dan lain-lain.
- Verification and Validation atau verifikasi dan validasi, yaitu meyakinkan
bahwa model dilakukan dengan sebuah analisis (Debugging) dan hasil akhir dari
11
model dapat dipercaya dan digambarkan ke dalam sistem yang sesungguhnya.
Yang perlu kita ingat dari Verification and Validation ini adalah jika model
tersebut akan digunakan untuk setiap periode waiktu, maka data dan model
harus dikaji ulang secara berkala untuk memastikan ketelitiannya.
- Final Experimental Design atau perancangan akhir, yaitu perancangan yang
menghasilkan informasi dan bagaimana sistem dapat diuji dan untuk dijalankan.
- Experimentation atau melakukan uji coba, yaitu menguji coba sebuah simulasi
untuk mengetahui sampai di mana kinerja dari simulasi tersebut.
- Analysis and Interpretation atau analisis dan interpretasi, yaitu menganalisa dan
menarik kesimpulan dari data yang terbentuk melalui simulasi.
- Implementation and Documentation atau implementasi dan dokumentasi, yaitu
penggunaan dari simulasi dan mendokumentasikan langkah-langkah dalam
proses pembuatan simulasi.
12
Langkah-langkah dalam proses pembuatan simulasi dapat digambarkan seperti
di bawah ini :
Gambar 2.1 Langkah-langkah Pembuatan Simulasi
Problem Definition
Project Planning
System Definition
Conceptual Model Formulation
Preliminary Experimental
Input Data Preparation
Model Translation
Verification and Validation
Final Experimental Design
Experimentation
Analysis and Interpretation
Implementation and Documentation
13
2.1.4 Keuntungan dan Kerugian Simulasi
2.1.4.1 Keuntungan Simulasi
Keuntungan dari uji coba dengan menggunakan simulasi adalah sebagai berikut :
- Mengantisipasi kemungkinan-kemungkinan adanya kesalahan atau kegagalan
sebelum dilakukan implementasi ke dalam sistem yang sesungguhnya.
- Dengan simulasi kita dapat memberikan gambaran yang jelas tentang sistem
yang akan dibuat.
- Dengan simulasi kita dapat melakukan evaluasi sistem dalam jangka waktu yang
singkat. Contohnya, jika dalam sistem yang sebenarnya diperlukan waktu
beberapa hari untuk mengetahui hasil dari sistem tersebut namun dengan
simulasi kita dapat mempercepatnya hanya dalam beberapa menit saja.
2.1.4.2 Kerugian Simulasi
Kerugian dari uji coba dengan menggunakan simulasi adalah sebagai berikut :
- Dibutuhkan keahlian khusus untuk membuat suatu simulasi.
- Hasil dari simulasi kadang-kadang tidak sepenuhnya sesuai dengan keadaan
yang sebenarnya.
- Untuk melakukan suatu simulasi membutuhkan biaya yang mahal dan waktu
yang lama.
14
2.1.5 Aplikasi-aplikasi yang Menggunakan Simulasi
Hampir semua aplikasi dapat disimulasikan, contoh-contoh aplikasi yang telah
disimulasikan adalah sebagai berikut:
- Computer System, yaitu komponen perangkat keras, sistem piranti lunak,
jaringan hardware, manajemen dan struktur data, proses informasi, kehandalan
dari perangkat keras dan perangkat lunak.
- Manufacturing, yaitu fasilitas produksi, fasilitas penyimpanan, sistem inventori,
perancangan mesin, sistem pengatur bahan material.
- Bussiness, yaitu analisis stok dan komoditi barang, penghargaan, strategi
penjualan, analisis pengeluaran, transportasi, perencanaan dan peramalan.
- Government, yaitu senjata militer dan perlengkapan lainnya, strategi militer,
ramalan jumlah penduduk, tanah, pengadilan, pengaturan lalu lintas, pelayanan
kebersihan, dan lain-lain.
- Ecology and Environment, yaitu prakiraan cuaca, sistem energi matahari,
analisis gempa bumi dan badai, polusi udara, polusi air dan pembersihan, dan
hasil produksi.
- Society, yaitu jumlah penduduk dan pangan, struktur organisasi, kesejahteraan
penduduk.
- Biosciences, yaitu analisis sistem kinerja, pengendalian penyakit, sirkulasi daur
hidup, dan ilmu obat-obatan.
15
Aplikasi-aplikasi seperti di atas digunakan untuk membantu dalam memecahkan
suatu masalah yang ada, karena simulasi merupakan cara yang efektif untuk melakukan
uji coba pada sebuah sistem, perancangan sebelum membuat suatu prototipe yang benar.
2.2 Queue
2.2.1 Pengertian Queue
Queues adalah suatu tipe data yang mengikuti pola FIFO (First In First Out)
yang berarti elemen yang pertama masuk adalah elemen yang pertama pula dikeluarkan.
Hal ini dapat dikatakan sebagai Queues apabila terjadi suatu antrian, dan antrian yang
terjadi karena banyaknya yang berdatangan secara Sequence (berurutan).
Queue memiliki operasi dasar enQueue dan deQueue. EnQueue berguna untuk
menambahkan suatu elemen pada akhir dari Queue dan deQueue berguna untuk
menghapus elemen pada awal dari Queue. Gambar 2.2 memperlihatkan gambaran
abstrak dari Queue. Gambar 2.3 memperlihatkan cara kerja fungsi enQueue dan
deQueue pada Queue.
Gambar 2.2 Model Queue
Banyak contoh dalam kehidupan sehari-hari yang menerapkan konsep dari
Queue, seperti antrian pasien di ruang tunggu dokter atau antrian pembeli tiket.
deQueue enQueue
Queue
16
Dalam queue pasti ada penambahan dan pengurangan isi stack, di bawah ini
adalah contoh aktivitas yang terjadi dalam stack queue.
Gambar 2.3 Contoh enQueue dan deQueue Pada Queue
Start
Front
Back Front
Back
Add 1 item
Front
Back Add 8 items
Front
Back Remove 1 item
Remove 5 items Back
Front
Add 2 items
Front
Back
Remove 1 item
Front
Back
Add 1 item
Front
Back
Add 6 items
Front
Back
17
2.2.2 Pengertian Priority Queue
Priority Queue adalah Queue dengan basis HPIFO (Highest Priority In First
Out) berbeda dengan Queue yang sangat bergantung kepada waktu kedatangan (elemen
yang datang pertama akan selalu diambil atau dihapus pertama pula), sedangkan pada
Priority Queue elemen yang akan diambil atau dihapus adalah elemen yang memiliki
prioritas tertinggi (bila yang menjadi prioritas adalah waktu kedatangan maka Priority
Queue berfungsi seperti Queue).
Priority Queue dibedakan menjadi dua tipe, yaitu:
- Ascending Priority Queue, yaitu Queue yang diurutkan dengan prioritas menaik,
yaitu dari elemen yang memiliki prioritas terendah hingga prioritas tertinggi.
- Descending Priority Queue, yaitu Queue yang diurutkan dengan prioritas
menurun, yaitu dari elemen yang memiliki prioritas tertinggi hingga prioritas
terendah.
Untuk mempresentasikan Priority Queue dapat dilakukan dengan dua cara, yaitu
Set dan List. Dengan Set, data dimasukkan ke dalam Queue berdasarkan waktu
kedatangan, sedangkan pengambilannya tetap berdasarkan prioritas. Keuntungan dari
Set adalah operasi enQueue sangat cepat dan sederhana, tetapi operasi deQueue menjadi
sangat kompleks karena diperlukan pencarian elemen dengan prioritas tertinggi ,
sedangkan dengan List, data di enQueue dan di deQueue berdasarkan prioritas.
18
2.3 Elevator
2.3.1 Pengertian Elevator
Menurut Ensikopedia Americana, Elevator adalah sebuah peralatan yang terdiri
dari gerbong yang digunakan untuk menaikkan dan menurunkan penumpang atau
barang, yang disebut juga sebuah lift.
Menurut Otis Elevator Company, Elevator adalah sebuah alat transportasi
vertikal, yang dibutuhkan dalam gedung-gedung bertingkat untuk mengangkut barang-
barang dan orang secara lancar.
2.3.2 Prinsip Dasar Kerja elevator
Prinsip dasar dari kerja elevator adalah naik dan turun, elevator akan naik jika
terdapat permintaan dari lantai yang posisinya berada di atas Elevator Car (gerbong
elevator) dan elevator akan turun jika terdapat permintaan dari lantai yang posisinya
berada di bawah Elevator Car. Elevator berada pada posisi Standby (siaga) jika tidak
ada permintaan.
Perubahan arah pada elevator terjadi apabila elevator telah mencapai batas-atas
atau batas-bawah. Yang dimaksud dengan batas-atas dan batas-bawah adalah:
- Batas-atas, yaitu batas lantai teratas jika elevator sedang naik.
- Batas-bawah, yaitu batas lantai terbawah jika elevator sedang turun.
Batas lantai terbawah dan teratas ditentukan dari lantai-lantai permintaan, lantai
permintaan yang teratas menjadi batas-atas, sedangkan lantai permintaan yang terbawah
menjadi batas-bawah.
19
2.3.3 Sistem Operasi Elevator
Sistem operasi elevator adalah sebagai berikut:
- Untuk memanggil elevator dapat dilakukan dengan penekanan tombol naik atau
turun, sehingga sistem akan memeriksa dan mencari lantai yang dipanggil
apabila lampu indikator elevator menyala.
- Pada lantai dasar hanya disediakan tombol yang arahnya naik terletak pada
bagian luar elevator, jika elevator tersebut tidak ada maka tekan tombol naik
tersebut, maka elevator akan melayani pemakai.
- Pada lantai pertengahan bel akan berbunyi (sekali untuk naik dan dua kali untuk
turun) dan arah lampu akan menyala ketika elevator sedang berhenti untuk
melayani panggilan.
- Ketika pemakai masuk ke dalam elevator , tekan tombol panel yang
menunjukkan angka pada setiap lantai yang ingin kita tuju. Tombol-tombol
tersebut akan menyala untuk menunjukkan di mana elevator harus berhenti.
- Pintu elevator memiliki deteksi elektronik yang terletak pada tepi pintu elevator
dari bawah sampai atas, ketika elevator mendeteksi ada pemakai yang melewati
daerah tersebut, maka elevator akan langsung terbuka pada waktu pemakai
mencapai elevator.
- Tombol “close door” dalam operasi panel akan meminimumkan waktu pintu
terbuka, pemakai dapat menggunakan ini untuk mengontrol kecepatan dari
elevator tersebut dengan menekan tombol tersebut pada saat pemakai masuk
atau keluar elevator.
20
- Indikator posisi “in-car”, dilengkapi dengan operasi panel peringatan untuk
mengetahui posisi di mana posisi elevator sekarang.
Berdasarkan sistem kerja elevator, maka jenis elevator dibagi menjadi 2 macam
yaitu:
- Simplex (tunggal), yaitu elevator bekerja secara masing-masing atau tidak saling
berhubungan satu sama lain.
- Duplex (ganda), yaitu elevator yang saling berhubungan satu sama lain untuk
menyelesaikan tugasnya.
2.3.4 Zone (area)
Dalam elevator (khususnya untuk gedung-gedung bertingkat tinggi) terdapat
pembagian Zone atau area, pembagaian tersebut adalah:
- Low Zone, yaitu area rendah yang menggunakan elevator berkecepatan rendah,
karena jarak yang ditempuh elevator relatif dekat.
- Medium Zone, yaitu area tengah yang menggunakan elevator yang berkecepatan
menengah, karena jarak yang ditempuh oleh elevator cukup jauh.
- High Zone, yaitu area tinggi yang menggunakan elevator berkecepatan tinggi,
karena jarak yang akan ditempuh oleh elevator jauh.
Pembagian Zone tersebut berguna untuk mempercepat proses kerja dari elevator.
Sebagai contoh, kalau kita masuk ke gedung-gedung bertingkat tinggi (± 20 lantai atau
di atasnya) kita sering menemui elevator-elevator tertentu hanya melayani lantai-lantai
tertentu saja, misalnya beberapa elevator melayani dari lantai dasar hingga lantai 7,
21
beberapa elevator berikutnya melayani lantai dasar, lantai 8 hingga lantai 14, dan
beberapa elevator lainnya melayani lantai dasar, lantai 15 hingga lantai 20.
2.3.5 Langkah-langkah Penggunaan Elevator
Langkah-langkah penggunaan elevator dari luar Elevator Car adalah:
- Tekan tombol yang ada di luar Elevator Car untuk menunjukkan arah, maka
tombol akan menyala, yang berarti panggilan telah diterima.
- Ketika elevator sampai, maka bel akan berbunyi dan pintu elevator akan terbuka.
- Pada posisi dari elevator sudah sesuai dengan posisi lantai di mana kita berada,
maka lampu indikator akan mati dan pintu elevator akan terbuka.
Langkah-langkah penggunaan elevator dari dalam Elevator Car adalah:
- Ketika pemakai sudah berada di dalam Elevator Car, maka tekan tombol lantai
yang ingin dituju.
- Pintu elevator secara otomatis akan menutup.
- Ketika elevator tiba pada lantai yang dituju, maka pintu elevator secara otomatis
akan terbuka.
- Tekan tombol “door open” jika pemakai ingin mempercepat waktu pembukaan
pintu.
22
2.4 Rekayasa Piranti Lunak
Menurut Pressman (2001, p20), rekayasa piranti lunak adalah pembangunan
dengan penggunaan prinsip-prinsip rancang bangun (engineering) untuk mendapatkan
piranti lunak ekonomis yang dapat dipercaya dan bekerja efisien pada mesin yang
sesungguhnya.
Rekayasa Piranti Lunak menurut Fritz Bauer (2001, p49) adalah penetapan dan
pemakaian prinsip-prinsip rekayasa dalam rangka mendapatkan piranti lunak yang
ekonomis yaitu terpecaya dan bekerja efisien pada mesin (komputer).
Menurut Pressman (2001, p26), untuk menyelesaikan masalah dalam suatu
industri, teknisi piranti lunak harus menggabungkan suatu strategi pembangunan yang
disebut sebagai process model atau paradigm rekayasa piranti lunak. Strategi tersebut
mencakup tiga elemen yaitu :
1. Metode-metode (methods), yaitu menyediakan cara-cara teknis membangun
piranti lunak.
2. Alat-alat bantu (Tools), yaitu menyediakan dukungan otomatis atau semi
otomatis untuk metode-metode seperti Computer Aided Software Engineering
(CASE) yang mengkombinasikan software, hardware dan software engineering
database.
3. Prosedur-prosedur (procedures), yaitu merupakan penggabungan metode dan
alat bantu.
Dalam perancangan software dikenal istilah software life cycle yaitu serangkaian
kegiatan yang dilakukan selama masa perancangan software. Pemakaian jenis software
23
life cycle yang cocok salah satunya ditentukan oleh jenis bahasa pemrograman yang
cocok. Contohnya, Waterfall Model merupakan model yang paling umum dan paling
dasar pada software life cycle pada umumnya, Rapid Application Development (RAD)
dan Joint Application Development (JAD) cocok untuk software berbasis objek (OOP),
sedangkan Sync+Stabilize dan Spiral Model yang merupakan pengembangan model
waterfall dengan komponen prototyping cocok untuk sebuah aplikasi yang rumit dan
cenderung mahal pembuatannya.
Menurut Pressman (2001, p58), berikut adalah visualisasi dari kegiatan pada
software life cycle model waterfall:
1. Spesifikasi kebutuhan (Requirement specification)
Pada tahap ini, pihak pengembang dan konsumen mengidentifikasi apa
saja fungsi-fungsi yang diharapkan dari sistem dan bagaimana sistem
memberikan layanan yang diminta. Pengembang berusaha mengumpulkan
berbagai informasi dari konsumen.
2. Perancangan arsitektur (Architectural design)
Pada tahap ini, terjadi pemisahan komponen-komponen sistem sesuai
dengan fungsinya masing-masing.
3. Detailed design
Setelah memasuki tahap ini, pengembang memperbaiki deskripsi dari
komponen-komponen dari sistem yang telah dipisah-pisah pada tahap
sebelumnya.
24
4. Coding and unit testing
Pada tahap ini, disain diterjemahkan ke dalam bahasa pemrograman
untuk dieksekusi. Setelah itu komponen-komponen dites apakah sesuai dengan
fungsinya masing-masing.
5. Integration and testing
Setelah tiap-tiap komponen dites dan telah sesuai dengan fungsinya,
komponen-komponen tersebut disatukan lagi. Lalu sistem dites untuk
memastikan sistem telah sesuai dengan kriteria yang diminta konsumen.
6. Pemeliharaan (maintenance)
Setelah sistem diimplementasikan, maka perlu dilakukannya perawatan
terhadap sistem itu sendiri. Perawatan yang dimaksud adalah perbaikan error
yang ditemukan setelah sistem diimplementasikan.
Gambar 2.4 Software Life Cycle Model Waterfall Sumber : Pressman(2001)
25
2.5 Interaksi Manusia dan Komputer
Berdasarkan evaluasi dari sudut interaksi manusia dan komputer, program
simulasi yang dirancang harus bersifat interaktif. Suatu program yang interaktif dan
baik harus bersifat user friendly, dengan lima kriteria (Shneiderman 2005, p15) sebagai
berikut :
1. Waktu belajar yang tidak lama.
2. Kecepatan penyajian informasi yang tepat.
3. Tingkat kesalahan pemakaian rendah.
4. Penghafalan sesudah melampaui jangka waktu.
5. Kepuasan pribadi.
Sebuah aplikasi yang sudah memenuhi kelima kriteria diatas maka aplikasi
tersebut benar-benar dapat dikatakan user-friendly.
Menurut (Shneiderman 2005, p74), dalam merancang sistem interaksi manusia
dan komputer yang baik juga harus memperhatikan delapan aturan utama (eight golden
rules), yaitu:
1. Strive for consistency (berusaha untuk konsisten).
2. Enable frequent user to use shortcuts (memungkinkan pengguna untuk
menggunakan jalan pintas).
3. Offer informative feedback (memberikan umpan balik yang informatif).
4. Design dialogs to yield closure (pengorganisasian yang baik sehingga pengguna
mengetahui kapan awal dan akhir dari suatu aksi).
26
5. Offer simple error handling (memberikan pencegahan kesalahan dan
penanganan kesalahan yang sederhana).
6. Permit easy reversal of actions (memungkinkan kembali ke aksi sebelumnya
dengan mudah).
7. Support internal locus of control (memungkinkan pengguna untuk menguasai
dan mengontrol sistem).
8. Reduce short term memory load (mengurangi beban ingatan jangka pendek,
sehingga pengguna tidak perlu banyak menghafal).
Delapan aturan emas inilah yang menjadi pedoman dalam menentukan
kehandalan sebuah program dalam melakukan interaksi dengan user, karena hal inilah
yang secara tidak langsung mempengaruhi hidup dari program tersebut.
2.6 Elevator Group Supervisory Control System
Struktur umum dari Elevator Group Supervisory Control System diilustrasikan
pada gambar 2.4. Dalam sistem elevator ini ada dua tipe permintaan penumpang, yaitu
“hall calls” dan “car calls”. Hall call dilakukan pada saat penumpang berada di luar
elevator, hanya menampilkan arah tujuan ke mana penumpang ingin pergi, yaitu naik
atau turun. Car call dilakukan pada saat penumpang berada di dalam elevator dan
menampilkan lantai tujuan yang ingin dicapai.
27
Gambar 2.5 Struktur Umum Elevator Group Supervisory Control System Sumber:http://www.elevatorchallenge.com/Optimal%20Elevator%20Group%2
0Control%20by%20Evolution.pdf
Jika kita lihat pada gambar 2.4, ada dua tipe controller, yaitu “car controller”
dan “group controller”. Car controller bertugas mengontrol pergerakan car dan
mengirim informasi posisi car ke group controller. Posisi elevator dan hall calls dari
masing-masing lantai bergantung pada group controller. Berdasarkan informasi ini,
maka group controller akan menentukan car mana yang tepat menjawab hall call, yang
biasanya didasarkan pada ketentuan tunggal yaitu jarak elevator dari penumpang.
Beberapa operasi elevator yang berdasarkan pada “up-down hall buttons” dan “up-
down hall lanterns” banyak digunakan sejak awal abad ini. Bagaimanapun juga, sistem
ini masih mempunyai kekurangan seperti misalnya sistem tidak dapat menerima
informasi lengkap mengenai tujuan penumpang sebelum penumpang berada dalam car.
Car hanya menerima kurang dari 50% dari keseluruhan informasi yang dikirimkan
penumpang ke sistem lebih awal dan akibatnya kualitasnya menjadi kurang baik.
Kekurangan sistem ini dapat ditingkatkan dengan menggunakan teknologi elevator yang
28
lebih baik yang tidak hanya terfokus pada tujuan saja, tetapi juga meningkatkan waktu
tunggu, kenyamanan, dan faktor lainnya.
Sebagai pengganti tombol naik-turun sederhana pada sistem elevator
konvensional, maka digunakan keypad yang dapat ditemukan pada telepon. Keypad ini
diletakkan di lobi elevator setiap lantai. Sistem ini mengharuskan penumpang
memasukkan angka lantai yang dituju pada keypad sebelum penumpang masuk ke
dalam car. Kemudian sistem akan segera mengarahkan penumpang ke car yang
ditunjuk melalui tampilan pada keypad.
Sistem ini mempunyai kemampuan untuk dapat menerima pengantaran
unbooked passenger dan juga sekelompok penumpang yang ingin menggunakan
elevator bersama-sama hanya dengan melakukan sekali pemanggilan. Dengan
menghitung berat beban, penumpang yang tidak diharapkan dapat dideteksi dan sistem
dapat segera menyesuaikan beban. Dengan cara yang sama, penumpang yang disebut
ghost passenger, yaitu penumpang yang tidak berniat menumpang, dapat dikenali
berdasarkan timbangan beban. Sistem dapat membatalkan panggilan tersebut.
2.7 Elevator Group Control Problem
Pada lalu lintas sistem kontrol elevator, dua buah hirarki level kontrol yang
saling berhubungan harus diselesaikan dengan dua solusi yang berbeda. Level bawah
untuk memerintahkan masing-masing elevator untuk bergerak naik atau turun, untuk
bergerak atau berhenti dan untuk membuka atau menutup pintu. Level atas
mengkoordinasi pergerakan elevator dengan aturan logika yang bertujuan untuk
29
meningkatkan kemampuan sistem. Permasalahan ini diselesaikan dengan group
supervisory control strategy.
Gambar 2.6 Elevator Group Control Problem Sumber : ftp://ftp.dca.fee.unicamp.br/pub/docs/gudwin/publications/wcci98_2.pdf
Seperti kita ketahui bahwa, sistem elevator harus dapat merespon car call dan
hall call dalam pengoperasiannya, maka strategi kontrol harus bersifat fleksibel untuk
dapat mengatasi kondisi yang berbeda-beda, misalnya perubahan permintaan
penumpang, atau pola pergerakan lalu lintas elevator yang dapat berubah (pelayanan
khusus, up-peak, down-peak).
Perubahan waktu panggilan, lokasi panggilan dan tujuan penumpang merupakan
permasalahan yang muncul dalam sistem elevator dan bisa terjadi pada saat yang tidak
terduga. Oleh karena itu group supervisory control strategy sangat penting dan harus
terorganisir dengan baik.
30
2.8 Algoritma Ordinal Structure Fuzzy Logic (OSFL)
Ordinal Structure Fuzzy Logic (OSFL) merupakan algoritma gabungan dari
teknik simbolis dan numerik, sehingga dapat menghasilkan solusi yang tepat dari data
yang kurang jelas dan metode tersebut juga sangat berperan dalam aplikasi komputer
maupun perangkat elektronik. OSFL berbeda dengan logika klasik yang mana hanya
dapat memberikan pernyataan hitam atau putih, benar atau salah, ya atau tidak. Dalam
logika sederhana, suatu objek dapat bernilai 0 atau 1. Sedangkan pada OSFL,
pernyataan dapat diasumsikan dengan nilai real antara 0 dan 1, mewakili nilai suatu
unsur dalam set yang ditentukan.
Pada desain sistem kontrol yang masih sederhana, biasanya hanya terdapat satu
ukuran, seperti kecepatan maksimum, posisi, waktu minimum, dan lain-lain. Karena
keterbatasan penumpangan algoritma kontrol yang sederhana tersebut, maka akan sulit
untuk merancang sistem dengan sasaran yang lebih dari satu.
Dengan sistem kontrol OSFL, sasaran dalam jumlah tertentu dapat dengan
mudah diikutsertakan dalam rancangan. Struktur dari sistem kontrol ini memungkinkan
sejumlah sasaran yang penting dipertemukan dalam waktu yang bersamaan.
Rancangan kontrol elevator dalam penelitian ini, mempunyai beberapa sasaran,
yaitu :
- Meminimisasi waktu tunggu penumpang pada saat menunggu elevator datang.
- Meminimisasi waktu tunggu yang dibutuhkan penumpang saat berada di dalam
elevator.
- Meminimisasi kepadatan di dalam elevator.
31
- Meminimisasi jarak tempuh elevator dari satu lantai ke lantai yang lainnya.
- Melayani penumpang sebanyak mungkin selama waktu yang ada.
Perlu diketahui bahwa beberapa sasaran yang disebutkan di atas mempunyai
permasalahan yang saling berlawanan. Sebagai contoh, minimisasi waktu tunggu tidak
akan bisa dilakukan jika ingin menghemat energi dan mengurangi kepadatan dalam
elevator. Jadi sistem kontrol ini bekerja dengan mengoptimasi sejumlah sasaran dengan
batasan pergerakan lalu lintas elevator dan waktu tunggu.
Di bawah ini diilustrasikan grafik distribusi waktu tunggu penggunaan elevator
pada suatu gedung bertingkat pada saat jam kerja selama satu hari. Di mana pada saat
tertentu akan terjadi kepadatan yang mengakibatkan meningkatnya waktu tunggu, yaitu
pada saat jam keberangkatan karyawan, jam makan siang dan jam pulang karyawan.
Wai
ting
Tim
e (s
)
Gambar 2.7 Contoh Distribusi Waktu Tunggu Selama Jam Kerja Sumber : ftp://ftp.dca.fee.unicamp.br/pub/docs/gudwin/publications/wcci98_2.pdf
Logika OSFL diuraikan sebagai berikut “Jika X adalah A maka Y adalah B”,
pernyataan tersebut dapat dikatakan sederhana dan menyesuaikan dengan bahasa
manusia. Bagaimanapun juga jika suatu sistem mempunyai masukan dan keluaran
32
multi, maka orang harus membangun aturan fuzzy dengan tujuan untuk menjelaskan
kemampuan sistem. Dan ini tidak mudah karena ada ketidakcocokan antara logika fuzzy
dengan gambaran yang dimiliki manusia.
Setiap elevator dalam sistem kendali kontrol elevator mengikuti sistem kontrol
Multi Input Single Output (MISO). Sistem ini menggunakan struktur model ordinal,
yang menyesuaikan dengan gambaran manusia tentang aturan fuzzy ketika sistem
mempunyai masukan banyak dan keluaran banyak. Semua aturan fuzzy diuraikan dalam
ruang dimensi tunggal untuk masing-masing model masukan dan keluaran. Hubungan
masing-masing aturan dapat terjadi dengan memberikan bobot pada masing-masing
aturan. Sistem model ini lebih mudah dalam membangun atau memodifikasi aturan
fuzzy bila dibandingkan dengan aturan logika fuzzy konvensional yang masing-masing
aturan diuraikan dalam ruang dimensi tunggal.
Aturan logika fuzzy konvensional diuraikan seperti di bawah ini :
Ri : Jika x1 adalah Ai1 dan x2 adalah Ai2 maka yi adalah Bi
(i = 1, 2, … n)
Menggunakan rumus sebagai berikut :
Untuk sistem n-masukan 1-keluaran, struktur model OSFL diuraikan seperti di
bawah ini :
Ri : Jika x1 adalah Ai1 maka y adalah Bi
Rj : Jika x2 adalah Aj2 maka y adalah Bj
33
(i, j = 1, 2, … n)
dimana, x1 dan x2 adalah masukan dan y adalah keluaran
Ri adalah aturan logika fuzzy ke-i
Ai1, Aj2, Bi dan Bj adalah variabel fuzzy
n adalah jumlah aturan
Menggunakan rumus sebagai berikut :
dimana, Ri adalah aturan logika fuzzy ke-i dengan input x1
Rj adalah aturan logika fuzzy ke-j dengan input x2
wi adalah bobot aturan Ri
wj adalah bobot aturan Rj
µi adalah nilai sebenarnya dari Ri
ci adalah posisi tengah
Si adalah wilayah dari fungsi anggota dengan variabel fuzzy Bi
34
Tabel 2.1 Fuzzy Inference Rules
Inference Rules Weights Jika wt kecil maka prioritasnya besar 0.7 Jika wt sedang maka prioritasnya sedang 0.6 Jika wt besar maka prioritasnya kecil 0.5 Jika rt pendek maka prioritasnya besar 0.7 Jika rt sedang maka prioritasnya sedang 0.6 Jika rt panjang maka prioritasnya kecil 0.5 Jika ld kecil maka prioritasnya besar 0.7 Jika ld sedang maka prioritasnya sedang 0.6 Jika ld besar maka prioritasnya kecil 0.5 Jika td dekat maka prioritasnya besar 0.7 Jika td sedang maka prioritasnya sedang 0.6 Jika td jauh maka prioritasnya kecil 0.5 Jika hcaw kecil maka prioritasnya besar 0.7 Jika hcaw sedang maka prioritasnya sedang 0.6 Jika hcaw besar maka prioritasnya kecil 0.5 Jika daw kecil maka prioritasnya besar 0.7 Jika daw sedang maka prioritasnya sedang 0.6 Jika daw besar maka prioritasnya kecil 0.5
2.9 Aturan Logika Fuzzy
Di bawah ini adalah aturan logika fuzzy dalam kondisi yang berbeda-beda, yaitu
menurut pola pergerakan lalu lintas elevator yang berjalan. Pola pergerakan lalu lintas
elevator dibedakan menjadi tiga jenis yaitu, normal, up-peak, dan down-peak.
Tabel 2.2 Aturan Logika Fuzzy Untuk Normal Traffic Sumber :ftp://ftp.dca.fee.unicamp.br/pub/docs/gudwin/publications/wcci98_2.pdf
A_time(i,j)\W_time(j) Big_w Medium_w Small_w Big_a Medium Low Low
Medium_a High Medium Low Small_a High High Medium
35
Pada tabel 2.1, W_time(j) dan A_time(i,j) adalah variabel yang menunjukkan
waktu saat hall call ke-j sedang menunggu untuk dilayani. Jumlah penumpang dalam
elevator ke-i harus lebih sedikit dari jumlah maksimum yang ditentukan. Prioritas
keterhubungan diset dengan nilai 0. Prioritas dapat ditetapkan zero, low, medium, atau
high yang dituliskan dengan pasangan (Elevator,Call) – Priority(i,j).
Tabel 2.3 Aturan Logika Fuzzy Untuk Up-Peak Traffic Sumber :ftp://ftp.dca.fee.unicamp.br/pub/docs/gudwin/publications/wcci98_2.pdf
A_time(i,j)\W_time(j) Big_w Medium_w Small_w Big_a Medium Low
(Zero ) Low
(Zero ) Medium_a High Medium
(Zero ) Low
(Zero ) Small_a High High
(Zero ) Medium (Zero )
Aturan logika fuzzy pada tabel 2.2 berbeda dengan tabel 2.1. Perbedaan pertama,
yaitu pada lalu lintas up-peak , aturan diproses pada saat penumpang di dalam elevator
berjumlah di bawah kapasitas maksimum. Prioritas diset 0. Perbedaan kedua, aturan
baris pertama diproses secara independen berdasarkan arah pergerakan elevator, dan
keputusan diset 0 pada kolom bayangan seperti yang diperlihatkan pada tabel, jika hall
call adalah panggilan naik. Sebagai tambahan, dua buah aturan akan langsung dipakai
untuk mengirim elevator ke lantai utama ketika elevator dalam keadaan “available”.
36
Tabel 2.4 Aturan Logika Fuzzy Untuk Down-Peak Traffic Sumber :ftp://ftp.dca.fee.unicamp.br/pub/docs/gudwin/publications/wcci98_2.pdf
A_time(i,j)\W_time(j) Big_w Medium_w Small_w Big_a Medium Low
(Zero ) Low
(Zero ) Medium_a High Medium
(Zero ) Low
(Zero ) Small_a High High
(Zero ) Medium (Zero )
Aturan tabel 2.3 diproses pada kondisi yang sama dengan aturan tabel 2.2, tetapi
arah keputusan pada kolom bayangan berlawanan, dan tidak ada car yang dikirim ke
lantai utama ketika car dalam keadaan “available”.
Di bawah ini diilustrasikan fungsi keanggotaan dari variabel input dan output
pada sistem kontrol elevator.
37
Gambar 2.8 Fungsi Keanggotaan Variabel Input Sumber : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.9555
Gambar 2.9 Fungsi Keanggotaan Variabel Output Sumber : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.9555