• Tidak ada hasil yang ditemukan

Pembangunan Back End Untuk Meningkatkan Fungsionalitas Buku Sekolah Elektronik (BSE) Tematik 8 Menggunakan Application Programming Interface (API)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pembangunan Back End Untuk Meningkatkan Fungsionalitas Buku Sekolah Elektronik (BSE) Tematik 8 Menggunakan Application Programming Interface (API)"

Copied!
31
0
0

Teks penuh

(1)

Pembangunan Back – End Untuk Meningkatkan Fungsionalitas

Buku Sekolah Elektronik (BSE) Tematik 8 Menggunakan

Application Programming Interface (API)

Laporan Tugas Akhir

Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Informatika Universitas Muhammadiyah Malang

Ferdi Rahmansyah (201410370311257)

Rekayasa Perangkat Lunak (RPL)

PROGRAM STUDI INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2021

(2)

i

LEMBAR PERSETUJUAN

Pembangunan Back End Untuk Meningkatkan Fungsionalitas Buku

Sekolah Elektronik (BSE) Tematik 8 Menggunakan Application

Programming Interface (API)

LAPORAN TUGAS AKHIR

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Informatika Universitas Muhammadiyah Malang

Disusun oleh: FERDI RAHMANSYAH 201410370311257 Menyetujui, Malang, 10 Juli 2021 Pembimbing I Pembimbing II

Ilyas Nuryasin,S.Kom, M.Kom Hariyady, S.Kom., M.T.

(3)

ii

LEMBAR PENGESAHAN

Pembangunan Back End Untuk Meningkatkan Fungsionalitas Buku

Sekolah Elektronik (BSE) Tematik 8 Menggunakan Application

Programming Interface (API)

LAPORAN TUGAS AKHIR

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Informatika Universitas Muhammadiyah Malang

Disusun oleh:

FERDI RAHMANSYAH NIM. 201410370311257

Tugas Akhir ini Telah Diuji dan Dinyatakan Lulus Melalui Sidang Majelis Penguji Pada Tanggal 26 Juli 2021

Menyetujui,

Penguji I

Gita Indah Marthasari, ST., M.Kom NIP. 108.0611.0422

Penguji II

Yufis Azhar, S.Kom., M.Kom NIP. 108.1410.0544

Mengetahui, Ketua Prodi Informatika

Gita Indah Marthasari, ST., M.Kom NIP. 108.0611.0422

(4)

iii

LEMBAR PERNYATAAN

Yang bertanda tangan di bawah ini:

Nama : Ferdi Rahmansyah

Tempat, Tanggal Lahir : Malang, 15 Oktober 1995 NIM : 201410370311257

Fakultas / Jurusan : Teknik / Informatika

Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul “Pembangunan

Back – End Untuk Meningkatkan Fungsionalitas Buku Sekolah Elektronik (BSE) Tematik 8 Menggunakan Application Programming Interface (API)” beserta

seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun keseluruhan, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya.

Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko / sanksi yang berlaku.

Malang, 09 Juli 2021 Yang Membuat Pernyataan

Ferdi Rahmansyah

Mengetahui,

Pembimbing I Pembimbing II

Ilyas Nuryasin, S.Kom., M.Kom. Hariyady, S.Kom., M.T.

(5)

iv

ABSTRAK

Buku Sekolah Elektronik (BSE) merupakan salah satu upaya dalam peningkatan mutu pendidikan di indonesia,dengan adanya modul pembelajaran yang memiliki banyak metode pembelajaran untuk siswa kelas 1 sekolah dasar diharapkan untuk kedepannya dapat memberikan pemerataan nilai pendidikan menyeluruh ke seluruh wilayah tanpa terkendala harga buku yang mahal dan dapat dijangkau oleh seluruh lapisan masyarakat luas. Masalah yang sering ditemui adalah BSE belum dapat efektif dalam penerapannya karena terkendala media maupun pembelajaran oleh guru kepada siswa karena di buku tersebut hanya berupa text dan gambar yang tidak bergerak serta kurangnya siswa untuk turut aktif dalam pembelajaran. Dari permasalahan ini kemajuan dalam dunia teknologi dan informasi dapat menjadi sebuah solusi untuk memaksimalkan potensi dari BSE tersebut untuk pembelajaran siswa sekolah dasar.

(6)

v

ABSTRACT

The Electronic School Book (BSE) is one of the efforts to improve the quality of education in Indonesia, with the learning modules that have many learning methods for elementary School 1st graders are expected to provide equitable education for all areas without the expensive book price that can be reached by all over the community. The most common problem is that BSE has not been able to be effective in its application due to media constraints as well as learning by teachers to students because in the book it is only text and images that are not moving and lack of students to be active in learning. From this issue advances in technology and information can be a solution to maximize the potential of BSE for elementary school students.

(7)

vi

LEMBAR PERSEMBAHAN

Puji dan Syukur ke hadirat Allah Subhanau Wa Ta’ala karena berkat Rahmat dan Hidayahnya pengerjaan Tugas Akhir ini dapat diselesaikan berkat bantuan dari berbagai pihak yang turut serta memberi dukungan dan doa. Untuk itu, saya persembahkan skripsi ini dan ucapan terimakasih kepada:

