SlideShare a Scribd company logo
1 of 13
Algoritma & Pemrograman 1 C
Object Oriented Programming &
Abstraksi , Generalisasi
Anggota:
• Ahmad Faiz 50412429
• Arya Hasa Kuswiratama 51412186
• Moch. Ichratyarsyah 54412618
• Rizanda Febri Ramadhan 56412526
• Teuku Uzer Yusran 57412343
Kelas: 1IA11
Kata Pengantar
Puji dan syukur kami panjatkan kepada Tuhan Yang Maha Esa atas
rahmat-Nya kami dapat meyelesaikan makalah ini.
Dalam makalah ini kami membahas mengenai Object Oriented
Programming & Abstraksi , Generalisasi.
Kami menyadari penulisan makalah ini masih jauh dari kesempurnaan.
Akhir kata kami berharap makalah ini dapat bermanfaat bagi kita semua.
Depok, 9 januari 2013
1. Object Oriented Programming
Tahun 1960, ditemukan suatu pembuatan program yang terstuktur
(structured programming). Metode ini dikembangkan dari bahasa C dan
Pascal.Dengan program yang terstruktur inilah untuk pertama kalinya kita mampu
menulis program yang begitu sulit dengan lebih mudah.
Definisi Object Oriented Programming
Object Oriented Programming adalah suatu metode dalam pembuatan
program, dengan tujuan untuk menyelesaikan kompleksnya berbagai masalah
program yang terus meningkat.
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 juga dapat berupa gabungan dari beberapa objek yang lebih kecil. Sebagai
contoh, tengoklah sebuah mobil. Mobil adalah sebuah objek dalam kehidupan nyata.
Namun mobil sendiri terbentuk dari beberapa objek yang lebih kecil seperti roda
ban, mesin, jok, dll. Mobil sebagai objek yang merupakan gabungan dari objek yang
lebih kecil dibentuk dengan membentuk hubungan antara objek-objek penyusunnya.
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.
Konsep-konsep pemrograman berorientasi objek dalam Java secara umum
sama dengan yang digunakan oleh bahasa-bahasa lain. Jadi kebanyakan konsep yang
kita bahas juga terdapat dalam bahasa selain Java. Namun, terkadang terdapat
perbedaan-perbedaan kecil antara penerapan konsep-konsep tersebut dalam
masing-masing bahasa. Perbedaan-perbedaan ini juga akan dijelaskan seiring
penjelasan masing-masing konsep.
2. ABSTRAKSI DAN GENERALISASI
Abstraksi adalah penekanan pada kualitas ide, dan sifat dari sebuah keterangan
(penekanan detail).
Generalisasi adalah perluasan aplikasi untuk mencakup domain yang lebih besar dari
objek dari jenis yang sama atau berbeda.
Binding
Binding umum untuk semua bahasa pemrograman. Objek yang dapat terikat
pada nama disebut bindables pada bahasa. Bindables mungkin termasuk: nilai
primitif, nilai majemuk, referensi ke variabel, jenis, dan abstraksi dieksekusi.
Sementara Binding terjadi pada definisi dan deklarasi, itu juga terjadi di tingkat mesin
virtual dan hardware antara nilai dan lokasi penyimpanan.
Selain. Paradigma pemrograman ini ditandai dengan mengizinkan nama untuk
terikat berturut-turut untuk objek yang berbeda, ini dicapai oleh pernyataan
penugasan (seringkali dalam bentuk, nama: = obyek) yang berarti “ diamkan nama
untuk objek sampai pemberitahuan lebih lanjut”. Dengan kata lain, sampai
dipindahkan. Hal ini berbeda dengan paradigma pemrograman fungsional dan logika
di mana nama-nama tidak boleh dipindahkan. Jadi bahasa dalam paradigma yang
sering disebut bahasa tugas tunggal.
Biasanya teks dari sebuah program berisi sejumlah bindings antara nama dan
objek dan binding dapat terdiri collaterall, berurutan atau secara rekursif.
Collateral binding adalah melakukan binding independen satu sama lain dan
kemudian menggabungkan binding untuk menghasilkan menyelesaikan set binding.
Nether binding dapat referensi nama yang digunakan dalam mengikat lainnya.
binding Jaminan tidak sangat umum tapi terjadi pada Skema dan ML.
Cara yang paling umum penyusunan binding adalah secara berurutan.
sequential binding adalah untuk melakukan binding dalam urutan di mana mereka
terjadi. Efeknya adalah untuk memungkinkan pengikatan kemudian untuk
menggunakan bindings dihasilkan sebelumnya dalam urutan. Harus dicatat bahwa
sequential binding tidak mengijinkan saling definisi rekursif.
Dalam C / C dan Pascal, konstan, variabel, dan bindings prosedur dan fungsi
yang berurutan. Untuk memberikan definisi saling rekursif dari fungsi dan prosedur,
C / C dan Pascal menyediakan untuk pemisahan tanda tangan dari sebuah fungsi atau
prosedur dari tubuh dengan cara prototipe fungsi & deklarasi ke depan sehingga
sehingga saling definisi rekursif dapat dibangun. Recursive binding adalah satu di
mana nama yang terikat digunakan (langsung atau tidak langsung) dalam mengikat
sendiri.
Bahasa pemrograman yang membutuhkan “deklarasi sebelum referensi”
harus menciptakan mekanisme khusus untuk menangani referensi kedepan. Untuk
tipe data dinamis, aturan yang santai untuk memungkinkan definisi jenis pointer.
Untuk fungsi dan prosedur, ada deklarasi terpisah untuk tanda tangan dari fungsi
atau prosedur dan tubuhnya. Pascal dengan yang deklarasi “maju” dan C dengan
prototipe fungsi yang khas.
The “deklarasi sebelum referensi” sering dipilih untuk menyederhanakan
konstruksi compiler. Dalam Modula-3 dan Java pilihan telah dibuat untuk
menyederhanakan tugas programmer daripada compiler dan izin referensi kedepan.
Enkapsulasi
Bagian abstrak dari sebuah mengikat sering mengandung binding lain yang
dikatakan definisi lokal. definisi lokal tersebut tidak terlihat atau tersedia untuk
dijadikan acuan di luar abstrak. Sehingga bagian abstrak dari sebuah mengikat
melibatkan “informasi bersembunyi”. informasi yang tersembunyi kadang-kadang
disediakan oleh pegekspor nama.
Sebuah sistem modul memberikan cara penulisan program besar sehingga
berbagai potongan program tersebut tidak mengganggu yang lain karena bentrokan
nama dan juga menyediakan cara untuk menyembunyikan detail implementasi. …
modul umumnya terdiri dari dua bagian, bagian ekspor dan bagian lokal. Bagian
ekspor dari sebuah modul terdiri dari deklarasi bahasa untuk simbol yang tersedia
untuk digunakan dalam salah satu bagian dari modul dan di modul lain yang impor
mereka dan deklarasi modul memberikan simbol dari modul lain yang tersedia untuk
digunakan dalam salah satu bagian dari modul dan dalam modul lain yang impor
mereka. Bagian daerah dari sebuah modul terdiri dari deklarasi bahasa untuk simbol
yang tersedia untuk digunakan hanya dalam bagian ini. TGPL-Hill dan Lloyd
Pekerjaan membangun program besar dibagi di antara beberapa orang,
masing-masing dari mereka harus menghasilkan bagian dari keseluruhan. Setiap
bagian disebut modul dan setiap programmer harus dapat membangun / nya modul-
nya tanpa mengetahui rincian internal dari bagian lain. Hal ini hanya mungkin bila
setiap modul adalah dipisahkan menjadi bagian interface dan merupakan bagian
implementasi. Bagian interface menggambarkan semua informasi yang diperlukan
untuk menggunakan modul sementara bagian menggambarkan pelaksanaan
implementasi. Gagasan ini sudah hadir dalam bahasa pemrograman yang paling
dalam cara di mana fungsi dan prosedur yang ditetapkan. Fungsi dan prosedur
definisi biasanya dipisahkan menjadi dua bagian. Bagian pertama memberikan nama
subprogram dan parameter persyaratan dan bagian kedua menjelaskan pelaksanaan.
Modul adalah generalisasi dari konsep abstraksi dalam modul diizinkan mengandung
kumpulan definisi. Tujuan tambahan modul adalah untuk membatasi perubahan ke
beberapa modul daripada seluruh program.
Sementara konsep modul adalah abstraksi yang berguna, keuntungan lengkap modul
diperoleh hanya ketika modul dapat ditulis, dikompilasi dan mungkin dilaksanakan
secara terpisah. Dalam banyak kasus modul harus dapat diuji secara independen dari
modul yang lain.
Keuntungan
• pengurangan kompleksitas
• Tim pemrograman
• maintainability
• reusabilitas kode
• manajemen proyek
Pelaksanaan
• penyimpanan umum daerah – Fortran
• termasuk direktif – C + +
• perpustakaan subrutin
Khas aplikasi:
subrutin paket – matematika, statistik dll
ADT
contoh dari Ada, C + +, dll
Generalisasi
Prinsip Generalisasi generik adalah sebuah entitas yang mungkin khusus (diuraikan)
atas permintaan.
Generalisasi mengijinkan penggunaan pola tunggal untuk mewakili masing-masing
anggota kelompok. Kita menggunakan notasi: p.B lambda ‘
(Disebut abstraksi lambda) untuk menunjukkan generalisasi B mana p disebut
parameter dan B ‘adalah B dengan p mengganti sejumlah kejadian dari beberapa
bagian B dengan p. P parameter dikatakan terikat dalam ekspresi tetapi bebas dalam
B ‘dan ruang lingkup p dikatakan B’.
The lambda simbol adalah sebuah quantifier. Bilangan digunakan untuk mengganti
konstanta dengan variabel.
Spesialisasi (elaborasi) dari sebuah aplikasi bernama generik dan mengambil bentuk:
(lambda p.B a)
Ini menunjukkan ungkapan B yang diperoleh dari ekspresi lambda saat kejadian
bebas dari p dalam B diganti dengan a.
Simbol ini lambda diperkenalkan oleh Gereja untuk pengenalan variabel dalam
kalkulus lambda. Ini kira-kira sesuai dengan FORALL simbol, yang quantifier universal,
logika orde pertama. Lampiran ini berisi pengenalan singkat logika orde pertama. Bab
pemrograman fungsional berisi pengenalan singkat ke kalkulus lambda.
Generalisasi sering dikombinasikan dengan abstraksi dan mengambil bentuk sebagai
berikut:
n( p ) : B
dimana p adalah nama, x adalah parameter, dan B adalah abstrak. Seruan dari
abstrak mengambil bentuk:
n(a)
atau occaisionally (n a)di mana n adalah nama dan disebut sebagai argumen yang
nilainya digantikan dengan parameter. Setelah permintaan dari abstrak, argumen
yang terikat parameter. Gambar N.1 merangkum berbagai notasi yang digunakan
untuk menunjukkan elaborasi dari generalisasi.
Kebanyakan bahasa pemrograman izin bentuk implisit dari generalisasi di mana
variabel yang dapat diperkenalkan tanpa memberikan untuk sebuah prosedur doa
yang menggantikan parameter dengan argumen. Sebagai contoh, perhatikan
psudocode berikut untuk sebuah program yang menghitung keliling lingkaran:
pi : 3.14
c : 2*pi*r
begin
r := 5
write c
r := 20
write c
end
Nilai r tergantung pada konteks di mana fungsi tersebut didefinisikan. R variabel
adalah nama global dan dikatakan bebas. Dalam perintah pertama menulis, keliling
dihitung untuk lingkaran radius 5 sedangkan pada kedua menulis perintah keliling
dihitung untuk lingkaran 20 jari-jari. Perintah menulis tidak dapat dipahami tanpa
merujuk pada kedua definisi c dan lingkungan (pi dipandang sebagai konstan). Oleh
karena itu, program ini tidak sepenuhnya”“ abstrak. Sebaliknya, program berikut ini
sepenuhnya abstrak:
pi : 3.14
c(r) : 2*pi*r
begin
FirstRadius := 5
write c(FirstRadius)
SecondRadius := 20
write c(SecondRadius)
end
Prinsip generalisasi tergantung pada prinsip analogi.
Prinsip Analogi Ketika ada konformasi dalam pola antara dua objek yang berbeda,
obyek dapat digantikan dengan satu objek parameter untuk mengizinkan
rekonstruksi objek asli.
prinsip analogi ini yang memungkinkan pengenalan variabel untuk mewakili unsur
sewenang-wenang dari sebuah kelas.
Prinsip Generalisasi tidak membuat pembatasan terhadap parameter atau bagian
dari suatu entitas yang mungkin parameter. Tidak harus bahasa pemrograman. Hal
ini ditekankan dalam prinsip berikut:
Prinsip parameterisasi adalah sebuah parameter generik mungkin berasal dari
domain manapun.
Terminologi. Parameter istilah formal (pakaian resmi) dan parameter aktual
(Realisasi) kadang-kadang digunakan sebagai pengganti parameter syarat dan
argumen masing-masing.
Substitusi
Kegunaan dari kedua abstraksi dan generalisasi bergantung pada substitusi. Ikatan
antara keduanya adalah ditangkap dalam prinsip berikut:
Prinsip mekanisme Korespondensi Parameter mengikat dan mekanisme definisi yang
setara.
Prinsip Korespondensi adalah formalisasi dari aspek Prinsip Abstraksi yang
menyiratkan bahwa definisi dan substitusi sangat erat terkait.
Kita menggunakan notasi
E [p: a]
untuk menunjukkan substitusi untuk p dalam E. notasi ini dibaca sebagai “ E [p: a]
adalah ekspresi diperoleh dari E dengan mengganti semua kejadian bebas dari p
dengan”sebuah.
Terminologi. Notasi untuk substitusi dipilih untuk menekankan hubungan antara
abstraksi dan substitusi. teks lain menggunakan notasi E [p: = a] untuk substitusi.
notasi mereka dimotivasi oleh operasi penugasan yang memberikan nilai untuk p.
teks lain menggunakan E notasi [a / p] untuk substitusi. Notasi terakhir ini dimotivasi
oleh pembatalan yang terjadi ketika sebuah angka dikalikan dengan inversenya (p
(p /) = a).
Bersama-sama, abstraksi, invokation, generalisasi dan spesialisasi menyediakan
mekanisme yang kuat untuk pengembangan program. Generalisasi menyediakan
mekanisme untuk pembangunan mengelompokkan sub ekspresi umum dan abstraksi
mekanisme untuk anjak dari mengelompokkan sub ekspresi umum. Pada contoh
berikut, faktor yang pertama umum mengandung mengelompokkan sub ekspresi
umum dan kemudian diabstraksikan keluar. Produk
(B-c) * (x y-z)
dibentuk dari dua faktor yang sangat mirip. Faktor-faktor generalisasi ke ekspresi
umum
lambda i j k. i j-k.
Ekspresi lambda dapat digunakan untuk menulis ulang produk sebagai:
(Lambda ij k. i jk) * abc (lambda ij k. i jk) xy z.
Ekspresi lambda dapat diabstraksikan nama dengan tiga argumen,
f (i k j): i j-k,
yang dapat digunakan untuk menggantikan ekspresi lambda dengan nama dan akan
mendapatkan ekspresi
f (a, b c) * f (x y z) dimana f (i k j): i j-k
yang secara jelas menunjukkan kesamaan faktor.
• Partisi
• Pisahkan kompilasi
o Hubungan
o Nama dan konsistensi Jenis
• Lingkup aturan
o Impor
o Ekspor
• Modul — koleksi benda — definisi
• Paket
Struktur Blok
Sebuah blok adalah konstruksi yang membatasi lingkup dari setiap definisi yang
mungkin terkandung. Sebuah blok menyediakan yaitu lingkungan lokal, untuk definisi
lokal. Struktur blok (hubungan tekstual antara blok) suatu bahasa pemrograman
memiliki banyak pengaruh atas struktur program dan modularitas. Ada tiga struktur
blok dasar – monolitik, datar dan bersarang.
• Sebuah blok adalah sebuah konstruksi yang membatasi cakupan definisi yang
terkandung di dalamnya
• Ada tiga dasar struktur blok: monolitik, flat dan nested
Syntax blok:
let Definitions in Body end
Body where Definitions
• Syntax di atas menyatakan dua tipe blok, yang pertama membutuhkan definisi
sebelum body dan yang kedua membutuhkan definisi sesudah body
• Monolitik → hanya terdiri dari satu blok saja
• Flat → body nya bisa saja mengandung blok-blok tambahan tetapi blok bagian
dalam tidak mengandung blok
• Nested → jika blok-blok dimungkinkan untuk bersarang (nested) di dalam blok
lain
Aturan Cakupan (Scope)
Tindakan partisi program menimbulkan masalah lingkup nama. Apakah objek yang di
partisi harus terlihat di luar partisi? Solusi yang biasa adalah untuk menunjuk
beberapa nama untuk diekspor dan lainnya yang menjadi pribadi atau lokal untuk
partisi dan terlihat partisi lain. Dalam hal nama mungkin ada konflik antara nama
diekspor dari partisi, partisi sering mengizinkan untuk menunjuk nama-nama yang
akan mengimpor dari partisi yang ditunjuk atau untuk memenuhi syarat nama
dengan nama partisi.
Ruang lingkup peraturan untuk modul mendefinisikan hubungan antar nama-nama
dalam partisi. Ada empat pilihan.
1. Semua nama setempat terlihat secara global.
2. Semua eksternal terlihat nama lokal.
3. Hanya diekspor secara eksplisit nama lokal terlihat secara global.
4. Hanya nama eksternal yang diimpor secara eksplisit terlihat secara lokal.
• Aturan cakupan dinamis → ruang lingkup dinamis dari masing-masing asosiasi
dalam hal tentu saja dinamika pelaksanaan program
• Aturan cakupan statis → disebut juga aturan cakupan leksikal
Lingkungan
Ruang Lingkup ada hubungannya dengan kisaran visibilitas nama. Sebagai
contoh, batas nasional mungkin encapsulate bahasa alami. Namun, beberapa kata
yang digunakan di dalam batas ini adalah bukan kata-kata asli. Mereka adalah kata-
kata yang dipinjam dari beberapa bahasa lain dan didefinisikan dalam bahasa asing.
Jadi dalam sebuah program. Suatu definisi memperkenalkan nama dan batas (objek).
Objek mungkin berisi nama-nama yang tidak ada definisi lokal (definisi mungkin
asumsi bersarang). Nama-nama ini dikatakan bebas. Arti ditugaskan untuk nama-
nama yang akan ditemukan di luar dari definisi. Aturan diikuti dalam menentukan
arti nama-nama ini bebas disebut ruang lingkup aturan.

