MENGENAL BAHASA PEMROGRAMAN SCALA Octavia Noer Jasuma octavia.jasuma@raharja.info Abstrak Scala adalah sebuah bahasa pemrograman yang dikembangkan untuk menggantikan Java. Scala juga merupakan murni berorientasi obyek-bahasa dalam arti bahwa setiap nilai adalah obyek. Scala dikembangkan oleh Martin Odersky, yang adalah pengembang dari compiler dan fitur Generic pada bahasa pemrograman Java. Setelah lama mengembangkan dan menggunakan Java, Martin Odersky menemukan satu kelemahan fatal pada Java. jika ingin menggunakan Java pada lingkungan pemrograman konkuren, sintaks dari Java harus diubah seluruhnya. Model konkurensi yang digunakan Java (thread) dianggap sulit dimengerti dan dikodekan dengan baik. Scala dikembangkan untuk memperbaiki model konkurensi dari Java, serta meningkatkan berbagai aspek lainnya, seperti model orientasi objek yang kurang murni, yang banyak tidak disukai oleh programmer non-java. Selain itu, penggabungan paradigma pemrograman berorientasi objek dan fungsional juga dilakukan oleh Scala, untuk meningkatkan kemudahan pemrograman konkuren. Dengan berbagai alasan tersebut, tahun 2001 Scala dilahirkan. Scala (yang adalah kepanjangan dari Scalable Language ) merupakan sebuah bahasa pemrograman yang dirancang untuk digunakan dalam berbagai lingkungan, mulai dari script sederhana sampai dengan sebuah sistem yang besar dan rumit. Istilah kerennya, Scala adalah sebuah general purpose programming language. Kata Kunci: (Scalable Language, Programming Language, Model Orientasi Objek)
Pendahuluan Semakin berkembangnya teknologi banyak bahasa pemrograman yang dipake oleh seluruh programmer untuk memudahkan mereka dalam pekerjaannya. Namun tidak semua programmer mengenal semua bahasa pemrograman termasuk bahasa pemrograman yang terdahulu. Yang sering kita ketahui yaitu bahasa pemrograman Java tetapi selain Java masih banyak bahasa pemrograman yang terkenal yang belum diketahui seperti: Scala, Golang, Rust, dan lain-lain. Scala sendiri adalah sebuah bahasa pemrograman yang dikembangkan untuk menggantikan Java. Scala dikembangkan untuk memperbaiki model konkurensi dari Java, serta meningkatkan berbagai aspek lainnya, seperti model orientasi objek yang kurang murni, yang banyak tidak disukai oleh programmer non-java. Dalam artikel kali ini penulis bermaksud untuk memperkenalkan Bahasa pemrograman Scala dan memberitahukan bagaimana cara programnya. Target dan manfaat penulis agar programmer mengetahui bahasa pemrograman yang lain dan tidak terfokus dengan satu bahasa pemrograman saja. Pembahasan 1. Pengenalan Pemrograman Scala Scala (kepanjangan dari Scalable Language ) merupakan sebuah bahasa pemrograman yang dirancang untuk digunakan dalam berbagai lingkungan, mulai dari script sederhana sampai dengan sebuah sistem yang besar dan rumit. Istilah kerennya, Scala adalah sebuah general purpose programming language. Scala adalah sebuah general purpose programming language artinya sebuah bahasa pemrograman yang digunakan untuk menyelesaikan masalah-masalah umum. Scala dirancang untuk mengekspresikan pola pemrograman biasa secara ringkas, elegan, dan tipe-cara aman. Scala mengintegrasikan fitur berorientasi objek dan bahasa-bahasa fungsional, memungkinkan Java dan pemrogram lain untuk menjadi lebih produktif. Kode Java dan keterampilan pemrogram
sepenuhnya dapat digunakan kembali. Program Scala berjalan di Java VM, Scala memiliki kode byte yang kompatibel dengan Java sehingga kita dapat memanfaatkan sepenuhnya library yang ada pada JAVA atau kode aplikasi yang sudah ada. Scala dikembangkan oleh Martin Odersky, yang adalah pengembang dari compiler dan fitur Generic pada bahasa pemrograman Java. Setelah lama mengembangkan dan menggunakan Java, Martin Odersky menemukan satu kelemahan fatal pada Java: jika ingin menggunakan Java pada lingkungan pemrograman konkuren, sintaks dari Java harus diubah seluruhnya. Model konkurensi yang digunakan Java (thread) dianggap sulit dimengerti dan dikodekan dengan baik. Scala dikembangkan untuk memperbaiki model konkurensi dari Java, serta meningkatkan berbagai aspek lainnya, seperti model orientasi objek yang kurang murni, yang banyak tidak disukai oleh programmer non-java. Selain itu, penggabungan paradigma pemrograman berorientasi objek dan fungsional juga dilakukan oleh Scala, untuk meningkatkan kemudahan pemrograman konkuren. Dengan berbagai alasan tersebut, tahun 2001 Scala dilahirkan. Meyakinkan para programmer untuk berganti bahasa pemrograman jelas bukan hal yang mudah, terutama untuk bahasa pemrograman yang sudah sangat matang seperti Java. Ekosistem Java sangat kaya, dengan berbagai library, framework, dan komunitas yang telah terbangun dengan matang. Integrasi dengan Java Ada kode Java dan keterampilan programmer sepenuhnya kembali dapat digunakan. Scala program berjalan di Java VM, adalah kode byte yang kompatibel dengan Java sehingga Anda dapat membuat penuh penggunaan perpustakaan Jawa yang ada atau kode aplikasi yang sudah ada. Anda dapat menghubungi Scala dari Jawa dan Anda bisa menelepon Jawa dari Scala, integrasi yang mulus. Selain itu, Anda akan berada di rumah dengan alat pengembangan akrab, Eclipse, NetBeans atau Intellij misalnya, yang semuanya mendukung Scala.
Scala Compiler Kinerja Compiler Scala matang dan terbukti sangat handal oleh tahun digunakan dalam lingkungan produksi, compiler ini ditulis oleh Martin Odersky yang juga menulis Jawa referensi compiler dan turut menulis generik, yang digunakan oleh jutaan programmer Java saat ini. Anda dapat yakin pelaksanaan nya dari kompiler Scala menghasilkan kode byte yang melakukan setiap bit sebaik kode Java sebanding. Scala interoperasi dengan Java dan NET. Scala dirancang untuk saling beroperasi dengan baik dengan Lingkungan 2 yang populer Java Runtime (JRE). Secara khusus, interaksi dengan bahasa berorientasi objek utama pemrograman Java adalah sebagai halus mungkin. Scala memiliki model kompilasi yang sama (kompilasi terpisah, class loading dinamis) seperti Java dan memungkinkan akses ke ribuan yang ada berkualitas tinggi perpustakaan. Dukungan untuk NET Framework. (CLR) juga tersedia.
2. Scala Berorientasi Objek Scala dirancang untuk menjadi bahasa pemrograman yang murni berorientasi objek. Dalam Scala, setiap nilai adalah objek. Tidak ada lagi primitif, tidak ada lagi berbagai intrik aneh seperti kode berikut: 1.toSTring() yang tidak dapat dijalankan, dan bahkan tidak ada lagi operator. Ketika mengetikkan 1 + 2 dalam Scala, yang terjadi pada dasarnya adalah pemanggilan fungsi sebagai berikut: 1. 1.+(2) di mana 1 dan 2 masing-masing adalah objek Int. Objek dalam Scala dideskripsikan menggunakan class, dengan trait sebagai ganti dari interface pada Java. Class pada Scala dikembangkan dengan subclassing, sama seperti Java, tetapi Scala juga menggunakan konsep mixin-based composition untuk menyelesaikan permasalahan multiple inheritance. 3. Scala Sebagai Bahasa Fungsional Scala juga merupakan bahasa fungsional dalam arti bahwa setiap fungsi adalah nilai. Scala menyediakan sintaks ringan untuk mendefinisikan fungsi anonim, mendukung tingkat tinggi fungsi, memungkinkan fungsi yang harus diulang, dan mendukung currying. Scala, kasus kelas dan built-in mendukung untuk jenis model pencocokan pola aljabar yang digunakan dalam banyak bahasa pemrograman fungsional. Selanjutnya, gagasan Scala tentang pencocokan pola alami meluas ke pengolahan data XML dengan bantuan kanan mengabaikan pola urutan. Dalam konteks ini, comprehensions urutan berguna untuk merumuskan pertanyaan. Fitur-fitur ini membuat Scala ideal untuk mengembangkan aplikasi seperti layanan web.
Konsep pemrograman fungsional sendiri sebenarnya sederhana: fungsi adalah nilai dan fungsi adalah operasi pemetaan antara masukan dan keluaran. 1) Konsep pertama, yaitu fungsi adalah nilai berarti status dari sebuah fungsi dalam bahasa pemrograman fungsional dapat dikatakan sama dengan sebuah integer atau double. Jika kita dapat melakukan hal seperti ini pada sebuah integer dalam bahasa pemrograman non-fungsional (ilustrasi dalam bahasa C): // Memasukkan sebuah nilai integer ke dalam variabel int angka = 10; // menggunakan nilai integer sebagai parameter fungsi deretfibonacci(angka); // mengembalikan nilai integer dari sebuah fungsi int deretfibonacci(int n) { //... maka sebuah fungsi dalam bahasa pemrograman fungsional mendapatkan perlakukan serupa. Ya, kita dapat memasukkan fungsi ke dalam sebuah variabel, menggunakan fungsi sebagai parameter fungsi lainnya, dan menjadkan fungsi sebagai nilai kembalian dari sebuah fungsi:
// memasukkan fungsi ke dalam variable var func = (param1: Int, param2: Int) => param1 + param2 func(1, 2) // hasil: 3 // menggunakan fungsi sebagai parameter fungsi def median(data: List[Int], sortfunction: (List[Int]) => List[Int]) = { //... val datas = List(100, 24, 50) def quicksort(data: List[Int]): List[Int] = { //... val med = median(datas, quicksort) // mengembalikan nilai median dari datas 2) Konsep yang kedua, yaitu fungsi adalah operasi pemetaan antara masukan dan keluaran merupakan sebuah konsep yang mengharuskan sebuah fungsi hanya melakukan operasi kepada nilai-nilai yang ada di dalam fungsi itu sendiri. Nilai-nilai yang berada di luar fungsi tidak boleh diproses oleh sebuah fungsi. Singkatnya, sebuah fungsi hanya boleh menerima masukan, kemudian memberikan keluaran.
Perhatikan kode C berikut: int hp = 9999; void reducehp(int value) { hp -= value; reducehp(1000); Operasi pada fungsi di atas melakukan proses terhadap nilai yang berada di luar dirinya, yaitu hp. Fungsi jenis ini dikenal juga sebagai fungsi yang memiliki side effect. Side effect tidak diperbolehkan dalam pemrograman fungsional. Kode yang lebih baik menurut konsep fungsional adalah sebagai berikut: int hp = 9999; int reducehp(int currenthp, int damage) { return currenthp - damage; hp = reducehp(hp, 1000); 4. Contoh Pemprograman Scala Contoh Hello World : object HelloWorld extends App { println("hello, World!") bahasa pemrograman ini tidak membutuhkan suatu deklarasi kelas statik; sebuah object tunggal dibuat dengan menambahkan kata kunci object di dalamnya.
Ketika pengguna menyimpan dengan nama HelloWorld.scala, pengguna dapat menjalankan kompilasi dengan perintah: $ scalac HelloWorld.scala dan menjalankan dengan : $ scala HelloWorld Penutup Scala adalah sebuah bahasa pemrograman yang dikembangkan untuk menggantikan Java. Scala dikembangkan untuk memperbaiki model konkurensi dari Java, serta meningkatkan berbagai aspek lainnya, seperti model orientasi objek yang kurang murni, yang banyak tidak disukai oleh programmer non-java. Selain itu, penggabungan paradigma pemrograman berorientasi objek dan fungsional juga dilakukan oleh Scala, untuk meningkatkan kemudahan pemrograman konkuren. Scala juga merupakan bahasa fungsional dalam arti bahwa setiap fungsi adalah nilai. Scala menyediakan sintaks ringan untuk mendefinisikan fungsi anonim, mendukung tingkat tinggi fungsi, memungkinkan fungsi yang harus diulang, dan mendukung currying.
Referensi bertzzie.com digital-manga.blogspot.com ri32.wordpress.com id.m.wikipedia.org Biografi Nama saya Octavia Noer Jasuma, biasa dipanggil Via. Saya mahasiswa STMIK Raharja, Jurusan Sistem Informasi konsentrasi Komputerisasi Akuntansi. Saat ini saya sedang menjalani semester 6 (enam). Saya bertempat tinggal di Perumahan Taman Buah Sukamantri Blok AA 6 No.4, Kabupaten Tangerang. Akan tetapi saya bukan asli orang Tangerang, saya berasal dari salah satu daerah di Sumatra Selatan yaitu Ogan Komering Ulu. Hal yang sering saya lakukan di waktu luang antara lain: nonton youtube dan travelling. Salam kenal, semoga artikel ini bermanfaat.