T1__Full text Institutional Repository | Satya Wacana Christian University: Analisis Router Booting Sequence Menggunakan Finite State Automata T1 Full text

Analisis Router Booting Sequence
Menggunakan Finite State Automata

Artikel Ilmiah

Peneliti:
Andrianus Kevin Haryono (672012016)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016

Analisis Router Booting Sequence
Menggunakan Finite State Automata

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer

Peneliti:
Andrianus Kevin Haryono (672012016)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
1

2

3

4


5

6

7

1.

Pendahuluan

Proses booting router adalah proses awal router dinyalakan yang disebut
dengan router booting sequence. Proses ini penting untuk pengujian apakah router
tersebut layak digunakan atau tidak. Pengujian router dilakukan dalam beberapa
tahapan mulai dari router dinyalakan sampai proses pengujian konfigurasi yang ada
hingga router siap digunakan.
Finite state automata sangat berguna dalam membantu proses pengujian
kesalahan yang terjadi pada proses booting router. Tahapan pada router booting
sequence dapat digambarkan secara sederhana menggunakan finite state automata
sehingga akan mempermudah dalam pemahaman dan penyampaian gagasan atau
pemikiran manusia dalam pengembangan router lebih lanjut.

Berdasarkan latar belakang yang ada, maka dilakukan penelitian yang
membahas tentang pemetaan booting sequence pada router dengan menggunakan
finite state automata. Penelitian ini diharapkan memberikan kemudahan dalam
pemahaman dan perancangan selanjutnya sehingga akan menghindari kegagalan,
anomali, ataupun malfungsi yang dapat terjadi ketika router dinyalakan.
2.

Tinjauan Pustaka

Penelitian yang berjudul A Finite State Machine Model of TCP, membahas
tentang bagaimana merancang model finite state machine berdasarkan koneksi TCPthree-way-handshake antara client dan server. Manfaat dari penelitian tersebut untuk
mempermudah peneliti dalam mengamati anomali pada lalu lintas jaringan dan
membuat grafik data terkait [1].
Penelitian yang berjudul Perancangan Algoritma dan Program Robot Cerdas
Pemadam Api 2013 Divisi Berkaki, membahas bagaimana perancangan finite state
machine sangat membantu dalam pemahaman dan perancangan dasar algoritma yang
digunakan untuk merancang program robot cerdas pemadam api. Manfaat dari
penelitian ini adalah meneliti apakah robot dapat melewati kondisi-kondisi yang
diberikan, jika ada kendala maka peneliti dapat segera memahami kendala
berdasarkan finite state machine [2].

Berdasarkan penelitian-penelitian yang pernah dilakukan terkait analisis kasus
menggunakan perancangan finite state automata, maka akan dilakukan penelitian
yang membahas proses analisis router booting sequence menggunakan finite state
automata untuk mempermudah pemahaman dan pengamatan pada proses booting
router.
Penelitian yang dilakukan membahas tentang finite state automata dan router
booting sequence. Finite state machine memberikan pemahaman pada suatu “state”
(keadaan/kondisi) pada suatu titik tertentu dan menggambarkan perilaku dari sistem
tersebut berdasarkan “state”. Penggunaan dari teknik pemodelan ini tidak terbatas
pada pengembangan software, namun banyak dari perilaku berbasis state/kondisi
yang dapat dianalisis dan dipetakan [3].
Untuk lebih memahami bagaimana finite state machine memetakan suatu
sistem yang terdiri atas satu atau lebih kondisi menjadi suatu finite state yang dapat
dianalisa. Contoh sederhana menggunakan gerbang pada stasiun yang dapat dibuka
menggunakan koin. Gerbang pada awalnya “tertutup” dan tidak akan terbuka jika
ada orang ingin masuk. Ketika koin dimasukkan pada penerima, gerbang akan
“terbuka” namun pintunya tidak akan terbuka jika orang tersebut tidak membukanya
8

dan melewatinya, yang mana setelah itu pintu akan tertutup kembali dan gerbang

akan kembali pada kondisi tertutup sampai koin berikutnya dimasukkan lagi.
Tertutup atau Terbuka, dari kedua kondisi ada 2 (dua) transisi yang terjadi yaitu
memasukkan koin dan melewati pintu gerbang. Berdasarkan pemahaman tersebut
dapat dipetakan pemodelan tersebut seperti yang ditunjukkan pada Gambar 1.

Gambar 1 Finite State Automata Gerbang Stasiun [3]

Berdasarkan pemodelan finite state automata pada Gambar 1, akan dilakukan
pengujian sehingga didapat data yang akurat. Pengujian akan didasarkan pada setiap
perilaku yang mungkin dihasilkan oleh gerbang stasiun, dan kemudian akan
dilakukan revisi pada pemodelan. Adapun revisi yang dilakukan ditampilkan pada
Gambar 2.

Gambar 2 Revisi Finite State Automata Gerbang Stasiun [3]

Berdasarkan pembahasan tersebut, dapat diambil kesimpulan sebagai berikut:
1.
Sistem harus dapat dideskripsikan dengan sekumpulan kondisi yang terbatas
2.
Sistem harus mempunyai sekumpulan masukan dan atau kejadian yang dapat

