diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php
index eca2433e060d056576a674bd6f92ba50ef5c5841..c415a23018dff140006a78084c1be2957d31bba5 100644
--- a/app/Http/Controllers/Auth/RegisterController.php
+++ b/app/Http/Controllers/Auth/RegisterController.php
@@ -113,7 +113,28 @@ class RegisterController extends Controller
             $this->registerUser($newUserData);
         }
 
-        $this->displayBatchRegisterSuccess();
+        $this->generateUsernamePasswordCSV($batchRegisterData, $filename);
+        $this->displayBatchRegisterSuccess($filename);
+    }
+
+    private function generateUsernamePasswordCSV($batchRegisterData, $filename)
+    {
+        $file = fopen($filename, 'w');
+
+        $header = array("Role", "Name", "Username", "Password");
+        fputcsv($file, $header);
+
+        foreach ($batchRegisterData as $newUserData) {
+            $entry = array($newUserData['role'], $newUserData['name'], $newUserData['username'], $newUserData['password']);
+            fputcsv($file, $entry);
+        }
+
+        fclose($file);
+    }
+
+    public function downloadUsernamePasswordCSV($filename)
+    {
+        return response()->download(storage_path('app') . "/public/batchRegisterCSV/" . $filename);
     }
 
     private function saveAndReloadUploadedCSV(Request $request)
@@ -248,11 +269,14 @@ class RegisterController extends Controller
       </div>';
     }
 
-    private function displayBatchRegisterSuccess()
+    private function displayBatchRegisterSuccess($filename)
     {
+        $downloadLink = url('/') . "/register/downloadCSV/" . str_replace(storage_path('app') . "/public/batchRegisterCSV/", "", $filename);
+
         echo '<div class="alert alert-success alert-dismissible fade show text-center">
         <button type="button" class="close" data-dismiss="alert">&times;</button>
-        <strong>Success !</strong> New users has successfully batch-registered!
+        <strong>Success !</strong> New users has successfully batch-registered!<br/>
+        Download new generated user data <strong><a href=' . $downloadLink . '>Here</a></strong>
       </div>';
     }
 
diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php
index 86c802eb59b79b5f81f10d15eee0fb101ab158e7..1d0fc89c4b095f0b3b43f2143f8e6cc6f1288fd6 100644
--- a/resources/views/auth/register.blade.php
+++ b/resources/views/auth/register.blade.php
@@ -117,7 +117,7 @@
 
                         <div class="input-group col-md-6 offset-md-3">
                             <span class="btn pt-3">
-                                <input id="batchRegisterCSV" type="file" name="batchRegisterCSV" single  accept=".csv">
+                                <input id="batchRegisterCSV" type="file" name="batchRegisterCSV" single required accept=".csv">
                             </span>
                             <span class="pl-3"> Allowed extension:
                                 <span class="font-italic"> csv </span>
diff --git a/routes/web.php b/routes/web.php
index 7bb1f7516a63732011b235a8e33ba8918888549a..a03916771de306664d144c7573cd5541f522fd28 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -9,7 +9,7 @@
 | routes are loaded by the RouteServiceProvider within a group which
 | contains the "web" middleware group. Now create something great!
 |
-*/
+ */
 
 Route::get('/', 'HomeController@index');
 
@@ -18,7 +18,6 @@ Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
 Route::post('login', 'Auth\LoginController@login');
 Route::post('logout', 'Auth\LoginController@logout')->name('logout');
 
-
 // Password Reset Routes...
 Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
 Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
@@ -33,21 +32,21 @@ Route::post('addrole/manajer/{uname}', 'UserController@addManajerRole');
 Route::post('dosen/edit/{id}', 'DosenController@edit');
 Route::post('mahasiswa/edit/{id}', 'MahasiswaController@edit');
 
-
-Route::get('register','Auth\RegisterController@showForm')->name('register');
-Route::post('register','Auth\RegisterController@registerHandler')->name('registerPost');
+Route::get('register', 'Auth\RegisterController@showForm')->name('register');
+Route::post('register', 'Auth\RegisterController@registerHandler')->name('registerPost');
+Route::get('/register/downloadCSV/{filename}', 'Auth\RegisterController@downloadUsernamePasswordCSV');
 
 Route::get('/home', 'HomeController@index')->name('home');
 Route::get('/generate/admin', 'Auth\RegisterController@generateAdmin');
 
