Top Banner
KATA PENGANTAR Puji syukur kami panjatkan atas kehadirat Tuhan Yang Maha Esa, yang atas rahmat Nya lah kami dapat menyelesaikan tugas mata kuliah Pemrograman Berorientasi Objek. Dalam penyusunan makalah ini, tidak sedikit hambatan yang kami hadapi. Namun kami menyadari bahwa kelancaran dalam penyusunan makalah ini tidak lain berkat bantuan, dorongan dan bimbingan orang tua, sehingga kendala-kendala yang kami hadapi teratasi. Dalam penulisan makalah ini kami menyampaikan ucapan terima kasih yang tak terhingga kepada pihak-pihak yang membantu dalam menyelesaikan makalah ini, khususnya kepada : 1. Orang tua yang telah turut membantu, membimbing, dan mengatasi berbagai kesulitan sehingga tugas ini selesai. 2. Dosen Nahot Frastian, M.Kom, selaku Dosen Mata Kuliah Pemrograman Berorientasi Objek yang telah meluangkan waktu, tenaga dan pikiran dalam pelaksanaan bimbingan, pengarahan, dorongan dalam rangka penyelesaian penyusunan makalah ini. 3. Rekan-rekan semua di Kelas R5M Universitas Indraprasta Jurusan Teknik Informatika. 4. Semua pihak yang tidak dapat disebutkan satu persatu, yang telah memberikan bantuan dalam penulisan makalah ini. 1
51

yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Apr 28, 2018

Download

Documents

vodang
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

KATA PENGANTAR

Puji syukur kami panjatkan atas kehadirat Tuhan Yang Maha Esa, yang atas rahmat Nya

lah kami dapat menyelesaikan tugas mata kuliah Pemrograman Berorientasi Objek.

Dalam penyusunan makalah ini, tidak sedikit hambatan yang kami hadapi. Namun kami

menyadari bahwa kelancaran dalam penyusunan makalah ini tidak lain berkat bantuan, dorongan

dan bimbingan orang tua, sehingga kendala-kendala yang kami hadapi teratasi.

Dalam penulisan makalah ini kami menyampaikan ucapan terima kasih yang tak

terhingga kepada pihak-pihak yang membantu dalam menyelesaikan makalah ini, khususnya

kepada :

1. Orang tua yang telah turut membantu, membimbing, dan mengatasi berbagai kesulitan

sehingga tugas ini selesai.

2. Dosen Nahot Frastian, M.Kom, selaku Dosen Mata Kuliah Pemrograman Berorientasi

Objek yang telah meluangkan waktu, tenaga dan pikiran dalam pelaksanaan bimbingan,

pengarahan, dorongan dalam rangka penyelesaian penyusunan makalah ini.

3. Rekan-rekan semua di Kelas R5M Universitas Indraprasta Jurusan Teknik Informatika.

4. Semua pihak yang tidak dapat disebutkan satu persatu, yang telah memberikan bantuan

dalam penulisan makalah ini.

Akhirnya, kami berharap semoga Allah memberikan imbalan yang setimpal pada mereka

yang telah memberikan bantuan dan dapat menjadikan semua bantuan ini sebagai ibadah, Amiin

Yaa Robbal ‘Alamiin.

Semoga materi ini dapat bermanfaat dan menjadi sumbangan pemikiran bagi pihak yang

membutuhkan, khususnya bagi kami sehingga tujuan yang diharapkan dapat tercapai, Amiin.

1

Page 2: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

DAFTAR ISI

KATA PENGANTAR.....................................................................................................................1

DAFTAR ISI ..................................................................................................................................2

BAB 1 Pendahuluan.........................................................................................................................5

1.1 Latar Belakang.........................................................................................................5

1.2 Rumusan Masalah....................................................................................................5

1.3 Tujuan ......................................................................................................................5

BAB 2 Struktur,Typedef,Union, Enumerasi, Bitfiels......................................................................6

2.1 Struktur....................................................................................................................6

2.1.1 Deklarasi Struktur........................................................................................6

2.2 Typedef....................................................................................................................7

2.3 Uinon........................................................................................................................7

2.4 Enumerasi................................................................................................................8

2.4.1 Deklarasi Emunerasi....................................................................................8

2.5 Bitfiels......................................................................................................................8

2.6 Implementasi Struct.................................................................................................9

2.6.1 Bentuk Umum..............................................................................................9