1. Ucapan terima kasih yang sesungguhnya saya persembahkan kepada dosen pembimbing saya Bapak Hariyady dan Bapak Ilyas Nuryasin, yang telah membimbing dan memberi masukan – masukan yang sangat berharga bagi saya. Tanpa jasa beliau yang tulus dan sabar memberikan waktu untuk bertukar pikiran, menampung dan menjawab pertanyaan saya, dan memberi semangat kepada saya bahkan sering mengingatkan saya untuk melakukan bimbingan.

2. Selanjutnya ucapan terima kasih yang sedalam - dalamnya juga saya tunjukkan kepada kedua orang tua saya Bapak Ir. Bambang Budi Cahyono dan Ibunda Ulumin Kristiana S.Pd, yang selalu mendoakan saya.

3. Terima kasih sebesar – besarnya kepada istri saya Alifatul Firda Aulia yang telah menyemangati dan setia untuk menemani saya dari sempro 2018 hingga sudah menikah di tahun 2021 yang tidak henti – hentinya memberikan motivasi . Serta kedua Ayah dan Ibu Mertua saya Drs H.Shokheh & Ibunda H. Kusnul Kotimah S.E yang selalu memberikan support kepada saya. 4. Terima kasih yang sebesar – besarnya saya berikan kepada rekan kontrakan

Fir , Jors dan Yoga yang telah memberikan fasilitas dan bantuan untuk memberikan petunjuk yang terdapat dalam pengerjaan tugas akhir ini.

5. Terakhir , namun sangat berarti, terima kasih yang sangat tulus saya ucapkan kepada PT. Jasamarga Tollroad Operator yang selama 2 Tahun telah memberikan ruang untuk saya berkembang, berkompeten dan menjadi pribadi yang siap bersaing di dunia kerja ketika saya lulus nanti.

Malang, 10 Juli 2021

(8)

vii

KATA PENGANTAR

Segala puji bagi Allah SWT, yang telah memberi Rahmat serta Karunianya, sehingga penulis dapat menyelesaikan skripsi yang berjudul:

“PEMBANGUNAN BACK END UNTUK MENINGKATKAN

FUNGSIONALITAS BUKU SEKOLAH ELEKTRONIK (BSE) TEMATIK 8 MENGGUNAKAN APPLICATION PROGRAMMING INTERFACE (API)”

Skripsi ini merupakan salah satu syarat studi yang harus ditempuh oleh seluruh mahasiswa Universitas Muhammadiyah Malang, guna menyelesaikan akhir studi pada jenjang program Strata 1.

Peneliti menyadari masih banyak kekurangan dan keterbatasan dalam penulisan tugas akhir ini. Untuk itu, penulis sangat mengharapkan saran yang membangun agar tulisan ini dapat berguna untuk perkembangan ilmu pengetahuan kedepan.

Malang, 10 Juli 2021 Penulis

(9)

viii

DAFTAR ISI

ABSTRAK ... iv

LEMBAR PERSEMBAHAN ... vi

KATA PENGANTAR ... vii

DAFTAR ISI ... viii

DAFTAR GAMBAR ... xi

DAFTAR TABEL ... xiii

BAB I PENDAHULUAN ... 1 1.1 LataraBelakang ... 1 1.2 Rumusan Masalah ... 2 1.3 Tujuan Penelitian ... 2 1.4 Batasan Masalah... 3 1.5 Manfaat Penelitian ... 3

1.6 Susunan Penulisan Buku ... 3

BAB II LANDASAN TEORI ... 5

2.1 Buku Sekolah Elektronik ... 5

2.2 Pengembangan Android ... 7

2.3 Back End ... 7

2.4 Application Programming Interface (API) ... 8

2.5 Web Service ... 9

2.6 MVC ( Model View Controller ) ... 11

2.7 UML (Unified Modelling Language) ... 12

2.8 Javascript ... 12

2.9 Tinjauan Pustaka ... 13

2.10 Metode Pengujian ... 14

2.11 Black Box Testing ... 14

BAB III METODOLOGI PENELITIAN... 17

3.1 Identifikasi Masalah ... 15

3.2 Studi Literatur ... 25

3.3 Perancangan Sistem ... 25

3.2 Design Uniform Resource Identifier (URI) ... 35

BAB IV HASIL DAN PEMBAHASAN ... 37

(10)

ix

4.1.1 Spesifikasi Perangkat Keras (Hardware) ... 37

4.1.2 Spesifikasi Perangkat Lunak (Software) ... 37

4.2 Implementasi Kebutuhan Sistem... 38

4.2.1 Tampilan Halaman Login (Login Page) ... 38

4.2.2 Tampilan Halamhan Utama (Home Page) Admin ... 39

4.2.3 Tampilan Halaman Kelola Akun ... 39

4.2.4 Tampilan Halaman Detail Profil Siswa... 40

4.2.5 Tampilan Halaman Detail Profil Guru ... 41

4.2.6 Tampilan Rekapan Siswa ... 41

4.2.7 Tampilan Guru ... 42

4.2.8 Tampilan Materi ... 42

4.2.9 Tampilan Detail Materi ... 43

4.2.10 Tampilan Halaman Utama (Homepage) Guru ... 43

4.2.11 Tampilan Rekap Nilai ... 44

4.2.12 Tampilan Tugas ... 44

