Anda di halaman 1dari 32

Membuat algoritma pemrograman

HomeARTIKEL

PenJelasan dan Contoh Pembuatan


Algoritma dan Pemrograman
5 ADE AKBAR Channel Thursday, May 19, 2016

Bacagi.com - Informasi dan Teknologi sekarang ini sangatlah pesat perkembangannya,bahkan


tidak dapat kita pungkiri lagi.. maka oleh kare...

Kelebihan dan kekurangan aplikasi Chating di Android


Tugas dan Fungsi Struktur Laboratorium IT
Struktur Organisasi Laboratorium Komputer
Bacagi.com- Informasi dan Teknologi sekarang ini sangatlah pesat perkembangannya,bahkan
tidak dapat kita pungkiri lagi..
maka oleh karena itu kita sebagai orang-orang ikut luput dalam perkembangan teknologi ini
harus mengetahui apa yang terjadi sekarang,agar kita tidak tertinggal informasi.

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

kali ini saya akan menjelaskan tentang Algoritma dan Pemrograman

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.

Beda Algoritma dan Program

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.

Beberapa pakar memberi formula bahwa:


Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program.
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi
kurang baik, demikian juga sebaliknya.

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:

1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman


manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan
komputer yang melaksanakannya.
2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena
algoritmanya sama.

Beberapa hal yang perlu diperhatikan dalam membuat algoritma:

1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut


dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulisalgoritma disebut notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini
dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi
algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.
4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi
algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer,
pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam
notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis
program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang
menjalannya.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu
permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh
komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada
beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu:

a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa
pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.

b. Pemilihan tipe data


Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka
perlu hal ini dipertimbangkan pada saat pemilihan tipe data.

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.

f. Cara pengoperasian compiler atau interpreter.


Bahasa pemrograman yang digunakan termasuk dalam kelompok
compiler atau interpreter.

