TA13.ipynb 79.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Library"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "# import sys\n",
    "# reload(sys)\n",
    "# sys.setdefaultencoding('utf-8')\n",
    "import re\n",
    "import csv\n",
    "import nltk\n",
    "import math\n",
    "import string\n",
    "import random\n",
    "import haversine\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from random import *\n",
    "from math import *\n",
    "from string import digits\n",
    "from collections import Counter\n",
    "import matplotlib as mpl\n",
    "from haversine import haversine, Unit\n",
    "import matplotlib.pyplot as plt\n",
    "from subprocess import check_output\n",
    "from sklearn import metrics"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
Febby Simanjuntak committed
44
    "### Loading the Data"
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Banyak data = 606\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Tempat Wisata</th>\n",
       "      <th>Rating</th>\n",
       "      <th>Latitude</th>\n",
       "      <th>Longitude</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Ksu Antara Travel</td>\n",
       "      <td>4.6</td>\n",
       "      <td>2.9860</td>\n",
       "      <td>99.6204</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>A8 Village</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0137</td>\n",
       "      <td>99.0037</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Air Terjun Sigarattung ( Sampuran Na Pitu)</td>\n",
       "      <td>4.5</td>\n",
       "      <td>2.4042</td>\n",
       "      <td>99.0474</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Air Terjun Taman Eden 100, Tobasa</td>\n",
       "      <td>4.4</td>\n",
       "      <td>2.6951</td>\n",
       "      <td>98.6897</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Abadas Jaya</td>\n",
       "      <td>4.3</td>\n",
       "      <td>3.7704</td>\n",
       "      <td>98.6321</td>\n",
       "    </tr>\n",
Febby Simanjuntak committed
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Aek Kanopan</td>\n",
       "      <td>4.8</td>\n",
       "      <td>2.5633</td>\n",
       "      <td>99.5229</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Aek Malapari</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.2680</td>\n",
       "      <td>99.7627</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Aek Milas</td>\n",
       "      <td>3.9</td>\n",
       "      <td>1.5227</td>\n",
       "      <td>99.2204</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Aek Milas Paringgonan Sibuhuan</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0399</td>\n",
       "      <td>99.8223</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Aek Sipaulak Hosa Loja</td>\n",
       "      <td>4.5</td>\n",
       "      <td>2.8446</td>\n",
       "      <td>98.5291</td>\n",
       "    </tr>\n",
157 158 159 160 161 162 163 164 165 166
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                Tempat Wisata  Rating  Latitude   Longitude\n",
       "0                           Ksu Antara Travel     4.6    2.9860     99.6204\n",
       "1                                  A8 Village     4.0    2.0137     99.0037\n",
       "2  Air Terjun Sigarattung ( Sampuran Na Pitu)     4.5    2.4042     99.0474\n",
       "3           Air Terjun Taman Eden 100, Tobasa     4.4    2.6951     98.6897\n",
Febby Simanjuntak committed
167 168 169 170 171 172
       "4                                 Abadas Jaya     4.3    3.7704     98.6321\n",
       "5                                 Aek Kanopan     4.8    2.5633     99.5229\n",
       "6                                Aek Malapari     5.0    2.2680     99.7627\n",
       "7                                   Aek Milas     3.9    1.5227     99.2204\n",
       "8              Aek Milas Paringgonan Sibuhuan     4.0    2.0399     99.8223\n",
       "9                      Aek Sipaulak Hosa Loja     4.5    2.8446     98.5291"
173 174 175 176 177 178 179 180
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
Febby Simanjuntak committed
181
    "df = pd.read_csv('Sidang_TA_13.csv', engine='python')\n",
182
    "print ('Banyak data =', len(df))\n",
Febby Simanjuntak committed
183
    "df.head(10)"
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Generate Tempat Wisata"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "temp = []\n",
    "tempat = []\n",
    "inputan = []\n",
    "TempatWisata_1 = []\n",
    "rate = []\n",
Febby Simanjuntak committed
206
    "\n",
Febby Simanjuntak committed
207
    "# function generateTempatWisata to get \"Tempat Wisata\" from Data set\n",
Febby Simanjuntak committed
208
    "def generateTempatWisata(tempdata):\n",
Febby Simanjuntak committed
209 210
    "    TempatWisata = []\n",
    "    TempatWisata.clear()\n",
211
    "    for i in range(randrange(2, 10)):\n",
Febby Simanjuntak committed
212
    "        x = choice(tempdata)\n",
213 214
    "        if x not in TempatWisata:\n",
    "            TempatWisata.append(x)\n",
Febby Simanjuntak committed
215
    "    return TempatWisata\n"
216 217 218 219 220 221
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
Febby Simanjuntak committed
222
    "### Encoding"
223 224 225 226
   ]
  },
  {
   "cell_type": "code",
Febby Simanjuntak committed
227
   "execution_count": 4,
228 229 230
   "metadata": {},
   "outputs": [],
   "source": [
Febby Simanjuntak committed
231
    "# function Encoding Itinerary to make value itinerary 0 or 1\n",
Febby Simanjuntak committed
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
    "#def encodingItinerary(Itinerary, tempatwisata): \n",
    "#    arr2 = []\n",
    "#    arr2.clear()\n",
    "#    for x in range(len(tempatwisata)):\n",
    "#        cek = False\n",
    "#        for i in range(len(Itinerary)):\n",
    "#            if tempatwisata[x] is Itinerary[i]:\n",
    "#                arr2.append(1)\n",
    "#                cek = True\n",
    "#                break\n",
    "#        if(cek == False):\n",
    "#            arr2.append(0)\n",
    "#    return arr2\n",
    "\n",
    "def enco(Itinerary, data):\n",
    "    bn = []\n",
    "    bn *= 0\n",
    "    for i in data:\n",
    "        if i in Itinerary:\n",
    "            bn.append(1)\n",
    "        else:\n",
    "            bn.append(0)\n",
    "    return bn"
255 256
   ]
  },
Febby Simanjuntak committed
257 258 259 260 261 262 263
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Fitness Function"
   ]
  },
