4th Oct, 2015

Algoritma, Prosedural, dan OOP

Algoritma adalah metode efektif diekspresikan sebagai rangkaian terbatas dari instruksi-instruksi yang telah didefinisikan dengan baik untuk menghitung sebuah fungsi.

Dimulai dari sebuah kondisi awal dan input awal (mungkin kosong),  instruksi-instruksi tersebut menjelaskan sebuah komputasi yang, bila dieksekusi, diproses lewat sejumlah urutan kondisi terbatas yang terdefinisi dengan baik, yang pada akhirnya menghasilkan “keluaran” dan berhenti di kondisi akhir.

Transisi dari satu kondisi ke kondisi selanjutnya tidak harus deterministik; beberapa algoritma, dikenal dengan algoritma pengacakan, menggunakan masukan acak.

 

Algorithma merupakan sebuah metode pemecahan masalah. Algorithma memiliki 2 metode pemecahan masalah :

  1. Writing Method – Structered English
  2. Drawing Method – Flowchart
  3. Procedural Method – Pseudo Code

Algoritma :

  1. Masukkan sebuah bilangan
  2. Bagi bilangan tersebut dengan bilangan atau angka 2
  3. Jika bilangan menghasilkan sisa pembagian 0 maka genap
  4. Jika bilangan tidak menghasilkan sisa pembagian 0 maka
    ganjil

Pseudocode :

  1. Start
  2. Read Bilangan
  3. If bil mod 2 = 0 then,
  4. “Output Genap”
  5. Else
  6. “Output Ganjil”
  7. End

Flowchart :

3

 

Pemrograman Berorientasi Objek (OOP/Object-Oriented Programming)

Bahasa pemrograman dibagi menjadi 3

-Tingkat terendah adalah Assembler
-Tingkat tengah adalah bahasa C, pascal
-Tingkat tinggi adalah C#,C++ dan Java.

Rata-rata bahasa pemrograman tingkat tinggi adalah OOP

Object / Objek : Elemen yang memiliki fungsi, metode, karakteristik tertentu yang dapat dibedakan dalam dunia nyata.

OOP merupakan bahasa pemrograman yang mampu memanfaatkan objek-objek yang tersedia atau membuat suatu objek tertentu dengan menggunakan bahasa pemrograman.

OOP mampu merefleksikan kebutuhan-kebutuhan user sebagaimana lakyaknya yang ada di dunia nyata.

OOP relatif lebih fleksibel dan mudah diadaptasikan terhadap perubahan suatu program.
OOP memiliki feature yang memperkuat dan meningkatkan flesibilitas suatu objek dengan diadanya class, instance, encapsulation, inheritance, reuseability, dan polymorphism.

• Karakteristik Bahasa Berorientasi Objek:
Objek fisik: (Mobil dalam simulasi arus lalu lintas, Pesawat terbang dalam sistem pengontrolan lalu lintas udara)
Elemen dari lingkungan : (Windows, Objek grafik ( garis, lingkaran, polygon))
Penyimpanan data (array, stack, Link list, binary tree)
Entitas orang (karyawan, mahasiswa, pelanggan, pasien)

 

 

Berikut ini adalah Perbedaan antara Prosedural Programmingdengan OOP :

No.
Prosedural
No.
OOP
1
Fokus utama pada fungsi dan prosedur yang beroperasi pada data 1 Menekankan pada data yang sedang beroperasi dan tidak fungsi atauprosedur
2
Program besar terbagi dalam program unit kecil yang disebut fungsi 2 Program dibagi ke dalam apa yang disebut objek
3
Data dan fungsi diperlakukan sebagai entitas terpisah 3 Data dan fungsi diperlakukan sebagai entitas terpisah
4
Data bebas bergerak di sekitar sistem dari satu fungsi lain 4 Data tersemmbunyi dan tidak dapat diakses oleh fungsi eksternal
5
Data bersifat pasif 5 Objek-objek dalam Oop bersifat aktif
6
Program desain dengan pendekatan “Top Down” yaitu tugas-tugas kompleks dipecah menjadi bagian yang lebih kecil, sampai sub-tugas tersebut mudah diimplementasikan 6 Program desain pendekatan “Buttom Up” yaitu memuat prosedur-prosedur untuk menyelesaian tugas-tugas yang sederhana, kemudian menggabungkan prosedur-prosedur tersebut dalam prosedur yang lebih  kompleks, sampai fungsionalitas yang ingin tercapai

 

 

Penurunan Sifat pada OOP

  • Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan method yang sama dengan kelas lainnya beserta atribut dan method tambahan yang merupakan sifat khusus kelas yang menjadi turunannya.
  • Encapsulation adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
  • Abstraction adalah suatu proses dimana kita melakukan design class dan menentukan data dan method yang akan di miliki oleh sebuah sebuah class. Method ini digunakan untuk mengkomunikasikan data dalam class dengan luar class
  • Polymorphism, suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
    Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

 

 

Kutipan dari Bapak Dosen :

“Punya ide belum tentu bisa Coding, sebaliknya bisa Coding belum tentu punya ide”
-Bapak Dosen-

Leave a response

Your response:

Categories