memulai suatu transisi antar kondisi
3.
Untuk setiap kondisi pada suatu sistem, perilaku-perilaku didefinisikan untuk
setiap masukan atau kejadian
4.
Sistem harus mempunyai kondisi awal.
Selanjutnya akan dibahas cara kerja dari router dan proses booting router yang
merupakan obyek penelitian. Router merupakan sebuah komputer yang secara
khusus difungsikan sebagai alat untuk menghubungkan dan membuat jalur
komunikasi antar jaringan. Router mempunyai komponen-komponen sebagai
berikut: [4]
1.
Central Processing Unit (CPU), berguna untuk mengeksekusi instruksi pada
sistem operasi.
2.
Random Access Memory (RAM), berguna untuk menyimpan instruksi dan data
yang dibutuhkan oleh CPU. RAM, akan terhapus ketika router di-restart.
3.
Read-Only Memory (ROM), merupakan komponen yang berisikan instruksi
boot, yaitu instruksi ketika router pertama dinyalakan atau pada saat proses

booting
4.
Flash, adalah sebuah perangkat memori yang digunakan untuk menyimpan
IOS. IOS adalah sebuah operating system. IOS pada Flash akan disalin pada
RAM ketika proses booting berlangsung.

9

Non-Volatile Random Access Memory, adalah sebuah perangkat memori yang
tidak terhapus ketika router di-restart. Non-volatile random access memory
berguna untuk menyimpan konfigurasi yang sudah tersimpan ketika router
dinyalakan.
Proses jalannya router dari keadaan mati hingga siap digunakan dapat
dijelaskan sebagai berikut : [4]
1.
Test router hardware, adalah proses pengujian hardware pada router, jika
terjadi kesalahan maka akan muncul notifikasi berupa alarm. Kemudian
melakukan proses Power-On Self Test (POST) adalah proses pengujian
terhadap kesehatan sistem komputer yang disimpan pada ROM. Setelah POST
selesai, router akan mengeksekusi bootstrap loader.

2.
Bootstrap loader adalah sebuah program pada ROM yang digunakan untuk
memulai proses penentuan alokasi dimana router harus melakukan load IOS.
Konfigurasi awal untuk load IOS adalah pada memori flash jika pada registry
ditemukan nilai register-nya adalah 0x2102. Jika router tidak dapat melakukan
load IOS pada flash, maka router akan melakukan load IOS pada TFTP
(Trivial File Transfer Protocol) server. Jika masih tidak ditemukan IOS yang
valid untuk proses load, maka router akan masuk pada kondisi ROM monitor.
ROM monitor adalah kondisi dimana router dapat berfungsi namun secara
terbatas dan melakukan beberapa perintah seperti mengunduh IOS
menggunakan TFTP, mengatur ulang password, dan sebagainya.
3.
Start-up config, yaitu proses dimana router mencari configuration file yang
valid yang tersimpan pada NVRAM. Configuration file adalah sebuah file yang
berisikan konfigurasi router jika sebelumnya telah dilakukan konfigurasi.
Router akan mengaplikasikan konfigurasi tersebut jika configuration file valid.
Jika tidak ada configuration file pada NVRAM, maka IOS akan menampilkan
configuration setup, dimana dapat dilakukan konfigurasi.
4.
Router akan berjalan sesuai dengan configuration setup dan akan berjalan

mengaplikasikan konfigurasi yang ada. Jika tidak maka router akan masuk ke
configuration setup dan proses konfigurasi dapat dilakukan. Kedua proses ini
menunjukkan bahwa router dalam kondisi yang baik dan siap digunakan.

5.

3.

Metode dan Perancangan

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi
menjadi empat tahapan, yaitu: (1) Studi pemahaman, (2) Perencanaan, (3)
Perancangan, (4) Penarikan kesimpulan.

10

Mulai

Studi pemahaman


Perencanaan

Perancangan

Penarikan
kesimpulan

Selesai

Gambar 3 Tahapan Penelitian

1.

2.

3.

4.

Tahapan penelitian pada Gambar 3, dijelaskan sebagai berikut :

Studi pemahaman
a) Cara kerja dari booting router dan anomali apa saja yang dapat terjadi
selama proses booting router
b) Pemahaman mengenai pemetaan finite state automata sehingga dapat
digunakan untuk memetakan router booting sequence
Perencanaan
a) Pemetaan seluruh kemungkinan yang terjadi pada saat proses booting router
b) Analisis setiap anomali yang terjadi ketika proses booting router
Perancangan
a) Merancang flowchart berdasarkan pemetaan seluruh kemungkinan proses
booting router.
b) Merancang desain finite state automata berdasarkan rancangan flowchart.
Pengambilan Kesimpulan
Pengambilan kesimpulan berdasarkan hasil dari perancangan booting router.

11

START

TURN ON
ROUTER

IS ROUTER
TURNED ON?
YES

POST CHECK

ALARM

NO

IS POST OK?

YES
IS ALARM
CRITICAL OR
NO?

NO

LOAD
BOOSTRAP

NO
IS
BOOTSTRAP
OK?
YES
CHECK & LOAD
OS
NO

IS OS OK?

YES
CHECK & LOAD
CONFIG
NO

YES
IS CONFIG
OK?

NO

YES
IS CONFIG
EXIST?
YES
NO
RUN CONFIG

END

Gambar 4 Rancangan Proses Router Booting Sequence

