bab ii kajian pustaka dan landasan teori 2.1 state of … · menampilkan peta persebaran kualitas...

24
6 BAB II KAJIAN PUSTAKA DAN LANDASAN TEORI Adapun tinjauan pustaka yang menjadi penunjang dalam penelitian ini adalah tentang sistem informasi geografis, indikator kualitas pendidikan, JSON, PHP, Javascript, Google Maps, dan MySQL. 2.1 State of the Art Penelitian mengenai sistem informasi geografis sudah banyak yang mengangkat tentang penelitian tersebut. Yaqin dan Musthafa (2013) dalam penelitiannya yang berjudul Rancang Bangun Sistem Informasi Geografis (SIG) Berbasis Web Untuk Memantau Kualitas SLTP di Kabupaten Gresik. Perancangan sistem yang dibangun berupa data spasial dan non spasial. Menampilkan peta persebaran kualitas SLTP yang ada di Kabupaten Gresik. Marker digunakan untuk memetakan lokasi SLTP yang ada beserta informasi dan polygon dibuat untuk mengetahui nilai rata-rata SSN (Sekolah Standar Nasional) setiap kecamatan. Pengujian sistem menggunakan quisioner. Berdasarkan hasil quisioner dari 10 orang, 60% menyatakan fitur yang ada di sistem ini cukup lengkap, 90% menyatakan data yang telah disediakan oleh sistem cukup lengkap, 60% menyatakan bahwa penggunaan sistem ini cukup mudah, 50% menyatakan bahwa desain aplikasi ini cukup menarik dan 70% menyatakan bahwa aplikasi ini cukup bermanfaat bagi masyarakat. Hidayah dan Fatah Sofyan (2013) dalam penelitiannya yang berjudul Sistem Informasi Geografis Pendidikan Sekolah Menengah Kejuruan di Kabupaten Ponorogo. Menerapkan pemanfaatan Google Maps API dalam memetakan SMK di Kabupaten Ponorogo dan menampilkan informasi dari SMK tersebut serta terdapat petunjuk arah ke lokasi SMK yang dipilih dari lokasi pengguna. Ahyani, Suprayogi, dan Awaluddin (2013) dalam penelitiannya yang berjudul Aplikasi Sistem Informasi Geografis (SIG) untuk Inventaris Sarana dan

Upload: lynga

Post on 09-Mar-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

6

BAB II

KAJIAN PUSTAKA DAN LANDASAN TEORI

Adapun tinjauan pustaka yang menjadi penunjang dalam penelitian ini

adalah tentang sistem informasi geografis, indikator kualitas pendidikan, JSON,

PHP, Javascript, Google Maps, dan MySQL.

2.1 State of the Art

Penelitian mengenai sistem informasi geografis sudah banyak yang

mengangkat tentang penelitian tersebut.

Yaqin dan Musthafa (2013) dalam penelitiannya yang berjudul Rancang

Bangun Sistem Informasi Geografis (SIG) Berbasis Web Untuk Memantau

Kualitas SLTP di Kabupaten Gresik. Perancangan sistem yang dibangun berupa

data spasial dan non spasial. Menampilkan peta persebaran kualitas SLTP yang

ada di Kabupaten Gresik. Marker digunakan untuk memetakan lokasi SLTP yang

ada beserta informasi dan polygon dibuat untuk mengetahui nilai rata-rata SSN

(Sekolah Standar Nasional) setiap kecamatan. Pengujian sistem menggunakan

quisioner. Berdasarkan hasil quisioner dari 10 orang, 60% menyatakan fitur yang

ada di sistem ini cukup lengkap, 90% menyatakan data yang telah disediakan oleh

sistem cukup lengkap, 60% menyatakan bahwa penggunaan sistem ini cukup

mudah, 50% menyatakan bahwa desain aplikasi ini cukup menarik dan 70%

menyatakan bahwa aplikasi ini cukup bermanfaat bagi masyarakat.

Hidayah dan Fatah Sofyan (2013) dalam penelitiannya yang berjudul

Sistem Informasi Geografis Pendidikan Sekolah Menengah Kejuruan di

Kabupaten Ponorogo. Menerapkan pemanfaatan Google Maps API dalam

memetakan SMK di Kabupaten Ponorogo dan menampilkan informasi dari SMK

tersebut serta terdapat petunjuk arah ke lokasi SMK yang dipilih dari lokasi

pengguna.

Ahyani, Suprayogi, dan Awaluddin (2013) dalam penelitiannya yang

berjudul Aplikasi Sistem Informasi Geografis (SIG) untuk Inventaris Sarana dan

7

Prasarana Pendidikan Menggunakan Google Maps API (Studi Kasus: Kec.

Kaliwungu Kab. Kendal). Memetakan seluruh SMP yang ada di Kecamatan

Kaliwungu dan menampilkan informasi inventaris sarana dan prasarana yang

