diff --git a/src/dosen-bimbingan/dosen-bimbingan.dto.ts b/src/dosen-bimbingan/dosen-bimbingan.dto.ts
index 23c823e7389a759b7d532c02543e736d5bbaf0d4..16e493a95a99c7f62c02cf894b7386b3e5974383 100644
--- a/src/dosen-bimbingan/dosen-bimbingan.dto.ts
+++ b/src/dosen-bimbingan/dosen-bimbingan.dto.ts
@@ -14,4 +14,5 @@ export class GetDosbimResDto extends PickType(Pengguna, [
   "id",
   "email",
   "nama",
+  "keahlian",
 ] as const) {}
diff --git a/src/dosen-bimbingan/dosen-bimbingan.service.ts b/src/dosen-bimbingan/dosen-bimbingan.service.ts
index 88f0f9d159f8f0e4949c06a4c5bbcb7ad9a9643a..9d9039a1dbc62780d044cb2fac6f09239e2ebc07 100644
--- a/src/dosen-bimbingan/dosen-bimbingan.service.ts
+++ b/src/dosen-bimbingan/dosen-bimbingan.service.ts
@@ -16,6 +16,7 @@ export class DosenBimbinganService {
         id: true,
         nama: true,
         email: true,
+        keahlian: true,
       },
       where: {
         roles: ArrayContains([RoleEnum.S2_PEMBIMBING]),
diff --git a/src/entities/pengguna.entity.ts b/src/entities/pengguna.entity.ts
index 1b4971a18ab5a34f1f1e501d10aaf464b752b553..c6011ee1dc0ec6adb74010bc2a21bae668198d23 100644
--- a/src/entities/pengguna.entity.ts
+++ b/src/entities/pengguna.entity.ts
@@ -1,4 +1,3 @@
-import { IsString } from "@nestjs/class-validator";
 import {
   ApiHideProperty,
   ApiProperty,
@@ -6,6 +5,7 @@ import {
 } from "@nestjs/swagger";
 import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from "typeorm";
 import { PendaftaranTesis } from "./pendaftaranTesis.entity";
+import { DosenBimbingan } from "./dosenBimbingan.entity";
 
 export enum RoleEnum {
   ADMIN = "ADMIN",
@@ -51,9 +51,28 @@ export class Pengguna {
   roles: RoleEnum[];
 
   @ApiPropertyOptional()
-  @IsString()
   @Column({ type: "text", nullable: true })
-  kontak: string;
+  kontakWhatsApp: string;
+
+  @ApiPropertyOptional()
+  @Column({ type: "text", nullable: true })
+  kontakMsTeams: string;
+
+  @ApiPropertyOptional()
+  @Column({ type: "text", nullable: true })
+  kontakEmail: string;
+
+  @ApiPropertyOptional()
+  @Column({ type: "text", nullable: true })
+  kontakTelp: string;
+
+  @ApiPropertyOptional()
+  @Column({ type: "text", nullable: true })
+  kontakLainnya: string;
+
+  @ApiPropertyOptional()
+  @Column({ type: "text", nullable: true })
+  keahlian: string;
 
   @ApiHideProperty()
   @Column({ type: "boolean", default: true })
@@ -61,4 +80,7 @@ export class Pengguna {
 
   @OneToMany(() => PendaftaranTesis, (pendaftaran) => pendaftaran.mahasiswa)
   pendaftaranTesis: PendaftaranTesis[];
+
+  @OneToMany(() => DosenBimbingan, (dosen) => dosen.dosen)
+  dosenBimbingan: DosenBimbingan[];
 }
diff --git a/src/registrasi-tesis/registrasi-tesis.dto.ts b/src/registrasi-tesis/registrasi-tesis.dto.ts
index cc9541b2956aedc63449aa5144a9b87c34f6e0ba..7d5d1bf284f8957d52f75af71505fad198e74b52 100644
--- a/src/registrasi-tesis/registrasi-tesis.dto.ts
+++ b/src/registrasi-tesis/registrasi-tesis.dto.ts
@@ -171,7 +171,11 @@ export class UpdatePembimbingBodyDto {
 class DosenPembimbingDto extends PickType(Pengguna, [
   "id",
   "nama",
-  "kontak",
+  "kontakWhatsApp",
+  "kontakMsTeams",
+  "kontakEmail",
+  "kontakTelp",
+  "kontakLainnya",
 ] as const) {}
 
 export class GetByIdRespDto extends PickType(PendaftaranTesis, [
diff --git a/src/registrasi-tesis/registrasi-tesis.service.ts b/src/registrasi-tesis/registrasi-tesis.service.ts
index 496af6f847fc6bf8451d83810cfbae67233c281e..17e59c6096fcf7f65aff48a21dda444938e8515e 100644
--- a/src/registrasi-tesis/registrasi-tesis.service.ts
+++ b/src/registrasi-tesis/registrasi-tesis.service.ts
@@ -136,20 +136,30 @@ export class RegistrasiTesisService {
 
     const baseQuery = this.pendaftaranTesisRepository
       .createQueryBuilder("pt")
-      .select("pt.id")
-      .addSelect("pt.jadwalInterview")
-      .addSelect("pt.status")
-      .addSelect("pt.jalurPilihan")
-      .addSelect("pt.waktuPengiriman")
-      .addSelect("topik.judul")
-      .addSelect("topik.deskripsi")
-      .addSelect("penerima.id")
-      .addSelect("penerima.nama")
-      .addSelect("penerima.kontak")
-      .addSelect("dosenBimbingan")
-      .addSelect("dosen.id")
-      .addSelect("dosen.nama")
-      .addSelect("dosen.kontak")
+      .select([
+        "pt.id",
+        "pt.jadwalInterview",
+        "pt.status",
+        "pt.jalurPilihan",
+        "pt.waktuPengiriman",
+        "topik.judul",
+        "topik.deskripsi",
+        "penerima.id",
+        "penerima.nama",
+        "penerima.kontakWhatsApp",
+        "penerima.kontakMsTeams",
+        "penerima.kontakEmail",
+        "penerima.kontakTelp",
+        "penerima.kontakLainnya",
+        "dosenBimbingan",
+        "dosen.id",
+        "dosen.nama",
+        "dosen.kontakWhatsApp",
+        "dosen.kontakMsTeams",
+        "dosen.kontakEmail",
+        "dosen.kontakTelp",
+        "dosen.kontakLainnya",
+      ])
       .leftJoin("pt.topik", "topik")
       .leftJoin("pt.penerima", "penerima")
       .leftJoin("pt.dosenBimbingan", "dosenBimbingan")