Showing posts with label Materi-kuliah. Show all posts
Showing posts with label Materi-kuliah. Show all posts

Monday, May 8, 2023

SVM dan PCA (Principal Component Analisys)

Dataset : https://www.kaggle.com/uciml/pima-indians-diabetes-database

Studi kasus : Klasifikasi Diabetes

jumlah fitur = 8 

  1. Pregnancies: Jumlah kali hamil
  2. Glucose: Konsentrasi glukosa plasma dalam 2 jam saat tes toleransi glukosa oral
  3. BloodPressure: Tekanan darah diastolik (mm Hg)
  4. SkinThickness: Ketebalan lipatan kulit trisep (mm)
  5. Insulin: Insulin serum dalam 2 jam (mu U/ml)
  6. BMI: Indeks massa tubuh (berat dalam kg / (tinggi dalam meter)^2)
  7. DiabetesPedigreeFunction: Nilai fungsi silsilah diabetes
  8. Age: Umur (tahun)
  9. Outcome: Variabel target, 0 untuk tidak menderita diabetes dan 1 untuk menderita diabetes.

PCA berfungsi untuk mereduksi ke 8 fitur tersebut untuk menjadi 2 fitur baru misal PC1 dan PC 2.  Nilai PC1 dan PC2 merupakan kombinasi linear dari seluruh fitur asli pada dataset. Dengan kata lain komponen 1 dan komponen 2 dihasilkan melalui reduksi dimensi dari seluruh fitur pada dataset dengan menggunakan metode PCA. Oleh karena itu, tidak ada fitur spesifik yang ditentukan sebagai komponen 1 atau 2, melainkan merupakan kombinasi linear dari seluruh fitur pada dataset.
 

import pandas as pd

from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
import numpy as np
import matplotlib.pyplot as plt

# Load dataset
train_data = pd.read_csv("diabetes-train.csv")
test_data = pd.read_csv("diabetes-test.csv")

# Separate attributes and targets
X_train = train_data.iloc[:, :-1].values
y_train = train_data.iloc[:, -1].values
X_test = test_data.iloc[:, :-1].values
y_test = test_data.iloc[:, -1].values


# Standardize the data
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)


# Apply PCA
pca = PCA(n_components=2)
X_train = pca.fit_transform(X_train)
X_test = pca.transform(X_test)


# Print 2 new features from PCA
#print("New feature 1 (PC1):", X_test[:, 0])
#print("New feature 2 (PC2):", X_test[:, 1])


# Print variance ratio of each component
print(pca.explained_variance_ratio_)


# Train SVM
svm = SVC(kernel='linear', random_state=0)
svm.fit(X_train, y_train)


# Make predictions on the test data
y_pred = svm.predict(X_test)


# Calculate accuracy
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}%".format(accuracy*100))


# Menghitung confusion matrix
cm = confusion_matrix(y_test, y_pred)


# Menampilkan confusion matrix
print("Confusion matrix:")
print(cm)


# Print coefficients of the hyperplane
print("Coefficients of the hyperplane: ", svm.coef_)


# Plot decision boundary
x_min, x_max = X_test[:, 0].min() - 1, X_test[:, 0].max() + 1
y_min, y_max = X_test[:, 1].min() - 1, X_test[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.1), np.arange(y_min, y_max, 0.1))
Z = svm.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, alpha=0.4)
plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred, s=20, edgecolor='k')
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.title('SVM Decision Boundary')
plt.show()


# Print actual and predicted values for each test data point
#print("{:<10} {:<15} {}".format('Index', 'Actual Value', 'Predicted Value'))
#for i in range(len(y_test)):
#    print("{:<10} {:<15} {}".format(i+1, y_test[i], y_pred[i]))


