BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Permasalahan
3.1.1 Gambaran Umum Laboratorium Software Kampus Syahdan 3.1.1.1 Struktur Laboratorium Software
Struktur lab software digambarkan sebagai berikut :
3.1.1.2 Struktur Jaringan Laboratorium Software Syahdan
Pada gambar berikut, diagambarkan struktur jaringan lab software syahdan.
Gambar 2. Struktur jaringan lab software kampus Syahdan
3.1.1.3 Server
Berikut keterangan komputer yang digunakan dalam proses ujian adalah: 1. Server ujian
• Spesifikasi server
Operating system : Windows 2000 server
Processor : Intel Pentium III 500 Mhz
• Kegunaan
- Tempat mengumpulkan semua jawaban mahasiswa yang akan dinilai - Tempat penyimpanan file id dan log yang berisi informasi login
mahasiswa. • Struktur file
- Dari directory root, directory di server ujian dibagi berdasarkan kode matakuliah.
- Selain itu di directory root terdapat 2 folder lain yaitu folder id dan logs. - Di dalam directory tiap mata kuliah dibagi lagi directory berdasarkan kelas - Di dalam directory kelas dibagi lagi directory berdasarkan nim mahasiswa. Untuk lebih jelasnya dapat dilihat pada gambar berikut :
• User
- PSP ( Staff sarana dan prasarana)
Tim sarana dan prasarana mempunyai akses sepenuhnya di server ini, termasuk meng-create folder, menambah atau mengurangi file. Untuk mendapatkan akses ini harus ada username dan password PSP
- Asisten (Bluejack)
Asisten laboratorium mempunyai hak akses untuk membuka dan membaca file tetapi tidak mempunyai hak akses untuk menghapus atau mengubah file. Untuk mendapat hak akses ini harus ada username dan password Bluejack
• Database
Database yang digunakan di server adalah SQL Server 2000 Developer Edition. Nama databasenya adalah “UJIAN” dengan nama tabel “tbl_prk”. Berikut keterangan field – field yang terdapat pada tabel “tbl_prk” berikut keterangan.
Tabel 1 Tabel Database Mahasiswa
Field Tipe Ukuran Keterangan
Nimmhs Char 10 NIM mahasiswa
Nmmhs Char 50 Nama mahasiswa
Kdmtk Char 5 Kode mata kuliah
Nmmtk Char 50 Nama mata kuliah
2. Server Titanium
• Spesifikasi server
Operating System : Novel 5
Processor : Intel Pentium III 500 MHz
Memory : 512 Mb
• Kegunaan
Tempat dimana mahasiswa menyimpan data mereka baik selama ujian atau praktikum
• Struktur file
- Directory dibagi berdasarkan ruangan praktikum
- Di dalam directory ruangan, directory dibagi lagi berdasarkan nomor bangku • User
- Asisten (Bluejack)
Dengan menggunakan username dan Pasword Bluejack, seorang asisten akan mendapatkan hak akses sepenuhnya ke seluruh directory di ruangan di mana asisten tersebut login. Hak tersebut meliputi menambah, mengurangi atau mengupdate file, juga mendapat satu directory dimana asisten dapat menyimpan file-file dalam directory tersebut.
- Praktikan
Praktikan akan medapat hak akses penuh hanya di satu directory yaitu directory nomor bangkunya sendiri. Dalam directory tersebut praktikan memiliki hak akses sepenuhnya untuk menambah, mengurangi atau mengupdate file.
3.1.1.4 Sistem Ujian
Ujian di laboratorium software biasanya diadakan dua kali dalam satu semester yaitu pada saat tengah semester dan akhir semester. Berikut analisa sistem ujian yang berlangsung di laboratorium software wilayah Syahdan.
3.1.1.4.1 Petugas
Asisten yang bertugas langsung mengawas ujian berjumlah antar dua sampai dengan tiga orang. Sedangkan jumlah mahasiswa dalam satu kelas jumlahnya antara tiga puluh sampai dengan empat puluh mahasiswa.
Selain asisten yang bertugas langsung, beberapa orang leader juga ikut membantu mengawasi ujian secara keseluruhan. Leader–leader ini bertugas untuk membagikan soal melalui jaringan beberapa menit sebelum ujian di mulai.
3.1.1.4.2 Waktu
Keseluruhan proses ujian untuk satu kelas berlangsung sekitar 120 menit yang dibagi menjadi tiga tahap yaitu:
1. 20 menit pertama untuk mempersiapkan ujian 2. 90 menit berikutnya untuk mengerjakan ujian
3. 10 menit terakhir untuk mengumpulkan berkas-berkas ujian
3.1.1.4.3 Kronologis Ujian
Untuk ujian yang menggunakan Windows, berikut adalah kejadian untuk dua puluh menit pertama:
- Mahasiswa masih tidak diizinkan memasuki ruangan dan menunggu di luar. - Asisten akan merapikan ruangan.
- Asisten menyiapkan login untuk mahasiswa.
- Asisten menuliskan ketentuan – ketentuan ujian dan informasi lain. - Asisten meng-copy-kan soal ke login tiap mahasiswa.
Kejadian untuk 90 menit berikutnya adalah:
- Asisten mempersilakan masuk mahasiswa - Asisten melakukan pengecekan KMK
- Mahasiswa menduduki tempat yang sudah di lakukan dan melakukan autentikasi.
Untuk 10 menit terakhir adalah:
- Mahasiswa menjalankan program send file ujian dan mengirimkan jawaban. - Mahasiswa mengisi form yang sudah di sediakan berupa nama file yang
dikirim
- Asisten menjalankan program pengecekan file.
- Mahasiswa mencocokan keterangan file yang mereka kirim dan file yang ada di server.
- Mahasiswa mengumpulkan form ke asisten
Untuk ujian yang menggunakan linux, berikut kejadian untuk dua puluh menit pertama : - Mahasiswa masih tidak diizinkan memasuki ruangan dan menunggu di luar. - Asisten akan merapikan ruangan.
- Asisten menyiapkan login untuk mahasiswa.
- Asisten menuliskan ketentuan – ketentuan ujian dan informasi lain. - Asisten meng-copy-kan soal ke login tiap mahasiswa.
Berikut kejadian untuk 90 menit berikutnya adalah: - Asisten mempersilahkan masuk mahasiswa - Asisten melakukan pengecekan KMK - Mahasiswa mengerjakan ujian.
Untuk 10 menit terakhir adalah:
- Mahasiswa mengisi form yang sudah di sediakan berupa nama file yang merupakan jawaban akhir mahasiswa.
- Mahasiswa mengumpulkan form ke asisten.
3.1.1.4.4 Software Ujian
Saat ini software pendukung ujian hanya tersedia untuk ujian di Windows, sementara untuk linux hanya tersedia novell login. Berikut keterangan aplikasi pendukung pada ujian berbasis Windows :
1. Novell Client
Tujuannya untuk mapping ke server Titanium diamana di server novel tersebut telah disediakan satu directory yang dapat di akses mahasiswa dan merupakan tempat diamana mahasiswa akan mengerjakan dan menyimpan pekerjaan mereka.
2. Autentikasi
a. Mahasiswa mengisi nim yang bersangkutan
Gambar 5. Pengisian NIM pada autentikasi ujian
b. Mahasiswa mengisi nimnya sekali lagi untuk memastikan nim tersebut valid
c. Jika nim kedua nim tersebut valid, maka akan muncul pilihan matakuliah
Gambar 7. Pemilihan mata kuliah pada autentikasi ujian
Setelah itu program akan menyimpan informasi-informasi tersebut ke server ujian juga ke komputer lokal sebagai log file. Log file ini akan kembali digunakan pada saat akan mengirimkan file ujian ke server.
3. Mengirimkan file ujian
a. Pengecekan informasi mahasiswa
Informasi tersebut didapatkan dari log file yang di create saat autentikasi. Jika informasi tersebut benar, mahasiswa menekan tombol lanjut
b. Pemilihan file yang akan di kirim
Gambar 9. Pemilihan file yang akan dikirim
Setelah memilih file dan menambahkan ke daftar file yang akan di kirim, mahasiswa menekan tombol lanjut
c. Pengecekan dan pencatatan file
Mahasiswa diberi kesempatan untuk mengecek kembali file yang akan dikirimkan dan mencatat informasi file tersebut ke lembar ujian mereka lalu menekan tombol kirim.
d. Pengiriman file
Gambar 11 Proses pengiriman
Setelah selesai mahasiswa menekan tombol ok, file tersebut akan tersimpan ke server ujian dimana file tersebut akan tersimpan sesuai dengan mata kuliah dan kelas mahasiswa tersebut.
4. Pengecekan file
Program ini dijalankan oleh asisten yang bertujuan untuk mengecek file yang telah di kirim mahasiswa.
Gambar 12. Pengecekan file ujian
File ujian yang telah tersimpan di server ujian diambil informasinya. Program ini bertujuan untuk mencocokkan informasi file yang ada di server dengan informasi file yang telah dicatat mahasiswa sebelum di kirim.
3.1.1.4.5 Proses pengiriman file ujian - Ujian berbasis Windows
File jawaban mahasiswa akan langsung terkirim ke server ujian, dimana asisten dapat terkoneksi ke server ujian dan mengkoreksi ujian.
- Ujian berbasis linux.
Karena belum adanya software yang bisa langsung mengirimkan file ke server ujian. Selain itu karena server ujian terproteksi dengan user name dan password yang hanya diketahui oleh PSP, maka mahasiswa tidak dapat langsung mengirimkan file jawabannya ke server.
Sejauh ini masalah diatasi dengan cara sebagai berikut:
• Setelah mengerjakan soal, keterangan file yang merupakan jawaban akhir mahasiswa di tulis di form ujian. Setelah itu mahasiswa mengumpulkan form tersebut.
• Asisten akan mengcopy seluruh isi folder mahasiswa dan menyimpannya di login Bluejack yang berada di server Titanium.
• Setelah itu, tim dari PSP akan mengcopy seluruh pekerjaan mahasiswa ke server ujian.
3.1.2 Analisis hasil wawancara
Dari hasil wawancara dan analisa laboratorium software syahdan, beberapa masalah yang muncul adalah :
1. Pencatatan
Sejauh ini, untuk pencatatan proses ujian dan pengiriman file di linux belum ada. Dengan tidak adanya pencatatan ini, maka laboratorium software tidak memiliki bukti tertulis apabila mahasiswa melakukan protes seputar pengiriman file atau isi dari file.
2. Database
Server ujian menggunakan SQL Server 2000 developer edition. Hingga saat ini, muncul kesulitan untuk menggunakan SQL Server dari Linux, terutama dengan menggunakan QT 3.3.
3. Pengiriman File
Pengiriman file langsung dari komputer mahasiswa ke server ujian tidak dapat langsung dilakukan tanpa adanya aplikasi pendukung. Hal ini dikarenakan server ujian dilindungi oleh user name dan password yang hanya di ketahui oleh tim sarana dan prasarana. Sehingga untuk dapat mengakses, user name dan password harus dibungkus dalam suatu aplikasi, dimana aplikasi tersebut juga harus dapat membatasi gerak penggunanya sehingga tidak melakukan pengrusakan atau pengubahan data milik pengguna lain.
Penggunaan protokol FTP pernah dilakukan sebelumnya. Protokol FTP yang di jalankan suatu aplikasi yang dibuat menggunakan program QT. Aplikasi tersebut ahirnya tidak dapat diimplementasikan karena sangat lambat. Penyebabnya sampai sekarang tidak dapat diketahui karena program tersebut sudah lama hilang.
4. Pengecekan File
Karena tidak langsung mengirimkan file jawaban mereka ke server ujian, asisten tidak dapat melakukan pengecekan file – file yang dimaksudkan mahasiswa untuk dikumpulkan. File yang ingin di koreksi mahasiswa hanya dicatat di form pengumpulan ujian tanpa dicek apakah mahasiswa sudah mengisi dengan benar atau apakah file – file tersebut merupakan file yang memang seharusnya dikumpulkan.
3.1.3 Pemecahan Masalah
Untuk mengatasi masalah – masalah tersebut, diambil langkah – langkah sbb:
1. Perancangan dan implementasi protokol yang memungkinkan penggunaan database dimana client tidak perlu memusingkan masalah teknisnya.
2. Perancangan dan implementasi protokol yang memungkinkan client mengirimkan file ke server.
3. Perancangan dan implementasi aplikasi yang memungkinkan client mengcreate dan mengupdate file log (pencatatan) di server.
4. Perancangan dan implementasi aplikasi server yang dapat memenuhi permintaan client.
5. Perancangan dan implementasi aplikasi client yang dapat memudahkan user untuk menggunakan protokol yang telah dirancang dan mempercepat proses pengiriman dan pengecekan file.
3.2 Perancangan
3.2.1 Perancangan Protokol 3.2.1.1 Layanan
Layanan yang di sediakan protokol ujian antara lain :
1. Melakukan query sederhana ke server tanpa perlu memusingkan masalah database server.
2. Melakukan pengiriman file ke server. 3. Mengakses dan memanipulasi directory.
3.2.1.2 Vocabulary dan format
Format request dari client ke server adalah sebagai berikut: {COMMAND ARGUMENT}
Command merupakan perintah yang direquest client ke server, sementara argument merupakan keterangan tambahan sehingga server dapat melakukan tugasnya. Berikut perintah atau command yang dapat dilakukan client ke server adalah:
1. Nama user (USER nama user)
Perintah ini bertujuan memberi tahu server username dari seorang user. Hal ini bertujuan untuk menjamin bahwa server hanya melayani user – user yang memang berhak untuk mendapatkan layanan.
2. Password (PASS password)
Perintah ini bertujuan untuk memberi tahu server password dari user. Tujuannya agar user yang masuk benar – benar valid.
3. Membangun data connection (PASV)
Perintah ini bertujuan untuk membangun data connection. Setelah mengirim perintah ini, server dapat mengcreate data socket dan mengirimkan informasi mengenai socket itu ke client sehingga client dapat melakukan aktif koneksi ke
4. Nomor Induk Mahasiswa (NIM nim mahasiswa)
Perintah ini bertujuan memberitahu server nomor induk dari mahasiswa yang melakukan autentikasi. Sebagai hasinya, server akan mengirimkan daftar dari matakuliah yang diambil oleh mahasiswa yang bersangkutan semester itu.
5. Kode Matakuliah (KDMTK kode matakuliah)
Perintah ini bertujuan untuk memberitahu kode matakuliah dari ujian yang sedang berlangsung. Server akan mengirimkan data – data berupa NIM, nama, kode matakuliah, nama matakuliah, dan kelas mahasiswa sesuai dengan nim dan kode matakuliah yang dikirim ke server.
6. Mengirimkan informasi (INFO nim mahasiswa:kode matakuliah:kelas)
Perintah ini digunakan untuk memberitahu server berhubungan dengan nim, kode matakuliah dan nama komputer user. Dengan perintah ini, server akan menyiapkan satu folder dimana user dapat mengirimkan hasil pekerjaannya ke server.
7. Mengirimkan file (STORE nama file)
Bertujuan mengirimkan file jawaban mahasiswa ke server ujian. Apabila terdapat kesamaan nama file antara yang lama dan yang baru dikirim, maka file yang lama akan dihapus dan ditimpa dengan yang baru.
8. Mengakhiri konneksi (QUIT)
Sementara itu format data yang dikirim oleh server ke client sbb : {KODE_PESAN PESAN}
Kode pesan berupa tiga digit bilangan desimal yang memiliki arti sebagai berikut:
1. Untuk digit pertama
1yz -> berarti perintah sudah diterima dan sedang dikerjakan tetapi belum selesai. 2yz -> berarti perintah sudah diterima dan selesai dilaksanakan.
3yz -> berarti perintah sudah diterima dan dikerjakan, tetapi dibutuhkan perintah lain agar perintah ini berfungsi sebagaimana mestinya.
4yx -> berarti perintah dijalankan tetapi tidak mendapatkan hasil yang positif 5yz -> perintah tidak dapat dijalankan karena ada error.
2. Untuk digit ke dua
x1z -> berhubungan dengan login x2z -> berhubungan dengan autentikasi x3z -> berhubungan dengan pengiriman file
Berikut adalah kode dan pesan dari server ke client : 121 Start Sending Kdmtk
131 Start Sending File 210 Welcome Message 211 Login Success 212 h1.h2.h3.h4:port
220 Sending Kdmtk Complete 222 Autenth Success
230 Create Directory success 232 Sending File Complete 310 Password Required for User 411 Login faild
412 Cannot Create Data Socket 420 Sending Kdmtk faild 421 Nim not Found 422 Kdmtk Not Found 430 Cannot Create Directory 431 Cannot Create File 432 Sending File faild
510 Login with User and Pass first 511 Login with User first
521 Database or Data Connection not ready 522 Autenth with Nim first
530 Argument not Valid 531 Directory not Ready
532 Data Connection not ready
3.2.1.3 STD Protocol
Berikut state diagram untuk protokol ujian ini yang dilihat dari sisi client. Hanya digit pertama dari kode yang digunakan di sini. Secara umum, state diagram digambarkan sebagai berikut:
Sementara dari sisi server, berikut state diagram dan respon yang diberikan kepada client
Gambar 14. STD Protokol ujian dari sisi server
Berikut detail respon dari masing – masing perintah yang dikirim client : 1. USER
Bila berhasil, server akan mengirimkan respon 310. 2. PASS
- Bila berhasil, server mengirimkan respon 211.
- Apabila user name dan password tidak cocok, server akan mengirimkan respon failure 411.
- Apabila user menggunakan perintah PASS sebelum menggunakan perintah USER, server akan merespon error 511
3. PASV
- Bila berhasil, server akan merespon dengan 212 diikuti dengan ip dan port dengan format h1,h2,h3,h4,p1,p2. dimana h1 adalah delapan bit pertama dari ip server dan seterusnya. Dan p1 dan p2 adalah nomor port berbasis 256. - Bila gagal, server akan merespon dengan 412.
4. NIM
- Bila berhasil, server akan mengirim respon 121 yang menandakan bahwa NIM sudah diset dan mulai mengirimkan kode dan nama matakuliah melalui data connection.
- Apabila pengiriman berhasil, server akan merespon kembali dengan 220. - Apabila pengiriman gagal, server akan merespon dengan 420.
- Bila ternyata NIM tidak ditemukan di database, server akan merespon failure 421.
- Bila ada kesalahan atau terjadi error di database server atau data connection belum siap, server akan merespon dengan error 521.
5. KDMTK
- Bila berhasil, server akan merespon dengan kode 222 dengan pesan yang isinya data – data mahasiswa antara lain NIM, nama, kode dan nama matakuliah dan kelas.
- Bila ternyata kode matakuliah tidak valid atau tidak ditemukan di database maka server akan merespon dengan 422.
- Bila mahasiswa menggunakan perintah ini sebelum menset NIM, maka server akan merespon dengan error 522.
- Bila terjadi kesalahan database di server, server akan merespon dengan error 521
6. INFO
- Bila berhasil mengcreate directory dengan perintah ini, server akan mengirimkan respon 230
- Bila ternyata server gagal mengcreate directory, maka server akan merespon dengan 430
- Bila ternyata argument yang dikirimkan oleh user tidak valid, maka server akan merespon dengan 530.
7. STORE
- Bila berhasil akan merespon 131 yang berarti menandakan file mulai dikirim. - Bila file sudah selesai dikirim, akan merespon 232.
- Bila file gagal dikirim akan merespon 432
- Bila ternyata gagal mengcreate file, akan direspon dengan 431.
- Bila ternyata user menggunakan perintah ini sebelum mengcreate folder dengan perintah INFO, server akan merespon error 531.
8. Lain – lain
- Bila user belum melakukan login dan mengeksekusi perintah lain selain QUIT, maka server akan merespon dengan 510.
Berikut skenario yang umum terjadi antara client dan server yaitu: 1. Control Connection
Ketika client melakukan koneksi pertama kali, server akan mengirimkan welcome message yang menandakan server siap untuk menerima permintaan client. Berikut diagram tersebut:
Gambar 15. Control Connection
2. Data Connection
Setelah control connection terbentuk, client dapat membangun data connection yang dapat digunakan untuk transfer data antara client dan server. Membangun data
connection, client mula – mula mengirimkan perintah PASV. Bila server menerima perintah ini, server akan membuat sebuah socket baru dan mengirimkan alamat dari socket tersebut yaitu IP address dan nomor portnya ke client.
Setelah client menerima alamat IP dan port, maka client akan membuat socket baru dan melakukan koneksi aktif ke alamat IP dan port tersebut. Koneksi ini yang nantinya dinamakan data connection yang akan digunakan untuk mentransfer data.
Gambar 16. Data Connection
3. Login
Prosedur login harus dilakukan terlebih dahulu sebelum melakukan request lainnya. Ketika login, user harus mengisi username dan password yang valid dengan menggunakan perintah USER dan PASS. Apabila keduanya sudah valid, user baru dapat melakukan perintah lainnya.
Gambar 17. Login
4. Autentikasi
Untuk melakukan autentikasi, user harus mengisi NIM dan kode matakuliah. Masing – masing menggunakan perintah NIM dan KDMTK.
Apabila user telah mengisi nim, maka server akan merespon dengan mengirimkan list kode dan nama mata kuliah yang diambil mahasiswa tersebut melalui data connection. Dengan adanya list ini, diharapkan user dapat melanjutkan autentikasi dengan mengisi kode mata kuliah.
Apabila user telah mengisi kode mata kuliah, server akan merespon dengan mengirim sebuah record yang berisikan nama, NIM, kode mata kuliah, nama mata kuliah dan kelas dari user tersebut. Dengan informasi ini, user dapat melakukan pengiriman file dan juga membuat log file.
Gambar 18. Autentikasi
5. Pengiriman file ujian dan pencatatan
Untuk mengirimkan file ujian, user harus mengirim perintah INFO terlebih dahulu. Perintah ini berisi data – data user yang didapatkan dari hasil autentikasi antara lain nim, kode mata kuliah, dan nama komputer.
Dari informasi yang diberikan user ini, server akan membuat folder sehingga mahasiswa dapat mengirimkan filenya ke folder tersebut dengan perintah STORE.
Pencatatan dilakukan ketika user mengirimkan file ujian. Setelah server menerima file ujian, maka server akan mencari log berdasarkan nim mahasiswa. Kemudian dalam file tersebut, server akan mencatat tanggal, waktu dan keterangan dari file yang dikirim user.
Gambar 19. Pengiriman file ujian dan pencatatan
3.2.2 STD (State Transition Diagram)
Gambar 21. STD Client Autentikasi
Gambar 22. STD Client Kirim File
3.2.3 Perancangan Layar
Berikut Perancangan layar untuk Aplikasi Server
Gambar 24. Rancangan Menu utama dengan popup server
Gambar 25. Rancangan Menu Utama dengan popup setting
Gambar 26. Rancangan Layar Setting User
Gambar 28. Rancangan Layar Setting Database
Berikut perancangan layar untuk aplikasi autentikasi yang berjalan di client :
Gambar 29. Rancangan Layar Pengisian NIM
Berikut perancangan layar untuk aplikasi pengiriman file ujian yang juga berjalan di client.
Gambar 31. Rancangan Layar Step1: Konfirmasi
Gambar 33. Rancangan Layar step3: Kirim file
3.2.4 Pseudocode
3.2.4.1 Pseudocode Proses Server Modul : MenuUtama Mulai
Jika menu start ditekan maka
Server diaktifkan
Menunggu Perintah dari user Akhir Jika
Jika menu stop ditekan maka
Server di non-aktifkan
Akhir Jika
Jika menu network ditekan maka
Tampilkan layar Network
Akhir Jika
Jika menu user ditekan maka
Tampilkan layar User
Jika menu database ditekan maka
Tampilkan layar Database
Akhir Jika
Akhir
Modul : MenuNetwork Mulai
Dapatkan IP Address dan Port Jika Button Test ditekan maka
Create socket berdasarkan IP address dan Port Jika Socket berhasil dibuat maka
Tampilkan pesan “Success”
Jika tidak berhasil di buat
Tampilkan pesan “Faild”
Akhir Jika
Akhir Jika
Jika Button OK ditekan maka Set IP Address dan Port
Akhir Jika
Jika Button Cancel ditekan maka
Tampilkan Menu Utama
Akhir Jika
Akhir
Modul : MenuUser Mulai
Dapatkan Username dan Password Dapatkan Konfirmasi Password Jika tombol OK ditekan maka
Jika Password = Konfirmasi Password
Set Username dan Password
Tampilkan layar Menu Utama
Selain Itu
Tampilkan Pesan “Password invalid”
Tampilkan layar User
Akhir Jika
Jika tombol Cancle ditekan maka
Tampilkan Menu Utama
Akhir Jika
Akhir
Modul : MenuDatabase Mulai
Dapatkan Data Source ODBC Dapatkan Username dan Password Dapatkan Nama Tabel
Jika Tombol Test ditekan maka
Create database berdasarkan data source, username dan password Jika database berhasil dibuat maka
Tampilkan pesan “Success”
Jika database gagal dibuat maka
Tampilkan pesan “Faild”
Akhir jika
Jika tobol OK ditekan maka Set ODBC
Set Username dan Password
Set Nama Tabel
Tampilkan layar Menu Utama
Akhir Jika
Jika tombol Cancle ditekan maka
Tampilkan Menu Utama
Akhir Jika
Akhir
Modul : CommandUser Mulai
Dapatkan argument Set username = argument Kirim respon 310 ke client Akhir
Modul : CommandPass Mulai
Dapatkan argument Cek username
Jika username = “”
Kirim respon 511 ke client Selain itu
Jika user name dan password valid Kirim respon 211 ke client
Selain itu
Kirim respon 411 ke client
Akhri jika Akhri Jika Akhir Modul : CommandPasv Mulai Create socket Jika create socket berhasil
Dapatkan IP address dan port socket baru
Kirim respon 212 ke client
Jika tidak berhasil
Kirim respon 412 ke client Akhir jika Akhir Modul : CommandNim Mulai Dapatkan argument Connect ke database Lakukan query ke database Jika query berhasil
Kirim respon 121 ke client Kirim hasil query ke client Jika pengiriman berhasil
Selain itu
Kirim respon 420 ke client
Akhir Jika
Jika query gagal
Kirim respon 421 ke client Akhir jika Akhir Modul : CommandKdmtk Mulai Dapatkan argument Connect ke database
Lakukan query ke database Jika query berhasil
Kirim respon 222 ke client
Create atau akses log file dengan nama file = NIM Simpan tanggal dan waktu sekarang ke log file
Jika gagal
Kirim respon 422 ke client Akhir jika
Akhir
Modul : CommandInfo Mulai
Dapatkan argument
Create folder baru berdasarkan argument Jika folder berhasil di buat
Kirim respon 230 ke client Jika gagal
Kirim respon 430 ke client Akhir jika
Modul : CommandStore Mulai
Dapatkan argument
Create file dengan nama file = argument Jika create file berhasil
Kirim respon 131
Terima data yang dikirim client melalui data socket Jika seluruh data berhasil di terima
Kirim respon 232 ke client
Akses log file dimana log file = NIM
Simpan nama file, ukuran dan waktu file ke log file Jika tidak seluruh data berhasil di terima
Kirim respon 432 ke client
Ahir jika
Akhir jika Jika file gagal dibuat
Kirim respon 431 ke client Akhir jika
Modul : CommandQuit Mulai
Tutup semua connection Tutup thread Akhir
3.2.4.2 Spesifikasi Proses Client 3.2.4.2.1 Spesifikasi Autentikasi
Modul : MenuNim Mulai
Jalankan Modul Connection
Dapatkan NIM1
Jika tombol OK ditekan maka
Dapatkan NIM2
Jika tombol OK ditekan maka
Jika NIM1 = NIM2 maka
Kirim perintah NIM ke server
Jika kode respon server = 121 maka
Tampilkan layar Matakuliah
Selain itu
Tampilkan pesan “NIM not found”
Tampilkan layar Nim
Akhir Jika
Selain itu
Tampilkan layar Nim
Akhir Jika Akhir Jika Akhir Jika Akhir Modul : Connection Begin Connect ke Server
Kirim Username dan Password ke Server Jika Kode Respon Server = 211 maka
Jika Kode Respon Server = 212
Create Data Socket
Connect ke Server Data Socket
Selain itu
Tampilkan Pesan “Cannot Create data Socket” Keluar
Akhir Jika
Selain itu
Tampilkan Pesan “Username or password error” Keluar
Akhir Jika
Akhir
Modul : MenuMatakuliah Mulai
Tampilkan Matakuliah dimana nimhs = NIM Dapatkan Matakuliah yang akan Diujikan Jika Tombol OK Ditekan
Jika Kode Respon Server = 222
Simpan nim, nama, kdmtk, nmmtk, kelas to File sementara
Selain itu
Tampilkan Pesan = “Autentification Error” Keluar Akhir Jika Akhir Jika Akhir 3.2.4.2.2 Pengiriman File Modul : MenuStep1 Mulai
Jalankan Modul Connection
Tampilkan nim, nama, kdmtk, nmmtk, kelas dari File sementara
Jika Tombol OK ditekan
Kirim Perintah INFO ke Server Jika Kode Respon Server = 230 Tampilkan Layar Step 2 Selain itu
Tampilkan Pesan “Cannot Create Foleder” Keluar Akhir Jika Akhir Jika Akhir Modul : MenuStep2 Mulai
Tampilkan Folder and File Jika Tombol Add ditekan
Tambahkan File ke dalam daftar
Akhir Jika
Jika Tombol Remove ditekan
Hapuskan File dari daftar
Akhir Jika
Jika Tombol OK ditekan
Tampilkan Layar Step3
Akhir Jika
Modul : MenuStep3 Mulai
Tampilkan nama, ukuran, tanggal dan wakut dari file yang ada di daftar
Jika Tombol OK Ditekan
Tampilkan Layar Step4
Akhir Jika
Jika Tombol Back ditekan
Tampilkan Layar Step2
Akhir Jika
Akhir
Modul : MenuStep4 Begin
Send File to Server Display Sending File Progress
Tampilkan nama, ukuran, tanggal, dan waktu serta status File Jika Tombol Close Ditekan
Keluar
Akhir Jika