Rancangan proses router booting sequence dalam bentuk flowchart yang
ditunjukkan pada Gambar 4, dirancang dengan mengambil segala kemungkinan yang
dapat terjadi saat proses booting router. Berdasarkan flowchart pada Gambar 4, maka
dapat dibuat rancangan finite state automata secara bertahap. Setiap proses yang
terjadi adalah sebuah state/kondisi pada finite state automata.

12

4.

Hasil dan Pembahasan

Hasil rancangan finite state automata pada proses router booting sequence
dapat dilihat pada Gambar 5.
Not OK

NVRAM

Not OK

Not OK

OK

TFTP
CONFIG

Not OK

OK

OK

CHECK & LOCATE

OFF

OK

POST

OK

BOOTSRAP

OK

CHECK OS

Not OK

Not OK

LOAD OS

OK

CHECK
CONFIG

Not OK
OK

CHECK & LOCATE

FLASH

Not OK

LOAD
CONFIG

Not OK

OK

OK
DEFAULT
CONFIG
READY

ALARM
Not OK

CONSOLE

CONFIG
LOAD READY

TFTP OS

Not OK
OK

FAIL

Gambar 5 Diagram N-DFA Router Booting Sequence

Komponen dari mesin N-DFA pada Gambar 5 dinyatakan dalam 5 tupel yaitu
sebagai berikut:
Q, ∑, δ, S, F yang artinya :
Q = {OFF, POST, ALARM, FAIL, BOOTSRAP, CHECK OS, FLASH, TFTP OS,
LOAD OS, CHECK CONFIG, NVRAM, TFTP CONFIG, CONSOLE, LOAD
CONFIG, DEFAULT CONFIG READY, CONFIG LOAD READY}
∑ = {NOT OK, OK, CHECK &LOCATE}
δ = {((OFF, NOT OK),OFF), ((OFF, OK), POST), ((POST, NOT OK), ALARM),
((POST, OK), BOOTSTRAP), ((ALARM, OK), BOOTSTRAP), ((ALARM, NOT OK),
FAIL), ((BOOTSTRAP, NOT OK), FAIL), ((BOOTSTRAP, OK), CHECK OS),
((CHECK OS, CHECK&LOCATE), FLASH), ((FLASH, NOT OK), TFTP OS),
((FLASH, OK), LOAD OS), ((TFTP OS, NOT OK), CHECK OS), ((TFTP OS, OK),
LOAD OS), ((LOAD OS, NOT OK), CHECK OS), ((LOAD OS, OK), CHECK
CONFIG), ((CHECK CONFIG, CHECK&LOCATE), NVRAM), ((NVRAM, NOT
OK), TFTP CONFIG), ((NVRAM, OK), LOAD CONFIG), ((TFTP CONFIG, NOT
OK), CONSOLE), ((TFTP CONFIG, OK), LOAD CONFIG), ((CONSOLE, NOT
OK), CHECK OS), ((CONSOLE, OK), LOAD CONFIG), ((LOAD CONFIG, OK),
CONFIG LOAD READY), ((LOAD CONFIG, NOT OK), DEFAULT CONFIG
READY)}
S= {OFF}
F= {DEFAULT CONFIG READY, CONFIG LOAD READY}

13

Himpunan kondisi ditunjukkan pada Tabel 1.
Tabel 1 Himpunan Kondisi

Kondisi
OFF
POST

ALARM

FAIL
BOOTSTRAP

CHECK OS
FLASH
TFTP OS

LOAD OS
CHECK CONFIG
NVRAM

TFTP CONFIG

CONSOLE

LOAD CONFIG
DEFAULT CONFIG READY

CONFIG LOAD READY

Deskripsi
Router dalam kondisi mati/tidak menyala
Power On Self Test adalah proses
pengujian terhadap kesehatan sistem
komputer yang disimpan pada ROM
Alarm yang menyala jika ada keanehan
pada router. Alarm dapat bervariasi mulai
dari alarm yang tidak membahayakan
router hingga alarm yang membahayakan.
FAIL, adalah keadaan dimana router tidak
dapat berfungsi
Bootstrap loader adalah sebuah program
yang digunakan oleh router untuk
menentukan alokasi OS yang akan
dijalankan.
Proses pengecekan OS
FLASH adalah dimana OS disimpan
Router akan melakukan pengecekan OS
pada TFTP OS jika tidak ditemukan OS
pada FLASH
Proses menjalankan OS jika ditemukan
dan dapat dijalankan.
Pengecekan konfigurasi yang akan
dijalankan router
NVRAM merupakan tempat pertama kali
router akan melakukan pengecekan file
konfigurasi. Konfigurasi pada NVRAM
dapat berasal dari FLASH.
Jika tidak ditemukan file konfigurasi pada
NVRAM, maka router akan melakukan
pengecekan pada TFTP CONFIG
Jika tidak ditemukan file konfigurasi pada
NVRAM, dan TFTP CONFIG, maka
router akan mencoba mencari file
konfigurasi pada CONSOLE
Proses menjalankan konfigurasi
Jika tidak ada konfigurasi yang dapat
dijalankan, maka router akan masuk pada
konfigurasi default dan dapat digunakan
Jika ada konfigurasi yang dapat
dijalankan, maka router akan masuk pada
CONFIG LOAD READY. Yaitu
konfigurasi akan dijalankan dan router
siap digunakan.

