PERBARUAN:
Tulisan ini telah dipindahkan ke blog Pascal saya di sini dengan perbaruan terkini. Tulisan ini telah dihapus. Mohon maaf dan semoga maklum. Terima kasih.


.

Fungsi kembar

Semua pengenal dalam kode program harus bersifat unik artinya setiap pengenal hanya ada satu di setiap lingkupnya. Pada umumnya, keunikan pengenal adalah dari namanya (identifier). Misalnya, Swift tak mengijinkan kode program seperti berikut ini:

let a = 100
var a = 10 // nama a telah digunakan ⬅︎ salah!

Kode program di atas akan menghasilkan kesalahan karena telah ada penyimpan bernama sama. Namun keunikan nama pengenal tidak berlaku pada fungsi sehingga dalam Swift dimungkinkan beberapa fungsi memiliki nama yang sama. Hal ini disebut dengan function overloading atau fungsi dengan tugas berlebih, atau kita sebut saja dengan fungsi kembar.

Fungsi…


.

Fungsi nirnama

Sebelumnya kita telah pelajari bahwa fungsi adalah sekumpulan perintah yang diberi nama dan mempunyai lingkupnya sendiri. Di bahasa-bahasa pemrograman modern, fungsi tak lagi harus punya nama serta bisa ditempelkan di bagian-bagian kode program secara langsung. Fungsi yang demikian itu disebut dengan fungsi tanpa nama (anonymous function) atau fungsi tempelan (closure). Beberapa bahasa pemrograman lain menyebutnya lambda. Dalam bahasa Indonesia, saya lebih suka menyebutnya dengan istilah fungsi nirnama (tanpa nama).

Walaupun demikian, fungsi nirnama berbeda dengan kelompok perintah (statement block) biasa. Sebagaimana sebuah fungsi, fungsi nirnama juga memiliki lingkup (dan juga konteks) tersendiri. Pada contoh sebelumnya, kita harus membuat fungsi…


.

Keluaran fungsi melalui parameter
Fungsi juga bisa menghasilkan keluaran melalui parameter. Karena sifat dasar parameter fungsi adalah sebagai masukan maka parameter yang juga difungsikan sebagai keluaran juga sekaligus berfungsi sebagai masukan. Parameter yang demikian disebut dengan parameter keluar-masuk atau in-out parameter.

Dan karena sifatnya yang khusus, parameter keluar-masuk harus diberi tanda khusus. Saat pembuatan fungsi, parameter keluar-masuk ditandai dengan kata kunci inout sebelum tipe data parameter pada definisi parameter fungsi. Sedang pada saat pemanggilan fungsi, parameter keluar-masuk ditandai dengan & (ampersand) di awal penyimpan. Contoh:

// buat fungsi untuk bertukar nilai antara dua bilangan
func swapTwoInts(_ a: inout Int, _…

.

Kata kunci di Swift

Di setiap bahasa pemrograman, ada yang disebut dengan kata kunci (keyword atau reserved word) yang artinya kata-kata atau tanda baca tertentu yang digunakan secara khusus oleh bahasa tersebut untuk menyediakan berbagai fungsi, tugas, atau penanda dalam kode program. Kata kunci tidak boleh digunakan oleh pemrogram untuk hal apa pun. Berikut daftar kata kunci yang digunakan dalam bahasa Swift:

  • Kata kunci dalam pembuatan penyimpan:
    associatedtype, class, deinit, enum, extension, fileprivate, func, import, init, inout, internal, let, open, operator, private, protocol, public, static, struct, subscript, typealias, var.
  • Kata kunci dalam perintah:
    break, case, continue, default, defer, do, else, fallthrough, for, guard, if


.

Uji kondisi “switch”

Berbeda dengan perintah if yang menguji kondisi satu per satu, perintah switch bisa menguji beberapa nilai sekaligus serta bisa menguji nilai dengan pola tertentu. Dan lagi, uji kondisi if bekerja dengan nilai logika, sementara uji kondisi switch bekerja dengan nilainya langsung. Berikut cara penulisan perintah switch:

switch value {
case value_1:
// kelompok perintah A
case value_2,
value_3:
// kelompok perintah B
default:
// kelompok perintah C
}

value adalah nilai yang akan diuji, case memetakan setiap nilai yang mungkin terjadi, dan default untuk nilai lainnya. Dalam hal ini, default bekerja seperti else dalam perintah if, yang bekerja ketika…


.

Perulangan “while”

Perulangan while adalah perulangan berdasarkan suatu kondisi yang apabila kondisi tersebut masih terpenuhi maka perulangan terus dilakukan, hingga kondisi tak lagi terpenuhi. Kondisi yang menentukan perulangan ditetapkan di awal perulangan sehingga jika kondisi langsung tak terpenuhi maka tidak ada perulangan yang terjadi. Sebaliknya, jika kondisi selalu terpenuhi maka perulangan akan terjadi selama program bekerja.

Ini berbeda dengan perulangan for pada bahasan sebelumnya. Jika pada perulangan for, sejak awal sudah jelas berapa kali kelompok perintah akan dilakukan, maka pada perulangan while tidak bisa diketahui jumlahnya di awal dengan pasti. Cara penulisan perintah perulangan while adalah sebagai berikut:

while condition {…


.

Operator Logika

Operator logika adalah operator perhitungan logika, yang berlaku khusus pada nilai bertipe data logika, terdiri dari:

  1. Operasi negasi (not) dengan tanda ! (tanda seru) di depan nilai,
  2. Operasi dan (and) dengan tanda && (dua ampersand) di antara dua nilai,
  3. Operasi atau (or) dengan tanda || (dua garis tegak) di antara dua nilai.

Bagi yang belum mengerti operasi logika, berikut penjelasan singkatnya:

  • Operasi negasi menghasilkan kebalikan dari nilai yang diberikan, sehingga negasi dari benar adalah salah, negasi dari salah adalah benar.
  • Operasi ‘dan’ menghasilkan nilai benar jika dan hanya jika kedua nilai yang diberikan bernilai benar, sehingga hanya benar dan…


Sejauh ini, kita telah mengenal beberapa operator dan penanda (literal)¹ berikut ini:

  • ; (titik koma) untuk pemisah perintah dalam satu baris,
  • pasangan {} (kurung kurawal) untuk penanda kelompok perintah,
  • // (dua garis miring) untuk penanda komentar dalam satu baris,
  • pasangan /**/ (garis miring dan bintang) untuk penanda komentar lebih dari satu baris.
  • = (sama dengan) untuk memberi nilai pada sebuah penyimpan,
  • : (titik dua) untuk menyatakan tipe data pada pembuatan penyimpan,
  • pasangan <> (kurung sudut) untuk penanda tipe data pada perintah pembuatan penyimpan bertipe data himpunan,
  • pasangan () (kurung) untuk penanda elemen pada nilai bertipe data kelompok gabungan (tuples),
  • pasangan…


Dasar-dasar pemrograman Swift. Sumber: apple.com

Mengenal nilai tak-tentu

Dari pembahasan sebelumnya, kita telah mengenal nilai dan penyimpan nilai serta tipe data yang menyertainya. Dalam bahasa Swift, juga dalam beberapa bahasa pemrograman lainnya, ada yang disebut dengan nil atau null yang artinya kurang lebih adalah “ketiadaan nilai”. Apa itu?

Untuk memahami konsep nil atau null, kita harus memahami bagaimana sebuah penyimpan nilai bekerja. Perhatikan gambar berikut:

Mʀ Bee

is an Apple’s Swift programming language enthusiast.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store