Algoritma Merupakan Jantung Ilmu Informatika


Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang
mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik
dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang
dinyatakan
dalam suatu algoritma.
Cara-cara atau langkah-langkah membuat kue atau masakan yang dinyatakan dalam suatu resep
juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah
membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang
diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-
langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak
(benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa
manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses
dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.

Contoh Pembuatan Algoritma Dan Pemrograman

bagaimanakah cara mengubah konveksi suhu dengan cara Algoritma dan Pemrograman

Membuat Struktur Data

Pertemuan 1 - Tahapan Pembuatan Struktur Data

Tahapan Pembuatan Struktur Data :

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

Pemrograman struktur data adalah penterjemahan menjadi pernyataan dalam bahasa


pemrograman tertentu.struktur data dibangun menggunakan fasilitas pembentukkan atau
pembuatan struktur data yang disediakan bahasa seperti array, record dan lain-lain.
STRUKTUR DATA
Struktur data adalah suatu koleksi / kelompok data yang dapat di karakteristikan oleh organisasi
serta operasi yang di definisikan terhadapnya.

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.

Struktur data meliputi :

- Struktur data sederhana, misalnya array dan Record.

Struktur data majemuk, yang terdiri :

- Linier : Stack, Queue, serta List dan Multilist

- Non Linier : Pohon Biner dan Graph

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.

Struktur data standar yang biasanya digunakan dibidang informatika adalah :

- ADT , Array , Struk

- List linier (Linked List) dan variasinya

- Multilist

- Stack (Tumpukan)

- Queue (Antrian)

- Tree ( Pohon )
- Graph ( Graf )

PEMBUATAN STRUKTUR DATA

Untuk membuat menjadi struktur data, kita harus melakukan dulu aktivitas terhadap objek data,
yaitu :

 Mendeskkripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen objek data.

 Menunjukan mekanisme kerja operasi-operasi.

Objek data integer ditambah operasi (+ , - , * , / , mod ,cell , floor , < , >) dan operasi-operasi lain
yang memanipuasi objek data integer menyatakan struktur data.

Struktur data = Objek data + { Operasi manipulasi }.

Tahap pembuatan struktur data adalah :

 Tahap pertama : Spesifikasi

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.

Spesifikasi dapat dilakukan dengan dua cara, yaitu :

 Spesifikasi secara formal

 Spesifikasi secara informal

 Tahap kedua : Implementasi

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.

 Tahap ketiga : Pemrograman

Pemrograman terstruktur adalah penerjemahan menjadi pernyataan di bahasa pemrograman tertentu.


Prosesnya terdiri dari :

 Deklarasi yang mendefinisikan objek-objek data dan hubungannya…

 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 :

1. Nama : Identifier tipe data

2. Domain : Domain / himpunan semesta nilai di tipe data

3. Konstanta (penyebutan anggota-anggotanya) : Cara penyebutan anggota-anggota tipe data

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.

Bahasa pemrograman yang mendukung pemrograman terstruktur:


1. Cobol Turbo Prolog
2. C
3. Pascal
4. Delphi
5. Borland Delphi

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.

Pengertian Pemrograman Berorientasi Objek


Pemrograman berorientasi objek atau yang lebih dikenal oleh telinga kita dalam dunia
pemograman adalah OOP ( Object Oriented Programming) merupakan sebuah paradigma
pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalamnya dibungkus
dalam suatu kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur.
Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Konsep utama dari OOP terletak pada kondisi kode atau line pemogramannya, dimana
merupakan sebuah modular.

Kelebihan bahasa pemrograman berbasis obyek :


1.Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek
mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk
programmer.
2.Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang
dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database.
3.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.

– 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.

– Polymorphism (polimorfisme –perbedaan bentuk)

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.

 Terstruktur : Fokus pada bagaimana cara komputer menangani masalah


 OOP : Fokus pada masalah yang ditangani dengan menggunakan komputer.

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.

Sejarah Metodologi Pemrograman

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.

Alasan Pemrograman Terstruktur ialah

– Krisis metode pengembangan

– Kemampuan tenaga programmer tertinggal

– Sulitnya modifikasi program jika ada kesalahan atau perubahan

– Sulitnya modifikasi kode program karena tidak terstruktur dengan baik

Manfaat Pemrograman Terstruktur

– Dapat menangani program yang besar dan komplek

– Dapat menghindari konflik internal team


– Membagi kerja team berdasarkan modul-modul program yang sudah dirancang

– kemajuan pengerjaan sistem dapat dimonitor dan dikaji

Ciri – ciri Program Terstruktur (Good Program)

– Run correctly (program handal)

– Run efficiently (program menjadi sederhana / tidak rumit)

– Be easy to read and understand (mudah dibaca dan ditelusuri)

– Be easy to debug (program mudah ditelusuri kesalahannya)

– Be easy to modify (program mudah dimodifikasi)

Tujuan dari pemrograman terstruktur adalah

1. Meningkatkan kehandalan suatu progam,

2. program mudah dibaca dan ditelusuri,

3. menyederhanakan kerumitan program,

4. pemeliharaan program, dan

5. meningkatkan produktivitas pemrograman.

Pemrograman terstruktur bercirikan:

1. mengandung teknik pemecahan yang tepat dan benar,

2. memiliki algoritma pemecahan masalah yang sederhana, standar dan efektif,

3. memiliki struktur logika yang benar dan mudah dipahami,

4. terdiri dari 3 struktur dasar yaitu urutan, seleksi dan perulangan,

5. menghindari penggunaan GOTO,

6. biaya pengujian rendah, Source Program penterjemah Machine Languages Komputer dan
Pemrograman

7. memiliki dokumentasi yang baik,

8. biaya perawatan dan dokumentasi yang dibutuhkan rendah.


Langkah-langkah untuk membuat program yang baik dan terstruktur adalah:
1. Mendefinisikan Masalah
2. Menentukan Solusi
3. Memilih Algoritma
4. Menulis Program
5. Menguji Program
6. Menulis Dokumentasi
7. Merawat Program
8. Pengenalan Komputer

Langkah – Langkah Pengembangan Program

1. Definisikan masalah (Batasan masalah)


2. Rancang outline pemecahan masalah (Pengembangan model)
3. Buat algoritma berdasarkan outline pemecahan masalah
4. Test algoritma (Perbaikan algoritma)
5. Coding (Pemrograman dan pengujian program)
6. Execute (Running)
7. Dokumentasi dan pemeliharaan
8.

1. Definisi Masalah

a. Keluaran (Output)

b. Masukan (Input)

c. Proses (Proces)

Contoh tabel definisi masalah:

Input Proces output

2. Outline Pemecahan Masalah (Pengembangan model)

a. Buat langkah – langkah proses (modul/proses apa saja yang terjadi pada menu utama dan sub
menu)

b. Buat rincian/detail Proses (masing-masing submenu akan mengerjakan berapa modul/proses,


setiap modul/proses yang terjadi berinteraksi dengan berapa file dan file apa saja )
c. Tentukan Variable dan record (dalam setiap proses (modul), baik variabel lokal maupun
variabel global)

d. Tentukan struktur kontrol (urut, pengulangan, kondisi), berapa bentuk struktur kontrol yang
terlibat dalam satu proses, dan jenis strukturnya apa saja dan berapa banyak

Metode Pemrograman Terstruktur

Pemrograman terstruktur memakai metode pengembangan Top-Down. Perancangan program


dilakukan secara Modular.

 Pengembangan Top-Down

Pengembangan yang dimulai dari langkah yang global lebih dahulu, yang kemudian diperluas
lagi sehingga didapat langkah rinci

 Modular

Perancangan program dilakukan dalam bentuk modul-

modul

Teorema Pada Pemrograman Terstruktur

1. Sequence

Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya

Contoh :

Perintah A

Perintah B

Perintah C
2. Selection

Instruksi akan dikerjakan jika kondisi tertentu dipenuhi

Contoh :

Penggunaan IF-THEN-ELSE

Penggunaas CASE
3. Repetition

Instruksi dikerjakan berulang – ulang sampai suatu kondisi dicapai.

Contoh :

Penggunaan DO WHILE

Penggunaan REPEAT – UNTIL

a. Modular Programming

b. Membuat Modul :

Membuat Modul dalam bahasa C++ adalah dengan fungsi.

Fungsi ada 2 macam :

1. Fungsi yang tidak bernilai


2. Fungsi yang bernilai

 Fungsi yang tidak bernilai

Format :

Nama_fungsi([tipe par1, ….])

pernyataan / instruksi;

 Fungsi yang bernilai

Format :

tipe hasil Nama_fungsi([tipe par1, ….])

{
pernyataan / instruksi;

Cara memanggil modul dari program utama :

void main()

Nama_fungsi([par1, ….])

Contoh :

1. Fungsi yang tidak bernilai

#include <iostream.h>

// modul membuat garis

void garis() {

for (i=0; i<49; i++) cout << ‘-‘;

cout << endl;

// modul membuat judul

void judul() {

int i;

cout << “\t\tDAFTAR BUKU”<< endl; // \t = tabulasi

garis();

cout <<”Judul Buku”<<”\t\tPengarang”<< endl;


garis();

// program utama (main)

void main() {

judul(); // memanggil modul judul

Contoh :

2. Fungsi yang bernilai

Modul menghitung Luas_segitiga

Cara I :

// modul menghitung luas segita

float Luas_sgt(float alas, float tinggi)

return (alas * tinggi / 2); //pengembalian nilai dgn

// return

// program utama (main)

void main() {

float A, T;

cout <<”Data Alas : “; cin >> A;

cout <<”Data Tinggi : “; cin >> T;

cout <<”Luas segi tiga : “ << Luas_sgt(A,T)<<endl;


}

 Keterangan :

– Variable A dengan alas à 2 variabel yang berbeda

– Variable T dengan tinggi à 2 variabel yang berbeda

– Luas_sgt(A,T) cara pemanggilan fungsi, yang akan menghasilkan nilai dari fungsi Luas_sgt

Contoh :

Fungsi yang bernilai

Modul menghitung Luas_segitiga

Cara II :

// modul menghitung luas segita

Luas_sgt(float &alas, float &tinggi, float &luas)

luas = alas * tinggi / 2;

// program utama (main)

void main() {

float alas, tinggi,luas;

cout <<”Data Alas : “; cin >> alas;

cout <<”Data Tinggi : “; cin >> tinggi;

Luas_sgt(alas, tinggi, luas);

cout <<”Luas segi tiga : “ << luas<<endl;

}
 Keterangan :

– Variable &alas à berisi alamat dari variabel alas

– Variable &tinggi à berisi alamat dari variabel tinggi

– Luas_sgt(alas,tinggi,luas) cara pemanggilan fungsi, yang akan menghasilkan nilai dari


variable luas melalui alamat (passing parameter by location)

Tambahan :

Perbedaan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek

OOP (Object-Oriented Programming)

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat 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.

Bahasa pemrograman yang mendukung OOP antara lain:

 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).

Bahasa pemrograman yang mendukung pemrograman terstruktur:

 Cobol Turbo Prolog


 C
 Pascal
 Delphi
 Borland Delphi

Sifat-sifat pemrograman terstruktur

 Memuat teknik pemecahan masalah yang logis dan sistematis


 Memuat algoritma yang efisien, efektif dan sederhana
 Program disusun dengan logika yang mudah dipahami
 Tidak menggunakan perintah GOTO
 Biaya pengujian program relatif rendah
 Memiliki dokumentasi yang baik
 Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah

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).

Keuntungan pemrograman berorientasi objek

 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.

Perbedaan mendasar antara OOP dan pemrograman terstruktur

Sistem pemrograman berorientasi objek, bentuk pemodelan programnya diorientasikan dalam


bentuk objek – objek, sedangkan Sistem pemrograman terstruktur pemodelan programnya
diuraikan dan diorganisasikan secara lebih detail.

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.

Kelebihan dan Kekurangan Pemograman Berorientasi Objek dengan Pemograman


Terstruktur

METODE TERSTRUKTUR

Perancangan Terstruktur (Structured Analisys and Design / SSAD)

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

 Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek


 SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna
atau programmer.
 Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk
digunakan.
 SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
 SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk
digunakan.
 SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
 SSAD relatif simpel dan mudah dimengerti.

Kekurangan

 SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.


 Sedikit sekali manajemen langsung terkait dengan SSAD
 Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan
akan berubah pada setiap proses.
 Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan
dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
 Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk
mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan
evaluasi.
 Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai
membuat sistem.
 SSAD tidak selalu memenuhi kebutuhan pengguna.
 SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek,
karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak
berorientasi pada obyek (Jadalowen, 2002).

METODE BERORIENTASI OBYEK

Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)

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

 Pada awal desain OOAD, sistem mungkin akan sangat simple.


 Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
 Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
 Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
 Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap
fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
 OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode
analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang
lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu
yang lama ( Hantos, 2005).
 Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse
merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun
demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan
konsep ini pada skala besar (Hantos, 2005).

Pemrograman Berorientasi Obyek


Apa itu PBO?

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.

Pemrograman Berorientasi Objek (Object Oriented Programming/OOP) merupakan


pemrograman yang berorientasikan kepada objek, dimana semua data dan fungsi dibungkus
dalam class-class atau object-object. Setiap object dapat menerima pesan, memproses data,
mengirim, menyimpan dan memanipulasi data. Beberapa object berinteraksi dengan saling
memberikan informasi satu terhadap yang lainnya.
Masing-masing object harus berisikan informasi mengenai dirinya sendiri dan dapat
dihubungkan dengan Object yang lain. Pemrograman berorientasi objek berbeda dengan
pemrograman prosedural yang hanya menggunakan satu halaman kebawah untuk mengerjakan
banyak perintah atau statement. Penggunaan pemrograman berorientasi objek sangat benyak
sekali, contoh : java, php, perl, c#, cobol, dan lainnya.

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

Definisi dan Gambaran Umum 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.

Definisi dan Gambaran Umum Class

Class didefinisikan sebagai sebuah blueprint(denah), atau prototipe, yang mendefiniskan


variabel-variabel dan metode-metode yang umum untuk semua objek dari n jenis tertentu (n
maksudnya jumlah tertentu). Sebuah kelas menyerupai sebuah struktur yang merupakan tipe data
sendiri, misalkan tipe data titik yang terdiri dari koordinat x dan y. Bahasa Java telah
menggunakan sebuah kelas untuk menyatakan tipe data titik karena bahasa pemrograman Java
merupakan bahasa pemrograman berorientasi objek murni sehingga tidak mengenal struktur,
melainkan mengenal apa yang disebut dengan kelas.

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.

Definisi dan Gambaran Umum Object

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.

Konsep-konsep dalam OOP/PBO :

– 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.

Mengenal Pemrograman Berorientasi Objek


(Menggunakan PHP)
Januari 28, 2017 Muhammad Ikhsan Bahasa Pemrograman,Pemrograman Website

Pemrograman berorientasi objek atau OOP (Object Oriented Programming) merupakan


paradigma pemrograman yang memandang program sebagai kumpulan objek yang dapat
menyimpan data dan dapat mengerjakan suatu tindakan.
Penjelasan

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:

Setiap pengguna Facebook:


Memiliki data:
Nama
Email
Password
....
Dapat melakukan:
Tambah teman
Buat status baru
Like status
....

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:

class pengguna Facebook


property:
Nama
Email
Password
....
method:
Tambah teman
Buat status baru
Like status
....
Contoh Kode Program

Kode di bawah ini akan melakukan hal-hal berikut:

1. Membuat kelas Mobil


2. Membuat 2 buah objek berdasarkan rancangan yg dibuat dalam kelas Mobil. Dua objek mobil
tersebut kita beri nama mobil_A dan mobil_B
3. Menyalakan mesin mobil_A dan mobil_B
4. Menampilkan status mobil
5. Mematikan mesin mobil_A
6. Menampilkan kembali status mobil

<?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";

// method untuk menyalakan mesin mobil


function nyalakan_mesin() {
// Kode untuk menyalakan mesin mobil
// ...
$this->status_mesin = "nyala";
}

// method untuk mematikan mesin mobil


function matikan_mesin() {
// Kode untuk mematikan mesin mobil
// ...
$this->status_mesin = "mati";
}
}

// Membuat objek mobil berdasarkan rancangan yg telah dibuat dalam class


Mobil
$mobil_A = new Mobil();
$mobil_B = new Mobil();

// Menyalakan mesin mobil_A dan mobil_B


$mobil_A->nyalakan_mesin();
$mobil_B->nyalakan_mesin();

// Menampilkan status mesin mobil_A dan mobil_B


echo '#1 Status mesin mobil_A: ' . $mobil_A->status_mesin . '<br>';
echo '#1 Status mesin mobil_B: ' . $mobil_B->status_mesin . '<br>';

// Mematikan mesin mobil_A


$mobil_A->matikan_mesin();

// Menampilkan kembali status mesin mobil_A dan mobil_B


echo '#2 Status mesin mobil_A: ' . $mobil_A->status_mesin . '<br>';
echo '#2 Status mesin mobil_B: ' . $mobil_B->status_mesin . '<br>';

ontoh di atas akan memberikan hasil sebagai berikut:

#1 Status mesin mobil_A: nyala


#1 Status mesin mobil_B: nyala
#2 Status mesin mobil_A: mati
#2 Status mesin mobil_B: nyala

Anda mungkin juga menyukai