IKG2I4 / Software Project I

dokumen-dokumen yang mirip
IKG2I4 / Software Project I

IKG2I4 / Software Project I

IKG2I4 / Software Project I

Pemrograman Berorientasi. Class dan Obyek 2

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

SUMBER BELAJAR PENUNJANG PLPG

Modul II Object Oriented Programming

Bahasa Pemrograman 2.

Percabangan & Perulangan

Java Application. Menampilkan Tulisan

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

DASAR PEMOGRAMAN JAVA

PEMAHAMAN DASAR DASAR JAVA

2 Class dan Object (1)

Dasar Pemrograman Java

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

Membuat dan Menggunakan Class

Java Application. Aplikasi: Menampilkan Tulisan

Jobsheet 09. Overloading and Overriding Method

BAHASA PEMROGRAMAN JAVA

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

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Bab 8. Dasar-Dasar OOP

MODUL 1 PENGENALAN OOP

Dasar Pemrograman Java

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

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

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Method / Fungsi / Sub Program

3 Class dan Object (2)

Class & Object 2. Imam Fahrur Rozi

Parent dan Child di Java

BAB II VARIABEL DAN TIPE DATA

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

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

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

PEMROGRAMAN BERORIENTASI OBJEK

2 TIPE DATA DAN VARIABEL

Pengenalan Java, Tipe Data, Variabel dan Operator. Putu Putra Astawa

Praktikum 3 Konsep Class, Attribute dan Method

Tujuan Instruksional. Mahasiswa mampu :

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Pengenalan Algoritma

PEWARISAN D E W I S A R T I K A, M. K O M

MATERI PRAKTIKUM STRUKTUR DATA

STRUKTUR PEMROGRAMAN PYTHON

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

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

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON

Inheritance dan Kata Kunci static

OBJECT ORIENTED PROGRAMMING (OOP)

MODUL 1. Class, Object, Constructor dan Method

Nama : Julian Chandra W Telp :

BAB 3 STRUKTURE PROGRAM JAVA

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

BAB 3 CLASS DAN OBJECT. Tujuan:

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Dasar-Dasar Pemrograman Java

Konsep Dasar Pemrograman Berorientasi Objek

Struktur Program Bahasa C

Modul Praktikum 1 Pemograman Berorientasi Objek

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Struktur Kontrol Pemrograman Java : PERCABANGAN

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Modul 4: Lebih Dalam lagi tentang Class, Objek dan Method

PEMROGRAMAN JAVA. Operator. Yoannita. Special thanks : Some slides are from Josephine Petrina K & Gasim Alkaff

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II. 5 th week Estu Sinduningrum ST,MT

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc.

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

BAB VII. CLASS DAN OBJECT

Keyword this untuk memanggil private String pengarang; private String judul;

NASKAH UTAMA ULANGAN AKHIR SEMESTER GANJIL TAHUN PELAJARAN 2013/2014

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

MODUL III ARRAYLIST TUGAS PENDAHULUAN

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK TIS243

PEMROGRAMAN BERORIENTASI OBJEK

Perulangan / Looping

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Praktikum Pemrograman. Pengantar OOP STMIK AMIKOM YOGYAKARTA. Bayu Setiaji, S.Kom

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

JAVA PADA NETBEANS IDE 7.4 ASRI WIDYADHARI KOM E 13

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Elemen Dasar Dalam Bahasa Java

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

Transkripsi:

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 Implementasi Class Diagram ke bahasa Java. 2 3/11/2015

CLASS DRIVER Class Driver adalah class yang hanya berisi main() dan berfungsi untuk menguji class-class lainnya apakah sudah betul algoritmanya. Kegunaannya sama seperti file main.c 3 3/11/2015

C vs JAVA Buka kembali header dari ADT POINT pada kuliah Praktikum Pemrograman Terstruktur II. Fungsi makepoint pada C sama fungsinya sebagai constructor pada Java. Fungsi-fungsi lainnya menjadi method di OOP/Java: bacapoint tulispoint ptambah ptranslasi, dan sebagainya 4 3/11/2015

CONSTRUCTOR Constructor adalah method khusus yang nantinya akan digunakan untuk menginstansiasi atau melahirkan sebuah object. Ingat kembali ADT (kuliah Pemrograman Terstruktur II), ada fungsi makejam, makepoint, makedate, makegaris. Constructor pada intinya sama dengan fungsi-fungsi tsb. Lihat kembali class Manusia, di situ ada fungsi lahir(). Fungsi inilah yang berfungsi sebagai constructor. Argumen pada constructor bisa kosong, bisa juga berisi nilai. 5 3/11/2015

CONSTRUCTOR Contoh constructor kosong: public Segiempat(){} Contoh constructor dengan argumen/parameter: Segiempat (int p, int l) {panjang=p; lebar=l;} Constructor tidak mereturn type apapun, jadi Anda tidak boleh menuliskan: public void Segiempat(), atau public int Segiempat() Biasakan utk membuat constructor pada class yg Anda coding. Bila tidak dibuat, Java akan otomatis membuatkan tapi parameternya kosong. 6 3/11/2015