# Save actual and predicted values to txt file
with open('actual_pred.txt''w'as f:
    f.write("{:<10} {:<15} {}\n".format('Index''Actual Value''Predicted Value'))
    for i in range(len(y_test)):
        f.write("{:<10} {:<15} {}\n".format(i+1, y_test[i], y_pred[i]))
print("Actual and predicted values saved to actual_pred.txt file")


# Save 2 new features to excel file
new_features = pd.DataFrame({'New feature 1 (PC1)': X_test[:, 0], 'New feature 2 (PC2)': X_test[:, 1]})
new_features.to_excel('new-features.xlsx', index=False)

Hasil Running Program





Dua Fitur yang Dihasilkan oleh PCA




Penjelasan Program

# Standardize the data
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

- - -
Baris kode scaler = StandardScaler() digunakan untuk membuat objek scaler yang akan digunakan untuk melakukan standardisasi pada data, 

pada baris kode X_train = scaler.fit_transform(X_train), objek scaler digunakan untuk melakukan proses standardisasi pada data latih (X_train). Proses standardisasi ini dilakukan dengan mengubah skala nilai pada setiap fitur sehingga memiliki mean (rerata) 0 dan standar deviasi (simpangan baku) 1. Hal ini bertujuan untuk memastikan bahwa semua fitur memiliki pengaruh yang setara terhadap model yang akan dibangun

Baris kode X_test = scaler.transform(X_test) digunakan untuk melakukan proses standardisasi yang sama pada data uji (X_test) menggunakan objek scaler yang sama dengan yang digunakan pada data latih.

Menuliskan hasil Standarisasi Fitur pada File

import pandas as pd
from sklearn.preprocessing import StandardScaler

# Read data train and test
train_data = pd.read_csv('diabetes-train.csv')
test_data = pd.read_csv('diabetes-test.csv')

# Separate features and target variable
X_train = train_data.iloc[:, :-1].values
y_train = train_data.iloc[:, -1].values
X_test = test_data.iloc[:, :-1].values
y_test = test_data.iloc[:, -1].values

# Standardize the data
scaler = StandardScaler()
X_train_std = scaler.fit_transform(X_train)
X_test_std = scaler.transform(X_test)

# Create standardized dataframes
train_data_std = pd.DataFrame(data=X_train_std, columns=train_data.columns[:-1])
test_data_std = pd.DataFrame(data=X_test_std, columns=test_data.columns[:-1])
train_data_std['Outcome'] = y_train
test_data_std['Outcome'] = y_test

# Save to Excel
with pd.ExcelWriter('diabetes-std.xlsx', engine='xlsxwriter') as writer:
    train_data_std.to_excel(writer, sheet_name='Train', index=False)
    test_data_std.to_excel(writer, sheet_name='Test', index=False)
----
Standarisasi Nilai-Nilai Fitur

# Apply PCA
pca = PCA(n_components=2)
X_train = pca.fit_transform(X_train)
X_test = pca.transform(X_test)

Bars program di atas bertujuan untuk mengimplementasikan PCA (Principal Component Analysis) pada data. PCA adalah salah satu teknik reduksi dimensi yang berguna dalam mengatasi masalah overfitting dan mengurangi kompleksitas model. PCA diaplikasikan pada data latih dan data uji dengan memanggil objek PCA dari library scikit-learn. Argumen n_components diatur menjadi 2 untuk menghasilkan 2 fitur baru yang merupakan kombinasi linier dari fitur asli yang paling signifikan dalam menjelaskan varian data.

Setelah PCA diaplikasikan, fitur-fitur asli pada data latih dan data uji diubah ke dalam representasi fitur-fitur baru yang dihasilkan oleh PCA. Ini dilakukan dengan memanggil metode fit_transform() pada data latih dan transform() pada data uji.

----
Bersambung

Thursday, March 23, 2023

Melakukan Prediksi Menggunakan Machine Learning

Pada tulisan sebelumnya telah dilakukan analisis dengan Korelasi Pearson untuk mengetahui fitur yang paling berpengaruh pada dataset :

DATASET : https://archive.ics.uci.edu/ml/datasets/Energy+efficiency
https://archive.ics.uci.edu/ml/machine-learning-databases/00242/ENB2012_data.xlsx

NAMA FILE : ENB2012_data.xlsx

768 sampel, Setiap sampel terdiri dari 8 fitur numerik yang terdiri dari faktor-faktor seperti luas permukaan, tinggi plafon, dan jenis kaca yang digunakan.


  1. Kolom X1 : compactness relatif dari bangunan (Relative Compactness), yang merupakan rasio antara volume bangunan dan luas permukaan eksterior bangunan.
  2. Kolom X2 : permukaan (Surface Area) dari bangunan.
  3. Kolom : luas dinding (Wall Area) dari bangunan.
  4. Kolom X4 : luas atap (Roof Area) dari bangunan.
  5. Kolom X5: tinggi keseluruhan (Overall Height) dari bangunan.
  6. Kolom X6 : orientasi (Orientation) bangunan. Kolom ini mengindikasikan arah pandang bangunan terhadap matahari, diukur dalam derajat dari utara dalam arah jarum jam.
  7. Kolom X7 : luas kaca (Glazing Area) dari bangunan.
  8. Kolom X8 : distribusi luas kaca (Glazing Area Distribution) pada bangunan.
  9. Kolom Y1 : koefisien transmisi panas (Heat Transmission Coefficient) dari bangunan, yang mengukur seberapa baik bangunan dapat menahan panas dari luar ke dalam.
  10. Kolom Y2 : kehilangan energi pendinginan (Cooling Load) dari bangunan, yang mengukur jumlah energi yang dibutuhkan untuk mendinginkan ruangan dalam bangunan.

Regresi Linier Berganda

Pada data set tersebut akan dilakukan regresi berganda untuk memprediksi nilai Y1 dan Y2, data yang akan diuji akan diambil secara acak sebanyak 20% dari data data latih yang disediakan (dataset)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.metrics import r2_score, mean_squared_error

# Membaca dataset
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/00242/ENB2012_data.xlsx"
df = pd.read_excel(url)

# Mengganti nama kolom pada dataset
df = df.rename(columns={'X1': 'relative compactness',
                        'X2': 'surface area',
                        'X3': 'wall area',
                        'X4': 'roof area',
                        'X5': 'overall height',
                        'X6': 'orientation',
                        'X7': 'glazing area',
                        'X8': 'glazing area distribution',
                        'Y1': 'heating load',
                        'Y2': 'cooling load'})

# Mengambil variabel yang akan digunakan dalam analisis
X = df[['roof area', 'overall height']]
y1 = df['heating load']
y2 = df['cooling load']

# Membagi dataset menjadi data latih dan data uji
from sklearn.model_selection import train_test_split
X_train, X_test, y1_train, y1_test, y2_train, y2_test = train_test_split(X, y1, y2, test_size=0.2, random_state=0)

# Melakukan regresi polinomial pada data latih
poly = PolynomialFeatures(degree=2)
X_poly_train = poly.fit_transform(X_train)
X_poly_test = poly.transform(X_test)
regressor1 = LinearRegression()
regressor1.fit(X_poly_train, y1_train)
regressor2 = LinearRegression()
regressor2.fit(X_poly_train, y2_train)

# Memprediksi nilai y berdasarkan data uji
y1_pred = regressor1.predict(X_poly_test)
y2_pred = regressor2.predict(X_poly_test)

# Menampilkan persamaan regresi
print("Persamaan Regresi Heating Load: Y = {} + {}*X1 + {}*X2 + {}*X1^2 + {}*X2^2 + {}*X1*X2".format(
    regressor1.intercept_, regressor1.coef_[0], regressor1.coef_[1], regressor1.coef_[2], regressor1.coef_[3], regressor1.coef_[4]))
print("Persamaan Regresi Cooling Load: Y = {} + {}*X1 + {}*X2 + {}*X1^2 + {}*X2^2 + {}*X1*X2".format(
    regressor2.intercept_, regressor2.coef_[0], regressor2.coef_[1], regressor2.coef_[2], regressor2.coef_[3], regressor2.coef_[4]))

# Menampilkan plot kurva regresi
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))
ax1.scatter(X_test['roof area'], y1_test, color='red')
ax1.plot(X_test['roof area'], y1_pred, color='blue', linewidth=2)
ax1.set_xlabel('roof area')
ax1.set_ylabel('Heating Load')
ax2.scatter(X_test['roof area'], y2_test, color='blue')
ax2.plot(X_test['roof area'], y2_pred, color='red', linewidth=2)
ax2.set_xlabel('roof area')
ax2.set_ylabel('Cooling Load')

