Jumat, 25 November 2011

Sistem Berorientasi Objek


Nama Lengkap : Ostivani Zahra

Nomor Pokok Mahasiswa ( NPM) : 55411477

Kelas : 1IA01

UNIVERSITAS GUNARDARMA

KATA PENGANTAR

Puji syukur saya panjatkan kehadirat Allah S.W.T, karena berkat rahmatNya saya dapat menyelesaikan makalah yang berjudul sistem berorientasi objek.

Saya mengucapkan terima kasih kepada semua pihak yang telah membantu sehingga makalah ini dapat diselesaikan dan disusun dengan baik.

Semoga makalah ini dapat memberikan manfaat serta dapat mengembangkan wawasan serta ilmu pengetahuan bagi kita semua

Bogor, 01 Oktober 2011

Ostivani Zahra

Daftar Isi

Kata pengantar ...…………………………………………………………......... 2

BAB I PENDAHULUAN……………………………………………………........ 4

Latar belakang………………………………………………………..... 4

Perumusan masalah…………………………........................... 5

Tujuan makalah ………………………………………………………… 5

BAB II ISI……………………………………………………………..................... 6

Pengertian objek……………………………………………………….. 6

Konsep dasar dari Pemrograman Berorientasi Objek 7

Pemodelan berorientasi objek……………………………………… 10

Model berorientasi objek…………………………………………….. 11

Pengertian UML (unified modeling language)……………… 12

Diagram-diagram UML……………………………………………….. 13

Langkah-langkah penggunaan UML………………………………. 19

BAB III PENUTUP………………………………………………………………......... 21

Kesimpulan……………………………………………………………....... 21

Daftar pustaka…………………………………………………………..... 22

BAB I PENDAHULUAN

Latar belakang

Analisis dan disain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek,yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Pengertian "berorientasi objek" berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya

Walaupun metode ini masih terhitung baru, tetapi dalam perkembangannya metode ini telah banyak digunakan untuk kepentingan pembuatan program berbasis objek.

Melihat telah meluasnya program-program aplikasi maupun bahasa pemrograman yang berbasis objek dan pendekatan pengembangan sistem mempunyai hubungan yang erat dengan implementasi sistem yang diwujudkan di dalam bentuk pemrograman, sehingga dipandang perlu untuk memperkenalkan metode berorientasi objek dalam sistem informasi akuntansi terutama untuk pengelolaan database perusahaan.

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

Perumusan masalah

Dalam perumusan masalah ini saya akan merumuskan masalah tentang :

Pengertian objek

Konsep dasar dari Pemrograman Berorientasi Objek

Karakteristik metodologi berorientasi objek

Pemodelan berorientasi objek

Model berorientasi objek

Pengertian UML (unified modeling language)

Diagram-diagram UML

Langkah-langkah penggunaan UML

Tujuan makalah

Tujuan saya membuat makalah ini karena 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 OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

BAB I ISI

Pengertian objek

Identitas berarti bahwa data diukur mempunyai nilai tertentu yang membedakan entitas disebut Objek.Objek dapat kongkrit, seperti halnya arsip dalam sistem, atau konseptual seperti kebijakan penjadualan dalam multiprocessing pada sistem operasi.

Setiap objek mempunyai sifat yang melekat pada identitasnya.

Dua objek dapat berbeda walaupun bila semua nilai atributnya

identik.

Istilah-istilah objek :

1. Atribut : Data item yang menegaskan Objek

2. Operasi : Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku kelas

3. Metode : Pelaksanaan prosedur (badan dari kode yang

mengeksekusi respon terhadap permintaan objek lain di

dalam sistem).

Kelas Objek

Kelas merupakan gambaran sekumpulan Objek yang terbagi

dalam atribut, operasi, metode, hubungan, dan makna yang

sama. Suatu kegiatan mengumpulkan data (atribut) dan perilaku

(operasi) yang mempunyai struktur data sama ke dalam satu grup.

Kelas Objek merupakan wadah bagi Objek. Dapat digunakan

untuk menciptakan Objek. Objek mewakili fakta/keterangan dari sebuah kelas.

Konsep dasar dari Pemrograman Berorientasi Objek

§ Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

§ Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer 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. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. 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. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

§ 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. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Karakteristik metodologi berorientasi objek

Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama :

§ Encapsulation

§ Inheritance

§ Polymorphism

A. ENCAPSULATION (PENGKAPSULAN)

Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.

