Anda di halaman 1dari 29

DOKUMEN UJI PERANGKAT LUNAK

<Pay-U>

untuk:

<Pay-Friend>

Dipersiapkan oleh:

Edward Billy Hadipuspito - 1301201291

Muhammad Fadhil Fadhlurrahman - 1301204439

Ryan Chandra Hadi - 1301204125

Shivanie Virgin Omny Nantaka - 1301200163

Prodi S1 Informatika - Universitas Telkom

Prodi S1 Informatika Nomor Dokumen Halaman


Universitas Telkom
DUPL-Pay-U <x: <#>/<jml #
id_proyek>
Revisi <nomor revisi> Tgl: <isi tanggal>
Daftar Isi

1 Pendahuluan 4
1.1 Tujuan Pembuatan Dokumen 4
1.2 Overview Website 4
1.3 Ruang Lingkup Pengujian 4
1.4 Fungsionalitas yang akan diuji 4
1.5 Referensi 5
1.6 Overview Sistem & Fitur Utamanya 5
1.7 Overview Pengujian 5
1.7.1 Perangkat Keras Pengujian 5
1.7.2 Sumber Daya Manusia 5
1.7.3 Perangkat Lunak Pengujian 6
1.7.4 Material Pengujian 6
1.7.5 Strategi dan Metode Pengujian 7
1.7.6 Jadwal Pengujian 7

2 Pelaksanaan Pengujian 8
2.1 Pengujian UNIT 8
2.1.1 Pengujian Black Box Method 8
2.1.2 Pengujian Class dengan JUnit/PhPUnit 8
2.2 Pengujian INTEGRASI 11
2.2.1 Pengujian DUPL-Pay-U-001 Fungsi Login, Logout, dan Register 11
2.2.2 Pengujian DUPL-Pay-U-002 Fungsi Pemasukan 12
2.2.3 Pengujian DUPL-Pay-U-003 Fungsi Pengeluaran 13
2.2.5 Pengujian DUPL-Pay-U-005 Fungsi Cita-cita 14
2.3 Summary Pengujian Yang Masih Gagal 16

3 Lampiran 16
Algoritma #1 16
Algoritma #2 16
Algoritma #3 17
Algoritma #4 18
Algoritma #5 18
Algoritma #6 19
Algoritma #7 20
Algoritma #8 20
Algoritma #9 21
Algoritma #10 22
Algoritma #11 22
Algoritma #12 24

Prodi Informatika – Universitas DUPL-Pay-U Halaman 2 dari 29


Telkom
Algoritma #13 25
Algoritma #14 25
Algoritma #15 25
Algoritma #16 26
Algoritma #17 27
Algoritma #18 27
Algoritma #19 28
Alert pada saat user tidak sesuai dengan yang telah terdaftar di database 29
Alert jika user tidak memasukan isi form email dan password 29
Alert jika tidak mengisi data pada saat register 30
Alert jika tidak mengisi kolom bagian pemasukan 30
Alert jika tidak mengisi kolom bagian tambah cita-cita 31
Alert jika tidak mengisi kolom bagian tambahkan cicilan 31
Alert jika tidak mengisi kolom bagian pengeluaran 32

Prodi Informatika – Universitas DUPL-Pay-U Halaman 3 dari 29


Telkom
1 Pendahuluan
1.1 Tujuan Pembuatan Dokumen
Dokumen Uji Perangkat Lunak (DUPL) ini bertujuan untuk memberikan
arahan dan pengujian sistem dari perangkat lunak Pay-U. Dengan disusunnya DUPL
ini proses pengembangan perangkat lunak diharapkan dapat membantu dalam
pengujian dan perbaikan saat terjadi kegagalan saat pengujian.

1.2 Overview Website


Pay-U merupakan sebuah website yang dapat membantu penggunanya
mengatur keuangan. Dengan Pay-U pengguna dapat mengetahui berapa lama waktu
yang diperlukan dan berapa banyak.uang yang harus ditabung setiap hari atau
rentang waktu tertentu yang user butuhkan. Pay-U dapat membantu pengguna untuk
mendapatkan barang ataupun hal yang user cita-citakan.

1.3 Ruang Lingkup Pengujian


Cakupan lingkup pengujian dari DUPL ini adalah fitur-fitur yang terdapat pada
perangkat lunak Pay–U seperti Login, Logout, Registrasi, Input-Edit-Hapus-Lihat
Cita-cita, Cicilan serta Pemasukkan dan Pengeluaran.

1.4 Fungsionalitas yang akan diuji

● DUPL-Pay-U-001 Fungsi Login, Logout, dan Register


