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
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
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].
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 1Finite 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
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
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
12
Gambar 4 Rancangan Proses Router Booting Sequence
13 4. Hasil dan Pembahasan
Hasil rancangan finite state automata pada proses router booting sequence
dapat dilihat pada Gambar 5.
CONFIG
Gambar 5 DiagramN-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
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.
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/
LOAD CONFIG CONFIG LOAD
READY
Hasil rancangan N-DFA secara menyeluruh, dijelaskan sebagai berikut.
OFF Not OK
POST OK
Gambar 6 DiagramStart State
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 OK POST 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 DiagramState 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
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
18
POST BOOTSRAP CHECK OS
ALARM
FAIL
OK
OK
OK
Not OK
Gambar 10 DiagramState 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 OS OK
CHECK & LOCATE
OK OK
Not OK
Not OK Not OK
Gambar 11 DiagramPengecekan Lokasi OS
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
Gambar 12 Diagram State ProsesLOAD 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
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
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 CHECKOS 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
21
Pseudocode proses router booting sequence, dijelaskan sebagai berikut: Kamus
cond, state = string
Start
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 if state == CHECK CONFIG
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. {
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. {
11. Console.WriteLine("ROUTER FAILED, PROGRAM WILL CLOSE!"); 12. Console.ReadKey();
13. Environment.Exit(0);
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.
24
Gambar 13 adalah tampilan hasilakhir 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
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 :
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.