2.6.2 Implementasi................................................................................................9

2.7 Member Operator...................................................................................................13

2.7.1 Operator Pada Java....................................................................................13

1. Operator Aritmatika...............................................................................13

2

Page 3: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

2. Operator Penugasan...............................................................................13

3. Operator Pembandingan.........................................................................14

4. Operator Logika.....................................................................................14

2.8 Konsep Dasar Pointer ............................................................................................14

2.8.1 Deklarsi Pointer.........................................................................................15

2.8.2 Pointer di dalam Bahasa Java....................................................................15

2.9 Struktur Pointer Operator.......................................................................................18

2.9.1 Operator &.................................................................................................18

2.9.2 Operator *..................................................................................................18

2.10 Macam-macam Pointer..........................................................................................19

1. Pointer Bertipe Void .........................................................................................19

2.Pointer Aritmetika ..............................................................................................19

3.Pointer NULL ....................................................................................................19

BAB 3 Konsep Pemrograman Berorintasi Objek..........................................................................21

3.1 Pengertian (PBO)...................................................................................................21

3.1.1 Konsep Dasar.............................................................................................21

3.2 Enkapsulasi............................................................................................................25

3.2.1 Modularitas................................................................................................25

3.2.2 Information Hiding....................................................................................25

3.3 Inheritansi..............................................................................................................26

3.3.1 Keuntungan dari inheritance......................................................................26

3.4 Polimorfisme..........................................................................................................27

3

Page 4: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

3.5 Overriding..............................................................................................................28

3.6 Bahasa pemrograman.............................................................................................29

BAB 4 Program PrintOut...............................................................................................................30

4.1 Enkapsulasi...............................................................................................................30

4.2 Polimorfisme.............................................................................................................31

4.3 Inheritansi (Inheritance)............................................................................................35

BAB 5 Penutup..............................................................................................................................37

5.1 Kesimpilan 37

DAFTER PUSTAKA....................................................................................................................38

4

Page 5: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

BAB 1

PENDAHULUAN1.1 Latar belakang

Pemrograman berorientasi objek diciptakan untuk mempermudah pengembangan

program dengan cara mengikuti model yang telah ada dalam kehidupan nyata. Dalam paradigma

ini, sesuai dengan model kehidupan nyata, segala bagian (entiti) dari suatu permasalahan adalah

objek. Objek-objek ini kemudian dapat berupa gabungan dari beberapa objek yang lebih kecil.

Begitu juga dengan sebuah program. Objek besar dapat dibentuk dengan menggabungkan

beberapa objek-objek dalam bahasa pemrograman. Objek-objek tersebut berkomunikasi dengan

saling mengirim pesan kepada objek lain.

1.2  Rumusan Masalah

1. Apa pengertian, dari Pemrograman Berorientasi Objek?

2. Apa konsep dasar dari PBO tersebut?

3. Terbagi menjadi berapa Member Operator pada java?

4. Apa pengertian dari Struktur dan deklarasinya?

5. Apa pengertian dari Typedef dan deklarasinya?

6. Apa pengertian dari Enumerasi dan deklarasinya?

7. Apa pengertian dari Union dan deklarasinya?

8. Apa pengertian dari Bitfiels dan deklarasinya?

9. Apa pengertian dari Enkapsulasi, Inheritansi, Polimorfisme, dan Overriding?

1.3  Tujuan

1. Untuk mengetahui pengertian, Pemrograman Berorientasi Objek tesebut, Strukturnya,dan

konsep serta deklarasinya

2. Untuk mengetahui bagaimana cara mengimplementasikan konsep PBO tersebut!

5

Page 6: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

3. Untuk mengetahui perbedaan dari konsep-konsep yang ada di Pemrograman Berorientasi

Objek!

BAB 2

STRUKTUR, TYPEDEF, UNION, ENUMERASI, DAN BIT FIELDS

2.1 STRUKTUR

Struktur adalah sekumpulan variable yang masing-masing dapat berbeda tipe, dan

dikelompokkan ke dalam satu nama. Struktur ini sering digunakan untuk mendefinisikansuatu

record data yang disimpan didalam file.

Struktur termasuk ke dalam tipe data yang dibangkitkan (derived data type) yang disusun

dengan menggunakan obyek tipe lain.

2.1.1 Deklarasi Struktur

Struct Nama_Struktur { elemen/tipe data struktrur ; } ;

