Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan...

26
Program Absensi Siswa Realtime dengan PHP dan SMS Gateway CV. LOKOMEDIA Aminudin

Transcript of Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan...

Page 1: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

P r o g r a m A b s e n s i S i sw a Re a l t i m e

dengan PHP dan SMS Gateway

CV. LOKOMEDIA

Aminudin

Page 2: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

ii

Program Absensi Siswa Realtime dengan PHP dan SMS GatewayPerpustakaan Nasional : Katalog Dalam Terbitan (KDT)Penulis : AminudinProgram Absensi Siswa Realtime dengan PHP dan SMS Gateway- Cet. I. - Yogyakarta : Penerbit Lokomedia, 2014 111 halaman; 14 x 21 cm ISBN : 978-602-14306-9-9

Penerbit Lokomedia, Cetakan Pertama : Desember 2014

Editor : Lukmanul HakimCover : Subkhan AnshoriLayout : Lukmanul Hakim

Diterbitkan pertama kali oleh :CV. LOKOMEDIAJl. Jambon, Perum. Pesona Alam Hijau 2 Kav. B-4, Kricak Yogyakarta 55242.

email : [email protected] : www.bukulokomedia.com

Copyright © Lokomedia, 2014

Hak Cipta dilindungi oleh Undang-Undang

Dilarang memperbanyak, mencetak ataupun menerbitkan sebagian maupun seluruh isi buku ini tanpa izin tertulis dari penerbit.

Page 3: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

iii

KATA PENGANTAR

Program absensi realtime merupakan salah satu jenis sistem informasi absensi yang dikembangkan untuk memantau para siswa dan siswi terkait dengan tingkat kedisiplinan proses belajar mengajar dalam suatu unit sekolah, dimana tingkat kedisipilinan kehadiran siswa dan siswi merupakan salah satu tolok ukur dalam proses belajar dan mengajar.

Program absensi realtime ini menggunakan teknologi SMS Gateway digabungkan dengan pemrograman web PHP. Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah satu mata pelajaran saja, maka program tersebut akan secara otomatis mengirim ke nomor HP orang tua yang nomor HP orang tua siswa sudah dimasukan ke dalam program. Dengan demikian ,para guru dan orang tua bisa secara aktif memantau kehadiran anak didik mereka di dalam lingkungan sekolah.

Dalam buku ini akan dibahas mengenai instalasi dan setting teknologi SMS Gateway, dalam hal ini menggunakan Gammu. Cara pembuatan script atau source code masing-masing fitur sistem absensi realtime dari awal sampai akhir.

Buku ini dibuat dalam suasana gegap gempita piala dunia 2014 dan di bulan penuh berkah yaitu bulan Ramadhan, dengan demikian semoga buku ini memberikan pencerahan bagi pembaca yang mau mempraktekan isi yang ada di dalam buku.

Akhir kata, penulis menyadari bahwa dalam penulisan buku ini masih sangat jauh dari kesempurnaan. Oleh karena itu kritik, pertanyaan dan saran dapat melalui email [email protected].

Malang, 13 November 2014

Penulis

Page 4: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

iv

Halaman ini Sengaja Dikosongkan

www.bukulokomedia.com

Page 5: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

v

DAFTAR ISI

BAB 1. Pendahuluan ........................................................................................1

BAB 2. Perancangan Sistem ............................................................................5

2.1. Kebutuhan Sistem ........................................................................................6

2.2. Mengenai SMS Gateway .............................................................................7

2.3. Desain dan Perancangan Sistem ..................................................................8

2.3.1. Use Case Diagram .............................................................................9

2.3.2. Class Diagram ..................................................................................11

2.4. Perancangan Database ...............................................................................12

2.4.1. Pembuatan Database ........................................................................13

2.4.2. Pembuatan Tabel-Tabel ....................................................................13

BAB 3. Setting SMS Gateway .......................................................................19

BAB 4. Membuat Halaman Login ................................................................27

4.1. Halaman Login ...........................................................................................28

4.2. Mengecek Password ..................................................................................30

4.3. Halaman Utama User .................................................................................36

BAB 5. Mengelola Data Siswa .......................................................................41

5.1. Input Data Siswa ........................................................................................42

5.2. Proses Penyimpanan Data Siswa ...............................................................45

