3.3 State Diagram
State diagram diagram keadaan merupakan suatu model matematis untuk merepresentasikan suatu ekspresi reguler yang diterima oleh suatu bahasa. Dari suatu
masukan string, dapat diperiksa apakah string tersebut diterima oleh suatu ekspresi reguler atau tidak. Suatu masukan diterima apabila dengan merunut tiap karakter
string dari awal sampai akhir, berakhir pada state akhir. Pada Gambar 3.11 diperlihatkan state diagram bilangan desimal. Contoh masukan string yang diterima
oleh state diagram bilangan desimal, diantaranya 123 dan +4567.
Gambar 3.11 State Diagram Bilangan Desimal
Gambar 3.12 memodelkan ekspresi reguler bilangan bulat biner ke dalam state diagram. Contoh masukan yang diterima oleh state diagram bilangan biner,
diantaranya “101011”B. Dengan merunut karakter demi karakter dari masukan tersebut, maka dapat dicapai state akhir, yaitu bin.
q2 q10
B, b +, -, Ø
q1 ‘’
q7 0, 1
‘’ q13
q14 ‘’
q11 0, 1
‘’
B, b q5
bin Ø
Ø ‘
q6 ‘
0, 1
‘ q12
‘ 0, 1
q3 0, 1
q8 0, 1
q4 0, 1
q9 0, 1
Gambar 3.12 State Diagram Bilangan Biner
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
q2 q10
O, o +, -, Ø
q1 ‘’
q7 0..7
‘’ q13
q14 ‘’
q11 0..7
‘’
O, o q5
oct Ø
Ø ‘
q6 ‘
0..7
‘ q12
‘ 0..7
q3 0..7
q8 0..7
q4 0..7
q9 0..7
Gambar 3.13 State Diagram Bilangan Oktal
Ekspresi reguler bilangan bulat oktal dimodelkan pada Gambar 3.13. Contoh masukan yang tidak diterima oleh state diagram bilangan oktal tersebut adalah
“1234’O. Dengan merunut tiap karakter pada string masukan tersebut, state terakhir oct tidak dapat dicapai. Karakter masukan hanya dapat dirunut sampai karakter
kelima karakter ‘4’, dan state terakhir yang dapat dicapai adalah state q7.
Gambar 3.14 State Diagram Bilangan Heksadesimal
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
Gambar 3.14 mengilustrasikan state diagram untuk ekspresi reguler bilangan bulat heksadesimal. Contoh masukan yang tidak diterima oleh state diagram tersebut
adalah ‘123abc’XZ. Dengan merunut tiap karakter pada string masukan, state akhir dapat dicapai pada karakter kesembilan karakter ‘X’. Tetapi, string masukan tersebut
tidak dapat diterima karena terdapat karakter yang tidak dapat dirunut lagi.
Gambar 3.15 State Diagram Bilangan Pecahan
Gambar 3.15 mengilustrasikan state diagram untuk ekspresi reguler bilangan pecahan. Contoh string masukan yang dapat diterima state diagram tersebut adalah
+12.34e56. Urutan state yang dilalui: {q1, q2, q3, q3, q5, q5, q5, q6, q7, q8, q8, float}. Karena, state terakhir yang dilalui adalah float dan tiap karakter dirunut sampai
karakter terakhir, maka string masukan tersebut diterima.
Gambar 3.16 State Diagram Untaian Karakter
Gambar 3.16 mengilustrasikan state diagram untuk ekspresi reguler untaian karakter. Contoh masukan yang dapat diterima adalah “sedang belajar”.
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
3.4 Perancangan Antarmuka