Contoh: struct mhs{

char*nama;

char*npm;

int uts, uas;

float akhir;

char mutu;

}

Contoh : struct Data {

int tinggi ;

char alamat[30];

};

variable struktur dideklarasikan dengan : struct Nama_struktur Nama_variable;

Contoh : struct Data Dian, Andi; // Dian dan Adi variable dari struct Data6

Page 7: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Cara lain mendeklarasikan variable struktur adalah digabung dengan deklarasi struct dengan

bentuk sebagai berikut :

struct Data { int tinggi;

char Alamat[30];

} Dian, Adi;

2.2 TYPEDEF

Digunakan untuk mendefinisikan kembali suatu nama tipe data yang baru berdasarkan

dengan tipe data yang lama. Contoh :

Typedef float Pecahan;

Pecahan Nilai;

Akan membuat tipe data yang baru yaitu Pecahan yang ekivalen dengan tipe data float. Maka

variabel Nilai bertipe pecahan sama dengan float Nilai ;

2.3 UNION

Union merupakan tipe data yang dibangkitkan dimana anggota-anggotanya menggunakan

secara bersama-sama ruang penyimpanan yang sama, berbeda dengan struktur yang masing-

masing variable menempati lokasi memori yang berbeda. Jumlah byte yang digunakan untuk

menyimpan union adalah sedikitnya cukup untuk menyimpan data terbesar yang ditangani. Oleh

karena itu, tipe union ini digunakan untuk menangani satu, dua, atau tiga variable dengan tipe

yang mirip. Sebagai contoh:

union nilaiujian {

int uts, uas;

float akhir;

}

7

Page 8: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

2.4 ENUMERASI

Enumerasi suatu tipe data yang mempunyai elemen-elemen bernilai konstatnta dengan

urutan yang sudah tertentu.Nilai-nilai tersebut berupa nilai integer. Nama enumerasi boleh tidak

ditulis jika tidak digunakan untuk enumerasi lain.

2.4.1 Deklarasi Enumerasi

enum Nama_tipe { elemen1,elemen2,…};

Contoh :

enum {Minggu, senin,selasa, rabu, kamis,jumat,sabtu}; printf(“%d%d%d%d%d

%d”,minggu,senin,selasa,rabu,kamis,jumat,sabtu);

Output : 0123456

2.5 BIT FIELDS

Operasi bit dengan bahasa C didasarkan pada suatu struktu yang mempunyai elemen-

elemen berupa medan digit binary (bit field). Tiap bit field dapat ditentukan banyaknya bit yang

akan diwakilinya, Pendeklasian bit filed sama seperti struktur. Bit filed hanya dapat

didiklarasikan dengan tipe int, signed atau unsigned.

Contoh ;

struct tanggal { unsigned hari : 5;

unsigned bulan : 4;

unsigned tahun : 78; } ;

keterangan : elemen hari diberi nilai 5 bit berarti dapat mewakili 5 nilai 0 s/d 1 cukup untuk

mewakili nilai hari dalam 1 bulan.

8

Page 9: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

2.6 IMPLEMENTASI STRUCT

Setelah kita membahas tentang ADT dan struct, sekarang akan dibahas beberapa contoh

implementasi struct, Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel

yang bernaung dalam satu nama yang sama dan memiliki kaitan satu sama lain. Berbeda dengan

array hanya berupa kumpulan variabel yang bertipe data sama, struct bisa memiliki variabel-

variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data

array atau struct itu sendiri. Variabel-variabel yang menjadi anggota struct disebut dengan

elemen struct.

2.6.1 Bentuk umum: 

typedef struct {

tipe_data ;

tipe_data ;

.... }

2.6.2 implementasi

typedef struct Mahasiswa {

char NIM[8];

char nama[50];

float ipk;

}; 

untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2 seperti berikut:

Mahasiswa mhs,mhs2; 

untuk menggunakan struct Mahasiswa dengan membuat variabel array m; 

Mahasiswa m[100];

contoh lain: 

struct {

char NIM[8];

char nama[50];

9

Page 10: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

float ipk;

} mhs; 

Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas.

Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe

data struct tersebut. Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan

nama variabel struct diikuti dengan operator titik (.) misalnya dengan struct mahasiswa seperti

contoh di atas, kita akan akses elemen-elemennya seperti contoh berikut:

#include 

#include 

