[13] [a]-[pbo1]-[1210651149]-[sri wahyuni wulandari]
Upcoming SlideShare
Loading in...5
×
 

[13] [a]-[pbo1]-[1210651149]-[sri wahyuni wulandari]

on

  • 119 views

 

Statistics

Views

Total Views
119
Views on SlideShare
119
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

[13] [a]-[pbo1]-[1210651149]-[sri wahyuni wulandari] [13] [a]-[pbo1]-[1210651149]-[sri wahyuni wulandari] Document Transcript

  • Nama : Sri Wahyuni Wulandari Nim : 1210651149 Kelas: TI - A Perbedaan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek Definisi Pemrograman Terstruktur 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 Pemrograman terstruktur memilki beberapa sifat – sifat seperti :       Memuat teknik pemecahan masalah yang logis dan sistematis. Memuat algoritma yang efisien, efektif dan sederhana. Program disusun dengan logika yang mudah dipahami. Biaya pengujian program relatif rendah. Memiliki dokumentasi yang baik. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah. Definisi Pemrograman Berorientasi Objek Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:  Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.  Objek – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
  •  Abstraksi – Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.  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.  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. Perbedaan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek  Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya  sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih dikenal dengan modular  Terdapat juga perbedaan secara spesifik antara Pemrograman Berorientasi Objek dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada pemrograman terstruktur tidak terdapat kelas dan objek.   Dengan menggunakan PBO maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur), tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur. Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri: PBO menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di PBO sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ”modules”. Begitu pula halnya dengan “message” pada PBO dan “argument” pada terstruktur. “attribute” pada PBO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
  •  Pemrograman berorientasikan objek dikatakan lebih baik apabila model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung PBO mengklaim bahwa PBO lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan PBO lebih mudah dikembangkan dan dirawat. Kelebihan dan Kekurangan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek 1. a. b. Metode Terstruktur Kelebihan  Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek  SSAD(Structured Analisys and Design) merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.  Penggunaan analisis grafis dan tool seperti DFD(Data Flow Diagram) 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 sliit bagi pengguna untuk melakukan evaluasi.  Pada SAAD sliit 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).    2. a. Metode Berorientasi Obyek Kelebihan  Dibandingkan dengan metode SSAD, OOAD(object-oriented analysis and design) 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.
  •      b. 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 pecahanpecahan 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).      Perbedaan passing parameter a. Pass by value o Berlaku pada tipe data primitif (byte,short,int,long,float,double, dan char). o Hanya bisa memodifikasi nilai di dalam fungsi, tidak bisa diluar fungsi. o Jika kita menggunakan konsep pass-by-value maka isi atau nilai dari variable yang ada di parameter main akan di copy ke parameter dari fungsi pemanggil. Sehingga jika ada perubahan pada parameter pemanggil tidak mengubah parameter main. b. Pass by reference: o Berlaku pada tipe data array dan objek. o Bisa memodifikasi nilai baik di dalam maupun di luar fungsi.
  • o Jika kita menggunakan konsep pass-by-reference maka yang di lewatkan bukan nilainya melainkan alamat(reference) dari nilai tertentu yang di lewatkan, jadi jika ada perubahan terhadap nilai oleh fungsi pemanggil maka nilai pada parameter main pun ikut berubah.