5.3. Menampilkan Data Siswa Per Kelas .........................................................47

Page 6: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

vi

5.4. Menampilkan Data Siswa ..........................................................................49

5.5. Edit Data Siswa ..........................................................................................53

5.6. Detail Data Siswa .......................................................................................56

5.7. Delete Data Siswa ......................................................................................57

BAB 6. Membuat Halaman Absensi .............................................................59

6.1. Langkah-Langkah Pembuatan ...................................................................60

6.2. Privilege User Guru ...................................................................................61

6.3. Halaman Utama Absensi ...........................................................................61

6.4. Halaman Input Absensi ..............................................................................66

6.5. Proses Kirim SMS dan Simpan Data ke Database ...................................73

BAB 7. Membuat Laporan Data Absensi ....................................................77

7.1. Langkah-Langkah Pembuatan ...................................................................78

7.2. Privilege User Siswa ..................................................................................79

7.3. Halaman Utama Siswa ...............................................................................80

7.4. Hasil Laporan Absensi ...............................................................................82

BAB 8. Cara Menggunakan Program Absensi ...........................................87

8.1. Kebutuhan Perangkat Keras ......................................................................88

8.2. Kebutuhan Perangkat Lunak .....................................................................89

8.3. Setting Kebutuhan Sistem..........................................................................89

8.4. Alur/Urutan Menggunakan Sistem ............................................................93

8.4.1. Login.................................................................................................93

8.4.2. Input Data Siswa ..............................................................................95

8.4.3. Input Data Guru ...............................................................................96

8.4.4. Input Absensi Siswa .........................................................................99

Page 7: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

vii

BAB 9. Problem & Solving ..........................................................................103

Windows Could not Start ................................................................................104

Service Error 5 Access is Denied ...................................................................107

The Program Can’t Start Because File msvcr71.dll is Missing From Your Computer ........................................................................................................110

Menggunakan Modem dalam Keadaan Software Bawaan Modem tersebut Connect ke Internet .........................................................................................110

Memakai Web Server Xampp versi 1.7 ......................................................... 111

Page 8: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Halaman ini Sengaja Dikosongkan

www.bukulokomedia.com

Page 9: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

BAB I

Pendahuluan

Page 10: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway2

BAB 1

Pendahuluan

Salah satu tujuan instansi sekolah adalah meningkatkan disiplin siswa untuk menyiapkan mereka dalam dunia kerja. Oleh karena itu, berbagai upaya telah dilakukan untuk menciptakan lulusan yang memiliki kompetensi dan mampu bersaing di era global.

Dalam hal ini, untuk peningkatan terkait dengan disiplin di sekolah adalah kehadiran di kelas atau yang di sebut absensi, secara garis besar absensi merupakan salah satu bagian dalam proses penilaian belajar-mengajar pada instansi sekolah, maraknya siswa-siswi yang sering bolos sekolah membuat wali murid meresahkan kehadiran anaknya dalam sekolah.

Perkembangan teknologi yang begitu pesat membawa sebuah proses otomatisasi di dalam proses absensi tersebut, dan membawa orang tua yang menginginkan informasi apa yang dilakukan oleh anaknya di sekolah secara cepat, akurat dan real-time.

Secara realita yang didapat oleh penulis, kejadian yang menimpa siswa-siswa di sekolah terkait dengan disiplin kehadiran adalah terkadang siswa tidak sepenuhnya masuk pelajaran selama jam dalam satu hari tersebut, misalnya jam 1,2 masuk dan jam ke 3,4 tidak masuk, hal inilah yang sangat dirisaukan oleh para orang tua siswa. Maka, dalam hal ini para orang tua ingin mengonttrol untuk mengetahui tingkat kedisiplinan di sekolah.

Beragam sistem informasi absensi diciptakan untuk mengatasi permasalahan tersebut, dari hasil analisa penulis ada beberapa sistem absensi yang sudah ada diantaranya:

1. Masih menggunakan absensi manual, cara ini yang masih banyak dilakukan oleh kebanyakan sekolah yang ada.

