News Portal

 


Spesifikasi Aplikasi Web News Portal

1. Gambaran Umum Sistem

Aplikasi News Portal adalah sistem publikasi berita online yang memungkinkan:

A. Pengguna umum

  • Melihat daftar berita

  • Membaca detail berita

  • Melihat kategori

  • Melakukan pencarian

B. Admin

  • Login ke dashboard

  • Mengelola berita (CRUD)

  • Mengelola kategori

  • Mengelola pengguna/editor

  • Mengunggah gambar berita

Aplikasi menggunakan arsitektur 3 tier:

  1. Presentation Layer: HTML, CSS, JavaScript

  2. Application Layer (Business Logic): PHP

  3. Data Layer: MySQL

2. Modul Utama Sistem

A. Presentation Layer (Front End)

Menggunakan HTML + CSS + JS

Modul Front-End

  1. Home Page

    • Daftar berita terbaru

    • Slider headline news

    • Highlight kategori

  2. News Detail Page

    • Judul berita

    • Isi berita

    • Tanggal publikasi

    • Penulis

    • Gambar utama

  3. Category Page

    • Daftar berita berdasarkan kategori

  4. Search Page

    • Kolom pencarian

    • Hasil pencarian berita

  5. Login Page

    • Form login untuk admin/editor

    • Validasi sisi klien (JavaScript)

3. Application Layer (Back-End / Business Logic)

Ditulis dalam PHP

Modul Back-End

  1. Authentication Module

    • Login admin/editor

    • Validasi akun

    • Manajemen session

  2. News Management Module

    • Tambah berita

    • Edit berita

    • Hapus berita

    • Upload featured image

    • Set kategori

  3. Category Management Module

    • Tambah kategori

    • Edit kategori

    • Hapus kategori

  4. User Management Module (opsional)

    • Tambah admin/editor

    • Edit user level

    • Reset password

  5. Image Upload Module

    • Validasi ukuran file

    • Validasi ekstensi (jpg, png, webp)

    • Penyimpanan ke folder /uploads/

  6. API Response Module (opsional)

    • Menghasilkan response JSON untuk AJAX

4. Data Layer (MySQL Database)

Struktur Tabel News Portal

1. Tabel users

Untuk admin atau editor.

FieldTypeDescription
idINT (PK, AI)ID user
usernameVARCHAR(50)Nama login
passwordVARCHAR(255)Password (bcrypt)
fullnameVARCHAR(100)Nama lengkap
roleENUM('admin','editor')Hak akses
created_atDATETIMETimestamp

2. Tabel categories

Kategori berita.

FieldType
idINT (PK, AI)
nameVARCHAR(100)
slugVARCHAR(120)
descriptionTEXT

3. Tabel news

Tabel utama untuk berita.

FieldTypeDescription
idINT (PK, AI)
category_idINT (FK)Kategori berita
titleVARCHAR(200)Judul berita
slugVARCHAR(220)URL slug
contentTEXTIsi berita
imageVARCHAR(255)Nama file gambar
author_idINT (FK -> users.id)Penulis
published_atDATETIMEWaktu publish
statusENUM('draft','published')Status berita
created_atDATETIMEDibuat
updated_atDATETIMEDiubah

4. Tabel comments (opsional)

FieldType
idINT (PK, AI)
news_idINT (FK)
nameVARCHAR(100)
emailVARCHAR(150)
commentTEXT
created_atDATETIME

5. Alur Kerja Sistem (Workflow)

A. Admin Side

  1. Admin login melalui /admin/login

  2. Sistem memvalidasi username & password

  3. Admin menuju dashboard:

    • Menambahkan berita baru

    • Mengatur kategori

    • Mengelola pengguna

  4. Data dikirim ke Application Layer (PHP)

  5. PHP memvalidasi dan menyimpan ke MySQL

  6. Halaman front-end otomatis membaca data terbaru

B. User Side

  1. User mengakses beranda

  2. Front-end mengambil data berita (Query MySQL → PHP → HTML)

  3. User memilih berita tertentu

  4. System menampilkan detail berita

  5. User dapat membaca tanpa login

6. Fitur Tambahan Opsional

  • Pagination berita

  • Sistem komentar

  • Notifikasi publish

  • Mode dark/light (CSS)

  • Panel analytics

  • API JSON untuk mobile app


Front End User












FRONT END Admin













Share this

Related Posts

Latest
Previous
Next Post »