MENGENAL BAHASA PEMROGRAMAN SCALA

dokumen-dokumen yang mirip
SUMBER BELAJAR PENUNJANG PLPG

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

1. Sejarah Javascript

MINGGU II : DASAR C# Tujuan Pembelajaran. Materi

MENGENAL TENTANG BAHASA PEMROGRAMAN RUBY

Pengenalan JAVA. Farhat, ST., MMSI., MSc

Abstrak. yaitu. yang. awal. pemrograman, c++ Programming). Copyright ilmuti.org Seluruh disertakan dalam. setiap

LAPORAN PERCOBAAN V ( APLIKASI NILAI MAHASISWA) BERBASIS JAVA

Kesalahan Umum dalam Pemrograman C#

PRAKTIKUM OBJECT ORIENTED PROGRAMING

LAPORAN PERCOBAAN IV PEMBUATAN CALCULATOR ( MENGHITUNG GAJI KARYAWAN DAN TUNJANGANNYA) BERBASIS JAVA

Pengantar Pemrograman dengan Bahasa Java

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41

STMIK AMIKOM YOGYAKARTA YOGYAKARTA 2008 WIDHIARTA, S. KOM

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

INTRODUCTION TO NETBEANS IDE

BEKERJA DENGAN JAVA CLASS LIBRARY

Modul II Object Oriented Programming

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

BAB III PEMROGRAMAN PADA SOFTWARE MICROSOFT VISUAL BASIC dan data-data yang saling terelasi yang memerintahkan apa yang harus

1. Sejarah Javascript

IT210 - Pemrograman Visual. Ramos Somya

Pengantar Pemrograman dengan Bahasa Java

Kurikulum Qt. Chapter 4 Function. Fungsi

Inheritance dan Kata Kunci static

Pengenalan Script. Definisi HTML

Konsep Pemrograman Berorientasi Obyek

BAB II. KAJIAN PUSTAKA

Tugas Rekayasa Perangkat Lunak Berorientasi Obyek Review IDE untuk Java (NetBeans, Eclipse, Intellij IDEA)

Bab 8. Dasar-Dasar OOP

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

BAB I PENDAHULUAN. Sebesta (2002) memaparkan kriteria evaluasi terhadap sebuah bahasa

What Is a Function and Why Use One?

TUGAS AKHIR APLIKASI KALKULATOR BOLA BERBASIS JAVA

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

P a g e 1. A. Perkenalan

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

LAPORAN PRAKTIKUM PERTENGAHAN SEMESTER (LAB. ACTIVITY) ALGORITMA & PEMROGRAMAN TEKNIK INFORMATIKA. Oleh: NIM : Materi:

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman

Pengenalan Pemrograman

BERBAGAI VERSI VISUAL BASIC.NET

Implementasi OOP Pada Perangkat Lunak Pemrograman

MODUL 1 PENGENALAN OOP

Dasar Pemrograman Java

ilmu bahasa pemrograman ilmu c++ Copyright izie ilmu c++

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Semua Bisa Menjadi Programmer Python Basic

Pemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs.

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Inheritance (Pewarisan) Pengertian dasar inheritance

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

Modul Praktikum Bahasa Pemrograman 1

Visual Basic (VB) Tatik yuniati. Abstrak.

BAHASA PEMROGRAMAN JAVA

Pemrograman dan Bahasa Pemrograman

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

Jobsheet 09. Overloading and Overriding Method

Mengenal Pemrograman Web Dengan JSP

dilakukan oleh bahasa mesin dapat dilakukan oleh C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C dalam pemakainnya memerlukan

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Michael Lionardi

Programming Language Bahasa Pemrograman

Object OOP. Polymor phism

Pemrograman dengan Java

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

2 TIPE DATA DAN VARIABEL

BAB IV HASIL PENELITIAN DAN PENERAPAN

Chapter# 5. Tujuan : Mahasiswa m

Pendahuluan Pemrograman Mikrokontroler

Mengenal Java RMI. Wiranti Sri Utami. Abstrak. Pendahuluan.

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

JAVA. Sekilas tentang java : FITUR JAVA :

Nama : Julian Chandra W Telp :

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Pengenalan Java PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

APLIKASI KALKULATOR PENGHITUNGAN NILAI BERBASIS JAVA

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

PHP & MYSQL. Universitas Komputer Indonesia 2004 Taryana. S

PEMROGRAMAN BERORIENTASI OBJEK

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

Pemrograman Berorientasi Obyek. Konsep OOP

Pemrograman. Fery Updi,M.Kom

Pemrograman Berbasis Objek. Pengenalan Java. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Konsep Dasar Pemrograman Dan Pengenalan C++

Pemograman Berorientasi Objek

Bahasa Pemrograman Untuk Pembuatan Web

Sekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak

Dasar Pemrograman Java

T I P E D A T A P R I M I T I F V A R I A B E L D A N S T A T E M E N P E N U G A S A N E K S P R E S I D A N O P E R A T O R A R I T M A T I K A

MODUL 3 DASAR-DASAR PHP

3. Membuat dan menguji efek dalam sebuah movie

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

STANDAR KOMPETENSI DAN KOMPETENSI DASAR KELOMPOK PROGRAM PRODUKTIF SEKOLAH MENENGAH KEJURUAN

Mengenal Bahasa Pemprograman Pike

PHP (HYPERTEXT PREPROCESSOR)

Transkripsi:

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.