SOURCE CODE PHYTON
source code :
def analyze_string(input_string):
current_state = 0
for char in input_string:
if current_state == 0 and char == 'a':
current_state = 1
elif current_state == 1 and char == 'b':
current_state = 2
elif current_state == 2 and char == 'c':
current_state = 3
else:
current_state = -1
break
if current_state == 3:
return "String diterima"
else:
return "String ditolak"
input_string = input("Masukkan string: ")
result = analyze_string(input_string)
print(result)
Analisis otomata:
Otomata pada contoh di atas adalah otomata yang menerima string berikut: "abc". Otomata ini memiliki 4 state (0, 1, 2, 3).
State 0 adalah state awal.
State 1 dicapai jika karakter pertama adalah 'a'.
State 2 dicapai jika karakter kedua adalah 'b'.
State 3 dicapai jika karakter ketiga adalah 'c'.
Jika semua karakter diikuti sesuai dengan urutan tersebut, otomata akan mencapai state 3 dan menghasilkan output "String diterima". Jika ada kesalahan dalam urutan karakter atau karakter yang tidak diharapkan, otomata akan mencapai state -1 dan menghasilkan output "String ditolak".
Analisis sintaks:
- Fungsi analyze_string menerima string sebagai argumen dan mengembalikan hasil analisis.
- Variabel current_state melacak state saat ini dalam otomata.
- Perulangan for digunakan untuk memeriksa setiap karakter dalam string input.
- Setiap kondisi dalam pernyataan if menggambarkan transisi dari satu state ke state berikutnya berdasarkan karakter yang ditemukan.
- Jika urutan karakter sesuai dengan yang diharapkan, otomata akan mencapai state 3 dan mengembalikan "String diterima". Jika tidak, otomata akan mencapai state -1 dan mengembalikan "String ditolak".
Analisis pohon urai:
Berikut adalah pohon urai yang menggambarkan jalur yang diambil oleh otomata untuk menerima string "abc":
Pada pohon urai di atas, setiap angka dalam kurung menunjukkan state, sedangkan karakter di sebelah kiri panah menunjukkan karakter yang memicu transisi ke state berikutnya.
Pada kasus ini, otomata melalui state 0, 1, 2, dan akhirnya mencapai state 3 ketika ditemukan karakter 'a', 'b', dan 'c' secara berurutan. Jika ada kesalahan dalam urutan karakter atau karakter yang tidak diharapkan, otomata akan mencapai state -1.
Harap dicatat bahwa contoh di atas hanya merupakan contoh sederhana dan tidak mencakup semua aspek otomata.
Komentar
Posting Komentar