PBO Dan Pengembangan Perangkat Lunak

Sebelum membuat suatu aplikasi atau pernagkat lunak, kita harus merancang terlebih dahulu bentuk dan bagaimana program pada aplikasi dapat berjalan sesuai keinginan. Dengan melakukan pemodelan maka memudahkan kita dalam pekerjaan karena kita cukup mengikuti alur yang sudah dibuat. Seiring perkembangan zaman, sebuah metodologi dibangun untuk membantu programer dalam menggunakan bahasa pemrograman berorientasi objek. Metode ini dikenal dengan Object oriented Analysis Design (OOAD). Ide dasar dari OOAD yaitu mengkombinasikan data dan fungsi untuk mengakses dan menjadi sebuah kesatuan unit yang dikenal dengan nama objek. Objek mencerminkan pola kerja manusia dalam kehidupan sehari – hari.

Konsep Pemodelan Berorientasi Objek

Pemodelan adalah pendeskripsian atau gambaran bentuk tertentu sebelum memulai pengkodingan. Konsep pemodelan berorientasi objek merupakan konsep yang digunakan untuk menyederhanakan segala jenis permasalahan yang ada dalam sebuah sistem dengan menggunakan banyak objek.

Pemodelan Sistem

Model sistem perangkat lunak yang sistematis dan terstruktur mempunyai tahapan- tahapan tertentu yang bisa dikembangkan untuk menjadikan sebuah aplikasi atau sistem tersebut lebih baik. Konsep yang digunakan untuk menyederhanakan segala jenis permasalahan yang ada dalam sebuah sistem (tahap awal pengembangan). Pemodelan sistem adalah proses mengembangkan model sistem, dengan masing – masing model mewakili perspektif yang berbeda dari sistem itu. Aspek yang paling penting tentang model sistem adalah   bahwa ia    meninggalkan detail. Ini adalah representasi abstrak dari sistem. Model biasanya didasarkan pada notasi grafis, yang hampir selalu didasarkan pada notasi dalam Unified Modeling Language (UML). UML adalah bahasa pemodelan visual untuk menjelaskan sebuah sistem perangkat lunak. Yang termasuk UML antara lain Diagram Kelas, Diagram Activity, Diagram Use Case.

Tujuan Pemodelan Perangkat Lunak

– Media Komunikasi
– Sarana Pendukung Sistem
– Proses Pengujian
– Mendefinisikan Struktur
– Perilaku Sistem

Metode Pengembangan Perangkat Lunak

Metode pengembangan perangkat lunak terdapat beberapa macam metode pengembangan diantaranya adalah metode waterfall, metode prototype, metode spiral, metode RAD, metode agile dan metode scrum.
Metode pengembangan perangkat lunak adalah suatu kerangka aktivitas yang digunakan untuk membuat, merancang, merencanakan, meningkatkan, dan mengaplikasikan fungsi program.
Metode adalah suatu cara sistematis yang digunakan untuk melaksanakan pekerjaan guna mencapai tujuan yang diinginkan.
Dapat disimpulkan bahwa pengertian metode pengembangan perangkat lunak adalah sebuah cara sistematis untuk merancang dan meningkatkan fungsi program agar pemakai lebih mudah dalam mengoperasikan perangkat lunak.

Metode Waterfall

Metode waterfall merupakan suatu proses pengembangan perangkat lunak berurutan, model berkembang secara sistematis dari satu tahap ke tahap lain seperti halnya dengan air terjun, melewati fase-fase perencanaan, pemodelan, implementasi (konstruksi), dan pengujian.

Dalam metode waterfall, fase-fasenya berurutan sebagai berikut:
1. System And Modeling, mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk perangkat lunak.
2. Software Requirements Analysis, proses pencarian kebutuhan diintensifkan dan difokuskan pada perangkat lunak.
3. Design, mengubah kebutuhan menjadi representasi ke dalam bentuk blueprint perangkat lunak.
4. Coding, implementasi dari bentuk desain diubah menjadi bentuk bahasa pemrograman yang dikerjakan oleh programmer.
5. Testing, Pengujicobaan fungsi-fungsi program agar terbebas dari bug atau error.
6. Maintenance, Pemeliharaan suatu perangkat lunak dan di dalamnya termasuk pengembangan.

Metode Prototype

Metode prototype merupakan proses pembuatan model perangkat lunak yang pengembang dan pengguna saling berinteraksi selama proses pembuatan. Pengguna memiliki gambaran dasar program dan diijinkan melakukan pengujian awal sehingga pengembang dapat dengan mudah memodelkan perangkat lunak yang akan dibuat.

