Object Oriented vs Structure Design


Nama : Anisa Agustina

Nim : 1202162042

Kelas : SI-40-02

  1. Definisi

a. Pengertian OOP

Dasar Programadalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.Pemrogramanadalahsuatu 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)

Object Oriented Programing atau pemrograman Berorientasi Objek adalah konsep pemrograman yang difokuskan pada penciptaan kelas yang merupakan abstraksi/blueprint/prototype dari suatu objek.kelas ini harus mengandung sifat (data) dan tingkah laku (method) umum yang dimiliki oleh objek-objek yang kelak akan dibuat (diinstansiasi). Data dan method merupakan anggota (member) dari suatu kelas.

Objek adalah benda, baik yang berwujud nyata maupun tidak nayata, seperti halnya yang berupa sistem atau konsep. Dalam OOP objek adalah unit terkecil pemrograman yang masih memiliki data dan sifat.

Kelas adalah pemodelan dari objek yang berisi informasi (aturan) tentang sifat karakteristik (data) dan tingkah laku (method) yang dimiliki oleh objek tersebut.

Instans adalah perwujudan. Dalam istilah pemrograman, objek merupakan instans (perwujudan) dari suatu kelas. Instansi adalah proses perwujudan kelas menjadi objek.

Data adalah sifat karakteristik yang dimiliki oleh objek. Dalam beberapa referensi, data dianalogikan juga sebagai variabel, property, atau atribut.

Method adalah prosedur atau fungsi yang dimiliki oleh suatu objek. Dalam beberapa referensi, method dianalogikan juga dengan istilah prosedur, fungsi, dan behavior.

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

  1. Kekurangan dan kelebihan

a. Kelebihan dan kekurangan dari metode perancangan OOP adalah sebagai berikut :

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

b. Berikut ini merupakan kelebihan dan kekurangan metode perancangan 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 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).

  1. Contoh kasus OOP dan

Contoh berikut akan menjelaskan penggunaan class abstrak dalam pemrograman Objek dalam Java. Kelas abstrak yang dibuat adalah kelas Animal, kemudian dengan dua jenis variabel, jumlah kaki dan warna. Ditambahkan method berdasarkan cara jalan dan suaranya :

public abstract class Hewan {

private int jmlKaki;

private Color warna;

public abstract void jalan();

public abstract void suara();

}

Kalau Struktur maka dalam pengerjaan maupun dalam pemrogramannya harus terstruktur

package ans;

import java.util.Scanner;

public class ANS {

public static void main(String[] args) {

Scanner input = new Scanner (System.in);

System.out.println("jari-jari : ");

double jari = input.nextDouble();

double Phi = 3.14;

double pangkat;

pangkat = Math.pow(jari,2.0);

double y = 25854854.92;

double luas_permukaan_bola = 4PhiMath.pow(jari,2.0)/2;

boolean Z = (y == luas_permukaan_bola);

System.out.println("luas permukaan bola : "+luas_permukaan_bola);

System.out.println("jadi pernyataan wartawan adalah : "+Z);

}

}

Contoh menghitung luas

package Struktur;

import java.util.Scanner;

public class Struktur{

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int random, tebak, jumlah;

random = (int) (Math.random() *50);

System.out.println("masukan tebakan angka 1-50");

jumlah=0;

do{

System.out.println("masukan tebakan angka anda : ");

tebak = input.nextInt();

if (tebak > random){

System.out.println("tebakan anda terlalu besar ");

} else if ( tebak < random) {

System.out.println("tebakan anda terlalu kecil ");

} else {

System.out.println("selamat, tebakan anda benar ");

}

jumlah++ ;

}while (tebak!=random);



  1. Cara membuat diagram OOP

Membuat Functional requirement

Pertama kita buat dulu tulisan yang bercerita tentang sistem apa yang akan kita buat. Tulisan ini tidak harus formal dan memiliki format tertentu, kita tulis aja program yang akan kita buat maunya seperti apa terus program itu bisa ngapain aja.

Membuat Use Case Diagram

Kita buat aktor-aktor yang berperan dalam system. Aktor = siapa saja orang yang akan berperan di dalam system, contoh : pegawai, pembeli, manager, supplier. Nah kita gambarkan apa saja yang bisa dilakukan aktor-aktor tersebut di dalam system

Membuat Scenario

Kita membuat scenario berdasarkan use case diagram yang telah kita buat sebelumnya. Setelah kita membuat use case tentang apa saja yang dilakukan aktor terhadap system, kita jabarkan setiap langkahnya. Penjabaran langkah-langkah ini disebut scenario. Contoh: pembeli melakukan pembelianbarang,menghubungi pegawai, pegawai mengecek barang yang mau dibeli, kalau barangnya ada begini kalau tidak ada begitu, dan seterusnya

Membuat Class Diagram

Kita buat class-class yang ada di dalam system. Kita tentukan attribute-attributenya. Class-class ini adalah class yang nantinya akan digunakan dalam kodingan program. Nanti kita tentukan juga method untuk tiap-tiap classnya. Tetapi penentuan method kita lakukan setelah tahap selanjutnya yaitu membuat sequence diagram.

Membuat Sequence Diagram.

Langkah selanjutnya adalah membuat Sequence diagram berdasarkan scenario yang telah kita buat. Sequence diagram ini bisa dibilang adalah model yang lebih detail dari skenario yang telah kita buat, disini kita masukkan hal-hal yang sifatnya lebih menarah ke teknis. Tiap-tiap scenario harus dibuat sequence diagramnya, contoh, misalkan kita punya 3 skenario : 1. Scenario transaksi online 2. Scenario transaksi offline 3. Scenario registrasi. Naah kita buat 3 sequence diagram berdasarkan 3 scenario tersebut.

Membuat Activity Diagram.
Langkah terakhir adalah membuat activity diagram. Activity diagram ini mirip dengan flow chart. Jadi setelah kita buat 5 hal diatas sekarang kita bisa menggambarkan bagaimana system bekerja secara keseluruhan. Naah sekarang saatnya kita buat diagramnya, diagram tentang bagaimana system bekerja secara keseluruhan.

Sumber :

http://rpl.if.its.ac.id/perbedaan-pemrograman-terstruktur-dan-pemrograman-berorientasi-objek/

https://eziekim.wordpress.com/2011/11/08/perbedaan-antara-perancangan-terstruktur-dan-berorientasi-objek/

http://catatan-syam.blogspot.co.id/2013/11/konsep-langkah-langkah-membuat-uml.html

Buku menguasai java 2 & Object Oriented Programing karangan Benny Hermawan


Leave a Reply