Anda di halaman 1dari 4

Nama : Eka Ariyanti

Npm : 2270112126P
Kelas : 22-SI-03-KONVERSI
Mata Kuliah : Rekayasa Perangkat Lunak
Dosen : Rima Mawarni, .M.Kom

Soal 1 :
Dari studi kasus tersebut diatas perlukan dibuat Rekayasa perangkat lunaknya ? jelaskan dengan
singkat !
Jawab:
Menurut saya Perlu,
sebuah sistem perangkat lunak dibutuhkan dalam mengelola proses pengembalian buku dan
penghitungan denda di perpustakaan STMIK DCC Lampung.
Sistem tersebut harus dapat mencatat informasi berikut ini:
 Judul buku dan pengarang
 Nama peminjam dan nomor identitas peminjam
 Tanggal pengembalian
 Jumlah hari buku dipinjam
 Denda yang harus dibayar berdasarkan jumlah hari peminjaman buku
 Pembayaran denda
 Bukti pembayaran

Sistem juga harus menghasilkan laporan setiap akhir bulan, termasuk:


 Jumlah total denda yang terkumpul
 Jumlah buku yang dikembalikan
 Jumlah buku yang terlambat

Soal 2 :
1. Mengapa perlu adanya rekayasa perangkat lunak ? apa tujuannya ? jelaskan!
Jawab:
Rekayasa perangkat lunak sangat penting karena memainkan peran kunci dalam pengembangan
sistem yang kompleks dan canggih. Berikut adalah beberapa alasan mengapa rekayasa perangkat
lunak diperlukan dan tujuannya:
a. Pengembangan Sistem yang Efisien: Rekayasa perangkat lunak memungkinkan pengembangan
sistem yang efisien dan handal. Dengan menggunakan metodologi rekayasa perangkat lunak
yang tepat, pengembang dapat merancang sistem dengan performa tinggi dan kehandalan yang
baik.
b. Memenuhi Kebutuhan Pengguna: Salah satu tujuan utama dari rekayasa perangkat lunak adalah
untuk memastikan bahwa produk yang dihasilkan memenuhi kebutuhan pengguna. Ini
melibatkan pemahaman mendalam terhadap kebutuhan pengguna, analisis yang cermat, dan
implementasi solusi yang sesuai.
c. Manajemen Proyek yang Efektif: Rekayasa perangkat lunak membantu dalam manajemen
proyek yang efektif. Dengan menggunakan praktik terbaik dalam rekayasa perangkat lunak, tim
pengembang dapat mengelola proyek dengan lebih baik, termasuk perencanaan, estimasi
waktu, alokasi sumber daya, dan pemantauan kemajuan proyek.
d. Meningkatkan Kualitas Produk: Tujuan lain dari rekayasa perangkat lunak adalah untuk
meningkatkan kualitas produk. Dengan fokus pada pengujian, pemeliharaan, dan perbaikan
berkelanjutan, rekayasa perangkat lunak membantu memastikan bahwa produk yang dihasilkan
memiliki kualitas yang tinggi.
e. Inovasi Teknologi: Rekayasa perangkat lunak juga bertujuan untuk mendorong inovasi teknologi.
Dengan terus melakukan penelitian dan pengembangan, rekayasa perangkat lunak membantu
menciptakan solusi-solusi baru dan lebih baik dalam dunia teknologi informasi.
f. Kepatuhan Terhadap Standar: Tujuan lain dari rekayasa perangkat lunak adalah memastikan
kepatuhan terhadap standar industri dan regulasi yang berlaku. Hal ini penting untuk
memastikan keamanan, interoperabilitas, dan kualitas keseluruhan dari produk perangkat lunak.

