Bocah Super Sakti ................

Wednesday, October 06, 2010

OBJEK DAN CLASS ( Bag. I )

Mari kita ulang sejenak dasar-dasar pemerograman berorientasi objek, di mulai dengan perbedaan bahasa-bahasa pemerograman tradisional. Didalam sebuah basaha tradisional seperti C, anda membuat program dengan terlebih dahulu menentukan tugas yang akan di selesaikan oleh program tersebut, setelah itu anda merancang langkah langkah atau prosedur yang diperlukan untuk menyelasaikan tugas tadi. Kode yang anda tuliskan pada prinsipnya merupakan wujud dari langkah langkah tersebut didalam kode yang sesungguhnya. Kode kode tersebut terorganisasi ke dalam fungsi-fungsi. Umumnya, sebuah fungsi baru dibuat apabila ter dapat perintah yang di gunakan lebih dari sekali, di berbagai tempat di dalam program anda. Untuk beberapa tipe program, pemerograman prosudural sudah cukup memadai. Namun, banyak program aplikasi, terutama yang bersifat interaktif, yang sulit di tuliskan secara procedural.

Di dalam bahasa yang berorientasi objek, sebuah program dibuat dengan, pertama menentukan objek objek yang akan di gunakan oleh program tersebut dalam menyelesaikan tugasnya. Dengan kata lain, anda harus menentukan tipe-tipe objek di dunia nyata apa saia yang akan di selasaikan oleh kode-kode program. Untuk setiap jenis objek, anda harus menentukan apa saja data-data yang akan dimuat didalamnya. Pesan-pesan yang harus ditanggapi oleh objek tersebut juga harus di tentukan. Sebagai contoh jika anda membuat program menggambar, anda mungkin perlu mengrganisasikan program tersebut ke dalam objek-objek goemetri, seperti garis, lingkaran dan segi empat. Obek garis perlu memuat data-data yang menjelaskan posisi nya pada layar monitor. Objek garis juga perlu member tanggapan terhadap suatu pesan, misalnya untuk memberitahukan bahwa ia sudah diklik atau sudah dirubah ukurannya .

Sekarang mari kita ulang terminology yang berkaitan dengan objek. Sebuah objek adalah kombinasi dari kode(fungsi) dan data(variabel) yang digabungkan ke dalam satu entitas. Fungsi di dalam objek di sebut method atau fungsi anggota dan data-data didalamnya di sebut data anggota atau sifat. Pemanggilan terhadap suatu method di objek dapat di artikan sebagai pengiriman pesan ke objek.

Sebuah Class pada prinsipnya adalah deskripsi dari bagaimana sebuah objek dibuat. Untuk setiap objek, terdapat sebuah Class yang menentukan bagaimana objek tersebut dibuat, variabel apa yang akan dimuat, dan pesan apa yang akan di tanggapi. Proses pembuatan Class baru dapat dilakukan dengan lebih cepat dan sederhana karena sebuah Class bisa merupakan sub-class dari Class yang sudah ada. Sub-class dapat menggukan variabel dan methad dari pada induk nya. Hal seperti ini di sebut inheritansi. Class induk bisa juga merupakan sub-class dari Class yang lain. Sebuah Class mewarisi method dan variabel sampai kebatas rantai inheritansinya(chain of inheritance). Jika Class B adalah sub-Class dari Class A dan Class C adalah sub-Class dari Class B, maka Class C menerima warisan dari Class A dan B.

Sebuah objek bibuat atau diinstansiasi dari sebuah Class. Objek di sebut juga instans dari Class. Ketika sebuah objek dibuat, satu daerah dalam memori akan di alokasikan untuk data-data dari objek tersebut. Di dalam objek bentuk data tersebut adalah variabel, dan variabel tersebut di sebut variabel instans. Pada saat sebuah pesan dikirimkan ke objek, maka objek tersebut di sebut target pesan. Method yang di eksekusi atau di panggil itu dapat mengakses variabel instans yang dimiliki objek target.

