2. Pendahuluan
• Java adalah bahasa pemrograman yang dibuat oleh James
Gosling.
• Sintaks Java mirip seperti C/C++, karena Java banyak
terinspirasi dari keuda bahasa ini.
• Java dirancang untuk tujuan umum (general-purpose) dan
sepenuhnya menganut paradigma OOP (Object Oriented
Programming).
• OOP adalah paradigma pemrograman yang berbasis pada
objek. Setiap kita membuat program, maka wajib hukumnya
membuat objek terlebih dahulu.
3. Pemrograman berorientasi objek (Inggris: object-oriented
programming disingkat OOP) merupakan paradigma
pemrograman berdasarkan konsep "objek", yang dapat berisi data, dalam
bentuk field atau dikenal juga sebagai atribut; serta kode, dalam bentuk
fungsi/prosedur atau dikenal juga sebagai method. Semua data dan fungsi
di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.
Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat
menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Class dan Object
Class bertugas untuk mengumpulkan prosedur/fungsi dan
Biasanya muncul pertanyaan, "Apakah JRE cukup?" Tidak, JRE
adalah Java Runtime Environment yang berfungsi sebagai Virtual
Machine untuk menjalankan program Java. Sedangkan JDK
merupakan Java SE Development Kit, di mana JRE juga terdapat di
dalamnya. Dan yang lebih penting adalah di dalamnya
terdapat compiler dan tools untuk membuat dan compile program.
4. Sejarah Java
• Proyek pengembangan Java dimulai pada tahun 1991 oleh
James Gosling, Mike Sherida, dan Patrick Naughton.
• Awalnya Java bernama Oak, nama ini diambil dari nama pohon
yang berada di dekat kantor James Gosling.
• Lalu namanya diubah menjadi Green.
• Pada akhirnya, diubah lagi menjadi Java.
5. Versi dan Perkembangan Java
VERSI Tanggal Rilis
JDK BETA 1995
JDK 1.0 January 23, 1996
JDK 1.1 February 19, 1997
J2SE 1.2 December 8, 1998
J2SE 1.3 May 8, 2000
J2SE 1.4 February 6, 2002
J2SE 5.0 September 30, 2004
Java SE 6 December 11, 2006
Java SE 7 July 28, 2011
Java SE 8 March 18, 2014
Java SE 9 September 21, 2017
Java SE 10 March 20, 2018
Java SE 11 September 25, 2018
VERSI Tanggal Rilis
Java SE 12 March 19, 2019
Java SE 13 September 17, 2019
Java SE 14 March 17, 2020
Java SE 15 September 15, 2020
6. Apa itu JDK, J2SE, Java SE, dan Java EE?
• JDK adalah singkatan dari Java Development Kit. JDK berisi tools, library, dan
API yang kita perlukan untuk membuat program dengan Java. Termasuk di
dalamnya juga ada JVM.
• Edisi JDK : Java SE (Standart Edition), Java EE (Enterprise Edition), dan Java
ME (Micro Edition).
• Java SE atau J2SE adalah Java yang digunakan untuk membuat aplikasi
standar seperti aplikasi desktop dan command line (CLI).
• Sedangkan Java EE adalah edisi enterprise yang digunakan untuk membuat
aplikasi enterprise seperti dalam Bank, Industri, dll. Namun, Java EE sekarang
sudah berubah nama menjadi Jakarta EE.
• Java ME adalah Java versi mungil yang digunakan untuk membuat aplikasi
mobile, micro controller, sensor, dll.
• HP Nokia sebelum adanya HP Android, di sana kebanyakan aplikasinya dibuat
dengan Java ME.
7. Kelebihan Java
• Sedangkan Java, bisa dipakai untuk membuat berbagai macam
aplikasi.
• Mau bikin aplikasi desktop.. ✅ bisa;
• Mau bikin aplikasi android.. ✅ bisa;
• Mau bikin aplikasi web.. ✅ bisa;
8. Java itu Cross-platform
• Cross-platform artinya bisa berjalan di atas platform yang berbeda beda.
• Java bisa digunakan di berbagai macam platform, bisa di Linux, Windows,
dan MacOS.
• Dengan begini, kita tidak perlu pusing untuk membuat binary untuk tiap-
tiap platform.
• Misalnya, untuk windows kita harus bikin .exe, Linux .deb atau .rpm, dan
Mac .dmg.
• Cukup dengan file jar saja, jika di platform tersebut sudah terinstal Java,
maka program tersebut akan langsung bisa dibuka.
9. Popularitas Java
• Berdasarkan TIOBE Programming Community Index, Java
adalah bahasa terpopuler dari tahun 2016–2018, dan beberapa
tahun di blakang.
10. Apa itu Pemrograman?
• Pemrograman adalah proses yang dilakukan untuk
membuat program komputer.
• Jadi, segala aktifitas yang kamu lakukan untuk kembuat
program disebut pemrograman atau programming.
• Biasanya aktivitas ini meliputi:
1.Analisis (analisis permasalahan);
2.Pembuatan Algoritma atau Solusi;
3.Coding (Implementasi algoritma ke dalam bahasa
pemrograman).
11. Pemerograman
• Banyak orang yang salah saat awal mulai belajar
pemrograman.
• Mereka mempelajari coding terlebih dahulu, tanpa tahu cara
menganalisis dan membuat algoritma.
• Padahal coding adalah tahap akhir dari pemrograman.
• Seperti katanya John Johnson:
“Pertama-tama, pecahkan dulu masalahnya, lalu buat kodenya”
12. Tools
• Sebelum berperang, kita harus siapkan senjatanya terlebih dahulu. Demikian
halnya dengan programming. Sebelum coding maka kita harus
memastikan tools apa yang akan kita pakai. Tools pertama yang terpenting
adalah Java Development Kit (JDK).
13. Java Development Kit (JDK)
• Java Development Kit adalah tools yang digunakan
seorang developer dalam proses developing, debugging,
dan monitoring suatu aplikasi Java. Di dalam JDK juga
terdapat Java Runtime Environment yang digunakan untuk
menjalankan suatu aplikasi Java.
14. Develop, Debug, dan Monitor
• Apa itu develop, debug dan monitor? Develop adalah proses penyusunan baris
per baris kode sampai menjadi satu aplikasi utuh yang memiliki suatu fungsi.
Tujuan akhir yang ingin dicapai akan mempengaruhi kompleksitas
proses development. Tak peduli betapa rumitnya proses development, kesalahan
mungkin terjadi. Kesalahan ini kita sebut sebagai bug, yakni eror yang dapat
membuat aplikasi kita tidak dapat berjalan seperti keinginan. Di sinilah muncul
istilah debug, yakni proses mencari dan menghilangkan eror tersebut di dalam
aplikasi untuk kemudian memperbaikinya. Dan terakhir, monitor adalah proses
untuk mengamati jalannya aplikasi dari yang kita buat. Biasanya ini berhubungan
dengan performa aplikasi dengan environment di mana ia dijalankan. Intinya, JDK
adalah tools wajib yang harus digunakan oleh seorang developer Java untuk
membuat suatu aplikasi dari nol hingga selesai.
•
15. Integrated Development Environment (IDE)
• IDE saat ini sudah menjadi tools wajib untuk memaksimalkan
produktivitas seorang developer dalam membuat suatu aplikasi.
Seperti perumpamaan sebelumnya, IDE adalah senjata developer.
Semakin canggih dan tingginya kita menguasai senjata tersebut,
semakin ampuh juga efeknya.
• Tools yang akan digunakan di dalam kelas ini adalah :
• OpenJDK, yakni free open source di bawah lisensi GNUGeneral
Public License.
• Intellij, adalah IDE untuk Java development yang dikembangkan
oleh JetBrains
16. Pengantar Java Dasar
Demi menaklukkan medan pemrograman dengan Java, kita perlu memahami terlebih dahulu seperti apakah Java itu. Bagaimana strukturnya?
Bagaimana menggunakan fungsi basic programming yang ia miliki? Oleh karena itu kita perlu tahu pemrograman dasar Java yang dikemas
dalam materi berikut:
Struktur Dasar
Ini adalah materi paling mendasar dari Java yang wajib Anda kuasai.
Tipe Data
Setiap tipe data digunakan untuk menampung konten yang berbeda. Delapan (8) tipe data dalam Java yang akan kita pelajari
adalah int, float, char, long, double, boolean, byte dan short.
String
Selain data primitif, string merupakan pokok dasar yang perlu Anda kuasai.
Operator
Operator meliputi operasi aritmatika dasar seperti penambahan, pengurangan, perkalian, dan pembagian. Selain aritmatika dasar, terdapat
juga operator-operator lain seperti assignment, unary, equality and relational, dan condition.
Fungsi Input Output
Proses input dan output merupakan hal yang penting agar kita dapat berinteraksi dengan program. Di sini kita akan belajar beberapa
komponen yang dapat menerima input dari user dan komponen yang dapat menampilkan data ke user.
Array
Array adalah kumpulan data yang dimasukkan ke dalam satu objek. Di materi ini kita akan belajar tentang pembuatan array dan aplikasinya di
dalam
17. • Ketika ingin mengeksekusi sebuah query MySql dengan Java, maka akan
ada 3 pilihan untuk melakukannya, yakni execute(), executeQuery(),
executeUpdate(). Lalu, apa perbedaannya ? Berikut perbedaannya :
• boolean execute(StringQuery) : menghasilkan boolean, bisa dipergunakan
untuk query apapun.
• ResultSet executeQuery(StringQuery) : menghasilkan ResultSet yang
biasanya berupa object. Biasa dipergunakan untuk mendapatkan hasil,
misal query select.
• int executeUpdate(StringQuery) : dipergunakan untuk mengeksekusi query
yang tidak menghasilkan apapun, misal INSERT, UPDATE, DELETE, atau
query yang menghasilkan DDL Statement
18. Implement vs Extends: Kapan di
gunakan? Apa Perbedaan nya?
• Inherintance (Pewarisan) adalah hubungan antara super class
(kelas induk) dengan sub classnya (kelas anak). Dimana super
class dapat mewariskan property dan method nya kepada
subclass nya.
• Inheritance di Java
menggunakan extends dan implement. extends digunakan
untuk mewariskan method dan property dari kelas induknya,
sedangkan implements digunakan untuk mewariskan interface.
19. • "implements is for implementing an interface”
• Sebuah class menggunakan keyword implement untuk
mengimplementasikan suatu interface kedalam suatu class.
• Interface adalah class yang hanya mengandung deklarasi
method tanpa memiliki implementasu dan semua properti yang
dimilikinya bersifat final.
20. public interface BelajarInterface {
public void doAction();
public String doThis(int number);
}
Lalu kita implement class “interface BelajarInterface” ke dalam class
"belajar”
public class belajar implements BelajarInterface{
public void doAction() {
//specify what must happen
}
public String doThis(int number) {
//specfiy what must happen
}
}
22. DTO adalah kependekan dari Obyek Transfer Data, sehingga digunakan untuk mentransfer data antara
kelas dan modul aplikasi Anda.
DTO hanya boleh berisi bidang pribadi untuk data, getter, setter, dan konstruktor Anda.
DTO tidak disarankan untuk menambahkan metode logika bisnis ke kelas-kelas tersebut, tetapi tidak
masalah untuk menambahkan beberapa metode util.
DAO adalah kependekan dari Obyek Akses Data, jadi itu harus merangkum logika untuk mengambil,
menyimpan dan memperbarui data dalam penyimpanan data Anda (database, sistem file, apa pun).
23. interface PersonDTO {
String getName();
void setName(String name); //..... }
interface PersonDAO {
PersonDTO findById(long id);
void save(PersonDTO person); //.....
}
Berikut adalah contoh tampilan antarmuka DAO
dan DTO: