Tugas UTS Rekayasa Perangkat Lunak


Nama    : Herocyma
NIM       : 1117101406
Kelas     : SP4.2


1.       Jelaskan dan Sebutkan Tahap umum dalam Pengembangan Perangkat Lunak (Software Development Stages)!
Jawab:

WATERFALL
Model Pengembangan Air Terjun (waterfall), merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.
Berikut merupakan tahapan-tahapan dari pengembangan perangkat lunak model air terjun (waterfall):

a. Rekayasa dan Pemodelan Sistem/Informasi
Langkah pertama yaitu dimulai dengan membangun keseluruhan elemen sistem dan memilah bagian-bagian mana saja yang akan dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya dengan Hardware, User, dan Database.
b. Analisis Kebutuhan Perangkat Lunak
Pada proses analisis kebutuhan perangkat lunak ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan antarmuka. Hasil penganalisaan dan pengumpulan tersebut didokumentasikan dan diperlihatkan kembali kepada pelanggan.
c. Desain
Selanjutnya pada proses Desain, dilakukan penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus pada  struktur data, arsitektur perangkat lunak, representasi interface, dan detail algoritma prosedural.
d. Pengkodean
Pengkodean merupakan proses menerjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin (bahasa pemrograman).
e. Pengujian
Setelah Proses Pengkodean selesai, dilanjutkan dengan proses pengujian pada program perangkat lunak, baik Pengujian logika internal, maupun Pengujian eksternal fungsional untuk memeriksa segala kemungkinan terjadinya kesalahan (bug) dan memeriksa apakah hasil dari pengembangan tersebut sesuai dengan apa yang diinginkan.
f. Pemeliharaan
Proses Pemeliharaan merupakan bagian paling akhir dilakukan dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan atau dipublikasikan.
Contoh penerapan dari pengembangan model air terjun (waterfall) adalah sebuah program pendaftaran online kesuatu instansi pendidikan, dengan demikian calon pendaftar akan terbantu sekaligus kegiatan pendaftaran menjadi lebih efektif.

Kelebihan model waterfall:
-          Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
-          Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
-          Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
-          Dokumen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap dan sebelum melangkah ke fase berikutnya.

Kekurangan model waterfall:
-          Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
-          Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
-          Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
-          Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
-          Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
-          Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.

2.       Pengertian Perangkat Lunak merupakan suatu instruksi (Program Komputer) yang ketika dijalankan menyediakan fungsi dan tampilan yang diinginkan, struktrur data yang memberi kesempatan program untuk memanipulasi informasi dokumen yang mendeskripsikan operasi dan penggunaan program.
a.       Bagaimana karakteristik perangkat lunak?
b.       Sebutkan dan jelaskan Software Enginering Layer!
Jawab:

a.       Karakteristik Perangkat Lunak
-          Functionality: Mengacu pada tingkat kinerja perangkat lunak terhadap tujuan yang telah ditentukan.
-          Reliability: Mengacu pada kemampuan perangkat lunak untuk menyediakan fungsionalitas yang diinginkan dalam kondisi tertentu.
-          Usability: Mengacu pada sejauh mana perangkat lunak dapat digunakan dengan mudah.
-          Efficiency: Mengacu pada kemampuan perangkat lunak untuk menggunakan sumber daya sistem dengan cara yang paling efektif dan efisien.
-          Maintainability: Mengacu pada kemudahan modifikasi yang dapat dilakukan dalam sistem perangkat lunak untuk memperluas fungsinya, memperbaiki kinerjanya, atau memperbaiki kesalahannya.
-          Portability: Mengacu pada kemudahan pengembang perangkat lunak (software developer) mana yang dapat mentransfer perangkat lunak dari satu platform ke platform lainnya, tanpa (atau dengan minimum) perubahan. Secara sederhana, ini mengacu pada kemampuan perangkat lunak untuk berfungsi dengan baik pada berbagai platform perangkat keras (hardware) dan perangkat lunak (software) tanpa membuat perubahan apa pun di dalamnya.

