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
19 changes: 19 additions & 0 deletions Analisis MIT dan GPL/MIT License.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
MIT License
MIT License merupakan lisensi yang bersifat permisif dan memberikan kebebasan luas kepada penggunanya.
Inti dari lisensi ini adalah memberikan kelonggaran tanpa batas bagi pengembang untuk menggunakan, memodifikasi, dan mendistribusikan perangkat lunak.
Salah satu keunggulannya adalah kompatibilitas dengan software berpemilik tanpa kewajiban membuka kode sumber, menjadikannya pilihan menarik bagi kalangan industri dan komersial karena minimnya beban legal.
Namun, karena terlalu bebas, lisensi ini tidak mendorong pengguna untuk memberikan kontribusi balik ke komunitas open source, dan dalam beberapa situasi bahkan bisa menghambat keterlibatan komunitas.

GPL (General Public License)
GPL memiliki pendekatan berbeda karena menerapkan prinsip copyleft yang ketat.
Fokus utamanya adalah menjaga kebebasan software dan keberlanjutan komunitas dengan memastikan bahwa semua turunan dari perangkat lunak tetap bersifat open source.
GPL mewajibkan bahwa setiap perubahan kode harus tetap menggunakan lisensi GPL, menjaga keterbukaan di seluruh ekosistem.
Selain itu, GPL lebih jelas dalam hal perlindungan hak paten, memberikan kepastian hukum yang lebih baik dibanding MIT.
Namun, karena persyaratan yang ketat ini, penggunaan GPL dalam konteks komersial menjadi lebih terbatas, terutama karena semua turunan harus tetap mematuhi GPL.

Perbandingan
Perbedaan utama antara MIT dan GPL terletak pada pengelolaan hak cipta dan karya turunan.
MIT tidak secara eksplisit membahas hak paten, sedangkan GPL menegaskan perlindungan hak paten secara jelas.
Untuk penggunaan komersial, MIT memberikan keleluasaan penuh, sedangkan GPL membatasi penggunaan agar kontribusi tetap terbuka untuk umum.
Intinya, GPL berfokus pada perlindungan komunitas dan keberlangsungan open source, sedangkan MIT lebih menekankan kemudahan penggunaan dan fleksibilitas.
Pemilihan lisensi ini sebaiknya disesuaikan dengan visi dan misi proyek: gunakan MIT untuk mendorong adopsi luas dan masuk ke pasar enterprise
8 changes: 4 additions & 4 deletions app.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,19 @@

@app.route("/")
def main():
#return 'Hello'
print(color)
return render_template('hello.html', name=socket.gethostname(), color=color_codes[color])
return render_template('hello.html', name="Imam Tajuddin", color=color_codes[color]) # <--- diubah di sini

@app.route('/color/<new_color>')
def new_color(new_color):
return render_template('hello.html', name=socket.gethostname(), color=color_codes[new_color])
return render_template('hello.html', name="Imam Tajuddin", color=color_codes[new_color]) # <--- di sini juga

@app.route('/read_file')
def read_file():
f = open("/data/testfile.txt")
contents = f.read()
return render_template('hello.html', name=socket.gethostname(), contents=contents, color=color_codes[color])
return render_template('hello.html', name="Imam Tajuddin", contents=contents, color=color_codes[color]) # <--- dan ini

if __name__ == "__main__":
app.run(host="0.0.0.0", port="8080")

Binary file added docs/uml/class_diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 43 additions & 0 deletions docs/uml/class_diagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
@startuml

class User {
-id: int
-username: str
-password: str
+login(): bool
}

class Student {
-id: int
-name: str
-email: str
+get_profile(): dict
}

class Attendance {
-id: int
-student_id: int
-date: date
-status: str
+mark(): void
}

class FaceRecognizer {
+detect_face(image): array
+match_face(encoding): Student
}

class Admin {
-id: int
-name: str
+create_user(): void
+manage_attendance(): void
}

User <|-- Admin
Student --> Attendance : "has many"
Admin --> Student : "manages"
Admin --> Attendance : "records"
FaceRecognizer --> Student : "matches face of"

@enduml
Binary file added docs/uml/sequence_create_item.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions docs/uml/sequence_create_item.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@startuml

actor Admin
participant "CreateStudentPage" as CSP
participant "StudentController" as SC
participant "StudentModel" as SM

Admin -> CSP : input student data
CSP -> SC : submit_form(data)
SC -> SM : save_to_database(data)
SM --> SC : confirm saved
SC --> CSP : return success
CSP --> Admin : show success message

@enduml
Binary file added docs/uml/sequence_login.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions docs/uml/sequence_login.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@startuml

actor User
participant "LoginPage" as LP
participant "AuthController" as AC
participant "UserModel" as UM

User -> LP : input username & password
LP -> AC : submit login()
AC -> UM : validate_credentials()
UM --> AC : valid / invalid
AC --> LP : success / error
LP --> User : redirect / show error

@enduml
Binary file added evaluasi/SUS/Penghitungan skor.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 evaluasi/SUS/grafik responden.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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 47 additions & 0 deletions evaluasi/blackbox/file.side
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"id": "3f9023c1-e818-4242-b098-35ad3c396cf0",
"version": "2.0",
"name": "BLIBLI",
"url": "https://super-pancake-4jrq7jvx7w9v37r5-8080.app.github.dev",
"tests": [{
"id": "b29e7e8c-4cf7-4b28-8dc5-27a2111dc8b6",
"name": "contoh",
"commands": [{
"id": "2be366cb-da91-4bc9-abdc-000f276b6ee5",
"comment": "",
"command": "open",
"target": "/",
"targets": [],
"value": ""
}, {
"id": "e98dba8b-2615-471b-a17a-72e0467d02b6",
"comment": "",
"command": "setWindowSize",
"target": "1552x880",
"targets": [],
"value": ""
}, {
"id": "a912891d-97a6-4aeb-a1c0-1aa400aa9eaf",
"comment": "",
"command": "click",
"target": "css=.btn-primary",
"targets": [
["css=.btn-primary", "css:finder"],
["xpath=//button[@type='submit']", "xpath:attributes"],
["xpath=//button", "xpath:position"],
["xpath=//button[contains(.,'Continue')]", "xpath:innerText"]
],
"value": ""
}]
}],
"suites": [{
"id": "f65b6c79-f795-4949-aaaf-53bdb755e6b0",
"name": "Default Suite",
"persistSession": false,
"parallel": false,
"timeout": 300,
"tests": ["b29e7e8c-4cf7-4b28-8dc5-27a2111dc8b6"]
}],
"urls": ["https://super-pancake-4jrq7jvx7w9v37r5-8080.app.github.dev/"],
"plugins": []
}
4 changes: 2 additions & 2 deletions templates/hello.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
height: 90px;
vertical-align: middle;">
{% if name %}
<h1>Hello from {{ name }}!</h1>
<h1>Hello Imam {{ name }}!</h1>
{% else %}
<h1>Hello, World!</h1>
<h1>Hello, Imam!</h1>
{% endif %}

{% if contents %}
Expand Down