dimiliki. Fitur lain yang diberikan pada aplikasi ini yaitu penentuan rute lokasi

yang dituju dari lokasi pengguna. Data yang ditangani adalah data spasial dan non

spasial.

Beberapa kajian pustaka yang telah dilakukan belum ada penelitian

pemanfaatan fitur yang ada pada Google Maps API terhadap pemetaan wilayah

berdasarkan kualitas pendidikan di Provinsi Bali. Membandingkan kualitas

pendidikan yang rendah atau tinggi menggunakan perbedaan warna terhadap

polygon yang telah dibuat, serta menggunakan metode trend semi average dalam

melakukan peramalan data.

2.2 Indikator Kualitas Pendidikan

Indikator yang menunjukkan kualitas pendidikan di suatu daerah menurut

data statistik yang dihimpun dari Badan Pusat Statistik adalah sebagai berikut:

1. Angka Partisipasi Sekolah

Indikator angka partisipasi sekolah dibagi ke dalam 3 indikator yang dapat

menggambarkan kualitas pendidikan, yaitu:

a. Angka Partisipasi Sekolah (APS)

Angka Partisipasi Sekolah (APS) merupakan proporsi dari semua anak

yang masih sekolah pada satu kelompok umur tertentu terhadap penduduk

dengan kelompok umur yang sesuai. Penghitungan APS biasanya

dikelompokkan untuk kelompok umur sekolah menurut jenjang

pendidikan SD (7-12 tahun), SLTP (13-15 tahun) dan SLTA (16-18

tahun). APS dapat dihitung dengan formula berikut:

……………(2.1)

………(2.2)

8

………...(2.3)

b. Angka Partisipasi Kasar (APK)

Angka Partisipasi Kasar (APK) merupakan proporsi anak sekolah

pada suatu jenjang dengan tidak memandang umur terhadap jumlah

penduduk kelompok umur tertentu. Indikator APK digunakan untuk

menunjukkan tingkat partisipasi penduduk secara umum pada suatu

tingkat pendidikan. Daya serap penduduk terhadap umur sekolah di

masing-masing jenjang pendidikan dapat diukur menggunakan indikator

APK.

Nilai APK yang menunjukkan angka mendekati atau lebih dari 100

persen berarti ada penduduk yang sekolah belum mencukupi umur atau

melebihi umur yang seharusnya. Berdasarkan kondisi yang disebutkan

menggambarkan wilayah tersebut mampu menampung penduduk usia

sekolah lebih dari pada target yang sesungguhnya. Analisis APK juga

perlu dilakukan pada tiga jenjang pendidikan yaitu SD, SLTP, danSLTA.

APK pada msing-masing jenjang pendidikan dapat diformulakan sebagai

berikut:

………….(2.4)

……...(2.5)

……...(2.6)

c. Angka Partisipasi Murni (APM)

Angka Partisipasi Murni (APM) merupakan proporsi anak sekolah

pada satu kelompok usia tertentu yang bersekolah pada jenjang yang

sesuai dengan kelompok usianya terhadap seluruh anak pada kelompok

9

usia tersebut. APM dapat digunakan untuk melakukan kajian di ketiga

jenjang pendidikan yaitu pada jenjang SD, SLTP dan SLTA. APM di

masing-masing jenjang dapat dilihat pada formula berikut.

……………………(2.7)

………………..(2.8)

…………………..(2.9)

2. Angka Melek Huruf (AMH)

Angka Melek Huruf merupakan indikator penting untuk melihat sejauh

mana penduduk suatu daerah terbuka terhadap pengetahuan. Tingkat melek huruf

yang tinggi (atau tingkat buta huruf rendah) menunjukkan adanya sistem

pendidikan dasar yang efektif dan atau program keaksaraan yang memungkinkan

penduduknya untuk memperoleh kemampuan menggunakan kata-kata tertulis

dalam kehidupan sehari-hari dan melanjutkan pembelajaran. Angka melek huruf

berbanding terbalik dengan angka buta huruf,yaitu persentase penduduk 15 tahun

ke atas yang tidak bisa membaca dan menulis baik huruf latin dan atau huruf

lainnya. Semakin tinggi angka melek huruf suatu wilayah berarti angka buta

hurufnya akan semakin rendah. Formula AMH adalah sebagai berikut.

……….(2.10)

3. Angka Putus Sekolah (APtS)

Angka putus sekolah merupakan proporsi anak menurut kelompok usia

sekolah yang sudah tidak bersekolah lagi atau yang tidak menamatkan suatu

jenjang pendidikan tertentu. Adapun kelompok umur yang dimaksud adalah

kelompok umur 7-12 tahun, 13-15 tahun dan 16-18 tahun. Angka putus sekolah

merupakan salah satu indikator pendidikan.

10

………...(2.11)

……...(2.12)

……...(2.13)

2.3 Pengertian SIG

Sistem Informasi Geografis (SIG) adalah sistem komputer yang memiliki

kemampuan pemasukan, pengambilan, analisis data, dan tampilan data geografis

yang sangat berguna bagi pengambilan keputusan.

Sistem Informasi Geografis atau disingkat SIG merupakan suatu sistem

berbasis komputer yang digunakan untuk mengumpulkan, menyimpan, mengatur,

mentransformasi, memanipulasi, dan menganalisis data-data geografis (Yousman,

2004). Data geografis yang dimaksud disini adalah data spasial yang ciri-cirinya

adalah:

1. Memiliki geometric properties seperti koordinat dan lokasi.

2. Terkait dengan aspek ruang seperti persil, kota, kawasan pembangunan.

3. Berhubungan dengan semua fenomena yang terdapat di bumi, misalnya

data, kejadian, gejala atau objek.

4. Dipakai untuk maksud-maksud tertentu, misalnya analisis, pemantauan

ataupun pengelolaan.

Sistem informasi geografis dirancang untuk secara efisien memasukkan

informasi, menyimpan informasi, memperbaharui informasi, memanipulasi

informasi, menganalisa informasi, dan menyajikan semua jenis informasi yang

berorientasi geografis.

11

2.4 Google Maps API

Goolge Maps API adalah layanan aplikasi dan teknologi pemetaan

berbasis web yang disediakan oleh Google. Web ini dapat digunakan secara gratis

untuk pemakaian non-komersil. Google Maps API merupakan perkembangan dari

Google Maps. Manfaat menggunakan Google Maps API ini, dimungkinkan untuk

dapat menggunakan Google Maps di dalam website. Maps API diperluas untuk

menyertakan sebuah API untuk aplikasi Adobe Flash yang sebelumnya hanya

berupa JavaScript API. Keberhasilan Google Maps API telah melahirkan

sejumlah pesaing antara lain Yahoo! Maps API, Bing Maps Platform, MapQuest

Development Platform dan OpenLayers.

Google Maps API terdapat 4 jenis pilihan model peta yang disediakan oleh

Google, diantaranya adalah:

1. Roadmap, untuk menampilkan peta berukuran 2 dimensi.

2. Satellite, untuk menampilkan foto satelit.

3. Terrain, untuk menunjukkan relief fisik permukaan bumi dan menunjukan

seberapa tingginya suatu lokasi, contoh: gunung dan sungai.

4. Hybrid, akan menunjukkan foto satellit yang diatasnya terdapat pula apa

yang tampil pada roadmap.

2.5 MySQL

Pada subbab ini menjelaskan tentang pengertian, RDBMS, dan

keistimewaan yang dimiliki oleh MySQL.

2.5.1 Pengertian MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL

atau DBMS yang multithread, dan multi-user. MySQL AB membuat MySQL

tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public

License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk

kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.

Proyek seperti Apache berbeda dengan MySQL, dimana perangkat lunak

dikembangkan oleh komunitas umum, dan hak cipta untuk kode bersumber dari

penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah

12

perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir

atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang

mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael

"Monty" Widenius.

2.5.2 Sistem Manajemen Basis Data Relasional

MySQL adalah sebuah implementasi dari sistem manajemen basis data

relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL

(General Public License). Setiap pengguna dapat secara bebas menggunakan

MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan

produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan

salah satu konsep utama dalam basis data yang telah ada sebelumnya, SQL

(Structured Query Language). SQL adalah sebuah konsep pengoperasian basis

data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang

memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Kehandalan suatu sistem basis data (DBMS) dapat diketahui dari cara

kerja pengoptimalannya dalam melakukan proses perintah-perintah SQL yang

dibuat oleh pengguna maupun program aplikasi yang memanfaatkannya sebagai

peladen basis data, MySQL mendukung operasi basis data transaksional maupun

operasi basis data non-transaksional. Modus operasi non-transaksional, MySQL

dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak

peladen basis data kompetitor lainnya. Modus non-transaksional tidak ada

jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-

transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan

reliabilitas data seperti aplikasi blogging berbasis web (Wordpress), CMS, dan

sejenisnya. Kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan

untuk menggunakan modus basis data transaksional, hanya saja sebagai

konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat

unjuk kerja pada modus non-transaksional. (Wahono, 2009)

13

2.5.3 Keistimewaan MySQL

MySQL memiliki beberapa keistimewaan yang diberikan bagi pengguna,

antara lain:

1. Portabilitas

Stabilitas MySQL yang baik pada berbagai sistem operasi seperti

Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih

banyak lagi.

2. Perangkat lunak bersifat open source

MySQL didistribusikan sebagai perangkat lunak bersifat open source,

dibawah lisensi GPL sehingga dapat digunakan secara gratis.

3. Multi-user

MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang

bersamaan tanpa mengalami masalah atau konflik.

