Upload
lynga
View
227
Download
0
Embed Size (px)
Citation preview
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.