Merupakan fungsi untuk melakukan login, register, dan logout yang akan
diverifikasi terlebih dahulu ke dalam database yang telah dibuat.
● DUPL-Pay-U-002 Fungsi Pemasukan
Merupakan fungsi yang digunakan untuk menginput dan menampilkan
pemasukan yang telah diinputkan dan akan disimpan ke dalam database.
● DUPL-Pay-U-003 Fungsi Pengeluran
Merupakan fungsi yang digunakan untuk menginput dan menampilkan
pengeluaran yang telah diinputkan dan akan disimpan ke dalam database.
● DUPL-Pay-U-004 Fungsi Cicilan
Merupakan fungsi yang digunakan untuk bisa mengetahui target cita-cita
berdasarkan harga dan lama menabung per-Harinya.
● DUPL-Pay-U-005 Fungsi Cita-cita
Merupakan fungsi yang bisa digunakan untuk bisa mengetahui cita-cita
dengan menambahkan foto sebagai acuan dari user untuk bisa lebih semangat
untuk menabung.

Prodi Informatika – Universitas DUPL-Pay-U Halaman 4 dari 29


Telkom
1.5 Referensi
Berikut merupakan referensi yang digunakan dalam pembuatan dokumen
DUPL diantarai lain:
1. SPESIFIKASI KEBUTUHAN PERANGKAT LUNAK (SKPL), Pay-U.
2. DOKUMEN PERANCANGAN PERANGKAT LUNAK (DPPL), Pay-U.

1.6 Overview Sistem & Fitur Utamanya

Pay-U merupakan sebuah website yang dapat membantu penggunanya


mengatur keuangan. Dengan Pay-U pengguna dapat mengetahui berapa lama waktu
yang diperlukan dan berapa banyak.uang yang harus ditabung setiap hari atau
rentang waktu tertentu yang user butuhkan. Pay-U dapat membantu pengguna untuk
mendapatkan barang ataupun hal yang user cita-citakan.

1.7 Overview Pengujian

1.7.1 Perangkat Keras Pengujian


Perangkat keras yang digunakan adalah PC ataupun Laptop dengan
spesifikasi sebagai berikut:
a. Laptop : Syamaidzar Dwi Novtiar
i. Processor: Intel Core i5-11400H
ii. RAM: 16GB
iii. Tipe Sistem: Windows 11 64-bit
iv. Resolusi: 1920 x 1080 FHD
b. Laptop : Regina Anatasya Rudianto
i. Processor: Intel Core i7-10510U
ii. RAM: 8GB
iii. Tipe Sistem: Windows 10 64-bit
iv. Resolusi: 1920 x 1080 FHD

1.7.2 Sumber Daya Manusia


Persyaratan Sumber daya manusia yang terlibat dalam proses pengujian
perangkat lunak ini adalah:
1. Memiliki kemampuan dasar mengoperasikan komputer(PC/Laptop)
2. Dapat menggunakan bahasa pemrograman PHP
3. Memiliki pengetahuan tentang UI

Prodi Informatika – Universitas DUPL-Pay-U Halaman 5 dari 29


Telkom
1.7.3 Perangkat Lunak Pengujian
- Sistem Operasi: Microsoft Windows 10 64-bit
- IDE: Visual Studio Code
- DBMS: MySQL
- Web Server: Apache
- Scripting language: PHP

1.7.4 Material Pengujian

Pengguna Modul yang diuji Keterangan

Login Login digunakan user


untuk bisa masuk ke dalam
sistem dengan dapat akses
untuk bisa menggunakan
fitur yang ada di dalam
website tersebut.

Logout Fitur ini digunakan oleh


user untuk logout sehingga
dapat keluar dari akun dan
halaman utama website.

Registrasi Fitur ini digunakan oleh


user yang berfungsi untuk
mendaftarkan diri dan
membuat akun baru.

Input Cita-cita Fitur ini digunakan oleh


user untuk menambahkan
Cita-cita yang diinginkan.

Edit Cita-cita Fitur ini digunakan oleh


User (Pay-Friend) user untuk melakukan
perubahan dari Cita-cita
yang sebelumnya sudah
ditambahkan.

Hapus Cita-cita Fitur ini digunakan oleh


user untuk menghapus
Cita-cita yang sebelumnya
sudah ditambahkan.

Detail Cita-cita Fitur ini digunakan melihat


detail Cita-cita yang
sebelumnya sudah
ditambahkan.

Input Cicilan Fitur ini digunakan oleh


user untuk bisa
menambahkan perkiraan
harga jika ingin membeli
sesuatu terhitung perhari
yang harus dikeluarkan.

Hapus Cicilan Fitur ini digunakan oleh

Prodi Informatika – Universitas DUPL-Pay-U Halaman 6 dari 29


Telkom
user untuk menghapus
cicilan jika sudah tercapai
atau tidak lagi
menginginkan barang atau
keinginan terkait.

Input Pemasukan Fitur ini digunakan oleh


user untuk menambahkan
pemasukan yang didapat.

Hapus Pemasukan Fitur ini digunakan oleh


user untuk bisa
menghapus pemasukan
yang didapat.

