Instalasi Kotlin

Muhammad Fajri
Sunday, 04 April 2021

Bismillahirrahmanirrahim.

Kotlin merupakan bahasa pemrograman modern yang banyak digunakan oleh Android developer profesional. Kotlin saat ini secara resmi digunakan dalam pengembangan aplikasi Android yang menggantikan Java sebagai pendahulunya. Namun, hingga saat ini Java pun masih banyak digunakan dalam pengembangan aplikasi termasuk desktop dan mobile.

Untuk menginstal Kotlin, dapat dilakukan dengan cara mengunduh file zip atau instalasi melalui SDKMAN.

Di artikel ini, kita akan lakukan instalasi Kotlin melalui SDKMAN.

Instal SDK Man

Sebelum melakukan instalasi Kotlin, pertama yang harus diinstal yaitu SDK Man. Kotlin membutuhkan SDK Man agar dapat berfungsi/berjalan.

curl -s https://get.sdkman.io | bash

Output yang ditampilkan:


                                -+syyyyyyys:
                            `/yho:`       -yd.
                         `/yh/`             +m.
                       .oho.                 hy                          .`
                     .sh/`                   :N`                `-/o`  `+dyyo:.
                   .yh:`                     `M-          `-/osysoym  :hs` `-+sys:      hhyssssssssy+
                 .sh:`                       `N:          ms/-``  yy.yh-      -hy.    `.N-````````+N.
               `od/`                         `N-       -/oM-      ddd+`     `sd:     hNNm        -N:
              :do`                           .M.       dMMM-     `ms.      /d+`     `NMMs       `do
            .yy-                             :N`    ```mMMM.      -      -hy.       /MMM:       yh
          `+d+`           `:/oo/`       `-/osyh/ossssssdNMM`           .sh:         yMMN`      /m.
         -dh-           :ymNMMMMy  `-/shmNm-`:N/-.``   `.sN            /N-         `NMMy      .m/
       `oNs`          -hysosmMMMMydmNmds+-.:ohm           :             sd`        :MMM/      yy
      .hN+           /d:    -MMMmhs/-.`   .MMMh   .ss+-                 `yy`       sMMN`     :N.
     :mN/           `N/     `o/-`         :MMMo   +MMMN-         .`      `ds       mMMh      do
    /NN/            `N+....--:/+oooosooo+:sMMM:   hMMMM:        `my       .m+     -MMM+     :N.
   /NMo              -+ooooo+/:-....`...:+hNMN.  `NMMMd`        .MM/       -m:    oMMN.     hs
  -NMd`                                    :mm   -MMMm- .s/     -MMm.       /m-   mMMd     -N.
 `mMM/                                      .-   /MMh. -dMo     -MMMy        od. .MMMs..---yh
 +MMM.                                           sNo`.sNMM+     :MMMM/        sh`+MMMNmNm+++-
 mMMM-                                           /--ohmMMM+     :MMMMm.       `hyymmmdddo
 MMMMh.                  ````                  `-+yy/`yMMM/     :MMMMMy       -sm:.``..-:-.`
 dMMMMmo-.``````..-:/osyhddddho.           `+shdh+.   hMMM:     :MmMMMM/   ./yy/` `:sys+/+sh/
 .dMMMMMMmdddddmmNMMMNNNNNMMMMMs           sNdo-      dMMM-  `-/yd/MMMMm-:sy+.   :hs-      /N`
  `/ymNNNNNNNmmdys+/::----/dMMm:          +m-         mMMM+ohmo/.` sMMMMdo-    .om:       `sh
     `.-----+/.`       `.-+hh/`         `od.          NMMNmds/     `mmy:`     +mMy      `:yy.
           /moyso+//+ossso:.           .yy`          `dy+:`         ..       :MMMN+---/oys:
         /+m:  `.-:::-`               /d+                                    +MMMMMMMNh:`
        +MN/                        -yh.                                     `+hddhy+.
       /MM+                       .sh:
      :NMo                      -sh/
     -NMs                    `/yy:
    .NMy                  `:sh+.
   `mMm`               ./yds-
  `dMMMmyo:-.````.-:oymNy:`
  +NMMMMMMMMMMMMMMMMms:`
    -+shmNMMMNmdy+:`


                                                                 Now attempting installation...