4.2.12 Tampilan Hasil Input Nilai ... 45

4.3 Implementasi API... 46 4.4. Pengujian Sistem ... 49 4.4.1 Pengujian Blackbox ... 49 4.4.4.1 Admin ... 50 4.4.4.2 Guru ... 51 4.4.2 Pengujian Postman ... 52 4.4.2.1 Profil Guru ... 52 4.4.2.2 Profil Siswa ... 53 4.4.2.3 Registrasi Siswa ... 53

4.4.2.4 Hapus Guru dan Siswa ... 54

4.4.2.5 Cari Nama Sekolah ... 54

4.4.2.6 Menampilkan Data Kelas... 55

4.4.2.7 Menampilkan Detail Nilai Siswa ... 55

4.4.2.8 Menampilkan Profil Sekolah ... 56

4.4.2.9 Menampilkan Data Kecamatan ... 56

4.4.2.10 Hasil Kesimpulan Pengujian POSTMAN... 57

BAB V ... 59

(11)

x

5.1 Kesimpulan ... 59 5.2 Saran ... 60 DAFTAR PUSTAKA ... 61

(12)

xi

DAFTAR GAMBAR

Gambar 2.1 Alur dari Application Programming Interface ... 8

Gambar 2.2 Tahapan dari Web Service. ... 9

Gambar 2.3 Konsep hubungan MVC (Model View Controller ) ... 12

Gambar 3.1 Metodologi Penelitian ... 17

Gambar 3.2 Alur Sistem Pembelajaran BSE ... 20

Gambar 3.3 Use Case Diagram ... 23

Gambar 3.4 Arsitektur Web Service ... 25

Gambar 3.5 Activity Diagram Menu Login ... 27

Gambar 3.6 Activity Diagram Kelola Akun ... 27

Gambar 3.7 Activity Diagram Materi... 28

Gambar 3.8 Activity Diagram Rekapan Siswa ... 28

Gambar 3.9 Activity Diagram Input Tugas ... 29

Gambar 3.10 Activity Diagram Update Nilai ... 29

Gambar 3.11 Sequence Diagram Login Admin ... 30

Gambar 3.12 Sequence Diagram Kelola Akun ... 31

Gambar 3.13 Sequence Diagram Materi ... 31

Gambar 3.14 Sequence Diagram Rekapan Siswa ... 32

Gambar 3.15 Sequence Diagram Update Nilai ... 32

Gambar 3.16 Sequence Diagram Update Tugas ... 33

Gambar 3.17 Class Diagram sistem Back-End BSE ... 34

Gambar 4.1 Tampilan Halaman Login ... 38

Gambar 4.2 Tampilan Halaman Utama Admin ... 39

Gambar 4.3 Tampilan Kelola Akun siswa ... 39

Gambar 4.4 Tampilan Kelola Akun Guru ... 40

Gambar 4.5 Tampilan Detail Profil Siswa ... 40

Gambar 4.6 Tampilan Detail Profil Guru ... 41

Gambar 4.7 Tampilan Rekapan Siswa ... 41

Gambar 4.8 Tampilan Guru ... 42

Gambar 4.9 Tampilan Materi ... 42

Gambar 4.10 Tampilan Detail Materi... 43

(13)

xii

Gambar 4.12 Tampilan Halaman Rekap Nilai ... 44

Gambar 4.13 Tampilan Halaman Tugas ... 44

Gambar 4.14 Tampilan Input Nilai... 45

Gambar 4.15 Tampilan Detail Nilai ... 45

Gambar 4.16 Tampilan Hasil Nilai Siswa ... 46

Gambar 4.17 Tampilan Implementasi API Registrasi ... 46

Gambar 4.18 Tampilan Implementasi API Login ... 47

Gambar 4.19 Tampilan Implementasi API Materi ... 47

Gambar 4.20 Tampilan Implementasi API Getdata Admin ... 47

Gambar 4.21 Tampilan Implementasi API Getdata Guru ... 49

Gambar 4.22 Pengujian Profil Guru ... 52

Gambar 4.23 Pengujian Profil Siswa ... 53

Gambar 4.24 Pengujian Registrasi Siswa ... 53

Gambar 4.25 Pengujian Delete Guru ... 54

Gambar 4.26 Pengujian Delete Siswa ... 54

Gambar 4.27 Pengujian Cari Sekolah... 54

Gambar 4.28 Pengujian Cari Sekolah... 55

Gambar 4.29 Pengujian Detail Nilai Siswa ... 55

Gambar 4.30 Pengujian Profil Sekolah ... 56

(14)

xiii

DAFTAR TABEL

Tabel 3.1 Alur Sistem Aplikasi Buku Sekolah Elektronik (BSE) ... 20

Tabel 3.2 Kebutuhan Fungsional Guru ... 21

Tabel 3.3 Kebutuhan Fungsional Admin ... 21

Tabel 3.4 Kebutuhan Non Fungsional ... 22

Tabel 3.5 Aktor dalam sistem Back-End BSE ... 23

Tabel 3.6 Definisi Use Case pada Admin ... 24

Tabel 3.6 Definisi Use Case pada Guru ... 24

Tabel 3.7 Design Uniform Resource Identifier Class Akun ... 35

Tabel 3.8 Design Uniform Resource Identifier Class Getdata ... 36