2. Penelitian yang dilakukan oleh (tommy, STMIK AMIKOM Yogyakarta, 2013) membuat sebuah aplikasi absensi berbasis web menggunakan Framework CodeIgniter yang mengadakan penelitiannya di SMP BOPKRI 1 WATES, membuat sistem absensi dengan mengumpulkan data-data, diolah, disimpan, atau dilihat kembali hingga menghasilkan informasi. Semua hal tersebut juga merupakan bagian dari kebutuhan

Page 11: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Bab I. Pendahuluan 3

sekolah untuk mengelola absensi kehadiran siswa yang ada setiap hari dan memberikan sebuah inovasi teknologi informasi yang baru.

3. Penelitian yang dilakukan oleh (Abdan, Politeknik Elektronika Negeri Surabaya) membuat sebuah sistem online absensi perkuliahan jarak jauh berdasarkan data terpusat, karena kuliah jarak jauh tersebut ada di beberapa tempat, maka yang dilakukan adalah cluster dari tempat tersebut untuk mengumpulkan data-data absensi dari mahasiswa.

4. Penelitian yang dilakukan oleh (yuyiandrika, 2013) Membangun Sistem Informasi Presensi Mahasiswa STMIK Atma Luhur Pangkal Pinang Berbasis Web Informasi. Tentang absensi mahasiswa dibutuhkan sangat akurat, karena mempengaruhi nilai akhir yang akan mereka peroleh untuk mata kuliah yang sedang mereka ambil.

5. Penelitian yang dilakukan (Dedi 2009) Perancangan Sistem Informasi Absensi Dosen dan Mahasiswa berbasis Web di Fakultas MIPA Universitas Sumatera Utara, dan masih banyak lagi aplikasi-aplikasi absensi yang telah dibuat yang tidak bisa penulis sebutkan satu-persatu.

Sistem informasi absensi yang penulis sebutkan diatas ternyata dirasakan masih kurang efektif menurut para orang tua siswa. Orang tua masih sangat merisaukan kondisi anaknya di sekolah, apakah mereka benar-benar masuk sekolah atau tidak, karena orang tua mengingingkan sebuah sistem yang real-time, dimana maksud dari real-time tersebut apabila para siswa-siswi mereka tidak masuk, maka akan memberikan pemberitahuan langsung ke orang tua tersebut melalui informasi SMS, dan sebagainya.

Maka aplikasi absensi yang akan dibangun disini merupakan sistem absensi yang sudah ada, tetapi kami update dengan fungsi real-time, dimana real-time ini akan memberitahukan informasi kepada para orang tua terkait dengan keadaan siswa-siswi-nya terkait dengan tingkat kedisiplinan ketika sekolah.

Aplikasi yang penulis buat memiliki beberapa fitur/modul, diantaranya:

1. Data Siswa

Melakukan input data siswa dan menampilkan data siswa berdasarkan kelas.

2. Data Guru

Melakukan input data guru berdasarkan kelas yang diajar oleh guru tersebut.

3. Data Kelas

Melakukan input data kelas dan maintenance (edit, update, delete)

Page 12: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway4

4. Data Sekolah

Profil dari sekolah yang menggunakan sistem ini.

5. Data Absensi

Ada beberapa fitur tambahan :

a. Melakukan absensi berdasarkan hari sekarang dan berdasarkan kelas yang diajar oleh guru tersebut.

b. Melakukan absensi berdasarkan jam atau waktu yang diajarkan oleh guru tersebut.

c. Mengirimkan SMS ke nomor handphone orang tua siswa berdasarkan nomor handphone yang telah di inputkan pada modul Data Siswa.

6. Data Laporan Per-Siswa

Kalau pihak orang tua menginginkan laporan secara detail berdasarkan rentang waktu tertentu, mereka bisa menggunakan fitur ini.

Keunggulan dari aplikasi absensi yang penulis buat ini adalah sebagai berikut:

1. Menggunakan bahasa pemrograman PHP yang mudah dipahami dan diharapkan mudah untuk pengembangan aplikasi ke depan-nya.

2. Untuk penerapannya, bisa diterapkan di sekolah manapun.

3. Menggunakan Bootstrap untuk mempercantik tampilannya.

4. Mempunyai interface yang mudah untuk dijalankan

5. Menggunakan pemrograman yang mendukung hampir semua browser, diantaranya jQuery, CSS3, dan sebagainya.

Page 13: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

BAB II