264 265
  {
   "cell_type": "code",
Febby Simanjuntak committed
266
   "execution_count": 5,
267 268 269
   "metadata": {},
   "outputs": [],
   "source": [
Febby Simanjuntak committed
270
    "# Class Prepare Itinerary\n",
271
    "class preItinerary:\n",
Febby Simanjuntak committed
272 273
    "    \n",
    "    # function get Longitude and Latitude from Data\n",
Febby Simanjuntak committed
274 275
    "    def getLongLat(param):\n",
    "        test = []\n",
276
    "        test.clear()\n",
Febby Simanjuntak committed
277 278 279 280
    "        for i in range(len(param)):\n",
    "            if param[i] == 1:\n",
    "                test.append((df.iloc[i][2], df.iloc[i][3]))\n",
    "        return test    \n",
281
    "    \n",
Febby Simanjuntak committed
282
    "    # function get Rating from Data\n",
Febby Simanjuntak committed
283 284
    "    def getRating(param):\n",
    "        rate = []\n",
285
    "        rate.clear()\n",
Febby Simanjuntak committed
286 287 288
    "        for i in range(len(param)):\n",
    "            if param[i] == 1:\n",
    "                rate.append((df.iloc[i][1]))\n",
289 290
    "        return rate\n",
    "\n",
Febby Simanjuntak committed
291
    "# Class Fitness Function\n",
292
    "class fitnessFunction:\n",
Febby Simanjuntak committed
293 294
    "    \n",
    "    # 1. function Estimasi Jarak using Haversine Formula to calculating distance\n",
Febby Simanjuntak committed
295
    "    def haversineFormula(param):\n",
Febby Simanjuntak committed
296
    "        r = 6373.0 # default \n",
297
    "        sum_ = 0\n",
Febby Simanjuntak committed
298 299 300 301
    "        for x in range(len(param) - 1):\n",
    "            dlat = abs(float(param[x+1][0]) - float(param[x][0]))\n",
    "            dlon = abs(float(param[x+1][1]) - float(param[x][1]))\n",
    "            a = math.sin(dlat / 2)**2 + math.cos(param[x+1][0]) * math.cos(param[x][0]) * math.sin(dlon / 2)**2\n",
302 303 304 305 306 307 308
    "            c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))\n",
    "            dis = r * c\n",
    "            sum_ += dis\n",
    "\n",
    "        dist = round(sum_)\n",
    "        return dist\n",
    "    \n",
Febby Simanjuntak committed
309
    "    # 2. function Estimasi Waktu to calculating total time of each itinerary\n",
310
    "    def estimasiWaktu(jarak):\n",
Febby Simanjuntak committed
311
    "        v = 60 # default average velocity\n",
312 313 314 315 316
    "        waktu = jarak / v\n",
    "        time_hours = round(waktu)\n",
    "        time_days = round(time_hours/12)\n",
    "        return time_hours\n",
    "    \n",
Febby Simanjuntak committed
317
    "    # 3. function Estimasi Biaya to calculating total cost of each itinerary\n",
Febby Simanjuntak committed
318
    "    def estimasiBiaya(jarak):\n",
319 320 321
    "        BBM = 7650 # Biaya BBM 1 Liter = Rp.7650\n",
    "        S_BBM =3.45 # Jarak tempuh untuk 1 Liter BBM = 3.45 KM\n",
    "        Biaya_R = 950000 # Biaya sewa/rental bus = Rp.950000\n",
Febby Simanjuntak committed
322
    "        Biaya_BBM = round((jarak / S_BBM) * BBM) \n",
323 324 325
    "        Total_Cost = Biaya_BBM + Biaya_R\n",
    "        return Total_Cost\n",
    "    \n",
Febby Simanjuntak committed
326 327
    "    # 4. function Average Rating to calculating average rating of each itinerary\n",
    "    def averageRating(preproses_Rating):\n",
328 329 330
    "        av = 0\n",
    "        average = 0\n",
    "        for i in range(len(preproses_Rating)):\n",
Febby Simanjuntak committed
331
    "            av += float(int(preproses_Rating[i]))\n",
332 333 334 335 336 337
    "        average = round(float(av)/(len(preproses_Rating)), 1)\n",
    "        return average"
   ]
  },
  {
   "cell_type": "code",
Febby Simanjuntak committed
338
   "execution_count": 6,
339 340 341
   "metadata": {},
   "outputs": [],
   "source": [
Febby Simanjuntak committed
342
    "# function Inputan \n",
Febby Simanjuntak committed
343 344 345
    "tempdata = df[\"Tempat Wisata\"]\n",
    "itinerary = generateTempatWisata(tempdata)\n",
    "def inputan(param):\n",
Febby Simanjuntak committed
346
    "    inputt = []\n",
347 348
    "    inputt.clear()\n",
    "    p = preItinerary\n",
Febby Simanjuntak committed
349
    "    encode = enco(param, tempdata)\n",
Febby Simanjuntak committed
350 351
    "    preproses_Itinerary = p.getLongLat(encode)\n",
    "    preproses_Rating = p.getRating(encode)\n",
352 353 354
    "    f = fitnessFunction\n",
    "    jarak = f.haversineFormula(preproses_Itinerary)\n",
    "    waktu = f.estimasiWaktu(jarak)\n",
Febby Simanjuntak committed
355
    "    biaya = f.estimasiBiaya(jarak)\n",
Febby Simanjuntak committed
356
    "    rate = f.averageRating(preproses_Rating)\n",
357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376
    "    inputt.append((jarak, waktu, biaya, rate))\n",
    "    return inputt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Implementasi Algoritma"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Simulated Annealing"
   ]
  },
  {
   "cell_type": "code",
Febby Simanjuntak committed
377
   "execution_count": 7,
378 379 380
   "metadata": {},
   "outputs": [],
   "source": [
Febby Simanjuntak committed
381
    "# Class Simulated Annealing\n",
Febby Simanjuntak committed
382
    "class simeal:\n",
Febby Simanjuntak committed
383 384 385
    "    \n",
    "    # function test to get parameter \n",
    "    def test (data):\n",
Febby Simanjuntak committed
386
    "        tempatbaru = []\n",
Febby Simanjuntak committed
387
    "        da = generateTempatWisata(data)\n",
Febby Simanjuntak committed
388 389 390
    "        inn = inputan(da)\n",
    "        tempatbaru.append((inn, da))\n",
    "        return tempatbaru\n",
391
    "    \n",
Febby Simanjuntak committed
392
    "    # function calculate to chose best solution from 2 parameter (x1) and (x2)\n",
Febby Simanjuntak committed
393 394 395 396 397
    "    def calculate(x1, x2):\n",
    "        if (x1[0][0] < x2[0][0] and x1[0][3] < x2[0][3]) or (x1[0][0] < x2[0][0] and x1[0][3] == x2[0][3]):\n",
    "            return x1\n",
    "        else:\n",
    "            return x2\n",
Febby Simanjuntak committed
398 399
    "        \n",
    "    # function solution to save all solution  \n",
Febby Simanjuntak committed
400
    "    def solution():\n",
Febby Simanjuntak committed
401
    "        temp_Case = []\n",
Febby Simanjuntak committed
402
    "        data = df[\"Tempat Wisata\"]\n",
Febby Simanjuntak committed
403 404 405 406 407 408
    "        T_akhir = 500 # default\n",
    "        T_awal = 0.0001 # default\n",
    "        CoolingRate = 0.9 # default\n",
    "        while T_awal < T_akhir: # condition statement\n",
    "            x1 = simeal.test(data)\n",
    "            x2 = simeal.test(data)\n",
Febby Simanjuntak committed
409 410 411 412 413 414 415 416
    "            x11 = x1[0][0]\n",
    "            x22 = x2[0][0]\n",
    "            Newstate = simeal.calculate(x11, x22)\n",
    "            if Newstate is x11:\n",
    "                temp_Case.append(x1)\n",
    "            else:\n",
    "                temp_Case.append(x2)\n",
    "                \n",
Febby Simanjuntak committed
417 418 419
    "            T_akhir = T_akhir * CoolingRate\n",
    "        \n",
    "        return temp_Case\n",
Febby Simanjuntak committed
420 421
    "    \n",
    "# Class printt \n",
Febby Simanjuntak committed
422
    "class printt:\n",
Febby Simanjuntak committed
423 424
    "    \n",
    "    # function result to print all solution\n",
Febby Simanjuntak committed
425 426 427 428
    "    def result():\n",
    "        result_ = simeal.solution()\n",
    "        print(len(result_), \"\\n\")\n",
    "        for i in range(len(result_)):\n",
Febby Simanjuntak committed
429
    "            print(\"Itinerary \", i+1, \" = \",result_[i], \"\\n\")"
430 431 432 433
   ]
  },
  {
   "cell_type": "code",
Febby Simanjuntak committed
434
   "execution_count": 8,
435
   "metadata": {},
Febby Simanjuntak committed
436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "147 \n",
      "\n",
      "Itinerary  1  =  [([(66050, 1101, 147408696, 4.1)], ['Gang Bengkok Old Mosque', 'Tumori Traditional Village', 'Agrowisata Hidro Aa', \"Five Star Int'l Travel\", 'Lau Gendang,Wisata Gua', 'Air Terjun Simonang Monang', 'Old City Hall', 'Jembatan Dalik Lubuk Sikaping', 'Welterbeminimini'])] \n",
      "\n",
      "Itinerary  2  =  [([(22774, 380, 51448870, 3.6)], ['Tanjung Unta', 'Pemandian Air Panas Rianiate', 'Kebun Binatang Simalingkar Medan', 'Air Terjun Lembah Sipogas', 'Pulau Poncan'])] \n",
      "\n",
      "Itinerary  3  =  [([(42215, 704, 94557174, 3.8)], ['Namo Cengkeh', 'Pantai Sorake Nias Selatan', 'Tugu Air Mancur Majestik', 'Delta', 'Auliya Tour & Travel', 'Sialang Batu'])] \n",
      "\n",
      "Itinerary  4  =  [([(15866, 264, 36131130, 3.3)], ['Biro Jasa', 'Penatapan Pamah Simelir', 'Water Park Tambunan', 'Twa Lau Debuk-Debuk', 'Kuta Sukareme', 'Tugu Pahlawan Revolusi'])] \n",
      "\n",
      "Itinerary  5  =  [([(25567, 426, 57642043, 3.8)], ['Masjid Agung Ahmad Bakrie Kisaran', 'Wisata Alam', 'Pemandian Sidamanik'])] \n",
      "\n",
      "Itinerary  6  =  [([(36756, 613, 82452435, 3.6)], ['Pantai Pelawan', 'Putri Cahaya Travel', 'Permata Asri Stabat', 'Wisata Bendunga Sei Palis', 'West Kisaran', 'Dokter Travel', 'Taman Lope Lope Bulu Cina', 'Wisata Alam Siringo'])] \n",
      "\n",
      "Itinerary  7  =  [([(2806, 47, 7172000, 4.0)], ['Air Terjun Bertala', 'Struggle Monument Berastagi'])] \n",
      "\n",
      "Itinerary  8  =  [([(4011, 67, 9843957, 4.0)], ['Pantai Pasir Putih Parparean', 'Pantai Paris', 'Asahan Regency'])] \n",
      "\n",
      "Itinerary  9  =  [([(47526, 792, 106333739, 3.9)], ['Museum Simalungun', 'Pantai Teluk Kerang', 'Lokasi Wisata Pemandian Air Panas Sipoholon', 'Wisata Agro Kopi Karo', 'Perwakilan Mandiri', 'Puncak Santai', 'Pemandian Sidamanik', 'Penangkaran Rusa Universitas Sumatera Utara'])] \n",
      "\n",
      "Itinerary  10  =  [([(9214, 154, 21381043, 4.5)], ['Gapura Wisata Alam Lae Mbilulu', 'Pantai Tiram Tapakis'])] \n",
      "\n",
      "Itinerary  11  =  [([(9472, 158, 21953130, 4.0)], ['Kantor Balai Taman Nasional Batang Gadis', 'Gundaling'])] \n",
      "\n",
      "Itinerary  12  =  [([(5675, 95, 13533696, 4.0)], ['Muara Beach Beautiful', 'Rumah Wisata Sunggal'])] \n",
      "\n",
      "Itinerary  13  =  [([(14712, 245, 33572261, 3.8)], ['Barusjahe', 'Pantai Arta Indah', 'Kebun Binatang Simalingkar Medan', 'Pantai Bukit Malintang Buburan'])] \n",
      "\n",
      "Itinerary  14  =  [([(17780, 296, 40375217, 4.0)], ['Azizi Mosque', 'Pantai Barat Natal'])] \n",
      "\n",
      "Itinerary  15  =  [([(2310, 38, 6072174, 4.0)], ['Thermal Baths U.S.K Hineni', 'Bukit Senyum'])] \n",
      "\n",
      "Itinerary  16  =  [([(26137, 436, 58905957, 3.5)], ['Wisata Alam Aek Markusasak', 'Pondok Pisang', 'Bukit Lawang Tour Trekking', 'Wisata Bendunga Sei Palis'])] \n",
      "\n",
      "Itinerary  17  =  [([(13962, 233, 31909217, 3.7)], ['Peceren Karo Village', 'Cis Tour & Travel', 'Pt. Pmn Travel Bus'])] \n",
      "\n",
      "Itinerary  18  =  [([(18221, 304, 41353087, 4.0)], ['Bus Wisata Medan', 'Lau Teba Langkat', 'Samto Aek Rangat', 'Museum Negeri Sumatera Utara', 'Bukit Lawang Travel', 'Tourism Kuala Paret'])] \n",
      "\n",
      "Itinerary  19  =  [([(26428, 440, 59551217, 3.3)], ['Kolam Pancing Asri', 'Rimba Huta Sikapir', 'Huta Bolon', \"Pt. Bagus Wisata Holiday's\", 'Muara Beach Beautiful', 'Menara Tirtanadi'])] \n",
      "\n",
      "Itinerary  20  =  [([(14003, 233, 32000130, 3.7)], ['Wisata Alam Aek Markusasak', 'Air Terjun Kemuning'])] \n",
      "\n",
      "Itinerary  21  =  [([(13494, 225, 30871478, 4.0)], ['Pt. Hikmah', 'Pemandian Pulau Batu (Pulbat)', 'The Le Hu Garden', 'Vihara Tri Ratna'])] \n",
      "\n",
      "Itinerary  22  =  [([(37353, 623, 83776217, 3.9)], ['Pt. Jsa Tour & Travel', 'Bakarang Simalem', 'Luppatan Tali - Tali', 'Sumur Tua', 'Little India Medan', 'Air Panas Simolap', 'Bukit Lawang Travel'])] \n",
      "\n",
      "Itinerary  23  =  [([(34234, 571, 76860174, 3.8)], ['Namu Sira-Sira', 'Tanjung Apek Beach', 'Pantai Bukit Malintang Buburan', 'Sumur Tua'])] \n",
      "\n",
      "Itinerary  24  =  [([(5521, 92, 13192217, 4.0)], ['Museum Karo Lingga', 'Pantai Paris'])] \n",
      "\n",
      "Itinerary  25  =  [([(49246, 821, 110147652, 3.9)], ['Pulau Poncan', 'Masjid Raya Nur Addin', 'Silalahi I', 'Kolam Renang Pesona Wisata', 'Taman Balita Kota Binjai', 'Balai Datuk Setia Maharaja Negeri Serdang', 'T.Garden', 'Puncak Bukit Galau', 'Bus Wisata Medan'])] \n",
      "\n",
      "Itinerary  26  =  [([(10846, 181, 24999826, 4.3)], ['Air Terjun Sipitu Tikka', 'North Namu Ukur', 'Panatapan Parhalow'])] \n",
      "\n",
      "Itinerary  27  =  [([(31448, 524, 70682522, 3.7)], ['Pantai Pasir Putih Parbaba', 'Danau Teratai', 'Kuamang Ujung Gading'])] \n",
      "\n",
      "Itinerary  28  =  [([(11115, 185, 25596304, 3.3)], ['Puncak Bukit Manalise Aek Buro', 'West Kisaran', 'Lingga Cultural Village', 'Pisang Pelangi', 'Alun Alun Kota Kisaran', 'Kuta Sukareme'])] \n",
      "\n",
      "Itinerary  29  =  [([(13500, 225, 30884783, 3.0)], ['Balai Datuk Setia Maharaja Negeri Serdang', 'Leo Tour & Travel (Leo Wisata Medan)'])] \n",
      "\n",
      "Itinerary  30  =  [([(49158, 819, 109952522, 3.9)], ['Titi Gantung Bridge', 'Masjid Raya Kisaran Kota', 'Puncak Tonang', 'Kantor Balai Taman Nasional Batang Gadis', 'Struggle Monument Berastagi', 'Objek Wisata Luak Gadang, Guguak Rang Pisang', 'Taman Kota Tanjungbalai'])] \n",
      "\n",
      "Itinerary  31  =  [([(32983, 550, 74086217, 3.8)], ['Wisata Alam Pohon Damai Simempar', 'Kuil Shri Mariamman', 'Pawan Hot Water', 'Wisata Alam Siringo', 'Pantai Barat', 'State Museum Of North Sumatra'])] \n",
      "\n",
      "Itinerary  32  =  [([(24761, 413, 55854826, 3.5)], ['Tangkahan', 'Taman Remaja Binjai', 'Bukit Suligi', 'Pemandian Air Panas Rianiate', 'Lau Perkoh', 'Sp.Lau Petundal'])] \n",
      "\n",
      "Itinerary  33  =  [([(10039, 167, 23210391, 4.0)], ['Kembar Agro', 'Kantor Po Pinem Bus'])] \n",
      "\n",
      "Itinerary  34  =  [([(52964, 883, 118391913, 3.9)], ['Wisata Alam Pohon Damai Simempar', 'Ambar Onan Runggu', 'Simonis', 'Puncak Kabur Bukit Villa', 'Air Panas Simolap', 'Bendungan Batang Tongar', 'Bukit Lawang Trip', 'Viewpoint Of Tuktuk Peninsula'])] \n",
      "\n",
      "Itinerary  35  =  [([(5589, 93, 13343000, 3.0)], ['Permata Asri Stabat', 'Kualuh Hulu'])] \n",
      "\n",
      "Itinerary  36  =  [([(38116, 635, 85468087, 3.8)], ['Bekancan River', 'Pantai Barat Natal', 'Wisata Batu Rongring', 'Kolam Renang Pesona Wisata'])] \n",
      "\n",
      "Itinerary  37  =  [([(7065, 118, 16615870, 4.0)], ['Struggle Monument Berastagi', 'Pantai Simallo'])] \n",
      "\n",
      "Itinerary  38  =  [([(20278, 338, 45914261, 3.8)], ['Bayu Lagoon Resto & Taman Rekreasi', 'Pt. Pmn Travel Bus', 'Kupu-Kupu Garden Guest House & Cafe', 'The Heritage'])] \n",
      "\n",
      "Itinerary  39  =  [([(18837, 314, 42719000, 4.0)], ['Dokter Travel', 'Indah Sipinggan Beach', 'Pemandian Air Panas Tirto Kencono', 'Pemandian Alam Bendungan Ginbers'])] \n",
      "\n",
      "Itinerary  40  =  [([(20015, 334, 45331087, 4.3)], ['Pt. Sky Ocean Travel', 'Air Terjun Aek Nabontar', 'Handreva Tour'])] \n",
      "\n",
      "Itinerary  41  =  [([(5334, 89, 12777565, 4.0)], ['Pesanggrahan Bung Karno', 'Masjid Agung Sibolga'])] \n",
      "\n",
      "Itinerary  42  =  [([(24899, 415, 56160826, 3.7)], ['Muara Beach Beautiful', 'Air Terjun Sitiotio', 'Lau Bingai', 'Kolam Renang Pesona Wisata', 'Grand Darussalam. Ud', 'Air Panas Simolap'])] \n",
      "\n",
      "Itinerary  43  =  [([(20576, 343, 46575043, 4.0)], ['Tor Simago-Mago', 'Sibolga Dutch Tunnel', 'Tangkahan'])] \n",
      "\n",
      "Itinerary  44  =  [([(8882, 148, 20644870, 4.2)], ['Tourism Kuala Paret', 'Bersama Travel', 'Gedung Mabmi', 'Bukit Lawang Ecotourism & Ecoproject'])] \n",
      "\n",
      "Itinerary  45  =  [([(39974, 666, 89588000, 4.0)], ['Masjid Raya', 'Pantai Malaya', 'Silalahi I', 'Na Ix-X', 'Lokasi Wisata Pemandian Air Panas Sipoholon', 'Waterfall Pelangi Indah', 'Ambar Onan Runggu'])] \n",
      "\n",
      "Itinerary  46  =  [([(23114, 385, 52202783, 4.0)], ['Sumatra Tours Holiday & Jungle Trekking', 'Pool Bus Intra', 'Pasir Putih Janggawari'])] \n",
      "\n",
      "Itinerary  47  =  [([(18083, 301, 41047087, 3.7)], ['Warnawarni Stabat', 'Wisata Alam Siringo', 'Letter Z', 'Dolok Bunga Sirandorung', 'Museum Pusaka Karo - Berastagi', 'Taman Air Percut'])] \n",
      "\n",
      "Itinerary  48  =  [([(26941, 449, 60688739, 4.0)], ['Taman Mini Travel Langkat', 'Welterbeminimini', 'Sibolga Dutch Tunnel', 'Kolam Renang Air Panas Mardinding Tiga Rasa'])] \n",
      "\n",
      "Itinerary  49  =  [([(1866, 31, 5087652, 4.0)], ['Bukit Lawang Travel', 'Langkat Regency'])] \n",
      "\n",
      "Itinerary  50  =  [([(35922, 599, 80603130, 3.7)], ['Rudang Mayang', 'The Kaldera', 'Lau Teba Langkat', 'Wisata Sipinsur', 'Puncak Pelangkah Gading, Kutambaru, Munte, Kab. Karo, Sumut', 'Ambar Onan Runggu', 'Vania Travel'])] \n",
      "\n",
      "Itinerary  51  =  [([(19809, 330, 44874304, 3.7)], ['Wisata Bendunga Sei Palis', 'Puncak Jb', 'Wisata Dakwah Okura'])] \n",
      "\n",
      "Itinerary  52  =  [([(6159, 103, 14606913, 4.0)], ['Taman Mejuah-Juah', 'Simanimbo Waterfall'])] \n",
      "\n",
      "Itinerary  53  =  [([(11799, 197, 27113000, 3.7)], ['Hotel Pesona Wisata', 'Masjid Raya Kisaran Kota', 'Parhallow Viewpoint And Coffee Shop'])] \n",
      "\n",
      "Itinerary  54  =  [([(1913, 32, 5191870, 3.7)], ['Gedung Mabmi', 'Air Terjun Pantai Salak', 'Landak River'])] \n",
      "\n",
      "Itinerary  55  =  [([(20260, 338, 45874348, 4.0)], ['Air Terjun Gorbus', 'Taman Mini Travel Langkat', 'Ikan Larangan Lubuak Landua', 'Pusat Posko \"Teroh-Teroh.'])] \n",
      "\n",
      "Itinerary  56  =  [([(8818, 147, 20502957, 3.7)], ['Lake Toba Viewpoint', 'Bukit Lawang Planet Hijau', 'Museum Zoologi'])] \n",
      "\n",
      "Itinerary  57  =  [([(10509, 175, 24252565, 4.0)], ['Pantai Pasir Putih Parparean', 'Biro Jasa', 'Siregar Aek Nalas'])] \n",
      "\n",
      "Itinerary  58  =  [([(25969, 433, 58533435, 4.0)], ['Karo Regency', 'Penangkaran Buaya Asam Kumbang', 'Gundaling', 'Desa Adat Ragi Hotang Meat', 'Pantai Pulau Putri'])] \n",
      "\n",
      "Itinerary  59  =  [([(4810, 80, 11615652, 3.7)], ['Amarjun Wisata', 'Pemandian Air Panas Sibayak Mardinding Julu', 'Tanjung Pura'])] \n",
      "\n",
      "Itinerary  60  =  [([(3046, 51, 7704174, 3.7)], ['Elsasya Utama', 'Tanjung Pura', 'Tirtanadi Tower'])] \n",
      "\n",
      "Itinerary  61  =  [([(16666, 278, 37905043, 3.9)], ['Pantai Simallo', 'Monumen Loko Uap Du Croo & Braun', 'Azizi Mosque', 'Wisata Hutan Mangrove Perpat', 'Abadas Jaya', 'Pantai Paris', 'Museum Pusaka Karo - Berastagi'])] \n",
      "\n",
      "Itinerary  62  =  [([(37471, 625, 84037870, 3.7)], ['Danau Linting', 'Air Terjun Bah Salak', 'Lubuk Batang Waterfall', 'Tugu Air Bangis', 'Pantai Arta Indah', 'Sp.Lau Petundal'])] \n",
      "\n",
      "Itinerary  63  =  [([(37753, 629, 84663174, 3.9)], ['Asahan Regency', 'Taman Remaja Binjai', 'Pt Wisata Habibah Berkah', 'Niagara Tanjung Raja', 'Taman Rekreasi Kong Mah', 'Jembatan Dalik Lubuk Sikaping', 'Awaliyah Tour And Travel', 'Penatapen Doulu', 'Wisata Rekreasi Danau Buatan'])] \n",
      "\n",
      "Itinerary  64  =  [([(26830, 447, 60442609, 4.0)], ['Museum Pusaka Karo - Berastagi', 'Air Terjun Malakkut', 'Perhadtian Air Panas Taman Wisata Sibayak', 'Grand Darussalam. Ud', 'Great Mosque'])] \n",
      "\n",
      "Itinerary  65  =  [([(8162, 136, 19048348, 4.0)], ['Air Terjun Taga Hambing', 'Tanah Lapang Merdeka Binjai'])] \n",
      "\n",
      "Itinerary  66  =  [([(3869, 64, 9529087, 4.0)], ['Ambar Onan Runggu', 'Wisata Sipinsur'])] \n",
      "\n",
      "Itinerary  67  =  [([(9208, 153, 21367739, 4.0)], ['Tugu Marga Silalahi', 'Pantai Sikilang'])] \n",
      "\n",
      "Itinerary  68  =  [([(27391, 457, 61686565, 3.4)], ['Air Travel Parsariran', 'Kualuh Hulu', 'Bahal Temple I', 'Sitinjo', 'Grand Darussalam. Ud', 'Tugu Marga Silalahi', 'Pakkodian Toba'])] \n",
      "\n",
      "Itinerary  69  =  [([(37841, 631, 84858304, 3.8)], ['Penatapan Pamah Simelir', 'Bukik Posuak Maek', 'West Kisaran', 'Putri Cahaya Travel', 'Bintang Johor Swimming Pool', 'Simpang Pantai Monyet'])] \n",
      "\n",
      "Itinerary  70  =  [([(46833, 781, 104797087, 3.9)], ['Air Terjun Malakkut', 'Taman Bunga', 'Bukit Gibeon (Yapim Taruna)', 'Penatapan Pamah Simelir', 'Puncak Bukit Manalise Aek Buro', 'Fortress Seven Layer', 'Pemandian Pulau Batu (Pulbat)'])] \n",
      "\n",
      "Itinerary  71  =  [([(19976, 333, 45244609, 3.8)], ['Lumban Binanga Beach Laguboti', 'Auliya Tour & Travel', 'Wisata Alam Aek Markusasak', 'Azizi Mosque'])] \n",
      "\n",
      "Itinerary  72  =  [([(32864, 548, 73822348, 3.9)], ['Pool Bus Intra', 'Sampuren Tutuen Sige', 'Museum Huta Bolon Simanindo', 'Go Adventure Tour & Travel Indonesia', 'Air Travel Parsariran', 'Malay Street Medan', 'Vihara Pekong Lima'])] \n",
      "\n",
      "Itinerary  73  =  [([(57329, 955, 128070826, 3.9)], ['Dinas Kebudayaan & Pariwisata', 'Pesanggrahan Bung Karno', 'Tugu Pramuka', 'Mandailing Natal Regency', 'Taman Kota Salak (Tugu Salak)', 'Wisata Alam Siringo', 'Pantai Maligi', 'Taman Balita Kota Binjai'])] \n",
      "\n",
      "Itinerary  74  =  [([(25647, 427, 57819435, 3.7)], ['Wisata Bendunga Sei Palis', 'Pemandian Air Panas Goa Ergendang', 'Museum Perkebunan Indonesia', 'Taman Rekreasi Kong Mah', 'Puncak Gundaling Brastagi', 'Sansan Travel'])] \n",
      "\n",
      "Itinerary  75  =  [([(11592, 193, 26654000, 3.5)], ['Elsasya Utama', 'Pulau Poncan'])] \n",
      "\n",
      "Itinerary  76  =  [([(3363, 56, 8407087, 4.0)], ['Wisata Alam Experience Survive Champing', 'Museum Kota Tebing Tinggi'])] \n",
      "\n",
      "Itinerary  77  =  [([(34504, 575, 77458870, 3.7)], ['North Namu Ukur', 'Garunggang', 'Fortress Seven Layer', 'Puncak Jb', 'Chinatown Medan', 'Taman Wisata Simatahari Indah'])] \n",
      "\n",
      "Itinerary  78  =  [([(22306, 372, 50411130, 4.0)], ['Mangrove Tour Lubuk Kertang', 'Air Terjun Kemuning'])] \n",
      "\n",
      "Itinerary  79  =  [([(30240, 504, 68003913, 3.7)], ['Bukit Lawang Travel', 'Sumatra Jungle Trek', 'Paranggiran Raja Silahisabungan', 'Stasiun Binjai', 'Simpang Pantai Monyet', 'Pantai Bul Bul', \"Pt. Bagus Wisata Holiday's\"])] \n",
      "\n",
      "Itinerary  80  =  [([(6498, 108, 15358609, 4.0)], ['Waterfall Pelangi Indah', 'Batu Kursi Raja Siallagan ( Stone Chair Of King Siallagan )', 'Pt Farnaz Utama'])] \n",
      "\n",
      "Itinerary  81  =  [([(17671, 295, 40133522, 4.0)], ['Air Terjun Betala', 'Sbv', 'Pemandian Air Panas U.S.K Hineni', 'Saba Napa'])] \n",
      "\n",
      "Itinerary  82  =  [([(9680, 161, 22414348, 4.0)], ['Nature Baths Gantang Rani', 'Makam Ompung Parmata Sapihak'])] \n",
      "\n",
      "Itinerary  83  =  [([(14801, 247, 33769609, 4.0)], ['Masjid Agung Islamic Centre Pasir Pengaraian Rohul', 'Objek Wisata Budaya Batu Kursi Raja Siallagan', 'Air Terjun Efrata'])] \n",
      "\n",
      "Itinerary  84  =  [([(22135, 369, 50031957, 3.3)], ['Plta Sipansihaporas', 'Bayu Lagoon Resto & Taman Rekreasi', 'West Kisaran'])] \n",
      "\n",
      "Itinerary  85  =  [([(52261, 871, 116833087, 4.0)], ['Tugu Pahlawan Revolusi', 'North Namu Ukur', 'Pantai Ketam', 'Alun Alun Lubuk Sikpaing', 'Pt. Dairi Transport', 'Pantai Arta Indah'])] \n",
      "\n",
      "Itinerary  86  =  [([(41874, 698, 93801043, 3.6)], ['Pantai Pelawan', 'Dinas Kebudayaan & Pariwisata', 'Pondok Pisang', 'Merci Waterboom', 'West Kisaran', 'Yayasan Perguruan Sisingamangaraja', 'Delta'])] \n",
      "\n",
      "Itinerary  87  =  [([(26655, 444, 60054565, 3.9)], ['Air Terjun Taga Hambing', 'Titi Gantung Bridge', 'Dairi Regency', 'Air Soda Kabupaten Karo', 'Sbv', 'Berastagi', 'Dinas Kebudayaan & Pariwisata', 'Tahura (Taman Hutan Raya)'])] \n",
      "\n",
      "Itinerary  88  =  [([(18007, 300, 40878565, 4.2)], ['Malay Street Medan', 'Bukit Lawang Ecotourism & Ecoproject', 'Agrowisata Hidro Aa', 'Wisata Dakwah Okura', 'Pesanggrahan Bung Karno'])] \n",
      "\n",
      "Itinerary  89  =  [([(35823, 597, 80383609, 4.2)], ['Sibio-Bio Advanture Park', 'Taman Benteng Lions Club', 'Tugu Pahlawan Revolusi', 'Museum Pusaka Karo - Berastagi', 'Market Wisata (Tour Bangkok, Tour Phuket, Tour Medan)'])] \n",
      "\n",
      "Itinerary  90  =  [([(9072, 151, 21066174, 4.0)], ['Pantai Indah Sipinggan', 'Dolok Bunga Sirandorung', 'Sampuren Tutuen Sige'])] \n",
      "\n",
      "Itinerary  91  =  [([(30195, 503, 67904130, 3.8)], ['Bukit Lawang Guide', 'Salak Monument Pakkat', 'Disparbud Dairi', 'Pantai Barat Natal'])] \n",
      "\n",
      "Itinerary  92  =  [([(28386, 473, 63892870, 3.7)], ['Go Adventure Tour & Travel Indonesia', 'Alun Alun Lubuk Sikpaing', 'R.M Wisata Indah'])] \n",
      "\n",
      "Itinerary  93  =  [([(13241, 221, 30310478, 3.6)], ['Monkey Forest Umar Manik Sibaganding', 'Lorong Pandan', 'Waterpark Bima Utomo International', 'Batu Lobang Sibaganding', 'Batak Museum', 'Pt Pelangi Wisata', 'Permata Asri Stabat'])] \n",
      "\n",
      "Itinerary  94  =  [([(43170, 720, 96674783, 3.4)], ['Masjid Raya', 'Tts (Toru Tor Simarsayang) Cafe', 'Parhonasan (Kebun Nenas) Sidumpe Anturi', 'Tour Accomodation', 'Air Terjun Baburai'])] \n",
      "\n",
      "Itinerary  95  =  [([(3517, 59, 8748565, 4.0)], ['Penatapen Doulu', 'Kantor Dinas Pariwisata Kabupaten Humbang Hasundutan', 'Museum Pusaka Karo - Berastagi'])] \n",
      "\n",
      "Itinerary  96  =  [([(24155, 403, 54511087, 4.2)], ['Mandailing Natal Regency', 'Vihara Avalokitesvara', 'Pisang Pelangi', 'Menara Pandang Simanindo', 'Wisata Alam Experience Survive Champing'])] \n",
      "\n",
      "Itinerary  97  =  [([(54574, 910, 121961913, 3.8)], ['Replika Pagoda Shwedagon', 'Penangkaran Rusa Universitas Sumatera Utara', 'Patung Dewi Kwan Im', 'Wisata Pancing Sungai Bedera', 'Masjid Raya', 'Dolok Bunga Sirandorung', 'Panatapan Sileme-Leme', 'Welterbeminimini', 'Kolam Pancing Asri'])] \n",
      "\n",
      "Itinerary  98  =  [([(49783, 830, 111338391, 4.0)], ['De Hole Laguna', 'Warung Info Wisata', 'T.Garden', 'Kolam Renang Pesona Wisata', 'Wisata Dakwah Okura', 'Pantai Batu Rusa', 'Objek Wisata Luak Gadang, Guguak Rang Pisang', 'Sumur Tua'])] \n",
      "\n",
      "Itinerary  99  =  [([(33985, 566, 76308043, 3.5)], ['Pemandian Air Panas Rianiate', 'Anugerah Soambaton Beach', 'Kuta Sukareme', 'Nice Trans Kisaran', 'Berastagi', 'Pantai Pasir Putih Parparean', 'Rosyid Orangutan Tours', 'Tugu Silahi Sabungan'])] \n",
      "\n",
      "Itinerary  100  =  [([(62129, 1035, 138714304, 4.0)], ['Gereja Katolik St. Dionysius, Sumbul', 'Delta', 'Tor Simago-Mago', 'Objek Wisata Togindrawa Gua', 'Tugu Silahi Sabungan', 'Kebun Madu Efi', 'Saba Napa', 'Danau Tao Batang Onang', 'Taman Kebun Bunga èŒ  榀¢ 圀™'])] \n",
      "\n",
      "Itinerary  101  =  [([(23194, 387, 52380174, 3.8)], ['Pantai Tiram Tapakis', 'Air Terjun Pantai Salak', 'Tobasa', 'Landak River'])] \n",
      "\n",
      "Itinerary  102  =  [([(12153, 203, 27897957, 3.8)], ['Sansan Travel', 'Puncak Gundaling Brastagi', 'Penatapen Doulu', 'Museum Perkebunan Indonesia', 'Bayu Lagoon Resto & Taman Rekreasi'])] \n",
      "\n",
      "Itinerary  103  =  [([(28869, 481, 64963870, 3.8)], ['Taman Mejuah-Juah', 'Puncak Anai', 'Oyo 1752 Hotel Wisata', 'Salib Kasih', 'Pertunjukan Tari Sigale Gale'])] \n",
      "\n",
      "Itinerary  104  =  [([(25112, 419, 56633130, 4.2)], ['Stasiun Binjai', 'Ksu Antara Travel', 'Objek Wisata Patamuan', 'Warung Info Wisata'])] \n",
      "\n",
      "Itinerary  105  =  [([(61430, 1024, 137164348, 3.9)], ['Bair Falls', 'Pemandian Alam Bendungan Ginbers', 'Dokter Travel', 'Taman Rekreasi Kong Mah', 'Sri Supramaniyam Temple', 'Jembatan Tano Ponggol', 'Lumban Binanga Beach Laguboti', 'Lau Gendang,Wisata Gua', 'Air Terjun Nyarai'])] \n",
      "\n",
      "Itinerary  106  =  [([(27823, 464, 62644478, 4.2)], ['Sri Deli Park', 'Penatapan Pamah Simelir', 'Paranggiran Raja Silahisabungan', 'Lau Mentar Canyon', 'Binjai'])] \n",
      "\n",
      "Itinerary  107  =  [([(33948, 566, 76226000, 3.8)], ['Bukit Gibeon (Yapim Taruna)', 'Tugu Pramuka', 'Puncak Anai', 'Travel Panyabungan Padang'])] \n",
      "\n",
      "Itinerary  108  =  [([(67288, 1121, 150153826, 3.9)], ['Tour Guide,Tarna Sagala.German &Dutch Speaking', 'Museum Zoologi', 'Air Travel Parsariran', 'One Heart Hill', 'Penangkaran Buaya Asam Kumbang', 'Pantai Pulau Putri', 'Danau Pagaran Padang', 'Pantai Sorake Nias Selatan', 'Connectingjungle'])] \n",
      "\n",
      "Itinerary  109  =  [([(5493, 92, 13130130, 3.7)], ['Taman Danau Wisata Bunga Tujuh', 'Batu Gantung', 'Air Terjun Taman Eden 100, Tobasa'])] \n",
      "\n",
      "Itinerary  110  =  [([(61760, 1029, 137896087, 3.8)], ['Sri Supramaniyam Temple', 'Pantai Simallo', 'Air Terjun Sibabo', 'Cis Tour & Travel', 'Masjid Agung Sibolga', 'Pantai Sikilang', 'Makam Ompung Parmata Sapihak', 'Monumen Halilintar', 'Bukit Lawang Ecotourism & Ecoproject'])] \n",
      "\n",
      "Itinerary  111  =  [([(1751, 29, 4832652, 4.0)], ['Binjai', 'Tourism Kuala Paret'])] \n",
      "\n",
      "Itinerary  112  =  [([(50005, 833, 111830652, 3.2)], ['Tahura (Taman Hutan Raya)', 'Jln Dusun Lauseridi', 'Masjid Mustaqim, Sikopi-Kopi, Pulo Dogom, Kualuh Hulu, Labuhanbatu Utara, Sumatera Utara.', 'Salib Kasih', 'Sabah Simelir', 'Lau Teba Langkat', 'Loket Bus Bintang Utara', 'Jembatan Sidikalang Wisata'])] \n",
      "\n",
      "Itinerary  113  =  [([(76766, 1279, 171170261, 3.6)], ['Dunia Outbound Camp', 'Umbul Ejuk', 'Lyza Outbount', 'Pemandian Air Panas Sibayak Mardinding Julu', 'Aman Wisata Citra Int. Pt', 'Objek Wisata Maggrove Sisarahili Ts', 'Lumban Binanga Beach Laguboti', 'Air Terjun Simpang Kanan', 'Wisata Sipinsur'])] \n",
      "\n",
      "Itinerary  114  =  [([(24726, 412, 55777217, 4.7)], ['Medan City Tour', 'Na Ix-X', 'Saf Travel Indo', 'Taman Remaja Binjai', 'Bus Wisata', 'Waterfall Pelangi Indah'])] \n",
      "\n",
      "Itinerary  115  =  [([(20314, 339, 45994087, 3.7)], ['Rm Batunadua Indah', 'Armaya Wisata Alam', 'Kota Padang Sidempuan'])] \n",
      "\n",
      "Itinerary  116  =  [([(21781, 363, 49247000, 3.8)], ['Explore Bahorok Adventure Trip', 'Loket Satu Nusa', 'Pantai Maligi', 'Pantai Pasir Putih Parbaba', 'Air Terjun Nai Sogop'])] \n",
      "\n",
      "Itinerary  117  =  [([(8545, 142, 19897609, 4.0)], ['Sri Supramaniyam Temple', 'Perumahaan Azalea Asri', 'Tugu Sitio', 'Bendungan Lau Si Meimei'])] \n",
      "\n",
      "Itinerary  118  =  [([(43663, 728, 97767957, 3.4)], ['Viewpoint Of Tuktuk Peninsula', 'Taman Gajah Mada', 'Pantai Kaca', 'Wisata Alam', 'Vihara Pekong Lima', 'Bukit Lawang', 'Salak Monument Pakkat', 'Kuta Sukareme'])] \n",
      "\n",
      "Itinerary  119  =  [([(10980, 183, 25296957, 3.8)], ['Wisata Alam Aek Sordang', 'Museum Zoologi', 'Lumban Binanga Beach Laguboti', 'Na Ix-X'])] \n",
      "\n",
      "Itinerary  120  =  [([(23861, 398, 53859174, 4.0)], ['Budaya Resto', 'Pasir Putih Porsea', 'Puncak Pelangkah Gading, Kutambaru, Munte, Kab. Karo, Sumut', 'Puncak Kabur Bukit Villa', 'Gang Bengkok Old Mosque'])] \n",
      "\n",
      "Itinerary  121  =  [([(2534, 42, 6568870, 4.0)], ['Lapangan Pasir Tanjung Balai', 'Simanimbo Waterfall'])] \n",
      "\n",
      "Itinerary  122  =  [([(32876, 548, 73848957, 3.8)], ['Parks West Coast', 'Vihara Pekong Lima', 'The Le Hu Garden', 'Mangrove Tour Lubuk Kertang'])] \n",
      "\n",
      "Itinerary  123  =  [([(22626, 377, 51120696, 4.0)], ['Dairi Regency', 'Lau Bengkelade Kuta', 'Agen Bus Karina', 'Bukit Lawang Planet Hijau'])] \n",
      "\n",
      "Itinerary  124  =  [([(27459, 458, 61837348, 4.0)], ['Silalahi I', 'Pemandian Alam Agape', 'Toddler Garden Binjai', 'Setia Wisata', 'Pantai Ketam'])] \n",
      "\n",
      "Itinerary  125  =  [([(59108, 985, 132015565, 4.0)], ['R.M Wisata Indah', 'Panatapan Sileme-Leme', 'Aman Wisata Citra Int. Pt', 'Bersama Travel', 'Sp.Lau Petundal', 'Air Terjun Gorbus', 'Air Terjun Sipagogo'])] \n",
      "\n",
      "Itinerary  126  =  [([(36267, 604, 81368130, 4.0)], ['Romance Padi Perbaungan', 'Pt. Hikmah', 'Lokasi Wisata Pemandian Air Panas Sipoholon', 'Thermal Baths U.S.K Hineni', 'Lau Bengkelade Kuta', 'Dairi Regency', 'Air Terjun Ponot', 'Agen Bus Karina', 'Monkey Forest Umar Manik Sibaganding'])] \n",
      "\n",
      "Itinerary  127  =  [([(8708, 145, 20259043, 3.0)], ['Air Travel Parsariran', 'Puncak Hoza'])] \n",
      "\n",
      "Itinerary  128  =  [([(14137, 236, 32297261, 4.0)], ['Amarjun Wisata', 'Hadabuan Naisogop Waterfalls', 'Wisata Sipinsur'])] \n",
      "\n",
      "Itinerary  129  =  [([(20662, 344, 46765739, 3.2)], ['Pt Pelangi Wisata', 'Pemandian Sidamanik', 'Sp.Lau Petundal', 'Wisata Agro Kopi Karo', 'Air Terjun Malakkut'])] \n",
      "\n",
      "Itinerary  130  =  [([(43174, 720, 96683652, 4.0)], ['Pakpak Culture Association (Cgc)', 'Pt. Raya Utama Travel', 'Tugu Marga Silalahi', 'Bukit Teletubies', 'Puncak Santai', 'Gedung Mabmi', 'Cis Tour & Travel', 'Gundaling'])] \n",
      "\n",
      "Itinerary  131  =  [([(31732, 529, 71312261, 3.7)], ['Pantai Maligi', 'Wisata Rekreasi Danau Buatan', 'Masjid Raya Stabat', 'Agen Bus Karina', 'Masjid Agung Islamic Centre Pasir Pengaraian Rohul', 'Pantai Kenangan'])] \n",
      "\n",
      "Itinerary  132  =  [([(59125, 985, 132053261, 3.5)], ['Karo Regency', 'Bukit Lawang Travel', 'Masjid Agung Kota Binjai', 'Pantai Ketam', 'Wisata Alam Aek Sordang', 'Wisata Alam \"Panatapan Parupuk Julu\"', 'Tahura (Taman Hutan Raya)', 'Huta Bolon'])] \n",
      "\n",
      "Itinerary  133  =  [([(48667, 811, 108863783, 3.9)], ['Peceren Karo Village', 'Pesanggrahan Bung Karno', 'Nice Trans Kisaran', 'Sibio-Bio Adventure Park', 'Danau Sipogas', 'Disparbud Dairi', 'Little India Medan', 'Puncak Saragodung'])] \n",
      "\n",
      "Itinerary  134  =  [([(20392, 340, 46167043, 3.9)], ['Grand Darussalam. Ud', 'Wisata Indonesia Itu Indah', 'Wisata Alam Pondok Biru', 'Connectingjungle', 'Mmtc Walking Street', 'Air Terjun Pantai Salak', 'Peceren Karo Village'])] \n",
      "\n",
      "Itinerary  135  =  [([(56946, 949, 127221565, 3.9)], ['Air Terjun Lenggo Geni', 'Kupu-Kupu Garden Guest House & Cafe', 'Berakit-Rakit Ke Hulu', 'Pantai Maligi', 'Wisata Alam', 'Efrata Waterfall', 'Air Terjun Nai Sogop', 'Puncak Tonang'])] \n",
      "\n",
      "Itinerary  136  =  [([(11603, 193, 26678391, 3.2)], ['Mangrove Tour Lubuk Kertang', 'Titi Gantung Bridge', 'Bagan Percut', 'Air Terjun Sibabo'])] \n",
      "\n",
      "Itinerary  137  =  [([(13475, 225, 30829348, 4.0)], ['Winter Holidays', 'Monumen Equator', 'Pantai Batu Rusa'])] \n",
      "\n",
      "Itinerary  138  =  [([(5899, 98, 14030391, 4.0)], ['Kisaran Kota', 'Grand Darussalam. Ud'])] \n",
      "\n",
      "Itinerary  139  =  [([(24695, 412, 55708478, 3.8)], ['Loket Bus Bintang Utara', 'Pt. Raya Utama Travel', 'Lake Toba Viewpoint', 'Aek Malapari', 'Pantai Malaya'])] \n",
      "\n",
      "Itinerary  140  =  [([(37910, 632, 85011304, 3.4)], ['Pantai Sorake Nias Selatan', 'Sp.Lau Petundal', 'The Le Hu Garden', \"Pt. Bagus Wisata Holiday's\", 'Connectingjungle', 'Bukit Senyum', 'Perumahaan Azalea Asri'])] \n",
      "\n",
      "Itinerary  141  =  [([(38907, 648, 87222043, 3.9)], ['Cafe Goa Kaca', 'Putri Cahaya Travel', 'Bukit Lawang Explore', 'Sampuren Tutuen Sige', 'Elsasya Utama', 'Merci Waterboom', 'Gunung Pandan River Tourism Area', 'Objek Wisata Patamuan', 'Puncak Gundaling Brastagi'])] \n",
      "\n",
      "Itinerary  142  =  [([(40182, 670, 90049217, 3.9)], ['Dermaga Silalahi', 'Kualuh Hulu', 'Hadabuan Naisogop Waterfalls', 'Pantai Bul Bul', 'T.Garden', 'Wisata Sawah Koto', 'Replika Pagoda Shwedagon', 'Replika Istana Serdang'])] \n",
      "\n",
      "Itinerary  143  =  [([(41798, 697, 93632522, 4.0)], ['Aek Milas Paringgonan Sibuhuan', 'Pantai Arta Indah', 'Langkat Regency', 'Museum Simalungun', 'Penangkaran Rusa Universitas Sumatera Utara'])] \n",
      "\n",
      "Itinerary  144  =  [([(23011, 384, 51974391, 4.4)], ['Air Terjun Sipitu Tikka', 'Twins Travel', 'Agrowisata Hidro Aa', 'Taman Pesona Asri', 'Aek Sipaulak Hosa Loja'])] \n",
      "\n",
      "Itinerary  145  =  [([(17456, 291, 39656783, 4.0)], ['Auliya Tour & Travel', 'Stasiun Binjai', 'Air Terjun Sipitu Tikka', 'Pulau Samosir', 'Bukit Lawang Ecotourism & Ecoproject'])] \n",
      "\n",
      "Itinerary  146  =  [([(45869, 764, 102659522, 3.7)], ['Air Terjun Simonang Monang', 'Sbv', 'Bahal Temple I', 'Rumah Wisata Sunggal', 'Masjid Al Istiqomah', 'Pemandian Air Panas Goa Ergendang', 'Puncak Pelangkah Gading, Kutambaru, Munte, Kab. Karo, Sumut', 'Amarjun Wisata', 'Objek Wisata Maggrove Sisarahili Ts'])] \n",
      "\n",
      "Itinerary  147  =  [([(3815, 64, 9409348, 4.0)], ['Huta Bolon', 'Simonis'])] \n",
      "\n"
     ]
    }
   ],
