1 BAB 5 IMPLEMENTASI DAN PENGUJIAN

dokumen-dokumen yang mirip
BAB IV HASIL DAN PEMBAHASAN. Pada tahap ini penulis mengumpulkan data-data berupa nama dan titik

Geocoding Services pada Google Maps API

Geocoding Services pada Google Maps API

BAB III ANALISIS DAN PERANCANGAN. dan memudahkan dalam pengembangan sistem selanjutnya. Tujuan dari analisa

PENENTUAN ARAH TUJUAN OBJEK DENGAN TABU SEARCH

IMPLEMENTASI ALGORITMA PSO UNTUK PROBABILITAS URUTAN PENGIRIMAN PAKET PENGANTARAN KURIR

BAB IV IMPLEMENTASI DAN ANALISA. Dalam aplikasi ini, node yang dimaksud dalam Algoritma Dijkstra adalah dapat berupa :

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB IV ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM


BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

BAB III METODOLOGI PENELITIAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM. Penelitian ini akan menghasilkan suatu aplikasi yang. digunakan untuk menemukan lokasi hotel terdekat dan

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN. yang jelas untuk perbaikan ataupun pengembangan dari suatu sistem.

Instalasi Aplikasi Pada Perangkat Mobile. instalasi aplikasi pada perangkat mobile berbasis android :

BAB IV IMPLEMENTASI DAN PEMBAHASAN. API yang digunakan dalam sistem adalah MapBox. Untuk menampilkan

BAB V HASIL PENELITIAN

BAB 4 PERANCANGAN Perancangan Algoritma Algoritma shortest path (Haversine formula)

BAB III ANALISA DAN PERANCANGAN SISTEM

PANDUAN PENGGUNA UMUM Versi 1.0

BAB V PEMBAHASAN DAN IMPLEMENTASI

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN. Proses yang sedang berjalan dalam pencarian lokasi Stokis dan sub stokis

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN PEMBAHASAN. Gambar 4. 1 Halaman Utama. (domain name saat localhost/nama_file).

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN UJI COBA

BAB 4 UJI COBA DAN ANALISA KINERJA APLIKASI PETA UI BERBASIS GOOGLE MAPS

BAB I PENDAHULUAN. Android merupakan sebuah sistem operasi yang sedang. populer, pada tanggal 3 September 2013 telah mencapai 1 miliar

BAB III ANALISIS DAN DESAIN SISTEM

1. Pendahuluan Salah satu contoh perkembangan teknologi adalah teknologi dalam pencarian rute terpendek. Kehadiran teknologi pencarian rute dapat


PENCARIAN LOKASI RUMAH SAKIT DI KABUPATEN PROBOLINGGO DENGAN METODA DJIKSTRA BERBASIS SPASIAL

1. Pendahuluan 2. Kajian Pustaka

Rancang Bangun Aplikasi Panggilan Darurat dengan Perintah Suara Berbahasa Indonesia pada Perangkat Bergerak Berbasis Android

Dalam aplikasi pendeteksi penyakit pada tanaman kopi dengan layanan berbasis. pengguna. Adapun penjelasan tahapan tahapan sebagai berikut :

BAB IV PERANCANGAN. 4.1 Perancangan Mobile Tracker Simulator (MTS)

BAB III ANALISIS DAN PERANCANGAN SISTEM. mengacu kepada SDLC model waterfall berdasarkan referensi Ian Sommerville,

1 BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB IV IMPLEMENTASI DAN PENGUJIAN. program. Pada awal bagian ini dijabarkan spesifikasi perangkat keras dan lunak pada

Bab IV. HASIL DAN ANALISIS

BAB IV ANALISA DAN PERANCANGAN


BAB IV HASIL DAN UJI COBA

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

Menampilkan multiple marker Google Maps API

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk menjalankan sistem ini, dibutuhkan perangkat keras (hardware) dan

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM. melakukan evaluasi terhadap Sistem Informasi Geografis Rute Terpendek Kantor

BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM SISTEM PENCARIAN LOKASI PERGURUAN TINGGI DI DAERAH ISTIMEWA YOGYAKARTA MENGGUNAKAN GOOGLE

BAB IV HASIL DAN UJI COBA

BAB II KAJIAN TEORI 2.1 Kajian Penelitian Sebelumnya

BAB III PERANCANGAN SISTEM. Sistem yang dibuat adalah sistem yang berbasis web (online), sehingga

Penentuan Lokasi Fasilitas Supply Chain Dengan Metode Gravity Location Models

MANUAL BOOK v2 APLIKASI DATABASE STATISTIK PROVINSI JAWA BARAT

SIGAPTARU USER MANUAL. v1.0.1

ANALISIS DAN PERANCANGAN SISTEM

PEMANFAATAN GOOGLE MAP API PADA APLIKASI PENCARIAN LOKASI DEPARTMENT STORE BERBASIS WEB

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN UJI COBA

BAB III ANALISA DAN DESAIN

Pengingat Agenda Berdasarkan Konteks Lokasi Menggunakan GPS dengan Algoritma k-nearest Neighbor pada Perangkat Bergerak

ABSTRAK. Kata kunci: Google Maps, travelling salesman problem, pencarian rute, Branch and Bound. vi Universitas Kristen Maranatha

Rekomendasi Indekos dengan Metode Pembobotan pada Aplikasi E-Commerce CariKos Berbasis Web

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

Bab 4 Hasil dan Pembahasan

BAB III ANALISA DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM. 4.1 Implementasi Sistem Implementasi bisa diartikan sebagai pelaksanaan atau penerapan atau bisa

BAB II LANDASAN TEORI

Oki Ria Hermawan 1), Harjono 2) Jl. Raya Dukuhwaluh PO. Box 202 Purwokerto )

REVIEW JURNAL. Disusun Oleh : Istikomah K Yuliana Ariyanti K

UKDW BAB 1 PENDAHULUAN Latar Belakang Masalah

BAB III ANALISA DAN DESAIN. sistem yang akan dirancang, evaluasi pada masalah yang ada adalah : informasi lokasi SMU dan SMK di kota medan.

Analisis dan Perancangan Aplikasi Penuntun Jalan dengan Perintah Suara Berbahasa Indonesia pada Perangkat Bergerak Berbasis Android

AUGMENTED REALITY UNTUK MENGETAHUI FASILITAS UMUM BERBASIS ANDROID

BAB IV ANALISA DAN PERANCANGAN SISTEM. diusulkan dari sistem yang ada di Dinas Kebudayaan dan Pariwisata Kota

SOP Aplikasi E-budgeting Level SKPD

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

Manual Book Penggunaan CMS Website SMA Negeri 3 Cibinong (Untuk Administrator)

BUKU PANDUAN APLIKASI PELAPORAN DATA

BAB III ANALISA DAN DESAIN SISTEM

Transkripsi:

1 BAB 5 IMPLEMENTASI DAN PENGUJIAN 5.1 Implementasi Aplikasi dibangun sesuai dengan rancangan sistem yang telah dibuat pada bab sebelumnya.di bawah ini merupakan implementasi dari rancangan mockup yang telah dibuat dan diterjemahkan ke dalam bentuk aplikasi. Gambar 1.1 Halaman Login Aplikasi Pada halaman login, user diharuskan mengisi username dan password yang telah didaftarkan sebelumnya. Pada proses login terdapat validasi username dan password untuk mengecek ke dalam tabel basis data apakah data yang diinputkan sesuai atau tidak. Apabila user berhasil melakukan login, halaman utama aplikasi akan terbuka. Pada halaman ini, peta akan dimunculkan yaitu google maps dengan posisi wilayah kota Bandung. 61

