OBJECT ORIENTED PROGRAM VS DATA STRUCTURE


NAMA : M LUTHFI RIDHWAN

NIM : 1202160353

KELAS : SI-40-02

OBJECT ORIENTED PROGRAM VS DATA STRUCTURE

A. OBJECT ORIENTED PROGRAM (OOP)

Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang berorientasikan 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.

KONSEP PEMROGRAMAN BERORIENTASIKAN OBJEK

  1. KELAS

Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.

  1. ABSTRAK

Abstrak adalah suatu cara di mana melihat suatu objek dalam bentuk yang lebih sederhana (single entity), yaitu melihat dan menggunakan bagian-bagiannya sebagai satu kesatuan. Misalkan sepeda, dapat dikendarai tanpa harus mengetahui mekanisme penyusunannya.

Tersusun dari subsistem-subsistem yang lebih sederhana, seperti pengayuh dan rem namun saling berinteraksi dan bekerja sama menjadi satu kesatuan yang disebut single entity, yaitu sepeda.

  1. OBJEK

Setiap objek memiliki suatu keadaan/kondisi (state) dan tingkah laku (behavior) yang dapat mengubah kondisi tersebut. Kondisi (state) dapat dianggap sebagai suatu ‘kata benda’, karena sifatnya yang pasif, yaitu tidak melakukan operasi tetapi kepada state-lah suatu operasi dilakukan. Demikian juga untuk bahaviour, dapat dianggap sebagai ‘kata kerja’ , karena berfungsi untuk melakukan suatu operasi, bertindak atau mengerjakan sesuatu. Keadaan (state) lebih dikenal dengan nama properties dan behavior dikenal dengan nama method.

  1. ENKAPSULASI

Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan penggunaan sistem itu sendiri. Akses ke internal sistem diatur sedemikian rupa melalui seperangkat interface.

Sebagai contoh,stir mobil, dengan sistem proteksi menyembunyikan aktivitas-aktivitas subsistem mengenai bagaimana membuat roda berbelok. Tetapi pengendara hanya cukup tahu bagaimana kerja roda dalam mengendarai mobil, yaitu untuk berbelok dan sebagainya tetapi tidak dapat menggunakan rem pedal untuk interface ke stir.

  1. PEWARISAN

Pewarisan merupakan suatu proses di mana suatu class diturunkan dari class lainnya sehingga ia mendapatkan ciri atau sifat dari class tersebut. Pewarisan hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing.

  1. POLYMORPHISM

Berasal dari Bahasa Yunani “Polymorphism” yaitu “banyak bentuk”. Dalam OOP, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda. Misal, berbagai merk mobil dengan interface kemudi yang sama;stir,pedal gas, dan rem.

Kelebihan

  1. Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
  2. Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).

  3. Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.

  4. Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.

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

  6. Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).

  7. Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.

  8. OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.

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

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

  • B. STRUCTURE DESIGN

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

    Kelebihan

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

    1. 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 sulit bagi pengguna untuk melakukan evaluasi.

  • Pada SAAD sulit 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).

  • C. CARA MENGGAMBARKAN DIAGRAM OOP

    Pada perkembangan teknik pemrograman berorientasi objek, muncullah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram.

    UML terdiri dari bermacam-macam diagram yg digunakan untuk permodelan pada saat pengembangan sistem mulai dari tahap analisi sampai implementasi. Pada saat melakukan desain sistem, tidak harus semua diagram pada UML diimplementasikan akan tetapi UML merupakan diagram yang saling terkait oleh karena itu perlu adanya kekonsistenan rancangan diagram yang satu dengan lainnya.

    1. DIAGRAM USE CASE

    Adalah abstraksi dari interaksi antara sistem dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai.

    1. CLASS DIAGRAM

    Class adalah deskripsi kelompok objek-objek dengan property,perilaku (operasi) dan yang relasi sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah sistem. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu sistem.

    1. SEQUENCE DIAGRAM

    Bertujuan untuk memodelkan perilaku objek dalam sebuah use case.
    Fokus pada urutan berdasar waktu dari sebuah aktivitas.

    1. COLLABORATION DIAGRAM

    Dalam menunjukkan pertukaran pesan, collaboration diagram menggambarkan objek dan hubungannya (mengacu pada konteks)

    1. STATECHART DIAGRAM

    Menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima.

    1. ACTIVITY DIAGRAM

    Menggambarkan berbagai aliran aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana akhirnya.

    1. DEPLOYMENT DIAGRAM

    Menggambarkan tata letak sebuah sistem secara fisik,menampakkan bagian-bagian software berjalan pada hardware,menunjukkan hubungan computer dengan perangkat (nodes) satu sama lain dan jenis hubungannya.

    D. CONTOH PROGRAM OOP



    DAFTAR PUSTAKA

    (n.d.). Retrieved from http://rpl.if.its.ac.id/perbedaan-pemrograman-terstruktur-dan-pemrograman-berorientasi-objek/

    (n.d.). Retrieved from https://www.slideshare.net/andiseprianto/pembuatan-uml-pada-toko-belanja-online

    (n.d.). Retrieved from https://informartitekuswim.wordpress.com/materi-kuliah/pemrograman-berorientasi-objek/

    Indrajani, S. M., & S.Kom, M. (2004). Pemrograman Berorientasi Objek dengan Java. Jakarta: PT Elex Media Komputindo.


    Leave a Reply