---
# System prepended metadata

title: Tugas Akhir - Project Classroom Management

---

# Tugas Akhir - Project Classroom Management

:::info
Halaman ini merupakan panduan untuk menyelesaikan project Classroom Management, sebagai tugas akhir di RPL SMK YP IPPI Petojo
:::

---

## Pengenalan

Dalam project ini, kalian akan membuat 2 produk, yaitu:
1. Aplikasi classroom managemen berbasis web (berjalan di browser)
2. Dokumentasi yang dicetak (seperti makalah / laporan PKL)

Tugas project ini akan mencakup hampir dari seluruh materi dan penilaian mata pelajaran produktif dari kelas 10 sampai dengan kelas 12.

Mata pelajaran dan penliaian mencakup:
1. Algoritma
2. SDLC (System Development Life Cycle)
3. Pemrograman Dasar
4. Pemrograman Prosedural
5. Pemrograman Fuctional
6. Pemrograman Berorientasi Objek
7. Software Modeling
8. Database Designing
9. UI/UI Designing
10. RDBMS (Relationship Database Management System)
11. Backend Development
12. Frontend Development
13. Full Web App Development Using Web App Framework

Jadi kita akan fokus ke project ini sampai lulus.

---

## Persiapan

Dalam project ini, setiap siswa diwajibkan memiliki 1 kelompok development. Satu kelompok minimal 3 anggota dan maksimal 5 anggota, serta harus ditentukan siapa:
1. ==techlead==
2. ==backend==
3. ==frontend==
4. jika diperlukan, tentukan juga siapa ==system analyst== dan ==UI/UX Designer==nya.
5. Saya bertindak sebagai ==Project Manager==, yang akan mengelola dan memonitor perjalanan project kalian

Tools yang harus digunakan:
1. ==Discord==, untuk komunikasi seputar project, di channel ==#proj-classroom-mgmt==
2. ==Github==, buat repository kalian dan invite akun saya ==inimalik==, sebagai collaborator di repo kalian.
3. ==Teamwork Management App==, masing sedang saya cari yg free
4. ==[draw.io](app.diagrams.net)==, atau boleh aplikasi lain untuk menggambar diagram pada tahap software modeling
5. ==Markdown== dan ==Markdown Editor==, untuk membuat dokumentasi secara cepat dan sederhana. Saya biasa menggunakan ==MarkText==, ==Apostrophe==, ==[hackmd.io](https://hackmd.io)==
6. ==[postimages.org](https://postimages.org)== untuk hosting gambar yang akan dimasukkan ke dalam dokumentasi.
7. GUI Database App, seperti ==HeidiSQL==, ==phpMyAdmin==, ==MySQL Workbench==, ==DBeaver==, untuk mengelola database secara GUI
8. Command Line App, seperti ==Command Prompt== atau ==Terminal==
9. ==Sublime Text==, atau text editor apapun yg bisa mempermudah proses scripting.
10. ==Google Chrome==, atau web browser apapun, namun disarankan menggunakan Google Chrome
11. ==XAMPP==, atau Web App Stack yg lain seperti ==LAMP== jika develop di OS Linux, gunakan versi terbaru atau ==minimal PHP Versi 7.4xx== dan ==maksimal PHP Versi 8.0xx==
12. ==Composer==, untuk PHP Package Management
13. PHP framework, ==Codeigniter versi 4== atau ==Laravel Versi 8 - 9==, atau pake framework lain jika menggunakan bahasa lain
14. Bootstrap Library, seperti ==Bootstrap== atau ==Bulma==
15. Selebihnya akan menyusul . . .

---

## Langkah - langkah pengerjaan

:::info
Pada bagian ini, kalian akan dibimbing untuk langkah langkah apa saja yang harus dilakukan secara berurutan dari mulai design sampai dengan implementasi, dari mulai pembuatan dokumentasi sampai dengan penyelesaian project
:::

### Langkah Pertama - Siapkan repository

Buatlah repository di github dengan ketentuan sebagai berikut:
1. Buat repository di akun milik ==tech lead== pada kelompok kalian dengan nama ==project-classroom-management==
2. Undang seluruh anggota kelompok ke dalam repository tersebut sebagai collaborator
3. Undang saya ==inimalik== sebagai collaborator di repo tersebut

### Langkah Kedua - Mulai Membuat Dokumentasi

Buatlah dokumentasi yang dimulai dari latar belakang sampai kesimpulan. Gunakan ==Markdown== agar lebih cepat dan mudah.

Bab - bab yang dibutuhkan dalam dokumentasi antara lain:

1. Latar Belakang, yang berisi penjelasan yang melatarbelakangi pembuatan aplikasi ==Classroom Management==
2. Tujuan, yang berisi mengenai tujuan dibuatnya aplikasi tersebut
3. Analisa Permasalahan, yang berisi penjelasan mengenai permasalahan yang ada pada pembelajaran secara offline.
4. Analisa Kebutuhan, yang berisi penjelasan mengenai apa saja yang dibutuhkan untuk membuat aplikasi tersebut.
5. Rancangan aplikasi, yang berisi:
    + Entity Relationship Diagram, beserta penjelasannya
    + Desain relasi antar table untuk database, beserta penjelasannya
    + Activity Diagram, beserta penjelasannya
    + Use Case Diagram, beserta penjelasannya
    + Class Diagram, beserta penjelasannya
6. Rancangan Antarmuka, yang berisi gambar rancangang antarmuka dari aplikasi yang ingin dibuat. Seluruh halaman harus dibuat designnya.
7. Panduan Penggunaan Aplikasi, yang berisi cara menggunakan aplikasi. Seluruh proses dan menu yang ada di aplikasi yang dibuat, harus dijelaskan.
8. Kesimpulan, yang berisi penjelasan yang menyimpulkan bagaimana aplikasi bisa menyelesaikan masalah yang ada selama ini
9. Referensi dan lain lain

---

# Referensi
|Kebutuhan|Link|
|---|---|
|Download XAMPP|[apachefriends.org](https://www.apachefriends.org/download.html)|
|Download Sublime Text|[sublimetext.com](https://www.sublimetext.com/)|
|Download Composer|[getcomposer.org](https://getcomposer.org/)|
|Download Codeigniter|[codeigniter.com](https://codeigniter.com/)|
|Download Laravel|[laravel.com](https://laravel.com/docs/9.x)|
|Database GUI App|[MySQL Workbench](https://dev.mysql.com/downloads/workbench/), [HeidiSQL](https://www.heidisql.com/download.php), [DBeaver](https://dbeaver.io/download), [Adminer](https://www.adminer.org/) \| Pilih salah satu, adminer yang paling ringan |
|Download Git / Git BASH di windows|[git-scm.com](https://git-scm.com/downloads)|
|Markdown Editor|Download [MarkText](https://github.com/marktext/marktext#download-and-installation) atau online di [dillinger.io](https://dillinger.io/), [stackedit.io](https://stackedit.io/app#), [hackmd.io](https://hackmd.io/)|
|Bootstrap 5.2| Download atau gunakan CDN, cek dokumentasi [getbootstrap.com](https://getbootstrap.com/docs/5.2/getting-started/download/)|
|Bulma|Download atau gunakan CDN, cek dokumentasi [bulma.io](https://bulma.io/documentation/)|
|Software Modeling App|Download atau pakai online di [draw.io](https://app.diagrams.net/)|




| Column 1 | Column 2 | Column 3 |
| -------- | -------- | -------- |
| Text     | Text     | Text     |
