Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Konsep Java dan OOP “Parents can only give good advice or put them on the right paths, but the final.

Presentasi serupa


Presentasi berjudul: "Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Konsep Java dan OOP “Parents can only give good advice or put them on the right paths, but the final."— Transcript presentasi:

1 Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Konsep Java dan OOP “Parents can only give good advice or put them on the right paths, but the final forming of a person's character lies in their own hands (Anne Frank)” Nyimas Artina

2 Author : Nyimas Artina STMIK GI MDP PALEMBANG SEKILAS JAVA

3 Author : Nyimas Artina STMIK GI MDP PALEMBANG Pengenalan Java  Java dikembangkan oleh Sun Microsystem  Ditujukan untuk mengatasi perbedaan pada aneka platform yang ada saat ini.  Slogan java :  Teknologi Java adalah sebuah bahasa pemrograman dan juga merupakan sebuah platform. Mengapa dinamakan Java? “Write once, run anywhere.” 3

4 Author : Nyimas Artina STMIK GI MDP PALEMBANG Sejarah Singkat Java (i)  Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Dikarenakan perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur-manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun.  Proyek diberi nama kode ”Green”.  Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). 4

5 Author : Nyimas Artina STMIK GI MDP PALEMBANG Sejarah Singkat Java (ii)  Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin.  Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA.  Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java. 5

6 Author : Nyimas Artina STMIK GI MDP PALEMBANG Cross-platform  Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM (Java Virtual Machine) adalah mesin untuk menjalankan bytecode pada file kelas Java pada mikroprosesor, baik yang berada pada komputer atau pada piranti elektronik lainnya.  Bahasa java disebut sebagai bahasa yang portable ( write once run anywhere ) karena dapat dijalankan pada berbagai Sistem Operasi, asalkan pada sistem tersebut terdapat JVM. “Write once, run anywhere.” cross-platform benefits of the Java language 6

7 Author : Nyimas Artina STMIK GI MDP PALEMBANG Cross-platform Apa yang membuat Java begitu menarik? Jawabnya terletak pada kemampuannya untuk menghasilkan program yang mampu berjalan di atas segala jenis platform. Sekali kita menulis program dalam bahasa Java, maka ia akan siap bekerja di segala jenis platform tanpa perlu modifikasi kode. 7

8 Author : Nyimas Artina STMIK GI MDP PALEMBANG Penamaan Java oleh Sun Microsystem  2 versi penamaan : penamaan versi dari divisi engineer dan versi dari divisi marketing.  versi 1.0 hingga 1.4 ini penamaan dari sisi engineer, namun saat versi berikutnya SUN lebih memilih penamaan divisi marketing yaitu cukup dengan menyebutkan jdk lalu diikuti versi releasenya seperti jdk 5.0.  Ketika Java 2 diperkenalkan tahun 1999, platform Java terbagi menjadi 3 variant :  Java 2 Standard Edition (J2SE),  Java 2 Micro Edition (J2ME),  Java 2 Enterprise Edition (J2EE).  angka 2 setelah huruf J (J2SE, J2EE, J2ME) bukanlah merupakan no versi releasenya akan tetapi merupakan trademark dari SUN untuk memberitahukan bahwa setelah java berada di versi 1.2, java telah mengalami perubahan dan peningkatan besar-besaran. 8

9 Author : Nyimas Artina STMIK GI MDP PALEMBANG Penamaan Java oleh Sun Microsystem  Tahun 2005, Dari java versi 6 yang sedang dikembangkan saat itu, SUN telah menghilangkan istilah J2SE, J2EE, dan J2ME tsb, dengan menyebutkan java dengan Java SE, Java EE, dan Java ME diikuti nomor releasenya dari penamaan divisi marketing.  Java Standard Edition (Java SE)  Java Micro Edition (Java ME)  Java Enterprise Edition (Java EE) JDK J2SE J2ME J2EE Java SE Java ME Java EE Penamaan Java 9

10 Author : Nyimas Artina STMIK GI MDP PALEMBANG Penamaan Java oleh Sun Microsystem 10

11 Author : Nyimas Artina STMIK GI MDP PALEMBANG JAVA 11

12 Author : Nyimas Artina STMIK GI MDP PALEMBANG JAVA  Java Standard Edition (Java SE)  “desktop Java”  Java Micro Edition (Java ME)  “wireless Java”  Java Enterprise Edition (Java EE)  “server-side Java”  Java Card  difokuskan ke aplikasi smart card.  Java Card khusus dikembangkan untuk membuat aplikasi­aplikasi pada smart card, misalnya aplikasi kartu telepon CHIP, kartu VISA, kartu SIM pada ponsel dan aplikasi mobile banking BCA yang saat ini sudah umum digunakan.  Java ME adalah bagian dari Java SE, karena itu tidak semua library yang ada pada Java SE digunakan pada Java ME  Java ME biasanya digunakan pada telepon selular, pager, personal digital assistant (PDA), dst. 12

13 Author : Nyimas Artina STMIK GI MDP PALEMBANG Java ME  Teknologi Java ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel.  Java ME sangat tergantung pada perangkat (device) yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel dan dukungannya terhadap teknologi Java ME.  Misalnya jika sebuah ponsel tidak memiliki kamera maka jelas Java ME pada ponsel tersebut tidak dapat mengakses kamera.  Ukuran aplikasi  memory pada ponsel sangat terbatas  Sebagian ponsel tidak mengizinkan aplikasi Java ME menulis pada file karena alasan keamanan. 13

14 Author : Nyimas Artina STMIK GI MDP PALEMBANG J2ME  Dalam J2ME terdapat 2 buah istilah yaitu configuration dan profile.  Configuration hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antardevice  Misalnya sebuah lampu dirancang sedemikian rupa sehingga dapat digunakan oleh berjenis-jenis sepeda.  Profile membahas sesuatu yang spesifik untuk sebuah perangkat.  Misalnya sebuah sepeda dengan merk tertentu tentunya mempunyai ciri yang spesifik dengan sepeda lain

15 Author : Nyimas Artina STMIK GI MDP PALEMBANG Configuration  Ada 2 kategori configuration, yaitu :  CLDC (Connected Limited Device Configuration)  CDC (Connected Device Configuration)  CLDC (Connected Limited Device Configuration)  Low-end Consumer device  Memiliki sumber daya yang sangat kecil  Digunakan pada aplikasi java pada handphone.  Umumnya, perangkat-perangkat tersebut hanya memiliki ukuran memory Kilobytes.

16 Author : Nyimas Artina STMIK GI MDP PALEMBANG Configuration  CDC (Connected Device Configuration)  High-end consumer device  Memiliki sumber daya yang cukup besar, hampir menyamai komputer dalam hal sumber daya listrik, memori, maupun kemampuan pemrosesan.  Umumnya digunakan pada aplikasi java pada perangkat-perangkat dengan ukuran memory 1MB- 10MB.

17 Author : Nyimas Artina STMIK GI MDP PALEMBANG Profile  Jika configuration menyediakan library-library java untuk implementasi fitur standard dari device, profile menyediakan implementasi tambahan yang sangat spesifik dari sebuah device.  Kategori J2ME profile :  Mobile Information Device Profile (MIDP)  Foundation Profile (FP)  Personal Profile  …