Ada 7 tahapan metode prototype yaitu:
1. Pengumpulan Kebutuhan, mengidentifikasi semua kebutuhan.
2. Membangun Prototyping, perencanaan sementara yang berfokus pada penyajian pelanggan.
3. Evaluasi Prototyping , apakah sudah sesuai dengan keinginan pelanggan.
4. Mengkodekan Sistem, disepakati diterjemahkan kedalam bahasa pemrograman yang sesuai.
5. Menguji Sistem, mengetes sistem yang sudah menjadi perangkat lunak yang siap dipakai.
6. Evaluasi Sistem, apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan.
7. Menggunakan Sistem, perangkat lunak diterima pelanggan siap dipakai.

Metode Spiral

Motode Spiral adalah gabungan dari Model Prototyping dan Model Waterfall dengan penekanan yang tinggi pada analisis risiko tiap tahapannya.

Metode spiral dilakukan dalam lima langkah, yaitu:
1. Komunikasi, pemilik proyek menyampaikan kebutuhannya kepada pengembang perangkat lunak.
2. Perencanaan mendetail tentang proyek yang digarap seperti estimasi biaya, batas waktu, pengaturan jadwal, identifikasi lingkungan kerja, sumber-sumber informasi untuk melakukan literasi. Hasilnya adalah dokumen spesifikasi kebutuhan sistem.
3. Analisis untuk mengidentifikasi berbagai kemungkinan yang bisa terjadi selama pengembangan dan menghasilkan suatu solusi alternatif secara teknis untuk menyelesaikannya.
4. Pengembangan perangkat lunak.
5. Evaluasi dari pelanggan. Mereka dapat memberikan masukan dan tanggapan, mengevaluasi produk kerja sesuai kebutuhan.

Metode RAD (Rapid Application Development)

Metode RAD (Rapid Application Development) merupakan model proses untuk menghasilkan sebuah sistem dengan penekanan pada mempersingkat waktu pengerjaan dan proses agar segera mungkin mengaplikasikan sistem perangkat lunak tersebut secara cepat dan tepat.

Alur kerja hanya dibagi menjadi tiga tahap, yaitu:
1. Requirements Planning
Pengguna dan pengembang bertemu untuk mengidentifikasi tujuan dan syarat aplikasi, dimana seluruh pihak terlibat aktif dalam setiap perumusannya.
2. RAD Design Workshop
Pengembang menunjukkan tampilan visual desain dan alur kerja kepada pengguna. Berkomunikasi dengan pengguna untuk merancang sistem. Pengguna menanggapi sehingga pengembang bisa langsung menyempurnakannya.
3. Implementation
Implementasi dari desain ke bahasa pemrograman, sistem diuji dan diperkenalkan.

Metode Agile

Metode Agile adalah kumpulan dari metode-metode pengembangan perangkat lunak yang berbasis pada iterative dan incremental model. agile memungkinkan mengembangkan perangkat lunak yang memiliki requirement yang mudah berubah dengan cepat.

Tahapan metode agile ada 6 yaitu:
1. Perencanaan, pengembang dan pengguna merencanakan tentang kebutuhan untuk perangkat lunak yang akan dibuat.
2. Implementasi, proses dimana programmer melakukan pengkodean perangkat lunak.
3. Tes Perangkat Lunak, menguji perangkat lunak yang telah dibuat dan memperbaikinya jika terdapat bug agar kualitas perangkat lunak terjaga.
4. Dokumentasi, proses dokumentasi perangkat lunak mempermudah proses maintenance kedepannya.
5. Deployment, menguji kualitas sistem, setelah memenuhi syarat maka perangkat lunak siap di deployment.
6. Pemeliharaan, perangkat lunak dipelihara secara berkala karena tidak ada perangkat lunak yang 100% bebas dari bug.

Metode Scrum

Scrum adalah kerangka kerja dalam pemodelan perangkat lunak yang menggunakan metode perencanaan, pengerjaan, pengecekan, dan tindak lanjut. Kesalahan yang dilakukan banyak orang adalah pengecekan dan tindak lanjut pekerjaan dilakukan setelah kerjaan itu selesai. Dengan scrum, pengecekan dan tindak lanjut kerjaan dilakukan selama pengerjaan. Ini mendorong untuk melakukan perbaikan sesegera mungkin ketika sebuah kesalahan terjadi. Dengan begitu suatu kerjaan akan lebih cepat diperbaiki dan tidak perlu mengulang dari awal sehingga lebih menghemat waktu.

5 tahapan metode scrum sebagai berikut:
1. Product Backlog, bertujuan menentukan prioritas dalam mengerjakan sprint.
2. Sprint Planning Meeting, semua tim berkumpul mengidentifikasi tugas masing-masing.
3. Daily Scrum, evaluasi karena proses untuk mendiskusikan berbagai kendala.
4. Sprint Review Meeting, anggota tim mendemonstrasikan yang sudah dikerjakannya dalam periode satu sprint.
5. Sprint Retrospective, anggota tim bisa menyampaikan pendapat dan evaluasi mengenai kinerja selama menerapkan scrum.

Menu