HomeARTIKEL
Berbicara tentang informasi maka kita berbicara tentang hal-hal apa yang wajib di pelajari dalam
informatika.. ada beberapa mata kuliah yang ada dan harus di pelajari dalam
informatika/teknologi Informasi
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu
aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa
aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian.
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam
algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis
dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman.
Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa
pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masingmasing memiliki kelebihan
dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman
yang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal
teknis ini diperhatikan ketika mengkonversikannya menjadi program.
bagaimanakah cara mengubah konveksi suhu dengan cara Algoritma dan Pemrograman
1. Tahap
Spesifikasi atau pendeskripsian struktur data menyatakan apa yang dapat dilakukan struktur data,
bukan cara penempatannya. Pendeskripsian ini melibatkan level logic sehingga dapat digunakan
konvensi matematika untuk menyatakan sifat-sifat struktur data yang dikehendaki.
2 . Tahap Kedua
Implementasi menyatakan cara penerapan struktur data dengan struktur data yang telah ada.
Implementasi struktur dataadalah proses pendefinisian tipe data abstark sehingga semua operasi
dapat dieksekusi computer. Implementasi berisi dekklarasi struktur penyimpanan item data serta
algoritma untuk implementasi operasi, sehingga menjamin terpenuhinya karakteristik struktur
data, relasi item data tau invariant pada struktur data tersebut.
3. Tahap Ketiga
Dalam teknik pemrograman,struktur data berarti tata letak yang berisi kolom-kolom data,baik itu
kolom yang tampak oleh pengguna (user) ataupun kolom yang hanya digunakan untuk keperluan
pemrograman yang tidak tampak oleh pengguna.
Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang
lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.
- Multilist
- Stack (Tumpukan)
- Queue (Antrian)
- Tree ( Pohon )
- Graph ( Graf )
Untuk membuat menjadi struktur data, kita harus melakukan dulu aktivitas terhadap objek data,
yaitu :
Objek data integer ditambah operasi (+ , - , * , / , mod ,cell , floor , < , >) dan operasi-operasi lain
yang memanipuasi objek data integer menyatakan struktur data.
Pendeskripsian / spesifikasi struktur data menyatakan apa yang dapat dilakukan struktur data, bukan
cara penerapannya. Pendeskripsian ini melibatkan level logic sehingga dapat digunakan konvensi
matematika untuk menyatakan sifat-sifat struktur data yang dikehendaki.
Implementasi menyatakan cara penerapan struktur data dengan struktur data yang telah ada.
Implementasi struktur data adalah proses pendefinisian tipe data abstrak sehingga semua operasi dapat
dieksekusi computer. Implementasi struktur penyinpanan item-item data serta algoritma-algoritma
untuk implementasi operasi-operasi sehingga menjamin terpenuhinya karakteristik struktur data, relasi
item-item data atau invariant pada struktur data itu.
Pembuatan prosedur / rutin untuk operasi-operasi dasar yang menjaga invariant pada struktur data itu .
Sesuai dengan relasi yang didefinisikan di spesifikasi perancangan harus memilih tipe-tipe data yang
telah ada untuk merepresentasikan struktur data.
Struktur data di bangun menggunakan fasilitas pembentukan atau pembuatan struktur data yang
disediakan bahasa seperti array, record, dan sebagainya atau yang telah di buat seperti stack, queue,
atau himpunan menggunakan linked list.
Pembuatan struktur data adalah pembentukan tipe data lengkap yang mempunyai empat property
berikut :
4. Operasi-operasi terhadap tipe data itu (operator) : Daftar operasi terhadap anggota tipe data
sehingga kelakuan objek data sesuai spesifikasi.
Menerapkan
1
Bahasa pemrograman terstruktur dan
bahasa pemrograman berbasis objek
Posted by SHARE IT FOR THE FUTURE on 18.26
Pengertian Pemrograman Terstruktur
Pemrograman Terstruktur merupakan suatu proses untuk mengimplementasikan urutan langkah
penyelesaian suatu masalah dalam bentuk program dan merupakan suatu aktifitas pemrograman
yang dilakukan dengan memperhatikan setiap urutan dari setiap langkah perintah yang
dikerjakan secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan
dapat dengan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses
telah sampai pada suatu titik ataupun langkah tertentu , maka proses selanjutnya tidak boleh
mengeksekusi langkah sebelumnya ataupun kembali ke baris sebelumnya, kecuali pada langkah
– langkah untuk proses pengulangan atau berulang (Loop).
Selain itu, pemrograman terstruktur memiliki sifat-sifat seperti berikut ini :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih
efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk
dipahami oleh orang – orang selain pembuat program itu sendiri.
– Encapsulation (pembungkusan)
Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang
dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak
perlu. Salah satu caranya dengan membentuk objek.
– Inheritance (pewarisan)
Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan
class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama
dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan
subclass atau child class. Inheritance menghasilkan class hierarchy.
Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai
polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai
perilaku-perilaku yang berbeda.
Bahasa pemrograman yang mendukung OOP antara lain:
1. Visual Foxpro
2. Java
3. C++
4. Pascal (bahasa pemrograman)
5. Visual Basic.NET
6. SIMULA
7. Smalltalk
8. Ruby
9. Python
10. PHP
11. C#
12. Delphi
13. Eiffel
14. Perl
15. Adobe Flash AS 3.0
Kelebihan
• Lebih mudah digunakan dalam pembangunan sistem dibandingkan dengan SSAD.
• Waktu pengembangan OOAD , level organisasi, ketangguhan,dan penggunaan kembali (reuse)
kode program lebih tinggi Dibandingkan dengan SSAD.
• Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara
user dan developer dari awal hingga akhir pembangunan sistem.
• Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat
diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
• Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi
pada dunia nyata dan keterkaitan dalam sistem.
• Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran
software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks
(Booch, 2007).
• Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini
akan memperingan proses desain, pemrograman dan reduksi harga.
• Memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan
mengurangi resiko pelaksanaan proyek.
• Dekomposisi obyek, memungkinkan seorang analis untuk memecahkan masalah menjadi
pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah.
KESIMPULAN :
pemrograman berorientasi objek cocok digunakan untuk pembuatan software yang rumit dan
kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah
disebutkan diatas. OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan
sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya memiliki ciri khas
(attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Singkatnya,
OOP memiliki keunggulan dari konsep pemrograman terstruktur.
Sumber :
http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
http://id.wikipedia.org/wiki/Pemrograman_terstruktur
http://www.facebook.com/note.php?note_id=206003366087101
http://darkdevil4bloodyvenus.wordpress.com/
http://hikaru92.blogspot.com/
Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program yang berisi instruksi-
instruksi dalam bahasa komputer yang disusun secara logis dan sistematis supaya mudah dimengerti,
mudah dites, dan mudah dimodifikasi.
Pemrograman terstruktur adalah bahasa pemrograman yang mendukung pembuatan program sebagai
kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil dari manapun dalam
program dan dapat mengunakan parameter yang berbeda-beda untuk setiap pemanggilan. Bahasa
pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean
terstruktur dan kontrol program terstruktur. Sedangkan Prosedur adalah bagian dari program untuk
melakukan operasi-operasi yang sudah ditentukan dengan menggunakan parameter tertentu.
Ide pemrograman terstruktur pertama kali diungkapkan oleh Prof Edsger Djikstra dari Universitas
Eindhoven sekitar tahun 1965. Dalam papernya, Djikstra mengusulkan peniadaan perintah GOTO pada
pemrograman terstruktur. Berbeda dengan pendapat HD Millis yang mengungkapkan bahwa
pemrograman terstruktur tidak tergantung pada ada tidaknya GOTO tetapi lebih pada struktur program
itu sendiri. Dari pernyataan keduanya, memberikan gambaran tidak adanya definisi yang jelas untuk
pemrograman terstruktur. Tetapi dapat digaris bawahi bahwa pemrograman terstruktur merupakan
suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam
bentuk program.
6. biaya pengujian rendah, Source Program penterjemah Machine Languages Komputer dan
Pemrograman
1. Definisi Masalah
a. Keluaran (Output)
b. Masukan (Input)
c. Proses (Proces)
a. Buat langkah – langkah proses (modul/proses apa saja yang terjadi pada menu utama dan sub
menu)
d. Tentukan struktur kontrol (urut, pengulangan, kondisi), berapa bentuk struktur kontrol yang
terlibat dalam satu proses, dan jenis strukturnya apa saja dan berapa banyak
Pengembangan Top-Down
Pengembangan yang dimulai dari langkah yang global lebih dahulu, yang kemudian diperluas
lagi sehingga didapat langkah rinci
Modular
modul
1. Sequence
Contoh :
Perintah A
Perintah B
Perintah C
2. Selection
Contoh :
Penggunaan IF-THEN-ELSE
Penggunaas CASE
3. Repetition
Contoh :
Penggunaan DO WHILE
a. Modular Programming
b. Membuat Modul :
Format :
pernyataan / instruksi;
Format :
{
pernyataan / instruksi;
void main()
Nama_fungsi([par1, ….])
Contoh :
#include <iostream.h>
void garis() {
void judul() {
int i;
garis();
void main() {
Contoh :
Cara I :
// return
void main() {
float A, T;
Keterangan :
– Luas_sgt(A,T) cara pemanggilan fungsi, yang akan menghasilkan nilai dari fungsi Luas_sgt
Contoh :
Cara II :
void main() {
}
Keterangan :
Tambahan :
Visual Foxpro
Java
C++
Pascal (bahasa pemrograman)
Visual Basic.NET
SIMULA
Smalltalk
Ruby
Python
PHP
C#
Delphi
Eiffel
Perl
Adobe Flash AS 3.0
Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dalam bentuk program. Selain pengertian diatas Pemrograman
Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah
perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah
dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu
titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya /
kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).
Perbedaannya
Dari pengertian pemrograman terstruktur dan pemrograman berorientasi objek itu sendiri kita
dapat menyimpulkan, apa perbedaan dari pemrograman terstruktur dan pemrograman
berorientasi objek itu. Pemrograman berorientasi objek (Object-Oriented Programming atau
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, Sedangkan untuk pemrograman terstruktur adalah
kebalikan dari pemrograman berorientasi objek yaitu sebuah cara pemrosesan data yang
terstruktur dalam analisa, cara dan penulisan pemrograman. Dikarenakan harus terstruktur
sehingga dalam pembuatannya antara satu line pemrograman dengan yang lainnya berhubungan.
Konsep utama dari Pemrograman Berbasis Objek terletak pada kondisi kode/line
pemrogramanannya dimana merupakan sebuah kesatuan modular. Untuk program yang
simpel/sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan
tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa
dikatakan rumit, maka digunakan pemrograman berorientasi objek. Pemrograman Terstruktur
terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya,
sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data
yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak
tergantung pada kode yang lainnya, atau lebih dikenal dengan modular. Terdapat juga perbedaan
secara spesifik antara Pemrograman Berorientasi Objek dengan Pemrograman Terstruktur, yaitu
pada kelas dan objek. Pada Pemrograman Terstruktur tidak terdapat kelas dan objek.
Berdasarkan penjelasan diatas, sangat jelas bahwa pemrograman tersktruktur unggul dalam
melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal
perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain
pembuat program itu sendiri (contohnya ketika dlakukan tracing program).
Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek
mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk
programmer.
Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang
dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database
program misalnya.
Dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek
yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat
disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode
tersebut.
Jadi, sangat jelas bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam
kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan
kepada pemrogram seperti yang telah disebutkan diatas.
Permodelan yang mana yang lebih bagus? itu tergantung dari kebutuhan dan dari sudut pandang
mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang
mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan
pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.
Konsep dasar pemrograman berorientasi objek dikelompokkan kedalam kelas, objek, abstraksi,
enkapulasi dan Polimorfisme melalui pengiriman pesan, sedangkan konsep dasar pemrograman
terstruktur harus mengandung teknik pemecahan masalah yang tepat dan benar, memiliki
algoritma pemecahan masalah yang sederhana, standar dan efektif, penulisan program memiliki
struktur logika yang benar dan mudah dipahami, program hanya memiliki 3 struktur dasar, yaitu
: Struktur berurutan, struktur seleksi, dan struktur pengulangan, Menghindari penggunaan
pernyataan GOTO, Memiliki dokumentasi yang baik.
UML adalah contoh salah satu bahasa pemrograman yang berkonsepkan OOP, sedangkan DFD
dan ERD adalah contoh bahasa pemrograman yang berkonsepkan pemrograman secara
terstruktur.
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. Sedangkan untuk pemrograman terstruktur,
menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur
Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian
tersendiri:
Object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di
OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ”
modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur.
“attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada
pemrograman terstruktur.
METODE TERSTRUKTUR
Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman
terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai
akhirnya dapat digunakan dalam dunia nyata. Perancangan ini bertujuan untuk membuat model
SOLUSI terhadap PROBLEM yang sudah dimodelkan secara lengkap pada tahap analisis
terstruktur.
Kelebihan
Kekurangan
Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada
perspektif fungsional seperti pada pemrograman terstruktur. Akhir-akhir ini penggunakan OOAD
meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode
tradisional. Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek
diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi
obyek pada aplikasi bisnis
Kelebihan
Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan
penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD
(Sommerville, 2000).
Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara
user dan developer dari awal hingga akhir pembangunan sistem.
Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat
diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi
pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain
(Sommerville, 2000).
Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran
software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks
(Booch, 2007).
Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini
akan memperingan proses desain, pemrograman dan reduksi harga.
OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain
dan mengurangi resiko pelaksanaan proyek.
Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-
pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat
dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat,
sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel
dan mudah dalam memelihara.
Kekurangan
OOP/PBO merupakan paradigma pemrograman yang popular saat ini yang telah
menggantikan teknik pemrograman berbasis prosedur. Object Oriented Programing yang berarti
pula Pemrograman Beorientasi Objek sudah ditemukan sekitar tahun 1960 dan dikembangkan
pada permulaan tahun 1970.
Dalam konsep Pemrograman Berorientasi Objek dikenal beberapa istilah umum, yaitu:
– Attribute
Definisi dan Gambaran Umum Atribut
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat
memiliki hak akses private, public maupun protected.
Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas
yang membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara
langsung.
Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas
lain di luar kelas yang membungkusnya.
Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas
lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan
dari kelas yang membungkusnya.
Atribut juga biasa disebut state/ properties/ field merupakan bagian yang dimiliki oleh
sebuah class yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat
merubah nilai dari attribute tersebut.
Karakteristik Atribut
Dalam class, atribut disebut sebagai variabel. Atribut dapat membedakan antara satu object
dengan object yang lain. Sebagai contoh, pada class : mahasiswa, terdapat object mahasiswa si
A, dan object mahasiswa si B.
Yang membedakan antara object si A dan si B adalah NPM-nya (Nomor Pokok
Mahasiswa) yang merupakan atribut dari object tersebut. Pada atribut, terdapat pula dua istilah
variabel, yaitu Instance Variabel dan Class Variable.
Dimana pada tiap variabel memiliki karakteristik tersendiri, diantaranya :
Pada Instance Variabel à tiap object memiliki instance variabel dan menyimpan nilainya
tersendiri.
Sedangkan pada Class Variabel à atribut yang dimiliki oleh semua object yang berasal dari
class yang sama, serta semua object memiliki nilai class variabel yang sama. atribut yang
dimiliki object dari class yang sama.
– Method
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu
Class. Dengan kata lain, method pada sebuah kelas hampir sama dengan fungsi atau prosedur
pada pemrograman prosedural.
Pada sebuah method di dalam sebuah kelas juga memiliki izin akses seperti halnya atribut
pada kelas, izin akses itu antara lain private, public dan protected yang memiliki arti sama pada
izin akses atribut yang telah dibahas sebelumnya. Sebuah kelas boleh memiliki lebih dari satu
method dengan nama yang sama asalkan memiliki parameter masukan yang berbeda sehingga
kompiler atau interpreter dapat mengenali method mana yang dipanggil.
Hal ini dinamakan overloading. Di dalam sebuah kelas, terdapat juga yang disebut sebagai
method atau atribut statis yang memiliki kata kunci static. Maksud dari statis di sini adalah
method yang dapat diakses secara berbagi dengan semua objek lain tanpa harus membuat objek
yang memiliki method statis tadi (tanpa proses new), tapi sebuah method statis mempunyai
keterbatasan yaitu hanya dapat mengakses atribut atau method lain di dalam kelas yang
membungkusnya yang juga bersifat statis. Method statis biasanya diimplementasikan untuk
method main.
Karakteristik Method
Didalam suatu class, behavior disimpan dalam bentuk Method. Method merupakan
serangkaian statemen / perintah (perintah = baris program) dalam suatu class yang menghandle
task tertentu. Method merupakan hal-hal yang bisa dilakukan oleh object dari suatu class.
Method didefinisikan pada class akan tetapi dipanggil melalui object. Method memiliki peranan
diantaranya :
– merubah nilai atribut dari suatu object,
– menerima informasi dari object lain, dan
– mengirim informasi ke obyek lain untuk melakukan suatu task (cara obyek berkomunikasi
dengan obyek lain adalah dengan menggunakan method).
– Class
Merupakan model yang berisi kumpulan attribute dan method dalam suatu unit untuk suatu
tujuan tertentu. Sebagai contoh class manusia memiliki attribute berat, tinggi, usia kemudian
memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang
dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas dan struktur dalam
pemrograman berorientasi object.
Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri
dan dapat digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah struktur
tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk digunakan oleh kelas lain tanpa
harus membongkar kode program utama, sedangkan jika digunakan struktur maka kode program
harus dibongkar unuk disalin bagian strukturnya ke kode program utama yang lain.
Sebuah file dapat terdiri dari berbagai kelas, namun biasanya pada bahasa pemrograman
Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama kelas, misal file
List.java berisi kelas List. Namun jika kelas yang dibuat misalnya public class nama_kelas, maka
kelas itu harus disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan kompilasi
maka pada Java akan ada sebuah file .class yang berisi bytecode dari setiap kelas.
Jika sebuah file terdiri dari dua kelas, maka setelah dilakukan kompilasi akan dihasilkan
dua buah file .class yang nantinya akan dibaca oleh interpreter Java saat program dieksekusi.
Sebuah kelas saat program dieksekusi dan perintah new dijalankan, maka akan dibuat sebuah
objek. Class adalah template untuk pembuatan objek. Class juga memiliki anggota, diantaranya :
atribut dan method.
Pemahaman singkatnya :
• Class merupakan pola / template yang menggambarkan kumpulan object yang mempunyai sifat
dan perilaku yang sama.
• Class merupakan struktur data dari object (blueprint dari sebuah object), dan proses pembuatan
object dari sebuah class disebut juga dengan instantiation.
• Class merupakan definisi data dan fungsi dari suatu hal (benda, konsep, dll).
• Di dalam class dideklarasikan variabel dan method yang dimiliki oleh obyek
Karakteristik Class
Class memiliki beberapa karakteristik, diantaranya : anggota class terdiri dari atribut dan
method. Tiap-tiap anggota class memiliki control pengaksesan tersendiri, maksudnya adalah
apakah anggota class tersebut dapat diakses dengan bebas (dengan tipe public) atau hanya dapat
diakses melalui sebuah interface.
Dalam hal ini, interface adalah device yang digunakan untuk komunikasi antar object
berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol
komunikasi antar object tersebut.
– Object
Merupakan perwujudan dari class, setiap object akan mempunyai attribute dan method
yang dimiliki oleh class-nya, contohnya: amir, ahmad, yani merupakan object dari class manusia.
Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda.
Object merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki
data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu
dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia
dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja, dan komputer
merupakan contoh-contoh object yang ada di dunia nyata. Object adalah implementasi dari class.
Secara sederhananya, dapat dikatakan terdiri dari properti (atribut) dan method.
Pemahaman singkatnya :
• Objek merupakan sebuah objek khusus yang digunakan untuk mengakses anggota objek
(atribut atau method) dari dalam objek itu sendiri.
• Apabila terdapat variabel lain yang memiliki nama yang sama dengan nama atribut di dalam
objek, “this” dapat digunakan untuk merujuk ke atribut objek.
Karakteristik Object
Setiap object memiliki dua karakteristik yang utama, yaitu atribut dan behavior. Atribut
merupakan status object dan behavior merupakan tingkah laku dari object tersebut.
Contoh sederhana adalah sepeda. Object sepeda memiliki atribut : pedal, roda, dan gigi,
kecepatan serta memiliki tingkah laku seperti pacu dan rem. Sama seperti penggambaran di
dunia nyata, pengembangan program dengan konsep OOP juga menggunakan model object yang
akan menyimpan atributnya dalam variabel dan tingkah lakunya dalam method atau fungsi-
fungsi/prosedur. Deskripsinya :
Contoh objek : Sepeda
– Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
– Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun,
dan perpindahan gigi sepeda.
Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan
menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam
method-method atau fungsi-fungsi/prosedur.
– Abstraction
Adalah suatu cara untuk melihat suatu object dalam bentuk yang lebih sederhana. Sebagai
contoh kita tidak melihat sebuah mobil sebagai ribuan komponen elektronik, sistem mekanik
dengan empat buah ban, jok, stir kemudi dan sebagainya. Dengan Abstraction, suatu sistem yang
kompleks dapat dipandang sebagai kumpulan subsistem-subsistem yang lebih sederhana, seperti
halnya mobil merupakan suatu sistem yang terdiri atas berbagai subsistem, seperti subsistem
kemudi, subsistem pengereman dan sebagainya.
Abstraksi merupakan 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.
– Encapsulation
Merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari
kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan
penggunaan sistem tersebut.
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah
objek dengan cara yang tidak layak. Hanya metode dalam objek tersebut yang diberi ijin untuk
mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek
lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung
kepada representasi dalam objek tersebut.
– Inheritance
Merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah class
kepada class turunannya. Dengan konsep ini class yang dibuat cukup mendefinisikan attribute
dan method yang spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan
didapatkan dari class yang menjadi induknya.
Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan
diciptakan dengan jenis khusus dari objek yang sudah ada.Objek-objek ini dapat membagi (dan
memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa
berbasis-objek tidak selalu memiliki inheritas.)
– Polymorphism
Merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk
memerintah suatu object agar melakukan suatu tindakan yang mungkin secara prinsip sama
tetapi secara proses berbeda.
Model data berorientasi objek disebut 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 selain itu pendekatan OOP lebih mudah dikembangkan dan dirawat.
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin,
bahasa orientasi objek dapat mengirim pesan, dengan metode tertentu yang berhubungan dengan
sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim.
Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan
sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan
kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan
kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam
program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks
program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam
pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai
polimorfisme melalui penggunaan fungsi kelas-pertama.
Ketika Anda melakukan pendaftaran akun baru di sebuah situs jejaring sosial, misalnya
Facebook, biasanya Anda diminta untuk mengisi data diri Anda, seperti nama Anda, email,
password akun yang Anda kehendaki, tanggal lahir Anda, dll. Setelah mengisikan semua data yg
diminta dan menyelesaikan semua proses pendaftaran, maka Anda dapat login ke akun baru
tersebut dan menggunakan berbagai fitur Facebook yg telah disediakan untuk Anda sebagai
pengguna. Anda dapat menambahkan teman, menerima permintaan teman, membuat status baru,
me-like status, membuat komentar pada status, dan masih banyak lagi. Jika kita anggap setiap
pengguna Facebook merupakan sebuah objek, maka kita dapat merancang karakteristik objek
pengguna Facebook sebagai berikut:
Contoh di atas dimaksudkan untuk memberi gambaran umum mengenai class, property/attribute,
dan method/function.
Sebuah kelas (class) menunjukkan kerangka atau rancangan dari objek. Kerangka Mobil
menunjukkan bagaimana susunan setiap mobil, baik itu Mobil A, Mobil B, Mobil C, atau
mobil-mobil lainnya yg dibuat menggunakan kerangka mobil.
Property digunakan untuk menggambarkan sifat-sifat dari sebuah objek.
Method menunjukkan apa saja yg dapat dikerjakan oleh objek tersebut.
Dengan menggunakan tiga istilah tersebut, contoh rancangan karakteristik pengguna Facebook di
atas dapat dituliskan ulang sebagai berikut:
<?php
// Membuat rancangan Mobil
class Mobil {
// Beberapa property yg dimiliki oleh Mobil: warna, merek,
kecepatan_maksimum, status_mesin (status mesin nyala atau mati)
public $warna;
public $merek;
public $kecepatan_maksimum;
public $status_mesin = "mati";