Tabel 3.9 Design Uniform Resource Identifier Class Materi ... 36

Tabel 4.1 Spesifikasi Perangkat Hardware dalam Pengembangan ... 37

Tabel 4.2 Spesifikasi Perangkat Software dalam Pengembangan ... 38

Tabel 4.3 Pengujian Fungsionalitas Kelola Akun ... 50

Tabel 4.4 Pengujian Fungsionalitas Materi ... 50

Tabel 4.5 Pengujian Fungsionalitas Guru ... 50

Tabel 4.6 Pengujian Fungsionalitas Rekapan Siswa ... 51

Tabel 4.7 Pengujian Fungsionalitas Rekap Nilai ... 51

Tabel 4.8 Rekapitulasi Hasil Pengujian Blackbox ... 51

(15)

TA-010

UNIVERSITAS MUHAMMADIYAH MALANG

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK INFORMATIKA

Jl. Raya Tlogomas 246 Malang 65144 Telp. 0341 - 464318 Ext. 247, Fax. 0341 - 460782

FORM CEK PLAGIARISME LAPORAN TUGAS AKHIR

Nama Mahasiswa : FERDI RAHMANSYAH NIM : 201410370311257

Judul TA : PEMBANGUNAN BACK – END UNTUK MENINGKATKAN

FUNGSIONALITAS BUKU SEKOLAH ELEKTRONIK (BSE) TEMATIK 8 MENGGUNAKAN APPLICATION PROGRAMMING INTERFACE (API) Hasil Cek Plagiarisme dengan Turnitin

No. Komponen Pengecekan Nilai Maksimal

Plagiarisme (%)

Hasil Cek Plagiarisme (%) *

1. Bab 1 – Pendahuluan 10 % 9 %

2. Bab 2 – Daftar Pustaka 25 % 17 % 3. Bab 3 – Analisis dan Perancangan 25 % 11 % 4. Bab 4 – Implementasi dan Pengujian 15 % 2 % 5. Bab 5 – Kesimpulan dan Saran 5 % 4 %

6. Makalah Tugas Akhir 20% 12 %

Mengetahui, Dosen Pembimbing

( Hariyady, S.Kom., M.T. ) NIDN. 0717067307

(16)

61

DAFTAR PUSTAKA

[1] B. Dan, S. Di, and W. A. Indhaka, “PENERAPAN BUKU SEKOLAH ELEKTRONIK BERBASIS ANDROID DALAM MATERI AJAR BESARAN DAN SATUAN DI SMK MUHAMMADIYAH SALATIGA,” 2016.

[2] A. Kurniawan, A. Rahmatulloh, and H. Sulastri, “Calendar Sebagai Reminder Informasi Kegiatan Pondok Pesantren,” J. Sains dan Teknol., vol. 8, no. 1, 2019.

[3] D. Waskito, “Media Pembelajaran Interaktif Matematika Bagi Sekolah Dasar Kelas 6 Berbasis Multimedia,” Speed - Sentra Penelit. Eng. dan Edukasi, vol. 9, no. 1, pp. 20–26, 2017.

[4] H. Rizal, A. Satrio, and P. W. Wirawan, “PERANCANGAN DAN PEMBUATAN MOBILE LEARNING INTERAKTIF BERBASIS ANDROID DENGAN METODE PERSONAL EXTREME PROGRAMMING,” pp. 1–7, 2013.

[5] M. N. Dwipayana and I. K. Ari Mogi, “Pengembangan Back End Aplikasi Keluhan Pelanggan PDAM Tirta Amertha Jati Kabupaten Jembrana,” JELIKU

(Jurnal Elektron. Ilmu Komput. Udayana), vol. 7, no. 4, p. 231, 2019, doi:

10.24843/jlk.2019.v07.i04.p03.

[6] M. I. Perkasa and E. B. Setiawan, “Pembangunan Web Service Data Masyarakat Menggunakan REST API dengan Access Token,” J. Ultim.

Comput., vol. 10, no. 1, pp. 19–26, 2018, doi: 10.31937/sk.v10i1.838.

[7] D. Sondakh and S. R. Pungus, “Implementasi Teknologi Web Services Pada Aplikasi Pencarian Taksi,” no. June, 2016.

[8] S. Nugroho, A. Primadewi, T. Informatika, and U. M. Magelang, “Penerapan Web Service untuk Integrasi Data Simperpus dan SIAK,” vol. 4, no. 2, pp. 71–81, 2021.

[9] M. Destiningrum and Q. J. Adrian, “Sistem Informasi Penjadwalan Dokter Berbassis Web Dengan Menggunakan Framework Codeigniter (Studi Kasus: Rumah Sakit Yukum Medical Centre),” J. Teknoinfo, vol. 11, no. 2, p. 30, 2017, doi: 10.33365/jti.v11i2.24.

(17)

62

[10] M. Mukhlis, D. Danuri, and B. Syahputra, “Aplikasi Android Peta Sekolah Bengkalis Menggunakan Google Map API,” INOVTEK Polbeng - Seri

Inform., vol. 2, no. 1, p. 48, 2017, doi: 10.35314/isi.v2i1.116.

