Marinta Fani br Tarigan_1202160195_SI-40-02


Object Oriented vs Structure Design

Pengertian Dasar Programadalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.

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

OOP ( Object Oriented Programming ) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan mengikuti model yang telah ada di kehidupan sehari-hari. Jadi, setiap bagian dari suatu permasalahan adalah objek.

Struktur Kontrol pada JAVA

Struktur kontrol merupakan pengatur aliran program

Rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu :

– Mengulang sebagian rutin karena tidak terpenuhinya suatu kondisi

– Melanjutkan sebuah pernyataan bila kondisi terpenuhi

– Memilih sebuah pilihan dari beberapa alternatif bila sebuah kondisi terpenuhi

TUJUAN

  1. Menggunakan struktur kontrol keputusan/percabangan (if, else, switch), untuk memilih bagian dari program yang akan dieksekusi.
  2. Menggunakan struktur kontrol pengulangan/perulangan (while, do-while, for), untuk melakukan pengulangan eksekusi program atau code, sejumlah yang telah ditentukan.

OOP (Object-Oriented Programming)

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. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Bahasa pemrograman yang mendukung OOP antara lain:

· Visual Foxpro

· Java

· C++

· Pascal (bahasa pemrograman)

· Visual Basic.NET

· SIMULA

· Smalltalk

· Ruby

· Python

· PHP

· C#

· Delphi

· Eiffel

· Perl

· Adobe Flash AS 3.0

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

Bahasa pemrograman yang mendukung pemrograman terstruktur:

· Cobol Turbo Prolog

· C

· Pascal

· Delphi

· Borland Delphi

Sifat-sifat pemrograman terstruktur

· Memuat teknik pemecahan masalah yang logis dan sistematis

· Memuat algoritma yang efisien, efektif dan sederhana

· Program disusun dengan logika yang mudah dipahami

· Tidak menggunakan perintah GOTO

· Biaya pengujian program relatif rendah

· Memiliki dokumentasi yang baik

· Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah

Perbedaannya

Dari pengertian pemrograman terstruktur dan pemrograman berorientasi objek itu sendiri kita dapat menyimpulkan, apa perbedaan dari pemrograman terstruktur dan pemrograman berorientasi objek itu. Pemrograman berorientasi objek (Object-Oriented Programming atau OOP) merupakan paradigma pemrograman yang berorientasikan kepada 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, Sedangkan untuk pemrograman terstruktur adalah kebalikan dari pemrograman berorientasi objek yaitu sebuah cara pemrosesan data yang terstruktur dalam analisa, cara dan penulisan pemrograman. Dikarenakan harus terstruktur sehingga dalam pembuatannya antara satu line pemrograman dengan yang lainnya berhubungan.

Konsep utama dari Pemrograman Berbasis Objek terletak pada kondisi kode/line pemrogramanannya dimana merupakan sebuah kesatuan modular. Untuk program yang simpel/sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit, maka digunakan 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.

Berdasarkan penjelasan diatas, sangat jelas bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program).

Keuntungan pemrograman berorientasi objek

· Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.

· Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.

· Dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.

Jadi, sangat jelas bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.

Permodelan yang mana yang lebih bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.

Perbedaan mendasar antara OOP dan pemrograman terstruktur

Sistem pemrograman berorientasi objek, bentuk pemodelan programnya diorientasikan dalam bentuk objek – objek, sedangkan Sistem pemrograman terstruktur pemodelan programnya diuraikan dan diorganisasikan secara lebih detail.

Konsep dasar pemrograman berorientasi objek dikelompokkan kedalam kelas, objek, abstraksi, enkapulasi dan Polimorfisme melalui pengiriman pesan, sedangkan konsep dasar pemrograman terstruktur harus mengandung teknik pemecahan masalah yang tepat dan benar, memiliki algoritma pemecahan masalah yang sederhana, standar dan efektif, penulisan program memiliki struktur logika yang benar dan mudah dipahami, program hanya memiliki 3 struktur dasar, yaitu : Struktur berurutan, struktur seleksi, dan struktur pengulangan, Menghindari penggunaan pernyataan GOTO, Memiliki dokumentasi yang baik.

UML adalah contoh salah satu bahasa pemrograman yang berkonsepkan OOP, sedangkan DFD dan ERD adalah contoh bahasa pemrograman yang berkonsepkan pemrograman secara terstruktur.

Dengan menggunakan OOP 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:
Object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.

Kelebihan dan Kekurangan Pemograman Berorientasi Objek dengan Pemograman Terstruktur

METODE TERSTRUKTUR

Perancangan Terstruktur (Structured Analisys and Design / SSAD)

Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata. Perancangan ini bertujuan untuk membuat model SOLUSI terhadap PROBLEM yang sudah dimodelkan secara lengkap pada tahap analisis 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 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).

Contoh Study kasus

Pewarisan dalam OOP atau Pemrograman Berbasis Objek. Inheritance memungkinkan suatu class bisa mewarisi property atau atribut(variable) dan Method kepada Class lainnya atau subClass sehingga membentuk Class Hirarki. Inheritance dalam kehidupan sehari-hari seperti ibu dan anak, nenek dan cucu Nah kali ini saya akan membahas Inheritance dengan studi kasus Hewan berdasarkan Makanannya. Lihat skema dibawah ini :

·

· Terlihat pada gambar diatas bahwa Hewan mewarisi dengan 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. Sudah terbayangkan kan pewarisan itu seperti apa? 😀 nah bukan didunia saja yang melihat segala sesuatu dengan objek tetapi didalam pemrograman pun melihat sesuatu dengan objek yang mempunyai atributnya masing-masing. Nah sekarang kita buat codingnya di sublime dan dicompile via cmd. Tulislah dahulu coding seperti dibawah ini dan hiraukan dulu class herbivora :

·

·

Lalu ketikan coding seperti dibawah ini Class Pewarisan dari Hewan :

·

·
Ketikan dan pahami pembuatan objek Kambing, Kuda, Sapi dan Kerbau di main method dari sub Class Herbivora Seperti contoh dibawah ini :

·

·

Lalu Ketikan dan pahami pembuatan objek Kucing, Harimau dan Singa di main method dari sub Class Karnivora Seperti contoh dibawah ini :

·

·

Dan yang terakhir Ketikan dan Pahami pembuatan objek Ayam dan Bebek di main method dari sub class Omnivora Seperti Contoh dibawah ini :

·

·

Yang terakhir kita compile dan Running Hasilnya yang tertera dibawah ini :

·

·

·

·
SELESAI!!!

Contoh pada kasus ATM (Anjungan Tunai Mandiri), terdapat informasi – informasi yang berhubungan dengan objek rekening seperti no_rekening, saldo, nama, alamat,dan sebagainya. Selain itu, terdapat pula perilaku – perilaku untuk objek rekeningmisalnya buka, tutup, penarikan, penyimpanan, ubah_nama, ubah_alamat, dan sebagainya. Informasi – informasi dan perilaku – perilaku tersebut dibungkus dalam objek rekening. Akibatnya, perubahan – perubahan pada sistem perbankan yang berkaitan dengan rekening – rekening dapat secara sederhana diimplementasikan satu kali saja pada objek rekening.


Leave a Reply