Kamis, 24 April 2014

sistem berorientasi objek

Kata Pengantar

Dengan mengucap puji syukur kehadirat Allah SWT atas berkat dan karuniaNya yang diberikan kepada kita semua, izinkanlah kami mengucapkan syukur yang sebesar-besarnya sehingga makalah ini bisa dapat diselesaikan dengan baik.

Adapun makalah ini menjelaskan tentang “SISTEM BERORIENTASI OBJEK=>UML”. Apa itu pengertian dan definisinya, maupun penjelasan terperinci tentang sistem berorientasi objek (UML).

Analisis berorientasi objek / Object-oriented analysis (OOA) adalah pendekatan yang digunakan untuk mempelajari objek yang sudah ada untuk mengetahui apakah mereka dapat digunakan kembali atau diadaptasi untuk pemakaian baru, atau menentukan satu objek baru atau yang dimodifikasi yang akan digabung dengan objek yang sudah ada ke dalam suatu aplikasi komputasi bisnis yang sangat berharga.
Analisis sistem berorientasi fokus pada pendefinisian struktur statis dan model sistem informasi yang dinamis. Ada beberapa bahasa pemrograman yang berdasarkan pendekatan berorientasi objek, diantaranya Visual Basic, C++, Powerbuilder, Object Pascal (seperti di Delphi), Smalltalk, Java dan Unified Modeling Language (UML).
Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelandesain program berorientasi objek (OOP) serta aplikasinya. 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. Selebihnya penyusun jelaskan di halaman pendahuluan secara terperinci. 
          Penyusun menyadari bahwa baik isi maupun cara penyusunan makalah ini belum sempurna. Oleh karena itu,segala saran,tegur sapa,dan kritik membangun sangat penyusun harapkan. Demikianlah mudah-mudahan makalah ini berguna dan dapat dimanfaatkan sebaik-baiknya. 




DAFTAR ISI

Halaman Judul
Kata Pengantar
Daftar Isi

BAB I PENDAHULUAN
 1.1  Pendahuluan Dan Definisi Analisis Sistem Berorientasi Objek
 1.2 Latar Belakang
 1.3 Pengertian UML
 1.4 Konsepsi Dasar UML
 1.5 Langkah-Langkah Penggunaan UML


Kesimpulan
Daftar Pustaka 









BAB I
Pendahuluan

1.1  Pendahuluan Dan Definisi Analisis Sistem Berorientasi Objek

Analisis berorientasi objek / Object-oriented analysis (OOA) adalah pendekatan yang digunakan untuk mempelajari objek yang sudah ada untuk mengetahui apakah mereka dapat digunakan kembali atau diadaptasi untuk pemakaian baru, atau menentukan satu objek baru atau yang dimodifikasi yang akan digabung dengan objek yang sudah ada ke dalam suatu aplikasi komputasi bisnis yang sangat berharga.
Analisis sistem berorientasi fokus pada pendefinisian struktur statis dan model sistem informasi yang dinamis. Ada beberapa bahasa pemrograman yang berdasarkan pendekatan berorientasi objek, diantaranya Visual Basic, C++, Powerbuilder, Object Pascal (seperti di Delphi), Smalltalk, Java dan Unified Modeling Language (UML).
Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem.

Unified Modeling Language (UML) adalah himpunan struktur danteknik untuk pemodelan desain program berorientasi objek (OOP) sertaaplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuahorganisasi 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 adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis 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 dalamindustri terus meningkat.  Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem. Singkatnya 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.

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

1.2 Latar Belakang

Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan.Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal seperti scalability,security, dan eksekusi yang robust walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama. 

Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. 

Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya. 

Kesuksesan suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebuan segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan. 

Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang sebenarnya (proses) akan membuat proyek gagal. Dan pemahaman terhadap metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat. 

1.3 Pengertian UML

