Tutorial Dasar-dasar Belajar Pemrograman Java untuk Pemula – Untuk mempelajari pemrograman Java, lihat tutorial ini dalam urutan yang diberikan. Tutorial ini ditulis untuk pemula sehingga bahkan jika Anda tidak memiliki pengetahuan sebelumnya tentang Java, Anda tidak akan menghadapi kesulitan untuk memahami tutorial ini.
Tutorial Dasar-dasar Belajar Pemrograman Java untuk Pemula
Pengenalan Pemrograman Java
freeprogrammingresources – JAVA Diakuisisi oleh Oracle Corporation pada tahun 1991 dan dikembangkan oleh Sun Microsystems Inc. Dirancang oleh James Gosling dan Patrick Naughton. Ini adalah bahasa pemrograman yang sederhana. Menulis, mengkompilasi, dan men-debug program Java sangatlah mudah. Ini membantu untuk membuat program modular dan kode yang dapat digunakan kembali.
Terminologi java
Sebelum kita mulai belajar Java, mari kita kenali istilah-istilah umum java.
Java Virtual Machine (JVM)
Ini umumnya disebut sebagai JVM. Sebelum kita membahas tentang JVM mari kita lihat tahapan-tahapan eksekusi program. Tahapannya adalah sebagai berikut: kita menulis program, kemudian kita mengkompilasi program dan terakhir kita menjalankan program.
1) Penulisan program ini tentunya dilakukan oleh programmer java seperti anda dan saya.
2) Kompilasi program dilakukan oleh kompiler javac, javac adalah kompiler java utama yang disertakan dalam java development kit (JDK). Dibutuhkan program java sebagai input dan menghasilkan bytecode java sebagai output.
3) Pada fase ketiga, JVM mengeksekusi bytecode yang dihasilkan oleh compiler. Ini disebut fase menjalankan program.
Sekarang kita tahu bahwa beberapa fungsi utama dari JVM merupakan eksekusi bytecode yang dihasilkan oleh compiler. Setiap sistem operasi memiliki JVM sendiri, tetapi output yang dihasilkan setelah mengeksekusi bytecode adalah sama di semua sistem operasi. Itu sebabnya kami menyebut java sebagai bahasa platform independen.
bytecode
Seperti dijelaskan di atas, compiler javac JDK mengkompilasi kode sumber Java menjadi bytecode sehingga dapat dijalankan di JVM. Bytecode disimpan dalam file .class oleh compiler.
Java Development Kit(JDK)
Saat menjelaskan JVM dan bytecode, saya menggunakan istilah JDK. Mari kita bahas tentang itu. Seperti namanya, ini adalah kit pengembangan java lengkap yang mencakup JRE (Java Runtime Environment), kompiler dan berbagai alat seperti JavaDoc, Java debugger dll.
Untuk membuat, mengkompilasi, dan menjalankan program Java, Anda perlu menginstal JDK di komputer Anda.
Java Runtime Environment(JRE)
JRE adalah bagian dari JDK yang berarti JDK termasuk JRE. Ketika Anda telah menginstal JRE pada sistem Anda, Anda dapat menjalankan program java namun Anda tidak akan dapat mengompilasinya. JRE menyertakan JVM, plugin browser, dan dukungan applet. Ketika Anda hanya perlu menjalankan program java di komputer Anda, Anda hanya perlu JRE.
Fitur Utama JAVA
Java adalah bahasa platform independen. Kompilator (javac) mengubah kode sumber (file .java) menjadi kode byte (file .class). Seperti disebutkan di atas, JVM mengeksekusi bytecode yang dihasilkan oleh compiler. Bytecode ini dapat berjalan pada platform apapun seperti Windows, Linux, Mac OS, dll. Ini berarti program yang dikompilasi di Windows dapat berjalan di Linux dan sebaliknya. Setiap sistem operasi memiliki JVM sendiri, tetapi output yang dihasilkan setelah mengeksekusi bytecode adalah sama di semua sistem operasi. Inilah mengapa kami menyebut Java sebagai bahasa platform independen.
Java adalah bahasa Berorientasi Objek
Pemrograman berorientasi objek adalah cara mengatur program sebagai kumpulan objek, yang masing-masing mewakili turunan dari kelas.
Baca Juga : 10 Programming Tools untuk Pengembangan Game Android
4 konsep utama pemrograman Berorientasi Objek adalah:
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
Sederhana
Java dianggap sebagai salah satu bahasa yang sederhana karena tidak memiliki fitur yang kompleks seperti Operator overloading, Multiple inheritance , pointer dan alokasi memori Explicit.
Bahasa yang Kuat
Kuat berarti dapat diandalkan. Bahasa pemrograman Java dirancang dengan penekanan pada pengecekan kesalahan secara dini, sehingga compiler Java dapat mendeteksi kesalahan yang tidak mudah ditemukan pada bahasa pemrograman lain. Fitur utama java yang membuatnya kuat adalah pengumpulan sampah, Penanganan Pengecualian, dan alokasi memori.
Aman
Kami tidak memiliki pointer dan kami tidak dapat mengakses array terikat (Anda mendapatkan ArrayIndexOutOfBoundsException jika Anda mencoba melakukannya) di Java. Inilah sebabnya mengapa beberapa kelemahan keamanan, seperti kerusakan tumpukan atau buffer overflows, tidak dapat dieksploitasi di Java.
Java terdistribusi
Dengan menggunakan bahasa pemrograman java kita dapat membuat aplikasi terdistribusi. Remote Method Invocation (RMI) dan Enterprise Java Beans (EJB) dipergunakan untuk membuat aplikasi terdistribusi di Java. Dengan kata sederhana: Program java dapat didistribusikan di lebih dari satu sistem yang terhubung satu sama lain menggunakan koneksi internet. Objek pada satu JVM (mesin virtual java) dapat menjalankan prosedur pada JVM jarak jauh.
Multithreading
Java mendukung multithreading . Multithreading adalah fitur Java yang memungkinkan eksekusi bersamaan dari dua atau lebih bagian program untuk pemanfaatan CPU secara maksimal.
portabel
Seperti dibahas di atas, kode java yang ditulis di satu mesin dapat berjalan di mesin lain. Kode byte platform independen dapat dibawa ke platform apa pun untuk dieksekusi yang membuat kode java portabel.
Java Virtual Machine (JVM), Perbedaan JDK, JRE & JVM – Inti Java
Java merupakan bahasa pemrograman tingkat tinggi. Program yang ditulis dalam bahasa tingkat tinggi tidak bisa berjalan langsung di mesin mana pun. Pertama, itu perlu diterjemahkan ke dalam bahasa mesin tertentu. Kompiler javac melakukan hal ini, dibutuhkan program java (file .java yang berisi kode sumber) dan menerjemahkannya ke dalam kode mesin (disebut sebagai kode byte atau file .class).
Java Virtual Machine (JVM) adalah mesin virtual yang berada di mesin nyata (komputer Anda) dan bahasa mesin untuk JVM adalah kode byte . Ini memudahkan kompiler karena harus menghasilkan kode byte untuk JVM daripada kode mesin yang berbeda untuk setiap jenis mesin. JVM mengeksekusi kode byte yang dihasilkan oleh compiler dan menghasilkan output. JVM adalah salah satu yang membuat platform java independen .
Jadi, sekarang kita mengerti bahwa fungsi utama JVM adalah mengeksekusi kode byte yang dihasilkan oleh compiler. Setiap sistem operasi mepunyai JVM yang berbeda, namun output yang dihasilkan setelah eksekusi kode byte sama di semua sistem operasi. Artinya, kode byte yang dihasilkan di Windows dapat dijalankan di Mac OS dan sebaliknya. Itu sebabnya kami menyebut java sebagai bahasa platform independen. Hal yang sama dapat dilihat pada diagram di bawah ini:
Jadi untuk meringkas semuanya: Mesin Java Virtual (JVM) adalah mesin virtual yang berjalan pada mesin yang sebenarnya (komputer Anda) dan mengeksekusi kode byte Java. JVM tidak memahami kode sumber Java, oleh karena itu kita perlu memiliki kompiler javac yang mengkompilasi file *.java untuk mendapatkan file *.class yang berisi kode byte yang dipahami oleh JVM. JVM membuat java portabel (tulis sekali, jalankan di mana saja). Setiap sistem operasi memiliki JVM yang berbeda, namun output yang dihasilkan setelah eksekusi kode byte sama di semua sistem operasi.
Arsitektur JVM
Mari kita lihat bagaimana JVM bekerja :
Class Loader: Class loader membaca file .class dan menyimpan kode byte di area metode .
Area Metode : Hanya ada satu area metode dalam JVM yang dibagikan di antara semua kelas. Ini menyimpan informasi tingkat kelas dari setiap file .class.
Heap : Heap merupakan bagian dari memori JVM dimana objek dialokasikan. JVM membuat objek Kelas untuk setiap file .class.
Stack : Stack juga merupakan bagian dari memori JVM tetapi tidak seperti Heap, ini dipergunakan untuk menyimpan variabel sementara.
Register PC : Ini melacak instruksi mana yang telah dieksekusi dan mana yang akan dieksekusi. Karena instruksi dieksekusi oleh utas, setiap utas memiliki register PC yang terpisah.
Tumpukan Metode Asli: Metode asli dapat mengakses area data runtime dari mesin virtual.
Antarmuka Metode Asli : Ini memungkinkan kode java untuk memanggil atau dipanggil oleh aplikasi asli. Aplikasi asli adalah program yang khusus untuk perangkat keras dan OS suatu sistem.
Pengumpulan sampah : Sebuah instance kelas secara eksplisit dibuat oleh kode java dan setelah digunakan secara otomatis dihancurkan oleh pengumpulan sampah untuk manajemen memori.
JVM Vs JRE Vs JDK
JRE: JRE adalah lingkungan di mana mesin virtual java berjalan. JRE berisi Java virtual Machine (JVM), perpustakaan kelas, dan file lain tidak termasuk alat pengembangan seperti compiler dan debugger.
Yang berarti Anda dapat menjalankan kode di JRE tetapi Anda tidak dapat mengembangkan dan mengkompilasi kode di JRE.
JVM: Seperti yang telah kita bahas di atas, JVM menjalankan program dengan menggunakan class, library, dan file yang disediakan oleh JRE.
JDK: JDK adalah superset dari JRE, berisi semua yang dimiliki JRE bersama dengan alat pengembangan seperti kompiler, debugger, dll.
Variabel di Java
Variabel adalah nama yang dikaitkan dengan nilai yang dapat diubah. Misalnya ketika saya menulis (int i=10);di sini nama variabel adalah i yang dikaitkan dengan nilai 10, int adalah tipe data yang menyatakan bahwa variabel ini dapat menampung nilai integer. Kami akan membahas tipe data di tutorial berikutnya. Dalam tutorial ini, kita akan membahas tentang variabel.
Cara Mendeklarasikan variabel di Java
Untuk mendeklarasikan variabel ikuti sintaks ini: data_type variabel_name = nilai ; di sini nilai adalah opsional karena di java, Anda dapat mendeklarasikan variabel terlebih dahulu dan kemudian menetapkan nilainya.
Sebagai contoh: Di sini num adalah variabel dan int adalah tipe data. Kita akan membahas tipe data di tutorial berikutnya jadi jangan terlalu khawatir tentang hal itu, cukup pahami bahwa inttipe data memungkinkan variabel num ini untuk menyimpan nilai integer. Anda dapat membaca tipe data di sini, tetapi saya sarankan Anda untuk menyelesaikan membaca panduan ini sebelum melanjutkan ke yang berikutnya.
int nomor ; Demikian pula kita dapat menetapkan nilai ke variabel sambil mendeklarasikannya, seperti ini: char ch = ‘A’ ; int bilangan = 100 ; atau kita bisa melakukannya seperti ini: karakter ; _ int nomor ; … / ch = ‘A’ ; / bilangan = 100 ;
Konvensi penamaan variabel di java
1) Penamaan variabel tidak boleh mengandung spasi, contoh: int num ber = 100; tidak valid karena nama variabel memiliki spasi di dalamnya.
2) Nama variabel dapat dimulai dengan karakter khusus seperti $ dan _
3) Sesuai standar pengkodean java, nama variabel harus dimulai dengan huruf kecil, misalnya nomor int; Untuk nama variabel panjang yang memiliki lebih dari satu kata lakukan seperti ini: int smallNumber; int angka besar; (mulai kata kedua dengan huruf kapital).
4) Nama variabel peka huruf besar/kecil di java.
Jenis Variabel di Java
Ada tiga jenis variabel di Java.
1) Variabel lokal 2) Variabel statis (atau kelas) 3) Variabel instan
Variabel Statis (atau kelas)
Variabel statis juga dikenal sebagai variabel kelas karena mereka terkait dengan kelas dan umum untuk semua instance kelas. Sebagai contoh, jika saya membuat tiga objek kelas dan mengakses variabel statis ini, itu akan menjadi umum untuk semua, perubahan yang dilakukan pada variabel menggunakan salah satu objek akan tercermin ketika Anda mengaksesnya melalui objek lain.
Variabel instan
Setiap instance (objek) kelas memiliki salinan variabel instance sendiri. Tidak seperti variabel statis, variabel instan memiliki salinan terpisah dari variabel instan. Kami telah mengubah nilai variabel instan menggunakan objek obj2 dalam program berikut dan ketika kami menampilkan variabel menggunakan ketiga objek, hanya nilai obj2 yang diubah, yang lain tetap tidak berubah. Ini menunjukkan bahwa mereka memiliki salinan variabel instan mereka sendiri.
Variabel Lokal
Variabel-variabel ini dideklarasikan di dalam metode kelas. Cakupannya terbatas pada metode yang berarti Anda tidak dapat mengubah nilainya dan mengaksesnya di luar metode.
Dalam contoh ini, saya telah mendeklarasikan variabel instan dengan nama yang sama dengan variabel lokal, ini untuk menunjukkan ruang lingkup variabel lokal.