CONSTRUCTOR Contoh pemanggilan constructor: Segiempat se1 = new Segiempat() Segiempat se2 = new Segiempat(7,4) Constructor dipanggil setelah kata new. 7 3/11/2015

INSTANSIASI OBJECT Agar program Anda dapat berjalan, harus ada objek yang diinstansiasi/dilahirkan terlebih dahulu di main() yang biasanya dibuat di dalam Driver. Segiempat se = new Segiempat(5,3); 8 3/11/2015

MENGOLAH DATA ATRIBUT & METHOD Misalkan kita punya class Segiempat sbb: class Segiempat { int panjang; int lebar; } 9 3/11/2015

MENGOLAH DATA ATRIBUT & METHOD Maka cara mengolah data atribut & methodnya: public static void main(string args[]) { Segiempat se = new Segiempat(7,4); se.panjang = 9; se.lebar = 3; System.out.println(se.panjang); System.out.println(se.lebar); System.out.println(se.hitungLuas()); System.out.println(se.hitungKeliling()); se.printinfo(); } 10 3/11/2015

ACCESS MODIFIER (ACCESS SPECIFIER) Java membedakan level akses untuk atribut dan method yaitu: private, protected, public. Dituliskan di depan attribute atau method yg diinginkan. Private: artinya attribute/method tersebut tidak akan dapat diakses/dipanggil oleh kelas lain Bila di class Segiempat dituliskan: private int panjang Maka di class lain, baris berikut akan error: se.panjang Public: artinya attribute/method tersebut dapat diakses/dipanggil oleh kelas lain Bila di class Segiempat dituliskan: public int panjang Maka di class lain, baris berikut akan bisa dicompile: se.panjang 11 3/11/2015

ACCESS MODIFIER (ACCESS SPECIFIER) Kita ubah sedikit class Segiempat-nya: class Segiempat { private int panjang; private int lebar; } 12 3/11/2015

ACCESS MODIFIER (ACCESS SPECIFIER) Maka bagian ini akan error karena atribut private artinya tidak boleh langsung dipanggil di class lain: class Driver{ } public static void main(string args[]) { } Segiempat se = new Segiempat(7,4); se.panjang = 9; se.lebar = 3; // error // error System.out.println(se.panjang); System.out.println(se.lebar); // error // error 13 3/11/2015

ACCESS MODIFIER (ACCESS SPECIFIER) Sama juga, bila sebuah method diberi awalan private maka method tersebut tidak bisa dipanggil di class lain. Atribut biasanya private. Method biasanya public. Pada notasi UML Class Diagram, private diberi tanda - sedangkan public diberi tanda + Untuk access protected akan dijelaskan setelah materi inheritance. 14 3/11/2015

METHOD GET & SET Karena atribut dibuat menjadi private, bagaimana cara menampilkan dan mengubah datanya? Jawab: bikin method baru yaitu get dan set. class Segiempat{ public int getpanjang(){ } return panjang; public void setpanjang(int p){ } } 15 3/11/2015 panjang = p;

METHOD GET & SET Cara menampilkan dan mengubah datanya yaitu: class Driver{ public static void main(string args[]) { } } 16 3/11/2015 Segiempat se = new Segiempat(7,4); System.out.println(se.getPanjang()); System.out.println(se.getLebar()); System.out.println(se.setPanjang(8)); System.out.println(se.setLebar(5));

METHOD GET & SET Get dan set dibuat untuk masing-masing atribut (atau sesuai kebutuhan). Get digunakan untuk mereturn nilai atribut. Tipe return harus sesuai dengan tipe atribut. Argumen atau parameternya kosong. Contoh bila panjang bertipe float maka getpanjang() mereturn float. Set digunakan untuk mengubah nilai. Tipe returnnya void, dan menerima input argumen sesuai tipe atribut. Contoh bila panjang bertipe float maka: void setpanjang(float p) { } 17 3/11/2015

METHOD GET & SET Method get dan set juga berguna bila kita perlu membuat constraint khusus pada atribut. Misalnya kita buat aturan untuk atribut panjang dan lebar tidak boleh bernilai negatif, maka: public void setpanjang(int p){ } if (p>0) {panjang = p;} 18 3/11/2015

METHOD PRINT-INFO Untuk menampilkan atribut class, kita dapat membuat fungsi printinfo() contohnya seperti ini: class Segiempat{ } public void printinfo(){ } 19 3/11/2015 System.out.println(panjang); System.out.println(lebar);

KONSTANTA (FINAL ATTRIBUTE) Untuk membuat atribut konstanta di dalam class, gunakan keyword final. Contoh: class Lingkaran { } double radius; final double pi=3.14; 20 3/11/2015

IMPLEMENTASI CLASS DIAGRAM Soal-soal latihan dan tugas mingguan akan diberikan dalam bentuk Class Diagram. Mahasiswa harus membuat implementasi coding dari class diagram tersebut ke dalam bahasa Java. Untuk implementasi class diagram, pelajari contoh-contoh sourcecode yang diberikan mulai dari Week 1 hingga Week 14. Penjelasan lebih lanjut akan dijelaskan oleh dosen di kelas. 21 3/11/2015