Looking for a previous installation of SDKMAN...
Looking for unzip...
Looking for zip...
Looking for curl...
Looking for sed...
Installing SDKMAN scripts...
Create distribution directories...
Getting available candidates...
Prime the config file...
Download script archive...
#=#=#                                                                      ##O#-#                                                                     ##O=#  #                                                                   #=#=-#  #                                                                  -#O#- #   #                                                                -=#=#   #   #                                                              -=O#-#   #   #                                                             -=O=#  #   #   #                                                           -=O=-#  #    #   #                                                         -=O=- #   #   #    #                                                       -=O=-   #   #   #     #                                                    -=O=-    #   #    #     #                                                  -=O=-      #   #     #    #                                                -=O=-        #   #     #    #                                              -=O=-         #    #     #     #                                           -=O=-           #     #    #     #                                         -=O=-             #     #     #     #                                      -=O=-                #    #     #     #                                    -=O=-                  #    #     #     #                                  -=O=-                    #     #     #     #                               -=O=-                      #     #     #     #                             -=O=-                         #     #     #     #                          -=O=-                           #     #     #     #                        -=O=-                             #     #     #     #                      -=O=-                                #     #     #    #                    -=O=-                                  #     #     #     #                 -=O=-                                     #     #    #     #               -=O=-                                       #     #    #     #             -=O=-                                         #     #     #    #           -=O=-                                            #    #     #   #          -=O=-                                              #     #    #   #        -=O=-                                                #     #   #    #      -=O=-                                                  #     #   #   #     -=O=-                                                     #    #   #   #   -=O=-                                                       #   #   #   #  -=O=-                                                         #   #   #  # -=O=-                                                          #    #  #  #-=O=-                                                            #   #  #  -=O=-                                                              #   # # -=O=-                                                               #   # #-=O=-                                                                 #  # -=O=-                                                                  #  #-=O=-                                                                   #  -=O=-                                                                    # -=O=-                                                                     #-=O=-                                                                      -=O=-                                                                      -=O=-                                                                      -=O=-                                                                     #-=O=-                                                                    # -=O=-                                                                   # #-=O=-                                                                  # # -=O=-                                                                #  #  -=O=-                                                               #  #  #-=O=-                                                             #   #  # -=O=-                                                           #   #   # #-=O=-                                                          #   #   # # -=O=-                                                        #   #   #  #  -=O=-                                                      #   #    #  #   -=O=-                                                    #    #   #   #    -=O=-                                                 #     #   #   #      -=O=-                                               #     #    #   #       -=O=-                                             #    #     #   #         -=O=-                                           #    #     #   #           -=O=-                                        #     #     #    #            -=O=-                                      #     #    #     #              -=O=-                                   #     #     #     #                -=O=-                                 #     #     #    #                   -=O=-                               #     #     #    #                     -=O=-                            #     #     #     #                       -=O=-                          #     #     #     #                         -=O=-                       #     #     #     #                            -=O=-                     #     #     #     #                              -=O=-                   #     #     #     #                                -=O=-                 #    #     #     #                                   -=O=-              #     #     #     #                                     -=O=-            #     #    #     #                                        -=O=-          #     #    #     #                                          -=O=-        #    #     #     #                                            -=O=-       #   #     #    #                                               -=O=-     #   #    #     #                                                 -=O=-   #    #   #     #                                                   -=O=-  #   #   #     #                                                     -=O=-#   #   #    #                                                        -=O=#   #   #   #                                                          #########################################                                 5######################################################################## 100.0%
Extract script archive...
Install scripts...
Install contributed software...
renamed '/home/fajri/.sdkman/tmp/stage/contrib/completion' -> '/home/fajri/.sdkman/contrib/completion'
Set version to 5.11.0+644 ...
Attempt update of interactive bash profile on regular UNIX...
Added sdkman init snippet to /home/fajri/.bashrc
Attempt update of zsh profile...
Updated existing /home/fajri/.zshrc



All done!


Please open a new terminal, or run the following in the existing one:

    source "/home/fajri/.sdkman/bin/sdkman-init.sh"

Then issue the following command:

    sdk help

Enjoy!!!

Dari tampilan di atas, dapat dilihat bahwa instalasi SDKMAN terlah berhasil.

Setelah selesai terinstal, buka terminal baru dan jalankan perintah:

bash ~/.sdkman/bin/sdkman-init.sh

Membuka tab terminal baru ditujukan agar hasil instalasi SDKMAN dapat dikenali oleh sistem.

Perintah tersebut untuk memulai (menginisialisasi) SDKMAN.

Buka kembali terminal baru dan periksa versi SDKMAN yang terinstal pada sistem dengan menjalankan perintah:

sdk version

Output pertama yang ditampilkan:

==== INTERNET NOT REACHABLE! ===================================================

 Some functionality is disabled or only partially available.
 If this persists, please enable the offline mode:

   $ sdk offline

================================================================================


SDKMAN 5.11.0+644

Output kedua yang ditampilkan

==== BROADCAST =================================================================
* 2021-04-03: btrace 2.2.0 available on SDKMAN!
* 2021-04-01: gradle 7.0-rc-2 available on SDKMAN!
* 2021-03-31: micronaut 2.4.2 available on SDKMAN!
================================================================================

