• Tidak ada hasil yang ditemukan

Dasar Dasar Pemrograman Gambar 2.1 Pemro

N/A
N/A
Protected

Academic year: 2018

Membagikan "Dasar Dasar Pemrograman Gambar 2.1 Pemro"

Copied!
7
0
0

Teks penuh

(1)

Bab 2

Pemrograman Berorientasi Obek

Java adalah bahasa pemrograman berorientasi objek murni, artinya bahwa struktur penulisan program Java selalu memakai struktur pemrograman berorientasi objek walaupun pemrograman yang dibuat adalah terstruktur seperti pada contoh-contoh program pada bab sebelumnya, yaitu semua program harus ditulis dalam blok kelas dan perintah/ instruksi program di tulis di dalam metode.

Contoh program di atas merupakan cara pemrograman terstruktur, yaitu program ditulis secara berurutan (sekuensial) dan akan dkerjakan mulai baris pertama hingga baris terakhir. Deklarasi kelas (bernama LuasSegiEmpat) maupun metode (prosedur bernama main) pada program tersebut tidak pernah dimanfaatkan (tidak pernah dipanggil), namun karena kita memakai bahasa Java cara penulisan struktur program seperti ini harus dilakukan. Nama-nama tersebut baru berguna ketika program dibuat dalam paradigma berorientasi objek.

Berbeda dengan pemrograman terstruktur, pemrograman berorientasi objek mempunyai konsep pikir bahwa data (variabel) dan program (metode) merupakan satu kesatuan yang disebut objek, dalam hal seperti contoh program di atas, yaitu misalnya untuk membuat program menghitung Luas Segi Empat, maka data panjang dan lebar merupakan anggota kelas objek tersebut, kemudian untuk mendapatkan informasi luas dibuat program pada metode getLuas(), sehingga dengan paradigma pemrograman berorientasi objek program menghitung luas segi empat ditulis dalam bentuk kelas seperti Gambar 2.2.

Pada Pemrograman Berorientasi Objek (PBO), program dibuat dalam bentuk kelas yang tidak ada metode main-nya seperti Gambar 2.2. Karena tidak ada metode main maka program di atas tidak bisa dieksekusi, kelas seperti ini masih dalam bentuk konsep/gambaran/blue print dari program (objek) yaitu berupa kelas (Class).

Pemrograman terstruktur

Kelas Metode bernama main

(2)

Cara pemakaian program di atas adalah dengan cara menciptakan suatu Objek atau yang dikenal dengan istilah instansiasi. Membuat kelas berarti membuat tipe data, sehingga bisa dikatakan bahwa kelas merupakan tipe data non primitive, artinya kita bisa membuat berbagai macam tipe data sendiri dalam bentuk kelas, dengan demikian cara pemakaian kelas di atas mirip dengan cara pemakaian tipe data pada umumnya, yaitu sebelum digunakan harus dideklarasikan terlebih dahulu, namun untuk variabel bertipe kelas cara pemberian nilainya harus melalui proses yang dinamakan instansiasi yang dapat dilakukan dengan perintah new. Berikut ini contoh program utama (main) yang memakai kelas tersebut.

Tampak pada contoh program utama di atas, pertama dilakukan deklarasi variabel terlebih dahulu (baris 8), kemudian dilakukan instansiasi (membuat instan/ objek) dengan perintah new (baris 9), setelah menjadi objek (instan) baru kemudian anggota-anggota kelas tersebut dapat diakses, seperti misalnya variabel anggota panjang dan lebar diberi nilai dari keyboard yaitu dengan cara menyebutkan nama variabelnya (tanahku) kemudian diikuti dengan operator titik lalu nama variabel anggotanya yaitu panjang atau lebar (baris 11 dan 13). Dengan demikian objek tersebut menyimpan nilai yang dimasukkan melalui keyboard yang merupakan kondisi/ status/ state dari objek tersebut. Hal ini bisa diilustrasikan seperti berikut:

Gambar 2.2 Pemrograman Berorientasi Objek menghitung luas segi empat

Gambar 2.3 Cara memakai kelas SegiEmpat

Variabel anggota

Metode anggota Kelas SegiEmpat

Deklarasi variabel

(3)

Perlu diketahui bahwa anggota pada kelas tersebut yang bernama panjang dan lebar tersebut dinamakan variabel anggota, sedangkan anggota yang berupa metode yaitu pada contoh di atas getLuas() disebut metode anggota. Karena keduanya merupakan anggota maka anggota tersebut juga bisa dipanggil, pada contoh program Utama di atas metode getLuas() akan memeriksa menghasilkan nilai perkalian antara panjang dan lebar.

Variabel Anggota

Variabel dapat dideklarasikan di dalam metode dan di luar metode tetapi di dalam kelas. Variabel yang dideklarasikan di dalam metode disebut variabel lokal, sedangkan variabel yang dideklarasikan di luar metode tetapi di dalam kelas disebut Variabel Anggota. Pada program Gambar 2.6 baris 4 dan 5, yaitu deklarasi panjang dan lebar merupakan variabel Anggota, sedangkan baris 8 merupakan variabel lokal. Nilai yang tersimpan dalam variabel anggota akan bersifat permanen selama objek yang bersangkutan masih ada, jadi sekali diberi nilai maka nilai tersebut akan tetap tersimpan selama objek masih ada. Sedangkan variabel lokal hanya dapat menyimpan nilai selama metode tempat variabel tersebut dideklarasikan sedang bekerja setelah selesai bekerja maka variabel loka tersebut akan hilang.

Variabel anggota (member variable) disebut juga field sebab variabel ini dapat dipergunakan untuk mengenali (membedakan) suatu objek, sebagai contoh misalnya sebuah kelas Mahasiswa yang mempunyai variabel anggota nim, nama dan kota seperti Gambar 2.6.

Metode Anggota

Sebenarnya metode adalah kumpulan program yang diberi nama, pada pemrograman terstruktur metode ini disebut procedure dan function. Pada Pemrograman Berorientasi Objek dise ut etode kare a erupaka ara etode u tuk e dapatka i for asi. “e agai contoh misalnya program Gambar 2.2 cara untuk mendapatkan informasi luas adalah getLuas().

panjang 10

lebar 12

getLuas()

Gambar 2.4 Objek dalam keadaan menyimpan nilai panjang = 10 dan lebar = 12

tanahku

Gambar 2.5 Contoh hasil eksekusi program utama

(4)

Deklarasi Metode

Sama seperti variabel, sebelum dapat dipergunakan harus dideklarasikan terlebih dahulu, pada prinsipnya, metode terdiri dari 2 bagian, yaitu :

Method Declaration Method Body

Metode bisa mengembalikan nilai atau tidak mengembalikan nilai, untuk metode yang tidak mengembalikan nilai pada bagian <return_type>harus diganti void (kosong), sedangkan jika metode tersebut mengembalikan suatu nilai, maka bagian tersebut harus diisi dengan tipe data yang dikembalikan (return). Jika metode tidak mengembalikan nilai, maka baris perintah return tidak ditulis.

Method Declaration

Deklarasi metode adalah merupakan bagian yang digunakan untuk memberikan identitas (nama) dari kumpulan program, menentukan apakah metode berupa fungsi (mengembalikan nilai) atau berupa prosedur (tidak mengembalikan nilai), menentukan apakah metode tersebut statis (tidak perlu instansiasi) dan menentukan parameter-parameter fomal yang dapat digunakan untuk menerima nilai dari luar metode.

Method Body