Gambar 1.2 Halaman Utama Aplikasi User dapat melakukan tagging lokasi pengiriman barang sesuai dengan alamat yang dituliskan oleh pelanggan. Pada peta terdapat fitur bantuan berupa field search address untuk pencarian lokasi. Fitur ini memanfaatkan salah satu fungsi dari goole maps api, yaitu geocode. Tabel 1.1 Script Geocoder GMaps Api function getsearchbox(searchbox, markers, map) { google.maps.event.addlistener(searchbox, 'places_changed', function() { var address = $('#pac-input').val(); var geocoder = new google.maps.geocoder(); geocoder.geocode({'address': address,function(results, status) { if(status == google.maps.geocoderstatus.ok) { addmarker(results[0].geometry.location, map); map.setcenter(results[0].geometry.location, true, 16); ); ); Variabel address merupakan alamat yang diinput oleh user, sebagai contoh Jl. Lembong No.22, Sumur Bandung, Kota Bandung, Jawa Barat 40111, Indonesia. 62

Hasil yang akan diberikan oleh geocoder google maps api adalah berupa data json yang terdiri dari results dan status. Status OK menandakan bahwa lokasi berhasil dicari, sedangkan ZERO_RESULTS diartikan lokasi tidak ditemukan. Data results berisi geometry yang didalamnya terdapat koordinat jalan yang diinputkan. Koordinat tersebut digunakan untuk tagging lokasi. { Tabel 1.2 Tabel Hasil Geocoder GMaps Api results: [ { address_components: [], formatted_address: "Jl. Lembong No.22, Sumur Bandung, Kota Bandung, Jawa Barat 40111, Indonesia", geometry: { location: { lat: -6.9166934, lng: 107.6102369, location_type: "ROOFTOP", viewport: {, place_id: "ChIJjSveDDDmaC4RIrhpROVcj8A", types: ["street_address"] ], status: "OK" 63

Di bawah ini merupakan hasil dari tagging lokasi dengan memanfaatkan fungsi geocoder google maps api. Gambar 1.3 Tagging Lokasi Pengiriman Barang Aplikasi menghitung jarak dari satu lokasi ke lokasi lainnya. Perhitungan jarak memanfaatkan fungsi goole maps api, yaitu distance matrix. Distance matriks mengeluarkan nilai jarak dalam satuan meter dan kilo meter. Dalam aplikasi menggunakan nilai jarak dalam satuan meter untuk perhitungan algoritma Tabu Search, agar nilai yang dihasilkan tidak dalam bentuk desimal. Ada dua parameter input untuk mendapatkan jarak dari dua lokasi, diantaranya destination addresses merupakan parameter input lokasi asal dan origin addresses merupakan parameter input lokasi tujuan. Hasil dari api berupa destination addresses, origin addresses, rows dan status. Status OK menandakan bahwa jarak berhasil dicari, sedangkan NOT_FOUND diartikan jarak tidak ditemukan. Text meruapakan bobot jarak dalam satuan kilo meter, sedangkan value merupakan bobot jarak dalam bentuk meter. 64

{ Tabel 1.3 Tabel Hasil Distance Matrix GMaps Api destination_addresses: [ "Jl. Lembong No.22, Sumur Bandung, Kota Bandung, Jawa Barat 40111, Indonesia" ], origin_addresses: [ "Jl. TamblongDalam No.38, Sumur Bandung, Kota Bandung, Jawa Barat 40111, Indonesia" ], rows: [ { elements: [ { distance: { text: "2.0 km", value: 2025, duration: { text: "8 mins", value: 484, status: "OK" ] ], status: "OK" 65

Di bawah ini merupakan hasil dari pencarian atau perhitungan jarak dengan memanfaatkan fungsi distance matrix google maps api. Gambar 1.4 Tabel Data Jarak Lokasi ke Lokasi Gambar 1.5 Jalur Terpendek dari Hasil Algoritma Tabu Search Setelah jarak tiap lokasi ke lokasi lainnya telah diketahui, barulah proses perhitungan algoritma tabu search dilakukan. Hasil akhir dari perhitungan algoritma berupa jalur terpendek dengan total jarak dalam satuan meter. Algoritma tabu search mencari jalur terpendek dari daftar kandidat solusi yang telah dibentuk. Dari daftar kandidat tersebut dicari jarak titik-titiknya dan dihitung total jaraknya. 66

Total jarak dari kandidat solusi yang paling kecil merupakan jarak terbaik.di bawah ini merupakan script algoritma tabu search. Tabel 1.4 Script Algoritma Tabu Search function process() { if(clickprocess === false) { alert('proses hanya dapat dilakukan sekali'); return false; clickprocess = false; $('#li-process').css("background-color", "#6E6E6E"); tabusearch(arrlabel); function tabusearch(data){ var iterasi = 300; var bestdistance = 0; var arradist = arrdata; var historysolusi = []; if(!getsolution(data)){ return false; if(arrsolution.length!= 0){ var newarray = []; for(var i = 0;i < arrsolution.length;i++){ newarray = arrsolution[i]; var alternativedist = []; for(var j = 0;j < newarray.length;j++){ var limit = j + 1; if(limit < newarray.length){ for(var k = 0;k < arradist.length;k++){ var newdatadist = arradist[k]; if(newarray[j] == newdatadist[0] && newarray[j+1] == newdatadist[1]){ alternativedist.push(newdatadist[2]); var totaldistance = 0; for (var l = 0;l < alternativedist.length;l++){ totaldistance += alternativedist[l]; if(bestsolution.length < 1) { bestsolution.push(arrsolution[i]); bestdistance = totaldistance; else { if(totaldistance < bestdistance) { bestsolution = arrsolution[i]; bestdistance = totaldistance; historysolusi[i] = []; 67

historysolusi[i][0] = arrsolution[i]; historysolusi[i][1] = totaldistance; finaldistance = bestdistance; 5.2 Pengujian Di bawah ini merupakan daftar data uji berupa data alamat lokasi pengiriman barang. Pengujian terhadap aplikasi meliputi tagging lokasi, perhitungan jarak dan perhitungan algoritma tabu search. Tabel 1.5 Tabel Data Alamat Pengiriman Barang No Lokasi Alamat 1 A Jl. Margacinta No.72, Buahbatu, Kota Bandung, Jawa Barat 40287, Indonesia 2 B Jl. Ciganitri No.21, Bojongsoang, Bandung, Jawa Barat 40287, Indonesia 3 C Jl. Raya Banjaran No.227, Baleendah, Bandung, Jawa Barat 40375, Indonesia 4 D Jl. Siliwangi No.99, Baleendah, Bandung, Jawa Barat 40375, Indonesia 5.2.1 Pengujian Tagging Lokasi Pengujian pertama yang dilakukan adalah membandingkan tagging lokasi pada aplikasi yang dibangun dengan tagging lokasi pada google maps.hal yang akan dibandingkan adalah letak posisi tagging dari pencarian berdasarkan alamat. Lokasi yang diuji adalah lokasi A. Alamat lokasi A dijadikan parameter input pada geocoder google maps api. Hasil yang diberikan adalah koordinat seperti gambar di bawah ini. 68

Gambar 1.6 Output yang dihasilkan Geocoder Google Maps Api Koordinat dari google maps api digunakan untuk tagging lokasi. Koordinat yang didapat adalah latitude -6.954896 dan longitude 107.6441523. Gambar 1.7 Hasil Tagging Lokasi A pada Aplikasi Sedangkan di bawah ini adalah hasil tagging lokasi A pada halaman website google maps dengan url yang diakses www.google.co.id/maps. 69

Gambar 1.8 Hasil Tagging Lokasi A pada Website GMaps Hasil perbandingan antara aplikasi dengan website google maps itu sama persis, seperti yang terlihat pada gambar. 5.2.2 Pengujian Perhitungan Jarak Pengujian selanjutnya yang dilakukan adalah pengujian perhitungan jarak antara lokasi A dengan A dan lokasi A dengan B. Cara menguji perhitungan jarak adalah membandingkan hasil dari aplikasi dengan hasil dari google maps api. Gambar 1.9 Hasil Perhitungan Jarak pada Aplikasi Jarak yang dihasilkan dari aplikasi antara lokasi A dengan A adalah 0 meter dan lokasi A dengan B adalah 3292 meter. Apabila dibandingkan dengan hasil dari google maps api maka hasilnya akan tepat sama, seperti gambar dibawah ini. 70

Gambar 1.10 Hasil Perhitungan Jarak pada GMaps Api Lokasi A dengan A Gambar 1.11 Hasil Perhitungan Jarak pada GMaps Api Lokasi A dengan B Origin addresses diisi dengan alamat lengkap dari lokasi asal yaitu A, sedangkan destination addresses diisi dengan alamat lengkap dari lokasi tujuan B. Format keluaran atau output dari google maps api berupa JSON. Data yang diberikan berupa jarak, durasi dan status. Status OK menandakan bahwa lokasi dari asal ke lokasi tujuan dapat dihitung jaraknya. Apabila alamat tidak diketahui maka output yang dikeluarkan berupa status NOT_FOUND. Nilai 71

jarak yang didapat berupa value dalam satuan meter dan text yang merupakan pembulatan dari value dibentuk dalam satuan kilo meter. Bobot jarak yang ditampilkan oleh website google maps adalah 3.2 kilo meter, dengan perbedaan sekitar 93 meter atau 0.1 kilo meter apabila dilakukan pembulatan. Gambar 1.12 Hasil Perhitungan Jarak pada Website GMaps Lokasi A dengan B 5.2.3 Pengujian Perhitungan Algoritma Tabu Search Untuk menguji proses perhitungan algoritma tabu search, dilakukan perhitungan manual yang akan dibandingkan dengan hasil perhitungan algoritma yang dilakukan oleh aplikasi. Proses manual yang dibuat mengadaptasi proses perhitungan algoritma aplikasi. Perhitungan manual menggunakan alat bantu microsoft excel. Alur perhitungan manual pada microsoft excel adalah sebagai berikut. a. Inisiasi variabel diantaranya adalah. 1) arrlocation merupakan variabel array untuk menampung data label lokasi beserta koordinat. 2) arrdata merupakan variabel array untuk menampung data label asal, label tujuan, dan jarak. 3) Iterasi merupakan variabel integer untuk menampung bobot iterasi dengan nilai 300. 4) arralternative merupakan variabel array untuk menampung daftar kemungkinan jalur alternatif. 72

5) arrsolution merupakan variabel array untuk menampung daftar kemungkinan jalur alternatif yang berawal dari depot A. 6) alternativedist merupakan variabel array untuk menampung jarak potong lokasi dari suatu arrsolution per indeksnya. 7) totaldistance merupakan variabel integer untuk menampung total jarak dari alternativedistance. 8) bestsolution merupakan varibel array untuk menampung jalur terbaik atau terpendek. 9) bestdistance merupakan varibel integer untuk menampung jarak terbaik atau terpendek. b. Alamat lokasi diinputkan oleh user, tagging lokasi ditandai dengan label abjad berurut dari A sampai dengan Z tergantung berapa lokasi tujuan yang akan dilalui. Label lokasi akan disimpan ke dalam variabel arrlocation. Tabel 1.6 Tabel Data Variabel arrlocation Indeks Label Latitude Longitude 0 A -6.954896 107.64415229999997 1 B -6.9727663 107.65268430000003 2 C -7.012113299999999 107.60978 3 D -7.009907399999999 107.64001729999995 c. Perhitungan jarak menggunakan koordinat lokasi asal dan lokasi tujuan dengan memanfaatkan geocoder google maps api, sehingga mendapatkan bobot seperti di bawah ini. Bobot jarak akan disimpan ke dalam variabel arrdata. Tabel 1.7 Tabel Data Variabel arrdata Indeks Label Asal Label Tujuan Jarak (Meter) 0 A A 0 1 A B 3293 2 A C 8325 3 A D 7484 4 B A 3293 5 B B 0 73

Indeks Label Asal Label Tujuan Jarak (Meter) 6 B C 7845 7 B D 7004 8 C A 10240 9 C B 7845 10 C C 0 11 C D 4897 12 D A 9400 13 D B 7004 14 D C 4549 15 D D 0 d. Pembentukan kemungkinan jalur alternatif dengan memanfaatkan variabel arrlocation. Jalur alternatif dibuat dengan teknik perulangan sejumlah data pada variabel arrlocation. Jumlah kemungkinan jalur alternatif yang terbentuk sejumlah n faktorial (n!). Nilai n adalah jumlah lokasi yang akan dilalui termasuk depot. Apabila n sama dengan 4, maka kemungkinan jalur yang akan terbentuk adalah 4 x 3 x 2 x 1 = 24 jalur. Jalur yang terbentuk disimpan ke dalam variabel arralternative. Tabel 1.8 Tabel Data Variabel arralternative Indeks Jalur Alternatif 0 A B C D 1 A B D C 2 A C B D 3 A C D B 4 A D B C 5 A D C B 6 B A C D 7 B A D C 8 B C A D 9 B C D A 10 B D A C 11 B D C A 74

Indeks Jalur Alternatif 12 C A B D 13 C A D B 14 C B A D 15 C B D A 16 C D A B 17 C D B A 18 D A B C 19 D A C B 20 D B A C 21 D B C A 22 D C A B 23 D C B A e. Variabel arralternative dilakukan pengecekan dengan kondisi lokasi awal sama dengan lokasi depot, jika sesuai maka akan ditampung ke dalam variabel arrsolution. Tabel 1.9 Tabel Data Variabel arrsolution Indeks Jalur Alternatif Berawal dari Depot 0 A B C D A 1 A B D C A 2 A C B D A 3 A C D B A 4 A D B C A 5 A D C B A f. Total jarak didapat dari penjumlahan jarak tiap lokasi dari jalur yang terbentuk. Total jarak menurut perhitungan manual adalah sebagai berikut. Tabel 1.10 Tabel Total Jarak Jarak Tiap Lokasi / AlternativeDist Total Jarak / totaldistance (Meter) 3293 7845 4897 9400 25435 75

Jarak Tiap Lokasi / AlternativeDist Total Jarak / totaldistance (Meter) 3293 7004 4549 10240 25086 8325 7845 7004 9400 32574 8325 4897 7004 3293 23519 7484 7004 7845 10240 32573 7484 4549 7845 3293 23171 g. Dari total jarak yang didapat, maka dapat ditentukan jalur terbaik dan jarak terpendek. Tabel 1.11 Tabel Jalur Terbaik dan Jarak Terpendek Best Solution Best Distance (Meter) A D C B A 23171 Pada perhitungan manual menghasilkan jalur terpendek yaitu A-D-C-B-A dengan total jarak 23.171 meter dan dari perhitungan algoritma yang dilakukan oleh aplikasi menghasilkan jalur terpendek yang sama nilainya dengan perhitungan manual. Gambar 1.13 Hasil Perhitungan Algoritma Tabu Search Menggunakan Aplikasi Jalur terbaik ditampilkan pada google maps dengan pewarnaan berbeda dari lokasi ke lokasi yang lain. Pewarnaan yang berbeda pada perpotongan jalur ini bertujuan untuk memudahkan user membaca jalur yang terbentuk. Warna yang terbentuk dari jalur A-D-C-B-A adalah sebagai berikut. a. A-D ditandai dengan warna hijau tua, color code #006600 (#RRGGBB). b. D-C ditandai dengan warna biru tua, color code #000099. c. C-B ditandai dengan warna coklat tua, color code #663300. d. B-A ditandai dengan warna ungu, color code #CC00CC. 76

Gambar 1.14 Direction dari Hasil Perhitungan Algoritma Tabu Search 77