lathifahkk / PSBO

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Laporan Tugas Akhir PSBO


Paralel 2 - Kelompok 8

Deskripsi Aplikasi User Analysis Dampak Spesifikasi Konsep OOP Tipe Desain Hasil dan Pembahasan Hasil Implementasi Saran Developer Referensi

1. Deskripsi singkat aplikasi

^ kembali ke atas ^
Untuk mengatasi permasalahan yang ditemukan, kami sebagai pengembang mencoba membangun aplikasi dengan nama IPB’s Event pada platform berbasis website. Aplikasi IPB’s Event memungkinkan untuk menampilkan semua kegiatan yang diselenggarakan oleh internal IPB University baik yang diselenggarakan oleh mahasiswa maupun pihak kampus IPB University seperti lomba, webinar, seminar, dan sebagainya. Mahasiswa dapat melihat kegiatan yang akan diselenggarakan berdasarkan waktu pelaksanaanya pada beranda IPB Event. Mahasiswa juga dapat mendaftarkan diri secara langsung di aplikasi tersebut sebagai peserta. Selain itu, Organisasi di IPB dapat mendaftarkan kegiatan yang akan diselenggarakannya sebagai panitia pelaksana kegiatan agar kegiatannya dapat terlihat pada aplikasi. Aplikasi IPB’s Event juga mendukung adanya informasi kegiatan yang pendaftarannya dibuka pada hari itu.

2. User analysis

^ kembali ke atas ^

2.1. Mahasiswa

Sebagai seorang mahasiswa IPB, saya ingin mengetahui dan mendapatkan informasi lengkap terkait event internal di IPB yang dapat saya ikuti. Supaya saya tidak ketinggalan informasi mengenai pelaksanaan event tersebut dan dapat mendaftar sebagai peserta event.

2.2. Panitia Event (Organisasi)

Sebagai panitia dari suatu event, saya ingin event yang kami selenggarakan dapat diikuti oleh peserta dengan tepat sasaran. Supaya mahasiswa IPB yang membutuhkan acara ini mendapatkan manfaat dari acara yang kami selenggarakan, tidak ketinggalan informasi mengenai pelaksanaan acara kami, dan dapat mendaftar menjadi peserta.

3. Dampak

Dengan adanya aplikasi ini, informasi kegiatan dapat dikemas dan tersampaikan dengan baik sesuai dengan target sasarannya. Mahasiswa dapat memperoleh informasi kegiatan berdasarkan waktu pelaksanaan dan kategori yang diinginkan. Dengan adanya informasi kegiatan yang pendaftarannya dibuka pada hari itu mengurangi kemungkinan mahasiswa melewatkan kegiatan tersebut, hal ini menghasilkan dampak baik bagi pelaksana dan mahasiswa itu sendiri. Selain itu adanya fitur jadwal saya membantu mahasiswa agar tidak melewatkan kegiatan tersebut. Hal ini dinilai dapat mengurangi kemungkinan tidak terpenuhinya target peserta kegiatan berdasarkan ketersampaian informasi.

4. Spesifikasi teknis lingkungan pengembangan

^ kembali ke atas ^

4.1. Sofware

software

Berikut perangkat lunak yang digunakan untuk mengembangkan IPB's Event :

  • Trello
  • Github
  • Figma
  • draw.io
  • Visual Studio Code
  • Chrome
  • XAMPP

4.2. Hardware

Berikut spesifikasi laptop yang digunakan untuk mengembangkan IPB's Event :

  • Processor: Intel Core i5-6200U CPU @ 2.30GHz 2.40
  • RAM: 8.00GB
  • OS: Windows 10

4.3. Tech Stack

  • Frontend : HTML, CSS
  • Backend
    • Programing Language : PHP
    • Framework : Laravel
    • Web Server : XAMPP
    • DBMS : MYSQL

5. Konsep OOP yang digunakan

