Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 20 additions & 41 deletions app.py
Original file line number Diff line number Diff line change
@@ -1,46 +1,25 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Peter Simeth's basic flask pretty youtube downloader (v1.3)
https://github.com/petersimeth/basic-flask-template
© MIT licensed, 2018-2023
"""

from flask import Flask, render_template

DEVELOPMENT_ENV = True
from flask import Flask, render_template, request, redirect, url_for

app = Flask(__name__)

app_data = {
"name": "Peter's Starter Template for a Flask Web App",
"description": "A basic Flask app using bootstrap for layout",
"author": "Peter Simeth",
"html_title": "Peter's Starter Template for a Flask Web App",
"project_name": "Starter Template",
"keywords": "flask, webapp, template, basic",
}

peminjaman = []

@app.route("/")
@app.route('/')
def index():
return render_template("index.html", app_data=app_data)


@app.route("/about")
def about():
return render_template("about.html", app_data=app_data)


@app.route("/service")
def service():
return render_template("service.html", app_data=app_data)


@app.route("/contact")
def contact():
return render_template("contact.html", app_data=app_data)


if __name__ == "__main__":
app.run(debug=DEVELOPMENT_ENV)
return render_template('index.html', items=peminjaman)

@app.route('/pinjam', methods=['GET', 'POST'])
def pinjam():
if request.method == 'POST':
data = {
'nama_alat': request.form['nama_alat'],
'peminjam': request.form['peminjam'],
'tanggal_pinjam': request.form['tanggal_pinjam'],
'tanggal_kembali': request.form['tanggal_kembali']
}
peminjaman.append(data)
return redirect(url_for('index'))
return render_template('pinjam.html')

if __name__ == '__main__':
app.run(debug=True)
Binary file added docs/Sequence Diagram – Melihat Daftar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/sequence_tambah data.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
307 changes: 307 additions & 0 deletions evaluasi/blackbox/blackbox/project alam.side
Original file line number Diff line number Diff line change
@@ -0,0 +1,307 @@
{
"id": "0a62716d-924f-4b4b-8c25-81d8be11db1c",
"version": "2.0",
"name": "project alam",
"url": "https://expert-spork-7vr7qwvp77vp2jg6-5000.app.github.dev",
"tests": [{
"id": "18532c80-a447-4b0f-a990-f109ea10f3bd",
"name": "project alam",
"commands": [{
"id": "3dad5880-d315-4145-b6b1-ed502f6d1e3f",
"comment": "",
"command": "open",
"target": "/",
"targets": [],
"value": ""
}, {
"id": "4065b22d-d093-4d37-8f9d-5c2b8ebf32fe",
"comment": "",
"command": "setWindowSize",
"target": "1209x1017",
"targets": [],
"value": ""
}, {
"id": "136dfa8a-503f-4a3c-a0a3-317575e1e038",
"comment": "",
"command": "click",
"target": "linkText=Beranda",
"targets": [
["linkText=Beranda", "linkText"],
["css=.nav-item:nth-child(1) > .nav-link", "css:finder"],
["xpath=//a[contains(text(),'Beranda')]", "xpath:link"],
["xpath=(//a[contains(@href, '/')])[2]", "xpath:href"],
["xpath=//li/a", "xpath:position"],
["xpath=//a[contains(.,'Beranda')]", "xpath:innerText"]
],
"value": ""
}, {
"id": "b5c2d00d-77c4-4f10-8f48-b1d3a1d52452",
"comment": "",
"command": "click",
"target": "linkText=Form Peminjaman",
"targets": [
["linkText=Form Peminjaman", "linkText"],
["css=.nav-item:nth-child(2) > .nav-link", "css:finder"],
["xpath=//a[contains(text(),'Form Peminjaman')]", "xpath:link"],
["xpath=//a[contains(@href, '/pinjam')]", "xpath:href"],
["xpath=//li[2]/a", "xpath:position"],
["xpath=//a[contains(.,'Form Peminjaman')]", "xpath:innerText"]
],
"value": ""
}, {
"id": "aa0b52ae-4864-489a-83e7-10f86c11aaf3",
"comment": "",
"command": "click",
"target": "name=nama_alat",
"targets": [
["name=nama_alat", "name"],
["css=.mb-3:nth-child(1) > .form-control", "css:finder"],
["xpath=//input[@name='nama_alat']", "xpath:attributes"],
["xpath=//input", "xpath:position"]
],
"value": ""
}, {
"id": "af25d747-c151-4340-b622-b787fb0537d4",
"comment": "",
"command": "type",
"target": "name=nama_alat",
"targets": [
["name=nama_alat", "name"],
["css=.mb-3:nth-child(1) > .form-control", "css:finder"],
["xpath=//input[@name='nama_alat']", "xpath:attributes"],
["xpath=//input", "xpath:position"]
],
"value": "buku"
}, {
"id": "b97d4bf1-7be2-49cf-8caa-75c06be76a8b",
"comment": "",
"command": "click",
"target": "name=peminjam",
"targets": [
["name=peminjam", "name"],
["css=.mb-3:nth-child(2) > .form-control", "css:finder"],
["xpath=//input[@name='peminjam']", "xpath:attributes"],
["xpath=//div[2]/input", "xpath:position"]
],
"value": ""
}, {
"id": "0fd2efae-172e-4e1e-926f-5c8424c2166d",
"comment": "",
"command": "type",
"target": "name=peminjam",
"targets": [
["name=peminjam", "name"],
["css=.mb-3:nth-child(2) > .form-control", "css:finder"],
["xpath=//input[@name='peminjam']", "xpath:attributes"],
["xpath=//div[2]/input", "xpath:position"]
],
"value": "alam"
}, {
"id": "d9f6dbcf-66f0-4746-a94d-783df4dece6b",
"comment": "",
"command": "click",
"target": "name=tanggal_pinjam",
"targets": [
["name=tanggal_pinjam", "name"],
["css=.mb-3:nth-child(3) > .form-control", "css:finder"],
["xpath=//input[@name='tanggal_pinjam']", "xpath:attributes"],
["xpath=//div[3]/input", "xpath:position"]
],
"value": ""
}, {
"id": "96c160bb-e36a-4176-8320-6c99cfa45df4",
"comment": "",
"command": "type",
"target": "name=tanggal_pinjam",
"targets": [
["name=tanggal_pinjam", "name"],
["css=.mb-3:nth-child(3) > .form-control", "css:finder"],
["xpath=//input[@name='tanggal_pinjam']", "xpath:attributes"],
["xpath=//div[3]/input", "xpath:position"]
],
"value": "2025-07-01"
}, {
"id": "3c4a5b09-d329-4b2c-ad6a-358a6d83ef62",
"comment": "",
"command": "click",
"target": "name=tanggal_kembali",
"targets": [
["name=tanggal_kembali", "name"],
["css=.mb-3:nth-child(4) > .form-control", "css:finder"],
["xpath=//input[@name='tanggal_kembali']", "xpath:attributes"],
["xpath=//div[4]/input", "xpath:position"]
],
"value": ""
}, {
"id": "568fddfa-84dc-483f-8f84-8e7a4deb494b",
"comment": "",
"command": "type",
"target": "name=tanggal_kembali",
"targets": [
["name=tanggal_kembali", "name"],
["css=.mb-3:nth-child(4) > .form-control", "css:finder"],
["xpath=//input[@name='tanggal_kembali']", "xpath:attributes"],
["xpath=//div[4]/input", "xpath:position"]
],
"value": "2025-07-03"
}, {
"id": "2c88fc68-01c4-4805-b224-b41d57c78fdf",
"comment": "",
"command": "click",
"target": "css=.btn",
"targets": [
["css=.btn", "css:finder"],
["xpath=//button[@type='submit']", "xpath:attributes"],
["xpath=//button", "xpath:position"],
["xpath=//button[contains(.,'Simpan')]", "xpath:innerText"]
],
"value": ""
}, {
"id": "5951b351-fe6a-4966-b9c8-a2eff20e6694",
"comment": "",
"command": "click",
"target": "linkText=Beranda",
"targets": [
["linkText=Beranda", "linkText"],
["css=.nav-item:nth-child(1) > .nav-link", "css:finder"],
["xpath=//a[contains(text(),'Beranda')]", "xpath:link"],
["xpath=(//a[contains(@href, '/')])[2]", "xpath:href"],
["xpath=//li/a", "xpath:position"],
["xpath=//a[contains(.,'Beranda')]", "xpath:innerText"]
],
"value": ""
}, {
"id": "5ca2bc67-7e70-4021-9376-db7037fb17bb",
"comment": "",
"command": "click",
"target": "linkText=Form Peminjaman",
"targets": [
["linkText=Form Peminjaman", "linkText"],
["css=.nav-item:nth-child(2) > .nav-link", "css:finder"],
["xpath=//a[contains(text(),'Form Peminjaman')]", "xpath:link"],
["xpath=//a[contains(@href, '/pinjam')]", "xpath:href"],
["xpath=//li[2]/a", "xpath:position"],
["xpath=//a[contains(.,'Form Peminjaman')]", "xpath:innerText"]
],
"value": ""
}, {
"id": "ece0d023-566c-4fdb-ba96-ba8fbc53ca8a",
"comment": "",
"command": "click",
"target": "name=nama_alat",
"targets": [
["name=nama_alat", "name"],
["css=.mb-3:nth-child(1) > .form-control", "css:finder"],
["xpath=//input[@name='nama_alat']", "xpath:attributes"],
["xpath=//input", "xpath:position"]
],
"value": ""
}, {
"id": "d9eb8b9e-f13f-4298-ae26-95944963056f",
"comment": "",
"command": "type",
"target": "name=nama_alat",
"targets": [
["name=nama_alat", "name"],
["css=.mb-3:nth-child(1) > .form-control", "css:finder"],
["xpath=//input[@name='nama_alat']", "xpath:attributes"],
["xpath=//input", "xpath:position"]
],
"value": "pulpen"
}, {
"id": "c05a9909-04ff-49b3-b145-92e01964771e",
"comment": "",
"command": "click",
"target": "name=peminjam",
"targets": [
["name=peminjam", "name"],
["css=.mb-3:nth-child(2) > .form-control", "css:finder"],
["xpath=//input[@name='peminjam']", "xpath:attributes"],
["xpath=//div[2]/input", "xpath:position"]
],
"value": ""
}, {
"id": "21d8ac13-f45b-4d08-a0ea-b054a6ee8b52",
"comment": "",
"command": "type",
"target": "name=peminjam",
"targets": [
["name=peminjam", "name"],
["css=.mb-3:nth-child(2) > .form-control", "css:finder"],
["xpath=//input[@name='peminjam']", "xpath:attributes"],
["xpath=//div[2]/input", "xpath:position"]
],
"value": "nanda"
}, {
"id": "64905598-b305-4675-9ab9-aed1d500e876",
"comment": "",
"command": "click",
"target": "name=tanggal_pinjam",
"targets": [
["name=tanggal_pinjam", "name"],
["css=.mb-3:nth-child(3) > .form-control", "css:finder"],
["xpath=//input[@name='tanggal_pinjam']", "xpath:attributes"],
["xpath=//div[3]/input", "xpath:position"]
],
"value": ""
}, {
"id": "54eb29a7-876f-4245-8ad8-eb0a1548097e",
"comment": "",
"command": "type",
"target": "name=tanggal_pinjam",
"targets": [
["name=tanggal_pinjam", "name"],
["css=.mb-3:nth-child(3) > .form-control", "css:finder"],
["xpath=//input[@name='tanggal_pinjam']", "xpath:attributes"],
["xpath=//div[3]/input", "xpath:position"]
],
"value": "2025-07-01"
}, {
"id": "f2ead8d8-f780-4e0c-829d-9d85e9915d10",
"comment": "",
"command": "click",
"target": "name=tanggal_kembali",
"targets": [
["name=tanggal_kembali", "name"],
["css=.mb-3:nth-child(4) > .form-control", "css:finder"],
["xpath=//input[@name='tanggal_kembali']", "xpath:attributes"],
["xpath=//div[4]/input", "xpath:position"]
],
"value": ""
}, {
"id": "113a3fc9-c1f4-443a-981c-f038020b5bb4",
"comment": "",
"command": "type",
"target": "name=tanggal_kembali",
"targets": [
["name=tanggal_kembali", "name"],
["css=.mb-3:nth-child(4) > .form-control", "css:finder"],
["xpath=//input[@name='tanggal_kembali']", "xpath:attributes"],
["xpath=//div[4]/input", "xpath:position"]
],
"value": "2025-07-04"
}, {
"id": "9ce0c310-bcb5-4b4c-9a86-13876080e794",
"comment": "",
"command": "click",
"target": "css=.btn",
"targets": [
["css=.btn", "css:finder"],
["xpath=//button[@type='submit']", "xpath:attributes"],
["xpath=//button", "xpath:position"],
["xpath=//button[contains(.,'Simpan')]", "xpath:innerText"]
],
"value": ""
}]
}],
"suites": [{
"id": "35088be2-972d-486f-99ae-886c262a671b",
"name": "Default Suite",
"persistSession": false,
"parallel": false,
"timeout": 300,
"tests": ["18532c80-a447-4b0f-a990-f109ea10f3bd"]
}],
"urls": ["https://expert-spork-7vr7qwvp77vp2jg6-5000.app.github.dev/"],
"plugins": []
}
10 changes: 10 additions & 0 deletions evaluasi/blackbox/license.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Etika dan Lisensi

Proyek ini merupakan hasil modifikasi dari repositori open-source dengan lisensi MIT.
Saya telah melakukan perubahan pada tampilan antarmuka dan beberapa logika program untuk menyesuaikan dengan kebutuhan sistem Peminjaman Alat Laboratorium.

Lisensi MIT mengizinkan modifikasi dan distribusi ulang selama menyertakan informasi lisensi asli.
Oleh karena itu, pengubahan ini **kompatibel** dengan lisensi asli.

## Referensi:
- [MIT License Explained](https://choosealicense.com/licenses/mit/)
Binary file added evaluasi/blackbox/sus/laporan_usability_sus.docx
Binary file not shown.
Binary file added evaluasi/blackbox/sus/sus_chart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class Peminjaman:
def __init__(self, nama_alat, peminjam, tanggal_pinjam, tanggal_kembali):
self.nama_alat = nama_alat
self.peminjam = peminjam
self.tanggal_pinjam = tanggal_pinjam
self.tanggal_kembali = tanggal_kembali
Loading