Input Pengeluaran Fitur ini digunakan oleh


user untuk menambahkan
pengeluaran yang dipakai
oleh user

Hapus Pengeluaran Fitur ini digunakan oleh


user untuk menghapus
pengeluaran yang dirasa
sudah terlalu lama.

1.7.5 Strategi dan Metode Pengujian


Pada Strategi ini kami menggunakan strategi Validation Testing. Uji validasi dilakukan
setelah semua bagian perangkat lunak telah disusun sebagai satu kesatuan yang lengkap
dan kesalahan interfacing telah ditemukan dan diperbaiki. Validasi terjadi jika semua fungsi
perangkat lunak sesuai dengan kebutuhan klien.

1.7.6 Jadwal Pengujian

Fungsionalitas PIC Jadwal Pengujian

DUPL-Pay-U-002 Fungsi Login, Logout,


Shivanie Virgin Omny Nantaka 26 Desember 2022
dan Register

DUPL-Pay-U-003 Fungsi Pemasukan Edward Billy Hadipuspito 27 Desember 2022

DUPL-Pay-U-004 Fungsi Pengeluaran Edward Billy Hadipuspito 27 Desember 2022

DUPL-Pay-U-005 Fungsi Cicil Muhammad Fadhil Fadhlurrahman 28 Desember 2022

DUPL-Pay-U-006 Fungsi Cita-Cita Ryan Chandra Hadi 28 Desember 2022

Prodi Informatika – Universitas DUPL-Pay-U Halaman 7 dari 29


Telkom
2 Pelaksanaan Pengujian
2.1 Pengujian UNIT

Fungsionalitas Tahapan Pengujian

1. Register
DUPL-Pay-U-001 Fungsi Login, Logout, dan Register 2. Login
3. Logout

1. Login as user
2. Membuat List Pemasukan
DUPL-Pay-U-002 Fungsi Pemasukan
3. Input Pemasukan
4. Menghapus Pemasukan

1. Login as user
2. Membuat List Pengeluaran
DUPL-Pay-U-003 Fungsi Pengeluaran
3. Input Pengeluaran
4. Menghapus Pengeluaran

1. Login as user
2. Membuat List Cicilan dan Cita-cita
3. Input Cicilan dan Cita-cita
DUPL-Pay-U-004 Fungsi Cicil dan Cita-Cita
4. Menghapus Cicilan dan Cita-cita
5. Melihat detail dari Cita-cita
6. Merubah detail dari Cita-cita

2.1.1 Pengujian Black Box Method


Pengujian Black Box: merupakan pengujian yang berfokus pada spesifikasi fungsional
dari perangkat lunak, tester dapat mendefinisikan kumpulan condition input dan melakukan
testing pada spesifikasi fungsional program. Dapat disimpulkan bahwa pengujian Black Box
merupakan testing yang mengamati output melalui data uji dan memeriksa fungsionalitas dari
perangkat lunak.

2.2 Pengujian INTEGRASI

2.2.1 Pengujian DUPL-Pay-U-001 Fungsi Login, Logout, dan Register

Kasus dan Hasil Uji (Data normal)


USE CASE Data Masukan Yang Pengamatan Kesimpulan
diharapkan
Registrasi Username : Regina, Data user Data user [x] Diterima
Syamaidzar Dwi yang sudah Syamaidzar [ ] Ditolak
Novtiar diregistrasi dan Regina
Email Address : berhasil berhasil
regina88@gmail.com, ditambah ke melakukan
syamaidzardn@yahoo database dan registrasi dan
d.com masuk ke berhasil
halaman masuk ke
dashboard halaman
dashboard
Login Data User Regina dan Memunculkan User [x] Diterima
Syamaidzar yang page login Syamaidzar [ ] Ditolak
sesuai dengan dan Regina
menampilkan berhasil login

Prodi Informatika – Universitas DUPL-Pay-U Halaman 8 dari 29


Telkom
Kasus dan Hasil Uji (Data normal)
USE CASE Data Masukan Yang Pengamatan Kesimpulan
diharapkan
form email dan masuk
dan password ke halaman
yang user dashboard
perlu isi
dengan
password
atau email
yang sesuai
Logout Tekan tombol logout Kembali ke Users [x] Diterima
halaman berhasil [ ] Ditolak
landing page / keluar
login page halaman
dashboard

Kasus dan Hasil Uji (Data Salah)


