Kamis, 05 Oktober 2017

Slide 2 SMT3

UML
UML Yang dimaksud dengan UML adalah UML merupakan singkatan dari“Unified Modelling Language” yaitu suatu metode permodelan secara visual untuk sarana perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga pendokumentasian sistem software. Saat ini UML sudah menjadi bahasa standar.
Sejarah UML
Pada oktober 1994, Dr.James Rumbaught bergabung denagn perusahaan Rational software., dimana Grady BOOch sudah bekerja disana sebelumnya.Grady Booch mengembangkan Objek Oriented Design (OOD) dan DR.James Rumbaught mengembangkan objek modeling Tecnque (OMT)
Musim gugur 1995 Dr. Ivar Jacobson ikut bergabung dengan duet Rumbaught-Booch, dengan memperkenalkan tool  use case. Trio tersebut ada tahun 1996 Menghasilkan  Unifed Modelling Language  (UML) V.0.9.
Tujuan atau fungsi UML
Inilah beberapa tujuan atau fungsi dari penggunaan UML, yaitu :
  • Dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai macam pemerograman maupun proses rekayasa.
  • Dapat menyatukan praktek-praktek terbaik yang ada dalam permodelan.
  • Dapat memberikan model yang siap untuk digunakan, merupakan bahasa permodelan visual yang ekspresif untuk mengembangkan sistem dan untuk saling menukar model secara mudah.
  • Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam perancangannya yang nantinya akan diketahui informasi yang detail mengenai koding suatu program.
  • Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya digunakan untuk memodelkan perangkat lunak(software) saja.
Dapat menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan oleh manusia maupun oleh mesin.
Konsep Dasar
 Objek
·         Classes
Sekelompok object yang mempunyai attribute, operasi, dan semantik
·         Interfaces
Antar-muka yang menghubungkan dan melayani antarkelas dan elemen mendefinisikan sebuah kelompok dari spesifikasi pengoperasian.
·         Collaboration
Interaksi dari kumpulan kelas-kelas
·         Uses Cases
Pembentuk tingkah laku objek dalam sebuah model serta direalisasikan sebuah collaboration.
·         Nodes
Bentuk fisik dari elemen-elemen yang ada pada saat dijalankanya sebuah sistem.

Relationship
·         Dependency
hubungan semantik antara dua objek yang mana sebuah objek berubah mengakibatkan objek satunya akan berubah pula.
·         Association
hubungan antar benda secara structural yang terhubungan diantara objek dalam kesatuan objek.
·         Generalizations
hubungan khusus dalam objek anak yang menggantikan objek induk dan memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada objek induk.
·         Realizations
hubungan semantik antarpengelompokkan yang menjamin adanya ikatan diantaranya yang diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations.

Diagram UML
·         Diagram Use Case
Diagram Use Case berguna dalam tiga hal :
a. Menjelaskan fasilitas yang ada (requirements)
b. Komunikas dengan klien
c. Membuat test dari kasus – kasus secara umum


contoh

















·         Diagram Class
Diagram Class mempunyai 3 macam relationalships (hubungan),
sebagai berikut :
A. Association, suatu hubungan antara bagian dari dua kelas yang terjadi jika salah satu bagian dari kelas mengetahui kelas yang lain dalam melakukan suatu kegiatan..
B. Aggregation, hubungan association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan dan memiliki titik pusat yang mencakup keseluruhan bagian.
C. Generalization, hubungan turunan dengan mengasumsikan satu kelas merupakan suatu kelas super dari kelas yang lain.

·         Diagram Package dan Object
Merupakan kumpulan elemen–elemen logika UML yang bertujuan untuk mengelompokkan Diagram class yang lebih kompleks.
·         Diagram Sequence
Merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan yang diatur berdasarkan waktu.

·         Diagram Collaboration
Merupakan diagram Interaction berfungsi membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu informasi itu dikirimkan dan bukan pada waktu penyampaian message.

·         Statechart
Diagram yang menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima.

First state adalah keadaan kosong dari tempat proses dimulai. States bagian berikutnya tiba untuk event seperti send request, confirm request, dan dispatch order, Event  ini bertanggung jawab atas perubahan keadaan objek order.

Selama siklus hidup sebuah object (contoh di atas object order)  ia melewati keadaan dimana mungkin ada beberapa pintu keluar yang tidak normal. Kelonggaran abnormal ini bisa terjadi karena beberapa masalah pada sistem. Bila keseluruhan siklus hidup selesai, maka transaksi ini dianggap sebagai transaksi lengkap seperti terlihat pada gambar diatas.

