# Skill Contract

**Skill ID:** urut_balik_hurufkata
**Version:** v1
**Status:** APPROVED

---

## Intent
Untuk membalikkan urutan huruf dari sebuah kata tunggal yang diberikan oleh pengguna dan menampilkan hasilnya.

---

## Inputs
- `kata` (string): Kata yang ingin dibalik urutan hurufnya. Input ini wajib dan tidak boleh mengandung spasi.

---

## Outputs
- `hasil kata terbalik` (string): Kata dengan urutan huruf yang sudah dibalik.

---

## Output Message
Kata yang dibalik adalah: `{hasil kata terbalik}`.

---\n
## Logic
1.  **Validasi Input:** Periksa apakah input `kata` mengandung spasi. Jika ada, anggap sebagai input tidak valid dan kembalikan pesan kesalahan. Input juga harus dipastikan bukan string kosong.
2.  **Pemrosesan Lokal:** Ambil nilai dari input `kata`.
3.  **Membalikkan Kata:** Balikkan urutan karakter dari string `kata`.
4.  **Menyimpan Hasil:** Simpan hasil kata yang telah dibalik ke variabel `hasil kata terbalik`.
5.  **Menampilkan Output:** Sajikan `hasil kata terbalik` kepada pengguna melalui Output Message.

---

## Additional Logic
Validasi input `kata` akan dilakukan untuk memastikan tidak mengandung spasi dan tidak kosong, karena skill ini dirancang khusus untuk membalikkan satu kata. Jika kriteria validasi tidak terpenuhi, proses akan dihentikan dan pesan kesalahan yang relevan akan diberikan kepada pengguna.

---

## Side Effects
Tidak ada efek samping yang terjadi, karena skill ini hanya melakukan pemrosesan teks internal dan tidak berinteraksi dengan sistem eksternal atau mengubah status apa pun.

---

## Capability Summary
Skill ini membalikkan urutan huruf dari sebuah kata tunggal yang diberikan oleh pengguna, memastikan input adalah satu kata tanpa spasi, dan menampilkan hasilnya.

---

## Allowed Roles
- SUPERUSER

---

## Assumptions
- Input `kata` akan berupa string.
- Pengguna akan memberikan satu kata tanpa spasi.
- Skill ini hanya fokus pada pembalikan urutan karakter, tidak ada pemrosesan bahasa atau semantik lainnya.

---

## Non-Goals
- Membalikkan urutan kata dalam sebuah kalimat.
- Menangani atau memproses angka, simbol, atau karakter non-alfabet khusus (walaupun secara teknis akan tetap terbalik).
- Melakukan validasi bahasa atau makna dari kata yang diberikan.

---

## Failure Modes
- **Input mengandung spasi:** Jika `kata` yang diberikan mengandung spasi, skill akan menolak input dan memberi tahu pengguna bahwa hanya satu kata yang diperbolehkan.
- **Input kosong:** Jika `kata` yang diberikan kosong, skill akan menolak input dan meminta pengguna untuk memberikan kata.
- **Tipe input tidak sesuai:** Jika input `kata` bukan string, skill akan gagal karena validasi tipe data (ditangani oleh sistem).

---

## Data & System Access
Tidak ada akses ke database eksternal, variabel sistem global, atau sumber daya sensitif lainnya. Semua operasi bersifat lokal dan dalam memori.

---

## Safety & Risk
Risk Level: LOW

---

## Input Mode
form

---

## Approval

    Approved by: USER  
    Approved on: 2026-05-20T07:59:20.028727Z