# Menampilkan plot kurva regresi
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))
ax1.scatter(X_test['overall height'], y1_test, color='red')
ax1.plot(X_test['overall height'], y1_pred, color='blue', linewidth=2)
ax1.set_xlabel('overall height')
ax1.set_ylabel('Heating Load')
ax2.scatter(X_test['overall height'], y2_test, color='blue')
ax2.plot(X_test['overall height'], y2_pred, color='red', linewidth=2)
ax2.set_xlabel('overall height')
ax2.set_ylabel('Cooling Load')

# Menampilkan kolom aktual dan hasil prediksi Y1
result1 = pd.DataFrame({'Actual Y1': y1_test, 'Predicted Y1': y1_pred})
print(result1)

# Menampilkan kolom aktual dan hasil prediksi Y2
result2 = pd.DataFrame({'Actual Y2': y2_test, 'Predicted Y2': y2_pred})
print(result2)

# Menyimpan kolom aktual dan hasil prediksi Y1 dan Y2 ke file excel
with pd.ExcelWriter('predicted_results.xlsx') as writer:
    result1.to_excel(writer, sheet_name='Y1')
    result2.to_excel(writer, sheet_name='Y2')

# Menghitung MAE
from sklearn.metrics import mean_absolute_error
mae1 = mean_absolute_error(y1_test, y1_pred)
mae2 = mean_absolute_error(y2_test, y2_pred)

