- {% block body %} - {% endblock %} -
diff --git a/app.py b/app.py index 56b95db..3c0b0e2 100644 --- a/app.py +++ b/app.py @@ -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) diff --git "a/docs/Sequence Diagram \342\200\223 Melihat Daftar.png" "b/docs/Sequence Diagram \342\200\223 Melihat Daftar.png" new file mode 100644 index 0000000..8758017 Binary files /dev/null and "b/docs/Sequence Diagram \342\200\223 Melihat Daftar.png" differ diff --git a/docs/diagram.png b/docs/diagram.png new file mode 100644 index 0000000..b322251 Binary files /dev/null and b/docs/diagram.png differ diff --git a/docs/sequence_tambah data.png b/docs/sequence_tambah data.png new file mode 100644 index 0000000..44051ae Binary files /dev/null and b/docs/sequence_tambah data.png differ diff --git a/evaluasi/blackbox/blackbox/Screenshot 2025-07-01 000253.png b/evaluasi/blackbox/blackbox/Screenshot 2025-07-01 000253.png new file mode 100644 index 0000000..f6c0ddb Binary files /dev/null and b/evaluasi/blackbox/blackbox/Screenshot 2025-07-01 000253.png differ diff --git a/evaluasi/blackbox/blackbox/project alam.side b/evaluasi/blackbox/blackbox/project alam.side new file mode 100644 index 0000000..d3b6dee --- /dev/null +++ b/evaluasi/blackbox/blackbox/project alam.side @@ -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": [] +} \ No newline at end of file diff --git a/evaluasi/blackbox/license.md b/evaluasi/blackbox/license.md new file mode 100644 index 0000000..420441f --- /dev/null +++ b/evaluasi/blackbox/license.md @@ -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/) diff --git a/evaluasi/blackbox/sus/laporan_usability_sus.docx b/evaluasi/blackbox/sus/laporan_usability_sus.docx new file mode 100644 index 0000000..2d2ca1c Binary files /dev/null and b/evaluasi/blackbox/sus/laporan_usability_sus.docx differ diff --git a/evaluasi/blackbox/sus/sus_chart.png b/evaluasi/blackbox/sus/sus_chart.png new file mode 100644 index 0000000..86e5d25 Binary files /dev/null and b/evaluasi/blackbox/sus/sus_chart.png differ diff --git a/models.py b/models.py new file mode 100644 index 0000000..8ed247c --- /dev/null +++ b/models.py @@ -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 diff --git a/templates/index.html b/templates/index.html index 83e008c..1819880 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,13 +1,29 @@ -{% extends 'layout.html' %} +{% extends "layout.html" %} -{% block body %} -
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
-Title: {{ app_data['html_title'] }}
- -It uses utility classes for typography and spacing to space content out within the larger container.
- Contact -| Nama Alat | +Peminjam | +Tanggal Pinjam | +Tanggal Kembali | +
|---|---|---|---|
| {{ item.nama_alat }} | +{{ item.peminjam }} | +{{ item.tanggal_pinjam }} | +{{ item.tanggal_kembali }} | +