diff --git a/src/app.module.ts b/src/app.module.ts
index 1fa72cf33516b968b419451019bbdaa1725db5a9..9bb9a151c99a1be22af15509661b8fec3ecc04b9 100644
--- a/src/app.module.ts
+++ b/src/app.module.ts
@@ -10,7 +10,7 @@ import { PendaftaranTesis } from "./entities/pendaftaranTesis.entity";
 import { PengujiSidsem } from "./entities/pengujiSidsem.entity";
 import { RegistrasiTesisModule } from "./registrasi-tesis/registrasi-tesis.module";
 import { ConfigModule } from "@nestjs/config";
-import { AlokasiRuanganModule } from "./alokasi-ruangan/alokasi-ruangan.module";
+import { RegistrasiSidsemModule } from "./registrasi-sidsem/registrasi-sidsem.module";
 import { AlokasiTopikModule } from "./alokasi-topik/alokasi-topik.module";
 import { AuthModule } from "./auth/auth.module";
 import { BimbinganModule } from "./bimbingan/bimbingan.module";
@@ -22,6 +22,7 @@ import { PenggunaModule } from "./pengguna/pengguna.module";
 import { KonfigurasiModule } from "./konfigurasi/konfigurasi.module";
 import { Konfigurasi } from "./entities/konfigurasi.entity";
 import { DashboardModule } from "./dashboard/dashboard.module";
+import { BerkasSidsem } from "./entities/berkasSidsem.entity";
 
 @Module({
   imports: [
@@ -44,6 +45,7 @@ import { DashboardModule } from "./dashboard/dashboard.module";
         Konfigurasi,
         PendaftaranTesis,
         PengujiSidsem,
+        BerkasSidsem,
       ],
       synchronize: true,
     }),
@@ -53,7 +55,7 @@ import { DashboardModule } from "./dashboard/dashboard.module";
     DashboardModule,
     BimbinganModule,
     DosenBimbinganModule,
-    AlokasiRuanganModule,
+    RegistrasiSidsemModule,
     PenggunaModule,
     KonfigurasiModule,
   ],
diff --git a/src/entities/berkasSidsem.entity.ts b/src/entities/berkasSidsem.entity.ts
new file mode 100644
index 0000000000000000000000000000000000000000..7105028e2c852feb7127e4d7837236f2752ec58d
--- /dev/null
+++ b/src/entities/berkasSidsem.entity.ts
@@ -0,0 +1,30 @@
+import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
+import { IsString, IsUrl } from "@nestjs/class-validator";
+import { ApiProperty } from "@nestjs/swagger";
+import { PendaftaranSidsem } from "./pendaftaranSidsem";
+
+@Entity()
+export class BerkasSidsem {
+  @ApiProperty({ example: "550e8400-e29b-41d4-a716-446655440000" })
+  @PrimaryGeneratedColumn("uuid")
+  id: string;
+
+  @ManyToOne(
+    () => PendaftaranSidsem,
+    (pendaftaranSidsem) => pendaftaranSidsem.id,
+    {
+      orphanedRowAction: "delete",
+    },
+  )
+  pendaftaranSidsem: PendaftaranSidsem;
+
+  @Column({ type: "text" })
+  @IsString()
+  @ApiProperty()
+  nama: string;
+
+  @Column({ type: "text" })
+  @IsUrl()
+  @ApiProperty({ example: "https://example.com/berkas.pdf" })
+  url: string;
+}
diff --git a/src/entities/pendaftaranSidsem.ts b/src/entities/pendaftaranSidsem.ts
index a733c9cd7aedf8825202a92c3b509e271486847f..8c4a60a1987e6523858dd71ebf66c769a92ccb9e 100644
--- a/src/entities/pendaftaranSidsem.ts
+++ b/src/entities/pendaftaranSidsem.ts
@@ -9,6 +9,7 @@ import { PendaftaranTesis } from "./pendaftaranTesis.entity";
 // import { Ruangan } from "./ruangan.entity";
 import { ApiProperty } from "@nestjs/swagger";
 import { PengujiSidsem } from "./pengujiSidsem.entity";