Apa itu UML ?

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. 

Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasabahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. 

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak.


Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). 

Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui 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 group/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 (OMG – http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek. 

1.4 Konsepsi Dasar UML 

Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam gambar dibawah. 

Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut. 

Lalu darimana kita mulai ? Untuk menguasai UML, sebenarnya cukup dua hal yang harus kita perhatikan:
1. Menguasai pembuatan diagram UML
2. Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML
Tulisan ini pada intinya akan mengupas kedua hal tersebut.
UML mendefinisikan diagram-diagram sebagai berikut:
·         Use Case Diagram untuk memodelkan proses bisnis.
·         Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
·         Sequence Diagram untuk memodelkan pengiriman pesan (message) antarobjects.
·         Collaboration Diagram untuk memodelkan interaksi antar objects.
·         State Diagram untuk memodelkan perilaku objects di dalam sistem.
·         Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalamsystem.
·         Class Diagram untuk memodelkan struktur kelas.
·         Object Diagram untuk memodelkan struktur object.
·         Component Diagram untuk memodelkan komponen object.
·         Deployment Diagram untuk memodelkan distribusi aplikasi.

Use Case Diagram
Use case 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. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya.

Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. 

Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. 

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. 

Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. 

Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. 

Class Diagram 

Class 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 tiga 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 

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time. 

Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package. 

Hubungan Antar Class
1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 

2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”). 

3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. 

4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian. 

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

Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah. 

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. 

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. 

Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. 

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
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. 

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. 

Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.
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.
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 darikomponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain. 

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. 

1.5 Langkah-Langkah Penggunaan UML 

 Langkah-langkah pembuatan UML (1):
Ø  Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
Ø  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.
Ø  Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
Ø  Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
Ø  Berdasarkan use case diagram, mulailah membuat activity diagram.

Langkah-langkah pembuatan UML (2):
Ø  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.
Ø  Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.
Ø  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.
Ø  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.
Langkah-langkah pembuatan UML (3):
Ø  Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
Ø  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.
Ø  Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual
Ø  Piranti lunak siap dirilis. 

Tool Yang Mendukung UML
Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource. Beberapa diantaranya adalah:
• Rational Rose (www.rational.com)
• Together (www.togethersoft.com)
• Object Domain (www.objectdomain.com)
• Jvision (www.object-insight.com)
• Objecteering (www.objecteering.com)
• Visual Object Modeller (www.visualobject.com)









KESIMPULAN

Analisis berorientasi objek / Object-oriented analysis (OOA) adalah pendekatan yang digunakan untuk mempelajari objek yang sudah ada untuk mengetahui apakah mereka dapat digunakan kembali atau diadaptasi untuk pemakaian baru, atau menentukan satu objek baru atau yang dimodifikasi yang akan digabung dengan objek yang sudah ada ke dalam suatu aplikasi komputasi bisnis yang sangat berharga.
Analisis sistem berorientasi fokus pada pendefinisian struktur statis dan model sistem informasi yang dinamis. Ada beberapa bahasa pemrograman yang berdasarkan pendekatan berorientasi objek, diantaranya Visual Basic, C++, Powerbuilder, Object Pascal (seperti di Delphi), Smalltalk, Java dan Unified Modeling Language (UML).
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis 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 dalamindustri terus meningkat.  Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem. Singkatnya 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.

Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasabahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. 

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak.


Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). 

Untuk menguasai UML, sebenarnya cukup dua hal yang harus kita perhatikan:
1. Menguasai pembuatan diagram UML
2. Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML
UML mendefinisikan diagram-diagram sebagai berikut:
·         Use Case Diagram untuk memodelkan proses bisnis.
·         Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
·         Sequence Diagram untuk memodelkan pengiriman pesan (message) antarobjects.
·         Collaboration Diagram untuk memodelkan interaksi antar objects.
·         State Diagram untuk memodelkan perilaku objects di dalam sistem.
·         Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalamsystem.
·         Class Diagram untuk memodelkan struktur kelas.
·         Object Diagram untuk memodelkan struktur object.
·         Component Diagram untuk memodelkan komponen object.
·         Deployment Diagram untuk memodelkan distribusi aplikasi.



                                          Daftar Pustaka







KONSEP PENGEMBANGAN SISTEM BERORIENTASI OBJEK

