Tugas Standarisasi

 

  1. Dokumentasi Program


Template

/* 


Nama Program:
Deskripsi:
Versi: 

Tim Pengembang
Tanggal Pembuatan:
Deskripsi File:

*/


/*Fungsi <insert nama fungsi>

Input: <insert input>

Output: <insert output>

Deskripsi:

*/


int main(){


//insert kode program


return 0;

}


Contoh Penerapan Kode 1


/* Nama Program: Jojonomic Financial Management


Deskripsi: Program ini adalah sebuah aplikasi pengelolaan keuangan pribadi dan bisnis yang dirancang khusus untuk membantu pengguna mengelola dan memantau keuangan mereka.

Versi: 1.0

Tim Pengembang:

Muhammad (Programmer)

Sarah (UI/UX Designer)

Andi (Database Administrator)

Dewi (Product Manager)

Tanggal Pembuatan: 1 Januari 2023

Deskripsi File: File ini berisi fungsi utama yang digunakan untuk menjalankan program Jojonomic Financial Management.

*/


/* Fungsi: main


Input: argcount - jumlah argumen yang diterima, argvalue - array argumen

Output: status exit program

Deskripsi: Fungsi ini digunakan untuk menjalankan program Jojonomic Financial Management.

*/

int main(int argcount, char argvalue[]) {

/hurn 0; // keluar program dengan status 0

}


/* Fungsi: login


Input: username - nama pengguna, password - kata sandi

Output: true jika login berhasil, false jika gagal

Deskripsi: Fungsi ini digunakan untuk melakukan proses login ke akun pengguna.

*/

bool login(char username, char* password) {

// kode untuk proses login

return true; // login berhasil

}


/* Fungsi: register


Input: username - nama pengguna, password - kata sandi, email - alamat email

Output: true jika registrasi berhasil, false jika gagal

Deskripsi: Fungsi ini digunakan untuk melakukan proses registrasi akun pengguna baru.

*/

bool register(char username, char* password, char* email) {

// kode untuk proses registrasi

return true; // registrasi berhasil

}


/* Fungsi: addExpense


Input: amount - jumlah pengeluaran, category - kategori pengeluaran

Output: true jika berhasil menambahkan pengeluaran, false jika gagal

Deskripsi: Fungsi ini digunakan untuk menambahkan data pengeluaran baru ke dalam sistem.

*/

bool addExpense(float amount, char category) {

// kode untuk menambahkan pengeluaran

return true; // pengeluaran berhasil ditambahkan

}

/* Fungsi: addIncome


Input: amount - jumlah pemasukan, category - kategori pemasukan

Output: true jika berhasil menambahkan pemasukan, false jika gagal

Deskripsi: Fungsi ini digunakan untuk menambahkan data pemasukan baru ke dalam sistem.

*/

bool addIncome(float amount, char category) {

// kode untuk menambahkan pemasukan

return true; // pemasukan berhasil ditambahkan

}

/* Fungsi: getExpenseReport


Input: startDate - tanggal awal, endDate - tanggal akhir

Output: laporan pengeluaran dalam rentang tanggal tertentu

Deskripsi: Fungsi ini digunakan untuk mengambil laporan pengeluaran dalam rentang tanggal tertentu.

*/


void getExpenseReport(char startDate, char* endDate) {

// kode untuk mengambil laporan pengeluaran

}

/* Fungsi: updatePassword


Input: username - nama pengguna, currentPassword - kata sandi saat ini, newPassword - kata sandi baru

Output: true jika password berhasil diubah, false jika gagal

Deskripsi: Fungsi ini digunakan untuk mengubah kata sandi pengguna.

*/


bool updatePassword(char username, char currentPassword, char* newPassword) {

// kode untuk memperbarui kata sandi pengguna

if(strcmp(currentPassword, getPasswordByUsername(username)) == 0) {

// kata sandi saat ini cocok

updatePasswordByUsername(username, newPassword);

return true; // kata sandi berhasil diubah

}

else {

// kata sandi saat ini tidak cocok

return false; // kata sandi gagal diubah

}

}


/* Fungsi: getIncomeReport


Input: startDate - tanggal awal, endDate - tanggal akhir

Output: laporan pemasukan dalam rentang tanggal tertentu

Deskripsi: Fungsi ini digunakan untuk mengambil laporan pemasukan dalam rentang tanggal tertentu.

*/

void getIncomeReport(char startDate, char endDate) {

// kode untuk mengambil laporan pemasukan

}


/* Fungsi: addAccount


Input: username - nama pengguna, password - kata sandi, email - alamat email

Output: true jika berhasil menambahkan akun, false jika gagal

Deskripsi: Fungsi ini digunakan untuk menambahkan akun pengguna baru ke dalam sistem.

*/

bool addAccount(char username, char password, char* email) {

// kode untuk menambahkan akun pengguna baru

return true; // akun berhasil ditambahkan

}

Contoh Penerapan Kode 2

/*

Nama Program: Sistem Penggajian Karyawan

Deskripsi: Program untuk menghitung gaji karyawan

Versi: 1.0

Tanggal Pembuatan: 15 Maret 2023

Deskripsi File: Program ini menghitung gaji karyawan berdasarkan jam kerja dan tarif per jam

*/


#include <stdio.h>


#define TARIF_PER_JAM 5000


/* Fungsi hitung_gaji

Input: jam_kerja (int)

Output: gaji (int)

Deskripsi: Fungsi ini akan menghitung gaji karyawan berdasarkan jam kerja dan tarif per jam */


int hitung_gaji(int jam_kerja) {

int gaji = jam_kerja * TARIF_PER_JAM;

return gaji;

}