+import { BerkasSidsem } from "./berkasSidsem.entity";
 
 export enum TipeSidsemEnum {
   SEMINAR_1 = "SEMINAR_1",
@@ -16,6 +17,12 @@ export enum TipeSidsemEnum {
   SIDANG = "SIDANG",
 }
 
+export enum SidsemStatus {
+  NOT_ASSIGNED = "NOT_ASSIGNED",
+  REJECTED = "REJECTED",
+  APPROVED = "APPROVED",
+}
+
 @Entity()
 export class PendaftaranSidsem {
   @ApiProperty({ example: "550e8400-e29b-41d4-a716-446655440000" })
@@ -27,36 +34,42 @@ export class PendaftaranSidsem {
   tipe: TipeSidsemEnum;
 
   @ApiProperty()
-  @Column({ type: "boolean", default: false })
-  ditolak: boolean;
-
-  @ApiProperty()
-  @Column({ type: "boolean", nullable: true })
-  lulus: boolean;
+  @Column({ type: "enum", enum: SidsemStatus })
+  status: SidsemStatus;
 
   @ApiProperty()
   @Column({ type: "timestamptz", nullable: true })
-  waktuMulai: Date;
+  jadwal: Date;
 
   @ApiProperty()
-  @Column({ type: "timestamptz", nullable: true })
-  waktuSelesai: Date;
+  @Column({ type: "text" })
+  judulSidsem: string;
 
   @ApiProperty()
-  @Column({ type: "text", nullable: true })
-  linkw2m: string;
+  @Column({ type: "text" })
+  deskripsiSidsem: string;
 
   @ManyToOne(() => PendaftaranTesis, (pendaftaranTesis) => pendaftaranTesis.id)
   pendaftaranTesis: PendaftaranTesis;
 
-  // @ApiProperty({ type: Ruangan, nullable: true })
-  // @ManyToOne(() => Ruangan, (ruangan) => ruangan.id)
-  // ruangan: Ruangan;
-
   @ApiProperty()
   @Column({ type: "text", nullable: true })
   ruangan: string;
 
   @OneToMany(() => PengujiSidsem, (pengujiSidsem) => pengujiSidsem.sidsem)
   penguji: PengujiSidsem[];
+
+  @ApiProperty({ type: [BerkasSidsem] })
+  @OneToMany(
+    () => BerkasSidsem,
+    (berkasSidsem) => berkasSidsem.pendaftaranSidsem,
+    {
+      cascade: true,
+    },
+  )
+  berkasSidsem: BerkasSidsem[];
+
+  @ApiProperty()
+  @Column({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" })
+  waktuPengiriman: Date;
 }
diff --git a/src/alokasi-ruangan/alokasi-ruangan.controller.ts b/src/registrasi-sidsem/registrasi-sidsem.controller.ts
similarity index 77%
rename from src/alokasi-ruangan/alokasi-ruangan.controller.ts
rename to src/registrasi-sidsem/registrasi-sidsem.controller.ts
index 7d8b01d99043b3b6827afdd02095b5903fd0c0d5..86a3fafc50b19ad185eafdf0d25cf3b6a2116e89 100644
--- a/src/alokasi-ruangan/alokasi-ruangan.controller.ts
+++ b/src/registrasi-sidsem/registrasi-sidsem.controller.ts
@@ -22,8 +22,8 @@ import {
   GetOnePengajuanSidangRespDto,
   UpdateAlokasiRuanganReqDto,
   UpdateAlokasiRuanganRespDto,
-} from "./alokasi-ruangan.dto";
-import { AlokasiRuanganService } from "./alokasi-ruangan.service";
+} from "./registrasi-sidsem.dto";
+import { RegistrasiSidsemService } from "./registrasi-sidsem.service";
 import { HIGH_AUTHORITY_ROLES } from "src/helper/roles";
 
 @ApiTags("Alokasi Ruangan")
@@ -32,14 +32,14 @@ import { HIGH_AUTHORITY_ROLES } from "src/helper/roles";
 @UseGuards(CustomAuthGuard, RolesGuard)
 @Roles(...HIGH_AUTHORITY_ROLES)
 @Controller("alokasi-ruangan")
-export class AlokasiRuanganController {
-  constructor(private readonly alokasiRuanganService: AlokasiRuanganService) {}
+export class RegistrasiSidsemController {
+  constructor(private readonly regisSidsemService: RegistrasiSidsemService) {}
   @ApiOkResponse({ type: GetAllPengajuanSidangRespDto })
   @Get()
   async findAll(
     @Query() query: GetAllPengajuanSidangReqQueryDto,
   ): Promise<GetAllPengajuanSidangRespDto> {
-    return this.alokasiRuanganService.findAll(query);
+    return this.regisSidsemService.findAll(query);
   }
 
   @ApiOkResponse({ type: GetOnePengajuanSidangRespDto })
@@ -47,7 +47,7 @@ export class AlokasiRuanganController {
   async findOne(
     @Param("id") id: string,
   ): Promise<GetOnePengajuanSidangRespDto> {
-    return this.alokasiRuanganService.findOne(id);
+    return this.regisSidsemService.findOne(id);
   }
 
   @ApiOkResponse({ type: UpdateAlokasiRuanganRespDto })
@@ -56,6 +56,6 @@ export class AlokasiRuanganController {
     @Param("id") id: string,
     @Body() updateAlokasiRuanganDto: UpdateAlokasiRuanganReqDto,
   ): Promise<UpdateAlokasiRuanganRespDto> {
-    return this.alokasiRuanganService.update(id, updateAlokasiRuanganDto);
+    return this.regisSidsemService.update(id, updateAlokasiRuanganDto);
   }
 }
diff --git a/src/alokasi-ruangan/alokasi-ruangan.dto.ts b/src/registrasi-sidsem/registrasi-sidsem.dto.ts
similarity index 100%
rename from src/alokasi-ruangan/alokasi-ruangan.dto.ts
rename to src/registrasi-sidsem/registrasi-sidsem.dto.ts
diff --git a/src/alokasi-ruangan/alokasi-ruangan.module.ts b/src/registrasi-sidsem/registrasi-sidsem.module.ts
similarity index 71%
rename from src/alokasi-ruangan/alokasi-ruangan.module.ts
rename to src/registrasi-sidsem/registrasi-sidsem.module.ts
index 874d4733fd314aa13f85ae4c15d44c99ee25ac29..93cf75168059b29e898d20244b5ce15764eb8870 100644
--- a/src/alokasi-ruangan/alokasi-ruangan.module.ts
+++ b/src/registrasi-sidsem/registrasi-sidsem.module.ts
@@ -7,8 +7,8 @@ import { PendaftaranTesis } from "src/entities/pendaftaranTesis.entity";
 import { Pengguna } from "src/entities/pengguna.entity";
 import { PengujiSidsem } from "src/entities/pengujiSidsem.entity";
 import { CustomStrategy } from "src/middlewares/custom.strategy";
-import { AlokasiRuanganController } from "./alokasi-ruangan.controller";
-import { AlokasiRuanganService } from "./alokasi-ruangan.service";
+import { RegistrasiSidsemController } from "./registrasi-sidsem.controller";
+import { RegistrasiSidsemService } from "./registrasi-sidsem.service";
 
 @Module({
   imports: [
@@ -21,7 +21,7 @@ import { AlokasiRuanganService } from "./alokasi-ruangan.service";
     ]),
     AuthModule,
   ],
-  controllers: [AlokasiRuanganController],
-  providers: [AlokasiRuanganService, CustomStrategy],
+  controllers: [RegistrasiSidsemController],
+  providers: [RegistrasiSidsemService, CustomStrategy],
 })
-export class AlokasiRuanganModule {}
+export class RegistrasiSidsemModule {}
diff --git a/src/alokasi-ruangan/alokasi-ruangan.service.ts b/src/registrasi-sidsem/registrasi-sidsem.service.ts
similarity index 92%
rename from src/alokasi-ruangan/alokasi-ruangan.service.ts
rename to src/registrasi-sidsem/registrasi-sidsem.service.ts
index 6b93575d90f1d3466f89f5cb3f879e52d9d99ba1..92a6448015df3bd583267b34a5e3f676dc25de3a 100644
--- a/src/alokasi-ruangan/alokasi-ruangan.service.ts
+++ b/src/registrasi-sidsem/registrasi-sidsem.service.ts
@@ -3,7 +3,7 @@ import { InjectRepository } from "@nestjs/typeorm";
 import { DosenBimbingan } from "src/entities/dosenBimbingan.entity";
 import { PendaftaranSidsem } from "src/entities/pendaftaranSidsem";
 import { PengujiSidsem } from "src/entities/pengujiSidsem.entity";
-import { IsNull, Like, Repository } from "typeorm";
+import { Like, Repository } from "typeorm";
 import {
   GetAllPengajuanSidangItemDto,
   GetAllPengajuanSidangReqQueryDto,
@@ -11,10 +11,10 @@ import {
   GetOnePengajuanSidangRespDto,
   UpdateAlokasiRuanganReqDto,
   UpdateAlokasiRuanganRespDto,
-} from "./alokasi-ruangan.dto";
+} from "./registrasi-sidsem.dto";
 
 @Injectable()
-export class AlokasiRuanganService {
+export class RegistrasiSidsemService {
   constructor(
     @InjectRepository(PendaftaranSidsem)
     private pendaftaranSidsemRepo: Repository<PendaftaranSidsem>,
@@ -30,9 +30,8 @@ export class AlokasiRuanganService {
     const [queryData, total] = await this.pendaftaranSidsemRepo.findAndCount({
       select: {
         id: true,
-        waktuMulai: true,
         tipe: true,
-        lulus: true,
+        jadwal: true,
         ruangan: true,
         pendaftaranTesis: {
           id: true,
@@ -51,7 +50,6 @@ export class AlokasiRuanganService {
       skip: (query.page - 1) * query.limit || undefined,
       where: {
         tipe: query.jenisSidang,
-        lulus: IsNull(),
         pendaftaranTesis: {
           mahasiswa: [
             { nim: Like(`%${query.search ?? ""}%`) },
@@ -65,7 +63,7 @@ export class AlokasiRuanganService {
       idPengajuanSidsem: res.id,
       nimMahasiswa: res.pendaftaranTesis.mahasiswa.nim,
       namaMahasiswa: res.pendaftaranTesis.mahasiswa.nama,
-      jadwalSidang: res.waktuMulai.toISOString(),
+      jadwalSidang: res.jadwal.toISOString(),
       jenisSidang: res.tipe,
       ruangan: res.ruangan,
     }));
@@ -77,7 +75,7 @@ export class AlokasiRuanganService {
     const sidsemQueryData = await this.pendaftaranSidsemRepo.findOne({
       select: {
         id: true,
-        waktuMulai: true,
+        jadwal: true,
         tipe: true,
         ruangan: true,
         pendaftaranTesis: {
@@ -144,7 +142,7 @@ export class AlokasiRuanganService {
       idPengajuanSidsem: sidsemQueryData.id,
       nimMahasiswa: sidsemQueryData.pendaftaranTesis.mahasiswa.nim,
       namaMahasiswa: sidsemQueryData.pendaftaranTesis.mahasiswa.nama,
-      jadwalSidang: sidsemQueryData.waktuMulai.toISOString(),
+      jadwalSidang: sidsemQueryData.jadwal.toISOString(),
       jenisSidang: sidsemQueryData.tipe,
       ruangan: sidsemQueryData.ruangan,
       emailMahasiswa: sidsemQueryData.pendaftaranTesis.mahasiswa.email,
@@ -165,7 +163,7 @@ export class AlokasiRuanganService {
     const pendaftaranSidsem = await this.pendaftaranSidsemRepo.findOne({
       select: {
         id: true,
-        waktuMulai: true,
+        jadwal: true,
         tipe: true,
         pendaftaranTesis: {
           id: true,
@@ -198,7 +196,7 @@ export class AlokasiRuanganService {
 
     return {
       idPengajuanSidsem: pendaftaranSidsem.id,
-      jadwalSidang: pendaftaranSidsem.waktuMulai.toISOString(),
+      jadwalSidang: pendaftaranSidsem.jadwal.toISOString(),
       jenisSidang: pendaftaranSidsem.tipe,
       namaMahasiswa: pendaftaranSidsem.pendaftaranTesis.mahasiswa.nama,
       nimMahasiswa: pendaftaranSidsem.pendaftaranTesis.mahasiswa.nim,