Analisis Router Booting Sequence Menggunakan Finite State ......Penelitian yang berjudul Perancangan...

26
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

Transcript of Analisis Router Booting Sequence Menggunakan Finite State ......Penelitian yang berjudul Perancangan...

  • 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.