-Route::get('/mahasiswa/control','ManajerController@controlMahasiswa');
-Route::get('/mahasiswa/control/{id}','ManajerController@detailControlMahasiswa');
-Route::get('/mahasiswa/rekap','RekapDataController@showRekapMahasiswa');
-Route::get('/mahasiswa/nilaiakhir','RekapDataController@showRekapNilaiAkhir');
-Route::get('/mahasiswa/history','RekapDataController@showHistoryMahasiswa');
+Route::get('/mahasiswa/control', 'ManajerController@controlMahasiswa');
+Route::get('/mahasiswa/control/{id}', 'ManajerController@detailControlMahasiswa');
+Route::get('/mahasiswa/rekap', 'RekapDataController@showRekapMahasiswa');
+Route::get('/mahasiswa/nilaiakhir', 'RekapDataController@showRekapNilaiAkhir');
+Route::get('/mahasiswa/history', 'RekapDataController@showHistoryMahasiswa');
 
-Route::get('/kelastesis','KelasTesisController@showKelasTesis');
-Route::post('/kelastesis/tambah','KelasTesisController@tambahKelasTesis');
+Route::get('/kelastesis', 'KelasTesisController@showKelasTesis');
+Route::post('/kelastesis/tambah', 'KelasTesisController@tambahKelasTesis');
 
 Route::get('/dashboard', 'HomeController@index');
 Route::get('/dashboard/mahasiswa', 'MahasiswaController@index');
@@ -56,49 +55,49 @@ Route::get('/dashboard/manajer', 'ManajerController@index');
 
 Route::post('/topik/pengajuan', 'TopicController@pengajuan');
 Route::get('/topik/pengajuan', 'TopicController@showFormPengajuan');
-Route::get('/topik/control','TopicController@showControlMahasiswa');
-Route::get('/topik/get','TopicController@getTopik');
+Route::get('/topik/control', 'TopicController@showControlMahasiswa');
+Route::get('/topik/get', 'TopicController@getTopik');
 Route::post('/topik/approval', 'TopicController@approval')->name('topicapproval');
 
-Route::post('/seminartopik/penetapan','SeminarTopikController@penetapanJadwal')->name('seminartopik-penetapan');
-Route::post('/seminartopik/penilaian','SeminarTopikController@penilaian')->name('seminartopik-penilaian');
+Route::post('/seminartopik/penetapan', 'SeminarTopikController@penetapanJadwal')->name('seminartopik-penetapan');
+Route::post('/seminartopik/penilaian', 'SeminarTopikController@penilaian')->name('seminartopik-penilaian');
 
 Route::get('/proposal/upload', 'ProposalController@showUploadForm');
-Route::post('/proposal/upload','ProposalController@upload');
-Route::get('/proposal/download/{id}/{filename}','ProposalController@download');
-Route::post('/proposal/penerimaan','ProposalController@approval')->name('proposal-penerimaan');
+Route::post('/proposal/upload', 'ProposalController@upload');
+Route::get('/proposal/download/{id}/{filename}', 'ProposalController@download');
+Route::post('/proposal/penerimaan', 'ProposalController@approval')->name('proposal-penerimaan');
 
 // Route::get('/dashboard/dosen','DosenController@showMahasiswa');
-Route::get('/hasilbimbingan/mahasiswa','HasilBimbinganController@showListHasilBimbingan');
-Route::post('/hasilbimbingan/mahasiswa','HasilBimbinganController@getBimbinganID');
-Route::get('/hasilbimbingan/tambah','HasilBimbinganController@showFormTambahHasilBimbingan');
-Route::post('/hasilbimbingan/tambah','HasilBimbinganController@uploadHasilBimbinganBaru');
-Route::get('/hasilbimbingan/edit','HasilBimbinganController@showFormEditHasilBimbingan');
-Route::post('/hasilbimbingan/edit','HasilBimbinganController@editHasilBimbingan');
-Route::get('/hasilbimbingan','HasilBimbinganController@showListPersetujuanBimbingan');
-Route::post('/hasilbimbingan/persetujuan','HasilBimbinganController@persetujuan')->name('bimbingan-persetujuan');
+Route::get('/hasilbimbingan/mahasiswa', 'HasilBimbinganController@showListHasilBimbingan');
+Route::post('/hasilbimbingan/mahasiswa', 'HasilBimbinganController@getBimbinganID');
+Route::get('/hasilbimbingan/tambah', 'HasilBimbinganController@showFormTambahHasilBimbingan');
+Route::post('/hasilbimbingan/tambah', 'HasilBimbinganController@uploadHasilBimbinganBaru');
+Route::get('/hasilbimbingan/edit', 'HasilBimbinganController@showFormEditHasilBimbingan');
+Route::post('/hasilbimbingan/edit', 'HasilBimbinganController@editHasilBimbingan');
+Route::get('/hasilbimbingan', 'HasilBimbinganController@showListPersetujuanBimbingan');
+Route::post('/hasilbimbingan/persetujuan', 'HasilBimbinganController@persetujuan')->name('bimbingan-persetujuan');
 
 Route::post('/mahasiswa/dosbing/penetapan', 'ThesisController@handlePenetapanDosbing')->name('dosbing-penetapan');
 Route::post('/seminarproposal/penetapan', 'SeminarProposalController@scheduleEstablishment')->name('seminarproposal-penetapan');
 Route::post('/seminarproposal/penilaian', 'SeminarProposalController@score')->name('seminarproposal-penilaian');