2. Sebutkan beberapa model pengembangan perangkat lunak? Jelaskan secara singkat saja !
Jawab:
Ada beberapa model pengembangan perangkat lunak yang dapat digunakan untuk memandu
pengembangan sistem perangkat lunak. Berikut adalah beberapa model yang paling umum:
a. Waterfall Model: Ini adalah model linier dan berurutan yang melibatkan perkembangan tahap
demi tahap melalui proses pengembangan. Setiap fase diselesaikan sebelum beralih ke fase
berikutnya, dan tidak ada jalan untuk kembali ke fase sebelumnya setelah fase tersebut selesai.
b. Agile Model: Ini adalah model berulang dan bertahap yang menekankan fleksibilitas dan
kepuasan pelanggan. Model ini melibatkan pemecahan proses pengembangan menjadi bagian-
bagian kecil yang dapat dikelola yang disebut sprint, dan terus menguji dan menyempurnakan
perangkat lunak selama proses pengembangan.
c. V-Model: Ini adalah varian dari model waterfall yang menambahkan fase pengujian di akhir
setiap fase pengembangan. Hal ini membantu memastikan bahwa perangkat lunak telah diuji
secara menyeluruh dan memenuhi persyaratan sebelum melanjutkan ke fase berikutnya.
d. Spiral Model: Ini adalah model berbasis risiko yang melibatkan siklus pengembangan berulang,
dengan setiap siklus berfokus pada area risiko tertentu. Model ini dirancang untuk mengatasi
potensi risiko di awal proses pengembangan, dan untuk menyesuaikan rencana pengembangan
yang sesuai.
e. Prototype Model: Ini adalah model yang melibatkan pembuatan prototipe perangkat lunak di
awal proses pengembangan, dan kemudian secara berulang-ulang menyempurnakan dan
menguji prototipe tersebut hingga produk akhir tercapai.
Penting untuk dicatat bahwa tidak ada model pengembangan perangkat lunak yang sempurna untuk
setiap proyek, dan pendekatan terbaik akan bergantung pada kebutuhan dan persyaratan spesifik
proyek. Tim pengembangan perangkat lunak yang baik akan dapat beradaptasi dan menggabungkan
model yang berbeda agar sesuai dengan kebutuhan proyek.

3. Apa perbedaan Metode pengujian sistem dengan BlackBox dan WhiteBox? Jelaskan!
Jawab:
a. Metode Pengujian Sistem: BlackBox dan WhiteBox
Metode pengujian sistem adalah teknik yang digunakan untuk menguji perangkat lunak guna
memastikan bahwa itu berfungsi sesuai dengan yang diharapkan. Dua metode pengujian sistem
yang umum digunakan adalah BlackBox Testing dan WhiteBox Testing.

b. BlackBox Testing
BlackBox Testing, juga dikenal sebagai pengujian fungsional, adalah metode di mana pengujian
dilakukan tanpa memperhatikan struktur internal dari perangkat lunak. Dalam hal ini, pengujian
dilakukan berdasarkan spesifikasi fungsional perangkat lunak. Para pengujian tidak memerlukan
pengetahuan tentang kode sumber atau desain internal dari perangkat lunak. Mereka hanya
fokus pada input dan output yang dihasilkan oleh sistem.
Keuntungan dari BlackBox Testing termasuk kemampuannya untuk mengidentifikasi kesalahan
atau bug yang mungkin terlewatkan selama proses pengembangan. Selain itu, karena pengujian
dilakukan dari perspektif pengguna, BlackBox Testing dapat membantu memastikan bahwa
perangkat lunak berfungsi sesuai dengan harapan pengguna.
Namun, kelemahan dari BlackBox Testing adalah bahwa karena para pengujian tidak memiliki
pengetahuan tentang struktur internal perangkat lunak, mereka mungkin tidak dapat
mengidentifikasi kesalahan yang terkait dengan logika atau alur kerja internal dari perangkat
lunak.

c. WhiteBox Testing
Di sisi lain, WhiteBox Testing, juga dikenal sebagai pengujian struktural atau pengujian berbasis
kode, melibatkan pemeriksaan struktur internal dari perangkat lunak. Para pengujian
menggunakan pengetahuan tentang desain dan implementasi perangkat lunak untuk
mengembangkan kasus uji dan memvalidasi bahwa kode berfungsi seperti yang diharapkan.
Keuntungan dari WhiteBox Testing termasuk kemampuannya untuk mengidentifikasi kesalahan
logika dan alur kerja internal dari perangkat lunak. Dengan akses ke struktur internal perangkat
lunak, para pengujian dapat merancang kasus uji yang lebih komprehensif dan mendalam.
Namun, kelemahan dari WhiteBox Testing adalah bahwa para pengujian memerlukan
pengetahuan teknis yang mendalam tentang struktur dan implementasi perangkat lunak. Selain
itu, karena fokus pada aspek teknis, WhiteBox Testing mungkin tidak sepenuhnya
mencerminkan perspektif pengguna dalam melakukan pengujian.

4. Jika proyek tersebut diatas di uji dengan Metode BlackBox, seperti apakah bentuk pengujiannya ?
jelaskan !
Jawab:
Jika proyek tersebut diuji dengan Metode BlackBox, maka bentuk pengujiannya akan berbeda-beda
tergantung pada tujuan dan sasaran proyek. Namun, umumnya, BlackBox testing memiliki beberapa
bentuk pengujian yang dapat digunakan untuk menguji sistem atau software. Berikut adalah
beberapa bentuk pengujian yang dapat digunakan dalam BlackBox testing:
 Functional Testing: Jenis pengujian ini mengukur kinerja sistem atau perangkat lunak, seperti
