SPESIFIKASI KEBUTUHAN PERANGKAT LUNAK

 


SPESIFIKASI KEBUTUHAN PERANGKAT LUNAK



UnilaFreeLanceLink




untuk:

Mahasiswa dan Perusahaan Pencari Tenaga Kerja





Dipersiapkan oleh:

Kelompok 1 PSTI-B

Anggota : 

  1. M.lathif dahlan al-bana

  2. Dihan Ahmad Al-Hasyir Sae

  3. Steven Nataniel Kasim

  4. Deru Pratama

Program Studi Teknik Informatika FT Universitas Lampung

Jl. S. Brojonegoro No. 1 Bandar Lampung














Program Studi Teknik Informatika FT - UNILA


Nomor Dokumen


Halaman

SKPL-W-xx <xx:no grp>

<#>/<jml #

Revisi

<nomor revisi>

Tgl: <isi tanggal>

Control Revisi Dokumen



Nomer Revisi

Tanggal

Diperiksa oleh

Keterangan singkat perbaikan






























Sistem Penomoran


Ada beberapa hal/bagian dalam dokumen ini yang perlu diberi nomor. Maksud penomoran ini untuk mempermudah audience dalam pengidentifikasian. Adapun aturan penomorannya sebagaimana tabel berikut:



Hal/Bagian

Aturan Penomoran

Tabel/Data Store

Nomor berbentuk TD99, dimana 99 adalah nomor urut tabel atau data store

Contoh: TD11, TD12, TD29, TD31 dan sebagainya

Kebutuhan Fungsional

Nomor berbentuk KF999.x, dimana 999 adalah nomor urut struktur butir-butir pada kebutuhan fungsional. Sedangkan x adalah nomor berupa abjad dan sifatnya sebagai tambahan jika kebutuhan fungsional tersebut memiliki item turunannya.

Contoh: KF101, KF120, KF120.a, KF120.b dan sebagainya

Kebutuhan Non Fungsional

Nomor berbentuk KnF99.x, dimana 99 adalah nomor urut struktur butir-butir pada kebutuhan non fungsional. Sedangkan x adalah nomor berupa abjad dan sifatnya sebagai tambahan jika kebutuhan non fungsional tersebut memiliki item turunannya.

Contoh: KnF11, KnF12, KnF12.a, KnF12.b dan sebagainya



Referensi


Berikut adalah daftar acuan yang digunakan dalam pendokumentasian spesifikasi kebutuhan perangkat lunak ini.

  • IEEE Std. 1233, 1998 Edition IEEE Guide for Developing System Requirements Specifications

  • IEEE, Software Requirements Engineering, Second Edition, IEEE Computer Society Press, 2002.

  • Bray, Ian K. An Introduction to Requirement Engineering, 1st published, Addison-Wesley, 2002

  • Kotonya, Gerald and Sommerville, Ian. Requirement Engineering: Processes and Techniques, John Wiley & Sons Ltd, 1998

  • Holil, Achmad. Template: Spesifikasi Kebutuhan Perangkat Lunak, Jurusan Sistem Informasi ITS, 2006.












Daftar Isi

  1. Pendahuluan 3

    1. Tujuan Penulisan Dokumen 3

    2. Lingkup Masalah 3

    3. Definisi, Istilah  dan Singkatan 3

    4. Aturan Penomoran 3

    5. Referensi 3

    6. Deskripsi umum Dokumen (Ikhtisar) 3

  1. Deskripsi Umum Perangkat Lunak 4

    1. Deskripsi Umum Sistem 4

    2. Karakteristik Pengguna 4

    3. Batasan 4

    4. Lingkungan Operasi 4

  2. Deskripsi Kebutuhan 5

    1. Kebutuhan Antarmuka Eksternal 5

      1. Antarmuka pemakai 5

      2. Antarmuka Perangkat Keras 5

      3. Antarmuka Perangkat Lunak 5

      4. Antarmuka Komunikasi 5

    2. Kebutuhan Fungsional 5

    3. Model Use Case 5

      1. Diagram Use Case 5

      2. Definisi Actor 5

      3. Definisi Use Case 6

      4. Skenario Use Case 6

    4. Kebutuhan Non Fungsional 6

    5. Batasan Perancangan 7

    6. Kerunutan (traceability) 7

      1. Kebutuhan Fungsional vs Use Case 7

    7. Ringkasan Kebutuhan 7

      1. Kebutuhan Fungsional 7

      2. Kebutuhan Non Fungsional 7



  1. Pendahuluan