More Related Content

What's hot

Pemrograman berorientasi objek lanjutan
Pemrograman berorientasi objek lanjutanPemrograman berorientasi objek lanjutan
Pemrograman berorientasi objek lanjutanTriani Valentina
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANBang Jo
 
Konsep dasar pemrograman pascal
Konsep dasar pemrograman pascalKonsep dasar pemrograman pascal
Konsep dasar pemrograman pascalbayyou
 
Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Tatalazy
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul IShofura Kamal
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekTugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekPungkas Soebarkah
 
Laporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma PemrogramanLaporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma PemrogramanYulie Astin
 
Object Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java ProgrammingObject Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java Programmingeddie Ismantoe
 
Pascal tutorialtpascal701
Pascal tutorialtpascal701Pascal tutorialtpascal701
Pascal tutorialtpascal701Alvin Setiawan
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekNamira Namirah
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Azka Mutia
 

What's hot (20)

Pemrograman berorientasi objek lanjutan
Pemrograman berorientasi objek lanjutanPemrograman berorientasi objek lanjutan
Pemrograman berorientasi objek lanjutan
 
Object oriented programming (oop)
Object oriented programming (oop)Object oriented programming (oop)
Object oriented programming (oop)
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Pseudopascal 2009
Pseudopascal 2009Pseudopascal 2009
Pseudopascal 2009
 