·         Diagram Activity
Menunjukkan bagaimana aktifitas – aktifitas tersebut bergantung satu sama lain dan berfokus pada aktifitas – aktifitas yang terjadi yang terkait dalam suatu proses tunggal.


·         Diagram Component
sebuah kode–kode modul yang merupakan fisik sebenarnya dari diagram Class.

·         Deployment Diagram
A. Menggambarkan arsitektur system
B. Pemetaan software(component pada component diagram) yang jalan di sebuah hardware (node pada  deployment diagram)
C.Software component tidak selalu menggambarkan setiap software component yang ada pada sebuah    Komputer(system operasi/Microsoft Office, dll), akan tetapi software component tersebut akan digambarkan  ketika ada hubungan dengan pengimplementasian sebuah system.
D. Menggambarkan bagaimana s/w dan h/w bekerja sama
E. Menggambarkan topologi jaringan
F. Artifact













Posted on by Bagus Iwang Kusuma R. | No comments

Slide 1 SMT3


Pemodelan Sistem Bebasis Objek

Konsep awal programming (Basic) dengan kekuatan GOTO statement, ini merupakan Non Procedural Language.Procedural   Language   /   Bahasa   pemograman   terstruktur menghilangkan kelemahan GOTO konsep non procedural language Contoh : Pascal, COBOL, FORTRAN, BASIC dll Object Oriented Programming, mengarah pada konsep object. Akhir tahun 1960 diperkenalkan pertama kali dengan bahasa SIMULA. Tahun 1970 dikembangkan Smaltalk. Bahasa pemrograman lainnya : Clipper 5.2 Java, Prolog dll

Visual Object Oriented Programming, tahun 1991 diperkenalkan pertama kali dengan bahasa Visual Basic oleh Microsoft Bahasa pemograman lainnya : Visual C++, Visual Foxpro 3.0, CORBA (Common Object Request Broker Architecture), dll

Pengembangan berorientasi objek merupakan cara berpikir baru tentang perangkat lunak berdasarkan abstraksi yang terdapat dalam dunia nyata. Dalam konteks pengembangan menunjuk pada bagian awal dari siklus hidup pengembangan sistem, yaitu survei, analis, desain, implementasi dan pemeliharaan sistem. Hal yang lebih penting dalam pengembangan berorientasi objek adalah konsep mengidentifikasi dan mengorganisasi domain aplikasi dari pada penggunaan bahasa pemrograman, berorientasi objek atau tidak.

Berorientasi objek dalam proses konseptual terpisah dengan bahasa pemrograman sampai tahap terakhir. Pengembangan berorientasi objek secara mendasar merupakan cara berpikir baru dan bukan suatu teknik pemrograman. Dapat melayani sebagai media spesifikasi, analisa, dokumentasi dan interface seperti halnya pemrograman.

Bahkan sebagai alat pemrograman, dapat memiliki berbagai sasaran, termasuk bahasa pemrograman dan basis data sebaik dengan bahasa pemrograman berorientasi obyek

Fokus utama metodologi ini pada objek, dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang memiliki atribut dan metode.

Diperkenalkan tahun 1980 menggunakan perangkat kerja dan teknik-teknik yang dibutuhkan dalam pengembangan sistem, yaitu dynamic dan static object oriented model, state transition diagram dan case scenario.

Objek dan kelas

Objek didefinisikan sebagai konsep, abstraksi atau benda dengan batasan dan arti untuk suatu masalah. Semua objek mempunyai identitas yang berbeda dengan lainnya. Kadang-kadang objek berarti suatu barang, maka digunakan istilah object instance, dan object class untuk menunjukkan satu grup dari barang yang sama. Sebuah objek merupakan sebuah entitas yang mencakup data dan metode. Kelas merupakan satu atau lebih objek dengan persamaan atribut dan metode, sedangkan kelas-&-objek adalah kelas dengan satu atau lebih objek di dalamnya. Nama kelas adalah kata benda tunggal, atau kata sifat dan kata benda.

Istilah-istilah Objek

Atribut  : Data item yang menegaskan Objek
Operasi : Fungsi di dalam kelas yang dikombinasikan bentuk tingkah laku kelas
Metode  : Pelaksanaan prosedur (badan dari kode yang mengeksekusi respon terhadap permintaan objek lain di dalam sistem).

Struktur object dan hirarki kelas

1.Whole-Part Structure memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas lain yang disebut juga sub objek. Contohnya, kelas Mobil adalah Whole dan komponennya Mesin, Rangka, dll merupakan Part1, Part 2, …, Partn.

