Object Oriented vs Structure Design


Nama:Ichwan Habibie

Kelas: SI_40_02

1]Definisi Konsep pemrograman, OOP, dan Structure

Pengertian Pemrograman adalahsuatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang dimengerti oleh komputer atau dikenal dengan bahasa pemrograman.

Konsep Dasar Pemrograman pada umumnya adalah IPO (Input Proses Output), lalu dikembangkan menjadi :
Originating à input à proses à Output à Distributionà Storage

Originating

Berhubungan dengan pengumpulan data yang biasanya merupakan pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input.

Input

Tahapan ini merupakan proses pemasukan data kedalam proses komputer melalui peralatan input.

Proses

Tahap ini merupakan proses pengolahan data dari data yang sudah diinput berupa proses menghitung membandingkan, mengurutkan, mengklasifikasikan, mengendalikan dan mencari di storage.

Output

Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa informasi (monitor, speaker, dsb)

Distribution

Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.

Storage

Tahap ini merupakan perekaman hasil pengolahan data storage yang nantinya dapat dipergunakan untuk input proses selanjutnya.

Pengertian OOP (Object Oriented Programming)

OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi. Saya ambil contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu sendiri terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda, baling-baling, kursi, dll. Pesawat sebagai objek yang terbentuk dari objek-objek yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program, sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling berkirim pesan kepada objek yang lain.

Konsep OOP (Object Oriented Programming)

  1. Kelas Abstrak (Class Abstraksi)
  2. Enkapsulasi (encapsulation)

  3. Pewarisan (Inheritance)

  4. Polimorfisme (polymorphism)

1. Kelas Abstrak (Class Abstraksi)

  • Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
  • Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
  • Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal.
  • Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).

2. Enkapsulasi (encapsulation)

  • Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.
  • Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.
  • Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.
  • Contoh: kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita perlu tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk proses tersebut.

3. Pewarisan (Inheritance)

  • Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
  • Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
  • Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
  • Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kodekode itu.

4. Polimorfisme (polymorphism)

  • Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
  • Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.
  • Method overriding.
  • Method name overloading.

Structure

merupakan sekumpulan variabel yang mungkin terdiri dari beberapa tipe data berbeda dan dikelompokkan dalam satu nama untuk kemudian diakses oleh program. Tipe data yang dimaksud di sini meliputi tipe data dasar dan tipe data bentukan seperti array, pointer dan juga struktur lain yang telah didefinisikan sebelumnya. Dalam beberapa bahasa pemrograman lain (misalnya Pascal), struktur sering disebut dengan istilah rekaman (record). Structure digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. Struktur sama seperti Record di dalam Bahasa Pemrograman Pascal

2] Sebutkan kelebihan dan kekurangannya

Kelebihan

1. Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek

2. SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.

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

6. SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan

7. SSAD relatif simpel dan mudah dimengerti.

Kekurangan

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

2. Sedikit sekali manajemen langsung terkait dengan SSAD

3. Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.

4. Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).

5. Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.

6. Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.

7. SSAD tidak selalu memenuhi kebutuhan pengguna.

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

3]Berikan contoh kasus pemrograman berbasis OOP




contoh kasus pemrograman berbasis Terstruktur





4]Cara menggambarkan diagram OOP

  1. Use Case

Use case diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar.

  1. Diagram Kelas

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.

  1. Diagram Sequence

Diagram sekuen menggambarkan kelakuan/perilaku objek pada use case

dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan

diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen

maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta

metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

  1. Diagram Aktivitas

Diagram aktivitas atau 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.


Leave a Reply