Perancangan Sistem

Page 14: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway6

BAB 2

Perancangan Sistem

Perancangan sistem bertujuan untuk membuat rancang bangun sebuah sistem dan pengkonfigurasian perangkat keras dan perangkat lunaknya, sehingga dihasilkan suatu sistem yang lebih baik. Perancangan sistem merupakan suatu proses pemecahan masalah yang dihadapi dan bertujuan untuk membangun sebuah sistem yang dapat memenuhi sasaran, kebutuhan, dan tujuan yang ingin dicapai.

2.1 Kebutuhan SistemDengan mengetahui kondisi di lapangan, langkah selanjutnya melakukan studi kebutuhan sistem, sehingga menghasilkan solusi terhadap masalah yang ada yaitu membuat suatu aplikasi untuk absensi siswa.

Studi kebutuhan sistem adalah suatu tinjauan sekilas pada faktor utama yang diinginkan. Faktor-faktor yang harus dipertimbangkan dalam melakukan studi kebutuhan sistem adalah sebagai berikut:

Kebutuhan sistem ini digunakan untuk mengetahui apakah teknologi yang digunakan nantinya dapat diterapkan pada sistem. Untuk itu ada beberapa hal yang perlu diperhatikan dalam kebutuhan sistem, yaitu:

Teknologi yang akan digunakan pada sistem yang akan dibuat harus tersedia dipasaran. Dalam hal ini adalah gambaran mengenai perangkat keras (hardware) dan perangkat lunak (software) yang diperlukan dalam pembuatan sistem yang akan digunakan nantinya. Adapun spesifikas minimal yang dapat digunakan dalam pembuatan sistem ini antara lain:

1. Perangkat Keras (Hardware) terdiri atas:

a. Monitor (SVGA)

b. Processor Intel Pentum IV

c. Memory (RAM) 512MB

d. Harddisk 80 GB

e. Keyboard

Page 15: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Bab I. Perancangan Sistem 7

f. Mouse

g. Printer

2. Perangkat Lunak (Software) terdiri atas:

a. Web Server (Apache) à untuk menjalankan aplikasi PHP.

b. Web Browser (Google Chrome, Mozilla Firefox) à untuk menampilkan hasil tampilan aplikasi.

c. Database MySQL (phpMyAdmin) à untuk mengelola database.

d. Pemrograman Client Side (jQuery).

e. Gammu untuk aplikasi SMS Gateway.

2.2 Mengenai SMS GatewayIstilah gateway dapat diartikan sebagai pintu gerbang. Namun pada dunia komputer, gateway dapat diartikan sebagai jembatan penghubung antara satu sistem dengan sistem yang lain, sehingga dapat terjadi pertukaran data antar sistem tersebut. Dengan demikian, SMS Gateway dapat diartikan sebagai penghubung untuk lalu lintas data-data SMS.

Pada awalnya, SMS Gateway dibutuhkan untuk menjembatani antar SMSC. Hal ini dikarenakan SMSC yang dibangun oleh perusahaan yang berbeda memiliki protokol komunikasi sendiri, dan protokol tersebut bersifat pribadi. SMS Gateway ini kemudian ditempatkan diantara kedua SMSC yang berbeda pada protokol tersebut, yang akan menerjemahkan data dari protokol SMSC satu ke protokol SMSC lainnya yang dituju. Lihat gambar 2.1.

Gambar 2.1 Ilustrasi SMS Gateway

Namun, seiring perkembangan teknologi komputer dan perkembangan teknologi komunikasi, SMS Gateway tidak lagi dimaksudkan sebagaimana yang tampak pada gambar 2.1. Dewasa ini, masyarakat lebih mengartikan SMS Gateway sebagai suatu jembatan komunikasi yang menghubungkan perangkat komunikasi (dalam hal ini ponsel). Lihat gambar 2.2.

Page 16: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway8

Gambar 2.2 Diagram SMS gateway

SMS Gateway kemudian lebih mengarah kepada sebuah program yang mengkomunikasikan sistem operasi komputer dengan perangkat komunikasi yang terpasang untuk mengirim atau menerima SMS.

