X

Monday, November 9, 2020

Berkenalan dengan Bahasa Pemrograman Scala


 

Tahukah kamu bahwa bahasa pemrograman yang ada di dunia berjumlah kurang lebih 700 bahasa (dikutip dari wikipedia.org), merupakan angka yang fantastis mengingat yang kita pelajari selama ini mungkin tidak lebih dari 10 bahasa pemrograman.

Maka dari itu jangan heran, ketika terjun di dunia kerja anda dihadapkan dengan bahasa pemrograman yang terdengar asing. Salah satu bahasa pemrograman yang mungkin asing bagi anda adalah Scala. Meskipun terdengar asing namun ternyata bahasa pemrograman ini sudah ada sejak tahun 2003.

Pengertian Scala

Scala merupakan bahasa pemrograman yang menggabungkan paradigma pemrograman yang berorientasi pada objek dengan fungsional. Bahasa pemrograman ini termasuk kedalam bahasa pemrograman berorientasi objek murni yang dalam arti bahwa setiap nilai adalah objek. Serta termasuk bahasa pemrograman fungsional yang artinya setiap fungsi adalah nilai.

Sama halnya seperti java, scala ditulis untuk dapat dijalankan pada JVM (Java Virtual Machine). Bahasa pemrograman lainnya yang dapat berjalan di JVM seperti Kotlin dan Ceylon. Semua bahasa ini dibuat dengan tujuan menyederhanakan atau membuat java yang lebih baik.

Meskipun di jalankan pada JVM, nyatanya Scala bukanlah perpanjangan dari Java. Ketika proses kompilasi (penyusunan) kode scala di terjemahkan kedalam bytecode Java dan berjalan di JVM.

Scala dapat digunakan dalam berbagai lingkungan, mulai dari script yang sederhana hingga sistem yang besar atau rumit sekalipun. Dalam dunia pemrograman ini disebut dengan istilah general purpose programming language.

Sejarah Scala

Scala dibuat dan dikembangkan oleh Martin Odersky, yaitu seorang ilmuan komputer Jerman sekaligus profesor metode pemrograman di École Polytechnique Fédérale de Lausanne di Swiss. Awalnya Martin Odersky merupakan pengembang dari compiler dan fitur Generic pada java.

Martin kemudian menemukan suatu kelemahan besar pada Java yaitu ketika Java digunakan pada lingkungan pemrograman konkuren, sintaks dari java harus diubah seluruhnya. Pemrograman konkuren merupakan proses atau beberapa proses yang berjalan secara bersamaan.

Scala kemudian mulai divisualisasikan oleh Martin Odersky dan timnya pada tahun 2001. Empat tahun berselang tepatnya di tahun 2004, scala diluncurkan ke public dan telah dimodifikasi untuk Net Framework.

Seperti kita ketahui scala bisa dikatakan sebagai peningkatan dari Java yang mana merupakan salah satu bahasa pemrograman paling populer di dunia. Java memiliki ekosistem yang sangat kaya, dengan banyaknya framework, library, hingga komunitas. Hal ini membuat usaha untuk meyakinkan programer beralih ke scala menjadi sangat berat. Sebagai solusi atas masalah tersebut, scala kemudian di rancang agar dapat berjalan di JVM, serta kode scala dapat dipanggil ke dalam Java, begitu pula sebaliknya.

Keunggulan Scala dibandingkan Java

1. Penulisan lebih singkat

Java termasuk kedalam bahasa pemrograman yang sederhana. Akan tetapi tingkat kesederhanaan itu terkadang di barengi dengan tingkat kerumitan yang tinggi. Pada Java untuk membuat sebuah program biasanya memerlukan baris kode yang panjang. Scala hadir dengan kode yang lebih pendek dan tidak bertele-tele. Contohnya bisa dilihat dibawah ini.

Menampilkan Hello World di Java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}



Menampilkan Hello World di Scala

object HelloWorld {
    def main(args: Array[String]) {
        println("Hello World!")
    }
}



