Jumat, 21 Juni 2013

PSBO PERANCANGAN SISTEM BERBASIS OBJEK

PERANCANGAN SISTEM BERBASIS OBJEK ( PSBO )

Sebelum kami membahas pengertian tentang PSBO / Perancangan Sistem Berbasis Objek.
dalam blog ini kami akan membas dulu hal terpenting dari dunia maya. yaitu INTERNET.
berikut ini kami berikan sedikit sejarah dan penjelasan dari internet.
Sejarah Internet

Internet pertama kali muncul di Amerika Serikat yang di gagas oleh Departemen Pertahanan pada tahun 1969, melalui proyek ARPA disebut juga ARPANET (Advanced Research Project Agency Network). Dalam proyek tersebut mereka menunjukan bahwa dengan menggunakan perangkat hardware dan software berbasis UNIX,

Dalam proyek ARPANET terbentuklah cikal bakal TCP/IP (Transmission Control Protocol/Internet Protocol) seperti sekarang ini. Mereka merancang bentuk jaringan, kehandalan, seberapa besar informasi dapat dipindahkan, dan akhirnya semua standar.  Pada masa itu Internet di tujukan untuk kepentingan militer, namun seiring berjalanya waktu Internet pun berkembang untuk pendidikan dan umum.

Tahun 1972, Roy Tomlinson berhasil menyempurnakan program e-mail yang ia ciptakan setahun yang lalu untuk ARPANET. Program e-mail ini begitu mudah sehingga langsung menjadi populer.

Hari bersejarah berikutnya adalah tanggal 26 Maret 1976, ketika Ratu Inggris berhasil mengirimkan e-mail dari Royal Signals and Radar Establishment di Malvern. Pada tahun 1984 diperkenalkan sistem nama domain, yang kini kita kenal dengan DNS atau Domain Name Server. Komputer yang tersambung dengan jaringan yang ada sudah melebihi 1000 komputer lebih. Pada 1987 jumlah komputer yang tersambung ke jaringan melonjak 10 kali lipat manjadi 10.000 lebih.  

Program inilah yang disebut www, atauWorl Wide Web.
Aplikasi World Wide Web (WWW) ini menjadi konten yang dinanti semua pengguna internet. WWW membuat semua pengguna dapat saling berbagi bermacam-macam aplikasi dan konten, serta saling mengaitkan materi-materi yang tersebar di internet. Sejak saat itu pertumbuhan pengguna internet meroket menjadi jutaan bahkan sampai saat ini hampir seluruh dunia terhubung ke internet. 




ANALISA PERANCANGAN SISTEM BERORIENTASI OBYEK (OOAD)


-BerbasisObjek (Object Oriented) merupakan paradigma baru dalam rekayasa perangkat lunak yang memandang sistem sebagai sekumpulan objek-objek yang saling berinteraksi.
-Metoda Berorientasi-Objek memberikan sekumpulan teknik untuk menganalisis, mendekomposisi dan memodularisasi arsitektur sistem perangkat lunak.
-Sistem Berorientasi Objek
-Sistem sendiri didefinisikan sebagai kumpulan dari beberapa elemen (modul) yang saling berhubungan (berinteraksi) untuk mencapai suatu tujuan/output (output disesuaikan dengan kebutuhan pengguna).
-Sedangkan sistem yang berorientasi objek diurai kedalam sejumlah/sekumpulan obyek(konsep, abstrak, benda) dalam dunia nyata yang saling berkomunikasi dan melaksanakan sejumlah pelayanan secara desentralisasi.
Setiap obyek membungkus (encapsulate) sejumlah prosedur dan data yang berinteraksi dengan obyek lainnya melalui suatu pesan (message).

KONSEP BERORIENTASI OBJEK
1.Objek
2.Kelas
3.Atribut
4.Metoda
5.Abstraksi
6.Enkapsulasi, Instance,
Inherintance, Polimorfisme

Biasanya berupa benda atau sesuatu kejadian
Benda konkrit : pesawat, lampu, buku, …
Konsepsi : terbang, terang, kuliah, …
Abstraksi : perusahaan, bisnis, sekolah, …

ATRIBUT:
Adalah nilai internal atau data terkait pada suatu objek yang menunjukan:
-Ciri-ciri atau sifat-sifat dari obyek
-Penggambaran keadaan (state) obyek
Nama objek: Mobil
Atribut
Merek : Toyota
Silinder : 2000 cc
Warna : Merah
Status : Baru/Jalan
Tahun : 2004