//Pendeklarasian tipe data baru struct Mahasiswa

typedef struct Mahasiswa{

         char NIM[9];

         char nama[30];

         float ipk;

        };

int main(){

//Buat variabel mhs bertipe data Mahasiswa

      Mahasiswa mhs;

       printf("NIM = ");scanf("%s",mhs.NIM);

      printf("Nama = ");scanf("%s",mhs.nama);

      printf("IPK = ");scanf("%f",&mhs.ipk);

    

      printf("Data Anda : \n");

      printf("NIM : %s\n",mhs.NIM);   

      printf("Nama : %s\n",mhs.nama);

      printf("IPK : %f\n",mhs.ipk);

      getch();

}

contoh lain:

10

Page 11: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

#include 

#include 

#define phi 3.14

//langsung dianggap variabel 'lingkaran'

struct {

  float jari2;

  float keliling;

  float luas;

} lingkaran;

void luasLingkaran()

{lingkaran.luas = lingkaran.jari2 * lingkaran.jari2 * phi;

 printf("\nLuas lingkaran = %f",lingkaran.luas);

}

float kelLingkaran(float j){

      return 2*phi*lingkaran.jari2;

}

int main(){

     printf("Jari-jari = ");scanf("%f",&lingkaran.jari2);     luasLingkaran();

     lingkaran.keliling = kelLingkaran(lingkaran.jari2);

     printf("\nKeliling lingkaran = %f",lingkaran.keliling);

     getch();

}

contoh struct yang berisi struct yang lain:

#include 

#include 

typedef struct Date{

          int dd;

11

Page 12: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

          int mm;

          int yyyy;

        };

      

typedef struct Time{

          int h;

          int m;

          int s;

        };

      

typedef struct Login{

          int ID;

          Date tglLogin;

          Time waktuLogin;

        };

int main(){

     Login user1

     printf("USER 1\n");

     printf("ID : ");scanf("%d",&user1.ID);

     printf("Tanggal Login\n");

     printf("Hari : ");scanf("%d",&user1.tglLogin.dd);

     printf("Bulan : ");scanf("%d",&user1.tglLogin.mm);

     printf("Tahun : ");scanf("%d",&user1.tglLogin.yyyy);

     printf("Waktu Login\n");

     printf("Jam : ");scanf("%d",&user1.waktuLogin.h);

     printf("Menit : ");scanf("%d",&user1.waktuLogin.m);

     printf("Detik : ");scanf("%d",&user1.waktuLogin.s);

     printf("Terimakasih\n");

    

     printf("Data Anda :\n");

12

Page 13: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

     printf("ID : %d\n",user1.ID);

     printf("Date : %d - %d - %d\n",user1.tglLogin.dd, user1.tglLogin.mm, user1.tglLogin.yyyy);

     printf("ID : %d:%d:%d\n",user1.waktuLogin.h, user1.waktuLogin.m, user1.waktuLogin.s);

    

     getch();

}

2.7 MEMBER OPERATOR

2.7.1 Operator pada Java

Operator adalah sebuah karakter yang digunakan untuk menghasilkan suatu nilai dari operator.di java ada beberapa tipe operator, antara lain :

1. Operator Aritmatika2. Operator Penugasan

3. Operator Pembanding

4. Operator Logika

1. Operator Aritmatika

Operator aritmatika yang sering digunakan untuk menghitung sebuah pekerjaan matematika seperti jumlah, bagi, kali, pangkat, dll.

Operator Keterangan+ Penjumlahan- Pengurangan* Pengurangan/ Pembagian% SisaPembagian

2. Operator Penugasan

Operator penugasan adalah operator yang digunakan untuk menugaskan suatu fariabel untuk melakukan sebuah proses. Operator ini biasa digunakan pada perulangan sebagai increment atau decrement.

Operator Keterangan= PemberianNilai+= PenambahanBilangan-= PenguranganBilangan/= PembagianBilangan

13

Page 14: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

% PerolehanSisaPembagian

3. Operator Pembanding

Operator pembanding adalah operasi yang digunakan untuk membandingkan antara dua nilai atau operand yang menghasilkan tipe data Boolean yaitu true / false.biasa digunakan pada perulangan dan kondisional.

Operator Keterangan== SamaDengan!= TidakSamaDengan>  Lebihdari<  Kurangdari>= Lebihdarisamadengan<= Kurangdarisamadengan

4. Operator Logika