USE CASE
Data Masukan Yang Pengamatan Kesimpulan
diharapkan
Registrasi Username : Regina, Data user Data user [x] Diterima
Syamaidzar Dwi yang sudah Syamaidzar [ ] Ditolak
Novtiar diinput tidak dan Regina
Email Address : berhasil tidak berhasil
regina88@gmail.com, ditambah ke ditambahkan
syamaidzardn@ database, karena email
Password : 1234, tidak masuk sudah
syamdn ke halaman terdaftar,
dashboard format email
dan muncul salah dan
keterangan password
Username tidak memiliki
atau 8 karakter.
Password
tidak sesuai
format
Login Data User Regina dan Memunculkan Data user [x] Diterima
Syamaidzar yang tidak page login Syamaidzar [ ] Ditolak
sesuai dengan dan Regina
menampilkan tidak bisa
form email masuk ke
dan password dashboard
yang user karena data
perlu isi yang mereka
dengan masukan
password tidak sesuai
atau email dengan yang
yang tidak telah
sesuai. didaftarkan.

2.2.2 Pengujian DUPL-Pay-U-002 Fungsi Pemasukan

Kasus dan Hasil Uji (Data normal)


USE CASE Data Masukan Yang Pengamatan Kesimpulan
diharapkan
Input Users memasukkan Berhasil Users [x] Diterima

Prodi Informatika – Universitas DUPL-Pay-U Halaman 9 dari 29


Telkom
Kasus dan Hasil Uji (Data normal)
USE CASE Data Masukan Yang Pengamatan Kesimpulan
diharapkan
Pemasukan asal pemasukan menampilkan berhasil input [ ] Ditolak
pemasukan dan terdapat
yang di input di tabel
pemasukan
Hapus Users menghapus list Salah satu list Users [x] Diterima
Pemasukan pemasukan yang dari berhasil [ ] Ditolak
sudah diinputkan pemasukan menghapus
berhasil list
dihapus pemasukan

Kasus dan Hasil Uji (Data Salah)


USE CASE Data Masukan Yang Pengamatan Kesimpulan
diharapkan
Input Users tidak Menampilkan Users tidak [x] Diterima
Pemasukan memasukkan asal keterangan mengisi [ ] Ditolak
pemasukan kolom asal kolom asal
pemasukan pemasukan
harus diisi
Input Users memasukkan Menampilkan Users [x] Diterima
Pemasukan nominal asal keterangan mengisi [ ] Ditolak
pemasukan dengan kolom kolom
huruf/karakter nominal harus dengan huruf
berupa angka

A.

Prodi Informatika – Universitas DUPL-Pay-U Halaman 10 dari 29


Telkom
2.2.3 Pengujian DUPL-Pay-U-003 Fungsi Pengeluaran

Kasus dan Hasil Uji (Data normal)


USE CASE Data Masukan Yang Pengamatan Kesimpulan
diharapkan
Input Users memasukkan asal Berhasil Users berhasil [x] Diterima
Pengeluaran pengeluaran menampilkan input dan [ ] Ditolak
pengeluaran terdapat di
yang di input tabel
pengeluaran
Hapus Users menghapus list Salah satu Users berhasil [x] Diterima
Pengeluaran pengeluaran yang list dari menghapus [ ] Ditolak
sudah diinputkan pengeluaran list
berhasil pengeluaran
dihapus

Kasus dan Hasil Uji (Data Salah)


USE CASE Yang
Data Masukan Pengamatan Kesimpulan
diharapkan
Input Users tidak Menampilkan Users tidak [x] Diterima
Pengeluaran memasukkan asal keterangan mengisi [ ] Ditolak
pengeluaran kolom asal kolom asal
pengeluaran pengeluaran
harus diisi
Input Users memasukkan Menampilkan Users [x] Diterima
Pengeluaran nominal asal keterangan mengisi [ ] Ditolak
pengeluaran dengan kolom kolom
huruf/karakter nominal harus dengan huruf
berupa angka

2.2.4 Pengujian DUPL-Pay-U-004 Fungsi Cicilan

Kasus dan Hasil Uji (Data normal)


USE CASE Yang
Data Masukan Pengamatan Kesimpulan
diharapkan
Input Cicilan Users memasukkan Berhasil Users [x] Diterima
nama cicilan dan menampilkan berhasil input [ ] Ditolak
nominal cicilan Cicilan yang dan terdapat
di input di tabel
berdasarkan Cicilan
nilai nominal
yang
dimasukkan
Hapus Cicilan Users menghapus list Salah satu list Users [x] Diterima
Cicilan yang sudah dari Cicilan berhasil [ ] Ditolak
diinputkan berhasil menghapus
dihapus list Cicilan

Prodi Informatika – Universitas DUPL-Pay-U Halaman 11 dari 29


Telkom
Kasus dan Hasil Uji (Data Salah)
USE CASE Yang
Data Masukan Pengamatan Kesimpulan
diharapkan
Input Cicilan Users tidak Menampilkan Users tidak [x] Diterima
memasukkan nama keterangan mengisi [ ] Ditolak
cicilan kolom nama kolom asal
cicilan harus pengeluaran
diisi
Input Cicilan Users memasukkan Menampilkan Users [x] Diterima
nominal cicilan dengan keterangan mengisi [ ] Ditolak
huruf/karakter kolom kolom
nominal harus dengan huruf
berupa angka

