Monday 5 January 2015

Data Oriented Program (DOP),Object Oriented Program (OOP) ,Joint Application Development(JAD) , dan Rapid Application Development(Rapid)

Data Oriented Program (DOP)
Sudut pandang analisis pada pendekatan ini difokuskan pada aspek fungsional dan behavioral (perilaku system).Pengembang harus mengetahui fungsi- fungsi atau proses-proses apa saja yang ada dalam system, data apayang menjadi masukanya, di mana data tersebut di simpan, transformasi apa yang akan dilakukan terhadap data tersebut dan apa yang menjadi hasil transformasinya. Selain itu, pengembang harus mengetahui keadaan (state),perubahan (transition), kodisi(condition) dan aksi (action) dari system.
Salah satu metode yang paling popular untuk pendekatan ini adalah Analisis Terstruktur (Structured Analysis ) yang di kembang oleh TOM DeMarco, Chris Gane dan Trish Sarson dan Edward Yourdon. Pada metode ini, hasil analisis dan perancangan di modelkan seperti :
·         Data Flow Diagram (DFD) dan Kamus Data (data dictionary) untuk menggambarkan fungsi-fungsi dari system (system functions).
·         Entity Relationship Diagram(ERD) untuk menggambarkan data yang di simpan (data stored)
·         State Transition Diagram (STD) untuk menggambarkan perilaku system.
·         Structure Chart untuk menggambarkan struktur program

Object Oriented Programming (OOP)
Pengertian 
Metode Object Oriented menggabungkan/mencampurkan data dan proses ke dalam objek, dan fokus pada bagaimana objek-objek tersebut saling berinteraksi dengan menggunakan metode (melalui pesan-pesan) =Objek dapat berupa angka,rangkaian, karakter, benda,orang,tempat kamus,dll. 

Tujuan utama dari pengembangan perangkat lunak atau OOP, dapat dijelaskan sebagai berikut: 
=Mempersingkat waktu dan menurunkan biaya 
pengembangan rekayasa perangkat lunak. 
=Menurunkan biaya perawatan perangkat lunak. 
=OOP memberikan landasan yang sangat berguna untuk pembuatan prototype sistem secara cepat. 
=Meningkatkan extensibilitas & penggunaan kembali perangkat lunak (reusable) 

Kelebihan OOP :
=Memiliki sarana yang bersifat virtual
=Berorientasi kepada Objek
=Bekerja didalam sistem operasi windowa
=Menghasilkan program aplikasi berbasis windows
=Dapat memanfaatkan Windows untuk aspek Grafis, Multimedia dsb

Beberapa metode pengembang system yang berorientasi objek ini di antaranya adalah :
-Object Oriented Analysis (OOA) dan Object Oriented Design(OOD) dari Peter Coad dan Edward Yourdon (1990)
-Object Modeling Technicque (OMT) dari James Rumbaugh (1987)
-Object Oriented Software Engineering (OOSE)

OOP menggunakan metode UML
Definisi UML (Unified Modeling Language)
UML (Unified Modelling Language) adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.
UML adalah bahasa grafis untuk mendokumentasikan, menspesifikasikan dan membangun sistem perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak bergantung bahasa dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak, didukung oleh kakas-kakas yang diintegrasikan oleh XML. Standar UML dikelola oleh OMG (Object Management Group).
UML (Unified Modelling Language) adalah bahasa pemodelan untuk menspesifikasikan, memvisualisasikan, membangun dan mendokumentasikan artifak-artifak dari sistem.
1.        Di dalam system intensive process, metode diterapkan sebagai proses untuk menurunkan atau mengevolusikan sistem.
2.       Sebagai bahasa, UML digunakan untuk komunikasi yaitu alat untuk menangkap pengetahuan mengenai satu subyek dan mengekspresikan pengetahuan (sintaks) yang memperdulikan subyek untuk maksud komunikasi. Subyek adalah sistem yang dibahas.
3.            Sebagai bahasa pemodelan, UML fokus pada pemahaman subyek melalui formulasi model dari subyek. Model memuat pengetahuan pada subyek, dan aplikasi dari pengetahuan ini berkaitan dengan intelejensia.
4.           Berkaitan dengan unifikasi.UML memadukan praktek rekayasa terbaik sistem informasi dan industri, meliputi beragam tipe sistem (perangkat lunak dan non perangkat lunak), domain (bisnis, perangkat lunak) dan proses siklus hidup.
5.   begitu diterapkan untuk menspesifikasikan sistem, UML dapat digunakan untuk mengkomunikasikan “apa” yang diperlukan dari sistem dan “bagaimana” sistem dapat direalisasikan.
6.               Begitu diterapkan untuk menvisualisasikan sistem, UML dapat digunakan untuk menjelaskan sistem secara visual sebelum direalisasikan.
7.               Begitu diterapkan untuk membangun sistem, UML dapat digunakan untuk memandu realisasi sistem serupa dengan “blueprint”.
8.            Begitu diterapkan untuk mendokumentasikan sistem, UML dapat digunakan untuk menangkap pengetahuan mengenai sistem pada seluruh siklus hidup.