1.1 Tujuan Penulisan Dokumen

Dokumen ini dibuat untuk mendefinisikan spesifikasi spesifikasi kebutuhan perangkat lunak UnilaFreelanceLink, yang akan digunakan oleh mahasiswa dan dosen Universitas Lampung untuk mencari dan menawarkan pekerjaan freelance dalam lingkup universitas.

1.2 Lingkup Masalah

Platform UnilaFreelanceLink adalah platform digital yang dirancang untuk menghubungkan mahasiswa dengan peluang kerja freelance yang disediakan oleh dosen atau institusi terkait. Aplikasi ini berfungsi seperti LinkedIn dalam skala universitas, memfasilitasi pencarian pekerjaan, pembuatan profil profesional, dan interaksi antara pencari dan pemberi kerja.

Platform ini mencakup:

  • Pendaftaran dan autentikasi pengguna (Mahasiswa, Perusahaan, dan Admin)

  • Pengelolaan profil pengguna

  • Sistem pencarian dan pemfilteran lowongan pekerjaan

  • Pengelolaan dan pengajuan lamaran kerja

  • Sistem notifikasi dan komunikasi antara pengguna

  • Moderasi konten oleh Admin

1.3 Definisi, Istilah, dan Singkatan

  • Freelancer: Mahasiswa yang mencari pekerjaan freelance.

  • Employer: Dosen atau pihak universitas yang menawarkan pekerjaan freelance.

  • Job Listing: Daftar pekerjaan yang tersedia di dalam aplikasi

1.4 Aturan Penomoran

Menggunakan sistem penomoran sesuai template:

  • Kebutuhan Fungsional: KF999.x

  • Kebutuhan Non-Fungsional: KnF99.x

1.5 Referensi

  • IEEE Std. 1233, 1998 Edition IEEE Guide for Developing System Requirements Specifications

  • IEEE, Software Requirements Engineering, Second Edition, IEEE Computer Society Press, 2002

  • Kotonya, Gerald dan Sommerville, Ian. Requirement Engineering: Processes and Techniques, John Wiley & Sons Ltd, 1998

1.6 Deskripsi Umum Dokumen

Dokumen ini mencakup deskripsi umum perangkat lunak, kebutuhan antarmuka eksternal, kebutuhan fungsional, model use case, serta kebutuhan non-fungsional.

  1. Deskripsi Umum Perangkat Lunak



  • Deskripsi Umum Sistem

Sistem ini terdiri dari tiga jenis pengguna utama:

  1. Mahasiswa: Mencari pekerjaan, mengajukan lamaran, dan mengelola profil mereka.

  2. Perusahaan: Memposting lowongan pekerjaan dan menyeleksi kandidat yang sesuai.

  3. Admin: Bertanggung jawab atas pengelolaan dan moderasi sistem.

Sistem ini memungkinkan mahasiswa untuk mencari pekerjaan berdasarkan kategori, lokasi, dan jenis pekerjaan (magang, paruh waktu, atau penuh waktu). Perusahaan dapat mengelola lowongan, melihat daftar pelamar, dan berkomunikasi dengan kandidat.



  • Karakteristik Pengguna

Minimal sebuah tabel dengan Kolom : Pengguna, Pekerjaan, Hak Akses. Kolom Hak Akses dihubungkan dengan Fungsi utama yang muncul pada Fungsi Produk


Kategori Pengguna

Tugas

Hak Akses ke aplikasi

Mahasiswa

Pencari freelance

Membuat profil, melamar pekerjaan

Dosen


Pemberi kerja



Membuat job listing, menerima freelancer

Admin

Pengelola Sistem

Mengelola pengguna dan pekerjaan



  • Batasan


