Minggu, 23 September 2012

TUGAS MANDIRI. MINGGU 1


Pengertian UML
UML (Unified Modelling Language) 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.
Jenis-jenis UML
1.      Class diagram
yang diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas mengimplementasikan 1 atau lebih interfaces. Sebuah kelas dapat digambarkan sebagai sebuah persegi panjang, yang mempunyai sebuah nama, atribute, dan metoda pengoperasiannya.


2.      Interface diagram
merupakan sebuah antarmuka yang menghubungkan dan melayani antar kelas dan atau elemen. Interface/antarmuka mendefinisikan sebuah set/kelompok dari spesifikasi pengoperasian, umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau komponen.





3.      Use case diagram
rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. Use case digunakan untuk membentuk tingkah-laku benda/things dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya use case digambarkan dengan sebuah elips dengan garis yang solid, biasanya mengandung nama.



4.      Component diagram
untuk menggambarkan komponen run-time dan executable yang dibuat untuk sistem. Komponen saling berelasi menggunakan depedecy relation (Hubungan ketergantungan, yang ditandai dengan garis putus-putus). Komponen run-time memperlihatkan pengelompokan kelas untuk run-time library seperti Java Applet, Active-X Component dan Dynamic Libraries. Komponen executable memperlihatkan interface dan memanggil dependencies beberapa executable. Interface kelas diperlihatkan seperti lollypop.


5.      Deployment diagram
memperlihatkan konfigurasi pada jalannya proses run-time elements  dan proses software yang ada pada diagram. Run-time elements menggambarkan node yang berkoneksi menandakan adanya komunikasi diantaranya. Diagram ini membantu tim untuk mengerti sistem topology.



6.      State diagram
untuk menggambarkan behavior, yaitu perubahan state di suatu class berdasarkan event dan message yang dikirimkan dan diterima oleh class tersebut. Setiap state diagram hanya boleh memiliki satu start state (initial state) dan boleh memiliki satu atau lebih dari satu stop states (final state).


7.      Sequence diagram
suatu diagram yang memperlihatkan/menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu. Interaksi antar objek tersebut termasuk pengguna, display, dan sebagainya berupa pesan/message. Sequence Diagram digunakan untuk menggambarkan skrenario atau rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari suatu kejadian/even untuk menghasilkan output tertentu. Sequence Diagram diawali dari apa yang me-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.




8.      Collaboration diagram
suatu diagram yang memperlihatkan/menampilkan pengorganisasian interaksi yang terdapat disekitar objek (seperti halnya sequence diagram) dan hubungannya terhadap yang lainnya. Collaboration Diagram lebih menekankan kepada peran setiap objek dan bukan pada waktu penyampaian pesan/message.




9.      Activity diagram
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.


10.  Object diagram
merupakan suatu diagram yang menggambarkan objeek-objek dalam satu system. bila pada kelas diagram terdapat banyak relasi antar kelas, namun pada diagram objek hanya terdapat satu relasi antar kelas, yaitu asosiasi. tidak hanya itu, pada diagram objek yang didefinisan hanya nama objek dalam satu kelas beserta atributnya saja, tanpa operasi yang dilakukan oleh objek tersebut.


11.  Concurrency diagram
Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan diagram implementasi (component dan deployment diagrams) serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).


12.  Logical diagram
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object,dan relationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu.
View ini digambarkan dalam class diagrams untuk struktur statis dan dalam state, sequence, collaboration, dan activity diagram untuk model dinamisnya. View ini digunakan untuk perancang (designer) dan pengembang (developer).


13.  Package diagram
memperlihatkan bagaimana elemen model diorganisasikan/dikelompokkan ke dalam packages. biasanya dipakai pada use case diagram atau class diagram. package digambarkan sebagai sebuah direktori (file folder) yang berisi model-model elemen. package dapat diterapkan pada sembarang diagram UML, walaupun package secara resmi bukanlah diagram UML namun kegunaannya cukup signifikan.


-->
Water fall
Pengertian water fall
salah satu model pengembangan software, dimana kemajuan suatu proses dipandang sebagai terus mengalir ke bawah seperti air terjun.
Metode ini membutuhkan pendekatan sistematis dan sekuensial dalam pengembangan perangkat lunak dan biasanya disebut juga dengan classic life cycle, dimulai dari tingkat sistem dan kemajuan melalui analisis, desain, coding, testing dan pemeliharaan.
Rekayasa dan Pemodelan Sistem/Informasi (System/Information Engineering and Modeling) Karena perangkat lunak adalah bagian dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan dari semua elemen sistem dan mengalokasikan suatu subset ke dalam pembentukan perangkat lunak. Hal ini penting, ketika perangkat lunak harus berkomunikasi dengan hardware, orang dan basis data. Rekayasa dan pemodelan sistem menekankan pada pengumpulan kebutuhan pada level sistem dengan sedikit perancangan dan analisis.

Berikut ini adalah tahapan dalam model water fall :
1.      Requirement Analysis
Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.

2.      System Design
Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan.

3.      Implementation
Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum.

4.      Integration & Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak.

5.      Operation & Maintenance
Ini merupakan tahap terakhir dalam model waterfall. Software yang sudah jadi dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru.
Metodologi water fall
Karakteristik dari model waterfall ini meliputi beberapa bagian, yaitu :
  • Aktivitas mengalir dari satu fase ke fase lainnya secara berurutan.
  • Setiap fase dikerjakan terlebih dahulu sampai selesai, jika sudah selesai baru mulai menuju fase berikutnya.
Tahapan penelitian pada model waterfall meliputi metodologi berupa :
  • System Engineering
    Proses penilaian sistem lama yang sedang berjalan dan studi kelayakan pengembangan sistem baru berdasarkan aspek teknologi, ekonomis dan sumber daya manusia.
  • Analisis
    Perolehan kebutuhan pengguna sistem dari user serta pilihan solusi jenis sistem informasi yang akan dikembangkan.
  •   Desain
      Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk software. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
  • Coding Dan Testing
      Desain harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh komputer, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap desain yang secara teknis akan dikerjakan oleh programmer.
Proses Coding ini harus dilakukan Testing untuk menguji kesalahan-kesalahan program maupun fungsi dari sistem.
  • Implementasi
  •      Setelah semua fungsi-fungsi software harus di ujicoba agar software bebas dari kesalahan, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. Maka proses selanjutnya adalah bagaimana sistem baru akan diinstall dan dijalankan di perusahaan dengan pengoperasian yang dilakukan oleh user.
  • Pemeliharaan
Pemeliharaan suatu software sangat diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada kesalahan kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari perusahaan seperti ketika ada pergantian sistem operasi atau perangkat lainnya.

KELEMAHAN & KEUNTUNGAN :
KEUNTUNGAN :
·         Simple dan mudah diimplementasikan
mudah diatur
·         Cocok untuk proyek kecil
KELEMAHAN :
·         Tidak mengakomodasi perubahan requirement
·         Resiko ketidakpastian tinggi
·         Model yang buruk untuk proyek yang berorientasi obyek
·         Model yang buruk untuk proyek lama
Sumber :
http://nikmahpoenya.blogspot.com/2010/05/waterfall.html