b.      Software Enginering Layer
-          A QUALITY FOCUS (FOKUS KUALITAS)
Pada saat kita membangun sebuah aplikasi, Fokus pertama kali yang dibuat adalah Kita akan membangun kualitas yang seperti apa, siapa sasaran kita, aplikasi yang dibangun siapa pengguna dan lai-lain, Oleh karena itu FOKUS KUALITAS ini programmer akan   mengetahui level sebuah aplikasi yang dibangun. Misalnya akan dibangun APLIKASI PEMUTAR MUSIC. Dengan berpatokan pada FOKUS KUALITAS maka Programmer akan mengetahui sampai dimana aplikasi yang akan dibangun. File Music bisa beraneka ragam mulai dari MP3, MP2, AUDIO TRACK, WAV, MDI dan lain-lain. Dengan mengetahui, Aplikasi ini dibuat untuk File music apa, maka programmer akan mengetahui segala hal yang berhubungan dengan program yang dibuat. Apakah aplikasi yang dibuat akan mendukung untuk MP3, MP2, WAV, OGG, TRACK atau yang lainnya. Jika dilihat dari segi Interaksi Manusia dan Komputer, maka dengan FOKUS KUALITAS programmer akan mengetahui bentuk dari aplikasi yang akan bangun.

-          PROCESS
Process atau Proses adalah merupakan lapisan kedua dalam SOFTWARE LAYER, Lapisan ini terletak setelah QUALITY FOCUS, hal ini disebabkan setelah diketahui Fokus Kualitas dari Perangkat Lunak yang akan dibangun, maka pemrogram harus mengetahui bagaimana proses yang harus dijalani oleh pemrograman sehubungan dengan Fokus Kualitas dari Perangkat Lunak yang diharapkan, Proses-proses ini dilakukan terurut dan tepat, agar tidak terjadi kesalahan pada saat sebuah aplikasi di Launching. Proses-proses yang ada akan dikerjakan sesuai dengan Kunci Proses Area yang ada (KPA/Key Process Area).

-          METHODS
Methods atau Metode merupakan salah satu hal yang penting dalam Pembuatan Perangkat Lunak. Dengan metode, pembuat program akan melakukan langkah-langkah dan tindakan-tindakan yang sesuai dengan metode yang ada. Metode yang digunakan harus disesuaikan dengan perangkat lunak yang dibangun, dan tujuan dari pembuatan perangkat lunak.

-          TOOLS
Tools merupakan alat bantu yang dapat digunakan oleh programmer dalam menyelesaikan proyek yang ada. Mulai dari tools animasi tools multimedia, tools normalisasi dan lain-lain. Misalnya : X3D, power designer, paintshop pro, etc.

3.       Andaikan anda terpilih menjadi seorang manajer proyek pada sebuah perusahaan yang akan mengembangkan aplikasi game edukasi di mana tugas anda adalah membuat game baru yang sebelumnya belum ada dan kebutuhan-kebutuhan dalam membangun perangkat lunak juga belum disiapkan. Model proses apa yang akan saya gunakan dalam melakukan pengembangan perangkat lunak dan jelaskan alasannya! Serta Buatlah rancangan context diagram, dekomposisi diagram, dan DFD level 0 dan 1!
Jawab:

Saya akan menggunakan model pengembangan Waterfall(Air Terjun), karena model pengembangan dengan waterfall sudah umum digunakan dan mudah dipahami serta prosesnya yang teratur atau tertata.

-          Rancangan Context Diagram




Dari Context Diagram diatas terdapat 3 terminator, yaitu Anak, Guru, dan Orang Tua. Dari setiap terminator mereka memiliki aktivitas masing-masing, seperti Anak yang memainkan game pengenalan huruf dan angka, Orang Tua yang mendampingi anaknya bermain, dan Guru yang memberikan petunjuk atau arahan cara memainkan game tersebut.

-          Dekomposisi Diagram




Dekomposisi diagram di atas merupakan rincian tentang game pengenalan huruf dan angka, yang nantinya di dalam game tersebut terdapat macam-macam huruf dan angka serta suara atau ejaan dari huruf dan angka. Di dalam game tersebut juga terdapat petunjuk cara memainkan game pengenalan huruf dan angka.

-          DFD level 0 dan 1



Gambar 1. DFD level 0




Gambar 2. DFD level 1

Pada Gambar 1 adalah gambaran umum dari game pengenalan huruf dan angka, sedangkan pada Gambar 2 adalah sedikit rincian dari game tersebut.



Komentar

Postingan populer dari blog ini

Cara Membuat Aritmatika dengan Javascript

Graph Berbobot (Weighted Graph)