Batasan Operasional : 

  • lingkup Keanggotaan :  Hanya terbuka bagi mahasiswa, dosen, dan alumni Universitas Lampung yang tertarik pada dunia freelance.

  • Keterbatasan Sumber Daya : Bergantung pada pendanaan internal, sponsor, atau kerja sama dengan pihak eksternal.

  • Regulasi Kampus : Harus mematuhi peraturan dan kebijakan yang berlaku di Universitas Lampung.

  • Kebutuhan Verifikasi : Proses pendaftaran anggota dan mitra kerja harus melewati tahap validasi tertentu agar menjaga kredibilitas lembaga.

Batasan Teknis : 

  1. Ketergantungan pada Sistem Lain

    • Data transaksi dan rekapitulasi keuangan dapat bergantung pada sistem keuangan universitas atau pihak ketiga.

    • Modul pengelolaan proyek hanya dapat dijalankan jika sistem pencocokan klien-freelancer telah berfungsi dengan baik.

  2. Standarisasi Format Data

    • Harus menggunakan format data yang kompatibel dengan sistem lain yang digunakan oleh universitas atau mitra eksternal.

    • Jika bekerja sama dengan sistem pembayaran digital, harus mengikuti format API dan protokol keamanan yang ditentukan.

  3. Kompatibilitas dan Multi-Platform

    • Sistem harus dapat dijalankan di berbagai platform, termasuk Windows.

    • Jika berbasis web, harus responsif dan kompatibel dengan berbagai browser (Chrome, Firefox, Edge, Safari).

    • Jika menggunakan aplikasi mobile, harus mendukung sistem operasi Android dan iOS.

Lingkungan Operasi

Server: Linux dengan Apache/Nginx

Database: MySQL/PostgreSQL

Client: Browser berbasis web

OS yang didukung: Windows, macOS, Linux




  1. Deskripsi Kebutuhan

3.1 Kebutuhan Antarmuka Eksternal


3.1.1 Antarmuka pemakai


 1.Desain Antarmuka Umum

  • Tampilan Responsif – Antarmuka berbasis web yang dapat menyesuaikan dengan ukuran layar perangkat (desktop, tablet, dan mobile).

  • Warna dan Tema – Menggunakan skema warna yang profesional dan ramah mata, seperti biru dan putih sebagai warna utama.

  • Navigasi Intuitif – Sidebar atau menu utama dengan kategori yang jelas, seperti Dashboard, Proyek, Klien, Portofolio, Pembayaran, dan Pengaturan.

2. Standar GUI & Komponen Utama

  • Header Navigasi

    • Logo Unila FreelanceLink (pojok kiri atas).

    • Menu utama: Beranda, Proyek, Profil, Bantuan.

    • Notifikasi (ikon lonceng).

    • User Profile (foto profil di pojok kanan atas).

  • Dashboard Utama

    • Ringkasan proyek aktif, saldo, dan statistik pekerjaan selesai.

    • Shortcut ke fitur utama: Cari Pekerjaan, Tambah Portofolio, Kelola Pembayaran.

  • Form & Input Standar

    • Dropdown menus untuk kategori pekerjaan.

    • Autocomplete fields untuk pencarian klien atau proyek.

    • Date picker untuk memilih tenggat waktu proyek.

3. Layout dan Standar Komponen

  • Button Standar

    • Primary Button (biru): “Cari Proyek”, “Kirim Tawaran”, “Terima Pembayaran”.

    • Secondary Button (abu-abu): “Batal”, “Kembali”, “Lihat Detail”.

    • Danger Button (merah): “Hapus Akun”, “Batalkan Proyek”.

  • Tampilan Error Message

    • Kesalahan Input: “Silakan isi semua kolom yang diperlukan.”

    • Koneksi Terputus: “Tidak dapat terhubung ke server. Periksa koneksi internet Anda.”

    • Akses Ditolak: “Anda tidak memiliki izin untuk mengakses halaman ini.”



4. Standar Fungsionalitas

shortcut Keyboard

  • Ctrl + F → Pencarian Proyek

  • Ctrl + S → Simpan Perubahan

  • Esc → Batalkan atau Tutup Modal

Bantuan & Dokumentasi

  • Tersedia di setiap halaman dengan ikon Help (❓) yang mengarah ke pusat bantuan atau chatbot AI.