Bagian ini merupakan implementasi dari sebuah fungsi/method. Dalam method body ini dikenal dua kata kunci penting, yakni this yang mengacu ke objek yang sedang diproses (objek yang bersangkutan) dan super yang mengacu pada objek induk dari objek yang sedang diproses. Untuk sementara masalah tersebut dikesampingkan terlebih dahulu, kali ini akan dibahas mengenai metode-metode yang digunakan untuk melakukan proses terhadap variabel anggota.

Parameter

Selain dapat mengelola data yang ada di dalam kelas, yaitu variabel anggota kelas, metode juga dapat menerima data dari luar kelas dengan cara menerimanya melalui parameter. Bentuk umum Deklarasi metode yang mengembalikan nilai dan yang tidak mengembalikan nilai jika dibedakan adalah sebagai berikut:

class <Nama_kelas> {

... ...

[static] void | <return_type> <nama_metode>(<pameter_1>, <pameter_2>,...) {

Jika metode bertipe void, maka tanpa return

Daftar parameter formal

Method Declaration

(5)

<modifier_akses> void <nama_metode>(<parameter>){ <program-program>

}

<modifier_akses> <tipe_data> <nama_metode>(<parameter>){ <program-program>

return <ekspresi> }

Sebagai contoh misalnya program Gambar 2.2 metode getLuas() akan mengembalikan nilai bertipe double, yaitu nilai yang tersimpan pada variabel luas. Pada contoh ini metode getLuas() tidak mempunyai parameter, sehingga tidak dapat menerima nilai dari luar objek.

Metode Berparameter

Parameter adalah variabel lokal yang dapat menerima nilai dari luar objek, variabel ini dideklarasikan di dalam tanda kurung di sebelah kanan nama metode. Sebagai contoh misalnya kelas Mahasiswa pada Gambar 2.8 berikut ini:

Baris 8 hingga 10 merupakan metode yang tidak mengembalikan nilai (void) dan mempunyai sebuah parameter. Perhatika ahwa pada progra di atas tidak ada aris progra retur karena tidak mengembalikan nilai. Gambar 2.9 berikut ini contoh program Utama yang memanggil metode tersebut dan mengirimkan nilai yang bisa diterima oleh metode SalamKenal(String).

Parameter formal

Metode yang tidak mengembalikan niai

Metode yang mengembalikan niai

Gambar 2.8 Metode tidak mengembalikan nilai berparameter

Gambar 2.9 Mengirimkan nilai dari luar objek

(6)

Parameter yang digunakan untuk menerima nilai, yaitu deklarasi variabel pada metode disebut parameter formal, sedangkan parameter yang digunakan untuk mengirimkan nilai, yaitu parameter yang ditulis pada saat memanggil metode disebut parameter aktual.

Kelas

Kelas adalah bagian paling luar dari program yang membungkus variabel dan metode, dengan tujuan agar Kelas tersebut dapat digunakan sebagai blue print yang dapat dibuat menjadi suatu objek yang siap dipergunakan. Java mengharuskan penulisan metode berada didalam suatu Kelas.

Mungkin dalam suatu proses perhitungan kita pernah digunakan metode sqrt(), yaitu square root/ akar) misalnya untuk menghitung sisi miring dengan rumus Phytagoras yang sisi

siku-sikunya adalah a dan b adalah seperti berikut:

sisi_miring = Math.sqrt((a*a)+(b*b));

Pada contoh tersebut ada pemanggilan metode sqrt() dengan parameter aktual berupa ekspresi jumlah kuadrat sisi siku-sikunya, akan menghasilkan (mengembalikan) nilai akar dari ekspresi tersebut dan nilai tersebut disimpan pada variabel sisi_miring. Contoh tersebut merupakan metode yang mengembalikan nilai bertipe double. Tampak pada contoh tersebut bahwa pemakaian metode sqrt() yang ada di dalam kelas Math tidak diperlukan instansiasi terlebih dahulu karena metode tersebut adalah static.

Membuat Metode Statis untuk Membaca Keyboard

Berikut ini contoh kelas yang menyediakan metode statik untuk membaca satu baris data dari keyboard, nama kelasnya misalnya Console dan nama metodenya adalah ReadLine() mengembalikan nilai bertipe String dan readDouble() mengembalikan nilai bertipe double.

(7)

Catatan :

Berbeda dengan metode non statis yang baru dialokasikan ke memori setelah diinstansiasi (menjadi objek), metode statis akan langsung berada di memori dan siap dieksekusi ketika dipanggil.

Hanya metode statis yang dapat dipanggil secara langsung dari dalam metode statis (mialnya main) tanpa instansiasi.

Pemanggilan metode tidak statis, harus dilakukan dengan mekanisme instansiasi.

Metode statis disebut juga metode kelas, yang dapat dipanggil tanpa perlu melakukan instansiasi namun harus dengan cara menyebutkan nama kelasnya.

Latihan :

1. Buatlah kelas bernama Lingkaran yang mempunyai variabel anggota radius bertipe double. Kelas ini mempunyai metode getKliling() dan getLuas() yang mengembalikan tipe double sbb.

a. getKeliling() : 2 * Math.PI * radius b. getLuas() : Math.PI * radius * radius

2. Buatlah program Utama01 yang mendemonstrasikan pemakaian kelas Lingkaran di atas.

3. Buatlah kelas bernama Silinder yang mempunyai variabel anggota radius dan tinggi bertipe double. Kelas ini mempunyai metode getKlilingAlas(), getLuasAlas(), getVolume() dan getLuasPermukaan() yang mengembalikan tipe double sbb.

a. getKelilingAlas() : 2 * Math.PI * radius b. getLuasAlas() : Math.PI * radius * radius c. getLuasVolume() : getLuasAlas() * tinggi

d. getLuasPermukaan() : 2 * getLuasAlas() + getKelilingAlas() * tinggi

4. Buatlah program Utama02 yang mendemonstrasikan pemakaian kelas Lingkaran di atas.

Lingkaran

Silinder

Gambar

Gambar 2.1 Pemrograman terstruktur menghitung luas segi empat dengan bahasa Java
Gambar 2.2 Pemrograman Berorientasi Objek menghitung luas segi empat
Gambar 2.5 Contoh hasil eksekusi program utama
Gambar 2.7 Bentuk umum deklarasi metode
+4

Referensi

Dokumen terkait

Hasil uji statistik yang digunakan yaitu uji Chi-Square dengan nilai kemaknaan p ≤ 0,05 didapatkan nilai p sebesar 0,048 (p&lt;0,05), maka Ha diterima artinya ada hubungan

Bentuk penelitian yang digunakan adalah quasi experimental , karena dalam penelitian ini tidak mungkin sepenuhnya mengontrol variabel-variabel yang dapat

Antena portable coastal radar yang telah didesain dan disimulasi dapat bekerja pada frekuensi 3 GHz dan menunjukkan performansi kerja yang sesuai dengan spesifikasi

suku bunga yang akan dipakai untuk penghitungan anuitas pada subbab ini. Terlebih dahulu dibuat lintasan-lintasan suku bunga sesaat berdasarkan Tabel

Plant Growth Promoting Rhizobacteria (PGPR) pertama kali didefinisikan oleh Kloepper dan Schroth (1978) untuk mendeskripsikan bakteri tanah yang berkumpul di akar setelah

Kawasan padat penduduk di Kecamatan Wates Kabupaten Kulonprogo merupakan kawasan yang menjadi pusat berbagai jenis kegiatan masyarakat. Kawasan ini juga mempunyai potensi

Media utama dalam perancangan ini adalah sebuah buku komik city guide pariwisata Surabaya sebagai media untuk mengenalkan dan mempromosikan pariwisata kota

Analisis regresi pada dasarnya adalah studi mengenai ketergantungan variabel dependen (terikat) dengan satu atau lebih variabel independen (variabel bebas) dengan tujuan