You are on page 1of 19

# Tugas Kelompok ALGORITMA DAN METODE OBJECT ORIENTED PROGRAMMING

PENGERTIAN ALGORITMA PEMOGRAMAN, PROCEDURAL ORIENTED PROGRAMMING (POP) DAN OBJECT ORIENTED PROGRAMMING (OOP)

Oleh: Kelompok 1 BANGUN SETIAWAN BOY SIHAR NANDA AYU WIYANTI RENNO PRATAMA

DAFTAR ISI
1.1 Asal Kata Algoritma..........................................................................................3 1.2 Definisi Algoritma.............................................................................................3 1.3 Ciri-ciri Algoritma.............................................................................................4 1.4 Aturan Penulisan Algoritma..............................................................................4 1.5 Kriteria Algoritma Pemrograman......................................................................5 1.6 Teknik Penyajian Algoritma.............................................................................6 1.7 Definisi Pemrograman.......................................................................................8 1.8 Ukuran Kualitas Program..................................................................................8 1.9 Paradigma Pemrograman..................................................................................9 2.1 Procedural Oriented Programming (POP).......................................................10 2.1.1 Sifat Procedural Oriented Programming (POP)..............................................10 2.1.2 Struktur Bahasa Pemrograman Prosedural......................................................10 2.1.3 Teorema Terstruktur........................................................................................11 Pemrograman terstruktur menggunakan teorema terstruktur:..................................11 2.1.4 Struktur Program dari POP..............................................................................12 .................................................................................................................12 2.2 Object Oriented Programming (OOP).............................................................12 2.2.1 Sifat Object Oriented Programming (OOP)....................................................13 2.2.2 Karakteristik Utama dari Object Oriented Programming (OOP)....................13 2.2.3 Konsep Object Oriented Programming (OOP)...............................................13 2.2.4 Struktur Program dari OOP.............................................................................17 2.2.5 Keuntungan OOP............................................................................................17 2.3 Perbedaan OOP dengan Non-Obyek................................................................18 2.4 Bahasa C...........................................................................................................18 2.5 Bahasa C++......................................................................................................18

DAFTAR GAMBAR
Gambar 1.1....................................................................................................................7 Gambar 2.2....................................................................................................................8

## PERTEMUAN I Pengertian Algoritma Pemograman

1.1

Asal Kata Algoritma Ditinjau dari asal usul katanya kata algoritma sendiri mempunyai sejarah