Hampir semua memori yang di alokasikan di dalam suatu program java berbentuk objek yang di buat dari Class. Ketika sebuah objek dibuat, kepadanya di berikan sebuah referensi. Refe-rensi adalah satu tipe harga khusus yang anda gunakan bila-mana anda bermaksud melakukan suatu tindakan terhadap objek. Anda menyimpan referensi objek ini didalam variabelnya, sehingga nantinya anda bisa menggunakan objek itu di dalam program. Jika suatu objek tidak lagi digunakan (tidak ada satu pun variabel di dalam program yang menyimpan referensi ke objek itu). Objek tersebut otomatis di buang dan memori yang semula di gunakan akan di berikan ke objek lain. Proses pembebasan memori dari objek yang tidak lagi di gunakan di sebut garbage collection, yang merupakan salah satu aspek penting dari bahasa java. Proses tersebut menghindarkan anda dari masalah pengaturan memori.

Kita akan memasuki Class dan objek secara lebih mendalam. Dalam beberapa kasus, saat kami memcoba memperkenalkan beberapa sifat tertentu dari Class atau objek, kami menjumpai situasi seperti ayam dan telor. Situasi itu terjadi karena beberapa sifat tertentu(seperti variabel instans) didefinisikan di dalam Class tetapi baru digunakan pada saat objek sudah di buat. Ini salah satu alasan mengapa kami terlebih dahulu memeperkenalkan ide-ide tersebut secara konseptual

Menggunakan Class

Labels:

Tuesday, October 05, 2010

XML

Sabar Lagi di cari dulu.......

Labels:

MENGAPA MEMPELAJARI JAVA

Berdasarkan white paper resmi dari SUN , java memiliki karakteristik berikut :
  1. Sederhana
    Bahasa pemerograman Java mengunakan sintaks mirip dengan C++, namun sintaks pada java telah banyak di perbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
  2. Berorientasi Objek ( Object Oriented )
    Java mengunakan pemerograman ber orientasi objek yang membuat program dapat di buat secara modular dan dapat di pergunakan kembali. Pemerograman berorientasi objek memodelkan dunia nyata ke dalam objek dan melakukan interaksi ke dalam objek – objek ter sebut.
  3. Dapat didistribusikan dengan mudah
    Java dapat di buat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintrgrasi pada java.
  4. Interpreter
    Program java dijalankan menggukan interpreter yaitu Java Virtual Mechine (JVM). Hal ini menyebabkan source java yang telah di compilasi menjadi bytecode dapat di jalankan pada platform yang berbeda beda.
  5. Robust
    Java mempunyai reliabilitas yang tinggi. Compiler pada java mempunyai kemampuan menditeksi error secara lebih teliti di bandingkan bahasa pemerograman yang lain. Java mempunyai runtime- exception handling untuk membantu mengatasi error pada pemegrograman.
  6. Aman
    Sebagai bahasa pemergraman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak system yang menjalan aplikasi tersebut.
  7. Architecture Neutral
    Program java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat di jalankan pada platform yang berbeda dengan Java Virtual Machine.
  8. Portabel
    Source code maupun program java dapat dengan mudah di bawa ke platform yang berbeda beda tanpa harus di compilasi ulang.
  9. Performance
    Performance pada java sering di katakana kurang tinggi. Namun performance java dapat di tingkatkan menggunakan kompilasi lain seperti buatan Inprise, Microsoft atau pun Symantec yang menggunakan Just In Time Compilers (JIT).
  10. Multithreaded
    Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
  11. Dinamis
    Java didesain untuk di jalankan pada lingkungan yang dimanis. Perubahan pada suatu class dengan menambahkan properties atau pun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

sumber : JENI - Pengenalan Pemerograman 1

Labels:

Saturday, October 02, 2010

DASAR - DASAR KONSEP JAVA