-Route::get('/dosen/mahasiswa-control/{id}','DosenController@detailMahasiswa')->name('dosen-detailmahasiswa');
+Route::get('/dosen/mahasiswa-control/{id}', 'DosenController@detailMahasiswa')->name('dosen-detailmahasiswa');
 
 Route::get('/seminartesis/create/{id}', 'SeminarTesisController@requestPenjadwalan')->name('seminartesis-create');
 Route::post('/seminartesis/create/{id}', 'SeminarTesisController@createRequestPenjadwalan');
 Route::post('/seminartesis/edit/{id}', 'SeminarTesisController@editPenjadwalan');
 Route::post('/seminartesis/nilai/{id}', 'SeminarTesisController@nilaiSeminarTesis');
 
-Route::get('/sidangtesis/daftar','SidangTesisController@showFormDaftarSidang');
-Route::get('/sidangtesis/create/{id}','SidangTesisController@create');
-Route::get('/sidangtesis/createUlang/{id}','SidangTesisController@createUlang');
-Route::post('/sidangtesis/dosen/edit/{id}','SidangTesisController@dosenEdit');
-Route::post('/sidangtesis/nilai/{id}','SidangTesisController@nilaiSidangTesis');
+Route::get('/sidangtesis/daftar', 'SidangTesisController@showFormDaftarSidang');
+Route::get('/sidangtesis/create/{id}', 'SidangTesisController@create');
+Route::get('/sidangtesis/createUlang/{id}', 'SidangTesisController@createUlang');
+Route::post('/sidangtesis/dosen/edit/{id}', 'SidangTesisController@dosenEdit');
+Route::post('/sidangtesis/nilai/{id}', 'SidangTesisController@nilaiSidangTesis');
 
-Route::get('/penjadwalan','PenjadwalanController@showPenjadwalanPage');
-Route::post('/penjadwalan/seminartopik','PenjadwalanController@penentuanJadwalSeminarTopikBatch');
-Route::post('/penjadwalan/seminarproposal','PenjadwalanController@penentuanJadwalSeminarProposalBatch');
-Route::post('/penjadwalan/seminartesis','PenjadwalanController@penentuanJadwalSeminarTesisBatch');
-Route::post('/penjadwalan/sidangtesis','PenjadwalanController@penentuanJadwalSidangTesisBatch');
+Route::get('/penjadwalan', 'PenjadwalanController@showPenjadwalanPage');
+Route::post('/penjadwalan/seminartopik', 'PenjadwalanController@penentuanJadwalSeminarTopikBatch');
+Route::post('/penjadwalan/seminarproposal', 'PenjadwalanController@penentuanJadwalSeminarProposalBatch');
+Route::post('/penjadwalan/seminartesis', 'PenjadwalanController@penentuanJadwalSeminarTesisBatch');
+Route::post('/penjadwalan/sidangtesis', 'PenjadwalanController@penentuanJadwalSidangTesisBatch');
 
 Route::post('/sidangtesis/mahasiswa/edit/{id}', 'SidangTesisController@mahasiswaEdit');
 Route::post('/sidangtesis/manajer/edit/{id}', 'SidangTesisController@manajerEdit');
@@ -110,5 +109,4 @@ Route::post('/sidangtesis/nilai/pembimbing/reset/{id}', 'SidangTesisController@r
 Route::post('/sidangtesis/nilai/kelas/reset/{id}', 'SidangTesisController@resetNilaiKelas');
 Route::post('/sidangtesis/dosenuji/approve/{id}', 'SidangTesisController@dosenPengujiApprove');
 
-
-Route::get('/test', 'TestController@test');
\ No newline at end of file
+Route::get('/test', 'TestController@test');
diff --git a/storage/batchRegister/batchRegister.csv b/storage/batchRegister/batchRegister.csv
index 7729c4ad6bc185847ee212fd2a223d69084aa82b..6bf64b463ade479ddc02e0c61022851eb3da884f 100644
--- a/storage/batchRegister/batchRegister.csv
+++ b/storage/batchRegister/batchRegister.csv
@@ -1,2 +1,2 @@
-testStud10020, ts10020, testStud10020@batchRegister.com, 082034561, Mahasiswa
-testLec10020, tl10020, testLec10020@batchRegister.com, 082034561, Dosen
\ No newline at end of file
+testStud10026, ts10026, testStud10026@batchRegister.com, 082634561, Mahasiswa
+testLec10026, tl10026, testLec10026@batchRegister.com, 082634561, Dosen
\ No newline at end of file