METHODS (OPERATIONS, BEHAVIOR)
-Behavior mendifinisikan bagaimana suatu objek bertindak dan bereaksi, dan berhubungan dengan fungsi diterapkan pada suatu atribut.
-Behavior objek disebut metoda atau operasi pelayanan (service).





SEJARAH & PENGERTIAN UML

A. Sejarah UML
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software. Pendekatan analisa & rancangan dengan menggunakan model OO mulai diperkenalkan sekitar pertengahan 1970 hingga akhir 1980 dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang menggunakaan metoda OO mulai diuji cobakan dan diaplikasikan antara 1989 hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari General Electric, dikenal dengan OMT (Object Modelling Technique). Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya standar penggunaan model yang berbasis OO, ketika mereka bertemu ditemani rekan lainnya Ivar Jacobson dari Objectory mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metoda OO untuk membuat suatu model bahasa yang uniform / seragam yang disebut UML (Unified Modeling Language) dan dapat digunakan oleh seluruh dunia. Secara resmi bahasa UML dimulai pada bulan oktober 1994, ketika Rumbaugh bergabung Booch untuk membuat sebuah project pendekatan metoda yang uniform/seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE sehingga muncul release version 0.9 pada bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group), Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn.
UML adalah standar dunia yang dibuat oleh Object Management Group (OMG),
sebuah badan yang bertugas mengeluarkan standar-standar teknologiobject-
orienteddan software component.

B. Pengenalan UML
UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software.UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti;requirement s, arsitektur,design, source code, project plan, tests, dan prototypes.
• UML: Unified Modeling Language  Bahasa atau alat bantu untuk menentukan, visualisasi,kontruksi dan mendokumentasikan artifacts [1] dari sistem software.
• UML : notasi diagramatik untuk pemodelansistem yang menggunakan konsep pendekatan berorientasi objek [1] Artifact adalah sepotong informasi yang digunakan untuk dihasilkan dalam suatu proses rekayasa software. Artifact dapat berupa model,deskripsi atau software.
• UML : bahasa standard untuk pengembangan sebuah software  bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat.
• Bahasa model adalah sebuah bahasa yang mempunyai kosa kata dan konsep tatanan/aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem.
Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).
Building blocks  3 (tiga) macam yang terdapat dalam building block adalah katagori benda/Things, hubungan, dan diagram. Benda/things adalah abstraksi yang pertama dalam sebuah model, hubungan sebagai alat komunikasi dari benda- benda, dan diagram sebagai kumpulan / group dari benda-benda/things.
a. Benda/Things
Adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemen-elemen lainnya dari sebuah konsep dan atau fisik. Bentuk dari beberapa benda/thing adalah sebagai berikut:
1. adalah sebuah kelas yang diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas mengimplementasikan 1 atau lebih interfaces. Sebuah kelas dapat digambarkan sebagai sebuah persegi panjang, yang mempunyai sebuah nama, atribute, dan metoda pengoperasiannya.
2. yang menggambarkan‘interface’ merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen.‘ Inte rfac e ’ / antar- muka mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian, umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau komponen.
3. Adalah collaboration yang didefinisikan dengan interaksi dan sebuah kumpulan / kelompok dari kelas-kelas/elemen-elemen yang bekerja secara bersama-sama. Collaborations mempunyai struktura dan dimensi. Pemberian sebuah kelas memungkinkan berpartisipasi didalam beberapacoll aborat ions dan digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.
4. sebuah ‘use case’ adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. ‘use case’ digunakan untuk membentuk tingkah-laku benda/things dalam sebuah model serta di realisasikan oleh sebuah collaboration.
Umumnya :
‘use case’ digambarkan dengan sebuah ‘elips’ dengan garis yang solid, biasanya mengandung nama.
5. sebuah node merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya adalaha sebuah komputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya.


b. Hubungan / Relationship
Ada 4 macam hubungan didalam penggunaan UML, yaitu: dependency,association, generalization, dan realization.

1. Sebuah dependency adalah hubungan semantik antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus.

2. Sebuah association adalah hubungan antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya.
3. Sebuah generalization adalah menggambarkan hubungan khusus dalam
obyek anak/child yang menggantikan obyekpa re nt / induk . Dalam hal ini, obyek
anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada
obyek induk. Digambarkan dengan garis panah.
4. sebuah realization merupakan hubungan semantik antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atauelem ents, serta antara use cases dancol laborations.



