Cara Instalasi YOLO AI Deteksi Mengantuk untuk windows

Tutorial ini menjelaskan langkah demi langkah cara menginstal dan menjalankan YOLOv8 untuk mendeteksi mata mengantuk menggunakan webcam. Panduan ini ditujukan untuk pemula dan dapat langsung dipraktikkan.


1. Persiapan Awal

Perangkat yang Dibutuhkan

  • Laptop atau PC
  • Webcam (kamera laptop atau USB)
  • Sistem Operasi Windows 10 atau Windows 11

Spesifikasi Minimum

  • RAM minimal 8 GB
  • Python versi 3.8 sampai 3.11
  • GPU tidak wajib (CPU sudah cukup)

2. Install dan Cek Python

2.1 Mengecek Python

Buka Command Prompt (CMD) dengan menekan Windows + R, ketik cmd, lalu tekan Enter.

Jalankan perintah berikut di CMD:

python --version

Jika versi Python muncul, lanjut ke langkah berikutnya. Jika belum terinstall, lakukan instalasi Python.

2.2 Install Python

  1. Download Python dari website resmi
  2. Jalankan file installer
  3. Centang opsi Add Python to PATH
  4. Klik Install dan tunggu hingga selesai

Setelah selesai, cek kembali Python:

python --version

3. Membuat Folder Project

Buat folder project agar file tersusun rapi, contoh:

D:\YOLO\deteksi-ngantuk

Masuk ke folder tersebut menggunakan CMD:

cd D:\YOLO\deteksi-ngantuk

4. Membuat Virtual Environment

Virtual environment digunakan agar library Python tidak bentrok dengan project lain.

Jalankan perintah berikut:

python -m venv yolo-env

Aktifkan virtual environment:

yolo-env\Scripts\activate

Jika berhasil, CMD akan menampilkan:

(yolo-env)

5. Install YOLOv8 dan Library Pendukung

Jalankan perintah berikut di CMD:

python -m pip install ultralytics opencv-python

Setelah selesai, cek instalasi YOLO:

yolo

Jika muncul daftar perintah YOLO, instalasi berhasil.


6. Download Dataset

Download dataset YOLOv8 dari Roboflow melalui link berikut:

https://universe.roboflow.com/arif-farhan-mahardika-putra-yabal/deteksi-mata-kantuk-malam-hari/dataset/1

Pilih format YOLOv8 dan ekstrak ke folder:

D:\YOLO\deteksi-ngantuk\dataset

7. Download Model YOLOv8

Download model pretrained YOLOv8n melalui link berikut:

Download yolov8n.pt

Simpan file ke dalam folder project:

D:\YOLO\deteksi-ngantuk\yolov8n.pt

8. Training Model

Jalankan perintah training berikut:


yolo detect train model=yolov8n.pt data=dataset\data.yaml imgsz=416 epochs=50 batch=4 workers=0
  

Model hasil training akan tersimpan di:

runs\detect\train\weights\best.pt

9. Uji Model dengan Webcam

Jalankan perintah berikut:


yolo detect predict model=runs\detect\train\weights\best.pt source=0 conf=0.15 show=True
  

Jika webcam aktif dan mendeteksi mata, berarti model berhasil.


10. Membuat Program Deteksi Mengantuk

Buat file Python baru dengan nama ngantuk_webcam.py


import time
import cv2
from ultralytics import YOLO

MODEL_PATH = r"runs\detect\train\weights\best.pt"  # ganti ke last.pt kalau best.pt tidak ada
CLOSED_LABEL = "closed-eyes"
THRESHOLD_SECONDS = 2.0
CONF = 0.4

model = YOLO(MODEL_PATH)
cap = cv2.VideoCapture(0)

closed_since = None

