Pengembangan Sistem Informasi Kesiswaan Berbasis Android
Studi Kasus SMA Negeri 1 Tengaran
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi untuk Memperoleh Gelar Sarjana Komputer
Peneliti:
Yusuf Bagas Saputro (672012228) Yos Richard Beeh, S.T., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Juli 2016
1. Pendahuluan
SMA Negeri 1Tengaran merupakan sekolah negeri yang berada di kecamatan Tengaran kabupaten Semarang. Sekolah ini masih melakukan pembukuan administrasi nilai dan kredit poin secara manual atau menggunakan media kertas/buku. Hal ini membuat para siswa hanya dapat melihat nilai mereka pada saat penerimaan raport saja. Selain itu pencatatan kredit poin atau pelanggaran juga masih dilakukan secara manual menggunakan media kertas, sehingga siswa tidak mengetahui poin yang tersisa dan pelanggaran apa saja yang sudah dilakukan. Ketika kredit poin hampir penuh, siswa akan mendapat surat panggilan orang tua / wali murid untuk menginformasikan pelanggaran siswa tersebut kepada orang tua. Karena keterbatasan sarana informasi untuk memantau kredit poin tersebut maka siswa merasa dirugikan. SMA N 1 Tengaran mempublikasikan pengumuman dengan media kertas yang ditempel di papan pengumuman yang terletak di beberapa tempat tertentu seperti perpustakaan dan ruang kesiswaan. Adapun cara lain untuk mempublikasikan yaitu dengan melalui pengeras suara yang terhubung ke setiap kelas. Metode pengumuman tersebut mengakibatkan informasi pengumuman tidak terinformasikan secara menyeluruh kepada siswa sehingga terdapat siswa yang tidak mengetahui informasi pengumuman. Guna meningkatkan pelayanan, SMA N 1 Tengaran ingin melakukan keterbukaan informasi kepada siswa khususnya informasi kredit poin dan pengumuman. Maka diperlukan adanya sebuah sistem informasi kesiswaan yang dapat diakses oleh siswa. Sistem informasi yang akan dikembangkan haruslah memiliki mobilitas tinggi yang dapat diakses oleh siswa dimana saja dan kapan saja. Penerapan sebuah sistem informasi kesiswaan berbasis Android bertujuan untuk membantu siswa dalam mengakses informasi-informasi meliputi nilai, kredit poin, dan pengumuman sekolah kapan saja dan dimana saja.
Berdasarkan latar belakang tersebut, maka yang menjadi rumusan masalah dalam penelitian ini adalah “Bagaimana cara mengembangkan sebuah sistem informasi meliputi nilai, kredit poin,dan pengumuman sekolah”.
2. Kajian Pustaka
Penelitian yang berjudul Sistem Informasi Kesiswaan Berbasis Teknologi Barcode dan Webcam Studi Kasus SMA N 1 Singaraja yang dilakukan oleh Mahedy K.S.[1], menyimpulkan bahwa Sistem informasi kesiswaan dapat mempermudah pengarsipan data yang berhubungan dengan siswa. Informasi yang diakses meliputi data nilai, data guru, pelajaran dan wali kelas. Sistem informasi kesiswaan dapat mempermudah pencarian data dan arsip dan menghemat waktu pencarian.
Penelitian sejenis dilakukan oleh Christianti M. dan Prakoso B.M.[2], sistem informasi kesiswaan dapat menangani beberapa hal seperti pendataan siswa, nilai, layanan berita, pencatatan mata pelajaran dan indikator. Dengan adanya sistem informasi kesiswaan maka permasalahan pengarsipan dapat diatasi.
Menurut Satoto (2009) Sistem Informasi Kesiswaan adalah perangkat lunak yang digunakan untuk menyajikan informasi dan menata administrasi yang berhubungan dengan kegiatan akademis[3]. Dengan menggunakan perangkat lunak seperti ini diharapkan kegiatan administrasi akademis dapat dikelola dengan baik dan informasi yang diperlukan dapat diperoleh dengan mudah dan cepat.
Untuk mengembangkan sebuah sistem informasi yang dapat diakses dimana saja dan kapan saja, maka sistem informasi tersebut perlu dikembangkan di atas mobile device. Android dipilih sebagai mobile device
operating system yang akan dipakai dikarenakan mayoritas siswa di SMA N 1
Tengaran adalah pengguna android.
Android merupakan sistem operasi mobile device, smartphone, dan
computer tablet berbasis Linux[4]. Android dikembangkan oleh Open Handset Alliance, Google, dan perusahaan lainya. Android merupakan open source license operating system, sehingga membuat Android ini bebas diakses
dan memiliki source code yang bebas untuk siapapun. Aplikasi android biasanya dikembangkan dengan Bahasa pemrograman Java menggunakan
Android Development Tools Kit. Ketika dikembangkan Aplikasi android dapat
dibentuk dalam format .apk (Android Application Package) yang dapat diupload di google PlayStore. Sehingga user atau pengguna dapat mengunduh aplikasi kapan saja.
Informasi yang dapat diakses oleh perangkat android haruslah informasi yang terintegrasi oleh satu sistem. Maka perlu adanya web service agar informasi yang dapat diakses oleh perangkat android adalah informasi yang sama. Web service digunakan agar aplikasi yang berjalan bukanlah aplikasi stand alone, sehingga untuk update data dapat dilakukan secara efektif. Web
service adalah suatu perangkat lunak yang dirancang untuk mendukung
interaksi dan komunikasi antar sistem yang dapat diakses melalui internet dalam bentuk pesan Xml, sehingga Web service dapat berjalan di berbagai
platform dan framework[5]. Web service digunakan sebagai suatu fasilitas
yang disediakan oleh suatu website untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan yang disediakan oleh suatu sistem yang menyediakan web service. Web Services adalah kumpulan dari fungsi dan method yang terdapat pada sebuah server yang dapat dipanggil oleh client dari jarak jauh, kemudian method-method tersebut dipanggil oleh suatu aplikasi yang akan dibuat dengan bahasa pemrograman apa saja yang dijalankan pada platform apa saja. Untuk mengimplementasikan web service pada Android maka diperlukan library retrofit.
Retrofit merupakan library android yang dibuat oleh Squre yang digunakan sebagai REST Client pada Android [6]. Retrifot memungkinkan tidak perlu lagi untuk membuat method-method sendiri untuk menggunakan REST Client API dari backend. Library ini menyediakan framework yang powerfull untuk authenticating dan berinteraksi dengan API dengan mengirimkan request menggunakan HTTP. Retrofit memparsing JSON response dari Web API menjadi Plain Old Java Object (POJO) sehingga akan
memudahkan menggunakan value-value yang berada dalam respone karena sudah otomatis terkonversi menjadi object.
3. Metode Penelitian
Masalah yang terdapat di SMA Negeri 1 Tengaran ini dapat diselesaikan dengan metode Research and Development (R&D). Menurut Hasibuan (2007), R&D merupakan salah satu kategori riset berdasarkan tujuan, yaitu suatu penelitian dimana alat yang telah kita buat diujicobakan dan dilihat tingkat keefektifanya[7].
Penelitian ini dapat juga dikategorikan sebagai case study research (studi kasus), yaitu penelitian yang memfokuskan pada suatu kasus tertentu dengan menggunakan individu atau suatu kelompok sebagai bahan studinya [7], yang dalam kasus ini adalah SMA Negeri 1 Tengaran.
Adapun tahapan penelitian sebagai berikut:
Gambar 1. Tahapan Penelitian [7]
Metode perancangan sistem yang dipilih adalah metode Rappid App
Deveopment (RAD). Metode ini memiliki siklus pembangunan pendek,
singkat, dan cepat. Metode ini dipilih karena pada awal proses penelitian
requirements teah dapat dimodulkan, sehingga metode ini merupakan metode
yang paling cocok.
Gambar 2. Diagram Proses Rappid App Development[8]
Berikut penjelasan dari diagram proses rapid app development (RAD) :
Permasalahan Pengumpulan Literatur Perumusan
Masalah Metodologi Desain Pengumpulan Data Analisa Data Hasil Penelitian Refine Hipotesis
1). Requirement Planning : Pada tahap ini segala kebutuhan yang diperlukan oleh pihak SMA N 1 Tengaran direncanakan. Perencanaan meliputi fitur-fitur yang diperlukan untuk ditampilkan kepada siswa (user). 2). Prototyping : proses ini terus berjalan dalam dua bagian yaitu user design dan construction, proses prototyping akan terus berjalan sebelum memenuhi requirements. Pada tahap user design dilakukan perancangan yang mewakili semua aspek sistem yang diketahui. Perancangan digambarkan ke dalam sebuah UML (Unified
Modeling Language). Pada tahap constuction dilakukan pengkodingan untuk
merealisasikan sistem yang dibutuhkan. 3). Testing : Tahap ini memeriksa apakah program sudah sesuai dengan requirements dan berjalan sesuai dengan yang diharapkan oleh pengguna. Proses testing dilakukan dengan cara mendemostrasikan program kepada pengguna lalu membagikan kuisioner untuk mengetahui reson pengguna. 4). Cutover : proses terakhir dimana setelah melewati testing proses RAD berakhir dan program siap untuk publikasi.
Pada proses perencanaan kebutuhan (requirement planning) dilakukan dengan cara wawancara dengan pihak sekolah. Dan kemudian didapat daftar requirement sebagai berikut: 1). Siswa dapat melihat profil pribadi masing masing dengan attribute seperti nama, nomor induk siswa, tanggal lahir, jenis kelamin, alamat, nama ayah, nama ibu, pekerjaan orang tua/wali, kelas, dan nomor absen. 2). Siswa dapat melihat nilai seluruh mata pelajaran tiap semesternya. 3). Siswa dapat melhat daftar pelanggaran yang pernah dilakukan dan mengetahui sisa kredit poin pelanggaran yang masih dimiliki. 4). Siswa dapat melihat pengumuman sekolah.
Dalam tahap perancangan sistem, digunakan diagram Unified Modelling
Language (UML). Diagram ini berfungsi untuk menggambarkan alur serta
proses kerja dari aplikasi. Ada beberapa diagram UML yang digunakan diantaranya Use Case diagram, Class diagram, Activity diagram dan
Deployment diagram. Use Case diagram mendeskripsikan interaksi tipikal
antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan [8]. Dalam sistem ini terdapat 2 (dua) aktor dalam use case, yaitu admin dan siswa.
Use Case diagram pada Gambar 3 menjelaskan peran masing-masing
aktor. Aktor siswa dapat melihat (view) setiap entity utama. Sedangkan aktor admin dapat melakukan semua aktivitas pengelolaan data setiap entity baik data siswa, data nilai, data kredit poin, dan pengumuman.
Selanjutnya adalah activity diagram, yaitu diagram yang menjelaskan aliran proses suatu fungsi pada sistem dari awal hingga akhir [8]. Salah satu contoh adalah activity diagram untuk view data kredit poin.
Gambar 4. Activity Diagram View Kredit Poin
Pada Gambar 4 terdapat activity diagram yang menggambarkan aktivitas dari siswa. Pada activity view kredit poin, siswa terlebih dahulu melakukan login, selanjutnya dapat memilih kredit poin pada menu. Setelah siswa memilih menu kredit poin, program akan mengeksekusi database untuk mengambil data kredit poin berdasarkan nomor induk siswa tersebut. Selanjutnya program akan menampilkan data pelanggaran ke dalam sebuah
layout.
Class diagram menggambarkan jenis-jenis objek dalam sistem dan
berbagai macam hubungan statis yang terdapat di antara mereka. Class diagram menunjukkan properti dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan-hubungan objek tersebut [8]. Class diagram sistem informasi kesiswaan dapat dilihat pada Gambar 5.
Untuk dapat memenuhi kebutuhan masing-masing aktor, maka arsitektur sistem harus terintegrasi dengan layanan internet. Arsitektur sistem informasi kesiswaan dapat dilihat sebagai berikut.
Gambar 6. Arsitektur Sistem
Pada gambar 6 menjelaskan bahwa sistem yang dibangun memiliki 2 (dua)
platform yaitu web dan mobile. Pengguna masing-masing platform ditujukan
kepada actor yang berbeda. Untuk dapat menjalankan aplikasi, semua perangkat harus terhubung dengan internet agar dapat mengakses database. 4. Hasil dan Pembahasan
Pada perancangan sistem sebelumnya, aplikasi dibangun dalam 2 platform yaitu mobile dan web. Dikembangkanya web application bertujuan untuk mempermudah admin dalam mengelola data. Pengguna aplikasi mobile hanyalah siswa, tujuan dari aplikasi mobile ini adalah untuk menampilkan data. Fitur yang terdapat dalam aplikasi mobile ini antara lain : profil, nilai, pelanggaran, dan pengumuman.
Setelah login siswa dapat memilih salah satu dari menu yang disediakan oleh sistem. Menu kredit poin digunakan untuk menampilkan data pelanggaran siswa. Data ditampilkan dengan request data dari database yang terhubung lewat internet. Data tersebut ditampilkan dalam layout menggunakan recyclerView Android.
Kode Program 1. Web Service Data Pelanggaran
Proses request data pada web server menggunakan php untuk membuat
request API. Data dari database diubah menjadi jsonObject pada Kode
Program 1 baris 12. Selanjutnya jsonObject yang didapat dari server menggunakan library Retrofit dimasukan ke dalam sebuah arrayList dalam Android. Data arrayList tersebut dapat ditampilkan ke berbagai layout salah satunya adalah recyclerView untuk menampilkan data pelanggaran.
Kode Program 2. Menampilkan Data Pelanggaran Dalam Android
1. app->get('/getPelanggaran/:nis', function($nis) { 2. $app = \Slim\Slim::getInstance(); 3. try{ 4. $db = getDB(); 5. $sth = $db->prepare("SELECT pelanggaran . * , data_pelanggaran.tanggal_input FROM data_pelanggaran
JOIN periode ON data_pelanggaran.id_tahun_ajaran = periode.id_periode
JOIN pelanggaran ON pelanggaran.id = data_pelanggaran.id_pelanggaran WHERE data_pelanggaran.nis =:nis");
6. $sth->bindParam(':nis', $nis, PDO::PARAM_INT); 7. $sth->execute(); 8. $student = $sth->fetchAll(PDO::FETCH_OBJ); 9. if($student) { 10. $app->response->setStatus(200); 11. $app->response()->headers->set('Content-Type', 'application/json'); 12. echo json_encode($student); 13. $db = null; 14. } else {
15. throw new PDOException('No records found.'); 16. }
17. } catch(PDOException $e) { 18. $app->response()->setStatus(404);
19. echo '{"error":{"text":'. $e->getMessage() .'}}'; 20. }
21. });
1. private void getData(String param) {
2. Retrofit retrofit = new Retrofit.Builder().baseUrl(ROOT_URL) 3. .addConverterFactory(GsonConverterFactory.create()).build(); 4. RestApi service = retrofit.create(RestApi.class);
5. Call<List<Pelanggaran>> call =
service.getDataPelanggaranByNis(param);
6. call.enqueue(new Callback<List<Pelanggaran>>() { 7. @Override
8. public void onResponse(Call<List<Pelanggaran>> call, Response<List<Pelanggaran>> response) {
9. Log.d("status : ", response.code() + "");
10. Log.d("status : ", response.body().get(0).getAspek_pelanggaran()); 11. initRecyclerView(response.body()); // show in recyclerview
12. }
13. @Override
14. public void onFailure(Call<List<Pelanggaran>> call, Throwable t) { 15. Log.d("status : ", "gagal bos");
16. } 17. }); 18. }
Pada menu kredit poin akan muncul tampilan seperti berikut.
Gambar 8. Tampilan Menu Kredit Poin
Menu nilai digunakan untuk menampilkan data nilai semester terakhir siswa. Pada menu pengumuman siswa dapat melihat pengumuman sekolah. Pengumuman bersifat umum dan tidak spesifik pada salah satu siswa yang bersangkutan. Berikut adalah tampilan menu nilai dan pengumuman:
(a) (b)
Gambar 9(a). Tampilan Menu Nilai (b). Tampilan Menu Pengumuman
Pengujian dilakukan dengan membagikan kuisioner kepada 30 responden. Responden adalah siswa kelas XI SMA N 1 Tengaran. Pengujian yang dilakukan meliputi tampilan antarmuka, pengoperasian, dan manfaat bagi siswa. Perhitungan skor memiliki 4 indeks yaitu sangat tidak setuju = 1, kurang setuju = 2, setuju = 3, dan sangat setuju = 4. Untuk menghitung kriteria interpretasi skor, maka diperlukan interval. Interval merupakan jarak (range) nilai untuk menentukan bobot kriteria dengan perhitungan sebagai berikut.
Interval digunakan untuk menentukan jarak (range) tiap kriteria dari indeks 0 hingga 100. Berikut kriteria interpretasi skor berdasarkan intervalnya.
Tabel 1. Kriteria Penilaian Bobot (%) Kriteria 0% - 24.9% Sangat Tidak Setuju 25% – 49.9% Tidak Setuju 50% – 74.9% Setuju 75% - 100% Sangat Setuju
Untuk mendapatkan persentase nilai, maka total dari tiap unit analisis dibagi dengan nilai tertinggi, dikali dengan 100 %. Hasil tersebut kemudian diberikan predikat sesuai dengan skala Likert.
Nilai tertinggi digunakan sebagai pembagi (penyebut) untuk menentukan persentase nilai. Sedangkan nilai merupakan total jumlah jawaban dikali dengan bobot. Berikut merupakan contoh perhitungan nilai untuk indikator pertama.
Setelah mendapatkan nilai dan nilai tertinggi maka contoh perhitungan persentasi nilai untuk indikator pertama sebagai berikut.
Tabel 2. Rincian Persentase Tiap Unit Analisis
Pernyataan STS TS S SS Nilai Persentase Nilai
Kriteria
Siswa tidak dapat mengetahui informasi kesiswaan meliputi nilai, kredit poin, dan pengumuman
0 1 19 10 98 82% Sangat
Setuju
Siswa dapat mengetahui informasi nilai dengan aplikasi SIASMAT
0 0 20 10 100 83% Sangat
Setuju Siswa dapat mengetahui
informasi kredit poin menggunakan aplikasi SIASMAT
0 1 25 4 92 77% Sangat
Setuju
Siswa dapat mengetahui informasi pengumuman menggunakan aplikasi SIASMAT
0 1 26 3 91 76% Sangat
Setuju
Keterangan: ST=Sangat Tidak Setuju, TS=Tidak Setuju, S=Setuju, SS=Sangat Setuju
Untuk mengetahui nilai akhir diperlukan rata-rata nilai dari seluruh indikator penilaian.
Setelah menentukan rata-rata nilai, maka rata-rata nilai dibagi dengan niali tertinggi dikali dengan 100%. Perhitungan nilai akhir sebagai berikut.
Berdasarkan hasil pengujian, nilai akhir yang di peroleh adalah 79%. Dengan nilai 79% dapat dilihat pada tabel criteria penilaian bahwa responden sangat setuju bahwa sistem informasi yang di kembangkan membantu untuk mengetahui informasi meliputi nilai, kredit poin, dan pengumuman sekolah. 5. Kesimpulan
Sistem informasi kesiswaan ini dikembangkan di atas platform Android sebagai client side dan menggunakan web service untuk mengakses database pada server side. Aplikasi Android memanfaatkan library retrofit untuk membaca jsonObject dari server. Berdasarkan hasil pengujian dari 30 responden terhadap sistem informasi yang dikembangkan ini, didapatkan nilai akhir 79% yang menunjukan bahwa responden sangat setuju sistem yang
dikembangkan ini membantu mengetahui informasi kesiswaan meliputi nilai, kredit poin, dan pengumuman sekolah.
6. Pustaka
[1] Mahedi K.S., 2010, “Sistem Informasi Kesiswaan Berbasis Teknologi
Barcode dan WebCam Studi Kasus SMAN 1 Singaraja”,
http://ejournal.undiksha.ac.id/index.php/JPTK/article/view/29, (diakses pada 5 juni 2016)
[2] Prakoso B.M., Chrisyianti M., Analisis dan Perancangan Sistem Informasi Kesiswaan dengan Studi Kasus pada Sekolah Menengah Atas
Terpadu (SMAT) Krida Nusantara,
http://repository.maranatha.edu/id/eprint/422, (diakses pada 7 juni 2016) [3] Hansi A.A., Lusiani T., Sutanto T., 2012, Rancang Bangun Sistem
Informasi Kesiswaan Berbasis Web Dengan Menggunakan xHTML
(Studi Kasus SMAN 8 Surabaya),
http://jurnal.stikom.edu/index.php/jsika/article/view/45, (diakses pada 9
juni 2016)
[4] Singh R.,2014, An Overview Of Android Operating System and Its Security Feature, Int. Journal of Engineering Research and Application [5] Mayacika, 2012, Pengembangan Portal Dosen Universitas Dengan
Integrasi Java Dan ASP.NET Web Service Menggunakan Php Soap-Wsdl, http://e-journal.uajy.ac.id/id/eprint/815, (diakses pada 7 juni 2016)
[6] Anonim, Consuming APIs with Retrofit,
https://guides.codepath.com/android/Consuming-APIs-with-Retrofit,
(diakses pada 27 juli 2016)
[7] Hasibuan Z.A., 2007, Metodologi Penelitian Pada Bidang Ilmu Komputer dan Teknologi Informasi, Fakultas Ilmu Komputer, Universitas Indonesia, Depok.
[8] Fowler, Martin., UML DISTILLED, 3th Ed., A Brief Guide to the Standard Object Modeling Language, 2004.
[9] Noertjahyana A., 2012, Studi Analisis Rapid Application Development Sebagai Salah Satu Alternative Metode Pengembangan Perangkat Lunak, Universitas Kristen Petra, JurnalInformatika 3:2
[10] Iriani A., Manuputty A.D., Patty W.G.E., Sistem Informasi Kepuasan Pelanggan Terhadap Tabungan Mutiara (Studi Kasus: PT. Bank Maluku), Jurnal Sistem Informasi, vol 5 No 1(2010)
[11] Pattiasina G., Tanazale B., Pembuatan dan Evaluasi Kemudahan Turis Dalam Menggunakan Aplikasi Baronda Ambon Travel Guide, Universitas Kristen Petra, Jurnal-Sciputra, vol 4 no 1, 2014
[12] Risnita, Pengembangan Skala Model Likert, IAIN Jambi, Edu-Bio, vol 3, 2012