Jumat, 23 Januari 2015

JAVA



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