Makalah Pemrograman
Makalah Pemrograman
D
I
S
U
S
U
N
OLEH :
Ade Abu Darda (NIM : 1821011)
Ayu Febriyanti BR Tanggang (NIM : 1821002)
Bagus Andhika (NIM : 1821016)
Nera Azzura (NIM : 1821009)
PENDAHULUAN
Banyak orang pertama kali belajar program menggunakan bahasa yang tidak
berorientasi objek. Program non-OOP mungkin salah satu daftar panjang dari
perintah. Lebih program yang kompleks akan kelompok daftar perintah ke dalam
fungsi atau subrutin masing-masing yang mungkin melakukan tugas tertentu.
Dengan desain semacam ini, biasanya untuk data program untuk dapat diakses
dari setiap bagian dari program tersebut. Sebagai program tumbuh dalam ukuran,
memungkinkan fungsi apapun untuk memodifikasi setiap bagian dari data berarti
bahwa bug dapat memiliki dampak yang luas jangkauannya.
Sebaliknya, pendekatan berorientasi objek mendorong para programmer untuk
tempat data di mana tidak langsung dapat diakses oleh seluruh program.
Sebaliknya data diakses dengan memanggil tertulis fungsi khusus, yang biasa
disebut metode, baik yang dibundel dengan data atau warisan dari ”objek kelas”
dan bertindak sebagai perantara untuk mengambil atau memodifikasi data
tersebut. Pemrograman yang membangun yang menggabungkan data dengan satu
set metode untuk mengakses dan mengelola data tersebut disebut objek.
Sebuah program berorientasi objek biasanya akan mengandung berbagai jenis
objek, masing-masing jenis yang sesuai untuk jenis tertentu dari data yang
kompleks untuk dikelola atau mungkin ke objek dunia nyata atau konsep seperti
rekening bank, pemain hoki, atau buldoser. Sebuah program mungkin berisi
beberapa salinan dari setiap jenis objek, satu untuk setiap objek dunia nyata
program ini berurusan dengan OOP. Sebagai contoh, ada bisa menjadi salah satu
rekening bank untuk setiap account objek dunia nyata di sebuah bank tertentu.
Setiap salinan dari objek rekening bank akan sama dalam metode ini menawarkan
untuk memanipulasi atau membaca data, tetapi data dalam setiap objek akan
berbeda mencerminkan sejarah yang berbeda dari setiap account.
Objek dapat dianggap sebagai pembungkus data mereka dalam satu set fungsi
yang dirancang untuk memastikan bahwa data yang digunakan tepat, dan untuk
membantu dalam menggunakan. Metode ini objek biasanya akan mencakup
pemeriksaan dan perlindungan yang khusus untuk jenis data objek berisi. Sebuah
objek juga dapat menawarkan sederhana digunakan, metode standar untuk
melakukan operasi tertentu pada data, sementara menyembunyikan secara spesifik
tentang bagaimana tugas-tugas yang dicapai. Dengan cara ini perubahan dapat
dibuat dengan struktur internal atau metode obyek tanpa memerlukan bahwa sisa
program dimodifikasi. Pendekatan ini juga dapat digunakan untuk menawarkan
metode standar di berbagai jenis objek. Sebagai contoh, beberapa jenis benda
mungkin menawarkan metode cetak. Setiap jenis objek yang mungkin
menerapkan metode cetak dalam cara yang berbeda, yang mencerminkan jenis
data yang berbeda masing-masing berisi, tetapi semua metode cetak yang berbeda
mungkin disebut dengan cara standar yang sama dari tempat lain di program ini.
Fitur-fitur ini menjadi berguna terutama ketika lebih dari satu programmer
berkontribusi kode untuk proyek atau ketika tujuannya adalah untuk
menggunakan kembali kode di antara proyek.
- Visual Foxpro
- Java
- C++
- Pascal
- SIMULA
- Smaltalk
- Ruby
- Python
- PHP
- C#
- Delphi
- Eiffel
- Perl
- Adobe Flash AS 3.0
Contoh : Program menghitung luas persegi panjang dan segitiga
#include <iostream>
using namespace std;
class PersegiPanjang{
int panjang,lebar;
public:
int luas(){
return (panjang*lebar);
}
void set_values(int x,int y){
panjang = x;
lebar = y;
}
};
class Segitiga{
int alas,tinggi;
public:
float luas(){
return (alas*tinggi*0.5);
}
void set_values(int a, int t){
alas = a;
tinggi = t;
}
};
int main(){
PersegiPanjang Kotak1;
PersegiPanjang Kotak2;
Segitiga Segitiga1;
Segitiga Segitiga2;
Kotak1.set_values(10,10);
Kotak2.set_values(5,5);
Segitiga1.set_values(7,6);
Segitiga2.set_values(3,7);
cout << “Luas Kotak 1 adalah ” << Kotak1.luas() << endl;
cout << “Luas Kotak 2 adalah ” << Kotak2.luas() << endl;
cout << “Luas Segitiga 1 adalah ” << Segitiga1.luas() << endl;
cout << “Luas Segitiga 2 adalah ” << Segitiga2.luas() << endl;
}
Bahasa pertama yang memiliki fitur-fitur utama dari sebuah bahasa berorientasi
objek yaitu Simula (1967). Organisasi ini dibentuk untuk membuatprogram
simulasi, di mana apa yang kemudian disebut objek adalah informasi perwakilan
paling penting. Smalltalk (1972-1980) ini bisa dibilang contoh kanonik, dan yang
satu dengan yang banyak teori pemrograman berorientasi objek adalah
dikembangkan. Mengenai derajat orientasi objek, berikut beberapa perbedaan
dapat dibuat:
1. Bahasa disebut “murni” bahasa OOP, karena segala isinya diperlakukan
secara konsisten sebagai objek, dari primitif seperti karakter dan tanda baca,
semua jalan sampai ke seluruh kelas, prototipe, blok, modul, dan lain-lain. Mereka
dirancang khusus untuk memfasilitasi, bahkan menegakkan, metode OOP. Contoh
:Scala, Smalltalk, Eiffel, Ruby, JADE, dan Emerald.
2. Bahasa pemrograman yang dirancang terutama untuk OOP, tapi dengan
beberapa elemen prosedural. Contoh : C + + , C #, VB.NET,Java, dan Python.
(Catatan : C # dan VB.NET eksklusif bagian Microsoft's NET Framework adalah
dan platform pengembangan. Kompilasi keduanya sama (bahasa menengah IL).
Meskipun ada beberapa perbedaan membangun, mereka minimal dan dalam
konteks pengelompokan ini, beberapa mungkin menganggap mereka bagian dari
satu bahasa dengan hanya dua mesin sintaks (terjemahan).
3. Bahasa yang secara historis bahasa prosedural, tetapi telah diperpanjang
dengan beberapa fitur OOP. Contoh : Visual Basic(berasal dari DASAR), Fortran
2003, Perl, COBOL 2002, PHP, danABAP .
4. Bahasa dengan sebagian besar fitur objek (kelas, metode, warisan,
usabilitas), tetapi dalam bentuk jelas asli. Contoh : Oberon (Oberon-1 atau
Oberon-2).
5. Bahasa dengan tipe data abstrak dukungan, tetapi tidak semua fitur-orientasi
obyek, kadang-kadang disebut bahasa berbasis objek. Contoh : Modula-2 (dengan
enkapsulasi yang sangat baik dan menyembunyikan informasi), liat, dan CLU .
Dalam beberapa tahun terakhir, pemrograman berorientasi objek telah menjadi
sangat populer di bahasa pemrograman dinamis. Python, Ruby dan Groovy adalah
bahasa dinamis dibangun di atas prinsip-prinsip OOP,
sedangkan Perl dan PHPtelah menambahkan fitur berorientasi objek sejak Perl 5
dan PHP 4, danColdFusion sejak versi 6.
E. Kelebihan
F. Kekurangan
PENUTUPAN
- Kesimpulan
- Saran
Setelah mengetahui pengertian dan seluk beluk semua tentang OOP, kita dapat
mengambil segi positif dari penggunaan OOP dalam pemrograman, walaupun
masih terdapat kelemahan-kelemahan OOP dalam pemrograman.
DAFTAR PUSTAKA
http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek.
en.wikipedia.org/wiki/Object-oriented_programming.
www.bengkelprogram.com/data-artikel-779.0.bps