# Menampilkan nilai R-squared, MSE, dan MAE
print("Heating Load:")
print("R-squared:", r2_score(y1_test, y1_pred))
print("MSE:", mean_squared_error(y1_test, y1_pred))
print("MAE:", mae1)

print("Cooling Load:")
print("R-squared:", r2_score(y2_test, y2_pred))
print("MSE:", mean_squared_error(y2_test, y2_pred))
print("MAE:", mae2)

# Menyimpan nilai R-squared, MSE, dan MAE ke file excel
data = {'R-squared': [r2_score(y1_test, y1_pred), r2_score(y2_test, y2_pred)],
        'MSE': [mean_squared_error(y1_test, y1_pred), mean_squared_error(y2_test, y2_pred)],
        'MAE': [mae1, mae2]}
df = pd.DataFrame(data, index=['Heating Load', 'Cooling Load'])
df.to_excel(writer, sheet_name='Metrics')

HASIL



-----------------------------------------------------------------------------
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.metrics import r2_score, mean_squared_error

# Membaca dataset
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/00242/ENB2012_data.xlsx"
df = pd.read_excel(url)

# Mengganti nama kolom pada dataset
df = df.rename(columns={'X1': 'relative compactness',
                        'X2': 'surface area',
                        'X3': 'wall area',
                        'X4': 'roof area',
                        'X5': 'overall height',
                        'X6': 'orientation',
                        'X7': 'glazing area',
                        'X8': 'glazing area distribution',
                        'Y1': 'heating load',
                        'Y2': 'cooling load'})

# Mengambil variabel yang akan digunakan dalam analisis
X = df[['roof area', 'overall height']]
y1 = df['heating load']
y2 = df['cooling load']

# Membagi dataset menjadi data latih dan data uji
from sklearn.model_selection import train_test_split
X_train, X_test, y1_train, y1_test, y2_train, y2_test = train_test_split(X, y1, y2, test_size=0.2, random_state=0)

# Melakukan regresi polinomial pada data latih
poly = PolynomialFeatures(degree=2)
X_poly_train = poly.fit_transform(X_train)
X_poly_test = poly.transform(X_test)
regressor1 = LinearRegression()
regressor1.fit(X_poly_train, y1_train)
regressor2 = LinearRegression()
regressor2.fit(X_poly_train, y2_train)

# Memprediksi nilai y berdasarkan data uji
y1_pred = regressor1.predict(X_poly_test)
y2_pred = regressor2.predict(X_poly_test)

# Menampilkan persamaan regresi
print("Persamaan Regresi Heating Load: Y = {} + {}*X1 + {}*X2 + {}*X1^2 + {}*X2^2 + {}*X1*X2".format(
    regressor1.intercept_, regressor1.coef_[0], regressor1.coef_[1], regressor1.coef_[2], regressor1.coef_[3], regressor1.coef_[4]))
print("Persamaan Regresi Cooling Load: Y = {} + {}*X1 + {}*X2 + {}*X1^2 + {}*X2^2 + {}*X1*X2".format(
    regressor2.intercept_, regressor2.coef_[0], regressor2.coef_[1], regressor2.coef_[2], regressor2.coef_[3], regressor2.coef_[4]))

# Menampilkan plot kurva regresi
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))
ax1.scatter(X_test['roof area'], y1_test, color='red')
ax1.plot(X_test['roof area'], y1_pred, color='blue', linewidth=2)
ax1.set_xlabel('roof area')
ax1.set_ylabel('Heating Load')
ax2.scatter(X_test['roof area'], y2_test, color='blue')
ax2.plot(X_test['roof area'], y2_pred, color='red', linewidth=2)
ax2.set_xlabel('roof area')
ax2.set_ylabel('Cooling Load')

# Menampilkan plot kurva regresi
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))
ax1.scatter(X_test['overall height'], y1_test, color='red')
ax1.plot(X_test['overall height'], y1_pred, color='blue', linewidth=2)
ax1.set_xlabel('overall height')
ax1.set_ylabel('Heating Load')
ax2.scatter(X_test['overall height'], y2_test, color='blue')
ax2.plot(X_test['overall height'], y2_pred, color='red', linewidth=2)
ax2.set_xlabel('overall height')
ax2.set_ylabel('Cooling Load')

# Menampilkan kolom aktual dan hasil prediksi Y1
result1 = pd.DataFrame({'Actual Y1': y1_test, 'Predicted Y1': y1_pred})
print(result1)

# Menampilkan kolom aktual dan hasil prediksi Y2
result2 = pd.DataFrame({'Actual Y2': y2_test, 'Predicted Y2': y2_pred})
print(result2)