2.2.5 Pengujian DUPL-Pay-U-005 Fungsi Cita-cita

Kasus dan Hasil Uji (Data normal)


USE CASE Yang
Data Masukan Pengamatan Kesimpulan
diharapkan
Input Cita-cita Users memasukkan Users Users
nama Cita-cita, foto Berhasil berhasil input
Cita-cita, dan untuk menampilkan dan terdapat
siapa citacita akan Cita-cita yang di tabel
[x] Diterima
diberikan. di input Cita-cita
[ ] Ditolak
berdasarkan
semua form
yang
dimasukkan
Hapus Cita-cita Users menghapus list Users Users
Cita-cita yang sudah berhasil berhasil
diinputkan menghapus menghapus
[x] Diterima
Salah satu list list Cita-cita
[ ] Ditolak
dari Cita-cita
berhasil
dihapus
Edit Cita-cita User mengedit data Users Users
Cita-cita dari yang berhasil berhasil
sudah mereka sudah mengedit mengedit
inputkan. data ditandai Cita-cita
dengan [x] Diterima
dikembalikan [ ] Ditolak
ke halaman
cita-cita dan
data berhasil
terupdate
Detail Cita-cita User menekan tombol Users Users
detail pada salah satu dilemparkan berhasil
list cita-cita ke halaman terlemparkan
detail dengan kehalaman [x] Diterima
ditampilkan detail [ ] Ditolak
data yang cita-cita.
lebih jelas
dilihat.

Prodi Informatika – Universitas DUPL-Pay-U Halaman 12 dari 29


Telkom
Kasus dan Hasil Uji (Data Salah)
USE CASE Yang
Data Masukan Pengamatan Kesimpulan
diharapkan
Input Cita-cita Users tidak Menampilkan Users tidak
memasukkan nama keterangan mengisi
Cita-cita atau untuk kolom nama kolom nama
[x] Diterima
siapa cita-cita akan Cita-cita atau Cita-cita atau
[ ] Ditolak
diberikan. untuk siapa untuk siapa
cita-cita harus cita-cita
diisi harus diisi
Input Cita-cita Users mengunggah Menampilkan Users
file untuk foto cita-cita keterangan mengunggah
dengan format yang foto cita-cita file .pdf dan
[x] Diterima
tidak sesuai harus dengan .mp3
[ ] Ditolak
format .jpg
.jpeg atau
.png
Edit Cita-cita Users tidak Menampilkan Users
memasukkan kolom keterangan menghapus
untuk siapa cita-cita kolom untuk isian pada
[x] Diterima
akan diberikan siapa cita-cita kolom lalu
[ ] Ditolak
harus diisi tidak
mengisinya
kembali

Prodi Informatika – Universitas DUPL-Pay-U Halaman 13 dari 29


Telkom
2.3 Summary Pengujian Yang Masih Gagal
(Berisi laporan dari pengujian yang telah dilakukan, dengan menyampaikan informasi status
dari setiap fungsional yang masih gagal)

Kelas Uji Butir Uji Kesimpulan pengujian

- - -

3 Lampiran

Algoritma #1
Nama Kelas : Cita2Controller
Nama Operasi : Melihat List Cita-Cita
Algoritma : index

public function __construct(){


$this->Cita2Model = new Cita2Model();
$this->middleware('auth');
}

public function index(){


$data = [
'CitaCita' => $this->Cita2Model->allData(),
];

return view('v_cita-cita', $data);


}

Algoritma #2

Nama Kelas :Cita2Controller


Nama Operasi :Menambah Cita-cita
Algoritma :add

public function add(){


return view('v_addcitacita');
}
public function insert(){
Request()->validate([
'jenis_cita2' => 'required|min:3|max:30',
'nama_cita2' => 'required|min:4|max:50',
'untukSiapa' => 'required|min:3|max:50',
'foto_cita2' =>
'required|mimes:jpg,png,jpeg|max:16000',
], [

Prodi Informatika – Universitas DUPL-Pay-U Halaman 14 dari 29


Telkom
'jenis_cita2.required' => 'Kolom ini wajib diisi
!!!',
'nama_cita2.required' => 'Kolom ini wajib diisi
!!!',
'untukSiapa.required' => 'Kolom ini wajib diisi
!!!',
'foto_cita2.required' => 'Kolom ini wajib diisi
!!!',
'jenis_cita2.min' => 'Minimal 3 Karakter !!!',
'jenis_cita2.max' => 'Maksimal 30 Karakter !!!',
'nama_cita2.min' => 'Minimal 4 Karakter !!!',
'nama_cita2.max' => 'Maksimal 50 Karakter !!!',
'untukSiapa.max' => 'Maksimal 50 Karakter !!!',
'untukSiapa.min' => 'Maksimal 3 Karakter !!!'
]
);

$file = Request()->foto_cita2;
$fileName =
Request()->nama_cita2.'.'.$file->extension();
$file->move(public_path('foto_citacita'), $fileName);

$data = [
'jenis_cita2' => Request()->jenis_cita2,
'nama_cita2' => Request()->nama_cita2,
'untukSiapa' => Request()->untukSiapa,
'foto_cita2' => $fileName,
];

$this->Cita2Model->addData($data);
return redirect()->route('citacita')->with('msg',
'Data Berhasil Di Tambahkan !!');
}