while True:
    ret, frame = cap.read()
    if not ret:
        break

    results = model.predict(source=frame, conf=CONF, verbose=False)[0]
    names = results.names

    detected_closed = False
    for box in results.boxes:
        label = names[int(box.cls[0])]
        if label == CLOSED_LABEL:
            detected_closed = True
            break

    now = time.time()
    if detected_closed:
        if closed_since is None:
            closed_since = now
        dur = now - closed_since
        if dur >= THRESHOLD_SECONDS:
            cv2.putText(frame, f"NGANTUK! ({dur:.1f}s)", (30, 60),
                        cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 0, 255), 3)
        else:
            cv2.putText(frame, f"Mata tertutup: {dur:.1f}s", (30, 60),
                        cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 255, 255), 2)
    else:
        closed_since = None
        cv2.putText(frame, "Normal", (30, 60),
                    cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 255, 0), 2)

    cv2.imshow("Deteksi Ngantuk (q untuk keluar)", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
  

Jalankan program dengan perintah:

python ngantuk_webcam.py

Kesimpulan

Dengan mengikuti tutorial ini, pengguna pemula dapat membangun sistem deteksi mata mengantuk menggunakan YOLOv8 dan webcam. Sistem ini dapat dikembangkan lebih lanjut untuk alarm suara, monitoring pengemudi, atau aplikasi keselamatan lainnya.

Cara Setting Cloudflare dari Serangan DDoS

Serangan DDoS (Distributed Denial of Service) adalah jenis serangan yang membuat server atau website tidak dapat diakses dengan cara membanjiri trafik secara berlebihan. Untungnya, Cloudflare menyediakan proteksi yang cukup lengkap untuk mengamankan website dari ancaman ini. Berikut langkah-langkah setting Cloudflare agar website Anda lebih aman:


1. Daftar & Tambahkan Domain ke Cloudflare

  1. Masuk ke https://dash.cloudflare.com
  2. Tambahkan domain Anda.
  3. Pilih paket Free Plan (sudah cukup untuk proteksi dasar).
  4. Arahkan DNS domain Anda ke nameserver Cloudflare.

2. Aktifkan Proxy Cloudflare / Orange Cloud

Pada menu DNS, pastikan ikon awan berwarna orange (Proxy ON).
Ini membuat seluruh trafik melewati Cloudflare sebelum masuk ke server Anda sehingga bot, crawler, dan trafik mencurigakan bisa difilter.


3. Aktifkan Under Attack Mode

Fitur ini sangat efektif ketika website mulai mendapatkan lonjakan trafik tidak wajar.

  • Masuk ke menu Security → Settings
  • Aktifkan Under Attack Mode

Pengunjung manusia tetap bisa mengakses, tapi bot jahat ditahan dan diverifikasi terlebih dahulu.


4. Atur Security Level

Masuk ke Security → Settings dan ubah menjadi:

Security Level: High

Dengan setting ini Cloudflare akan lebih agresif memeriksa aktivitas mencurigakan seperti bot scanner, spammer, dan brute force attacker.


5. Membuat Firewall Rules

Gunakan firewall untuk memblokir trafik yang mencurigakan.

Masuk ke Security → WAF → Firewall Rules
Klik Create Rule, lalu tambahkan:

Rule 1: Blokir Bot Berbahaya

Field: Known Bots
Action: Block

Rule 2: Blokir Trafik Luar Negeri (Opsional)
Jika website Anda hanya untuk Indonesia:

Field: Country
Operator: not equals
Value: ID
Action: Block/Challenge

Rule 3: Challenge IP yang Mengirim Request Tinggi

(http.request.uri.path contains "/wp-login.php")
Action: Managed Challenge

Ini sangat cocok untuk website WordPress yang sering diserang brute-force login.


6. Aktifkan Rate Limiting (Opsional Tapi Direkomendasikan)

Batasi request berlebihan pada halaman penting seperti:

  • /wp-login.php
  • /xmlrpc.php

Menu: Security → Settings → Rate Limiting

Atur misalnya:

Jika ada 10 request dalam 10 detik → Challenge atau Block

7. Pasang Page Rules (Proteksi WordPress)

Masuk ke Rules → Page Rules

Buat rule untuk file sensitif:

URL: *domainanda.com/wp-login.php*
Setting: Security Level → High
Disable Cache

8. Cek Analitik Serangan

Masuk ke Security → Overview untuk melihat:

  • IP yang mencoba menyerang
  • Negara asal trafik
  • Jumlah threat yang diblokir

Ini membantu Anda memantau seberapa efektif proteksi berjalan.


Kesimpulan

Dengan konfigurasi Cloudflare yang tepat, website Anda akan jauh lebih aman dari serangan DDoS, brute force, bot jahat, dan spam trafik. Cloudflare bukan hanya melindungi server, tetapi juga membantu meningkatkan kecepatan website berkat CDN globalnya.

Jika website Anda sudah online, segera terapkan langkah di atas. Keamanan website lebih baik dicegah sebelum terjadi serangan.