Operator logika digunakan untuk membandingkan dua kondisi yang menghasilkan nilai Boolean yaitu true / false.

Operator Keterangan&& Dan|| Atau

Operator AND / && akan menghasilkan sepertiini :

Kondisi 1 Kondisi 2 HasilFalse False FalseFalse True FalseTrue False FalseTrue True True

Operator Or / || akan menghasilkan sepertiini :

Kondisi 1 Kondisi 2 HasilFalse False FalseFalse True TrueTrue False TrueTrue True True

2.8 KONSEP DASAR POINTER

14

Page 15: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain.

Pada kenyataan yang sebenarnya, variabel pointer berisi alamat dari suatu obyek lain (yaitu

obyek yang dikatakan ditunjuk oleh pointer).

2.8.1 Deklarasi Pointer

Seperti halnya variabel lain, variabel pointer juga harus dideklarasikan terlebih dahulu

sebelum digunakan. Bentuk umum deklarasi pointer adalah : Dimana Tipe_data merupakan tipe

dari data yang ditunjuk, bukan tipe dari pointer-nya. Contoh :

1. Mensubstitusikan address sebuah variabel ke pointer dengan memakai address operator &

int x;

int *ptr;

ptr = &x;

2. Mensubstitusikan address awal sebuah array ke pointer

char t[5];

char *ptr;

ptr = t;

3. Mensubstitusikan address salah satu elemen array dengan address operator

char t[5] ;

char *ptr;

ptr = &t[3];

4. Mensubstitusikan address awal character string ke pointer char

char *ptr;

ptr = "jakarta"

5.Mensubstitusikan NULL pada pointer. NULL ada pointer kosong, menunjukkan suatu status

dimana pointer itu belum diinisialisasikan dengan sebuah address tertentu.

6.Memakai fungsi MALLOC

2.8.2 Pointer di dalam Bahasa Java

15

Page 16: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Bahasa pemrograman Java merupakan bahasa turunan dari C, atau lebih tepatnya bahasa

turunan dari C++. Bahasa C, C++ dan Java masih merupakan saudara. Namun bahasa Java dan

bahasa C++ adalah saudara dekat. Heran ini kok malah nyambung ke sini ya

Well, Java dan C++, mereka sama-sama berorientasi objek dan mendukung fitur kelas (classes),

dan memiliki syntax yang hampir similiar secara konsep. Sejak awal diciptakannya, bahasa

pemrograman C memang banyak menginspirasi berbagai bahasa pemrograman lainnya,

contohnya PHP, Objective-C, Perl, Phyton, Java, dan banyak lainnya .

Java sebagai bahasa pemrograman yang juga ter-influenced by bahasa C, mempunyai banyak

kesamaan. Tapi Java tidak lantas sama dengan C. Dan bisa diperjelas lagi, bahwa Java itu bukan

C ataupun C++.

Java didesain sebagai simplifikasi dari bahasa C/C++ dan sekaligus memperbaiki fitur-

fitur keamanan yang kurang di pendahulunya sehingga banyak fitur-fitur bahasa C/C++ yang

dihilangkan. Semua itu bertujuan untuk meng-eliminate redundancy, alias meminimalisir proses

yang berulang-ulang. Di dalam evolusinya, bahasa C berubah menjadi kumpulan proses yang,

banyak, namun intinya sama, menyediakan terlalu banyak cara untuk melakukan hal yang sama,

dimana bahkan dalam beberapa kasus C malah tidak menyediakan fitur yang dibutuhkan.

Salah satu hal yang menjadi ciri khas Java adalah tidak adanya pointer. Sekali lagi saya

ulangi, There’s no pointer in Java. Banyak yang bilang, bahkan beberapa teman saya juga

bilang, “Ada kok.” Tapi mari kita bahas disini apa yang orang-orang sebut pointer di Java.

Kenapa Tidak Ada Pointer di Java Banyak penelitian berkesimpulan kalau pointer adalah

salah satu fitur utama yang memungkinkan programmer menginjeksikan bugs ke dalam program

mereka. Di Java, struktur data sudah dilenyapkan (hal ini akan dibahas lain waktu), dan array

dan string adalah objek. Maka kebutuhan untuk memakai pointer bagi struktur tersebut hilang.

Ditambah lagi Java tidak punya pointer data types. Algoritma-algoritma yang membutuhkan