Algoritma #3
Nama Kelas : Cita2Controller
Nama Operasi : Melihat Detail Cita-Cita
Algoritma : detail

public function detail($citacita_id){

if(! $this->Cita2Model->detailData($citacita_id)){
abort(404);
}
$data = [
'CitaCita' =>
$this->Cita2Model->detailData($citacita_id),
];

Prodi Informatika – Universitas DUPL-Pay-U Halaman 15 dari 29


Telkom
return view('v_detailcita2', $data);
}

Algoritma #4
Nama Kelas : Cita2Controller
Nama Operasi : Menghapus Cita-Cita
Algoritma : delete

public function delete($citacita_id){


$citacita =
$this->Cita2Model->detailData($citacita_id);
if ($citacita->foto_cita2 <> ""){
unlink(public_path('foto_citacita') . '/'.
$citacita->foto_cita2);
}
$this->Cita2Model->deleteData($citacita_id);
return redirect()->route('citacita')->with('msg',
'Data Berhasil Di Hapus !!');
}

Algoritma #5
Nama Kelas : Cita2Controller
Nama Operasi : Mengupdate Cita-Cita
Algoritma : update

public function update($citacita_id){


Request()->validate([
'nama_cita2' => 'required|min:4|max:50',
'untukSiapa' => 'required|min:3|max:50',
'foto_cita2' => 'mimes:jpg,png,jpeg|max:16000',
], [
'jenis_cita2.required' => 'Kolom ini wajib diisi
!!!',
'nama_cita2.required' => 'Kolom ini wajib diisi
!!!',
'untukSiapa.required' => 'Kolom ini wajib diisi
!!!',
'nama_cita2.min' => 'Minimal 4 Karakter !!!',
'nama_cita2.max' => 'Maksimal 50 Karakter !!!',
'untukSiapa.max' => 'Maksimal 50 Karakter !!!',
'untukSiapa.min' => 'Maksimal 3 Karakter !!!',
'foto_cita2.mimes' => 'JPG, PNG, JPEG Format Only
!!!'
]
);

Prodi Informatika – Universitas DUPL-Pay-U Halaman 16 dari 29


Telkom
if (Request()->foto_cita2 <> ""){
$file = Request()->foto_cita2;
$fileName =
Request()->nama_cita2.'.'.$file->extension();
$file->move(public_path('foto_citacita'),
$fileName);

$data = [
'jenis_cita2' => Request()->jenis_cita2,
'nama_cita2' => Request()->nama_cita2,
'untukSiapa' => Request()->untukSiapa,
'foto_cita2' => $fileName,
];

$this->Cita2Model->editData($citacita_id, $data);
}else{
$data = [
'jenis_cita2' => Request()->jenis_cita2,
'nama_cita2' => Request()->nama_cita2,
'untukSiapa' => Request()->untukSiapa,

];
$this->Cita2Model->editData($citacita_id, $data);
}

return redirect()->route('citacita')->with('msg',
'Data Berhasil Di Update !!');
}

Algoritma #6
Nama Kelas : RegisterController
Nama Operasi : Memvalidasi register
Algoritma : Validator

protected function validator(array $data)


{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email',
'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8',
'confirmed'],
]);
}

Prodi Informatika – Universitas DUPL-Pay-U Halaman 17 dari 29


Telkom
Algoritma #7
Nama Kelas : RegisterController
Nama Operasi : Membuat Akun
Algoritma : create

protected function create(array $data)


{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}

public function register(Request $request)


{
$this->validator($request->all())->validate();

event(new Registered($user =
$this->create($request->all())));

$this->guard()->login($user);

if ($response = $this->registered($request, $user)) {


return $response;
}

return $request->wantsJson()
? new JsonResponse([], 201)
: redirect($this->redirectPath());
}

Algoritma #8
Nama Kelas : Authentication
Nama Operasi : Login
Algoritma : login, validate, attempt login

public function login(Request $request)


{
$this->validateLogin($request);

if (method_exists($this, 'hasTooManyLoginAttempts') &&


$this->hasTooManyLoginAttempts($request)) {
$this->fireLockoutEvent($request);

return $this->sendLockoutResponse($request);
}

if ($this->attemptLogin($request)) {
if ($request->hasSession()) {

Prodi Informatika – Universitas DUPL-Pay-U Halaman 18 dari 29


Telkom
$request->session()->put('auth.password_confirmed_at',
time());
}

return $this->sendLoginResponse($request);
}
$this->incrementLoginAttempts($request);

return $this->sendFailedLoginResponse($request);
}