Komponen Perangkat Lunak

  • Frontend: React.js / Vue.js untuk antarmuka interaktif.

  • Backend: Node.js / Laravel untuk mengelola data pengguna dan transaksi.

  • Database: PostgreSQL / MongoDB untuk menyimpan informasi proyek dan transaksi.


3.1.2 Antarmuka Perangkat Keras

Sistem Unila FreelanceLink harus mampu berkomunikasi dengan berbagai perangkat keras melalui standar dan protokol tertentu. Berikut adalah beberapa karakteristik utama:


Dukungan perangkat 

  1. Kompatibel dengan PC/Laptop berbasis Windows, macOS, dan Linux.

  2. Dapat diakses melalui smartphone dan tablet berbasis Android dan iOS.

  3. Berjalan di server cloud untuk mendukung aksesibilitas global.

Interaksi Perangkat Lunak dan Perangkat Keras

  1. Keyboard & Mouse – Navigasi utama di desktop/laptop.

  2. Layar Sentuh – Interaksi pada perangkat mobile (smartphone, tablet).

  3. Microphone & Kamera – Digunakan untuk fitur verifikasi pengguna dan wawancara kerja melalui video call.

  4. Sensor Biometrik – Jika tersedia, bisa digunakan untuk login melalui fingerprint atau face recognition.

Protokol Komunikasi

  1. HTTP/HTTPS – Untuk komunikasi antara client (browser/aplikasi) dan server.

  2. WebSocket – Untuk fitur notifikasi dan chat real-time.

  3. REST API & GraphQL – Untuk integrasi dengan layanan eksternal (misalnya, sistem pembayaran atau rekrutmen).




3.1.3 Antarmuka Perangkat Lunak

  • Terintegrasi dengan sistem autentikasi kampus untuk validasi pengguna.

  • Mendukung format dokumen umum (PDF, DOCX) untuk upload resume dan portfolio.

  • Berbasis arsitektur RESTful API untuk integrasi antara frontend dan backend.

  • Menggunakan database PostgreSQL atau MySQL untuk penyimpanan data pengguna dan pekerjaan.

  • Mendukung autentikasi melalui OAuth (Google, LinkedIn) untuk kemudahan akses.



3.1.4 Antarmuka Komunikasi

  • Chat berbasis teks antara employer dan freelancer melalui sistem internal.

  • Notifikasi berbasis email untuk update status pekerjaan dan pesan baru.

  • API notifikasi menggunakan Firebase Cloud Messaging (FCM) untuk push notification pada perangkat mobile.

  • Dukungan untuk integrasi dengan aplikasi pihak ketiga seperti Google Calendar untuk penjadwalan wawancara.


3.2 Kebutuhan Fungsional

Diawali dengan membuat daftar kebutuhan fungsional P/L, lengkap dengan ID dan penjelasan jika perlu. Bisa dibuat dalam bentuk tabel.


ID

Kebutuhan

Penjelasan

KF001

Registrasi dan Login

Pengguna dapat membuat akun dan masuk ke sistem

KF002

Pembuatan Profil

Pengguna dapat mengisi data diri dan keahlian

KF003

Pencarian Pekerjaan

Mahasiswa dapat mencari pekerjaan berdasarkan kategori

KF004

Pembuatan Job Listing

Dosen dapat membuat daftar pekerjaan yang tersedia

KF005

Aplikasi Pekerjaan

Mahasiswa dapat mengajukan lamaran ke pekerjaan yang tersedia

KF006

Sistem Chat

Employer dan freelancer dapat berkomunikasi langsung

KF007

Sistem Penilaian

Employer dapat memberikan rating kepada freelancer

KF008

Sistem Monetisasi

Sistem memungkinkan pemasangan iklan dan penerapan biaya layanan



3.4 Kebutuhan Non Fungsional


