• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN SISTEM

3.4 Perancangan Sistem

3.4.3 Perancangan Algoritma

Tahapan selanjutnya dalam perancangan perangkat lunak adalah tahapan perancangan algoritma. Tahapan ini disajikan dalam bentuk flowchart. Hal ini dilakukan untuk mempermudah pengkodean yang akan dilakukan terhadap modul yang akan dibangun. Perancangan algoritma yang akan dibahas yaitu perancangan algoritma untuk modul Class dan Exam.

Perancangan algoritma untuk modul Class sama halnya pada perancangan algoritma, dibedakan atas 2 jenis, yaitu perancangan algoritma modul Class untuk admin atau pengajar, dan perancangan algoritma untuk pelajar. Hal ini disebabkan perbedaan aktivitas dan hak akses pada ketiga pengguna tersebut.

Perancangan algoritma untuk modul Class dimulai dengan perancangan algoritma untuk entitas admin atau pengajar. Proses yang berlangsung pada pengaksesan modul Class oleh admin atau pelajar dimulai dengan pengambilan data kelas dari tabel Class di database. Data yang diambil yaitu data ID kelas dan nama kelas, kemudian proses dilanjutkan dengan mencetak link yang berfungsi untuk mengakses menu utama Class, yaitu menu Grade, Edit, Delete, Group, dan Schedule. Setiap menu ini memiliki proses tersendiri sesuai dengan pilihan yang diinput pengguna.

Modul Class untuk admin atau pengajar ini secara langsung menyediakan media untuk penginputan data kelas yang baru. Pada proses penambahan data kelas ini, dibutuhkan 3 buah input dari pengguna, yaitu nama kelas, info kelas, dan nama pengajar. Ketika tombol ditekan, maka data akan disimpan dalam tabel Class di dalam database. Pemrosesan untuk data nama pengajar sedikit berbeda, hal ini dikarenakan pada tabel Class, tidak ada field data yang berlabel nama pengajar. Yang ada pada tabel tersebut adalah field ID pengajar. Sehingga yang harus dilakukan adalah memperoleh data ID pengajar berdasarkan data nama pengajar yang diinput. Berikut ini adalah perancangan algoritma dalam bentuk flowchart dari proses penambahan kelas untuk admin atau pengajar, yang ditunjukkan Gambar 3.25.

Gambar 3.25 Flowchart Proses Menambah Data Kelas

Berdasarkan Gambar 3.25, dapat dilihat adanya proses pencarian ID pengajar yang sesuai dengan data nama pengajar yang diinput oleh pengguna. Kemudian data ID pengajar dapat disimpan di database.

Selain dapat menambah kelas, admin atau pengajar juga dapat mengedit data kelas. Proses edit dilakukan sesudah pengguna mengakses link edit yang disediakan. Proses edit data kelas mirip dengan penambahan data kelas. Yang membedakan adalah pada proses edit, terdapat proses pengambilan data kelas yang hendak diedit dari database. Proses pengambilan data ini terjadi pada awal proses, sehingga pada awalnya sistem telah memiliki data nama kelas, info, dan nama pengajar, sebagai inisialisasi awal sebelum proses edit terjadi. Kemudian dilanjutkan dengan proses input kembali atau penggantian data, terhadap data yang diinput oleh pengguna. Selanjutnya, sama seperti proses penambahan data kelas, sistem harus mentransformasikan data nama kelas menjadi ID kelas sehingga proses penyimpanan data edit dapat berhasil dilakukan. Gambar 3.26 menunjukkan flowchart untuk proses edit data kelas.

Gambar 3.26 Flowchart Proses Edit Data Kelas

