Redistribusi Routing Protocol OSPF-EIGRP-RIPv2 Menggunakan Packet Tracer

Standard

————R7 REDISTRIBUSI RIP V2 to OSPF————
Router#
Router#configure terminal
Router(config)#router rip
Router(config-router)#redistribute ospf 1 metric 5
Router(config-router)#end
Router#write
————R7 REDISTRIBUSI OSPF to RIP V2————
Router#configure terminal
Router(config)#router ospf 1
Router(config-router)#redistribute rip subnets
Router#write
Router#

——————–R0 KONFIGURASI ROUTING RIP V2——————–
Router#configure terminal
Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#network 182.222.2.0
Router(config-router)#network 182.222.2.32
Router(config-router)#network 182.222.2.64
Router(config-router)#network 182.222.2.96
Router(config-router)#network 182.222.2.128
Router(config-router)#network 182.222.2.144
Router(config-router)#no auto-summary
Router(config-router)#end
Router#
Router#configure terminal
Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#network 192.168.7.0
Router(config-router)#no auto-summary
Router(config-router)#end
Router#

Advertisements

Contoh Sederhana Redistribusi Jaringan OSPF dan EIGRP Menggunakan Packet Tracer

Standard

OSPF (Open Shortest Path First) dan EIGRP (Enhanced Interior Gateway Routing Protocol) adalah dua routing protokol yang banyak digunakan dalam jaringan komputer. Perbedaan karakteristik antar routing protokol menimbulkan masalah dalam pengiriman paket data. Teknik redistribution adalah solusi untuk melakukan komunikasi antar routing protokol. Dengan menggunakan software Cisco Packet Tracer 5.3 pada penelitian ini dibuat simulasi OSPF dan EIGRP yang dihubungkan oleh teknik redistribution, kemudian dibandingkan kualitasnya dengan single routing protokol EIGRP dan OSPF. Parameter pengujian dalam penelitian ini adalah nilai time delay dan trace route. Nilai trace route berdasarkan perhitungan langsung cost dan metric dibandingkan dengan hasil simulasi. Hasilnya dapat dilakukan proses redistribution OSPF dan EIGRP. Nilai delay redistribution lebih baik 1% dibanding OSPF dan 2-3% di bawah EIGRP tergantung kepadatan traffic. Dalam perhitungan trace route redistribution dilakukan 2 perhitungan, yaitu cost untuk area OSPF dan metric pada area EIGRP. Pengambilan jalur utama dan alternatif pengiriman paket berdasarkan nilai cost dan metric yang terkecil, hal ini terbukti berdasarkan perhitungan dan simulasi.

Kata kunci: OSPF, EIGRP, Redistribution, Delay, Cost, Metric. Continue reading

Membangun Custom Execution Engine (CEE) Memanfaatkan External Library [Part 1]

Standard

Terkadang, kita menemukan beberapa aplikasi yang membutuhkan file eksternal seperti pustaka DLL (Dynamic Link Library) untuk menjalankan aplikasinya.

Bagaimana cara membuat eksternal library tersebut?

Pada tulisan ini, akan dilakukan percobaan membuat sebuah pustaka DLL untuk mendukung kebutuhan jalannya sebuah aplikasi.

Kebutuhan percobaan :
– Visual Studio IDE
– C++ Programming Language
– Niat untuk mencoba 🙂 Continue reading

Algoritma Fuzzifikasi Tsukamoto Untuk Prediksi Hasil Produksi Menggunakan 4 Aturan Prediksi

Standard

Algoritma FIS (Fuzzy Inference System) adalah salah satu algoritma yang digunakan untuk pengambilan keputusan. Contoh yang dibahas kali ini adalah mengenai penentuan nilai kinerja karyawan berdasarkan inputan yang ada.
Algoritma ini memiliki beberapa tipe teknik perhitungan yang digunakan, dan salah satu tipe yang digunakan adalah tipe yang ditemukan oleh Tsukamoto, oleh karena itu tipe ini dinamakan tipe Tsukamoto / Fuzzy Tsukamoto. Continue reading

Implementasi Sederhana Algoritma K-Nearest Neighbor Bahasa Pemrograman Python

Standard

Algoritma K-Nearest Neighbor merupakan metode klasifikasi yang mengelompokan data baru berdasarkan jarak data baru itu kebeberapa data/tetangga (neighbord) terdekat (Santoso, 2007) [1].

Klasifikasi adalah proses penemuan model (atau fungsi) yang menggambarkan dan membedakan kelas data atau konsep yang bertujuan agar bisa digunakan untuk memprediksi kelas dari objek yang label kelasnya tidak diketahui (Kamber, 2006).

Klasifikasi data terdiri dari 2 langkah proses. Pertama adalah learning (fase training), dimana algoritma klasifikasi dibuat untuk menganalisa data training lalu direpresentasikan dalam bentuk rule klasifikasi. Proses kedua adalah klasifikasi, dimana data tes digunakan untuk memperkirakan akurasi dari rule klasifikasi (Kamber, 2006).

Proses klasifikasi didasarkan pada empat komponen (Gorunescu, 2011):

  1. Kelas

    Variabel dependen yang berupa kategorikal yang merepresentasikan „label‟ yang terdapat pada objek. Contohnya: resiko penyakit jantung, resiko kredit, customer loyalty, jenis gempa.

  2. Predictor

    Variabel independen yang direpresentasikan oleh karakteristik (atribut) data. Contohnya: merokok, minum alkohol, tekanan darah, tabungan, aset, gaji.

  3. Training dataset

    Satu set data yang berisi nilai dari kedua komponen di atas yang digunakan untuk menentukan kelas yang cocok berdasarkan predictor.

  4. Testing dataset

    Berisi data baru yang akan diklasifikasikan oleh model yang telah dibuat dan akurasi klasifikasi dievaluasi.