^ kembali ke atas ^

Encaptulation

Encapsulation atau pengkapsulan adalah membungkus class dan menjaga propertu di dalam class tersebut supaya tidak diakses sembarangan oleh class lainnya. Encapsulation akan mempermudah dalam penggunaan suatu objek atau pembacaan kode karena informasinya sudah satu kesatuan dan tidak perlu membaca atau mengetahui secara rinci. Berikut adalah salah satu penerapan Encapsulation :

...
class homeMhsController extends Controller
{
public function detailorg($idevent){
        $data = Event::find($idevent);
        return view('detailorg',['event'=>$data] );
    }
}    
...

Inheritance

Inheritance atau pewarisan adalah hubungan antara objek utama yang mewariskan attribute maupun method yang dimilikinya kepada objek baru lainnya, baik itu sebagian maupun keseluruhan. Sehingga objek baru ini akan mewarisi sifat dari objek induknya. Berikut adalah salah satu penerapan Inheritance :

class Org extends Authenticatable
{
    use HasFactory, Notifiable;

    protected $fillable = [
        'name',
        'email',
        'lembaga',
        'password',
    ];

    protected $hidden = [
        'password',
        'remember_token',
    ];

    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
}

6. Tipe desain pengembangan yang digunakan

^ kembali ke atas ^

Model

Model merepresentasikan struktur data dan digunakan untuk berinteraksi dengan database. Komponen model ini bertugas untuk mengolah data seperti mendapatkan data, menyimpan data, mengedit data, dan menghapus data. Berikut adalah model yang diterapkan pada sistem IPB's Event

  • Model Event : Pada model ini terdapat informasi yang dibutuhkan mengenai event seperti primary key data dan hak akses data.
  • Model Org : Pada model ini terdapat informasi mengenai data yang perlu dilengkapi seperti nama, email, lembaga, password yang akan dibutuhkan saat registrasi dan login sebagai organisasi, selain itu juga didefinisikan hak akses terhadap data-data tersebut.
  • Model User : Pada model ini terdapat informasi user atau mahasiswa mengenai data yang diperlukan untuk registrasi dan login seperti nama, email, password dan juga terdapat hak akses terhadap data tersebut.

View

View merupakan User Interface dari aplikasi. View berfungsi untuk menampilkan informasi atau merepresentasikan tampilan kepada Pengguna. Laravel memiliki fungsi Blade yang digunakan untuk menampilkan View pada pengguna. Beriku adalah penerapan View pada Mahasiswa :

  • Halaman Registrasi : halaman awal yang akan di tampilan untuk melakukan registrasi
  • Halaman Login : halaman awal yang akan di tampilkan untuk melakukan login untuk masuk ke aplikasi.
  • Halaman Home : halaman yang akan menampilkan kegiatan yang sedang membuka pendaftaran.
  • Halaman Deskripsi Event : halaman yang berisi informasi dari kegiatan yang dipilih mahasiswa.
  • Halaman Pendaftaran : halaman yang akan digunakan mahasiswa ketika akan mendaftar di suatu kegiatan

Berikut adalah penerapan View pada Organisasi Panitia Event

  • Halaman Registrasi : halaman awal yang akan di tampilan untuk melakukan registrasi
  • Halaman Login : halaman awal yang akan di tampilkan untuk melakuakn login untuk masuk ke aplikasi
  • Halaman Home : halaman yang akan menampilkan kegiatan yang sedang membuka pendaftaran.
  • Halaman Create Event : berisin formulir untuk membuat informasi kegiatan.
  • Halaman Deskripsi Event : halaman yang berisi informasi dari kegiatan yang dipilih. Pada halaman ini User Organisasi dapat mengedit infomasi kegiatan dan dapat pula menghapus informasi kegiatan yang telah Organisasi buat.
  • Halaman Edit Event : halaman yang digunakan oleh Organisasi untuk mengedit informasi dari kegiatan yang telah Organisasi buat