Admin atau pengajar juga diberikan kuasa untuk menginput atau merubah nilai ujian pelajar. Setelah memilih link Grade pada halaman utama modul Class untuk admin atau pengajar, mula-mula akan berlangsung proses pengambilan data nilai pelajar untuk ditampilkan pada sebuah tabel daftar nilai. Terdapat 4 macam nilai yang diproses, yaitu nilai latihan, aktivitas, ujian, dan ujian final. Nilai final merupakan hasil perhitungan dari keempat nilai tersebut. Pada setiap data nilai yang ditampilkan, tedapat link untuk melakukan edit nilai. Setelah memilih link tersebut, proses akan beralih pada penginputan nilai. Pada proses ini, sistem akan mengiput sendiri data nama pelajar dan ID pelajar, berdasarkan proses pengambilan data nilai pada awal proses. Kemudian terjadi proses penginputan data nilai oleh pengguna aplikasi. Saat tombol ditekan, maka terjadi proses penyimpanan data nilai tersebut ke dalam tabel Grade di database. Sebelum proses penyimpanan berlangsung, sistem akan menghitung nilai final pelajar berdasarkan keempat nilai yang telah diinput. Selanjutnya nilai final beserta data nilai lainnya akan disimpan dalam database. Proses tersebut dapat dilihat melalui flowchart yang ditunjukkan pada Gambar 3.27.

Gambar 3.27 Flowchart Proses Edit Nilai

Sedangkan untuk proses pengaturan grup, proses dimulai dengan mengakses menu Group pada link. Mula-mula proses dilanjutkan pada pemgambilan data nama grup dan anggota dari tabel Group dari database. Pada proses ini disediakan link untuk mengedit dan menghapus data grup. Kemudian dilakukan pengambilan data nilai dari tabel Grade untuk menampilkan daftar nilai pelajar pada sebuah tabel daftar nilai sebagai bahan pertimbangan bagi pengguna (admin atau pengajar) untuk menentukan grup secara adil dan seimbang. Pemrosesan menu grup ini secara langsung menyediakan media untuk menginput data grup yang baru. Pada proses penambahan data grup ini, dibutuhkan 2 buah input dari pengguna, yaitu nama grup dan anggota. Ketika tombol ditekan, maka data akan disimpan dalam tabel Group di dalam database. Penyimpanan data grup ke dalam tabel Group di database sebenarnya memerlukan data ID kelas. Namun data ini tidak perlu diinput karena sewaktu pengguna memilih link untuk menu grup, sistem akan mengidentifikasi data ID kelas untuk data kelas yang dipilih. Berikut ini adalah perancangan algoritma

dalam bentuk flowchart dari proses penambahan data grup untuk admin atau pengajar, yang ditunjukkan Gambar 3.28.

Gambar 3.28 Flowchart Proses Menambah Data Grup

Selain dapat menambah grup, admin atau pengajar juga dapat mengedit data grup yang telah ada di database. Proses edit dilakukan sesudah pengguna mengakses link edit yang disediakan. Proses edit data grup mirip dengan penambahan data grup. Yang membedakan adalah pada proses edit, terdapat proses pengambilan data grup yang hendak diedit dari database. Proses pengambilan data ini terjadi pada awal proses, sehingga pada awalnya sistem telah memiliki data nama grup dan anggota, sebagai inisialisasi awal sebelum proses edit terjadi. Data grup yang telah diambil dari database tersebut akan ditampilkan secara langsung pada kotak input. Kemudian dilanjutkan dengan proses input kembali atau penggantian data, terhadap data yang diinput oleh pengguna. Selanjutnya, sistem harus menggunakan data ID kelas, yang telah diidentifikasi sebelumnya saat pemilihan link edit, sebab tabel Group pada database juga memerlukan ID kelas, selain kedua data yang diinput pengguna. Proses penyimpanan data edit dilakukan setelah semua data yang dibutuhkan tersebut teridentifikasi. Gambar 3.29 memperlihatkan flowchart untuk proses edit data grup.

Gambar 3.29 Flowchart Proses Edit Grup

