perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
26
BAB IV
HASIL DAN PEMBAHASAN
4.1 Gambaran Umum Sistem
Sistem simulasi elevator merupakan program simulasi cara kerja/ kontrol elevator sederhana yang digunakan untuk mencatat waktu guna membandingkan rata-rata waktu tunggu penggunanya menggunakan algoritma LOOK. Dengan menginputkan perintah khususnya perintah pada bagian Hall Call oleh pengguna, sistem akan mencatat waktu kedatangan dan waktu telah dilayani dengan begitu setiap selisih diantara waktu keduanya akan diperoleh dan waktu tunggu rata-rata masing-masing algoritma di dapat.
4.2 Implementasi Sistem
Implementasi simulasi sistem kontrol elevator sederhana dan sistem kontrol elevator menerapkan algoritma LOOK menghasilkan Prototype Sistem. Gambar 4.5 dibawah merupakan implementasi dari sistem kontrol elevator sederhana dan sistem kontrol elevator dengan menerapkan algoritma LOOK.Masing-masingbagian dari implementasi simulasi sistem kontrol elevator terdapat pada lampiran.
4.2.1 Perancangan Model Tombol Pada Elevator
Perancangan Tombol elevator digunakan sebagai sarana guna memenuhi permintaan yang ada pada suatu lantai. Jika tombol ini ditekan maka tombol ini akan berfungsi memberikan pesan kepada sistem bahwa terdapat lantai yg ingin dilayani.
Dalam pengoperasian sebuah sistem kontrol elevator, terdapat dua jenis fungsi permintaan seperti yang telah dijelaskan sebelumnya yaitu tombol Car Callyang berfungsi sebagai tombol yang melayani permintaan pada bagian Car Elevator.dan tombol
Hall Callyaitu tombolyang berfungsi melayani permintaan pada
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Call terdapat tombol-tombol seperti, tombol level lantai (berupa
angka/nomor lantai), tombol open, close, stop, dan emergency. Fungsi tombol level lantai tidak lain sebagai perintah yang ditujukan ke lantai mana pengguna akan dilayani. Sedangkan fungsi tombol emergencyadalah sebagai perintah yang khusus apabila terjadi sebuah keadaan darurat seperti kebakaran dimana, fungsi dari tombol emergency itu adalah untuk menghentikan kerja dari elevator secara total dengan menghentikan car elevator pada lantai yg terdekat searah dengan pergerakannya. Pada fungsi permintaan tombolHall Callhanya terdapat tombol UP dan tombol DOWN saja yang berfungsi sebagai permintaan dari pengguna yg ada diluar car elevator sesuai tujuan dan arah elevator.
Berdasarkan analisis masalah tombol Car Call dan Hall
perpustakaan.uns.ac.id digilib.uns.ac.id commit to user Indikator Level [8] Indikator Level [7] Indikator Level [6] Indikator Level [5] Indikator Level [4] Indikator Level [3] Indikator Level [2] Indikator Level [1] D U D U D D U D U D U D U U 8 1 4 5 6 7 2 3 stop emergency close open
Tampilan Permintaan Car Call
Gambar 4.2 Rancangan Tombol Perintah Car Call
Indikator permintaan
Tampilan Permintaan Car Call/Hall Call
Gambar 4.3 Rancangan Tampilan Permintaan Car Call/Hall Call
Gambar 4.1 Rancangan Tombol Perintah Hall Call
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
4.2.2 Perancangan Model Layanan Permintaan
Model layanan permintaan yang dirancang berdasarkan Algoritma LOOK. Dimana elevator akan menghabiskan permintaan yang searah terlebih dahulu baik Car Call maupun Hall Call, setelah semua permintaan yang searah dilayani lalu permintaan yg tidak searah dilayani baik yg datang dari Car Call maupun Hall Call.Permintaan terbagi menjadi 3 bagian yaitu, permintaan Car (Car Call), permintaan naik dan permintaan turun(Hall Call).
Pada awalnya, saat pengguna menginputkan perintah
Hall Call dilantai 3 keatas, lift akan terus naik dari lantai 1 (lantai
standby) menuju lantai 3. Proses penyelesaian layanan permintaan yang terjadi adalah, pertama-tama elevator akan mengecek terlebih dahulu posisi dan arah pergerakan elevator di
ElevatorBean.Java pada elevatordirection, yang diketahui dari addtorequestpool. Fungsi dari addtorequestpool adalah untuk
mengisi arraylist(permintaan yang hadir). Jika dari lantai 1 ke lantai 3 berarti keatas maka, proses ini dilanjutkan pada code serveUPrequest dimana permintaan yang dibaca berarti ke atas (true). Jika terdapat perintah berlawanan (false) yang ada pada Hall Call, maka elevator akan membaca arah terlebih dahulu atau
direction-nya pada proses servedownrequest untuk kemudian
dilayani setelah permintaan yang searah selesai. Begitu juga yang terjadi pada proses pelayanan permintaan Car Call.
Jika dituliskan dalam bentuk pseudocode maka kerja dari algoritma LOOK dalam melayani permintaan adalah sebagai berikut:
public void addToRequestPoolModif(int floorPosition) { if (getElevatorDirection() == true) {
perpustakaan.uns.ac.id digilib.uns.ac.id commit to user UPrequestPool.add(floorPosition); } else { DownrequestPool.add(floorPosition); } } else { if(floorPosition < lastUp){ DownrequestPool.add(floorPosition); } else { UPrequestPool.add(floorPosition); } } }
public void addToRequestPool(int floorPosition, boolean direction) { if (direction == true) { DownrequestPool.add(floorPosition); } else { UPrequestPool.add(floorPosition); } }
public void addToRequestPoolNew(int floorPosition, boolean direction, Date reqTombolClickDate) {
if (direction == true) { DownrequestPool.add(floorPosition); } else { UPrequestPool.add(floorPosition); } dateFromElevatorMain = reqTombolClickDate; }
private boolean ServeDownRequest(int floorNumber) { int iCount;
boolean Served = false;
for (iCount=0; iCount < DownrequestPool.size(); iCount++) { if(Integer.parseInt(DownrequestPool.get(iCount).t oString()) == floorNumber) { DownrequestPool.remove(iCount); Served = true; } } return Served; }
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
private boolean ServeUPRequest(int floorNumber) { int iCount;
boolean Served = false;
for (iCount = 0; iCount < UPrequestPool.size(); iCount++) { if(Integer.parseInt(UPrequestPool.get(iCount).toS tring()) == floorNumber) { UPrequestPool.remove(iCount); Served = true; } } return Served; }
private int getLargestDownRequest() { int maxVal = -1; if(!DownrequestPool.isEmpty()){ maxVal= Integer.parseInt(DownrequestPool.get(0).toString( )); DownrequestPool.remove(0); lastDown = maxVal; } return maxVal; }
private int getSmallestUPRequest() { int minVal = -1; if(!UPrequestPool.isEmpty()){ minVal= Integer.parseInt(UPrequestPool.get(0).toString()) ; UPrequestPool.remove(0); lastUp = minVal; } return minVal; }
perpustakaan.uns.ac.id digilib.uns.ac.id commit to user Start Assign initial value Increase time Hall Call
Select Car and add to task list
Car at the floor Get off and/or on passenger Update Cars Recording Time (Serve Time) Stop B A no no yes yes yes Any Hall Call before next Car ?
Serve Car Call to destination
yes
no
Floor(n)>= (n)Max (Car Call/ Hall Call)
Floor(n)<= (n)Min (Car Call/ Hall Call)
Car Call = 0
Car Waiting Get Off and/or on passenger Passenger waiting another car Get on passenger A B no no yes yes
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Gambar 4.5 Simulasi Sistem Kontrol Elevator Menerapkan Algoritma LOOK
4.3 Hasil Pengujian
Output dari pengujian sistem ini adalah nilai akurasi rata-rata waktu tunggu tiap pengguna yang mendekati kesamaan atau bahkan lebih efektif dari sistem kerja elevator sederhana dengan satu kondisi tertentu dari penerapan algoritma LOOK. Perintah yang diamati dan dicatat pada pengujian ini hanya perintah pada tombol lantai bagian luar (hall call) saja.
4.3.1 Pengujian dengan Request Sama dan Random
Pengujian pertama dilakukan dengan request inputan yang sama sebanyak lima kali percobaan menghasilkan rata-rata waktu tunggu seperti yang ditampilkan pada tabel dibawah ini.Tujuan pengujian dengan kriteria ini adalah,untuk mengetahui apakah hasil rata-rata waktu tunggu pengguna tidak memiliki selisih yang terlalu jauh meski pengujian dilakukan secara manual. Oleh sebab itu pengujian pada kriteria pertama dilakukan sebanyak 5 kali dengan request yang sederhana.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Tabel – Rangkuman hasil pengujian request sama dengan algoritma LOOK, dan kerja elevator sederhana.
Tabel 4.1 Percobaan 1 pengujian dengan request sama random menggunakan menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu dilayani Waktu Tunggu/detik Lantai 3 [UP] 07:56:30 07:56:33 3.781
Lantai 2 [DOWN] 07:56:31 07:57:03 31.686 Lantai 5 [UP] 07:56:32 07:56:41 8.977 Lantai 4 [DOWN] 07:56:33 07:56:55 21.532
rata-rata waktu tunggu 16.494
Tabel 4.2 Percobaan 2 pengujian dengan request sama random menggunakan menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 3 [UP] 07:59:08 07:59:12 3.978
Lantai 2 [DOWN] 07:59:09 07:59:41 31.759 Lantai 5 [UP] 07:59:11 07:59:19 8.871 Lantai 4 [DOWN] 07:59:12 07:59:33 21.183
rata-rata waktu tunggu 16.44775
Tabel 4.3 Percobaan 3 pengujian dengan request sama random menggunakan menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 3 [UP] 08:04:09 08:04:13 4.13
Lantai 2 [DOWN] 08:04:10 08:04:42 32.198 Lantai 5 [UP] 08:04:11 08:04:21 9.572 Lantai 4 [DOWN] 08:04:12 08:04:34 22.159
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Tabel 4.4 Percobaan 4 pengujian dengan request sama random menggunakan menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 3 [UP] 08:07:32 08:07:37 4.419
Lantai 2 [DOWN] 08:07:33 08:08:06 32.522 Lantai 5 [UP] 08:07:34 08:07:44 9.957 Lantai 4 [DOWN] 08:07:35 08:07:58 22.586
rata-rata waktu tunggu 17.371
Tabel 4.5 Percobaan 5 pengujian dengan request sama random menggunakan menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 3 [UP] 08:09:59 8:10:04 4.349
Lantai 2 [DOWN] 08:10:00 08:10:33 32.497 Lantai 5 [UP] 08:10:01 08:10:11 9.808 Lantai 4 [DOWN] 08:10:02 08:10:25 22.444
rata-rata waktu tunggu 17.2745
4.3.2 Pengujian dengan Request Berbeda dan Random
Pengujian kedua dengan request berbeda secara random sebanyak dua kali pecobaan menghasilkan rata-rata waktu tunggu seperti yang ditampilkan tabel dibawah ini.Tujuan dari pengujian kriteria ini adalah sebagai langkah lebih lanjut dari pengujian kriteria sebelumnya yaitu dengan memberikan request lebih banyak dan kompleks dengan maksud apakah elevator yang dibangun mampu mengatasi seluruh permintaan yang ada yang telah diberikan.
Tabel – rangkuman hasil pengujian request berbeda secara random dengan algoritma LOOK, dan kerja elevator saat ini berdasarkan penelitian sistem kerja elevator sebelumnya.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Tabel 4.6 Percobaan 1 pengujian dengan request berbeda random menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 3 [DOWN] 08:26:18 08:26:43 24.193 Lantai 4 [UP] 08:26:19 08:26:25 5.787 Lantai 5 [UP] 08:26:20 08:26:34 13.98 Lantai 6 [DOWN] 08:26:21 08:26:54 32.71 Lantai 7 [DOWN] 08:26:22 08:27:00 37.826 Lantai 2 [DOWN] 08:26:24 08:27:15 51.338 rata-rata waktu tunggu 27.639
Tabel 4.7 Percobaan 2 pengujian dengan request berbeda random menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 2 [UP] 08:52:08 08:52:11 3.413 Lantai 3 [UP] 08:52:09 08:52:17 8.321 Lantai 4 [DOWN] 08:52:10 08:52:34 24.324 Lantai 7 [DOWN] 08:52:12 08:52:45 33.106 Lantai 8 [DOWN] 08:52:13 08:52:51 37.957 Lantai 5 [UP] 08:52:14 08:52:25 10.825 Lantai 6 [DOWN] 08:52:15 08:53:00 44.422
rata-rata waktu tunggu 23.19542857
Tabel 4.8 Percobaan 3 pengujian dengan request berbeda random menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 4 [DOWN] 09:02:04 09:02:41 37.615 Lantai 3 [DOWN] 09:02:05 09:02:46 41.635 Lantai 2 [UP] 09:02:06 09:02:54 48.639 Lantai 5 [UP] 09:02:07 09:02:13 6.094
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Lantai 6 [UP] 09:02:08 09:02:18 10.083 Lantai 2 [DOWN] 09:02:10 09:02:51 41.613 rata-rata waktu tunggu 30.9465
4.3.3 Pengujian dengan Request Berurutan
Pengujian ketiga dilakukan dengan request secara berurutan sebanyak tiga kali pecobaan menghasilkan rata-rata waktu tunggu seperti yang ditampilkan tabel dibawah ini. Pada pengujian ini, tujuannya adalah untuk mengetahui apakah penerapan algoritma LOOK berjalan dengan baik berdasarkan sistem kerjanya yaitu melayani permintaan searah terlebih dahulu.
Tabel – rangkuman hasil pengujian request secara berurutan dengan algoritma LOOK, dan kerja elevator sederhana saat ini berdasarkan penelitian sistem kerja elevator sebelumnya.
Tabel 4.9Percobaan 1
Pengujian dengan request berurutan menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 2 [UP] 09:13:36 09:13:39 3.098 Lantai 3 [UP] 09:13:37 09:13:45 8.218 Lantai 4 [UP] 09:13:38 09:13:51 13.341 Lantai 5 [DOWN] 09:13:40 09:14:21 28.622 Lantai 6 [DOWN] 09:13:41 09:14:16 34.502 Lantai 7 [DOWN] 09:13:42 09:14:11 28.622 rata-rata waktu tunggu 19.4005
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
Tabel 4.10Percobaan 2
Pengujian dengan request berurutan menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 2 [UP] 09:27:41 09:27:45 3.496 Lantai 3 [UP] 09:27:42 09:27:51 8.703 Lantai 4 [UP] 09:27:43 09:27:57 13.887 Lantai 5 [UP] 09:27:44 09:28:03 19.034 Lantai 6 [UP] 09:27:45 09:28:09 24.121 Lantai 7 [UP] 09:27:46 09:28:15 29.278
rata-rata waktu tunggu 16.41983333
Tabel 4.11Percobaan 3
Pengujian dengan request berurutan menggunakan Algoritma LOOK
Request Waktu Kedatangan Waktu Dilayani Waktu Tunggu/detik Lantai 7 [DOWN] 09:34:24 09:34:40 15.859 Lantai 6 [DOWN] 09:34:25 09:34:46 20.894 Lantai 5 [DOWN] 09:34:26 09:34:52 26.045 Lantai 4 [DOWN] 09:34:27 09:34:58 31.172 Lantai 3 [DOWN] 09:34:28 09:35:04 36.29 Lantai 2 [DOWN] 09:34:29 09:35:10 41.376
rata-rata waktu tunggu 28.606
4.4 Pembahasan
Pada pengujian pertama dengan request sama secara random yang dilakukan sebanyak lima kali percobaan menunjukkan kerja elevator menggunkan algoritma LOOKberjalan dengan baik meski dilakukan secara manual dan memiliki nilai rata-rata waktu tunggu yang cukupefisien dengan total rata-rata waktu tunggu 16.9203 detik. Dimana rata-rata waktu tunggu
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
pengguna paling cepat adalah 4.1314 detik. Sedangkan waktu tunggu pengguna paling lama adalah 32.1324 detik.
Pengujian kedua, dengan menerapkan request berbeda secara random yang dilakukan sebanyak tiga kali percobaan menghasilkan hal yang serupa pada pengujian pertama, yaitu kerja elevator dengan menggunakan algoritma LOOK memiliki tingkat efektifitas rata-rata waktu tunggu yang sedikit lebih lama yaitu dengan rata-rata waktu tunggu 27.2603 detik. Ini disebabkan jumlah antrian yang terjadi lebih banyak dibandingkan jumlah antrian yang terjadi pada pengujian dengan kriteria pertama. Dimana waktu tunggu paling lama didapat yaitu 48.133 detik, sedangkan waktu tunggu paling cepat sekitar 5.098 detik.
Pada pengujian ketiga, yaitu pengujian dengan request berurutan menghasilkan hal masih sama hanya saja, elevator dengan menerapkan algoritma LOOK memiliki hasil rata-rata waktu tunggu yang relatif lebih baik dibandingkan pada pengujian dengan kriteria request berbeda secara
randomdengan menghasilkan efektifitas rata-rata waktu tunggu 21.4154
detik. Dengan waktu tunggu pengguna paling cepat yaitu 7.484 detik dan waktu tunggu paling lama 35.052 detik.
Kondisi yang menyebabkan algoritma LOOK pada pengujian kriteria ketiga yaitu pengujian dengan request berurutan lebih unggul dari percobaan kedua dengan kriteria request berbeda secara randomkarena
request yang diinputkan dilakukan secara berurutan. Berdasarkan cara kerja
algoritma LOOK yang melayani permintaan searah secara berurutan tanpa harus melayani sampai akhir jika tidak terdapat permintaan lagi pada lantai itu maka, request/permintaan secara berurut dari bawah hingga ke atas akan langsung dilayani sekaligus oleh algoritma LOOK. Perintah yang datang dari
hall call maupun dari car callakan diabaikan (disimpan sampai elevator
kembali bergerak ke arah yg berlawanan). Sedangkan pada kerja dari elevator sederhana, perintah yang datang dari car call akan tetap dilayani meski elevator sudah bergerak melewati lantai dimana car call berada (arah yang berlawanan) . Oleh karena itu rata-rata waktu tunggu yang didapat
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
elevator dengan menerapkan algoritma LOOK lebih efektif saat perintah (Hall Call) yang datang terjadi secara berurutan.
Berikut merupakan rangkuman berdasarkan hasil pengujian yang telah dilakukan:
Tabel 4.12 Rangkuman perbandingan waktu tunggu Algoritma LOOK berdasarkan kriteria pengujian
Kriteria Pengujian
Rata-Rata Waktu Tunggu Hasil Pengujian
Rata-Rata waktu tunggu paling cepat Rata-rata waktu tunggu paling lama Rata-rata waktu tunggu keseluruhan Pengujian dengan
request sama random 4.1314 detik 32.1324 detik 16.9203 detik Pengujian request
berbeda random 5.098 detik 48.133 detik 27.2603 detik Pengujian dengan