18 Author : Nyimas Artina STMIK GI MDP PALEMBANG MIDlet  Suatu aplikasi MIDP disebut MIDlet. Perangkat Application Management Software (AMS) berinteraksi langsung dengan MIDlet dengan method MIDlet create, start, pause, dan destroy.  MIDlet adalah bagian dari package javax.microedition.midlet.  Sebuah MIDlet harus di-extend dengan class MIDlet. Dan dapat meminta parameter dari AMS seperti dirumuskan dalam application descriptor (JAD).

19 Author : Nyimas Artina STMIK GI MDP PALEMBANG MIDlet  Suatu MIDlet tidak harus memiliki (dan memang harus tidak mempunyai) sebuah method public static void main(String[] argv).  Method tersebut tidak akan dikenal lagi oleh AMS sebagai titik awal sebuah program

20 Author : Nyimas Artina STMIK GI MDP PALEMBANG JAVA SE (Desktop Application)

21 Author : Nyimas Artina STMIK GI MDP PALEMBANG Memulai program JAVA SE menggunakan editor Eclipse (i) Pilih File  New  Java Project 21

22 Author : Nyimas Artina STMIK GI MDP PALEMBANG Memulai program JAVA SE (ii)  Isi project name dengan nama LatihanJAVA,  Nama project secara otomatis akan menjadi nama folder tempat kita menyimpan kode program  Ingatlah directory yang digunakan (dapat berbeda-beda) 22

23 Author : Nyimas Artina STMIK GI MDP PALEMBANG Memulai program JAVA SE (iii)  expand project yang baru saja dibuat dan klik kanan src  Pilih new  class, akan muncul jendela baru 23

24 Author : Nyimas Artina STMIK GI MDP PALEMBANG Memulai program JAVA SE (iv)  Isi nama class dengan nama Contoh01  (optional) Centang public static void main(String[] args) 24