[11] a Fajarullah and D. F. Kusuma, “Pengembangan Buku Sekolah Elektronik (Bse) Dilengkapi Dengan Media Picture and Picture Dalam Pembelajaran Pada Buku …,” Osf.Io, pp. 1–7, [Online]. Available: https://osf.io/rn982/download.

[12] R. Pangestika and R. T. Dirgahayu, “Pengembangan Back-end Sistem Informasi Komunitas Pendar Foundation Yogyakarta,” Automata, 2020, [Online]. Available: https://journal.uii.ac.id/AUTOMATA/article/view/15548. [13] M. Agus, A. Teknik, S. T. T. Terpadu, and N. Fikri, “Analisis dan Perancangan Representational State Transfer (REST) Web Service Sistem Informasi Akademik STT Terpadu Nurul Fikri Menggunakan YII Framework,” J. Teknol. Terpadu, vol. 2, no. 2, pp. 1–8, 2016.

[14] Z. Irawan, M. Sari, and M. Setyoningrum, “Analisis Implementasi Kebijakan Buku Sekolah Elektronik (Bse) Kementerian Pendidikan Nasionaldi Sekolah Menengah,” Pelita-Jurnal Penelit., pp. 1–13, 2011, [Online]. Available: http://journal.uny.ac.id/index.php/pelita/article/view/4298.

[15] D. W. Nugraha, “Software Requirement Dalam Membangun,” Nugraha, D.

W. (n.d.). Softw. Requir. DALAM MEMBANGUN.Nugraha, D. W. (n.d.). Softw. Requir. DALAM MEMBANGUN. Nugraha, D. W. (N.d.). Softw. Requir. DALAM MEMBANGUN., Nugraha, D., no. Faktor utama yang menjadi

penghambat dalam pelayanan publik yang baik dapat dianalisa dari dua sisi, yakni birokrasi dan standar pelayanan publik. Sudah menjadi rahasia umum bahwa dalam tubuh pemerintahan negara Indonesia pada semua jenjang dan jenisnya m, p. 11, 2011.

[16] S. P. Utomo, N. H. Alfiyah, Z. A. Sani, M. Hanafi, and A. Primadewi, “Informasi Terintegrasi Menggunakan FrameWork CodeIgniter,” Semin. Nas.

(18)

63

LAMPIRAN

I. Source Code API Getdata.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed'); require APPPATH . '/libraries/REST_Controller.php';