IMPLEMENTASI CLASS DIAGRAM Dalam satu file bisa terdiri dari satu class saja, atau bisa juga terdiri dari beberapa class. Best practicenya adalah satu file hanya terdiri dari satu class, di mana nama file sama dengan nama class. Umumnya fungsi main hanya ada di dalam class Driver. 22 3/11/2015

STRUKTUR CLASS PADA FILE JAVA 23 3/11/2015

IMPLEMENTASI CLASS Ketika membuat coding class di Java, buatlah dalam urutan berikut: Attribute/property: variabel (umumnya private) Method: fungsi/prosedur (umumnya public), dibuat terurut sbb: Constructor: meliputi constructor kosong dan constructor berparameter Get & set: berpasangan untuk tiap atribut printinfo(): untuk mencetak semua nilai atribut Method-method lainnya: dimulai dari yang paling sederhana hingga yang paling rumit 24 3/11/2015

TUGAS PEKAN INI (TUGAS INDIVIDU): Mengimplementasikan semua Class Diagram berikut ini yang diberikan ke dalam coding Java (lihat contoh program yang diberikan): Segiempat, Segitiga, Lingkaran Titik, Titik3D Time, Date. Sebagai catatan class Date di sini adalah class buatan sendiri (bukan import dari java.util.date). 25 3/11/2015

TUGAS PEKAN INI (TUGAS INDIVIDU): 26 3/11/2015

TUGAS PEKAN INI (TUGAS INDIVIDU): 27 3/11/2015

TUGAS PEKAN INI (TUGAS INDIVIDU): 28 3/11/2015

STANDAR DISIPLIN PEMROGRAMAN Nama class dan nama file diawali huruf kapital. Indentasi sangat penting agar sourcecode Anda rapi dan mudah dibaca. Sourcecode yang tidak rapi bisa mengakibatkan pengurangan nilai. Bila mengetik kurung buka, langsung ketik kurung tutupnya (content di dalam tanda kurung itu bisa diketik belakangan). Nama atribut dan method diawali huruf kecil. Bila terdiri dari dua kata atau lebih, dipisahkan dengan huruf kapital. Contoh: hitungluasalastabung() 29 3/11/2015

TIPS & TRICKS Selalu buat indentasi yang rapi! Setiap bikin kurang buka langsung bikin kurung tutupnya, isinya bisa belakangan! Ketika membuat program, ketiklah dulu semua judul methodnya, tapi isinya bisa dikosongkan Misalnya ada method hitungluasparabola() tapi kita belum tahu apa rumusnya, maka tuliskan saja return 0 atau return -1 atau return 999. Dengan demikian program Anda tetap bisa dicompile tanpa error. 30 3/11/2015

JAVA PROGRAMMING LANGUAGE Syntax bahasa Java sangat mirip bahasa C. Silakan pelajari sendiri Variable dan tipe data: http://www.tutorialspoint.com/java/java_basic_datatypes. htm Percabangan: http://www.tutorialspoint.com/java/java_decision_making.htm Perulangan: http://www.tutorialspoint.com/java/java_loop_control.htm 31 3/11/2015

JAVA PROGRAMMING LANGUAGE Contoh: Variabel, tipe data (boolean, char, String, int, float), dsb Operator aritmetika: tambah kurang kali bagi, dsb Operator logika: AND &&, OR, NOT! Array: contoh di Java, int arrint[] = new int[5]; I/O: write (printf), read (nanti dipelajari lebih lanjut) Conditional: IF-THEN-ELSE, SWITCH-CASE Perulangan/Loop: FOR, WHILE-DO, DO-WHILE 32 3/11/2015

JAVA INPUT/OUTPUT WRITE: Menuliskan sesuatu ke layar (C/C++: printf/cout) System.out.print(), System.out.println() READ: Membaca sesuatu dari input keyboard (scanf) System.in.read(), System.in.readln() Selama 6 pekan ke depan, kita hanya akan memakai syntax WRITE dan menunda penggunaan syntax READ. Di Java, utk scanf String/Integer cukup rumit syntaxnya Kita akan fokus dulu di materi inti OOP (class dan object). Setelah semua latihan OOP selesai, baru bikin input dari keyboard 33 3/11/2015

CARA COMPILE & RUN Bila hanya 1 file (berisi 1 kelas): contoh Helloworld Compile: javac Helloworld.java Run: java Helloworld Bila banyak file (masing2 berisi 1 kelas atau lebih) Compile: javac <namafile1.java> <namafile2.java> dst atau: javac *.java Run: java <namakelas> Catatan: yang bisa di-run hanya kelas yang di dalamnya ada main. Biasanya ada satu kelas khusus Driver berisi main saja, sementara kelas-kelas lain tidak punya main 34 3/11/2015

KEYWORD Pelajari kembali keyword berikut ini: constructor private public get & set Konstanta final 35 3/11/2015

THANK YOU