Rabu, 30 Mei 2018

Konsep perancangan Orientasi Objek

Jelaskan:
  • Konsep Perancangan Objek
  • Hal-hal yang Terlibat(Operasi Method)
  • Tools yang digunakan dalam perancangan 
  • Pengertian UML
1. Konsep perancangan Orientasi Objek
Berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.

Pengertian "berorientasi objek" berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.

  • Konsep Fudamental

Konsep fundamental dalam analisis berorientasi objek adalah objek itu sendiri. Sebuah objek adalah 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. Nama dari kelas-&-objek harus dapat menjelaskan objek tunggal dari suatu kelas.

  • Atribut menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek dimana atribut tersebut berada.
  • Metode (method) disebut juga service atau operator adalah prosedur atau fungsi seperti yang terdapat dalam bahasa Pascal pada umumnya, tetapi cara kerjanya agak berlainan. Metode adalah subprogram yang tergabung dalam objek bersama-sama dengan atribut. Metode dipergunakan untuk pengaksesan terhadap data yang terdapat dalam objek tersebut
  • Message merupakan cara untuk berhubungan antara satu objek dengan objek lain. Suatu pesan dikirimkan oleh suatu objek kepada objek tertentu dapat digambarkan dengan anak panah..


2. Hal-hal yang Terlibat dalam Metodologi Berorientasi Objek
Metodologi pengembangan sistem berorientasi objek mempunyai 3 karakteristik utama :
1.Encapsulation
Hasil gambar untuk gambar Encapsulation
Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
Contoh :
Informasi/properties objek rekening : No rekening, Nama , alamat dll
Perilaku/method objek rekening : buka, tutup, penarikan, penyimpanan, ubah nama, ubah alamat dll
Kita bungkus/encapsulate informasi dan perilaku tersebut pada objek rekening
Sehingga perubahan-perubahan pada sistem perbankan yang berkaitan dengan rekening diimplementasikan sederhana pada objek rekening

2.Inheritance
Hasil gambar untuk gambar Inheritance
Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya. Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki. Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya. Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek lainnya. Inheritance menggambarkan generalisasi sebuah kelas.
3.Polymorphism
Hasil gambar untuk gambar Polymorphism
Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama. Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan Objek.

3.Tools Perancangan Berorientasi Objek
  • DFD( Data Flow Diagram ).
  • Kamus Data
  • Entity Relationship Diagram (ERD)
  • State Transition Diagram (STD)
4.UML (Unified Modelling Language)


UML merupakan seperangkat diagram dan notasi standar untuk memodelkan sistem-sistem berorientasi objek, dan menjelaskan semantik yang mendasarinya mengenai arti dari diagram-diagram dan simbol-simbol ini
UML dapat digunakan untuk memodelkan berbagai jenis sistem: sistem perangkat lunak, sistem perangkat keras, dan organisasi-organisasi dunia nyata.

*Tools dalam UML

  • ArgoUML (Free)
  • StarUML (Free, OS)
  • Rational Rhapsody (Commercial)
  • Power Designer (Commercial)
  • Visual Paradigm (Free, Commercial)
*Langkah Awal memulai UML
Salah satu kegiatan yang harus dilakukan terlebih dahulu dalam memodelkan sebuah sistem berskala besar atau sistem pada tingkat Enterprise adalah memecahkan sistem tersebut kedalam area-area yang memudahkan dalam penanganannya

Apapun nama dari area-area ini, domain, kategori, atau subsistem, idenya tetap sama: memecahkan sistem tersebut ke dalam area-area yang memiliki kesamaan subjektif.

*Diagram UML

  • Use Case Diagram untuk memodelkan proses-proses bisnis
  • Sequence Diagram untuk memodelkan pengiriman pesan antara objek
  • Collaboration Diagram untuk memodelkan interaksi objek
  • State Diagram untuk memodelkan perilaku objek dalam sistem
  • Activity Diagram untuk memodelkan perilaku Use Case, objek, atau operasi
  • Class Diagram untuk memodelkan struktur statis Class dalam sistem
  • Object Diagram untuk memodelkan struktur statis Objek dalam sistem
  • Component Diagram untuk memodelkan komponen
  • Deployment Diagram untuk memodelkan distribusi sistem