Controller

Controller berfungsi untuk menjebatani antara Model dengan View. Controler akan menerima dan memerespon respon yang datang dam nengubah ke dalam bentuk perintah terhadap view dan model. Berikut adalah Controller yang diterapkan:

  • Auth Controller
  • Event Controller
  • Home Controller
  • User Controller
  • Organisasi Controller

7. Hasil dan Pembahasan

^ kembali ke atas ^

7.1. Use case diagram

Berikut adalah rancangan Use Case dari sistem yang kami kembangkan. Use Case ini terdiri dari 2 aktor yaitu Mahasiswa dan Organisasi atau Panitia Event.

7.2. Activity diagram

Berikut adalah rancangan Activity Diagram dari sistem yang kami kembangkan. Activity Diagram yang kami buat kami bagi menjadi 2 sisi, yaitu dari sisi Mahasiswa dan sisi Organisasi.

  • Mahasiswa

  • Panitia Event (Organisasi)

7.3. Class diagram

7.4. Entity Relationship Diagram (ERD)

7.5. Arsitektur Sistem

image

  • User melakukan request ke Controler
  • Controler akan menghubungin Model untuk berinteraksi dengan Database
  • Kemudian Controler akan merender Respon ke View
  • Kemudian terpresentasikan pada user

7.6. Fungsi utama yang di kembangkan

Fungsi utama yang dikembangkan dari IPB's Event adalah sebagai Organisasi dapat mendaftarkan suatu kegiatannya pada aplikasi ini dan muncul pada beranda aplikasi kemudian sebagin user Mahasiswa dapat melihat dan mendaftarkan diri kegiatan yang ada di aplikasi ini.

7.7. Fungsi CRUD

  • Create : Organisasi dapat menambahkan kegiatan yang mereka selenggarakan.
  • Read : Menampilkan kegiatan yang di daftarkan Organisasi pada beranda.
  • Update : Organisasi dapat mensunting informasi dari kegiatan yang mereka daftarkan.
  • Delete : Organisasi dapat menghapus kegiatan yang telah mereka daftarkan.

8. Hasil Implementasi

^ kembali ke atas ^

8.1 Screenshot sistem

  • Organisasi

    • Page Login orglog
    • Page Register
      orgreg
    • Page Home homeORG
    • Page Create Event homeORG
    • Page Deskripsi Event detailORG
    • Page Edit Event Edit
  • Mahasiswa

    • Page Login LoginMhs

    • Page Register RegMhs

    • Page Home homeMHS

    • Page Deskripsi Event detailMHS

9. Saran untuk pengembangan selanjutnya

^ kembali ke atas ^

  • Menambahkan opsi tiket kegiaatan berbayar dan menambahkan mekanisme pembayaran
  • Menambhakan fitur remainder yang terkoneksi dengan google calender atau sejenisnya
  • Menambahkan list daftar event yang diikuti

10. Developer dan jobdeks

^ kembali ke atas ^

Nama NIM Jobdesk
Lathifah Kurnia K G64180023 Front End, Sistem Analyst, UI/UX Designer
Tia Isnawati Noor G64180034 System Analyst, UI/UX Designer
Ulfainil Aisyah G64180045 Full Stack, UI/UX Designer
Hana Salsabila G64180051 Project Manager, Full Stack, UI/UX Designer, Database

Dokumentasi

^ kembali ke atas ^

Referensi

^ kembali ke atas ^
MVC Model MVC MVC Konsep OOP Konsep OOP Konsep OOP - Inheritage

About


Languages

Language:PHP 72.6%Language:JavaScript 12.7%Language:Twig 7.1%Language:SCSS 2.8%Language:Blade 2.1%Language:HTML 1.0%Language:CSS 0.8%Language:Shell 0.5%Language:Python 0.2%Language:Makefile 0.1%Language:Batchfile 0.1%