BAB II LANDASAN TEORI Beberapa penjelasan teori

advertisement
BAB II
LANDASAN TEORI
Beberapa penjelasan teori-teori umum informatika yang berkaitan dengan
pembuatan aplikasi ini.
2.1.
Aplikasi Mobile
Menurut Wikipedia, aplikasi adalah program yang digunakan orang untuk
melakukan sesuatu pada sistem komputer. Mobile dapat diartikan sebagai
perpindahan yang mudah dari satu tempat ke tempat yang lain, misalnya telepon
mobile berarti bahwa terminal telepon yang dapat berpindah dengan mudah dari
satu tempat ke tempat lain tanpa terjadi pemutusan atau terputusnya komunikasi.
Sistem aplikasi mobile merupakan aplikasi yang dapat digunakan walaupun
pengguna berpindah dengan mudah dari satu tempat ketempat lain lain tanpa
terjadi pemutusan atau terputusnya komunikasi. Aplikasi ini dapat diakses melalui
perangkat nirkabel seperti pager, seperti telepon seluler dan PDA. Adapun
karakteristik perangkat mobile yaitu:
1. Ukuran yang kecil: Perangkat mobile memiliki ukuran yang kecil. Konsumen
menginginkan perangkat yang terkecil untuk kenyamanan dan mobilitas
mereka.
2. Memory yang terbatas: Perangkat mobile juga memiliki memory yang kecil,
yaitu primary (RAM) dan secondary (disk).
3. Daya proses yang terbatas: Sistem mobile tidaklah setangguh rekan mereka
yaitu desktop.
10
11
4. Mengkonsumsi daya yang rendah: Perangkat mobile menghabiskan sedikit
daya dibandingkan dengan mesin desktop.
5. Kuat dan dapat diandalkan: Karena perangkat mobile selalu dibawa kemana
saja, mereka harus cukup kuat untuk menghadapi benturan-benturan, gerakan,
dan sesekali tetesan-tetesan air.
6. Konektivitas yang terbatas: Perangkat mobile memiliki bandwith rendah,
beberapa dari mereka bahkan tidak tersambung.
7. Masa hidup yang pendek: Perangkat-perangkat konsumen ini menyala dalam
hitungan detik kebanyakan dari mereka selalu menyala.
2.2.
Android
Android adalah sebuah sistem operasi pada handphone yang bersifat
terbuka dan berbasis pada sistem operasi Linux. Android bisa digunakan oleh
setiap orang yang ingin menggunakannya pada perangkat mereka. Android
menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi
mereka sendiri yang akan digunakan untuk bermacam peranti bergerak. Awalnya,
Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak
untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open
Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan
telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile,
dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android
bersama Open Handset Alliance menyatakan mendukung pengembangan standar
terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android
12
di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka
perangkat seluler (Safaat, 2012: 1).
2.2.1. ADT (Android Development Tools)
Android development tools adalah plugin yang dirancang untuk IDE
Eclipse yang memberi kita kemudahan dalam mengembangkan aplikasi android
dengan menggunakan IDE Eclipe. Dengan menggunakan ADT untuk Eclipe akan
memudahkan dalam membuat aplikasi project android, membuat GUI aplikasi
dan menambahkan komponen-komponen yang lainnya, begitu juga dapat
melakukan running aplikasi menggunakan android SDK melalui Eclipe. Dengan
ADT juga kita dapat melakukan pembuatan package android (.apk) yang
digunakan untuk mendistribusikan aplikasi android yang telah dirancang. (Safaat,
2012:6)
2.2.2. Arsitektur Android
Arsitektur Android menunjukkan komponen-komponen utama yang
terdapat pada sistem operasi Android.
1. Application dan Widgets
Application dan widgets ini adalah layer di mana kita berhubungan dengan
aplikasi saja, di mana biasanya kita download aplikasi kemudian kita lakukan
instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk
client email, program SMS, kalender, peta, browser, kontak, dan lain-lain.
Semua aplikasi ditulis menggunakan bahasa pemogrman Java.
13
2. Applications Frameworks
Android adalah open development platform yaitu menawarkan kepada
pengembang untuk
membangun
aplikasi
yang bagus
dan
inovatif.
Pengembangan bebas untuk mengakses perangkat keras, akses informasi
resources,
menjalankan
service
background,
mengatur
alarm,
dan
menambahkan status notifications. Pengembangan memiliki akses pennuh
menuju API framework seperti yang dilakukan oleh aplikasi yang kategori
inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat
menggunakan kembali komponen yang sudah digunakan (reuse).
3. Libraries
Libraries adalah layer di mana fitur-fitur android berada, biasanya para
pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya.
Berjalan di atas karnel, layer ini meliputi berbagai library C/C++ inti seperti
Libc dan SSL, libraries untuk memutar media audio dan video, libraries
untuk manajemen tampilan dan lain-lain.
4. Android Run Time
Layer yang membuat aplikasi android dapat dijalankan di mana dalam
prosesnya menggunkan implementasi linux. Dalvik Virtual Machine (DVM)
merupakan mesin yang membentuk dasar kerangka aplikasi android.
5. Linux Karnel
Linux karnel adalah layer di mana inti dari operating system dari android itu
berada. Berisi file-file system yang mengatur system prosessing, memory,
14
resource, drivers, dan sistem-sistem operasi android lainnya. Linux karnel
yang digunakan android adalah linux karnel release 2.6. (Safaat, 2012:8)
Gambar 2.1 Arsitektur Android
(Sumber Gambar: http://source.android.com)
2.3.
Web
Web merupakan sumber daya internet yang berkembang pesat. Web biasa
disebut World Wide Web (WWW). Informasi web didistribusikan melalui
pendekatan hypertext yang memungkinkan suatu text pendek menjadi acuan untuk
membuka dokumen yang lain. Dengan pendekatan hypertext ini seorang dapat
memperoleh informasi dengan meloncat dari suatu dokumen ke dokumen yang
lain. Dokumen-dokumen yang diaksespun dapat tersebar ke berbagai mesin di
berbagai Negara. (Kodir, 2002: 4)
15
Gambar 2.2 Konsep Hypertext
(Darmansyah: 2010)
2.3.1. Sejarah Web
Sejarah web dimulai pada bulan maret 1989 ketika Tim Berner-Lee yag
bekerja di Laboratorium Fisika Partikel Eropa atau yang dikenal dengan nama
CERN (Consei European pour la Recherce Nuclaire) yang berada di Genewa,
Swiss, mengajukan protocol system distribusi informasi internet yang digunakan
untuk berbagai informasi diantara fisikawan.
Protocol inilah yang selanjutnya dikenal sebagai protocol World Wide Web
dan dikembangkan oleh World Wide Web Consortium (W3C). Sebagaimana
diketahui, W3C adalah konsorsium dari sejumlah organisasi yang berkepentingan
dalam pengembangan berbagai standar yang berkaitan dengan web. (Kodir,
2002:5)
16
2.3.2. Aplikasi Web
Pada awalnya aplikasi web dibagun hanya dengan menggunakan bahasa
yang disebut HTML (Hypertext Tranfer Marcup Language) dan protocol yang
digunakan dinamakan HTTP (Hypertext Tranfer Protokcol). Pada pengembangan
berikutnya, sejumlah skrip dan objek dikembangkan untuk memperluas
kemampuan HTML. Pada saat ini, banyak skrip diantaranya: PHP dan ASP,
sedangkan contoh yang berupa objek diantaranya adalah applet (Java). (Kodir,
2002:6)
Aplikasi web sendiri dapat dibagi menjadi:
1. Web statis
Web statis dibentuk dengan menggunakan HTML saja, kekurangan
aplikasi seperti ini terletak pada keharusan untuk memelihara program
secara terus-menerus untuk mengikuti setiap perubahan yang terjadi.
2. Web dinamis
Web dinamis yaitu menutupi kelemahan dari web statis dengan model
aplikasi dengan memperluas kemampuan HTML, yakni dengan
menggunakan perangkat lunak tambahan, perubahan informasi dalam
halaman-halaman web sebagai implementasinya, aplikasi web dapat
dikoneksikan ke database. Dengan demikian perubahan informasi dapat
dilakukan oleh operator atau yang bertanggung jawab terhadap
kemuktahiran data, dan tidak menjadi tanggung jawab programmer atau
webmaster.
17
Gambar 2.3 Arsetektur aplikasi web
(Sumber Gambar: http://digilib.ittelkom.ac.id)
2.3.3. Teknologi Web
Dari sisi teknologi yang dgunakan untuk membentuk web dinamis,
terdapat dua macam pengelompokan, yaitu:
1. Teknologi pada sisi klien (client-side technology)
Teknologi pada sisi klien diimplementasikan dengan mengirimkan kode
perluasan HTML atau program tersendiri dan HTML ke klien. Klienlah
yang bertanggung jawab dalam melakukan proses terhadap seluruh kode
yang diterima. Kelemahan pendekatan seperti ini adalah terdapat
kemungkinan bahwa browser pada klien tidak mendukung fitur kode
perluasan HTML.
2. Teknologi web pada sisi server (server-side technology)
Teknologi web pada sisi server memungkinkan pemprosesan kode didalam
server sehingga kode yang disampaikan pada pemakai berbeda dengan
kode asli pada server. Keuntungan menggunakan teknologi ini adalah
mengurangi lalu-lintas jaringan dengan cara menghindari percakapan
bolak-balik antara klien dan server.
18
2.4.
Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Aplikasi-aplikasi berbasis java umumnya
dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai
Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat
umum/non-spesifik (general purpose), dan secara khusus didisain untuk
memanfaatkan
dependensi
implementasi
seminimal
mungkin.
Karena
fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa
platform sistem operasi yang berbeda. (Wikipedia)
2.4.1. Sejarah Java
Java bermula dari proyek penelitian perusahaan Sun Microsystems dengan
nama sandi Green pada tahun 1991. Terdapat prediksi bahwa microprossesor akan
digunakan luas pada peralatan-peralatan elektronik. Karena adanya bermacam tipe
mikroprosesor, maka dibutuhkan sebuah bahasa yang dapat berjalan disemua
microprocessor.
Terciptanya sebuah bahasa pemograman baru. Oleh James Gosling, yaitu
salah satu orang yang berperan besar dalam proyek tersebut, program ini diberi
nama oak. Sesuai dengan pohon oak yang tumbuh dan bias dilihat melalui jendela
kerjanya di Sun Microsystems.
Beberapa waktu kemudian ditemukan bahwa ada bahasa pemograman
dengan nama oak. Setelah beberapa pegawai Sun mengunjungi kedai kopi, nama
bahasa itu diganti dengan Java. Java merupakan salah satu jenis biji kopi yang ada
dkedai tersebut, yaitu biji kopi jawa. (Hakim dan Sutarto, 2009:1)
19
2.4.2. Perkembangan Teknologi Java
Sun Microsystems membagi java menjadi empat jenis edisi:
1. Java card: teknologi java yang digunakan pada peralatan elektronik
yang memiliki memori sangat terbatas seperti smart card.
2. J2ME: java 2 platform, micro edition. Merupakan teknologi java edisi
mikro, digunakan untuk penerapan teknologi Java pada peralatan
elektronik seperti handphone dan PDA.
3. J2SE: Java 2 platform, enterprise edition. Merupakan teknologi Java
edisi standar, digunakan untuk penerapan teknologi Java pada
komputer desktop.
4. J2EE: Java 2 platform, enterprise edition. Merupakan Java edisi
enterprise digunakan untuk penerapan teknologi Java pada komputer
server. (Hakim dan Sutarto, 2009:2)
2.4.3. Keunggulan Java
Java mempunyai beberapa kelebihan yang membuatnya dipakai luas
terutama untuk aplikasi enterprise. Java bahkan di prediksi menjadi bahasa masa
depan. Java telah banyak diajarkan di lingkungan pendidikan dan dipakai secara
luas oleh perusahaan dan lembaga bersekala internasional.
1) Relative mudah dipelajari
Java merupakan bahasa pemograman berorientasi objek yang mudah
dipelajari.
2) Mudah dikembangkan
20
Dengan pemograman berorientasi objek, komponen program Java terpecah
menjadi satu atau beberapa class. Pengembangan bahasa Java sangat
mudah karena tinggal mengubah atau menambah class yang pernah dibuat.
Selain itu juga dapat menggunakan class-class yang sudah ada dalam Java
API ataupun dibuat oleh pihak ketiga.
3) Platform Independent
Dengan semboyan write once run everywhere, anda dapat menggunakan
program Java pada beberapa mesin berbeda. Mulai dari PDA, handphone,
komputer, hingga server. Dengan mesin hardware yang berbeda dan
sistem operasi berbeda, Java tetap dapat digunakan. (Hakim dan Sutarto,
2009:6)
2.5.
OOP (Object Oriented Programming)
Object-Oriented Programming (OOP) adalah sebuah pendekatan untuk
pengembangan / development suatu software dimana dalam struktur software
tersebut
didasarkan
proses/tugas.
kepada
Interaksi
interaksi
object
tersebut mengambil
dalam
penyelesaian
suatu
form dari pesan-pesan dan
mengirimkannya kembali antar object tersebut. Object akan merespon pesan
tersebut menjadi sebuah tindakan / action atau metode. Jika kita mencoba melihat
bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita
berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti
berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi objectobject lain yang berinteraksi untuk melakukan tugasnya membawa kita.
21
Dalam pemograman procedural, yang menjadi orientasi adalah bagaimana
melakukan kerja, seperti merubah data masukan (input) supaya mendapatkan
keluaran (output) yang diinginkan. Dengan pola pikir ini akan memecah program
menjadi beberapa bagian berupa perintah-perintah yang lebih kecil dan sederhana.
(Hakim dan Sutarto, 2009: 79)
Adapun karakteristik yang dimiliki OOP yaitu :
1. Objects
Object merupakan pemodelan sistem yang lebih natural dibandingkan
dengan procedural. Dalam dunia nyata, object dapat dilihat di mana saja.
Setiap objek mempunyai dua karakteristik, yaitu keadaaan (state) dan
tingkah laku (behavior). Keadaan (state) dgunakan untuk menyimpan
informasi objek. Di dalam bahasa java, keadaan disebut juga dengan
attribute atau field. Sedangkan tingkah laku digunakan untuk menentukan
kerja apa saja yang dapat dilakukan objek. (Hakim dan Sutarto, 2009: 80)
2. Class
Setiap program yang dibuat dengan Java harus mempunyai paling tidak
satu class. Class merupakan cetak biru atau tamplate objek. Class bukan
objek real, namun merupakan konsep objek. Dalam pendefinisian class
terlebih dahulu menentukan field dan metode yang akan digunakan. (Hakim
dan Sutarto, 2009: 80)
3. Encapsulation
Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah
sebuah proses dimana tidak ada akses langsung ke data yang diberikan,
22
bahkan hidden. Jika kamu ingin mendapat data, kamu harus berinteraksi
dengan object yang bertanggung jawab atas data tersebut.
4. Polymorphism
Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk
merespon pesan permintaan yang sama dalam suatu cara yang unik.
Contohnya, kamu dapat mengirim pesan print ke object printer yang akan
mencetak pada printer, dan kamu juga dapat mengirim pesan yang sama ke
object screen yang akan menuliskan pada screen monitor. Dalam OOP,
kamu menerapkan tipe polymorphism melalui proses yang disebut
overloading. Kamu dapat mengimplementasikan metode yang berbeda
pada sebuah object yang mempunyai nama yang sama.
5. Inheritance
Penggunaan inheritance dalam OOP untuk mengklasifikasikan objects
dalam program sesuai karakteristik umum dan fungsinya. Hal ini akan
membuat pekerjaan bersama object lebih mudah dan lebih intuitif. Hal ini
juga membuat programming lebih mudah karena memungkinkan kita untuk
mengkombinasikan karakteristik umum kedalam object parent dan
mewariskan karakteristik ini ke child object. (Hakim dan Sutarto, 2009: 81)
2.6. UML (Unified Modeling Language)
Unified Modeling Language merupakan salah satu alat bantu yang dapat
igunakan dalam bahasa pemograman yang berorientasi objek, saat ini UML akan
mulai menjadi standar masa depan bagi industri pengembangan sistem/perangkat
23
lunak yang berorientasi objek sebab pada dasarnya UML digunakan oleh banyak
perusahaan raksasa seperti IBM, Microsoft. (Informatika: 2013)
1. Pengertian UML
Berdasarkan beberapa pendapat yang dikemukakan dapat ditarik kesimpulan
bahwa unified modeling language adalah sebuah bahasa yang berdasarkan
grafik
atau
gambar
untuk
menvisualisasikan,
menspesifikasikan,
membangun dan pendokumentasian dari sebuah sistem pengembangan
perangkat lunak berbasis objek.
2. Diagram UML
Diagram berbentuk grafik yang menunjukkan simbol elemen model yang
disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem.
Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika
digambarkan biasanya dialokasikan untuk view tertentu. Adapun jenis
diagram antara lain :
a. Use Case Diagram
Use case adalah abstraksi dari interaksi antara sistem dan actor. Use
case bekerja dengan cara mendeskripsikan tipe interaksi antara user
sebuah sistem dengan sistemnya sendiri melalui sebuah cerita
bagaimana sebuah sistem dipakai. Use case merupakan konstruksi untuk
mendeskripsikan bagaimana sistem akan terlihat di mata user.
Sedangkan use case diagram memfasilitasi komunikasi diantara analis
dan pengguna serta antara analis dan client.
24
b. Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku
(operasi) dan relasi yang sama. Sehingga dengan adanya class diagram
dapat memberikan pandangan global atas sebuah sistem. Hal tersebut
tercermin dari class-class yang ada dan relasinya satu dengan yang
lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram.
Class diagram sangat membantu dalam visualisasi struktur kelas dari
suatu sistem.
c. Component Diagram
Component diagram merupakan bagian fisik dari sebuah sistem, karena
menetap di komputer tidak berada di benak para analis. Komponen
merupakan implementasi software dari sebuah atau lebih class.
Komponen dapat berupa source code, komponen biner, atau executable
component. Sebuah komponen berisi informasi tentang logic class atau
class yang diimplementasikan sehingga membuat pemetaan dari logical
view
ke
component
merepresentasikan
dunia
view.
real
Sehingga
yaitu
component
component
diagram
software
yang
mengandung component, interface dan relationship.
d. Deployment Diagram
Menggambarkan tata letak sebuah sistem secara fisik, menampakkan
bagian-bagian software yang berjalan pada bagian-bagian hardware,
menunjukkan hubungan komputer dengan perangkat (nodes) satu sama
lain dan jenis hubungannya. Di dalam nodes, executeable component
25
dan object yang dialokasikan untuk memperlihatkan unit perangkat
lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.
e. State Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object
dari suatu class dan keadaan yang menyebabkan state berubah. Kejadian
dapat berupa object lain yang mengirim pesan. State class tidak
digambarkan untuk semua class, hanya yang mempunyai sejumlah state
yang terdefinisi dengan baik dan kondisi class berubah oleh state yang
berbeda.
f. Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada
sebuah skenario. Kegunaannya untuk menunjukkan rangkaian pesan
yang dikirim antara object juga interaksi antara object, sesuatu yang
terjadi pada titik tertentu dalam eksekusi sistem.
g. Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam
menunjukkan
pertukaran
pesan,
collaboration
diagrams
menggambarkan object dan hubungannya (mengacu ke konteks). Jika
penekannya pada waktu atau urutan gunakan sequence diagrams, tapi
jika penekanannya pada konteks gunakan collaboration diagram.
h. Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk
mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga
26
dapat juga digunakan untuk aktifitas lainnya seperti use case atau
interaksi.
2.7. Basis Data
Basis data adalah sekumpulan data persistence yang saling terkait,
menggambarkan suatu organisasi (enterprise). Sistem Basis data (DBS) suatu
sistem yang mengelola data dan menyediakan data tersebut apabila dibutuhkan.
1. Model Entity
Peter Pin-Shan Chen, “The Entity-Relationship Model-Toward a unifield
view of data”, 1976. Model data E-R didasarkan pada persepsi bahwa dunia
nyata merupakan sekumpulan dari sejumlah obyek dasar (entitas) dan relasi
antar obyek-obyek data tersebut. Termasuk dalam kelompok object-based
logical. Merupakan contoh kelas Extended atau semantic models.
a. Entitas (Entity)
Sebuah entitas adalah sebuah obyek yang dapat dibedakan dari obyekobyek lainnya. Entitas dapat dikelompokan menjadi entitas konkrit dan
entitas abstrak dan entitas biasa (Regular/Strong) dan entitas lemah
(Weak). Himpunan entitas (entity set) adalah kumpulan sejumlah entitas
yang memiliki tipe yang sama. Sebuah entitas memiliki sejumlah
properti (atribut). Setiap atribut memiliki sekumpulan nilai yang
diizinkan, yang disebut domain. Sebuah basis data mengandung
sekumpulan himpunan entitas, yang masing-masingnya memiliki
sejumlah entitas dari tipe yang sama.
27
b. Batasan (Kekangan), Kekangan digunakan untuk melindungi integritas
data (misalnya, melindungi kesalahan sewaktu pengisian data).
c. Atribut, atribut dapat dikelompokan menjadi Key Vs Non Key, Atribut
sederhana Vs Atribut Komposit, Atribut bernilai tunggal Vs Banyak,
Atribut Mandatory dan Non Mandatory dan Atribut Turunan
d. Relasi (Relationship), Sebuah relasi menggambarkan suatu asosiasi
antar sejumlah entitas. Himpunan relasi (Relationship set) adalah
kumpulan sejumlah relasi yang memiliki tipe yang sama. Jumlah entitas
terlihat dalam 2 buah relasi disebut derajat. Kebanyakan relasi yang
muncul adalah relasi binary, ada beberapa yang ternary, lebih dari itu
sangat jarang. Fungsi sebuah entitas di dalam relasi disebut peran (role).
Sebuah relasi dapat memiliki atribut.
e. Kardinalitas
Relasi
(Derajat
Hubungan)
adalah
Relasi
yang
dimungkinkan antar entitas dimana 1 – 1, 1 – N, N – 1, N – N/N – M.
f. Diagram E-R menggambarkan struktur lojik keseluruhan basis data.
Simbol yang digunakan adalah persegi empat, merepresentasikan
himpunan entitas (untuk entitas lemah diberi garis ganda), elips,
merepresentasikan
atribut,
Wajik,
merepresentasikan
himpunan
keterhubungan, garis, menghubungkan simbol-simbol pada diagram,
label dari persegi empat, elips, dan wajik menunjukkan nama dan
kardinalitas.
g. Varian Entitas
28
2.8. MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(database management system) atau DBMS yang multithread, multi-user, dengan
sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia
sebagai perangkat lunak gratis dibawah lisensi GNU General Public License,
tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana
penggunaannya tidak cocok dengan penggunaan GPL. (Sidik, 2003:1)
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat
lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber
dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh
sebuah 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.9. PHP
PHP adalah teknologi yang diperkenalkan tahun 1994 oleh Rasmus Lerdorf.
Beberapa versi awal yang tidak dipublikasikan digunakan pada situs pribadinya
untuk mencatat siapa saya yang mengakses daftar riwayat hidup onlinenya. Versi
pertama digunakan oleh pihak lain pada awal tahun 1995 dan dikenal sebagai
Personal Home Page Tools. Terkandung didalamnya sebuah parser engine
(mesin pengurai) yang sangat disederhanakan, yang hanya mampu mengolah
macro khusus dan beberapa utilitas yang sering digunakan pada pembuatan home
page seperti buku tamu, pencacah dan hal semacamnya. Parser tersebut ditulis
29
ulang pada pertengahan 1995 dan dinamakan PHP/FI Versiaon 2. FI (Form
Interprenter) sendiri berasal dari kode lain yang ditulis juga oleh Rasmus, yang
menterjemahkan HTML dari data. Ia menggabungkan script Personal Home Page
Tools dengan Form Interprenter dan menambahkan dukungan terhadap server
database yang menggunakan format mSQL sehingga lahirlah PHP/FI. PHP/FI
tumbuh dengan pesat, dan orang-orang mulai menyiapkan kode-kode programnya
supaya bisa didukung oleh PHP. (Kodir, 2002: 512)
2.9.1. Pengertian PHP
PHP singkatan dari Personal Home Page Tools, adalah sebuah bahasa
scripting yang dibundel dengan HTML, yang dijalankan disisi server. Sebagian
besar perintahnya berasal dari C, Java dan Perl dengan beberapa tambahan fungsi
khusus PHP. Bahasa ini memungkinkan para pembuat aplikasi web menyajikan
halaman HTML dinamis dan interaktif dengan cepat dan mudah, yang dihasilkan
server. PHP juga dimaksudkan untuk mengganti teknologi lama seperti CGI
(Common Gateway Interface).
PHP bisa berinteraksi dengan hampir semua teknologi web yang sudah
ada. Developer bisa menulis sebuah program PHP yang mengeksekusi suatu
program CGI di webserver lain. Fleksibilitas ini amat bermanfaat bagi pemilik
situs-situs web yang besar dan sibuk, karena pemilik masih bisa mempergunakan
aplikasi-aplikasi yang sudah terlanjur dibuat di masa lalu dengan CGI, ISAP atau
dengan script seperti Perl, Awk atau Python selama proses migrasi ke aplikasi
baru yang dibuat dengan PHP. Ini mempermudah dan memperluas peralihan
antara teknologi lama dan teknologi baru. (wikipedia)
30
2.9.2. Kelebihan PHP
Adapun kelebihan dari PHP itu sendiri adalah sebagai beriku:
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaannya.
2. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling
mudah karena referensi yang banyak.
3. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin
(Linux, Unix, Windows) dan dapat dijalankan secara runtime melalui
console serta juga dapat menjalankan perintah-perintah sistem.
4. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari
mulai IIS sampai dengan apache, dengan konfigurasi yang relatif mudah.
5. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan
developer yang siap membantu dalam pengembangan.
2.10. 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. Format ini dibuat berdasarkan bagian dari
Bahasa Pemrograman JavaScript, Standard ECMA-262 Edisi ke-3 – Desember
1999. JSON merupakan format teks yang tidak bergantung pada bahasa
pemrograman apapun karena menggunakan gaya bahasa yang umum digunakan
oleh programmer keluarga C. Oleh karena sifat-sifat tersebut, menjadikan JSON
sebagai bahasa pertukaran data. (http://www.json.org)
31
Semua bahasa pemrograman modern mendukung struktur data ini dalam
bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena
format data mulai dipertukarkan dengan bahasa-bahasa pemrograman yang juga
berdasarkan pada struktur data ini. JSON menggunakan bentuk sebagai beriktu :
1. Objek
Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai
dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal
tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan
nama/nilai dipisahkan oleh , (koma).
Gambar 2.4 Objek JSON
(Sumber Gambar : http://www.json.org)
2. Larik
Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [
(kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap
nilai dipisahkan oleh , (koma).
Gambar 2.5 Larik JSON
(Sumber Gambar: http://www.json.org)
32
3. Nilai
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.
Gambar 2.6 Nilai JSON
(Sumber Gambar : http://www.json.org)
4. String
String adalah kumpulan dari nol atau lebih karakter Unicode, yang
dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan
backslash escaped “\“ untuk membentuk karaktetr khusus. Sebuah
karakter mewakili karakter tunggal pada string. String sangat mirip dengan
string C atau Java.
Gambar 2.7 String JSON
(Sumber Gambar: http://www.json.org)
33
5. Angka
Angka adalah sangat mirip dengan angka di C atau Java, kecuali format
oktal dan heksadesimal tidak digunakan.
Gambar 2.8 Angka JSON
(Sumber Gambar : http://www.json.org)
2.11.
Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah suatu proses yang igunakan untuk
mengidentifikasi ketepatan, kelengkapan dan mutu dari perangkat lunak dalam
ilmu komputer yang dikembangkan. .Pada dasarnya, pengujiann tidak pernah
dapat menetapkan kebenaran dari perangkat lunak
Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu
pada kualitas perangkat lunak tidak dapat terlalul ditekankan seperti yang
dikatakan oleh Deutsch :
“Pengembangan sistem perangkat lunak melibatkan sederetan aktivitas
produksi di mana peluang terjadinya kesalahan manusia sangat besar.
Kesalahan dapat mulai terjadi pada permulaan proses di mana sasaran
ditetapkan secara tidak sempurna, dan dalam desain dan tahap
pengembangan selanjutnya…. Karena ketidak mampuan manusia untuk
melakukan dan berkomunikasi dengan sempurna, maka pengembangan
perangkat lunak di iringi dengan aktivitas jaminan kualitas”.
34
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas
perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi,desain dan
pengkodean. (Pressman, 2002: 525)
2.11.1. Sasaran Pengujian Perangkat Lunak
Yang menjadi target sasaran dalam pengujian perangkat lunak adalah:
1. Pengujian adalah proses eksekusi suatu program dengan maksud
menemukan kesalahan.
2. Test case yang baik adalah test case yang memiliki probabilitas tinggi
untuk menemukan kesalahan yang belum ditemukan pernah sebelumnya.
3. Pengujian yang sukses adalah yang mengungkap semua kesalahan yang
belum pernah ditemukan sebelumnya.
Sasaran tersebut menggmpementasikan adanya perubahan titik pandang
yang dramatis. Sasaran itu berawalan dengan pandangan yang biasanya dipegang
yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada
kesalahan yag ditemukan. Sasaran kita adalah mendisain pengujian yang secara
sistemis mengungkap kelas kesalahan yang berbeda dan melakukannya dengan
jumlah waktu dan saha minimum. (Pressman, 2002: 527)
2.11.2. Jenis Pengujian
Pada umumnya terdapat dua jenis pengujian yaitu, Black-Box Testing dan
White-Box Testing. Perbedaan yang mencolok diantara keduanya adalah
pengujinya. Black-Box dilakukan oleh pengguna perangkat lunak yang mana
hanya memperhatikan input dan outputnya saja. Apabila hasil output telah sesuai
dengan input yang di uji, maka perangkat lunak talah lulus uji. Sedangkan White-
35
Box testing biasanya dilakukan oleh tim penguji dari pembuat perangkat lunak.
Sehingga yang diperhatikan bukan hanya input dan output, melainkan juga proses
yang terjadi yang mengakibatkan perubahan dari input menjadi output.
Salah satu contoh dari pengujian white-box adalah basis-path, yang
memungkinkan desainer test case mengukur kompleksitas logis dari desain
procedural dan menggunakannya sebagai pedoman untuk menetapkan basis set
dari jalur eksekusi.
2.12.
Ensiklopedia
Ensiklopedia adalah sejumlah tulisan yang berisi penjelasan yang
menyimpan informasi secara komprehensif dan cepat dipahami serta dimengerti
mengenai keseluruhan cabang ilmu pengetahuan atau khusus dalam satu cabang
ilmu pengetahuan tertentu yang tersusun dalam bagian artikel-artikel dengan satu
topik bahasan pada tiap-tiap artikel yang disusun berdasarkan abjad, kategori atau
volume terbitan dan pada umumnya tercetak dalam bentuk rangkaian buku yang
tergantung pada jumlah bahan yang disertakan.
Pada era modern kata ensiklopedia secara pertama kali dipakai oleh Paul
Scalich, seorang penulis Jerman pada tahun 1559. Lalu filsuf Inggris Francis
Bacon pada awal abad ke-17 memakai kata ini pada arti modern. Tetapi makna
kata ensiklopedia baru dipakai dalam artinya seperti hari ini setelah Denis Diderot,
seorang penulis dan filsuf Perancis juga memakai kata ini untuk memberi nama
proyek yang sedang dikerjannya. Proyeknya yang juga dikatakan proyek abad ke18 ini berlangsung selama 30 tahun, dari tahun 1750 – 1780. Tujuan proyeknya ini
36
untuk menulis secara sistematis semua pengetahuan yang diketahui oleh umat
manusia.
Dalam bahasa Perancis ensiklopedia Diderot ini disebutnya: Encyclopédie
ou Dictionnaire raisonné des sciences, des arts et des métiers. Artinya dalam
bahasa Indonesia ialah “Ensiklopedia atau kamus beranotasi tentang ilmu
pengetahuan, seni, dan pekerjaan. (Wikipedia)
2.13.
Seni dan Kebudayaan
Kekayaan seni budaya Jawa Barat merupakan bagian tidak terpisahkan
dari kekayaan seni budaya Nusantara. Indonesia merupakan negara yang paling
tinggi diversitas etnisnya di dunia, dimana didalamnnya Jawa Barat menjadi
bagian yang tidak terpisahkan dan diversitas etnis yang tersebar disejumlah
wilayah tersebut ter-refleksi dari keragaman bahasa, ornamentasi, dan berbagai
artifak kultural lain sebagai bentuk respon evolutif dari manusia atas keunikan
sistem ekologis di mana ia hidup. (Wikipedia)
2.13.1. Definisi Seni
Seni adalah sebuah kata yang semua orang di pastikan mengenalnya,
walaupun dengan kadar pemahaman yang berbeda. Kata seni berasal dari kata
“sani” yang artinya jiwa yang luhur atau ketulusan jiwa. Bisa dimaknainya
dengan keberangkatan seniaman saat akan membuat karya seni, namun menurut
kajian ilmu di eropa mengatakan “art” (artivisial) yang artinya adalah barang/ atau
karya dari sebuah kegiatan. (Wikipedia)
Berdasarkan penelitian para ahli menyatakan seni/karya seni sudah ada +
sejak 60.000 tahun yang. Bukti ini terdapat pada dinding-dinding gua di Prancis
37
Selatan. Buktinya berupa lukisan yang berupa torehan-torehan pada dinding
dengan menggunakan warna yang menggambarkan kehidupan manusia purba.
Artefak/bukti ini mengingatkan pada lukisan modern yang penuh ekspresi. Hal ini
dapat kita lihat dari kebebaan mengubah bentuk. Satu hal yang membedakan
antara karya seni manusia Purba dengan manusia Modern adalah terletak pada
tujuan penciptaannya. Kalau manusia purba membuat karya seni/penanda
kebudayaan pada massanya adalah semat-mata hanya untuk kepentingan
Sosioreligi, atau manusia purba adalah figure yang masih terbentuk oleh
kekuatan-kekuatan di sekitarnya. Sedangkan manusia modern membuat karya seni
dan kebudayaan pada masanya digunakan untuk kepuasan pribadi dan
menggambarkan kondisi lingkungannya. Dengan kata lain manusia modern adalah
sosok yang ingin menemukan hal-hal yang baru dan mempunyai cakrawala
berfikir yang lebih luas.
Pada
awalnya
seni
diciptakan
untuk
kepentingan
bersama/milik
bersama.karya- karya seni yang ditinggalkan pada masa pra-sejarah tidak pernah
menunjukan identitas pembuatnya. Demikian pula peninggalan-peninggalan dari
masa lalu seperti bangunan atau artefak di mesir kuno, Byzantium, Romawi,
India, atau bahkan di Indonesia sendiri. Kalupun ada penjelasan tertentu pada
artefak tersebut hanya penjelasan yang menyatakan benda dan bangunan tersebut
di buat untuk siapa. (Wikipedia)
2.13.2. Definisi Kebudayaan
Kebudayaan sangat erat hubungannya dengan masyarakat. Melville J.
Herskovits dan Bronislaw Malinowski mengemukakan bahwa segala sesuatu yang
38
terdapat dalam masyarakat ditentukan oleh kebudayaan yang dimiliki oleh
masyarakat itu sendiri. Istilah untuk pendapat itu adalah Cultural-Determinism.
Koentjaraningrat (2000:180) menyatakan “kebudayaan adalah keseluruhan
sistem gagasan, tindakan dan hasil karya manusias dalam rangka kehidupan
masyarakat yang dijadikan milik diri manusia dengan belajar”.
Herskovits memandang kebudayaan sebagai sesuatu yang turun temurun
dari satu generasi ke generasi yang lain, yang kemudian disebut sebagai
superorganic.
Menurut
Andreas
Eppink,
kebudayaan
mengandung
keseluruhan
pengertian nilai sosial,norma sosial, ilmu pengetahuan serta keseluruhan strukturstruktur sosial, religius, dan lain-lain, tambahan lagi segala pernyataan intelektual
dan artistik yang menjadi ciri khas suatu masyarakat.
Menurut Edward Burnett Tylor (2003: 136), “kebudayaan merupakan
keseluruhan yang kompleks, yang di dalamnya terkandung pengetahuan,
kepercayaan, kesenian, moral, hukum, adat istiadat, dan kemampuan-kemampuan
lain yang didapat seseorang sebagai anggota masyarakat”.
Dari berbagai definisi tersebut, dapat diperoleh pengertian mengenai
kebudayaan adalah sesuatu yang akan memengaruhi tingkat pengetahuan dan
meliputi sistem ide atau gagasan yang terdapat dalam pikiran manusia, sehingga
dalam kehidupan sehari-hari, kebudayaan itu bersifat abstrak.
Download