Modifier :
Modifier di gunakan untuk menentukan penggunaan dari suatu data, method dan class
- default ( tanpa modifier )
Dapat digunakan/di akses hanya dalam package yang sama
- public
Dapat dipanggil/digunan/diakses dari class manapun dan package manapun dalam
program anda
- static
Dapat digunakan/diakses dari tanpa harus menciptakan objek dari class tersebut
- private
Hanya bisa digunakan/diakses dari dalam class itu sendiri
- final
Nilai yang sudah di difinisikan tidak dapat di rubah
- abstrack
Harus didifinisikan di sub-class nya
- protected
Hanya dapat digunakan/ diakses di dalam package dan sub-class nya
Akan di bahas lebih rinci dalam bab objek dan Class

Statement :
Statement merupakan baris perintah atau kumpulan perintah. Setiap statemen pada java selalu di akhiri dengan titik koma (;).

Block :
Block di gunakan untuk membentuk suatu group statement. Bblock di awali dengan kurung kurawal buka ({) dan di akhiri dengan kurung kurawal tutup (}). Block dapat di gunakan secara nested ( Block dalam Block ).

Class :
Class merupakan unsur dasar pemerograman berorientasi object pada java. Class mendifinisikan bentuk dan sifat dari objek. Kasarnya Class di buat untuk menciptakan Objek.

Method :
Method merupakan kumpulan statement yang berfungsi melakukan tugas tertentu di dalam program java. Method di panggil pada instans suatu class dengan menggunakan operator dot(.).

Identifier :
Merupakan penamaan pada pemerograman untuk variabel, konstanta, method, class dan package. Java merupakan bahasa pemerograman yang case-sensitive (membedakan huruf besar dan kecil ). Aturan penamaan dalam Identifier di JAVA :
- Dapat di mulai dengan huruf, underscore(_) atau tanda $
- Tidak boleh menggunakan symbol Operator seperti : +, - , *, /, dll
- Tidak boleh menggunakan keyword

Naming Convention :
Naming Convention adalah bentuk penulisan pemerograman dalam bahasa java (Java Naming Convention ). Aturan – atruran penulisan

  • Penamaan Pada Class
    Hurud pentama pada setiap kata harus huruf besar
    Contoh :
    HelloWord , NilaiController, DataSiswa
  • Penamaan Pada Method
    Huruf pertama pada setiap kata harus huruf besar kecuali kata pertama
    Contoh :
    getDataNilai, setNilaiSiswa, saveDataSiswa
  • Penamaan Pada field atau Variabel
    Huruf pertama pada setiap kata harus huruf besar kecuali kata pertama
    Contoh :
    jumlahKela, namaSiswa
  • Penamaan Pada Konstanta
    Semua huruf harus huruf besar apabila lebih dari satu kata , gunaka underscore(_) sebagai pemisah
    Contoh :
    MAX_HEIGHT, MIN_RATE

Labels:

PEMEROGRAMAN BERORIENTASI OBJEK ( OBJECT ORIENTED PROGRAMMING )

Pemerograman berorientasi objek sangat ampuh dan merupakan paradigm alami untuk membuat program yang dapat bertahan terhadap kemungkinan perubahan yang berkaitan dengan pertumbuhan dan pertambahan umur system apapun. Karena dengan OOP anda telah memahami fungsi masing2 objek dan memiliki antar muka yang jelas dan layak antar objek. Anda dapat mengatur ulang bagian bagian dari system yang lama tampa takut –takut. Para guru besar ilmu computer mengajarkan mahasiswa mereka untuk berpikir berorientasi object selama bertahun tahun. Sebelum mereka belajar bahasa pemerograman dimana secara langsung mereka menerapkan konsep tersebut. Pendekatan ini di sebut rancangan atas-bawah ( top-down design ). Anda di ajari untuk memikirkan masalah pertama kali dengan bentuk yang paling abstrak, baru kemudian mendifinikan subrutin yang berkaitan dengan implementasi yang lebih konkrit. Anda juga di ajari untuk menghindari pembuatan variabel global dan melewatkan pointer ke dalam struktur .
Bahasa berorientasi object sejati menyediakan mekanisme yang di kenal sebagai Enkapsulasi, Inheritansi dan polimorfisme.
Sekarang liat difinisi masing2

