Menu
CoddyTech

Apa Itu Optional

Termasuk bagian Dasar-Dasar dalam perjalanan Swift di Coddy. Pelajaran 11 dari 86.

Terkadang, variabel mungkin sama sekali tidak memiliki nilai. Di Swift, kita merepresentasikan ketiadaan nilai menggunakan optional. Optional menyatakan "ada nilai, dan nilainya sama dengan x" atau "sama sekali tidak ada nilai."

Untuk mendeklarasikan tipe opsional, tambahkan tanda tanya ? setelah tipe:

var nickname: String? = "Alex"
var age: Int? = nil

Pada contoh di atas, nickname menyimpan nilai "Alex", sedangkan age menyimpan nil: cara Swift menyatakan "tidak ada nilai". Variabel biasa tidak boleh bernilai nil, tetapi optional boleh.

Anggap optional sebagai kotak yang mungkin berisi sesuatu atau mungkin kosong. Sebelum menggunakan isinya, kamu perlu memeriksa apakah memang ada sesuatu di dalamnya. Ini adalah fitur keamanan utama di Swift yang membantu mencegah crash akibat nilai yang tiba-tiba tidak ada.

var score: Int? = 100
print(score) // Optional(100)

score = nil
print(score) // nil

Perhatikan bahwa saat kamu mencetak optional yang memiliki nilai, hasilnya adalah Optional(100), bukan hanya 100. Untuk mengakses nilai sebenarnya di dalamnya, kamu perlu melakukan unwrap pada optional tersebut, yang akan kita bahas di pelajaran berikutnya.

challenge icon

Tantangan

Mudah

Tulis fungsi createOptional yang menerima angka dan mengembalikan string yang menunjukkan tampilan angka tersebut saat dicetak sebagai optional.

Penting: fungsi ini mengembalikan String. Kamu menulis teks yang tampil seperti optional, bukan mengembalikan nilai optional yang sebenarnya.

Saat kamu mencetak optional yang berisi nilai, Swift menampilkannya dalam format Optional(value).

Pengingat sintaks fungsi: Di Swift, fungsi yang mengembalikan nilai menggunakan panah -> untuk menentukan tipe pengembalian, dan kata kunci return untuk mengirimkan hasil. Contohnya:

func myFunction(param: Int) -> String {<br>    return "result"<br>}

Kamu dapat membuat string yang dikembalikan menggunakan interpolasi string: "Optional(\(value))": bagian \(value) menyisipkan angka langsung ke dalam string.

Parameter:

  • value (Int): Angka yang akan dibungkus dalam format optional

Nilai yang dikembalikan: String dalam format Optional(value), dengan value sebagai angka yang diberikan.

Contoh: Jika inputnya adalah 100, kembalikan "Optional(100)"

Coba sendiri

func createOptional(value: Int) -> String {
    // Kembalikan String yang tampak seperti optional, bukan optional sungguhan
    // Sisipkan angka di antara tanda kurung menggunakan interpolasi string
    return "Optional()"
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Swift