Pascal buku
Pascal bukuPascal buku
Pascal buku
 
JAVA
JAVAJAVA
JAVA
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
 
Konsep dasar pemrograman pascal
Konsep dasar pemrograman pascalKonsep dasar pemrograman pascal
Konsep dasar pemrograman pascal
 
Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1
 
Modul08 a
Modul08 aModul08 a
Modul08 a
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul I
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekTugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi Objek
 
Laporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma PemrogramanLaporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma Pemrograman
 
Object Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java ProgrammingObject Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java Programming
 
Pascal tutorialtpascal701
Pascal tutorialtpascal701Pascal tutorialtpascal701
Pascal tutorialtpascal701
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
Modul algoritma dan struktur data i
Modul algoritma dan struktur data iModul algoritma dan struktur data i
Modul algoritma dan struktur data i
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
Program Penjualan Supermarket
Program Penjualan SupermarketProgram Penjualan Supermarket
Program Penjualan Supermarket
 

Viewers also liked

10/09/2010 La Fundación AXA entrega el Premio de Pintura Catedral de Bu...
10/09/2010       La Fundación AXA entrega el Premio de Pintura Catedral de Bu...10/09/2010       La Fundación AXA entrega el Premio de Pintura Catedral de Bu...
10/09/2010 La Fundación AXA entrega el Premio de Pintura Catedral de Bu...AXA SEGUROS ESPAÑA
 
