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 sistemsistem 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
ketidaktentuan). Contoh: percobaan reaksi kimia di lab.
(tidak
tergantung
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 : 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 Gambar 2.1 Langkah-langkah Pembuatan Simulasi
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.
deQueue
enQueue 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.
16
Dalam queue pasti ada penambahan dan pengurangan isi stack, di bawah ini adalah contoh aktivitas yang terjadi dalam stack queue. Front Start Back Front Add 1 item Back Front Add 8 items Back Front Remove 1 item Back Front Remove 5 items Back Front Add 2 items Back Front Remove 1 item Front Add 1 item Back Front Add 6 items Back Gambar 2.3 Contoh enQueue dan deQueue Pada Queue
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 barangbarang 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 “updown 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
Waiting Time (s)
pada saat jam keberangkatan karyawan, jam makan siang dan jam pulang karyawan.
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 Jika wt kecil maka prioritasnya besar Jika wt sedang maka prioritasnya sedang Jika wt besar maka prioritasnya kecil Jika rt pendek maka prioritasnya besar Jika rt sedang maka prioritasnya sedang Jika rt panjang maka prioritasnya kecil Jika ld kecil maka prioritasnya besar Jika ld sedang maka prioritasnya sedang Jika ld besar maka prioritasnya kecil Jika td dekat maka prioritasnya besar Jika td sedang maka prioritasnya sedang Jika td jauh maka prioritasnya kecil Jika hcaw kecil maka prioritasnya besar Jika hcaw sedang maka prioritasnya sedang Jika hcaw besar maka prioritasnya kecil Jika daw kecil maka prioritasnya besar Jika daw sedang maka prioritasnya sedang Jika daw besar maka prioritasnya kecil
2.9
Weights 0.7 0.6 0.5 0.7 0.6 0.5 0.7 0.6 0.5 0.7 0.6 0.5 0.7 0.6 0.5 0.7 0.6 0.5
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_a Medium_a Small_a
Big_w Medium High High
Medium_w Low Medium High
Small_w Low Low 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_a
Big_w Medium
Medium_a
High
Small_a
High
Medium_w Low (Zero ) Medium (Zero ) High (Zero )
Small_w Low (Zero ) Low (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_a
Big_w Medium
Medium_a
High
Small_a
High
Medium_w Low (Zero ) Medium (Zero ) High (Zero )
Small_w Low (Zero ) Low (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