2. Quis (7 menit)
1. Apa perbedaan antara Prosedur dan
fungsi (2 menit)
2. Tulislah program java untuk mencari
jumlah bilangan bulat yang masing-
masing terdiri dari 1 sampai 10, dari 20
sampai 30, dan dari 35 sampai 45
dalam sebuah program. (5 menit)
Dikumpul (0.5 menit)
3. Prosedur dan fungsi
• FungsiFungsi, merupakan program yag ditulis untuk
menugaskan proses tertentu yang berguna untuk
meyederhanakan program, fungsi memiliki nilai balik jika
dipanggil.
• ProsedurProsedur, kumpulan program yang berguna untuk
menugaskan proses tertentu yang berguna untuk
menyederhanakan program, pada prosedur tidak ada
pengembalian nilai jika dipanggil.
4. Program Jumlah
int sum = 0;
for (int i = 1; i <= 10; i++)
sum += i;
System.out.println(“Jumlah dari 1 sampai 10 adalah" + sum);
sum = 0;
for (int i = 20; i <= 30; i++)
sum += i;
System.out.println(“Jumlah dari 20 sampai 30 adalah" + sum);
sum = 0;
for (int i = 35; i <= 45; i++)
sum += i;
System.out.println(“Jumlah dari 35 sampai 45 is " + sum);
6. Prosedur/ Fungsi = Method
• Fungsi dalam bahasa pemrograman java disebut method yang
mengembalikan nilai (memiliki nilai balik)
• Dengan ciri memiliki tipe datatipe data dan returnreturn yang diikuti nilai kembali
– Prosedur dalam bahasa pemrograman java disebut method yang
tidak mengembalikan nilai (tidak memiliki nilai balik)
– Dengan ciri memiliki voidvoid dan tidak memiliki return
typeData namaMethod( ){
//Statemen
return Nilaikembali
}
void namaMethod( ){
// Statemen
}
7. Permasalahan pada solusi
int sum = 0;
for (int i = 1; i <= 10; i++)
sum += i;
System.out.println(“Jumlah dari 1 sampai 10 adalah" + sum);
sum = 0;
for (int i = 20; i <= 30; i++)
sum += i;
System.out.println(“Jumlah dari 20 sampai 30 adalah" + sum);
sum = 0;
for (int i = 35; i <= 45; i++)
sum += i;
System.out.println(“Jumlah dari 35 sampai 45 is " + sum);
8. Solusi masalah dengan Method
public static int sum(int i1, int i2) {
int sum = 0;
for (int i = i1; i <= i2; i++)
sum += i;
return sum;
}
public static void main(String[] args) {
System.out.println(“Jumlah dari 1 sampai 10 adalah " + sum(1, 10));
System.out.println(“Jumlah dari 20 sampai 30 adalah " + sum(20, 30));
System.out.println(“Jumlah dari 35 sampai 45 adalah " + sum(35, 45));
}
9. Memanggil Method
public static int max(int num1, int num2)
{
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
public static int max(int num1, int num2)
{
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
int z = maxmax(x, y);int z = maxmax(x, y);
Meminta methodDefinisi method
Nama
method
parameter
formal
Tipe
Return
Parameter
Aktual
Nilai Return
parameter
formal
10. 10
Memanggil Method, cont.
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
11. 11
Memanggil Method, cont.
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Sekarang nilai i adalah 5
12. 12
Memanggil Method, cont.
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Sekarang nilai j adalah 2
13. 13
Memanggil Method, cont..
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Memanggil method max(i, j)
14. 14
Memanggil Method, cont..
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Memanggil method max(i, j)
Mengirim nilai dari i ke num1
Mengirim nilai dari j ke num2
15. 15
Memanggil Method, cont.
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Deklarasi variable result
16. 16
Memanggil Method, cont.
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
(num1 > num2) adalah true
karena num1 = 5 dan num2 = 2
17. 17
Memanggil Method, cont.
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
result = 5
18. 18
Memanggil Method, cont.
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
return result, adalah 5
19. 19
Memanggil Method, cont.
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
return max(i, j) dan memasukkan
nilai return pada k
20. 20
Memanggil Method, cont..
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(“nilai maksimum
antara " + i +
" dan " + j + " adalah " + k);
}
public static int max(int
num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Eksekusi statemen print
21. 21
Stack dimemori
(a) main method
dipangil.
Ruang dibutuhkan
untk main method
k:
j: 2
i: 5
(b) method max
dipanggil
Ruang dibutuhkan
untk method max
num2: 2
num1: 5
(d) method max selesai
dan nilai return dikirim
ke k.
(e) main method
selesai digunakan
Stack kosong
Ruang dibutuhkan
untk main method
k:
j: 2
i: 5
Ruang dibutuhkan
untk main method
k: 5
j: 2
i: 5
(c) method max
dieksekusi.
Ruang dibutuhkan
untk method max
result: 5
num2: 2
num1: 5
Ruang dibutuhkan
untk main method
k:
j: 2
i: 5
22. 22
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
i adalah deklarasi dan inisialisasi
Memenggil main
method
i: 5
23. 23
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
j adalah deklarasi dan inisialisasi
Memenggil main
method
j: 2
i: 5
24. 24
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Deklarasi k
Memenggil main
method
Ruang yg dibutuhkan
main method
k:
j: 2
i: 5
25. 25
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Invoke max(i, j)
Memenggil main
method
Ruang yg dibutuhkan
main method
k:
j: 2
i: 5
26. 26
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Mengirimkan nilai dari i dan j ke
num1 and num2
Method max
dipanggil.
num2: 2
num1: 5
Ruang dibutuhkan
main method
k:
j: 2
i: 5
27. 27
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
pass the values of i and j to num1
and num2
Method max
dipanggil.
result:
num2: 2
num1: 5
Ruang dibutuhkan utk
main method
k:
j: 2
i: 5
28. 28
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
(num1 > num2) = true
Method max
dipanggil.
result:
num2: 2
num1: 5
Ruang dibutuhkan
untuk main method
k:
j: 2
i: 5
29. 29
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Memasukkan nilai num1 ke
result
Method max
dipanggil
Ruang dibutuhkan
untuk method max
result: 5
num2: 2
num1: 5
Ruang dibutuhkan
untuk main method
k:
j: 2
i: 5
30. 30
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Return result dan memesukkanya
ke k
method max
dipanggil.
Ruang dibutuhkan
untuk method max
result: 5
num2: 2
num1: 5
Ruang dibutuhkan
untuk main method
k:5
j: 2
i: 5
31. 31
Trace dengan Stack
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = max(i, j);
System.out.println(
"The maximum between " + i +
" and " + j + " is " + k);
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
Exekusi statement print
main method
dipanggil
Ruang dibutuhkan
untuk main method
k:5
j: 2
i: 5
32. 32
Kelas Math
• Kelas konstan:
– PI
– E
• Kelas method:
– Method Trigonometric
– Method Exponent
– Method Rounding
– Method min, max, abs, dan random
33. 33
Method Trigonometric
• sin(double a)
• cos(double a)
• tan(double a)
• acos(double a)
• asin(double a)
• atan(double a)
Radians
toRadians(90)
Examples:
Math.sin(0) returns 0.0
Math.sin(Math.PI / 6)
returns 0.5
Math.sin(Math.PI / 2)
returns 1.0
Math.cos(0) returns 1.0
Math.cos(Math.PI / 6)
returns 0.866
Math.cos(Math.PI / 2)
returns 0
34. 34
Method Exponent
• exp(double a)
Mengembalikan e berpangkat a.
• log(double a)
Mengembalikan logaritma dari a.
• log10(double a)
Mengembalikan logaritma basis
10 dari a.
• pow(double a, double b)
Mengembalikan a pangkat b.
• sqrt(double a)
Mengembalikan akar kuadrat
dari a.
contoh:
Math.exp(1) returns 2.71
Math.log(2.71) returns 1.0
Math.pow(2, 3) returns 8.0
Math.pow(3, 2) returns 9.0
Math.pow(3.5, 2.5) returns
22.91765
Math.sqrt(4) returns 2.0
Math.sqrt(10.5) returns 3.24
35. 35
Method Rounding
• double ceil(double x)
x dibulatkan keatas pada nilai integer terdekat.
• double floor(double x)
x dibulatkan kebawah pada nilai integer terdekat.
• double rint(double x)
x dibulatkan ke integer terdekatnya.
• int round(float x)
Return (int)Math.floor(x+0.5).
• long round(double x)
Return (long)Math.floor(x+0.5).
37. 37
min, max, dan abs
• max(a, b)and min(a, b)
Mengembalikan maksimum
atau minimum dari dua
parameter.
• abs(a)
Mengembalikan nilai absolut
dari parameter.
• random()
Mengembalikan nilai random
bertipe double dalam range
[0.0, 1.0).
Examples:
Math.max(2, 3) returns 3
Math.max(2.5, 3) returns
3.0
Math.min(2.5, 3.6)
returns 2.5
Math.abs(-2) returns 2
Math.abs(-2.1) returns
2.1
38. • Kelas String
Method length()
Method charAt(int x)
Method concat(String str)
Method replace(char lama, char baru)
•Kelas StringBuffer
•Kelas Character
Kelas String
39. Class String
Class String dipakai untuk merepresentasikan data yang berbentuk
string.
Contoh beberapa methods/metode yang terdapat pada class String
adalah :
length()
charAt(int x)
concat(String str)
replace(char lama, char baru)
40. Contoh Penggunaan Methods Pada Class String
Length()
//nama file Length1.java
public class Length1
{
public static void main(String args[])
{
String a = new String("Bahasa Java");
int panjang;
panjang = a.length();
System.out.println("Panjang String ""+a+"" adalah “
+panjang);
}
}
41. Catatan :
• Fungsi atau metode length() dipakai untuk
menghitung panjang dari string.
• Return value (nilai kembalian) dari fungsi
length() ini adalah integer.
42. //nama file : Length2.java
import javax.swing.JOptionPane;
public class Length2
{
public static void main(String args[])
{
String a;
int panjang;
a = JOptionPane.showInputDialog("Masukkan Contoh
Kalimat : ");
panjang = a.length();
JOptionPane.showMessageDialog(null,"Panjang String ““
+a+"" adalah "+panjang);
System.exit(0);
}
}
43. Contoh Penggunaan fungsi charAt(int x)
//nama file : CharAt1.java
public class CharAt1
{
public static void main(String args[])
{
String a = "Java";
//bisa diganti dengan
//String a = new String(“Java”);
for (int i=0; i < a.length(); i++)
System.out.println("Karakter " + i +
" adalah " + a.charAt(i));
}
}
44. Catatan :
• Fungsi atau metode charAt(int x) dipakai
untuk mendapatkan karakter pada posisi x
dari suatu string.
• Posisi awal suatu string adalah 0, sama
seperti index awal pada suatu array.
• Sehingga pada contoh di atas, huruf J (dari
Java) berada pada posisi 0.
45. //Nama file Concat1.java
public class Concat1
{
public static void main(String args[])
{
String a = "Java ";
String b = "Programming";
System.out.println("Penggabungan "" + a +
"" dan "" + b+"" adalah "+a.concat(b));
}
}
Contoh Penggunaan Metode concat(String str)
46. Catatan :
• Fungsi atau metode concat(String x)
dipakai untuk menggabungkan string x
dengan suatu string.
• Contoh : “to”.concat(“get”).concat(“her”)
akan menghasilkan “together”.
47. Contoh Penggunaan Metode replace(x, y)
//Nama file : Replace1.java
public class Replace1
{
public static void main(String args[])
{
String a = "ada apa ya?";
System.out.println("Kalimat awal adalah : "+a);
System.out.println("Setelah huruf a diganti huruf o");
System.out.println("-------------------------------");
System.out.println(a.replace("a","o"));
}
}
48. Catatan :
• Fungsi atau metode replace(char lama,
char baru) dipakai untuk mengubah huruf
lama menjadi huruf baru.
• Contoh : replace(“a”,”i”) akan mengubah
huruf a menjadi i.
• Replace(“ri”,”ya99”) akan mengubah
kumpulan huruf ri menjadi ya99.
49. Contoh Penggunaan Metode substring(awal, akhir)
//Nama file Substring1.java
public class Substring1
{
public static void main(String args[])
{
String b;
String a = "Bahasa Pemrograman 2";
b = a.substring(1,5);
System.out.println("String a adalah : "+a);
System.out.println("Substring(1,5) dari a adalah");
System.out.println("----------------------------");
System.out.println(b);
}
}
50. Catatan :
• Fungsi atau metode substring(int awal, int
akhir) dipakai untuk mengambil sejumlah
string dari posisi ‘awal’ sampai ‘akhir’.
• Tapi ‘akhir’ adalah akhir-1.
• Contoh: “Bahasa”.substring(1,5) akan
mengambil string dari posisi 1 sebanyak 5-
1. Hasilnya “ahas”
• Contoh: “Programming”.substring(3,6)
akan menghasilkan “gra”.
• Posisi awal suatu string adalah 0.
52. Contoh Penggunaan Metode append()
//Nama file : append1.java
public class append1
{
public static void main(String args[])
{
StringBuffer c;
c = new StringBuffer("Belajar Java ");
String b = "Programming";
System.out.println("c : "+c);
System.out.println("b : "+b);
System.out.println("Setelah dikenai perintah c.append(b),
c menjadi :");
System.out.println(c.append(b));
}
}
53. Contoh Penggunaan Metode insert(x,y)
//Nama file : Insert1.java
public class Insert1
{
public static void main(String args[])
{
StringBuffer c;
c = new StringBuffer("Belajar Programming");
System.out.println(c);
System.out.println("Setelah dikenai insert(8,"Java "), menjadi :");
System.out.println(c.insert(8,"Java "));
}
}
54. Contoh Penggunaan Metode delete(awal, akhir)
//Nama file : Delete1.java
public class Delete1
{
public static void main(String args[])
{
StringBuffer c;
c = new StringBuffer("Belajar Programming");
System.out.println(c);
System.out.println("Setelah dikenai delete(0,8), menjadi :");
System.out.println(c.delete(0,8));
}
}
55. Contoh Penggunaan Metode Capacity()
//Nama file : kapasitas.java
public class kapasitas
{
public static void main(String args[])
{
StringBuffer c = new StringBuffer("");
System.out.println("Isi c adalah : "+c);
System.out.println("Kapasitas StringBuffer c : "+c.capacity());
System.out.println("Setelah dikenai append("Halo"), c menjadi :");
System.out.println(c.append("Halo"));
System.out.println("Kapasitas StringBuffer c : "+c.capacity());
System.out.println("Panjang c adalah : "+c.length());
System.out.println("c ditambah dg ", minggu depan libur"");
System.out.println("Isi c adalah : "+c.append(", minggu depan libur"));
System.out.println("Kapasitas StringBuffer c : "+c.capacity());
System.out.println("Panjang c adalah : "+c.length());
56. System.out.println("c ditambah dg ". Bener lho."");
System.out.println("Isi c adalah : "+c.append(". Bener lho."));
System.out.println("Kapasitas StringBuffer c : "+c.capacity());
System.out.println("Panjang c adalah : "+c.length());
}
}
Lanjutan dari program
57. Catatan :
• Fungsi atau metode capacity() dipakai untuk
mengetahui berapa kapasitas dari suatu bufferstring.
• Defaultnya adalah 16
• Fungsi atau metode length() dipakai untuk
mengetahui panjang stringnya.
• Jika panjang string lebih kecil dari kapasitasnya,
maka kapasitasnya akan tetap
• Jika panjang string melebihi dari kapasitasnya, maka
secara otomatis kapasitas akan diperbesar dua kali
lipat plus 2 dari kapasitas sebelumnya
58. Catatan :
• Fungsi atau metode setLength() dipakai untuk
menentukan panjang dari string.
• Contoh, jika pada baris terakhir dari program di
atas ditambahkan dengan perintah
c.setLength(10);
maka isi stringbuffer c adalah Halo, ming
• setLength() tidak mengubah kapasitas
stringbuffer
59. Class Character
Contoh beberapa methods/metode yang terdapat pada class Character adalah :
isLowerCase() apakah huruf kecil
isUpperCase() apakah huruf besar
isDigit() apakah angka
equals() apakah sama
toLowerCase() ke huruf kecil
toUpperCase()ke huruf besar
60. Contoh Program
public class karakter1
{
public static void main(String args[])
{
Character kar = 'a';
System.out.println("Apakah "+kar+" itu Digit ? “
+Character.isDigit(kar));
System.out.println("Apakah "+kar+" itu Letter (Huruf) ? “
+Character.isLetter(kar));
System.out.println("Apakah "+kar+" itu LowerCase (Huruf Kecil) ? “
+Character.isLowerCase(kar));
System.out.println("Apakah "+kar+" itu UpperCase (Huruf Besar) ? “
+Character.isUpperCase(kar));
System.out.println("Apakah "+kar+" itu Whitespace ? “
+Character.isWhitespace(kar));
Character kar1=new Character('A');
System.out.println("Apakah "+kar+" itu equals (sama) dg "+kar1+" ? “
+kar.equals(kar1));
}
}
61. Contoh Program Lain
public class karakter2
{
public static void main(String args[])
{
String str = "Bahasa";
String output = "Ada di posisi ";
int panjangStr = str.length();
Character kar = ' ';
int jumlah_a = 0;
for(int i=0; i<panjangStr; i++)
{ kar = Character.valueOf(str.charAt(i));
//Character.valueOfubah ke char
if (kar=='a')
{
jumlah_a = jumlah_a+1;
output=output+i+" ";
}