Himpunan abjad yang sudah ditentukan, ditunjukkan pada Tabel 2.
14

Tabel 2 Himpunan Abjad

Abjad
OK
NOT OK
CHECK&LOCATE

Deskripi
OK adalah input yang digunakan untuk menyatakan
suatu kondisi dijalankan dengan baik
NOT OK adalah input yang digunakan jika suatu
kondisi tidak dijalankan dengan baik
CHECK&LOCATE adalah input yang digunakan
untuk mengecek dan menemukan lokasi file OS
ataupun konfigurasi

Fungsi transisi ditunjukkan pada Tabel 3.
Tabel 3 Fungsi Transisi

Kondisi/
Input
OFF
POST
ALARM
FAIL
BOOTSRAP
CHECK OS
FLASH
TFTP OS
LOAD OS
CHECK CONFIG
NVRAM
TFTP CONFIG
CONSOLE
LOAD CONFIG
DEFAULT CONFIG
READY
CONFIG LOAD
READY

OK

Not OK

POST
BOOTSRAP
BOOTSRAP
CHECK OS
LOAD OS
LOAD OS
CHECK CONFIG
LOAD CONFIG
LOAD CONFIG
LOAD CONFIG
CONFIG LOAD
READY
-

OFF
ALARM
FAIL
FAIL
TFTP OS
CHECK OS
CHECK OS
TFTP CONFIG
CONSOLE
CHECK OS
DEFAULT
CONFIG READY
-

-

-

CHECK&
LOCATE
FLASH
NVRAM
-

Hasil rancangan N-DFA secara menyeluruh, dijelaskan sebagai berikut.
Not OK

OFF

OK

POST

Gambar 6 Diagram Start State

Gambar 6 merupakan kondisi awal dari hasil rancangan N-DFA. Kondisi
awal adalah kondisi dimana router dalam keadaan mati atau tidak menyala. Ketika
15

kondisi terpenuhi atau router dapat menyala dengan baik maka akan dilanjutkan ke
state berikutnya, jika kondisi tidak terpenuhi maka state akan kembali ke kondisi
OFF. Router dapat kembali ke kondisi OFF jika router tidak dapat menyala karena
suatu kondisi tertentu seperti kerusakan perangkat keras pada router dan sejenisnya.
Router dinyatakan kondisinya terpenuhi jika router dapat dinyalakan.
OFF

OK

OK

POST

BOOTSRAP

Not OK

ALARM

Gambar 7 Diagram State POST

Gambar 7 merupakan kondisi setelah kondisi awal atau start state. POST
(Power On Self Test) adalah kondisi yang akan mengecek apakah ada suatu
kerusakan pada router. Ketika ditemukan suatu masalah pada router maka akan
masuk pada kondisi ALARM dan jika tidak ditemukan masalah maka akan masuk
pada kondisi BOOTSTRAP. POST berperan penting pada proses booting agar tidak
terjadi hal-hal yang dapat menyebabkan kerusakan fatal pada router yang sedang
berjalan, keanehan sekecil apapun pada perangkat keras router akan segera
dilaporkan oleh POST seperti contohnya: kipas mati, pemasok daya (Power supply)
tidak berfungsi, dan sebagainya.
POST

BOOTSRAP

Not OK
OK
ALARM

Not OK

FAIL

Gambar 8 Diagram State ALARM

Gambar 8 merupakan kondisi ALARM yaitu suatu kondisi yang dapat terjadi
jika ada suatu kesalahan pada saat proses POST pada kondisi POST. Pada kondisi
ALARM maka router mengetahui ada suatu kerusakan atau keanehan pada perangkat
router dan akan menyalakan alarm agar pengguna router dapat mengetahui
kerusakan atau keanehan yang ada. Ketika terdapat kondisi yang tidak
16

memungkinkan router untuk melanjutkan fungsinya, maka router tidak dapat
digunakan dan akan dilanjutkan pada kondisi FAIL. Beberapa kondisi yang tidak
memungkinkan router untuk melanjutkan fungsinya yaitu: terdapat cacat pada semua
pemasok daya (Power Supply), ataupun cacat pada papan induk (motherboard).
Beberapa kondisi dapat memungkinkan router untuk melanjutkan fungsinya
meskipun pengguna router haruslah memahami cara mengatasi dan batasan yang
dapat dilakukan oleh router tersebut, kondisi tersebut yaitu: kipas tidak menyala, ada
pemasok daya (Power supply) yang tidak terpasang, dan sebagainya. Kondisi-kondisi
yang memungkinkan router untuk melanjutkan fungsinya kemudian akan masuk
pada kondisi BOOTSTRAP.
BOOTSRAP

ALARM
Not OK
Not OK

FAIL

Gambar 9 State FAIL

Gambar 9 merupakan kondisi yang terjadi jika state ALARM atau state
BOOTSTRAP tidak memenuhi syarat-syarat untuk melanjutkan fungsi router. State
FAIL yang artinya setelah router dinyalakan, ditemukan suatu keanehan ataupun
kerusakan pada state ALARM atau state BOOTSTRAP yang mengakibatkan router
tidak dapat berfungsi semestinya.

17

POST

OK

BOOTSRAP

OK

CHECK OS

OK
ALARM
Not OK

FAIL