1.1. Apa itu OOP (Object Oriented Programming)
OOP adalah suatu cara baru dalam berfikir serta berlogika dalam menghadapi masalah – masalah yang akan dicoba atasi dengan bantuan komputer.
OOP tidak seperti pemrograman terstruktur , mencoba melihat suatu permasalahan lewat pengamatan dunia nyata dimana setiap objek adalah identitas tunggal yang memiliki kombinasi struktur data dimana struktur data dan fungsi didefinisikan secara terpisah dan tidak berhubungan secara erat.
Filosofi OOP menciptakan sinergi yang luar biasa sepanjang siklus pengembangan perangkat lunak ( Perencanaan, Analisis, Perancangan dan implementasi ), sehingga daapt diterapkan pada perancangan sistem secara umum, menyangkut perangkat lunak, perangkat keras serta sistem informasi secara keseluruhan.
A. Konsep Objek
Apakah Yang disebut dengan Objek ?
Objek adalah abstraksi atau sesuatu yang memiliki arti bagi aplikasi yang akan kita kembangkan.
Objek biasanya adalah kata benda, namun objek dalam konteks OOP bukan hanya objek nyata yang biasa dilihat serta diraba dan dilihat secara kasat mata seperti mobil, pesawat terbang, sapi, kode dll, namum juga menyangkut entitas – entitas konseptual seperti rumus persamaan kuadrat, liberalisme dll.
B. Identitas
Menurut Khusliafian (1995) dikutip dari buku object oriented modelling and design tulisan Jmes Rumbough, dkk identitas adalahSesuatu yang membedakan suatu objek dari objek yang lain.
Konsep identitas yaitu objek yang dapat dibedakan satu sama lain, bebrapa objek dapat dikelompokkan /dideklarasikan/ digolongkan menjadi satu kelas yang tunggal, misalnya kita tahu dari ilmu biologi bahwa manusia dan kera serta beberapa jenis binatang yang lain dapat digolongkan menjadi 1 kelas yang dinamakan primata.
c. Konsep Polimorfisme
Polimorfisme adalah konsep yang menyatakan bahwa suatu fungsi yang sama dapat diterapkan dan dapat memiliki oleh kelas – kelas yang berlainan.
Misalnya fungsi makan dapat digolongkan baik pada kelas primata maupun pada kelas burung, meskipun mereka melakukan dengan cara yang berbeda dengan cara mereka masing – masing.
Pada kasus komputer misalnya operasi “gambar”dapat ditemukan pada List Box, Combo Box Button dll, meskipun operasinya sama implementasinya berbeda untuk masing – masing objek pada layar komputer.
Setiap Kelas memiliki sifat yang umum dari objek didalamnya misal kelas primata diatas memiliki ciri yang sama, manusia dan kera misalnya memiliki sifat yang sama yaitu menyusui anaknya, bernafas dengan hidung , makan dengan mulut memiliki 2 tangan, 2 kaki dsbnya. Namun mengacu pada pada konsep identitas diatas bahwa setiap objek memiliki identitias yang berbeda. MAnusi dan kera misalnya dibedakan dari kemampuan otaknya dalam memproses data dan informasi, menyimpan informasi serta melakukan abstraksi ( abstraksi ini memungkinkan manusia melakukan pemodelan sedang kera tidak bisa melakukannya).
D. Konsep Pewarisan
Pewarisan adalah berbagi atribut dan operasi antar kelas berdasrkan hirarki kelas.
Contoh Scrolling Window ( Window yang memiliki penggulung ) serta Fixed Window ( Window yang tidak memiliki penggulung ) dapat diklasifikasikan pada kelas yang lebih tinggi yaitu Window. Kedua kelas dibawahnya mewarisi data serta fungsi yang dapat dimiliki window, misal tempat di layar monitor, dapat diperkecil, diperbesar , memiliki warna tertentu bereaksi terhadap pengklikan tombol dsb.
Dalam konteks pemrograman berorientasi objek pewarisan akan sangat mengurangi perulangan dan mungkin merupakan salah satu keunggulan utama dalam rekayasa perangkat lunak karena memungkink.an penulisan kode yang lebih sedikit tanpa mengorbankan esensi pernagkat lunak secara keseluruhan
1.2. Apa itu Objek oriented Development
Adalah Suatu cara pengembangan perangkat lunak dan sistem informasi berdasarkan abstraksi objek – objek yang ada didunia nyata.
Abstraksi adalah menemukan serta memodelkan fakta – fakta dari suatu objek yang penting bagi suatu aplikasi.
Brooks (1987) dikutif dari buku object oriented modelling and design tulisan james rumbough dkk mengemukakan bahwa bagian tersulit dari pengembangan perangkat lunak atau sistem informasi adalah tahap analisis dimana kita harus menganalisis masalah yang rumit yang kita jumpai pada dunia nyata serta melakukan abstraksi terhadap maslah itu, Kemudian melakukan perancangan agar dapat diimplementasikan dengan cepat dan akurat pada komputer baik hardware maoupun software.
1.3. Tema – tema Object Oriented
Abstraksi
Adalah menemukan hal – hal yang essensial pada suatu objek dan memengabaikan hal – hal yang sifatnya Insendental.
Pada pengembangan sistem informasi ini berarti memfokuskan pada apa itu objek serta apa yang objek lakukan sebelum memutuskan bagaimana ia dapat diimplementasikan
B. Pembungkusan ( Encapsulation )
Adalah Meninggalkan aspek eksternal dari objek yang dapat diakses oleh objek lain dan memfokuskan diri pada implementasi internal suatu objek.
Rincian imlementasi internal dari suatu objek tersembunyi dari objek lain dan terpisah dari implementasi eksternal yaitu antarmuka ( interface ) suatu objek dengan objek yang lain. Oleh karena itu implementasi internal suatu objek dapat dirubah tanpa mempengaruhi aplikasi yang menggunakannya.
Pembungkusan sebenarnya tidak unik pada bahasa pemrograman berorientasi objek tetapi kemampuannya untuk menggabungkan struktur data dan prilaku ( Fungsi dan Prosedur ) dalam suatu entitas tunggal membuat bhs berorientasi objeklah berdaya guna dibandingkan konvensional yang memisahkan struktur data dan prilaku
C. Penggabungan Data dan Prilaku ( Fungsi )
Pada sistem berorientasi objek hierarki strukutr data adalah identik pada hierarki pewarisan operasi, artinya struktur data pada setiap kelas akan diwariskan pada objek – objek dari kelas mana objek itu diciptakan serta diwariskan pula pada kelas – kelas yang secara hierarkis berada dibawah kelas induk.
D. Sharing
Teknik pengembangan sistem informasi berorientasi objek mengijinkan sharing ( berbagi data / informasi serta berbagi penggunaan suatu operasi ) pada beberapa tingkatan.
Pengemabangan berorirentasi objek tidak hanya mengijinkan bebrabgi informasi fungsi aplikasi , tetapi juga menawarkan kemungkinan untuk penggunaan ulang perancangan dan kode pada proyek – proyek mendatang.
Teknologi berorientasi objek menyediakan alat – alat bantu seperti abstraksi, pembungkusan, pewarisan untuk membangun komponen – komponen yang dapat digunakan ulang ( reusable component ) baik antaraplikasi dalam suatu proyek maupun antarproyek yang secara garis besar tidak saling berkaitan secra erat.
E. Penekanan Pada Struktur Objek, Bukan Pada Struktur Prosedur
Teknologi berorientasi objek menekankan pada apa itu objek bukan pada bagaimana objek digunakan. Penggunaan objek sangat bergantung pada rincian aplikasi dan sering berubahsepanjang masa pengembangan.
Pengembangan berorientasi objek sangat menekankan pada struktur data dan kurang menekankan pada struktur prosedurseperti yang terjadi pada metodologi dekomposisi fungsional tradisional.
Pengembangan berorientasi objek mirip dengan teknik yang digunakan untuk merancag basis data bertipe ralasional.
F. Sinergi
Identitas, klasifikasi, polimorfisme serta pewarisan adalah karakteristik utama dari bhs pemrograman berorientasi objek. Setiap konsep dapat digunakan secara terpisah, tetapi mereka saling melengkapi secara sinergis.
1.4. Keunggulan Metoda Berorientasi Objek Dibanding Pendekatan Terstruktur
A. Pendekatan terstruktur
Pada pendekatan terstruktur ini permasalahan dilihat sebagai urutan yang harus dikerjakan seperti menerima masukan, pemrosesan kemudian menghasilkan keluaran.
Pendekatan terstruktur terutama adalah menulis daftar perintah yang harus diikuti oleh komputer kemudian mengorganisasi perintah – perintah tersebut kedalam kelompok – kelompok yang dinamakan fungsi atau prosedur yang umumnya menggunakan flowchart (diagram alir) untuk mengorganisasi aliran perintah dari suatu aksi keaksi yang lain.
Kelemahan pendekatan terstruktur adalah data global, pada program yang berukuran sangat besar, sangat sulit untuk dilacak, dan jika kita ingin merevisi setiap prosedur / fungsi yang menggunakan data global tersebut akan memakan biaya , tenaga dan waktu.
Tidak menggambarkan secara nyata dunianyata dengan baik sebabnya adalah karena fungsi – fungsi berorientasi pada aksi dan tidak berhubungan langsung dengan permasalahan.
Karakteristik utama yang nyata pada pendekatan berorientasi prosedur / fungsi adalah sbb:
a. Penekanan pada sesuatu yang harus dikerjakan ( algoritma pemecahan masalah ).
b. Program berukuran besar dipecah – pecah menjadi program yang lebih kecil.
c. Kebanyakan fungsi atau prosedur berbagi data global.
d. Pendekatan adalah pendekatan atas ke – bawah(top down approach )
e. Data bergerak secara bebas dalam sistem dan satu fungsi ke fungsi yang lain yang terkait.
f. Fungsi – fungsi menstranformasi data dari satu bentuk ke bentuk yang lain.
B. Paradigma Brorientasi Objek
Faktor utama dari ditemukannya pendekatan berorientasi objek adalah karena ditemukannya kekurangan – kekurangan pada pendekatan terstruktur: biaya pengembangan perangkat lunak sesuai dengan berkembangnya keinginan / kebutuhan pengguna, pemeliharaan yang sukar , lamanya penyelesaian suatu proyek, jangka waktu penyelesaian proyek selalu terlambat, biaya perangkat lunak yang sangat tinggi dll.
Pendekatan berorientasi objek membuat data terbungkus pada setiap fungsi / prosedur dan melindunginya terhadap perubahan yang tidak dikehendakidari fungsi yang berada diluar.
Beberapa karakteristik yang menjadi ciri – ciri dari pendekatan berorientasi objek adalah sbb:
- Pendekatan lebih pada data dan bukannya pada prosedur / fungsi.
- Program besar di bagi pada apa yang dinamakan objek – objek.
- Struktur data dirancang dan menjadi karakteristikdari objek – objek.
- Fungsi – fungsi yang mengoperasikan data tergabung dalam suatu objek yang sama.
- Data tersembunyi dan terlindung dari fungsi / proseduryang ada diluar.
- Objek – objek dapat salng berkomunikasi dengan saling mengirim message satu sama lain.
- Pendekatan adalah dari bawah keatas ( button up approach ).