Los volcanes
Los volcanesLos volcanes
Los volcanescasalod
 
Pre-employment Criminal Screening By BackgroundChecks.org
Pre-employment Criminal Screening By BackgroundChecks.org
Pre-employment Criminal Screening By BackgroundChecks.org
Pre-employment Criminal Screening By BackgroundChecks.org aspiringlimbo6079
 
Trabajo computación
Trabajo computaciónTrabajo computación
Trabajo computaciónLolitaTrelles
 
Crear una tabla de datos
Crear una tabla de datosCrear una tabla de datos
Crear una tabla de datosXavi Devaluado
 
Présentation du comité de ligne "Sud", octobre 2012
Présentation du comité de ligne "Sud", octobre 2012Présentation du comité de ligne "Sud", octobre 2012
Présentation du comité de ligne "Sud", octobre 2012J'aime ma ligne 17
 
Artefactos digitales 4.2
Artefactos digitales 4.2Artefactos digitales 4.2
Artefactos digitales 4.2carpediemef
 
Falco gifu スプリングカップ 2012
Falco gifu スプリングカップ 2012Falco gifu スプリングカップ 2012
Falco gifu スプリングカップ 2012Tetsuhito Nishioka
 
A.T. Kearney Seconda Sessione
A.T. Kearney Seconda SessioneA.T. Kearney Seconda Sessione
A.T. Kearney Seconda SessioneFondazione Zoé
 
rangkuman TIK bab 4
rangkuman TIK bab 4rangkuman TIK bab 4
rangkuman TIK bab 4Raudya Azzra
 
Mari membundar nombor
Mari membundar nomborMari membundar nombor
Mari membundar nombormamrinda
 

Viewers also liked (18)

10/09/2010 La Fundación AXA entrega el Premio de Pintura Catedral de Bu...
10/09/2010       La Fundación AXA entrega el Premio de Pintura Catedral de Bu...10/09/2010       La Fundación AXA entrega el Premio de Pintura Catedral de Bu...
10/09/2010 La Fundación AXA entrega el Premio de Pintura Catedral de Bu...
 
