Penyelesaian Travelling Salesman Problem Dengan Algoritma Simulated Annealing Studi Kasus: Technical Support BTSSoft
CURRICULUM VITAE
Nama
: Leonardo Davinsi Nainggolan
Tempat/ Tanggal Lahir : Tarutung, 11 Mei 1992
Alamat
: Jl. Harmonika Gg.Flamboyan No.35 A Tanjung Sari
Jenis Kelamin
: Laki-laki
Agama
: Kristen Protestan
Tinggi
: 170 cm
No. Telp/Hp
: 081377224211
Status
: Belum kawin
Email
: [email protected]
PENDIDIKAN FORMAL
Universitas Sumatera Utara D3 Teknik Informatika Fakultas MIPA Medan. (Tahun
Ajaran 2010 s/d 2013. Berijazah).
Sekolah Menengah Atas Negeri 2 Tarutung. ( Tahun Ajaran 2007 s/d 2010.
Berijazah).
Sekolah Menengah Pertama Negeri 2 Tarutung. (Tahun Ajaran 2004 s/d 2007.
Berijazah).
Sekolah Dasar Negeri 5 Tautung. (Tahun Ajaran 1998 s/d 2004. Berijazah).
SEMINAR
Peserta Seminar Nasional Literasi Informasi 2014 Universitas Sumatera Utara.
PENGALAMAN KERJA
Magang di Biro Pembangunan PLN Medan Tahun 2012.
Technical Support, Programmer di BTSSoft Medan Sejak Tahun 2013
DATA KEMAMPUAN
Database : SQL server, Mysql, Firebase, MongoDB dan Microsoft Access.
Desain
: Adobe Photoshop, CorelDraw, Adobe Flash, Pinnacle.
Program : PHP, CSS, HTML, Javascript, Java , C/C++, VB dan C#.
Universitas Sumatera Utara
A-1
LISTING PROGRAM
1. Sisi Klien (mobile android)
1.1 js/app.js
1.
2. angular.module('starter', ['ionic', 'ngCordova', 'angularMoment',
'firebase', 'starter.controllers', 'starter.directives'])
3.
4. .run(function($window, $document, $ionicLoading, $state, $ionicPlatform,
$log, $rootScope, $cordovaClipboard, GoogleMaps) {
5.
$ionicPlatform.ready(function() {
6.
$log.log("Ionic ready");
7.
8.
if (window.cordova && window.cordova.plugins.Keyboard) {
9.
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
10.
cordova.plugins.Keyboard.disableScroll(true);
11.
12.
}
13.
if (window.StatusBar) {
14.
StatusBar.styleDefault();
15.
}
16.
17.
GoogleMaps.cekTanggal();
18.
if($rootScope.kunjungan=='undefined')
19.
$rootScope.kunjungan = [];
20.
21.
$rootScope.markersKunjungan = [];
22.
23. });
24.
25.
26. })
27.
28. .config(function($stateProvider, $urlRouterProvider) {
29. $stateProvider
30.
31. .state('app', {
32.
url: '/app',
33.
abstract: true,
34.
templateUrl: 'templates/menu.html',
35.
controller: 'AppCtrl'
36. })
37.
38. .state('app.maps', {
39.
url: '/maps',
40.
views: {
41.
'menuContent': {
42.
templateUrl: 'templates/maps.html',
43.
controller: 'MapCtrl'
44.
}
45.
}
46.
})
47.
48. .state('app.pelanggan', {
49.
url: '/pelanggan',
50.
views: {
51.
'menuContent': {
52.
templateUrl: 'templates/pelanggan.html',
53.
controller: 'PelangganCtrl'
54.
}
55.
}
56. })
57.
Universitas Sumatera Utara
A-2
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.
122.
123.
124.
.state('app.kunjungan', {
url: '/kunjungan',
views: {
'menuContent': {
templateUrl: 'templates/kunjungan.html',
controller: 'KunjunganCtrl'
}
}
})
.state('app.result', {
url: '/result',
views: {
'menuContent': {
templateUrl: 'templates/result.html',
controller: 'ResultCtrl'
}
}
})
.state('app.matrix_data', {
url: '/matrix_data',
views: {
'menuContent': {
templateUrl: 'templates/matrix_data.html',
controller: 'matrix_dataCtrl'
}
}
})
.state('app.editKoordinat', {
url: '/editKoordinat/:aId',
views: {
'menuContent': {
templateUrl: 'templates/editKoordinat.html',
controller: 'editKoordinatCtrl'
}
}
})
.state('app.editKunjungan', {
url: '/edit_kunjungan',
views: {
'menuContent': {
templateUrl: 'templates/editKunjungan.html',
controller: 'editKunjunganCtrl'
}
}
})
.state('login', {
url: '/login',
templateUrl: 'templates/login.html',
controller: 'loginCtrl'
})
.state('app.pengaturan', {
url: '/pengaturan',
views: {
'menuContent': {
templateUrl: 'templates/pengaturan.html',
controller: 'PengaturanCtrl'
}
Universitas Sumatera Utara
A-3
125.
}
126.
})
127.
128.
.state('app.tentang', {
129.
url: '/tentang',
130.
views: {
131.
'menuContent': {
132.
templateUrl: 'templates/tentang.html'
133.
}
134.
}
135.
});
136.
137.
138.
$urlRouterProvider.otherwise('/app/maps');
139. })
140.
141. .factory('ModifyRootScopeService', function($rootScope){
142.
143.
return {
144.
setRootScopeValue: function(value){
145.
$rootScope.map = value;
146.
}
147.
}
148. })
149.
150. .factory('ConnectivityMonitor', function($rootScope, $cordovaNetwork){
151.
152.
return {
153.
isOnline: function(){
154.
155.
if(ionic.Platform.isWebView()){
156.
return $cordovaNetwork.isOnline();
157.
} else {
158.
return navigator.onLine;
159.
}
160.
161.
},
162.
ifOffline: function(){
163.
164.
if(ionic.Platform.isWebView()){
165.
return !$cordovaNetwork.isOnline();
166.
} else {
167.
return !navigator.onLine;
168.
}
169.
170.
}
171.
}
172. });
173.
174.
175.
176.
177.
178.
Nama
: Leonardo Davinsi Nainggolan
Tempat/ Tanggal Lahir : Tarutung, 11 Mei 1992
Alamat
: Jl. Harmonika Gg.Flamboyan No.35 A Tanjung Sari
Jenis Kelamin
: Laki-laki
Agama
: Kristen Protestan
Tinggi
: 170 cm
No. Telp/Hp
: 081377224211
Status
: Belum kawin
: [email protected]
PENDIDIKAN FORMAL
Universitas Sumatera Utara D3 Teknik Informatika Fakultas MIPA Medan. (Tahun
Ajaran 2010 s/d 2013. Berijazah).
Sekolah Menengah Atas Negeri 2 Tarutung. ( Tahun Ajaran 2007 s/d 2010.
Berijazah).
Sekolah Menengah Pertama Negeri 2 Tarutung. (Tahun Ajaran 2004 s/d 2007.
Berijazah).
Sekolah Dasar Negeri 5 Tautung. (Tahun Ajaran 1998 s/d 2004. Berijazah).
SEMINAR
Peserta Seminar Nasional Literasi Informasi 2014 Universitas Sumatera Utara.
PENGALAMAN KERJA
Magang di Biro Pembangunan PLN Medan Tahun 2012.
Technical Support, Programmer di BTSSoft Medan Sejak Tahun 2013
DATA KEMAMPUAN
Database : SQL server, Mysql, Firebase, MongoDB dan Microsoft Access.
Desain
: Adobe Photoshop, CorelDraw, Adobe Flash, Pinnacle.
Program : PHP, CSS, HTML, Javascript, Java , C/C++, VB dan C#.
Universitas Sumatera Utara
A-1
LISTING PROGRAM
1. Sisi Klien (mobile android)
1.1 js/app.js
1.
2. angular.module('starter', ['ionic', 'ngCordova', 'angularMoment',
'firebase', 'starter.controllers', 'starter.directives'])
3.
4. .run(function($window, $document, $ionicLoading, $state, $ionicPlatform,
$log, $rootScope, $cordovaClipboard, GoogleMaps) {
5.
$ionicPlatform.ready(function() {
6.
$log.log("Ionic ready");
7.
8.
if (window.cordova && window.cordova.plugins.Keyboard) {
9.
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
10.
cordova.plugins.Keyboard.disableScroll(true);
11.
12.
}
13.
if (window.StatusBar) {
14.
StatusBar.styleDefault();
15.
}
16.
17.
GoogleMaps.cekTanggal();
18.
if($rootScope.kunjungan=='undefined')
19.
$rootScope.kunjungan = [];
20.
21.
$rootScope.markersKunjungan = [];
22.
23. });
24.
25.
26. })
27.
28. .config(function($stateProvider, $urlRouterProvider) {
29. $stateProvider
30.
31. .state('app', {
32.
url: '/app',
33.
abstract: true,
34.
templateUrl: 'templates/menu.html',
35.
controller: 'AppCtrl'
36. })
37.
38. .state('app.maps', {
39.
url: '/maps',
40.
views: {
41.
'menuContent': {
42.
templateUrl: 'templates/maps.html',
43.
controller: 'MapCtrl'
44.
}
45.
}
46.
})
47.
48. .state('app.pelanggan', {
49.
url: '/pelanggan',
50.
views: {
51.
'menuContent': {
52.
templateUrl: 'templates/pelanggan.html',
53.
controller: 'PelangganCtrl'
54.
}
55.
}
56. })
57.
Universitas Sumatera Utara
A-2
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.
122.
123.
124.
.state('app.kunjungan', {
url: '/kunjungan',
views: {
'menuContent': {
templateUrl: 'templates/kunjungan.html',
controller: 'KunjunganCtrl'
}
}
})
.state('app.result', {
url: '/result',
views: {
'menuContent': {
templateUrl: 'templates/result.html',
controller: 'ResultCtrl'
}
}
})
.state('app.matrix_data', {
url: '/matrix_data',
views: {
'menuContent': {
templateUrl: 'templates/matrix_data.html',
controller: 'matrix_dataCtrl'
}
}
})
.state('app.editKoordinat', {
url: '/editKoordinat/:aId',
views: {
'menuContent': {
templateUrl: 'templates/editKoordinat.html',
controller: 'editKoordinatCtrl'
}
}
})
.state('app.editKunjungan', {
url: '/edit_kunjungan',
views: {
'menuContent': {
templateUrl: 'templates/editKunjungan.html',
controller: 'editKunjunganCtrl'
}
}
})
.state('login', {
url: '/login',
templateUrl: 'templates/login.html',
controller: 'loginCtrl'
})
.state('app.pengaturan', {
url: '/pengaturan',
views: {
'menuContent': {
templateUrl: 'templates/pengaturan.html',
controller: 'PengaturanCtrl'
}
Universitas Sumatera Utara
A-3
125.
}
126.
})
127.
128.
.state('app.tentang', {
129.
url: '/tentang',
130.
views: {
131.
'menuContent': {
132.
templateUrl: 'templates/tentang.html'
133.
}
134.
}
135.
});
136.
137.
138.
$urlRouterProvider.otherwise('/app/maps');
139. })
140.
141. .factory('ModifyRootScopeService', function($rootScope){
142.
143.
return {
144.
setRootScopeValue: function(value){
145.
$rootScope.map = value;
146.
}
147.
}
148. })
149.
150. .factory('ConnectivityMonitor', function($rootScope, $cordovaNetwork){
151.
152.
return {
153.
isOnline: function(){
154.
155.
if(ionic.Platform.isWebView()){
156.
return $cordovaNetwork.isOnline();
157.
} else {
158.
return navigator.onLine;
159.
}
160.
161.
},
162.
ifOffline: function(){
163.
164.
if(ionic.Platform.isWebView()){
165.
return !$cordovaNetwork.isOnline();
166.
} else {
167.
return !navigator.onLine;
168.
}
169.
170.
}
171.
}
172. });
173.
174.
175.
176.
177.
178.