diff --git a/src/module/dashboard_dosbing/internal/repository/dashboard_dosbing.go b/src/module/dashboard_dosbing/internal/repository/dashboard_dosbing.go
index b779e8b7f18939fc8c6d682942ad67ec04a43b02..a035311b8959b854cdfe03c0fc8c90eb51afef0e 100644
--- a/src/module/dashboard_dosbing/internal/repository/dashboard_dosbing.go
+++ b/src/module/dashboard_dosbing/internal/repository/dashboard_dosbing.go
@@ -58,3 +58,36 @@ func (repo *DashboardDosbingRepo) GetMahasiswaByDosenId(idDosen string, offset,
 	return mahasiswaBimbingan, nil
 
 }
+
+func (repo *DashboardDosbingRepo) GetAmountMahasiswaByDosenId(idDosen string) (output []entity.JumlahMahasiswa, err error) {
+	var jumlahMahasiswa entity.JumlahMahasiswa
+
+	var dosen models.Dosen
+	var mahasiswa []models.Mahasiswa
+
+	result := repo.DBRead.Where("id_dosen = ?", idDosen).First(&dosen)
+	if result.Error != nil {
+		return nil, errors.New("dosen tidak ditemukan")
+	}
+
+	// Mahasiswa IF
+	result = repo.DBRead.Where("id_dosen = ? AND NIM LIKE ?", dosen.IdDosen, "135%").Find(&mahasiswa)
+	if result.Error != nil {
+		jumlahMahasiswa.MahasiswaIF = 0
+	}
+	jumlahMahasiswa.MahasiswaIF = int(result.RowsAffected)
+
+	// Mahasiswa STI
+	result = repo.DBRead.Where("id_dosen = ? AND NIM LIKE ?", dosen.IdDosen, "182%").Find(&mahasiswa)
+	if result.Error != nil {
+		jumlahMahasiswa.MahasiswaSTI = 0
+	}
+	jumlahMahasiswa.MahasiswaSTI = int(result.RowsAffected)
+
+	return []entity.JumlahMahasiswa{jumlahMahasiswa}, nil
+
+}
+
+func (repo *DashboardDosbingRepo) GetAmountStatusBimbinganMahasiswaByDosenId(idDosen string) (output []entity.StatusBimbinganMahasiswa, err error) {
+	return nil, errors.New("Not implemented")
+}
diff --git a/src/module/dashboard_dosbing/internal/usecase/dashboard_dosbing.go b/src/module/dashboard_dosbing/internal/usecase/dashboard_dosbing.go
index 69b982e6dd8dc3e3ae34efafb3e89d8683388443..40296971c81582b8ffc2edb6368ab20a84b04a57 100644
--- a/src/module/dashboard_dosbing/internal/usecase/dashboard_dosbing.go
+++ b/src/module/dashboard_dosbing/internal/usecase/dashboard_dosbing.go
@@ -4,6 +4,8 @@ import "gitlab.informatika.org/k-01-11/graduit-be/src/module/dashboard_dosbing/e
 
 type DashboardDosbingUseCase interface {
 	GetMahasiswaByDosenId(idDosen string, offset, size int) (output []entity.MahasiswaBimbingan, err error)
+	GetAmountMahasiswaByDosenId(idDosen string) (output []entity.JumlahMahasiswa, err error)
+	GetAmountStatusBimbinganMahasiswaByDosenId(idDosen string) (output []entity.StatusBimbinganMahasiswa, err error)
 }
 
 type DashboardDosbingUc struct {
@@ -25,3 +27,23 @@ func (uc *DashboardDosbingUc) GetMahasiswaByDosenId(idDosen string, offset, size
 
 	return listMahasiswa, nil
 }
+
+func (uc *DashboardDosbingUc) GetAmountMahasiswaByDosenId(idDosen string) (output []entity.JumlahMahasiswa, err error) {
+	listMahasiswa, err := uc.dashboardDosbingRepo.GetAmountMahasiswaByDosenId(idDosen)
+
+	if err != nil {
+		return listMahasiswa, err
+	}
+
+	return listMahasiswa, nil
+}
+
+func (uc *DashboardDosbingUc) GetAmountStatusBimbinganMahasiswaByDosenId(idDosen string) (output []entity.StatusBimbinganMahasiswa, err error) {
+	listMahasiswa, err := uc.dashboardDosbingRepo.GetAmountStatusBimbinganMahasiswaByDosenId(idDosen)
+
+	if err != nil {
+		return listMahasiswa, err
+	}
+
+	return listMahasiswa, nil
+}
diff --git a/src/module/dashboard_dosbing/internal/usecase/repository.go b/src/module/dashboard_dosbing/internal/usecase/repository.go
index 055ef9d9c31a75ba15f038ae2de99c424c1acddd..0d7f821934403bc375cc92a598c3b0a4a8f1af03 100644
--- a/src/module/dashboard_dosbing/internal/usecase/repository.go
+++ b/src/module/dashboard_dosbing/internal/usecase/repository.go
@@ -4,4 +4,6 @@ import "gitlab.informatika.org/k-01-11/graduit-be/src/module/dashboard_dosbing/e
 
 type DashboardDosbingRepository interface {
 	GetMahasiswaByDosenId(idDosen string, offset, size int) (output []entity.MahasiswaBimbingan, err error)
+	GetAmountMahasiswaByDosenId(idDosen string) (output []entity.JumlahMahasiswa, err error)
+	GetAmountStatusBimbinganMahasiswaByDosenId(idDosen string) (output []entity.StatusBimbinganMahasiswa, err error)
 }
diff --git a/src/module/dashboard_dosbing/transport/admin_handler.go b/src/module/dashboard_dosbing/transport/admin_handler.go
index c03ba9f6b24edca68ea42c409e3fdbac247e09c1..0786eedfd05918765c07ed3935e088128a458a8d 100644
--- a/src/module/dashboard_dosbing/transport/admin_handler.go
+++ b/src/module/dashboard_dosbing/transport/admin_handler.go
@@ -26,6 +26,8 @@ func NewAdminDashboardDosbingHandler(cfg config.DashboardDosbingTransportConfig)
 
 func (t *AdminDashboardDosbingHandler) MountAdmin(group *echo.Group) {
 	group.GET("/dashboard-dosbing", t.GetMahasiswaByDosenId)
+	group.GET("/dashboard-dosbing/jurusan", t.GetAmountMahasiswaByDosenId)
+	group.GET("/dashboard-dosbing/bimbingan", t.GetAmountStatusBimbinganMahasiswaByDosenId)
 }
 
 func (t *AdminDashboardDosbingHandler) GetMahasiswaByDosenId(c echo.Context) error {
@@ -57,3 +59,35 @@ func (t *AdminDashboardDosbingHandler) GetMahasiswaByDosenId(c echo.Context) err
 	return c.JSON(http.StatusOK, utils.ResponseDetailOutput(true, http.StatusOK, "List mahasiswa successfully retreived", listMahasiswa))
 
 }
+
+func (t *AdminDashboardDosbingHandler) GetAmountMahasiswaByDosenId(c echo.Context) error {
+	idDosen := c.QueryParam("id_dosen")
+
+	if idDosen == "" {
+		return c.JSON(http.StatusInternalServerError, utils.ResponseDetailOutput(false, http.StatusInternalServerError, "insert id_dosen", nil))
+	}
+
+	listMahasiswa, err := t.dashboardDosbingUseCase.GetAmountMahasiswaByDosenId(idDosen)
+	if err != nil {
+		return c.JSON(http.StatusBadRequest, utils.ResponseDetailOutput(false, http.StatusBadRequest, err.Error(), nil))
+	}
+
+	return c.JSON(http.StatusOK, utils.ResponseDetailOutput(true, http.StatusOK, "List mahasiswa successfully retreived", listMahasiswa[0]))
+
+}
+
+func (t *AdminDashboardDosbingHandler) GetAmountStatusBimbinganMahasiswaByDosenId(c echo.Context) error {
+	idDosen := c.QueryParam("id_dosen")
+
+	if idDosen == "" {
+		return c.JSON(http.StatusInternalServerError, utils.ResponseDetailOutput(false, http.StatusInternalServerError, "insert id_dosen", nil))
+	}
+
+	listMahasiswa, err := t.dashboardDosbingUseCase.GetAmountStatusBimbinganMahasiswaByDosenId(idDosen)
+	if err != nil {
+		return c.JSON(http.StatusBadRequest, utils.ResponseDetailOutput(false, http.StatusBadRequest, err.Error(), nil))
+	}
+
+	return c.JSON(http.StatusOK, utils.ResponseDetailOutput(true, http.StatusOK, "List mahasiswa successfully retreived", listMahasiswa[0]))
+
+}