diff --git a/src/module/pendaftaran/internal/repository/pendaftaran.go b/src/module/pendaftaran/internal/repository/pendaftaran.go
index d9ea29b8b7fa766652e619d1f47a08c46ec4a593..62c8e44eb34494ab1e6090b5d48bada20f0475e2 100644
--- a/src/module/pendaftaran/internal/repository/pendaftaran.go
+++ b/src/module/pendaftaran/internal/repository/pendaftaran.go
@@ -61,39 +61,42 @@ func (repo *PendaftaranRepo) GetPendaftaranByIdDosen(id string) (output []models
 	return pendaftaran, nil
 }
 
-func (repo *PendaftaranRepo) GetPendaftaranById(id string) (output entity.PendaftaranGetResponse, err error) {
-	var pendaftaran models.PendaftaranTA
+func (repo *PendaftaranRepo) GetPendaftaranById(id string) (output []entity.PendaftaranGetResponse, err error) {
+	var pendaftaran []models.PendaftaranTA
 	var dosen models.Pengguna
-	var data entity.PendaftaranGetResponse
-	var status string
+	var data []entity.PendaftaranGetResponse
 	var topik models.Topik
 
-	res := repo.DBRead.Where("id_mahasiswa = ?", id).Find(&pendaftaran).Limit(1)
-	if res.Error != nil {
-		return data, res.Error
-	}
-
-	res = repo.DBRead.Where("id = ?", pendaftaran.IdDosen).Find(&dosen).Limit(1)
-	if res.Error != nil {
-		return data, res.Error
-	}
-
-	res = repo.DBRead.Where("id = ?", pendaftaran.IdTopik).Find(&topik).Limit(1)
+	res := repo.DBRead.Where("id_mahasiswa = ?", id).Find(&pendaftaran)
 	if res.Error != nil {
 		return data, res.Error
 	}
 
-	data = entity.PendaftaranGetResponse{
-		Id:              pendaftaran.ID,
-		Status:          status,
-		InterviewAt:     pendaftaran.InterviewAt,
-		DecidedAt:       pendaftaran.DecidedAt,
-		WaktuPengiriman: pendaftaran.WaktuPengiriman,
-		Judul:           topik.Judul,
-		Deskripsi:       topik.Deskripsi,
-		IdDosen:         pendaftaran.IdDosen,
-		NamaDosen:       dosen.Nama,
-		EmailDosen:      dosen.Email,
+	for _, pen := range pendaftaran {
+		res = repo.DBRead.Where("id = ?", pen.IdDosen).Find(&dosen).Limit(1)
+		if res.Error != nil {
+			return data, res.Error
+		}
+
+		res = repo.DBRead.Where("id = ?", pen.IdTopik).Find(&topik).Limit(1)
+		if res.Error != nil {
+			return data, res.Error
+		}
+
+		var dataTemp = entity.PendaftaranGetResponse{
+			Id:              pen.ID,
+			Status:          string(pen.Status),
+			InterviewAt:     pen.InterviewAt,
+			DecidedAt:       pen.DecidedAt,
+			WaktuPengiriman: pen.WaktuPengiriman,
+			Judul:           topik.Judul,
+			Deskripsi:       topik.Deskripsi,
+			IdDosen:         pen.IdDosen,
+			NamaDosen:       dosen.Nama,
+			EmailDosen:      dosen.Email,
+		}
+
+		data = append(data, dataTemp)
 	}
 
 	if res.Error != nil {
diff --git a/src/module/pendaftaran/internal/usecase/pendaftaran.go b/src/module/pendaftaran/internal/usecase/pendaftaran.go
index 13883e5cae5556ee8a9b6960f58f81232c5b6df4..be53ada75a1c9bb428239cb8a4911ea0c8dbfb10 100644
--- a/src/module/pendaftaran/internal/usecase/pendaftaran.go
+++ b/src/module/pendaftaran/internal/usecase/pendaftaran.go
@@ -15,7 +15,7 @@ type PendaftaranUsecase interface {
 	UpdateStatusPendaftaran(id string, val string) (output []models.PendaftaranTA, err error)
 	UpdateWaktuInterview(id string, val time.Time) (output []models.PendaftaranTA, err error)
 	GetPendaftaranByPeriode(id string) (output []models.PendaftaranTA, err error)
-	GetPendaftaranById(id string) (output entity.PendaftaranGetResponse, err error)
+	GetPendaftaranById(id string) (output []entity.PendaftaranGetResponse, err error)
 }
 
 type PendaftaranUc struct {
@@ -63,6 +63,6 @@ func (uc *PendaftaranUc) GetPendaftaranByPeriode(id string) (output []models.Pen
 	return uc.pendaftaranRepo.GetPendaftaranByPeriode(id)
 }
 
-func (uc *PendaftaranUc) GetPendaftaranById(id string) (output entity.PendaftaranGetResponse, err error) {
+func (uc *PendaftaranUc) GetPendaftaranById(id string) (output []entity.PendaftaranGetResponse, err error) {
 	return uc.pendaftaranRepo.GetPendaftaranById(id)
 }
diff --git a/src/module/pendaftaran/internal/usecase/repository.go b/src/module/pendaftaran/internal/usecase/repository.go
index fcd4a7344face1987f659ff8c2935ad715a950ed..a647e3bf12e06407f1d2418f4e4444384a74e88c 100644
--- a/src/module/pendaftaran/internal/usecase/repository.go
+++ b/src/module/pendaftaran/internal/usecase/repository.go
@@ -15,5 +15,5 @@ type PendaftaranRepository interface {
 	SetStatus(id string, val string) (output []models.PendaftaranTA, err error)
 	SetTimeInterview(id string, val time.Time) (output []models.PendaftaranTA, err error)
 	GetPendaftaranByPeriode(idPeriode string) (output []models.PendaftaranTA, err error)
-	GetPendaftaranById(id string) (output entity.PendaftaranGetResponse, err error)
+	GetPendaftaranById(id string) (output []entity.PendaftaranGetResponse, err error)
 }