Kebutuhan Kinerja


  • Aplikasi harus memiliki respon waktu kurang dari 2 detik dalam kondisi normal.

  • Sistem harus mampu menangani hingga 10.000 pengguna aktif secara bersamaan tanpa mengalami penurunan performa.

  • Harus dioptimalkan agar penggunaan sumber daya (RAM & CPU) tetap efisien, terutama pada perangkat dengan spesifikasi rendah.





  • Kebutuhan Keamanan


  • Menggunakan enkripsi data (SSL/TLS) untuk melindungi informasi pengguna saat berkomunikasi antara client dan server.

  • Harus memiliki sistem autentikasi yang aman, seperti OAuth (Google, LinkedIn) untuk login pengguna.

  • Sistem harus mendukung pembatasan akses berdasarkan peran pengguna (Mahasiswa, Dosen, Admin).



  • Kebutuhan Perlindungan Keamanan


  • Sistem harus memiliki mekanisme backup otomatis untuk mencegah kehilangan data akibat kegagalan sistem.

  • Harus ada fitur deteksi dan mitigasi serangan siber seperti SQL Injection dan Cross-Site Scripting (XSS).

  • Informasi pribadi pengguna harus disimpan dengan enkripsi dalam database agar tidak bisa diakses oleh pihak yang tidak berwenang.


  • Atribut Kualitas Perangkat Lunak


  • Usability (Kemudahan Penggunaan): Antarmuka harus user-friendly dengan navigasi yang jelas.

  • Reliability (Keandalan): Sistem harus memiliki uptime minimal 99,5% per bulan.

  • Maintainability (Kemudahan Pemeliharaan): Kode harus modular agar pembaruan fitur bisa dilakukan tanpa merusak sistem utama.

  • Portability (Portabilitas): Aplikasi harus dapat berjalan di Windows, MacOS, Android, dan iOS.


Uraikan dengan ringkas kebutuhan non fungsional dalam tabel sebagai berikut. Isilah Kolom Kebutuhan dengan kalimat yang jelas dan kelak dapat ditest untuk dipenuhi.ID adalah nomor kebutuhan yang harus ditelusuri pada saat test. Tuliskan N/A bila Not Applicable..


ID

Parameter

Kebutuhan

Q001

Availibility

Harus dapat diakses 24/7 tanpa gangguan besar

Q002

Ergonomy

Antarmuka pengguna harus user-friendly dan mudah digunakan

Q003

security

Menggunakan enkripsi untuk melindungi data pengguna dan mendukung autentikasi aman

Q004

Portability

Dapat berjalan di berbagai perangkat & OS

Q005

Efficiency

Tidak memakan banyak sumber daya dan responsif

Q006

Memory

Penggunaan memori harus efisien agar dapat berjalan di perangkat dengan spesifikasi rendah

Q007

Response time

Penggunaan memori harus efisien agar dapat berjalan di perangkat dengan spesifikasi rendah

Q008

safety

Sistem harus memiliki mekanisme backup otomatis untuk mencegah kehilangan data





Catatan :

Availability : ketersediaan aplikasi, misalnya harus terus menerus beroperasi 7 hari perminggu, 24 jam per haritanpa gagal

Reliability : keandalan, misalnya tidak pernah boleh gagal(atau kegagalan yang ditolerir adalah …%) sehingga harus dipikirkan fault tolerant architecture. Biasanya hanya perlu untuk Critical Application yang jika gagal akan berakibat fatal.

Ergonomy : kenyamanan pakai bagi pengguna

Portability : kemudahan untuk dibawa dan dioperasikan ke mesin/sistem operasi/platform yang lain