# Menyimpan kolom aktual dan hasil prediksi Y1 dan Y2 ke file excel
with pd.ExcelWriter('predicted_results.xlsx') as writer:
    result1.to_excel(writer, sheet_name='Y1')
    result2.to_excel(writer, sheet_name='Y2')

# Menghitung MAE
from sklearn.metrics import mean_absolute_error
mae1 = mean_absolute_error(y1_test, y1_pred)
mae2 = mean_absolute_error(y2_test, y2_pred)

# Menampilkan nilai R-squared, MSE, dan MAE
print("Heating Load:")
print("R-squared:", r2_score(y1_test, y1_pred))
print("MSE:", mean_squared_error(y1_test, y1_pred))
print("MAE:", mae1)

print("Cooling Load:")
print("R-squared:", r2_score(y2_test, y2_pred))
print("MSE:", mean_squared_error(y2_test, y2_pred))
print("MAE:", mae2)

# Menyimpan nilai R-squared, MSE, dan MAE ke file excel
data = {'R-squared': [r2_score(y1_test, y1_pred), r2_score(y2_test, y2_pred)],
        'MSE': [mean_squared_error(y1_test, y1_pred), mean_squared_error(y2_test, y2_pred)],
        'MAE': [mae1, mae2]}
df = pd.DataFrame(data, index=['Heating Load', 'Cooling Load'])
df.to_excel(writer, sheet_name='Metrics')

Thursday, October 13, 2016

Menggunakan VMware pada GNS3 dan "Linked based VM"


Menambahkan Host VMware pada GNS3

Host pada VMware dapat digunakan sebagai host/workstation pada topologi jaringan di GNS3, sehingga kita bisa menggunakan server pada simulasi. Berikut cara mengintegrasikan host pada VMware dan GNS3 :

  • Pada menu Preferences, pilih VMware/VMs 
  • Untuk menambahkan host, pilih new maka akan muncul jendela seperti gambar di bawah.
  • Misalnya, saya baru saja menambahkan OS Debian pada VMware. untuk menambahkan OS host dengan OS Debian pilih pada VM list.


Menambahkan Host VMware pada GNS3

Debian telah ditambahkan sebagai host
Menggunakan Linked Base VM

Contoh kasusnya kira-kira seperti berikut, pada VMware saya hanya memiliki 1 Sistem operasi guest untuk Ubuntu. Tetapi saya ingin mengunakan 3 atau 4 host ubuntu pada simulasi GNS3. Pertanyaannya apakah pada VMware saya harus memasang atau menambah guest OS lagi? dengan mengaktifkan linked Base VM maka kita bisa menggandakan 1 host walaupun pada VMware hanya 1 guest os yang terpasang.

Langkah yang dilakukan hampir sama dengan yang diatas, klik pada OS dan aktifkan linked Base VM dengan memberikan centang, seperti gambar di bawah :

Mengaktifkan Linked Base VM

OS Ubuntu bisa diperbanyak pada GNS3

Tuesday, October 11, 2016

Memulai GNS3

GNS3 adalah salah satu pilihan untuk melakukan simulasi beberapa perangkat jaringan. Salah satu kelebihan dari GNS3 jika dibandingkan dengan packet tracert yang juga saya gunakan, adalah pada GNS3 kita bisa menggunakan VMware atau Virtual Box jika membutuhkan server pada simulasi. Demikian juga misalnya jika ingin menggabungkan router cisco, Juniper dan mikrotik pada simulasi maka GNS3 bisa memenuhi hal tersebut.

Sedangkan salah satu kekurangan GNS3 saat ini adalah kita tidak bisa menggunakan ios Switch, tetapi kita bisa menggunakan alterlatif lain dengan mengfungsikan Router seperti switch. Dapat dibaca pada tulisan sebelumnya.

Memulai GNS3

GNS3 membutuhkan sebuah virtual mesin (direkomendasikan VMware) untuk menjalankan GNS VM (GNS3 Virtual Machine) 

Menggunakan Perangkat (Router Switch) 

  1. Cisco ios router yang sebelumnnya telah ditambahkan ke dalam GNS3 ditarik ke area kerja
  2. Klik kanan pada router, on-kan router dengan memilih menu Start.
  3. untuk mengkonfigurasi Router melalui terminal, pilih menu Console.




Simulasi cisco ios Switch pada GNS3