2.Gen-Spec memperlihatkan kelas sebagai spesialisasi dari kelas diatasnya Kelas yang mempunyai sifat umum disebut Generalization, Superclass atau Topclass. Kelas yang mempunyai sifat khusus disebut Specialization. Contohnya, kelas Mobil adalah Generalization, sedangkan Sedan, Truk, Minibus, dll merupakan Specizlization1, Specialization2, dst

Tahap Tahap Metodologi
1.Analisa
Model analisa adalah abstraksi yang ringkas dan tepat dari apa yang harus dilakukan oleh sistem, dan bagaimana melakukannya. Objek dalam model harus merupakan konsep domain dari aplikasi, bukan merupakan implementasi komputer seperti struktur data.
2. Design
Fokus object design adalah perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama.
3.Impamentasi
Kelas, objek dan relasinya dikembangkan dalam tahap object design, akhirnya diterjemahkan ke dalam bahasa pemrograman, basis data, dan implementasi perangkat keras.Dalam tahap implementasi hal yang penting adalah mengikuti penggunaan perangkat lunak yang baik.

Objek
Objek adalah kombinasi antara struktur data dan perilaku dalam satu entitas dan mempunyai nilai tertentu yang membedakan entitas. Bisa berupa:
obyek konkrit : rumah, sekolah, dosen, mahasiswa, dll.
obyek abstrak : mata kuliah, penjadwalan, dll.

Karakteristiknya adalah:
Memiliki Identity (identitas)
Memiliki klasisfikasi
Memiliki state (kondisi/keadaan)
State sebuah objek dinyatakan dalam attribute/properties
Memiliki behavior (perilaku/method)
Perilaku suatu objek dinyatakan dalam operation.
Perilaku suatu objek adalah mendefinisikan bagaimana objek
tersebut bertindak dan memberikan reaksi.

Contoh Objek

Attribut:
Nomor Polisi
Ban, Stir,Pedal

Behavior/Tingkah Laku
Cara Menghidupkan Mesin
Cara Mengendarai Mesin
karakter berorientasi objek
1.Encapsulation (pembungkusan)
Pengkapsulan merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Dengan demikian objek atau prosedur dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek
lain kecuali prosedur yang berada dalam objek itu sendiri. Sebuah object yang terkapsulasi dapat dianggap sebagai black box. Proses di dalamnya adalah tertutup bagi klien, yang hanya memanggil metode yang menjadi interface. Dalam Java, dasar enkapsulasi adalah Class. Variabel atau method sebuah class tidak dapat diakses dengan menjadikan class tersebut private/protected. 

2.Inheritance (pewarisan)
Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode  dari  induknya  langsung.  Bila  inheritance dipergunakan, kita tidak perlu membuat atribut dan metode
lagi pada anaknya, karena telah diwarisi oleh induknya. Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di antara class yang mempunyai hubungan secara hirarki.

Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
– Class yang mewarisi disebut superclass
– Class yang diberi warisan disebut subclass
– Sebuah subclass bisa mewariskan atau berlaku sebagai
superclass bagi class yang lain => disebut multilevel inheritance 

Generalisasi adalah relasi antara beberapa subclass dengan superclass di atasnya. Kelas yang lebih rendah mewarisi semua atribut yang dimiliki oleh kelas yang lebih tinggi dan juga memiliki atribut yang membedakannya dengan kelas-kelas lain yang sederajat.

3.Polymorphisme
Polymorphisme yaitu aksi yang sama yang dapat dilakukan terhadap beberapa objek. Polimorfisme berarti bahwa  operasi  yang  sama  mungkin  mempunyai perbedaan dalam kelas yang berbeda.
Polymorphism adalah kemampuan untuk tampil dalam berbagai bentuk. Hal ini mengacu pada kemungkinan message yang sama dikirimkan ke obyek-obyek lain pada class yang berbeda, dan merespon secara berbeda.

Perbedaan object orientade dan non object
Penggunaan alat

1.Metodologi  non  objek  menggunakan  beberapa  alat  untuk menggambarkan model seperti data flow diagram, entity relationship diagram dan structure chart. Sedangkan metodologi berorientasi objek menggunakan satu jenis model dari tahap analisa sampai implementasi, yaitu diagram objek.
2. Data dan proses
Pada metodologi non objek, data dan proses dianggap sebagai dua komponen yang berlainan Sedangkan pada metodologi berorientasi objek, data dan proses merupakan satu kesatuan, yaitu bagian dari objek.
3. Bahasa pemrograman
Metodologi non objek dipergunakan untuk melengkapi pemrograman terstruktur pada bahasa generasi ketiga
Metodologiobjek dipergunakan untuk melengkapi pemrograman terstruktur pada bahasa generasi keempat.

Posted on by Bagus Iwang Kusuma R. | No comments