UML bukanlah :
1.                   Bahasa pemrograman visual, tapi bahasa pemodelan visual.
2.                   Spesifikasi kakas, tapi spesifikasi bahasa pemodelan.
3.                   Proses, tapi yang memungkinkan proses-proses.
Tujuan utama perancangan UML adalah :
1.                   Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti.
2.                   Menyediakan mekanisme perluasan dan spesifikasi untuk memperluas konsep-konsep inti.
3.                   Mendukung spesifikasi independen bahasa pemrograman dan proses pengembangan tertentu.
4.                   Menyediakan basis formal untuk pemahaman bahasa pemodelan.
5.                   Mendorong pertumbuhan pasar kakas berorientasi objek.
6.                   Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.

Diagram Teknik Pemodelan UML
Diagram mengemukakan banyak hal, penggunaan notasi yang terdefinisi baik dan ekspresif adalah penting pada proses pengembangan perangkat lunak, yaitu :
1.                   Notasi standar memungkinkan  pengembang mendeskripsikan  skenario atau rumusan arsitektur dan kemudian mengkomunikasikan secara tidak ambigu.
2.                   Notasi yang bagus membebaskan otak untuk berkonsentrasi pada masalah-masalah yang lebih lanjut.
3.                   Notasi yang baik memungkinkan mengeleminasi keperluan pemeriksaan konsistensi dan kebenaran keputusan keputusan dengan menggunakan tool terotomatisasi.

Diagram Struktur
Diagram ini untuk memvisualisasi, menspesifikasikan, membangun dan mendokumentasikan aspek statik dari sistem. Diagram struktur di UML terdiri dari :
1.                   Diagram kelas (Class diagram)
Diagram ini menunjukkan sekumpulan kelas, interface dan kolaborasi dan keterhubungannya.
2.                   Diagram objek (Object diagram)
Diagram ini menunjukkan sekumpulan objek dan keterhubungannya. Diagram komponen (Component diagram) Diagram ini menunjukkan organisasi dan kebergantungan di antara sekumpulan komponen. Diagram ini merupakan pandangan statik terhadap implementasi sistem.
3.                   Diagram deployment (Deployment diagram)
Diagram ini menunjukkan konfigurasi pemrosesan saat jalan dan komponen komponen yang terdapat didalamnya.

Diagram Perilaku
Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek dinamis dari sistem. Diagram perilaku di UML terdiri dari :
1.                   Diagram use-case (Use case diagram)
Diagram ini menunjukkan sekumpulan kasus fungsional dan actor (jenis kelas khusus) dan keterhubungannya.
2.                   Diagram sekuen (Sequence diagram)
Diagram ini menunjukkan interaksi yang terjadi antar objek. Diagram ini merupakan pandangan dinamis terhadap sistem.
3.                   Diagram kolaborasi (Collaboration diagram)
Diagram ini juga merupakan diagram interaksi. Diagram ini menekankan pada organisasi struktur dari objek-objek yang mengirim dan menerima pesan.Diagram statechart (Statechart diagram)
Diagram ini adalah state-machine diagram, berisi state, transisi, kejadian dan aktivitas. Statechart merupakan pandangan dinamis dari sistem.
4.                   Diagram aktivitas (Activity Diagram)
Diagram ini untuk menunjukkan aliran aktivitas di sistem. Diagram ini adalah pandangan dinamis terhadap sistem.