740
   "source": [
Febby Simanjuntak committed
741 742
    "simeal = printt.result()\n",
    "simeal"
743 744 745 746 747 748 749 750 751 752 753
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Iterated Local Search"
   ]
  },
  {
   "cell_type": "code",
Febby Simanjuntak committed
754
   "execution_count": 9,
755 756
   "metadata": {},
   "outputs": [],
Febby Simanjuntak committed
757 758
   "source": [
    "#Initial Solution\n",
Febby Simanjuntak committed
759
    "\n",
Febby Simanjuntak committed
760 761 762 763
    "class initial:\n",
    "    def solution (data):\n",
    "        tempatbaru = []\n",
    "        tempatbaru *= 0\n",
Febby Simanjuntak committed
764
    "        da = generateTempatWisata(data)\n",
Febby Simanjuntak committed
765 766 767 768
    "        inn = inputan(da)\n",
    "        tempatbaru.append((inn, da))\n",
    "        return tempatbaru\n",
    "    \n",
Febby Simanjuntak committed
769
    "    def listsolution(data):\n",
Febby Simanjuntak committed
770
    "        list_ = []\n",
Febby Simanjuntak committed
771 772
    "        listiteration = 150\n",
    "        for i in range(listiteration):\n",
Febby Simanjuntak committed
773 774 775 776
    "            c = initial.solution(data)\n",
    "            list_.append(c)\n",
    "        return list_\n",
    "\n",
Febby Simanjuntak committed
777
    "class iteratedlocalsearch:   \n",
Febby Simanjuntak committed
778 779
    "    def calculate(data):\n",
    "        final_solution = []\n",
Febby Simanjuntak committed
780 781
    "        sol_iteration = 150\n",
    "        for it in range(sol_iteration):\n",
Febby Simanjuntak committed
782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797
    "            x1 = initial.solution(data)\n",
    "            x2 = initial.listsolution(data)\n",
    "            x2.sort(reverse = False)\n",
    "            tes = False;\n",
    "            x11 = x1[0][0][0][0]\n",
    "            x12 = x1[0][0][0][3]\n",
    "            for i in range(len(x2)):\n",
    "                \n",
    "                x21 = x2[i][0][0][0][0]\n",
    "                x22 = x2[i][0][0][0][3]\n",
    "                if (x11 < x21 and x12 < x22) or (x11 < x21 and x12 == x22):\n",
    "                    tes = True;\n",
    "                    break;\n",
    "            if(tes):\n",
    "                final_solution.append(x1);\n",
    "        return final_solution\n",
Febby Simanjuntak committed
798 799 800 801 802 803 804 805 806 807
    "\n",
    "# Class printt \n",
    "class printils:\n",
    "    \n",
    "    def resultils():\n",
    "        data = df[\"Tempat Wisata\"]\n",
    "        result_ = iteratedlocalsearch.calculate(data)\n",
    "        print(len(result_), \"\\n\")\n",
    "        for i in range(len(result_)):\n",
    "            print(\"Itinerary \", i+1, \" = \", result_[i], \"\\n\")\n",
Febby Simanjuntak committed
808
    "            "
Febby Simanjuntak committed
809
   ]
810
  },
