Pemrograman Berorientasi Objek Pengenalan Bahasa JAVA Pendidikan Teknik
Pemrograman Berorientasi Objek “Pengenalan Bahasa JAVA” Pendidikan Teknik Informatika Dan Komputer UNIVERSITAS NEGERI SEMARANG
Tujuan v Membahas secara singkat tentang sejarah JAVA dan definisi teknologi JAVA serta fase dalam program JAVA.
Latar Belakang JAVA v Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. v Perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. v Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. v Orang – orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural v 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.
Latar Belakang JAVA v 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. v Produk pertama proyek Green adalah Star 7 (*7), sebuah kendali jarak jauh yang sangat cerdas. v Dikarenakan pasar masih belum tertarik dengan produk konsumer cerdas maka proyek Green harus menemukan pasar lain dari teknologi yang diciptakan. v Pada saat yang sama, implementasi WWW dan Internet sedang mengalami perkembangan pesat. v Di lain pihak, anggota dari proyek Green juga menyadari bahwa Java dapat digunakan pada pemrograman internet, sehingga penerapan selanjutnya mengarah menjadi teknologi yang berperan di web.
Java Pada Teknologi Web
Java Mengadopsi Kelebihan Bahasa Lain Java telah mengakomodasi hampir seluruh fitur penting bahasa – bahasa pemrograman yang ada semenjak perkembangan komputasi modern manusia : 1. Dari SIMULA, bahasa pada tahun 65 -an, bahasa yang paling mempengaruhi Java sekaligus C++. Dari bahasa ini diadopsi bentukan – bentukan dasar dari pemrograman berorientasi objek. 2. Dari LISP – bahasa tahun 55 -an. Diadopsi fasilitas garbage collection, serta kemampuan untuk meniru generic list processing, meski fasilitas ini jarang yang memanfaatkannya.
Java Mengadopsi Kelebihan Bahasa Lain 3. Dari Algol – bahasa pada tahun 60 -an, diambil struktur kendali yang dimilikinya. 4. Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling 5. Dari bahasa Ada, diambil strongly type, dan exception handling. 6. Dari Objective C, diambil fasilitas interface. 7. Dari bahasa Small. Talk, diambil pendekatan single-root class hiérarchie, dimana objek adalah satu kesatuan hirarki pewarisan 8. Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK 1. 4
Apa itu Teknologi JAVA? v Sebuah Bahasa Pemrograman Ø Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, v Sebuah Development Environment Ø Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya. v Sebuah Aplikasi Ø Aplikasi dengan teknologi Java secara umum adalah aplikasi serbt a guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE). v Sebuah Deployment Environment Ø JRE, yang terdapat pada paket J 2 SDK, mengandung kelas – kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Ø Komponen yang lain terdapat pada Web Browser.
Karakteristik JAVA v Sederhana Ø Sintaknya mirip C++ Ø Menghilangkan pointer yang rumit Ø Menghilangkan multiple inheritance Ø Menggunakan automatic memory allocation dan memory garbage collection v Berorientasi Objek Ø Murni berorientasi objek (program yang reusable) v Terdistribusi Ø Aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi
Karakteristik JAVA v Interpreted Ø Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM) sehingga hasil terjemahan source code JAVA yang berupa bytecodes dapat dijalankan pada platform yang berbeda-beda v Robust Ø Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain serta mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman
Karakteristik JAVA v Secure Ø Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi. v Architecture Neutral Ø Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine. v Portable Ø Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang
Karakteristik JAVA v Performance Ø Performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT). v Multithreaded Ø Fasilitas pemrograman paralel (dapat melakukan beberapa pekerjaan sekaligus) v Dynamic Ø Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut
Fase – Fase Pemrograman JAVA
Contoh Source Code JAVA public class Hello { /** * My first java program */ public static void main(String[] args) { //Menampilkan kata "Hello world" dilayar System. out. println("Hello world!"); } }
Penjelasan Source Code v. Public : program bersifat umum v. Static : karakteristik tetap pada kelas ini v. Void : fungsi kelas ini tidak mengembalikan suatu nilai v. Main : fungsi utama v. String[] args : fungsi kelas ini dapat menerima argumen ketika dijalankan dan argumen ini adalah string yang berbentuk larik atau bisa lebih dari satu argumen
Contoh Source Code JAVA (Applet) import java. awt. *; import java. applet. *; public class Applet. Hallo extends java. applet. Applet { /** Initialization method that will be called after the applet is loaded * into the browser. */ Font f = new Font("Tahoma", Font. BOLD, 18); public void init() { // TODO start asynchronous download of heavy resources } } public void paint(Graphics g) { g. set. Font(f); g. set. Color(Color. blue); g. draw. String("Hallo Semua Penghuni Dunia", 5, 25); }
Implementasi Applet <html> <head> </head> <body bgcolor="000000"> <center> <applet code = "Applet. Hallo. class" width = "500" height = "300" > </applet> </center> </body> </html>
Komentar Pada Program v Menambahkan komentar 1 baris digunakan tanda “ // ” Cth : //Menampilkan kata "Hello world" dilayar v Menambahkan komentar lebih dari 1 baris digunakan tanda “ /* bla bla */ “ Cth : /* Ini Komentar beberapa kalimat ini komentar kedua */
Keyword, Variabel, dan Tipe Data (1) v. Keyword adalah pengidentifikasi yang telah dipesan untuk didefinisikan sebelumnya oleh java untuk tujuan tertentu. Anda tidak dapat menggunakan keyword sebagai nama variabel anda, class, method dsb. Berikut ini adalah daftar dai kata kunci dalam java (Java Keywords).
Keyword, Variabel, dan Tipe Data (2)
Keyword, Variabel, dan Tipe Data (3) v Variabel pada Java terdiri dari : § § Variabel Class yang dikenal sebagai property yang merupakan state dari objek Cthnya : Public Class hello () { // Kode } Variabel Kode Cthnya : int a;
Keyword, Variabel, dan Tipe Data (4) Aturan pokok dalam deklarasi variabel § Setiap variabel harus diawali dengan abjad/huruf § Karakter kedua boleh huruf, angka atau simbol § Tidak memakai tanda baca (? ! + - * & dsb) § Tidak boleh ada spasi di dalamnya. Kata bisa dipisah dengan menggunakan underscore “_” § Bukan kata kunci § Sebaiknya nama variabel cukup deskriptif, menyatakan arti dan tujuannya
Keyword, Variabel, dan Tipe Data (5) Deklarasi variable : • <tipe> <nama variable>; v. Tipe Data Tipe data pada Java dapat dibedakan atas 2 kategori, yaitu § Tipe data primitif
Keyword, Variabel, dan Tipe Data (6) Type boolean char byte short int long Default False u 0000 0 0 Range u 0000 to u. FFFF -128 s/d 127 -32768 s/d 32767 -2147483648 s/d 2147483647 -9223372036854775808 s/d 9223372036854775808 float double 0. 0 1. 4 E-45 s/d 3. 4028235 E+38 4. 9 E-324 s/d 1. 7976931348623157 E+308
Keyword, Variabel, dan Tipe Data (7) § Tipe data kompleks o String : untuk menyatakan tipe deretan karakter, misalnya nama, alamat, dsb. Cth : String pesan = “Halo”; o Array : misalnya int [ ] x = new int [5]; v Karakter khusus § n : pindah ke baris baru § t : pindah tabulasi ke kanan § b : backspace § r : return § f : halaman baru v Konstanta Pendefinisian konstanta melalui kata kunci final Cth : final double PI = 3. 14
Keyword, Variabel, dan Tipe Data (8) v Perubahan tipe data Java menyediakan beberapa fungsi/metode untuk keperluan karakter, antara lain : § is. Digit() : memeriksa apakah karakter tersebut adalah digit angka § is. Java. Letter() : memeriksa apakah karakter ini adalah unicode § is. Lower. Case() : memeriksa apakah karakter ini asalah huruf kecil § to. Lower. Case() : mengubah karakter ke huruf kecil § to. Upper. Case() : mengubah karakter ke huruf besar
Keyword, Variabel, dan Tipe Data (9) Berikut ini perubahan tipe data yang diperbolehkan Dari Tipe byte short char int long float Ke Tipe short, char, int, long, float, double, char float, double
Keyword, Variabel, dan Tipe Data (10) Contoh perubahan tipe data o Double to integer § double b = 10. 5 int a = (int) b; // hasilnya adalah 10 o Integer to double § int a = 5; double b = a/2; // hasilnya 2, bukan 2. 5 double b = (double) a/2; // hasilnya 2. 5
Keyword, Variabel, dan Tipe Data (11) v Menampilkan Data Variabel Untuk mengeluarkan nilai dari variabel yang diinginkan, kita dapat menggunakan perintah sebagai berikut : – System. out. println() – System. out. print() Apa yang membedakan diantara perintah System. out. println() and System. out. print()? Yang pertama menambahkan baris baru pada akhir data untuk dikeluarkan, sementara selanjutnya tidak.
Keyword, Variabel, dan Tipe Data (12) Perhatikan pernyataan tersebut, • System. out. print("Hello "); • System. out. print("world!"); Pernyataan tersebut akan menghasilkan output berikut ini pada layar : Hello world! Sekarang perthatikan pernyataan berikut, • System. out. println("Hello "); • System. out. println("world!"); Pernyataan ini akan menghasilkan output sebagai berikut pada layar, Hello world!
Operator dan Ekspresi (1) v. Operator Aritmatika + penjumlahan - pengurangan * perkalian / pembagian % sisa pembagian 3+4 7 -5 a*b c/d 8%3
Operator dan Ekspresi (2) v. Operator Penugasan x=y=z=0; x += y; x -= y; x *= y; x /= y; x %=y; variabel x, y, z semua diberi nilai 0 x=x+y x=x–y x=x*y x=x/y x=x%y
Operator dan Ekspresi (3) v. Operator Increment dan Decrement
Operator dan Ekspresi (3) Lazimnya dalam Pascal ditulis dengan a : = a + 1; Namun dalam Java lazimnya ditulis a++; // walaupun a = a + 1; juga bisa dipakai Cth : 1. a++ int i = 10; int a = 3; int k = 0; k = a++ + i; //akan menghasilkan k = 3+10 = 13
Operator dan Ekspresi (4) 2. ++a int i = 10; int a = 3; int k = 0; k = ++a + i; //akan menghasilkan k = 4+10 = 14 3. a- - ? ? 4. --a ? ?
Operator dan Ekspresi (5) v. Operator Relasi
Operator dan Ekspresi (6) v. Operator Logika § Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean. Ada enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
Operator dan Ekspresi (7) Operator Simbol AND && dan & OR || dan | XOR ^ NOT !
Operator dan Ekspresi (8) § Perbedaan dasar antara operator && dan & adalah bahwa && mensupports short-circuit evaluations (atau evaluasi perbagian), sementara operator & tidak. § && akan mengevaluasi pernyataan exp 1, dan segera mengembalikan nilai false dan menyatakan bahwa exp 1 bernilai false. Jika exp 1 bernilai false, operator tidak akan pernah mengevaluasi exp 2 karena hasil operasi operator akan menjadi false tanpa memperhatikan nilai dari exp 2. Sebaliknya, operator & selalu mengevaluasi kedua nilai dari exp 1 dan exp 2 sebelum mengembalikan suatu nilai jawaban. § Demikian pula dengan operator || dan |
Operator dan Ekspresi (9)
Operator dan Ekspresi (10) v Operator Kondisi (? : ) § operator kondisi ? : adalah operator ternary. Hal ini berarti bahwa operator ini digunakan dalam tiga bentuk pernyataan kondisional argumen yang digunakan bersama. Struktur pernyataan yang menggunakan operator kondisi adalah, exp 1? exp 2: exp 3 § Dimana nilai exp 1 adalah suatu pernyataan boolean yang memiliki hasil yang salah satunya harus berupa nilai true atau false. § Jika exp 1 bernilai true, exp 2 merupakan hasil operasi. Jika bernilai false, kemudian exp 3 merupakan hasil operasinya.
Operator dan Ekspresi (11)
Input Dari Keyboard (1) v. Java menyediakan dua peralatan standard untuk melakukan operasi input-output, yaitu : § System. in (keyboard) sebagai peralatan input § System. out (monitor) sebagai peralatan output
Input Dari Keyboard (2) v Java mempersyaratkan operasi input-output berada di antara instruksi exception try { } catch { }, untuk memastikan reliabilitas dari program, sehingga ketika ada hambatan dari peralatan input-output maka program tidak berhenti di tengah jalan menunggu perbaikan peralatan tetapi akan melewati inputoutput yang bermasalah dengan sebuah kesalahan tertentu yang dinyatakan dalam eksepsi. v Jadi, kode dalam try { } akan mencoba peralatan input-output, bila ada masalah maka eksepsi yang ditulis pada catch { } akan dilaksanakan/ditayangkan
Input Dari Keyboard (3) v Cara input dari keyboard yang dibahas terdiri dari 2 (dua) yaitu § Tanpa menggunakan libraries (dikhususkan pada pembacaan karakter) § Menggunakan libraries Ø Input mode console menggunakan paket java. io Ø Input mode visual (GUI) menggunakan paket javax. swing
Input Dari Keyboard (4) § Tanpa menggunakan libraries (pembacaan karakter) Cth pembacaan dengan satu karakter : class baca. Huruf { public static void main(String[] args) { char input = (char) -1; try { input = (char) System. in. read(); } catch (Exception e) {System. out. println(“error “ + e); ) } }
Input Dari Keyboard (5) Menggunakan libraries (1) • Input mode console Mengunakan paket java. io dengan menambahkan import java. io. * sebelum public class utama. Cth class yang dipakai dalam membaca input string 1. new Data. Input. Stream(. . ) 2. new Buffered. Reader(new Input. Stream. Reader(. . ) 3. dll
Input Dari Keyboard (6) Menggunakan libraries (2) • Input mode visual Terdapat 2 mode visual yang digunakan yaitu 1. GUI klasik (menggunakan import. java. awt. * dan applet) awt (abstract window toolkit) 2. GUI modern (menggunakan import. javax. swing. *)
Input Dari Keyboard (7) v Konversi Input yang masuk melalui keyboard akan selalu dibaca tipe data karakter (char) atau kalimat (string). Untuk mengkonversinya diperlukan kode-kode tertentu yaitu:
Input Dari Keyboard (8) § String ke int Misalkan input dari keyboard dinyatakan dengan a, maka i. int angka = 0; string a = “ ”; angka = Integer. parse. Int(a); ii. int angka = 0; string a = “ ”; angka = Integer. value. Of(a). int. Value();
Input Dari Keyboard (9) § String ke float Misalkan input dari keyboard dinyatakan dengan a, maka i. float angka ; string a = “ ”; angka = Float. parse. Float(a); ii. float angka ; string a = “ ”; angka = Float. value. Of(a). float. Value();
Input Dari Keyboard (10) § String ke double Misalkan input dari keyboard dinyatakan dengan a, maka i. double angka ; string a = “ ”; angka = Double. parse. Double(a); ii. double angka ; string a = “ ”; angka = Double. value. Of(a). double. Value();
Instruksi Seleksi atau Pernyataan Berkondisi (1) v. Pada instruksi seleksi dan penyataan berkondisi akan memuat q. Operator Relasi q. Operator Logika v. Operator – operator tersebut akan dipadukan dengan instruksi seleksi (if/else) dan instruksi selektif multialternatif (switch)
Instruksi Seleksi atau Pernyataan Berkondisi (2) v. Pernyataan if/else Pernyataan if merupakan pernyataan berkondisi yang digunakan untuk memilih alternatif berdasarkan suatu persyaratan. Apabila persyaratan dipenuhi maka suatu alternatif dikerjakan dan bila tidak dipenuhi maka alternatif lain yang dikerjakan.
Instruksi Seleksi atau Pernyataan Berkondisi (3) Secara garis besar digambarkan sebagai berikut : if (kondisi/persyaratan) { //Blok pernyataan yang dijalankan kalau kondisi benar } else { //Blok pernyataan yang dijalankan kalau kondisi salah }
Instruksi Seleksi atau Pernyataan Berkondisi (4) Apabila kondisi/persyaratan lebih dari 2 dapat digunakan if bersarang (nested if). Secara garis besar dapat digambarkan sebagai berikut : if (kondisi/persyaratan) { //Blok pernyataan yang dijalankan kalau kondisi benar } Else if (kondisi/persyaratan) { //Blok pernyataan yang dijalankan kalau kondisi pertama salah } Else if (kondisi/persyaratan) { … } Else { … }
Instruksi Seleksi atau Pernyataan Berkondisi (5) v Kesalahan umum ketika menggunakan statement if -else: 1. Kondisi pada statement if bukan merupakan nilai boolean. Cth : int number = 0; if (number) {…} 2. Menggunakan = daripada == untuk operator perbandingan. Cth : int number = 0; if (number = 0) {…} //salah if (number == 0 ) {…} //benar 3. Menulis elseif daripada else if.
Instruksi Seleksi atau Pernyataan Berkondisi (6) v Pernyataan Switch § Fungsi switch hampir sama dengan if bersarang (nested if) digunakan untuk memilih berdasarkan banyak pilihan/alternatif di mana dari masing-masing pilihan akan menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan. § Fungsi switch lebih tepat digunakan untuk kondisi/persyaratan tunggal tanpa operator logika, operator relasi ‘==‘ dan lebih dari satu kondisi/persyaratan sejenis
Instruksi Seleksi atau Pernyataan Berkondisi (7) Secara garis besar dapat digambarkan sebagai berikut : switch (ekspresi) { case nilai. Satu : Pernyataan – 1; Break; case nilai. Dua : Pernyataan – 2; Break; case nilai. Tiga : Pernyataan – 3; Break; case nilai. Empat : Pernyataan – 4; Break; … default : pernyataan lain; Break; Untuk menghindari program mengeksekusi statement pada case berikutnya, kita menggunakan statement break sebagai statement akhir.
String (1) v. Menggabungkan String Cth : String kata 1 = “Teknik ”; String kata 2 = “Informatika”; String katagabung = kata 1+kata 2; v. Mencek Awal dan Akhir String Cth : String kalimat = "Awal dari String"; boolean cek 1, cek 2; cek 1 = kalimat. starts. With("awal"); cek 1 = kalimat. ends. With(“String");
String (2) v. Membandingkan String Cth : String kata 1 = “STMIK JURUSAN TI”; String kata 2 = “stmik jurusan ti”. to. Upper. Case(); String cek = kata 1. equals(kata 2)? ”sama”: ”tidaksama”; v. Membandingkan String (2) Pola : <variabel 1>. compare. To(<variabel 2>) § compare. To akan menghasilkan negatif ( < 0 ) bila variabel 1 lebih kecil dari variabel 2 § compare. To akan menghasilkan positif ( > 0 ) bila variabel 1 lebih besar dari variabel 2 § compare. To akan menghasilkan netral/sama ( = 0) bila variabel 1 sama dengan variabel 2
String (3) v. Mendapatkan Panjang String Cth : String panjang = “Ini panjangnya 17”; System. out, println(panjang. length()); v. Mendapatkan Substring dari String Cth : String kalimat = “Teknik Informatika WD” String sub 1 = kalimat. sub. String(4); String sub 2 = kalimat. sub. String(4, 10); Pola : sub. String(int posisiawal) sub. String(int posisiawal, int posisiakhir)
String (4) v. Memodifikasi String Cth 1: String Cth 2: String kalimat = “Ini-String-awal”; kalimatbaru = kalimat. replace(‘-’, ’ ‘); kalimat = “ String lain kalimatbaru = kalimat. trim(); “;
Pengertian Array • Array adalah nama sekumpulan variabel yang memiliki tipe data yang sama. • Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya. • Elemen pertama array memiliki indeks 0, elemen kedua memiliki indeks 1, elemen ketiga memiliki indeks 2, dan seterusnya.
Deklarasi Array (1) <tipe data><dimensi array><identifier/variabel> Array 1 dimensi <tipe data>[] <identifier/variabel> Cth : – Int[] bilangan atau Int bilangan[] – String[] nama – char[] karakter Array 2 dimensi <tipe data>[][] <identifier/variabel> Cth : – Int[][] bilangan atau Int bilangan[][] – String[][] nama – char[][] karakter
Deklarasi Array (2) Array Multidimensi <tipe data>[][][] <identifier/variabel> Cth : – Int[][][] bilangan atau Int bilangan[][][] – char[][][] kata
Mendefinisikan Array • Mendefinisikan array dapat dilakukan dengan berbagai cara : v. Int[] a = new Int[100]; Angka 100 menunjukkan variabel a dapat menyimpan 100 nilai integer yang dapat diakses melalui indeks 0 sampai indeks ke 99. Namun jika didefinisikan demikian, variabel a belum memiliki nilai. v. Int[] a = {0, 2, 5, 6, 7, 8, 3, 6, 9, 2}
Pengaksesan Sebuah Elemen Array • Misalnya : Int[] b = {0, 2, 5, 6, 7, 8, 3, 6, 9, 2} vb[0] = 0 vb[1] = 2 vb[2] = 5 vb[3] = 6 vb[4] = 7 vb[5] = 8 vb[6] = 3 vb[7] = 6 vb[8] = 9 vb[9] = 2
Panjang Array • Untuk mengetahui banyaknya elemen dari array dapat dilakukan dengan cara. Misal : public class contoharray { public static void main( String[] args ){ int[] umur = new int[100]; for( int i=0; i<umur. length; i++ ) { System. out. print( umur[i] ); } } } //umur. length = 100
Membuat Array Karakter dari String • Metode yang dapat dipakai : vto. Char. Array() Misal : String teks = “Koq gitu sih”; char[] arrayteks = teks. to. Char. Array(); vget. Chars(posisi awal, posisi akhir, variabel baru, posisi indeks pertama untuk menyimpan karakter pertama dalam integer) Misal : String teks = “Koq gitu sih”; char[] karakter = new char[4]; Teks. get. Chars(4, 8, karakter, 0);
Mendapatkan String dari Array Karakter • Metode yang dipakai : vcopy. Value. Of() Misal : char[] nama = {‘T’, ’U’, ’K’, ’I’, ’Y’, ’E’, ’M’}; String teks = String. copy. Value. Of(nama);
Pemrograman Berorientasi Objek “Konsep OOP (Object Oriented Programming)” Sekolah Tinggi Manajemen Informatika dan Komputer WIDYA DHARMA
Class dan Objek (1) v. Paradigma Objek o Paradigma adalah suatu cara pandang atau cara berpikir. o Paradigma objek dapat diartikan cara pandang yang memandang segala sesuatu sebagai objek.
Class dan Objek (2) v. Class Secara sederhana, komponen class dalam JAVA adalah : class Nama. Class { data member/variabel/field … konstruktor … method/behavior/aksi/fungsi … }
Komponen Class v Data member/variabel/field Berisikan tipe data yang disertai nama variabel. Cth : String kalimat; v Konstruktor Cara khusus untuk membangun atau memanggil objek dari definisi class. v Method/behavior/aksi/fungsi Komponen yang memberikan nilai atau keluaran jika menerima parameter sebagai input datanya.
Access Attribute Hak Akses tidak disebutkan dari class dalam package sama Public dari class di mana saja Private tidak dapat diakses dari luar class dari class dalam package sama dan sub class Protected Contoh penggunaan access attribute : private String kata; protected int tinggi; public double angka;
Istilah Lain v. Static : dapat diakses secara langsung tanpa perlu membuat objek.
Data Member/Variabel/Field (1) • Dalam class terdapat 2 (dua) macam variabel yaitu : vinstance variabel Variabel kosong yang dapat diisi dengan nilai yang berbeda-beda. vclass variabel Variabel yang memiliki nilai yang dapat di-share atau digunakan oleh setiap objek di mana nilai variabel yang diakses oleh setiap objek adalah sama.
Data Member/Variabel/Field (2) • Pendeklarasian variabel bisa dilakukan dengan berbagai cara : v. String kata; vstatic String kata = “Mobil”; vprivate String kata; vpublic String kata; vprivate static String kata = “Mobil”;
Konstruktor (1) • Aturan deklarasi konstruktor : v. Konstruktor harus dinamai sama dengan nama class v. Konstruktor dapat didefinisikan lebih dari satu dalam satu class v. Konstruktor dapat didefinisikan tanpa parameter atau dengan satu maupun banyak parameter v. Konstruktor tidak mengembalikan nilai v. Konstruktor dipanggil dengan operator new
Konstruktor (2) • Contoh pemanggilan konstruktor : v. Namaclass objekbaru = new Namaclass(); v. Namaclass objekbaru = new Namaclass(tipedata parameter 1, tipedata parameter 2, …);
Method (1) • Struktur dasar method : <Tipedata yang dikembalikan> namamethod(tipedata parameter 1, …, tipedata parameter. N)
Method (2) • Tiga komponen method adalah : v. Tipe data yang dikembalikan Apabila method mengembalikan String maka mengawali definisi method dengan String dan apabila method tidak mengembalikan nilai sama sekali maka kita menggunakan keyword void. vnamamethod v. Parameter Tidak harus berparameter, namun jika berparameter harus didahului tipe data dan diakhiri variabel
Method (3) • Contoh pendeklarasian method : vvoid setgaji(double gajinya) { gaji = gajinya; } vdouble getgaji() { return gaji; }
Enkapsulasi • Enkapsulasi merupakan aspek pemrograman berorientasi objek yang berguna untuk menyembunyikan informasi class dari luar (data hiding) di mana kita tidak dapat mengubah atau mengakses data member atau variabel secara langsung. • Jadi, untuk menerapkan enkapsulasi, data member/variabel perlu dideklarasikan dengan private dan deklarasi method-method untuk mendapatkan nilai dari variabel.
Inheritance / Pewarisan v. Inheritance adalah proses pewarisan data dan method dari satu kelas kepada kelas yang lain. v. Pewarisan ini bersifat menyeluruh, sehingga semua data dan method yang dimiliki oleh kelas utama akan diturunkan kepada kelas baru. v. Kelas yang mewariskan disebut Kelas Super (Super Class)/ Kelas Induk. v. Kelas yang diwariskan disebut subkelas (Sub Class)/Kelas Anak.
Inheritance (2) Mengapa menggunakan inheritance? 1. Bersifat reusable 2. Kemudahan dalam me-manage kelas yang memiliki data member dan method yang sama.
Inheritance (3) Overriding Data dan Method 1. Overriding adalah kemampuan suatu subkelas untuk memodifikasi data member dan method dari kelas induknya. 2. Tujuan utamanya adalah melakukan tambahan atau perubahan jika kelas Super tidak memiliki method khusus yang dimiliki sub kelas
Inheritance (4) Keyword yang sering dipakai : 1. extends Fungsi : menyatakan bahwa suatu kelas merupakan perluasan dari kelas Induk. 2. super Fungsi : memanggil konstruktor yang ada pada kelas Induk.
Polimorfisme • Polimorfisme : kemampuan dari suatu variabel referensi objek untuk memiliki aksi/method yang berbeda bila method yang sama dipanggil, di mana aksi method tergantung dari tipe objeknya.
- Slides: 90