Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

MINGGU 4 Java Programming (MKB614C)

Presentasi serupa


Presentasi berjudul: "MINGGU 4 Java Programming (MKB614C)"— Transcript presentasi:

1 MINGGU 4 Java Programming (MKB614C)
Pokok Bahasan: Methods, fungsi & array Tujuan Instruksional Khusus: Siswa memahami method/fungsi di Java Siswa memahami array di Java Java Programming (MKB614C) Minggu Page 1

2 Java Programming (MKB614C)
Agenda Method/function di Java Array 1 dimensi di Java Array 2 dimensi di Java Java Programming (MKB614C) Minggu Page 2

3 Method/function di Java
Method/function dapat digunakan untuk Membuat code yang dapat digunakan berulang Mengatur/menata/mengorganisir code Menyederhanakan code utama Java Programming (MKB614C) Minggu Page 3

4 Defining method/function
Method/function terdiri dari nama, parameter, dan return (tipe & nilai) dan tubuh.

5 Method/function pada Java & bahasa pemrograman lain
Beberapa bahasa pemrograman lain: Function: memiliki return value. Procedure: tidak memiliki return value. Bahasa pemrograman Java Method/function: dapat memiliki return value dan tidak memiliki return value

6 Invoke method/function
Method/function dapat digunakan dengan/tanpa memberikan parameter.