Data terlindung dari prosedur atau objek lain,kecuali prosedur

yang berada dalam objek itu sendiri.

B. INHERITANCE (PEWARISAN)

Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.

Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara

hirarki. Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya.

Kelas Objek dapat didefinisikan atribut dan service dari kelas

Objek lainnya. Inheritance menggambarkan generalisasi sebuah kelas contoh :

Sedan dan Sepeda Motor adalah subkelas dari Kendaraan

Bermotor.

C. POLYMORPHISM (POLIMORFISME)

Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.

Polimorfisme mempunyai arti bahwa operasi yang sama mungkin

mempunyai perbedaan dalam kelas yang berbeda

Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama. Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan Objek.

Pemodelan berorientasi objek

Pemodelan Sebagai Teknik Desain

Teknik pemodelan objek menggunakan tiga macam model untuk

menggambarkan sistem :

Model Objek :

Model objek Menggambarkan struktur statis dari suatu objek

dalam sistem dan relasinya. Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.

Model Dinamik :

Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat. Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem. Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event.

Model Fungsional :

Model fungsional menggambrakan transformasi nilai data di dalam sistem. Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah

aliran data.

Model berorientasi objek

Sebuah model objek menangkap struktur statis dari sistem dengan menggambarkan objek dalam sistem, hubungan antara objek, serta atribut dan operasi yang merupakan karakteristik setiap kelas dan objek.

Model berorientasi objek lebih mendekati keadaan nyata, dan

dilengkapi dengan penyajian grafis dari sistem yang sangat

bermanfaat untuk komunikasi dengan user dan pembuatan

dokumentasi struktur dari sistem.

A. Objek dan Kelas

Objek :

Objek didefinisikan sebagai konsep, abstraksi atau benda dengan batasan dan arti untuk suatu masalah. Semua objek mempunyai identitas yang berbeda dengan lainnya.

Istilah identitas berarti bahwa objek dibedakan oelh sifat yang

melekat dan bukan dengan uraian sifat yang dimilikinya.

Contohnya, kembar identik, walaupun mereka nampak seperti

sama, tetapi merupakan dua orang yang berbeda.

Kadang-kadang objek berarti suatu barang, maka digunakan

istilah object instance, dan object class untuk menunjukkan satu

grup dari barang yang sama.

Kelas :

Suatu object class menggambarkan kumpulan dari objek yang

mempunyai sifat (atribut), perilaku umum (operasi), relasi umum

dengan objek lain dan semantik umum.

Contoh : Orang, perusahaan , binatang, proses adalah objek.

Setiap orang mempunyai umur, IQ, dan mungkin pekerjaan. Setiap proses mempunyai pemilik, prioritas, list dari sumber daya yang dibutuhkan. Objek dan object class sering sama sebagai benda dalam deskripsi masalah.

Pengertian UML (unified modeling language)

Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut.

UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

UML dikembangkan sebagai suatu alat untukanalisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.

Dimulai pada bulan Oktober 1994 Booch,Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group

Diagram-diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu :

1. Use Case Diagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.

4. Collaboration Diagram untuk memodelkan interaksi antar objects.

5. State Diagram untuk memodelkan perilaku objects di dalam sistem.

6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.

7. Class Diagram untuk memodelkan struktur kelas.

8. Object Diagram untuk memodelkan struktur object.

9. Component Diagram untuk memodelkan komponen object.

10.Deployment Diagram untuk memodelkan distribusi aplikasi

4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.

Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.

Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.

Class memiliki tiga area pokok :

n 1. Nama (dan stereotype)
2. Atribut
3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :

n Private, tidak dapat dipanggil dari luar class yang bersangkutan

n Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya

n Public, dapat dipanggil oleh siapa saja

Activity diagrams

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum

Collaboration diagram

Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message.
Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.

Langkah-langkah penggunaan UML

n Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.

n Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.

n Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.

n Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.

n Berdasarkan use case diagram, mulailah membuat activity diagram.

n Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.

n Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.

n Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.

n Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.

n Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.

n Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan
- Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.

n Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual

n Piranti lunak siap dirilis

BAB III PENUTUP

Kesimpulan

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. Sebagai contoh kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Daftar Pustaka

1. David M. Kroenke, Database Processing Jilid 1 edisi 9, halaman 60. Erlangga

2. https://bowoblog.wordpress.com/2009/05/14/analisis-sistem-berorientasi-objek/

3. http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek

4. http://id.wikipedia.org/wiki/UML.

Tidak ada komentar:

Posting Komentar