Gambar 10 Diagram State BOOTSTRAP

Gambar 10 adalah kondisi BOOTSTRAP yaitu sebuah kondisi yang akan terjadi
jika router lolos uji pada kondisi POST dan ALARM. BOOTSTRAP adalah sebuah
program pada router yang akan menentukan alokasi OS pada router. Jika program
BOOTSTRAP gagal dijalankan maka router tidak akan dapat berfungsi sehingga
akan masuk pada kondisi FAIL. Jika router dapat menjalankan BOOTSTRAP dengan
baik maka akan masuk pada kondisi CHECK OS.
OK

CHECK OS

Not OK

LOAD OS

Not OK
CHECK & LOCATE

FLASH

Not OK

OK

TFTP OS

OK

Gambar 11 Diagram Pengecekan Lokasi OS

Gambar 11 adalah sebuah proses pengecekan lokasi OS hingga OS dapat
dijalankan. Kondisi CHECK OS hanya dapat dicapai jika BOOTSTRAP berhasil
dijalankan. Kondisi CHECK OS kemudian akan melakukan check & locate yang
akan mencari OS dan mengecek apakah dapat dijalankan atau tidak. Apabila tidak
ditemukan OS pada FLASH maka router akan melakukan pengecekan pada TFTP
OS, jika juga tidak ditemukan OS pada TFTP OS maka akan terjadi boot loop pada
18

router, sehingga router tidak dapat berfungsi dan akan melakukan pengecekan OS
secara terus menerus sampai router tersebut dimatikan atau ditemukan lokasi dan OS
yang dapat dijalankan oleh router. Apabila pada proses pencarian dan pengecekan
OS ditemukan OS yang dapat dijalankan pada FLASH maupun TFTP OS, maka
router akan langsung memasuki kondisi LOAD OS yang kemudian akan
menjalankan OS tersebut. Jika pada kondisi LOAD OS, OS tidak dapat dijalankan
karena kerusakan atau cacat pada OS, maka akan kembali pada kondisi CHECK OS
dan router akan melakukan pengecekan OS lagi.

Not OK

NVRAM

Not OK

OK

TFTP
CONFIG

Not OK

OK

OK

CHECK & LOCATE

CHECK OS

LOAD OS

OK

CHECK
CONFIG

CONSOLE

LOAD
CONFIG

Not OK

DEFAULT
CONFIG
READY

OK

CONFIG
LOAD READY

Gambar 12 Diagram State Proses LOAD CONFIG

Gambar 12 merupakan diagram proses N-DFA dari state LOAD CONFIG
hingga router siap digunakan pada final state. Ketika LOAD OS selesai menjalankan
OS dan OS tersebut siap digunakan, maka akan dilanjutkan pada kondisi CHECK
CONFIG. CHECK CONFIG adalah suatu kondisi untuk mencari dan mengecek
konfigurasi router yang disimpan. Konfigurasi pada router dapat dijalankan melalui
salah satu dari tiga tempat penyimpanan dan akan melakukan pencarian berdasarkan
urutan yaitu: NVRAM, TFTP CONFIG, dan CONSOLE. Jika tidak ditemukan
konfigurasi pada NVRAM maka router akan mencari pada TFTP CONFIG, bila tidak
ditemukan maka router akan mencari pada CONSOLE. Apabila tidak ditemukan
konfigurasi pada ketiga tempat penyimpanan, maka router akan kembali pada
kondisi CHECK OS sehingga router akan melakukan pengecekan mulai dari awal
pengecekan OS hingga ditemukan konfigurasi yang dapat dijalankan. Apabila
ditemukan konfigurasi pada salah satu dari ketiga tempat penyimpanan, maka router
akan menjalankan state LOAD CONFIG. State LOAD CONFIG akan menjalankan
konfigurasi dan jika router tersebut telah sebelumnya dikonfigurasi, maka router
akan memasuki final state CONFIG LOAD READY. Jika router tidak menemukan
adanya konfigurasi pada router, maka router memutuskan untuk menjalankan
prosedur standar router tanpa konfigurasi dan siap untuk dikonfigurasikan yaitu pada
final state DEFAULT CONFIG READY.

19

Setelah perancangan N-DFA selesai dibuat, tahap selanjutnya adalah
mengaplikasikan rancangan agar dapat dengan mudah digunakan dan diterapkan.
Agar pembuatan aplikasi atau program dapat diselesaikan dengan mudah maka
dilakukanlah pembuatan algoritma dan pseudocode.
Algoritma Proses Booting Router, adalah sebagai berikut :
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