Senin, 21 April 2014

Cara mengatasi Flash Disk tidak bisa diformat/Unable to format

Assallamualaikum sobat

kali ini saya akan memberikan info cara memperbaiki Flash Disk tidak bisa diformat/Unable to format.
Pasti sobat oakers pernah menyolokan flashdisk ke laptop/pc namun langsung minta format,ketika di format malah gagal. jangan khawatir saya punya cara untuk memperbaiki nya.

oke sobat, langsung saja ;
1. masukkan flashdisk yang bermasalah ke port USB yang tersedia, maka akan muncul seperti ini

coba saja pilih "Format Disk" ,  terkadang langsung bisa, namun ada juga yang gagal seperti ini. 






hal itu disebabkan tidak ada partisi yang terformat di dalam FlashDisk.
2. Buka CMD dengan administrator
3. Masukkan  perintah "diskpart" Tunggu sejenak, lalu masukkan perintah "List volume"
 bisa kita lihat status pada volume 4, "unusable" .
4. masukkan perintah "select volume # " ( nomor volume berbeda disetiap pc/laptop !!!) , kemudian masukkan perintah "list partition" .
 lihat, tidak ada partisi yang terformat. Ini lah yang menjadi penyebabnya
5. maka kita harus membuat partisi di flash disk ini . masukkan perintah "create partition primary"
 jika sudah sukses, maka kita ketahap selanjutnya
5. format flash disk seperti biasa, melalui windows explorer . klik kanan pada drive n (sesuaikan dengan letter di laptop/pc anda) kemudian pilih format

 jika pemberitahuan nya adalah "Format Complete "  maka Flash disk anda telah berhasil di format dan siap digunakan lagi.

Semoga bermanfaat

Wassallamualaikum Wr.Wb