25 Author : Nyimas Artina STMIK GI MDP PALEMBANG Program Java Sederhana class Sederhana { public static void main (String[] args) { System.out.println (“Hello java…”); }  class (nama class: Sederhana)  sekumpulan data attributes dan method  Method : main()  sekumpulan statement 25

26 Author : Nyimas Artina STMIK GI MDP PALEMBANG Method Utama  public static void main (String args [ ]) { … }  Baris kode di atas mendeklarasikan suatu method dengan nama main. main  Merupakan tempat dimulainya program dieksekusi. Jika tidak ada method ini maka akan keluar pesan kesalahan: Exception in thread “main”.java.lang.NoSuchMethodError: main  Nama main di sini merupakan suatu keharusan dalam Java karena Java akan mencari method yang bernama main ini sebagai titik awal eksekusi program. main  Merupakan tempat dimulainya program dieksekusi. Jika tidak ada method ini maka akan keluar pesan kesalahan: Exception in thread “main”.java.lang.NoSuchMethodError: main  Nama main di sini merupakan suatu keharusan dalam Java karena Java akan mencari method yang bernama main ini sebagai titik awal eksekusi program. 26

27 Author : Nyimas Artina STMIK GI MDP PALEMBANG public static void main (String[] args) Public  Keyword public merupakan access specifier yang menentukan visibility level dari method ini.  Public berarti method ini dapat diakses/dipanggil dari luar class dimana ia dideklarasikan.  selain public, jenis access specifier yang lain adalah private, protected, dan default.  Method main() akan dipanggil dari luar oleh run-time Java saat program akan dieksekusi sehingga access specifier yang dimiliki haruslah public. Public  Keyword public merupakan access specifier yang menentukan visibility level dari method ini.  Public berarti method ini dapat diakses/dipanggil dari luar class dimana ia dideklarasikan.  selain public, jenis access specifier yang lain adalah private, protected, dan default.  Method main() akan dipanggil dari luar oleh run-time Java saat program akan dieksekusi sehingga access specifier yang dimiliki haruslah public. 27

28 Author : Nyimas Artina STMIK GI MDP PALEMBANG Sekilas public & private  Public : siapa saja bisa mengakses member ini :  kode yang ada dalam class itu sendiri  atau yang berada di luar class  Private : hanya dapat digunakan oleh internal member dari class tersebut saja  tidak ada kode satupun dari luar class tersebut yang diizinkan mengakses / mengubah nilai dari member tersebut 28

29 public static void main (String[] args) static  Keyword static memungkinkan method main() dipanggil tanpa harus terlebih dahulu membuat instance dari class file1  Ini diperlukan karena method main() akan dieksekusi sebelum objek dari class file1 dibuat di memori. static  Keyword static memungkinkan method main() dipanggil tanpa harus terlebih dahulu membuat instance dari class file1  Ini diperlukan karena method main() akan dieksekusi sebelum objek dari class file1 dibuat di memori. void  Keyword void berarti bahwa method main() tidak mengembalikan nilai apapun setelah dipanggil/dieksekusi. void  Keyword void berarti bahwa method main() tidak mengembalikan nilai apapun setelah dipanggil/dieksekusi. args  Argument args (String[] args) adalah array objek string argument baris-baris perintah.  variabel args bertipe array dari String args  Argument args (String[] args) adalah array objek string argument baris-baris perintah.  variabel args bertipe array dari String 29

30 System.out.println (“Hello java…”); System : class  nama dari salah satu class standar yang dimiliki oleh java. Out : objek  anggota dari class System dan juga merupakan objek tersendiri, out merupakan objek yang mewakili standard output stream yang dalam hal ini adalah layar komputer.  Seperti halnya method main(), objek out ini dideklarasikan menggunakan keyword static di dalam classnya sehingga dapat langsung dipanggil tanpa perlu terlebih dahulu membuat instance dari class System. println : method  Method yang terdapat pada objek out. Berfungsi untuk mencetak keluaran ke standard output. Method ini juga mencetak karakter pindah baris.  println vs print “Hello java…” : paramenter  Parameter dari method println() yang diterima oleh internal method ini dan dicetak ke standard output(layar komputer). Tanda ;  Menandakan akhir suatu statement/pernyataan/ perintah. 30

31 Author : Nyimas Artina STMIK GI MDP PALEMBANG Penulisan Komentar // contoh program java sederhana // simpan dalam file bernama sederhana.java /* contoh program java sederhana Simpan dalam file bernama sederhana.java */  Tanda // digunakan untuk penulisan komentar per baris  Tanda /* dan */ digunakan untuk penulisan komentar tersarang (nested comments)

32 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh kode program Menampilkan lebih dari satu baris // nama file: DataDiri.java // deskripsi: program menampilkan beberapa kalimat // kompilasi: javac DataDiri.java // eksekusi: java DataDiri class DataDiri { public static void main (String[] args) { System.out.println (“Nama: MDP”); System.out.println (“Alamat: Jln. Rajawali 14”); System.out.println (“Tlp:376400\nfax:376360\nwebsite:www.stmik-mdp.net”); } /* \n : newline, juga berfungsi untuk pindah baris */ 32

33 Company LOGO Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data Nyimas Artina Education is not the filling of a pail, but the lighting of a fire. “ (William Butler Yeats)

34 Author : Nyimas Artina STMIK GI MDP PALEMBANG Petunjuk Penulisan Program (i) 1.Pada saat pembuatan blok, Anda dapat meletakkan kurung kurawal buka pada baris dengan pernyataan seperti contoh sebagai berikut, public static void main( String[] args ){ atau Anda dapat meletakkan kurung kurawal pada baris selanjutnya, seperti, public static void main( String[] args ) { 2. Anda harus memberi jarak (indent) pernyataan selanjutnya setelah awal dari blok, seperti contoh berikut, public static void main( String[] args ){ System.out.println("Hello"); System.out.println("world"); } 34

35 Author : Nyimas Artina STMIK GI MDP PALEMBANG Petunjuk Penulisan Program (ii) 1.Untuk pemberian nama dari class Java, diberikan huruf kapital untuk huruf pertama pada nama class. Untuk nama method dan variabel, huruf pertama dari kata harus dimulai dengan huruf kecil. Sebagi contoh: ThisIsAnExampleOfClassName thisIsAnExampleOfMethodName class BinatangAir String ikanAirTawar void membacaKoran() 2. Pada kasus untuk identifier lebih dari satu kata, gunakan huruf kapital untuk mengindikasikan awal dari kata kecuali kata pertama. Sebagai contoh charArray, fileNumber, ClassName. 3. Sebaiknya hindari menggunakan underscores pada awal identifier seperti _read atau _write. 35

36 Token  Token merupakan elemen terkecil di program yang mempunyai arti bagi kompilator.  Token Java dibagi 5, yaitu:  Identifier  Keyword  Literal  Operator  Separator  Token : Identifier  Identifier adalah token yang merepresentasikan nama.  Dalam Java, identifier adalah nama yang diberikan untuk variable, class, atau method.  Token : Reserved words/Keywords  Kata-kata yang dikenal oleh Java dan mempunyai arti khusus dlm program.  tidak boleh digunakan sebagai identifier (nama variabel, kelas, method, dll). 36

37 Ketentuan Identifier  Identifier harus dimulai/diawali dengan huruf, underscore (_) atau tanda dollar ($).  Untuk selebihnya  dpt menggunakan karakter apapun, kecuali karakter yang digunakan sebagai operator oleh java.  Identifier adalah case sensitive (membedakan huruf besar/ kecil) dan tidak ada batas maksimum.  Bukan merupakan keywords yang dikenal Java : 37

38 Author : Nyimas Artina STMIK GI MDP PALEMBANG Valid Identifier  Valid  No  Kd_barang  kodeBarang Invalid  1_harga - tidak boleh diawali dengan angka  %barang - simbol % tidak boleh digunakan  Nama pelanggan - tidak boleh menggunakan spasi  Kd+barang - tidak boleh menggunakan tanda operator Contoh invalid: int 1_harga; int super; double void; class throws  $barang  bahASA_PEmogramaN_JaVa  Contoh valid : int kd_barang; String $barang; class Bebek { } 38

39 Author : Nyimas Artina STMIK GI MDP PALEMBANG Valid Identifier  Sebagai pengganti bentuk penulisan tradisional untuk identifier, yang menggunakan huruf kecil dengan garis-bawah sebagai pemisah kata  nama_karyawan  Nama_Karyawan  Beberapa identifier dituliskan dengan huruf kapital pada awal kata, seperti :  string namaKaryawan atau class NamaKaryawan 39

40 Token : Literal  Penulisan besaran untuk variabel.  Literal Java terdiri dari angka, karakter, dan string. Angka terdiri dari bilangan bulat (integer), bilangan mengambang (floating point), dan boolean.  Nilai boolean untuk true dan false direpresentasikan sebagai 1 dan 0. Token : Operator Operator menspesifikasikan evaluasi atau komputasi terhadap objek. Operand yang dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim oleh metode atau fungsi. 40

41 Author : Nyimas Artina STMIK GI MDP PALEMBANG Token : Separator  Separator digunakan untuk menginformasikan ke kompilator Java mengenai adanya pengelompokkan di kode program. SimbolNamaPenggunaan ( ) Kurung Untuk menghimpun parameter dalam definisi dan pemanggilan method, juga digunakan untuk menyatakan tingkat pernyataan, menghimpun pernyataan, untuk pengaturan alur program, dan untuk menyatakan tipe cast (cast types) { } Kurung Kurawal Untuk menghimpun nilai yang otomatis dimasukkan ke dalam array, digunakan juga untuk mendefinisikan blok program, untuk cakupan class, method, dan lokal. [ ] Kurung Siku Untuk menyatakan tipe array dan untuk membedakan nilai array. ; Titik Koma Pemisah Pernyataan., KomaPemisah urutan identifier dalam deklarasi variabel.. Titik Untuk memisahkan nama paket dari sub-paket dan class dan untuk memisahkan variabel atau method dari variabel referensi. 41

42 Author : Nyimas Artina STMIK GI MDP PALEMBANG Pendeklarasian Variabel class variabel { public static void main (String[] args ) { System.out.println("Hello world"); // cara pendeklarasian 1 : String namaDepan = "John"; String namaBelakang = "Maxwell"; System.out.println(namaDepan + " " + namaBelakang); // cara pendeklarasian 2 : String nickName;// deklarasi nickName = "Jon";// pemberian nilai System.out.println("Nickname : " + nickName); char kar; kar = 'A';// memberikan nilai 'A' ke variabel, memakai tanda kutip satu ' System.out.println ("karakter adalah = " + kar); kar = 70;// memberikan nilai ASCII ke variabel System.out.println ("karakter adalah = " + kar); }

43 Tipe Data Tipe data diperlukan agar kompiler tahu operasi apa yang valid dan seberapa banyak memory yang diperlukan oleh sebuah nilai yang akan disimpan atau dioperasikan. Variabel :  menampung suatu nilai  Pasti memiliki tipe data  Harus didefinisikan terlebih dahulu sebelum digunakan  Tipe Data Primitif  Integer  Floating – Point  Karakter  Boolean  ….  Tipe Data Referensi 43

44 Author : Nyimas Artina STMIK GI MDP PALEMBANG Tipe Data Tipe Data Real/ Floating Point (Bilangan Pecahan) Tipe Data Boolean Nilai : true atau false Tipe Data Integer (Bilangan Bulat) 44

45 Author : Nyimas Artina STMIK GI MDP PALEMBANG class SalahCharString { public static void main(String args[]) { char c1 = 'A'; char s1 = "Belajar Java menyenangkan"; } Berikut pesan kesalahan saat kompilasi : SalahCharString.java [11:1] incompatible types found : java.lang.String required: char char s1 = "Belajar Java menyenangkan"; ^ 1 error Errors compiling SalahCharString Tipe Data  char :  hanya dapat menampung satu karakter saja,  Menggunakan tanda petik satu  String :  dapat menampung kalimat.  Menggunakan tanda petik dua Tipe Data Karakter Seharusnya String 45

46 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh kode program // nama file: data1.java // deskripsi: program menampilkan nilai // kompilasi: javac data1.java // eksekusi: java data1 class data1 { public static void main (String [ ] args) { double nilai1 = 13.14; char nilai2; nilai2 = ‘B’; System.out.println (“tipe data double : “ + nilai1); System.out.println (“tipe data char : “ + nilai2); } Program dengan Variabel 46

47 Author : Nyimas Artina STMIK GI MDP PALEMBANG Konstanta  Merupakan variabel yang memiliki nilai tetap dan tidak dapat diubah saat program sedang berjalan. Untuk menjadikan sebagai variabel konstanta, cukup menambahkan kata tercadang final  Contoh: final int nilai = 20; // nama file : konstanta2.java // deskripsi : perubahan konstanta // kompilasi : javac konstanta2.java // eksekusi : java konstanta2 class konstanta2 { public static void main(String args[]) { final int hrg = 3500; int jlh = 10; System.out.println("total = " + (jlh * hrg)); hrg = 250; System.out.println("total = " + (jlh * hrg)); } contoh usaha untuk mengubah nilai konstanta : Berikut ini tampilan saat kompilasi konstanta2.java [13:1] cannot assign a value to final variable hrg hrg = 250; ^ 1 error Errors compiling konstanta2. Terjadi kesalahan saat kompilasi, yaitu pada baris 13 terjadi usaha untuk mengubah nilai variabel hrg. 47

48 Author : Nyimas Artina STMIK GI MDP PALEMBANG Case Sensitive  Huruf kecil dan huruf kapital pada identifier tidak dianggap sama  Identifier alamat, Alamat, dan ALAMAT menyatakan tiga identifier yang berbeda. class CaseSensitive1 { public static void main (String[] args ) { String nama = “Evi"; String Nama = “Eva"; String NAMA = “Evo"; System.out.println("String yang dicetak : " + Nama); }  Apakah hasil output program di atas? 48

49 Author : Nyimas Artina STMIK GI MDP PALEMBANG Latihan  avanZA  from-to  $camry  v10s  _avaLoN  Roger7  Good/bad  4ever  NiCKnAMe%  A valid one  Valid?  (yes)  pemrogramanBerorientasi Objek  netto|bruto  NAMA  PT-1  #brg  Nama barang  2semester 49 Berikan keterangan apakah identifier berikut ini valid atau tidak valid :

50 Company LOGO operator “Treat people as if they were what they ought to be and you help them to become what they are capable of being.“(Johann Wolfgang Von Goethe)

51 Author : Nyimas Artina STMIK GI MDP PALEMBANG Operator Aritmatika  Merupakan tanda untuk operasi aritmatika antara dua nilai OprFungsiContohDeskripsi +Penjumlahana + bPenjumlahan a dan b -Pengurangana – bPengurangan a dan b *Perkaliana * bPerkalian a dan b /Pembagiana / bPembagian a dan b %Modulusa % bSisa pembagian a dan b 51

52 Author : Nyimas Artina STMIK GI MDP PALEMBANG Operator Aritmatika Contoh Program // nama file : arOp.java class arOp { public static void main (String [ ] args) { double a = 5.0; double b = 2.0; double tambah = a+ b; double kurang = a – b; double kali = a * b; double bagi = a / b; double sisa= a % b; System.out.println (“ a + b = “ + tambah); //atau : System.out.println (“ a + b = “ + (a + b)); System.out.println (“ a - b = “ + kurang); System.out.println (“ a * b = “ + kali); System.out.println (“ a / b = “ + bagi); System.out.println (“ a % b = “ + sisa); } 52

53 Author : Nyimas Artina STMIK GI MDP PALEMBANG Assignment Operator OprFungsiContohDeskripsi =Sama dengana = ba akan bernilai sama dengan b +=Penjumlahan & sama dengan a += ba = a + b -=Pengurangan & sama dengan a –= ba = a - b *=Perkalian & sama dengana *= ba = a * b /=Pembagian & sama dengana /= ba = a / b %=Modulus & sama dengana %= ba = a % b 53

54 Author : Nyimas Artina STMIK GI MDP PALEMBANG Assignment Operator Contoh Program // nama file : arOp.java class asOp { public static void main (String [ ] args) { int a = 4; int b = 3; int c = 2; System.out.println (“a = “ + a + “b = “ + b + “c = “ + c); c += b; // c = c + b System.out.println (“c += b hasilnya c = “ + c); c -= a; // c = c - a System.out.println (“c -= a hasilnya c = “ + c); c *= b; // c = c * b System.out.println (“c *= b hasilnya c = “ + c); } 54

55 Author : Nyimas Artina STMIK GI MDP PALEMBANG Increment / Decrement Operator OprFungsiContohDeskripsi ++Increment Operator nilai++Nilai ditambah satu setelah dioperasikan ++nilaiNilai ditambah satu sebelum nilai dioperasikan --Decrement Operator nilai--Nilai berkurang satu setelah dioperasikan --nilaiNilai berkurang satu sebelum nilai dioperasikan 55

56 Author : Nyimas Artina STMIK GI MDP PALEMBANG Increment / Decrement Operator  Penulisan operator sebagai akhiran (y = x++ atau y = x--) menunjukkan bahwa y memperoleh nilai x sebelum x berubah Jika operator ditulis sebagai awalan (y = ++x atau y = --x), nilai x diberikan ke y setelah terjadinya perubahan 56

57 Author : Nyimas Artina STMIK GI MDP PALEMBANG class PenambahanAwalAkhir{ public static void main (String[] args) { int x = 0; int y = 0; System.out.println("x dan y bernilai " + x + " dan " + y); x++; System.out.println("x++ menghasilkan "+ x); ++x; System.out.println("++x menghasilkan "+ x); System.out.println("\nx dinolkan lagi!\n"); x = 0; y = x++; System.out.println("y = x++ (akhiran) menghasilkan : "); System.out.println("x is " + x); System.out.println("y is " + y); y = ++x; System.out.println("y = ++x (awalan) menghasilkan : "); System.out.println("x is " + x); System.out.println("y is " + y); } 57

58 Author : Nyimas Artina STMIK GI MDP PALEMBANG Comparison Operator Bernilai True atau False OprFungsiContohDeskripsi ==Equality operatora == bBernilai true jika a sama dengan b !=Inequality operatora != bBernilai true jika a tidak sama dengan b Greater than operatora > bBernilai true jika a lebih besar b <=Less than or equal operator a <= bBernilai true jika a lebih kecil atau sama dengan b >=Greater than or equal operator a >= bBernilai true jika a lebih kecil atau sama dengan b 58

59 Author : Nyimas Artina STMIK GI MDP PALEMBANG Comparison Operator Contoh Program // nama file : classComp.java class classComp { public static void main (String [ ] args) { int a = 3; int b = 4; double c = 5.0; boolean d; d = (a == b); System.out.println (“a = b? “ + d); } /* Hasil : false */ 59

60 Author : Nyimas Artina STMIK GI MDP PALEMBANG Operator Relasional OprFungsiContohDeskripsi &&Logical AND operator a && bBernilai true jika kedua nilai benar ||Logical OR operator a || bBernilai true jika salah satu dari keduanya benar !Logical NOT operator ! bBernilai true jika nilai b adalah false 60

61 Author : Nyimas Artina STMIK GI MDP PALEMBANG Operator Relasional Contoh Program class LoCom { public static void main(String args[]) { boolean a = true; boolean b = true; boolean c = false; boolean e = false; boolean d; boolean k; d = a && b; System.out.println("true && true = " + d); k = c && b; System.out.println("false && true = " + k); System.out.println("false && false = " + (k && c)); System.out.println("true || false = " + (a || c)); System.out.println("true || true = " + (a || b)); System.out.println("false || false = " + (e || c)); } Hasil : true && true = true false && true = false false && false = false true || false = true true || true = true false || false = false Hasil : true && true = true false && true = false false && false = false true || false = true true || true = true false || false = false 61

62 Author : Nyimas Artina STMIK GI MDP PALEMBANG Ternary if-then-else operators Expression ? statement1 : statement2  expression menyatakan besaran boolean yang akan diperiksa.  Jika expression bernilai benar (true) maka statement1 dieksekusi atau dijalankan,  sedangkan statement2 dijalankan jika expression bernilai salah (false).  Selain itu kedua statement harus memiliki tipe yang sama.  Ternary operator dapat diistilahkan : If Expression ? Then statement1 else : statement2 62

63 Author : Nyimas Artina STMIK GI MDP PALEMBANG Expression ? statement1 : statement2 // nama file : ternary.java // deskripsi : Ternary Operator // kompilasi : javac ternary.java // eksekusi : java ternary class ternary { public static void main(String args[]) { int a = 10; int b = 20; int c = (b > 0) ? (a * 10) : (a - b); System.out.println("hasil = " + c); } /* hasil = 100 */ 63

64 Author : Nyimas Artina STMIK GI MDP PALEMBANG Latihan int a = 3; int b = 7; int c = 12; a=a+2; b-=a; c--; 64  Apakah isi dari variabel a, b dan c sekarang? a = b = c =

65 Company LOGO Kondisi IF-ELSE SWITCH-CASE “Parents can only give good advice or put them on the right paths, but the final forming of a person's character lies in their own hands (Anne Frank)”

66 Author : Nyimas Artina STMIK GI MDP PALEMBANG 66 Kontrol Alur Program (Seleksi)  If  Merupakan pernyataan untuk memeriksa nilai boolean dari ekspresi logika yang mengikutinya  Bentuk dasar dari if adalah: If … else −Untuk menentukan alternatif pilihan selain pilihan pertama. −Bentuk dasar dari if … else, adalah: if ( ekspresi logika ) statement 1; statement 2; } if ( ekspresi logika ) { statement 1; statement 2; } else if ( ekspresi logika ) { statement 3; statement 4; } else { statement 5; }

67 Author : Nyimas Artina STMIK GI MDP PALEMBANG 67 Kontrol Alur Program (Seleksi) Contoh Program // nama file: jika1.java class jika2 { public static void main (String [ ] args) { int umur = 17; if (umur > 17) { System.out.print(“Silakan masuk”); } else { System.out.print(“Dilarang masuk”); } // nama file: jika2.java class jika3 { public static void main (String [ ] args) { char nilai = ‘C’; if (nilai == ‘A’) { System.out.print(“Memuaskan”); } else if (nilai == ‘B’) { System.out.print(“Baik”); } else if (nilai == ‘C’) { System.out.print(“Cukup”); } else { System.out.print(“Jelek”); }

68 Author : Nyimas Artina STMIK GI MDP PALEMBANG 68 Switch  Merupakan pernyataan untuk menentukan satu dari banyak kemungkinan  Alternatif dari if  Jika sebuah kondisi memenuhi, maka pernyataan-pernyataan pada kondisi tsb akan dieksekusi, dan dilanjutkan dengan pernyataan break, yg berfungsi menghentikan switch  Jika semua kemungkinan tidak ada yang memenuhi maka pernyataan default akan dilaksanakan

69 Author : Nyimas Artina STMIK GI MDP PALEMBANG 69 Switch Contoh Program // nama file: case1.java class case1 { public static void main (String [ ] args) { int nilai = 2; switch (nilai) { case 1: System.out.print(“OK”); break; case 2: System.out.print(“Cukup”); break; default: System.out.print(“Nilai tidak ada”); break; }

70 Author : Nyimas Artina STMIK GI MDP PALEMBANG Latihan (ii)  Dengan menggunakan struktur kondisi IF- ELSE, buatlah program sederhana yang menampilkan nama bulan (Januari, Februari, …, atau Desember) berdasarkan kode bulannya (1-12)! 70

71 Author : Nyimas Artina STMIK GI MDP PALEMBANG Latihan (iii)  Dengan menggunakan struktur kondisi SWITCH-CASE, buatlah program sederhana yang menampilkan nama bulan (Januari, Februari, …, atau Desember) berdasarkan kode bulannya (1-12)! 71

72 Author : Nyimas Artina STMIK GI MDP PALEMBANG Kesalahan umum ketika menggunakan statement if-else(i) 1. Kondisi pada statement if tidak mengevaluasi nilai logika boolean. Contohnya : //SALAH int number = 0; if( number ){ //some statements here } Variabel number tidak memiliki nilai Boolean. 72

73 Author : Nyimas Artina STMIK GI MDP PALEMBANG Kesalahan umum ketika menggunakan statement if-else(ii) 2. Menggunakan operator = sebagai operator perbandingan yang seharusnya adalah operator ==. Contohnya, //SALAH int number = 0; if( number = 0 ){ //Beberapa pernyataan } 73 Seharusnya kode tersebut ditulis, //BENAR int number = 0; if( number == 0 ){ //beberapa pernyataan } Harap diperhatikan bahwa Tanda = digunakan untuk memberikan nilai, sedangkan Tanda == digunakan untuk membandingkan nilai

74 Company LOGO 74 “The whole art of teaching is only the art of awakening the natural curiosity of young minds for the purpose of satisfying it afterwards.” (Anatole France) Pengulangan (FOR, While, Do WHile) Loncatan

75 Author : Nyimas Artina STMIK GI MDP PALEMBANG Pengulangan WHILE & Do..While class ulangWhile{ public static void main (String[] args){ int a = 18; while (a>=15) { System.out.print(“lakukan pengurangan ” + a); a--; } class ulangDoWhile { public static void main (String[] args){ int a = 18; do { System.out.print(“lakukan pengurangan ” + a); a--; } while (a>=15) }

76 Author : Nyimas Artina STMIK GI MDP PALEMBANG Pengulangan For class UlangFor { public static void main (String[] args) { int a; for (a=0; a<10; a++) { System.out.println (a); }

77 Author : Nyimas Artina STMIK GI MDP PALEMBANG 77 class ulangFor{ public static void main (String [ ] args) { int a; for (a = 0; a < 10; a++) { System.out.println (a); } //atau for (int a = 0; a < 10; a++) { System.out.println (a); } Pengulangan: For Contoh Program (i)

78 Author : Nyimas Artina STMIK GI MDP PALEMBANG 78 class ulangFor{ public static void main (String [ ] args) { for (char x = 'a'; x <= 'e'; x++) { System.out.print(x); } Pengulangan: For Contoh Program (i)

79 Author : Nyimas Artina STMIK GI MDP PALEMBANG Loncatan BREAK  digunakan untuk menghentikan eksekusi dari suatu blok dan keluar dari blok yang sedang dieksekusi tersebut.  sering digunakan dalam blok perulangan (while, do…while) dan blok kondisi (switch…case). BREAK  digunakan untuk menghentikan eksekusi dari suatu blok dan keluar dari blok yang sedang dieksekusi tersebut.  sering digunakan dalam blok perulangan (while, do…while) dan blok kondisi (switch…case). CONTINUE sering digunakan dalam perulangan, berfungsi untuk melanjutkan perulangan tanpa mengeksekusi baris-baris pernyataan setelah pernyataan continue. Pemakaian pernyataan continue biasanya bersama- sama dengan pernyataan kondisi (if) CONTINUE sering digunakan dalam perulangan, berfungsi untuk melanjutkan perulangan tanpa mengeksekusi baris-baris pernyataan setelah pernyataan continue. Pemakaian pernyataan continue biasanya bersama- sama dengan pernyataan kondisi (if)

80 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh Penggunaan Break // nama file : break1.java class break1{ public static void main(String[] args){ char na = ‘A’; switch (na){ case ‘A’ : System.out.println("Memuaskan"); break; case ‘B’ : System.out.println("Baik"); break; case ‘D’ : System.out.println("Cukup"); break; case ‘E’ : System.out.println("Jelek"); break; default : System.out.println("Nilai tidak ada"); } // nama file : break2.java class break2 { public static void main(String[] args){ for (int a=5; a>0; a--){ System.out.println("a = " + a ); if (a==3) break; } berikut hasil dari program di atas. a = 5 a = 4 a = 3

81 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh Penggunaan Continue // nama file : continue1.java class continue1{ public static void main(String[] args) { for (int a=0 ; a < 10 ; a++){ if (a % 3==0) { continue; } System.out.println("a = " + a ); } berikut hasil dari program a = 1 a = 2 a = 4 a = 5 a = 7 a = 8

82 Author : Nyimas Artina STMIK GI MDP PALEMBANG 82 class ulangWhile { public static void main (String [ ] args) { int a = 18; while (a >= 5) { System.out.println (“lakukan pengurangan “ + a); a--; } Pengulangan: While Contoh Program

83 Author : Nyimas Artina STMIK GI MDP PALEMBANG Panduan pemrograman: 1.Kesalahan pemrograman yang biasa terjadi ketika menggunakan do-while loop adalah lupa untuk menulis titik koma (;) setelah ekspresi while. do{... }while(boolean_expression) // salah>tidak ada titik koma(;) 2. Seperti pada while loop, pastikan do-while loop anda berhenti pada suatu kondisi. 83

84 Company LOGO 84 String Function equals dan equalsIgnoreCase “Too often we give children answers to remember rather than problems to solve.” ~Roger Lewin

85 Author : Nyimas Artina STMIK GI MDP PALEMBANG 85 String Function  Menghapus karakter spasi dalam string: str.Trim()  konversi ke huruf kecil : str1.toLowerCase()  konversi ke huruf besar : str1.toUpperCase()  Banyaknya karakter suatu string : str.length() atau str.size()  Index awal dari suatu kata atau karakter : str.indexOf()

86 Author : Nyimas Artina STMIK GI MDP PALEMBANG String Function  Membandingkan karakter : equals()  Membandingkan karakter dengan mengabaikan huruf besar dan kecil : equalsIgnoreCase() 86

87 Author : Nyimas Artina STMIK GI MDP PALEMBANG 87 String Function : Example class UjiString { public static void main (String args[]) { String str = "sedang belajar pemograman Java"; System.out.println("======================"); System.out.println("String yang disimpan adalah "+ str); System.out.println("Panjang string : " + str.length()); System.out.println("Karakter pada posisi kelima adalah " + str.charAt(5) ); System.out.println("Substring dari 15 sampai 20 :" + str.substring(15,20)); System.out.println("Index karakter d adalah " + str.indexOf('d')); System.out.print("index awal dari "); System.out.println("substring \" Java\" : "+ str.indexOf("Java")); System.out.println("String dalam huruf kapital "+ str.toUpperCase()); System.out.println("======================"); }

88 Author : Nyimas Artina STMIK GI MDP PALEMBANG Membandingkan String Contoh (potongan) kode program … if (teks.equals(“HaLLo")) { System.out.println (“teks berisi huruf HaLLo"); } … if (teks.equalsIgnoreCase(“HaLLo")) { System.out.println (“teks berisi huruf hallo (huruf besar maupun kecil)"); } … if (teks ==("HaLLo")) { System.out.println ("teks berisi huruf HaLLo"); } equals dan equalsIgnoreCase SEBAIKNYA JANGAN DIGUNAKAN!

89 Author : Nyimas Artina STMIK GI MDP PALEMBANG Membandingkan Char … char nilai = 'A'; if (nilai == 'A') { System.out.println("Memuaskan"); } // char tidak memiliki fungsi equals if (nilai.equals('A')) { System.out.println("Memuaskan"); } … Pesan Error : penggunaanif.java:43: char cannot be dereferenced if (nilai.equals('A')) ^ 1 error

90 Company LOGO Konsep Pemrograman Berorientasi Objek “We have a hunger of the mind which asks for knowledge of all around us, and the more we gain, the more is our desire; the more we see, the more we are capable of seeing.” (Maria Mitchell) Nyimas Artina

91 Author : Nyimas Artina STMIK GI MDP PALEMBANG Konsep Pemograman Berorientasi Objek  Class adalah blueprint atau prototype dari objek-objek tertentu yang memiliki kesamaan variable dan method.  Class merupakan template untuk sekumpulan objek dengan fitur yang sama.  Object atau instance of class merupakan representasi nyata dari class.

92 Author : Nyimas Artina STMIK GI MDP PALEMBANG Konsep Pemograman Berorientasi Objek Class Object

93 Author : Nyimas Artina STMIK GI MDP PALEMBANG Konsep Pemograman Berorientasi Objek  Class pohon  mendeskripsikan fitur yang dimiliki oleh semua pohon (memiliki akar, daun, tumbuh, dst)  Class pohon berfungsi sebagai model abstrak tentang konsep pohon.  Dari Class pohon tsb, anda dapat membuat berbagai pohon yang masing-masing bisa memiliki fitur berbeda (pendek, tinggi, berdaun lebat, dst) tetapi tetap dikenali sebagai pohon.  Instance dari suatu class adalah kata lain dari objek aktual.  Instance adalah representasi kongkrit dan spesifik dari kelas.  Objek dan instance adalah sama.

94 Author : Nyimas Artina STMIK GI MDP PALEMBANG Konsep Pemograman Berorientasi Objek  Class Tombol  Fitur tombol  label, ukuran, tampilannya,  Perilaku  klik, doubleklik, warna berubah,  Dengan membuat kelas Tombol, anda tidak perlu menulis ulang kode untuk tiap-tiap tombol yang anda pakai dalam program. Anda juga dapat menggunakan kembali kelas tombol untuk membuat jenis tombol yang lain untuk program yang sama maupun program lain.

95 Author : Nyimas Artina STMIK GI MDP PALEMBANG Konsep Pemograman Berorientasi Objek Object Oriented Programming  Istilah-istilah pada OOP :  State and behaviour  Encapsulation  Inheritance (Pewarisan)  Polymorphysm  Saat sebuah objek dianalisa dan dikelompokkan, maka muncullah dua komponen utama dari sebuah objek, yaitu state dan behaviour. Serta tiga sifat utama yaitu enkapsulasi, pewarisan, dan polymorphism  Pemrograman berorientasi objek menggunakan model pembentukan sistem dimana komponen sistem (objek) seringkali terbentuk dari objek-objek lain yang lebih kecil.

96 Author : Nyimas Artina STMIK GI MDP PALEMBANG State and behaviour  Setiap objek memiliki suatu keadaan (state) dan behaviour yang dapat mengubah state tersebut  State merupakan suatu identitas dari objek  Setiap barang memiliki nama, harga, jenis, dst  Diimplementasikan sbg variabel atau field  Behaviour dapat diartikan sebagai kegiatan dari objek.  Diimplementasikan dalam program sebagai proses/method  State = kata benda, behaviour = kata kerja  Contoh :  Manusia  State : umur, tinggi, berat badan  Behaviour : makan, tidur, bekerja

97 Author : Nyimas Artina STMIK GI MDP PALEMBANG Inheritance (Pewarisan)  Apa yang terdapat pada super-class akan dimiliki juga oleh sub-class. class MountainBike extends Bicycle { // new fields and methods defining a mountain bike would go here }

98 Company LOGO Class & Method sederhana “We have a hunger of the mind which asks for knowledge of all around us, and the more we gain, the more is our desire; the more we see, the more we are capable of seeing.” (Maria Mitchell)

99 Author : Nyimas Artina STMIK GI MDP PALEMBANG Method Karakteristik dari method : 1.dapat mengembalikan satu nilai atau tidak sama sekali 2.dapat diterima beberapa parameter yang dibutuhkan atau tidak ada parameter sama sekali. Parameter bisa juga disebut sebagai argumen dari fungsi 3.setelah method telah selesai dieksekusi, dia akan kembali pada method yang memanggilnya.

100 Author : Nyimas Artina STMIK GI MDP PALEMBANG mengapa kita butuh untuk membuat banyak method? Mengapa kita tidak menuliskan semua kode pada sebuah method?  Hal ini karena penyelesaian masalah yang sangat efektif adalah memecah masalah-masalah tersebut menjadi beberapa bagian. Kita juga dapat melakukan hal ini di bahasa pemrograman dengan membuat method untuk mengatasi bagian tertentu dari masalah.  Sebuah permasalahan dapat dipecah-pecah menjadi beberapa bagian kecil. Hal ini sangat baik sekali ketika membuat program yang sangat besar.

101 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh Method //namafile : contohmethodsederhana.java class ContohMethodSederhana { public static void main(String[] args) { DemoMethod dm = new DemoMethod(); dm.cetakUcapan(); } class DemoMethod { void cetakUcapan() { System.out.println ("Selamat Datang"); } Memanggil method cetakUcapan yang dipunyai class DemoMethod

102 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh program //namafile : ContohMethodParameter.java class ContohMethodParameter { public static void main(String[] args) { System.out.println("Contoh penggunaan method"); DemoMethod dm = new DemoMethod(); dm.cetakParameter("tolong cetak tulisan ini"); String tulis = "aplikasi"; dm.cetakParameter(tulis); } class DemoMethod { void cetakParameter(String teks) { System.out.println(teks); }

103 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh program dengan 2 parameter //namafile : ContohMethodParameter.java class ContohMethodParameter { public static void main(String[] args) { System.out.println("Contoh penggunaan method"); DemoMethod dm = new DemoMethod(); String nama = “June"; String umur = 19; dm.cetakParameter(nama, umur ); } class DemoMethod { void cetakParameter(String teks, int angka) { System.out.println("nama: “ + teks + " umur: " + angka); } Urutan parameter harus sama

104 Author : Nyimas Artina STMIK GI MDP PALEMBANG RETURN  digunakan dalam method (subroutine), Dengan menggunakan pernyataan return, maka eksekusi program akan kembali ke baris program yang memanggil method (subroutine) tersebut.

105 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh program : Return // nama file : return1.java class return1{ public static int hitungKuadrat(int a){ return(a*a); } public static void main (String args[]){ int b = hitungKuadrat(3); System.out.println("cara satu = " + b); System.out.println("cara dua = " + hitungKuadrat(5)); }

106 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh program : Return // nama file : return2.java class return1{ public static String tampil(String a){ return (a+" to Java Programming"); } public static void main (String args[]){ String a = tampil("Welcome"); System.out.println(a); }

107 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh program : Return class Return3{ boolean menang (int score) { if (score == 100) { return true; }else { return false; } public class a{ public static void main(String[]args) { Return3 contoh = new Return3(); int nilaiGrupA = 60; System.out.println("Kondisi menang : " + contoh.menang(nilaiGrupA)); } Hasil : Kondisi menang : false

108 Company LOGO CLASS

109 Author : Nyimas Artina STMIK GI MDP PALEMBANG Constructor  Constructor merupakan method khusus yang berfungsi untuk inisialisi atau menciptakan suatu object dari class  Constructor tidak mengembalikan nilai  Constructor mempunyai nama sama dengan nama class.  Jika constructor tidak didefinisikan, Java memberikan constructor dengan nama constructor_default.

110 Author : Nyimas Artina STMIK GI MDP PALEMBANG Constructor  Constructor default tidak melakukan apa-apa, namun semua variabel yang tidak diinisialisasi dianggap sebagai berikut : Variabel numerik diset ke 0 String diset ke null Variabel bolean diset ke false  Constructor tidak memiliki tipe hasil, walaupun constructor bisa public, private atau protected. Sebagian constructor bersifat public

111 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword this  Keyword this digunakan untuk menyatakan bahwa yang sedang diakses adalah variabel instans dari class dan bukan parameter suatu method. class ordinat { int x; int y; void inisial(int x, int y){ this.x = x; this.y = y; } class dmThis{ public static void main(String arg[]){ ordinat t1; ordinat t2; t1 = new ordinat(); t2 = new ordinat(); t1.inisial(12,5); t2.inisial(20,15); System.out.println("nilai x t1 = " + t1.x); System.out.println("nilai x t2 = " + t2.x); }

112 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword this class Ordinat { int x; int y; void Inisial(int x, int y){ this.x = x; this.y = y; }

113 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword this Kata kunci this dapat digunakan untuk beberapa alasan berikut:  1. Adanya ambigu pada atribut lokal dari variabel lokal  2. Menunjuk pada object yang meminta method non-static  3. Menunjuk pada constructor lain.

114 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword this (i)  Sebagai contoh pada maksud pertama, perhatikan kode berikut dimana variabel data disediakan sebagai sebuah atribut dan parameter lokal pada saat yang sama. class ThisDemo1 { int data; void method(int data) { this.data = data; /* this.data menunjuk ke atribut sementara data menunjuk ke variabel lokal */ }

115 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword this (ii)  Contoh berikut menunjukkan bagaimana object this secara mutlak menunjuk ketika anggota non static dipanggil. class ThisDemo2 { int data; void method() { System.out.println(data); //this.data } void method2() { method(); //this.method(); }

116 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword this (iii)  Contoh selanjutnya memiliki constructor overloaded dan referensi this yang dapat digunakan untuk menunjuk versi lain dari constructor. class ThisDemo3 { int data; ThisDemo3() { this(100); } ThisDemo3(int data) { this.data = data; }

117 Company LOGO Overriding Method Overloading Method

118 Author : Nyimas Artina STMIK GI MDP PALEMBANG Method overriding class A { void tampil() { System.out.println("ini method class A"); } class B extends A { void tampil() { System.out.println("ini method class B"); } class overriding { public static void main(String args[]) { B orang = new B(); orang.tampil(); } Untuk beberapa pertimbangan, terkadang class asal perlu mempunyai implementasi berbeda dari method yang khusus dari superclass tersebut. Oleh karena itulah, method overriding digunakan. Subclass dapat mengesampingkan method yang didefinisikan dalam superclass dengan menyediakan implementasi baru dari method tersebut. (subclass dapat meng- override fungsi yang didapat dari superclass)

119 Author : Nyimas Artina STMIK GI MDP PALEMBANG Method overloading  Dalam class yang kita buat, kadangkala kita menginginkan untuk membuat method dengan nama yang sama namun mempunyai fungsi yang berbeda menurut parameter yang digunakan. Kemampuan ini dimungkinkan dalam pemrograman Java, dan dikenal sebagai overloading method.  Overloading method mengijinkan sebuah method dengan nama yang sama namun memiliki parameter yang berbeda sehingga mempunyai implementasi dan return value yang berbeda pula. Daripada memberikan nama yang berbeda pada setiap pembuatan method, overloading method dapat digunakan pada operasi yang sama namun berbeda dalam implementasinya.

120 Author : Nyimas Artina STMIK GI MDP PALEMBANG Method overloading : Contoh public class Bentuk { … public void Gambar(int t1) { … } public void Gambar(int t1, int t2) { … } public void Gambar(int t1, int t2, int t3) { … } public void Gambar(int t1, int t2, int t3, int t4) { … }

121 Author : Nyimas Artina STMIK GI MDP PALEMBANG Method overloading

122 Author : Nyimas Artina STMIK GI MDP PALEMBANG Method overloading class pegawai { void tampil(String nip, String nama, String jabatan) { System.out.println("Tampil 3 variabel"); System.out.println(" "); System.out.println("NIP : " + nip); System.out.println("Nama : " + jabatan); System.out.println("Jabatan : " + jabatan); System.out.println(); } void tampil(String nip, String nama) { System.out.println("Tampil 2 variabel"); System.out.println(" "); System.out.println("NIP : " + nip); System.out.println("Nama : " + jabatan); System.out.println(); } void tampil(String nip) { System.out.println("Tampil 1 variabel"); System.out.println(" "); System.out.println("NIP : " + nip); System.out.println(); } class overloading { public static void main(String args[]) { pegawai pgw1, pgw2,pgw3; pgw1 = new pegawai(); pgw2 = new pegawai(); pgw3 = new pegawai(); pgw1.tampil("101","Budi","Direktur"); pgw2.tampil("102"); pgw3.tampil("103","Desi"); }

123 Company LOGO [Superclass and subclass] “Education is learning what you didn't even know you didn't know. ” ~Daniel J. Boorstin, Democracy and Its Discontents

124 Author : Nyimas Artina STMIK GI MDP PALEMBANG Pewarisan : [konsep] Superclass dan Subclass  SuperHero adalah superclass dari class FlyingSuperHero dan UnderwaterSuperHero.  Catatan bahwa FlyingSuperHero “is-a” SuperHero.  Sebagaimana juga UnderwaterSuperHero “is-a”SuperHero

125 Author : Nyimas Artina STMIK GI MDP PALEMBANG Superclass dan Subclass class orang { String nama, alamat; orang(String nama, String alamat){ this.nama = nama; this.alamat = alamat; } orang(){ } void tampil(){ System.out.println("Nama : " + nama); System.out.println("Alamat : " + alamat); System.out.println(" "); } class dmInherit{ public static void main(String arg[]){ pegawai gasim = new pegawai("021013","Gasim AlKaff", "Palembang", "STMIK MDP"); orang ima = new orang("Fathimah Azzahra", "Palembang"); gasim.tampil(); ima.tampil(); } class pegawai extends orang{ String NIP; String kantor; pegawai(String NIP, String nama, String alamat, String kantor){ this.NIP = NIP; this.nama = nama; this.alamat=alamat; this.kantor = kantor; } void tampil(){ System.out.println("NIP : " + NIP); System.out.println("Nama : " + nama); System.out.println("Alamat : " + alamat); System.out.println("Kantor : " + kantor); } extends merupakan kata kunci yang menyatakan bahwa class ini merupakan subclass dari superclassname.

126 Author : Nyimas Artina STMIK GI MDP PALEMBANG Superclass dan Subclass : Contoh 2 public class Bicycle { // the Bicycle class has three fields public int cadence; public int gear; public int speed; // the Bicycle class has one constructor public Bicycle(int startCadence, int startSpeed, int startGear) { gear = startGear; cadence = startCadence; speed = startSpeed; } // the Bicycle class has four methods public void setCadence(int newValue) { cadence = newValue; } public void setGear(int newValue) { gear = newValue; } public void applyBrake(int decrement) { speed -= decrement; } public void speedUp(int increment) { speed += increment; } }

127 Author : Nyimas Artina STMIK GI MDP PALEMBANG Superclass dan Subclass: Contoh 2  Deklarasi class untuk SepedaGunung yang merupakan subclass dari Sepeda mungkin akan terlihat seperti ini : public class MountainBike extends Bicycle { // the MountainBike subclass adds one field public int seatHeight; // the MountainBike subclass has one constructor public MountainBike(int startHeight, int startCadence, int startSpeed, int startGear) { super(startCadence, startSpeed, startGear); //* keyword super seatHeight = startHeight; } // the MountainBike subclass adds one method public void setHeight(int newValue) { seatHeight = newValue; }

128 Company LOGO Class [Keyword Super]

129 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword super  Penggunaan kata kunci super berhubungan dengan pewarisan.  Keyword super digunakan untuk meminta  constructor superclass (memanggil construktor dan method yang ada pada super-class).  Super juga dapat digunakan seperti kata kunci this untuk menunjuk pada anggota dari superclass.

130 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword super  Ada beberapa hal yang harus diingat ketika menggunakan pemanggil constuktor super: 1. Pemanggil super() HARUS DIJADIKAN PERNYATAAN PERTAMA DALAM constructor. 2. Pemanggil super() hanya dapat digunakan dalam definisi constructor. 3. Termasuk constructor this() dan pemanggil super() TIDAK BOLEH TERJADI DALAM constructor YANG SAMA.

131 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword super  Pemakaian lain dari super adalah untuk menunjuk anggota dari superclass(seperti reference this).  Sebagai contoh, public class Student extends Person { public Student() // constructor { super.name = “somename”; super.address = “some address”; } // some code here } memanggil variabel name dari class Person

132 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh Keyword super dalam Subclass class orang { String nama, alamat; orang(String nama, String alamat){ this.nama = nama; this.alamat = alamat; } orang(){ } class dmInherit{ public static void main(String arg[]) { pegawai gasim = new pegawai("021013","Gasim AlKaff", "Palembang", "STMIK MDP"); gasim.tampil(); } class pegawai extends orang{ String NIP; String kantor; pegawai(String NIP, String nama, String alamat, String kantor){ super(nama, alamat); this.NIP = NIP; this.kantor = kantor; } void tampil(){ System.out.println("NIP : " + NIP); System.out.println("Nama : " + nama); System.out.println("Alamat : " + alamat); System.out.println("Kantor : " + kantor); }

133 Author : Nyimas Artina STMIK GI MDP PALEMBANG Contoh Keyword super dalam Subclass(ii) public class Superclass { public void printMethod() { System.out.println("Printed in Superclass."); } public class Subclass extends Superclass { public void printMethod() { //overrides printMethod in Superclass super.printMethod(); System.out.println("Printed in Subclass"); } public static void main(String[] args) { Subclass s = new Subclass(); s.printMethod(); } Hasil : Printed in Superclass. Printed in Subclass

134 Author : Nyimas Artina STMIK GI MDP PALEMBANG Keyword ‘super’ dalam Overriding Method (iii)  Hasil program ini adalah. ini method class Y ini method class X class Y { void tampil() { System.out.println("ini method class Y"); } class X extends Y { void tampil() { super.tampil(); System.out.println("ini method class X"); } class SuperDalamOM { public static void main(String arg[]) { X orang = new X(); orang.tampil(); }

135 Company LOGO [constructor overloading] class

136 Author : Nyimas Artina STMIK GI MDP PALEMBANG Constructor Overloading

137 Author : Nyimas Artina STMIK GI MDP PALEMBANG Constructor Overloading

138 Author : Nyimas Artina STMIK GI MDP PALEMBANG Memanggil parent class construktor


Download ppt "Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Konsep Java dan OOP “Parents can only give good advice or put them on the right paths, but the final."

Presentasi serupa


Iklan oleh Google