Nyalakan router
Jika terdapat kerusakan maka router tidak dapat menyala
Jika tidak terdapat kerusakan maka router akan melakukan proses POST
Router melakukan proses POST
Jika POST berhasil maka router menjalankan BOOTSTRAP
Jika POST gagal maka router menyalakan alarm
Router akan memproses alarm
Jika alarm memungkinkan router untuk dijalankan maka router akan menjalankan BOOTSTRAP
Jika alarm tidak memungkinkan router untuk dijalankan maka router gagal untuk dijalankan
Router menjalankan BOOTSTRAP
Jika BOOTSTRAP tidak dapat dijalankan, maka router gagal untuk dijalankan
Jika BOOTSTRAP dapat dijalankan, maka router akan melakukan CHECK OS
Router akan menjalankan proses CHECK OS
CHECK OS akan melakukan proses alokasi dan pengecekan pada FLASH dan TFTP OS
FLASH akan melakukan proses pencarian atas dasar perintah CHECK OS
Jika terdapat OS pada FLASH maka router akan melakukan LOAD OS
Jika tidak terdapat OS pada FLASH maka router akan melakukan pengecekan pada TFTP OS
TFTP OS akan melakukan proses pencarian atas dasar perintah CHECK OS
Jika terdapat OS pada TFTP OS maka router akan melakukan LOAD OS
Jika tidak terdapat OS pada TFTP OS maka router akan mengulang proses CHECK OS
Router melakukan proses LOAD OS
Jika proses LOAD OS berhasil, maka router akan melakukan CHECK CONFIG
Jika proses LOAD OS gagal, maka router akan mengulang proses CHECK OS
Router melakukan CHECK CONFIG
CHECK CONFIG akan melakukan proses alokasi dan pengecekan pada NVRAM, TFTP CONFIG, dan
CONSOLE
NVRAM akan melakukan proses pencarian atas dasar perintah CHECK CONFIG
Jika terdapat config file pada NVRAM, maka router akan melakukan LOAD CONFIG
Jika tidak terdapat config file pada NVRAM, maka router akan melakukan pengecekan pada TFTP CONFIG
TFTP CONFIG akan melakukan proses pencarian atas dasar perintah CHECK CONFIG
Jika terdapat config file pada TFTP CONFIG, maka router akan melakukan LOAD CONFIG
Jika tidak terdapat config file pada TFTP CONFIG, maka router akan melakukan pengecekan pada
CONSOLE
CONSOLE akan melakukan proses pencarian atas dasar perintah CHECK CONFIG
Jika terdapat config file pada CONSOLE, maka router akan melakukan LOAD CONFIG
Jika tidak terdapat config file pada CONSOLE, maka router akan mengulang proses CHECK OS dari awal
Router melakukan proses LOAD CONFIG
Jika terdapat config sebelumnya, maka router akan menjalankan config dan router siap digunakan
Jika tidak terdapat config sebelumnya, maka router akan masuk pada konfigurasi dasar dan router siap
digunakan

Algoritma proses booting router didasarkan pada rancangan N-DFA booting
router. Algoritma tersebut akan mempermudah pembuatan aplikasi atau program
berdasarkan rancangan N-DFA yang telah dibuat. Tahap selanjutnya adalah
pembuatan pseudocode yang lebih mendekati bahasa program atau low level
menggunakan pseudocode, yang digunakan sebagai acuan pembuatan aplikasi atau
program.

20

Pseudocode proses router booting sequence, dijelaskan sebagai berikut:
Kamus
cond, state = string
Start
state = OFF
input cond
read cond
while state == OFF
do
If cond == OK, then state = POST
If cond == NOK, then state = OFF
Read state
Input cond
Read cond
If cond == OK, then state = BOOTSTRAP
If cond == NOK, then state = ALARM
If state == ALARM
Input cond
Read cond
If cond == OK, then state = BOOTSTRAP
If cond == NOK, then state = FAIL and exit program
If state == BOOTSTRAP
Input cond
Read cond
If cond == OK, then state = CHECK OS
If cond == NOK, then state = FAIL and exit program
Else, state = BOOTSTRAP
Input cond
Read cond
If cond == OK, then state = CHECK OS
If cond == NOK, then state = FAIL
If state == CHECK OS
do
do
input cond
read cond
state = FLASH
if cond == OK, then break
if cond == NOK, then state = TFTP OS
input cond
read cond
while cond == 2
state = LOAD OS
input cond
read cond
if cond == OK, state = CHECK CONFIG
if cond == NOK, state = CHECK OS
if state == CHECK CONFIG
do
state = NVRAM
input cond
read cond
if cond == OK, then break
if cond == NOK, then state = TFTP CONFIG
input cond
read cond
if cond == OK, then break
if cond == NOK, then state = CHECK OS
while cond == NOK
if state != CHECK OS

21

state = LOAD CONFIG
while state == CHECK OS
else, state = FAIL
input cond
read cond
if cond == OK, state = CONFIG LOAD READY
if cond == NOK, state = DEFAULT CONFIG READY
end

Rancangan pseudocode akan mempermudah dalam pembuatan aplikasi atau
program pengecekan kesalahan booting router. Pseudocode merupakan rancangan
yang mendekati bahasa pemrograman namun masih dapat dimengerti oleh manusia
sehingga dapat digunakan sebagai dasar perancangan berbagai bahasa pemrograman
ataupun digunakan sebagai dasar pengembangan untuk perancangan lebih lanjut.
Program yang dibuat berdasarkan pseudocode, ditunjukkan pada Kode Program 1.
Kode Program 1 Perintah untuk Menentukan State
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.

string condition;
string state = "OFF";
Console.WriteLine("Program Ready, Press any key to start.");
Console.ReadKey();
Console.Clear();
while (state=="OFF")
{
Console.WriteLine("STATE IS "+state);
Console.WriteLine("IS ROUTER TURNED ON? OK(1)/NOK(2)");
condition = Console.ReadLine();
if (condition == "1")
{
state = "POST";
}
else
{
state = "OFF";
Console.Clear();s
}
}