SDKMAN 5.11.0+644

Hal ini menunjukkan bahwa SDK harus terkoneksi ke internet saat dioperasikan. Sebagai contoh saat instalasi kotlin. Untuk itu, sebelum memulai instalasi kotlin ada baiknya untuk memastikan koneksi internet tetap stabil.

Instal Kotlin

Setelah SDK Man terinstal, kotlin pun sudah dapat diinstal dengan SDK Man.

sdk install kotlin

sdk, perintah untuk menajalankan SDK Man. install perintah yang digunakan untuk menginstal paket. kotlin merupakan paket yang akan diinstal melalui SDK Man.

Berikut output yang ditampilkan:

Downloading: kotlin 1.4.31

In progress...

#################################################################### 100.0%
#################################################################### 100.0%

Installing: kotlin 1.4.31
Done installing!


Setting kotlin 1.4.31 as default.

Setelah instalasi berhasil, ketikkan perintah berikut untuk memeriksa versi kotlin yang terinstal.

kotlin -version
kotlinc -version

Output:

// versi kotlin
Kotlin version 1.4.31-release-344 (JRE 15.0.2+7)

// versi kotlinc
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
info: kotlinc-jvm 1.4.31 (JRE 15.0.2+7)
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.intellij.util.ReflectionUtil to method java.util.ResourceBundle.setParent(java.util.ResourceBundle)
WARNING: Please consider reporting this to the maintainers of com.intellij.util.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Mencoba Baris Kode Kotlin

Setelah menginstal Kotlin, kita dapat mencoba beberapa baris kode singkat melalui jendela terminal untuk mengetes compiler Kotlin berjalan dengan baik. Jalankan perintah kotlinc pada terminal.

kotlinc

Setelah dieksekusi kita akan dihadapkan pada tampilan selamat datang dan juga baris triple chevron (lambang lebih dari).

Welcome to Kotlin version 1.4.31 (JRE 15.0.2+7)
Type :help for help, :quit for quit
>>>

Buat sebuah baris kode singkat seperti berikut.

>>> println("Hai! Apa kabar?")
Hai! Apa kabar?
>>> for(i in 0..2) {
...println(i)
...}
0
1
2

Mencoba kode Kotlin seperti ini sangat berguna untuk mengetes beberapa baris kode singkat tanpa perlu satu listing kode yang utuh, tanpa membuat file dan tanpa menunggu proses kompilasi.

Di artikel berikutnya, kita akan memahami pembuatan sintaks program utuh dengan bahasa Kotlin.

Instal Ekstensi Kotlin

Ekstensi yang dimaksudkan di sini adalah ekstensi untuk IDE VSCode. Ekstensi yang dibutuhkan oleh kotlin adalah Kotlin Language dan Code Runner.

Silahkan buka kode editor VS Code dan masuk ke bagian Extensions yang berada di sebelah kiri jendela VSCode. Ketikkan ekstensi yang akan diinstal. Untuk menginstal Kotlin Language, ketikkan pada inputan pencarian ekstensi. Kemudian instal untuk memasang ekstensi tersebut pada VSCode. Tampilan Berikut menunjukkan langkah instalasi ekstensi Kotlin Language.

Install Kotlin Language

Langkah yang dilakukan untuk menginstal Code Runner.

Install Code Runner

Konfigurasi Code Runner

Code Runner harus dikonfigurasi terlebih dahulu agar dapat menjalankan kode pemrograman Kotlin yang telah dibuat melalui VSCode.

Untuk mengonfigurasinya, masuk ke Extensions dan ketikkan Code Runner. Di bagian gambar gear (tombol Manage), pilih Extension Settings.

Konfigurasi Code Runner

Setelah Settings terbuka, scroll ke bawah hingga bagian Code Runner: Executor Map lalu buka Edit in settings.json.

Code Runner Settings

Tambahkan baris berikut di bagian "code-runner.executorMap": { ... },.

"kotlin": "cd $dir && kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && kotlin $fileNameWithoutExt.jar",

Simpan dan tutup file settings.json.

Selanjutnya, lakukan pengaturan agar setiap melakukan eksekusi program Koltin berjalan melalui terminal. Hal ini berguna agar kita dapat melakukan entry/ penginputan data.

Masih di Settings, scroll lagi ke bawah hingga pada bagian Code Runner: Run In Terminal. Centang pada checkbox yang ada di bawahnya.

Code Runner run in Terminal

Jika semua langkah-langkah diikuti dengan benar, maka ekstensi Kotlin telah terpasang dengan baik di VSCode dan kita pun sudah dapat mulai melakukan pemrograman dengan bahasa Kotlin ini.

Referensi