array, struktur, dan pointer di dalam C bisa lebih mudah dan cepat diselesaikan dengan deklarasi

array dan objek dari suatu array. Lalu, apakah kita nggak bisa membuat struktur data seperti

linked list, stack dsb pada Java? Tentu saja tidak.

16

Page 17: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, dan memakai pointer

tentunya

Kita bisa mengamati pointer di Java hanyalah permainan dari objek-objek, object of object.

Istilah pointer di Java tidak ada, namun sengaja saya tulis “mengalokasikan pointer” pada

algoritma di atas. Pointer di dalam Java telah diganti dengan istilah references. Bahasa Java

hampir semuanya adalah references, variable references, object references dan lain-lain. Lantas

apa bedanya dengan pointer? Well, mekanisme references di dalam Java juga jauh berbeda,

dimana kita tidak perlu mengalokasikan wadah bagi references, dan kita juga tidak perlu

membuang references yang tidak terpakai. Masih ingat saat-saat Anda menge-set alamat pointer

ke nilai NULL? Saya tahu di saat itu Anda sedang membuang, pointer yang tidak terpakai

dengan mengesetnya ke NULL, atau bahasa Inceptionnya di-set ke LIMBO.

17

Page 18: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

2.9 STRUKTUR POINTER OPERATOR

Ada 2 operator pointer yang dikenal secara luas, yaitu operator & dan operator *.

Operator &

2.9.1 Operator &

merupakan operator alamat. Pada saat pendeklarasian variable, user tidak diharuskan

menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh

kompiler dan operating sysem pada saat run-time. Jika ingin mengetahui dimana suatu variable

akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable ,

yang berarti "address of". Contoh :

ted = &andy;

Penulisan tersebut berarti akan memberikan variable ted alamat dari variable andy. Karena

variabel andy diberi awalan karakter ampersand (&), maka yang menjadi pokok disini adalah

alamat dalam memory, bukan isi variable. Misalkan andy diletakkan pada alamat 1776 kemudian

dituliskan instruksi sbb :

andy = 25;

fred = andy;

ted = &andy;

2.9.2 Operator *

merupakan operator reference. Dengan menggunakan pointer,kita dapat mengakses nilai yang

tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier

pointer, yang berarti "value pointed by". Contoh : beth = *ted;

(dapat dikatakan:"beth sama dengan nilai yang ditunjuk oleh ted") beth = 25, karena ted dialamat

1776, dan nilai yang berada pada alamat 1776 adalah 25. Ekspresi dibawah ini semuanya benar,

perhatikan : 18

Page 19: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

andy = 25;

&andy = 1776;

ted = 1776;

*ted = 25;

2.10 MACAM-MACAM POINTER

1.Pointer Bertipe Void

Pada C++ terdapat pointer yang dapat menunjuk ke tipe data apapun, pointer semacam

ini dideklarasikan dengan tipe void sehingga sering dikenal dengan istilah Void Pointer.

Berikut ini contoh listing program yang menggunakan void pointer.

2.Pointer Aritmetika

Elemen-elemen array biasanya diakses melalui indeksnya, sebenarnya ada cara lain yang

lebih efisien, yaitu dengan menggunakan pointer. Pointer semacam ini disebut dengan

istilah pointer aritmetika. Konsep dasar dari pointer aritmetika ini adalah melakukan

operasi aritmetika terhadap variabel yang bertipe pointer.

3.Pointer NULL

Pada saat program dijalankan, pointer akan menunjuk ke alamat acak pada memori,

sehingga diperlukan inisialisasi agar hal tersebut tidak terjadi. Dalam C++ terdapat

sebuah cara untuk membuat pointer tidak menunjuk ke alamat manapun, yaitu dengan

mengisikan ponter tersebut dengan nilai NULL. Karena hal inilah maka pointer tersebut

sering dinamakan pointer NULL (NULL Pointer).Sebagai contoh kita mempunyai pointer

p, dan kita ingin melakukan inisialisasi pada pointer tersebut dengan nilai NULL maka

sintaknya adalah sebagai berikut. P=NULL;

Melewatkan sebuah struktur untuk menjadi parameter sebuah fungsi dapat dilakukan sama

dengan pengiriman parameter berupa variabel biasa. Fungsi yang mendapat kiriman parameter

tersebut juga bisa mengirimkan hasil baliknya yang juga berupa sebuah struktur (pass by

reference).