yang aneh. Banyak orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Seseorang dikatakan algorist jika menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Jafar Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya buku pemugaran dan pengurangan (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata Aljabar (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran sm berubah menjadi thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata algorithm berangsurangsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. 1.2 Definisi Algoritma Beberapa definisi tentang Algoritma:
a.

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.

b.

## Algoritma adalah blueprint dari program.

c.

Secara umum, algoritma merupakan sekumpulan langkah-langkah atau instruksi-instruksi yang terbatas untuk mencari solusi suatu masalah. Dalam bidang pemrograman, algoritma didefinisikan sebagai suatu metode yang terdiri dari serangkaian langkah-langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan masalah-masalah dengan bantuan komputer.

d.

1.3

Ciri-ciri Algoritma Ciri-ciri dari algoritma yang dipaparkan oleh Donald E. Knuth:

a. b.

Algoritma mempunyai awal dan akhir. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (ambigu). Memiliki masukan (input) atau kondisi awal. Memiliki keluaran (output) atau kondisi akhir. Algoritma harus efektif; bila digunakan benar-benar menyelesaikan persoalan.

c. d. e.

1.4

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian. Pada setiap bagian

tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawa contoh {Komentar}. Notasi algoritmis yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program. Adapun bagian dari algoritma, yaitu:
a.

Judul (Header) Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.

b.

Kamus (Deklarasi) Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan:
o

Nama type

o o o o

## Nama konstanta Nama variable Nama fungsi Nama prosedur

Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah didefinisikan terlebih dahulu didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokan menurut jenis nama tersebut. Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain / range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal Initial State, Kondisi akhir Final State dan proses yang dilakukan).
c.

Algoritma (Deskripsi) Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural dapat berupa:
o o o o

Instruksi dasar seperti input/output, assignment Sequence (runtutan) Analisa kasus Perulangan

Setiap langkah algoritma dibaca dari atas ke bawah. Urutan deskripsi penulisan menentuan urutan langkah pelaksanaan perintah. 1.5 Kriteria Algoritma Pemrograman Beberapa kriteria yang harus dimiliki dalam pembuatan algoritma pemrograman adalah:
1.

Memiliki logika perhitungan/metode yang tepat untuk memecahkan masalah. Menghasilkan output yang tepat dan benar dalam waktu yang singkat Ditulis dengan bahasa yang standar secara sistematis, sehingga tidak menimbulkan arti ganda. 5

2. 3.

4.

Ditulis

dengan

format

yang

mudah

dipahami

sehingga

mudah

## diimplementasikan ke dalam bahasa pemrograman.

5.

Semua operasi yang dibutuhkan terdefinisi dengan jelas dan selalu berakhir setelah sejumlah langkah dilakukan.

1.6

Teknik Penyajian Algoritma Penyajian algoritma dapat dilakukan dengan dua teknik, yakni:

Teknik tulisan dengan struktur bahasa dan pseudo code Teknik gambar dengan flowchart. Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Berikut contoh penulisan algoritma menggunakan dua teknik diatas.

Kasus nya menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap. Teknik pertama: 1 2 3 4 5 Masukkan sebuah bilangan sembarang Deklarasi bilangan untuk menampung sisa bagi Bagi bilangan tersebut dengan bilangan 2 Hitung sisa hasil bagi pada langkah 3 Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap, jika tidak maka bilangan itu adalah bilangan ganjil.

Input Bilangan N

Sisa = 0

Sisa = N % 2

Sisa = 0 YES NO

End

Gambar 1.1

1.7

## Definisi Pemrograman Pemograman bisa didefinisikan sebagai:

1. 2.

Program adalah implementasi dari suatu algoritma. Berdasarkan algoritma, akan dibuat solusi dengan bahasa pemrograman menjadi suatu software.

## 1.8 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

Ukuran Kualitas Program Sebuah program harus dapat mengerjakan tugasnya dengan benar. Dapat melakukan tugasnya secara cepat. Tidak menggunakan banyak sumber daya (processor time, memory, disk capacity, network capacity). Program mudah dibaca dan dimengerti. Sebuah program harus independent dan tidak bergantung pada program lain. Mudah pemeliharaannya. Adanya kesalahan tidak mempengaruhi bagian program (error locality). Proses pembuatan program selesai tepat waktu. Mempunyai dokumentasi yang baik. Teknik OOP memungkin programmer membuat program dengan kualitas tinggi pada saat perancangan dan pembuatan kode program. Ukuran kualitas software harus tertanam dalam pikiran setiap programmer.

1.9

perkembangannya:
1.

Pemrograman Prosedural Pemrograman dengan fungsi dan prosedur. Pemrograman Modular Pemrograman dengan menggabungkan fungsi dan modular ke dalam modul untuk menyembunyikan data.

2.

3.

Pemrograman Abstraksi Data Pemrograman dengan menggunakan tipe data abstrak yang diperlukan dengan setiap tipe menyediakan semua operasi yang diperlukan tipe tersebut.

4.

Pemrograman Berorientasi Obyek Pemrograman dengan menggunakan konsep inheritance, polymorphism dan generic programming.

## PERTEMUAN II Procedural Oriented Programming dan Object Oriented Programming

2.1 Procedural Oriented Programming (POP) Pada pemrograman procedural, program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instrusi secara beruntun atau procedural. Paradigma pemrograman seperti ini dinamakan pemrograman procedural. Hal-hal yang menjadi dasar dalam pemrograman prosedural meliputi definisi algoritma, dan konstruktor pemrograman prosedural, serta konsep input, proses dan output yang sangat lazim dalam dunia pemrograman prosedural. 2.1.1 Sifat Procedural Oriented Programming (POP) Pemrograman prosedural memiliki beberapa sifat, yaitu: 1. 2. 3. 4. 5. Program diselesaikan dalam bentuk prosedur atau fungsi. Program merupakan urutan-urutan instruksi Program dipecah-pecah menjadi ke dalam sub program yang lebih sederhana Fokus utama pada prosedur dan fungsi Fungsi dan prosedur digunakan untuk memanipulasi data

2.1.2 Struktur Bahasa Pemrograman Prosedural Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok/sub program. Yang memiliki dua bagian utama yaitu: 1. Bagian Deklarasi Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program. Selain itu, bagian deklarasi dapat juga digunakan untuk memberi nilai awal suatu variable. Dengan kata lain,

10

deklarasi digunakan untuk memperkenalkan suatu nama kepada Compiler program. 2. Bagian Statement Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi/dijalankan. Pada bahasa Pascal, bagian statement selalu diawali dengan reserved word begin dan end. Apabila blok statement adalah blok utama program, maka reserved word end harus diakhiri dengan tanda titik (.), sebaliknya jika blok statement bukan blok utama program maka reserved word end diakhiri dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari deklarasi variable hingga akhir statement diawali dan diakhiri dengan tanda kurung kurawal {dan}. 2.1.3 Teorema Terstruktur Pemrograman terstruktur menggunakan teorema terstruktur: 1. 2. Sequence (berurutan) adalah memerintahkan pelaksanaan pernyataan. Selection (pemilihan). Dalam "pilihan" salah satu dari sejumlah pernyataan dijalankan tergantung pada keadaan program. Ini biasanya dinyatakan dengan kata kunci seperti jika .. maka .. lain .. endif, switch, atau kasus. 3. Repetition (pengulangan) Dalam "pengulangan" suatu pernyataan dijalankan sampai program mencapai keadaan tertentu atau operasi yang diterapkan ke setiap elemen dari koleksi. Ini biasanya dinyatakan dengan kata kunci seperti sementara, ulangi, untuk atau melakukan.. sampai. Sering kali dianjurkan agar setiap loop seharusnya hanya memiliki satu titik masuk (dan dalam pemrograman struktural asli, juga hanya satu titik keluar), dan beberapa bahasa menegakkan ini.

11

## Gambar 2.1 Struktur Program dari POP

2.2 Object Oriented Programming (OOP) Pemrograman berorientasi objek (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. Pemrograman berorientasi objek merupakan metode yang paling populer dalam dunia rekayasa perangkat lunak saat ini. OOP membuat proses pengembangan perangkat lunak dapat dilakukan secara modular yang berarti sistem dapat dikembangkan tahap demi tahap tanpa mengubah (banyak) fondasi perangkat lunak yang sudah ada. Object-Oriented Programming adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses/tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan /action atau metode. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui

12

bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi object-object lain yang berinteraksi untuk melakukan tugasnya membawa kita. 2.2.1 Sifat Object Oriented Programming (OOP) Pemrograman berorientasi objek memiliki beberapa sifat: 1. 2. 3. Fungsi dan data menjadi satu kesatuan yang disebut objek Objek-objek dalam OOP bersifat aktif Program bukan sekuensial dari instruksi tetapi merupakan objek-objek yang bekerja sama untuk menyelesaikan masalah. 2.2.2 Karakteristik Utama dari Object Oriented Programming (OOP) 1. Encapsulation. 2. Inheritance. 3. Polymorphism. 2.2.3 Konsep Object Oriented Programming (OOP) Pemrograman orientasi-objek menekankan konsep berikut:

Kelas Kelas adalah kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'kelas kucing' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah kelas adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah kelas secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah kelas sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti

13

ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. Objects Object adalah sebuah structure yang menggabungkan data dan prosedur untuk bekerja bersama-sama. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. Dalam menggabungkan data dan prosedur untuk bekerja bersama-sama. Contoh, jika kamu tertarik dalam pelacakan data yang dihubungkan dengan produk, kamu akan menciptakan sebuah object produk yang bertanggung jawab untuk me-maintenance dan bekerja dengan data yang bersinggungan dengan produk. Jika kamu ingin kemampuan mencetak dalam aplikasi kamu, kamu harus bekerja dengan sebuah object printer yang bertanggung term OOP, object adalah sebuah structure yang jawab untuk data serta metode yang digunakan untuk berinteraksi dengan printermu. Abstraction Ketika membangun objects dalam aplikasi OOP, adalah penting untuk menggabungkan konsep abstraction ini. Jika kamu membangun aplikasi shipping, kamu harus membangun object produk dengan atribut seperti ukuran dan berat. Warna adalah contoh informasi yang tidak ada hubungannya dan harus dibuang. Tetapi ketika kamu membangun orderentry application, warna menjadi penting dan harus termasuk atribut object produk. Encapsulation Encapsulation adalah sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan hidden. Jika kamu ingin mendapat data, kamu harus berinteraksi dengan object yang bertanggung jawab atas dara tersebut. Dalam contoh inventory, jika kita ingin melihat atau mengupdate informasi atas produk, kita seharusnya bekerja melalui

14

object produk. Untuk membaca data, kita mengirimkan pesan ke object produk, kemudian object produk akan membaca pesan dan mengirim pesan balik ke kamu. Object produk mendefinisikan bahwa operasi dapat dilakukan pada data produk. Jika kamu mengirim pesan untuk memodifikasi data dan jika object produk menentukan bahwa permintaan itu valid maka permintaan tersebut akan dilakukan dan akan mengirimkan pesan balik bersama hasilnya. Dengan melakukan encapsulasi pada data, berarti kamu membuat data dari sistemmu lebih secure dan terpercaya. Karena kamu mengetahui bagaimana data diakses dan operasi apa yang sedang berjalan pada data. Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi metode yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana metode itu diminta dan tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan menggunakan metode tersebut. Berikut merupakan keuntungan menggunakan enkapsulasi:

Variabel dan method dalam suatu obyek dibungkus agar terlindungi Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan. Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur

Polymorphism Polymorphisms adalah kemampuan dua buah object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Bagaimana hal ini berhubungan dengan OOP? Kamu dapat membuat objects yang dapat merespon pesan yang sama dalam implementasi yang unik. Contohnya, kamu dapat mengirim pesan print ke object printer yang akan mencetak pada printer, dan kamu juga dapat

15

mengirim pesan yang sama ke object screen yang akan menuliskan pada screen monitor. Dalam OOP, kamu menerapkan tipe polymorphism melalui proses yang disebut overloading. Kamu dapat mengimplementasikan metode yang berbeda pada sebuah object yang mempunyai nama yang sama. Inheritance Inheritance (pewarisan) merupakan sifat dari OOP yang dimungkinkan menurunkan sifat-sifat dari suatu kelas pada kelas yang lain. Menggunakan inheritance dalam OOP untuk mengklasifikasikan objects dalam program sesuai karakteristik umum dan fungsinya. Hal ini akan membuat pekerjaan bersama object lebih mudah dan lebih intuitif. Hal ini juga membuat programming lebih mudah karena memungkinkan kita untuk mengkombinasikan karakteristik umum kedalam object parent dan mewariskan karakteristik ini ke child object. Keuntungan Penggunaan Pewarisan 1. Subkelas memiliki atribut dan method yang spesifik yang

membedakannya dengan superkelas, meskipun keduanya mirip (dalam hal kesamaan atribut dan method) 2. Dengan demikian pada pembuatan subkelas, programmer bisa menggunakan ulang source code dari superkelas yang ada => ini yang disebut dengan istilah reuse. Kelas-kelas yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superkelas maupun subkelas disebut dengan abstract kelas. Aggregation Aggregation adalah kondisi ketika object berisi gabungan dari objectobject yang berbeda dan bekerja bersama. Contoh mesin pemotong rumput terdiri dari object roda, objects mesin, object pisau dan lain-lain. Object mesinpun merupakan 16 gabungan dari berbagai object.

Kemampuan untuk menggunakan aggregation dalam OOP adalah satu feature yang powerful yang memungkinkan model menjadi akurat. 2.2.4 Struktur Program dari OOP

## Gambar 2.2 Struktur Program dari OOP

2.2.5 Keuntungan OOP a. Problem Oriented Approach. OOP merupakan teknik pemograman yang melakukan pendekatan terhadap masalah yang terjadi, sehingga lebih mudah menciptakan aplikasi untuk menangani masalah yang terjadi. b. Information Hiding (Data Abstraction). Information hiding merupakan salah satu feature yang ada dalam OOP, dimana data dalam sebuah kelas, belum tentu bisa diakses atau diketahui pihak luar. c. Reusability & Extensibility. Program dalam OOP dapat digunakan kembali, dan dengan cakupan yang luas. d. Improve maintainability. Dalam OOP, memperbaiki dan memelihara program atau aplikasi dapat dilakukan dengan lebih mudah sehingga meningkatkan efisien dan efektivitas. e. Low probability errors. Dengan OOP, programmer dapat mengurangi kemungkinan kesalahan dalam membuat program.

17

f. Teamwork. Dengan keunggulan berorientasi objek, OOP memungkinkan sebuah teamwork dalam membuat program atau aplikasi 2.3 Perbedaan OOP dengan Non-Obyek a. Penggunaan alat: Untuk menggambarkan model dalam PBO digunakan object diagram sedangkan dalam Non-PBO digunakan data flow diagram, entity relationship diagram dan structure chart. b. Data dan proses: Pada non-obyek, data dan proses dianggap sebagai dua komponen yang berlainan, sedangkan pada PBO, data dan proses merupakan satu kesatuan yaitu bagian dari obyek. 2.4 Bahasa C 1. Flexibility: dapat mengakses / mendekati mesin, namun mudah dimengerti oleh manusia. 2. Portability: dipakai mulai dari komputer mikro (mikrokontroller) sampai superkomputer. 3. Bahasa yang paling banyak digunakan dalam ilmu komputer, untuk membuat OS, aplikasi, dll. 4. Didukung oleh banyak pustaka (libraries). 2.5 Bahasa C++ 1. Bahasa C yang dikembangkan dan diberi kemampuan OOP. 2. Dikembangkan oleh Bjarne Stroustrup di AT&T Bell Labs pada 1980. 3. Digunakan pertama kali diluar Bell Labs pada Juli 1983. 4. Sejak 1987 mulai dikembangkan oleh ANSI dan vendor lainnya. 2.6 Perbedaan Bahasa C dan C++

18

1. Dalam C atau bahasa pemrograman procedural yang lain, cenderung action oriented, sedangkan dalam C++ adalah object oriented. 2. Dalam C, unit pemrograman adalah fungsi (prosedure), sedangkan dalam C++, unit pemrogramannya adalah kelas (kelas) yang membentuk object. 3. Pada C, programmer lebih terfokus pada penulisan fungsi, atau kumpulan action dalam suatu fungsi sehingga terbentuk program, sedangkan dalam C++ programmer memfokuskan pada pembuatan tipe data yang didefinisikan oleh user yaitu kelas sebagai pembentuk object.

19