Dokumentasi Java
Referensi Java yang ringkas dan penuh contoh. Baca konsepnya, lihat kodenya, lalu praktikkan di perjalanan Coddy.
Mulai kursusMemulai
- Apa Itu JavaJava sebenarnya itu apa, bagaimana JVM membuat satu program yang sudah di-compile bisa berjalan di mana saja, dan jenis software yang dibangun dengan Java.
- Install JavaCara menginstal Java Development Kit (JDK), memilih versi dan vendor, lalu memastikan java dan javac berjalan dari command line.
- Menjalankan JavaSiklus dua langkah, compile lalu jalankan, di balik setiap program Java: ubah source .java menjadi bytecode dengan javac, lalu jalankan file .class dengan java.
- Sintaks JavaBentuk sebuah program Java: method `main`, pernyataan dan titik koma, blok dan kurung kurawal, serta aturan yang ditegakkan compiler sebelum kodemu berjalan.
- KomentarCara menulis komentar di Java, yaitu komentar satu baris //, blok banyak baris /* */, dan komentar dokumentasi Javadoc /** */, beserta kapan memakai masing-masing dan apa yang perlu dihindari.
Variabel & Tipe
- VariabelCara kerja variabel di Java: mendeklarasikan dengan tipe, mengisi nilai, aturan penamaan, kata kunci var, konstanta dengan final, dan aturan scope yang menentukan di mana sebuah variabel hidup.
- Tipe DataPenjelasan tipe data di Java: delapan tipe primitif, tipe referensi, nilai default, literal dan sufiksnya, overflow, dan kapan memakai tipe numerik yang mana.
- StringCara kerja string di Java: membuatnya, menggabungkannya dengan +, kenapa string bersifat immutable, membandingkannya dengan equals, dan method String sehari-hari seperti length, substring, dan replace.
- String FormatCara memformat string di Java dengan String.format dan printf: format specifier untuk angka, padding, angka desimal, serta text block dan method formatted.
- OperatorCara kerja operator di Java: aritmatika, perbandingan, logika, penugasan, increment, dan operator ternary, ditambah pembagian bilangan bulat, prioritas operator, dan jebakan yang sering menjebak pemula.
- Type CastingCara Java mengonversi antar tipe: widening otomatis, cast narrowing eksplisit, data yang hilang saat narrowing, dan konversi antara angka dan string.
- Class MathCara memakai class Math di Java: Math.pow, Math.sqrt, Math.abs, Math.max dan Math.min, pembulatan dengan round, floor, dan ceil, membuat angka acak dalam rentang tertentu dengan Math.random, serta konstanta PI dan E, lengkap dengan tipe return masing-masing.
Alur Kontrol
- if-elseCara mengambil keputusan di Java dengan if, else if, dan else: kondisi boolean, rangkaian cabang, percabangan bersarang, operator ternary, dan kesalahan umum yang sering menjebak.
- switchPenjelasan pernyataan switch di Java: label case, break dan fall-through, cabang default, mengelompokkan case, bentuk arrow modern, dan switch expression.
- for LoopPenjelasan for loop di Java: loop klasik tiga bagian, perulangan pada array dan list, nested loop, break dan continue, serta enhanced for-each.
- while LoopPenjelasan while loop di Java: while yang mengecek kondisi lebih dulu, do-while yang berjalan minimal sekali, membaca input sampai nilai sentinel, break dan continue, dan cara menghindari infinite loop.
- for-each LoopPenjelasan for-each loop (enhanced for) di Java: iterasi yang rapi pada array dan collection, kapan memakainya, dan jebakan mengubah collection yang sering menjebak semua orang.
Array & Koleksi
- ArrayCara kerja array di Java: panjangnya tetap, cara mendeklarasikan dan menginisialisasinya, index, length, perulangan, array multidimensi, dan class pembantu Arrays.
- ArrayListCara memakai ArrayList di Java, list yang ukurannya bisa berubah dan biasa dipakai sebagai pengganti array biasa: add, get, remove, size, perulangan, dan pengurutan.
- HashMapCara memakai HashMap di Java untuk pencarian key-value: put, get, getOrDefault, containsKey, iterasi entry, dan pola-pola yang paling sering dipakai.
- HashSetCara memakai HashSet di Java untuk kumpulan nilai unik: add, contains, remove, menghapus duplikat dari list, dan menggabungkan set dengan union, intersection, dan difference.
- Iterasi CollectionBerbagai cara menelusuri collection di Java, yaitu for-each loop, Iterator, loop dengan index, dan method forEach, serta cara menghapus elemen dengan aman saat iterasi.
Method
- MethodApa itu method di Java, cara mendeklarasikan dan memanggilnya, nilai kembalian vs void, method main yang static, dan bagaimana method membuat kode rapi dan bisa dipakai ulang.
- Parameter MethodCara kerja parameter method di Java: mengirim argumen, perbedaan parameter dan argumen, aturan pass-by-value di Java, dan mengembalikan nilai.
- Method OverloadingCara method overloading di Java membuat beberapa method memakai nama yang sama tetapi menerima parameter berbeda, cara compiler memilih overload, dan jebakan ambiguitas yang perlu dihindari.
- VarargsCara varargs (...) di Java membuat method menerima argumen berapa pun jumlahnya, bagaimana varargs menjadi array, aturan satu varargs di akhir, serta jebakan panggilan kosong dan ambiguitas.
Class & Objek
- ClassApa itu class di Java, cara mendefinisikan field dan method, membuat objek dengan new, peran this, dan kenapa state instance disimpan di objek.
- ConstructorCara kerja constructor di Java: default constructor, constructor berparameter, this, constructor overloading, dan chaining dengan this() serta super().
- InheritanceCara subclass Java mewarisi field dan method dengan extends, memanggil parent lewat super, dan meng-override perilaku, beserta jebakan yang umum.
- InterfaceApa itu interface di Java, cara mendefinisikan dan mengimplementasikannya, default method dan static method, serta perbedaan interface dengan abstract class.
- Abstract ClassApa itu abstract class di Java, cara mendeklarasikan abstract method, kenapa kamu tidak bisa membuat instance-nya, dan kapan memilih abstract class daripada interface.
- PolimorfismeCara polimorfisme di Java membuat satu variabel bisa merujuk ke banyak tipe, kenapa method yang di-override dipilih saat runtime, dan cara memakai upcasting, downcasting, dan instanceof dengan aman.
- Access ModifierCara empat level akses di Java, yaitu public, private, protected, dan package-private, mengatur apa yang boleh dilihat dan diubah oleh kode lain.
- Member StaticApa yang dilakukan kata kunci static di Java, bagaimana field dan method static menjadi milik class alih-alih objek, dan kapan memakai blok static dan konstanta.
- EnumApa itu enum di Java, cara mendeklarasikannya, menambahkan field dan method, memakainya di switch, dan kenapa enum lebih baik daripada setumpuk konstanta int atau String.
Generic & Fungsional
- GenericsApa itu generics di Java, cara menulis generic class dan generic method, bounded type parameter, wildcard, dan kenapa type erasure itu penting.
- Lambda ExpressionApa itu lambda expression di Java, sintaks panahnya, cara lambda mengimplementasikan functional interface, method reference, dan menangkap variabel.
- StreamCara mengolah collection dengan Stream API Java, yaitu filter, map, sorted, collect, count, dan reduce, untuk membangun pipeline yang mudah dibaca sebagai pengganti loop manual.
- OptionalApa itu java.util.Optional, cara membuatnya, dan cara membaca nilainya dengan aman lewat map, filter, orElse, dan ifPresent sebagai pengganti pengecekan null.
Error & Debugging
- ExceptionApa itu exception di Java, cara membaca stack trace, perbedaan checked dan unchecked, hierarki exception, dan cara melempar exception buatanmu sendiri.
- try-catchCara memakai try-catch di Java untuk menangani exception: menangkap tipe yang spesifik, blok finally, try-with-resources, dan kesalahan yang menyembunyikan bug.
- NullPointerExceptionArti sebenarnya NullPointerException di Java, cara-cara umum memicunya, cara membaca pesannya, dan pola yang mencegahnya.