Kotlin Control Flow

Apa itu Control Flow

Ketika kita ingin mengembangkan sebuah program, Tentu kita harus tahu seperti apa alurnya. Control Flow adalah bahasa pemrograman Kotlin berguna untuk melakukan perintah kondisional dan berulang, Atau lebih mudahnya cara kita mengontrol alur dari sebuah program berdasarkan kondisi saat program tersebut berjalan.  

Terdapat beberapa bagian Control Flow yang akan kita pelajari, antara lain : 

  • Enumeration 
  • When Expression 
  • Expression and statement
  • While and Do While
  • Range and For Loop
  • Break and Continues Labels 

Kita akan mempelajari seperti apa dan bagaimana cara menerapkan beberapa Control Flow Diatas.

Enumeration

Enumeration / enum adalah salah satu fitur yang bisa kita gunakan untuk membuat variable yang type-safe. Maksudnya adalah enum tersebut memiliki namespacenya sendiri, Kita tidak bisa assign nilai lain selain yang sudah ditetapkan di enum constant sebelumnya. Dengan begini, enum dapat digunakan untuk meminimalisir kesalahan pengetikan data sebuah variabel. 

Sebagai contoh aplikasi yang memiliki fitur Light dan Dark mode. Dalam kasus seperti ini, Anda mendefinisikan enum dengan dua hal yang telah ditentukan: LIGHT dan DARK. Oleh karena itu tidak akan ada hal lain yang mungkin muncul karena dua kasus tersebut saling terkait. Untuk lebih jelasnya mari simak kode berikut :

Value dari variabel diatas berpotensi salah atau tertukar dengan value variabel lain, Oleh karena itu untuk meminimalisir kesalahan Kita memerlukan Enumeration, Mari simak kode berikut :

Objek yang didefinisikan menjadi tipe data Enum dapat mengakses attribute atau method didalam kelas Enum itu sendiri. Konsep ini sama halnya seperti Array. Bedanya, Enum berbentuk constant. Nah kode diatas ini kita menggunakan attribute kelas Enum yaitu .BLUE yang mana kita mengambil value dari kelas enum, yang mana ketika kita print value tersebut kemudian kita Run maka akan menampilkan value dari kelas Enum. Maka Output yang ditampilkan akan seperti ini : 

Berikut ini adalah beberapa hal penting yang harus Anda ketahui tentang Enum Kotlin:

  • Konstanta enum bukan hanya kumpulan konstanta tetapi ia juga memiliki properti, metode, dan lain sebagainya.
  • Masing-masing konstanta enum Kotlin bertindak sebagai instance terpisah dari kelas dan dipisahkan dengan koma.
  • Enum meningkatkan keterbacaan kode Anda dengan menetapkan nama yang telah ditentukan sebelumnya ke konstanta.
  • Instance kelas enum tidak dapat dibuat menggunakan konstruktor.

Expressions dan Statement

Ketika kita mempelajari bahasa pemrograman, kita selalu dihadapkan dengan kondisi atau dengan istilah Expressions dan Statement. ini adalah 2 istilah yang kadang kita salah pahami. 

Statement adalah Unit sintaks pada bahasa pemrograman yang menyatakan aksi atau tugas untuk dilakukan

Contoh statement : 

Pada contoh di atas, if dikatakan sebagai statement karena ia tidak mengembalikan nilai apapun, hanya sebagai percabangan pada bahasa java.

Namun yang menarik If pada bahasa Kotlin juga bisa digunakan sebagai expression. Yang dimaksud dengan expression adalah statement yang dapat mengembalikan nilai dan bisa kita simpan ke dalam sebuah variabel seperti contoh berikut :

Pada kode diatas , if akan mengembalikan nilai kedalam variabel sekolah. Apabila kondisi pada if terpenuhi maka variabel sekolah akan berisi “Anda Telat Masuk Sekolah!!!” dan jika tidak maka akan terisi “Anda Masuk Sekolah Tepat Waktu”.

When Expressions

Untuk menentukan statement atau expression kita menggunakan if Expression, Selain itu kita juga bisa gunakan When Expression, yaitu proses yang memungkinkan nilai dari sebuah variabel atau expression, mampu mengubah alur program.

Untuk lebih mudah memahaminya mari kita perhatikan kode berikut ini :

Pada kode diatas When akan mencocokan semua argumen yang berada didalam when tersebut secara berurutan sampai salah satu kondisi ada yang cocok atau ada kondisi yang terpenuhi. else akan dievaluasi ketika tiada satupun kondisi yang terpenuhi.

 Sama halnya dengan if Expression, When Expression juga dapat mengembalikan nilai dan dapat disimpan dalam sebuah variabel untuk lebih jelasnya perhatikan kode berikut ini : 

Ketika kita Run kode tersebut maka akan menampilkan Output = value is 4.
when juga memungkinkan kita untuk memeriksa Instance dengan tipe tertentu dari sebuah object menggunakan is atau !is. perhatikan kode berikut :

Ketika kita Run kode tersebut makan akan menampilkan Output = the value has a string type. Dikarnakan budi ini mendefinisikan string.

While dan Do While