c. Diagram
UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu; use-case, class, object, state, sequence, collaboration, activity, component,dan deployment diagram.Diagram pertama adalah use case menggambarkan sekelompok use cases dan aktor yang disertai dengan hubungan diantaranya. Diagram use cases ini menjelaskan dan menerangkan kebutuhan / requirement yang diinginkan/ dikehendakiuser/pengguna, serta sangat berguna dalam menentukan struktur organisasi dan model dari pada sebuah sistem.
a. Use case Diagram
diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem.

b. Class Diagram
• adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
• Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.


Class memiliki 3 area pokok :
1.Nama (dan stereotype)
2. Atribut
3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :
 Private, tidak dapat dipanggil dari luar class yang bersangkutan
 Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
 Public, dapat dipanggil oleh siapa saja


c. StateChart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).

d. Activity Diagram
 Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
 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.

e. Sequence Diagram
• Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
• Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

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

g. Component Diagram
• Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.
• Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil.Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.

h. Deployment Diagram
 Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal
 Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.


C. Bahasa Pemodelan UML

 Use Case Modeling  teknik analisis kebutuhan untuk mendefinisikan aturan-aturan dan prosesproses bisnis, serta bagaimana bentuk dukungan sistem aplikasi untuk proses-proses tersebut.
 Class and Object Modeling  teknik untuk memodelkan kelas-kelas dan objek-objek dari aplikasi serta arsitektur aplikasi.
 Component Modeling  teknik pemodelan unitunit fisik dari kode sumber dan executable units menjadi sebuah aplikasi.
 Distribution and Deployment Modeling  teknik pemodelan bagaimana aplikasi dipetakan ke jaringan penyebaran terdistribusi (distributeddeployment network).

D. Model Konseptual UML

1. Adalah model yang mengabstraksikan komponen-komponen yang menyusun UML:
2. Blok pembangun (building blocks), merupakan kosakata yang menjelaskan bagaimana semantik dan sintaks dari setiap bagian-bagian model UML. Terdapat tiga kategori, yaitu:
• Benda/things adalah abstraksi yang pertama dalam sebuah model, mencakup structural things, behaviora things, grouping things dan notational things
• Hubungan/relationship ialah sebagai alat komunikasi dari benda-benda, mencakup ketergantungan (dependency), asosiasi (association), generalisasi (generalization) danrealisasi (realization).
• Diagram sebagai kumpulan/group dari benda-benda/things, yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. Secara umum,UML mempunyai tujuh diagram, yaitu usecase,class, object, state, sequence, collaboration,
component dan deployment diagram
3. Aturan (rules), menunjukkan bagaimana building block dirangkai/diletakkan bersama-sama untuk membangun model.




 UML mempunyai aturan-aturan semantik untuk :
a. Nama, aturan penamaan untuk things,hubungan antar abstraksi dan diagram
b. Ruang lingkup, konteks yang memberikan arti spesifik dari sebuah nama.
c. Visibility, aturan yang dapat menunjukan bagaimana nama dapat dilihat dan digunakan oleh elemen lain.
d. Integritas, aturan yang menunjukkan bagaimana hubungan antar elemen yang konsisten dan tepat.
e. Eksekusi, aturan yang menunjukkan apa artinya untuk menjalankan atau mensimulasikan model dinamis
4. Mekanisme umum (common mechanism),

mencakup:
• Spesifikasi, penjelasan rinci dari suatu model atau elemen model
• Dandanan (adornment), notasi yang menyediakan representasi visual dari aspek-aspek penting lainnya.
• Pembagian secara umum (common division),pembagian antara kelas dan objek serta pemisahan antara antarmuka dan implementasi.
• Mekanisme pengembangan (extensibility mechanism),mekanisme untuk mengembangkan model yang ada


E. Konsep Objek
Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep (concept), benda (thing), dan sesuatu yang membedakannya dengan lingkungannya. Secara sederhana obyek adalah mobil, manusia,al arm dan lain- lainnya. Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti tabel, database, event, system messages. Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciri- ciri ini yang akan membedakan obyek tersebut dari obyek lainnya.

F. Teknik Dasar OOA/D (Object-Oriented Analysis/Design)
Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi.
 Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu : pemodulan (encapsulation), penurunan (inheritance) danpolymorphism.
a. Pemodulan (Encapsulation)

Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan
menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekantombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.

b. Penurunan (Inheritance)
Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.
c. Polymorphism
Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup / pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, dan metoda yang dibatasi.

Tidak ada komentar:

Posting Komentar