Kita dapat mengartikan bahasa pemrograman itu sebagai teknik komunikasi
yang standar untuk mengekspresikan intruksi terhadap suatu komputer. Selain itu
bahasa pemrograman juga memiliki tata tulis dan aturan tertentu. Bahasa
pemrograman juga memfasilitasi seorang programmer untuk secara spesifik apa
yang akan dilakukan oleh komputer selanjutnya, bagaimana data yang telah dibuat
disimpan atau dikirim, dan apa yang akan dilakukan bila terjadi kondisi yang
variatif.
Bahasa
pemrograman dapat kita klasifikasikan menjadi tiga tingkatan yaitu
1.
Bahasa
pemrograman tingkat tinggi
2.
Bahasa
pemrograman tingkat menengah
3.
Bahasa
pemrograman tingkat rendah
Berikut
akan dijelaskan lebih rinci ;
a.
Bahasa
pemrograman tingkat tinggi
Bahasa pemrograman tingkat tinggi dapat kita artikan sebagai
bahasa tingkat tinggi yang ciri-ciri mudah dimengerti karena bahasa yang
digunakan mirip terhadap bahasa sehari-hari. Compiler digunakan sebagai
penerjemah terhadap suatu pernyataan program kepada sebuah atau beberapa mesin.
Yang termasuk dalam bahasa pemrograman tingkat tinggi ini misalnya adalah java
dan C++ .
b.
Bahasa
pemrograman tingkat menengah
Bahasa pemrograman tingkat menengah telah menggunakan instruksi
yang telah mendekati bahasa sehari-hari, walaupun masih cukup sulit untuk kita
mengerti karena masih menggunakan singkatan-singkatan seperti MOV yang artinya
pindah (MOVE) dan STO yang berarti simpan (STORE). Yang termasuk dalam bahasa
pemrograman tingkat menengah ini adalah fotran.
c. Bahasa pemrograman
tingkat rendah
Bahasa pemrograman tingkat rendah ini merupakan bahasa
pemrograman generasi pertama . ciri-ciri bahasa pemrograman yang satu ini
adalah masih menggunakan bahasa mesin, karena instruksinya masih menggunakan
bahasa mesin maka sangat sulit dimengerti. Selain itu disebut juga dengan
bahasa assembly yang merupakan bahasa dengan pemetaan satu-persatu terhadap
instruksi komputer. Setiap instruksi assembly diterjemahkan dengan menggunakan
assembler.
Alur Pembuatan Program
Seorang programmer tidak
melakukan pembuatan dan pengkodean program secara begitu saja, namun
mengikuti perencanaan dan metodologi yang terstruktur yang memisahkan
proses suatu aplikasi menjadi beberapa bagian.
Berikut ini langkah–langkah
sistematis dasar dalam menyelesaikan permasalahan pemrograman :
1. Mendefinisikan masalah
2. Menganalisa dan membuat
rumusan pemecahan masalah
3. Desain Algoritma dan
Representasi
4. Pengkodean, Uji Coba dan
pembuatan dokumentasi
Untuk memahami langkah dasar dalam pemecahan masalah dalam
sebuah komputer mari kita mendefinisikan sebuah permasalahan yang akan
diselesaikan langkah demi langkah sebagaimana metodologi pemecahan masalah
yang akan dibahas selanjutnya. Masalah yang akan kita selesaikan akan
didefinisikan pada bagian selanjutnya.
Definisi Permasalahan
Seorang programmer
umumnya mendapatkan tugas berdasarkan sebuah permasalahan. Sebelum sebuah
program dapat terdesain dengan baik untuk menyelesaikan beberapa permasalahan,
masalah masalah yang terjadi harus dapat diketahui dan terdefinisi dengan baik
untuk mendapatkan detail persyaratan input dan output.
Sebuah pendefinisan yang jelas
adalah sebagian dari penyelesaian masalah. Pemrograman komputer
mempersyaratkan untuk mendefiniskan program terlebih dahulu sebelum membuat
suatu penyelesaian masalah.
Analisa Permasalahan
Setelah sebuah permasalahan terdefinisi secara memadai, langkah
paling ringkas dan efisien dalam penyelesaian harus
dirumuskan. Umumnya, langkah berikutnya meliputi memecahkan masalah tersebut menjadi beberapa bagian kecil dan
ringkas.
Contoh masalah :
Menampilkan jumlah kemunculan
sebuah nama pada daftar
Input Terhadap Program :
Daftar Nama, Nama yang
akan dicari
Output Dari Program :
Jumlah kemunculan nama
yang dicari
Desain Algoritma dan
Representasi
Setelah kita mengetahui dengan baik dan jelas mengenai
permasalahan yang ingin diselesaikan, langkah selanjutnya
yaitu membuat rumusan algoritma untuk menyelesaikan permasalahan. Dalam
pemrograman komputer penyelesaian masalah didefinisikan dalam langkah demi langkah.
Algoritma adalah urutan
langkah–langkah logis penyelesaian masalah yang disusun secara sistematis
dan logis. Logis merupakan kunci dari sebuah algoritma. Langkah-langkah dalam
algoritma harus logis dan bernilai benar atau salah.
Algoritma dapat diekpresikan
dalam bahasa manusia, menggunakan presentasi grafik melalui sebuah
FlowChart (diagram alir) ataupun melalui PseudoCode
yang menjembatani antara bahasa manusia dengan bahasa pemrograman.
Mengekspresikan cara penyelesaian
melalui bahasa manusia :
1. Tentukan daftar nama
2. Tentukan nama yang akan
dicari, anggaplah ini merupakan sebuah kata kunci
3. Bandingkan kata kunci
terhadap setiap nama yang terdapat pada daftar
4. Jika kata kunci tersebut sama
dengan nama yang terdapat pada daftar, tambahkan nilai pada hasil perhitungan
5.
Jika seluruh nama telah dibandingkan, tampilkan hasil perhitungan (output)
LATAR BELAKANG
Sejarah Java
Java dipelopori oleh James Gosling, Patrick Naughton, Chris
Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991.
Mereka membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa
ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada tahun
1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa
pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga
diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam
desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank
Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe
aslinya.
Java Modern
Java telah digunakan dalam banyak hal dan telah membuktikan
keberadaannya pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi
seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat,
pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut J2EE dan
masih banyak lagi.
Java Virtual
Machine (JVM)
Java Virtual Machine merupakan aplikasi sederhana yang ditulis
dalam bahasa C untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat
kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah),
program tersebut diubah menjadi KODE BYTE. Kemudian pada saat eksekusi, JVM
membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti
oleh sistem operasi tempat program tersebut dijalankan.
Karena JVM sangat bergantung pada platformnya (bahasa mesin
merupakan bahasa level rendah yang hanya dimengerti oleh suatu mesin tertentu,
misalnya Intel, tapi tidak dapat dimengerti oleh mesin lain, seperti
Macintosh), byte code ini dapat dibuat untuk terbebas dari kungkungan platform
tertentu. Code byte yang dihasilkan dalam proses kompilasi bahasa Java akan
selalu sama untuk setiap sistem operasi atau jenis mesinnya, tetapi JVM akan
mengubah kode byte tersebut menjadi bahasa mesin tujuannya.
Just In Time Compiler (JIT)
Meskipun Java didesain untuk diinterpretasi, secara teknis tidak
ada yang menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti
bahasa-bahasa pemrograman lainnya. Sun menyediakan kompiler Just In Time
Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa mesinnya pada
saat yang bersamaan dengan eksekusinya. Walaupun demikian, pendekatan JIT ini
menghasilkan kemampuan yang lebih dibandingkan dengan interpretasi biasa
Teknologi Java
Apa itu teknologi Java? Teknologi Java adalah bahasa
pemrograman, development
environment, application
environment dan deployment
environment. Sebagai bahasa pemrograman, dengan bahasa Java kita
dapat membuat berbagai macam aplikasi seperti yang dapat kita buat dengan
menggunakan bahasa konvensional apapun. Sebagai development environment,
teknologi Java menyediakan sederetan besar tools
seperti compiler
(javac), interpreter
(java), documentation
generator (javadoc), tool untuk pemaketan file class, dan
seterusnya.
Aplikasi teknologi Java merupakan program untuk kegunaan umum (general-purpose)
yang dapat berjalan pada mesin (komputer) apapun dimana dengan Java Runtime Environment
terpasang.
Ada
dua deployment environment utama:
·
JRE
yang disediakan Java
2 Software Development Kit (SDK) berisi kumpulan lengkap file-file
class untuk semua paket teknologi Java, dimana di dalamnya termasuk class-class
dasar bahasa, class-class komponen GUI, dan seterusnya.
·
Deployment
environment utama yang lainnya adalah web
browser. Kebanyakan browser komersial menyediakan interpreter dan
runtime environment teknologi Java.
Fitur-fitur Java
Beberapa fitur Java adalah Java Virtual Machine, Garbage
Collection, keamanan kode. Java Virtual Machine merupakan mesin imajiner (imaginary machine)
yang diimplementasikan oleh software
emulasi diatas mesin nyata. Selain itu JVM juga menyediakan spesifikasi
platform hardware untuk yang mana kita melakukan compile semua kode teknologi
Java. Hasil compile dari program Java akan menghasilkan bytcode yang
merupakan bahasa mesin khusus yang dapat dimengerti oleh Java Virtual Machine.
Bytcode yang dihasilkan ini bersifat independen, jadi setiap komputer yang
terpasang Java interpreter dapat mengeksekusi program Java yang sudah
di-compile, tidak peduli apa tipe komputer yang digunakan untuk meng-compile
program tersebut.
Garbage collection thread bertanggung jawab untuk membebaskan memori apa saja yang dapat
dibebaskan. Proses ini terjadi secara otomatis selama lifetime dari
program Java. Programmer
tidak lagi disusahkan dengan tugas untuk mendealokasikan memori yang sudah
dipakai program tersebut.
Kode keamanan dicapai melalui implementasi dari JRE-nya. JRE
menjalankan kode yang sudah dicompile untuk JVM dan melakukan class loading
(melalui class
loader), verifikasi kode (melalui bytecode verifier) dan akhirnya
eksekusi kode. Class loader bertanggung jawab untuk me-load semua
class-class untuk program Java. Selain itu juga menambahkan keamanan dengan
memisahkan namespace
untuk class-class dari sistem file lokal dengan yang di-import dari network sources.
Setelah me-load semua class-class, susunan memori dari executable
ditentukan. Ini menambahkan perlindungan terhadap akses yang tidak sah ke area
terbatas dari kode sejak memori ditentukan pada waktu runtime. Bytecode
verifier bertugas untuk menguji format dari fragment
kode dan memeriksa kodel ilegal dari fragment kode yang dapat melanggar hak
akses ke objek.
Tidak ada komentar:
Posting Komentar