-- Atlas Histo — skema + data contoh (tanpa akun pengguna).
-- Impor lewat phpMyAdmin ke database yang sudah dibuat di cPanel.
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS=0;
/*M!999999\- enable the sandbox mode */ 
-- MariaDB dump 10.19-11.8.6-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost    Database: histologi
-- ------------------------------------------------------
-- Server version	11.8.6-MariaDB-0+deb13u1 from Debian

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*M!100616 SET @OLD_NOTE_VERBOSITY=@@NOTE_VERBOSITY, NOTE_VERBOSITY=0 */;

--
-- Table structure for table `anotasi`
--

DROP TABLE IF EXISTS `anotasi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `anotasi` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `gambar_id` int(11) NOT NULL,
  `label` varchar(100) NOT NULL,
  `keterangan` text DEFAULT NULL,
  `x_pos` int(11) DEFAULT 0,
  `y_pos` int(11) DEFAULT 0,
  `tipe` varchar(10) NOT NULL DEFAULT 'titik',
  `titik` mediumtext DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `gambar_id` (`gambar_id`),
  CONSTRAINT `anotasi_ibfk_1` FOREIGN KEY (`gambar_id`) REFERENCES `gambar` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `belajar`
--

DROP TABLE IF EXISTS `belajar`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `belajar` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pengguna_id` int(11) NOT NULL,
  `gambar_id` int(11) NOT NULL,
  `ditandai_pada` timestamp NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_belajar` (`pengguna_id`,`gambar_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `gambar`
--

DROP TABLE IF EXISTS `gambar`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `gambar` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `judul` varchar(255) NOT NULL,
  `kategori` varchar(100) DEFAULT NULL,
  `deskripsi` text DEFAULT NULL,
  `file_gambar` varchar(500) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `dosen_id` int(11) DEFAULT NULL,
  `publik` tinyint(1) NOT NULL DEFAULT 1,
  `aktif` tinyint(1) NOT NULL DEFAULT 1,
  `perbesaran_total` int(11) DEFAULT NULL,
  `objektif` varchar(10) DEFAULT NULL,
  `okuler` int(11) DEFAULT NULL,
  `um_per_px` decimal(10,5) DEFAULT NULL,
  `skala_bar_um` int(11) DEFAULT NULL,
  `skala_bar_px` int(11) DEFAULT NULL,
  `kalibrasi_pada` datetime DEFAULT NULL,
  `file_proxy` varchar(500) DEFAULT NULL,
  `lebar_px` int(11) DEFAULT NULL,
  `tinggi_px` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `jawaban`
--

