SISTEM PENGIRIMAN TUGAS KULIAH BERBASIS SFTP DAN SSH MENGGUNAKAN NODE.JS Oleh Edo Gunawan NIM: 622009011 Skripsi Untuk melengkapi salah satu syarat memperoleh Gelar Sarjana Teknik Program Studi Sistem Komputer Fakultas Teknik Elektronika dan Komputer Universitas Kristen Satya Wacana Salatiga Juli 2016 INTISARI Perkembangan teknologi dimasa sekarang, pengumpulan tugas kuliah kepada dosen pada umumnya berbentuk softcopy dan dikumpulkan melalui email. Jika dosen tersebut mengampu banyak mata kuliah, maka dosen akan susah dalam mengoreksi tugas, dikarenakan inbox email dosen akan berisi banyak tugas. Karna itulah dibutuhkan suatu sistem yang dapat digunakan oleh dosen untuk pengorganisasian tugas tersebut. Skripsi ini bertujuan untuk membuat suatu sistem yang dapat digunakan oleh dosen secara otomatis untuk mengorganisasikan tugas – tugas tersebut dan ukuran file yang dibatasi tidak lebih dari 5MB. Sistem yang digunakan menggunakan Node.Js berbasis SSH dan SFTP, SSH berfungsi sebagai remote server dan mengirim tugas ke direktori yang diinginkan. Protokol yang digunakan adalah Secure Shell (SSH) dan transfer filenya mengunakan Secure File Transfer Protocol (SFTP). Sistem yang dibuat dapat melakukan pengiriman email pemberitahuan otomatis 100%. Sistem dapat remote login dan mengirim file ke server serta membatasi ukuran file upload 100%. Server dapat mengkategorikan file sesuai direktori tertentu 100%. Kata kunci : SFTP, SSH, Node.Js KATA PENGANTAR Puji dan syukur penulis ucapkan kepada Allah Bapa Tuhan Yang Maha Kuasa atas segala rahmat karunia yang senantiasa penulis terima dalam menyelesaikan perancangan serta penulisan skripsi sebagai syarat untuk menyelesaikan studi di Fakultas Teknik Elektronika dan Komputer Universitas Kristen Satya Wacana. Pada kesempatan ini penulis juga hendak mengucapkan terima kasih kepada berbagai pihak yang baik secara langsung maupun tidak telah membantu penulis dalam menyelesaikan skripsi ini : 1. Yesus Kristus atas rahmat kasih karunia mujizat yang diberikan sehingga penulis bisa mengerjakan dan menyelesaikan skripsi dengan baik, penyertaan-Mu sungguh ada dan nyata dalam pengerjaan skripsi ini. 2. Papah saya Tan Tjong Gun, mamah saya Oh Ie En, adik saya Rebecca, atas doa dan semangat serta motivasi, terima kasih untuk segalanya, dukungan kalian membuatku selalu bersemangat mengerjakan skripsi ini. 3. Bapak Banu Wirawan Yohanes, M.CompSc dan Hartanto Kusuma Wardana, M.T selaku pembimbing I dan pembimbing II, terima kasih atas bimbingan, pengarahan, kesempatan dan motivasi yang menginspirasi penulis selama mengerjakan skripsi ini. 4. Seluruh staff dosen, karyawan dan laboran FTEK. 5. Mas Daniel “*****K”, Yosua “to**r”, Adhyaksa, Adhen “bandhoetz”, para penghuni lap.skripsi Simon, Tiras, Kana. yang telah membantu penulis dalam mengerjakan skripsi ini. 6. Teman-teman angkatan 2009. 7. Segenap squad clan HoRC, penghuni wr.lucky Pak To, Mbak Luk, Mbah Yat, Mbah Tris, Para member tim talok, Bang Anton, Mas Angga, Mas Joko, Bayu “bagong”, Vian “brondong_manis”, Kristo, Elkana, Galih “po**ng”, bro Ranto “bewok”, Bodhi “ojan”, Anca “kuro”, Yohan “mak-e”, ******, **** dan semua yang tidak bisa saya sebutkan namanya satu persatu. 8. Berbagai pihak yang tidak dapat dituliskan satu persatu, penulis mengucapkan terima kasih. Penulis menyadari bahwa skripsi ini masih jauh dari kata “sempurna”, oleh karena itu penulis sangat mengharapkan kritik maupun saran dari pembaca sekalian sehingga skripsi ini dapat berguna bagi kemajuan teknik elektronika. Salatiga, Juli 2015 Penulis ABSTRACT On today’s developed technology, college assignment usually collect to the lecturer’s through email’s and soft copy formatted, if the lecturer’s taught much of courses then it will be hard for the lecturer’s to correcting those assignments because there will be plenty of assignments that send to the lecturer’s inbox. That’s why there’s a need of a system that can be use by lecturer to organize the assignment collecting. This thesis aims to create a system’s that can be use by lecturer’s that will automatically organizing those assignments and in a limited file size that not more than 5MB. The system’s, using secure shell (SSH) and secure file transfer protocol (SFTP) based Node Js, the SSH are use as remote server and send the assignment to the directory that we want. Protocol that used were SSH and using SFTP as the file transferer. From ten trials the system’s that made can give an automatic email notification 90%. From ten trials system’s can remote login and send file to the server also limits size under 5MB, its can upload file 90% because of request time out problem. Also server can categorize file by a specified directory 90%. Keywords : SFTP, SSH, Node.Js DAFTAR ISI INTISARI . ............................................................................................................... i ABSTRACT . .............................................................................................................. ii KATA PENGANTAR .................................................................................................. iii DAFTAR ISI ................................................................................................................. v DAFTAR GAMBAR ......................................................................................................... vii DAFTAR TABEL ............................................................................................................. viii DAFTAR SINGKATAN .................................................................................................... ix BAB I BAB II BAB III BAB IV PENDAHULUAN .............................................................................. 1 1.1. Tujuan ........................................................................................ 1 1.2. Latar Belakang ........................................................................... 1 1.3. Spesifikasi Sistem ....................................................................... 2 1.4. Sistematika Penulisan ................................................................. 3 DASAR TEORI ................................................................................. 4 2.1. SSH ............................................................................................ 4 2.2.1. Definisi SSH ................................................................ 4 2.2.2. Penggunakan SSH ...................................................... 4 2.3.3. Public Key Cryptografi (Kriptografi Kunci Publik) ... 5 2.2. SFTP ............................................................................................ 6 2.3. NodeJs ......................................................................................... 6 2.6. SQLite ......................................................................................... 7 PERANCANGAN ............................................................................... 8 Arsitektur Sistem .................................................................................. 8 3.1. Perancangan Database ................................................................. 8 3.2. SSH ............................................................................................... 9 3.3. SFTP ............................................................................................ 10 3.4. Manajemen file............................................................................ 10 3.5. Pemberitahuan email otomatis .................................................... 11 3.6. Cara kerja sistem ......................................................................... 12 PENGUJIAN DAN ANALISIS ........................................................ 14 4.1. Pengujian Database ................................................................... 14 4.2. Pengujian SSH ............................................................................ 15 4.3. Pengujian SFTP ......................................................................... 18 4.4. Pengujian manajemen file ........................................................... 19 4.4.1. Pembatasan file ......................................................... 19 4.4.2. Pengujian pemberitahuan emai ................................. 20 KESIMPULAN DAN SARAN ......................................................... 21 5.1. Kesimpulan ............................................................................... 21 5.2. Saran Pengembangan ................................................................ 21 DAFTAR PUSTAKA ................................................................................................. 22 BAB V DAFTAR GAMBAR Gambar 3.1. Arsitektur Sistem ..................................................................................... 8 Gambar 3.2. Tabel relasi database ................................................................................ 9 Gambar 3.3. Manajemen file di server ....................................................................... 10 Gambar 3.4. Flowchart pemberitahuan email otomatis ............................................... 11 Gambar 3.5. Flowchart cara kerja sistem .................................................................... 13 Gambar 4.1. Data mahasiswa berformat .xlsx ............................................................... 14 Gambar 4.2. Merubah format .xlsx menjadi .csv ........................................................... 14 Gambar 4.3. Tabel user database .................................................................................... 15 Gambar 4.4. User login ke server ................................................................................... 16 Gambar 4.5. User login, tampilan dari sisi server .......................................................... 16 Gambar 4.6. User remote server ..................................................................................... 16 Gambar 4.7. User remote server, tampilan dari sisi server ............................................. 17 Gambar 4.8. Pengiriman file oleh user ........................................................................... 18 Gambar 4.9. Pengiriman file, tampilan dari sisi server .................................................. 18 Gambar 4.10. File gagal terkirim .................................................................................. 19 Gambar 4.11. File gagal terkirim tampak dari sisi server ............................................... 19 Gambar 4.12. Pemberitahuan otomatis id dan password ............................................... 20 Gambar 4.13. Pemberitahuan otomatis file telah terkirim ............................................. 20 DAFTAR TABEL Tabel 1.1. Perbandingan sistem pengumpulan tugas . ...................................................... 2 Tabel 3.1. Database Mahasiswa ....................................................................................... 9 Tabel 3.2. Database Tugas Mahasiswa ............................................................................. 9 Tabel 3.3. Database Matakuliah ....................................................................................... 9