BAB II
LANDASAN TEORI 2.1 Definisi dan Pengertian 2.1.1 Sistem Menurut Tata Sutabri (2012:6) “Sistem pada dasarnya adalah sekelompok unsur yang erat hubungannya satu dengan yang lain, yang berfungsi bersama-sama untuk mencapai tujuan tertentu”. Menurut Prof. Dr. Mr. S. Prajudi Atmosudirdjo (2012:07) “Suatu sistem terdiri atas objek-objek atau unsur-unsur atau komponen-komponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsur-unsur tersebut merupakan suatu kesatuan pemrosesan atau pengolahan yang tertentu. 2.1.2 Data dan Informasi Data adalah bahan keterangan tentang kejadian-kejadian nyata atau fakta-fakta yang dirumuskan dalam sekelompok lambang tertentu yang tidak acak, yang menunjukan jumlah, tindakan, atau hal. Data dapat berupa catatan dalam kertas, buku, atau tersimpan sebagai file dalam basis data.
Sedangkan Informasi adalah hasil pengolahan data sehingga menjadi bentuk yang penting bagi penerimanya dan mempunyai kegunaan dasar dalam pengambilan keputusan yang dapat dirasakan langsung saat itu juga atau secara tidak langsung pada saat mendatang. Untuk memperoleh informasi, diperlukan data yang akan diolah dan unit pengolah. .(Edhy Sutanta, 2011:13)
Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik kesimpulan bahwa informasi adalah sebagai data yang telah diolah, dibentuk, diklasifikasi ataupun diinterpretasi yang digunakan sesuai dengan keperluan.
2.2 Model Waterfall Waterfall model sebagai salah satu teori dasar dan seakan wajib di pelajari dalam konteks siklus hidup perangkat lunak, merupakan sebuah siklus yang terdiri dari mulai fase hidup perangkat lunak sebelum terjadi sampai pasca produksi. Beberapa buku menyebutkan model ini sebagai model linear, tetapi beberapa referensi lain masih tetap menggunakan istilah waterfall model. Langkah – langkah yang terdapat dalam waterfall model juga berbeda antara satu referensi dengan referensi yang lain. Terdapat referensi yang lain yang mengatakan bahwa dalam waterfall model
hanya terdiri dari empat langkah, sedangkan Sommervile
menyatakan bahwa waterfall model memiliki enam tahapan. Bahkan terdapat referensi lain yang menyatakan bahwa waterfall model sesungguhnya memiliki delapan tahapan. Waterfall sendiri memiliki definisi bahwa sebuah proses hidup perangkat lunak memiliki sebah proses yang linear dan sekunsial .meski demikian dalam perkembangannya tahapan yang telah ada dapat dimodifikasi dari bentuk aslinyya dengan melakukan adaptasi pada kebutuhan sistem yang ada. (Soetam Rizky, 2011:25). Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support). (Rosa A.S. dan M.Salahudin, 2011:26) 2.2.1 Fase Model Waterfall
Gambar 2. 1 Fase Model Waterfall (Dennis & Haley Wixom, Systems Analysis and Design)
Tahapan dari Waterfall Model merefleksikan pokok-pokok dari aktivitas pengembangan: 1. Analisis kebutuhan perangkat lunak Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan 2. Desain Desain perangkat lunak adalah proses multilangkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini menstranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan. 3. Pembuatan kode program Desain harus ditranslasikan kedalam program perangkat lunak.Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4. Pengujian Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji.Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. 5. Pendukung (support) atau pemeliharaan (maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user.Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru. (Rosa A.S. dan M.Salahudin, 2011:28).
2.3 Pengendalian Internal (Internal Control) Pengendalian internal ( internal control ) adalah kebijakan dan prosedur yang melindungi asset perusahaan dari kesalahan penggunaan, memastikan bahwa informasi usaha yang dusajikan akurat dan menyakinkan bahwa hukum serta peraturan telah diikuti. Metode pemrosesan merupakan sarana yang digunakan oleh sebuah system untuk mengumpulkan, mengikhtisarkan, dan melaporkan informasi. Laporan coso mengidentifikasi lima komponen pengendalian internal yang berpengaruh terhadap kemampuan organisasi dalam mencapai sasaran pengendalian internal, yaitu : 1. Lingkungan pengendalian mengacu pada faktor – faktor umum yang menetapkan sifat organisasai dan mempengaruhi kesadaran karyawan terhadap pengendalian 2. Penentuan resiko adalah identifikasi dan analisis resiko yang mengganggu pencapaian saasaran pengendalian internal. 3. Aktifitas pengendalian adalah kebijakan dan posedur yang dikembangkan oleh organisasi untuk menghadapi resiko.Aktifitas pengendalian meliputi hal – hal berikut : a. Penelaahan kinerja b. Pemisahan tugas c. Pengendalian aplikasi d. Pengendalian umum 4. Informasi dan komunikasi. Sistem informasi perusaahaan merupakan kumpulan prosedur ( otomasi dan manual ) dan record yang dibuat untuk memulai, mencatat, memproses, dan melaporkan kejadian pada proses entiitas. 5. Pengawasan Manajemen harus mengawasi pengendalian internal untuk memastikan bahwa pengendalian organisasi berfungsi sebagaimana dimaksudkan. 2.3.1 Aktivitas Kontrol Aktifitas Pengendalian adalah kebijakan dan prosedur yang membantu menjamin bahwa arahan manajemen dilaksanakan. Aktivitas tersebut membantu memastikan bahwa tindakan yang diperlukan untuk menanggulangi risiko dalam pencapaian tujuan entitas. Komponen keenam model ERM COSO adalah aktivitas pengendalian , yaitu kebijakan , prosedur , dan aturan yang memberikan keyakinan yang memadai bahwa tujuan manajemen kontrol terpenuhi dan tanggapan risiko dilakukan . ( COSO , 2011)
Aktivitas Pengendalian terbagi menjadi 2 kelompok : 1. Pengendalian Komputer (Computer Control) 2. Pengendalian Fisik (Physical Control)
1. Pengendalian Komputer (Computer Control) dibagi menjadi 2 kelompok umum, yaitu : Pengendalian Umum (General Control) Berkaitan dengan perhatian pada keseluruhan perusahaan seperti pengendalian atas pusat data, basis data perusahaan, dan pengembangan. Teknologi pengendalian umum meliputi kegiatan pengendalian atas infrastruktur teknologi, manajemen keamanan, dan teknologi akuisisi, pengembangan, dan pemeliharaan. Dari aplikasi teknologi informasi pada komputer rangka utama , untuk client / server, desktop komputer portabel, dan lingkungan perangkat mobile, teknologi operasional , seperti sistem kontrol pabrik atau manufaktur robotika.( COSO , 2011) Pada Pengendalian umum keamanan data juga perlu diperhatikan, proses Manajemen Keamanan , termasuk sub - proses dan kegiatan pengendalian atas siapa dan apa yang memiliki akses ke dalam teknologi .entitas mereka umumnya mencakup hak akses pada data, sistem operasi ( software System) , jaringan , aplikasi , dan lapisan fisik . pengendalian keamanan atas akses ke teknologi entitas melindungi dari akses yang tidak pantas dan penggunaan yang tidak sah dari system. ( COSO , 2011) Pengendalian umum terbagi lagi menjadi dua bagian yang saling berkaitan, yaitu : 1.
Pengendalian Aplikasi (Application Control) Pada pengendalian Aplikasi ini, lebih memastikan terhadap integritas sistem
tertentu seperti aplikasi pemrosesan, pesanan penjualan, utang usaha, dan aplikasi penggunaan. Kegiatan pengendalian yang mendukung langsung ke tindakan untuk mengurangi risiko pemrosesan transaksi dalam proses bisnis suatu entitas sering disebut "pengendalian aplikasi" atau " pengendalian transaksi ". Pengendalian aplikasi adalah aktivitas pengendalian yang paling mendasar dalam sebuah entitas karena mereka langsung menjawab respon risiko dalam busines proses untuk memenuhi tujuan manajemen. (COSO, 2011)
Pengendalian aplikasi ini dimaksudkan untuk memberikan kepastian bahwa pencatatan, pengklasifikasian dan pengikhtisaran transaksi sah serta pemutakhiran filefile induk akan informasi yang akurat, lengkap, dan tepat waktu. Transaksi yang terjadi direkam. Sebagai contoh , suatu organisasi dapat mengurangi risiko tidak memproses semua transaksi dengan vendor dengan memilih tindakan dan kontrol transaksi yang mendukung bahwa semua transaksi faktur diproses dalam akun hutang proses bisnis.
Akurasi - Transaksi dicatat Pada jumlah yang benar dalam rekening yang tepat ( dan secara tepat waktu ) pada setiap tahap pengolahan . Misalnya , transaksi kontrol atas elemen data dan data master , seperti harga barang di vendor master file , dapat mengatasi akurasi pengolahan transaksi pembelian . Akurasi dalam konteks proses operasional dapat didefinisikan untuk menutupi konsep yang lebih luas kualitas , ( misalnya , akurasi dan presisi dari bagian diproduksi ).
Validitas - transaksi tercatat merupakan peristiwa ekonomi yang benar-benar terjadi dan dilaksanakan sesuai dengan prosedur yang ditentukan . Validitas biasanya dicapai melalui kegiatan pengendalian yang mencakup otorisasi (yaitu , persetujuan oleh orang yang memiliki wewenang untuk melakukannya) transaksi sebagaimana ditentukan oleh kebijakan dan prosedur Agis Mitra Mandiri, organisasi . Dalam konteks operasional , suku cadang yang digunakan dalam pembuatan mobil diperoleh dari pemasok yang berwenang.
2.
Pengendalian Akses (Access Control) Pada akses ke operasi komputer hanya diijinkan kepada mereka yang telah
memiliki otorisasi. Otorisasi dan persetujuan - otorisasi menegaskan bahwa transaksi tersebut valid ( misalnya , itu merupakan suatu peristiwa ekonomi yang sebenarnya ). Sebuah otorisasi biasanya mengambil bentuk persetujuan oleh tingkat manajemen yang lebih tinggi atau verifikasi dan tekad jika transaksi tersebut valid. Sebagai contoh, seorang supervisor menyetujui laporan biaya setelah meninjau cuaca biaya tampaknya masuk akal dan dalam kebijaksanaan.
Akses membatasi aset - daerah yang dibatasi pada penyimpanan yang digunakan untuk melindungi peralatan persediaan. Pada bagian pengendalian akses ini termasuk kedalam pengendalian fisik (Physical Control). Verifikasi - verifikasi membandingkan dua atau lebih item dengan satu sama lain atau membandingkan kebijakan barang , dan melakukan tindak lanjut ketika dua item tidak cocok atau item tersebut tidak konsisten dengan kebijakan. Contohnya termasuk pencocokan komputer atau cek kewajaran. Verifikasi umumnya membahas kelengkapan, akurasi atau kebenaran transaksi pengolahan. (COSO, 2011) 2.4 Perancangan Sistem Perancangan sistem adalah menurut desain sistem dapat didefinisikan sebagai , perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi. Menurut (Tata Sutabri, 2012:5) “perancangan sistem adalah untuk kebutuhan kepada pemakai sistem dan juga untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada pemrograman komputer dan ahli-ahli teknik lain yang terlibat di dalamnya”. 2.4.1 Definisi UML (Unified Modeling Language) Unified Model Language (UML), muncul karena adanya kebutujan pemodelan visual untuk menspesifikasikan , menggambarkan, membangun dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML hanya berfungsi untuk melakukan pemodelan.Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek. (Rosa A.S. dan M.Salahuddin, 2011:118) 2.4.2 Use Case Diagram Definisi use case diagram adalah pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat dan mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan informasi yang akan dibuat. (Rosa A.S. dan M.Salahuddin, 2013:155)
Tabel 2. 1 Use Case Diagram (Rosa A.S. dan M.Salahudin, 2013:156) Simbol
Nama Simbol
Keterangan
Use Case
Fungsionalitas yang disediakan sistem sebagai unitunit yang saling betukar pesan antar unit atau aktor.
Nama
aktor Aktor/actor
Orang, proses, atau sistem lain yang berinteaksi dengan sistem infomasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal frase nama aktor.
Asosiasi / association
Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor
<<extend>>
Ekstensi /Extends
Relasi use case dimana use case ditambahkan dapat berdiri sendiri walau tanpa use case tambahan.
Generalisasi/generaliz
Hubungan generalisasi dan spesialisasi (umum-
ation
khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya, misalnya:
Ubah
data Mengolah Data
Hapus data
Arah panah mengarah pada use case yang menjadi generalisasinya (umum) <
>
Menggunakan included / uses
/
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use
case ini untuk menjalankan fungsinya atau sebagai syarat.
Adapun contoh dari Use Case Diagram adalah :
Gambar 2. 2 Contoh Use case diagram,( Jurnal Informatika mulawarman 2011 :3)
2.4.3 Sequence Diagram “Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objekobjek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansi menjadi objek itu.(Rosa A.S. dan M.Salahuddin, 2013:165). Tabel 2. 2 Sequence Diagram (Rosa A.S. dan M.Salahuddin, 2013:165) Simbo Nama
Nama Simbol aktor Aktor/actor
Keterangan Orang, proses, atau sistem lain yang berinteaksi dengan sistem infomasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal frase
nama aktor.
Lifeline
Menyatakan kehidupan suatu objek.
objek
Menyatakan objek yang berinteraksi pesan. Menyatakan objek dalam keadaan aktif dan
Waktu aktif
berinteraksi, semua yang terhubung dengan waktu aktif ini adalah sebuah tahapan yang dilakukan didalamnya
Pesan <>
create Pesan
1:nama_metode()
tipe Menyatakan
bahwa
suatu
objek
memanggil
operasi/metode yang ada pada objek lain atau dirinya sendiri. tipe Menyatakan bahwa suatu objek mengirimkan
send
data/masukan/informasi ke objek lainnya, arah panah mengarah objek yang dikirimi.
Pesan return 1:keluaran
panah mengarah pada objek yang dibuat.
Call
Pesan 1:masukan
tipe Menyatakan suatu objek membuat objek lain, arah
tipe
Menyatakan
bahwa
menjalankan
suatu
suatu
objek
operasi
yang
atau
telah metode
menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian.
Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada objek yang Pesan
tipe
destroy
diakhiri, sebaiknya jika ada create maka ada destroy.
Gambar 2. 3 Contoh Sequence Diagram 2.4.4 Activity Diagram Definisi diagram aktifitas atau activity diagram “adalah diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis”. Yang perlu diperhatikan disini adalah bahwa diagram aktifitas menggambarkan aktifitas sistem bukan apa yang dilakukan aktor, jadi aktifitas yang dapat dilakukan oleh sistem. (Rosa A.S. dan M.Salahuddin, 2013:161).
Tabel 2. 3 Activity Diagram (Rosa A.S. dan M.Salahuddin, 2013:162) Simbol
Keterangan status awal aktivitas sistem, sebuah diagram aktivitas
Status awal
memiliki sebuah status awal. Aktivitas yang dilakukan sistem, aktivitas biasanya diakhiri dengan kata kerja.
aktivitas Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu. Percabangan/ decision Asosiasi penggabungan dimana lebih dari satu aktivitas Penggabungan
/ digabungkan menjadi satu.
join Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir. Status akhir Memisahkan organisasi bisnis yang bertanggung jawab Nama swimlane
terhadap aktivitas yang terjadi.
Gambar 2. 4 Contoh Activity Diagram
2.4.5 Class Diagram Diagram kelas atau class diagram adalah suatu diagram yang menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.Kelas memiliki apa yang disebut atribut dan metode atau operasi. 1.
Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.
2.
Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. (Rosa A.S. dan M.Salahudin, 2013:146)
Tabel 2. 4 Class Diagram (Rosa A.S. dan M.Salahudin, 2013:146) Simbol Nama Simbol
Keterangan
Kelas/Class
Kelas pada struktur sistem.
Antarmuka/interfac
Sama dengan konsep interface dalam pemograman
e
berorientasi objek.
Asosiasi/associatio
Relasi antar kelas dengan makna umum, asosiasi
n
biasanya juga disertai dengan multiplicity.
Asosiasi
Relasi antar kelas dengan makna kelas yang satu
berarah/directed
digunakan oleh kelas yang lain, asosiasi biasanya
association
juga disertai dengan multiplicity.
Generalisasi/Gener
Relasi antar kelas dengan makna generalisasi-
alization
spesialisasi (umum-khusus).
Kebergantungan/de
Relasi antar kelas dengan makna kebergantungan
pendency
kelas.
Aggregation
Relasi antarkelas dengan makna semua-bagian
nama_interface
(whole-part).
Gambar 2. 5 Contoh Class Diagram (Alan Denis, 2010:222)
2.5 Testing Perangkat Lunak “Testing adalah sebuah proses yang dijelaskan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal”.(Soetam Rizky, 2011:237) Terdapat dua metode pengujian yang dapat kita pilih atau kita gunakan untuk melakukan testing terhadap perangkat lunak yang kita pakai untuk memastikan apakah perangkat lunak tersebut sudah memenuhi kebutuhan sesuai rancangan awal. Dua metode pengujian perangkat lunak tersebut adalah sebagai berikut : 1. Metode Black Box “Black Box Testing adalah tipe testing yang memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak hitam” yang tidak penting dilihat isinya, tapi cukup dikenai proses testing di bagian luar”.(Soetam Rizky, 2011:264). 2. Metode White Box “White Box Testing adalah jenis testing yang lebih berkonsentrasi terhadap “isi” dari perangkat lunak itu sendiri. Jenis lebih banyak berkonsentrasi kepada sourcecode dari perangkat lunak yang dibuat” (Soetam Rizky, 2011:264)
2.5.1 Metode Black Box Untuk aplikasi yang saya bangun saya lebih memilih “Metode Black Box” di karenakan beberapa keuntungan yang diperoleh dari jenis testing ini antara 1. Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan
lain: teknis di
bidang pemrograman. 2. Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh komponen tester yang berasal dari pengguna. 3. Hasil dari black box testing dapat memperjelas kontradiksi ataupun keracunan yang mungkin timbul dari eksekusi sebuah perangkat lunak. 4. Proses testing dapat dilakukan lebih cepat dibandingkan white box testing.
Beberapa teknik testing yang tergolong dalam tipe ini antara lain : 1. Equivalence Partitioning Pada teknik ini, inputan data dikelompokan ke dalam grup tertentu, yang kemudian dibandingkan outputnya. 2. Boundary Value Analysis Merupakan teknik yang sangat umun digunakan pada saat awal sebuah perangkat lunak selesai dikerjakan. Pada teknik ini, dilakukan inputan yang melebihi dari batasan sebuah data, jika perangkat lunak berhasil mengatasi inputan yang salah, maka dapat dikatakan teknik ini telah selesai dilakukan. 3. Cause Effect Graph Dalam teknik ini, dilakukan proses testing yang menghubungkan sebab dari sebuah inputan dan akibatnya pada output yang dihasilkan.
4. Random Data Selection Teknik berusaha melakukan proses inputan data yang menggunakan nilai acak. Dari hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari output yang dihasilkan. 5. Feature Test Pada teknik ini dilakukan proses testing terhadap spesifikasi dari perangkat lunak yang telah selesai dikerjakan.
2.6 Bahasa Pemrograman Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
2.6.1 PHP (PHP Hypertext Preprocessor) PHP adalah bahasa pemograman yang dapat digunakan untuk membuat website dinamis. PHP merupakan bahasa pemograman yang mudah untuk dipelajari dan dapat berinteraksi dengan MySQL.(Heni A. Puspitosari, 2011:iii) Menurut kamus computer, PHP adalah bahasa pemograman untuk dijalankan melalui halaman web, umumnya digunakan untuk mengelolah informasi di internet. Sedangkan dalam pengertian lain PHP adalah singkatan dari PHP Hypertext Preprocessor yaitu bahasa pemograman web server-side yang bersifat open source atau gratis. PHP merupakan script yang menyatu dengan HTML dan berada pada server. Contoh terkenal dari aplikasi PHP adalah phpBB dan mediaWiki (software di belakang
Wikipedia).
PHP
juga
dapat
dilihat
sebagai
pilihan
lain
dari
ASP.NET/C#?VB.NET Microsoft, CouldFusion Macromedia, JSP/kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lainlain. (Rulianto Kurniawan, 2010:2) PHP Berjalan pada sisi server sehingga PHP disebut sebagai bahasa server side scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya server. PHP ini bersifat open source sehingga dapat dipakai secara Cuma-Cuma dan mampu lintas platform, yaitu dapat sistem operasi windows maupun linux. (Agus Saputra, 2011:1) PHP merupakan bahasa Server Side Scripting. Di mana PHP tidak membutuhkan web server dalam menjalankan aksinya. Secara prinsip, server akan bekerja apabila ada permintaan dari client, yaitu kode-kode PHP. Client tersebut akan dikirimkan ke server,
kemudian server akan mengembalikan pada halaman client instruksi yang diminta, seperti berikut : 1. Server membaca permintaan dari client/browser. 2. Kemudian dilanjutkan untuk mencari halaman/page pada server. 3. Server melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page. 4. Selanjutnya hasil modifikasi tersebut akan dikembalikan ke client/server. (Agus Saputro, 2013:2)
2.6.2 MYSQL (Structured Query Language) MySQL adalah sebuah sistem manajemen database yang banyak digunakan dalam aplikasi berbasis windows maupun web berbentuk basis data relasional. Basis data yang memiliki struktur relasional terdapat tabel-tabel untuk menyimpan data. Pada setiap tabel terdiri dari kolom dan baris serta sebuah kolom untuk mendefinisikan jenis informasi apa yang harus disimpan.(Wahana Komputer, 2010:2) Jika anda ingin membuat website yang interaktif dan dinamis, perlu adanya media penyimpanan data yang fleksibel dan mudah untuk diakses. Dalam bahasa pemograman sering ada istilah database. Database adalah kumpulan data-data yang saling terkait, tersimpan, dan mudah diakses. Salah satu program yang dapat digunakan sebagai database adalah MySQL. MySQL merupakan salah satu software untuk database serveryang banyak digunakan. MYSQL bersifat open source dan menggunakan SQL. MySQL bisa dijalankan di berbagai platform misalnya windows, linux, dan lain sebagainya. MySQL memiliki beberapa kelebihan antara lain: 1. Multiuser. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah. 2. Peformance tuning. MySQL memiliki kecepatan yang bagus dalam menagani query sederhana, yaitu dapat memproses lebih banyak SQL persatuan waktu.
3. Jenis kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, text, date, dan timestamp, dan masih banyak lagi. 4. Perintah dan fungsi .MySQL memiliki operator dan fungsi secara penuh dan mendukung perintah select dan where dalam perintah query. 5. Keamanan. MySQL memilki keamanan yang bagus karena beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang lengkap serta sandi tersenkripsi. 6. Skalabilitas dan pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (record) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu, batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 7. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol tcp/ip, unix soket (UNIX), atau named pipes (NT). 8. Lokalisasi. MSQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. 9. Antar muka. MySQL memiliki interface (antar muka) terhadap aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Aplication Programming Interface). 10.Probabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti windows, linux, freeBSD, mac OS X server, solaris, amiga, dan masih banyak lagi. 11.Open source. MySQL didistribusikan secara open sorce, di bawah lisensi GPL sehingga dapat digunakan secara gratis. 12.Klien dan peralatan. MySQL dilengkapi dengan berbagai peralatan yang dapat digunakan unuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petujuk online. 13.Struktur dan Tabel. MySQL memliki struktur tabel yang lebih fleksibel dalam menangani ALTER ABLE, dibandingkan basis data lainnya, misalnya oracle. (Puspitosari, 2011:9). 2.6.3 Adobe Dreamweaver Dreamweaver adalah sebuah HTML editor professional untuk mendesain web secara visual dan mengola situs atau halaman web. Dreamweaver merupakan software utama yang digunakan oleh web desaigner maupun web programmer dalam mengembangkan
suatu situs web. Hal ini disebabkan ruang kerja, fasilitas dan kemampuan dreamweaver yang mampu meningkatkan produktivitas dan efektivitas dalam desain maupun membangun suatu situs web, antara lain : JSP, PHP, ASP dan CouldFision. (Andrea Adelheid, Khairil Nst, 2012 : 100).
2.6.4 XAMPP XAMPP adalah salah satu paket software web server yang terdiri dari Apache, MySQL, PHP dan phpMyAdmin. Mengapa menggunakan XAMPP? Karena XAMPP sangat mudah penggunaannya, terutama jika Anda seorang pemula. Proses instalasi XAMPP sangat mudah, karena tidak perlu melakukan konfigurasi Apache, PHP, dan MySQL secara manual, XAMPP melakukan instalasi dan konfigurasi secara otomatis. Asal kata dari XAMPP adalah singkatan yang masing-masing hurufnya adalah: 1. X (simbol angka 4 romawi), Program ini dapat dijalankan dibanyak sistem operasi, seperti Windows, Linux, Mac OS, dan Solaris. 2. A (Apache), merupakan aplikasi web server. Tugas utama apache adalah menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. 3. M (MySQL), merupakan aplikasi database server. 4. P (PHP), bahasa pemrograman web. Bahasa pemrograman PHP merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting. 5. P (PERL), bahasa pemrograman. Mengenal bagian XAMPP yang biasa digunakan pada umumnya : 1. Htdoc, adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti berkas PHP, HTML dan skrip lain. 2. PhpMyAdmin, merupakan bagian untuk mengelola basis data MySQL yang ada dikomputer.
Untuk
membukanya,
buka
browser
lalu
ketikkan
alamat
http://localhost/phpMyAdmin, maka akan muncul halaman phpMyAdmin. 3. Kontrol Panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti menghentikan (stop) layanan, ataupun memulai (start).