Cara kerja SMS Gateway pada dasarnya hampir sama dengan mengirimkan SMS melalui handphone pada umumnya. Hanya saja, bedanya adalah perangkat pengirimnya bukan lagi handphone, tetapi modem GSM. Dan moden inilah yang dikendalikan oleh PC menggunakan aplikasi SMS Gateway yang akan dibuat (Edison, D. 2012). Lihat gambar 2.3.

Gambar 2.3 Arsitektur SMS Gateway

2.3 Desain dan Perancangan SistemProgram aplikasi dirancang untuk memperkenalkan tahapan-tahapan dalam aplikasi yang akan dibuat hingga didapatkannya hasil analisis yang sempurna untuk aplikasi yang akan dibuat. Berikut adalah diagram blok dari gambaran umum sistem. Lihat gambar 2.4.

Page 17: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Bab I. Perancangan Sistem 9

Gambar 2.4 Desain arsitektur sistem

Pada gambar 2.4 menerangkan bahwa Admin sekolah akan memasukan Data Guru dan Data Siswa ke dalam sistem, kemudian Guru akan menerima Data Siswa sesuai dengan Kelas yang diajarkan, kemudian user Guru akan mengabsensi siswa sesuai dengan siswa yang diajar, kemudian ketika ada siswa yang tidak masuk mata pelajaran pada jam tertentu, maka sistem akan memberikan pemberitahuan ke pihak Orang Tua Siswa. Di samping itu, sistem juga bisa melaporkan ketidakhadiran Siswa pada 1 semester yang sudah berjalan.

2.3.1 Use Case Diagram

Use case diagram merupakan model diagram UML (Unified Modeling Language) yang digunakan untuk menggambarkan requirement fungsional yang diharapkan dari sebuah sistem.

Use case diagram menekankan pada “siapa” melakukan “apa” dalam lingkungan sistem perangkat lunak yang akan dibangun. Intinya, didalam Use case diagram seorang user itu bisa melakukan apa saja ke dalam requirement atau kebutuhan dari perangkat lunak yang akan dibuat.

Page 18: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway10

Use case diagram adalah gambaran graphical dari beberapa atau semua actor, use-case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun.

Use case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar. Lihat gambar 2.5.

Gambar 2.5 Use case Diagram Sistem Absensi

Pada gambar 2.5 menjelaskan bahwa ada 3 role atau user yang menggunakan aplikasi ini, yaitu:

1. Admin Sekolah bisa melakukan ke system registrasi siswa (termasuk memasukkan data nomor handphone orang tua siswa) dan input guru.

2. Guru bisa melakukan presensi ke siswa siswinya berdasarkan mata kuliah

Page 19: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Bab I. Perancangan Sistem 11

dan jam guru masuk.

3. Orang tua siswa akan memperoleh SMS jika anaknya tidak masuk sekolah pada jam guru yang melakukan absensi.

2.3.2 Class Diagram

Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika. Class diagram menggambarkan struktur statis dari sebuah sistem. Karena itu, class diagram merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML (Henderi, 2008).

Sementara menurut (Whitten L. Jeffery et al 2004:432) class diagram adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan class-class objek yang menyusun sebuah sistem dan juga hubungan antara class objek tersebut. Sequence Diagram.

Berdasarkan dari use case diagram pada gambar 2.5, maka dapat diketahui terdapat 5 buah class seperti yang terlihat pada gambar 2.6.

Gambar 2.6 Class Diagram Sistem Absensi

Page 20: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway12

2.4 Perancangan DatabaseDatabase adalah sekumpulan data store (bisa dalam jumlah besar) yang tersimpan dalam magnetic disk, optical disk, dan media penyimpan sekunder lainnya. Kaitanya dengan aplikasi yang akan dibuat database merupakan sekumpulan program-program aplikasi umum yang mengeksekusi dan memproses data secara umum (hapus, cari, update, dan lain-lain).

Perancangan database adalah proses untuk menentukan isi dan pengaturan data yang dibutuhkan untuk mendukung berbagai rancangan sistem.

Adapun tujuan dari perancangan database, diantaranya:

Untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasi-aplikasinya.

Memudahkan pengertian struktur informasi.

Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space)

Untuk perancangan database sistem absensi bisa dilihat pada gambar 2.7.

Gambar 2.7 Perancangan database sistem absensi

Page 21: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Bab I. Perancangan Sistem 13