Enkapsulasi
Semau program dalam tingkat paling sederhana terdiri dari dua hal: program dan data. Pada model pemerograman tradisional data di alokasikan pada memori dan diolah oleh program yang ada di dalam subrutin atau fungsi. Enkapsulasi program yang mengolah data dengan deklarasi dan penyimpanan data adalah kunci dari rancangan berorientasi objek.
Enkapsulasi dapat di artikan sebagai bungkusan(wrapper) pelindung, program dan data yang sedang di olah. Pembungkusan ini mendefinisikan prilaku dan melindungi program dan data agar tidak di akses sembarangan oleh program lain. Contoh dalam dunia nyata, transmisi otomatis pada mobil mengenkapsulasi ribuan keping informasi dari mesin, seperti percepatan, kemiringan tanjakan dan posisi persenaling. Anda sebagai supir, cukup melaukan satu hal untuk mempengaruhi enkapsulasi yang rumit ini : memindahkan tuas perseneling . anda tidak dapat mempengaruhi transmisi dengan menyalakan lampu sein atau wiper. Keampuhan enkapsulasi program adalah setiap orang tahu cara mengaksesnya , sehungga dapat menggunakannya tanpa harus mengerti implementasinya secara terperinci.
Pada java dasar enkapsulasi adalah class. Anda membuat suatu class yang menyatakan abstaksi dari sekelompok objek yang berbagi struktur dan sifat yang sama. Objek adalah keadaan tertentu suatu class yang mempertahankan struktur dan sifat sebagimana didefinisikan oleh class tersebut, seolah olah keluar dari cetakan class yang sama. Objek – objek ini sering di sebut sebagai instans dari class. Struktur tertentu atau representsi data dari suatu class didefinisikan oleh sekumpulan variabel instans. Variabel – variabel ini menyimpan keadaan dinamis setiap instans suatu class. Sifat dan antarmuka suatu class di definisikan dengan method yang beroperasi pada data instans tersebut. Method adalah perintah untuk melakukan beberapa aksi terhadap sebuah objek. Perintah ini sangat mirip dengan pemanggilan subrutin dalam bahasa prosedurial.

Karena tujuannya mengenkapsulasi kerumitan, maka ada mekanisme untuk menyembunyikan kerumitan implementasi dalam class. Setiap method atau variabel dalam class dapat jadi private atau public . Antarmuka public suatu class menunjukan semua yang perlu atau harus di ketahui oleh pemakai. Anda dapat menyatakan method dan data instans sebagai private sehingga tidak dapat di akses oleh program lain diluar implementasi class anda. Antarmuka public harus dipilih dengan hati-hati supaya tidak membuka terlalu banyak bagian dalam class. Enkapsulasi ini bekerja dua arah. Karena anda yakin tidak akan secara tidak sengaja mempengaruhi bagian lain system dengan program dan data private. Anda dapat membuat program dan dengan bebas dan nyaman dan menelusuri program dengan penuh kepastian.

Apa beda class dengan instans? Class adalah sesuatu yang menjelaskan atribut dan umum sebuah objek, termasuk tipe setiap atribut method yang dapat mengoprasikan objek tersebut. Sebuah instans adalah keadaan tertentu sebuah class objek. Jika seekor kucing mempunyai 4 ekor anak, dia membuat class instans baru dari class kucing. Setiap anak kucing memiliki himpunan variabel nya sendiri yang didefinisikan dengan class. Beberapa hitam yang lain nya coklat dan sisanya putih. Beberap jantan, dan yang lain betina. Tetapi semuanya tetap kucing.