use Restserver\Libraries\REST_Controller; class Getdata extends REST_Controller { function __construct($config = 'rest') { parent::__construct($config);

$this->load->database(); }

//Menampilkan data kontak function sekolah_get() { $kontak = $this->db->query(' SELECT t_sekolah.id_sekolah, t_sekolah.nama, t_sekolah.kecamatan FROM t_sekolah ORDER BY t_sekolah.nama ASC ')->result(); $this->response($kontak, 200); } function kecamatan_get() { $kontak = $this->db->query(' SELECT t_sekolah.kecamatan FROM t_sekolah GROUP BY t_sekolah.kecamatan ORDER BY t_sekolah.kecamatan ASC ')->result(); $this->response($kontak, 200); }

(19)

64 function index_post(){ $idsiswa = "SIS".date('YmdHis'); $idlogin = "LGNSIS".date('YmdHis'); $nis = $this->post('nis'); $nama = $this->post('nama'); $alamat = $this->post('alamat'); $kelas = $this->post('kelas'); $jk = $this->post('jk'); $tgllahir = $this->post('tgllahir'); $sekolah = $this->post('sekolah'); $username = $this->post('username'); $password = $this->post('password'); $level = 'siswa'; $data = array( 'id_siswa' =>$idsiswa, 'id_login' =>$idlogin, 'nis' =>$nis, 'nama' =>$nama, 'alamat' =>$alamat, 'kelas' =>$kelas, 'gender' =>$jk, 'tgllahir' =>$tgllahir, 'id_sekolah' =>$sekolah, 'status' =>'AKTIF' ); $this->db->insert('t_siswa',$data); $login = array( 'id_login' =>$idlogin, 'nama_lengkap' =>$nama, 'username' =>$username, 'password' =>$password, 'level' =>$level, ); $this->db->insert('t_login',$login); $this->db->where('id_login',$idlogin); $get_login = $this->db->get('t_login')->row(); if ($get_login!=null) { $this->response($get_login, 200); } else { $this->response(array('status' => 'fail', 502)); } }

(20)

65 function guru_post(){ $idguru = "GR".date('YmdHis'); $idlogin = "LGNGR".date('YmdHis'); $sekolah = $this->post('sekolah'); $nip = $this->post('nip'); $nama = $this->post('nama'); $alamat = $this->post('alamat'); $jk = $this->post('jk'); $tgllahir = $this->post('tgllahir'); $notelp = $this->post('notelp'); $kelas = $this->post('kelas'); $username = $this->post('username'); $password = $this->post('password'); $level = 'guru'; $data = array( 'id_guru' =>$idguru, 'id_login' =>$idlogin, 'id_sekolah' =>$sekolah, 'nip' =>$nip, 'nama' =>$nama, 'alamat' =>$alamat, 'gender' =>$jk, 'no_telp' =>$notelp, 'kelas' =>$kelas, 'tgllahir' =>$tgllahir, 'status' =>'AKTIF' ); $this->db->insert('t_guru',$data); $login = array( 'id_login' =>$idlogin, 'nama_lengkap' =>$nama, 'username' =>$username, 'password' =>$password, 'level' =>$level, ); $this->db->insert('t_login',$login); $this->db->where('id_login',$idlogin); $get_login = $this->db->get('t_login')->row(); if ($get_login!=null) { $this->response($get_login, 200); } else { $this->response(array('status' => 'fail', 502)); }

(21)

66

}

public function detailguru_get(){ $id_guru = $this->get('id_guru'); $get_guru = $this->db->query(' SELECT t_guru.id_guru, t_guru.id_login, t_guru.id_sekolah, t_guru.nama, t_guru.alamat, t_guru.gender, t_guru.no_telp, t_guru.tgllahir, t_guru.nip, t_guru.kelas, t_guru.`status`, t_login.nama_lengkap, t_login.username, t_login.`password`, t_login.`level`, t_sekolah.nama AS nama_sekolah FROM t_guru

INNER JOIN t_login ON t_guru.id_login = t_login.id_login

INNER JOIN t_sekolah ON t_guru.id_sekolah = t_sekolah.id_sekolah WHERE

t_guru.id_guru = "'.$id_guru.'" ')->row();

$this->response($get_guru, 200); }

//Masukan function selanjutnya disini }

(22)

67 II. Source Code API Akun.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed'); require APPPATH . '/libraries/REST_Controller.php';

use Restserver\Libraries\REST_Controller; class Akun extends REST_Controller { function __construct($config = 'rest') { parent::__construct($config);

$this->load->database(); }

//Menampilkan data kontak function guru_get() { $kontak = $this->db->query(' SELECT t_guru.id_guru, t_guru.id_login, t_guru.id_sekolah, t_guru.nama, t_guru.alamat, t_guru.gender, t_guru.no_telp, t_guru.tgllahir, t_guru.nip, t_guru.kelas, t_guru.`status`, t_login.nama_lengkap, t_login.username, t_login.`password`, t_login.`level`, t_sekolah.nama AS nama_sekolah FROM t_guru

INNER JOIN t_login ON t_guru.id_login = t_login.id_login

INNER JOIN t_sekolah ON t_guru.id_sekolah = t_sekolah.id_sekolah ORDER BY t_sekolah.nama ASC, t_guru.nama ASC ')->result(); $this->response($kontak, 200); } function siswa_get() { $kontak = $this->db->query('

(23)

68 SELECT t_login.nama_lengkap, t_login.username, t_login.`password`, t_login.`level`, t_siswa.id_siswa, t_siswa.id_login, t_siswa.nis, t_siswa.nama, t_siswa.alamat, t_siswa.gender, t_siswa.id_sekolah, t_siswa.kelas, t_siswa.`status`, t_sekolah.nama AS nama_sekolah FROM t_login

INNER JOIN t_siswa ON t_siswa.id_login = t_login.id_login

INNER JOIN t_sekolah ON t_siswa.id_sekolah = t_sekolah.id_sekolah ORDER BY t_sekolah.nama ASC, t_siswa.nama ASC ')->result(); $this->response($kontak, 200); } function index_post(){ $idsiswa = "SIS".date('YmdHis'); $idlogin = "LGNSIS".date('YmdHis'); $nis = $this->post('nis'); $nama = $this->post('nama'); $alamat = $this->post('alamat'); $kelas = $this->post('kelas'); $jk = $this->post('jk'); $tgllahir = $this->post('tgllahir'); $sekolah = $this->post('sekolah'); $username = $this->post('username'); $password = $this->post('password'); $level = 'siswa'; $data = array( 'id_siswa' =>$idsiswa, 'id_login' =>$idlogin, 'nis' =>$nis, 'nama' =>$nama, 'alamat' =>$alamat, 'kelas' =>$kelas, 'gender' =>$jk, 'tgllahir' =>$tgllahir,

(24)

69 'id_sekolah' =>$sekolah, 'status' =>'AKTIF' ); $this->db->insert('t_siswa',$data); $login = array( 'id_login' =>$idlogin, 'nama_lengkap' =>$nama, 'username' =>$username, 'password' =>$password, 'level' =>$level, ); $this->db->insert('t_login',$login); $this->db->where('id_login',$idlogin); $get_login = $this->db->get('t_login')->row(); if ($get_login!=null) { $this->response($get_login, 200); } else { $this->response(array('status' => 'fail', 502)); } } function guru_post(){ $idguru = "GR".date('YmdHis'); $idlogin = "LGNGR".date('YmdHis'); $sekolah = $this->post('sekolah'); $nip = $this->post('nip'); $nama = $this->post('nama'); $alamat = $this->post('alamat'); $jk = $this->post('jk'); $tgllahir = $this->post('tgllahir'); $notelp = $this->post('notelp'); $kelas = $this->post('kelas'); $username = $this->post('username'); $password = $this->post('password'); $level = 'guru'; $data = array( 'id_guru' =>$idguru, 'id_login' =>$idlogin, 'id_sekolah' =>$sekolah, 'nip' =>$nip, 'nama' =>$nama, 'alamat' =>$alamat, 'gender' =>$jk, 'no_telp' =>$notelp,

(25)

70 'kelas' =>$kelas, 'tgllahir' =>$tgllahir, 'status' =>'AKTIF' ); $this->db->insert('t_guru',$data); $login = array( 'id_login' =>$idlogin, 'nama_lengkap' =>$nama, 'username' =>$username, 'password' =>$password, 'level' =>$level, ); $this->db->insert('t_login',$login); $this->db->where('id_login',$idlogin); $get_login = $this->db->get('t_login')->row(); if ($get_login!=null) { $this->response($get_login, 200); } else { $this->response(array('status' => 'fail', 502)); } } function searchguru_post(){ $sekolah = $this->post('sekolah'); $kecamatan = $this->post('kecamatan'); $gender = $this->post('gender'); if($gender!=""){

$ifgender = "OR t_guru.gender = '".$gender."'"; }else{ $ifgender = ""; } $getguru = $this->db->query(" SELECT t_guru.id_guru, t_guru.id_login, t_guru.id_sekolah, t_guru.nama, t_guru.alamat, t_guru.gender, t_guru.no_telp, t_guru.tgllahir, t_guru.nip,

(26)

71 t_guru.kelas, t_guru.`status`, t_sekolah.nama AS nama_sekolah, t_sekolah.alamat AS alamat_sekolah, t_sekolah.kecamatan, t_sekolah.no_telp, t_sekolah.`status` FROM t_guru

INNER JOIN t_sekolah ON t_guru.id_sekolah = t_sekolah.id_sekolah WHERE (t_sekolah.nama = '".$sekolah."' OR t_sekolah.kecamatan = '".$kecamatan."') ".$ifgender." ORDER BY t_sekolah.kecamatan ASC, t_guru.nama ASC ")->result(); $this->response($getguru, 200); } function gurudelete_delete(){ $id_login = $this->delete('id_login'); $this->db->where('id_login', $id_login); $delete = $this->db->delete('t_login'); $this->db->where('id_login', $id_login); $delete1 = $this->db->delete('t_guru'); if ($delete1&&$delete) { $this->response(array('status' => 'success'), 201); } else { $this->response(array('status' => 'fail', 502)); } } function siswadelete_delete(){ $id_login = $this->delete('id_login'); $this->db->where('id_login', $id_login); $delete = $this->db->delete('t_login'); $this->db->where('id_login', $id_login); $delete1 = $this->db->delete('t_siswa'); if ($delete1&&$delete) { $this->response(array('status' => 'success'), 201); } else { $this->response(array('status' => 'fail', 502)); }

(27)

72 } function searchsekolah_post(){ $sekolah = $this->post('sekolah'); $kecamatan = $this->post('kecamatan'); $sql = $this->db->query(' SELECT

count( t_siswa.id_siswa ) AS jumlah_siswa,

COUNT( IF ( gender = "P", gender, NULL ) ) AS jmlh_gender_p, COUNT( IF ( gender = "L", gender, NULL ) ) AS jmlh_gender_l, t_siswa.gender, t_siswa.id_sekolah, t_siswa.kelas, t_siswa.`status`, t_sekolah.nama, t_sekolah.alamat, t_sekolah.kecamatan, t_sekolah.no_telp, t_sekolah.`status` FROM t_siswa

INNER JOIN t_sekolah ON t_siswa.id_sekolah = t_sekolah.id_sekolah WHERE

t_sekolah.nama LIKE "%'.$sekolah.'" AND t_sekolah.kecamatan LIKE "%'.$kecamatan.'" GROUP BY t_siswa.id_sekolah ORDER BY t_sekolah.kecamatan ASC, t_sekolah.nama ASC ')->result(); if ($sql) {

$this->response( array('status' => 'success','hasil'=>$sql, 200)); } else { $this->response(array('status' => 'fail','hasil'=>array(), 502)); } } function detail_kelas_get(){ $id_sekolah = $this->get('id_sekolah'); $get_kelas = $this->db->query(' SELECT t_siswa.id_siswa, t_siswa.kelas, t_siswa.`status`,

(28)

73 t_siswa.id_sekolah, t_siswa.id_login, t_sekolah.nama FROM t_siswa INNER JOIN

t_sekolah ON t_siswa.id_sekolah = t_sekolah.id_sekolah WHERE

t_siswa.id_sekolah = "'.$id_sekolah.'" GROUP BY

t_siswa.kelas ')->result();

$this->response( array('status' => 'success','hasil'=>$get_kelas, 200)); } function detail_siswa_get(){ $id_sekolah = $this->get('id_sekolah'); $kelas = $this->get('kelas'); $get_kelas = $this->db->query(' SELECT t_siswa.id_siswa, t_siswa.id_login, t_siswa.nis, t_siswa.nama, t_siswa.alamat, t_siswa.gender, t_siswa.id_sekolah, t_siswa.kelas, t_siswa.`status`, t_siswa.tgllahir,

ROUND( SUM( t_nilai.nilai ) / Count( t_nilai.id_nilai ) ) AS prosentase FROM

t_siswa

LEFT JOIN t_nilai ON t_siswa.id_siswa = t_nilai.id_siswa WHERE

t_siswa.id_sekolah = "'.$id_sekolah.'" AND t_siswa.kelas = "'.$kelas.'" GROUP BY

t_siswa.id_siswa ORDER BY

t_siswa.nama ASC ')->result();

$this->response( array('status' => 'success','hasil'=>$get_kelas, 200)); }

(29)

74 $id_siswa = $this->get('id_siswa'); $bab1 = $this->db->query(' SELECT t_nilai.id_nilai, t_nilai.id_siswa, t_nilai.id_materi, t_nilai.id_guru, t_nilai.nilai, t_materi.bab, t_materi.sub_bab, t_materi.soal FROM t_nilai INNER JOIN

t_materi ON t_nilai.id_materi = t_materi.id_materi INNER JOIN

t_siswa ON t_nilai.id_siswa = t_siswa.id_siswa WHERE t_materi.bab = "1" AND t_siswa.id_siswa = "'.$id_siswa.'" ')->result(); $bab2 = $this->db->query(' SELECT t_nilai.id_nilai, t_nilai.id_siswa, t_nilai.id_materi, t_nilai.id_guru, t_nilai.nilai, t_materi.bab, t_materi.sub_bab, t_materi.soal, t_siswa.nis, t_siswa.nama, t_siswa.alamat, t_siswa.gender, t_siswa.id_sekolah, t_siswa.kelas, t_siswa.`status`, t_siswa.tgllahir FROM t_nilai INNER JOIN

t_materi ON t_nilai.id_materi = t_materi.id_materi INNER JOIN

t_siswa ON t_nilai.id_siswa = t_siswa.id_siswa WHERE

(30)

75 t_siswa.id_siswa = "'.$id_siswa.'" ')->result(); $bab3 = $this->db->query(' SELECT t_nilai.id_nilai, t_nilai.id_siswa, t_nilai.id_materi, t_nilai.id_guru, t_nilai.nilai, t_materi.bab, t_materi.sub_bab, t_materi.soal FROM t_nilai INNER JOIN

t_materi ON t_nilai.id_materi = t_materi.id_materi INNER JOIN

t_siswa ON t_nilai.id_siswa = t_siswa.id_siswa WHERE t_materi.bab = "3" AND t_siswa.id_siswa = "'.$id_siswa.'" ')->result(); $bab4 = $this->db->query(' SELECT t_nilai.id_nilai, t_nilai.id_siswa, t_nilai.id_materi, t_nilai.id_guru, t_nilai.nilai, t_materi.bab, t_materi.sub_bab, t_materi.soal FROM t_nilai INNER JOIN

t_materi ON t_nilai.id_materi = t_materi.id_materi INNER JOIN

t_siswa ON t_nilai.id_siswa = t_siswa.id_siswa WHERE t_materi.bab = "4" AND t_siswa.id_siswa = "'.$id_siswa.'" ')->result(); // $bab = array( // "bab1"=>$bab1, // "bab2"=>$bab2, // "bab3"=>$bab3, // "bab4"=>$bab4,

(31)

76

// );

$this->response( array('status' =>

'success','bab1'=>$bab1,'bab2'=>$bab2,'bab3'=>$bab3,'bab4'=>$bab4, 200)); }

public function detailprofilsiswa_get(){ $id_siswa = $this->get('id_siswa'); $profilsiswa = $this->db->query(' SELECT t_siswa.id_siswa, t_siswa.id_login, t_siswa.nis, t_siswa.nama, t_siswa.alamat, t_siswa.gender, t_siswa.id_sekolah, t_siswa.kelas, t_siswa.`status`, t_siswa.tgllahir FROM t_siswa WHERE t_siswa.id_siswa = "'.$id_siswa.'" ')->row();

$this->response( array('status' => 'success','hasil'=>$profilsiswa, 200)); }

//Masukan function selanjutnya disini }

Referensi

Dokumen terkait

Pada kondisi awal sebelum penelitian dilakukan yaitu hari Rabu tanggal 28 Maret 2012 peneliti menemukan masih banyak anak yang belum mampu untuk bercerita, hal

Näin ollen asiakassuhteesta syntyvää arvoa voidaan tarkastella sekä yrityksen että asiakkaan näkökulmasta.. Tämä tutkimus keskittyy asiakasnäkökulmaan ymmärtäen

Hasil dendogram tersebut menunjukkan bahwa kultivar salak Bangkalan terbagi dalam dua kelompok utama yaitu kelompok A terdiri dari sepuluh kultivar yaitu G1, G9,

Phenolic Contents and Antioxidant Activity of Various Date Palm (&amp;amp;lt;i&amp;amp;gt;Phoenix dactylifera &amp;amp;lt;/i&amp;amp;gt; L.) Fruits from Saudi

Misalnya tidak ditemukan kasus yang relevan dengan sistem pembakaran injeksi, maka HDOs bisa mencoba untuk mengganti sistem pembakaran tersebut dengan sistem pembakaran

Untuk itu, penelitian ini dilaksanaan menggunakan proses pretreatment metode ultasonifikasi agar dapat menghasilkan selulosa yang lebih tinggi dengan partikel berukuran nano

Pada flowchat ini akan dijelaskan bagaimana alur pada sistem tersebut. Flowchat ini juga akan mengetahui alur bagaimana sistem dapat mengarahkan perangkat android

Harga adalah satu-satunya unsur dalam berbagai bauran ritel yang akan mendatangkan laba bagi peritel, penetapan haraga yang sesuai dengan merek maupun jenis barang sarta