7 Contoh penggunaan method/function dengan return value
int sum = 0; for (int i = 1; i <= 10; i++) sum += i; System.out.println("Sum from 1 to 10 is " + sum); sum = 0; for (int i = 20; i <= 37; i++) System.out.println("Sum from 20 to 37 is " + sum); for (int i = 35; i <= 49; i++) System.out.println("Sum from 35 to 49 is " + sum); public static int sum(int i1, int i2) { int result = 0; for (int i = i1; i <= i2; i++) result += i; return result; } public static void main(String[] args) { System.out.println("Sum from 1 to 10 is " + sum(1, 10)); System.out.println("Sum from 20 to 37 is " + sum(20, 37)); System.out.println("Sum from 35 to 49 is " + sum(35, 49));

8 Contoh penggunaan method/function tanpa return value
public static void cetakBatas() { for (int i=0;i<10;i++) { System.out.print("-"); } System.out.println; public static void main(String[] args) { cetakBatas(); System.out.println("Welcome to Java");

9 Overloading method/function
Overloading method/function memungkinkan untuk mendefinisikan method/function dengan nama yang sama, namun memiliki karakter/penanda yang berbeda Contoh: /** Return the max of two int values */ public static int max(int num1, int num2) { if (num1 > num2) return num1; else return num2; } /** Find the max of two double values */ public static double max(double num1, double num2) { /** Return the max of three double values */ public static double max(double num1, double num2, double num3) { return max(max(num1, num2), num3);

10 Scope variables: local variables
Local Variables: variable yang dibuat & digunakan dalam suatu method

11 Local variables yang digunakan berulang

12 Array dasar Seletelah array terbentuk, ukuran array adalah tetap. Untuk mengakses elemen dalam array digunakan index. Syntax deklarasi vairable array: elementType[] arrayRefVar; Contoh deklarasi vairable array: double[] myList;

13 Membuat array Syntax membuat array: elementType[] arrayRefVar = new elementType[arraySize]; elementType arrayRefVar[] = new elementType[arraySize]; Contoh membuat array: double[] myList = new double[10]; myList[0] = 5.6; myList[1] = 4.5; myList[2] = 3.3; myList[3] = 13.2; myList[4] = 4.0; myList[5] = 34.33; myList[6] = 34.0; myList[7] = 45.45; myList[8] = ; myList[9] = 11123;

14 Mendapatkan ukuran array
Ukuran suatu array didapat dengan memanggil property length. Contoh: myList.length menghasilkan 10

15 Inisiasi array Dalam pembuatan variable array, array dapat langsung diinisiasi elemen-elemennya. Syntax untuk menginisiasi array elementType[] arrayRefVar = {value0, value1, ..., valuek}; Contoh: double[] myList = {1.9, 2.9, 3.4, 3.5}; Contoh deklarasi yang salah: double[] myList; myList = {1.9, 2.9, 3.4, 3.5};

16 Memproses array Memproses elemen array lebih mudah menggunakan loop for, karena Setiap elemen dalam array memiliki tipe yang sama. Ukuran array di ketahui sehingga cocok dengan loop for. Contoh: for (int i = 0; i < myList.length; i++) { System.out.print(myList[i] + " "); }

17 Loop Foreach Foreach digunakan untuk mengakses array tanpa mengunakan index Syntax: for (elementType element: arrayRefVar) { // Process the element } Contoh: double myList[] = {13.5, 10.4, 1.5}; for (double e: myList) { System.out.println(e);

18 Mencopy array Untuk mengcopy isi suatu array ke array lain, harus dilakukan pencopyan setiap elemen dari array yang akan dicopy. Cara untuk mencopy array di Java Menggunakan loop untuk mengcopy setiap element dari array yang akan dicopy. Menggunakan method/fungsi arraycopy dari java.lang.System. Menggunakan clone

19 Contoh copy array dengan loop
double myList[] = {13.5, 10.4, 1.5}; for (double e: myList) { System.out.println(e); } System.out.println(); // myList1 must be initialized first double myList1[] = new double[myList.length]; for (int i=0;i<myList.length;i++) { myList1[i]=myList[i]; System.out.println(myList1[i]);

20 Contoh copy dengan fungsi arraycopy
double myList[] = {13.5, 10.4, 1.5}; for (double e: myList) { System.out.println(e); } System.out.println(); // myList1 must be initialized first double myList1[] = new double[myList.length]; System.arraycopy(myList, 0, myList1, 0, myList.length); for (double e: myList1) {

21 Contoh copy dengan clone
double myList[] = {13.5, 10.4, 1.5}; for (double e: myList) { System.out.println(e); } double myList1[]; System.out.println(); myList1 = myList.clone(); for (double e: myList1) {

22 Kesalahan dalam pengcopyan array
Array tidak dapat dicopy dengan operator = Contoh copy reference: List1 = List 2;

23 Passing array ke method/function
Saat suatu array di parse ke method/function, reference dari array akan di parse ke method/function tersebut. Java menggunakan pass-by-value untuk memparse tipe data primitive. Java menggunakan pass-by-sharing untuk tipe array. Reference array yang akan di parsing ke method/function

24 Contoh parsing public class Test {
public static void main(String[] args) { int x = 1; // x represents an int value int[] y = new int[10]; // y represents an array of int values m(x, y); // Invoke m with arguments x and y System.out.println("x is " + x); System.out.println("y[0] is " + y[0]); } public static void m(int number, int[] numbers) { number = 1001; // Assign a new value to number numbers[0] = 5555; // Assign a new value to numbers[0]

25 Returning array dari method
Method/function yang mengembalikan (return) array, akan mengembalikan reference dari array tersebut.

26 Contoh returning array
public static void main(String[] args) { int[] list1 = {1, 2, 3, 4, 5, 6}; int[] list2 = reverse(list1); System.out.println("List1"); for (int i:list1) { System.out.print(i); } System.out.println(); System.out.println("List2"); for (int i:list2) { public static int[] reverse(int[] list) { int[] result = new int[list.length]; for (int i = 0, j = result.length - 1; i < list.length; i++, j--) { result[j] = list[i]; return result;

27 Variable-length argument lists
Sejumlah variabel argumen yang sama dapat diparse ke method/function dan akan diperlakukan sebagai array. Contoh: public static void main(String[] args) { printMax(34, 3, 3, 2, 56.5); printMax(new double[]{1, 2, 3}); } public static void printMax(double... numbers) { if (numbers.length == 0) { System.out.println("No argument passed"); return; double result = numbers[0]; for (int i = 1; i < numbers.length; i++) if (numbers[i] > result) result = numbers[i]; System.out.println("The max value is " + result);

28 Kelas java.util.Arrays Java menyediakan kelas array (java.util.Arrays) untuk mempermudah operasi sorting & searching. Fungsi yang tersedia dari kelas array: Sorting sort() parallelShort() // JDK 8 Searching binarySearch() Comparing equals() Filling fill()

29 Contoh penggunaan kelas array
Sorting double[] numbers = {6.0, 4.4, 1.9, 2.9, 3.4, 3.5}; java.util.Arrays.sort(numbers); // Sort the whole array java.util.Arrays.parallelSort(numbers); // Sort the whole array Searching int[] list = {2, 4, 7, 10, 11, 45, 50, 59, 60, 66, 69, 70, 79}; System.out.println("1. Index is " + java.util.Arrays.binarySearch(list, 11)); System.out.println("2. Index is " + java.util.Arrays.binarySearch(list, 12)); Comparing int[] list1 = {2, 4, 7, 10}; int[] list2 = {2, 4, 7, 10}; int[] list3 = {4, 2, 7, 10}; System.out.println(java.util.Arrays.equals(list1, list2)); // true System.out.println(java.util.Arrays.equals(list2, list3)); // false Filling int[] list2 = {2, 4, 7, 7, 7, 10}; java.util.Arrays.fill(list1, 5); // Fill 5 to the whole array java.util.Arrays.fill(list2, 1, 5, 8); // Fill 8 to a partial array Contoh penggunaan kelas array

30 Deklarasi pada array 2 dimensi
Elemen pada array 2 dimensi diakses melalui baris dan kolom. Syntax untuk mendeklarasi array 2 dimensi: elementType[][] arrayRefVar; elementType arrayRefVar[][]; Contoh: int[][] matrix = new int[5][5];

31 Assigning elemen pada array 2 dimensi
Matrix 4 x 3 int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12} };

32 Ukuran dari array 2 dimensi
Array 2 dimensi merupakan kumpulan dari array 1 dimensi. Ukuran dari array adalah jumlah dari elemen dalam array. Untuk mendapatkan jumlah baris dapat digunakan array.length Untuk mendapatkan kolom dapat digunakan array[0].length Contoh: int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12} }; System.out.println("array.length "+array.length); // output 4 System.out.println("array[0].length "+array[0].length); // output 3 System.out.println("array[1].length "+array[1].length); // output 3

33 Array dengan ukuran kolom tidak sama
Membuat matrik segitiga Cara lain int[][] triangleArray = new int[5][]; triangleArray[0] = new int[5]; triangleArray[1] = new int[4]; triangleArray[2] = new int[3]; triangleArray[3] = new int[2]; triangleArray[4] = new int[1];

34 Contoh mengakses array 2 dimensi
int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12} }; // mengakses baris for (int i = 0; i<array.length; i++) { // mengakses kolom for (int j=0; j<array[i].length;j++) { System.out.println("["+i+","+j+"] = "+array[i][j]); }

35 Multidemensional array
Array di Java dapat memiliki n dimensi. Contoh array 3 dimensi double[][][] scores = new double[6][5][2]; double[][][] scores = { {{7.5, 20.5}, {9.0, 22.5}, {15, 33.5}, {13, 21.5}, {15, 2.5}}, {{4.5, 21.5}, {9.0, 22.5}, {15, 34.5}, {12, 20.5}, {14, 9.5}}, {{6.5, 30.5}, {9.4, 10.5}, {11, 33.5}, {11, 23.5}, {10, 2.5}}, {{6.5, 23.5}, {9.4, 32.5}, {13, 34.5}, {11, 20.5}, {16, 7.5}}, {{8.5, 26.5}, {9.4, 52.5}, {13, 36.5}, {13, 24.5}, {16, 2.5}}, {{9.5, 20.5}, {9.4, 42.5}, {13, 31.5}, {12, 20.5}, {16, 6.5}}};

36 Review & Latihan W04 Email ke: agung.made@kwikkiangie
Subject: W04 no_mahasiswa Contoh: W Dwiyanti Nilai: Pengumpulan sebelum minggu depan 100 Pengumpulan setelah minggu depan 60 Tidak mengumpulkan 0.

37 Latihan 1 Diketahui suatu array sebagai berikut:
int[] list = {10, 11, 45, 50, 59, 60, 66, 69, 70, 79, 2, 4, 7}; Buatlah kode program Java, method/function untuk menshort list tersebut (chapter 7.11) dan tampilkan hasilnya

38 Latihan 2 Diketahui suatu array sebagai berikut:
double[] numbers = {6.0, 4.4, 1.9, 2.9, 3.4, 3.5}; Buatlah kode program Java, gunakan fungsi java.util.Arrays (chapter 7.12) untuk: Sorting Pararel shorting Mencari indek dari elemen dengan nilai 3.5 dengan Binary search Mencari indek dari elemen dengan nilai 4.0 dengan Binary search

39 Latihan 3 Harian UTS UAS Siswa 1 86 85 84 Siswa 2 83 81 Siswa 3 90 96
Diketahui nilai siswa sebagai berikut: Buatlah kode program Java untuk menghitung dan menampilkan: Nilai akhir dari setiap siswa jika bobot harian adalah 30%, UTS 35% dan UAS 35% Nilai harian terendah dari seluruh siswa Nilai harian tertinggi dari seluruh siswa Nilai harian rata-rata dari seluruh siswa Harian UTS UAS Siswa 1 86 85 84 Siswa 2 83 81 Siswa 3 90 96 100


Download ppt "MINGGU 4 Java Programming (MKB614C)"

Presentasi serupa


Iklan oleh Google