Joint Application Development (JAD)
Adalah suatu teknik pengembangan Aplikasi yang melibatkan antara pemakai dan profesional dalam pengembangan sistemnya, Teknik JAD dapat diterapkan disetiap tahap pengembangan sistem. JAD merupakan sebuah teknik yang berfokus pada keterlibatan dan komitmen pengguna dalam menentukan kebutuhan dan merancang (desain) aplikasi. JAD biasanya dilakukan dalam bentuk tim yang merupakan gabungan dari seluruh stakeholder proyek, yang bekerja dalam bentuk workshop-workshop atau forum diskusi. Kenapa workshop ? karena teknik JAD ini bukanlah sekedar rapat-rapat, yang biasa dilakukan dalam sebuah proyek dan melibatkan seluruh stakeholder proyek. JAD adalah tim yang nantinya akan membuat rancangan dan mengawasi, memonitor bersama jalannya proyek.
JAD adalah suatu metodologi pengembangan sistem yang mula-mula digunakan untuk merancang suatu sistim yang berbasis-komputer, tetapi dapat diberlakukan bagi setiap proses pengembangan yang  melibatkan interaksi berkelanjutan dengan para pemakai dan para perancang yang berbeda sistim di dalam pengembangan.  JAD memjadikan  suatu pengembangan yang lebih cepat memproses dan memperkecil error pada waktu yang sama. JAD juga memperbaiki mutu produk akhir dengan mengutamakan bagian user/pemakai dalam bagian pengembangan lifecycle, selain itu dengan JAD akan  mengurangi kemungkinan dari error yang fatal, dapat membuat suatu sistem menjadi mahal jika terjadi perubahan dikemudian hari.

Proses JAD didasarkan pada empat gagasan yang sederhana:
1.   Menempatkan orang-orang yang benar-benar ahli dalam pekerjaanya.
2.   Orang-orang yang terlatih di dalam teknologi informasi mempunyai pemahaman terbaik dalam pengembangan ini.
3.  Proses-proses Sistem Informasi dan bisnis, Orang-orang yang bekerja di dalam  bidang-bidang yang terkait mempunyai pengertian yang mendalam dan perang yang berharga dari suatu sistim dan di dalam suatu masyarakat yang lebih besar.
4.  Sistem informasi terbaik dirancang ketika semua  kelompok bekerja  bersama-sama di suatu proyek sebagai mitra yang sama.

Keuntungan dan kerugian JAD

Keuntungan
·      Mengijinkan pengguna kunci untuk berpartisipasi secara aktif
·   Ketika digunakan secara benar, JAD dapat menghasilkan statement yang lebih akurat dari kebutuhan system, lebih mudah dalam mengerti tujuan umum, dan lebih berkomitmen untuk sukses pada system baru.

Kerugian
·         Lebih mahal dan dapat merugikan jika grup terlalu besar daripada ukuran project


Rapid Application Development (RAPID)

Rapid Application Development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.

PENERAPAN
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
1.      Component based construction ( pemrograman berbasis komponen bukan prosedural).
2.      Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
3.      Pembangkitan kode program otomatis/semi otomatis.
4.       Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama.   
       Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun. Jika keutuhan yang diinginkan pada tahap analisa kebutuhan telah lengkap dan jelas, maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat pendek dengan penerapan teknik yang cepat.
Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan pembagian modul sistem.

Keuntungan dan kerugian

Keuntungan
·      Systems can be developed more quickly with significant cost savings
·   Sistem dapat dikembangkan lebih cepat dengan secara signifikan mengurangi pengeluaran keuangan

Kerugian
·     RAD stresses the mechanics of the system itself and does not emphasize the company’s strategic business needs
·     Might allow less time to develop quality, consistency, and design standards

·     Mungkin kekurangan waktu untuk mengembangkan kualitas dan desain standar

       download materi disini

No comments:

Post a Comment