Struktur Data & Algoritme (Data Structures & Algorithms)

Ukuran: px
Mulai penontonan dengan halaman:

Download "Struktur Data & Algoritme (Data Structures & Algorithms)"

Transkripsi

1 Struktur Data & Algoritme (Data Structures & Algorithms) Review Java Denny Fakultas Ilmu Komputer Universitas Indonesia Semester Genap /2001 Version Internal Use Only Objectives Mengulas kembali konsep-konsep penting dalam Java SDA/REVIEW-JAVA/DN/V1.0/2 Fundamental Data Types: String, Math, Casting 1

2 Outline Review Latihan Primitive Type Operator & Expresion Flow Control (Decision & Iteration) References OOP Exception Handling Input & Output SDA/REVIEW-JAVA/DN/V1.0/3 Java: strongly typed languages Variabel adalah tempat penyimpanan suatu nilai tertentu. var i a ble adj. 4 Math. having no fixed value n. 4 Math., Physics a) a part of a mathematical expression that may assume any value in a specific, related set of values b) a symbol for such a part: opposed to constant Setiap variabel harus diasosiasikan dengan type yang dikenal. Dengan adanya type: program/kompilator dapat membatasi type data/nilai yang disimpan pada lokasi tersebut. SDA/REVIEW-JAVA/DN/V1.0/4 Fundamental Data Types: String, Math, Casting 2

3 Tipe Data Primitif Terdapat dua jenis types: Primitive types: numeric type, boolean type Reference types: class, arrays dll. tipe isi nilai default besar boolean true, false false 1 bit char unicode char \u bit byte signed integer 0 8 bit short signed integer 0 16 bit int signed integer 0 32 bit long signed integer 0 64 bit float IEEE 754/floating-point bit double IEEE 754/floating-point bit SDA/REVIEW-JAVA/DN/V1.0/5 Operator & Ekspresi Apa outputnya? int ii = 1; int jj = 2; double a = (ii + 1) / (jj + 1); double b = (double) (ii + 1) / (jj + 1); double c = (ii + 1) / (double) (jj + 1); double d = (ii + 1.0) / (jj + 1.0); System.out.println (a + " " + b); System.out.println (c + " " + d); SDA/REVIEW-JAVA/DN/V1.0/6 Fundamental Data Types: String, Math, Casting 3

4 Operator & Ekspresi (2) Apa outputnya? int width = 10; int a = 3 / 4 * width; System.out.println (a); int b = width * 3 / 4; System.out.println (b); int c = width / 4 * 3; System.out.println (c); Ingat: tipe data hasil dari sebuah ekpresi, tergantung dari operator dan tipe operand-nya Urutan evaluasi tergantung dari presedensi operatornya. Jika presedensi-nya sama, dilihat dari asosiasinya. SDA/REVIEW-JAVA/DN/V1.0/7 Operator Berdasarkan jumlah operand-nya Unary Binary Berdasarkan operasinya Aritmatik Logika SDA/REVIEW-JAVA/DN/V1.0/8 Fundamental Data Types: String, Math, Casting 4

5 Operator: Presedence & Associativity Nutshell, p. 34 SDA/REVIEW-JAVA/DN/V1.0/9 Flow Control Branch Digunakan untuk memilih statement yang dieksekusi berdasarkan suatu kondisi. Loop - Iterasi Loop mengeksekusi sebuah blok kode secara berulang. Kondisi berhenti mengatur berapa banyak loop dilakukan. SDA/REVIEW-JAVA/DN/V1.0/10 Fundamental Data Types: String, Math, Casting 5