int main() {

int jam_kerja;

printf("Masukkan jumlah jam kerja karyawan: ");

scanf("%d", &jam_kerja);


int gaji = hitung_gaji(jam_kerja);

printf("Gaji karyawan adalah: Rp %d\n", gaji);


return 0;

}


       Dalam contoh ini, program digunakan untuk menghitung gaji karyawan perusahaan Jojonomic berdasarkan jam kerja dan tarif per jam yang telah ditentukan. Konstanta TARIF_PER_JAM didefinisikan menggunakan #define, dan fungsi hitung_gaji digunakan untuk menghitung gaji berdasarkan jam kerja yang diterima. Kemudian, program meminta pengguna untuk memasukkan jumlah jam kerja, menghitung gaji menggunakan fungsi hitung_gaji, dan menampilkan hasilnya.



  1. Spesifikasi Kebutuhan Perangkat Lunak (SKPL)

            Link Dokumen SKPL
  1. Deskripsi Perancangan Perangkat Lunak (DPPL)

Dppl adalah Dokumen Deskripsi Perancangan Perangkat Lunak (DPPL) ini bertujuan untuk mendefinisikan perancangan perangkat lunak M-Guide. Dokumen tersebut akan digunakan oleh pengembang perangkat lunak M-Guide sebagai acuan teknis untuk implementasi pada tahap berikutnya. 

Berikut DPPL aplikasi jojonomic yang berisikan deskripsi perancangan perangkat lunak yang berorientasi proses.

  1. PDHUPL

Dokumen PDHPUL menjadi penting dalam proses pengembangan perangkat lunak karena memberikan panduan dan acuan bagi tim pengembang untuk menjaga konsistensi dan kualitas dari setiap tahapan pengembangan. Selain itu, dokumen ini juga dapat membantu tim pengembang dalam memperkirakan biaya dan jadwal pengembangan, serta memudahkan proses pengujian dan evaluasi hasil dari perangkat lunak yang telah dibangun.

  1. Perencanaan

1.1 Tujuan pembuatan perangkat lunak

Menggambarkan alasan dan tujuan dibuatnya perangkat lunak, sehingga dapat dijadikan sebagai acuan dalam seluruh tahapan pengembangan.

1.2 Lingkup perangkat lunak

Mengidentifikasi batasan-batasan pada perangkat lunak, baik itu dari segi fitur maupun platform yang akan digunakan.

1.3 Batasan perangkat lunak

Menggambarkan batasan-batasan teknis yang harus diperhatikan dalam pengembangan perangkat lunak, seperti batasan hardware, software, dan lingkungan pengembangan.

1.4 Kebutuhan fungsional perangkat lunak

Menjelaskan fitur-fitur dan fungsionalitas yang harus ada dalam perangkat lunak.

1.5 Kebutuhan non-fungsional perangkat lunak

Menjelaskan atribut-atribut non-fungsional yang harus dipenuhi dalam perangkat lunak, seperti keamanan, keandalan, kinerja, dan kemudahan pemeliharaan.

1.6 Perkiraan biaya dan jadwal pengembangan

Menghitung perkiraan biaya dan waktu yang dibutuhkan untuk menyelesaikan pengembangan perangkat lunak.


2. Deskripsi

2.1 Deskripsi umum perangkat lunak

Menggambarkan secara umum tentang perangkat lunak yang akan dikembangkan, termasuk kegunaan dan manfaatnya.

2.2 Arsitektur perangkat lunak

Menjelaskan tentang struktur dan komponen-komponen dari perangkat lunak yang akan dibangun, serta hubungan antar komponen tersebut.

2.3 Alur kerja perangkat lunak

Menjelaskan bagaimana perangkat lunak bekerja, termasuk urutan operasi yang dilakukan untuk menghasilkan output.

2.4 Rancangan antarmuka pengguna

Menjelaskan rancangan antarmuka pengguna, termasuk desain layar, menu, dan kontrol yang akan digunakan dalam perangkat lunak.

2.5 Fitur-fitur perangkat lunak

Menjelaskan fitur-fitur dan fungsionalitas yang akan diimplementasikan dalam perangkat lunak.

2.6 Teknologi yang digunakan dalam pengembangan perangkat lunak

Menjelaskan teknologi dan alat yang akan digunakan dalam pengembangan perangkat lunak.

3. Hasil Uji

3.1 Deskripsi uji perangkat lunak

Menjelaskan tentang proses pengujian perangkat lunak, termasuk lingkup dan batasan pengujian.

3.2 Prosedur uji perangkat lunak

Menjelaskan prosedur pengujian perangkat lunak, termasuk teknik pengujian dan skenario pengujian.

3.3 Hasil uji perangkat lunak

Menjelaskan hasil dari pengujian perangkat lunak, termasuk kelemahan atau kekurangan dari perangkat lunak.

3.4 Analisis hasil uji perangkat lunak

Menjelaskan analisis terhadap hasil pengujian perangkat lunak, termasuk evaluasi terhadap kecocokan dengan spesifikasi dan kebutuhan pengguna.

3.5 Tindakan perbaikan yang dilakukan setelah uji perangkat lunak

Menjelaskan tindakan perbaikan yang dilakukan setelah pengujian perangkat lunak, termasuk perbaikan atas kelemahan atau kekurangan yang ditemukan selama pengujian. Hal ini bertujuan untuk meningkatkan kualitas dan keandalan dari perangkat lunak sebelum dirilis ke publik.


Nama:
Clarissa Luna Maheswari - 5025211003 

Beauty Valen Fajri - 5025211227

Nadira Milha Nailul Fath - 5025211253


Komentar

Postingan populer dari blog ini

EAS APSI

EAS Lanjutan

User Interface Design Aplikasi Ealthy!