1 BAB II LANDASAN TEORI 2.1 Teori Umum Merupakan kumpulan teori-teori pokok yang menjadi landasan bagi teori-teori lainnya yang terdapat pada skripsi ...
2.1 Teori Umum Merupakan kumpulan teori-teori pokok yang menjadi landasan bagi teori-teori lainnya yang terdapat pada skripsi ini. 2.1.1 Rekayasa Piranti Lunak Menurut Pressman (2010:13), rekayasa piranti lunak adalah proses pembentukan dan penggunaan prinsip-prinsip engineering yang baik dalam rangka untuk mendapatkan perangkat lunak ekonomis yang bersifat handal dan mampu bekerja secara efisien pada mesin nyata. Rekayasa piranti lunak diterapkan secara sistematis dan disiplin dengan menggunakan pendekatan kuantitatif untuk proses pengembangan operasi, dan pemeliharaan perangkat lunak. Rekayasa piranti lunak meliputi proses, metode untuk mengelola engineering software dan tools. Lebih lanjut lagi Pressman mengatakan bahwa rekayasa piranti lunak menggunakan teknologi layer (berlapis). Setiap engineering (termasuk rekayasa piranti lunak) harus bersandar kepada komitmen yang dimiliki oleh suatu organisasi untuk mencapai quality (kualitas) yang diharapkan. Landasan dari rekayasa piranti lunak adalah proses layer. Rekayasa piranti lunak berperan sebagai perekat yang memegang teknologi layer secara bersama-sama dan memungkinkan pengembangan secara rasional serta tepat waktu dari perangkat lunak komputer. Prosesnya mendefinisikan sebuah framework (kerangka kerja). 2.1.1.1 Process Framework Menurut Pressman (2010:15) sebuah process framework menetapkan dasar untuk
proses rekayasa piranti lunak dengan
mengidentifikasi sejumlah aktivitas framework yang berlaku untuk semua proyek perangkat lunak, terlepas dari ukuran atau kompleksitas. Terkait dengan hal itu , Pressman membagi kerangka kerja untuk rekayasa piranti lunak menjadi 5 tahapan yaitu: 9
10
•
Communication Communication dilakukan sebelum pekerjaan teknis dilakukan. Communication merupakan proses komunikasi dan kolaborasi terhadap customer. Tujuannya adalah untuk memahami tujuan customer untuk proyek dan mengumpulkan requirement yang membantu mendefinisikan fitur dari perangkat lunak dan fungsi yang terdapat di dalamnya.
•
Planning Rekayasa piranti lunak membutuhkan kegiatan yang terencana yang akan membantu memandu tim dengan mendefinisikan pekerjaan-pekerjaan yang harus dilakukan
melalui penjelasan
tugas-tugas teknis yang akan dilakukan, risiko yang mungkin, sumber daya yang diperlukan, produk kerja yang harus diproduksi, dan kerja. •
Modeling Modeling merupakan proses membuat sketsa sehingga software engineer bisa memahami gambaran besar mengenai apa yang akan dibuat, bagian-bagian penyusunnya, karakterisitiknya. Tujuan dari proses modeling adalah agar software engineer lebih memahami requirement serta desain dari perangkat lunak tersebut.
•
Construction Construction merupakan kegiatan yang menggabungkan code generation (baik manual atau otomatis) serta testing (pengujian) yang dibutuhkan untuk mengungkap error dalam coding yang dibuat.
•
Deployment Deployment merupakan bentuk kegiatan dimana perangkat lunak (sebagai entitas lengkap atau sebagian) dikirim kepada customer yang
akan mengevaluasi perangkat lunak tersebut dan
memberikan dilakukannya.
umpan
balik
berdasarkan
evaluasi
yang
11
2.1.1.2 Model Process Waterfall Menurut Pressman (2010:39), model waterfall atau sering disebut classic life cycle merupakan model rekayasa piranti lunak sistematis yang melakukan pendekatan sekuensial untuk pengembangan perangkat lunak diawali dengan requirements dari spesifikasi customer kemudian berkembang melalui planning, modeling, construction, dan deployment, yang berpuncak pada dukungan yang berkelanjutan kepada perangkat lunak.
Gambar 2.1 Proses Model Waterfall
Pressman membagi proses waterfall model untuk rekayasa piranti lunak menjadi 5 tahapan yaitu: •
Communication Communication merupakan proses komunikasi dan kolaborasi terhadap customer. Tujuannya adalah untuk memahami tujuan customer untuk proyek dan mengumpulkan requirement yang membantu mendefinisikan fitur dari perangkat lunak dan fungsi yang terdapat di dalamnya. Proses communication dilakukan melalui inisialisasi proyek dan pengumpulan requirement.
•
Planning Rekayasa piranti lunak membutuhkan kegiatan yang terencana yang akan membantu memandu tim dengan mendefinisikan pekerjaan-pekerjaan yang harus dilakukan
melalui penjelasan
tugas-tugas teknis yang akan dilakukan, risiko yang mungkin, sumber daya yang diperlukan, produk kerja yang harus diproduksi, dan kerja. Proses planning dilakukan melalui esitimasi, scheduling, dan tracking.
12
•
Modeling Modeling merupakan proses membuat sketsa sehingga software engineer bisa memahami gambaran besar mengenai apa yang akan dibuat,
bagian-bagian
penyusunnya, karakterisitiknya
berdasarkan requirement yang ada sebelumnya. Tujuan dari proses modeling adalah agar software engineer lebih memahami requirement serta desain dari perangkat lunak tersebut. Proses modeling dilakukan melalui proses analisa dan design. •
Construction Construction merupakan kegiatan yang menggabungkan code generation (baik manual atau otomatis) serta testing (pengujian) yang dibutuhkan untuk mengungkap error dalam coding yang dibuat. Proses construction dilakukan melalui proses coding dan testing (pengujian).
•
Deployment Deployment merupakan bentuk kegiatan dimana perangkat lunak (sebagai entitas lengkap atau sebagian) dikirim kepada customer yang
akan
memberikan
mengevaluasi umpan
perangkat
balik
lunak
berdasarkan
tersebut evaluasi
dan yang
dilakukannya. Proses deployment dilakukan melalui proses delivery, support, dan feedback (saran).
2.1.2 Interaksi Manusia dan Komputer 2.1.2.1 Delapan Aturan Emas (Eight Golden Rules) Ada delapan aturan emas untuk membuat suatu user interface yang baik (Shneiderman & Plaisant, 2010:88-89). 1. Berusaha untuk konsistensi Konsistensi dari urutan aksi, proses, fungsi, penampilan dan terminology harus serupa, walaupun dalam situasi yang berbedabeda. 2. Memungkinkan pengguna untuk melakukan kegunaan universal Seiring dengan meningkatnya keseringan penggunaan / rutinitas, user selalu ingin mengerjakan segala sesuatu lebih cepat. Oleh
13
karena itu, akan lebih baik jika disediakan shortcut seperti tombol fungsi, makro ataupun perintah-perintah tersembunyi lainnya untuk mempercepat pekerjaan user. 3. Menyediakan umpan balik yang informatif. Setiap tindakan yang dilakukan oleh operator, sistem harus memberikan response balik yang informatif. Untuk kejadiankejadian yang sering terjadi response harus dibuat sesederhana mungkin, sedangkan untuk kejadian yang jarang terjadi, informasi balik yang diberikan harus jelas dan relevan. 4. Menyediakan desain dialog untuk penutupan Serangkaian aksi yang dilakukan oleh user pasti terdiri atas permulaan, pertengahan dan penutupan. Informasi penutupan dari suatu aksi memberikan kesan kepuasan dan juga kepercayaan kepada user atas tindakan yang dilakukannya. 5. Menyediakan penyelesaian masalah yang sederhana Rancanglah sebuah sistem agar sebisa mungkin user tidak membuat kesalahan yang serius. Jika user melakukan kesalahan, sistem harus dapat mendeteksi kesalahan dan memberikan solusi penyelesaian yang sederhana kepada user. 6. Mengijinkan aksi balik Fitur ini membantu meringkankan beban user ketika melakukan kesalahan. Dengan mengijinkan aksi balik, seorang user dapat mengulang kesalahan yang dilakukannya tanpa menggangu urutan kerja sistem dan memberikan keleluasaan yang lebih kepada user. 7. Menyediakan tempat kontrol internal Buatlah sebuah sistem yang memberikan keleluasaan kepada user untuk melakukan navigasi ataupun pengaturan halaman (kontrol internal). 8. Mengurangi beban ingatan jangka pendek Kurangi beban ingatan jangka pendek yang harus diingat user ketika menggunakan sistem. Buatlah sistem sesederhana mungkin agar mudah untuk digunakan, dipelajari dan diingat.
14
2.1.3 Rich Picture Menurut Tan dan Lambe (2008: 116), rich picture merupakan gambaran umum mengenai proses bisnis yang terjadi di dalam perusahaan termasuk actor yang melakukan kegiatan bisnis untuk memudahkan dalam memahami proses bisnis yang ada pada perusahaan tersebut. Actor di dalam rich picture bukan hanya menggambarkan orang, tetapi juga obyek yang ada di dalam perusahaan.
2.1.4 Entity Relationship Diagram Menurut Whitten dan Bentley (2007: 271), ERD (Entitiy Relationship Diagram) merupakan sebuah model data menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan relation yang dijelaskan oleh data itu. ERD mempunyai bagian-bagian penting (Whitten dan Bentley, 2007: 271-274) yaitu : •
Entity Entity adalah sebuah class dari orang, tempat, object, event, atau konsep mengenai dimana dibutuhkan untuk mengambil dan menyimpan data.
•
Attributes Attributes merupakan property deskriptif atau karakteristik dari suatu entitas, termasuk didalamnya terdapat elemen, property, dan field.
•
Relationship Relationship merupakan sebuah association bisnis alami yang ada di antara satu atau lebih entitas. Relationship juga mungkin merepresentasikan suatu event yang menghubungkan entitas entitas yang ada.
15
2.1.5 Data Flow Diagram Menurut Whitten dan Bentley (2007: 317), Data Flow Diagram (DFD) merupakan tool yang menggambarkan aliran data dan proses kerja di sistem, termasuk di dalamnya bubble chart, transformation graph, dan process model. Terdapat tiga symbol dan satu connection di dalam data flow diagram: •
Rounded rectangle (Oval) Rounded rectangle merepresentasikan sebuah proses kerja yang harus dilakukan.
•
Square (Persegi) Square merepresentasikan sebuah external agent.
•
Arrow (panah) Arrow merepresentasikan aliran data (input dan output) ke dan dari sebuah proses.
•
Open-ended boxes Open-ended boxes merepresentasikan data store (biasa dipanggil file atau database).
2.1.6 Database Menurut Connolly & Begg (2010: 65). Database adalah sekumpulan data yang saling berelasi secara logikal dan juga deskripsi dari data tersebut yang dirancang untuk keperluan organisasi. Menurut Elmasri & Navathe (2011:4). Database adalah sekumpulan data yang saling berhubungan, merepresentasikan beberapa aspek dari dunia nyata. Database dirancang, dibuat dan berisi data untuk sebuah tujuan yang spesifik. Menurut Coronel, Morris & Rob (2011:7). Database adalah struktur komputer yang terintegrasi secara terpadu yang menyimpan koleksi dari: • Data end user, yaitu berupa fakta yang berhubungan dengan end user. • Metadata (data yang menyimpan informasi tentang data), dimana data end user di-integrasi dan dikelola.
16
2.1.7 Database Language Data Language terdiri atas dua bagian yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Keduanya disebut sebagai database language karena keduanya tidak dibuat untuk keperluan komputasi atau perhitungan seperti keadaan kondisi ataupun keadaan berulang yang harus disajikan lebih sebagai bahasa pemrograman tingkat tinggi. (Connolly & Begg, 2010: 91). 2.1.7.1 Data Definition Language (DDL) Data Definition Language (DDL) adalah sebuah bahasa database yang mengijinkan DBA atau user untuk mendeskripsikan nama entities, attribut – attribut dan relasi yang diperlukan oleh aplikasi bersamaan
dengan
integritas
dan
aturan-aturan
di
dalam
penyimpanannya. (Connolly & Begg, 2010: 92). DDL berkaitan dengan operasi-operasi yang melakukan perubahan struktur schema. Contoh operasi DDL adalah CREATE, DROP, ALTER. 2.1.7.2 Data Manipulation Language (DML) Data Manipulation Language (DML) adalah sebuah bahasa database yang menyedikan sejumlah set operasi untuk mendukung manipulasi data terhadap data yang dimiliki oleh database. (Connolly & Begg, 2010: 92). DML berkaitan dengan operasi-operasi yang melakukan perubahan data di dalam suatu schema. Contoh operasi DML adalah INSERT, UPDATE, DELETE. 2.1.8 Testing Proses testing (pengujian) bertujuan untuk menemukan kesalahan (error) dari proses coding yang telah dilakukan dan memperbaikinya. Pengujian yang baik adalah pengujian yang memiliki probabilitas tinggi untuk menemukan kesalahan. Proses testing harus mampu menunjukan karakteristik yang dapat mencapai tujuan untuk menemukan jumlah error maximum (kesalahan maksimum) dengan usaha dan waktu yang minimum. Hasil yang dapat diperoleh dari proses testing berupa sebuah laporan yang berisi sebuah desain dari set test
17
cases yang mampu menguji logika, interface, kolaborasi komponen, requirement external design yang didokumentasikan, definisi hasil yang diharapkan, dan hasil yang terjadi secara real (nyata). (Pressman, 2010: 482). 2.1.8.1 Black-Box Testing Menurut Pressman (2010: 495), Black-box testing atau yang biasa dikenal sebagai behavioral testing adalah proses pengujian yang berfokus requirement (persyaratan) fungsional dari perangkat lunak. Black-box testing memungkinkan developer untuk mendapatkan set kondisi input yang sepenuhnya melaksanakan semua requirement (persyaratan) fungsional suatu program (perangkat lunak). Black-box testing berupaya untuk menemukan error dengan kategori: •
Fungsi yang tidak benar atau hilang
•
Interface error (kesalahan interface)
•
Error (kesalahan) dalam struktur data atau external database access
•
Performance error
•
Initialization dan termination errors (kesalahan inisialisasi dan terminasi)
Melalui penerapan Black-Box testing, developer dapat memperoleh test cases yang memenuhi kriteria: •
Mengurangi jumlah test cases tambahan yang harus didesain untuk memenuhi syarat pengujian wajar.
•
Test cases memberitahu tentang ada atau tidaknya kesalahan pada class daripada kesalahan yang hanya terkait dengan tes khusus yang dihadapi.
2.2 Teori Khusus Merupakan kumpulan teori-teori khusus yang merupakan teori tambahan pendukung teori-teori umum yang sudah terdapat dalam skripsi ini.
18
2.2.1 Maintenance Menurut Assauri (2004:95), maintenance adalah suatu kegiatan yang diadakan untuk memelihara fasilitas atau peralatan yang ada di pabrik dan mengadakan perbaikan atau penyesuaian yang diperlukan supaya terjadi keadaan produksi sesuai dengan apa yang direncanakan. Sedangkan Tampubolon (2004:250) berpendapat bahwa maintenance merupakan suatu fungsi di dalam perusahaan yang sama pentingnya dengan fungsi produksi, dimana peralatan dan mesin dikelola agar siap pakai untuk menjaga agar setia penggunaan peralatan secara kontinu dapat berproduksi. Menurut Dewita, Putera , dan Suparsa (2013:8) maintenance adalah suatu aktivitas menjaga suatu fasilitas atau peralatan dan mengadakan perbaikan atau penggantian komponen yang diperlukan agar terdapat suatu kegiatan operasional atau produksi yang sesuai dengan apa yang direncanakan. Jadi dapat disimpulkan bahwa kegiatan maintenance (pemeliharaan) adalah kegiatan atau aktivitas yang dilakukan untuk memelihara fasilitas atau peralatan agar kegiatan produksi tetap bisa berjalan sesuai yang direncanakan (efektif) melalui perbaikan atau penyesuaian yang diperlukan. 2.2.1.1 Tujuan Maintenance Menurut
Assauri
(2004:95-96),
kegiatan
maintenance
(pemeliharaan) memiliki tujuan untuk : •
Dapat memenuhi kebutuhan sesuai dengan rencana produksi.
•
Menjaga kualitas pada tingkat yang tepat untuk memenuhi apa yang dibutuhkan oleh produk itu sendiri sehingga kegiatan produksi yang tidak terganggu.
•
Mencapai tingkat biaya maintenance seminimal mungkin, dengan melaksanakan kegiatan maintenance secara efektif dan efisien
•
Menghindari kegiatan maintenance yang dapat membahayakan keselamatan para pekerja.
•
Mengadakan kerja sama yang erat dengan fungsi-fungsi utama lainnya dari suatu perusahaan dalam rangka untuk mencapai tujuan utama perusahaan (tingkat keuntungan atau return of investment yang sebaik mungkin dan total biaya yang rendah).
19
Dari uraian tersebut dapat disimpulkan bahwa tujuan dari maintenance adalah menekan tingkat biaya seminal mungkin, dengan melakukan kegiatan maintenance yang terencana (efektif dan efisien) sehingga kegiatan produksi tidak terganggu dan produk yang dihasilkan terjaga kualitasnya.
2.2.1.2 Jenis Maintenance Menurut Assauri (2004:94), kegiatan maintenance bisa dibagi menjadi dua yaitu: •
Preventive Maintenance Kegiatan pemeliharaan yang dilakukan untuk mencegah timbulnya
kerusakan-kerusakan
yang
tidak
terduga
dan
menemukan kondisi yang dapat menyebabkan fasilitas produksi mengalami kerusakan pada waktu digunakan dalam proses produksi sehingga kegiatan produksi tidak akan terganggu. •
Corrective Maintenance Kegiatan pemeliharaan yang dilakukan setelah terjadinya suatu kerusakan atau kelainan pada fasilitas atau peralatan sehingga tidak dapat berfungsi dengan baik. Corrective maintenance sering disebut kegiatan perbaikan atau reparasi. Corrective maintenance terjadi karena adanya kerusakan yang
ditimbulkan
akibat
tidak
dilakukannya
preventive
maintenance atau telah dilakukan preventive maintenance tetapi fasilitas peralatan tersebut tetap rusak
2.2.2 Services Bon, Jong, Kolthof, Pieper, Tjassing, Veen dan Verheijen (2007:26) berpendapat bahwa services (pelayanan) adalah sarana penyampaian suatu nilai kepada customer dengan memfasilitasi untuk mencapai hasil yang diinginkan tanpa kepemilikan biaya tertentu atau risiko. Servicess akan meningkatkan kinerja
dan mengurangi tekanan dari kendala yang muncul sehingga akan
mendapatkan hasil yang diinginkan.
20
Tujuan dari servicess adalah kualitas. Menurut Tjiptono (2007:59), kualitas pelayanan adalah upaya pemenuhan kebutuhan dan keinginan konsumen serta ketepatan penyampaiannya dalam mengimbangi harapan konsumen. Dari pernyataan tersebut, dapat disimpulkan bahwa tujuan dari servicess adalah kualitas yang merupakan usaha atau upaya untuk memenuhi kebutuhan dan harapan dari konsumen (kepuasan).
2.2.3 Apache Menurut Bulger, Greenspan, and Wal (2004:xxix), Apache Web server adalah web server populer yang bersifat open-source. Apache merupakan web server yang memiliki peforma bagus. Kinerja dari Apache cepat dan sangat stabil. Keunggulan Apache: •
Apache berjalan dengan baik tidak hanya di Linux , melainkan juga berjalan dengan baik saat berada di Windows environment.
•
Apache bersifat open-source atau dengan kata lain tidak perlu biaya tambahan untuk membeli license dan sebagainya sehingga siapapun yang memiliki keterampilan (skill) bisa menggunakan Apache.
2.2.4 HTML Menurut Astamal (2005:1), HTML (Hyper Text Markup Language) adalah simbol-simbol atau tag-tag yang dituliskan dalam sebuah file yang dimaksudkan untuk menampilkan halaman pada web browser. Tag-tag HTML selalu diawali dengan <x> dan diakhiri dengan dimana x tag HTML seperti b, i, u dan sebagainya. Namun ada juga tag yang tidak diakhiri dengan tanda seperti tag , dan lainnya. Sebuah halaman website akan diapit oleh tag ……. File-file HTML selalu berakhiran dengan ekstensi *.htm atau *.html. Jadi dapat disimpulkan bahwa HTML (Hyper Text Markup Language) adalah suatu bahasa yang berupa simbol atau tag yang ada di dalam file untuk menampilkan halaman pada browser.
21
2.2.4.1
Struktur HTML Larsen (2013:3) berpendapat bahwa dengan menggunakan
HTML, dapat ditambahkan style ke dalam text document yang akan menjelaskan mengenai struktur dari dokumen tersebut seperti: •
Membedakan judul dari main body dengan menggunakan heading style (diperbesar).
•
Membuat paragraf baru dengan Return key atau Enter key .
•
Membuat tabel ke dalam dokumen untuk menyimpan data atau membuat bullet list untuk rangkaian rangkaian yang terkait.
Struktur HTML dibagi menjadi beberapa bagian: •
Tag Tag merupakan salah satu markup atau teks yang berupa dua karakter yaitu (<) dan (>), contoh : . Tag umunya selalu berpasangan, dimana ada yang berperan sebagai pembuka tag, dan penutup tag. Tag penutup sedikit berbeda dengan tag pembuka karena di dalam tag penutup mengandung garis miring (/) setelah karakter (<) pertama.
•
Element Element merupakan sepasang tag (tag pembuka, tag penutup) dan isi (konten) yang ada di dalamnya disebut sebagai elemen. o Tag pembuka menandakan dimulainya atau awal dari suatu konten tersebut. o Tag penutup menandakan berakhirnya konten (isi) tersebut.
•
Attribute Attribute adalah property yang berada di HTML yang di dalamnya biasanya terdiri dari atas nama dan juga nilai (value). Nilai attribute berada di dalam tanda petik satu (‘) maupun dua (“).
22
2.2.5 PHP Menurut Doyle (2010:3), PHP (Hypertext PreProcessor) adalah bahasa pemrograman yang dirancang untuk membangun web yang bisa menghasilkan halaman web yang dinamis dan juga interaktif. Program PHP dijalankan di web server, dan melayani halaman web setiap ada request yang berasal dari pengunjung. 2.2.5.1 Sejarah PHP Dwiartara (2007:9) menceritakan bahwa PHP pertama kali ditemukan pada 1995 oleh seorang Software Developer bernama Rasmus Lerdrof. Ide awal PHP adalah ketika itu Radmus ingin mengetahui jumlah pengunjung yang membaca resume onlinenya. Script yang dikembangkan baru dapat melakukan dua pekerjaan, yakni merekam informasi pengunjung, dan menampilkan jumlah pengunjung dari suatu website. Dan sampai sekarang kedua tugas tersebut masih tetap populer digunakan oleh dunia web saat ini. Kemudian, dari situ banyak orang di milis mendiskusikan script buatan Rasmus Lerdrof, hingga akhirnya rasmus mulai membuat sebuah tool/script, bernama Personal Home Page (PHP). Kebutuhan PHP sebagai tool yang serba guna membuat Lerdorf melanjutkan untuk mengembangkan PHP hingga menjadi suatu bahasa tersendiri yang mungkin dapat mengkonversikan data yang di inputkan melalui Form HTML menjadi suatu variable, yang dapat dimanfaatkan oleh sistem lainnya. PHP code dapat ditambahkan kedalam halaman HTML, sehingga dapat dihasilkan konten dinamis dalam waktu singkat. Webpage dinamis adalah halaman dari web yang isinya dapat berubah secara otomatis setiap kali halaman ditampilkan. Sementara itu, situs Web interaktif adalah sebuah situs web yang merespon input dari visitor melalui sebuah form yang diinput oleh visitor yang hasil inputannya akan dikirimkan kepada webmaster.
23
2.2.5.2 Proses kerja PHP Menurut Doyle (2010:3-4), PHP adalah server-side scripting language, yang berarti bahwa script PHP, atau program, biasanya dijalankan di Web yang merupakan server. PHP adalah interpreted language script PHP diproses oleh PHP mesin setiap kali itu dijalankan. Proses running PHP script di Web server : •
Pengunjung melakukan request pada sebuah Web page dengan menklik link
atau mengetik URL page ke dalam browser (di bagian
address bar). Pengunjung juga mungkin mengirim data ke dalam Web server pada saat yang sama baik melalui form yang ada di Web page atau dengan menggunakan AJAX (Asynchronous JavaScript And XML). •
Selanjutnya, Web server akan mengenali URL yang direquest sebagai PHP script, dan akan menginstruksikan PHP engine untuk memproses dan menjalankan script tersebut.
•
Script dijalankan, dan ketika proses run script selesai akan dikirimkan sebuah halaman HTML ke Web browser untuk dilihat oleh pengunjung.
Dari pernyataan tersebut, dapat disimpulkan bahwa PHP adalah suatu bahasa atau program yang dijalankan dan diproses di dalam web server setiap kali dipanggil. 2.2.5.3 Keunggulan PHP Dwiartara (2007:9-10) menyatakan beberapa keunggulan PHP, antara lain: •
Open Source PHP bersifat open-source atau dengan kata lain tidak perlu biaya tambahan untuk membeli lisensi dan sebagainya sehingga siapapun yang memiliki keterampilan (skill) bisa menggunakan PHP.
•
Cross Platform
24
PHP tidak hanya dapat digunakan di satu sistem operasi saja, tapi bisa digunakan di berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac OS X, Solaris, dll. •
Mendukung banyak database PHP telah mendukung banyak database,seperti dBase dBase, Empress Empress, FilePro (read-only) Hyperwave, IBM DB2, Informix, Ingres, InterBase, FrontBase mSQL, Direct MS-SQL, MySQL, ODBC, Oracle (OCI7 dan OCI8), Ovrimos, PostgreSQL SQLite, Solid, Sybase, Velocis, Unix dbm. Hal tersebut akan membantu kinerja dari developer
yang
akan
berhubungan
dengan
database
dan
memaksimalkan kinerja dari PHP itu sendiri. •
On The Fly PHP sudah mendukung fitur on the fly, yang berarti PHP dapat membuat document. Dari uraian tersebut, dapat disimpulkan bahwa PHP memiliki keunggulan keunggulan utama diantarnya adalah bersifat open-source, cross-platform, mendukung banyak database, dan on the fly.
2.2.6 CSS Menurut Pouncey & York (2011:3), Cascading Style Sheets (CSS) adalah bahasa yang dirancang untuk menggambarkan tampilan dari dokumen dokumen yang ditulis dengan markup language seperti HTML. CSS memiliki kemampuan untuk mengatur warna dari text, style text dari font, spasi antar paragraph, ukuran kolom, latar belakang (gambar atau warna) yang digunakan dan berbagai efek visual lainnya. Larsen (2013:192) berpendapat CSS adalah bahasa yang memungkinkan untuk menghubungkan aturan-aturan dengan elemen yang muncul di halaman web. CSS juga merupakan bahasa yang memiliki kemampuan untuk mengambil kendali style halaman (warna dan ukuran font, lebar dan warna garis, dan jarak spasi anatar halaman).
25
Dari pernyataaaan tersebut, dapat disimpulkan bahwa CSS adalah bahasa yang dirancang untuk mengatur style dari halaman web agar gambaran tampilan web menjadi lebih baik. Beberapa kelebihan CSS menurut Pouncey & York (2011:4) yaitu: •
Presentasi dari seluruh dapat terpusat pada satu atau beberapa dokumen, sehingga memungkinkan untuk mengupdate (memperbaharui) tampilan dan suasana dari dokumen saat itu juga.
•
Browser mulai mendukung untuk multiple alternative style sheets, sebuah fitur yang memungkinkan lebih dari satu desain website yang akan disajikan pada waktu yang sama. User dapat memilih tampilan yang paling disukai.
•
Stylesheet memungkinkan konten untuk dioptimalkan untuk lebih dari satu device. Dengan menggunakan dokumen HTML yang sama, versi berbeda daris ebuah website dapat disajikan untuk perangkat genggam seperti PDA, handphone atau untuk print.
•
Stylesheet download jauh lebih cepat karena dokumen Web yang menggunakan CSS umumnya mengkonsumsi bandwith yang sedikit. Browser juga menggunakan fitur yang disebut caching. Caching adalah proses dimana browser akan mendownload CSS file atau dokumen web lain hanya sekali dan tidak akan meminta lagi kecuali terjadi update pada file tersebut sehingga kinerja dari websiter tersebut akan lebih cepat.
•
User dapat membuat style sheet di website, fitur dimana website akan lebih mudah diakses. Dari uraian tersebut, dapat disimpulkan CSS memiliki kelebihan yaitu
lebih mudah jika terjadi perubahan tampilan (karena datanya terpusat), memakan bandwith yang kecil, dan mendukung multiple alternative style sheets.
2.2.7 Javascript Javascript
merupakan
bahasa
scripting
yang
digunakan
untuk
mengembangkan aplikasi web statis dengan menyediakan konten yang dinamis, personalis, dan interaktif. Hal ini akan menjadi pengalaman tersendiri bagi pengunjung yang berkunjung ke web kita dan membuatnya merasa ingin
26
kembali lagi mengunjungi web kita. Javascript ini didukung oleh semua browser utama sehingga menjadikannya bahasa pilihan di web (Wilton & McPeak, 2010). 2.2.8 JSON Menurut Mitchell (2013:33) JSON adalah kepanjangan dari JavaScript Object Notation. Meskipun kedengarannya seperti salah satu spesifik dari Javascript, tetapi JSON mudah untuk dibaca dan ditulis oleh berbagai bahasa scripting. JSON sederhana, memiliki format yang ringan yang bisa mewakili nested data dan juga struktur data. Mitchell
menambahkan
bahwa
di
dalam
JSON,
jika
data
direpresentasikan oleh nilai skalar maka data akan ditampilakan dengan jelas. Jika terstruktur, seperti associative array atau object dengan properties di PHP, tanda kurung kurawal ({ ) digunakan untuk mengindikasikan level kedalaman yang baru di data struktur. Sedangkan key dan valuenya dipisahkan oleh tanda titik dua ( : ) dan setiap record pada level tertentu akan dipisahkan dengan tanda koma ( , ). JSON juga memungkinkan untuk menampilkan list item dengan elegan. JSON memberikan indikasi yang jelas mengenai struktur data dan penyampaian nilai-nilai yang ada di dalamnya, tetapi JSON tidak memberikan informasi spesifik mengenai jenis data yang tepat yang awalnya digunakan. Dari pernyataan tersebut dapat disimpulkan bahwa JSON merupakan bahasa pemrograman yang sederhana, mudah untuk dibaca dan ditulis oleh berbagai bahasa scripting, dan memiliki format yang ringan yang bisa mewakili nested data dan juga struktur data. Menurut Mitchell (2013:34) JSON memiliki kelebihan diantaranya adalah •
Format yang simple (sederhana), sehingga JSON tidak mengambil banyak ruang penyimpanan dibandingkan dengan XML,
•
Tidak terlalu besar untuk masalah transfer “over the wire”.
•
Untuk masalah aplikasi mobile yang berpotensi lambat dan merata koneksi datanya dengan menggunakan JSON yang kecil dan sederhana dan tentunya murah dalam hal prosessor untuk mendecode JSON format akan membuatnya sangat ideal untuk device yang kurang powerfull seperti handphone.
27
•
JSON juga sangat ideal jika harus memasok atau menginput data ke consumer JavaScript, karena merupakan format data aslinya dan cepat.
Dari uraian tersebut dapat disimpulkan bahwa, JSON memiliki beberapa keunggulan diantaranya adalah JSON sederhana, murah , tidak butuh banyak ruang penyimpanan dan sangat cocok dengan aplikasi mobile. 2.2.9 JQuery JQuery merupakan sebuah kerangka kerja yang dibangun diatas Javascript, bukan dari bahasanya sendiri (Franklin, 2013:1). Hal ini memungkinkan untuk menulis JQuery tanpa pengetahuan tentang Javascript sebelumnya, tetapi tidak disarankan untuk dilakukan. JQuery membuat Javascript lebih mudah untuk diakses oleh rata-rata pengembang. Misalnya untuk megambil elemen yang kita inginkan dengan memasukkan ID. document.getElementById("example"); atau $("#example");
2.2.10 Windows Server Windows Server 2012 merupakan aplikasi dari Microsoft yang kuat, serbaguna, dan didukung dengan fitur-fitur untuk operasi server yang lengkap (Stanek, 2013:3). Windows Server 2012 mencakup sistem operasi kernel, kernel NT 6.2. Karena kernel ini juga digunakan pada Windows 8, dua sistem operasi berbagi basis kode umum dan banyak fitur-fitur umum, yang memungkinkan user menerapkan apa yang diketahui tentang Windows 8 ke dalam Windows Server 2012.