6 Flow Control: if if (condition) { statement; next statement if (condition) { statement1 else { statement2 next statement Kesalahan umum: if (x == 0); System.out.println ( x adalah nol ); if (x > 0) System.out.println ( x = ); System.out.println (x); SDA/REVIEW-JAVA/DN/V1.0/11 Flow Control: switch Statement if-else-if yang membandingkan sebuah nilai konstan atau integer dapat menggunakan switch statement. Statement switch lebih efesien dibandingkan dengan if-else-if int digit; String digitname;... switch (digit) { case 0: digitname = nol ; break; case 1: digitname = satu ; break; case 2: digitname = dua ; break; case 3: digitname = tiga ; break; case 4: digitname = empat ; break; case 5: digitname = lima ; break; case 6: digitname = enam ; break; case 7: digitname = tujuh ; break; case 8: digitname = delapan ; break; case 9: digitname = sembilan ; break; default: digitname = ; break; SDA/REVIEW-JAVA/DN/V1.0/12 Fundamental Data Types: String, Math, Casting 6

7 Flow Control: conditonal operator? testexpr? yesexpr : noexpr Digunakan untuk mempersingkat if-else yang sederhana. Contoh: double x; double y; if (x > 100) { y = x * 0.9; else { y = x; ekuivalen dengan: y = (x > 100)? (x * 0.9) : x; SDA/REVIEW-JAVA/DN/V1.0/13 Flow Control: while while (kondisi) { statement;... /* Pasca kondisi: ~kondisi */ Selama evaluasi dari ekspresi kondisi adalah true, statement dieksekusi. Kemudian kondisi di-evaluasi lagi. Jika evaluasi dari ekspresi kondisi adalah false, maka loop berakhir (statement tidak dieksekusi lagi). Ingat: kondisi di-evaluasi terlebih dahulu! SDA/REVIEW-JAVA/DN/V1.0/14 Fundamental Data Types: String, Math, Casting 7

8 Flow Control: do - while do { statement;... while (kondisi); /* Pasca kondisi: ~kondisi */ statement dieksekusi terlebih dahulu, kemudian kondisi di-evaluasi. statement minimal 1 kali dieksekusi. Jika kondisi true statement dijalankan kembali. Jika kondisi false loop selesai/keluar dari loop. Sering terdapat kebutuhan untuk melakukan statement pada loop terlebih dahulu, setelah itu baru menguji kondisi. SDA/REVIEW-JAVA/DN/V1.0/15 Flow Control: for for (inisialisasi; kondisi; update) { statement; Equivalen dengan while statement inisialisasi; while (kondisi) { statement; update; for umumnya digunakan untuk loop yang sudah jelas jumlah iterasinya. SDA/REVIEW-JAVA/DN/V1.0/16 Fundamental Data Types: String, Math, Casting 8

9 Flow Control: break Digunakan untuk keluar dari loop terdalam (innermost). Tidak baik dalam programming (poor design) Contoh: while (...) {... if (something) { break;... SDA/REVIEW-JAVA/DN/V1.0/17 Flow Control: continue Digunakan untuk melanjutkan ke iterasi selanjutnya tanpa mengeksekusi sisa statement yang ada. Tidak baik dalam programming (poor design) Contoh: for (int ii = 1; ii <= 100; ii++) { if (ii % 10 == 0) { continue; System.out.println (i); SDA/REVIEW-JAVA/DN/V1.0/18 Fundamental Data Types: String, Math, Casting 9

10 Flow Control: Latihan Exercises 1.19 Buat sebuah program yang dapat mencetak semua pasangan integer positif (a, b) dimana a < b < 1000 dan (a 2 + b 2 + 1)/(ab) adalah sebuah integer. SDA/REVIEW-JAVA/DN/V1.0/19 Object Oriented Programming kelas (class) gabungan data-data dan operasi-operasi (method) dengan pembatasan akses satu class membentuk satu type tersendiri obyek (object) personifikasi/instance dari suatu tipe kelas setiap object memiliki: suatu keadaan (state) variable instance / field suatu perilaku (behaviour) method SDA/REVIEW-JAVA/DN/V1.0/20 Fundamental Data Types: String, Math, Casting 10

11 Class Class mencakup: Implementasi detil (blue print) dari suatu objek yang akan dibuat (create) sejenis pabrik objek. Class: menampung methods dengan sifat static dan objek-objek yang dibuat. Class: mendefinisikan implementasi detil dari objek semua method dan field instruksi/kode dari methods tersebut perilaku/behaviour Berdasarkan definisi class object dapat dibuat. SDA/REVIEW-JAVA/DN/V1.0/21 Object Membuat object operator new: mengalokasikan tempat untuk object yang baru mengisialisasi object tersebut dengan memanggil constructor yang sesuai memberikan/mengembalikan alamat dari object yang dibuat. Contoh: new Integer (20); Mendeklarasikan variabel reference ClassName varname; Ingat: mendeklarasikan variabel reference saja tidak berarti membuat object-nya Contoh: Integer x; SDA/REVIEW-JAVA/DN/V1.0/22 Fundamental Data Types: String, Math, Casting 11

12 Object (2) Menyimpan alamat dari sebuah object Alamat dari object perlu disimpan supaya bisa digunakan kembali. Gunakan operator = Contoh: Integer x = new Integer (20); Ingat: operator = tidak menduplikasi object Mengakses field dan menggunakan method gunakan operator. (dot/titik) Contoh: Dimension size; size = getsize (); System.out.println (size.width); System.out.println (size.getwidth()); SDA/REVIEW-JAVA/DN/V1.0/23 Field Digunakan untuk menyimpan keadaan / state sebuah object/kelas Terdapat dua jenis macam field Instance variable Setiap object memiliki instance variable yang berbeda variabel object Static variable Satu class hanya memiliki satu variable statik variabel kelas SDA/REVIEW-JAVA/DN/V1.0/24 Fundamental Data Types: String, Math, Casting 12

13 Method Definisi Method terdiri dari: header penentu akses/access specifier (misalkan: public ) tipe data yang dikembalikan: return type (mis.: double or void) nama dari method (mis. deposit ) daftar dari parameters method body (implementasi dari method) Method yang tidak memiliki body/implementasi method abstract SDA/REVIEW-JAVA/DN/V1.0/25 Method (2) Sama halnya dengan field, terdapat dua jenis method method non-static/instance method yang dipanggil harus ada obyeknya method obyek selalu terdapat parameter implisit this method dapat mengakses variabel instance method static method yang dapat digunakan tanpa harus ada obyeknya method kelas tidak terdapat parameter implisit this method TIDAK dapat mengakses variabel instance Penyaluran Parameter pass by value / call by value caller memberi salinan nilainya kepada calee SDA/REVIEW-JAVA/DN/V1.0/26 Fundamental Data Types: String, Math, Casting 13

14 Reference Type Sebuah variabel reference dalam Java adalah variabel yang menyimpan alamat dimana sebuah object disimpan. Bandingkan dengan variabel primitif dalam Java: variabel yang menyimpan nilai suatu tipe data primitif. Dengan kata lain, variabel reference TIDAK menyimpan object-nya, sedangkan variabel primitif menyimpan object -nya. Jadi tipe data non-primitif / reference dalam Java adalah Object. SDA/REVIEW-JAVA/DN/V1.0/27 Reference Type (2) Operator == Untuk tipe data primitif, operator == dapat digunakan untuk memeriksa apakah dua buah variabel memiliki nilai yang sama. Untuk tipe data reference, operator == dapat digunakan untuk mengetahui apakah dua variabel reference menunjuk ke object yang sama. BUKAN untuk memeriksa apakah dua object yang berbeda memiliki keadaan (state) yang sama. Method equals Method equals dapat digunakan untuk memeriksa apakah dua object memiliki keadaan (state) yang sama. Ada beberapa object (seperti Button), method equals akan mengembalikan nilai true jika keduanya menunjuk ke object yang sama. SDA/REVIEW-JAVA/DN/V1.0/28 Fundamental Data Types: String, Math, Casting 14

15 Array Deklarasi variabel array (array adalah object juga) int [] array1; Ingat: mendeklarasikan variabel reference tidak mengalokasikan tempat / membuat objectnya. Membuat array array1 = new int[100]; int[] array2 = { 2, 3, 7, 5 ; Untuk mengakses elemen array gunakan indeks array1[0] = 20; Karena array adalah object juga, maka operator = tidak berarti menduplikasi array int[] lhs = new int[100]; int[] rhs = new int[100];... lhs = rhs; SDA/REVIEW-JAVA/DN/V1.0/29 Dynamic Array Expansion Misalkan kita ingin membaca barisan integer dari sebuah file dan kita simpan dalam array untuk diproses kemudian. Untuk membuat sebuah array, kita diwajibkan untuk menyatakan besar array tersebut supaya kompilator dapat mengalokasikan tempat yang sesuai. Jika kita tidak mengetahui berapa banyak integer yang akan dibaca, hal ini akan menyulitkan bagi kita untuk menentukan besar array tsb. SDA/REVIEW-JAVA/DN/V1.0/30 Fundamental Data Types: String, Math, Casting 15

16 Dynamic Array Expansion (2) Contoh: int[] a = new int[10]; jika array tidak cukup, kita lakukan pembesaran array sebagai berikut: int[] original = a; a = new int[original.length * 2]; for (int ii = 0; ii < original.length; ii++) { a[ii] = original[ii]; SDA/REVIEW-JAVA/DN/V1.0/31 Array Multidimensi Array yang diakses dengan menggunakan lebih dari satu index. int[][] x = new int[2][5]; Soal: Buatlah sebuah fungsi cantor (diberikan besarnya) yang membuat matriks segitiga (array 2 dimensi), mengisinya dengan angka bertipe double yang bernilai seperti di bawah ini, dan mengembalikannya. Misalnya: untuk parameter besar = 5, maka yang dikembalikan adalah nilai-nilai seperti di bawah ini (dalam decimal/tipe double, bukan dalam pecahan). SDA/REVIEW-JAVA/DN/V1.0/32 Fundamental Data Types: String, Math, Casting 16

17 public static double[][] cantor (int besar) { double[][] result = new double[besar][]; for (int ii = 0; ii < besar; ii++) { result[ii] = new double[besar - ii]; for (int jj = 0; jj < result[ii].length; jj++) { result[ii][jj] = (ii + 1.0) / (jj + 1.0); // perhatikan tipe dari operasinya. // (ii + 1) / (jj + 1) menghasilkan integer return result; SDA/REVIEW-JAVA/DN/V1.0/33 Konsep OOP Berdasarkan empat prinsip utama: abstraksi (abstraction) proses penentuan ciri-ciri/detil-detil yang penting dari sebuah objek pembungkusan (encapsulation) Penggabungan data dan operasi-operasi yang bersesuaian menjadi satu kesatuan keutuhan data dijaga dengan adanya pengendalian akses (information hiding) pewarisan (inheritance) Membuat kelas baru dari kelas yang sudah ada dengan mengembangkannya (extends). Kelas yang baru dapat menambahkan field dan method baru. poliformisme (polymorphism) SDA/REVIEW-JAVA/DN/V1.0/34 Fundamental Data Types: String, Math, Casting 17

18 Polymorfism banyak bentuk Dalam Java ada 2 macam polimorfisme: overloading: polimorfisme trivial overriding: polimorfisme sejati SDA/REVIEW-JAVA/DN/V1.0/35 Overloading penggunaan satu nama untuk beberapa method (fungsi) yang berbeda dalam suatu kelas method-method yang sama namanya itu dibedakan satu dengan yang lain berdasarkan signature-nya Signature suatu fungsi (method) ditentukan oleh: jumlah argumen tipe argumen urutan argumen Overloading ditangani pada waktu kompilasi SDA/REVIEW-JAVA/DN/V1.0/36 Fundamental Data Types: String, Math, Casting 18

19 Overriding poliformisme jenis ini ditangani pada runtime terjadi apabila suatu class mempunyai suatu method yang nama dan signature-nya sama dengan nama dan signature dari suatu method dari superclass ybs. Method dalam class turunan itu menimpa (override) method dalam superclass-nya. Method mana yang dipanggil pada waktu run (runtime) tergantung pada tipe objek yang bersangkutan SDA/REVIEW-JAVA/DN/V1.0/37 Polymorfisme Dalam mendefinisikan method untuk suatu subclass, ada 3 kemungkinan: Meng-override method dari superclass. Yaitu: apabila method yang dibuat mempunyai signature yang sama (nama sama dan daftar parameternya sama) dengan suatu method dari superclass-nya. Meng-inherit method dari superclass. Method dari superclass yang tidak di-override akan diwariskan secara otomatis kepada subclass. Membuat method yang benar-benar baru SDA/REVIEW-JAVA/DN/V1.0/38 Fundamental Data Types: String, Math, Casting 19

20 Polymorfisme Ketika terjadi pemanggilan sebuah method, class/type dari object tersebut yang menentukan implementasi method mana yang digunakan. Ada tidaknya sebuah method ditentukan dari tipe variabel reference-nya Dalam mengakses sebuah field, ditentukan dari tipe variabel reference-nya Keyword super berlaku sebagai reference ke object tetapi dianggap sebagai instance dari superclass-nya. Polimorfisme juga berarti bahwa suatu object dapat mempunyai berbagai bentuk, yaitu: sebagai object dari classnya sendiri ataupun sebagai object dari superclassnya. SDA/REVIEW-JAVA/DN/V1.0/39 Kelas Abstract Kelas abstract berguna untuk menampung semua aspek umum yang dimiliki oleh semua subclass-nya. Suatu method dapat didefinisikan tanpa mengimplementasikannya dengan membuat method itu abstract. Method abstract tidak punya body; bodynya diganti dengan tanda titik koma (;). Class yang mengandung method abstract harus menjadi class abstract. Class abstract tidak bisa dibuat instance/object-nya Subclass dari class abstract bisa di-instantiasi jika subclass itu meng-override dan mengimplementasikan setiap method abstract dari superclass-nya. SDA/REVIEW-JAVA/DN/V1.0/40 Fundamental Data Types: String, Math, Casting 20

21 Kelas Abstract Jika subclass dari class abstract tidak mengimplementasikan semua method abstract yang diwariskan dari superclass-nya, maka subclass itu bersifat abstract juga. SDA/REVIEW-JAVA/DN/V1.0/41 public abstract class Bentuk { public abstract double luas (); public abstract double keliling (); public class Lingkaran extends Bentuk { protected double radius; public Lingkaran (double r) { radius = r; public Lingkaran () { this (1.0); public double luas () { return Math.PI * radius * radius; public double keliling () { return 2 * Math.PI * radius; public double getradius () { return radius; SDA/REVIEW-JAVA/DN/V1.0/42 Fundamental Data Types: String, Math, Casting 21

22 public class SegiEmpat extends Bentuk { protected double lebar, tinggi; public SegiEmpat (double lebar, double tinggi) { this.lebar = lebar; this.tinggi = tinggi; public SegiEmpat () { this (1.0, 1.0); public double luas () { return lebar * tinggi; public double keliling () { return 2 * (lebar + tinggi); public double getlebar () { return lebar; public double gettinggi () { return tinggi; SDA/REVIEW-JAVA/DN/V1.0/43 public class BujurSangkar extends SegiEmpat { public BujurSangkar (double sisi) { super (sisi, sisi); public BujurSangkar () { this (1.0); public double getsisi () { return lebar; SDA/REVIEW-JAVA/DN/V1.0/44 Fundamental Data Types: String, Math, Casting 22

23 public class CobaBentuk { public static void main (String args[]) { Bentuk[] bentuk2 = new Bentuk[3]; bentuk2[0] = new Lingkaran (3.0); bentuk2[1] = new SegiEmpat (1.0, 2.0); bentuk2[2] = new BujurSangkar (4.0); double luastotal = 0.0; double kelilingtotal = 0.0; for (int ii = 0; ii < bentuk2.length; ii++) { luastotal += bentuk2[ii].luas(); kelilingtotal += bentuk2[ii].keliling(); System.out.println ("Luas total = " + luastotal); System.out.println ("Keliling total = " + kelilingtotal); SDA/REVIEW-JAVA/DN/V1.0/45 Insertion Sort (1) Masih ingat cara mengurutkan dengan cara menyisipkan? Seperti bermain kartu SDA/REVIEW-JAVA/DN/V1.0/46 Fundamental Data Types: String, Math, Casting 23

24 Insertion Sort (2) Insertion sort untuk mengurutkan array integer public static void insertionsort (int[] a) { for (int ii = 1; ii < a.length; ii++) { int jj = ii; while (( jj > 0) && (a[jj] < a[jj - 1])) { int temp = a[jj]; a[jj] = a[jj - 1]; a[jj - 1] = temp; jj--; Perhatikan: ternyata nilai di a[jj] selalu sama dapat dilakukan efisiensi di sini. SDA/REVIEW-JAVA/DN/V1.0/47 Insertion Sort (3) Insertion sort yang lebih efisien public static void insertionsort2 (int[] a) { for (int ii = 1; ii < a.length; ii++) { int temp = a[ii]; int jj = ii; while (( jj > 0) && (temp < a[jj - 1])) { a[jj] = a[jj - 1]; jj--; a[jj] = temp; SDA/REVIEW-JAVA/DN/V1.0/48 Fundamental Data Types: String, Math, Casting 24

25 Insertion Sort (4) Bagaimana jika diperlukan method untuk mengurutkan array dari String, array dari Lingkaran (berdasarkan radiusnya)? Apakah mungkin dibuat suatu method yang bisa dipakai untuk semua jenis object? Ternyata supaya object bisa diurutkan, harus bisa dibandingkan dengan object lainnya (mempunyai behavior bisa dibandingkan - comparable method). Solusinya: Gunakan interface yang mengandung method yang dapat membandingkan dua buah object. SDA/REVIEW-JAVA/DN/V1.0/49 Interface Suatu class selain bisa meng-extends satu superclass, ia bisa meng-implements satu atau lebih interface. Aspek-aspek umum comparable dituangkan dalam suatu interface dalam package java.lang: public interface Comparable { public int compareto (Object ob); Akan mengembalikan nilai integer: negatif: object-nya lebih kecil dibandingkan dengan parameternya. 0: sama besarnya positif: object-nya lebih besar SDA/REVIEW-JAVA/DN/V1.0/50 Fundamental Data Types: String, Math, Casting 25

26 Interface: Contoh public class LingkaranComparable extends Lingkaran implements Comparable { public LingkaranComparable (double r) { super (r); public int compareto (Object other) { LingkaranComparable otherlingkaran = (LingkaranComparable) other; if (radius < otherlingkaran.getradius ()) { return -1; else if (radius > otherlingkaran.getradius ()) { return 1; else { return 0; // kasus == SDA/REVIEW-JAVA/DN/V1.0/51 Insertion Sort: umum Insertion sort yang umum public static void insertionsort3 (Comparable[] a) { for (int ii = 1; ii < a.length; ii++) { Comparable temp = a[ii]; int jj = ii; while (( jj > 0) { && (temp.compareto (a[jj - 1]) < 0)) a[jj] = a[jj - 1]; jj--; a[jj] = temp; SDA/REVIEW-JAVA/DN/V1.0/52 Fundamental Data Types: String, Math, Casting 26

27 import java.util.*; public class SortLingkaran { public static void main (String args[]) { LingkaranComparable[] ling = new LingkaranComparable[20]; Random generator = new Random (); for (int ii = 0; ii < ling.length; ii++) { ling[ii] = new LingkaranComparable ( 1 + generator.nextint (100)); System.out.print (ling[ii].getradius () + " "); System.out.println (); Sort.insertionSort3 (ling); for (int ii = 0; ii < ling.length; ii++) { System.out.print (ling[ii].getradius () + " "); System.out.println (); SDA/REVIEW-JAVA/DN/V1.0/53 Interface Semua method dalam interface bersifat abstract. (Keyword abstract bisa ditulis kalau mau.) Semua variabel dalam interface harus bersifat static dan final (konstan) Suatu class meng-implements suatu interface, berarti class itu harus memberikan implementasi untuk setiap method dari interface tersebut. Seperti class, interface adalah tipe data. Interface sering dipakai untuk mendefinisikan konstanta-konstanta. SDA/REVIEW-JAVA/DN/V1.0/54 Fundamental Data Types: String, Math, Casting 27

28 Interface Suatu interface dapat meng-extends satu atau lebih interface lain. Suatu sub-interface mewarisi semua method abstract dan variabel dari super-interface-nya, dan belum mendefinisikan method abstract baru dan variabel (konstanta) baru. Contoh: public interface DrawingObject extends Drawable, Transformable {... public class Bentuk implements DrawingObject {... SDA/REVIEW-JAVA/DN/V1.0/55 Exception (1) Exception menyatakan bahwa suatu keadaan luar biasa (exceptional) telah terjadi. Object Exception menyimpan informasi tentang suatu kejadian yang diluar keadaan normal. throw suatu exception menimbulkan exception catch suatu exception menangkap exception dan mengambil tindakan yang diperlukan untuk mengatasi keadaan SDA/REVIEW-JAVA/DN/V1.0/56 Fundamental Data Types: String, Math, Casting 28

29 Exception (2) throws menyatakan exception yang dipropagasikan. Digunakan untuk method yang tidak catch exception yang diperiksa (checked exception) Exception yang tidak di-catch akan menjalar naik melewati block dari method, sesuai dengan stack pemanggilan method. Exception yang sama sekali tidak di-catch akan menjalar naik sampai ke method main() dan interpreter Java akan mengeluarkan pesar error/exception dan stack-trace kemudian berhenti. SDA/REVIEW-JAVA/DN/V1.0/57 Exception Exception = suatu objek dari suatu subclass dari class java.lang.throwable Throwable Error Exception Error kondisi tak terpulihkan; misalnya: linkage problem, out of memory Exception kondisi dapat terpulihkan; misalnya: EOFException, ArrayIndexOutOfBoundException. SDA/REVIEW-JAVA/DN/V1.0/58 Fundamental Data Types: String, Math, Casting 29

30 Exception Handling menggunakan statement try/catch/finally try menandai block perintah (disebut dengan blok try) yang mungkin menimbulkan exception yang perlu ditangani. Blok try diikuti oleh nol atau lebih blok catch yang bertugas me-catch ( menangkap ) dan menangani tipe exception tertentu. Setelah blok catch, boleh ada blok finally yang biasanya berisi perintah-perintah untuk clean-up. Statement-statement dalam blok finally pasti dilaksanakan tak peduli apa yang terjadi dalam blok try. Jika kontrol meninggalkan blok try karena statement break, continue atau return; blok finally dilaksanakan sebelum pindah ke tujuan baru. SDA/REVIEW-JAVA/DN/V1.0/59 Contoh Pola Exception Handling try { // statement-statement di sini biasanya berjalan tanpa // masalah, tetapi kadang-kadang bisa timbul exception catch (SuatuException e1) { // menangani exception yang bertipe SuatuException atau // sub-kelasnya. Informasi tentang exception terdapat // pada object yang di-reference oleh e1 catch (ExceptionLain e2) { // menangani exception yang bertipe ExceptionLain atau // sub-kelasnya. Informasi tentang exception terdapat // pada object yang di-reference oleh e2 finally { // statement-statement dalam blok ini selalu // dilaksanakan tak peduli bagaimana blok try di-exit SDA/REVIEW-JAVA/DN/V1.0/60 Fundamental Data Types: String, Math, Casting 30

31 Input Output Package: java.io Bekerja berdasarkan konsep stream Stream adalah: suatu barisan (sequence) data yang mempunyai sumber (source) atau tujuan (destination). Stream yang mempunyai sumber disebut inputstream Stream yang mempunyai tujuan disebut outputstream SDA/REVIEW-JAVA/DN/V1.0/61 Stream Steram: byte-stream 1 byte = 8 bit char-stream 1 char = 16 bit dalam Unicode Input stream yang terdiri dari barisan character (dalam format teks) disebut Reader. Output stream yang terdiri dari barisan character (dalam format teks) disebut Writer. SDA/REVIEW-JAVA/DN/V1.0/62 Fundamental Data Types: String, Math, Casting 31

32 Akses File I/O dalam format teks lebih mudah bagi manusia dan bisa di-edit dengan suatu text-editor (mis: vi, vim, emacs, edit, notepad, pico, dll) I/O dalam format binary lebih kompak (ringkas) dan lebih efisien. File adalah suatu barisan data dalam format (record tertentu) yang terekam pada suatu medium storage (disk, tape, CD, dll.) SDA/REVIEW-JAVA/DN/V1.0/63 Akses File Teks Untuk membaca data teks dari suatu file, kita buat suatu object bertipe FileReader Contoh: FileReader rd = new FileReader ( input.txt ); Untuk menulis data teks ke suatu file, kita buat suatu object bertipe FileWriter Contoh: FileWriter fw = new FileWriter ( output.txt ); SDA/REVIEW-JAVA/DN/V1.0/64 Fundamental Data Types: String, Math, Casting 32

33 Akses File Biner Untuk membaca data biner dari suatu file, kita buat suatu object bertipe FileInputStream Contoh: FileInputStream fis = new FileInputStream ( input.dat ); Untuk menulis data biner ke suatu file, kita buat suatu object bertipe FileOutputStream. Contoh: FileOutputStream fos = new FileOutputStream ( output.dat ); SDA/REVIEW-JAVA/DN/V1.0/65 Contoh: Pembaca File Teks import java.io.*; public class BacaFile { public static void main (String[] args) { FileReader rd = null; BufferedReader buffer = null; try { rd = new FileReader (args[0]); buffer = new BufferedReader (rd); String line = buffer.readline (); while (line!= null) { System.out.println (line); line = buffer.readline (); SDA/REVIEW-JAVA/DN/V1.0/66 Fundamental Data Types: String, Math, Casting 33

34 catch (FileNotFoundException e) { System.out.println ("File tidak ditemukan"); catch (IOException e) { System.err.println ("IO Exception terjadi"); e.printstacktrace (); catch (Exception e) { System.err.println ("Exception terjadi"); e.printstacktrace (); finally { if (buffer!= null) { try { buffer.close (); catch (IOException e) { SDA/REVIEW-JAVA/DN/V1.0/67 Summary Tipe data dalam Java: primitif & reference Dalam evaluasi sebuah ekspresi, perhatikan presedensi dan asosiasi operator, tipe operand. Flow Control: branch if, if-else-if switch: untuk if-else-if dengan kondisi ==, lebih efisien operator?: untuk if-else sederhana Flow Control: looping while: evaluasi kondisi, kemudian eksekusi statement jika kondisi true for: mirip seperti while, digunakan untuk iterasi yang jumlahnya sudah diketahui do-while: eksekusi statement dahulu, kemudian evaluasi kondisi. statement minimal 1 x dieksekusi. SDA/REVIEW-JAVA/DN/V1.0/68 Fundamental Data Types: String, Math, Casting 34

35 Summary (2) Class & Object Object adalah personifikasi dari class. Perilaku dari object direpresentasikan dalam method. Keadaan dari object direpresentasikan dalam field/variabel instance. Tidak efisien untuk memperbesar array Class abstract Interface Exception digunakan untuk mengindikasikan suatu keadaan luar biasa telah terjadi. Input output SDA/REVIEW-JAVA/DN/V1.0/69 Further Reading Bahan-bahan KP1 Data Structures & Problem Solving using Java. Chapter 1-4 SDA/REVIEW-JAVA/DN/V1.0/70 Fundamental Data Types: String, Math, Casting 35

36 What s Next Analisa Algoritma (Chapter 5) SDA/REVIEW-JAVA/DN/V1.0/71 Fundamental Data Types: String, Math, Casting 36

Struktur Data dan Algoritma

Struktur Data dan Algoritma Struktur Data dan Algoritma Review Java & OOP Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/ IKI80110P 2009/2010 Ganjil Minggu 1 Tujuan

Lebih terperinci

Tujuan Instruksional. Mahasiswa mampu :

Tujuan Instruksional. Mahasiswa mampu : Tujuan Instruksional Mahasiswa mampu : Mengulang dan mengingatkan kembali tentang Dasar Pemrograman Mengigatkan kembali pemahaman tentang Flow Control, Looping, dll Penting!! Kehadiran kurang dari 80%

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...

Lebih terperinci

BAB II VARIABEL DAN TIPE DATA

BAB II VARIABEL DAN TIPE DATA BAB II VARIABEL DAN TIPE DATA Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan

Lebih terperinci

JAVA BASIC PROGRAMMING Joobshet

JAVA BASIC PROGRAMMING Joobshet JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa

Lebih terperinci

PENGENALAN JAVA (2)

PENGENALAN JAVA (2) PENGENALAN JAVA (2) http://www.brigidaarie.com Sub Pokok Bahasan Tipe data Variabel Reader input Java output Formating output in java Pengelompokan tipe data dalam Java Integer Byte Short Int Long Floating

Lebih terperinci

Badiyanto, S.Kom., M.Kom. PBO java

Badiyanto, S.Kom., M.Kom. PBO java Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).

Lebih terperinci

PEMAHAMAN DASAR DASAR JAVA

PEMAHAMAN DASAR DASAR JAVA MODUL 1 PEMAHAMAN DASAR DASAR JAVA A. PENGANTAR JAVA Java Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java. Development Kit dapat didownload

Lebih terperinci

2 TIPE DATA DAN VARIABEL

2 TIPE DATA DAN VARIABEL BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:

Lebih terperinci

PRAKTIKUM 7 DASAR INPUT OUTPUT

PRAKTIKUM 7 DASAR INPUT OUTPUT PRAKTIKUM 7 DASAR INPUT OUTPUT A. TUJUAN 1. Memahami dasar-dasar input-ouput dalam pemrograman Java 2. Memahami prinsip kerja stream 3. Memahami penggunaan console dalam proses input-output B. DASAR TEORI

Lebih terperinci

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai

Lebih terperinci

Elemen Dasar Dalam Bahasa Java

Elemen Dasar Dalam Bahasa Java Elemen Dasar Dalam Bahasa Java 1. Kata Kunci Kata kunci adalah kata-kata yang didefenisikan oleh compiler dan memiliki arti dan tujuan spesifik. Java tidak mengizinkan kata-kata tersebut dipakai sebagai

Lebih terperinci

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA 1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa

Lebih terperinci

BEKERJA DENGAN JAVA CLASS LIBRARY

BEKERJA DENGAN JAVA CLASS LIBRARY MK. Pemrograman Berorientasi Objek BEKERJA DENGAN JAVA CLASS LIBRARY (CLASS-METHOD-OBJECT) KARMILASARI ANALOGI OBJEK DALAM DUNIA NYATA Objek di dunia nyata = Objek dalam perangkat lunak Atribut di dunia

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

Dasar Pemrograman Java

Dasar Pemrograman Java Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid

Lebih terperinci

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obektif: Praktikan mengetahui arra, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum

Lebih terperinci

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR BAB 3 TYPE DATA, VARIABLE DAN OPERATOR Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman

Lebih terperinci

BAHASA PEMROGRAMAN JAVA

BAHASA PEMROGRAMAN JAVA MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran

Lebih terperinci

Percobaan 6 Exception

Percobaan 6 Exception Percobaan 6 Exception Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa

Lebih terperinci

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom BAB III DASAR-DASAR PEMROGRAMAN Tipe Data Data adalah sekumpulan kejadian/fakta yang dipresentasikan dengan huruf, angka,

Lebih terperinci

PERCOBAAN 6 EXCEPTION

PERCOBAAN 6 EXCEPTION PERCOBAAN 6 EXCEPTION Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa

Lebih terperinci

Percabangan & Perulangan

Percabangan & Perulangan BRACHIG & LOOPIG Percabangan & Perulangan Pemrograman Berbasis Obyek Pertemuan 3 IT-EEPIS Percabangan -else else- switch (ekspresi boolean) { pernyataan1; pernyataan2; ekspresi = true pernyataan1 pernyataan2

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : KAPITA SELEKTA BAHASA PEMROGRAMAN Kode Mata Kuliah : MI - 15310 Jurusan / Jenjang : S1 SISTEM INFORMASI

Lebih terperinci

DASAR PEMOGRAMAN JAVA

DASAR PEMOGRAMAN JAVA DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana

Lebih terperinci

Percabangan & Perulangan

Percabangan & Perulangan Struktur Dasar Java Percabangan & Perulangan Object-oriented Programming (OOP) with JAVA 2011/2012 Macam-macam Percabangan if (...) if ( ) else ( ) if ( ) else if ( ) else ( ) switch ( ) Percabangan :

Lebih terperinci

SILABUS MATA KULIAH PEMROGRAMAN JAVA

SILABUS MATA KULIAH PEMROGRAMAN JAVA A. IDENTITAS MATA KULIAH Program Studi : Teknik Informatika Mata Kuliah : Pemrograman Java Kode : SP331 Bobot : 4 (empat) sks Kelas : MI Semester : 4 (empat) Mata kuliah prasyarat : Tidak ada Deskripsi

Lebih terperinci

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04) TIPE DATA PADA JAVA Pertemuan (K-04/L-04) Alangkah baiknya kita mempelajari terlebih dahulu tentang apa itu tipe data dan mengenal ada berapa tipe data yang digunakan dalam Bahasa Pemrograman Java. Sudah

Lebih terperinci

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya Exception Handling Topik Kategori Exception try, catch, finally Method yang melempar exception Aturan overriding method dan exception Membuat class exception baru Definisi Exception Suatu mekanisme penanganan

Lebih terperinci

PRAKTIKUM 6 EXCEPTION

PRAKTIKUM 6 EXCEPTION PRAKTIKUM 6 EXCEPTION A. TUJUAN Memahami konsep, tipe, dan cara penanganan eksepsi. Memahami cara melontar dan menangkap eksepsi. Memahami konsep try catch dan catch secara bertingkat. Memahami klausa

Lebih terperinci

Pemrograman Berorientasi Obyek. Dasar Pemrograman Java

Pemrograman Berorientasi Obyek. Dasar Pemrograman Java Pemrograman Berorientasi Obyek Dasar Pemrograman Java 1 Materi Pokok Membedakan antara valid dan invalid identifiers. Mengetahui Java technology keywords. Mengetahui 8 tipe data primitif. Mendefinisikan

Lebih terperinci

Operator dan Assignment

Operator dan Assignment Operator dan Assignment Macam-macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional Op.

Lebih terperinci

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS JAVA FUNDAMENTAL Nama : Julian Chandra W Telp : 085647155605 Email : maeztro_87@yahoo.co.id Referensi : 1. Benny Hermawan. 2004. Menguasai Java 2 & Object Oriented Programming. Andi. 2. Bambang Hariyanto.

Lebih terperinci

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO Ramos Somya Identifier Merupakan nama yang digunakan untuk menamai class, variabel, method dan interface. Aturan: - Tidak ada batasan

Lebih terperinci

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo. Waktu Sisa : 2:14:53 1. Dari pilihan berikut ini, item manakah yang memiliki atribut dan behaviour? object class attribute data type method behavior 2. Pilih instruksi yang dapat digunakan dalam method

Lebih terperinci

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obyektif: Praktikan mengetahui array, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum dari array, percabangan, dan perulangan dalam

Lebih terperinci

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception. PRAKTIKUM 18 MELEMPAR EXCEPTION DAN MEMBUAT EXCEPTION SENDIRI A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception.. Mengetahui cara membuat sendiri class exception.

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 6 1 3/11/2015 WEEK 6 Abstract Class Interface Exception 2 3/11/2015 ABSTRACT

Lebih terperinci

Membuat dan Menggunakan Class

Membuat dan Menggunakan Class Pertemuan 3 Halaman 1/1 Membuat class pada java : Untuk mendefinisikan suatu class pada java digunakan : class ClassName { suatu class dapat terdiri dari - attribute / data field - method Attribute Attribute

Lebih terperinci

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH) PEMROGRAMAN JAVA Yoannita, S.Kom Input Kondisi (IF-ELSE, SWITCH) 1 import java.io.* Operasi input/output dimaksudkan untuk berinteraksi dengan user, User mengetikkan sesuatu input, program java akan menerima

Lebih terperinci

Pemrograman Berbasis Objek Operator dan Assignment

Pemrograman Berbasis Objek Operator dan Assignment Operator dan Assignment Macam-macam macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional

Lebih terperinci

Pemrograman Berorientasi Object

Pemrograman Berorientasi Object Pemrograman Berorientasi Object Apa itu Exception? Singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Contoh Error pembagian

Lebih terperinci

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Berorientasi. Class dan Obyek 2 Pemrograman Berorientasi Obyek Class dan Obyek 2 anton@ukdw.ac.id Method main pada Java public static void main(string[] args) Merupakan bagian yang dieksekusi oleh program Java Sifat: public, static,

Lebih terperinci

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK Farah Zakiyah Rahmanti, M.T 2015 Overview Definisi Teknologi Java Konsep Pemrograman Procedural dan OOP Struktur Java, Identifier, Kata Kunci, Tipe Data, Operator,

Lebih terperinci

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file Topik Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file Stream I/O Semua data di Java dibaca dan ditulis dengan menggunakan

Lebih terperinci

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi Tujuan Pada akhir pembahasan, siswa diharapkan dapat : JAVA Education Network Indonesia Bekerja dengan Java Class Library Pengenalan Pemrograman 1 Menjelaskan OOP dan beberapa konsepnya Membedakan antara

Lebih terperinci

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Materi kuliah ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung

Lebih terperinci

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek Polymorphism Materi ke-8 Pemrograman Berbasis Objek Pengertian Polymorphism = polimorfisme Poly (banyak) + morphos (bentuk) : banyak bentuk Kemampuan untuk menghandle banyak bentuk Kemampuan untuk memproses

Lebih terperinci

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. KENDALI PROSES Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. PERINTAH KONDISIONAL Pemrograman Java memiliki 2 Decision-making

Lebih terperinci

PERTEMUAN 3 OBJEK DAN CLASS

PERTEMUAN 3 OBJEK DAN CLASS PERTEMUAN 3 OBJEK DAN CLASS Obyektif: Praktikan memahami perbedaan objek dan class pada Java. Praktikan memahami konsep berorientasi objek. Praktikan dapat membuat program sederhana dengan menggunakan

Lebih terperinci

BAB Argument Command-Line dan System Properties

BAB Argument Command-Line dan System Properties BAB 5 Aplikasi Berbasis Teks 5.1 Tujuan Pembahasan kali ini akan menitikberatkan pada bahasan penggunaan argument command-line. Selebihnya, Anda akan mempelajari mengenai penggunaan streams untuk mendapatkan

Lebih terperinci

BAB 1 KONSEP DASAR JAVA

BAB 1 KONSEP DASAR JAVA BAB 1 KONSEP DASAR JAVA TUGAS PENDAHULUAN Buatlah algoritma dari program yang ada dalam kegiatan praktikum ini! 1. TUJUAN a. Mahasiswa mengetahui dasar dan elemen-elemen pembentuk bahasa Java b. Mahasiswa

Lebih terperinci

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI Bahasa Pemrograman Java Yudi Adha. ST. MMSI Tujuan Pada bagian ini, kita akan mendiskusikan mengenai bagian dasar pemrograman Java. Kita akan memulai dengan mencoba menjelaskan bagian dasar dari program

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Pengenalan JAVA 1 anton@ukdw.ac.id Instalasi JDK Download JDK for free Instalasi biasa Set PATH dan JAVA_HOME set PATH=%PATH%; set JAVA_HOME=

Lebih terperinci

BAB IV HASIL PENELITIAN DAN PENERAPAN

BAB IV HASIL PENELITIAN DAN PENERAPAN 87 BAB IV HASIL PENELITIAN DAN PENERAPAN 4.1 Karakteristik bahasa pemrograman DOGI Berikut ini akan dijabarkan karakteristik-karakteristik bahasa pemrograman DOGI yang mempengaruhi readability, writability

Lebih terperinci

Percabangan dan Perulangan

Percabangan dan Perulangan Percabangan dan Perulangan uliana Setiowati Politeknik Elektronika egeri Surabaya 2011 1 Topik Percabangan switch Perulangan Special Loop Control 2 Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan

Lebih terperinci

Exception Handling. Topik

Exception Handling. Topik Exception Handling Topik Kategori Exception try, catch, finally Method yang melempar exception Aturan overriding method dan exception Membuat class exception baru 1 Definisi Exception Suatu mekanisme penanganan

Lebih terperinci

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return EXCEPTION 1. 0 1 2 3 4 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return Kode didalam block try telah dieksekusi dengan benar Method System.exit()

Lebih terperinci

Nama : Julian Chandra W Telp :

Nama : Julian Chandra W Telp : JAVA FUNDAMENTAL Nama : Julian Chandra W Telp : 085647155605 Email : maeztro_87@yahoo.co.id julian.chand@gmail.com Referensi : 1. Benny Hermawan. 2004. Menguasai Java 2 & Object Oriented Programming. Andi.

Lebih terperinci

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch Waktu Sisa : 0:55:52 1. 0 1 2 3 4 2. Sebuah variabel dalam local method bisa diakses dari dalam block try-catch. Dimana variabel tersebut sebaiknya dideklarasikan? Variabel tersebut seharusnya dideklarasikan

Lebih terperinci

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream. STREAM DAN FILE Proses penulisan dan pembacaan data sering kita sebut dengan proses input dan output, dimana penulisan data berarti mengalirkan data ke output dan menerima atau mendapatkan data dari input.

Lebih terperinci

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block Waktu Sisa : 0:43:4 1. Sukses Kesalahan pada URL File tidak lengkap Kesalahan umum Mengerjakan finally Diluar block 2. Method hallo() bisa melempar java.io.ioexception, java.lang.runtimeexception, atau

Lebih terperinci

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai) Variabel dan Tipe Data Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai) Nilai variabel dapat diubah di pernyataan manapun di dalam program Java Basic By Didit Setya

Lebih terperinci

Pengenalan JavaScript

Pengenalan JavaScript Pengenalan JavaScript Tujuan - Mahasiswa memahami konsep dasar Javascript - Mahasiswa mampu memahami cara menggunakan Javascript - Mahasiswa mampu memahami dasar variabel di Javascript - Mahasiswa mampu

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 2 1 3/11/2015 WEEK 2 Class Driver Constructor Public vs private Get dan set

Lebih terperinci

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita PEMROGRAMAN JAVA Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita Education is not the filling of a pail, but the lighting of a fire. (William

Lebih terperinci

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA Mata Kuliah : Teknik Pemrograman Terstruktur 2 Fakultas/Jurusan : Ilmu Komputer/Manajemen Informatika Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA Minggu Pokok Bahasan/Materi 1 Pokok Bahasan :

Lebih terperinci

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih Overriding, Overloading, Polymorphism Pertemuan 10 Pemrograman Berbasis Obyek Oleh Tita Karlita Topik Overriding Overloading Constructor overloading Polymorphism Virtual Method Invocation Polymorphic arguments

Lebih terperinci

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Waktu Sisa : 0:59:57 1. Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Output: Bapak null Anak Error karena constructor Bapak(String

Lebih terperinci

Modul 3 Flow Control dan Input

Modul 3 Flow Control dan Input Modul 3 Flow Control dan Input Flow control terbagi menjadi dua, yaitu control seleksi dan control perulangan. 1. KONTROL SELEKSI Kontrol seleksi digunakan untuk membuat pemilihan terhadap aksi yang akan

Lebih terperinci

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: a. Abstraksi (abstraction) b. Pembungkusan (encapsulation) c. Pewarisan (inheritence)

Lebih terperinci

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009 SOAL C++ 1. Penulisan Preprocessor yang benar di awali dengan tanda pound atau tanda : a. # c. @ b. & d. = 2. Contoh penulisan file header yang benar yaitu : a. &include c. =include

Lebih terperinci

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: 1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: Program dapat di-compile dan output-nya adalah 5 Program dapat di-compile dan output-nya adalah 6 Program akan

Lebih terperinci

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class OBJECT, CLASS DAN METHOD Obyektif : 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class Object dan Class class Dalam dunia nyata,

Lebih terperinci

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words Comments Comments digunakan untuk memberikan keterangan/penjelasan suatu baris program. Comments tidak akan dikompilasi oleh compiler. Lambang untuk comments : - double slash ( // ) untuk memberikan penjelasan

Lebih terperinci

Pemrograman Lanjut Exception Handling PTIIK

Pemrograman Lanjut Exception Handling PTIIK Pemrograman Lanjut Exception Handling PTIIK - 2013 Objectives Memahami konsep dan Mendefinisikan Exception Handling Menangani exception menggunakan blok trycatch-finally Keyword throw dan throws Kategori

Lebih terperinci

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:10:57 1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception?

Lebih terperinci

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:20:31 1. Sukses Kesalahan pada URL File tidak lengkap Kesalahan umum Mengerjakan finally

Lebih terperinci

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional Badiyanto, S.Kom, M.Kom Sesi 8 Event Handling & Exception Handling Kode MK : TI50UT Revisi Terakhir : 2016 Tujuan Intruksional Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method

Lebih terperinci

Inheritance dan Kata Kunci static

Inheritance dan Kata Kunci static Inheritance dan Kata Kunci static PEWARISAN (INHERITANCE) Salah satu fitur yang paling kuat dalam OOP adalah penggunaan kode kembali (code reuse). Sekali sebuah prosedur dibuat, maka kita bisa menggunakannya

Lebih terperinci

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING LABORATORIUM PEMROGRAMAN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2011/2012 1. TUJUAN Mahasiswa

Lebih terperinci

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis Waktu Sisa : 0:58:12 1. Package mana yang memiliki class IOException? java.util java.text java.error java.io 2. Pilihan manakah di bawah ini yang paling tepat mendeskripsikan langkah-langkah penting dalam

Lebih terperinci

Modul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA

Modul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA Modul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA JUNI 2010 PENDAHULUAN Setelah sebelumnya kita sudah berhasil membuat

Lebih terperinci

2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini

2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini Waktu Sisa : 1:8:52 1. 2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini Mengembalikan nama dari parent directory Menghapus file Menuliskan

Lebih terperinci

Dapat dicompile dan mendapat output hai. Dapat dicompile dan mendapat output disana

Dapat dicompile dan mendapat output hai. Dapat dicompile dan mendapat output disana Waktu Sisa : 10:24:27 1. Compile error Dapat dicompile dan mendapat output hai Dapat dicompile dan mendapat output disana Tidak ada jawaban yang benar 2. Tidak ada file Tidak ada file -1 Tidak ada file,melakukan

Lebih terperinci

Bahasa Pemrograman :: Dasar Pemrograman Java

Bahasa Pemrograman :: Dasar Pemrograman Java Bahasa Pemrograman :: Julio Adisantoso ILKOM IPB 26 April 2010 Bahasa Pemrograman :: 1 2 Program Hello World Java literal Tipe data Pernyataan print Latihan 3 BufferReader JOptionPane 4 Panjang array 5

Lebih terperinci

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Abstract Class dan Interface. Viska Mutiawani, M.Sc Abstract Class dan Interface Viska Mutiawani, M.Sc Konsep Penting Abstract class Abstract method Interface Implements Final Static Exception Contoh Polimorfisme Lihat contoh program yang disediakan pada

Lebih terperinci

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 1:58:53 1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference

Lebih terperinci

Pertemuan 4 Array pada Java

Pertemuan 4 Array pada Java Pertemuan 4 Array pada Java Objektif : 1. Mahasiswa dapat memahami pengertian Array pada Java 2. Mahasiswa dapat mengetahui bentuk umum dari Array 3. Mahasiswa dapat mengetahui jenis-jenis Array pada Java

Lebih terperinci

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit BAHASA PEMROGRAMAN Untuk SMK Penulis Editor Perancang Kulit Ukuran Buku : Suprapto Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto : Ratu Amilia Avianti : Tim : 18,2 x 15,7 cm Direktorat Pembinaan

Lebih terperinci

Obyektif : KONTROL ALUR PROGRAM

Obyektif : KONTROL ALUR PROGRAM KONTROL ALUR PROGRAM Obyektif : 1. Mengetahui dan memahami tentang percabangan (seleksi) 2. Mengetahui dan memahami tentang perulangan (iterasi) 3. Dapat membuat program tentang control alur program PERCABANGAN

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : PEMROGRAMAN BAHASA C++ Kode Mata Kuliah : MI - 24203 Jurusan / Jenjang : S1 SISTEM KOMPUTER Tujuan Instruksional

Lebih terperinci

IT210 Pemrograman Visual. Ramos Somya

IT210 Pemrograman Visual. Ramos Somya IT210 Pemrograman Visual Ramos Somya Variabel adalah tempat untuk menyimpan data yang memiliki suatu tipe data. Variabel ini akan ditempatkan dalam suatu alamat memori pada komputer. C# mengharuskan setiap

Lebih terperinci

Pemrograman II (Java)

Pemrograman II (Java) SATUAN ACARA PERKULIAHAN Kode Mata Kuliah: IF0813/3 sks Program Studi: S 1 Sistem Informasi INSTITUT KEUANGAN PERBANKAN INFORMATIKA ASIA PERBANAS Jl. Perbanas, Karet Kuningan, Setiabudi, Jakarta 12940,

Lebih terperinci

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya Exception Handling Kategori Exception Topik Pemrograman Berbasis Objek try, catch, finally Method yang melempar exception Aturan overriding method dan exception Membuat class exception baru Definisi Exception

Lebih terperinci

Bab 8. Dasar-Dasar OOP

Bab 8. Dasar-Dasar OOP Bab 8. Dasar-Dasar OOP Pemrograman Berorientasi Obyek Politeknik Elektronika Negeri Surabaya 2007 Overview Introduction Encapsulation Information Hiding Interface to access data Constructor Overloading

Lebih terperinci

Bahasa Pemrograman :: Polimorfism and Abstraction

Bahasa Pemrograman :: Polimorfism and Abstraction Bahasa Pemrograman :: and Abstraction Julio Adisantoso ILKOM IPB 24 Mei 2010 Access Modifiers Access Modifiers Accessor Methods Mutator Methods Inheritance Akses Default (Package Accessibility) Tidak terdapat

Lebih terperinci

Pemrograman Berorientasi Obyek. Operator & Assignment

Pemrograman Berorientasi Obyek. Operator & Assignment Pemrograman Berorientasi Obyek Operator & Assignment 1 MATERI POKOK Unary operator Arithmetic operator Shift operator: , dan >>> Comparison operator Bitwise operator: &, ^, dan. Short Circuit operator

Lebih terperinci

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 1 of 14 2/21/2008 2:34 PM Waktu Sisa : 0:43:58 1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 2 of 14 2/21/2008 2:34 PM 2. Pernyataan manakah yang benar mengenai

Lebih terperinci