Selasa, 01 November 2011

Perbedaan sistem orientasi objek dengan sistem terstruktur


PERBEDAAN SISTEM ORIENTASI OBJEK DENGAN SISTEM TERSTRUKTUR




Nama : Mirza Fahmi Anshari
NPM : 54411502
Kelas : 1IA01



UNIVERSITAS GUNADARMA


KATA PENGANTAR
Pertama-tama penulis ingin mengucapkan puja dan puji syukur atas kehadirat Allah SWT yang telah banyak melimpahkan rahmat dan hidayah-Nya , sehingga karya ilmiah ini dapat penulis selesaikan.

Penulis mengakui bahwa penulis hanyalah manusia biasa yang memiliki keterbatasan dalam berbagai hal. Oleh karena itu, tidak ada hal yang dapat dituntaskan secara sempurna, begitupula dengan makalah  yang penulis selesaikan ini. Tidak semua hal yang menyangkut judul di makalah ini yang dapat penulis jelaskan secara mendetail. Tetapi, penulis berusaha melakukan sebisa yang memang penulis bisa lakukan.

Dengan menyelesaikan makalah ini, penulis mengharapkan agar banyak manfat yang dipetik dan diambil dari sini. Semoga dengan adanya makalah ini siapa saja yang membaca akan mengerti akan perbedaan antara system orientasi ojek dengan siste orientasi terstruktur.




DAFTAR ISI

Kata Pengantar…………………………………………………………………………………………
Daftar Isi………………………………………………………………………………………………
          BAB 1: PENDAHULUAN
                A.Latar belakang masalah………………………………………………………
B.Tujuan Makalah………………………………………………………………
C.Metode Penulisan…………………………………………………………………………
BAB 2 : PEMBAHASAN
A.   Pengertian Sistem Orientasi Objek……………………………………………
B.    Pengertian Sistem Orientasi Terstruktur……………………………………
C.    Perbedaan Sistem Orientasi Objek Dengan Terstruktur…………………
BAB3 : PENUTUP
A.Kesimpulan……………………………………………………………………
B. Daftar Pustaka………………………………………………………………
BAB 1
PENDAHULAN

A.Latar Belakang
Pada saat ini kita sudah mempelajari apa yang dimaksud dengan system orientasi objek dan system terstruktur,dimana yang telah di pelajari itu adalah bagaimana cara kita membuat sebuah program. Munkin pada saat ini masih banyak yang belum mengetahui tetang perbedaaan antara system orientasi objek dengan system orientasi terstruktur.di sini saya akan membahas tentang perbedaan  antara system orientasi objek dengen system orientasi terstruktur.
B.Tujuan dan Manfaat
      Tujuan dari pembuatan makalah ini adalah agar pembaca dapat memahami lebih jelas tentang perbedaan antara system orientasi objek dan system orietasi terstruktur. Manfaat yang didapat setelah membaca makalah ini kita dapat membedakan system orientasi objek dengan system orientasi tersturktur. Dengan kita dapat memahami perbedaan tersebut kita dapat lebih mengerti dan dapat lebih memahami tentang pemrograman.



BAB 2
PEMBAHASAN

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

 B.Pengertian Sistem Berorientasi Terstruktur
Untuk program yang simpel/sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit, maka digunakan pemrograman berorientasi objek. Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya, sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih dikenal dengan modular. Terdapat juga perbedaan secara spesifik antara Pemrograman Berorientasi Objek dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada Pemrograman Terstruktur tidak terdapat kelas dan objek.
Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur.
Kontrol program terstruktur:
1.Runtun – urut (sequence)
2.Pilihan (selection)
3.Pengulangan (repetition – loop)

C.Perbedaan Orientasi Objek Dengan Terstruktur
Sifat-sifat dari pemrograman terstruktur dapat diuraikan sebagai berikut :

1. Memuat teknik pemecahan masalah yang logis dan sistematis
2. Memuat algoritma yang efisien, efektif dan sederhana
3. Program disusun dengan logika yang mudah dipahami
4. Tidak menggunakan perintah GOTO
5. Biaya pengujian program relatif rendah
6. Memiliki dokumentasi yang baik
7. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah


Berbeda dengan OOP. Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :

– Encapsulation (pembungkusan)
Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek.
– Inheritance (pewarisan)
Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.
– Polymorphism (polimorfisme –perbedaan bentuk)
Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda




Bisa dikatakan pada pemrograman berorientasi objek, dapat dilakukan sebuah programming terhadap code yang lebih baik daripada pemrograman terstruktur, itu juga untuk kaliber atau skala rumit atau besar, sedangkan untuk coding yang skala kecil lebih mudah menggunakan pemrograman terstruktur dikarenakan lebih singkat dan mudah tanpa banyak perubahan yang penting.
berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).

Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
1. maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2. pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
3. dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.

Jadi, sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.

permodelan yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.







BAB 3
PENUTUP

A.Kesimpulan
Jadi, sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.

permodelan yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.
B.Daftar Pustaka
http://nzircui.wordpress.com/2010/10/24/ciri-ciri-sistem-berorientasi-objek/
http://myblogar.blogspot.com/2011/02/perbedaan-pemrograman-terstruktur.html
http://www.ms-room.com/index.php?topic=3789.0

Makalah UML

MAKALAH
UML


NAMA     : Mirza Fahmi Anshari
KELAS     : 1IA01
NPM      : 54411502


Kata Pengantar

Puji syukur kehadirat Allah SWT atas segala limpahan Rahmat dan karuniaNya sehingga saya dapat menyelesaikan penyusunan makalah ini. Semoga makalah ini dapat dipergunakan sebagai salah satu acuan, petunjuk maupun pedoman bagi pembaca.

Harapan saya semoga makalah ini membantu menambah pengetahuan dan pengalaman bagi para pembaca, sehingga saya dapat memperbaiki bentuk maupun isi makalah ini sehingga kedepannya dapat lebih baik.

Makalah ini pasti masih memiliki banyak kekurangan. Oleh kerena itu saya harapkan kepada para pembaca untuk memberikan masukan-masukan yang bersifat membangun untuk makalah ini.


Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain 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.
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu system 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 dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industry 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 ).
 UML mendefinisikan diagram-diagram berikut ini :
UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu :
  • 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) antar objects.
  • 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 dalam system.
  • Class Diagram untuk memodelkan struktur kelas.
  • Object Diagram untuk memodelkan struktur object.
  • Component Diagram untuk memodelkan komponen object.
  • Deployment Diagram untuk memodelkan distribusi aplikasi.

Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.
http://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Uml_diagram.svg/650px-Uml_diagram.svg.png

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.
Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.


Sequence Diagram
Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.
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


Collaboration Diagram
Collaboration diagram dipakai untuk memodelkan interaksi antar object di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.
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.
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 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
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).
Activity diagrams
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.
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.
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.




Langkah-langkah Penggunaan UML
Langkah-langkah pembuatan UML (1):
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.
Langkah-langkah pembuatan UML (2):
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.
Langkah-langkah pembuatan UML (3):
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.











Daftar Pustaka