Memory : jika perhitungan kapasitas memori internal kritis (misalnya untuk SW yang harus dijadikan CHIPS dan ukurannya harus kecil

Response time : Batasan waktu yang harus dipenuhi. Sangat penting untuk aplikasi Real Time. Contoh: “Aplikasi harus mampu menampilkan hasil dalam 4 detik”, atau “ATM harus menarik kembali kartu yang tidak diambil dalam waktu 3 menit”

Safety: yang menyangkut keselamatan manusia, misalnya untuk SW yang dipakai pada sistem kontrol di pabrik Security : aspek keamanan yang harus dipenuhi.



3.5 Batasan Perancangan

  • Penggunaan Teknologi: Aplikasi harus dibangun menggunakan stack teknologi berbasis Node.js, PostgreSQL, dan React.js untuk memudahkan pengelolaan dan skalabilitas.

  • Autentikasi: Wajib menggunakan OAuth (Google, LinkedIn) untuk memastikan keamanan dan kemudahan login.

  • Regulasi Data: Harus mematuhi standar perlindungan data mahasiswa sesuai regulasi nasional.

  • Responsivitas: Aplikasi harus bisa digunakan baik di perangkat desktop maupun mobile dengan tampilan yang optimal.

  • Sistem Modular: Pengembangan dilakukan dengan pendekatan modular agar fitur dapat diperbarui tanpa mengganggu sistem utama.



3.6 Kerunutan (traceability)


ID Kebutuhan Fungsional

ID Use Case Terkait

KF001

UC001 (Registrasi)

KF002

UC002 (Pembuatan Profil)

KF003

UC003 (Pencarian Pekerjaan)

KF004

UC004 (Pembuatan Job Listing)

KF005

UC005 (Melamar Pekerjaan)

KF006

UC006 (Sistem Chat)

KF007

UC007 (Sistem Penilaian)

KF008

UC008 (Sistem Monetisasi)



3.7 Ringkasan Kebutuhan

UnilaFreelanceLink adalah aplikasi berbasis web dan mobile yang bertujuan untuk menghubungkan mahasiswa dengan peluang kerja freelance di lingkungan Universitas Lampung.

Kebutuhan Fungsional

Aplikasi ini mencakup beberapa fitur utama, antara lain:

  1. Registrasi dan Login – Pengguna dapat membuat akun dan masuk ke sistem menggunakan autentikasi yang aman.

  2. Pembuatan Profil – Pengguna dapat mengisi data diri, pengalaman, dan keahlian mereka.

  3. Pencarian Pekerjaan – Mahasiswa dapat mencari pekerjaan berdasarkan kategori dan kriteria tertentu.

  4. Pembuatan Job Listing – Dosen atau pihak pemberi kerja dapat memposting lowongan pekerjaan.

  5. Aplikasi Pekerjaan – Mahasiswa dapat mengajukan lamaran untuk pekerjaan yang tersedia.

  6. Sistem Chat – Pengguna dapat berkomunikasi langsung dalam aplikasi untuk membahas pekerjaan.

  7. Sistem Penilaian – Employer dapat memberikan rating kepada freelancer berdasarkan hasil kerja mereka.

  8. Sistem Monetisasi – Platform mendukung pemasangan iklan dan penerapan biaya layanan untuk keberlanjutan bisnis.

Kebutuhan Non-Fungsional

Selain kebutuhan fungsional, sistem ini harus memenuhi beberapa aspek non-fungsional, seperti:

  1. Ketersediaan (Availability) – Sistem harus dapat diakses 24/7 tanpa gangguan besar.

  2. Keamanan (Security) – Data pengguna harus dienkripsi dan sistem harus memiliki autentikasi yang aman.

  3. Kinerja (Performance) – Respon sistem harus kurang dari 2 detik dalam kondisi normal.

  4. Skalabilitas (Scalability) – Sistem harus mampu menangani hingga 10.000 pengguna aktif.

  5. Kepatuhan Regulasi (Regulatory Compliance) – Harus mematuhi kebijakan perlindungan data nasional.

  6. Kemudahan Pemeliharaan (Maintainability) – Sistem harus mudah diperbarui tanpa mengganggu layanan utama.

  7. Portabilitas (Portability) – Aplikasi harus dapat berjalan di berbagai perangkat dan sistem operasi.

  8. Keandalan (Reliability) – Sistem harus memiliki uptime minimal 99,5% setiap bulan.

Dengan memenuhi kebutuhan ini, UnilaFreelanceLink diharapkan dapat menjadi solusi yang efektif dalam menghubungkan mahasiswa dengan peluang kerja freelance secara efisien dan aman. 

3.7.1 Kebutuhan Fungsional


ID

Deskripsi

KF001

Registrasi dan Login

KF002

Pembuatan Profil

KF003

Pencarian Pekerjaan

KF004

Pembuatan Job Listing

KF005

Aplikasi Pekerjaan

KF006

Sistem Chat

KF007

Sistem Penilaian



3.7.2 Kebutuhan Non Fungsional



ID

Deskripsi

N001

Availability

N002

Security

N003

Performance

N004

Scalability

N005

Regulatory Compliance



0 Komentar