PENGENALAN BAHASA PEMROGRAMAN
Bahasa Pemrograman
Kamus
Besar Bahasa Indonesia (KBBI) mendefinisikan bahwa bahasa pemrograman adalah
“sistem kata atau simbol yang memungkinkan untuk berkomunikasi dengan komputer,
terutama untuk memasukkan instruksi-instruksi komputer melalui kata-kata yang
mudah dipahami, dan kemudian diterjemahkan ke dalam kode mesin”. Pengertian
diatas bisa diambil beberapa kata kunci, diantaranya: “sistem kata / simbol
yang mudah dipahami“, “berkomunikasi dengan komputer”, dan “diterjemahkan ke
dalam kode mesin”. “Sistem kata / simbol” lebih dikenal dengan istilah
“sintaks”, sebenarnya sintaks ini digunakan untuk mempermudah manusia memahami
komputer sehingga manusia bisa komunikasi untuk memerintahkan komputer
melakukan suatu instruksi, namun komputer tidak langsung bisa tahu apa
instruksi yang diperintahkan manusia, agar komputer paham, ada proses
penerjemahan dari sintaks-sintaks tersebut menjadi kode mesin yang dilakukan
oleh penerjemah (compiler/interpreter), hasil dari penerjemahan tersebut berupa
bilangan biner, yaitu bilangan yang terdiri dari dua angka, 0 (nol) dan 1
(satu).
Ditinjau dari kedekatannya
dengan bahasa manusia, bahasa pemrograman dibagi ke dalam tiga tingkat, yaitu:
1.
Bahasa tingkat tinggi, yaitu bahasa
yang mudah dimengerti oleh manusia karena menggunakan bahasa yang biasa
digunakan oleh manusia, biasanya didominasi menggunakan bahasa Inggris. Contoh:
Java, C++, PHP, Ruby, dan lain-lain.
2.
Bahasa tingkat menengah, yang mendekati
bahasa mesin (komputer) tetapi masih menggunakan bahasa manusia. Contoh: C,
PL/S, MOL-360, dan lain-lain
3.
Bahasa tingkat rendah, yaitu bahasa
yang berupa kode-kode singkatan dari bahasa manusia namun sulit sekali dipahami
karena untuk bekerja dengan bahasa ini diharuskan paham cara kerja komputer
secara menyeluruh. Contoh: Assembly.
Untuk lebih memahami
seperti apa wujud dari bahasa pemrograman berdasarkan tingkatan, bisa dilihat
dari ilustrasi berikut:
Binner
10101011110101110011101110010010001
10101011110101110011101110010010001 10101011110101110011101110010010001 |
Machine
Language / Bahasa Mesin (hexadecimal)
+1300042774
+1400593419 +1200274027 |
Assembly
Load
basepay
add
overpay
store
grosspay
|
Bahasa
tingkat menengah dan tingkat tinggi
grossPay
= basePay + overTimePay
|
Dari ilustrasi diatas
terlihat bahwa bahasa tingkat menengah dan tingkat tinggi memiliki kemiripan
model sintaks namun yang membedahkan keduanya adalah bahasa pemrograman tingkat
menengah masih mengharuskan programmer bersentuhan langsung dengan mesin
komputer dalam melakukan suatu proses tertentu, seperti pengaturan register
dalam suatu memori, sedangkan dalam bahasa pemrograman tingkat tinggi,
proses-proses tersebut ditangani secara otomatis.
Saat ini bahasa pemrograman
tingkat tinggi lah yang masih terus berkambang. Bahasa pemrograman ini terbagi
ke dalam beberapa bagian berdasarkan dimana bahasa permrograman tersebut bisa
dijalankan, diantaranya:
1.
Desktop, jenis bahasa pemrograman
ini hanya bisa berjalan di komputer atau laptop, seperti Visual Basic, C++/C#,
Java SE, dan lain-lain.
2.
Web, bahasa pemrograman ini terbagi lagi
menjadi dua, yaitu bahasa pemrograman yang berjalan di server dan bahasa
pemrograman yang berjalan di klien (browser). Kedua jenis bahasa ini saling
berkomunikasi menggunakan jaringan internet. Kebanyakan programmer menyebut
bahasa pemrograman yang berjalan di server dengan sebutan back-end sedangkan
bahasa pemrograman yang berjalan di klien disebut dengan front-end. Contoh
bahasa pemrograman back-end, yaitu: PHP, Ruby, Java EE, dan lain-lain. Contoh
untuk bahasa pemrograman front-end, yaitu Javascript.
3.
Mobile, bahasa yang dijalankan di
perangkat mobile (perangkat jinjin), jenis bahasa pemrograman ini terus
berkembang selaras dengan kemudahan dan optimasi tampilan grafiknya. Bahasa
pemrograman ini ada berbagai jenis tergantung pada sistem operasi yang
digunakan, misalkan untuk Android menggunakan bahasa Android (pengembangan dari
Java ME), iOS menggunakan Objective-C dan Swift, dan Windows Mobile menggunakan
Visual C++, C#, Visual Basic, .Net.
Bahasa Java
Seperti yang sudah dibahas
sebelumnya, bahasa permrograman Java merupakan bahasa pemrograman tingkat
tinggi sehingga bahasa pemrograman ini relatif mudah untuk dipelajari. Jika
dicermati dari pembahasa di atas, Java juga merupakan bahasa pemrograman yang
bisa berjalan di Desktop (berbagai sistem operasi), Web, dan Mobile. Sebutan
bahasa pemrograman yang bisa jalan dimanapun (Desktop, Web, dan Mobile) adalah
bahasa pemrograman multiplatform.
Karena Java ini merupakan
bahasa pemrograman tingkat tinggi maka paradigma pemrogramannya pun merujuk
pada kehidupan seharihari. Paradigma tersebut dikenal dengan istilah bahasa
pemrograman berorientasikan objek / object-oriented programming (OOP). Secara
garis besar OOP ini bisa dipahami bahwa untuk membuat aplikasi bahasa Java,
programmer harus memahami objek-objek yang terlibat dan hubungan objek-objek
tersebut dalam proses bisnis yang terjadi di dunia nyata. Objek dan hubungan
antar objek ini lah yang dirubah ke dalam kodekode / sintaks Java. Lebih detail
tentang OOP akan dibahas pada bagian berikutnya.
Kode-kode Java tersebut
tidak langsung bisa dikenali oleh mesin komputer, karenanya ada proses
penerjemahan dari kode Java ke dalam bilangan biner. Berbeda dengan bahasa
pemrograman lainnya yang langsung diterjemahkan oleh penerjemah (compailer /
interpreter) karena dikhususkan untuk sistem operasi tertentu, Java sendiri
merupakan bahasa multiplatform yang bisa dijalankan dimanapun, tidak tergantung
pada sistem operasi tertentu sehingga ada proses sebelum penerjemahan. Proses
tersebut dilakukan oleh sistem operasinya bahasa pemrograman Java, yaitu Java
Virtual Machine (JVM). JVM sendiri diatasnya ada Java Runtime Environment
(JRE). JRE inilah yang harus terlebih dahulu dipasang di atas sistem operasi
induk (Microsoft, Linux, dan MacOS, dan beberapa sistem operasi device lainnya)
sebelum aplikasi Java bisa dijalankan. Keuntungan yang diperoleh dengan adanya
JVM/JRE adalah programmer hanya butuh sekali membuat aplikasi namun aplikasi
tersebut bisa dijalankan di semua sistem operasi, tentunya sistem operasi induk
tersebut terlebih dahulu harus sudah dipasang JVM/JRE.
Pembahasan di atas terkait
dengan JVM/JRE yang digunakan untuk menjalan aplikasi Java. Berikutnya yaitu
bagaimana cara mengembangkan aplikasi Java, apakah hanya memerlukan JVM/JRE.
Tentunya ada sistem tambahan yang diperlukan selain JVM/JRE untuk mengembangkan
aplikasi Java, yaitu Java Development Kit (JDK). Di dalam JDK terdapat banyak
library (sekumpulan fungsi) yang digunakan untuk mengembangkan aplikasi Java,
library-libray ini lah yang memudahkan kita mengembangkan aplikasi Java karena
dalam penamaan library-library tersebut menggunakan bahasa Inggris. Selain
library ada beberapa tool-tool tambahan yang juga mempermudah programmer dalam
mengembangkan aplikasi Java, misalkan tool unutk debug dan compile. JDK ini
berjalan di atas JVM/JRE sehingga JVM/JRE harus terlebih dahulu dipasang
sebelum memasang JDK di sistem operasi induk.
Java memiliki tiga edisi /
versi, yaitu Java 2 Standard Edition (J2SE), Java 2 Enterprise Edition (J2EE),
dan Java 2 Micro Editin (J2ME). Tentunya masing-masing edisi tersebut dipilih
tergantung pada dimana aplikasi Java dijalankan. J2SE berjalan di desktop. J2EE
berjalan di server-client (jaringan internet). J2ME berjalan di wearable device
/ smartphone / mobile. Tujuan dari pembagian berdasarkan tempat dimana aplikasi
Java tersebut dijalankan adalah untuk menyesuaikan kebutuhan akan performa dan
keterbatasan resource / spesifikasi hardware yang ada yang dimiliki oleh mesin
/ device tersebut. Misalkan, mobile memiliki spesifikasi hardware yang relatif
rendah sehingga J2ME diciptakan untuk mewujudakan proses yang efisien yang
tidak memerlukan spesifikasi hardware tinggi sehingga performa yang dihasilkan
relatif bagus. J2EE yang dijalankan di beberapa server harus menangani banyak
client dalam sekali waktu sehingga J2EE membutuhkan fungsi / fitur yang bisa
menangani sistem terdistribusi dan concurrent / multi thread system. Sedangkan
untuk J2SE merupakan versi yang paling sederhana dan mudah untuk digunakan jika
dibandingkan dua versi lainnya. Edisi J2SE inilah yang menjadi pembahasan dalam
buku ini.
Integrated Development
Environment (IDE)
Pembahasan di atas
menjelaskan bahwa sebelum programmer bisa mengembangkan aplikasi Java,
programmer diharuskan untuk menginstal JVM / JRE/ JDK. JVM / JRE / JDK harus
disesuaikan dengan sistem operasi induknya. Ada beberapa versi untuk JVM / JRE
/ JDK. Jika sistem operasi induk adalah Windows maka pilih versi yang untuk
Windows, begitu juga untuk sistem operasi induk lainnya.
Tool apa yang digunakan
untuk mengetikkan sintaks Java? Untuk mengetikkannya bisa menggunakan tool yang
paling sederhana, yaitu Notepad. Namun, Notepad bukan pilihan yang tepat
digunakan untuk Java karena fungsi Notepad hanyalah text editor saja. Ada tool
yang digunakan programmer untuk membantu mempercepat dan mempermudah dalam
mengembangkan aplikasi (bahasa pemrograman apapun), yaitu Integrated
Development Environment (IDE), karena di dalam tool tersebut banyak terdapat
fitur-fitur selain text editor, misalkan debugger, compiler, documentation,
versioning, tampilan visual yang menarik, dan fitur-fitur lainnya. Ada berbagai
macam jenis IDE, ada IDE yang khusus mendukung bahasa pemrograman tertentu dan
ada juga yang mendukung banyak bahasa pemrograman.
IDE yang paling cocok untuk
bahasa pemrograman Java adalah Neatbeans. Netbeans adalah IDE resmi untuk Java
yang dikeluarkan oleh perusahaan yang memiliki merek dagang Java, yaitu Oracle,
sehingga semua fitur yang ada di Java didukung penuh oleh Neatbeans, karena
Neatbeans dikembangkan menggunakan bahasa Java maka untuk memasangnya, terlebih
dahulu diharuskan memasang JVM / JRE / JDK.
Sesudah memasang semua
pre-requirement dalam mengembangkan aplikasi Java saatnya membuat aplikasi
paling sederhana, yaitu aplikasi “Hello World!”.
Misalkan membuat aplikasi
HelloWorld, di dalam Netbeans aplikasi tersebut direpresantasikan sebagai
“project”, di dalamnya “project” terdapat “package”, “package” inilah yang
membagi “project” ke beberapa bagaian agar bagian source code aplikasi tersebut
tertata dengan rapi, karena biasanya di dalam satu aplikasi terdapat ribuan
baris kode sehingga perlu adanya pembagian dengan menggunakan “package”, di
dalam “package” terdapat “class”, “class” inilah yang di dalamnya terdapat kode
/ sintaks Java.
Hello World!
Kali ini menjelaskan contoh
aplikasi HelloWorld, yang mana aplikasi ini sangat sederhana, hanya menampilkan
tampilan “Hello World!” di console.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/*
* To
change this license header, choose License
Headers
in Project Properties.
* To
change this template file, choose Tools |
Templates
* and
open the template in the editor.
*/
package helloworld;
/**
*
*
@author tele
*/
public class helloworld {
public static void main(String [] args){
System.out.println("Hello
World!");
}
}
|
Baris 1 – 7 dan 9 – 12
adalah comment. Comment digunakan untuk memberikan narasi pada suatu kode agar
programmer lain paham maksud dan tujuan logika yang dituliskan seorang
programmer. Selain itu, biasanya comment juga digunakan untuk menjadi sarana
pengingat bagi programmer saat programmer lupa karena sudah lama tidak memegang
kode tersebut. Sekarang comment juga bisa di-generate secara otomatis
menggunakan Javadoc untuk kepentingan dokumentasi. Caranya dengan menggunakan
aturan-aturan Javadoc, yaitu dengan menambahkan annotasi (@) pada baris kode
yang ingin dijelaskan, misalkan yang terlihat pada baris 11, “@author tele”,
yaitu menjelaskan pembuat dari kode “helloworld”.
Baris 8 mendefinisikan
“package”, yaitu “helloworld”. Baris 13 – 18 merupakan lingkup dari “class
helloworld”, dimana di dalamnya terdapat method “main”. Method “main” merupakan
method yang wajib ada pada suatu aplikasi karena method inilah yang akan menjalankan
semua logika yang dituliskan menggunakan Java. Pada hal ini logika yang
dituliskan hanya menampilkan tulisan “Hello World!” sehingga ketika aplikasi
dijalankan di console akan nampak tulisan “Hello World!”. Untuk pembahasan
tentang “class” dan “method” akan dibahas lebh detail pada pembahasan
berikutnya.
Proses Jalannya Aplikasi
Proses jalannya aplikasi
dibagi ke dalam 5 fase untuk lebih memahami proses jalannya aplikasi, yaitu (1)
edit (2) compile (3) load (4) verify dan (5) execute.
1.
Edit
Fase
awal ini, programmer mengetikkan kode ke text editor (bisa menggunakan
Netbeans), hasilnya disimpan di secondary memory (hardisk) dengan menggunakan
ekstensi .java
2.
Compile
Dengan
menggunakan perintah “javac”, sistem merubah dari kode yang masih dalam sintaks
bahasa inggris ke dalam bentuk bytecode (sebagian besar berupa hexadecimal)
dengan menggunakan ekstensi .class. File tersebut masih disimpan di dalam
hardisk.
3.
Load
Dari
hardisk, file .class (bytecode) dimasukkan ke dalam primary memory.
4.
Verify
Bytecode
tersebut diverifikasi apakah bytecode tersebut sesuai dengan bytecode-nya Java
(karena bytecode bahasa pemrograman lain berbeda-beda) dan aman untuk
dijalankan.
5.
Execute
Pada fase akhir ini, JVM membaca bytecode tersebut dan dirubah ke dalam bentuk biner sehingga mesin komputer paham dan mengeksekusi perintah yang diketikkan programmer di text editor.
Pada fase akhir ini, JVM membaca bytecode tersebut dan dirubah ke dalam bentuk biner sehingga mesin komputer paham dan mengeksekusi perintah yang diketikkan programmer di text editor.
Rangkuman
Kamus Besar Bahasa
Indonesia (KBBI) mendefinisikan bahwa bahasa pemrograman adalah “sistem kata
atau simbol yang memungkinkan untuk berkomunikasi dengan komputer, terutama
untuk memasukkan instruksi-instruksi komputer melalui kata-kata yang mudah
dipahami, dan kemudian diterjemahkan ke dalam kode mesin”. Ditinjau dari
kedekatannya dengan bahasa manusia, bahasa pemrograman dibagi ke dalam tiga
tingkat, yaitu: (1) bahasa tingkat tinggi, (2) bahasa tingkat menengah, dan (3)
bahasa tingkat rendah.
Sebelum programmer bisa
mengembangkan aplikasi Java, programmer diharuskan untuk menginstal JVM / JRE/
JDK. JVM / JRE / JDK harus disesuaikan dengan sistem operasi induknya. Proses
jalannya aplikasi dibagi ke dalam 5 fase untuk lebih memahami proses jalannya
aplikasi, yaitu (1) edit (2) compile (3) load (4) verify dan (5) execute.
Komentar
Posting Komentar