waktu respons, keluaran, dan penggunaan sumber daya. Hal ini membantu untuk
mengidentifikasi hambatan atau masalah yang dapat mempengaruhi kinerja sistem
 Performance Testing: Jenis pengujian ini berfokus pada pengujian fungsionalitas sistem atau
perangkat lunak untuk memastikan bahwa sistem atau perangkat lunak tersebut berfungsi
seperti yang diharapkan. Hal ini mencakup pengujian antarmuka pengguna, input/output, dan
fungsi lainnya.
 Security Testing: Jenis pengujian ini berfokus pada identifikasi kerentanan dan kelemahan dalam
sistem atau perangkat lunak yang dapat dieksploitasi oleh penyerang. Ini termasuk pengujian
kerentanan terhadap peretasan, malware, dan ancaman keamanan lainnya
 Usability Testing: Jenis pengujian ini menilai kemudahan penggunaan dan pengalaman
pengguna sistem atau perangkat lunak. Ini termasuk pengujian antarmuka pengguna, navigasi,
dan aspek kegunaan lainnya.
 Compatibility Testing: Jenis pengujian ini memastikan bahwa sistem atau perangkat lunak
bekerja dengan benar pada platform yang berbeda, seperti sistem operasi, browser, atau
perangkat yang berbeda.
Penting untuk dicatat bahwa pengujian BlackBox adalah istilah yang luas yang mencakup berbagai
jenis pengujian, dan metode pengujian spesifik yang digunakan akan bergantung pada tujuan dan
target audiens proyek.

5. Jelaskan secara singkat apakah ada perubahan yang signifikan jika sistem di atas di kembangkan
kearah yang lebih baik lagi ? jelaskan !
Jawab:
Pengembangan sistem yang lebih baik dari sistem yang telah ada dapat membawa perubahan yang
signifikan dalam berbagai aspek. Berikut adalah beberapa perubahan signifikan yang mungkin
terjadi jika sistem di atas dikembangkan ke arah yang lebih baik lagi:
a. Kinerja Lebih Optimal: Dengan pengembangan sistem yang lebih baik, kinerja sistem dapat
ditingkatkan secara signifikan. Hal ini dapat mencakup peningkatan kecepatan, efisiensi
penggunaan sumber daya, dan kemampuan untuk menangani beban kerja yang lebih besar.
b. Keamanan yang Lebih Tinggi: Pengembangan sistem ke arah yang lebih baik juga dapat
meningkatkan tingkat keamanan. Ini termasuk perlindungan terhadap serangan cyber, privasi
data, dan integrasi fitur keamanan yang lebih canggih.
c. Skalabilitas yang Lebih Baik: Sistem yang dikembangkan dengan baik akan memiliki kemampuan
untuk berkembang secara lebih efisien sesuai dengan kebutuhan bisnis atau pengguna.
Skalabilitas yang lebih baik memungkinkan sistem untuk tetap relevan dan berkinerja tinggi saat
menghadapi pertumbuhan atau perubahan lingkungan.
d. Pengalaman Pengguna yang Lebih Baik: Dengan pengembangan sistem yang lebih baik,
pengguna dapat mengalami peningkatan signifikan dalam hal pengalaman pengguna.
Antarmuka yang lebih intuitif, waktu respon yang lebih cepat, dan fitur-fitur baru dapat
meningkatkan kepuasan pengguna secara keseluruhan.
e. Integrasi dengan Teknologi Baru: Pengembangan sistem ke arah yang lebih baik juga
memungkinkan integrasi dengan teknologi baru yang mungkin tidak didukung oleh sistem
sebelumnya. Hal ini dapat mencakup integrasi dengan kecerdasan buatan, Internet of Things
(IoT), atau teknologi terbaru lainnya.
f. Kemampuan Analisis dan Pelaporan yang Lebih Baik: Sistem yang dikembangkan dengan baik
dapat menyediakan kemampuan analisis data yang lebih canggih dan pelaporan yang lebih
komprehensif. Ini memungkinkan organisasi untuk mengambil keputusan berdasarkan wawasan
data yang lebih mendalam.
g. Biaya Operasional dan Perawatan yang Lebih Rendah: Dengan pengembangan sistem yang lebih
baik, biaya operasional dan perawatan dapat dikurangi melalui peningkatan efisiensi,
otomatisasi proses, dan peningkatan daya tahan sistem.
h. Dengan demikian, pengembangan sistem ke arah yang lebih baik dapat membawa perubahan
signifikan dalam kinerja, keamanan, skalabilitas, pengalaman pengguna, integrasi teknologi
baru, kemampuan analisis data, serta biaya operasional dan perawatan.

Anda mungkin juga menyukai