Sedangkan untuk proses pengaturan jadwal, proses dimulai dengan mengakses menu Schedule pada link. Mula-mula proses dilanjutkan pada pemgambilan data tanggal, nama kegiatan, dan nama kelas dari tabel Class dan tabel Schedule dari database untuk ditampilkan pada tabel daftar jadwal pembelajaran. Pada proses ini disediakan link untuk mengedit dan menghapus data jadwal. Pemrosesan menu jadwal ini secara langsung menyediakan media untuk menginput data jadwal yang baru. Pada proses penambahan data jadwal ini, dibutuhkan 2 buah input dari pengguna, yaitu tanggal dan nama kegiatan. Ketika tombol ditekan, maka data akan disimpan dalam tabel Schedule di dalam database. Penyimpanan data grup ke dalam tabel Group di database sebenarnya memerlukan data ID kelas. Namun data ini tidak perlu diinput karena sewaktu pengguna memilih link untuk menu jadwal, sistem akan mengidentifikasi data ID kelas untuk data kelas yang dipilih. Berikut ini adalah perancangan algoritma dalam bentuk flowchart dari proses penambahan data jadwal untuk admin atau pengajar, yang ditunjukkan Gambar 3.30.

Gambar 3.30 Flowchart Proses Menambah Data Jadwal

Selain dapat menambah jadwal, admin atau pengajar juga dapat mengedit data jadwal yang telah ada di database. Proses edit dilakukan sesudah pengguna mengakses link edit yang disediakan. Proses edit data jadwal mirip dengan penambahan data jadwal. Yang membedakan adalah pada proses edit, terdapat proses pengambilan data jadwal yang hendak diedit dari database. Proses pengambilan data ini terjadi pada awal proses, sehingga pada awalnya sistem telah memiliki data tanggal dan nama kegiatan, sebagai inisialisasi awal sebelum proses edit terjadi. Data jadwal yang telah diambil dari database tersebut akan ditampilkan secara langsung pada kotak input. Kemudian dilanjutkan dengan proses input kembali atau penggantian data, terhadap data yang diinput oleh pengguna. Selanjutnya, sistem harus menggunakan data ID kelas, yang telah diidentifikasi sebelumnya saat pemilihan link edit, sebab tabel Schedule pada database juga memerlukan ID kelas, selain kedua data yang diinput pengguna. Proses penyimpanan data edit dilakukan setelah semua data yang dibutuhkan tersebut teridentifikasi. Gambar 3.31 memperlihatkan flowchart untuk proses edit data jadwal.

Gambar 3.31 Flowchart Proses Edit Data Jadwal

Penjelasan selanjutnya adalah mengenai rancangan algoritma modul Class untuk pelajar. Pada menu Class untuk pelajar, proses dimulai dengan memanggil fungsi bantu (mainfile.php). Selanjutnya dilakukan proses mengidentifikasi nilai ID pelajar melalui identifikasi variabel cookie. Kemudian dilakukan pengambilan data ID kelas, nama kelas, dan ID pengajar dari database. Setelah data kelas berhasil diambil, nama kelas akan dicetak sebagai link untuk mengakses menu informasi kelas. Dalam hal ini, jika pelajar telah memilih link tersebut, maka nilai variabel seleksi akan bernilai 1. Nilai ini kemudian akan digunakan sebagai syarat untuk mengambil informasi database secara lengkap dan menampilkannya di halaman modul. Proses selanjutnya yang dilakukan adalah mengecek apakah pelajar telah mendaftar pada kelas tersebut. Jika pelajar telah mendaftar, maka sistem akan menampilkan menu- menu navigasi kelas, yaitu menu Grade, Group, Schedule, dan Notes. Sedangkan jika pelajar belum mendaftar, maka pelajar akan kembali ke halaman sebelumnya. Pada

Gambar 3.32 Flowchart Proses Modul Class Pelajar

Modul Class untuk pelajar terdiri dari 4 menu utama, yang hanya dapat diakses oleh pelajar yang telah melakukan registrasi kelas. Pertama-tama akan dibahas mengenai menu Grade. Menu Grade digunakan untuk melihat daftar nilai pada kelas tertentu. Proses yang terjadi pada menu ini dapat dilihat pada Gambar 3.33.