Selasa, 22 Mei 2018

Perbedaan Perancangan Terstruktur dan Perancangan Berorientasi Objek

Assalammualaikum wr.wb....

Dalam blog saya kali ini akan membahas tentang: 
Perbedaan Perancangan Terstruktur dan Perancangan Berorientasi Objek
  • Perancangan Terstruktur adalah aktivitas mentransformasikan suatu hasil analisis ke dalam suatu perencanaan untuk dapat diimplementasikan.
  • Perancangan berorientasi objek adalah Suatu teknik atau cara pendekatan baru dalam melihat permasalahan dan sistem (sistem perangkat lunak.

Tools yang digunakan :
  • Perancangan Terstruktur :
    • DFD( Data Flow Diagram ).
    • Kamus Data
    • Entity Relationship Diagram (ERD)
    • State Transition Diagram (STD)
  • Perancangan Berorientasi Objek :
    • Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].
    • Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].
    • Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
    • Booch Method dan Grady Booch [1994].
    • Sritrop dan Steve Cook dan John Daniels [1994].
    • UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].

Metodologi Pnegenmbangan Sistem :
  • Perancangan Terstruktur :
    • Metodologi pemecahan fungsional.
      Metodologi ini menekankan pada pemecahan sistem ke dalam subsistem-subsistem yang lebih kecil, sehingga akan lebih mudah untuk dipahami, dirancang, dan diterapkan.
    • Metodologi berorientasi data.
      Metodologi ini menekankan pada karakteristik data yang akan diproses.
    • Prescriptive methodologies.
      Metodologi ini merupakan metodologi yang dikembangkan oleh sistem house dan pabrik-pabrik perangkat lunak dan tersedia secara komersial dalam paket-paket program.
  • Perancangan Berorientasi Objek :
    1. Encapsulation.
      •  Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
      •  Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
      • Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
    2. Inheritance.
      •  Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
      • Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
      •  Inheritance menggambarkan generalisasi sebuah kelas.
    3. Polymorphism.
      • Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
      •  Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
      •  Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan objek.
   Kelebihan dan Kekurangan :

Kelebihan dalam sitem tersturktur adalah:
  • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
  • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer
  • Penggunaan analisis grafis dan tool seperti DFD menjadikan DFD menjadikan SSAD menjadi bagus untuk digunakan
  • SSAD merupakan metode yang diketahui secara umum pada berbagai indusri
  • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan
  • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
  • SSAD relative simple dan mudah dimengerti
Kekurangan dalam Sistem Terstruktur adalah:
  • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional
  • Sedikit sekali manajemen langsung terkait dengan SSAD
  • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses
  • Interaksi antara analisis atau pengguna tidak komprehensip, karena system telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru)
  • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasiakn dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakuakan evaluasi
  • Pada SSAD sulit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mulai membuat system
  • SSAD tidak selalu memenuhi kebutuhan pengguna
  • SSAD tidak dapat memenuhi kebutuhan terkait bahsa pemrograman berorientasi objek, karena metode ini memangdidesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada objek.