Kode Program 1 merupakan perintah yang digunakan untuk menentukan state
yang dituju ketika suatu kondisi terpenuhi. Variabel string cond (string condition)
dan state pada baris 1-2, digunakan sebagai penentu string state yang akan dituju.
Perintah untuk menentukan state tujuan menggunakan if dan else (perintah pada
baris 11 dan baris 15), dengan string cond sebagai persyaratan kondisi. Perintah while
(perintah pada baris 6) berfungsi sebagai perulangan yang digunakan pada program
ketika terjadi suatu kondisi yang menyebabkan state kembali kepada state itu sendiri
atau menuju beberapa state terlebih dahulu kemudian kembali pada state awalnya.
Kode Program 2 Perintah untuk Kondisi Fail
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

Console.WriteLine("STATE IS "+state);
Console.WriteLine("IS ALARM OK? 1/2");
condition = Console.ReadLine();
if (condition=="1")
{
state = "BOOTSTRAP";
}
else
{
state = "FAIL";
Console.WriteLine("ROUTER FAILED, PROGRAM WILL CLOSE!");
Console.ReadKey();
Environment.Exit(0);
}

22

Kode Program 2 merupakan perintah yang digunakan pada kondisi fail. Ketika
terdapat kondisi dimana router tidak dapat melanjutkan proses maka router akan
masuk pada kondisi fail. Perintah yang digunakan untuk menentukan kondisi fail
yaitu menggunakan if dan else pada baris 4 dan baris 7. Ketika router masuk pada
kondisi fail, maka program akan berhenti dan keluar menggunakan perintah
Environment.Exit(0); (perintah pada baris 13).
Kode Program 3 Perintah untuk Menentukan Final State
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Console.WriteLine("ROUTER WILL LOAD CONFIG");
Console.WriteLine("STATE IS "+state);
Console.WriteLine("IS "+state+" OK? 1/2");
condition = Console.ReadLine();
if (condition=="1")
{
state = "CONFIG LOAD READY";
Console.WriteLine("CONFIGURATION LOADED, ROUTER READY!");
}
else
{
state = "DEFAULT CONFIG READY";
Console.WriteLine("ROUTER HAVE NO CONFIGURATION, WILL START AT DEFAULT
SETUP!");
}
Console.ReadKey();

Kode Program 3 merupakan perintah yang digunakan untuk menentukan
kondisi akhir atau final state program. Final state ditentukan melalui beberapa
persyaratan sesuai dengan aturan yang ada pada N-DFA pada dasarnya menggunakan
perintah jika dan maka. N-DFA yang dirancang memiliki dua final state yaitu apabila
router tersebut sudah memiliki konfigurasi awal maka router akan menjalankan
konfigurasi tersebut dan router siap digunakan atau apabila router tidak memiliki
konfigurasi awal maka router akan menggunakan konfigurasi default dan router siap
digunakan. Pada Kode Program 3, perintah tersebut dijalankan menggunakan if dan
else (perintah pada baris 5 dan baris 10), dan akan mencetak pesan bahwa router
siap digunakan berdasarkan kondisi yang terpenuhi di antara dua kondisi yang ada.
Program dibuat menggunakan bahasa pemrograman C# dan merupakan
program dengan tampilan sederhana yaitu console. Konsep pemrograman dirancang
berdasarkan input abjad dari rancangan N-DFA yang kemudian diproses
menggunakan if dan else. Hasil dari proses kemudian akan menentukan state yang
akan dituju. Tampilan hasil akhir dari program yang telah dibuat, ditunjukkan pada
Gambar 13.

Gambar 13 Tampilan Hasil Akhir Program Final State 1

23

Gambar 13 adalah tampilan hasil akhir dari program yang sudah dibuat. Input
dimasukkan secara manual menggunakan keyboard kemudian input akan diproses
sehingga akan menampilkan state selanjutnya sesuai dengan input yang dimasukkan.
Ketika router memiliki konfigurasi yang sudah ada sebelumnya maka router akan
menjalankan konfigurasi tersebut dan berakhir pada final state “CONFIGURATION
LOADED, ROUTER READY!” router siap digunakan.

Gambar 14 Tampilan Hasil Akhir Program Final State 2

Gambar 14 adalah tampilan hasil akhir dari program ketika tidak terdapat
konfigurasi awal pada router. Router akan masuk pada final state “ ROUTER HAVE
NO CONFIGURATION, WILL START AT DEFAULT SETUP!” pada final state ini
router akan berjalan namun menggunakan konfigurasi default.
Berdasarkan tampilan hasil akhir dari program, tidak ditemukan kesalahan
ataupun penyimpangan dari jalur N-DFA yang sudah ditentukan. Program berjalan
sesuai dengan N-DFA dan dapat berakhir pada salah satu dari dua final state apabila
router berjalan dengan baik. Apabila router tidak berjalan dengan baik maka
program akan berulang pada pengecekan OS (boot loop) atau berakhir pada state fail.
Langkah selanjutnya pengujian dilakukan dari hasil implementasi analisis
router booting sequence menggunakan finite state automata untuk mengetahui
keakuratan dari rancangan yang sudah dibuat. Pengujian dilakukan dengan
mencocokkan hasil observasi antara teknisi router PT. Datacomm dan aplikasi
rancangan yang sudah dibuat berdasarkan finite state automata. Data yang diuji
berjumlah 10 unit router. Keakuratan router akan dinilai 1 apabila hasil observasi
router oleh teknisi PT. Datacomm sesuai dengan aplikasi.
No
Observasi
1
2
3
4
5
6
7
8
9
10

Tabel 4 Perbandingan Hasil Observasi Teknisi PT. Datacomm dan Aplikasi
Observasi Teknisi
Observasi Aplikasi
Keakuratan
Router OK Default Config Ready
Router OK Default Config Ready
Router OK Config Loaded Ready
Router Not OK Fail
Router OK Config Loaded Ready
Router Not OK Fail
Router OK Default Config Ready
Router OK Default Config Ready
Router OK Config Loaded Ready
Router OK Default Config Ready

Router OK Default Config Ready
Router OK Default Config Ready
Router OK Config Loaded Ready
Router Not OK Fail
Router OK Config Loaded Ready
Router Not OK Fail
Router OK Default Config Ready
Router OK Default Config Ready
Router OK Config Loaded Ready
Router OK Default Config Ready
Jumlah

1
1
1
1
1
1
1
1
1
1
10

24

Router diuji pada router hasil dismantle/pencopotan perangkat router dari
BTS (Base Transceiver Station) yaitu adalah stasiun pemancar yang menggunakan
router sebagai pengatur jaringannya. Beberapa dari router masih dalam kondisi baik
dan beberapa router masih mempunyai konfigurasi yang belum dihapus sehingga
tercatat beberapa router masih mempunyai konfigurasi lama.
Jika dihitung maka nilai probabilitas kesuksesan aplikasi terhadap teknisi
pengamat :
Nilai keakuratan

x 100%

=
=

x 100%

= 100%
Berdasarkan hasil pengujian tersebut maka dapat ditarik kesimpulan bahwa
keakuratan aplikasi dibandingkan dengan hasil observasi teknisi router PT.
Datacomm dengan 10 data yang disajikan adalah 100% sehingga menunjukkan
bahwa aplikasi rancangan menggunakan finite state automata dapat berjalan dengan
baik sesuai dengan fungsi dan kegunaan yang telah dirancang.
5.

Simpulan
Berdasarkan penelitian dan pengamatan pada booting router sequence, maka
dapat dibuat rancangan N-DFA pada proses booting router sehingga dapat
disimpulkan: 1) Perancangan awal menggunakan flowchart sangat membantu dalam
proses perancangan mesin N-DFA. 2) Perancangan N-DFA dapat digunakan sebagai
acuan perancangan sebuah program yang dapat membantu proses pencarian
keanehan dan anomali pada router. Saran pengembangan yang dapat diberikan untuk
penelitian lebih lanjut adalah sebagai berikut : 1) Melakukan uji pada banyak router
dan mengumpulkan data sistematisnya agar dapat diteliti penyebab utama kegagalan
pada router. 2) Mengembangkan proses booting router berdasarkan rancangan NDFA sehingga diharapkan dapat mengurangi jumlah keanehan atau kerusakan pada
saat proses booting router. 3) Melakukan pengumpulan data pada keanehan atau
anomali router menggunakan aplikasi yang sudah terintegrasi sehingga akan
diperoleh data keanehan atau anomali secara terperinci, melalui data tersebut dapat
dilakukan pengembangan pada router sehingga akan memperbaiki kinerja router
dalam meminimalisasikan keanehan atau anomali yang mungkin terjadi.
6.