Los volcanes
Los volcanesLos volcanes
Los volcanes
 
Air
AirAir
Air
 
Pre-employment Criminal Screening By BackgroundChecks.org
Pre-employment Criminal Screening By BackgroundChecks.org
Pre-employment Criminal Screening By BackgroundChecks.org
Pre-employment Criminal Screening By BackgroundChecks.org
 
KOTA CIREBON
KOTA CIREBONKOTA CIREBON
KOTA CIREBON
 
Tugas
TugasTugas
Tugas
 
Caramelles 2015 (repertori)
Caramelles 2015 (repertori)Caramelles 2015 (repertori)
Caramelles 2015 (repertori)
 
Trabajo computación
Trabajo computaciónTrabajo computación
Trabajo computación
 
Crear una tabla de datos
Crear una tabla de datosCrear una tabla de datos
Crear una tabla de datos
 
Présentation du comité de ligne "Sud", octobre 2012
Présentation du comité de ligne "Sud", octobre 2012Présentation du comité de ligne "Sud", octobre 2012
Présentation du comité de ligne "Sud", octobre 2012
 
Artefactos digitales 4.2
Artefactos digitales 4.2Artefactos digitales 4.2
Artefactos digitales 4.2
 
Falco gifu スプリングカップ 2012
Falco gifu スプリングカップ 2012Falco gifu スプリングカップ 2012
Falco gifu スプリングカップ 2012
 
A.T. Kearney Seconda Sessione
A.T. Kearney Seconda SessioneA.T. Kearney Seconda Sessione
A.T. Kearney Seconda Sessione
 
Dc
DcDc
Dc
 
rangkuman TIK bab 4
rangkuman TIK bab 4rangkuman TIK bab 4
rangkuman TIK bab 4
 
Ilmu iman amal
Ilmu iman amalIlmu iman amal
Ilmu iman amal
 
1 Opd
1 Opd1 Opd
1 Opd
 
Mari membundar nombor
Mari membundar nomborMari membundar nombor
Mari membundar nombor
 

Similar to Second task bu okta 2 edit

Pengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxPengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxngajiyanto .
 
0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptxBom Bom
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6ゴースト アノン
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Pengertian pemrograman terstruktur
Pengertian pemrograman terstrukturPengertian pemrograman terstruktur
Pengertian pemrograman terstrukturPutri Sari
 
Laporan praktikum modul vi
Laporan praktikum modul viLaporan praktikum modul vi
Laporan praktikum modul viDevi Apriansyah
 
Struktur Pemrograman Java
Struktur Pemrograman JavaStruktur Pemrograman Java
Struktur Pemrograman Javaroji muhidin
 
Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur DataAs Faizin
 
PERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptPERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptarfa442827
 
Pemrogaman Visual Basic.NET (Modul 4)
Pemrogaman Visual Basic.NET (Modul 4)Pemrogaman Visual Basic.NET (Modul 4)
Pemrogaman Visual Basic.NET (Modul 4)Materi Kuliah Online
 
Materi-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptxMateri-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptxHallendAfroni1
 
Pemrograman c-wakuadratn
Pemrograman c-wakuadratnPemrograman c-wakuadratn
Pemrograman c-wakuadratnLanoy Jr.
 

Similar to Second task bu okta 2 edit (20)

Pengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxPengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptx
 
0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Ifc modul 1 (fungsi)
Ifc   modul 1 (fungsi)Ifc   modul 1 (fungsi)
Ifc modul 1 (fungsi)
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Pengertian pemrograman terstruktur
Pengertian pemrograman terstrukturPengertian pemrograman terstruktur
Pengertian pemrograman terstruktur
 
TUGAS MANDIRI algoritma
TUGAS MANDIRI algoritmaTUGAS MANDIRI algoritma
TUGAS MANDIRI algoritma
 
Laporan praktikum modul vi
Laporan praktikum modul viLaporan praktikum modul vi
Laporan praktikum modul vi
 
Struktur Pemrograman Java
Struktur Pemrograman JavaStruktur Pemrograman Java
Struktur Pemrograman Java
 
Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur Data
 
Makalah java
Makalah javaMakalah java
Makalah java
 
PERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptPERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.ppt
 
Pemrogaman Visual Basic.NET (Modul 4)
Pemrogaman Visual Basic.NET (Modul 4)Pemrogaman Visual Basic.NET (Modul 4)
Pemrogaman Visual Basic.NET (Modul 4)
 
Projek asti(b) revisi
Projek asti(b) revisiProjek asti(b) revisi
Projek asti(b) revisi
 
Daskom 4
Daskom 4Daskom 4
Daskom 4
 
Makalah java
Makalah javaMakalah java
Makalah java
 
Materi-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptxMateri-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptx
 
Pemrograman c-wakuadratn
Pemrograman c-wakuadratnPemrograman c-wakuadratn
Pemrograman c-wakuadratn
 

Recently uploaded

HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxsudianaade137
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxErikaPuspita10
 
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSKisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSyudi_alfian
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...Kanaidi ken
 
alat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxalat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxRioNahak1
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsAdePutraTunggali
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxarnisariningsih98
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxmtsmampunbarub4
 
Pembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasPembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasAZakariaAmien1
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxrofikpriyanto2
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 

Recently uploaded (20)

HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
 
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSKisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
 
alat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxalat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptx
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public Relations
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
 
Pembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasPembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnas
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 