Dari kedua kode di atas kita dapat menyimpulkan bahwa untuk menampilkan tulisan "Hello World!" di java dituliskan dengan System.out.println("Hello World!"); sedangkan pada scala kita hanya perlu menuliskan println("Hello World!"). Ini membuat scala lebih ringkas daripada Java. Contoh lainnya dapat kita lihat ketika membuat Array, kodenya seperti dibawah.

ArrayList di Java

List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");

ArrayList di Scala

val list = List("1", "2", "3")

2. Lebih kuat dalam fungsionalitas

Scala dapat menyelesaikan masalah fungsional dengan lebih baik dibandingkan dengan java. Pemrograman fungsional mempunyai karakteristik yang penting yaitu "The absence of side effect" artinya bahwa pemrograman fungsional tidak dipengaruhi data yang ada di luar fungsi dan tidak mempengaruhi data diluar fungsi.

3. Menyelesaikan kueri dengan cara yang lebih aman

Scala mempunyai model aktor yang secara inheren lebih aman daripada data dan kata kunci Java yang dapat berubah pada model Thread (Tidak peduli seberapa bagus library yang didapat, java masih terhalang oleh bahasa).

Selain yang disebutkan di atas tentunya masih ada keunggulan lainnya yang dapat dirasakan setelah menggunakan Scala.

4. Scala lebih berorientasi objek

Scala memperlakukan semuanya sebagai turunan dari kelas dan itu adalah bahasa yang lebih berorientasi objek dibandingkan dengan java. Sedangkan java kurang berorientasi objek dibandingkan scala sebab adanya primitif dan statika.

Apa yang bisa saya buat dengan Scala ?

Pertanyaan yang perlu ditanyakan setelah mengetahui pengertian dari sebuah bahasa pemrograman adalah apa yang bisa saya buat dengan itu ? apa yang bisa saya buat dengan bahasa pemrograman itu ? apa yang bisa saya buat dengan bahasa pemrograman scala ?

Scala dapat digunakan untuk membangun aplikasi seperti :
  • Aplikasi Streaming data
  • Aplikasi android dan API
  • Aplikasi Desktop
  • Front dan Back ends aplikasi Web
  • Analisis big data dengan Apache Spark
  • Aplikasi pesan
  • Domain-specific language
  • Real-time data streaming menggunakan Spark Framework
Sumber : www.simplilearn.com

Siapa saja yang sudah menggunakan scala ?

Ada banyak faktor yang mempengaruhi suatu bahasa pemrograman dikenal, digunakan, sampai disukai. Salah satunya adalah hasil atau siapa saja yang sudah menggunakan bahasa pemrograman tersebut. Berikut beberapa aplikasi yang menggunakan Scala :

  • Apache Spark
  • Scalding
  • Apache kafka
  • Apache Samza
  • Finagle
  • Akka
  • Lichess

Sintaks dasar scala

Format Main

Format main disini adalah format awal sebelum kita melanjutkan untuk membuat kode seperti kodisi, perulangan dan lain sebagainya. Sebagai contoh disini kita ambil dari C++ dan Java dimana sebelum memulai membuat kode pertama harus di deklarasikan seperti dibawah :

C++

#include 

int main()
{
  //kode disini
}



Java

public class HelloWorld {
    public static void main(String[] args) {
        // tulis kode disini
    }
}



Sedangkan pada scala formatnya sebagai berikut : 


Scala


object HelloWorld {
    def main(args: Array[String]) {
   		// tulis kode disini
   }
}

Import Class

Import class adalah proses mengambil fungsi dari class lain yang sudah disediakan sebelumnya untuk dapat dijalankan pada program yang sedang di buat. Untuk mengimport class pada scala dapat dilakukan dengan memasukkan kode seperti contoh dibawah.

import Test.target.Test.Point // import class

object Demo {
   def main(args: Array[String]) {

   }
}

Perlu diperhatikan posisi import class pada scala selalu berada di atas sebelum struktur dibuka. Selain itu kode di awali dengan import dilanjutkan lokasi dan nama class. Cara import ini sama halnya seperti pada java.

