Senin, 10 Oktober 2011

Makalah Metode Berorientasi Objek dan Metode Tersetruktur serta contoh kasusnya


A.      PENDEKATAN DESIGN BERORIENTASI STRUKTUR     
Pendekatan ini berbasis pada metodologi, tool pemodelan, dan teknik dari pendekatan terstruktur. Dibagi 2 :
·         Pendekatan berorientasi proses
·         Pendekatan berorientasi data

Tujuan kedua pendekatan ini adalah untuk mengidentifikasikan semua atribut data yang dibutuhkan oleh sistem yang dibangun. Yang berorientasi proses dikerjakan dengan memeriksa semua input, output dan proses untuk sistem. Sedangkan berorientasi data memeriksa keputusan2 yang dibuat sistem dan kemudian bekerja ke belakang untuk mengidentifikasikan data yang dibutuhkan untuk mendukung keputusan tersebut.

Pemeriksaan I, O dan P untuk menentukan Kebutuhan Data Yang dilihat adalah semua laporan, tampilan layar, dan keputusan yang dibutuhkan untuk sebuah proses. DFD sering dipakai untuk pendekatan ini.

Pendekatan berorientasi proses ini bekerja sangat baik jika professional sistem mengetahui lebih lanjut tentang input, proses dan output yang dihasilkan dari sistem. Juga akan baik jika data dari setiap kumpulan aplikasi dipisahkan.
Contoh : aplikasi berbasis transaksi, misal utang, piutang, gaji, kontrol inventori.

Hasil dari sistem ?
Output berubah secara berkala untuk memenuhi kebutuhan baru ?
Identifikasi data yang dibutuhkan untuk menyelesaikan proses yang tergantung dari variable proses ?

                                        Gunakan pendekatan berorientasi data

1.         Konsultasikan dengan user untuk menentukan kebutuhan data.
Pendekatan ini digunakan jika proses sistem, seperti input dan output belum ditentukan. Pada kasus ini, professional sistem harus berusaha dengan user menentukan bagaimana sistem nantinya. Focusnya adalah untuk menentukan kebutuhan data untuk keputusan2 yang akan berbasis pada data.


Tahap dalam Membuat Desain Berorientasi Struktur :
a)        Diskusikan keputusan2 yang potensial yang akan dibuat dari sistem dengan user dari sistem. Misalnya :
·         Which vendor can provide the best price ?
·         Which vendor can deliver the best quality item ?
·         Which vendor has the best financing options ?
·         Which vendor has a track record of on-time deliveries ?
b)        Modelkan sistem pendukung keputusan melalui tool pemodelan yang fleksibel misalnya ERD.
c)        Bagi setiap criteria ke atribut2nya. Desainer sistem perlu bertanya ke pembeli tentang setiap criteria dari sistem.
d)       Break down atribut yang diidentifikasikan di atas ke dalam komponen data yang paling dasar.

2.         Membuat kamus data untuk sistem
Data yang diidentifikasikan untuk sistem perlu dibuatkan kamus datanya sebagai informasi. Kamus data merinci setiap atribut dan sub atribut sistem dan menentukan karakteristik yang sesuai. Kamus datanya meliputi :
·      Ukuran
·      Tipe
·      Deksripsi
·      Batasan dan pengecualian
·      Range
·      Level keamanan
·      Hak akses
               Ada 3 aspek dari kamus data yang perlu diperhatikan :
1)   Perubahan
2)   Deksripsi
3)   Urutan


B.       PENDEKATAN DESIGN BERORIENTASI OBJEK
Tujuan utamanya adalah  mendesain dan membangun sistem dengan mengumpulkan objek software yang dapat digunakan, bukan dengan menulis modul software dari awal.

Kunci reusability adalah untuk mendaftar (dalam library atau database) objek dimana beberapa diantaranya ada yang sesuai dengan permintaan user. Tentunya proses pencarian membutuhkan cara yang kuat dan efisien.

1.         Elemen2 kunci
Objek : sesuatu yang dapat berhubungan dengan lingkungan, misal mobil, komputer, roti, dll. Sebuah objek menunjukkan perilaku tertentu. Orientasi objek menyediakan konsep yang sama dalam sistem.

Di sistem informasi, atribut (data atau struktur data) dan operasi dienkapsulasi (ditarik bersama = pulled together) dalam membuat objek yang berperilaku tertentu.

Operasi digunakan untuk menggambarkan bagaimana atribut diproses di level desain. Metode (prosedur, fungsi, kode) digunakan untuk menggambarkan program sebenarnya yang ditulis menggunakan bahasa pemrograman berorientasi objek (OOP). Desain sistem memfokuskan pada identifikasi objek daripada spesifikasi atribut dan kode program untuk memanipulasinya.