protected function validateLogin(Request $request)


{
$request->validate([
$this->username() => 'required|string',
'password' => 'required|string',
]);
}

protected function attemptLogin(Request $request)


{
return $this->guard()->attempt(
$this->credentials($request),
$request->boolean('remember')
);
}

Algoritma #9
Nama Kelas : Authentication
Nama Operasi : Resopon Login
Algoritma : sendLoginResponse, sendFailedLoginResponse

protected function sendLoginResponse(Request $request)


{
$request->session()->regenerate();

$this->clearLoginAttempts($request);

if ($response = $this->authenticated($request,
$this->guard()->user())) {
return $response;
}

return $request->wantsJson()
? new JsonResponse([], 204)
:
redirect()->intended($this->redirectPath());
}

Prodi Informatika – Universitas DUPL-Pay-U Halaman 19 dari 29


Telkom
protected function sendFailedLoginResponse(Request
$request)
{
throw ValidationException::withMessages([
$this->username() => [trans('auth.failed')],
]);
}

Algoritma #10
Nama Kelas : Authentication
Nama Operasi : Logut
Algoritma : logout

public function logout(Request $request)


{
$this->guard()->logout();

$request->session()->invalidate();

$request->session()->regenerateToken();

if ($response = $this->loggedOut($request)) {
return $response;
}

return $request->wantsJson()
? new JsonResponse([], 204)
: redirect('/');
}

Algoritma #11
Nama Kelas : KalkulatorController
Nama Operasi : melihat list cicilan
Algoritma : index

public function __construct(){


$this->kalkulatorModel = new kalkulatorModel();
$this->middleware('auth');
}

public function index(){


$data = [
'cicil' => $this->kalkulatorModel->alldata()
];
return view('v_kalkulator', $data);
}

Prodi Informatika – Universitas DUPL-Pay-U Halaman 20 dari 29


Telkom
Algoritma #12
Nama Kelas : KalkulatorController
Nama Operasi : menambah cicilan
Algoritma : add, insert

public function add(){


return view('v_addcicilan');
}

public function insert(){


Request()->validate([
'nama_citacita' => 'required|min:3|max:30',
'harga_citacita' =>
'integer|required|min:3|max:999999999',
'lama_menabung' =>
'integer|required|min:1|max:10000000'
],[
'harga_citacita.integer' => 'Kolom harus berisi
angka',
'lama_menabung.integer' => 'Kolom harus berisi
angka',
'nama_citacita.required' => 'Kolom ini wajib diisi
!!!',
'harga_citacita.required' => 'Kolom ini wajib
diisi !!!',
'lama_menabung.required' => 'Kolom ini wajib diisi
!!!',
'lama_menabung.min' => 'Minimal 1 Karakter !!!',
'lama_menabung.max' => 'Maksimal 100000000
Karakter !!!',
'harga_citacita.min' => 'Minimal 3 Karakter !!!',
'harga_citacita.max' => 'Maksimal 999999999
Karakter !!!',
'nama_citacita.min' => 'Minimal 3 Karakter !!!',
'nama_citacita.max' => 'Maksimal 30 Karakter !!!'
]
);

$pembagian = Request()->harga_citacita /
Request()->lama_menabung;
$data = [
'nama_citacita' => Request()->nama_citacita,
'harga_citacita' => Request()->harga_citacita,
'lama_menabung' => Request()->lama_menabung,
'cicil_citacita' => $pembagian,
'id' => (auth()->user()->id)

];

$this->kalkulatorModel->addData($data);

Prodi Informatika – Universitas DUPL-Pay-U Halaman 21 dari 29


Telkom
return redirect()->route('kalkulator')->with('msg',
'Data Cicil Berhasil Ditambahkan !!');
}

Algoritma #13
Nama Kelas : KalkulatorController
Nama Operasi : menghapus cicilan
Algoritma : delete