19

Page 20: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Apabila nilai suatu elemen struktur diharapkan akan diubah oleh fungsi, maka yang dilewatkan

haruslah berupa alamat dari elemen struktur (pass by reference). Untuk keperluan ini, operator

alamat ditempatkan di depan nama variabel struktur (bukan di depan nama elemen struktur).

20

Page 21: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

BAB 3

KONSEP PEMOGRAMAN BERORIENTASI OBJEK

3.1 Pengertian (PBO)

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP)

merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi

di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan

logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan

mengirim pesan ke objek lainnya,

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih,

kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar.

Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula

dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan

dan dirawat.

3.1.1 Konsep dasar

Kelas kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan

tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan

fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class

adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class

secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan

domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif)

bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan

OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam

masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan

menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

21

Page 22: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Contohnya :

public class Siswa

{

public int nrp;

public String nama;

public void Info()

System.out.println(“Saya siswa STMIK ERESHA”); 

Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program

komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer

berorientasi objek.

Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses

olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani

sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan

keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan

bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan

beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

Desain berorientasi object : Sebuah teknik yang memusatkan desain pada object dan class

berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan (state), behaviour dan

interaksi dari object. Selain itu juga menyediakan manfaat akan kebebasan pengembangan,

meningkatkan kualitas, mempermudah pemeliharaan, mempertinggi kemampuan dalam

modifikasi dan meningkatkan penggunaan kembali software.

Pewarisan : hubungan antara class dimana dalam satu class ada superclass atau class

induk dari class yang lain. Pewarisan menunjuk pada properti dan behaviour yang diterima dari

22

Page 23: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

nenek moyang dari class. Ini dikenal juga sebagai hubungan “is-a”. Perhatikan pada hirarki

berikut.

Contohnya : 

import java.awt.*;

class titik

int x;

int y;

class warnaTitik extends titik 

Color warna;

}

Atribut : Menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi

tentang object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah field

data. Kembali lagi ke contoh sistem registrasi siswa, atribut dari sebuah siswa adalah nomor

siswa.

Contohnya : 

public class DeklarasiAtribut 

private String nama; 

public boolean lulus = false; 

String kampus;

}

Method : Sebuah method menjelaskan behaviour dari sebuah object. Method juga dikenal

sebagai fungsi atau prosedur. Sebagai contoh, method yang mungkin tersedia untuk entiti siswa

adalah method register.

23

Page 24: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Contohnya : 

class DeklarasiMethod