Inheritansi
Sebagian besar kita melihat lingkungan kita sebagai objek yang saling terhubung secara hirarki, misalkan binatang, mamalia dan anjing . Jika kita ingin menggambar binatang secara garis besar, kita dapat mengatakan binatang memiliki ciri-ciri tertentu, misalkan ukuran, kecerdasan dan jenis system kerangka tulangnya. Binatang juga memiliki aspek prilaku tertentu; mereka makan, bernafas dan tidur. Penjelasan tentang struktur tubuh dan prilaku ini adalah penjelasan class binatang.

Jika anda ingin menjelaskan lebih rinci suatu class binatang, misalkan mamalia , maka harus memiliki cirri-ciri antara lain, misalkan jenis gigi dan periode kehamilan. Ini di kenal sebagai sub-class dari binatang. Dimana binatang adalah super-class dari mamalia.

Karena mamalia secara sederhana lebih tepat di khususkan sebagai suatu kelompok binatang, maka mamalia mewarisi(inherit) semua cirri-ciri binatang. Secara lebih mendalam penurunan subclass di turunkan dari setiap moyangnya dalam hirarki class.

Inheritasi juga berintraksi dengan enkapsulasi . Jika suatu class tertentu mengenkapsulasi sejumlah atribut, maka sub-class manapun akan memiliki atribut yang sama ditambah dengan bagian dari specialisasinya . ini adalah konsep kunci yang membuat kerumitan program berorientasi objek berkembang secara linier, tidak geometris. Sub –class yang baru mencakup semua prilaku dan spesifikasi moyang nya . Sub-class tersebut tidak memiliki interaksi tak terduga dengan sebagian besar bagian program di system.

Polimorfisme
Method pada objek adalah informasi yang dilewatkan sebagai parameter untuk permintaan method. Parameter ini mewakili nilai yang dimasukan ke suatu dan harus di kerjakan oleh suatu method.

Pada bahasa pemerograman fungsional yang lain, untuk melengkapi dua pekerjaan yang berbeda, diperlukan dua fungsi yang berbeda. Polimorfisme yang berarti satu objek dengan banyak bentuk adalah konsep sederhana yang memperbolehkan method memiliki beberapa implementasi yang dipilih berdasarkan type objek yang dilewatkan pada pengerjaan method. Ini dekenal dengan overloading method. Ini memungkinkan method yang sama untuk kucing, misalnya memperlihatkan prilaku yang benar- benar berbeda.
Pada suatu saat method smell mengambil parameter kucing, yang menyebabkan anjing mengongong dan mengejar kucing. Method lain di beri nama smell juga, mengambil objek makanan sebagai parameter nya, akan menyebabkan anjing meneteskan air liurnya dan mencari mangkuk makanannya.

Overridding
Overloading sebuah method adalah cara class tunggal mengurusi tipe yang berbeda dengan cara sama. Cara tersebut static karena implementor suatu class perlu mengetahui semua tipe yang akan di hadapi agar dapat menulis suatu metode. Pada beberapa kasus, hal ini sangat di harapkandan kenyataanya menjadikan program lebih jelasdan mudah diramalkan. Namun menjadi tidak fleksibel, karena lebih sering di inginkan untuk memaksimalkan sebuah lingkungan setelah sejumlah program tidak lagi bekerja tidak ada program sama sekali. Pembuatan sub-class memungkinkan kita untuk mengunakan polimorfisme pada program yang sedang berjalan secara lebih dinamis. Jika anda mendifinisikan sub-class anjing anda dapat mengoverride( memaksa) method smell pada anjing untuk melaukan hal yang berbeda. Karena semua sub-class anjing dapat di lewat kan sebagai anjing, maka pemakai method smell tidak akan tahu bahwa yang di eksekusi adalah kelakuan polimorfisme.

Sumber : JAVA HANDBOOK – Patrick Naugthon



Labels: