Autocorrection — esensi, mekanisme dan UITextAutocorrectionType

Penulis: IT Sectr Diterbitkan: 2026-07-08 Waktu membaca: 7 mnt

Autocorrection adalah mekanisme bawaan iOS yang secara otomatis memperbaiki kesalahan ejaan saat memasukkan teks. UIKit mengelola perilaku koreksi otomatis melalui properti autocorrectionType dalam protokol UITextInputTraits, mendukung tiga mode: default, diaktifkan, dan dinonaktifkan. Menurut Apple Text Programming Guide (2025), koreksi otomatis menganalisis teks yang dimasukkan berdasarkan kamus sistem dan pembelajaran mesin pada perangkat. Gunakan autocorrectionType untuk setiap bidang teks secara terpisah — ini memungkinkan Anda menyesuaikan perilaku dengan spesifik data yang dimasukkan.

Poin utama

  • Autocorrection — mekanisme sistem iOS untuk koreksi otomatis kesalahan ejaan saat mengetik teks
  • UITextAutocorrectionType mendukung tiga mode: .default, .yes, dan .no untuk setiap bidang secara individual
  • Kamus koreksi otomatis dibangun berdasarkan kamus sistem iOS dan model bahasa yang dilatih pada perangkat
  • Safe Keyboard — keyboard aman yang menonaktifkan koreksi otomatis untuk bidang kata sandi dan data keuangan
  • Lokalisasi — koreksi otomatis berfungsi untuk semua bahasa keyboard yang didukung, termasuk tata letak tambahan

Apa itu Autocorrection?

Autocorrection (koreksi otomatis) adalah fitur sistem operasi iOS yang secara otomatis mengganti kata yang dimasukkan dengan varian yang diduga benar ketika mendeteksi kesalahan ejaan. Mekanisme ini bekerja pada tingkat bidang teks UIKit dan tersedia di semua aplikasi yang menggunakan elemen input standar UITextField dan UITextView.

Dasar dari koreksi otomatis adalah model bahasa yang dilatih pada jutaan contoh teks untuk setiap bahasa yang didukung. Model bekerja sepenuhnya pada perangkat (on-device), yang menjamin kerahasiaan data yang dimasukkan — teks tidak dikirim ke server Apple untuk dianalisis. Dengan setiap pembaruan iOS, model diperhalus dan diperluas dengan kata dan aturan baru.

Koreksi otomatis diaktifkan secara otomatis untuk semua bidang teks, kecuali pengembang secara eksplisit menonaktifkannya. Pengguna dapat menonaktifkan koreksi otomatis sepenuhnya di pengaturan sistem (Pengaturan > Umum > Keyboard > Koreksi Otomatis), tetapi pengembang juga dapat mengelola perilaku ini untuk bidang individual melalui properti autocorrectionType.

Menurut WWDC 2023 Session 204, Apple memperkenalkan model bahasa koreksi otomatis yang ditingkatkan berdasarkan Transformer, yang mempertimbangkan konteks seluruh kalimat, bukan hanya kata terakhir. Ini memungkinkan pengurangan jumlah koreksi palsu sebesar 30% dibandingkan dengan model sebelumnya berdasarkan n-gram.

Mode koreksi otomatis di iOS

UITextAutocorrectionType adalah enumerasi dengan tiga nilai yang menentukan perilaku koreksi otomatis untuk bidang teks tertentu. Setiap nilai diatur melalui properti autocorrectionType, yang tersedia di Interface Builder dan dalam kode saat membuat bidang.

Mode .default

Nilai .default berarti bidang mewarisi pengaturan global koreksi otomatis dari parameter keyboard sistem. Mode ini direkomendasikan untuk sebagian besar bidang teks, karena menghormati pilihan pengguna. Jika pengguna menonaktifkan koreksi otomatis di pengaturan, bidang dengan .default juga tidak akan menggunakannya.

Mode .yes

Nilai .yes memaksa mengaktifkan koreksi otomatis untuk bidang terlepas dari pengaturan sistem. Mode ini hanya boleh digunakan untuk bidang di mana akurasi ejaan sangat penting — misalnya, di editor teks, bidang catatan, atau pesan. Apple merekomendasikan penggunaan .yes dengan hati-hati, karena pengaktifan paksa dapat bertentangan dengan harapan pengguna.

Mode .no

Nilai .no menonaktifkan koreksi otomatis untuk bidang tertentu. Mode ini wajib untuk bidang kata sandi (secure text entry), alamat email, kode konfirmasi, dan kueri pencarian. Di bidang ini, koreksi otomatis tidak hanya tidak berguna, tetapi juga berbahaya — dapat mengganti data yang dimasukkan dengan benar dengan data yang salah.

ModeNilaiRekomendasi
.defaultMewarisi pengaturan sistemSebagian besar bidang input
.yesDipaksa diaktifkanEditor teks, catatan
.noDipaksa dinonaktifkanKata sandi, email, pencarian, kode

Model bahasa dan kamus

Model bahasa koreksi otomatis iOS menggunakan kombinasi kamus statis dan model yang dipelajari secara dinamis. Kamus sistem berisi kata-kata yang paling sering digunakan untuk setiap bahasa, dan model bahasa berbasis Transformer menganalisis konteks dan probabilitas penggantian. Model belajar pada perangkat berdasarkan teks yang dimasukkan oleh pengguna.

Pengguna dapat menambahkan kata ke kamus pribadi melalui pengaturan keyboard (Pengaturan > Umum > Keyboard > Penggantian Teks). Kata yang ditambahkan disimpan di iCloud dan disinkronkan antar perangkat melalui Apple ID yang sama. Sistem tidak akan mengoreksi kata dari kamus pribadi, yang nyaman untuk nama, merek, dan istilah teknis.

Untuk domain spesifik — medis, hukum, teknis — kamus standar mungkin tidak mengandung cukup istilah. Dalam aplikasi semacam itu, disarankan untuk menonaktifkan koreksi otomatis untuk bidang yang relevan atau menggunakan penggantian teks kustom melalui metode UIResponder .replacementDictionary untuk iOS 17+.

Menurut Apple Machine Learning Research (2024), model koreksi otomatis baru berdasarkan arsitektur Transformer memproses hingga 10 token konteks (dibandingkan 3 token pada model sebelumnya), memungkinkan penentuan niat pengguna yang lebih akurat. Model tidak hanya mempertimbangkan ejaan, tetapi juga struktur tata bahasa kalimat.

Safe Keyboard dan data rahasia

Safe Keyboard adalah mode input aman yang secara otomatis diaktifkan untuk bidang dengan secureTextEntry = true. Dalam mode ini, koreksi otomatis, kapitalisasi otomatis, dan input prediktif dinonaktifkan oleh sistem terlepas dari nilai autocorrectionType yang ditetapkan. Sistem juga memblokir akses ke kamus pribadi dan penggantian teks.

Safe Keyboard mencegah kebocoran data yang dimasukkan melalui mekanisme koreksi otomatis. Jika koreksi otomatis aktif untuk bidang kata sandi, sistem dapat menyimpan kata sandi yang dimasukkan di kamus pribadi atau mengirimkannya ke server Apple untuk pelatihan model. Safe Keyboard menjamin bahwa data rahasia tidak meninggalkan batas aplikasi.

Untuk aplikasi keuangan, Safe Keyboard hanya diaktifkan secara otomatis untuk bidang dengan secureTextEntry. Untuk bidang nomor kartu, tanggal kedaluwarsa, dan kode CVV, pengembang harus menonaktifkan koreksi otomatis secara manual dengan mengatur autocorrectionType = .no dan keyboardType = .numberPad atau .phonePad.

Mulai dari iOS 17, Safe Keyboard mendukung perlindungan terhadap intersepsi melalui keyboard pihak ketiga. Jika pengguna menginstal keyboard dari App Store, saat secureTextEntry diaktifkan, keyboard sistem secara otomatis menggantikan keyboard pihak ketiga, bahkan jika keyboard tersebut dipilih sebagai default. Ini memastikan bahwa kata sandi hanya dimasukkan melalui keyboard sistem yang aman.

Konfigurasi melalui kode Swift

Mengelola koreksi otomatis di Swift dilakukan melalui properti autocorrectionType dari objek UITextField dan UITextView. Properti tersedia untuk dibaca dan ditulis, dan dapat diubah secara dinamis tergantung pada konteks input. Konfigurasi melalui Interface Builder tersedia di inspektor atribut dengan nama Correction.

swift
let textField = UITextField()
textField.autocorrectionType = .no

Untuk formulir masuk, koreksi otomatis harus dinonaktifkan untuk bidang kata sandi dan diaktifkan secara default untuk bidang login. Bidang email juga disarankan dibiarkan tanpa koreksi otomatis, karena simbol @ dan nama domain sering diganti secara tidak benar. Untuk bidang username, koreksi otomatis dapat diaktifkan jika username adalah kata yang dapat dibaca.

swift
class RegistrationViewController: UIViewController {

    @IBOutlet var nameField: UITextField!
    @IBOutlet var emailField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        nameField.autocorrectionType = .yes
        emailField.autocorrectionType = .no
        emailField.textContentType = .emailAddress
    }
}