Pada gambar 2.7 menjelaskan beberapa tabel yang dihubungkan dengan tabel-tabel lainnya, hal ini bertujuan untuk menghindarkan redudansi data, maksudnya bagaimana sebuah data yang masuk ke dalam sistem tidak selalu berulang-ulang atau datanya sama, sehingga nantinya tidak terjadi penumpukan data yang sama.

Adapun untuk pembuatan database dan tabel-tabelnya dengan skrip SQL yang akan kita terapkan secara visual di phpMyAdmin sebagai berikut:

2.4.1 Pembuatan Database

Buka browser Anda dan ketikkan http://localhost/phpmyadmin, lalu iskan nama databasenya sekolahku, kemudian klik tombol Create. Lihat gambar 2.8.

Gambar 2.8 Pembuatan database dengan nama sekolahku

2.4.2 Pembuatan Tabel-Tabel

Pembuatan tabel di phpMyAdmin berada pada menu/tab SQL.

Pertama, kita akan membuat tabel sekolah. Pastikan Anda berada didalam database sekolahku, lalu ketikkan skripnya di bagian SQL dan klik tombol Go. Lihat gambar 2.9.

Page 22: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway14

Gambar 2.9 Pembuatan tabel sekolah

Penjelasan:

Jika kita lihat field id bersifat primary key maksudnya field tersebut tidak bisa di-isi dengan data yang sama dengan kata lain, primary key ini menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu dengan yang lainnya atau bersifat unik.

Selanjutnya, field id ini bersifat auto_increment, maksudnya secara default auto_increment bertipe integer yang secara otomatis bertambah nilainya jika terjadi penambahan row/baris pada tabel di mana field tersebut berada.

Adapun hasil dari pembuatan tabel sekolah bisa dilihat pada gambar 2.10.

Gambar 2.10 Hasil pembuatan tabel sekolah

Page 23: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Bab I. Perancangan Sistem 15

Selanjutnya, kita akan membuat tabel kelas. Tabel kelas memerlukan field Foreign Key yang merupakan field yang menjadi Primary Key di tabel lain (dalam kasus ini terhubung ke tabel sekolah). Skrip SQL-nya bisa dilihat pada gambar 2.11.

Gambar 2.11 Skrip pembuatan tabel kelas

Skrip SQL terakhir pada gambar 2.11 merupakan cara pembuatan Foreign Key yang menunjuk ke tabel kelas di mana id tersebut merupakan Primary Key di tabel sekolah. Dan hasilnya bisa dilihat pada gambar 2.12.

Gambar 2.12 Hasil pembuatan tabel kelas

Selanjutnya, kita akan membuat tabel guru. Skrip SQL-nya bisa dilihat pada gambar 2.13.

Page 24: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway16

Gambar 2.13 Skrip pembuatan tabel guru

Dan hasilnya bisa dilihat pada gambar 2.14.

Selanjutnya, buat tabel siswa. Skrip SQL-nya bisa dilihat pada gambar 2.15.

Gambar 2.15 Skrip pembuatan tabel siswa

Page 25: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Bab I. Perancangan Sistem 17

Gambar 2.14 Hasil pembuatan tabel guru

Dan hasilnya bisa dilihat pada gambar 2.16.

Gambar 2.16 Hasil pembuatan tabel siswa

Page 26: Program Absensi Siswa Realtime dengan PHP dan SMS … Cover : Subkhan Anshori Layout : ... Dengan adanya program absensi seperti ini, maka ketika ada siswa yang tidak mengikuti salah

Absensi Siswa Realtime dgn PHP & SMS Gateway18

Dan terakhir, kita akan membuat tabel absensi. Skrip SQL-nya bisa dilihat pada gambar 2.17.

Gambar 2.17 Skrip pembuatan tabel absen

Dan hasilnya bisa dilihat pada gambar 2.18.

Gambar 2.18 Hasil pembuatan tabel absen

Catatan:

Sebenarnya ada cara yang lebih praktis dibandingkan dengan membuat tabel satu per satu dengan mengetikkan skrip SQL seperti yang kita lakukan diatas, yaitu dengan cara mengimpor databasenya langsung. Untuk itu, didalam CD terlampir sudah penulis sertakan file databasenya dengan sekolahku.sql.