Ke user, objek berperilaku dan cara tertentu yaitu merespon pesan. Semua akses ke objek melalui pesan yaitu apa yang sudah dilakukan, bukan bagaimana, objek dibiarkan untuk memilih operasi yang dipakai untuk menjawab pesan.

2.         Classes
Sebuah kelas merupakan kumpulan objek yang berbagi struktur dan berperilaku umum. Sebuah kelas adalah sebuah tipe; objek tunggal adalah instant dari kelas. Objek dapat menurunkan atribut dan operasi dari objek lainnya dan dapat menambah atribut dan operasinya sendiri. Inheritance memungkinkan property bersama (atribut dan operasi) di antara kelas meski pun berbeda. Dengan inheritance, desainer dan programmer dapat mengurangi kerangkapan atribut dan operasi.

Kemampuan dari objek apa pun merespon pesan yang sama dan dari setiap objek untuk mengimplementasikannya disebut polymorphism.
Misal :
      Fortran           SUM = IA + IB
                                                                 + = polimorfisme
                           SUM = A + B

Selama fase desain sistem, desainer tidak terlalu memperhatikan rincian dari atribut, operasi dan kode pemrograman, inheritance dan polimorfisme.
Tahapan dalam Membuat Desain Berorientasi Objek :
a)        Identifikasi kelas objek
Kandidat kelas objek didapat dari interview dengan user. Kata benda atau frase kata benda merupakan kelas objek (noun, noun phrase). Kemudian memilih hanya beberapa kelas objek saja yang relevan dengan domain aplikasi sistem. Jika 2 atau lebih kelas objek menunjukkan informasi yang sama, yang paling deskriptif yang dipilih. Kelas objek juga harus spesifik.
b)        Identifikasi relasi antara kelas objek
Sebuah relasi berhubungan dengan kata kerja (verb).
c)        Identifikasi atribut utama, bukan rincian spesifikasi
Setelah relasi dibuat di antara kelas objek, atribut kelas objek utama perlu diidentifikasi, dengan kata kata sifat (adjective). Di fase desain sistem ini, atribut dan nilainya perlu dibuat lengkap. Gambarkan atribut yang paling penting dahulu, rincian selanjutnya dapat ditambah kemudian.
d)       Tentukan relasi inheritance dan buat hirarki kelasnya.
Inheritance digunakan untuk mengeneralisasi aspek umum dari kelas yang ada ke dalam super kelas (bottom up) atau dari kelas perbaikan yang ada ke sub kelas (top down) khusus. Atau dengan membangun suatu hirarki kelas dimana sub kelas inherit (mewarisi) property dari super kelas.


C.      PERBEDAAN DESAIN BERORIENTASI TERSTRUKTUR DENGAN DESIGN BERORIENTASI OBJEK
Banyak yang mengatakan bahwa desain berorientasi terstruktur merupakan kependekan dari desain berorientasi objek.
Berorientasi terstruktur
Berorientasi objek
Modul merupakan unit dari kode
software yang menjalankan
fungsi.
Modul merupakan objek yang
mengenkapsulasi atribut dan kode
program untuk berjalan.
Modularitas merupakan prinsip dasar dari desain yang baik, karena memfasilitasi maintenance, reusability, reliability dan extendability sistem. (MURRE) Modularitas merupakan tingkat dimana modul dibuat standar dan bebas dan menunjukkan keragaman dalam penggunaannya. Jika desain sistem terdiri dari n buah modul, jumlah keterhubungan antar modul (disebut binding dan coupling) mendekati minimum n-1 (a) dan maksimum n(n-1)/2 (d). Jika terlalu banyak hubungan di antara modul, efek perubahan atau kesalahan jadi meluas ke jumlah modul yang semakin besar.



















struktur modul (a) menunjukkan desain sentralisasi, yaitu modul eksekutif pusat dikomunikasikan ke setiap modul yang lain. Struktur modul (c) berlaku sama, menunjukkan struktur top-down dengan sejumlah besar komunikasi di antara modul yang teratas dengan modul di bawahnya. Modul2 ini berorientasi terstruktur. Struktur (d) memiliki keterhubungan yang paling besar dan juga berpotensi mengalami kesalahan yang besar. Desain yang memiliki keterhubungan yang rendah adalah (a) atau (c). Setiap modul berkomunikasi hanya dengan 2 tetangga terdekatnya, tetapi tidak ada otoritas pusat atau toplevel. Desain (b) tidak terstruktur, bukan top-down seperti (c). Desain terstruktur ini dimana pendekatan desain berorientasi objek akan berlkau juka sesuai dengan kebutuhan user.

