Metode Pengembangan Sistem


Pengembangan dengan strategi waterfall (sequential) menggambarkan bahwa tiap tahapan dimulai dan diselesaikan secara menyeluruh secara berurutan, akan tetapi pada kenyataannya, seringkali overlap satu sama lain, seperti system design dapat dimulai sebelum system analysis selesai (Whitten, Jeffery L., Lonnie D., Bentley, Kevin C, Dittman.  2004:36. Metode Design & Analisis Sistem, Edisi 6. Yoyakarta : Andi)
Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
Berikut penjelasan tahapan – tahapan yang dilalui:
1.         Rekayasa dan pemodelan Sistem (System Engineering)
Pemodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dan sebagainya. Tahap ini sering disebut dengan Project Definition.
2.         Analisis Kebutuhan Perangkat Lunak (Analysis)
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus megerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dan sebagainya. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukan kepada pelanggan.
3.         Perancangan Perangkat Lunak (Design)
Proses ini diguanakan untuk mengubah kebutuhan-kebutuhan diatas menjadi refresentasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Design harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya.
4.         Pengkodean (Coding)
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu kedalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
5.         Pengujian Perangkat Lunak (Testing)
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
Secara umum tahapan model waterfall dapat dilihat pada gambar berikut :
Gambar x.x Metode Waterfall
Sumber Roger S. Pressman (2002:37)


Sequence diagram


Sequence diagram (diagram urutan) adalah suatu diagram yang memperlihatkan atau 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 skenario 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.
Masing-masing objek atau aktor memiliki lifeline vertikal,message digambarkan sebagai garis berpanah dari satu objek keobjek lainnya. Pada fase desain berikutnya, message akandipetakan menjadi operasi/ metoda dari kelas. Activation barmenunjukan lamanya waktu eksekusi sebuah proses, biasanya diawali dengan ditermanya sebuah message.


Gambar 2.x Contoh Sequence Diagram

Activity Diagram


Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. (Rosa A.S, M. Shalahuddin. 2015 p 161 Cetakan ke 3. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung : Informatika)
Activity diagram terdiri dari state awal (initial state) dan state akhir (final state), state awal menggambarkan bagaimana aktivitas sistem dimulai dan state akhir menggambarkan bagaimana aktivitas sistem berakhir. Activity digambarkan dengan persegi panjang bulat, yang mencerminkan aktivitas yang terjadi dan bersifat fisik. Untuk menunjukan aliran kontrol dari suatu tindakan ke tindakan yang berikutnya menggunakan control flow, yang digambarkan dengan garis serta mata panah. Partition ditampilkan baik sebagai horizontal maupun vertikal, partisi digunakan untuk tindakan terpisah dalam suatu kegiatan. Decision didefinisikan sebagai node keputusan, kontrol arus datang dari node keputusan memiliki kondisi yang memungkinkan mengalir apabila kondisi tersebut terpenuhi. Digambarkan dengan bentuk berlian. Forks dan Join node memiliki notasi yang sama baik vertikal maupun horizontal, yang menunjukan awal dan akhir dari trit kontrol secara bersamaan.
Gambar 2.x Contoh Activity Diagram

CLASS DIAGRAM


Class diagram menggambarkan struktur sistem  dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem [16].
 Bagian-bagian dari class diagram :
1).   Class
Class merupakan kumpulan objek yang secara logis sama dalam hal perilaku dan struktur data mereka.
2).   Attributes
Atribut adalah struktur umum yang dapat member class ketahui, setiap objek akan memiliki atribut sendiri, mungkin unik. Bersama-sama dengan operasi untuk mendefinisikan kelas.
3).   Operations
Merupakan aspek dari perilaku yang memdefinisikan sebuah kelas, untuk membuat spesifikasi dari unsur fungsionalitas sistem yang akan diimplementasikan sebagai metode objek.
Atibut dan operasi dapat memiliki salah satu dari sifat berikut :
·      Private : tidak dapat dipanggil dari luar class yang bersangkutan simbol (-).
·      Protected : hanya dapat dipanggil oleh class yang bersangkutan (#).
·      Public : dapat dipanggil oleh semua class simbol (+).

4).   Relation of Class Diagram
1.      Multiplicity
Multiplicity berguna untuk mengidentifikasikan beberapa banyak objek dari suatu kelas terelasi ke objek lain. Notasi multiplisity adalah sebagai berikut :
Tabel 2.x Tabel Multiplicity
Multiplicity
Pengertian
*
Banyak
0
Nol
1
Satu bisa ditulis bisa tidak
0..*
Antara Nol sampai banyak
1..*
Antara Satu sampai banyak
0..1
Nol atau Satu
1..1
Tepat Satu

2.      Association
Digunakan untuk menunjukan hubungan yang terjadi diantara kelas yang ada. Association memungkinkan suatu kelas untuk menggunakan atau mengetahui atribut atau operasi yang dimiliki oleh kelas lain.
Gambar 2.x Contoh Association
3.      Depedency
Relasi ini menunjukan bahwa sebuah kelas mengacu pada kelas lainnya, perubahan pada kelas yang diacu akan sangat berpengaruh pada kelas yang mengacu.
Gambar 2.x Contoh Depedency
4.      Aggregation
Relasi ini mengganbarkan bahwa suatu kelas merupakan bagian dari kelas lain namun bersifat tidak wajib. Contohnya, buk pasti memiliki daftar pustaka, tetapi bisa saja sebuah buku tidak memiliki daftar pustaka.
Gambar 2.x Contoh Aggregation
5.      Composition
Relasi ini menunjukan bahwa suatu kelas merupakan bagian yang wajib dari kelas lain. Contohnya, sebuah buku pasti memiliki isi.
Gambar 2.x Contoh Composition
6.      Realization
Relasi ini menunjukan penerapan terhadap suatu interface kepada sebuah kelas, digunakan untuk mewajibkan suatu kelas memiliki metode atau operasi yang sudah didefinisikan kerangkanya dalam suatu interface. Contohnya, pada kelas petugas dan anggota, kedua kelas ini memiliki metode yang wajib dimiliki namun melakukan tugas yang berbeda seperti add dan update.
Gambar 2.x Contoh Realization

7.      Generalization
Merupakan relasi pewarisan antara dua kelas, relasi jenis ini memungkinlan suatu subkelas mewarisi atribut dan operasi yang dimiliki parent kelas. Contohnya, bahwa anggota dan petugas mewarisi sifat dari kelas manusia.
Gambar 2.x Contoh Generalization