DROP TABLE IF EXISTS `jawaban`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `jawaban` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pengerjaan_id` int(11) NOT NULL,
  `soal_id` int(11) NOT NULL,
  `teks` varchar(500) DEFAULT NULL,
  `pilihan` int(11) DEFAULT NULL,
  `benar` tinyint(1) DEFAULT NULL,
  `nilai` decimal(6,2) DEFAULT NULL,
  `ditinjau_oleh` int(11) DEFAULT NULL,
  `ditinjau_pada` datetime DEFAULT NULL,
  `dibuat_pada` timestamp NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_jawaban` (`pengerjaan_id`,`soal_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `kelas`
--

DROP TABLE IF EXISTS `kelas`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `kelas` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(160) NOT NULL,
  `kode_gabung` varchar(8) NOT NULL,
  `dosen_id` int(11) DEFAULT NULL,
  `deskripsi` text DEFAULT NULL,
  `aktif` tinyint(1) NOT NULL DEFAULT 1,
  `dibuat_pada` timestamp NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_kode` (`kode_gabung`),
  KEY `idx_dosen_kelas` (`dosen_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `kelas_anggota`
--

DROP TABLE IF EXISTS `kelas_anggota`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `kelas_anggota` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `kelas_id` int(11) NOT NULL,
  `pengguna_id` int(11) NOT NULL,
  `tanggal_gabung` timestamp NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_anggota` (`kelas_id`,`pengguna_id`),
  KEY `idx_pengguna_anggota` (`pengguna_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `kunjungan`
--

DROP TABLE IF EXISTS `kunjungan`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `kunjungan` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pengguna_id` int(11) NOT NULL,
  `gambar_id` int(11) NOT NULL,
  `pertama` timestamp NULL DEFAULT current_timestamp(),
  `terakhir` datetime DEFAULT NULL,
  `jumlah` int(11) NOT NULL DEFAULT 1,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_kunjungan` (`pengguna_id`,`gambar_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `pengerjaan`
--

DROP TABLE IF EXISTS `pengerjaan`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `pengerjaan` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ujian_id` int(11) NOT NULL,
  `pengguna_id` int(11) NOT NULL,
  `mulai` datetime NOT NULL,
  `batas` datetime DEFAULT NULL,
  `selesai` datetime DEFAULT NULL,
  `nilai` decimal(6,2) DEFAULT NULL,
  `status` enum('jalan','selesai','dinilai') NOT NULL DEFAULT 'jalan',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_pengerjaan` (`ujian_id`,`pengguna_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `pengguna`
--

DROP TABLE IF EXISTS `pengguna`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `pengguna` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(120) NOT NULL,
  `pengguna` varchar(60) NOT NULL,
  `email` varchar(160) DEFAULT NULL,
  `sandi_hash` varchar(255) NOT NULL,
  `peran` enum('admin','dosen','mahasiswa') NOT NULL DEFAULT 'mahasiswa',
  `aktif` tinyint(1) NOT NULL DEFAULT 1,
  `ganti_sandi` tinyint(1) NOT NULL DEFAULT 0,
  `dibuat_pada` timestamp NULL DEFAULT current_timestamp(),
  `masuk_terakhir` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_pengguna` (`pengguna`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `soal`
--

DROP TABLE IF EXISTS `soal`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `soal` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ujian_id` int(11) NOT NULL,
  `gambar_id` int(11) NOT NULL,
  `tipe` enum('isian_tunjuk','pilihan_ganda') NOT NULL DEFAULT 'isian_tunjuk',
  `pertanyaan` text NOT NULL,
  `x_pos` decimal(5,1) NOT NULL DEFAULT 50.0,
  `y_pos` decimal(5,1) NOT NULL DEFAULT 50.0,
  `kunci_teks` varchar(255) DEFAULT NULL,
  `sinonim` text DEFAULT NULL,
  `pilihan` text DEFAULT NULL,
  `jawaban_pg` int(11) DEFAULT NULL,
  `skor` int(11) NOT NULL DEFAULT 10,
  `pembahasan` text DEFAULT NULL,
  `urutan` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  KEY `idx_ujian_soal` (`ujian_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `ujian`
--

DROP TABLE IF EXISTS `ujian`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `ujian` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `kelas_id` int(11) NOT NULL,
  `dosen_id` int(11) NOT NULL,
  `judul` varchar(200) NOT NULL,
  `petunjuk` text DEFAULT NULL,
  `mulai` datetime DEFAULT NULL,
  `tutup` datetime DEFAULT NULL,
  `durasi_menit` int(11) DEFAULT NULL,
  `acak` tinyint(1) NOT NULL DEFAULT 1,
  `tampilkan_kunci` tinyint(1) NOT NULL DEFAULT 0,
  `status` enum('draf','terbit','tutup') NOT NULL DEFAULT 'draf',
  `dibuat_pada` timestamp NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_kelas_ujian` (`kelas_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*M!100616 SET NOTE_VERBOSITY=@OLD_NOTE_VERBOSITY */;

-- Dump completed
/*M!999999\- enable the sandbox mode */ 
-- MariaDB dump 10.19-11.8.6-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost    Database: histologi
-- ------------------------------------------------------
-- Server version	11.8.6-MariaDB-0+deb13u1 from Debian

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*M!100616 SET @OLD_NOTE_VERBOSITY=@@NOTE_VERBOSITY, NOTE_VERBOSITY=0 */;

--
-- Dumping data for table `gambar`
--

SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
LOCK TABLES `gambar` WRITE;
/*!40000 ALTER TABLE `gambar` DISABLE KEYS */;
INSERT INTO `gambar` VALUES
(4,'Mu','','','94a29ee653d440ea96af2d556d94418e.jpg','2026-11-02 23:57:45',NULL,1,1,40,'4x',10,0.54054,100,185,'2026-11-13 01:42:52','94a29ee653d440ea96af2d556d94418e_proxy.jpg',6127,3882);
/*!40000 ALTER TABLE `gambar` ENABLE KEYS */;
UNLOCK TABLES;
COMMIT;
SET AUTOCOMMIT=@OLD_AUTOCOMMIT;

--
-- Dumping data for table `anotasi`
--

SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
LOCK TABLES `anotasi` WRITE;
/*!40000 ALTER TABLE `anotasi` DISABLE KEYS */;
INSERT INTO `anotasi` VALUES
(6,4,'Tunica mucosa','ini tunica mucosa ada epitrl',34,32,'titik',NULL),
(7,4,'Tunica muscularis colon','',54,14,'titik',NULL),
(11,4,'Tunica submucosa','ini adalah cintih daerah',46,20,'area','[[42.3,14.8],[48.1,14.2],[55.0,20.5],[52.1,25.1],[45.6,25.1],[42.3,27.2],[38.4,20.8]]');
/*!40000 ALTER TABLE `anotasi` ENABLE KEYS */;
UNLOCK TABLES;
COMMIT;
SET AUTOCOMMIT=@OLD_AUTOCOMMIT;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*M!100616 SET NOTE_VERBOSITY=@OLD_NOTE_VERBOSITY */;

-- Dump completed
SET FOREIGN_KEY_CHECKS=1;
