Object Oriented Programming vs Structure Design Programming


Nama : Vera Adelia

Kelas : SI-40-02

Nim : 1202164114

Membuat program komputer sudah menjadi kebutuhan banyak orang pada era teknologi informasi saat ini. Tidak hanya orang-orang dengan latar belakang pendidikan informatika atau ilmu komputer saja yang ditunut mampu mengembangkan program aplikasi, tetapi orang-orang dengan latar belakan berbeda pun sering membutuhkan kemampuan memprogram untuk berbagai keperluan. Algoritma dan pemrograman adalah dua kata yang berhubungan erat. Sebuah program komputer pada dasarnya mengimplementasikan sebuah algoritma.

1. Object Oriented Programming (OOP)

Pemrograman Java pada dasarnya menggunakan konsep pemrograman berorientasi obyek (PBO) atau Object Oriented Programming (OOP). Semua program Java merupakan suatu obyek. Dasar-dasar OOP meliputi Class, Object, Attribute, Method. Secara umum, OOP adalah teknik yang memfokuskan desain program pada obyek dan class berdasarkan pada skenario di dunia nyata. OOP (Object Oriented Programming) merupakan sebuah konsep pemrograman yang berbasis objek, yang merupakan terobosan baru dalam pemrograman setelah pemrograman prosedural, pemrograman modular dan pemrograman abstraksi data.

OOP memberikan kemudahan bagi programmer dalam pembuatan sebuah program, memberikan fleksibilitas yang lebih, kemudahan penggunaan program, dan dipakai luas dalam teknik piranti lunak skala besar. Selain itu dengan pemograman OOP kode yang dibuat akan lebih mudah dikembangkan dan dirawat dalam arti seorang programer bisa menambah sebuah objek baru tanpa harus menggangu dan merubah modul yang lain.

Konsep-Konsep Dasar Object Oriented Programming (OOP)

1. Class

Class adalah model dari suatu obyek yang menjelaskan karakteristik (sifat) serta fungsi yang dimiliki dari suatu obyek. Class merupakan wadah (tempat) yang digunakan untuk menciptakan suatu obyek. Dengan kata lain Class merupakan blueprint dari suatu obyek.

2. Objek

Objek berfungsi sebagai pembungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

3. Abstraksi

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.

4. Enkapsulasi

Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin 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.

5. Polimorfisme

Melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. 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.

Kelebihan dan Kekurangan Object Orientasi Programming (OOP)

Kelebihan :

1. Reusability (kemampuan untuk digunakan kembali). Kode yang dibuat dapat digunakan kembali di aplikasi atau program lainnya.

2. Extensibility (Kemampuan untuk dapat dikembangkan). Kita dapat membuat method yang baru atau mengubah yang sudah ada sesuai dengan yang kita inginkan tanpa harus membuat kode dari awal.

3. Maintainability (Kemampuan untuk mudah dikelola), kode yang sudah dibuat lebih mudah untuk di maintain/manage. Apabila aplikasi yang dibuat adalah aplikasi dengan skala besar dan apabila terjadi error atau kesalahan maka dengan OOP hal tersebut mudah ditangani karena pemograman yang menggunakan OOP sudah modularitas(memecahkan program yang besar menjadi bagian-bagian kecil) sehingga perbaikan cukup pada modul-modul tertentu saja tanpa harus mengubah modul yang lainnya.

Kekurangan :

  1. Tidak memperbolehkan implementasi yang kuat pada reuse.
  2. Properti software tidak terikat dalam satu unit fungsional, sehingga harus crosscut di antara komponennya.

  3. Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan.

Contoh Kasus Pemrograman OOP

Pengelompokan hewan berdasarkan jenis makanannya Seperti Herbivora, Karnivora dan Omnivora. Di Turunan Herbivora terdapat hewan kambing, sapi, kerbau, kuda dan Diturunan Karnivora teradapat hewan kucing, harimau, singa sedangkan di turunan Omnivora terdapat hewan ayam dan bebek.

2. Structured Programming

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

Konsep – Konsep Pemrograman Terstruktur

1. Sekuensial

Yaitu program yang tidak memiliki lompatan. Baris program dijalankan secara normal (lurus) satu per-satu dari atas ke bawah.

2. Selection

Yaitu program yang memiliki pilihan apakah harus menjalankan baris program sesuai dengan urutannya atau melompati sejumlah baris program tersebut.

3. Looping

Yaitu program yang juga mengandung pilihan apakah akan mengulangi program yang sudah pernah dijalankan sebelumnya atau tidak.

Kelebihan dan Kekurangan Pemrograman Terstruktur

kelebihan :

1.Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek

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

  • 4.SSAD merupakan metode yang diketahui secara umum pada berbagai industry.

    5.SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.

    Kekurangan :

    1. Sedikit sekali manajemen langsung terkait dengan SSAD
    2. Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
    3. Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
    4. Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
    5. Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
    6. SSAD tidak selalu memenuhi kebutuhan pengguna.

    Contoh Kasus Pemrograman Terstruktur

    Algoritma menampilkan Menampilkan deret bilangan 1 – 100 yang habis dibagi dengan 2 dan habis dibagi dengan 3.

    3. Cara Menggambar Diagram Object Orientasi Programming (OOP)

    1. Membuat Use Case Diagram

    menggambarkan kelakuan (behavior) sistem secara keseluran yang akan dibuat. Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat.

    1. Membuat Scenario

    Kita membuat scenario berdasarkan use case diagram yang telah kita buat sebelumnya, lalu kita jabarkan setiap langkahnya.

    1. Membuat Class Diagram

    Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Disini kita tentukan atribut-atributnya untuk selanjutnya membuat codingan program.

    4. Membuat Sequence Diagram

    Diagram sekuen menggambarkan kelakuan/perilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan
    diterima antar objek.

    1. Membuat Activity Diagram

    Menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.

    Sumber:

    https://pccontrol.wordpress.com/2012/08/16/pengetahuan-dasar-uml-dasar-membuat-diagram-class-use-case-diagram-digram-activity-diagram-sequence-dll/

    https://pccontrol.wordpress.com/2012/08/16/pengetahuan-dasar-uml-dasar-membuat-diagram-class-use-case-diagram-digram-activity-diagram-sequence-dll/

    https://pccontrol.wordpress.com/2012/08/16/pengetahuan-dasar-uml-dasar-membuat-diagram-class-use-case-diagram-digram-activity-diagram-sequence-dll/

    https://pccontrol.wordpress.com/2012/08/16/pengetahuan-dasar-uml-dasar-membuat-diagram-class-use-case-diagram-digram-activity-diagram-sequence-dll/


    Leave a Reply