Gambar 3.33 Flowchart Proses Menu Grade

Pada proses yang ditunjukkan pada flowchart tersebut, mula-mula akan dilakukan identifikasi terhadap ID pelajar dan ID kelas. Proses identifikasi terhadap ID pelajar terjadi dengan cara mengambil nilai dari variabel cookie yang telah terisi nilai saat pelajar melakukan login. Sedangkan untuk nilai ID kelas didapatkan ketika pelajar memilih link yang digunakan untuk mengakses menu kelas. Kemudian akan dilakukan proses pengambilan data nama pelajar, nilai latihan, nilai aktivitas, nilai ujian, dan nilai ujian final dengan menggunakan kueri dari tabel Grade, tabel Class, dan tabel Users di database. Setelah semua data yang akan ditampilkan terkumpul, maka selanjutnya data ini ditampilkan pada sebuah daftar nilai untuk dilihat oleh pelajar.

Sedangkan untuk proses pada menu Groups, digunakan untuk melihat daftar grup yang pada kelas tertentu. Proses ini tidak jauh beda dengan proses menu Grade sebelumnya. Proses yang terjadi pada menu ini dapat dilihat pada Gambar 3.34.

Gambar 3.34 Flowchart Proses Menu Groups

Pada proses yang ditunjukkan pada flowchart tersebut, mula-mula akan dilakukan identifikasi terhadap ID kelas yang dipilih melalui link yang disediakan untuk mengakses proses menu. Kemudian akan dilakukan proses pengambilan data nama grup, nama anggota dan nama kelas menggunakan kueri dari tabel Group dan tabel Class di database. Setelah semua data yang akan ditampilkan terkumpul, maka selanjutnya data ini ditampilkan pada sebuah tabel daftar grup untuk dilihat oleh pelajar.

Menu Schedule digunakan untuk melihat daftar jadwal pembelajaran yang terdapat pada sebuah kelas. Jadwal pembelajaran ini disusun oleh pengajar untuk mengatur dan menginformasikan tanggal-tanggal yang perlu diingat oleh pelajar, misalnya tanggal pengiriman tugas dan tanggal ujian. Proses yang terjadi pada menu ini dapat dilihat pada Gambar 3.35.

Gambar 3.35 Flowchart Proses Menu Schedule

Pada proses yang ditunjukkan pada flowchart tersebut, mula-mula akan dilakukan identifikasi terhadap ID kelas yang dipilih melalui link yang disediakan untuk mengakses proses menu. Kemudian akan dilakukan proses pengambilan data tanggal, kejadian penting, dan nama kelas menggunakan kueri dari tabel Schedule dan tabel Class di database. Setelah semua data yang akan ditampilkan terkumpul, maka selanjutnya data ini ditampilkan pada sebuah tabel daftar jadwal.

Proses selanjutnya yang akan dibahas adalah proses untuk menu Notes. Menu ini digunakan untuk mendapatkan daftar link materi pembelajaran pada sebuah kelas. Materi pembelajaran ini dikirimkan oleh pengajar untuk dipelajari oleh pelajar. Hasil dari proses ini akan menghasilkan sebuah daftar materi pembelajaran yang berkaitan dengan kelas yang dipilih dan masing-masing judul materi merupakan link yang dapat digunakan untuk mengakses materi tersebut secara langsung. Proses yang terjadi pada menu ini dapat dilihat pada Gambar 3.36.

Gambar 3.36 Flowchart Proses Menu Notes