Cara menampilkan tulisan

Untuk menampilkan tulisan pada program diguanakan perintah println("tulisan"). Contoh penggunaannya seperti berikut :


object HelloWorld {
    def main(args: Array[String]) {
        println("Tulisan")
    }
}

Tipe data

Ada beberapa jenis tipe data pada scala yang dibedakan dari nama dan kegunaanya. Berikut beberapa type data tersebut :

  • Boolean - berisi true atau false
  • Byte - tipe data angka dengan ukuran 8 bit. Mulai dari -128 hingga 127
  • Short - tipe data angka dengan ukuran 16 bit. Mulai dari -32768 hingga 32767
  • Char - berisi single karakter, huruf, dan angka
  • Int - berisi angka
  • Long - tipe data bilangan bulat dengan ukuran 16 bit. Range -922337209 hingga 922337209
  • Float - berisi pecahan angka atau desimal
  • Double - tipe data angka dengan ukuran 8 bit dan 64 bit.
  • String - berisi karakter, huruf, atau angka
Berikut contoh penulisan sekaligus penggunaan type data pada program Scala :

object Test 
{ 
def main(args: Array[String])  
{ 
    var a: Boolean = true
    var b: Byte = 126
    var c: Float = 2.45673f 
    var d: Int = 3
    var e: Short = 45
    var f: Double = 2.93846523
    var g: Char = 'A'
    if (a == true)  
    { 
    println("boolean : true") 
    } 
    println("byte:" + b) 
    println("float:" + c) 
    println("integer:" + d) 
    println("short:" + e) 
    println("double:" + f) 
    println("char:" + g) 
} 
} 

If else (Kondisi)

Kondisi merupakan salah satu hal penting yang harus dipelajari dalam pemrograman sebab akan banyak dipakai ketika membuat sebuah program. Berikut contoh penggunaan if else pada scala :


object Contoh {
   def main(args: Array[String]) {
      var x = 10;

      if( x <= 20 ){
         println("Nilai lebih kecil atau sama dengan 20");
      }else{
      	println("Nilai lebih kecil dari 20");
  	  }
   }
}

Perulangan

Perulangan atau bahasa ingrisnya Looping digunakan untuk mengulang fungsi atau kondisi tertentu beberapa kali sesuai dengan yang ditentukan. Untuk melakukan proses perulangan ini bisa mengginakan perintah for.Berikut contoh penggunaan looping pada sacala :


object Contoh {
def main(args: Array[String]) {
var a = 0;

// perulangan menampilkan tulisan
for( a <- 1 to 10){
println( "Isi dari a = " + a );
}
}
}

Membuat Komentar

Seperti halnya kebanyakan bahasa pemrograman lainnya Scala juga menggunakan tanda // untuk membuat komentar satu baris. Sedangkan untuk beberapa baris digunakan tanda /* di awal baris kemudian ditutup dengan */ di akhir baris. Contoh penggunaan komentar seperti berikut :


object HelloWorld {
    def main(args: Array[String]) {
   		// komentar satu baris
   }
}



object HelloWorld {
def main(args: Array[String]) {
/*Komentar
beberapa
baris*/
}
}

Itulah beberapa informasi yang perlu anda ketahui seputar bahasa pemrogramab scala. Lanjut ke postingan Cara Install Scala di Windows

 

Referensi :
https://medium.com/pujanggateknologi/berkenalan-dengan-scala-dd6452596fa6
https://blog.nolimit.id/2020/01/28/pengenalan-scala-untuk-big-data/
https://medium.com/skyshidigital/berkenalan-dengan-scala-82cd450dc43a
https://bertzzie.com/post/2/scala-sebuah-java-yang-lebih-baik
https://www.lightbend.com/blog/eight-hot-technologies-that-were-built-in-scala

Bagikan artikel ke:

Facebook Google+ Twitter

1 comment:

  1. Great post !

    Check our best six sigma certification courses also.
    Green belt certification

    ReplyDelete