public function delete($calculator_id){

$this->kalkulatorModel->deleteData($calculator_id);
return redirect()->route('kalkulator')->with('msg',
'Data Berhasil Di Hapus !!');

Algoritma #14
Nama Kelas : pemasukanController
Nama Operasi : melihat list pemasukan
Algoritma : index

public function __construct(){


$this->pemasukanModel = new pemasukanModel();
$this->middleware('auth');
}

public function index(){

$data = [
'pemasukan' => $this->pemasukanModel->alldata()
];
return view('v_pemasukan', $data);
}

Algoritma #15
Nama Kelas : pemasukanController
Nama Operasi : menambah pemasukan
Algoritma : add,insert

public function add(){


return view('v_addpemasukan');
}

public function insert(){

Prodi Informatika – Universitas DUPL-Pay-U Halaman 22 dari 29


Telkom
Request()->validate([
'asal_pemasukan' => 'required|min:3|max:30',
'nominal' =>
'integer|required|min:3|max:9999999999999999'
],[
'asal_pemasukan.required' => 'Kolom ini wajib
diisi !!!',
'asal_pemasukan.min' => 'Minimal 3 digit',
'asal_pemasukan.max' => 'Maksimal 30 digit',
'nominal.integer' => 'Kolom harus berisi angkat',
'nominal.required' => 'Kolom ini wajib diisi !!!',
'nominal.min' => 'Minimal 3 digit',
'nominal.max' => 'Maksimal 9999999999999 digit'
]);

$data = [
'asal_pemasukan' => Request()->asal_pemasukan,
'nominal' => Request()->nominal,
'id' => (auth()->user()->id)
];

$this->pemasukanModel->addData($data);
return redirect()->route('pemasukan')->with('msg',
'Data Pemasukan Berhasil Ditambahkan !!');
}

Algoritma #16
Nama Kelas : pemasukanController
Nama Operasi : menghapus pemasukan
Algoritma : delete

public function delete($pemasukan_id){

$this->pemasukanModel->deleteData($pemasukan_id);
return redirect()->route('pemasukan')->with('msg',
'Data Berhasil Di Hapus !!');

Prodi Informatika – Universitas DUPL-Pay-U Halaman 23 dari 29


Telkom
Algoritma #17
Nama Kelas : pengeluaranController
Nama Operasi : melihat list pemasukan
Algoritma : index

public function __construct(){


$this->pengeluaranModel = new pengeluaranModel();
$this->middleware('auth');
}

public function index(){

$data = [
'pengeluaran' =>
$this->pengeluaranModel->alldata()
];
return view('v_pengeluaran', $data);
}

Algoritma #18
Nama Kelas : pengeluaranController
Nama Operasi : menambah pemasukan
Algoritma : add, insert

public function add(){


return view('v_addpengeluaran');
}

public function insert(){


Request()->validate([
'jenis_pengeluaran' => 'required|min:3|max:30',
'deskripsi_pengeluaran' =>
'required|min:3|max:99999',
'nominal' =>
'integer|required|min:1|max:99999999999999'
],[
'nominal.integer' => 'Kolom harus berisi angka',
'jenis_pengeluaran.required' => 'Kolom ini wajib
diisi !!!',
'deskripsi_pengeluaran.required' => 'Kolom ini
wajib diisi !!!',
'nominal.required' => 'Kolom ini wajib diisi !!!',
'nominal.min' => 'Minimal 1 digit !!!',
'nominal.max' => 'Maksimal 9999999999999 digit
!!!',
'deskripsi_pengeluaran.min' => 'Minimal 3 Karakter
!!!',

Prodi Informatika – Universitas DUPL-Pay-U Halaman 24 dari 29


Telkom
'deskripsi_pengeluaran.max' => 'Maksimal 99999
Karakter !!!',
'jenis_pengeluaran.min' => 'Minimal 3 Karakter
!!!',
'jenis_pengeluaran.max' => 'Maksimal 30 Karakter
!!!'
]
);

$data = [
'jenis_pengeluaran' =>
Request()->jenis_pengeluaran,
'deskripsi_pengeluaran' =>
Request()->deskripsi_pengeluaran,
'nominal' => Request()->nominal,
'id' => (auth()->user()->id)
];

$this->pengeluaranModel->addData($data);
return redirect()->route('pengeluaran')->with('msg',
'Data Pengeluaran Berhasil Ditambahkan !!');
}

Algoritma #19
Nama Kelas : pengeluaranController
Nama Operasi : menghapus pemasukan
Algoritma : delete

public function delete($pengeluaran_id){

$this->pengeluaranModel->deleteData($pengeluaran_id);
return redirect()->route('pengeluaran')->with('msg',
'Data Berhasil Di Hapus !!');

Prodi Informatika – Universitas DUPL-Pay-U Halaman 25 dari 29


Telkom
Screenshot Error

Alert pada saat user tidak sesuai dengan yang telah terdaftar di database

Alert jika user tidak memasukan isi form email dan password

Prodi Informatika – Universitas DUPL-Pay-U Halaman 26 dari 29


Telkom
Alert jika tidak mengisi data pada saat register

Alert jika tidak mengisi kolom bagian pemasukan

Prodi Informatika – Universitas DUPL-Pay-U Halaman 27 dari 29


Telkom
Alert jika tidak mengisi kolom bagian tambah cita-cita

Alert jika tidak mengisi kolom bagian tambahkan cicilan

Prodi Informatika – Universitas DUPL-Pay-U Halaman 28 dari 29


Telkom
Alert jika tidak mengisi kolom bagian pengeluaran

Prodi Informatika – Universitas DUPL-Pay-U Halaman 29 dari 29


Telkom

Anda mungkin juga menyukai