LOAD DATASET


import csv
import random
import math
import operator

def loadDataset(filename, split, trainingSet=[] , testSet=[]):
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
dataset = list(lines)
for x in range(len(dataset)-1):
for y in range(4):
dataset[x][y] = float(dataset[x][y])
if random.random() < split:
trainingSet.append(dataset[x])
else:
testSet.append(dataset[x])

def main():
# prepare data
trainingSet=[]
testSet=[]
split = 0.67
loadDataset('iris.data', split, trainingSet, testSet)
print 'Train set: ' + repr(len(trainingSet))
print 'Test set: ' + repr(len(testSet))

# generate predictions

main()

Ketika program diatas dieksekusi (docs: https://www.python.org/doc/) maka akan ditampilkan jumlah data set dan data train yang digunakan dari sekian jumlah data yang disiapkan.

MENCARI OBJEK TERDEKAT

Pada tahap ini, dilakukan perhitungan jarak terdekat dari setiap objek menggunakan Euclidean Distance [2]


import csv
import random
import math
import operator

def loadDataset(filename, split, trainingSet=[] , testSet=[]):
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
dataset = list(lines)
for x in range(len(dataset)-1):
for y in range(4):
dataset[x][y] = float(dataset[x][y])
if random.random() < split:
trainingSet.append(dataset[x])
else:
testSet.append(dataset[x])

def euclideanDistance(instance1, instance2, length):
distance = 0
for x in range(length):
distance += pow((instance1[x] - instance2[x]), 2)
return math.sqrt(distance)

def getNeighbors(trainingSet, testInstance, k):
distances = []
length = len(testInstance)-1
for x in range(len(trainingSet)):
dist = euclideanDistance(testInstance, trainingSet[x], length)
distances.append((trainingSet[x], dist))
distances.sort(key=operator.itemgetter(1))
neighbors = []
for x in range(k):
neighbors.append(distances[x][0])
return neighbors

def main():
# prepare data
trainingSet=[]
testSet=[]
split = 0.67
loadDataset('iris.data', split, trainingSet, testSet)
print 'Train set: ' + repr(len(trainingSet))
print 'Test set: ' + repr(len(testSet))

# generate predictions
predictions=[]
k = 3
for x in range(len(testSet)):
neighbors = getNeighbors(trainingSet, testSet[x], k)
print(neighbors)

main()

MENGHITUNG AKURASI

import csv
import random
import math
import operator

def loadDataset(filename, split, trainingSet=[] , testSet=[]):
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
dataset = list(lines)
for x in range(len(dataset)-1):
for y in range(4):
dataset[x][y] = float(dataset[x][y])
if random.random() < split:
trainingSet.append(dataset[x])
else:
testSet.append(dataset[x])

def euclideanDistance(instance1, instance2, length):
distance = 0
for x in range(length):
distance += pow((instance1[x] - instance2[x]), 2)
return math.sqrt(distance)

def getNeighbors(trainingSet, testInstance, k):
distances = []
length = len(testInstance)-1
for x in range(len(trainingSet)):
dist = euclideanDistance(testInstance, trainingSet[x], length)
distances.append((trainingSet[x], dist))
distances.sort(key=operator.itemgetter(1))
neighbors = []
for x in range(k):
neighbors.append(distances[x][0])
return neighbors

def getResponse(neighbors):
classVotes = {}
for x in range(len(neighbors)):
response = neighbors[x][-1]
if response in classVotes:
classVotes[response] += 1
else:
classVotes[response] = 1
sortedVotes = sorted(classVotes.iteritems(), key=operator.itemgetter(1), reverse=True)
return sortedVotes[0][0]

def getAccuracy(testSet, predictions):
correct = 0
for x in range(len(testSet)):
if testSet[x][-1] == predictions[x]:
correct += 1
return (correct/float(len(testSet))) * 100.0

def main():
# prepare data
trainingSet=[]
testSet=[]
split = 0.67
loadDataset('iris.data', split, trainingSet, testSet)
print 'Train set: ' + repr(len(trainingSet))
print 'Test set: ' + repr(len(testSet))

# generate predictions
predictions=[]
k = 3
for x in range(len(testSet)):
neighbors = getNeighbors(trainingSet, testSet[x], k)
result = getResponse(neighbors)
predictions.append(result)
print('RESULT: predicted=' + repr(result) + ', actual=' + repr(testSet[x][-1]))
accuracy = getAccuracy(testSet, predictions)
print 'PREDICT: ', accuracy

Referensi :

[1] http://jurnal.unpand.ac.id/index.php/NT/article/download/350/344

[2] https://blogs.itb.ac.id/anugraha/2014/09/10/teori-pengukuran-jarak/

Menghitung regresi linear berganda menggunakan bahasa pemrograman python

Standard

Analisis regresi linier berganda adalah hubungan secara linear antara dua atau lebih variabel independen (X1, X2,….Xn) dengan variabel dependen (Y). Analisis ini untuk mengetahui arah hubungan antara variabel independen dengan variabel dependen apakah masing-masing variabel independen berhubungan positif atau negatif dan untuk memprediksi nilai dari variabel dependen apabila nilai variabel independen mengalami kenaikan atau penurunan. Data yang digunakan biasanya berskala interval atau rasio.

Persamaan regresi linear berganda sebagai berikut: Continue reading