{

int data; 

int getData()

return data; 

void setData(int data)

{

this.data = data; 

void setMaxData(int data1, int data2)

data = (data1>data2)? data1 : data2;

Constructor : sebuah tipe khusus dari method yang digunakan untuk membuat dan

menginisialisasi sebuah object baru. Ingat bahwa constructor bukan member (yaitu atribut,

method atau inner class dari sebuah object).

Contohnya : 

class DeklarasiKonstruktor

{

private int data; 

public DeklarasiKonstruktor()

data = 100;

DeklarasiKonstruktor (int data) 

24

Page 25: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

{

this.data = data;

}

Package : menunjuk pada pengelompokkan class dan/atau subpackages. Strukturnya

dapat disamakan dengan direktorinya.

Contohnya : 

package registrasi.reports;

import registration.processing.*;

import java.util.List;

import java.lang.*;

class Kelasku

{

3.2 ENKAPSULASI

Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu

proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program

lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat

diakses sewaktu-waktu, sekaligus menjaga program tersebut.

Manfaat dari proses enkapsulasi adalah :

3.2.1 Modularitas

Kode sumber dari sebuah objek dapat dikelola secara independen dari kode

sumber objek yang lain.

3.2.2 Information Hiding

Karena kita dapat menentukan hak akses sebuah variabel/method dari objek,

dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui

objek lain.

25

Page 26: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

Contoh program

Belajar.java

class belajar{

public String x =”Pintar”;

private String y = “Java”;

}

Pintar.Java

public class Pintar{

public static void main(String[]args){

Coba panggil = new Belajar();

System.out.println(“Panggil X : “+panggil.x);

System.out.println(“Panggil Y : “+panggil.y);

}

}

Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam

class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar.

Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class

Belajar.

3.3 INHERITANSI

Merupakan proses mencipatakan kelas baru dengan mewarisi karakteristik kelas yang

telah ada, atau pewarisan dari satu kelas ke kelas lain. Pewarisan adalah mekanisme ampuh yang

memungkinkan kelas mewarisi fungsionalitas kelas yang telah ada.Untuk menciptakan kelas

baru, hanya perlu menspesifikasikan cara kelas baru itu berbeda dari kelas yang telah ada.

3.3.1 Keuntungan dari inheritance :

1. Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup menurunkan dari class induk

2. Memudahkan dan Mempercepat pemprogramman , mengurangi Code

26

Page 27: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

public class A

{

public A() { }

}

public class B : A

{

public B() { }

}

3.4 POLIMORFISME

Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah

konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari

suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil,

dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya

polimorfisme dapat diimplementasikan adalah :

1. Method yang dipanggil harus melalui variabel dari basis class atau superclass.

2. Method yang dipanggil harus juga menjadi method dari basis class.

3. Signature method harus sama baik pada superclass maupun subclass.

4. Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.

public class BaseClass

{

public void DoWork() { }

public int WorkField;

public int WorkProperty

{

get { return 0; }

}

}

27

Page 28: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

public class DerivedClass : BaseClass

{

public new void DoWork() { }

public new int WorkField;

public new int WorkProperty

{

get { return 0; }

}

}

3.5 OVERRIDING

Overriding menyatakan keadaan dimana method pada subclass menolak method pada

parent classnya. Overriding dipakai saat kita menggunakan method yang sama tapi berbeda

implementasinya. Jadi overriding method mempunyai nama method yang sama,

Contoh:

class Kendaraan {

public String getJenis() {

System.out.println(“Harga BBM turun”);

}

}

class Motor extends Kendaraan {

public String getJenis() {

System.out.println(“Harga BBM premium 4000 rupiah”);

}

}

28

Page 30: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

BAB 4

PROGRAM PRINT OUT

4.1 Enkapsulasi

30

Page 31: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

31

Page 32: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

4.2 Polimorfisme

32

Page 33: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

33

Page 34: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

34

Page 35: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

35

Page 36: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

4.3 Inheritansi (Inheritance)

36

Page 37: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

37

Page 38: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

BAB 5

PENUTUP

5.1 Kesimpulan

Struktur adalah pengelompokan variabel-variabel yang bernaung dalam satu nama yang

sama, namun tipe datanya tidak harus sama. Variabel-variabel yang membentuk suatu struktur,

selanjutnya disebut sebagai elemen dari struktur atau field. Suatu struktur didefinisikan dengan

menggunakan kata kunci struct. Elemen dari suatu variabel struktur dapat diakses dengan

menyebutkan nama variable struktur diikuti dengan operator titik (‘.’) dan nama dari elemen

strukturnya.

Sebuah struktur juga bisa diinisialisasi pada saat dideklarasikan. Hal ini serupa dengan

inisialisasi array, yaitu elemen-elemennya dituliskan di dalam sepasang kurung kurawal (‘{ }‘)

dengan masing-masing dipisahkan dengan koma. Elemen-elemen dari suatu array juga dapat

berbentuk sebuah struktur (array of struct). Melewatkan sebuah struktur untuk menjadi

parameter sebuah fungsi dapat dilakukan sama dengan pengiriman parameter berupa variabel

biasa. Fungsi yang mendapat kiriman parameter tersebut juga bisa mengirimkan hasil baliknya

yang juga berupa sebuah struktur (pass by reference).

Jika sebuah struktur mengandung banyak field dan diputuskan bahwa keseluruhan field-

nya akan diubah oleh fungsi, maka cara yang efisien adalah dengan melewatkan (passing) alamat

dari struktur. Dengan demikian pada pendefinisian fungsi, parameter formalnya berupa pointer

yang menunjuk ke struktur (pointer to struct).

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak

melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek

apa yang dapat melakukan pemecahan masalah tersebut.

38

Page 39: yunusasikin1.files.wordpress.com€¦  · Web view · 2013-12-31Algoritma di bawah ini adalah contoh linked-list di dalam bahasa C, ... 'class of dog' adalah suatu unit yang terdiri

DAFTAR PUSTAKA

Read more: http://jintoples.blogspot.com/2012/12/tipe-tipe-operator-pada-

java.html#ixzz2fIRaxFEm

http://www.google.com

http://www.ilmukomputer.com/pemrograman-berorientasi-objek/

39