Kelebihan Sistem Berorientasi Objek adalah :
  • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan system dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan dan penggunaan kembalai (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (sommerville,2000).
  • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan system.
  • Analis dan programmer tidak dibatasi dengan batsan implementasi system, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
  • Relasi objek dengan entitas (thing) umumnya dapat dimapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam system, hal ini memudahkan dalam memahami desain.
  • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebenaran software yang membantu untuk mengurangi resiko pada pembanguna system yang komplek.
  • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga
  • OOAD memungkinkan adanya standarisasi objek yang memudahakan memahami desain dan mengurangi resiko pelaksanaan proyek.
  • Dekomposisi objek, memungkinkan seorang analis untuk memecah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah, kode program dapat dikerjakan bersama-sama.
  • Metode ini memungkinkan pembanguna software denga cepat, sehingga dapat segera masuk ke pasaran dan kompetitif.
  • System yang dihasilakn sangat fleksibel dan mudah dalam memelihara
Kekurangan dalam sistem berorientasi objek adalah :
  • Pada awal desain OOAD, system mungkin akan sangat simple
  • Pada OOAD lebih focus pada coding dibandingkan dengan SSAD
  • Pada OOAD tidak menekankan pada kinerja team seperti SSAD
  • Pada OOAD tidak mudah untuk mendefinisikan class dan objek yang dibutuhkan system
  • Seringkali pemrograman berorientasi objek digunakan untuk melakukan analisis terhadap fungsional sistem, sementara metode OOAD tidak berbasis pada fungisional system
  • OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur, konsekuensinya adalah team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunak SSAD dalam waktu yang lama.
  • Metodologi pengembangan system dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama untuk menjadi alas an digunakannya OOAD, namun demikian tanpa prosedur yang emlisit terhadap reuse akan sangat sulit untuk menrapkan konsep ini pada skala besar.

Selasa, 03 April 2018

Analisis Seputar Kelemahan dari Winamp


           Pada postingan kali ini saya akan membahas tentang Winamp
Apa itu winamp?
Hasil gambar untuk gambar WinampWinamp adalah suatu pemutar media  yang sekarang merupakan suatu cabang Time Warner. Winamp merupakan perangkat lunak freeware(Gratis) atau shareware(memiliki batas tertentu) yang dapat memainkan berbagi kode dan tipe audio dan juga dapat dikostumisasi. winamp dapat di temukan pada perangkat komputer,notebook,ponsel dll.Format yang dapat didukung oleh winamp adalah,Mp3,MIDI,MOD,MPEG-1,WAV,WMA,AAC,M4A,FLAC.
Didalam winamp memiliki kelemahan yaitu sebagai berikut:

  • Tidak sebagus manager musik seperti iTunes
  • Lebih sulit mengatur daftar putar
  • Tidak seperti detail lagu pada iTunes
  •  memory yang lumayan besar
  • pengaturannya kurang banyak

      Yang telah saya sebutkan diatas  adalah kelemahan dari winamp. Menurut saya winamp merupakan aplikasi populer di zamannya dan menjadi aplikasi pelopor bagi munculnya aplikasi-aplikasi musik serupa.
    

Senin, 26 Maret 2018

Model & Proses Perangkat Lunak.

    Assalamu’alaikum Warahmatullahi Wabarakatu..


       Pada postingan kali ini, saya akan membahas tentang “Model – Model Pengembangan Perangkat Lunak . Apa itu Pengembangan Perangkat Lunak?Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur pada pengembangan suatu Perangkat Lunak (Software), yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu. Terdapat beberapa Model dalam perkembangan perangkat lunak,yaitu:

Model Sekuensial Linier atau Waterfall Development Model
Model Prototype
Model Rapid Application Development (RAD)
Model Evolutionary Development / Evolutionary Software Process Models
*Model Incremental
*Model Spiral / Model Boehm


      Setelah beberapa model yang sudah saya sebutkan, saya akan membahas 1 model yaitu, saya akan membahas tentang Model Rapid Application Development(RAD).
    Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
rad
Berikut adalah Tahapan – tahapan Proses Pengembangan dalam Model Rapid Application Development (RAD), yaitu :
  • Bussiness Modeling
      Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut:
  • Informasi apa yang menegndalikan proses bisnis?
  • Informasi apa yang dimunculkan?
  • Di mana informasi digunakan ?
  • Siapa yang memprosenya ?

  • Data Modeling
    Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (atribut) masing-masing objek diidentifikasi dan hubungan antar objek-objek tersebut didefinisikan.

  • Proses Modeling
       Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.

  • Aplication Generation
    Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga memakai komponen program yang telah ada atau menciptakan komponen yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk memfasilitasi konstruksi perangkat lunak.

  • Testing dan Turnover
   Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.

  • Kelebihan Model RAD :
  •         Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
  • Cocok untuk proyek yang memerlukan waktu yang singkat.
  • Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.

  • Kekurangan Model RAD :
  •      Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
  • Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
  • RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
  • Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
  • Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.

Sekian pembahasan yang dapat saya sampaikan.Terima kasih
Wassalamu’alaikum Warahmatullahi Wabarakatu..

Sumber:
https://www.angon.co.id