Proses yang ditunjukkan seperti pada Gambar 3.36 akan dimulai dengan melakukan identifikasi nilai ID kelas yang dipilih melalui link yang disediakan untuk mengakses proses menu. Selanjutnya dilakukan proses pengambilan data ID materi, kategori, judul, waktu pengiriman, dan isi materi pembelajaran dari database. Data materi pembelajaran ini akan diurutkan berdasarkan waktu pengiriman. Materi yang paling baru akan ditempatkan pada urutan yang paling atas, dengan judul materi dijadikan sebagai link yang dapat digunakan untuk mengakses materi secara langsung.

Pembahasan selanjutnya akan dilanjutkan untuk modul Exam. Modul ini digunakan untuk melakukan aktivitas yang berkaitan dengan proses ujian. Proses pada menu Exam juga dibagi atas 2 bagian. Proses untuk admin atau pengajar berkaitan dengan pengiriman data soal ujian, melihat jawaban pelajar, dan menghapus data soal dan jawaban yang tersimpan di database. Sedangkan untuk pelajar, proses ditujukan pada untuk mengikuti ujian dan menjawab soal-soal ujian yang telah dibuat oleh

pengajar. Pembahasan akan dimulai dengan pemrosesan modul Exam untuk admin atau pengajar.

Pembahasan pemrosesan modul Exam untuk admin atau pengajar ini dimulai dari menu untuk menginput data soal ujian. Proses pada menu ini dapat diamati dari

Gambar 3.37.

Seperti yang ditunjukkan pada Gambar 3.37, proses dimulai dengan penginputan data banyak soal, nama ujian dan nama soal. Kecuali data banyak soal, data ini merupakan data tetap yang akan disimpan di database untuk setiap perulangan proses penginputan soal. Variabel banyak soal akan digunakan untuk menentukan banyak perulangan yang harus dilakukan dalam proses penginputan soal. Misalnya jika banyak soal bernilai 5, maka proses penginputan soal akan diulangi sebanyak 5 kali, yakni penginputan soal untuk nomor pertama, hingga nomor kelima.

Kemudian berdasarkan nama kelas yang diperoleh, sistem akan memrosesnya untuk mendapatkan nilai ID kelas yang sesuai. Nilai ID kelas ini nantinya akan disimpan di database. Lalu proses dilanjutkan dengan inisialisasi nilai variabel nomor = 1. Nilai variabel nomor ini akan ditambah dengan 1 untuk setiap proses pengulangan sehingga menghasilkan nilai nomor yang terus menaik. Selanjutnya terdapat proses pemeriksaan kondisi apakah nomor bernilai lebih besar atau sama dengan banyak soal. Jika kondisi ini terpenuhi, maka proses akan dilanjutkan ke proses penginputan soal dan nomor soal. Namun jika kondisi tidak terpenuhi, maka akan ditampilkan pesan bahwa proses penginputan soal telah selesai dilakukan. Setiap soal dan nomor soal, serta nilai ID kelas yang telah ditentukan sebelumnya, akan disimpan ke dalam tabel Exam di database. Setelah itu, nilai variabel nomor soal akan dijumlahkan dengan 1, dan proses penginputan soal akan dilanjutkan kembali dengan syarat nilai nomor soal tidak lebih besar dari banyak soal.

Proses lainnya yang terdapat pada modul Exam adalah proses melihat jawaban pelajar. Proses ini dilakukan untuk melihat jawaban pelajar yang mengikuti ujian, berdasarkan data ID pelajar dan nama ujian. Proses tersebut dimulai dengan menampilkan data tabel data ID pelajar, nama pelajar dan nama kelas, yang diperoleh dari kueri terhadap tabel Grade, tabel Class, dan tabel Users. Data ini dapat digunakan sebagai bahan referensi terhadap proses berikutnya, yaitu proses input data ID pelajar dan nama ujian. Selajutnya proses akan dilanjutkan dengan pencarian data nomor soal, soal dan jawaban dari tabel Answer dan tabel Exam di database. Jika pencarian ditemukan maka data yang didapatkan tersebut akan ditampilkan pada halaman menu. Proses tersebut dapat dilihat pada Gambar 3.38.

Dokumen terkait