Beberapa kali mencoba mensimulasikan switch cisco pada GNS3 tetapi selalu gagal, setelah mencari sebabnya lebih lanjut saya menemukan penjelasan pada forum GNS3 yang menyebutkan bahwa memang sampai saat ini GNS3 belum support untuk mensimulasikan IOS Switch.

          (https://gns3.com/discussions/switch-ios-compatible-for-gns3)

Kemudian bagaimana mengatasi hal tersebut? saya mencoba mengikuti saran yang diberikan pada forum tersebut, yaitu menggunakan router sebagai switch dengan cara menambahkan modul ES (Ether Switch) NME-16ESW.

Kita coba cek pada terminal apakah router sudah bisa menjalankan fungsi Switch (VLAN)

Seperti yang terlihat pada gambar, kita telah bisa menambahkan VLAN pada router
---
semoga bermanfaat

Thursday, May 21, 2015

Static Routing

========================================================
    insert static routing R1
========================================================

R1>enable
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#ip route 192.168.13.0 255.255.255.0 192.168.11.2
R1(config)#ip route 192.168.12.0 255.255.255.0 192.168.11.2
R1(config)#exit
R1#
R1#show ip route

Gateway of last resort is not set

C    192.168.10.0/24 is directly connected, FastEthernet0/0
C    192.168.11.0/24 is directly connected, Serial2/0
S    192.168.12.0/24 [1/0] via 192.168.11.2
S    192.168.13.0/24 [1/0] via 192.168.11.2

==========================================================
    insert statis routing R3
==========================================================

R3#show ip route

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, Serial3/0
C    192.168.13.0/24 is directly connected, FastEthernet0/0

R3#configure ter
Enter configuration commands, one per line.  End with CNTL/Z.

R3(config)#ip route 192.168.11.0 255.255.255.0 192.168.12.1
R3(config)#ip route 192.168.10.0 255.255.255.0 192.168.12.1
R3(config)#exit
R3#copy running-config startup-config

R3#show ip route

S    192.168.10.0/24 [1/0] via 192.168.12.1
S    192.168.11.0/24 [1/0] via 192.168.12.1
C    192.168.12.0/24 is directly connected, Serial3/0
C    192.168.13.0/24 is directly connected, FastEthernet0/0
R3#
=============================================================
    insert static R2
=============================================================
R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B -

C    192.168.11.0/24 is directly connected, Serial2/0
C    192.168.12.0/24 is directly connected, Serial3/0

R2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#
R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.11.1
R2(config)#ip route 192.168.13.0 255.255.255.0 192.168.12.2
R2(config)#exit

R2#copy running-config startup-config

R2#show ip route

S    192.168.10.0/24 [1/0] via 192.168.11.1
C    192.168.11.0/24 is directly connected, Serial2/0
C    192.168.12.0/24 is directly connected, Serial3/0
S    192.168.13.0/24 [1/0] via 192.168.12.2

Monday, May 13, 2013

Static Routing

Mata kuliah Jaringan Komputer [JTE Univ.Mataram]


File latihan PKa

R3 S 0/0/1 192.168.3.2/24
R2 S 0/0/1 192.168.3.1/24
R1 Fa 0/0  192.168.1.1 /24 ; Fa 0/1 192.168.2.1/24


Console Pass : cisco
enable Pass :class

R3>enable
Password:
R3#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line.  End with CNTL/Z.

R3 ke R1

R3(config)#ip route 192.168.1.0 255.255.255.0 192.168.3.1

R3#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

S    192.168.1.0/24 [1/0] via 192.168.3.1
C    192.168.3.0/24 is directly connected, Serial0/0/1

R1 ke R3


R1(config)#ip route 192.168.3.0 255.255.255.0 FastEthernet 0/1

R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, FastEthernet0/0
C    192.168.2.0/24 is directly connected, FastEthernet0/1
S    192.168.3.0/24 is directly connected, FastEthernet0/1

R2 to R1

R2(config)#ip route 192.168.1.0 255.255.255.0 F
R2(config)#ip route 192.168.1.0 255.255.255.0 FastEthernet 0/0
R2(config)#end

tes ping R3 ke PC1(R1) 192.168.1.10
R3#ping 192.168.1.10

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.10, timeout is 2 seconds:
...!!
Success rate is 40 percent (2/5), round-trip min/avg/max = 7/13/20 ms

Basic Router Configuration

Mata Kuliah Jaringan Komputer [JTE Univ.Mataram]


Tool simulasi yang akan digunakan adalah Packet tracert, beberapa konfigurasi dasar yang akan dilakukan disini adalah :
  • Naming the router 
  • Setting passwords 
  • Configuring interfaces 
  • Configuring a banner 
  • Saving changes on a router 
  • Verifying basic configuration and router operations
Download file berikut untuk melakukan konigurasi : .pka
berikut adalah perintah-perintah yang digunakan untuk mengkonfigurasi : TXT

--------------
    R1
---------------
Router>enable
Router#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#hostname R1

R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shutdown

R1(config)#interface serial 0/0/0
R1(config-if)#ip address 192.168.2.1 255.255.255.0
R1(config-if)#no shutdown

##password console,telnet,enable secret
R1(config)#line console 0
R1(config-line)#password cisco
R1(config-line)#login
R1(config-line)#exit

R1(config)#line vty 0 4
R1(config-line)#password cisco
R1(config-line)#login
R1(config-line)#exit

R1(config)#enable secret class

R1(config)#banner motd #
Enter TEXT message.  End with the character '#'.
***************************************************
warning !! Unauthorized Acces Prohibited!!
***************************************************
#

R1#copy running-config startup-config

Monday, September 24, 2012

Sistem Terdistribusi (6)

TANTANGAN SISTEM TERDISTRIBUSI ..5


5. Failure Handling

Kadangkala komputer dapat mengalami kegagalan. Kegagalan bisa saja terjadi pada perangkat keras atau perangkat lunak, program mungkin saja memberikan hasil yang tidak tepat atau berhenti sebelum menyelesaikan proses komputasi.

Kegagalan yang terjadi pada sistem terdistribusi bersifat parsial (sebagian), sebagian komponen gagal sementara bagian komponen yang lain tetap berjalan. Mengatasi kegagalan dalam sistem terdistribusi bukanlah perkara mudah, beberapa hal yang dapat dilakukan untuk mengatasi kegagalan sistem :

a. Detecting Failure (Mendeteksi kegagalan)
Beberapa kegagalan dapat dideteksi dan banyak pula yang sulit/tidak ada kemungkinan untuk dideteksi. checksum dapat digunakan untuk mendeteksi kerusakan data pada pesan atau dalam sebuah file. 

b. Masking Failure (Menandai Kegagalan)
Beberapa kesalahan/kegagalan yang telah terdeteksi dapat disembunyikan atau dikurangi efek dari kegagalan tersebut, misalnya :

  • Pesan /fail dapat di kirim ulang (retransmitted) ketika gagal tiba ditujuan
  • Setiap paket yang dikirim melalui internet memiliki TTL (Time To Live), jika telah mencapai waktu TTL maka paket tersebut akan di-drop dalam jaringan.
c. Tolerating Failure (Mentoleransi Kegagalan)
Kebanyakan layanan diinternet memberikan indikasi ketika terjadi kegagalan, sangat tidak praktis bagi layanan tersebut untuk mendeteksi dan menutupi kegagalan yang terjadi pada sebuah jaringan internet skala besar dengan begitu banyak komponen. Aplikasi pada client juga didesain untuk mentoleransi kegagalan yang terjadi. Misalnya, ketika web server tidak bisa terkoneksi dengan web server, maka web browser tidak akan membuat pengguna untuk terus menunggu sampai terhubung dengan web server. Web browser akan menginformasikan kepada pengguna kegagalan yang terjadi dan meminta kepada pengguna untuk mencoba beberapa waktu kemudian.

d. Redundancy (Duplikasi/ganda)
Sebuah layanan dapat mengurangi resiko kegagalan dengan menerapkan beberapa redundancy pada komponen jaringan.

  1. Terdapat routing yang berbeda untuk satu tujuan pada dua buah router dalam jaringan.
  2. Dalam sistem nama domain (Domain name sistem), setiap daftar nama di replikasi pada minimal 2 buah server.
  3. Database direplikasi pada beberapa buah server untuk menghindari kegagalan sistem jika database pada server utama mengalami kegagalan.



---
Referensi
Distributed System Concept and Design; Coulouris,Dollimore, kindberg

Sistem Terdistribusi (5)

TANTANGAN SISTEM TERDISTRIBUSI ..4

4. Scalability [Kemampuan untuk diperluas]

Sebuah sistem dikatakan scalable jika sistem masih efektif ketika terjadi penambahan sumber daya dan pengguna secara significan. Internet adalah sebuah contoh dimana jumlah komputer dan layanan didalamnya meningkat secara dramatis.

ketersediaan aplikasi di internet sering terancam oleh overloads jaringan serta kegagalan server dan aplikasi. Meningkatnya jumlah pengguna terhadap sebuah layanan harus diimbangi dengan penambahan jumlah infrastruktur untuk mengimbanginya. Penambahan jumlah pengguna yang tidak diimbangi dengan penambahan jumlah server dapat menyebabkan terjadinya efek boottleneck. misalnya jika sebuah server file mampu melayani maksimal 40 pengguna maka seharusnya ada 2 buah server untuk melayani 80 pengguna.

Setiap server memiliki kapasitas beban maksimum untuk setiap aplikas yang ditangani.Jika sebuah server tunggal menyediakan halaman web sebagai aplikasi berbasis web, dan pengguna atau jumlah request/permintaan halaman web meningkat diatas beban server maka kinerja server akan jatuh dan untuk banyak pengguna layanan halaman web bisa menjadi tak tersedia (unavailable).

Permasalahan lain yang dihadapi adalah semakin menipisnya persediaan IPV4, bertambahnya jumlah server yang signifikan maka membuat IPV4 tidak lagi mencukupi permintaan IP Publik. Hal ini menyebabkan munculnya protokol baru yang menggunakan 128 bit, yaitu IPV6.


---
Referensi
Distributed System Concept and Design; Coulouris,Dollimore, kindberg

Sunday, September 23, 2012

Sistem Terdistribusi (4)

TANTANGAN SISTEM TERDISTRIBUSI ..3


3. Security
banyak sumber daya informasi yang disediakan dan dipelihara dalam sistem terdistribusi memiliki nilai yang tinggi untuk para penggunanya. Karena itu keamanannya menjadi sangat penting. Keamanan untuk sumber daya informasi memiliki 3 komponen :

Saturday, September 22, 2012

Sistem Terdistribusi (3)


TANTANGAN SISTEM TERDISTRIBUSI ..2

2. Openness [Keterbukaan]

Keterbukaan sistem komputer adalah karakteristik yang menentukan apakah sistem dapat diperluas dan diimplementasikan kembali dengan metode atau cara yang berbeda. Keterbukaan sistem terdistribusi ditentukan terutama oleh sejauh mana layanan sumberdaya baru dapat ditambahkan dan tersedia untuk digunakan bagi berbagai jenis program disisi client.

Keterbukaan tidak akan tercapai kecuali spesifikasi dan dokumentasi antarmuka utama  perangkat lunak (key software interface)sebagai salah satu komponen sistem tersedia bagi pengembang perangkat lunak. Dalam dunia sistem terdistribusi dokumentasi ini biasanya dipublikasikan. Proses ini mirip dengan standarisasi antarmuka(interface), tetapi sering melewati prosedur standarisasi resmi,
yang biasanya rumit dan lambat.

Para perancang internet protocol memperkenalkan sebuah seri dokumentasi yang disebut "Request For Comment" (RFC),  Dokumentasi ini mencakup diskusi tentang internet protocol yang dapat diikuti di http://www.ietf.org/rfc.html; Demikian juga halnya dengan CORBA yang memiliki dokumentasi lengkap yang dapat dilihat di www.omg.org



---
Referensi
Distributed System Concept and Design; Coulouris,Dollimore, kindberg

Sistem Terdistribusi (2)

TANTANGAN SISTEM TERDISTRIBUSI ...1

Beberapa tantangan yang masih dihadapi dalam pengembangan sistem terdistribusi, beberapa tantangan yang akan dipaparkan telah terpenuhi/terselesaikan, tetapi para calon perancang saat ini harus memahaminya.

Sistem Terdistribusi (1)



Sistem terdistribusi adalah suatu sistem dimana komponen perangkat lunak dan hadware berada dalam jaringan, berkomunikasi dan mengkoordinasikan aktivitasnya dengan cara saling berkirim pesan/passing message (Distributed System Concept and Design; Coulouris,Dollimore, kindberg).

Terdapat juga definisi lain yaitu :Sistem komputer terdistribusi adalah sebuah sistem yang memungkinkan aplikasi komputer beroperasi secara terintegrasi pada lebih dari satu lingkungan yang terpisah secara fisis (Lukito EN, http://www.komputasi.lipi.go.id/)

Monday, February 28, 2011

DSCH2

Satu lagi tool yang dapat digunakan dalam perancangan IC, yaitu DSCH2. DSCH2 adalah editor dan simulator untuk rangkaian logika, digunakan untuk memvalidasi arsitektur rangkaian logika sebelum desain mikroelektronika dimulai. tool ini mempunyai tampilan yang mudah untuk digunakan. Selain menyediakan sarana untuk desain rangkaian logika juga dilengkapi dengan simulasi analisis delay yang memungkinkan untuk memvalidasi struktur rangkaian logika yang kompleks. Fitur inovatif lain adalah dimungkinkannya untuk memperkirakan konsumsi daya pada rangkaian.

Tool ini berjalan pada OS Windows, tapi untuk para pengguna Linux dapat menggunakan Wine untuk menjalankan tool ini. Baca tulisan sebelum nya (menjalankan tool Windows dengan wine)

saya lupa mendownload tool itu dimana, jadi saya upload kembali ke : http://www.maknyos.com/3x5wz1c3qzbt/DSCH2-maknyos.com.zip.html