Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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
1
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
2
3
4
5
6
7
8
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 TCP-
three-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
9
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.
10
5. 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.
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.
11
Mulai
Studi pemahaman
Perencanaan
Perancangan
Penarikan
kesimpulan
Selesai
Gambar 3 Tahapan Penelitian
Tahapan penelitian pada Gambar 3, dijelaskan sebagai berikut :
1. 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
2. Perencanaan a) Pemetaan seluruh kemungkinan yang terjadi pada saat proses booting router b) Analisis setiap anomali yang terjadi ketika proses booting router
3. Perancangan a) Merancang flowchart berdasarkan pemetaan seluruh kemungkinan proses
booting router.
b) Merancang desain finite state automata berdasarkan rancangan flowchart. 4. Pengambilan Kesimpulan
Pengambilan kesimpulan berdasarkan hasil dari perancangan booting router.
12
START
TURN ON
ROUTER
IS ROUTER
TURNED ON?
POST CHECK
IS POST OK?
LOAD
BOOSTRAP
IS
BOOTSTRAP
OK?
CHECK & LOAD
OS
IS OS OK?
CHECK & LOAD
CONFIG
IS CONFIG
EXIST?
RUN CONFIG
END
ALARM
IS ALARM
CRITICAL OR
NO?
NO
YES
NO
NO
NO
NO
NO
YES
YES
YES
YES
YES
IS CONFIG
OK?
YES
NO
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.
13
4. Hasil dan Pembahasan
Hasil rancangan finite state automata pada proses router booting sequence
dapat dilihat pada Gambar 5.
CONFIG
LOAD READY
OFF
Not OK
POSTOK
BOOTSRAP CHECK OS
ALARM
FAIL
FLASH TFTP OS
LOAD OS
NVRAMTFTP
CONFIGCONSOLE
CHECK
CONFIG
DEFAULT
CONFIG
READY
OK LOAD
CONFIG
OK
OK
CHECK & LOCATE
OK
OK
OK
CHECK & LOCATE
OK OKOK
OKNot OK
Not OK
Not OK Not OK
Not OK
Not OK
Not OK
Not OK Not OK
Not OK
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}
14
Himpunan kondisi ditunjukkan pada Tabel 1. Tabel 1 Himpunan Kondisi
Kondisi Deskripsi
OFF Router dalam kondisi mati/tidak menyala
POST Power On Self Test adalah proses
pengujian terhadap kesehatan sistem
komputer yang disimpan pada ROM
ALARM Alarm yang menyala jika ada keanehan
pada router. Alarm dapat bervariasi mulai
dari alarm yang tidak membahayakan
router hingga alarm yang membahayakan.
FAIL FAIL, adalah keadaan dimana router tidak
dapat berfungsi
BOOTSTRAP Bootstrap loader adalah sebuah program
yang digunakan oleh router untuk
menentukan alokasi OS yang akan
dijalankan.
CHECK OS Proses pengecekan OS
FLASH FLASH adalah dimana OS disimpan
TFTP OS Router akan melakukan pengecekan OS
pada TFTP OS jika tidak ditemukan OS
pada FLASH
LOAD OS Proses menjalankan OS jika ditemukan
dan dapat dijalankan.
CHECK CONFIG Pengecekan konfigurasi yang akan
dijalankan router
NVRAM NVRAM merupakan tempat pertama kali
router akan melakukan pengecekan file
konfigurasi. Konfigurasi pada NVRAM
dapat berasal dari FLASH.
TFTP CONFIG Jika tidak ditemukan file konfigurasi pada
NVRAM, maka router akan melakukan
pengecekan pada TFTP CONFIG
CONSOLE Jika tidak ditemukan file konfigurasi pada
NVRAM, dan TFTP CONFIG, maka
router akan mencoba mencari file
konfigurasi pada CONSOLE
LOAD CONFIG Proses menjalankan konfigurasi
DEFAULT CONFIG READY Jika tidak ada konfigurasi yang dapat
dijalankan, maka router akan masuk pada
konfigurasi default dan dapat digunakan
CONFIG LOAD READY 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.
15
Tabel 2 Himpunan Abjad
Abjad Deskripi
OK OK adalah input yang digunakan untuk menyatakan
suatu kondisi dijalankan dengan baik
NOT OK NOT OK adalah input yang digunakan jika suatu
kondisi tidak dijalankan dengan baik
CHECK&LOCATE 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
OK Not OK CHECK&
LOCATE
OFF POST OFF -
POST BOOTSRAP ALARM -
ALARM BOOTSRAP FAIL -
FAIL - - -
BOOTSRAP CHECK OS FAIL -
CHECK OS - - FLASH
FLASH LOAD OS TFTP OS -
TFTP OS LOAD OS CHECK OS -
LOAD OS CHECK CONFIG CHECK OS -
CHECK CONFIG - - NVRAM
NVRAM LOAD CONFIG TFTP CONFIG -
TFTP CONFIG LOAD CONFIG CONSOLE -
CONSOLE LOAD CONFIG CHECK OS -
LOAD CONFIG CONFIG LOAD
READY
DEFAULT
CONFIG READY
-
DEFAULT CONFIG
READY
- - -
CONFIG LOAD
READY
- - -
Hasil rancangan N-DFA secara menyeluruh, dijelaskan sebagai berikut.
OFF
Not OK
POSTOK
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
16
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 POSTOK
BOOTSRAP
ALARM
OK
Not OK
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
ALARM
FAIL
OK
Not OK
Not OK
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
17
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
FAIL
Not OK
Not OK
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.
18
POST BOOTSRAP CHECK OS
ALARM
FAIL
OK
OK
OK
Not OK
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.
CHECK OS
FLASH TFTP OS
LOAD OSOK
CHECK & LOCATE
OK
OK
Not OK
Not OK
Not 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
19
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.
CONFIG
LOAD READY
CHECK OS LOAD OS
NVRAMTFTP
CONFIGCONSOLE
CHECK
CONFIG
DEFAULT
CONFIG
READY
LOAD
CONFIG
OK
CHECK & LOCATE
OK OKOK
OK
Not OK
Not OK Not OK
Not OK
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.
20
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.
21
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
22
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. string condition; 2. string state = "OFF"; 3. Console.WriteLine("Program Ready, Press any key to start."); 4. Console.ReadKey(); 5. Console.Clear(); 6. while (state=="OFF") 7. { 8. Console.WriteLine("STATE IS "+state); 9. Console.WriteLine("IS ROUTER TURNED ON? OK(1)/NOK(2)"); 10. condition = Console.ReadLine(); 11. if (condition == "1") 12. { 13. state = "POST"; 14. } 15. else 16. { 17. state = "OFF"; 18. Console.Clear();s 19. }
20. }
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. Console.WriteLine("STATE IS "+state); 2. Console.WriteLine("IS ALARM OK? 1/2"); 3. condition = Console.ReadLine(); 4. if (condition=="1") 5. { 6. state = "BOOTSTRAP"; 7. } 8. else 9. { 10. state = "FAIL"; 11. Console.WriteLine("ROUTER FAILED, PROGRAM WILL CLOSE!"); 12. Console.ReadKey(); 13. Environment.Exit(0);
14. }
23
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. Console.WriteLine("ROUTER WILL LOAD CONFIG"); 2. Console.WriteLine("STATE IS "+state); 3. Console.WriteLine("IS "+state+" OK? 1/2"); 4. condition = Console.ReadLine(); 5. if (condition=="1") 6. { 7. state = "CONFIG LOAD READY"; 8. Console.WriteLine("CONFIGURATION LOADED, ROUTER READY!"); 9. } 10. else 11. { 12. state = "DEFAULT CONFIG READY"; 13. Console.WriteLine("ROUTER HAVE NO CONFIGURATION, WILL START AT DEFAULT
SETUP!");
14. }
15. 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
24
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.
Tabel 4 Perbandingan Hasil Observasi Teknisi PT. Datacomm dan Aplikasi
No
Observasi
Observasi Teknisi Observasi Aplikasi Keakuratan
1 Router OK Default Config Ready Router OK Default Config Ready 1
2 Router OK Default Config Ready Router OK Default Config Ready 1
3 Router OK Config Loaded Ready Router OK Config Loaded Ready 1
4 Router Not OK Fail Router Not OK Fail 1
5 Router OK Config Loaded Ready Router OK Config Loaded Ready 1
6 Router Not OK Fail Router Not OK Fail 1
7 Router OK Default Config Ready Router OK Default Config Ready 1
8 Router OK Default Config Ready Router OK Default Config Ready 1
9 Router OK Config Loaded Ready Router OK Config Loaded Ready 1
10 Router OK Default Config Ready Router OK Default Config Ready 1
Jumlah 10
25
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 N-
DFA 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.