Kebutuhan Fungsional dan Kebutuhan Non - Fungsional dalam Rekayasa Perangkat Lunak

 Nama : Lailatul Maghfiroh

NIM     : 23102017

Prodi   : S1 Informatika

Tugas   : RPL 3

DITANYA =

Berikan Penjelasan tentang Kebutuhan Fungsional dan Kebutuhan Non  - Fungsional dalam Rekayasa Perangkat Lunak

DIJAWAB =

Dalam rekayasa perangkat lunak, kebutuhan perangkat lunak dikelompokkan menjadi dua kategori utama: kebutuhan fungsional dan kebutuhan non-fungsional. Keduanya merupakan elemen penting dalam menentukan bagaimana sebuah sistem dirancang, dikembangkan, dan dioperasikan.


1. Kebutuhan Fungsional

Definisi

Kebutuhan fungsional menggambarkan apa yang harus dilakukan oleh sistem perangkat lunak. Ini adalah fungsi-fungsi atau layanan spesifik yang harus disediakan sistem untuk memenuhi tujuan bisnis atau pengguna.

Karakteristik

    • Berhubungan langsung dengan operasi sistem.
    • Memperinci perilaku sistem dalam berbagai skenario.
    • Biasanya dijabarkan dalam bentuk kasus penggunaan (use case) atau user story.

Contoh Kebutuhan Fungsional

    • Sistem harus memungkinkan pengguna untuk masuk (login) menggunakan email dan kata sandi.
    • Sistem harus menyediakan fitur pencarian data berdasarkan nama.
    • Sistem harus mengirim notifikasi email ketika pesanan berhasil dibuat.
    • Sistem harus memproses pembayaran melalui gateway tertentu (misalnya, PayPal atau kartu kredit).

Pentingnya Kebutuhan Fungsional

    • Menentukan apa saja fungsi inti yang harus tersedia dalam sistem.
    • Membantu memastikan sistem memenuhi kebutuhan dan harapan pengguna.

2. Kebutuhan Non-Fungsional

Definisi

Kebutuhan non-fungsional menggambarkan bagaimana sistem bekerja, bukan apa yang dikerjakannya. Ini mencakup batasan, kualitas, atau atribut yang memengaruhi pengalaman pengguna dan efisiensi sistem.

Karakteristik

    • Berhubungan dengan kualitas atau properti sistem.
    • Biasanya didefinisikan dengan parameter yang dapat diukur.
    • Tidak secara langsung menggambarkan fungsi spesifik, tetapi berfokus pada aspek kinerja, keamanan, dan keandalan.

Kategori Kebutuhan Non-Fungsional

 Kinerja (Performance): Sistem harus dapat menangani 10.000 permintaan per detik.

Keandalan (Reliability): Sistem harus tersedia 99,9% waktu operasi.

Keamanan (Security): Sistem harus mendukung autentikasi dua faktor untuk akses pengguna.

Skalabilitas (Scalability): Sistem harus dapat menangani peningkatan jumlah pengguna hingga 1 juta pengguna aktif bulanan.

Usabilitas (Usability): Sistem harus dapat digunakan oleh pengguna tanpa pelatihan tambahan dalam waktu 30 menit.

Pemeliharaan (Maintainability): Sistem harus dapat diperbarui tanpa waktu henti (downtime).

Contoh Kebutuhan Non-Fungsional

    • Aplikasi web harus memuat halaman dalam waktu kurang dari 2 detik.
    • Data pengguna harus dienkripsi menggunakan algoritma AES-256.
    • Sistem harus mendukung berbagai bahasa (multilingual).
    • Sistem harus tetap berfungsi ketika salah satu server mengalami kegagalan (fault tolerance).

Pentingnya Kebutuhan Non-Fungsional

    • Memastikan sistem berkinerja baik dalam berbagai situasi.
    • Menentukan tingkat kepuasan pengguna dan keberlanjutan sistem dalam jangka panjang.

Perbedaan Utama Kebutuhan Fungsional dan Non-Fungsional

Aspek

Kebutuhan Fungsional

Kebutuhan Non-Fungsional

Fokus

Apa yang harus dilakukan oleh sistem

Bagaimana sistem harus bekerja

Tujuan

Menyediakan fungsi atau layanan spesifik

Memastikan kualitas, performa, dan batasan

Contoh

Login, pencarian data, proses pembayaran

Waktu respons, keamanan, keandalan

Pendekatan Verifikasi

Diuji dengan fungsionalitas (use case)

Diuji dengan parameter kinerja (benchmark)


Kesimpulan

Dalam rekayasa perangkat lunak, kebutuhan fungsional dan non-fungsional saling melengkapi. Kebutuhan fungsional memastikan bahwa perangkat lunak melakukan tugas-tugas yang diperlukan, sedangkan kebutuhan non-fungsional memastikan bahwa tugas-tugas tersebut dilakukan secara efisien, aman, dan dengan kualitas tinggi. Definisi dan dokumentasi yang jelas untuk kedua jenis kebutuhan ini sangat penting untuk kesuksesan proyek perangkat lunak.

Komentar

Postingan populer dari blog ini

Contoh Use case Diagram untuk sistem ATM Bank

PENGENALAN KOMPONEN ARDUINO