Second task bu okta 2 edit

  • 1. Algoritma & Pemrograman 1 C Object Oriented Programming & Abstraksi , Generalisasi Anggota: • Ahmad Faiz 50412429 • Arya Hasa Kuswiratama 51412186 • Moch. Ichratyarsyah 54412618 • Rizanda Febri Ramadhan 56412526 • Teuku Uzer Yusran 57412343 Kelas: 1IA11
  • 2. Kata Pengantar Puji dan syukur kami panjatkan kepada Tuhan Yang Maha Esa atas rahmat-Nya kami dapat meyelesaikan makalah ini. Dalam makalah ini kami membahas mengenai Object Oriented Programming & Abstraksi , Generalisasi. Kami menyadari penulisan makalah ini masih jauh dari kesempurnaan. Akhir kata kami berharap makalah ini dapat bermanfaat bagi kita semua. Depok, 9 januari 2013
  • 3. 1. Object Oriented Programming Tahun 1960, ditemukan suatu pembuatan program yang terstuktur (structured programming). Metode ini dikembangkan dari bahasa C dan Pascal.Dengan program yang terstruktur inilah untuk pertama kalinya kita mampu menulis program yang begitu sulit dengan lebih mudah. Definisi Object Oriented Programming Object Oriented Programming adalah suatu metode dalam pembuatan program, dengan tujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat. 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 juga dapat berupa gabungan dari beberapa objek yang lebih kecil. Sebagai contoh, tengoklah sebuah mobil. Mobil adalah sebuah objek dalam kehidupan nyata. Namun mobil sendiri terbentuk dari beberapa objek yang lebih kecil seperti roda ban, mesin, jok, dll. Mobil sebagai objek yang merupakan gabungan dari objek yang lebih kecil dibentuk dengan membentuk hubungan antara objek-objek penyusunnya. 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. Konsep-konsep pemrograman berorientasi objek dalam Java secara umum sama dengan yang digunakan oleh bahasa-bahasa lain. Jadi kebanyakan konsep yang kita bahas juga terdapat dalam bahasa selain Java. Namun, terkadang terdapat perbedaan-perbedaan kecil antara penerapan konsep-konsep tersebut dalam masing-masing bahasa. Perbedaan-perbedaan ini juga akan dijelaskan seiring penjelasan masing-masing konsep.
  • 4. 2. ABSTRAKSI DAN GENERALISASI Abstraksi adalah penekanan pada kualitas ide, dan sifat dari sebuah keterangan (penekanan detail). Generalisasi adalah perluasan aplikasi untuk mencakup domain yang lebih besar dari objek dari jenis yang sama atau berbeda. Binding Binding umum untuk semua bahasa pemrograman. Objek yang dapat terikat pada nama disebut bindables pada bahasa. Bindables mungkin termasuk: nilai primitif, nilai majemuk, referensi ke variabel, jenis, dan abstraksi dieksekusi. Sementara Binding terjadi pada definisi dan deklarasi, itu juga terjadi di tingkat mesin virtual dan hardware antara nilai dan lokasi penyimpanan. Selain. Paradigma pemrograman ini ditandai dengan mengizinkan nama untuk terikat berturut-turut untuk objek yang berbeda, ini dicapai oleh pernyataan penugasan (seringkali dalam bentuk, nama: = obyek) yang berarti “ diamkan nama untuk objek sampai pemberitahuan lebih lanjut”. Dengan kata lain, sampai dipindahkan. Hal ini berbeda dengan paradigma pemrograman fungsional dan logika di mana nama-nama tidak boleh dipindahkan. Jadi bahasa dalam paradigma yang sering disebut bahasa tugas tunggal. Biasanya teks dari sebuah program berisi sejumlah bindings antara nama dan objek dan binding dapat terdiri collaterall, berurutan atau secara rekursif. Collateral binding adalah melakukan binding independen satu sama lain dan kemudian menggabungkan binding untuk menghasilkan menyelesaikan set binding. Nether binding dapat referensi nama yang digunakan dalam mengikat lainnya. binding Jaminan tidak sangat umum tapi terjadi pada Skema dan ML. Cara yang paling umum penyusunan binding adalah secara berurutan. sequential binding adalah untuk melakukan binding dalam urutan di mana mereka terjadi. Efeknya adalah untuk memungkinkan pengikatan kemudian untuk menggunakan bindings dihasilkan sebelumnya dalam urutan. Harus dicatat bahwa sequential binding tidak mengijinkan saling definisi rekursif. Dalam C / C dan Pascal, konstan, variabel, dan bindings prosedur dan fungsi yang berurutan. Untuk memberikan definisi saling rekursif dari fungsi dan prosedur, C / C dan Pascal menyediakan untuk pemisahan tanda tangan dari sebuah fungsi atau
  • 5. prosedur dari tubuh dengan cara prototipe fungsi & deklarasi ke depan sehingga sehingga saling definisi rekursif dapat dibangun. Recursive binding adalah satu di mana nama yang terikat digunakan (langsung atau tidak langsung) dalam mengikat sendiri. Bahasa pemrograman yang membutuhkan “deklarasi sebelum referensi” harus menciptakan mekanisme khusus untuk menangani referensi kedepan. Untuk tipe data dinamis, aturan yang santai untuk memungkinkan definisi jenis pointer. Untuk fungsi dan prosedur, ada deklarasi terpisah untuk tanda tangan dari fungsi atau prosedur dan tubuhnya. Pascal dengan yang deklarasi “maju” dan C dengan prototipe fungsi yang khas. The “deklarasi sebelum referensi” sering dipilih untuk menyederhanakan konstruksi compiler. Dalam Modula-3 dan Java pilihan telah dibuat untuk menyederhanakan tugas programmer daripada compiler dan izin referensi kedepan. Enkapsulasi Bagian abstrak dari sebuah mengikat sering mengandung binding lain yang dikatakan definisi lokal. definisi lokal tersebut tidak terlihat atau tersedia untuk dijadikan acuan di luar abstrak. Sehingga bagian abstrak dari sebuah mengikat melibatkan “informasi bersembunyi”. informasi yang tersembunyi kadang-kadang disediakan oleh pegekspor nama. Sebuah sistem modul memberikan cara penulisan program besar sehingga berbagai potongan program tersebut tidak mengganggu yang lain karena bentrokan nama dan juga menyediakan cara untuk menyembunyikan detail implementasi. … modul umumnya terdiri dari dua bagian, bagian ekspor dan bagian lokal. Bagian ekspor dari sebuah modul terdiri dari deklarasi bahasa untuk simbol yang tersedia untuk digunakan dalam salah satu bagian dari modul dan di modul lain yang impor mereka dan deklarasi modul memberikan simbol dari modul lain yang tersedia untuk digunakan dalam salah satu bagian dari modul dan dalam modul lain yang impor mereka. Bagian daerah dari sebuah modul terdiri dari deklarasi bahasa untuk simbol yang tersedia untuk digunakan hanya dalam bagian ini. TGPL-Hill dan Lloyd Pekerjaan membangun program besar dibagi di antara beberapa orang, masing-masing dari mereka harus menghasilkan bagian dari keseluruhan. Setiap bagian disebut modul dan setiap programmer harus dapat membangun / nya modul-
  • 6. nya tanpa mengetahui rincian internal dari bagian lain. Hal ini hanya mungkin bila setiap modul adalah dipisahkan menjadi bagian interface dan merupakan bagian implementasi. Bagian interface menggambarkan semua informasi yang diperlukan untuk menggunakan modul sementara bagian menggambarkan pelaksanaan implementasi. Gagasan ini sudah hadir dalam bahasa pemrograman yang paling dalam cara di mana fungsi dan prosedur yang ditetapkan. Fungsi dan prosedur definisi biasanya dipisahkan menjadi dua bagian. Bagian pertama memberikan nama subprogram dan parameter persyaratan dan bagian kedua menjelaskan pelaksanaan. Modul adalah generalisasi dari konsep abstraksi dalam modul diizinkan mengandung kumpulan definisi. Tujuan tambahan modul adalah untuk membatasi perubahan ke beberapa modul daripada seluruh program. Sementara konsep modul adalah abstraksi yang berguna, keuntungan lengkap modul diperoleh hanya ketika modul dapat ditulis, dikompilasi dan mungkin dilaksanakan secara terpisah. Dalam banyak kasus modul harus dapat diuji secara independen dari modul yang lain. Keuntungan • pengurangan kompleksitas • Tim pemrograman • maintainability • reusabilitas kode • manajemen proyek Pelaksanaan • penyimpanan umum daerah – Fortran • termasuk direktif – C + + • perpustakaan subrutin
  • 7. Khas aplikasi: subrutin paket – matematika, statistik dll ADT contoh dari Ada, C + +, dll Generalisasi Prinsip Generalisasi generik adalah sebuah entitas yang mungkin khusus (diuraikan) atas permintaan. Generalisasi mengijinkan penggunaan pola tunggal untuk mewakili masing-masing anggota kelompok. Kita menggunakan notasi: p.B lambda ‘ (Disebut abstraksi lambda) untuk menunjukkan generalisasi B mana p disebut parameter dan B ‘adalah B dengan p mengganti sejumlah kejadian dari beberapa bagian B dengan p. P parameter dikatakan terikat dalam ekspresi tetapi bebas dalam B ‘dan ruang lingkup p dikatakan B’. The lambda simbol adalah sebuah quantifier. Bilangan digunakan untuk mengganti konstanta dengan variabel. Spesialisasi (elaborasi) dari sebuah aplikasi bernama generik dan mengambil bentuk: (lambda p.B a) Ini menunjukkan ungkapan B yang diperoleh dari ekspresi lambda saat kejadian bebas dari p dalam B diganti dengan a. Simbol ini lambda diperkenalkan oleh Gereja untuk pengenalan variabel dalam kalkulus lambda. Ini kira-kira sesuai dengan FORALL simbol, yang quantifier universal, logika orde pertama. Lampiran ini berisi pengenalan singkat logika orde pertama. Bab pemrograman fungsional berisi pengenalan singkat ke kalkulus lambda. Generalisasi sering dikombinasikan dengan abstraksi dan mengambil bentuk sebagai berikut: n( p ) : B dimana p adalah nama, x adalah parameter, dan B adalah abstrak. Seruan dari abstrak mengambil bentuk:
  • 8. n(a) atau occaisionally (n a)di mana n adalah nama dan disebut sebagai argumen yang nilainya digantikan dengan parameter. Setelah permintaan dari abstrak, argumen yang terikat parameter. Gambar N.1 merangkum berbagai notasi yang digunakan untuk menunjukkan elaborasi dari generalisasi. Kebanyakan bahasa pemrograman izin bentuk implisit dari generalisasi di mana variabel yang dapat diperkenalkan tanpa memberikan untuk sebuah prosedur doa yang menggantikan parameter dengan argumen. Sebagai contoh, perhatikan psudocode berikut untuk sebuah program yang menghitung keliling lingkaran: pi : 3.14 c : 2*pi*r begin r := 5 write c r := 20 write c end Nilai r tergantung pada konteks di mana fungsi tersebut didefinisikan. R variabel adalah nama global dan dikatakan bebas. Dalam perintah pertama menulis, keliling dihitung untuk lingkaran radius 5 sedangkan pada kedua menulis perintah keliling dihitung untuk lingkaran 20 jari-jari. Perintah menulis tidak dapat dipahami tanpa merujuk pada kedua definisi c dan lingkungan (pi dipandang sebagai konstan). Oleh karena itu, program ini tidak sepenuhnya”“ abstrak. Sebaliknya, program berikut ini sepenuhnya abstrak: pi : 3.14 c(r) : 2*pi*r begin FirstRadius := 5 write c(FirstRadius)
  • 9. SecondRadius := 20 write c(SecondRadius) end Prinsip generalisasi tergantung pada prinsip analogi. Prinsip Analogi Ketika ada konformasi dalam pola antara dua objek yang berbeda, obyek dapat digantikan dengan satu objek parameter untuk mengizinkan rekonstruksi objek asli. prinsip analogi ini yang memungkinkan pengenalan variabel untuk mewakili unsur sewenang-wenang dari sebuah kelas. Prinsip Generalisasi tidak membuat pembatasan terhadap parameter atau bagian dari suatu entitas yang mungkin parameter. Tidak harus bahasa pemrograman. Hal ini ditekankan dalam prinsip berikut: Prinsip parameterisasi adalah sebuah parameter generik mungkin berasal dari domain manapun. Terminologi. Parameter istilah formal (pakaian resmi) dan parameter aktual (Realisasi) kadang-kadang digunakan sebagai pengganti parameter syarat dan argumen masing-masing. Substitusi Kegunaan dari kedua abstraksi dan generalisasi bergantung pada substitusi. Ikatan antara keduanya adalah ditangkap dalam prinsip berikut:
  • 10. Prinsip mekanisme Korespondensi Parameter mengikat dan mekanisme definisi yang setara. Prinsip Korespondensi adalah formalisasi dari aspek Prinsip Abstraksi yang menyiratkan bahwa definisi dan substitusi sangat erat terkait. Kita menggunakan notasi E [p: a] untuk menunjukkan substitusi untuk p dalam E. notasi ini dibaca sebagai “ E [p: a] adalah ekspresi diperoleh dari E dengan mengganti semua kejadian bebas dari p dengan”sebuah. Terminologi. Notasi untuk substitusi dipilih untuk menekankan hubungan antara abstraksi dan substitusi. teks lain menggunakan notasi E [p: = a] untuk substitusi. notasi mereka dimotivasi oleh operasi penugasan yang memberikan nilai untuk p. teks lain menggunakan E notasi [a / p] untuk substitusi. Notasi terakhir ini dimotivasi oleh pembatalan yang terjadi ketika sebuah angka dikalikan dengan inversenya (p (p /) = a). Bersama-sama, abstraksi, invokation, generalisasi dan spesialisasi menyediakan mekanisme yang kuat untuk pengembangan program. Generalisasi menyediakan mekanisme untuk pembangunan mengelompokkan sub ekspresi umum dan abstraksi mekanisme untuk anjak dari mengelompokkan sub ekspresi umum. Pada contoh berikut, faktor yang pertama umum mengandung mengelompokkan sub ekspresi umum dan kemudian diabstraksikan keluar. Produk (B-c) * (x y-z) dibentuk dari dua faktor yang sangat mirip. Faktor-faktor generalisasi ke ekspresi umum lambda i j k. i j-k. Ekspresi lambda dapat digunakan untuk menulis ulang produk sebagai: (Lambda ij k. i jk) * abc (lambda ij k. i jk) xy z. Ekspresi lambda dapat diabstraksikan nama dengan tiga argumen, f (i k j): i j-k,
  • 11. yang dapat digunakan untuk menggantikan ekspresi lambda dengan nama dan akan mendapatkan ekspresi f (a, b c) * f (x y z) dimana f (i k j): i j-k yang secara jelas menunjukkan kesamaan faktor. • Partisi • Pisahkan kompilasi o Hubungan o Nama dan konsistensi Jenis • Lingkup aturan o Impor o Ekspor • Modul — koleksi benda — definisi • Paket Struktur Blok Sebuah blok adalah konstruksi yang membatasi lingkup dari setiap definisi yang mungkin terkandung. Sebuah blok menyediakan yaitu lingkungan lokal, untuk definisi lokal. Struktur blok (hubungan tekstual antara blok) suatu bahasa pemrograman memiliki banyak pengaruh atas struktur program dan modularitas. Ada tiga struktur blok dasar – monolitik, datar dan bersarang. • Sebuah blok adalah sebuah konstruksi yang membatasi cakupan definisi yang terkandung di dalamnya • Ada tiga dasar struktur blok: monolitik, flat dan nested Syntax blok: let Definitions in Body end Body where Definitions
  • 12. • Syntax di atas menyatakan dua tipe blok, yang pertama membutuhkan definisi sebelum body dan yang kedua membutuhkan definisi sesudah body • Monolitik → hanya terdiri dari satu blok saja • Flat → body nya bisa saja mengandung blok-blok tambahan tetapi blok bagian dalam tidak mengandung blok • Nested → jika blok-blok dimungkinkan untuk bersarang (nested) di dalam blok lain Aturan Cakupan (Scope) Tindakan partisi program menimbulkan masalah lingkup nama. Apakah objek yang di partisi harus terlihat di luar partisi? Solusi yang biasa adalah untuk menunjuk beberapa nama untuk diekspor dan lainnya yang menjadi pribadi atau lokal untuk partisi dan terlihat partisi lain. Dalam hal nama mungkin ada konflik antara nama diekspor dari partisi, partisi sering mengizinkan untuk menunjuk nama-nama yang akan mengimpor dari partisi yang ditunjuk atau untuk memenuhi syarat nama dengan nama partisi. Ruang lingkup peraturan untuk modul mendefinisikan hubungan antar nama-nama dalam partisi. Ada empat pilihan. 1. Semua nama setempat terlihat secara global. 2. Semua eksternal terlihat nama lokal. 3. Hanya diekspor secara eksplisit nama lokal terlihat secara global. 4. Hanya nama eksternal yang diimpor secara eksplisit terlihat secara lokal. • Aturan cakupan dinamis → ruang lingkup dinamis dari masing-masing asosiasi dalam hal tentu saja dinamika pelaksanaan program • Aturan cakupan statis → disebut juga aturan cakupan leksikal
  • 13. Lingkungan Ruang Lingkup ada hubungannya dengan kisaran visibilitas nama. Sebagai contoh, batas nasional mungkin encapsulate bahasa alami. Namun, beberapa kata yang digunakan di dalam batas ini adalah bukan kata-kata asli. Mereka adalah kata- kata yang dipinjam dari beberapa bahasa lain dan didefinisikan dalam bahasa asing. Jadi dalam sebuah program. Suatu definisi memperkenalkan nama dan batas (objek). Objek mungkin berisi nama-nama yang tidak ada definisi lokal (definisi mungkin asumsi bersarang). Nama-nama ini dikatakan bebas. Arti ditugaskan untuk nama- nama yang akan ditemukan di luar dari definisi. Aturan diikuti dalam menentukan arti nama-nama ini bebas disebut ruang lingkup aturan.