Untuk UITextView konfigurasi koreksi otomatis dilakukan dengan cara yang sama. Ini sangat penting untuk bidang komentar, pesan, dan catatan multi-baris, di mana koreksi otomatis memberikan manfaat terbesar, tetapi juga dapat menyebabkan ketidaknyamanan saat memasukkan istilah teknis atau kode.

swift
let textView = UITextView()
textView.autocorrectionType = .default

Untuk perubahan dinamis koreksi otomatis, gunakan delegasi UITextFieldDelegate. Metode textFieldDidBeginEditing dipanggil saat bidang diaktifkan dan di dalamnya Anda dapat mengubah autocorrectionType tergantung pada konteks saat ini atau peran bidang, yang dapat berubah selama operasi aplikasi.

Kapan menonaktifkan koreksi otomatis

Koreksi otomatis harus dinonaktifkan di bidang di mana akurasi data yang dimasukkan sangat penting dan sistem tidak dapat menentukan niat pengguna dengan benar. Kasus utama: bidang kata sandi dan data aman, bidang alamat email, bilah pencarian, bidang input kode dan kode pemrograman, serta bidang dengan format data non-standar.

Untuk bilah pencarian (UISearchBar) koreksi otomatis dinonaktifkan secara default, yang sesuai dengan harapan pengguna. Saat mencari, pengguna dapat memasukkan kata tidak lengkap, istilah teknis, atau kueri dalam berbagai bahasa, dan koreksi otomatis hanya akan menghalangi. Demikian pula untuk bidang input URL dan nama domain.

Di aplikasi pesan dan komunikasi, koreksi otomatis biasanya diaktifkan, tetapi saat memasukkan bahasa gaul, singkatan, dan kosakata informal dapat menyebabkan ketidaknyamanan. Dalam kasus seperti itu, pengguna dapat menonaktifkan koreksi otomatis melalui pengaturan keyboard, atau pengembang dapat menyediakan sakelar langsung di antarmuka aplikasi.

Menurut Human Interface Guidelines Apple, koreksi otomatis harus dinonaktifkan untuk bidang apa pun di mana data yang dimasukkan mungkin tidak ditemukan di kamus sistem: nomor pesanan, kode reservasi, pengidentifikasi, IMEI, alamat MAC. Jika bidang menerima data alfanumerik dalam format non-standar — nonaktifkan koreksi otomatis.

Pertanyaan yang sering diajukan

Bagaimana cara menonaktifkan koreksi otomatis sepenuhnya di seluruh aplikasi?

Penonaktifan global koreksi otomatis untuk suatu aplikasi tidak ada. Anda perlu mengatur autocorrectionType = .no untuk setiap bidang teks secara terpisah atau membuat subkelas UITextField dengan nilai yang ditimpa.

Mengapa koreksi otomatis tidak berfungsi di simulator?

Simulator menggunakan model input yang disederhanakan dari keyboard Mac. Model bahasa koreksi otomatis tidak aktif di simulator — untuk pengujian gunakan perangkat nyata.

Bagaimana cara menambahkan kata ke kamus pribadi?

Pengguna dapat menambahkan kata melalui Pengaturan > Umum > Keyboard > Penggantian Teks. Tidak ada API untuk aplikasi untuk menambahkan kata secara terprogram ke kamus sistem koreksi otomatis.

Apakah pengaturan keyboardType menonaktifkan koreksi otomatis?

Tidak, keyboardType tidak memengaruhi koreksi otomatis. Bahkan untuk keyboard .numberPad, koreksi otomatis bisa aktif, jika tidak secara eksplisit dinonaktifkan melalui autocorrectionType.

Apakah koreksi otomatis berfungsi untuk keyboard pihak ketiga?

Keyboard pihak ketiga memiliki mekanisme koreksi otomatis sendiri dan tidak menggunakan UITextAutocorrectionType sistem. Perilaku tergantung pada implementasi keyboard tertentu.

Ringkasan

  • Autocorrection — fungsi sistem iOS untuk koreksi otomatis kesalahan ejaan di bidang teks
  • Tiga mode UITextAutocorrectionType: .default (mewarisi pengaturan), .yes (diaktifkan), .no (dinonaktifkan)
  • Model bahasa Transformer memproses hingga 10 token konteks dan bekerja sepenuhnya pada perangkat
  • Safe Keyboard secara otomatis menonaktifkan koreksi otomatis untuk bidang dengan secureTextEntry = true
  • Koreksi otomatis tidak berguna untuk bidang kata sandi, email, kode, pencarian, dan format data non-standar
  • Konfigurasi dilakukan melalui properti autocorrectionType untuk setiap bidang secara individual
  • Rekomendasi — uji perilaku koreksi otomatis pada perangkat nyata dengan model bahasa yang aktif

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga