6
BAB II TINJAUAN PUSTAKA Dalam bab tinjauan pustaka ini dipaparkan referensi atau pustaka yang digunakan dalam proses Sistem Informasi Manajemen Pendaftaran Siswa Baru yang didukung dengan Teknologi SMS . 2.1 Sistem Informasi Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan. (Jogiyanto, 2001) Dari uraian diatas dapat dipaparkan bahwa Sistem informasi dalam suatu organisasi dapat dikatakan sebagai suatu sistem yang menyediakan informasi bagi semua tingkatan dalam organisasi tersebut kapan saja diperlukan. Sistem ini menyimpan, mengambil, mengubah, mengolah dan mengkomunikasikan informasi yang diterima dengan menggunakan sistem informasi atau peralatan sistem lainnya. 2.2 Basis Data Pangkalan data atau basis data, atau sering pula dieja basis data, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi. Database adalah salah satu komponen yang penting dalam system informasi, karena merupakan basis dalam menyediakan informasi bagi para pemakai. Penetapan database dalam sistem informasi disebut database system. Database system merupakan suatu sistem informasi yang megintegrasikan kumpulan dari data yang
7
saling berhubungan satu dengan yang lainnya dan membuatnya tersedia untuk beberapa aplikasi yang bermacam-macam didalam suatu organisasi. 2.3 PHP (Hypertext Processor) 2.3.1 Pengertian PHP PHP merupakan singkatan dari Hypertext Preprocessor, PHP adalah sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik. Database pasangannya biasanya MySQL, dijalankan bersama webserver Apache di atas operating system Linux.
2.3.2
Tipe data PHP
2.3.2.1 Tipe data integer Tipe data integer yang meliputi semua bilangan bulat, besar range data integer ada PHP sama dengan range tipe data long pada bahasa C yaitu antara – 2.147.483.648 sampai 2.147.483.647 pada platform 32-bit. PHP akan secara otomatis mengkonversi data integer menjadi floating point jika berada di luar range di atas. Integer dapat dinyatakan dengan bentuk oktal, desimal dan heksadesimal.
2.3.2.2 Tipe data float Floating float merupakan representasi dari bilangan desimal atau pecahan. Range tipe data floating point sama dengan range tipe data double pada bahasa C yaitu 1.7E-308 sampai -1.7E-308. Floating point atau bilangan riil dapat dinyatakan sbb. : $a = 1..234; $a = 1.2e3;
2.3.2.3 Tipe data string String atau teks dapat dibuat dengan menuliskan teks di antara tanda kutip tunggal (') atau tanda kutip ganda ("). Perbedaannya adalah jika menggunakan tanda petik tunggal, maka pada string itu tidak dapat kita masukkan variabel dan escape
8
squence handling. Berikut ini adalah tanda-tanda atau slash yang digunakan dalam PHP : Tabel 2.1 Slash dalam PHP Tanda \n \r \t \\ \$ \” \[0-7] {1-3} \x[0-9A-Fa-f] {1,2}
Arti Baris baru Carriage Tab horizontal Backslash Tanda dollar Tanda kutip Urutan karakter yang sesuai dengan ekspresi regular adalah karakter yang berada notasi octal dalam Urutan karakter yang sesuai dengan ekspresi reguler adalah karakter yang berada dalamnotasi heksa
2.3.3 Kompatibilitas variabel Dalam PHP, variabel dapat secara otomatis ditaksir jenisnya tanpa harus didefinisikan terlebih dahulu. Misalnya $a = "5" (huruf lima) yang merupakan sebuah string dapat dijumlahkan dengan sebuah integer lain (mis. $b = $a + 2;). Dalam hal ini, $a dianggap sebagai sebuah variabel integer. Sebaliknya, sebuah variabel integer atau float dapat dijumlahkan dengan string sehingga membentuk suatu string lain. Increment dan Decrement Ekspresi increment dapat berupa : $b = $a++ : definisikan nilai $b sama dengan nilai $a, dan tingkatkan (increment) nilai $a. $b = ++$a : tingkatkan nilai $a, dan definisikan nilai $b sama dengan nilai $a. Ekspresi kondisional Ekspresi singkat untuk melakukan kendali program : $first ? $second : $third (jika $first benar, maka $second menjadi nilai ekspresi, sedangkan jika $first salah maka $third menjadi nilai ekspresi. 2.3.4 Konstanta dan operator Konstanta merupakan variabel yang nilainya tetap. Konstanta hanya diberi nilai pada awal program dan nilainya tidak pernah berubah selama program berjalan. Konstanta juga tidak memerlukan tanda “$” untuk menyatakannya. Untuk menyatakannya, PHP memiliki fungsi tertentu yaitu define(). PHP juga telah mendefinikan beberapa konstanta, misalnya PHP_VERSION yaitu konstanta yang
9
memberikan informasi tentang versi PHP yang digunakan. Operator dapat dikategorikan kedalam 4 kelompok yaitu: 1.
Operator Aritmatika adalah operator yang berhubungan dengan fungsi matematik.
Tabel 2.2 Operator logika aritmatika
Operator + * / % ++ --
Operasi Penambahan Pengurangan Perkalian Pembagian Sisa pembagian Penambahan dengan 1 Pengurangan dengan 1
2. Operator Logika adalah operator yang membandingkan TRUE dan FALSE. Tabel 2.3 Operator logika perbandingan
Operand Kiri Operator TRUE && TRUE && FALSE && FALSE && TRUE || TRUE || FALSE || FALSE || TRUE Xor TRUE Xor FALSE Xor FALSE Xor ! Not ! Not
Nama And And And And Or Or Or Or Exclusive Or Exclusive Or Exclusive Or Exclusive Or
Operand Kanan TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE
Hasil TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE TRUE TRUE FALSE FALSE TRUE
3. Operator Bitwise adalah operator yang membandingkan nilai binary. Operator ini digunakan untuk operasi-operasi bilangan binary. Operator ini untuk memanipulasi bit-bit dari nilai data. Berikut adalah jenis-jenis operator bitwise:
10
Tabel 2.4 Operator bitwise
Operator $a & $b $a | $b $a ^ $b ~$a $a << $b $a >> $b
Operasi And Or Xor Not Pergeseran bit ke kiri Pergeseran bit ke kanan
2.3.5 Flow control 2.3.5.1 Percabangan Percabangan, atau sering disebut juga dengan istilah decision-making, memungkinkan aplikasi untuk memeriksa isi suatu variabel atau hasil perhitungan ekspresi dan mengambil tindakan yang sesuai. Ada dua jenis percabangan, dipilih berdasarkan kriteria pemeriksaan dan jumlah pilihan yang tersedia. Berikut adalah sintak dasar untuk if - else : if(condition) { // statement 1 goes here } else { // statemant 2 goes here } // statement 3 goes here Kode program 2.1 Script dasar if-else
Aliran program : 1. Condition akan diperiksa 2. Bila bernilai true, statement 1 akan dijalankan 3. Bila bernilai false, statement 2 akan dijalankan 4. Statement 3 dijalankan Sintak dasar untuk if-elseif-else:
11
if(condition1) { // statement } elseif(condition2) { // statement } else { // statement } // statement 4 Kode program 2.2 Script dasar if-elseif-else
Ada 3 kemungkinan aliran program : 1. Apabila condition 1 bernilai true : a. Statement 1 dijalankan b. Statement 4 dijalankan 2. Apabila condition 1 bernilai false, dan condition 2 bernilai true : a. Statement 2 dijalankan b. Statement 4 dijalankan 3. Apabila condition 1 dan condition 2 bernilai false : a. Statement 3 dijalankan b. Statement 4 dijalankan 2.3.5.2 Perulangan 1. Perulangan For Looping dengan for disebut juga determinate loop, artinya looping yang jumlah pengulangannya (iterasi) telah ditentukan di awal looping. Ada beberapa bagian penting dari for loop: a. Initialization expression b. Stop condition c. Iterative expression d. Loop body
12
Perintah FOR difungsikan untuk mengulangi perintah dengan jumlah perulangan yang sudah di ketahui. Pada perintah ini kita tidak perlu menuliskan sebuah kondisi untuk diuji. Kita hanya menuliskan nilai awal dan akhir variabel perhitungan. Nilai ini akan secara otomatis bertambah dan berkurang tiap kali sebuah pengulangan dilaksanakan. Sintaksnya adalah : for (nilai_awal, nilai_akhir, peningkatan/penurunan) { pernyataan yang akan dijalankan } Kode program 2.3 Script dasar for
2. Foreach Perintah ini digunakan untuk melakukan iterasi pada sebuah nilai array. Sintaknya adalah : foreach (ekspresi_array as $nilai/value) { operasi program; } Kode program 2.4 Script foreach
3. While Perintah while digunakan untuk mengulangi sebuah perintah sampai pada jumlah tertentu. Untuk menghentikan pengulangan digunakan suatu kondisi tertentu. Nilai kondisi ini memiliki hasil akhir berupa false dan true seperti layaknya perintah if…else . Pengulangan akan terus berlanjut jika kondisi masih menunjukkan nilai true. Sintaknya adalah : While (kondisi) { Pernyataan yang akan dijalankan } Kode program 2.5 Script while
13
4. do..while Pada prinsipnya, metode penggunakan do..while dengan while hampir sama. Tetapi yang membedakannya adalah terletak pada eksekusi operasi program. Pada pernyataan while, maka persyaratan terlebih dahulu diperiksa, jika persyaratan bernilai true maka proses eksekusi bisa dijalankan. Tetapi proses pada do..while adalah, operasi program dieksekusi terlebih dahulu baru kemudian persyaratannya diperiksa. Jika persyaratannya true, maka loop akan terus dijalankan, loop hanya akan berhenti jika proses memiliki hasil false. Oleh karena itu operasi program minimal dapat dieksekusi sekali. Sintaks dasar : While (kondisi) do { Pernyataan yang akan dijalankan } Kode program 2.6 Script do…while
2.3.5.3 Perpindahan 1. Break Break digunakan untuk menghentikan iterasi dari sebuah loop. Break dapat diikuti dengan numeric argumen yang menunjukkan berapa tingkatan loop yang dihentikan iterasinya. 2. Continue Continue digunakan untuk kembali ke awal loop dan sisa operasi program di bawahnya akan diabaikan. Continue diikuti numeric argumen menunjukkan di mana loop akan dimulai kembali. 3. Return Perintah return berfungsi untuk memerintahkan kode untuk keluar dari fungsi. Fungsi akan kita pelajari dengan lebih mendalam pada bagian selanjutnya. Untuk sementara, fungsi cuma akan digunakan untuk menjelaskan return.
14
2.3.6 Fungsi Fungsi merupakan sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output berupa sebuah nilai atau sebuah hasil operasi. Fungsi dideklarasikan dengan statement function diikuti nama fungsi dan beberapa variable input jika ada. PHP kaya dengan fungsi-fungsi untuk mengolah string, kode html, file dan terutama akses terhadap berbagai macam database. Dokumentasi lengkap dapat ditemukan dalam manual PHP. Dalam pemograman, ada dua macam subrutin yaitu prosedur dan fungsi. Perbedaannya adalah jika fungsi berguna untuk mengembalikan nilai tertentu sedangkan prosedur tidak mengembalikan nilai tersebut. Sintak fungsi dalam PHP adalah : Function nama_function (argumen) { kode perintah }.
2.3.6.1 Return by reference and value Berikut adalah sintak sebuah contoh : function add($a, $b){ return $a + $b;} Kode program 2.7 Contoh return by reference
Function sederhana di atas akan menerima masukan berupa dua angka. Kemudian kedua angka tersebut akan dijumlahkan, dan hasilnya dikembalikan kepada pemanggil function. Nilai yang dikembalikan tersebut disebut return value. Sedangkan nilai yang dimasukkan ke dalam function ($a dan $b) disebut parameter.
2.3.6.2 Implementasi fungsi Berikut adalah contoh pemakaian fungsi: function addNumber($x, $y) {z = x + y; echo(z);} function jumlahkanlah(int x, int y) {z = x + y; return z;} Kode program 2.8 Contoh penggunaan fungsi
15
1. Function body dibatasi oleh sepasang { dan } Function body berisi instruksi yang harus dilakukan komputer untuk menghasilkan output yang diinginkan. 2. Baris 2 menyuruh komputer untuk membuat satu variabel bernama yang isinya adalah hasil penjumlahan x dan y. 3. x dan y didapat dari input yang diberikan user. 4. Baris 3 menyuruh komputer untuk menampilkan hasil perhitungan ke layar. 5. Bedakan dengan baris 3 pada function jumlahkanlah yang memerintahkan komputer untuk menampilkan hasil perhitungan di layar
2.4 MySQL MySQL adalah multiuser database yang mengunakan bahasa SQL (Structured Query Language). MySQL dalam operasi client-server melibatkan server daemon MySQL disisi server dan berbagai macam program serta library yang berjalan pada sisi client. 2.4.1
Tipe data MySQL Tipe data numerik dapat dibedakan menjadi dua kelompok, yaitu tipe data
integer dan tipe data floating point. Tipe data integer untuk data bilangan bulat sedangkan tipe data floating point digunakan untuk bilangan desimal. Berikut adalah tipe – tipe data dalam Mysql :
16
Tabel 2.5 Tipe data numerik dalam MySQL
Tipe data Tinyint Smallint Mediumint Int Bigint Float Double
Kisaran nilai (-128) – 127 atau 0-225 (-32768) – 32767 atau 0-65535 (-8388608)-8388607 atau 0-16777215 (-2147683648)-(2147683647) atau 0-4294967295 (-9223372036854775808)-(9223372036854775807) atau 018446744073709551615 (-3.402823466E+38)-(-1.175494351E-38),0, dan 1.175494351E-38 – 3.402823466E+38 (- 2.2205738585072014e-308) – (2.2205738585072014e-308) atau (-1.7976931348623457e+308) (1.7976931348623457e+308)
2.4.1.1 Tipe data string Berikut adalah tipe data string : Tabel 2.6 Tipe data string dalam MySQL
Tipe kolom Char(M) Varchar(M) Tinyblob, Tinytext Blob, Text Mediumblob, mediumtext Longblob, longtext Enum(‘value1’,’value2’,…) Set(‘value1’,’value2’,...)
Kebutuhan memori penyimpanan M bytes, 1 <= M <= 255 L+1 bytes, where L <= M and 1<= M <= 255 L+1 bytes, where L < 2^8 L+1 bytes, where L < 2^16 L+1 bytes, where L < 2^24 L+1 bytes, where L < 2^32 1 or 2 bytes, depending on the number of enumeration values (65535 values maximum) 1, 2, 3, 4, or 8 bytes, depending on the number of set members (65535 members maximum)
17
2.4.1.2 Tipe data waktu Berikut adalah tipe data waktu : Tabel 2.7 Tipe data waktu dalam MySQL
Tipe Data DateTime Date Time Year TimeStamp
Format Standar YYYY-MM-DD HH:MM:SS YYYY-MM-DD HH:MM:SS YYYY YYYYMMDDHHMMSS
Zero Value 0000-00-00 00:00:00 0000-00-00 00:00:00 0000 00000000000000
2.4.1.3 Tipe data lain Terdapat berbagai tipe data selain yang dijelaskan diatas, misalnya ENUM dan SET. ENUM merupakan tipe data yang menyimpan beberapa pilihan data yang akan disimpan tetapi hanya satu pilihan yang disimpan. Sedangkan SET mirip dengan ENUM namun bisa memilih lebih dari satu pilihan. 2.4.2 Sintak dasar MySQL MySQL merupakan bahasa pemograman database di mana penulisan sintaknya tidak serumit bahasa pemograman lainnya seperti java, C++ dan sebagainya. Satu hal yang perlu diingat bahwa setiap penulisan script MySQL di Dos-Prompt harus selalu diakhiri dengan tanda titik koma (;). Di dalam source MySQL yang telah terinstal secara default telah terisi sebuah database yang bernama mysql dan test . Untuk dapat menampilkan apa saja nama database yang telah ada maupun yang akan kita buat, gunakan sintak : mysql> show databases; Kode program 2.9 Script menampilkan database dalam MySQL
Dengan mengetikkan sintak use mysql; dan keluar kalimat database change, berarti kita telah masuk ke dalam database mysql yang telah ada. Di setiap database tentu ada terdapat beberapa table yang menjadi komponen dasar sebuah database.
18
Sintak untuk menampilkan seluruh tabel yang telah ada di dalam database mysql adalah : mysql> show tables; Kode program 2.10 Script menampilkan tabel dalam MySQL
Untuk bisa melihat isi seluruhnya dari salah satu tabel sepeti user, maka gunakan sintak sebagai berikut : mysql> select*from user; Kode program 2.11 Script melakukan select dalam MySQL
Berikut adalah tabel sintak dasar mysql : Tabel 2.8 Sintak dasar MySQL
Sintak Kegunaan create database formulir; Membuat database drop database formulir; Menghapus database create table data(field1 typefield1 not null , Membuat tabel insert into data (field1,field2) values Mengisi tabel dalam database (valuefield1,valuefield2); select field from nama_table; Menampilkan salah satu kolom tabel update nama_table set fieldl=’valuefieldbaru’; Mengubah isi dari tabel update nama_table set fieldl=’newvaluefield’ Mengubah isi dari tabel dengan where field2=’valuefield2’; syarat delete from nama_table where field=valuefield; Menghapus isi tabel dengan syarat alter table nama_table add field typefield(); Menambahkan variabel (kolom) pada tabel alter table nama_table add/drop field (typefield()); Menambahkan atau menghapus kolom tabel. alter table nama_table drop field Menghapus isi semua tabel select * from nama_field; Menampilkan semua isi tabel 2.4.3
Agregate function Selain dari pengolahan record-record, SQL juga menyediakan fungsi-fungsi
agregate dalam SQL adalah untuk menghitung hasil tampilan. Karena ia sifatnya adalah
19
untuk di tampilkan maka fungsi tersebut tergolong dalam bagian sintak select. Beberapa jenis fungsinya antara lain : Tabel 2.9 Agregate Function
Nama Fungsi
Fungsi Menghitung jumlah ekspresi numerik Menghitung rata-rata ekspresi numerik Menghitung angka minimal ekspresi numerik Menghitung angka maksimal ekspresi numerik Menghitung jumlah non-null ekspresi Menghitung jumlah baris
sum() avg() min() max() count() count(*)
2.5 Pengenalan Dasar SMS Short Message Sevice atau yang lebih dikenal dengan SMS merupakan sebuah layanan yang digunakan pada komunikasi tanpa kabel,yang memungkinkan dilakukannya pengiriman pesan berupa alphanumeric melalui terminal pengguna dengan system eksternal seperti email,paging,voice mail dan yang lain – lain. SMS yang dikirim client mempunyai format PDU (Protokol Data unit). Dimana format PDU merupakan format pesan yang berbentuk octet heksadesimal dan octet semiheksadesimal.Oktet heksadesimal merupakan bilangan heksadesimal yang terdiri dari 8 bit, sedangkan octet semiheksadesimal merupakan bilangan heksadesimal yang dibangun dari 8 bit, kemudian dimanipulasi menjadi 7 bit. Adapun tujuan dari manipulasi ini adalah untuk mendapatkan jumlah karakter yang lebih banyak. Berikut merupakan format PDU pada pengirim sms SCA
PDU
MR
DA
PID
DCS
VP
Type Gambar 2.1 Format PDU pengiriman SMS
UDL
UD
20
Keterangan : 1. SCA (Service center Addres) yang berisi format daripada SMS center. 2. PDU Type menyimpan informasi tentang status SMS yang dikirim. Status ini meliputi status permintaan laporan,status jalur jawaban dan batas waktu pengiriman SMS jika pesan gagal diterima. 3. MR (Message reference) berisi acuan pengaturan SMS.secara default nilainya 00 artinya pengaturan SMS akan dilakukan sendiri oleh ponsel penerima SMS. 4. DA (Destination Addres) berisi nomor telepon tujuan 5. PID (Protocol Identifier) merupakan format dari cara pengiriman SMS. 6. DCS (Data Coding Scheme) berisi peraturan SMS,apakah SMS tersebut berupa teks standar, flash SMS atau blinking SMS. 7. VP (Validity Period) berisi rentang waktu lamanya SMS disimpan di SMS center apabila pesan tersebut gagal diterima oleh penerima. 8. UDL (User Data Length) berisi panjang pesan yang dikirim. 9. UD (User Data) berisi pesan yang dikirim dalam format Hexadesimal. SMS yang dikirim akan dikirim dahulu ke SMS center (SMSC). SMSC kemudian yang mengatur pengiriman SMS ke nomor telepon tujuan. Apabila nomor telepon tujuan aktif maka SMS akan dikirim ke nomor tujuan dan memberika notifikasi ke nomor telepon pengirim. Jika telepon tujuan tidak aktif maka pesan akan disimpan dahulu pada SMSC selama batas validasi tertentu. Adapun format PDU yang diterima oleh ponsel penerima adalah :
21
SCA
PDU
OA
PID
DCS
SCTS
UDL
UD
Type Gambar 2.2 Format PDU Penerima SMS
Keterangan :
1. OA (Originator Addres) berisi nomor telepon ppngirim 2. SCTS (Service Center Time Stamp) memuat waktu SMSC menerima SMS dari pengirim. 2.5.1 SMS Multipart Telepon seluler saat ini mendukung concatenated SMS yang dimaksudkan untuk mengatasi jumlah karakter yang dapat dikirim melalui SMS. Jumlah karakter yang bisa dikirim satu SMS adalah 160 karakter. Dengan concatenated SMS teks, SMS dapat dikirim lebih dari 160 karakter,dimana SMS yang lebih dari 160 karakter tersebut akn dipecah terlebih dahulu dan selanjutnya dikirim melalui jaringan telepon seluler. Pada ponsel penerima SMS yang terpecah lalu digabung kembali seperti satu SMS yang panjang. Mode concatenated SMS berlaku pada SMS PDU. Menurut teori jumlah maksimal panjang SMS multipart yaitu 255 bagian. Selain itu, jumlah bagian SMS yang terkirim menggunakan concatenated bergantung pada ponsel pengirim dan penerima serta jaringan seluler. Saat mengirim SMS, concatenated perlu 5 byte dan jumlah karakter yang bisa dikirim pada SMS concatenated adalah 153 karakter dan encoding 7 bit. 5 bytes UDH tersebut adalah :
22
Tabel 2.10 Karakter UDH
Bytes
Contoh Nilai
Keterangan
01
00
SMS concatenated
02
03
Informasi Elemen Data Length. Selalu 03
03
A4
Referensi concatenated SMS, selalu sama tiap bagian multipart
04
03
Jumlah total bagian SMS
05
01
Nomor bagian SMS
Contoh SMS multipart yang mengandung 4 bagian SMS : SMS
1
User
Data: 00
03
A4
03
01
[135 panjang data]
SMS
2
User
Data: 00
03
A4
03
02
[135 panjang data]
SMS
3
User
Data: 00
03
A4
03
03
[135 panjang data]
Gambar 2.3 Contoh SMS Multipart yang mengandung 4 again SMS
2.5.2
Alur Pengiriman SMS HP 1
BTS
BSC
MSC
SMSC
HP 2
BTS
BSC
Gambar 2.4 Alur Pengiriman SMS
MSC
23
Keterangan : 1. BTS (Base Transceiver Station) BTS berfungsi sebagai perangkat tranceiver untuk melakukan komunikasi dengan semuahandset (MS) yang aktif dan berada dalam area cakupannya (cell). BTS melaksanakan prosesmodulasi/demodulasi sinyal, equalisasi sinyal dan pengkodean error (error coding) 2. BSC (Base Station Controller) BSC menyediakan fungsi pengaturan pada beberapa BTS yang dikendalikannya. Dinataranya fungsi handover, konfigurasi cell site, pengaturan sumber daya radio, serta tuning power dan frekuensi pada suatu BTS. 3. MSC (Mobile Switching Center) MSC berfungsi melakukan fungsi switching dan bertanggung jawab untuk melakukan pengaturan panggilan, call setup, release, dan routing. MSC juga melakukan fungsi billing (terhubung ke billing system) dan sebagai gateway ke jaringan lain. 4. SMSC (Short Message Service Center) SMSC mempunyai peran penting dalam arsitektur sms. SMSC berfungsi menyampaikan pesan sms antar Mobile Station(MS)/ HP, dan juga melakukan fungsi store-and-forwarding sms jika nomor penerima sedang tidak dapat menerima pesan
Berawal dari pengirim pesan SMS,pesan tersebut tidak langsung sampai ke nomor telepon tujuan,tetapi melewati bebrapa proses dimana pesan akan ditangkap oleh BTS kemudian dilanjutkan ke BSC kemudian akan sampai ke MSC. MSC akan memfoward pesan ke SMSC. Pada SMSC ini,pesan akan disimpan jika nomor tujuan tidak aktif. Jika nomor tujuan aktif,maka akan dikirim ke BTS nomor tujuan.
24
2.6 Gammu Gammu merupakan library dan command line yang fungsinya sebagai utilitas telepon seluler. Gammu pertama kali dibuat oleh Marcin Wiacek dan dibantu oleh banyak orang. Gammu mempunyai lisensi GPL versi 2 dan bisa berjalan pada system operasi linux dan windows. Utilitas yang mampu ditangani gammu adalah : 1) Manajemen Panggilan 2) Manajemen SMS 3) Manajemen EMS 4) Manajemen buku telepon (phone book) 5) Manajemen Gambar dan Logo 6) Manajemen Calender 7) Membuat cadangan data SIM Card 8) WAP 9) MMS 10) FM Radio Menjalankan gammu bisa digabung dengan beberapa bahasa pemrograman seperti Delphi, VB, PHP, Java dan lainnya. Tanpa digabung dengan bahasa pemrograman pun gammu bisa berjalan karena gammu bisa diakses melalui command line.
2.6.1 Memasang Gammu 1) Gammu dapat di download di http://dl.cihar.com/gammu/releases/windows/ dimana alamat ini merupakan situs penyedia Gammu. Ketika masuk ke halaman tersebut akan tampil software Gammu dalam berbagai versi. Penulis menggunakan Gammu versi 1.30.0
25
Gambar 2.5 Situs Gammu
2) Extract Gammu di suatu folder.
Gambar 2.6 Folder Gammu
26
3) Set Environment Variable untuk Gammu klik kanan my computer -> Properties -> Advanced -> Environment Variables -> New -> isi Variable name dengan Gammu -> isi Variable value dengan folder bin hasil extract dari langkah 2. misal karena saya extract di C:\Program Files\Gammu-1.30.0\ Gammu-1.30.0 maka value yang saya masukkan C:\Program Files\Gammu-1.30.0\ Gammu1.30.0
Gambar 2.7 Setting Gammu
2.6.2 File konfigurasi Gammu Ada dua file utama dalam gammu yang perlu dikonfigurasi diantaranya adalah 2.6.2.1 Gammurc Merupakan konfigurasi dari perangkat yang kita gunakan. Dimana ada dua hal penting yang harus dikonfigurasi yaitu nomor port dan connection. Contoh konfigurasi gammurc sebagai berikut : [gammu] ; isikan nomor port di bawah ini port = : ; isikan jenis connection di bawah ini connection = Kode program 2.12 Script konfigurasi Gammurc
27
untuk mendapatkan nomor port, dapat dilihat di start – klik kanan pada my computer – properties (pastikan handphone atau modem sudah terhubung dengan komputer) – device manager – modems – klik kanan properties – klik tab modem. 2.6.2.2 smsdrc File ini berfungsi untuk menampung konfigurasi database. Adapun contoh dari syntax smsdrc adalah : [gammu] # isikan no port di bawah ini port = COM9: # isikan jenis connection di bawah ini connection = at115200 [smsd] service = mysql logfile = smsdlog debuglevel = 0 phoneid = MyPhone1 commtimeout = 10 sendtimeout = 10 deliveryreport = no PIN = 1234 # Konfigurasi koneksi ke MySQL pc = localhost # isikan user untuk akses ke MySQL user = root
28
# isikan password user untuk akses ke MySQL password = # isikan nama database untuk Gammu database = sms2 Kode program 2.13 Script konfigurasi smsdrc
2.6.2.3 Membangun Koneksi Dengan Gammu Untuk membangun koneksi antara handphone dengan gammu pastikan handphone sudah terhubung dengan computer dan konfigurasi pada gammurc sudah benar. 1. Buka jendela Command Prompt 2. Setelah itu ketikan perintah cd\gammu Kode program 2.14 Script membangun koneksi dengan Gammu
3. Selanjutnya ketikan perintah gammu identify Kode program 2.15 Script membangun koneksi dengan Gammu
4. Selanjutnya tekan enter,jika computer memberikan respon mengenai handphone seperti model, nomor IMEI, Firmware, Product Code, SIM IMSI bearti konfigurasi telah berhasil.
29
Gambar 2.8 Respon computer terhadap Handphone
2.6.2.4 Menjalankan Gammu SMSD Gammu SMSD harus dijalankan setiap ingin menggunakan aplikasi sms. Gammu SMSD harus diinstal terlebih dahulu sebelum dapat dijalankan dalam service . Cara penginstalannya dapat dilakukan melalui jendela command prompt. 1. Buka jendela Command Prompt 2. Ketikkan Perintah Cd\gammu Kode program 2.16 Script membangun service Gammu
Lalu ketikkan: Gammu-smsd.exe –c
smsdrc -i
Kode program 2.17 Script membangun service Gammu
Jika service berhasil terinstal akan keluar pesan sebagai berikut :
30
Service GammuSMSD installed sucessfuly 3. Kemudian masuk ke jendela service.
Gambar 2.9 Service gammu pada komputer
4. Cari pada Gammu SMSD service kemudian double clik.
Gambar 2.10 Service gammu pada komputer
5. Untuk Menjalankannya klik tombol Start.
31
2.7 Perancangan Sistem Tujuan dari desain sistem secara umum adalah untuk memberikan gambaran secara umum kepada user tentang sistem yang baru. Desain system secara umum merupakan
persiapan
dari
desain
secara
terinci.
Desain
secara
umum
mengidentifikasikan komponen-komponen sistim informasi yang akan didesain secara rinci. Desain terinci dimaksudkan untuk pemrogram computer dan ahli teknik lainnya yang akan mengimplementasi sistem.
2.7.1 Alat Bantu Perancangan Sistem Perancangan sistem terdapat alat-alat bantu yang dapat digunakan untuk mempermudah dalam merancang suatu sistem. Alat bantu perancangan sistem tersebut, antara lain :
2.7.1.1 Context Diagram Context diagram atau diagram konteks ialah sebuah lingkaran sederhana yang menggambarkan hubungan antara entitas luar, masukan, dan keluaran dari sistem. Context Diagram merupakan tingkatan tertinggi dalam diagram aliran data dan hanya memuat satu proses, menunjukkan sistem secara keseluruhan. Proses tersebut diberi nomor nol. Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran data-aliran data utama menuju dan dari sistem. Diagram tersebut tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan, begitu entitas-entitas eksternal serta aliran data-aliran daa menuju dan dari sistem diketahui penganalisis dari wawancara dengan user dan sebagai hasil analisis dokumen.
32
Simbol – symbol context Diagram : Tabel 2.11 simbol –simbol Context Diagram
Simbol
Arti Terminator
Aliran Data/Data flow
Proses Atau
Context Diagram memiliki aturan sebagai berikut: 1. Jika terdapat banyak terminator yang mempunyai banyak masukan dan keluaran diperbolehkan untuk digambarkan lebih dari satu kali sehingga mencegah penggambaran yang terlalu rumit, dengan ditandai secara khusus untuk menjelaskan bahwa terminador yang dimaksud adalah identik. Tanda tersebut dapat berupa asterik (*) atau pagar (#). 2.
Jika terminator mewakili individu sebaiknya diwakili oleh peran yang dimainkan personil tersebut. Alasan pertama adalah personil yang berfungsi untuk melakukan itu dapat berganti sedang Context Diagram harus tetap akurat walaupun personil berganti. Alasan kedua adalah seorang personil dapat memainkan lebih dari satu peran.
3.
Karena fokus uitama adalah mengembangkan model, maka penting untuk membedakan sumber (resource) dan pelaku (handler)., pelaku adalah mekanisme, perangkat atau media fisik yang mentransportasikan data ke/dari sistem, karena pelaku seringkali familier dengan pemakai dalam implementasi sistem berjalan, maka sering menonjol sebagai sesuatu yang harus
33
digambarkan lebih dari sumber data itu sendiri. Sedangkan sistem baru dengan konsep pengembangan teknologinya membuat pelaku menjadi sesuatu yang tidak perlu digambarkan.
2.7.1.2 Data Flow Diagram Data Flow Diagram merupakan gambaran keseluruhan kerja system secara garis besar. Data Flow Diagram yaitu diagram yang menggambarkan proses keseluruhan sampai proses terkecil, aliran data dan penyimpanan data. Data Flow Diagram dapat juga didefinisikan sebagai model logis yang menjelaskan sistem sebagai jaringan kerja (sub system) dari proses yang dihubungkan saru dengan yang lainnya dan atau dihubungkan dengan tempat penyimpanan data serta pula dengan sumber dan tujuan. (Kendall, 2003). DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. Komponen data flow diagram : 1. Menurut Yourdan dan DeMarco
Terminator
Proses
Data store
Alur Data
Gambar 2.11 Komponen data flow diagram menurut Yourdan dan De Marco
34
2. Menurut Gene dan Serson
Terminator
Proses
Data Store
AlurData
Gambar 2.12 Komponen data flow diagram menurut Gene dan serson
2.7.2 Perancangan Database Database adalah kumpulan file yang saling berelasi, relasi tersebut biasa ditunjukkan dengan kunci dari tiap file yang ada. Satu basis menunjukkan satu kumpulan data yang dipakai dalam satu lingkup perusahaan atau instansi. (Kristanto, 2004) Untuk membentuk suatu database, diperlukan jenjang data yang dimulai dari : 1. Character : Bagian terkecil dapat berupa angka, huruf, ataupun karakter khusus yang membentuk suatu item data. 2.
FieldField
:
Kumpulan
dari
karakter-karakter
suatu
field
menggunakan suatu atribut dari record menunjukkan suatu item dari data. 3. Record : Kumpulan dari field-field. 4.
File : Kumpulan dari item data yang diatur dalam suatu record dimana item-item data tersebut dimanipulasi untuk proses tertentu.
5.
Kamus Data : Model yang bertujuan membantu pelaku system untuk dapat memgerti aplikasi secara detail dan mengorganisasi semua elemen aplikasi data yang digunakan dalam sistem sehingga pemakai dan penganalisa sistem mempunyai dasar pengertian yang sama tentang masukan, keluaran, penyimpanan dan proses.
35
2.7.2.1 Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) adalah suatu model data yang dikembangkan berdasarkan objek. Entity Relationship Diagram digunakan untuk menjelaskan hubungan antar data dalam basis data kepada pemakai secara logika dalam bentuk diagram. ERD menggambarkan relasi dari dua file atau dua tabel yang dapat digolongkan ke dalam tiga bentuk relasi, yaitu satu-satu (one to one), satubanyak (one to many), banyak-banyak (many to many). Entity Relationship Diagram dasar untuk pengembangan kamus data. Setiap atribut pada ERD dapat didokumentasikan dengan suatu entry kamus elemen data (Fatansyah, 1999). ERD pertama kali dideskripsikan oleh Peter Chen yang dibuat sebagai bagian dari perangkat lunak CASE. Notasi yang digunakan dalam ERD dapat dilihat pada Tabel di bawah ini: Tabel 2.11 simbol –simbol Entity Relationship Diagram
Notasi Entitas
Keterangan Entitas,adalah suatu objek yang dapat diidentitikasi dalam lingkungan pemakai. Relasi,menunjukkan adanya hubungan di antara
Relasi
sejumlah entitas yang berbeda.
Atribut, Berfungsi mendeskripsikan karakter entitas Atribut
(atribut yang berfungsi sebagai key diberi garis bawah) Garis, Sebagai Penghubung antara relasi dengan entitas,relasi dan entitas dengan atribut.
36
2.8 Contoh Ketentuan Penerimaan Peserta Didik Baru di SMA Negeri 1 Mengwi KETENTUAN PENERIMAAN PESERTA DIDIK BARU ( PPDB ) DI SMA NEGERI 1 MENGWI TAHUN PELAJARAN 2011/2012 Setiap siswa kelas IX/III SMP Negeri/Swasta dapat mengikuti seleksi penerimaan siswa baru melalui jalur Tes Potensi Akademik (TPA) dengan menyerahkan persyaratan sebagai berikut : 1. Mengisi Formulir pendaftaran yang telah disediakan, ditulis secara lengkap dengan menggunakan ballpoint tinta hitam dan huruf cetak yang telah mendapat persetujuan dari orang tua/wali siswa dan diketahui oleh Kepala Sekolah dengan membubuhkan tanda tangan dan setempel sekolah. 2. Syarat Pendaftaran Jalur TPA di S M A Negeri 1 Mengwi: a. Telah lulus SMP/MTs/SMPLB/Program Paket B dan memiliki Ijazah b. Berusia setinggi – tingginya 21 pada awal tahun pelajaran 2011/2012 3. Menyerahkan pas foto ukuran 3 x 4 cm sebanyak 2 lembar ( ditempelkan pada kartu peserta TPA) 4. Melampirkan Surat keterangan duduk di kelas IX dan telah mengikuti Ujian Nasional ( map berwarna biru ) bagi siswa yang memilih jalur TPA 5. Bagi Jalur Prestasi disertai dengan melampirkan foto copy Sertifikat Piagam Penghargaan Akademik yang disyahkan oleh Kepala Sekolah bagi siswa yang memiliki prestasi( dengan map berwarna merah ) 6.
Bagi Jalur Miskin disertai dengan melampirkan surat RTM yang disyahkan oleh Bupati ( dengan map warna kuning )
7.
Semua calon peserta PPDB baik jalur TPA, Prestasi,Miskin dan NUN wajib mengikuti Tes TPA
8.
Berkas pendaftaran siswa jalur TPA agar dibawa langsung / secara kolektif oleh SMP masing-masing ke SMA Negeri 1 Mengwi
dan disertai surat
37
pengantar dari Kepala Sekolah, daftar nama peminat seleksi TPA, rekapitulasi jumlah peminat. 9. Jumlah siswa yang akan diterima di SMA Negeri 1 Mengwi untuk Tahun Pelajaran 2011/2012 adalah 224 orang terdiri dari : 50 % melalui Tes TPA 20 % melalui seleksi NUN 20 % melalui seleksi Prestasi 10 % melalui jalur miskin 10. Waktu dan tempat Pendaftaran Penerimaan Peserta Didik Baru ( PPDB ) di SMAN 1 Mengwi: a. Pendaftaran
: Mulai tanggal 16 Mei 2011 s/d 26 Mei 2011
b. Tempat
: SMA Negeri 1 Mengwi. Jl.G.Agung No.3 Mengwi
c. Waktu
: Jam 08.00 – 13.00 Wita
11. Penentuan pelulusan Penerimaan Peserta Didik Baru (PPDB ) yaitu: 60 % dari hasil TPA dan 40 % daru NUN 12. Contoh tabel jadwal pelaksanaan ujian TPA. a. Waktu, Tempat dan Materi Pelaksanaan TPA : Hari/Tanggal
Jam
Mata Pelajaran
Tempat
Senin, 30 Mei 2011
08.00 – 10.00 wita
Matematika
SMA
10.00 – 10.30 wita
Istirahat
Mengwi
10.30 – 12.30 wita
Bahasa Indonesia
08.00 – 10.00 wita
IPA(Fisika,Kimia,Biologi)
SMA
10.00 – 10.30 wita
Istirahat
Mengwi
10.30 – 12.30 wita
Bhs.Inggris
Selasa,31 Mei 2011
Negeri
1
Negeri
1
38
b. Peralatan yang dibawa : 1. Alas LJK, Pensil dan Penghapus LJK 2. Pakaian : Identitas sekolah masing-masing 3. Membawa Nomor Peserta Ujian Nasional SMP tahun 2011 13. Peserta TPA dapat melihat Denah tempat duduk atau Pembagian ruang tes pada hari : Sabtu ,28 Mei 2011, pada pukul 12.00 wita di SMA Negeri 1 Mengwi 14. Pendaftaran PPDB Jalur NUN dilaksanakan di sekolah masing – masing secara kolektif h sesuai dengan ketentuan ,Dinas Pendidikan Pemuda dan Olah Raga Kabupaten Badung. 15. Pengumuman hasil Penerimaan Peserta Didik Baru ( PPDB )
jalur
TPA,Prestasi dan Miskin pada tanggal 8 Juni 2011 dan pelaksanaan pengumuman melalui jalur NUN sesuai dengan
Pengumuman dari
Pendidikan Pemuda dan olah Raga Kabupaten Badung 16. Pendaftaran kembali
bagi calon siswa yang telah diterima melalui jalur
TPA,Prestasi dan Miskin pada taggal 9 s / d 11 Juni 2011 17. Pelaksanaan Tes Prestasi Non Akademik dilaksanakan pada tanggal 1 Juni 2011 18. Hal-hal lain yang belum jelas dalam ketentuan ini dapat ditanyakan langsung pada saat pendaftaran atau melalui telepon ( 0361 ) 811855.