4. Performance Tuning

MySQL memiliki kecepatan yang cepat dalam menangani query

sederhana, dengan kata lain dapat memproses lebih banyak SQL per

satuan waktu.

5. Ragam tipe data

MySQL memiliki ragam tipe data yang sangat kaya, seperti signed or

unsigned integer, float, double, char, text, date,

timestamp, dan lain-lain.

6. Perintah dan Fungsi

MySQL memiliki operator dan fungsi secara penuh yang mendukung

perintah select dan where dalam perintah (query).

7. Keamanan

MySQL memiliki beberapa lapisan keamanan seperti level subnet mask,

nama host, dan izin akses user dengan sistem perizinan yang mendetail

serta sandi terenkripsi.

8. Skalabilitas dan Pembatasan

MySQL mampu menangani basis data dalam skala besar, dengan jumlah

rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris.

14

Batas indeks yang dapat ditampung mencapai 32 indeks pada tiap

tabelnya.

9. Konektivitas

MySQL dapat melakukan koneksi dengan klien menggunakan protokol

TCP/IP, Unix soket (UNIX).

10. Lokalisasi

MySQL dapat mendeteksi pesan kesalahan pada klien dengan

menggunakan lebih dari dua puluh bahasa. Meskipun demikian, Bahasa

Indonesia belum termasuk di dalamnya.

11. Antar Muka

MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan

bahasa pemrograman dengan menggunakan fungsi API (Application

Programming Interface).

12. Klien dan Peralatan

MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan

untuk administrasi basis data, dan pada setiap peralatan yang ada

disertakan petunjuk online.

13. Struktur tabel

MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani

alter tabel, dibandingkan basis data lainnya semacam PostgreSQL ataupun

Oracle.

2.6 JSON

Sub bab ini menjelaskan tentang pengertian JSON dan struktur JSON yang

digunakan sebagai format pertukaran data dalam aplikasi ini.

2.6.1 Pengertian JSON

JSON (JavaScript Object Notation) adalah format pertukaran data yang

ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan

dibuat (generate) oleh komputer. JSON merupakan format teks yang tidak

bergantung pada bahasa pemrograman apapun karena menggunakan gaya bahasa

yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java,

15

JavaScript, Perl, Python dan lain-lain. Sifat-sifat tersebut menjadikan JSON ideal

sebagai bahasa pertukaran data (Mednieks, 2011).

2.6.1.1 Struktur JSON

JSON terdiri dari dua struktur, struktur yang dimaksud adalah sebagai