Dalam pemrograman perulangan atau loop digunakan untuk mengulang sebuah baris atau blok didalam pemrograman. Ada beberapa jenis perulangan pada Kotlin, namun saat ini kita akan membahas dua jenis perulangan yaitu While dan Do While 

mari simak penjelasan berikut ini.

 While : Dalam perulangan While, pernyataan atau statement didalam kurung akan dieksekusi berulang-ulang selama kondisi while bernilai true. untuk lebih jelas mari kita simak kode berikut ini : 

Dalam pemrograman di atas kata ”True” akan terus dicetak hingga variabel angka memiliki nilai lebih dari 7. Perintah counter++ digunakan untuk menambahkan variabel counter sampai nilai variabel angka tidak lagi memenuhi kondisi dari while.

Pada program diatas akan menampilkan Output : True sebanyak 7 kali

 Do While : Hampir sama dengan perulangan While akan tetapi pada Do While statement, do akan dieksekusi terlebih dahulu terus menerus sampai kondisi pada while bernilai false. untuk lebih jelasnya mari kita simak kode berikut ini : 

Pada program do while diatas, Kita akan terus diminta untuk memasukan angka pada statement do sampai angka yang dimasukan bernilai 0. 

Saat menggunakan While dan Do While perhatikan infinite loop, yaitu kondisi dimana proses perulangan berlangsung terus menerus sampai aplikasi menjadi crash. Untuk lebih jelasnya mari kita simak kode berikut : 

Ketika kita run kode diatas maka akan terjadi infinite loop yang mana ia akan menampilkan Output A secara terus menerus. berikut Outputnya :  

Nah untuk menghindari hal tersebut kita bisa menambahkan kode value++, perhatikan kode berikut ini 

Perintah value++ digunakan untuk menambahkan variabel value, berikut Outputnya : 

Range 

Range diKotlin adalah tipe unik yang mendefinisikan nilai awal dan nilai akhir. Kita dapat menggunakan range dengan .. atau dengan fungsi rangeTo() dan downTo(). 

untuk lebih jelasnya mari kita simak kode berikut tentang penggunaan Range pada Kotlin. 

Pada kode diatas kita telah menggunakan range pada variabel rangeInt yang mana value dari rangeInt itu adalah 1 2 3 4 5 6 7 8 9 10, dengan range ini kita bisa menyingkat value tersebut dengan 1..10 yang mana ketika kita run kode diatas akan menampilkan output 

Untuk menampilkan range tersebut kita membutuhkan perulangan agar output menampilkan angka dari 1 sampai 10.

Didalam range juga terdapat fungsi rangeTo() dan downTo(), Fungsi rangeTo() sama halnya dengan operator .. yaitu fungsi yg mendefinisikan nilai awal dan akhir.

Nah sedangkan fungsi downTo() adalah kebalikan dari fungsi rangeTo() yang mana ia mendefinisikan nilai akhir dan nilai awal, untuk lebih jelasnya mari kita simak kode berikut ini : 

ketika kode diatas kita run maka akan menampilkan output 10 9 8 7 6 5 4 3 2 1

For Loop

Sama halnya dengan bahasa pemrograman lain, For loop digunakan untuk iterasi atau perulangan suatu bagian program sebanyak beberapa kali, pada Kotlin ia bisa diimplementasikan pada pada Array, ranges, collection, atau apapun yang bisa dibuat perulangan.

Contoh penulisan perulangan For loop pada array : 

Pada kode diatas kita akan menampilkan value yang ada pada variabel number yaitu arrayof(1,4,6,8,10). Untuk menampilkan value tersebut kita membutuhkan perulangan agar semua nilai bisa terpanggil. Maka Output dari kode diatas adalah 

Break dan Continue 

Continue digunakan saat kita ingin melewatkan atau men-skip perulangan kondisi atau ketika mencapai posisi tertentu, Continue pada umumnya digunakan didalam statement-if untuk mengecek kondisinya.

agar lebih mudah dipahami mari kita simak kode berikut ini : 

pada kode diatas saya ingin menampilkan angka dari 1 sampai 10, akan tetapi ketika value i sampai pada angka 2 ia akan mencontinue atau men-skip nilai tersebut. karena ketika sampai pada angka 2 disitu continue terpanggil

Maka akan menampilkan Output seperti berikut : 

Sedangkan Break digunakan untuk menghentikan iterasi

sebagai contoh perhatikan kode berikut ini

Pada kode diatas kita akan menjalankan iterasi yang mana didalam iterasi tersebut kita juga mendefinisikan kondisi yang mana ketika value perulangan bernilai null maka program kita akan dihentikan, maka kode diatas akan menampilkan Output seperti berikut : 

Iterasi atau perulangan hanya akan menampilkan output 1 2 3 dikarenakan setelah value setelah angka 3 yaitu bernilai null, maka disini fungsi break terpanggil untuk menghentikan Iterasi 

Tertarik untuk mempelajari lebih lanjut tentang IT? Ini saatnya untuk meningkatkan skillmu. Kami menyediakan berbagai pilihan training klik disini.

Penulis : Iksan Nur Akmal