Daftar Pustaka

[1]. Treurniet, J., Lefebvre, J. H., 2003, A Finite State Machine Model of TCP
Connections in the Transport Layer, Defense R&D Canada-Ottawa.
[2]. Purnama, W., dkk., 2014, Perancangan Algoritma dan Program Robot Cerdas
Pemadam Api 2013 Divisi Berkaki, Departmen Pendidikan Teknik Elektro
FPTK Universitas Pendidikan Indonesia.
[3]. Wright, D. R., 2005, Finite State Machines CSC215 Class Notes, N. Carolina
State Univ.
[4]. Bornhager, M., 2002, Router and Routing Basics, Halmstad University.

25

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

Analisis komparatif rasio finansial ditinjau dari aturan depkop dengan standar akuntansi Indonesia pada laporan keuanagn tahun 1999 pusat koperasi pegawai

15 355 84

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

Analisis Penyerapan Tenaga Kerja Pada Industri Kerajinan Tangan Di Desa Tutul Kecamatan Balung Kabupaten Jember.

7 76 65

Analisis Pertumbuhan Antar Sektor di Wilayah Kabupaten Magetan dan Sekitarnya Tahun 1996-2005

3 59 17

Analisis tentang saksi sebagai pertimbangan hakim dalam penjatuhan putusan dan tindak pidana pembunuhan berencana (Studi kasus Perkara No. 40/Pid/B/1988/PN.SAMPANG)

8 102 57

Analisis terhadap hapusnya hak usaha akibat terlantarnya lahan untuk ditetapkan menjadi obyek landreform (studi kasus di desa Mojomulyo kecamatan Puger Kabupaten Jember

1 88 63

Diskriminasi Daun Gandarusa (Justicia gendarrusa Burm.f.) Asal Surabaya, Jember dan Mojokerto Menggunakan Metode Elektroforesis

0 61 6