Universitas Dian Nuswantoro (UDINUS) KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK Farah Zakiyah Rahmanti, M.T 2015 Overview Definisi Teknologi Java Konsep Pemrograman Procedural dan OOP Struktur Java, Identifier, Kata Kunci, Tipe Data, Operator, Inisialisasi dan Nilai Default Universitas Dian Nuswantoro (UDINUS) Definisi Ditemukan sejak tahun 1960. Dikembangkan pada permulaan tahun 1970. dalam bahasa inggris ‘object-oriented programming’ disingkat OOP. paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas (class) atau objekobjek (object). Universitas Dian Nuswantoro (UDINUS) Definisi Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Universitas Dian Nuswantoro (UDINUS) Teknologi Java Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991. Bahasa ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus oada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source. Universitas Dian Nuswantoro (UDINUS) Teknologi Java Platform Java Java sebagai platform pengembangan software, secara garis besar dibedakan ke dalam 3 arahan : J2SE Java 2 Standard Edition mencakup core dari bahasa pemrograman Java, memuat library-library inti yang dibutuhkan seperti IO, Networking dan JDBC. J2EE Java 2 Enterprise Edition adalah pengembangan Java untuk solusi enterprise, mulai dari aplikasi berbasis Web dengan Servlet dan JSP, aplikasi terdistribusi dengan EJB, sebagaimana aplikasi integrasi enterprise seperti Web Service. J2ME Java 2 Micro Edition adalah pengembangan Java untuk mobile device, seperti handphone, pocket PC dan PDA. Pengembangan ke arah mobile device ini menuntut Java untuk beradaptasi dengan mesin yang terbatas dalam memory dan processor. Universitas Dian Nuswantoro (UDINUS) Konsep Pemrograman Procedural Suatu metode menulis program yang didasarkan pada “serangkaian tugas yang diselesaikan dalam bentuk fungsi atau prosedur”. Cara pandang pemrograman prosedural yaitu sebuah program adalah suatu urutan instruksi. Programmer harus mem-break down suatu problem/masalah menjadi sub problem yang lebih sederhana. Fokus utama metode prosedural ini adalah fungsi dan prosedur, dimana keduanya digunakan untuk memanipulasi data. Data bersifat pasif. Universitas Dian Nuswantoro (UDINUS) Konsep Pemrograman Procedural Contoh bahasa pemrograman mendukung procedural : bahasa C. Universitas Dian Nuswantoro (UDINUS) yang Konsep Pemrograman Berorientasi Obyek Fungsi (function) dan data bukan menjadi dua hal yang terpisah. Fungsi dan data menjadi satu kesatuan yang disebut sebagai objek aktif. Cara pandang OOP ini yaitu sebuah program merupakan serangkaian objek yang bekerjasama untuk menyelesaikan suatu problem. Universitas Dian Nuswantoro (UDINUS) Konsep Pemrograman Berorientasi Obyek Contoh bahasa pemrograman yang mendukung OOP : Java, C++, Pascal, Visual Basic .NET, Ruby, Python, PHP, C#, Delphi, Perl, dll Universitas Dian Nuswantoro (UDINUS) Struktur Java Struktur java terdiri dari class declaration, class body, constructor, method. Universitas Dian Nuswantoro (UDINUS) Contoh Struktur Java Class declaration public class Stack { private Vector items; public Stack () { items = new Vector(10); } public Object push (Object item) { items.addElement(item); return item; } public synchronized Object pop() { int len = items.size(); Object obj = null; if (len == 0) throw new EmptyStackException(); obj = items.elementAt(len - 1); items.removeElementAt(len - 1); return obj; } public boolean isEmpty() { if (items.size() == 0) return true; else return false; } } Universitas Dian Nuswantoro (UDINUS) variable constructor method Identifier Identifier adalah nama yang diberikan untuk nama variabel, class, dan method. Penamaan bbersifat case-sensitive. Tidak dibatasi panjang maksimum. Tata penulisan identifier : Tidak boleh mengandung spasi Harus diawali dengan awalan unicode, tanda dollar ($), tanda garis bawah / underscore (_). Universitas Dian Nuswantoro (UDINUS) Kata Kunci (keyword) Kata kunci adalah perbendarahan kata dari bahasa JAVA yang digunakan sebagai bagian dari instruksi atau command. Kata kunci tidak boleh dipergunakan oleh pemrogram sebagai nama suatu variabel atau nama suatu fungsi. Universitas Dian Nuswantoro (UDINUS) Daftar Kata Kunci di JAVA Abstract const Finally interface return Throws Boolean continue Float Long short Transient Break default For native static True Byte Do Goto New super Try Byvalue Double If Null switch Void Case Else implements package synchroniz ed Volatile Catch Extends Import private this While Char False instanceof protected threadsafe Class Final Int public throw Universitas Dian Nuswantoro (UDINUS) Tipe Data Tipe data mendefinisikan jenis data yang dinyatakan oleh variabel. Contohnya adalah sebuah data bertipe integer, merepresentasikan bahwa data tersebut bilangan bulat. Terdapat dua tipe data : Tipe data primitif Tipe data objek Universitas Dian Nuswantoro (UDINUS) Tipe Data Primitif Logical - boolean Textual - char Integral - byte, short, int, long Floating - double, float Universitas Dian Nuswantoro (UDINUS) Tipe Data Primitif Tipe Data Ukuran (bits) Tipe Data Ukuran (bits) boolean 1 char 16 byte 8 short 16 int 32 long 64 float 32 double 64 Universitas Dian Nuswantoro (UDINUS) Tipe Data Obyek Obyek dibuat dari class. Class adalah blueprint dari obyek. Class terdiri dari 2 macam : Class yang sudah disediakan oleh Java. String s = new String (“udinus”); Class yang dibuat sendiri. (dijelaskan lebih lanjut pada pertemuan selanjutnya) Universitas Dian Nuswantoro (UDINUS) Operator Unary operator adalah operator yang hanya melibatkan satu operan. Binary operator adalah operator yang melibatkan 2 operan. Universitas Dian Nuswantoro (UDINUS) Operator Aritmatika Operator aritmatika adalah operator yang berfungsi untuk operasi aritmatika. Operator Aritmatika Keterangan + Operasi penambahan - Operasi pengurangan * Operasi perkalian / Operasi pembagian % Operasi modulus Universitas Dian Nuswantoro (UDINUS) Operator Increment - Decrement Operator increment – decrement adalah operator yang berguna untuk menaikkan 1 nilai (increment) dan menurunkan (decrement). Increment – Decrement Operator Keterangan ++ Increment -- Decrement Universitas Dian Nuswantoro (UDINUS) Operator Bitwise Operator bitwise adalah operator yang dipakai untuk operasi bit pada nilai operan. Operator Aritmatika Keterangan ~ Operasi complement & Operasi AND | Operasi OR ^ Operasi XOR Universitas Dian Nuswantoro (UDINUS) Operator Boolean Ooperator boolean adalah operator yang mengharuskan operannya bertipe boolean (true atau false) Operator Logika Keterangan ! Operasi negasi (NOT) & Operasi AND | Operasi OR ^ Operasi XOR && Operasi AND (short circuit) || Operasi OR (short circuit) Universitas Dian Nuswantoro (UDINUS) Operator Logika Operator logika adalah operator yang sering dipakai untuk operasi perbandingan dan selalu menghasilkan suatu nilai bertipe boolean (true atau false). Operator Logika Keterangan == Operasi perbandingan sama dengan != Operasi perbandingan tidak sama dengan > Operasi perbandingan lebih besar >= Operasi perbandingan lebih besar sama dengan < Operasi perbandingan lebih kecil <= Operasi perbandingan lebih kecil sama dengan Universitas Dian Nuswantoro (UDINUS) Operator Shift Operator geser adalah operator yang berfungsi untuk menggeser susunan bit pada suatu nilai. Operator Geser Keterangan >> Right shift >>> Unsigned right shift << Left shift Universitas Dian Nuswantoro (UDINUS) Contoh Operator Shift Misal : char (character) -> 256 berarti memiliki range (0-255) Ingat 8 bit = 1 byte 0000 0000 = 0 1111 1111 = 255 0000 0010 = 2 ; >> 1 menjadi 0000 0001 = 1 0000 0001 = 1 ; << 3 menjadi 0000 1000 = 8 Universitas Dian Nuswantoro (UDINUS) Contoh Operator Shift 00100101010101010101001110101111 = 626348975 ; 00010010101010101010100111010111 = 313174487 ; >>> 1 00001001010101010101010011101011 = 156587243 ; >>> 2 00000100101010101010101001110101 = 78293621 ; >>> 3 Universitas Dian Nuswantoro (UDINUS) Operator Kombinasi Operator kombinasi adalah operator yang terdiri dari gabungan 2 operator. Operator Kombinasi Keterangan += Gabungan dari operator = dan + -= Gabungan dari operator = dan - *= Gabungan dari operator = dan * /= Gabungan dari operator = dan / %= Gabungan dari operator = dan % >>= Gabungan dari operator = dan >> >>>= Gabungan dari operator = dan >>> <<= Gabungan dari operator = dan << &= Gabungan dari operator = dan & |= Gabungan dari operator = dan | Universitas Dian Nuswantoro (UDINUS) ^= Gabungan dari operator = dan ^ Nilai Default Tipe Data Nilai Awal Tipe Data Nilai Awal byte 0 short 0 int 0 long 0L float 0.0f double 0.0d chart ‘\u0000’ boolean false object referemce null Universitas Dian Nuswantoro (UDINUS) Terima Kasih Universitas Dian Nuswantoro (UDINUS)