Pengontrolan jumlah dan bentuk komunikasi di antara modul merupakan pokok dari modularitas dan kunci tujuannya adalah modul otonomi, yang berdiri sendiri. Tetapi dalam desain berorientasi terstruktur, desain tidak dapat dibangun jika sangat tinggi derajat kebebasan modulnya yaitu very loosely tight ke modul lain.

Top-down VS Bottom-up
Top-down
Desain ini mengarahkan analis dan desainer untuk memulai dengan deskripsi abstrak dari sistem baru dan memperbaikinya pada tahap2 selanjutnya. Desain berorientasi objek mengadopsi dekomposisi top-down ini. Desainer membuat daftar bermacam2 kebutuhan yang sesuai dengan domain aplikasi sistem, tetapi menunda spesifikasi urutan dimana kebutuhan akan diaplikasikan. Ini yang disebut dengan “shopping list”, daftar kebutuhan ditentukan selama analisis, kemudian kelas objek digabungkan untuk melihat apakah kumpulan objek ini sesuai dengan permintaan user. Jika tidak, beberapa kelas objek dikembalikan ke daftarnya dan yang lain digabungkan.

Bottom-up
Proses ini seperti membuat mobil baru. Objek berasal dari beberapa sumber, satu per satu dikumpulkan. Hal yang baru adalah membuat coretan. Modul yang sama (objek) digunakan kembali. Produk fisik mudah dimaintain, komponen standar digunakan dan diandalkan karena standarisasi dan ujicoba dan produk dapat diperluas karena struktur modulnya.

Menggunakan Library kelas objek
Yang sangat menjanjikan dalam pendekatan berorientasi objek ini adalah reusability. Tujuan dari desainer berorientasi objek adalah membuat library sehingga professional sistem dapat melihat katalog kelas objek, memilih kelas objek yang sesuai, mengambilnya dari library kelas objek atau database dan menggabungkannya menjadi sistem (select, retrieve, assemble)
Misalnya adanya menu, kotak dialog dan icon.

D.      KELEBIHAN DAN KEKURANGAN KEDUA METODE TERSEBUT
1)        Metode 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).

2)        Metode Berorientasi Obyek
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).

E.       CONTOH KASUS DARI METODE TERSEBUT
1.        Pendekatan Berorientasi Objek
·           Pembungkusan (Encapsulation)
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 rekening misalnya 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.

·            Pewarisan (Inheritance)
Bila merajuk pada sistem ATM sebelumnya, pewarisan dapat dipakai untuk berbagai tipe rekening yang ada. Misalkan bank yang bersangkutan memiliki beberapa tipe rekening, yaitu tabungan, pinjaman, kartu kredit, serta deposito. Berbagai tipe rekening tersebut masing – masing memiliki karakteristik – karakteristik yang mirip. Masing – masing memiliki no_rekening, tingkat_sukubunga, serta pemilik_rekening sehingga harus dibuat objek yang dinamakan rekening untuk memuat karakteristik – karakteristik umum dari semua rekening. Objek – objek turunan masing – masing dapat memiliki karakteristik – karakteristik yang unik sebagai tambahan karakteristik – karakteristik yang diwarisi dari objek induk. Sehingga perubahan pada objek induk akan mengakibatkan perubahan pada semua objek anak , sedang objek anak bebas beradaptasi tanpa saling mengganggu satu sama lain atau mengganggu objek induknya.



BAB III
KESIMPULAN


A.    Kesimpulan dan Saran
Berdasarkan karakteristiknya keunggulan pendekatan objek adalah dapat meningkatkan efisiensi aplikasi karena sifatnya yang dapat diwariskan (digunakan kembali untuk objek lainnya) khususnya untuk sistem yang besar dan kompleks, selain itu karena model yang dinamis model ini tepat untuk sistem yang real time.Selain itu dalam dunia pemrograman konsep objek ini telah digunakan secara luas terbukti dengan banyaknya bahasa pemrogram yang berbasis objek.
Keterbatasan pendekatan objek adalah kurangnya pengenalan mengenai pendekatan yang relatif baru dikalangan akuntansi, walaupun untuk kalangan IT hal ini tidaklah demikian. Pengenalan terhadap pengembangan sistem berorientasi objek tidak sepopuler pendekatan relasional. Untuk itu sebagai penutup tulisan ini penulis menyarankan untuk memperkenalkan pendekatan objek dalam perkuliahan yang berhubungan  dengan Sistem Informasi seperti misalnya untuk matakuliah Analisis dan Perancangan Berorientasi objek.

0 comments:

Twitter Delicious Facebook Digg Stumbleupon Favorites More