berikut (Introducing JSON, http://www.json.org):

1. Kumpulan pasangan nama atau nilai. Kumpulan tersebut dinyatakan

sebagai objek (object), rekaman (record), struktur (struct), kamus

(dictionary), tabel hash (hash table), daftar berkunci (keyed list),

atau associative array.

2. Daftar nilai yang terurut (an ordered list of values). Daftar tersebut

dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan

(sequence).

Struktur data ini disebut sebagai struktur data universal. Pada dasarnya,

semua bahasa pemrograman modern mendukung struktur data ini dalam bentuk

yang sama maupun berlainan karena format data seperti ini mudah dipertukarkan

dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data

ini.

Objek adalah sepasang nama atau nilai yang tidak terurutkan ditunjukkan

pada Gambar 2.1. Objek dimulai dengan “{“(kurung kurawal buka) dan diakhiri

dengan “}” (kurung kurawal tutup). Nama diikuti dengan “:” (titik dua) dan setiap

pasangan nama atau nilai dipisahkan oleh “,” (koma).

Gambar 2.1 Objek Pada JSON

(sumber: http://www.json.org/index.html)

16

Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan tanda

“[“ (kurung siku buka) dan diakhiri dengan tanda “]” (kurung siku tutup). Setiap

nilai dipisahkan oleh tanda “,” (koma) dan ditunjukkan pada Gambar 2.2.

Gambar 2.2 Array Pada JSON

(sumber: http://www.json.org/index.html)

Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda,

atau angka, atau true atau false atau null atau sebuah objek atau sebuah larik.

Struktur-struktur tersebut dapat disusun bertingkat dan ditunjukkan pada

Gambar 2.3.

Gambar 2.3 Nilai Pada JSON

(sumber: http://www.json.org/index.html)

String adalah kumpulan dari nol atau lebih karakter Unicode, yang

dibungkus dengan tanda kutip ganda. String dapat digunakan backslash

escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter

tunggal pada string. String sangat mirip dengan string C atau Java dan

ditunjukkan pada Gambar 2.4.

17

Gambar 2.4 String Pada JSON

(sumber: http://www.json.org/index.html)

Angka pada JSON sangat mirip dengan angka di C atau Java, kecuali

format oktal dan heksadesimal tidak digunakan dan ditunjukkan pada Gambar 2.5.

Gambar 2.5 Angka Pada JSON

(sumber: http://www.json.org/index.html)

Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda

tersebut, kecuali beberapa detil encoding yang secara lengkap dipaparkan oleh

bahasa pemrograman yang bersangkutan.

2.7 PHP

Sub bab ini mejelaskan tentang definisi, syntax, variable, dan kelebihan

dari bahasa pemrograman PHP.

2.7.1 Pengertian PHP

PHP (Hypertext Preprocessor) yang merupakan bahasa pemrograman

berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP

18

dikatakan sebagai sebuah server-side embedded script language artinya sintaks-

sintaks dan perintah yang diberikan sepenuhnya dijalankan oleh server tetapi

disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP

pada umumnya memberikan hasil pada web browser, tetapi prosesnya secara

keseluruhan dijalankan di server (Anhar, 2010).

Mekanisme kerja webserver yang menggunakan bahasa PHP sebagai

fungsi utama dimana client melakukan permintaan pada webserver dan webserver

memberikan hasil terjemahan bahasa PHP ke dalam bahasa HTML yang nantinya

browser client akan mengolah ulang informasi HTML tersebut dan

menampilkannya dengan interface yang berbentuk halaman web ditunjukkan pada

Gambar 2.6.

Gambar 2.6 Mekanisme Kerja PHP

Prinsipnya, server bekerja apabila ada permintaan dari client yang

menggunakan kode-kode PHP untuk mengirimkan permintaan ke server. Berikut

merupakan hal-hal yang dilakukan server ketika PHP digunakan sebagai server-

side embedded script language (Anhar, 2010):

1. Membaca permintaan dari client/browser

2. Mencari halaman/page di server

19

3. Melakukan instruksi yang diberikan oleh PHP untuk melakukan

modifikasi pada halaman/page.

4. Mengirim kembali halaman tersebut kepada client melalui internet atau

intranet.

2.7.2 Sintaks PHP

Kode PHP disimpan sebagai plain text dalam format ASCII, sehingga kode

PHP dapat ditulis hampir disemua editor text seperti Windows Notepad, Windows

Wordpad, dan lain-lain. Kode PHP adalah kode yang disertakan di sebuah

halaman HTML dan kode tersebut dijalankan oleh server sebelum dikirim ke

browser ditunjukkan pada Kode Program 2.1.

<html>

<?php

Print ("Contoh text yang menggunakan kode PHP");

?>

</html>

Kode Program 2.1 Contoh File PHP (contoh.php)

HTTP server hanya melewatkan content dari file menuju ke browser pada

file.html. Server tidak mencoba untuk mengerti atau memproses file, karena itu

adalah tugas sebuah browser.

Webserver memulai bekerja apabila berada diluar lingkungan kode HTML,

oleh karena itu server melewati semua content yang berisi kode HTML, CSS,

JavaScript, simple text di browser tanpa diinterpretasikan di server.

Block scripting PHP selalu diawali dengan “<?php“ dan diakhiri dengan

“?>“. Block scripting PHP dapat ditempatkan dimana saja di dalam dokumen.

Server yang mendukung block scripting PHP dapat diawali dengan tanda “<?”

dan diakhiri dengan tanda “?>”, namun, untuk kompatibilitas maksimum,

sebaiknya menggunakan bentuk yang standar (<?php ?>).

Baris kode PHP harus diakhiri dengan semikolon (;). Semikolon ini

merupakan separator yang digunakan untuk membedakan satu instruksi dengan

20

instruksi lainnya. Tanda “//” digunakan PHP untuk membuat komentar baris

tunggal atau” /*” dan “*/” untuk membuat suatu block komentar.

2.7.3 Variabel PHP

Variabel digunakan untuk menyimpan suatu nilai, seperti teks, angka atau

array. Ketika sebuah variabel dibuat, variabel tersebut dapat dipakai berulang-

ulang. Variable dapat dipakai berulang-ulang saat sebuah variabel dibuat.

Variabel harus dimulai dengan karakter “$”. Variabel PHP tidak perlu

dideklarasikan dan ditetapkan jenis datanya sebelum menggunakan variabel

tersebut. Tipe data dari variabel dapat berubah sesuai dengan perubahan konteks

yang dilakukan oleh user. Secara tipikal, variabel PHP cukup diinisialisasikan

dengan memberikan nilai kepada variabel tersebut. Kode Program 2.2 adalah

contoh pencetakan PHP.

$text = "PHP";

print "$text";

Kode Program 2.2 Contoh Pencetakan PHP

Identifier dalam PHP adalah case-sensitive, sehingga $text dengan $Text

merupakan variabel yang berbeda. Built-in function dan structure tidak case-

sensitive, sehingga echo dengan ECHO mengerjakan perintah yang sama. Identifier

dapat berupa sejumlah huruf, digit atau angka, underscore, atau tanda dollar tetapi

identifier tidak dapat dimulai dengan digit atau angka.

Berikut ini adalah aturan-aturan yang ada dalam penamaan variable pada

bahasa pemrograman PHP:

1. Nama variabel harus diawali dengan sebuah huruf atau garis bawah

(underscore) “_”.

2. Nama variabel hanya boleh mengandung karakter alpha-numeric dan

underscore (a-Z, 0-9, dan _).

3. Nama variabel tidak boleh mengandung spasi.

21

2.7.4 Kelebihan PHP

PHP memiliki beberapa kelebihan. Kelebihan yang dimaksud adalah

sebagai berikut (Anhar, 2010):

1. Bahasa Pemrograman PHP adalah sebuah bahasa script yang tidak

melakukan sebuah kompilasi dalam penggunaanya.

2. Webserver yang mendukung PHP dapat ditemukan dimana-mana dari

mulai Apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang

relatif mudah.

3. Sisi pengembangan lebih mudah, karena banyaknya milis-milis dan

developer yang siap membantu dalam pengembangan.

4. Sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah

karena memiliki referensi yang banyak.

5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin

(Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime

melalui console serta juga dapat menjalankan perintah-perintah sistem.

2.8 JavaScript

JavaScript adalah bahasa script yang populer di internet dan dapat bekerja

disebagian besar penjelajah web populer seperti Internet Explorer (IE), Mozilla

Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan dalam halaman

website dengan penggunaan tag SCRIPT.

2.8.1 Sejarah

JavaScript pertama kali dikembangkan oleh Brendan Eich dari Netscape

dibawah nama Mocha, yang selanjutnya namanya diganti menjadi LiveScript, dan

akhirnya menjadi JavaScript.

Navigator sebelumnya telah mendukung Java untuk lebih bisa

dimanfaatkan para programmer yang non-Java. Dikembangkanlah bahasa

pemrograman bernama LiveScript untuk mengakomodasi hal tersebut. Bahasa

pemrograman inilah yang akhirnya berkembang dan diberi nama JavaScript,

walaupun tidak ada hubungan bahasa antara Java dengan JavaScript (Sierra,

2005).

22

JavaScript bisa digunakan untuk banyak tujuan, misalnya untuk membuat

efek rollover baik di gambar maupun teks, dan yang penting juga adalah untuk

membuat AJAX. JavaScript adalah bahasa yang digunakan untuk AJAX.

2.8.2 Sintaks JavaScript

Kode JavaScript biasanya dituliskan dalam bentuk fungsi yang ditaruh di

tag <head> yang dibuka dengan tag <script type="teks/JavaScript">.

Kode JavaScript juga bisa diletakkan di file tersendiri yang berekstensi .js

(singkatan dari JavaScript). Memanggil kode JavaScript yang terdapat di file

sendiri dapat dilakukan dengan cara, di bagian awal <head> harus ditentukan

dahulu nama file.js yang dimaksud menggunakan contoh kode seperti berikut:

1. Script pada bagian Head

Script ini dieksekusi ketika dipanggil (biasanya berbentuk function) atau

dipanggil berdasarkan trigger pada event tertentu.

<html>

<head>

<script type="teks/JavaScript">

...

</script>

</head>

</html>

Kode Program 2.3 Contoh Script HTML untuk Head

Penerapan script HTML untuk Head ditunjukkan pada Kode Program 2.3.

Peletakkan script di head menjamin script di-load terlebih dahulu sebelum

digunakan (dipanggil).

2. Script pada bagian Body

Script ini dieksekusi ketika halaman di-load sampai di bagian <body>.

Ketika menempatkan script pada bagian <body> berarti antara isi dan JavaScript

dijadikan satu bagian. Penerapan script-nya ditunjukkan pada Kode Program 2.4.

<html>

<head>

</head>

23

<body>

<script type="teks/JavaScript">

....

</script>

</body>

</html>

Kode Program 2.4 Contoh Script HTML untuk Body

Script pada bagian <body> bisa diletakkan pada awal bagian <body> atau

di akhir bagian <body>. Hal ini berpengaruh pada cara eksekusi proses load

elemen dan script yang ada pada halaman.

3. External JavaScript

Menjalankan JavaScript yang sama dalam beberapa kali pada halaman

yang berbeda, tetapi tidak mau disibukkan jika harus menulis ulang script yang

diinginkan di setiap halaman, maka JavaScript dapat ditulis di file secara

eksternal. Jadi, antara dokumen HTML dan JavaScript dipisahkan, kemudian

berkas tersebut dipanggil dari dokumen HTML. Berkas JavaScript tersebut

disimpan dengan ekstensi .js.

<html>

<head>

</head>

<body>

<script src="xxx.js">

</script>

<p>Script di atas berada di berkas "xx.js" (eksternal)

</p>

</body>

</html>

Kode Program 2.5 Contoh Script HTML untuk External JavaScript

Penggunaan eksternal JavaScript (.js) dipakai atribut "src" pada tag

<script> pada halaman HTML-nya ditunjukkan pada Kode Program 2.5.

2.9 Pengertian JQuery

JQuery adalah JavaScript library, dengan semboyannya “write less, do

more”. JQuery dirancang untuk memperingkas kode-kode JavaScript. JQuery

adalah JavaScript Library yang cepat dan ringan untuk menangani dokumen

24

HTML, menangani event, membuat animasi dan interakasi AJAX. JQuery

dirancang untuk mengubah cara menulis JavaScript.

2.9.1 Kelebihan JQuery

Library JQuery mempunyai kemampuan, kemampuan tersebut adalah

sebagai berikut:

1. Kemudahan mengakses elemen-elemen HTML

2. Elemen HTML yang dapat dimanipulasi

3. CSS dapat dimanipulasi layaknya elemen HTML

4. Kemudahan dalam penanganan Event HTML

5. Efek-efek JavaScript dan animasi

6. Modifikasi HTML DOM

7. AJAX

8. Kode javascript lebih sederhana

2.9.2 Sintaks JQuery

Sintaks JQuery biasanya dibuat untuk memilih elemen-elemen HTML dan

melakukan aksi terhadap elemen yang dipilih. Kode Program 2.6 menunjukkan

contoh sintaks penulisan kode JQuery.

<html>

<head>

<script type="text/JavaScript"

src="jquery.js"></script><script type="text/JavaScript">

$(document).ready(function(){

$(".button1").click(function(){$("p").hide(1000);});

$(".button2").click(function(){$("p").show(1000);});

});

</script>

</head>

<body>

<p>Halo dunia!</p>

<button class="button1">Sembunyikan</button>

<button class="button2">Tampilkan</button>

</body>

</html>

Kode Program 2.6 Contoh Sintaks Penulisan Kode jQuery

25

Segala sesuatu bila menggunakan JQuery dalam hal memanipulasi

Document Object Model (DOM), perlu dipastikan untuk menambahkan event

ready yang menandakan DOM siap.

2.9.3 JQuery Selector

Manipulasi elemen HTML dapat dilakukan menggunakan JQuery Selector.

Penjelasan sebelumnya telah diperlihatkan cara seperti Kode Program 2.6 dalam

memilih elemen HTML menggunakan JQuery. Daftar selector JQuery

ditunjukkan pada Tabel 2.1.

Tabel 2.1 Daftar Selector jQuery

Selector Contoh Yang dipilih * $(“*”) Semua elemen #id $(“#lastname”) Elemen yang mempunyai

id=”lastname” .class $(“.intro”) Semua elemen yang

mempunyai class=”intro” element $(“p”) Semua elemen <p> :not(selector) $(“input:not(:empty)

”) Semua input elemen yang

tidak kosong :contains(text) $(“:contains(‘click

here’)”) Semua elemen yang

mengandung ‘click here’ :empty $(“:empty”) Semua elemen yang tidak

mempunyai elemen anakan :hidden $(“p:hidden”) Semua elemen <p> yang

tersembunyi :visible $(“tabel:visible”) Semua tabel yang visible s1, s2, s3 $(“th, td, .intro”) Semua elemen yang cocok

dengan th, td, .intro [atribut] $(“[href]”) Semua elemen yang

mempunyai atribut href [atribut=value] $(“[href=’#’]”) Semua elemen yang

mempunyai atribut bernilai href=”#”

[atribut!=value] $(“[href!=’#’]”) Semua elemen yang

mempunyai atribut href yang

tidak bernilai “#” [atribut$=value] $(“[href$=’.jpg’]”) Semua elemen yang

mempunyai atribut href yang

nilainya mengandung “.jpg”

26

:input $(“:input”) Semua elemen <input> :text $(“:text”) Semua elemen <input>

dengan type=”text” :password $(“:password”) Semua elemen <input>

dengan type=”password” :radio $(“:radio”) Semua elemen <input>

dengan type=”radio” :button $(“:button”) Semua elemen <input>

dengan type=”button” :selected $(“:selected”) Semua elemen <input> yang

terseleksi :checked $(“:checked”) Semua elemen <input> yang

tercheck

(sumber : Sibero. 2013)

JQuery element selector dan attribute selector memungkinkan untuk

memilih elemen HTML (atau kelompok elemen) dengan nama tag, nama atribut

atau konten.

2.9.4 JQuery Events

Menangani event adalah kemampuan jQuery, biasanya kode-kode

pemograman diletakkan di dalam penanganan event yang terjadi pada suatu atau

kelompok elemen yang dipilih. Daftar event-event yang dapat terjadi dari elemen

HTML ditunjukkan pada Tabel 2.2.

Tabel 2.2 Daftar Event yang Ada di JQuery

Event Function $(document).ready(function) Menjalankan sesuatu ketika seluruh

elemen selesai ditampilkan. $(selector).change(function) Menjalankan event ketika ada

perubahan nilai untuk elemen

tersebut. $(selector).click(function) Menjalankan event ketika elemen

tersebut terkena klik. $(selector).dblclick(function) Menjalankan event ketika elemen

tersebut terkena klik dua kali. $(selector).error(function) Menjalankan event ketika terjadi

error pada elemen. $(selector).focus(function) Menjalankan event ketika elemen

27

tersebut mendapatkan fokus. $(selector).load(function) Menjalankan event ketika elemen

tersebut berhasil ditampilkan. $(selector).mousedown(function) Menjalankan event ketika elemen

tersebut mendapatkan klik dari

mouse. $(selector).mouseenter(function) Menjalankan event ketika elemen

tersebut mendapatkanhover dari

pointer. $(selector).mouseleave(function) Menjalankan event ketika elemen

tersebut kehilangan hover dari

pointer. $(selector).mousemove(function) Menjalankan event ketika elemen

tersebut kehilangan hover dari

pointer. $(selector).mouseout(function) Menjalankan event ketika elemen

tersebut kehilangan hover dari

pointer. $(selector).mouseover(function) Menjalankan event ketika elemen

tersebut mendapatkan hover dari

pointer. $(selector).mouseup(function) Menjalankan event ketika elemen

tersebut mendapatkan hover dari

pointer. $(selector).resize(function) Menjalankan event ketika ada

perubahan tinggi atau lebar yang

terjadi pada elemen. $(selector).select(function) Menjalankan event ketika elemen

yang bersangkutan terpilih. $(selector).submit(function) Menjalankan event ketika sebuah

elemen form di-submit. $(selector).unload(function) Menjalankan event ketika sebuah

elemen hilang dari layar.

(sumber : Sibero. 2013)

Beberapa event yang dilakukan dalam setiap elemen dapat di-handle dengan

menggunakan jQuery event.

2.10 Trend Semi Average Method

Metode trend semi average tergolong metode trend linier. Trend linier

berupa garis lurus jika digambar ke dalam grafik. Metode ini akan membentuk

28

garis lurus sebagai pengganti garis patah-patah terbentuk dari data historis yang

diperoleh dengan perhitungan-perhitungan statistik dan matematika tertentu.

Metode trend semi average dapat digunakan untuk keperluan peramalan dengan

membentuk suatu persamaan seperti analisis regresi. Metode ini dapat digunakan

dengan jumlah data genap ataupun ganjil.

Algoritma dalam mengaplikasikan metode trend semi average dalam

melakukan peramalan adalah sebagai berikut:

1. Mengelompokkan data menjadi dua kelompok.

a. Bila jumlah data genap maka langsung dibagi dua.

b. Bila jumlah ganjil maka disesuaikan dengan salah satu dari cara

berikut:

1) Mengeliminasi data tahun paling awal atau

2) Menambah data tahun tengah

2. Menentukan periode dasar, dapat dilakukan dengan dua cara, yaitu:

a. Tahun tengah data kelompok I

b. Tahun tengah data kelompok II

3. Menentukan angka tahun berdasarkan periode dasar.

4. Menentukan nilai semi total atau total dari masing-masing kelompok.

5. Menentukan semi average tiap kelompok data dengan cara nilai semi total

dibagi jumlah data dalam kelompok.

6. Menentukan nilai a dengan cara.

a. Bila tahun dasar menggunakan tahun tengah kelompok I maka nilai a

adalah nilai Semi Average kelompok I.

b. Bila tahun dasar menggunakan tahun tengah kelompok II maka nilai a

adalah nilai Semi Average kelompok II.

7. Menentukan nilai b dengan cara.

a. Bila jumlah data kelompok adalah ganjil, maka nilai b ditentukan

dengan cara membagi selisih antara nilai semi average kelompok II

dan I dengan jarak tahun antara tahun tengah kelompok I dan II.

b. Bila jumlah data kelompok adalah genap maka nilai b ditentukan

dengan cara.

29

1) Menghitung nilai antara dengan membagi selisih antara nilai semi

average kelompok II dan I dengan jumlah data dalam kelompok

2) Nilai b ditentukan dengan membagi nilai antara dengan nilai

tahunnya (selisih antar angka tahun)

8. Membuat fungsi trend. Untuk menentukan nilai trend linier untuk tahun-

tahun tertentu dapat dirumuskan sebagai berikut:

Y’ = a0 + bX ……………………………..(2.14)

Keterangan : Y’ : data berkala (time series) atau taksiran nilai trend

a0 : nilai trend pada tahun dasar

b : rata-rata pertumbuhan nilai trend tiap tahun

X : variabel waktu (tahun)

n : jumlah data tiap kelompok

9. Meramalkan data tahun tertentu dimana nilai X ditentukan berdasarkan

angka tahun untuk tahun yang hendak diramalkan.