Febby Simanjuntak committed
811 812 813 814
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
815
   "outputs": [],
Febby Simanjuntak committed
816
   "source": [
817
    "#printils.resultils()"
Febby Simanjuntak committed
818 819 820
   ]
  },
  {
Febby Simanjuntak committed
821
   "cell_type": "markdown",
Febby Simanjuntak committed
822 823
   "metadata": {},
   "source": [
Febby Simanjuntak committed
824
    "### 3.Evalutionary Algorithm"
Febby Simanjuntak committed
825 826
   ]
  },
827 828
  {
   "cell_type": "code",
Febby Simanjuntak committed
829
   "execution_count": 11,
830
   "metadata": {},
Febby Simanjuntak committed
831
   "outputs": [],
Febby Simanjuntak committed
832
   "source": [
Febby Simanjuntak committed
833
    "#Random Population\n",
Febby Simanjuntak committed
834 835 836 837
    "class preevaluation():\n",
    "    def swappositions(list, pos1, pos2):\n",
    "        list[pos1], list[pos2] = list[pos2], list[pos1]\n",
    "        return list\n",
Febby Simanjuntak committed
838
    "\n",
Febby Simanjuntak committed
839 840 841 842 843 844 845 846 847 848 849
    "    def setinput(data):\n",
    "        collect = []\n",
    "        dft = df[\"Tempat Wisata\"]\n",
    "        for i in range(len(data)):\n",
    "            tt = data[i]\n",
    "            tess = []\n",
    "            tess *= 0\n",
    "            for c in range (len(tt)):\n",
    "                tess.append(tt[c])\n",
    "            collect.append(tess)\n",
    "        return collect\n",
Febby Simanjuntak committed
850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871
    "\n",
    "class evalutionary():\n",
    "    def listcrossover(data):\n",
    "        basic = []\n",
    "        for x in range(len(data)):\n",
    "            cc = inputan(data[x])\n",
    "            basic.append(cc)\n",
    "        return basic\n",
    "\n",
    "    def tercriteria(data):\n",
    "        listcriteria = []\n",
    "        listcriteria *= 0\n",
    "        for i in range(150):\n",
    "            cri = generateTempatWisata(data);\n",
    "            if len(cri) > 2:\n",
    "                listcriteria.append(cri)\n",
    "        return listcriteria\n",
    "\n",
    "    def parentselect(data):\n",
    "        parent = choice(data)\n",
    "        return parent\n",
    "\n",
Febby Simanjuntak committed
872
    "    def crossover(parentdata, listdata):#Single point crossover\n",
Febby Simanjuntak committed
873 874
    "        offspring = []\n",
    "        offspring *= 0\n",
Febby Simanjuntak committed
875
    "        cros = np.array_split(parentdata, 2)\n",
Febby Simanjuntak committed
876
    "        for i in range (len (listdata)):\n",
Febby Simanjuntak committed
877 878
    "            over = np.array_split(listdata[i], 2)\n",
    "            tes = np.append(cros[0], over[1] )\n",
Febby Simanjuntak committed
879 880 881
    "            offspring.append(tes)\n",
    "        return offspring\n",
    "\n",
Febby Simanjuntak committed
882
    "    def mutation(data):\n",
Febby Simanjuntak committed
883 884 885 886
    "        rescross = []\n",
    "        for i in range(len(data)):\n",
    "            ck = data[i]\n",
    "            if len(ck) > 3:\n",
Febby Simanjuntak committed
887
    "                preevaluation.swappositions(ck, 1, len(ck)-2)\n",
Febby Simanjuntak committed
888 889
    "            rescross.append(ck)\n",
    "        return rescross\n",
Febby Simanjuntak committed
890
    "    \n",
Febby Simanjuntak committed
891 892 893 894 895 896 897 898 899 900
    "class printEA():\n",
    "    def printtea():\n",
    "        data = df[\"Tempat Wisata\"]\n",
    "        listdat = evalutionary.tercriteria(data)\n",
    "        parent = evalutionary.parentselect(listdat)\n",
    "        res = evalutionary.crossover(parent, listdat)\n",
    "        result = evalutionary.mutation(res)\n",
    "        print(len(result), \"\\n\")\n",
    "        for i in range(len(result)):\n",
    "            print(\"Itinerary \", i+1, \" = \", inputan(result[i]) , result[i], \"\\n\")\n",
Febby Simanjuntak committed
901
    "           "
Febby Simanjuntak committed
902
   ]
903 904
  },
  {
Febby Simanjuntak committed
905
   "cell_type": "code",
Febby Simanjuntak committed
906
   "execution_count": 12,
907
   "metadata": {},
Febby Simanjuntak committed
908 909
   "outputs": [
    {
Febby Simanjuntak committed
910 911 912
     "name": "stdout",
     "output_type": "stream",
     "text": [
Febby Simanjuntak committed
913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100
      "130 \n",
      "\n",
      "Itinerary  1  =  [(20280, 338, 45918696, 4.0)] ['Puncak Gundaling Brastagi' 'Salib Kasih' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Bukit Lawang Day Trek'] \n",
      "\n",
      "Itinerary  2  =  [(60830, 1014, 135833913, 4.1)] ['Puncak Gundaling Brastagi'\n",
      " 'Tugu Air Mancur Sinar Indonesia Baru Petisah' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Wisata Alam Experience Survive Champing'\n",
      " 'Taman Mini Travel Langkat' 'Vania Travel' 'Air Terjun Ponot'] \n",
      "\n",
      "Itinerary  3  =  [(25297, 422, 57043348, 3.8)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Nice Trans Kisaran'] \n",
      "\n",
      "Itinerary  4  =  [(35747, 596, 80215087, 3.9)] ['Puncak Gundaling Brastagi' 'Perkebunan Londut' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bekas Istana Kesultanan Asahan' 'Vania Travel'\n",
      " 'Jembatan Sidikalang Wisata'] \n",
      "\n",
      "Itinerary  5  =  [(29726, 495, 66864174, 4.0)] ['Puncak Gundaling Brastagi' 'Pool Bus Intra' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Twa Lau Debuk-Debuk' 'Vania Travel'\n",
      " 'Simanimbo Waterfall'] \n",
      "\n",
      "Itinerary  6  =  [(35598, 593, 79884696, 3.9)] ['Puncak Gundaling Brastagi' 'Parhallow Viewpoint And Coffee Shop'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai'\n",
      " 'Puncak Pelangkah Gading, Kutambaru, Munte, Kab. Karo, Sumut'\n",
      " 'Vania Travel' 'Bagan Percut'] \n",
      "\n",
      "Itinerary  7  =  [(28762, 479, 64726609, 3.5)] ['Puncak Gundaling Brastagi' 'Air Terjun Sibabo' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Air Terjun Sarasah Kajai'] \n",
      "\n",
      "Itinerary  8  =  [(37564, 626, 84244087, 3.9)] ['Puncak Gundaling Brastagi' 'Wisata Alam Datuk' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bukit Lawang Explore' 'Mesjid Raya Al-Abror'\n",
      " 'Vania Travel' 'Pinang City'] \n",
      "\n",
      "Itinerary  9  =  [(17479, 291, 39707783, 4.2)] ['Puncak Gundaling Brastagi' 'Yayasan Perguruan Sisingamangaraja'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai' 'Vania Travel' 'Garunggang'] \n",
      "\n",
      "Itinerary  10  =  [(40398, 673, 90528174, 3.8)] ['Puncak Gundaling Brastagi' 'Sbv' 'Garunggang' 'Taman Kota Tanjungbalai'\n",
      " 'Vania Travel' 'Ranika Surf'] \n",
      "\n",
      "Itinerary  11  =  [(31412, 524, 70602696, 4.0)] ['Puncak Gundaling Brastagi' 'Tangkahan' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel'\n",
      " 'Go Adventure Tour & Travel Indonesia'] \n",
      "\n",
      "Itinerary  12  =  [(46517, 775, 104096391, 4.0)] ['Puncak Gundaling Brastagi' 'Bukit Burung' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Royal Palace Nafis Jackson'\n",
      " 'Wisata Taman Merci' 'Vania Travel' 'Pantai Pulau Putri'] \n",
      "\n",
      "Itinerary  13  =  [(37294, 622, 83645391, 3.8)] ['Puncak Gundaling Brastagi' 'Pusat Posko \"Teroh-Teroh.' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Pantai Simallo' 'Pantai Teluk Kerang'\n",
      " 'Vania Travel' 'Hotel Pesona Wisata'] \n",
      "\n",
      "Itinerary  14  =  [(51407, 857, 114939435, 3.9)] ['Puncak Gundaling Brastagi' 'Huta Bolon' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Tts (Toru Tor Simarsayang) Cafe'\n",
      " 'Danau Sipogas' 'Vania Travel' 'Poldung'] \n",
      "\n",
      "Itinerary  15  =  [(33689, 561, 75651696, 4.1)] ['Puncak Gundaling Brastagi' 'Ende Holidays' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Telagah' 'Masjid Agung Kota Binjai'\n",
      " 'Vania Travel' 'Lau Teba Langkat'] \n",
      "\n",
      "Itinerary  16  =  [(24306, 405, 54845913, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Air Terjun Gorbus'] \n",
      "\n",
      "Itinerary  17  =  [(32586, 543, 73205913, 4.0)] ['Puncak Gundaling Brastagi' 'Wisata Merci' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Wisata Alam Pondok Biru' 'Silalahi I'\n",
      " 'Vania Travel' 'Laterzhya Zimhuli'] \n",
      "\n",
      "Itinerary  18  =  [(64966, 1083, 145005043, 4.0)] ['Puncak Gundaling Brastagi' 'Pt. Jsa Tour & Travel' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Tao Lake Rod Onang' 'Puncak Anai'\n",
      " 'Vania Travel' 'Panatapan Sileme-Leme'] \n",
      "\n",
      "Itinerary  19  =  [(41948, 699, 93965130, 4.0)] ['Puncak Gundaling Brastagi' 'Air Terjun Efrata' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai'\n",
      " 'Batu Kursi Raja Siallagan ( Stone Chair Of King Siallagan )'\n",
      " 'Air Terjun Baburai' 'Vania Travel' 'Oyo 1752 Hotel Wisata'] \n",
      "\n",
      "Itinerary  20  =  [(30709, 512, 69043870, 4.1)] ['Puncak Gundaling Brastagi' 'Twa Lau Debuk-Debuk' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bukit Lawang' 'Vania Travel'\n",
      " 'Air Terjun Cirocai Sungai Pandahan'] \n",
      "\n",
      "Itinerary  21  =  [(28464, 474, 64065826, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Objek Wisata Pantai Ujung Sibolga'] \n",
      "\n",
      "Itinerary  22  =  [(31304, 522, 70363217, 3.8)] ['Puncak Gundaling Brastagi' 'Wisata Pulau Spantiang' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Agen Bus Karina'] \n",
      "\n",
      "Itinerary  23  =  [(26575, 443, 59877174, 3.7)] ['Puncak Gundaling Brastagi' 'Ekowisata Mangrove' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Waterpark Ria'] \n",
      "\n",
      "Itinerary  24  =  [(37578, 626, 84275130, 3.9)] ['Puncak Gundaling Brastagi' 'Amarjun Wisata' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Armaya Wisata Alam' 'Lau Gendang,Wisata Gua'\n",
      " 'Vania Travel' 'Air Terjun Sigarattung ( Sampuran Na Pitu)'] \n",
      "\n",
      "Itinerary  25  =  [(34247, 571, 76889000, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Alamta Jaya' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Tugu Silahi Sabungan'] \n",
      "\n",
      "Itinerary  26  =  [(32025, 534, 71961957, 4.0)] ['Puncak Gundaling Brastagi' 'Pemandian Air Panas Rianiate' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Replika Pagoda Shwedagon'\n",
      " 'Awaliyah Tour And Travel' 'Vania Travel' 'Gundaling'] \n",
      "\n",
      "Itinerary  27  =  [(52875, 881, 118194565, 4.1)] ['Puncak Gundaling Brastagi' 'Sini Suka Natural Bath Sibiru-Biru'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai'\n",
      " 'Pemandian Air Panas Tirto Kencono'\n",
      " 'Kantor Balai Taman Nasional Batang Gadis' 'Vania Travel' 'Pantai Maligi'] \n",
      "\n",
      "Itinerary  28  =  [(44447, 741, 99506391, 3.9)] ['Puncak Gundaling Brastagi' 'Rimba Huta Sikapir' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Penatapan Pamah Simelir' 'Air Terjun Ponot'\n",
      " 'Vania Travel' 'West Kisaran'] \n",
      "\n",
      "Itinerary  29  =  [(28913, 482, 65061435, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Alun Alun Lubuk Sikpaing'] \n",
      "\n",
      "Itinerary  30  =  [(43285, 721, 96929783, 4.0)] ['Puncak Gundaling Brastagi' 'Museum Deli Serdang' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Air Terjun Sigarattung ( Sampuran Na Pitu)'\n",
      " 'Vania Travel' 'Tugu Pramuka'] \n",
      "\n",
      "Itinerary  31  =  [(22209, 370, 50196043, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Bair Falls'] \n",
      "\n",
      "Itinerary  32  =  [(23786, 396, 53692870, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Kisaran Kota'] \n",
      "\n",
      "Itinerary  33  =  [(35528, 592, 79729478, 4.0)] ['Puncak Gundaling Brastagi' 'Perhadtian Air Panas Taman Wisata Sibayak'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai' 'Pasar Tomok' 'Vania Travel'\n",
      " 'Barusjahe'] \n",
      "\n",
      "Itinerary  34  =  [(48538, 809, 108577739, 4.0)] ['Puncak Gundaling Brastagi' 'Pantai Barat Natal' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Efrata Waterfall' 'Vania Travel'\n",
      " 'Handreva Tour'] \n",
      "\n",
      "Itinerary  35  =  [(44088, 735, 98710348, 4.1)] ['Puncak Gundaling Brastagi' 'Danau Tao Batang Onang' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Konservasi Sungai Kukam' 'Vania Travel'\n",
      " 'Air Terjun Cirocai Sungai Pandahan'] \n",
      "\n",
      "Itinerary  36  =  [(47756, 796, 106843739, 4.1)] ['Puncak Gundaling Brastagi' 'Makam Ompung Parmata Sapihak' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Masjid Raya Kisaran Kota'\n",
      " 'Batu Lobang Sibaganding' 'Vania Travel'\n",
      " 'Wisata Alam Experience Survive Champing'] \n",
      "\n",
      "Itinerary  37  =  [(42732, 712, 95703565, 3.9)] ['Puncak Gundaling Brastagi' 'Air Terjun Simonang Monang' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Taman Wisata Alam, Pusat Latihan Gajah'\n",
      " 'Ksu Antara Travel' 'Vania Travel' 'Pantai Indah Sipinggan'] \n",
      "\n",
      "Itinerary  38  =  [(36222, 604, 81268348, 4.2)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Puncak Paranginan,Aek Nabirong'] \n",
      "\n",
      "Itinerary  39  =  [(27843, 464, 62688826, 3.9)] ['Puncak Gundaling Brastagi' 'Air Terjun Sipagogo' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Tugu Sejarah Perjuangan Asahan' 'Vania Travel'\n",
      " 'Pantai Buih'] \n",
      "\n",
      "Itinerary  40  =  [(28478, 475, 64096870, 4.0)] ['Puncak Gundaling Brastagi' 'Simpang Bantoon' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Taman Balita Kota Binjai'\n",
      " 'Masjid Agung Sumatera Utara' 'Vania Travel' 'Tugu Air Mancur Majestik'] \n",
      "\n",
      "Itinerary  41  =  [(45853, 764, 102624043, 4.0)] ['Puncak Gundaling Brastagi' 'Bair Falls' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Berakit-Rakit Ke Hulu' 'Masjid Raya Nur Addin'\n",
      " 'Vania Travel' 'Air Terjun Aek Godang'] \n",
      "\n",
      "Itinerary  42  =  [(15466, 258, 35244174, 4.0)] ['Puncak Gundaling Brastagi' 'Berastagi Local Guide' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Rumah Irmayanti Lubis'] \n",
      "\n",
      "Itinerary  43  =  [(29965, 499, 67394130, 3.9)] ['Puncak Gundaling Brastagi' 'Siregar Aek Nalas' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Pool Bus Intra' 'Vania Travel'\n",
      " 'Air Terjun Sitiotio'] \n",
      "\n",
      "Itinerary  44  =  [(35585, 593, 79855870, 3.9)] ['Puncak Gundaling Brastagi' 'Bagan Percut' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Air Terjun Cirocai Sungai Pandahan'\n",
      " 'Vania Travel' 'Romance Padi Perbaungan'] \n",
      "\n",
      "Itinerary  45  =  [(40251, 671, 90202217, 3.9)] ['Puncak Gundaling Brastagi' 'Water Park Tambunan' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Winter Holidays' 'Vania Travel'\n",
      " 'Air Terjun Nai Sogop'] \n",
      "\n",
      "Itinerary  46  =  [(17326, 289, 39368522, 3.8)] ['Puncak Gundaling Brastagi' 'Vania Travel' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Air Terjun Sampuran Widuri'] \n",
      "\n",
      "Itinerary  47  =  [(29287, 488, 65890739, 4.0)] ['Puncak Gundaling Brastagi' 'Struggle Monument Berastagi' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Batang Bahal'] \n",
      "\n",
      "Itinerary  48  =  [(14279, 238, 32612130, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Mangrove Tour Lubuk Kertang'] \n",
      "\n",
      "Itinerary  49  =  [(45704, 762, 102293652, 3.7)] ['Puncak Gundaling Brastagi' 'Vihara Pekong Lima' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bukit Lawang Planet Hijau' 'Vania Travel'\n",
      " 'Puncak Tonang'] \n",
      "\n",
      "Itinerary  50  =  [(31764, 529, 71383217, 4.0)] ['Puncak Gundaling Brastagi' 'Bendungan Batang Tongar' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Pantai Kenangan'] \n",
      "\n"
Febby Simanjuntak committed
1101
     ]
Febby Simanjuntak committed
1102
    },
Febby Simanjuntak committed
1103
    {
Febby Simanjuntak committed
1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Itinerary  51  =  [(28283, 471, 63664478, 3.9)] ['Puncak Gundaling Brastagi' 'Wisata Alam Aek Sordang' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bukit Travel Gibeon' 'Muara Beach Beautiful'\n",
      " 'Vania Travel' 'Kupu-Kupu Garden Guest House & Cafe'] \n",
      "\n",
      "Itinerary  52  =  [(31592, 527, 71001826, 3.8)] ['Puncak Gundaling Brastagi' 'Bukik Posuak Maek' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Water Park Tambunan'] \n",
      "\n",
      "Itinerary  53  =  [(35671, 595, 80046565, 3.9)] ['Puncak Gundaling Brastagi' 'Taman Wisata Simatahari Indah' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bakarang Simalem' 'Masjid Al Osmani'\n",
      " 'Vania Travel' 'Pemandian Alam Tirta Sayum Sabah'] \n",
      "\n",
      "Itinerary  54  =  [(21684, 361, 49031913, 3.9)] ['Puncak Gundaling Brastagi' 'Gedung Bks Pps' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Pantai Teluk Kerang' 'Vania Travel'\n",
      " 'Niagara Tanjung Raja'] \n",
      "\n",
      "Itinerary  55  =  [(48295, 805, 108038913, 3.9)] ['Puncak Gundaling Brastagi' 'Wisata Sawah Koto' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Alaman Bolak Padang Nadimpu'\n",
      " 'Pemandian Alam Bolang' 'Vania Travel' 'Sp.Lau Petundal'] \n",
      "\n",
      "Itinerary  56  =  [(33010, 550, 74146087, 3.9)] ['Puncak Gundaling Brastagi' 'Go Adventure Tour & Travel Indonesia'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai' 'Travel Panyabungan Padang'\n",
      " 'Sabah Simelir' 'Vania Travel' 'Taman Balita Kota Binjai'] \n",
      "\n",
      "Itinerary  57  =  [(43075, 718, 96464130, 4.0)] ['Puncak Gundaling Brastagi' 'Kota Padang Sidempuan' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Pemandu Bukit Lawang' 'Vania Travel'\n",
      " 'Armaya Wisata Alam'] \n",
      "\n",
      "Itinerary  58  =  [(28859, 481, 64941696, 4.0)] ['Puncak Gundaling Brastagi' 'Berastagi' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Langkat Regency' 'Vania Travel'\n",
      " 'Jembatan Dalik Lubuk Sikaping'] \n",
      "\n",
      "Itinerary  59  =  [(24988, 416, 56358174, 3.7)] ['Puncak Gundaling Brastagi' 'Alam Wisata Danau Laut Tador' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Siba Island Resort'] \n",
      "\n",
      "Itinerary  60  =  [(48745, 812, 109036739, 4.0)] ['Puncak Gundaling Brastagi' 'Tugu D.I Panjaitan' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Objek Wisata Pantai Ujung Sibolga'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Air Terjun Gorbus'] \n",
      "\n",
      "Itinerary  61  =  [(30004, 500, 67480609, 3.9)] ['Puncak Gundaling Brastagi' 'Bukit Lawang Guide' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Taman Alamta Jaya' 'Bukit Kubu' 'Vania Travel'\n",
      " 'Taman Lope Lope Bulu Cina'] \n",
      "\n",
      "Itinerary  62  =  [(38381, 640, 86055696, 4.0)] ['Puncak Gundaling Brastagi' 'Mandailing Natal Regency' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Air Terjun Sempugen'] \n",
      "\n",
      "Itinerary  63  =  [(28852, 481, 64926174, 4.0)] ['Puncak Gundaling Brastagi' 'Pemandu Bukit Lawang' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Taman Air Percut'] \n",
      "\n",
      "Itinerary  64  =  [(50644, 844, 113247565, 3.6)] ['Puncak Gundaling Brastagi' 'Benteng Jepang' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Alun Alun Kota Kisaran' 'Danau Teratai'\n",
      " 'Vania Travel' 'Tugu Becak Bsa Siantar'] \n",
      "\n",
      "Itinerary  65  =  [(31027, 517, 69749000, 4.0)] ['Puncak Gundaling Brastagi' 'Masjid Raya Nur Addin' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Air Terjun Gorbus'] \n",
      "\n",
      "Itinerary  66  =  [(33679, 561, 75629522, 3.8)] ['Puncak Gundaling Brastagi' 'Mesjid Raya Al-Abror' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel'\n",
      " 'Pemandian Air Panas Goa Ergendang'] \n",
      "\n",
      "Itinerary  67  =  [(40801, 680, 91421783, 3.8)] ['Puncak Gundaling Brastagi' 'Tanah Lapang Merdeka Binjai' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Agen Bus Karina'] \n",
      "\n",
      "Itinerary  68  =  [(53032, 884, 118542696, 3.9)] ['Puncak Gundaling Brastagi' 'Air Terjun Taman Eden 100, Tobasa'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai'\n",
      " 'Objek Wisata Luak Gadang, Guguak Rang Pisang' 'Air Terjun Bah Salak'\n",
      " 'Vania Travel' 'Explore Bahorok Adventure Trip'] \n",
      "\n",
      "Itinerary  69  =  [(21504, 358, 48632783, 4.2)] ['Puncak Gundaling Brastagi' 'Old City Hall' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Wisata Dakwah Okura'] \n",
      "\n",
      "Itinerary  70  =  [(20138, 336, 45603826, 3.8)] ['Puncak Gundaling Brastagi' 'Muara Beach Beautiful' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Armaya Wisata Alam'] \n",
      "\n",
      "Itinerary  71  =  [(35012, 584, 78585304, 3.9)] ['Puncak Gundaling Brastagi' 'Pantai Batu Rusa' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Magic Eye 3d Art Museum' 'Lau Teba Langkat'\n",
      " 'Vania Travel' 'Pantai Sikabau'] \n",
      "\n",
      "Itinerary  72  =  [(23993, 400, 54151870, 4.0)] ['Puncak Gundaling Brastagi' 'Kolam Renang Air Panas Mardinding Tiga Rasa'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai' 'Vania Travel'\n",
      " 'Lumban Binanga Beach Laguboti'] \n",
      "\n",
      "Itinerary  73  =  [(36136, 602, 81077652, 3.8)] ['Puncak Gundaling Brastagi' 'Sp.Lau Petundal' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Cis Tour & Travel' 'Gundaling' 'Vania Travel'\n",
      " 'Tumori Traditional Village'] \n",
      "\n",
      "Itinerary  74  =  [(32840, 547, 73769130, 4.1)] ['Puncak Gundaling Brastagi' 'Desa Adat Ragi Hotang Meat' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Air Terjun Malakkut' 'Vania Travel'\n",
      " 'Gapura Wisata Alam Lae Mbilulu'] \n",
      "\n",
      "Itinerary  75  =  [(14422, 240, 32929217, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Panorama Uruk Lisang'] \n",
      "\n",
      "Itinerary  76  =  [(28041, 467, 63127870, 4.0)] ['Puncak Gundaling Brastagi' 'Delta' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Beach Island Karang'] \n",
      "\n",
      "Itinerary  77  =  [(21010, 350, 47537391, 4.2)] ['Puncak Gundaling Brastagi' 'Ende Holidays' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Wisata Alam Pondok Biru'] \n",
      "\n",
      "Itinerary  78  =  [(30362, 506, 68274435, 4.0)] ['Puncak Gundaling Brastagi' 'Warisan Dunia Minimini' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Air Terjun Sampuran Widuri' 'Vania Travel'\n",
      " 'Batu Kursi Raja Siallagan ( Stone Chair Of King Siallagan )'] \n",
      "\n",
      "Itinerary  79  =  [(27655, 461, 62271957, 3.9)] ['Puncak Gundaling Brastagi' 'Pt. Pmn Travel Bus' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Kebun Binatang Simalingkar Medan'\n",
      " 'Vania Travel' 'Pantai Simallo'] \n",
      "\n",
      "Itinerary  80  =  [(18217, 304, 41344217, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Pulau Malau'] \n",
      "\n",
      "Itinerary  81  =  [(51940, 866, 116121304, 4.0)] ['Puncak Gundaling Brastagi' 'Uruk Ndaholi' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Museum Perkebunan Indonesia'] \n",
      "\n",
      "Itinerary  82  =  [(41400, 690, 92750000, 4.0)] ['Puncak Gundaling Brastagi' 'Tirtanadi Tower' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Lapangan Pasir' 'Vania Travel'\n",
      " 'Pt. Jsa Tour & Travel'] \n",
      "\n",
      "Itinerary  83  =  [(18693, 312, 42399696, 3.7)] ['Puncak Gundaling Brastagi' 'Pulau Malau' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Jembatan Sidikalang Wisata'] \n",
      "\n",
      "Itinerary  84  =  [(22294, 372, 50384522, 3.6)] ['Puncak Gundaling Brastagi' 'Pantai La Terzhia Zhimehuli' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Rumah Wisata Sunggal' 'Vania Travel'\n",
      " \"Pt. Bagus Wisata Holiday's\"] \n",
      "\n",
      "Itinerary  85  =  [(29867, 498, 67176826, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Perhadtian Air Panas Taman Wisata Sibayak'] \n",
      "\n",
      "Itinerary  86  =  [(36763, 613, 82467957, 4.0)] ['Puncak Gundaling Brastagi' 'Pantai Pulau Putri' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Gang Bengkok Old Mosque' 'Sansan Travel'\n",
      " 'Vania Travel' 'Pemandian Sidamanik'] \n",
      "\n",
      "Itinerary  87  =  [(29103, 485, 65482739, 4.0)] ['Puncak Gundaling Brastagi' 'Tempat Pengasingan Soekarno' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Pemandian Alam Loknya'] \n",
      "\n",
      "Itinerary  88  =  [(42086, 701, 94271130, 4.0)] ['Puncak Gundaling Brastagi' 'Kota Padang Sidempuan' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Pantai La Terzhia Zhimehuli'\n",
      " 'Bukit Lawang Orangutan Trekking' 'Vania Travel'\n",
      " 'Pantai Cermin Theme Park & Resort Hotel'] \n",
      "\n",
      "Itinerary  89  =  [(26146, 436, 58925913, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Bendungan Batang Tongar'] \n",
      "\n",
      "Itinerary  90  =  [(29231, 487, 65766565, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Benteng Lions Club' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Wisata Air Parsariran'] \n",
      "\n",
      "Itinerary  91  =  [(49695, 828, 111143261, 4.0)] ['Puncak Gundaling Brastagi' 'Musala Waterfall' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Tugu Silahi Sabungan'] \n",
      "\n",
      "Itinerary  92  =  [(29450, 491, 66252174, 4.2)] ['Puncak Gundaling Brastagi' 'Dunia Outbound Camp' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Lapangan Pasir Tanjung Balai'] \n",
      "\n",
      "Itinerary  93  =  [(24640, 411, 55586522, 4.0)] ['Puncak Gundaling Brastagi' 'Leo Tour & Travel (Leo Wisata Medan)'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai' 'Vania Travel'\n",
      " 'Vihara Gunung Timur'] \n",
      "\n",
      "Itinerary  94  =  [(22103, 368, 49961000, 4.0)] ['Puncak Gundaling Brastagi'\n",
      " 'Puncak Pelangkah Gading, Kutambaru, Munte, Kab. Karo, Sumut'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai' 'Vania Travel'\n",
      " 'Pasir Putih Porsea'] \n",
      "\n"
     ]
    },
1268
    {
Febby Simanjuntak committed
1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Itinerary  95  =  [(40718, 679, 91237739, 3.9)] ['Puncak Gundaling Brastagi' 'Pasir Putih Porsea' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Tempat Pengasingan Soekarno'\n",
      " 'Tugu Marga Silalahi' 'Vania Travel' 'Sumatra Orangutan Tours & Holidays'] \n",
      "\n",
      "Itinerary  96  =  [(49762, 829, 111291826, 4.1)] ['Puncak Gundaling Brastagi' 'Dairi Regency' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Batang Gadis National Park' 'Vania Travel'\n",
      " 'Wisata Madu Aek Nauli'] \n",
      "\n",
      "Itinerary  97  =  [(38480, 641, 86275217, 4.0)] ['Puncak Gundaling Brastagi' 'Cis Tour & Travel' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Air Terjun Sigura Gura' 'Vania Travel'\n",
      " 'Air Terjun Cirocai Sungai Pandahan'] \n",
      "\n",
      "Itinerary  98  =  [(37360, 623, 83791739, 4.0)] ['Puncak Gundaling Brastagi' 'Pantai Ketam' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Tugu Sitio'] \n",
      "\n",
      "Itinerary  99  =  [(41500, 692, 92971739, 3.9)] ['Puncak Gundaling Brastagi' 'Bukit Gibeon (Yapim Taruna)' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Indah Sipinggan Beach'\n",
      " 'Air Terjun Sampuran Widuri' 'Vania Travel' 'Wisata Agro Kopi Karo'] \n",
      "\n",
      "Itinerary  100  =  [(25550, 426, 57604348, 3.8)] ['Puncak Gundaling Brastagi' 'Hotel Pesona Wisata' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Klenteng Gunung Timur'] \n",
      "\n",
      "Itinerary  101  =  [(49006, 817, 109615478, 3.6)] ['Puncak Gundaling Brastagi' 'Batang Bahal' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Jembatan Sidikalang Wisata'\n",
      " 'Masjid Raya Stabat' 'Vania Travel' 'Alam Wisata Danau Laut Tador'] \n",
      "\n",
      "Itinerary  102  =  [(39511, 659, 88561348, 4.0)] ['Puncak Gundaling Brastagi' 'Mandailing Natal Regency' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Pantai Teluk Kerang' 'Kolam Pancing Sapat'\n",
      " 'Vania Travel' 'Pas Pam Wisata'] \n",
      "\n",
      "Itinerary  103  =  [(37921, 632, 85035696, 4.0)] ['Puncak Gundaling Brastagi' 'Bukit Lawang Planet Hijau' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Konservasi Sungai Kukam'\n",
      " 'Tugu Air Mancur Sinar Indonesia Baru Petisah' 'Vania Travel'\n",
      " 'Lapangan Pasir Tanjung Balai'] \n",
      "\n",
      "Itinerary  104  =  [(40407, 673, 90548130, 4.0)] ['Puncak Gundaling Brastagi' 'Wisata Hutan Mangrove Perpat' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Dolok Bunga Sirandorung'\n",
      " 'Taman Kebun Bunga èŒ ã¦Â¦Â€¢Ã¥Å“€™' 'Vania Travel'\n",
      " 'Taman Bukit Gelanggang'] \n",
      "\n",
      "Itinerary  105  =  [(23961, 399, 54080913, 4.1)] ['Puncak Gundaling Brastagi' 'Museum Perkebunan Indonesia' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Muara Beach Beautiful' 'Vania Travel'\n",
      " 'Saf Travel Indo'] \n",
      "\n",
      "Itinerary  106  =  [(45071, 751, 100890043, 3.6)] ['Puncak Gundaling Brastagi' 'Nice Trans Kisaran' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Air Terjun Nai Sogop' 'Pt. Hikmah'\n",
      " 'Vania Travel' 'Objek Wisata Maggrove Sisarahili Ts'] \n",
      "\n",
      "Itinerary  107  =  [(25621, 427, 57761783, 4.1)] ['Puncak Gundaling Brastagi' 'Lau Bengkelade' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bukitlawang Trek' 'Vania Travel' 'Pulau Malau'] \n",
      "\n",
      "Itinerary  108  =  [(32988, 550, 74097304, 4.1)] ['Puncak Gundaling Brastagi' 'Gedung Bks Pps' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Beach Island Karang' 'Vania Travel'\n",
      " 'Taman Alamta Jaya'] \n",
      "\n",
      "Itinerary  109  =  [(46357, 773, 103741609, 4.2)] ['Puncak Gundaling Brastagi' 'Wisata Hutan Mangrove Perpat' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Wisata Madu Aek Nauli'] \n",
      "\n",
      "Itinerary  110  =  [(52528, 875, 117425130, 4.1)] ['Puncak Gundaling Brastagi' 'Air Terjun Kemuning' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai'\n",
      " 'Market Wisata (Tour Bangkok, Tour Phuket, Tour Medan)' 'Vania Travel'\n",
      " 'Kuil Shri Mariamman'] \n",
      "\n",
      "Itinerary  111  =  [(38607, 643, 86556826, 3.9)] ['Puncak Gundaling Brastagi' 'Kebun Madu Efi' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Rudang Mayang' 'Museum Perkebunan Indonesia'\n",
      " 'Vania Travel' 'Pantai Pongkar'] \n",
      "\n",
      "Itinerary  112  =  [(54157, 903, 121037261, 4.0)] ['Puncak Gundaling Brastagi' 'Tapian Puti' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Sampuren Tutuen Sige' 'Taman Bunga'\n",
      " 'Vania Travel' 'Aek Malapari'] \n",
      "\n",
      "Itinerary  113  =  [(30208, 503, 67932957, 4.0)] ['Puncak Gundaling Brastagi' 'Pt Farnaz Utama' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bukit Lawang Wisata Alam'\n",
      " 'Wisata Dakwah Okura' 'Vania Travel' 'Pantai La Terzhia Zhimehuli'] \n",
      "\n",
      "Itinerary  114  =  [(30635, 511, 68879783, 4.0)] ['Puncak Gundaling Brastagi' 'Lubuk Batang Waterfall' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Bus Wisata' 'Ekowisata Mangrove'\n",
      " 'Vania Travel' 'Tahura (Taman Hutan Raya)'] \n",
      "\n",
      "Itinerary  115  =  [(46369, 773, 103768217, 4.1)] ['Puncak Gundaling Brastagi' 'Millenium Wisata Indah Pt' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Taman Selfie' 'Patung Dewi Kwan Im'\n",
      " 'Vania Travel' 'Warung Info Wisata'] \n",
      "\n",
      "Itinerary  116  =  [(35646, 594, 79991130, 3.9)] ['Puncak Gundaling Brastagi' 'Vihara Avalokitesvara' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Tugu Air Mancur Sinar Indonesia Baru Petisah'\n",
      " 'Vania Travel' 'Pondok Pisang'] \n",
      "\n",
      "Itinerary  117  =  [(17830, 297, 40486087, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Penangkaran Rusa Universitas Sumatera Utara'] \n",
      "\n",
      "Itinerary  118  =  [(19708, 328, 44650348, 4.0)] ['Puncak Gundaling Brastagi' 'Taman Kota Tanjungbalai' 'Garunggang'\n",
      " 'Vania Travel' 'Patung Dewi Kwan Im'] \n",
      "\n",
      "Itinerary  119  =  [(47593, 793, 106482304, 4.2)] ['Puncak Gundaling Brastagi' 'Taman Mejuah-Juah' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Masjid Raya Stabat' 'Bersama Travel'\n",
      " 'Vania Travel' 'Pusat Kuliner Kota Sibolga'] \n",
      "\n",
      "Itinerary  120  =  [(41115, 685, 92118043, 3.9)] ['Puncak Gundaling Brastagi' 'Kebun Binatang Simalingkar Medan'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai' 'Air Terjun Gorbus' 'Vania Travel'\n",
      " 'Tirtanadi Tower'] \n",
      "\n",
      "Itinerary  121  =  [(26329, 439, 59331696, 3.4)] ['Puncak Gundaling Brastagi' 'Wisata Alam' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Kuta Sukareme'] \n",
      "\n",
      "Itinerary  122  =  [(29566, 493, 66509391, 3.9)] ['Puncak Gundaling Brastagi' 'Tugu Sejarah Perjuangan Asahan' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Air Terjun Aek Matua' 'Vania Travel'\n",
      " 'Batu Lobang Sibaganding'] \n",
      "\n",
      "Itinerary  123  =  [(33060, 551, 74256957, 4.0)] ['Puncak Gundaling Brastagi' 'Pemandian Alam Bendungan Ginbers'\n",
      " 'Garunggang' 'Taman Kota Tanjungbalai' 'Vania Travel' 'Na Ix-X'] \n",
      "\n",
      "Itinerary  124  =  [(51464, 858, 115065826, 3.9)] ['Puncak Gundaling Brastagi' 'Taman Mejuah-Juah' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Ikan Larangan Lubuak Landua'\n",
      " 'Wisata Rekreasi Danau Buatan' 'Vania Travel' 'Garunggang'] \n",
      "\n",
      "Itinerary  125  =  [(33706, 562, 75689391, 4.0)] ['Puncak Gundaling Brastagi' 'Pantai Pasir Putih Parparean' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Danau Sipogas'] \n",
      "\n",
      "Itinerary  126  =  [(17130, 286, 38933913, 4.0)] ['Puncak Gundaling Brastagi' 'Tahura (Taman Hutan Raya)' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel'\n",
      " 'Bukit Lawang Ecotourism & Ecoproject'] \n",
      "\n",
      "Itinerary  127  =  [(41092, 685, 92067043, 3.9)] ['Puncak Gundaling Brastagi' 'Air Terjun Bertala' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Pantai Batu Rusa' 'Lae Simbellen'\n",
      " 'Vania Travel' 'Pantai Pulau Karang'] \n",
      "\n",
      "Itinerary  128  =  [(51157, 853, 114385087, 3.8)] ['Puncak Gundaling Brastagi' 'Twa Lau Debuk-Debuk' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Danau Marambe' 'Bukit Lawang Tour Trekking'\n",
      " 'Vania Travel' 'Wisata Rekreasi Danau Buatan'] \n",
      "\n",
      "Itinerary  129  =  [(28568, 476, 64296435, 4.0)] ['Puncak Gundaling Brastagi' 'Permata Asri Stabat' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'Aek Malapari'] \n",
      "\n",
      "Itinerary  130  =  [(38042, 634, 85304000, 4.2)] ['Puncak Gundaling Brastagi' 'Puncak Santai' 'Garunggang'\n",
      " 'Taman Kota Tanjungbalai' 'Vania Travel' 'The Kaldera'] \n",
      "\n"
     ]
1409 1410 1411
    }
   ],
   "source": [
Febby Simanjuntak committed
1412
    "printEA.printtea()"
Febby Simanjuntak committed
1413 1414 1415
   ]
  },
  {
Febby Simanjuntak committed
1416
   "cell_type": "markdown",
Febby Simanjuntak committed
1417 1418
   "metadata": {},
   "source": [
Febby Simanjuntak committed
1419
    "## Multi objective optimization by MOORA"
Febby Simanjuntak committed
1420 1421 1422
   ]
  },
  {
Febby Simanjuntak committed
1423
   "cell_type": "markdown",
Febby Simanjuntak committed
1424 1425
   "metadata": {},
   "source": [
Febby Simanjuntak committed
1426
    "### Input Kriteria"
1427 1428 1429 1430
   ]
  },
  {
   "cell_type": "code",
Febby Simanjuntak committed
1431
   "execution_count": 13,
1432
   "metadata": {},
Febby Simanjuntak committed
1433
   "outputs": [],
1434
   "source": [
Febby Simanjuntak committed
1435 1436 1437 1438 1439
    "class multiobjective():\n",
    "    def criteria(data):\n",
    "        for i in data:\n",
    "            print(i)\n",
    "        "
1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}