1
KATA PENGANTAR
KATA PENGANTAR 2
DAFTAR GAMBAR 3
I BAGIAN TEORI 4
1 Tinjauan Umum 4
1.a Struktur 5
1b Aturan Standar Nama Kelas 6
2 Definisi Kelas 7
3 Objek 7
4 Objek berganda 8
5 Menggunakan Banyak Kelas 8
6 Metode Kelas Java 9
7 Static vs. Non-Static 10
8 Metode Akses Dengan Objek 11
9 Menggunakan Banyak Kelas 12
10 Kontruktor Java 13
11 Modifiers / Pengubah 14
11.a Pengubah Akses / Access Modifiers 14
11.b Non-Access Modifiers 15
12 Java Encapsulation 18
13 Java Packages & API 21
14 Java Inheritance (Subclass and Superclass) 23
15 Java Polymorphism / Polimorfis Java 24
16 Java Inner Classes 26
16.a Private Inner Class 27
16.b Static Inner Class 28
16.c Akses Outer Class dari Inner Class 29
17 Abstraksi Java 30
18 Interfaces 32
19 Enums 34
20 Java User Input 35
21 Java Dates / Tanggal 37
22 Metode Java 40
23 Parameters dan Arguments Metode 42
24 Method Overloading 46
25 Java Scope 48
26 Rekursi Java 49
II BAGIAN PRAKTIKUM 52
TUGAS 1 : SETUP GITLAB 53
1 Persiapan Proyek 53
2 Buat Akses Token Personal 54
TUGAS 2 : BUAT PROYEK KELAS 55
KATA PENTING 56
DAFTAR PUSTAKA 57
2
3
DAFTAR GAMBAR
4
I. TEORI
Objektif
❖ Mengikuti arahan untuk membaca seluruh halaman pelajaran
❖ Mengetahui standar pemrograman bahasa Java
❖ Mampu memahami tipe token yang digunakan dalam bahasa Java
❖ Mampu mengenali pola pemrograman bahasa Java dengan baik
1. Tinjauan Umum
1.a Struktur
5
d) Area definisi metode, kontruktor , karakteristiknya ditulis disini termasuk
parameternya
e) Area isi kode program metode
Berbagai token dalam kode Anda (variabel, kelas, fungsi, namespace , dll.) Dapat
diberi nama menggunakan salah satu dari tiga gaya ini, secara umum:
Dalam Camel Case / huruf Camel, nama dimulai dengan huruf kecil tetapi setiap
kata yang tepat dalam nama dikapitalisasi dan begitu juga dengan akronim.
Misalnya, token yang umum digunakan dalam banyak bahasa seperti toString,
checkValidity, lineHeight, timestampToLocalDateTime, dll. Semuanya adalah
contoh Camel Case.
Pascal Case/ Huruf Pascal mirip dengan casing unta kecuali huruf pertama juga
dimulai dengan huruf kapital (SomeClass bukan someClass).
Dalam casing garis bawah, semuanya menggunakan huruf kecil (bahkan akronim)
dan kata-kata dipisahkan oleh garis bawah (some_class, some_func, some_var, dll).
Konvensi ini juga dikenal dengan kasus ular.
Di mata pelajaran ini, kita sepakati untuk menerapkan format huruf Pascal /
Pascal Case dan Bahasa Java adalah strong type, dengan demikian setiap nilai
token harus menpunyai format huruf yang sama dan memperhatikan format
text yang terlarang (silahkan merujuk pada kuliah sebelumnya)
6
2. Definisi Kelas
Kelas dan objek adalah dua aspek utama dari pemrograman berorientasi objek.
Segala sesuatu di Java dikaitkan dengan kelas dan objek, bersama dengan atribut
dan metodenya. Misalnya: dalam kehidupan nyata, mobil adalah benda. Mobil
memiliki atribut, seperti bobot dan warna, serta metode, seperti penggerak dan rem.
Kelas seperti konstruktor objek, atau "cetak biru" untuk membuat objek. Membuat
Kelas Untuk membuat kelas, gunakan kata kunci class (buat file selalu dibawah
folder src dan save dengan format extension .java, agar syntaxhighlighter
akan membantu menyelesaikan token yang ada sehingga lebih cepat)
:
MyClass.java
Buat kelas publik dengan nama "MyClass", deklarasikan variable x:
public class MyClass {
int x = 5;
}
3. Objek
kita bisa menggunakan ini untuk membuat objek. Untuk membuat objek MyClass,
tentukan nama kelas, diikuti dengan nama objek, dan gunakan kata kunci baru:
7
}
/* metode ini harus ada, apabila kelas hendak dijalankan (dengan tekan tombol
F5 dieditor kelas ini aktif */
}
4. Objek berganda
Anda juga dapat membuat objek kelas dan mengaksesnya di kelas lain. Ini sering
digunakan untuk organisasi kelas yang lebih baik (satu kelas memiliki semua atribut
dan metode, sedangkan kelas lainnya memegang metode main () (kode yang akan
dieksekusi)). Ingatlah bahwa nama file java harus sesuai dengan nama kelas. Dalam
contoh ini, kami telah membuat dua file yang sama directory/folder:
MyClass.java
OtherClass.java
MyClass.java
8
public class MyClass {
int x = 5;
/*
public static void main(String[] args) {
MyClass myObj1 = new MyClass(); // Object 1
MyClass myObj2 = new MyClass(); // Object 2
System.out.println(myObj1.x);
System.out.println(myObj2.x);
*/
}
OtherClass.java
class OtherClass {
public static void main(String[] args) {
MyClass myObj = new MyClass();
System.out.println(myObj.x);
}
}
Anda telah belajar dari bab Metode Java bahwa metode dideklarasikan di dalam
kelas, dan metode tersebut digunakan untuk melakukan tindakan tertentu:
Contoh
Buat metode bernama myMethod() di MyClass:
public class MyClass {
static void myMethod() {
System.out.println("Hello World!");
}
}
9
myMethod() mencetak teks (tindakan), saat dipanggil. Untuk memanggil metode,
tulis nama metode diikuti dengan dua tanda kurung () dan titik koma;
myMethod() mencetak teks (tindakan), saat dipanggil. Untuk memanggil metode,
tulis nama metode diikuti dengan dua tanda kurung () dan titik koma;
Anda akan sering melihat program Java yang memiliki atribut dan metode statis
atau publik. Pada contoh di bawah, kami membuat metode statis, yang artinya dapat
diakses tanpa membuat objek kelas, tidak seperti publik, yang hanya dapat diakses
oleh objek:
// metode publik
public void myPublicMethod() {
System.out.println("Public methods must be called by creating objects");
}
// metode main/utama
public static void main(String[] args) {
myStaticMethod(); // Panggil metode statis
// myPublicMethod(); Ini akan mengkompilasi kesalahan
10
}
Buat objek Mobil bernama myCar. Panggil metode fullThrottle () dan speed () pada
objek myCar, dan jalankan program:
// Beat kelas Car
public class Car {
11
Penjelasan
a) Kami membuat kelas Mobil khusus dengan keyword Class.
b) Kami membuat metode fullThrottle() dan speed() di kelas Car.
c) Metode fullThrottle() dan metode speed() akan mencetak beberapa teks,
saat dipanggil.
d) Metode speed() menerima parameter int yang disebut maxSpeed - kita
akan menggunakan ini di 8).
e) Untuk menggunakan class Car dan metodenya, kita perlu membuat objek
Car Class.
f) Kemudian, pergi ke metode main(), yang Anda tahu sekarang adalah
metode Java bawaan yang menjalankan program Anda (kode apa pun di
dalam main dijalankan).
g) Dengan menggunakan keyword New kami membuat objek Mobil dengan
nama myCar.
h) Kemudian, kita memanggil metode fullThrottle() dan speed() pada objek
myCar, dan menjalankan program menggunakan nama objek (myCar),
diikuti dengan titik (.), diikuti dengan nama metode ( fullThrottle(); dan
speed (200);). Perhatikan bahwa kita menambahkan parameter int 200 di
dalam metode speed().
Seperti yang kami tentukan di bab Classes, merupakan praktik yang baik untuk
membuat objek dari kelas dan mengaksesnya di kelas lain. Ingatlah bahwa nama
file java harus sesuai dengan nama kelas. Dalam contoh ini, kami telah membuat
dua file di direktori yang sama:
Car.java
OtherClass.java
Car.java
12
public class Car {
public void fullThrottle() {
System.out.println("The car is going as fast as it can!");
}
OtherClass.java
class OtherClass {
public static void main(String[] args) {
Car myCar = new Car(); // Create a myCar object
myCar.fullThrottle(); // Call the fullThrottle() method
myCar.speed(200); // Call the speed() method
}
}
10 Kontruktor Java
13
}
// Outputs 5
11 Modifiers / Pengubah
Sekarang, Anda sudah cukup familiar dengan kata kunci publik yang muncul di
hampir semua contoh kami:
Untuk kelas secara standar , Anda dapat menggunakan public atau default :
Modifier Penjelasan
public Kelas dapat diakses oleh kelas lain
14
default Kelas hanya dapat diakses oleh kelas dalam paket yang sama. Ini
digunakan ketika Anda tidak menentukan modifier.
For attributes, methods and constructors, you can use the one of the following:
Modifier Penjelasan
public Kode dapat diakses untuk semua kelas
private Kode hanya dapat diakses di dalam kelas yang dideklarasikan
default Kode hanya dapat diakses dalam paket yang sama. Ini digunakan
ketika Anda tidak menentukan pengubah. Anda akan mempelajari
lebih lanjut
protected Kode dapat diakses dalam paket dan subclass yang sama. Anda
akan mempelajari lebih lanjut tentang subclass dan superclass
Untuk atribut dan metode, Anda dapat menggunakan salah satu dari berikut ini:
Modifier Penjelasan
final Atribut dan metode tidak dapat diganti / diubah
static Atribut dan metode menjadi milik kelas, bukan objek
abstract Hanya dapat digunakan di kelas abstrak, dan hanya dapat
digunakan pada metode. Metode tersebut tidak memiliki badan
15
isi, misalnya abstrak void run() ;. Tubuh disediakan oleh subclass
(diwarisi dari). Anda akan mempelajari lebih lanjut tentang
pewarisan dan abstraksi di bab Warisan dan Abstraksi
transient Atribut dan metode dilewati saat membuat serial objek yang
memuatnya
synchronized Metode hanya dapat diakses oleh satu utas/ thread dalam satu
waktu
volatile Nilai atribut tidak di-cache thread-secara lokal, dan selalu dibaca
dari "memori utama"
final , jika Anda tidak ingin kemampuan untuk mengganti nilai atribut yang ada,
nyatakan atribut sebagai final:
Contoh :
static , Metode static artinya dapat diakses tanpa membuat objek kelas, tidak seperti
public:
Contoh untuk menunjukkan perbedaan antara metode statis dan publik:
public class MyClass {
// metode static
16
static void myStaticMethod() {
System.out.println("Static methods can be called without creating objects");
}
// Public method
public void myPublicMethod() {
System.out.println("Metode statis dapat dipanggil tanpa membuat objek ");
}
// Metode utama
public static void main(String[ ] args) {
myStaticMethod(); // panggil metode static
// myPublicMethod(); This would output an error
Abstract, Metode abstrak milik kelas abstract, dan tidak memiliki badan/isi. Badan
disediakan oleh subclass:
Contoh
// sourcecode file dengan nama: Person.java
// kelas abstract
abstract class Person { // default public diganti dengan kata abstract
public String fname = "John";
public int age = 24;
public abstract void study(); // metode abstrak
}
17
System.out.println("Studying all day long");
}
}
// Akhiri kode dari nama file: Person.java
Encapsulation / Enkapsulasi
Arti dari Enkapsulasi, adalah untuk memastikan bahwa data "sensitif"
disembunyikan dari pengguna. Untuk mencapai ini, Anda harus:
▪ mendeklarasikan variabel / atribut kelas sebagai pribadi
▪ menyediakan metode publik dan setel untuk mengakses dan memperbarui
nilai private variable
18
Metode get mengembalikan nilai variabel, dan metode set menetapkan nilainya.
Sintaks untuk keduanya adalah bahwa keduanya dimulai dengan get atau set, diikuti
dengan nama variabel, dengan huruf pertama dalam huruf besar:
Contoh
public class Person {
private String name; // private = restricted access
// Getter
public String getName() {
return name;
}
// Setter
public void setName(String newName) {
this.name = newName;
}
}
Penjelasan Contoh
Metode get mengembalikan nilai nama variabel.
Metode set mengambil parameter (newName) dan menugaskannya ke variabel
nama. Kata kunci ini digunakan untuk merujuk ke objek saat ini.
Namun, karena variabel nama dideklarasikan sebagai pribadi, kita tidak dapat
mengaksesnya dari luar kelas ini:
Contoh
19
If the variable was declared as public, we would expect the following output: John
// Hasil "John"
20
▪ Peningkatan keamanan data
Sebuah paket di Java digunakan untuk mengelompokkan kelas terkait. Anggap saja
sebagai folder di direktori file. Kami menggunakan paket untuk menghindari
konflik nama, dan untuk menulis kode yang lebih mudah dirawat. Paket dibagi
menjadi dua kategori:
Java API adalah pustaka kelas yang telah ditulis sebelumnya, yang gratis untuk
digunakan, termasuk dalam Java Development Environment.
Perpustakaan dibagi menjadi paket dan kelas. Artinya Anda dapat mengimpor satu
kelas (bersama dengan metode dan atributnya), atau seluruh paket yang berisi
semua kelas yang termasuk dalam paket yang ditentukan.
Untuk menggunakan kelas atau paket dari perpustakaan, Anda perlu menggunakan
kata kunci import:
Sintak
21
Import a Class
Jika Anda menemukan class yang ingin Anda gunakan, misalnya class Scanner,
yang digunakan untuk mendapatkan input pengguna, tulis kode berikut:
Contoh :
import java.util.Scanner;
Pada contoh di atas, java.util adalah sebuah paket, sedangkan Scanner adalah kelas
dari paket java.util.
Untuk menggunakan kelas Scanner, buat objek dari kelas tersebut dan gunakan
salah satu metode yang tersedia yang ditemukan dalam dokumentasi kelas Scanner.
Dalam contoh kami, kami akan menggunakan metode nextLine(), yang digunakan
untuk membaca baris lengkap:
Contoh :
class MyClass {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
System.out.println("Enter username");
22
To import a whole package, end the sentence with an asterisk sign (*). The
following example will import ALL the classes in the java.util package:
Contoh
import java.util.*;
Untuk membuat paket Anda sendiri, Anda perlu memahami bahwa Java
menggunakan direktori sistem file untuk menyimpannya. Sama seperti folder di
komputer Anda:
Contoh
└── root
└── mypack
└── MyPackageClass.java
Di Java, dimungkinkan untuk mewarisi atribut dan metode dari satu kelas ke kelas
lainnya. Kami mengelompokkan "konsep warisan" menjadi dua kategori:
subclass (child) - kelas yang diwarisi dari kelas lain
superclass (parent) - kelas yang diwarisi
Untuk mewarisi dari kelas, gunakan kata kunci extends.
Dalam contoh di bawah ini, class Car (subclass) mewarisi atribut dan metode dari
kelas Vehicle (superclass):
Contoh :
class Vehicle {
protected String brand = "Ford"; // attribut Vehicle
public void honk() { // method Vehicle
System.out.println("Tuut, tuut!");
}
}
23
class Car extends Vehicle {
private String modelName = "Mustang"; // atribut Car
public static void main(String[] args) {
Polimorfisme berarti "banyak bentuk", dan itu terjadi ketika kita memiliki banyak
kelas yang terkait satu sama lain melalui pewarisan.
24
Seperti yang kami tentukan di bab sebelumnya; Pewarisan memungkinkan kita
mewarisi atribut dan metode dari kelas lain. Polimorfisme menggunakan metode
tersebut untuk melakukan tugas yang berbeda. Ini memungkinkan kami untuk
melakukan satu tindakan dengan cara yang berbeda.
Misalnya, bayangkan superclass yang disebut Animal yang memiliki metode yang
disebut animalSound (). Subkelas Hewan dapat berupa Babi, Kucing, Anjing,
Burung - Dan mereka juga memiliki implementasi suara hewan sendiri (suara babi,
kucing mengeong, dll.):
Contoh
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
Ingat dari bab Inheritance bahwa kita menggunakan kata kunci extends untuk
mewarisi dari kelas.
25
Sekarang kita bisa membuat objek Pig dan Dog dan memanggil metode
animalSound () pada keduanya:
Contoh
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class MyMainClass {
public static void main(String[] args) {
Animal myAnimal = new Animal(); // Create a Animal object
Animal myPig = new Pig(); // Create a Pig object
Animal myDog = new Dog(); // Create a Dog object
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
}
}
26
16. Java Inner Classes
In Java, it is also possible to nest classes (a class within a class). The purpose of nested
classes is to group classes that belong together, which makes your code more readable
and maintainable.
To access the inner class, create an object of the outer class, and then create an object of
the inner class:
Contoh
class OuterClass {
int x = 10;
class InnerClass {
int y = 5;
}
}
// Outputs 15 (5 + 10)
Tidak seperti kelas "biasa", kelas dalam bisa bersifat pribadi atau dilindungi. Jika
Anda tidak ingin objek luar mengakses kelas dalam, deklarasikan kelas sebagai
privat:
Contoh
class OuterClass {
int x = 10;
27
private class InnerClass {
int y = 5;
}
}
Jika Anda mencoba mengakses kelas dalam pribadi dari kelas luar (MyMainClass),
kesalahan terjadi:
Kelas dalam juga bisa statis, yang berarti Anda bisa mengaksesnya tanpa membuat
objek dari kelas luar:
Contoh
class OuterClass {
int x = 10;
28
public class MyMainClass {
public static void main(String[] args) {
OuterClass.InnerClass myInner = new OuterClass.InnerClass();
System.out.println(myInner.y);
}
}
// Outputs 5
Catatan: seperti halnya atribut dan metode statis, kelas dalam statis tidak memiliki
akses ke anggota kelas luar.
One advantage of inner classes, is that they can access attributes and methods of
the outer class:
Contoh
class OuterClass {
int x = 10;
class InnerClass {
public int myInnerMethod() {
return x;
}
}
}
29
}
// Outputs 10
Kata kunci abstrak adalah pengubah non-akses, digunakan untuk kelas dan metode:
Kelas abstrak / abstract: adalah kelas terbatas yang tidak dapat digunakan untuk
membuat objek (untuk mengaksesnya, harus diturunkan dari kelas lain).
Metode abstrak: hanya dapat digunakan dalam kelas abstrak, dan tidak memiliki isi.
Tubuh disediakan oleh subclass (diwarisi dari).
30
Animal myObj = new Animal(); // akan menghasilkan kesalahan
Untuk mengakses kelas abstrak, itu harus diwarisi dari kelas lain. Mari kita ubah
kelas Hewan yang kita gunakan di bab Polimorfisme menjadi kelas abstrak:
Ingat dari bagian Inheritance bahwa kita menggunakan kata kunci extends untuk
mewarisi dari kelas.
Contoh
// Abstract class
abstract class Animal {
// Abstract method (does not have a body)
public abstract void animalSound();
// Regular method
public void sleep() {
System.out.println("Zzz");
}
}
class MyMainClass {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
31
18 Interfaces
// Interface
interface Animal {
public void animalSound(); // interface method (does not have a body)
public void sleep(); // interface method (does not have a body)
}
32
// badab sleep() is diberikan disini
System.out.println("Zzz");
}
}
class MyMainClass {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
2) Java tidak mendukung "multiple inheritance" (kelas hanya dapat mewarisi dari
satu superclass). Namun, itu bisa dicapai dengan interfaces, karena kelas dapat
33
mengimplementasikan beberapa interfaces. Catatan: Untuk menerapkan banyak
interfaces, pisahkan dengan koma (lihat contoh).
interface SecondInterface {
public void myOtherMethod(); // interface method
}
class MyMainClass {
public static void main(String[] args) {
DemoClass myObj = new DemoClass();
myObj.myMethod();
myObj.myOtherMethod();
}
}
34
19 Enums
enum adalah "kelas" khusus yang mewakili sekelompok konstanta (variabel yang
tidak dapat diubah, seperti variabel akhir). Untuk membuat enum, gunakan kata
kunci enum (bukan class atau interface), dan pisahkan konstanta dengan koma.
Perhatikan bahwa mereka harus dalam huruf besar:
Contoh
enum Level {
LOW,
MEDIUM,
HIGH
}
Kelas Scanner digunakan untuk mendapatkan input pengguna, dan itu ditemukan
dalam paket java.util. Untuk menggunakan kelas Scanner, buat objek dari kelas
tersebut dan gunakan salah satu metode yang tersedia yang ditemukan dalam
dokumentasi kelas Scanner. Dalam contoh kami, kami akan menggunakan metode
nextLine (), yang digunakan untuk membaca Strings:
Contoh:
class MyClass {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in); // Buat Object Scanner
System.out.println("Enter username");
35
String userName = myObj.nextLine(); // Baca input user
System.out.println("Username is: " + userName); // Hasil input user
}
}
Input Types
Dalam contoh di atas, kami menggunakan metode nextLine (), yang digunakan
untuk membaca Strings. Untuk membaca tipe lainnya, lihat tabel di bawah ini:
Metode Penjelasan
nextBoolean() Baca nilai boolean dari user
nextByte() Baca nilai byte dari user
nextDouble() Baca nilai double dari user
nextFloat() Baca nilai float dari the user
nextInt() Baca nilai int dari the user
nextLine() Baca nilai String dari the user
nextLong() Baca nilai long dari the user
nextShort() Baca nilai short dari the user
Pada contoh di bawah ini, kami menggunakan metode berbeda untuk membaca data
dari berbagai jenis:
Contoh
import java.util.Scanner;
class MyClass {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
// String input
36
String name = myObj.nextLine();
// Numerical input
int age = myObj.nextInt();
double salary = myObj.nextDouble();
Java tidak memiliki kelas Date built-in, tetapi kita dapat mengimpor paket java.time
untuk bekerja dengan API tanggal dan waktu. Paket ini mencakup banyak kelas
tanggal dan waktu. Sebagai contoh:
Kelas Penjelasan
LocalDate Menampilkan tanggal (year, month, day (yyyy-MM-dd))
LocalTime Menampilkan waktu (hour, minute, second and nanoseconds
(HH-mm-ss-ns))
LocalDateTime Menampilkan tanggal and waktu (yyyy-MM-dd-HH-mm-ss-
ns)
DateTimeFormatter Memformat untuk menampilan atau parsing/proses object
tanggal-waktu /date-time
37
import java.time.LocalDate; // import the LocalDate class
Hasilnya:
2020-10-02
Hasil :
15:16:23.253588
38
Contoh
Hasilnya :
2020-10-02T15:16:23.254409
39
}
}
Hasilnya :
sebelum Formatting: 2020-10-02T15:16:23.254990
sesudah Formatting: 02-10-2020 15:16:23
Metode ofPattern () menerima semua jenis nilai, jika Anda ingin menampilkan
tanggal dan waktu dalam format yang berbeda. Sebagai contoh:
Contoh nilai
yyyy-MM-dd "1988-09-29"
dd/MM/yyyy "29/09/1988"
dd-MMM-yyyy "29-Sep-1988"
E, MMM dd yyyy "Thu, Sep 29 1988"
22 Metode Java
Membuat Metode
Metode harus dideklarasikan di dalam kelas. Ini didefinisikan dengan nama metode,
diikuti dengan tanda kurung (). Java menyediakan beberapa metode yang telah
ditentukan sebelumnya, seperti System.out.println(), tetapi Anda juga dapat membuat
metode Anda sendiri untuk melakukan tindakan tertentu:Example
40
public class MyClass {
static void myMethod() {
// kode yang akan dijalankan
}
}
Contoh Dijelaskan :
myMethod() - adalah nama metode
static - berarti bahwa metode tersebut milik kelas MyClass dan bukan objek dari
kelas MyClass. Anda akan mempelajari lebih lanjut tentang objek dan cara
mengakses metode melalui objek nanti dalam tutorial ini.
void - berarti metode ini tidak memiliki nilai pengembalian. Anda akan
mempelajari lebih lanjut tentang nilai kembali nanti
Panggil Method
Untuk memanggil metode di Java, tulis nama metode diikuti dengan dua tanda
kurung () dan titik koma;
41
// Outputs "I just got executed!"
Parameter ditentukan setelah nama metode, di dalam tanda kurung. Anda dapat
menambahkan parameter sebanyak yang Anda inginkan, cukup pisahkan dengan
koma.
Contoh berikut memiliki metode yang mengambil String yang disebut fname
sebagai parameter. Ketika metode ini dipanggil, kami meneruskan nama depan,
yang digunakan di dalam metode untuk mencetak nama lengkap:
Contoh
42
public class MyClass {
static void myMethod(String fname) {
System.out.println(fname + " Refsnes");
}
Ketika parameter dilewatkan ke metode, itu disebut argumen. Jadi, dari contoh di
atas: fname adalah parameter, sedangkan Liam, Jenny dan Anja adalah argumen.
Beberapa Parameter
43
// Liam is 5
// Jenny is 8
// Anja is 31
Nilai Kembali / Return Values, kata kunci void, yang digunakan dalam contoh di
atas, menunjukkan bahwa metode tersebut tidak boleh mengembalikan nilai. Jika
Anda ingin metode mengembalikan nilai, Anda dapat menggunakan tipe data
primitif (seperti int, char, dll.) Sebagai ganti void, dan gunakan kata kunci return di
dalam metode:
Contoh
public class MyClass {
static int myMethod(int x) {
return 5 + x;
}
44
System.out.println(myMethod(5, 3));
}
}
// Outputs 8 (5 + 3)
Anda juga dapat menyimpan hasil dalam variabel (disarankan, karena lebih mudah
dibaca dan dipelihara):
Contoh
Metode dengan If...Else , Ini umum digunakan pernyataan if ... else di dalam
metode:
Contoh
45
// If age is greater than 18, print "access granted"
} else {
System.out.println("Access granted - You are old enough!");
}
Dengan metode overloading, beberapa metode dapat memiliki nama yang sama
dengan parameter berbeda:
Contoh
int myMethod(int x)
float myMethod(float x)
double myMethod(double x, double y)
46
return x + y;
}
Daripada menentukan dua metode yang harus melakukan hal yang sama, lebih baik
untuk membebani satu metode. Dalam contoh di bawah ini, kami membebani
metode Metode plus agar berfungsi baik untuk int dan double:
Contoh
47
25 Java Scope
Di Java, variabel hanya dapat diakses di dalam region tempat variabel dibuat. Ini
disebut ruang lingkup. Metode Scope ,Variabel yang dideklarasikan langsung di
dalam metode tersedia di mana saja dalam metode mengikuti baris kode tempat
mereka dideklarasikan:
Contoh
int x = 100;
Blok Scope , blok kode merujuk ke semua kode di antara tanda kurung kurawal {}.
Variabel yang dideklarasikan di dalam blok kode hanya dapat diakses oleh kode di
antara tanda kurung kurawal, yang mengikuti baris di mana variabel itu
dideklarasikan:
Contoh
48
// Code here CAN use x
System.out.println(x);
} // The block ends here
// Code here CANNOT use x
}
}
26 Rekursi Java
Rekursi adalah teknik membuat panggilan fungsi itu sendiri. Teknik ini
memberikan cara untuk memecah masalah yang rumit menjadi masalah sederhana
yang lebih mudah dipecahkan.
Rekursi mungkin agak sulit dipahami. Cara terbaik untuk mengetahui cara kerjanya
adalah dengan bereksperimen dengannya.
Contoh Rekursi
49
return k + sum(k - 1);
} else {
return 0;
}
}
}
Contoh Dijelaskan
10 + sum(9)
10 + ( 9 + sum(8) )
10 + ( 9 + ( 8 + sum(7) ) )
...
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + sum(0)
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0
Karena fungsi tidak memanggil dirinya sendiri saat k bernilai 0, program berhenti
di sana dan mengembalikan hasilnya.
50
Sangat membantu untuk melihat berbagai contoh yang berbeda untuk lebih
memahami konsep tersebut. Dalam contoh ini, fungsi menambahkan rentang angka
antara awal dan akhir. Kondisi terhenti untuk fungsi rekursif ini adalah ketika akhir
tidak lebih besar dari awal:
Contoh
51
BAGIAN PRAKTIKUM
Objektif
❖ Mampu melakukan implementasi teori object oriented program secara
umum
❖ Mampu melakukan persiapan repositori pada
❖ Mampu melakukan pekerjaan pemrograman secara terstruktur dan
mengikuti best practice
52
TUGAS 1 : SETUP GITLAB
1) Persiapan Proyek
Pada browser, login pada http:// https://gitlab.com/users/sign_in
53
2) Buat Akses Token Personal :
a) Pada Dasboard Gitlab, pilih Project , lalu pilih pada menu tab
sebelah kiri pilih Setting > Repository
b) Klik “Expand” pada bagian Deploy Token
c) Isi nama , format nama “vscode@[usernamekalianpadagitlab] ,
exipry date (buat setahun, 08-10-2021) , pilih scope nya, klik semua)
d) Klik Create Deploy Token
e) Buat file dibawah folder oop-[nnnnn] dengan nama notes.txt, save
token tersebut disitu). Token tidak akan bisa diakses lagi
f) Buat file dengan nama .gitignore dibawah folder oop-[nnnnn] , lalu
edit
g) Masukan nama file yang dibuat sebelumnya notes.txt, Simpan.
54
TUGAS 2 : BUAT PROYEK KELAS
a) Buatlah kelas dibawah folder src untuk semua contoh materi yang telah
disebutkan dibagian teori, kelas dibuat dengan nama kelas sama tapi
ditambah dengan 5 digit terakhir NIM anda, tapi dengan variable berbeda.
Kelas tidak boleh memiliki variabel yang sama, kerjakan masing tidak
bekerja sama. Kerjakan :
b) Pada visual code, buat project pada java (apabila belum dibuat! tidak
sesuai! ) Perhatikan standar lokasi project utama dan format nama
c) Tekan Ctrl + Shift + P , pilih Java : Create Java Project > No build tools >
arahkan ke folder utama lab[n]-[nnnnn] , dalam hal ini lab2-[nnnnn], input
a java project name / masukan nama prject lab2-[nnnnn]
d) Maka visual code akan menotifikasi dipojok kanan bawah untuk meminta
seting token acces, IGNORED / CANCEL!
e) Maka folder lab2-000000 akan terisi skleton atau struktur kode yang akan
kita gunakan untuk tugas ini.
f) Setiap file .java yang dibuat, harus berada dibawah folder src!
g) Kerjakan semua contoh kelas dari bagian teori dengan merubah format
nama dan variable token menjadi nama[00000], rujuk kepada materi kuliah
online untuk aturan pengerjaannya. Berikut tabel berisikan jumlah kelas dan
catatan mana yang dimodifikasi saja :
Bab Jumlah Kelas Catatan
2,-7 2 Baru / Modifikasi
8-9 1 Baru / Modifikasi
11 1 Baru / Modifikasi
12,13 0 Modifikasi
14 1 Baru / Modifikasi
15-17 3 Baru / Modifikasi
18 1 Baru / Modifikasi
19-25 0 Modifikasi
Total 9 Keseluran Kelas
55
KATA PENTING
56
DAFTAR PUSTAKA
57