BAB II DASAR TEORI
2.1
KONSEP SISTEM INFORMASI
2.1.1
SISTEM Menurut Andri Kistanto : Sistem adalah jaringan kerja dari prosedur-prosedur
yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu. Sebuah sistem yang baik harus mempunyai tujuan dan sasaran yang tepat karena hal ini akan sangat menentukan dalam mendefinisikan masukan yang dibutuhkan sistem dan juga keluaran yang dihasilkan. (2008:1) Sedangkan menurut Jogiyanto HM. : Sistem adalah sekumpulan dari elemenelemen yang berinteraksi untuk mencapai suatu tujuan tertentu. (2005:2)
2.1.2
INFORMASI Informasi ibarat darah yang mengalir dalam tubuh suatu organisasi, sehingga
informasi sangat
penting bagi organisasi. Menurut Jogiyanto HM. : Informasi adalah data
yang dioleh menjadi bentuk yang lebih berguna dan lebih berarti bagi penerimanya. (2005:8). Dalam informasi, data merupakan yang masih mentah yang belum dapat bercerita banyak, sehingga perlu diolah lebih lanjut agar dapat lebih berarti dan berguna dalam bentuk informasi.
6
7
Dengan kata lain sumber informasi adalah data. Data menggambarkan suatu kejadian yang sedang terjadi, dimana data tersebut akan di olah diterapkan dalam sistem menjadi input yang berguna dalam suatu sistem. Secara rinci data adalah sebagai berikut : 1.
Data adalah penggambaran dari sesuatu dan kejadian yang kita hadapi
2.
Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Suatu informasi baru bisa dikatakan sebuah informasi yang berkualitas bila
didalamnya mengandung ciri-ciri sebagai berikut : 1.
Akurat (accurate) Sistem informasi harus jelas mencerminkan maksudnya. Informasi harus akurat karena dari sumber informasi sampai penerima kemungkinan banyak terjadi gangguan (noise) yang dapat merubah atau merusak informasi tersebut.
2.
Tepat pada Waktunya (timeliness) Berarti informasi yang data pada penerima tidak boleh terlambat, karena informasi merupakan
landasan
di
dalam
pengambilan
keputusan
bila
pengambilan
keputusan terlambat, maka dapat berakibat fatal untuk organisasi. 3.
Relevan (relevance) Informasi tersebut mempunyai manfaat untuk pemakainya. Relevan informasi untuk tiap-tiap orang satu dengan yang lainnya berbeda.
4.
Ekonomis, Efisien dan dapat Dipercaya Informasi yang dihasilkan mempunyai manfaat yang lebih besar dibandingankan dengan biaya mendapatkannya dan sebagian besar informasi tidak dapat ditaksir keuntungannya dengan satuan nilai uang tetapi dapat ditaksir nilai efektivitasnya.
8
Selain itu informasi yang dihasilkan juga bisa dipercaya kebenarannya dan tidak mengada-ada. Informasi dapat dikelompokkan menjadi tiga bagian, yaitu : 1.
Informasi Strategis
: Informasi ini digunakan untuk
mengambil keputusan
jangka panjang, mencakup informasi eksternal, rencana perluasan perusahaan, dsb. 2.
Informasi Taktis
: Informasi ini dibutuhkan untuk mengambil keputusan
jangka menengah, seperti informasi trend penjualan yang dapat dimanfaatkan untuk menyusun rencana penjualan. 3.
Informasi Teknis
: Informasi ini dibutuhkan untuk keperluan operasional
sehari-hari, seperti informasi pensediaan stock, retur penjualan dan laporan kas harian.
2.1.3
SISTEM INFORMASI Menurut Andri Kistanto : sistem informasi merupakan dari perangkat keras dan
perangkat lunak
komputer serta perangkat manusia yang akan mengolah data
menggunakan perangkat keras dan perangkat lunak tersebut. (2008:12). Sedangkan menurut Jogiyanto HM. : Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan. (2005:11) Faktor-faktor yang menentukan kehandalan dari sebuah sistem informasi dapat dikatakan baik, apabila memenuhi kriteria-kriteria sebagai berikut :
9
1.
Keunggulan (usefulness) Keunggulan berarti suatu sistem harus dapat menghasilkan informasi yang tepat dan relevan untuk mengambil keputusan manajemen dan personil operasi dalam organisasi.
2.
Ekonomis Kemampuan sistem yang mempengaruhi sistem harus bernilai manfaat minimal sebesar biayanya.
3.
Kehandalan (Realibility) Keluaran dari sistem harus mempunyai tingkat ketelitian tinggi dan sistem tersebut harus beroperasi secara efektif.
4.
Pelayanan (Custumer Service) Suatu sistem memberikan pelayanan yang baik dan efisien kepada para pengguna sistem pada saat berhubungan dengan organisasi.
5.
Kapasitas (Capacity) Setiap sistem harus mempunyai kapasitas yang memadai untuk menangani setiap periode sesuai kebutuhan.
6.
Sederhana dalam Kemudahan Sistem tersebut lebih sederhana (umum) sehingga struktur dan operasinya dapat dengan mudah dimengerti dan prosedur mudah diikuti.
7.
Fleksibel (Fleksibility) Sistem informasi ini harus dapat digunakan dalam kondisi yang bagaimana yang diinginkan oleh organisasi tersebut atau pengguna tertentu.
10
2.2
SISTEM PENDAFTARAN Sistem Pendaftaran Santri Baru (PSB) secara online, dapat dilakukan oleh user
(member) atau dalam hal ini calon santri atau orang tua calon santri, melalui website Pondok Pesantren Turus. Pendaftaran dapat dilakukan dengan mengisi formulir yang sudah tersedia secara online kemudian menyerahkan print out formulir yang sudah diisi dengan lengkap dan benar serta persyaratan lainnya pada panitia penerimaan santri baru di kantor sekretariat Yayasan Pondok Pesantren Turus pada waktu yang telah ditentukan. Selanjutnya, setelah berkas dinyatakan lengkap oleh panitia penerimaan santri baru, user dipersilahkan membaca dan memahami ketentuan - ketentuan yang berisi tentang hak dan kewajiban sebagai santri Pondok Pesantren Turus yang tertuang dalam surat pernyataan yang harus ditandatangani oleh user. Setelah menyetujui dan mengisi surat pernyataan user akan mendapatkan no. test untuk menentukan kelas pada Diniyah Salafiyah dan jenis pendidikan untuk Madrasah Tsanawiyah dan Madrasah Aliyah.
2.3
METODE PENDEKATAN TERSTRUKTUR Pendekatan sistem dapat diartikan sebagai titik tolak atau sudut pandang
kita
terhadap proses sebuah sistem yang merujuk pada pandangan tentang terjadinya suatu proses yang bersifat masih sangat umum dalam mewadahi, mengispirasi, dan melatari metode pendekatan dalam cakupan teoritis tertentu. Didalam kerja praktek ini, penulis menggunakan metode pendekatan sistem terstruktur. Mulai awal tahun 1970 muncul suatu pendekatan suatu pendekatan baru disebut dengan Pendekatan Terstruktur. Pendekatan terstruktur dilengkai dengan alat-alat dan teknik-teknik yang dibutukan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan didapatkan sistem yang strukturnya didefinisikan dengan
11
baik dan jelas. Metodologi-metodologi ini mengenalkan penggunaan alat-alat dan teknikteknik untuk mengembangkan sistem yang terstruktur. Kebutuhan dari sistem metodologi di pengembangan sistem informasi juga diungkapkan oleh C.H.P. Brooks dan kawankawan dalam buku Jogiyanto HM. (2005:57) Sebagai berikut : “Walaupun sistem life cycle
merupakan fremework
yang berguna untuk
mempertimbangkan proses analisis dan perancangan sistem secara utuh, tetapi orang-orang yang bertanggung jawab dalam melaksanakan tugas-tugas in masih membutuhkan suatu gambaran yan lebih terinci atau masih membutuhkan suatu metodelogi yang cukup, maka perancang atau analis sistem yang kurang berpengalaman akan dapat menjumpai kesulitan dalam memahami aspek-aspek dari proyek yang harus dikerjakannya dalam batas waktu yang diberikan. Sebagai tambahan, biasanya merupakan suatu hal yang penting bagi seluruh individu-individu yang bekerja dalam pengembangan sistem dalam suatu organisai untuk mengikuti prosedur-prosedur yang seragam dalam bentuk urutan-urutan tahap dan cara-cara mendokumentasikan hasil dari analisis dan pekerjaan rancangannya untuk membantu baik dalam pengendalian proyek maupun bil aterjadi pertukaran staff”. Konsep pengembangan sistem terstruktur bukan merupakan konsep yang baru. Teknik perakitan di pabrik-pabrik dan perancangan sirkuit untuk alat-alat elaktronik adalah dua contoh baru konsep ini yang banyak digunakan di industri-industri. Konsep ini memang relatif masih baru digunakan dalam mengembangkan sistem informasi untuk dihasilkan produk sistem yang memuaskan pemakainya. Melalui pendekatan terstruktur, permasalahan-permasalahan yang komplek dalam organisasi dapat dipecahkan dan hasil dari sistem akan mudah untuk dipelihara, fleksibel, lebih memuaskan pemaikainya, mempunyai dokumentasi yang baik, tepat pada waktunya, sesuai dengan anggaran biayanya, dapat meningkatkan produktivitas dan kualitasnya akan lebih baik.
12
Metode-metode yang digunakan Pendekatan Terstruktur ini adalah : 1.
Data global, pada program yang berukuran sangat besar sangat sulit dilacak. Jika ingin
merevisi
struktur
prosedur/fungsi yang
data
global
menggunakan
maka
kita
harus
data global tersebut.
merevisi
setiap
Ini akan sangat
memakan waktu dan biaya. 2.
Pendekatan terstruktur tidak menggambarkan dunia nyata (real word) dengan baik, ini karena fungsi-fungsi berorientasi pada aksi dan tidak berhubungan langsung dengan permasalah.
3.
Program yang dibuat dengan pendekatan terstruktur lebih mirip dengan apa yang dibayangkan oleh pengembang dibandingkan dengan harapan dan keinginan pengguna.
2.4
TOOLS YANG DIGUNAKAN DALAM PENDEKATAN TERSTRUKTUR
2.4.1
DIAGRAM KONTEKS Diagram konteks merupakan level utama dari suatu diagram arus data. Pada
diagram konteks digambarkan aliran data yang keluar-masuk sistem dan keluar-masuk entitas luar (eksternal)., dengan kata lain diagram konteks merupakan suatu cara pemodelan untuk menggambarkan sistem yang dirancang secara umum atau global dimana sistem tersebut berbasis komputer.
2.4.2
DATA FLOW DIAGRAM (DFD) Menurut Wisnu Uriawan dalam Modul Rekayasa Perangkat Lunak : Data Flow
Diagram (DFD) merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisis maupun
13
rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. (2010:17) DFD menurut Andri Kristanto adalah suatu model logika data atau proses yang dibuat untuk menggambarkan darimana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang disimpan dan proses yang dikenakan pada data tersebut. (2008:61) Sedangkan menurut Jogiyanto HM, DFD merupakan penggambaran suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logik tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau lingkungan fisik dimana data tersebut akan disimpan. (2005:700) DFD merupakan alat yang digunakan pada metodelogi pengembangan sistem yang terstruktur. DFD merupakan alat yang cukup populer, karena dapat menggambarkan arus data di dalam sistem dengan terstruktur dan jelas. Lebih lanjut DFD merupakan dokumentasi dari sistem yang baik.
2.4.2.1 SIMBOL-SIMBOL DFD No 1
Simbol
Keterangan External Entity
Merupakan
simbol entitas eksternal untuk
menunjukkan
tempat asal data (sumber) atau tempat tujuan data (Tujuan).
Nama entitas eksternal (terminator) ditulis dalam bentuk tunggal.
2
Arus Data (Flow)
Menunjukkan alur data (informasi/objek) yang mengalir.
14
Nama alur data menunjukkan nama dari data yang mengalir tersebut, dan bisa lebih dari satu.
3
Proses Proses n
Menunjukkan tugas atau proses yang dilakukan baik secara manual atau otomatis.
Simbol Proses ini tidak hanya menunjukkan alur data yang keluar dari proses tersebut, tetapi juga menunjukkan alur data yang masuk dalam proses ini.
Nama proses hendaknya berupa kalimat perintah yang berupa kata kerja aktif dan diikuti oleh klausa objek untuk menjelaskan proses tersebut.
4
n menunjukkan angka referensi dari proses tersebut
Simpanan Data (Data Store) Terlepas
dari
media
penyimpanan
fisik,
simbol
ini
menunjukkan gudang informasi atau data. Sangat sering terjadi bahwa unsur-unsur data tidak berjalan dari suatu proses ke proses berikutnya secara langsung, melainkan
disimpan
terlebig
dahulu,
sementara
operasi
lainnya atau penyusunan ulang unsur-unsur data berlangsung. Tabel 2.1 Simbol-Simbol DFD
15
2.4.3
BAGAN ALIR (Flowchart) Menurut Wisnu Uriawan dalam Modul Rekayasa Perangkat Lunak : Bagan Alir
Merupakan alat bantu yang bisa digunakan untuk kegiatan analisa sistem dan perancangan (desain) sistem. Suatu skema representasi suatu proses atau algoritma. Flowchart merupakan salah satu tool yang digunakan untuk Quality Control. Flowchart adalah bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial.Flowchart digunakan untuk merepresentasikan maupun mendesain program.Oleh karena itu flowchart harus bisa merepresentasikan komponenkomponen dalam bahasa pemrograman.Baik
flowchart maupun algoritma bisa dibuat sebelum
maupun setelah pembuatan program. Flowchart dan Algoritma yang dibuat sebelum membuat program digunakan untuk mempermudah pembuat program untuk menentukan alur logika program, sedangkan yang dibuat setelah pembuatan program digunakan untuk menjelaskan alur program kepada orang lain. Flowchart berbeda dengan DAD, yang paling jelas adalah dari tahapan/langkah alur data serta simbol-simbol yang digunakan. Untuk itu, perhatikan penjelasan berikut sehingga bisa mengetahui apa saja perbedaan yang ada pada flowchart dan DAD.
2.4.3.1 SIMBOL-SIMBOL FLOWCHART Simbol
Arti
Definisi
Oval
Terminasi atau Start, menunjukan awal atau akhir bagan alir
Aliran Data
Aliran data fisik dari satu bagan ke bagan yang lain
16
Data
Rectangle
Suatu proses input dan output
Menunjukan
suatu
proses
yang
keputusan
atau
digunakan Diamond
Notasi
suatu
percabangan,
sehingga
hanya
dipilih
salah satu. Tabel 2.2 Simbol-Simbol Flowchart
Keterangan : 1.
Tanda Oval, biasanya disebut sebagai start and end symbol. Biasanya diberi nama “Mulai” dan “Selesai”, atau “Start” dan “End”. Ataupun frase lain yang menunjukkan bahwa program/bagan alir tersebut mulai dan selesai.
2.
Diamond sebagai tanda pemilihan adalah Conditional (or decision). Simbol ini mengandung pertanyaan Yes/No atau Ya/Tidak atau Benar/Salah. Simbol ini memiliki dua simbol aliran data yang keluar, biasanya dari sudut yang bawah dan sudut yang kanan, satunya menyatakan “Benar(true)” dan satunya menyatakan “False(salah)”.
2.4.4
DIAGRAM RELASI ENTITAS (ERD) Model data Entity-Relationship (E-R) dibangun berdasarkan persepsi dari dunia
nyata yang mengandung himpunan dari objek-objek yang disebut entity dan hubungan antara objek-objek tersebut. Setiap objek bersifat unik. Hal ini tampak dari atribut-atribut
17
yang dimilikinya .sebuah database secara grafik digambarkan sebagai berikut, yang terdiri dari beberapa komponen :
2.4.4.1 SIMBOL-SIMBOL DIAGRAM RELASI ENTITAS (ERD) ERD merupakan alat untuk pembuatan model data secara grafik, maka ERD memiliki symbol-symbol yang digunakan untuk menggambarkan model data seperti terdapat pada table berikut : No 1
Simbol
Arti Entitas
Entitas/Entity
Definisi adalah
sesuatu
yang
nyata,
diman
dibedakan
dalam
dunia
informasi
yang
berkaitan
dikumpulkan. Entity
set
dengannya (Himpunan
entitas) adalah kumpulan dari entity yang sejenis,
berupa
proyek,
kendaraan,
pegawai, konsumen, pemasok, penjualan dan lain sebagainya.Suatu kumpulan objek atau sesuatu yang dapat dibedakan atau didefinisikan secara unik. 2
Relationship
Hubungan yang terjadi antara satu atau lebih entity. Relationship tidak mempunyai keberadaan fisik kecuali yang diwarisi dari hubungan antara entity tersebut.
18
3
Atribut
Karakteristik dari entity atau relationship yang
menyediakan
penjelasan
detail
tentang entity atau relationship tersebut. Nilai atribut (Attribute value) adalah suatu data aktual atau informasi tertentu yang disimpan pada tiap atribut di dalam suatu entitas
atau
relationship
attribute). Identifier (key) untuk
menentukan
unik. Descriptor digunakan
digunakan
suatu (nonkey
untuk
(Nonkey
entity
secara attribute)
menspesifikasikan
karakteristik dari suatu entity yang tidak unik. Atribut Kunci Atribut yang digunakan untuk menentukan
4 ______
suatu entity secara unik. 5
Atribut yang memiliki sekelompok nilai untuk setiap instant entity
Tabel 2.3 Simbol-Simbol ERD
19
2.4.4.2 ENTITY, ATRIBUT DAN RELATIONSHIP 2.4.4.2.1 ENTITY Entity adalah objek yang mempunyai eksistensi dan terdefinisi dengan baik. Himpunan entity yang sejenis disebut entity set. Untuk model dari ER digambarkan dengan simbol 4 persegi pangang. Sedangkan relationship set yang merupakan hubungan yang terjadi antara entity set digambarkan dengan simbol layang-layang. MATA PELAJARAN
Mengajar
GURU
2.4.4.2.2 ATRIBUT 1.
Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut.
2.
Nilai Atribut
merupakan suatu data aktual atau informasi yang disimpan
pada
suatu atribut di dalam suatu entity atau relationship.
2.4.4.2.3 JENIS-JENIS ATRIBUT 1.
Key
: Atribut yang digunakan untuk menentukan suatu entity
secara unik. 2.
Atribut Simple
: Atribut yang bernilai tunggal.
3.
Atribut Multivalue
: Atribut yang memiliki sekelompok nilai untuk setiap instan
entity. TglLahir
Ge Gelar
NIP
GURU
Nama
20
4.
Atribut Composite
: Suatu atribut yang terdiri dari beberapa atribut yang lebih
kecil yang mempunyai arti tertentu.
Nama Depan
Nama Tengah
Nama Belakang
NAMA
GURU
5.
Atribut Derivatif
: Suatu atribut yang dihasilkan dari atribut yang lain.
Umur
TglLahir
GURU
2.4.4.2.4 RELATIONSHIP Relationship adalah asosiasi di antara beberapa entity. Relationship set adalah himpunan dari relasi-relasi dengan tipe yang sama.
2.4.4.2.5 ENTITY RELATIONSHIP Dalam entity relatioship, relasi yang bisa terjadi antara 2 file adalah sebagai berikut :
21
1.
One to One Hubungan antara file pertama dengan file kedua adalah satu banding satu.
GURU
2.
SISWA
One to Many Hubungan antara file pertama dengan file kedua adalah satu banding banyak.
GURU
3.
SISWA
Many to Many Hubungan antara file pertama dengan file kedua adalah banyak banding banyak.
GURU
SISWA
2.4.4.3 NORMALISASI Menurut Andri Kristanto : Proses Normalisasi adalah suatu proses dimana elemen-elemen data dikelompokan menjadi tabel-tabel, dimana dalam tabel tersebut terdapat entity-entity relasi antar entity tersebut. (2008:82) Dalam proses normalisasi, field kunci memegang peranan yang penting dalam pembuatan tabel yang berisi entity dan relasinya. Field kunci merupakan field atau satu set field yang terdapat dalam satu file yang merupakan kunci dan mewakili record. Kunci disini akan sangat penting apabila di dalam program nanti terdapat fasilitas pencarian, karena field yang merupakan kunci akan menjadi penentu dalam pencarian program.
22
Dalam proses normalisasi juga membutuhkan beberapa tahap sebelum nantinya akan diimplementasikan dalam program. Tahap-tahap normalisasi adalah ; 1.
Bentuk Tidak Normal Bentuk tidak normal adalah suatu bentuk dimana semua data dikumpulkan apa adanya tanpa mengikuti aturan-aturan tertentu. Bisa jadi data yang dikumpulkan akan tidak lengkap dan terjadi duplikasi data
2.
Bentuk Normal Pertama (1 NF) Bentuk normal pertama (1 NF) adalah suatu bentuk dimana data yang dikumpulkan menjadi satu field yang sifatnya tidak akan berulang dan tiap field hanya mempunyai satu pengertian.
3.
Bentuk Normal Kedua (2 NF) Bentuk Normal Kedua (2 NF) adalah suatu bentuk yang memenuhi syarat-syarat yaitu :
4.
a.
Sudah memenuhi kriteria sebagai bentuk normal pertama
b.
Field yang bukan kunci tergantung secara fungsi pada kunci primer.
Bentuk Normal Ketiga (3 NF) Bentuk Normal Kedua (3 NF) adalah suatu bentuk yang memenuhi syarat-syarat yaitu : a. Sudah memenuhi kriteria sebagai bentuk normal kedua b. Field yang bukan kunci tergantung secara fungsi pada kunci primer.
2.4.5
KAMUS DATA Menurut Jogiyanto HM. mengatakan bahwa : Kamus Data (KD) atau Data
Dictionary (DD) atau disebut juga dengan istilah systems data dictionary adalah katalog
23
fakta
tentang
data
dan
kebutuhan-kebutuhan
informasi
dari
suatu
sistem
informasi.(2005:725) Menurut Andri Kristanto Kamus bahwa : Kamus data adalah kumpulan elemenelemen atau simbol-simbol yang digunakan untuk membantu dalam penggambaran atau pengidentifikasian setiap field atai file di dalam sistem. (2008:72) Dari dua definisi diatas maka dapat disimpulkan bahwa pengertian Kamus Data adalah suatu aplikasi yang digunakan sebelum data diaplikasikan atau diakses. Isi dari kamus data adalah sebagai berikut: 1.
Nama Arus Data Karena KD dibuat berdasarkan arus data yang mengalir di DAD, maka nama dari arus juga harus dicatat di KD, sehingga mereka yang membaca DAD dan memerlukan penjelasan lebih lanjut tentang suatu arus data tertentu di DAD dapat langsung mencarinya dengan mudah di KD.
2.
Alias Alias perlu ditulis karena data yang sama mempunyai nama yang berbeda untuk orang atau departemen satu dengan lainnya.
3.
Bentuk Data Digunakan
untuk
mengelompokkan
KD
ke
dalam kegunaannya
sewaktu
perancangan sistem. 4.
Arus Data Arus data menunjukkan dari mana data mengalir dan kemana data akan menuju.
24
5.
Penjelasan Untuk lebih memperjelas lagi tentang makna dari arus data yang dicatat di KD, maka bagian penjelasan dapat diisi dengan keterangan-keterangan tentang arus data tersebut.
6.
Periode Periode ini menunjukkan kapan terjadinya arus data ini.
7.
Volume Volume yang perlu dicatat di KD adalah tentang volume rata-rata dan volume puncak dari arus data.
8.
Struktur Data Struktur data menunjukkan arus data yang dicatat di KD terdiri dari item-item data apa saja.
2.5
PERANGKAT LUNAK YANG DIGUNAKAN
2.5.1
INTERNET
2.5.1.1 PENGERTIAN INTERNET Internet menurut Iwan Sofana (2010:239) berasal dari kata internetworking. Internetworking sendiri bias diartikan sebagai network
dari network, yang berarti
kumpulan jaringan-jaringan yang menghubungkan komputer dari sistem yang berbedabeda. 2.5.1.2 SEJARAH INTERNET Internet lahir pada era 60-an atau tepatnya tahun 1969. Internet berawal dari proyek riset yang disponsori oleh DAPRA (Defense Advanced Research Projects Agrency). Riset ini bertujuan untuk mengembangkan suatu jatingan komputer yang :
25
Bekerja secara transparan, melalui bermacam-macam jaringan kamunikasi data yang terhubung satu dengan lainnya.
Tahan terhadap berbagai gangguan (bencana alam, serangan nuklir, dan lain-lain). Pengembangan
jaringan
ini
ternyata
sukses
dan
melahirkan
ARPANET
(Advanced Research Project Agency Network). Jadi, ARPANET dapat dikatakan sebagai jaringan komputer yang oertama di dunia. ARPANET dibangun pada akhir tahun 1969 dan awal tahun 1970. Pada waktu itu, Universitas UCLA menjadi node atau titik pertama jaringan ARPANET. Sedangkan node kedua adalah Universitas Stanford. Perangkat yang digunakan untuk menghubungkan kedua node tersebut disebut IMP (Interface Massage Processor). Baik Stanford dan UCLA memiliki perangkat IMP. Untuk menghubungkan kedua Universitas tersebut digunakan saluran telepon yang dibangun oleh AT&T. Tahun 1972, ARPANET didemontrasikan di depan peserta the First International Conference on Computer Communications dengan menghubungkan 40 node. Kemudian pada tahun 1990, ARPANET diubah menjadi Internet. Secara singkat, sejarah perkembangan ARPANET hingga kemunculan Internet sebagai berikut :
Tahun 1957, DoD membentuk ARPA (Advanced Research Projects Agency).
Tahun 1969, ARPANET terbentuk.
Tahun 1970, ARPANET menghubungkan UCLA, UCSB, U-Utah dan Standford.
Tahun 1973, ARPANET menghubungkan University Collage London dan royal University Norway.
Tahun 1982, model jaringan Internet dikembangkan.
Tahun 1990, ARPANET kemudian dikenal dengan Internet.
26
2.5.2
WORLD WIDE WEB (WWW) World Wide Web (WWW), lebih dikenal dengan web, merupakan salah satu
layanan yang dapat didapat oleh pemakai komputer yang terhubung ke Internet. Web pada awalnya adalah ruang informasi dalam Internet, dengan menggunakan teknologi hypertext, pemakai dituntun untuk menemukan informasi dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan dalam browser web. Web memudahkan pengguna komputer untuk berinteraksi dengan pelaku Internet lainnya dan menelusuri (informasi) di Internet.
2.5.2.1 SEJARAH LAHIRNYA WEB Sejarah Web dimulai pada bulan Maret 1989 ketika Tim Berner-Lee yang bekerja di Laboratorium Fisika Partikel Eropa atau yang dikenal dengan nama Consei European pour la Recherce Nuclaire (CERN) yang berada di Genewa, Swiss, mengajukan protokol atau
suatu tatacara untuk
berkomunikasi sistem distribusi informasi internet yang
digunakan untuk berbagai informasi diantara para fisikawan. Protokol inilah yang yang selanjutnya dikenal sebagai protokol World Wide Web (WWW) dan dikembangkan oleh World Wide Web Consortium (W3C). Dimana W3C adalah konsorsium dari sejumlah organisasi yang berkepentingan dalam pengembangan berbagai standar yang berkaitan dengan Web. W3C meletakan gabungan spesifikasi dalam standar web, berikut adalah hasil dari W3C : 1.
Standar web yang paling mendasar adalah HTML, Cascade Style Sheet (CSS), dan Extended Markup Language (XML)
27
2.
Standar HTML yang terakhir adalah Extended Hypertext markup Language 1.0 (XHTML 1.0) Namun sekarang CERN telah kembali pada misi awalnya melakukan penelitian
pada fisika partikel, dan yang berkaitan dengan Web telah diserahkan kepada W3C, sekelompok akademis dan organisasi komersial yang mengabdikan pada kemajuan dari web.
2.5.2.2 APLIKASI WEB Aplikasi web pada awalnya dibangun hanya dengan menggunakan bahasa yang disebut dengan HTML dan protokol yang digunakan yang dinamakan Hyper Text Transfer Protocol
(HTTP).
Pada
perkembangan
berikutnya,
sejumlah
skrip
dan
objek
dikembangkan untuk memperluas kemampuan HTML, antara lain yaitu PHP dan
Active
Server Pages (ASP), sedangkan contoh yang berupa objek antara lain adalah applet (Java). Banyak sekali tehnik pemrograman web yang ada dewasa ini, secara umum dapat dikategorikan ke dalam dua bagian berdasarkan lokasi dijalankannya perintah dalam bahasa pemrograman tersebut, yaitu :
Server-Slide
Programming,
dimana
perintah-perintah
dalam
bahasa
perintah-perintah
dalam
bahasa
pemrogramannya dijalankan di Web Server.
Client-Side
Programming,
dimana
pemrogramannya dijalankan di Client dalam hal ini Web Browser. Server Slide Programming biasanya selalu berkaitan dengan data yang disimpan di server. Sedangkan Client Side Programming biasanya lebih berkaitan dengan menambah interaksi dengan user, seperti verifikasi data yang dimasukan oleh user.
28
Perintah-perintah pada Server Side Programming di jalankan di Web Server, cara kerja protokol yang ada pada internet selalu melibatkan server dan client, demikian juga dengan protokol HyperText Transfer Protocol (HTTP), yang menjadi server pada protokol ini adalah Web Server dan yang menjadi client adalah Web Browser. Ada banyak sekali teknik Server Side Programming yang biasa digunakan, baik dari teknik implementasinya (misalnya CGI vs modul) maupun dari segi bahasa yang digunakan. Salah satu bahasa untuk Server Side Programming yang paling banyak digunakan, terutama di platform UNIX adalah Personal HomePage (PHP).
2.5.2.3 BROWSER WEB Browser Web merupakan software yang digunakan untuk menampilkan informasi dari server web.
Perangkat lunak ini kini telah dikembangkan dengan menggunakan
Grafis User interface (GUI), sehingga pemakai dapat melakukan ‘point and click’ untuk berpindah dari satu dokumen ke dokumen yang lainnya. Pada saat ini hanya ada dua browser web GUI yang populer yaitu Internet Explorer dan Netscape Navigator, kedua browser ini bersaing untuk menarik pemakai dengan berusaha mendekati standar spesifikasi dokumen HTML yang direkomendasikan oleh W3C.
2.5.2.4 CARA KERJA WORLD WIDE WEB (WWW) Dalam cara kerja dari www ada dua hal yang terpenting yaitu software web server dan software web browser. Server mempunyai tugas menyimpan dan mengirimkan informasi, sedangkan client membuat permintaan informasi dan menangani pengaksessan
29
informasi kepada end user. Adapun cara kerja World Wide Web (WWW) adalah sebagai berikut : 1.
Informasi web disimpan dalam dokumen yang disebut dengan halaman-halaman web (web pages).
2.
Web pages adalah file-file yang disimpan dalam komputer yang disebut dengan server-server web (web server).
3.
Komputer-komputer membaca web page disebut sebagai web client.
4.
Web client menampilkan page dengan menggunakan program yang disebut dengan browser web (web browser).
2.5.3
PHP (Hypertext Preprocessor) PHP (Hypertext Preprocessor) merupakan bahasa pemrograman berbasis web
yang memiliki kemampuan untuk memproses dan mengolah data secara dinamis. PHP dapat dikatakan sebagai sebuah server-side embedded script language, artinya semua sintaks dan perintah program yang di tulis akan sepenuhnya dijalankan oleh server, tetapi dapat disertakan pada halaman HTML biasa.
2.5.3.1 SEJARAH PHP 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 visitor, 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
30
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. Untuk merealisasikannya, akhirnya Lerdrof mencoba mengembangkan PHP menggunakan bahasa C ketimbang menggunakan Perl. Tahun 1997, PHP versi 2.0 di rilis, dengan nama Personal Home Page Form Interpreter (PHP-FI). PHP Semakin popular, dan semakin diminati oleh programmer web dunia. Rasmus Lerdrof benar-benar menjadikan PHP sangat populer, dan banyak sekali Team Developer yang ikut bergabung dengan Lerdrof untuk mengembangkan PHP hingga menjadi seperti sekarang, Hingga akhirnya dirilis versi ke 3-nya, pada Juni 1998, dan tercatat lebih dari 50.000 programmer menggunakan PHP dalam membuat website dinamis. Pengembangan demi pengembangan terus berlanjut, ratusan fungsi ditambahkan sebagai fitur dari bahasa PHP, dan di awaal tahun 1999, netcraft mencatat, ditemukan 1.000.000 situs di dunia telah menggunakan PHP. Ini membuktikan bahwa PHP merupakan bahasa yang paling populer digunakan oleh dunia web development. Hal ini mengagetkan para developernya termasuk Rasmus sendiri, dan tentunya sangat diluar dugaan sang pembuatnya. Kemudian Zeev Suraski dan Andi Gutsman selaku core developer (programmer inti) mencoba untuk menulis ulang PHP Parser, dan diintegrasikan dengan menggunakan Zend scripting engine, dan mengubah jalan alur operasi PHP. Dan semua fitur baru tersebut di rilis dalam PHP 4.
31
Pada tanggal 13 Juli 2004, evolusi PHP, PHP telah mengalami banyak sekali perbaikan disegala sisi, dan wajar jika netcraft mengumumkan PHP sebagai bahasa web populer didunia, karena tercatat 19 juta domain telah menggunakan PHP sebagai server side scriptingnya. PHP saat ini telah Mendukung XML dan Web Services, Mendukung SQLite. Tercatat lebih dari 19 juta domain telah menggunakan PHP sebagai server scriptingnya. Benarbenar PHP sangat mengejutkan. Yang menjadikan PHP berbeda dengan HTML adalah proses dari PHP itu sendiri. HTML merupakan bahasa statis yang apabila kita ingin merubah konten/isinya maka yang harus dilakukan pertama kali nya adalah, membuka file-nya terlebih dahulu, kemudian menambahkan isi kedalam file tersebut. Beda hal nya dengan PHP. Bagi anda yang pernah menggunakan CMS seperti wordpress atau joomla yang dibangun dengan PHP tentunya, ketika akan menambahkan konten kedalam website, anda tinggal masuk kedalam halaman admin, kemudian pilih new artikel untuk membuat halaman/content baru. Artinya hal ini, seorang user tidak berhubungan langsung dengan scriptnya. Sehingga seorang pemula sekalipun dapat menggunakan aplikasi seperti itu. Tahun 2006 PHP meluncurkan versi 5 dan pada bulan desember telan muncul 5.2.8. dengan berbagai kelebihan dibandingkan versi sebelumnya, PHP 5 hadir membawa lebih banyak fungsi dan perbaikan terhadap bug. Dengan PHP 5, mampu menangani dan membuat session pada objek serta mosel keamanan menggunakan MD5 dan seterusnya. Selain itu, ada juga tambahan library, seperti : GD2 untuk memproses dynamic image dengan lebih efefktf. Fungsi untuk menangani Form dan Simple XML juga dtingkatkan pada versi 5 dan masih banyak kelebihan lainnya dan tambahan fungsi yang dapat mempermudahkan untuk bekerja dengan PHP & MySQL. PHP 5 lebih cepat, stabil dan siap untuk digunakan untuk skala prosuksi.
32
Beberapa peningkatan fungsional dan penambahan beberapa fitur pada PHP 5, adalah :
Peningkatan kemampuan pemrograman beorientasi objek (OOP)
Exception handling, sistem standarisasi logika atas pemberitahuan kesalahan pemrograman yang belum didukung oleh PHP 4.
Peningkatan terhadap penanganan string lebih lanjut.
Peningkatan dukungan terhadap XML dan Web Servis, yang menggunakan libxml2.
Dukungan terhadap SQLite database server.
2.5.3.2 KONSEP PEMROGRAMAN PHP Untuk memahami proses atau prosedur pemrograman PHP, maka terlebih dahulu harus diketahui bagaimana sebuah HTML biasa diperlakukan oleh web server. Yang terjadi disebuah halaman HTML adalah sebagai berkut : ketika sebuah request ke sebuah halaman web datang dari browser, maka web server melakukan 3 langkah :
Membaca permintaan dari browser
Mencari halaman yang diminta di server
Mengirim halaman yang diminta melalui internet atau intranet ke browser. Sedangkan hal yang terjadi di sebuah halaman PHP adalah ketika ada request ke
sebuah halaman PHP, maka server melakukan hal-hal sebagai berikut :
Membaca permintaan dari browser
Mencari halaman yang diminta di server
Melakukan intruksi yang ada di halaman PHP yang diminta
Mengirim balik halaman hasil eksekusi ke browser
33
Kode PHP disimpan sebagai sebuah file plain text dalam format ASCII, jadi kode/program PHP bisa ditulis dihampir semua text editor. Penggunaan editor HTML seperti Dreamwever atau Ultraedit akan sangat membantu dalam penulisan program PHP. Program PHP
dapat dimasukkan dihalaman HTML, contoh berikut akan
menjelaskannya :
Program PHP
2.5.3.3 FITUR PHP Sebagai bahasa pemrograman tingkat tinggi, PHP tentu memiliki lebih, khususnya dalam skrip dan tingkat kesulitan serta fleksibilitas bahasa tersebut ketika dimodofikasi.
2.5.3.3.1 KELEBIHAN PHP PHP
(Hypertext
Preprocessor)
mempunyai
beberapa
kemampuan
yang
merupakan salah satu kelebihan PHP. Kemampuan tersebut antara lain : 1.
Cara koneksi dan query database yang sederhana
2.
Dapat berkerja pasa sistem operasi berbasis Windows, Linux, Mac OS, dan kebanyakan varian UNIX.
34
3.
Biaya yang dibutuhkan untuk menggunakan PHP tidak mahal atau bahkan gratis.
4.
Mudah digunakan karena memiliki fitur dan fungsi khusus untuk membuat web dinamis. Bahasa pemrograman PHP dirancang untuk dapat dimasukkan dalam HTML (embedded script).
5.
Security system yang cukup tinggi
6.
Waktu eksekusi yan lebih cepet dibandingkan dengan bahasa pemrogramanb web lainnya berorientasi pada serverside scripting.
7.
Akses ke sistem database yang lain fleksibel dan mudah, seperti pada MySQL. Seluru aplikasi berbasis web dapat dibuat menggunakan PHP. Kelebihan utama
PHP terletak pada kemudahan koneksinya dengan berbagai sistem database di dalam web. Sistem database yang dapat didukung oleh PHP adalah : 1.
Adabas D
2.
Direct MS-SQL
3.
Oracle (OCI7 dan OCI8)
4.
dBase
5.
InterBase
6.
Informix
7.
ODBC
8.
Hyperwave
9.
Sybase
10.
IBM DB2
11.
MySQL
12.
FrontBase
13.
PostgreSQL
35
14.
mSQL Solid
15.
dll. Selain dukungan koneksi sistem database yang cukup beragam, Anda juga dapat
menggunakan PHP untuk berhubungan dengan berbagai macam protokol, seperti : IMAP, NNTP, LDAP. HTTP, SNMP, COM, dan lainnya. Fasilitas lainnya adalah soket programming
yang
dapat
digunakan
untuk
membuat
script
PHP
yang
dapat
menghubungkan komputer pada sebuah jaringan, sehingga dapat bertukar data (data sharing).
2.5.3.3.2 KELEMAHAN PHP Selain berbagai kemudahan, PHP memiliki beberapa masalah atau kekurangan. Pertama, dari segi bahasa ia bukanlah bahasa yang ideal untuk pengembangan berskala besar. Kekurangan utama adalah tidak adanya namespace. Namespace merupakan sebuah cara untuk mengelompokan nama variabel atau fungsi dalam susunan hirarkis. Misalnya, $ModuleA::
ModuleB::c adalah
bawah ModuleA.
Modul
variabel
lain,
misalnya
$c di
dalam ModuleB,
ModuleA::
yang
terdapat
di
ModuleC atau ModuleD dapat
memiliki variabel $c juga, tapi keduanya dua variabel berbeda. Di dalam ModuleB, variabel $c pertama dapat disebutkan hanya $c saja, tapi untuk merujuk pada variabel kedua, diperlukan nama lengkap $ModuleD::c. Di PHP ini tidak ada, jadi kadang programer
mengakalinya
dengan
membuat
nama
seperti $ModuleA_ModuleB_c.
Kekurangannya, nama panjang ini harus disebutkan di setiap waktu. Kita juga tidak dapat membuat fungsi dalam fungsi atau kelas dalam kelas di PHP, semuanya hanya bisa terbatas satu level. Sebagian pengguna lanjut mengeluhkan model objek PHP yang minim. Dibandingkan dengan Python dan Perl, PHP tidak memiliki
36
multiple inheritance, kemampuan untuk mewarisi dari dua atau lebih kelas induk. Multiple inheritance dapat berguna untuk fleksibilitas dalam pengembangan OO. Java memang tidak memiliki multiple inheritance, tapi ada interface di Java. Di PHP ini pun tidak ada. Selain itu, belum ada penanganan eksepsi (raise, catch, throw) di PHP, dan kita tidak bisa memanggil
metode/atribut
secara
berangkai,
misalnya
: $obj->meth()->meth2().
Hal
lainnya, tidak ada destruktor (meskipun ada konstruktor). Dibandingkan dengan aplikasi CGI dalam Perl atau Python, aplikasi serupa dalam PHP sedikit banyak berjalan lebih cepat. Pada umumnya PHP dipasang sebagai sebuah modul Apache, sehingga webserver dapat langsung mengerti dan memproses skrip PHP katera interpreter PHP telah ditanamkan kedalamnya.
Hal ini dilakukan untuk
menghindari bottle neck yang pada umumnya terjadi di Unix, yaitu proses forking interpreter di setiap request. Selain kemampuan tersebut, PHP jga memiliki kekurangan pada saat instalasi konfigurasi yang cukup rumit dan berbeda dengan sistem operasi yang digunakannya karena dapat bekerja pada multi-platform.
2.5.4
DATABASE SERVER MySQL MySQL server adalah server databse yang kecil, ringan dan mudah digunakan.
Sangat ideal untuk aplikasi kecil dan menengah. MySQL tersedia untuk berbegai platform seperti UNIX, Windows NT dan Windows 9x. MySQL adalah software yang gratis di bawah lisensi GNU public licence. Keterangan mengenai lisensi ini dapat dilihat di http://www.gnu.org/, sedangkan informasi dan software MySQL dapat diperoleh di situs http://www.mysql.com/.
37
Bahasa standar yang digunakan untuk mengakses database server dikenal dengan SQL. SQL server merupakan sebuah program yang berfungsi untuk melayani permintaan query database. Komunikasi interaktif dalam MySQL dapat terjadi antara pengakses, melalui web browser dengan penyedia web pada server.
Pengakses dapat memperoleh data yang
disediakan di server dan sebaliknya juga penyedia web dapat menampung data ke MySQL yang diisikan pengakses dari web browser. Berikut ini adalah perintah-perintah SQL yang diterapkan dalam MySQL : 1.
CREATE Perintah ini digunakan untuk membuat database, sintaknya adalah: Create database dbname;
2.
INSERT Perintah ini digunakan untuk mengisi data pada suatu tabel, sintaknya adalah: Insert into tbname [field 1, field 2] values [‘nilai 1’,’nilai 2’];
3.
SELECT Perintah select ini digunakan untuk melihat dan menampilkan data dari suatu atau beberapa tabel, sintaknya adalah : Select * from tbname;
4.
DELETE Perintah ini digunakan untuk menghapus satu atau lebih record yang memenuhi kondisi yang ditentukan, sintaknya adalah : Delete from tbname;
38
5.
DROP Perintah ini digunakan untuk menghapus database, sintaknya adalah : Drop database [if exist] nama_database;
2.5.5
KONEKTIVITAS PHP DAN MySQL PHP menyediakan sejumlah fungsi yang digunakan untuk mengakses suatu
database ke halaman web, seperti pengaksesan database MySQL, dengan menggunakan perintah-perintah seperti di bawah ini: 1.
Mysql_Connect[ ] Perintah ini digunakan untuk menguji koneksi pada server database MySQL. Sintaknya : $variabel1=mysql_connect(“host”,”user”,”password”)
2.
Mysql_Select_db[ ] Perintah ini digunakan untuk melakukan koneksi pada database yang dalam server telah berhasil dikoneksi dengan menggunakan perintah Mysql_Connect_db[ ] sintaknya: $variabel2=mysql_select_db(“namadb”,$Variabel1)
3.
Mysql_query [ ] Perintah
ini digunakan
memanipulasi
database
untuk
mengeksekusi perintah-perintah
yang
berhasil
dikoneksi
SQL,
dengan
untuk perintah
Mysql_Select_db[ ] sintaknya : $Variabel3=mysql_query (“sql statement”) 4.
Mysql_fetch_row[ ] Perintah ini digunakan untuk
melakukan pemrosesan hasil variabel3 yang
dilakukan dengan perintah Mysql_Select_db[ ] Sintaknya: $Variabel4= Mysql_fetch_row ($Variabel3)]
39
5.
Mysql_error [] Perintah ini untuk mengambil pesan error dari operasi MySQL sebelumnya. Sintaknya: string mysql_error([int link_identiier])
6.
Mysql_close Perintah ini untuk menutup koneksi MySQL server. Sintaknya int mysql_close([int link_identifier]) Contoh script koneksi PHP ke database MySQL :