RANCANG BANGUN PERANGKAT LUNAK KALENDER DAN PENGINGAT APLIKASI BEASISWA BERBASIS DESKTOP Putu Bagus Sugosha#1, Tony Dwi Susanto #2, Radityo Prasetianto Wibowo #3 #
Jurusan Sistem Informasi Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya Indonesia
E-mail:
1
[email protected],
[email protected], 3
[email protected]
Abstrak— Saat ini lembaga dan instansi pendidikan menyediakan banyak program beasiswa dalam rangka memajukan pendidikan untuk anak bangsa. Perlu sebuah media untuk mendistribusikan dan menginformasikan kepada masyarakat mengenai informasi beasiswa tersebut. Melalui tugas akhir ini, penulis mencoba untuk membuat sebuah perangkat lunak kalender dan pengingat aplikasi beasiswa yang akan membantu penggunanya untuk mengetahui dan mengingat waktu aplikasi beasiswa baik waktu pendaftaran dan juga pengumuman beasiswa dengan fitur-fitur daftar beasiswa, alarm pengingat waktu beasiswa, dan kalender beasiswa, sehingga dengan perangkat lunak ini informasi beasiswa yang sangat banyak itu dapat terakomodasi dengan baik kepada pengguna. Pengembangan aplikasi ini dimulai dengan studi literatur dan analisa perangkat lunak serupa. Hasil analisa digunakan untuk merancang perangkat lunak, kemudian melakukan implementasi berdasarkan rancangan perangkat lunak dengan menggunakan bahasa pemrograman C# dan SQL Server CE sebagai sistem database. Kemudian uji coba dilaksanakan dengan menguji beberapa fitur yang telah dibuat. Adapun metode pengembangan perangkat lunak yang digunakan adalah Prototyping yang memiliki keunggulan dalam waktu pengerjaan dan kualitas spesifikasi kebutuhan pengguna. Adapun manfaat dari perangkat lunak ini adalah membantu pengguna mengingat informasi mengenai pengumpulan beasiswa dengan bantuan notifikasi. Dengan harapan hasil dari tugas akhir ini berupa Perangkat lunak Kalender dan Pengingat Aplikasi Beasiswa dalam bentuk perangkat lunak desktop yang bisa dijalankan pada sistem operasi Windows. Kata kunci— Beasiswa, Pengingat, Kalender, Perangkat Lunak Desktop, Prototyping
I. PENDAHULUAN Program beasiswa kini banyak ditawarkan oleh berbagai lembaga baik itu pemerintahan, swasta maupun luar negeri dalam rangka meningkatkan daya saing bangsa Indonesia di segala bidang, khususnya mutu pendidikan dan pengembangan potensi sumber daya daerah yang dinilai masih sangat rendah. Untuk mendukung kegiatan memajukan anak bangsa perlu peranan penting masyarakat untuk menyebarkan informasi beasiswa. Motivasi Beasiswa merupakan salah satu komunitas beasiswa di Indonesia yang memiliki visi meningkatkan taraf pendidikan masyarakat Indonesia setinggi-tingginya, demi pemerataan kesejahteraan rakyat di seluruh pelosok Indonesia dengan cara meningkatkan motivasi belajar mereka. Pihak komunitas ini bertugas mengelola seluruh informasi beasiswa agar dapat tersebar ke seluruh lapisan masyarakat yang membutuhkan. Hal tersebut tidak akan terasa sulit apabila informasi yang dikelola dalam jumlah kecil. Namun apabila jumlah informasi yang dikelola dalam jumlah yang tergolong besar, maka pihak komunitas akan mengalami kesulitan terlebih bagi anggota komunitas beasiswa. Beberapa permasalahan yang sering muncul adalah lupa kapan batas waktu pengumpulan beasiswa berakhir. Terdapat berbagai solusi berupa media layanan beasiswa, salah satunya e-mail. E-mail sering digunakan untuk memberikan informasi-informasi yang berkaitan dengan aplikasi beasiswa karena mudah diakses dan dapat memberikan informasi secara luas dan real time. Lalu ada media lainnya yaitu sosial media. Dengan sosial media, masyarakat dapat saling berbagi informasi beasiswa dengan bebas dimana saja dan kapan saja. Kedua sumber informasi beasiswa diatas memang sudah baik dalam penyampaian informasi beasiswanya, masyarakat dapat mengetahui informasi beasiswa dengan mudah dan cepat. Akan tetapi dari kedua sumber informasi tersebut ada beberapa kelemahan
dalam memberikan informasi aplikasi beasiswa yaitu, pengguna e-mail dan sosial media tidak memiliki pengingat terhadap batas waktu pengumpulan beasiswa tersebut dan harus memiliki akses internet. Sehingga dari berbagai permasalahan di atas perlu adanya suatu solusi layanan beasiswa yang dapat mengelola dan menyajikan informasi secara lebih baik dan membantu dalam penyebaran informasi beasiswa dengan lebih mudah. Maka melalui tugas akhir ini, saya ingin mengembangkan sebuah perangkat lunak kalender dan pengingat aplikasi beasiswa yang memang difokuskan pada pengingat waktu batas pengumpulan beasiswa yang belum tersedia pada email dan sosial media sebagai sumber informasi beasiswa. Perangkat lunak yang akan dikembangkan berupa sebuah perangkat lunak pengingat dan kalender beasiswa dalam bentuk perangkat lunak desktop yang berjalan pada sistem operasi Windows yang dapat membantu mengingat dan menyampaikan informasi beasiswa terkait dengan batas waktu pengumpulan. II. METODE A. Analisis Perangkat Lunak Berikut merupakan rancangan metode pengerjaan tugas akhir dengan menerapkan metode SDLC (Perangkat lunak Development Life-Cycle) Prototyping. Langkah-langkahnya adalah seperti pada gambar flowchart berikut.
Alasan pemilihan metode prototyping adalah untuk dapat menghemat waktu pengerjaan dan mendapatkan aplikasi yang sesuai dengan kebutuhan pengguna. Dengan menggunakan metode ini dapat meningkatkan kualitas dari spesifikasi dan kebutuhan yang disediakan oleh pengguna. Selain itu prototyping meningkatkan keikutsertaan pengguna dalam hal ini, pengguna dapat melihat secara langsung aplikasi yang ingin dikembangkan dengan prototype desain, tentu dengan adanya prototype pengguna dapat memberikan masukan yang lebih baik dan melengkapi spesifikasi. Hal ini pun dapat mencegah terjadinya miskomunikasi. B. Identifikasi Masalah Tahap pertama yang dilakukan adalah menentukan permasalahan apa yang akan diangkat dan diselesaikan dalam tugas akhir ini. Tugas akhir ini akan mencoba menawarkan solusi layanan informasi aplikasi beasiswa yang lebih baik dari media informasi lain yang sudah ada. C. Studi Literatur Setelah masalah teridentifikasi, langkah selanjutnya yang akan dilakukan dalam proses pembuatan tugas akhir ini adalah studi literatur untuk melakukan penggalian data dan pengumpulan informasi. Caranya adalah dengan mempelajari literatur berupa buku, paper, artikel yang bisa menunjang pembuatan tugas akhir ini. Berikut ini merupakan informasi terkait yang dikumpulkan pada tahap ini: 1. Informasi tentang pengembangan aplikasi berbasis desktop menggunakan C# 2. Informasi tentang aplikasi kalender atau pengingat serupa yang sudah beredar D. Analisa Kebutuhan Hasil dari pengumpulan informasi dari studi literature, dianalisis pada tahap analisis kebutuhan ini untuk menghasilkan daftar kebutuhan sistem. Format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat, didefinisikan bersama-sama dengan pihak pengguna. Adapun keluaran dari tahap ini adalah dokumen berupa SKPL (Spesifikasi Kebutuhan Perangkat Lunak).
Gambar 1 Metodologi Pengerjaan
E. Pembuatan desain prototype Pembuatan desain prototype terdiri atas perancangan data masukan, proses, dan antarmuka aplikasi. Tahap perancangan data masukan meliputi perancangan data informasi beasiswa dari website motivasi-beasiswa.org. Selain itu, dalam tahap perancangan data juga dilakukan perancangan skema database menggunakan Sybase Power Designer, dengan database SQL Server CE. Pada tahap
perancangan proses menterjemahkan hasil analisa kebutuhan pengguna yang telah dilakukan sebelumnya kedalam desain prototype sistem. Pemodelan yang digunakan untuk mendesain adalah UML (Unified Modelling Language) dengan merepresentasikan usecase diagram, activity diagram dan sequence diagram. Selanjutnya hasil desain yang telah dibuat akan digunakan sebagai pedoman dalam tahap implementasi sistem. Hasil desain ini akan dijabarkan lebih detail dalam dokumen DPPL (Detail Perancangan Perangkat Lunak). F. Evaluasi Prototype Evaluasi ini dilakukan oleh pihak pengguna apakah prototype yang sudah dibangun sudah sesuai dengan keinginan. Jika sudah sesuai maka langkah selanjutnya akan diambil. Jika belum, prototyping direvisi dengan mengulangi langkah dari analisa kebutuhan, tetapi dibatasi hanya sampai 2 kali iterasi. Jika sudah dua kali evaluasi desain, maka langkah selanjutnya akan diambil.
III. PERANCANGAN SISTEM A. Analisa Pernagkat Lunak Berikut ini merupakan analisa terhadap kebutuhan perangkat lunak. Analisa yang dilakukan meliputi deskripsi secara umum terhadap perangkat lunak yang dibangun, spesifikasi dari kebutuhan apa saja yang diperlukan perangkat lunak tersebut, analisa aktor yang menjadi pengguna perangkat lunak hingga analisis kasus penggunaan dari perangkat lunak. Berdasarkan analisa kasus penggunaan, ada beberapa kebutuhan yang harus dimiliki oleh perangkat lunak kalender dan pengingat aplikasi beasiswa, yaitu sebagai berikut: Tabel 1 Kebutuhan Fungsional
KF-id KF-01 : KF-02 :
Kebutuhan Sistem menyediakan fitur bagi setiap aktor sesuai dengan hak akses yang dimilikinya. Sistem menyediakan fitur untuk mengelola data beasiswa (tambah, ubah, hapus). Sistem menyediakan fitur untuk melihat data beasiswa Sistem menyediakan fitur untuk preferensi beasiswa pengguna Sistem menyediakan fitur kalender beasiswa. Sistem menyediakan fitur pengingat
G. Pembangunan Perangkat Lunak Pada tahapan inilah dilakukan implementasi dari desain perangkat lunak ke kode program. Keluaran dari tahapan ini adalah perangkat lunak yang sudah menjalani unit testing. Perangkat lunak ini dikembangkan menggunakan bahasa pemrograman C# dengan database SQL Server CE yang diimplementasikan ke dalam perangkat lunak desktop dengan sistem operasi Windows.
KF-03 :
H. Pengujian Perangkat Lunak Setelah menjadi suatu perangkat lunak yang siap pakai, harus diujicoba dahulu sebelum digunakan. Uji coba yang dilakukan adalah Metode black box untuk menguji fungsi-fungsi yang ada telah berjalan dengan benar sesuai dengan skenario yang telah dibuat.
KNF-id
Parameter
KNF-01
Correctness
KNF-02
Reliability
KNF-03
Integrity
KNF-04
Portability
Evaluasi Perangkat Lunak Pengguna mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan. Jika ya, maka pendokumentasian hasil testing akan dilakukan, jika belum, maka dilakukan pengkodean dan uji coba lagi. Persetujuan apakah program diterima atau ditolak adalah atas persetujuan dari pihak pengembang, dan dosen pembimbing sebagai pengguna.
KF-04 : KF-05 : KF-06:
Tabel 2 Kebutuhan Non Fungsional
I.
J.
Penyusunan Buku Tugas Akhir Tahapan ini adalah tahapan penyusunan laporan mulai dari perencanaan perangkat lunak sampai dengan pembangunan perangkat lunak. Keluaran dari tahapan ini adalah buku tugas akhir dan dokumentasi dari perancangan dan pembangunan perangkat lunak.
Kebutuhan Pengingat beasiswa muncul sesuai dengan waktunya. Sistem dapat beroperasi selama perangkat lunak tidak ditutup. Hanya pengguna dengan akses administrator yang dapat mengelola (mengubah, menambah dan menghapus) data perangkat lunak. Perangkat lunak dapat dijalankan pada komputer dengan sistem operasi Windows.
Tabel 3 Kebutuhan Lingkungan
Perangk at Hardwar e
Tabel 4 Kasus Penggunaan
Spesifikasi
No
Kode Kasus Penggunaan UC-UMUM01
Nama Kasus Penggunaan Melihat daftar beasiswa Menambah beasiswa ke Google Calendar
Prosesor: Memori:
Minimal: 1GHz Minimal: 512 MB RAM
1
Hardisk
Minimal: 600 MB – 32bit 1,5 GB – 64bit Microsoft Windows XP SP3,Vista,7 Microsoft .NET Framework 4
2
UC-UMUM02
3
UC-UMUM03
Melihat Kalender Beasiswa
4
UC-UMUM04
Melihat Jadwal Beasiswa Terkini
5
UC-UMUM05
Menyaring Daftar Beasiswa
6
UC-ADMIN01
Mengelola Daftar Beasiswa
OS: Software
Framewor k:
B. Spesifikasi Kebutuhan Perangkat Lunak Berdasarkan deskripsi umum perangkat lunak yang telah dijelaskan sebelumnya maka dibutuhkan beberapa fungsi yang dapat membantu terwujudnya perangkat lunak Kalender dan Pengingat Aplikasi Beasiswa. Fungsi-fungsi tersebut adalah sebagai berikut ini: 1. Melihat Beasiswa Fungsi ini digunakan untuk memberikan informasi-informasi daftar beasiswa yang ada pada perangkat lunak. 2. Pengingat Beasiswa Fungsi ini digunakan untuk mengingatkan penggunanya pada daftar beasiswa yang akan berakhir waktu pengumpulannya sesuai dengan pengaturan waktu yang dilakukan oleh pengguna. 3. Preferensi Beasiswa Fungsi ini digunakan untuk memberikan pengguna kebebasan dalam memilih daftar beasiswa yang mereka inginkan. Pengguna dapat memilih beasiswa berdasarkan tingkat pendidikan (degree), negara, bidang studi dan tipe beasiswa. 4. Kalender Beasiswa Fungsi ini digunakan untuk memberikan informasi beasiswa kepada pengguna dalam bentuk kalender. Termasuk tanggal-tanggal penting dan jadwal informasi beasiswa terkini. 5. Mengelola Beasiswa Fungsi ini digunakan untuk menambahkan, mengubah atau menghapus data-data beasiswa pada perangkat lunak. 6. Google Calender Fungsi ini digunakan untuk menambahkan beasiswa yang diinginkan pengguna ke akun Google Calender.
Keterangan Pengguna dapat melihat daftar beasiswa Pengguna dapat menambahkan data beasiswa ke Akun Google Calendar Pengguna dapat mengaktifkan pengingat beasiswa Pengguna dapat melihat jadwal bukaan bulan ini dan jadwal deadline bulan ini Pengguna dapat menentukan daftar beasiswa, sesuai dengan preferensi pengguna. Pengguna dapat menambah, mengubah atau menghapus daftar beasiswa pada database.
C. Perancangan Basis Data Pada bagian ini menjelaskan rancangan desain basis data. Gambar dari desain database dari sistem yang akan disusun ke dalam PDM (Physical Data Model)
tbl_beasiswa id_beasiswa id_negara nm_beasiswa tgl_mulai tgl_selesai link_beasiswa status_beasiswa status_pengingat
integer
integer varchar(1024) date date varchar(1024) varchar(5) varchar(1)
tbl_tipe id_tipe integer nm_tipe varchar(1024)
B. Pengujian Untuk memastikan kualitas dari perangkat lunak yang telah dibangun, maka dilakukan serangkaian uji coba. Teknik pengujian yang digunakan adalah dengan teknik black box. Pengujian Pengingat Pengingat dapat diaktifkan apabila pengguna melakukan centang pada beasiswa. Jika saat deadline aplikasi beasiswa telah datang, maka pop up pengingat akan muncul seperti pada gambar 5.
FK_TBL_BEAS_RELATIONS_TBL_TIPE
FK_TBL_BEAS_RELATIONS_TBL_BEAS tbl_beasiswatipe FK_TBL_BEAS_RELATIONS_TBL_BEAS
id_tipe integer id_beasiswa integer
FK_TBL_BEAS_RELATIONS_TBL_BEAS FK_TBL_BEAS_RELATIONS_TBL_NEGA tbl_beasiswadegree id_beasiswa integer id_degree integer
tbl_negara
tbl_beasiswabidang
integer id_negara nm_neagara varchar(1024)
id_bidang integer id_beasiswa integer FK_TBL_BEAS_RELATIONS_TBL_DEGR FK_TBL_BEAS_RELATIONS_TBL_BIDA
tbl_bidang
tbl_degree id_degree integer nm_degree varchar(1024)
id_bidang integer nm_bidang varchar(1024)
Gambar 2 Diagram Relasi
IV. HASIL DAN PENGUJIAN
A. Hasil Implementasi lapisan antarmuka dilakukan dengan menggunakan pembangkitan antarmuka dengan bahasa C#. Untuk melakukan perancangan dari antarmuka perangkat lunak menggunakan editor Microsoft Visual Studio. Desain antarmuka halaman utama merupakan menu-menu yang terbagi dalam kontrol tab. Tab menu utama merupakan tampilan awal dari halaman utama yang dapat dilihat pada gambar 3.
Gambar 5 Pop Up Pengingat
Pengujian Google Calendar Google Calendar merupakan fitur yang memungkinkan pengguna untuk memasukan daftar beasiswa yang diinginkan ke akun Google Calendar miliknya. Sehingga mereka dapat mengakses beasiswa tersebut pada Smartphone atau laptop yang dapat mengakses Google Calendar. Hasil uji dapat dilihat pada gambar 6.
Gambar 6 Integrasi Google Calendar
Gambar 3 Antarmuka Awal Perangkat Lunak
Gambar 4 Antarmuka Detail Beasiswa
V. KESIMPULAN DAN SARAN A. Kesimpulan Dari hasil pengamatan selama perancangan, implementasi, dan proses pengujian yang dilakukan, kesimpulan yang dapat diambil berdasar rumusan masalah yang ada adalah sebagai berikut ini.
1. Perancangan perangkat lunak disesuaikan dengan kebutuhan pengguna telah diterjemahkan kedalam kebutuhan fungsional. Adapun kebutuhan tersebut antara lain:
Kebutuhan untuk mengelola beasiswa telah dipenuhi dengan adanya fitur menambah data beasiswa, mengubah data beasiswa dan menghapus data beasiswa yang dimiliki oleh pengguna administrator. Kebutuhan untuk melihat data beasiswa telah dipenuhi dengan adanya fitur list beasiswa yang memungkinkan pengguna untuk melihat daftar beasiswa dengan informasi detail. Kebutuhan untuk mengelola preferensi beasiswa pengguna telah dipenuhi dengan adanya fitur preferensi beasiswa yang memungkinkan pengguna untuk mengatur daftar beasiswa yang diinginkan. Kebutuhan untuk melihat kalender beasiswa telah dipenuhi dengan adanya fitur kalender yang dapat dilihat dengan mudah dan muncul pada setiap antarmuka perangkat lunak. Kebutuhan untuk pengingat beasiswa telah dipenuhi dengan adanya fitur pengingat yang dapat diatur waktu pengingat dan suara alarm pengingatnya. Kebutuhan untuk integrasi dengan Google Calendar telah dipenuhi dengan adanya fitur menambahkan beasiswa ke google calendar.
2. Perancangan aplikasi disesuaikan terhadap kebutuhan pengguna yaitu dengan cara menerjemahkan kebutuhan fungsional pengguna sampai menjadi use case.
3. Hasil uji coba menunjukan bahwa fungsifungsi dari perangkat lunak yang dikembangkan berjalan dengan baik sesuai dengan skenario test case nya. B. Saran Dalam pembuatan Tugas Akhir ini, terdapat beberapa saran dan perbaikan yang diharapkan dapat dikembangkan di masa mendatang adalah sebagai berikut : 1. Ditambahkan fungsi user management, sehingga memungkinkan bahwa data beasiswa dapat ditambah oleh pengguna lain seperti pihak penyedia beasiswa yang ingin berbagi informasi beasiswa melalui perangkat lunak ini. 2. Ditambahkan fungsi update beasiswa, sehingga pengguna dapat memperbarui data beasiswa dengan cara yang lebih praktis. DAFTAR PUSTAKA A. S. Rosa, Shalahuddin M. (2009). Modul Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung: Modula Bandung. Dr. Robert F. Zant (2005). Hands-On Prototyping in System Analysis and Design. Fowler, Martin (2004). UML distilled: a brief guide to the standard object modeling language. Boston: Pearson Education Inc. Nugroho, Adi. (2010). Mengembangkan Aplikasi Basis Data Menggunakan C# dan SQL Server. Yogyakarta: Andi. Pressman, R. S. (2010). Perangkat lunak Engineering a Practitioner's Approach 7th Edition. New York: McGraw-Hill. Simarmata, Janner.(2010). Rekayasa Perangkat Lunak. Yogyakarta: Andi. Sommerville, I. (2007). England: Addison-Wesley.
Software
Engineering.