PENGEMBANGAN SISTEM INFORMASI BERBASIS
WEB TENTANG SUKU-SUKU DI PAPUA
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains (S.Si)
Program Studi Ilmu Komputer
Disusun oleh :
Elisabeth Imelda Rahawarin NIM : 983124036 NIRM : 980051122811120035
PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SANATA DHARMA
SEKAPUR SIRIH
Ia membuat segala sesuatu indah pada waktunya… (Pengkhotbah 3 : 11)
Terkadang saya tidak mengerti, mengapa segala sesuatu berjalan serba salah. Dalam
hati, saya mulai bertanya, apakah benar Tuhan mendengarkan doa? Kekhawatiran dan
ketakutan mulai menghantui kehidupan saya. Saya bingung dan putus asa. Tidakkah Tuhan
tahu apa yang sedang terjadi dalam hidup saya?
Pada suatu hari saya masuk ke tempat kudus Allah untuk merenung. Saya sadari
bahwa segala sesuatu yang terjadi itu sebenarnya adalah untuk kebaikan saya sendiri.
”Betapa bodoh dan dungunya saya di hadapanMu, ya Allah. Walaupun demikian, Engkau
tetap mengasihi saya. Engkau memegang tangan kanan saya dan mempunyai rencana yang
indah bagi saya. Sepanjang hidup saya Engkau terus membimbing saya dengan nasehat
HALAMAN PERSEMBAHAN
Skripsi ini saya persembahkan sebagai ungkapan syukur dan terima kasih kepada Allah Yang Maha Pengasih dan Penyayang atas rahmat kehidupan serta anugerah keselamatan yang telah diberikan kepada saya dan siapa saja yang bersandar dan berlindung padaNya.
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, April 2007 Penulis
PENGEMBANGAN SISTEM INFORMASI BERBASIS WEB TENTANG SUKU-SUKU DI PAPUA
INTISARI
Dalam skripsi ini, dikembangkan suatu sistem informasi tentang suku-suku di Papua berbasis web yang memungkinkan untuk diakses oleh pihak-pihak yang membutuhkan informasi tersebut, kapan saja, di mana saja tanpa mengenal batas waktu dan tempat.
Sistem informasi berbasis web tentang suku-suku di Papua ini dibangun dengan mengunakan metode waterfall yang meliputi analisa, perancangan, implementasi dan pengujian. Bahasa pemrograman yang digunakan dalam sistem ini adalah Active Server Pages (ASP) untuk penulisan script dan Microsoft Access untuk mengelola databasenya.
WEB BASED DEVELOPMENT INFORMATION SYSTEM ABOUT PAPUA’S TRIBES
ABSTRACT
The writer has developed a web based information system about Papua’s tribes, which could be accessed by any users at any time and from any place without any time and space limitation.
Web based information system about Papua’s tribes was built using waterfall method which includes analysis, design, implementation and testing. This system was developed using ASP to write the script and Microsoft Access to manage the database.
This system provides search engine as the facility for its user and three facilities for the administrator namely data adding, data editing and data deleting.
KATA PENGANTAR
Puji syukur kehadirat Tuhan Yesus Kristus atas segala penyelenggaraan keilahianNya sehingga penulisan skripsi dengan judul PENGEMBANGAN SISTEM INFORMASI BERBASIS WEB TENTANG SUKU-SUKU DI PAPUA, dapat diselesaikan. Skripsi ini dibuat untuk memenuhi salah satu syarat akademis guna memperoleh gelar Sarjana Sains program studi Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sanata Dharma.
Dalam menyelesaikan skripsi ini, banyak sekali hambatan yang penulis hadapi, maka penulis sadari bahwa tanpa bantuan dari pelbagai pihak, skripsi ini tidak dapat terwujud. Oleh sebab itu, pada kesempatan ini penulis ingin mengucapkan banyak terima kasih kepada:
1. Ibu P. H. Prima Rosa, S.Si, M.Si, selaku dosen pembimbing skripsi dan Ketua Program Studi Ilmu Komputer, yang telah meluangkan waktu untuk memberikan bimbingan dan pengarahan selama penyelesaian skripsi. Terima kasih juga karena telah memberikan kesempatan dan fasilitas bagi penulis untuk meyelesaikan studi.
2. Bapak Ir. Ign. Aris Dwiatmoko, M.Sc, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam, yang telah memberikan dukungan dan kesempatan bagi saya untuk menyelesaikan studi.
4. Mas Tukijo dan mbak Linda selaku staf sekretariat Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sanata Dharma.
5. Teman-teman program studi Ilmu Komputer angkatan 1998. Terima kasih atas segala semangat dan inspirasi yang telah kalian berikan baik secara langsung maupun tidak langsung.
6. Teman-teman baikku di kost putri ’Sari Ayu’ (periode 1998-2000), kost putri ’Crisant’, kost putri ’Tastiti’, teman-teman baikku selama masa KKN (kapan lagi jadi anak pantai…?) serta teman-teman baikku di komunitas tari ’Genta Rakyat’ (who lets Gentas out...?).
7. Teman-teman baikku di ’Keluarga 98’ (kapan reuni SMP / SMA lagi…?), Andrew dan Meika (my life so colorfull…), Awyt, Pruwet, Juxe, Peni, Catur, V-nèé, Ocha, Juleha’, Sisca, Angop, Eka, Novi, Maria, Wurie, Intan, Erna, Yani, mbak Retno dan Susi_’Ncush (terima kasih untuk bawelnya galz…). 8. Sahabat-sahabatku, Tyas ’Cykha’, Timtam, Victor, Budi ’Agek’, mbak Pòénk,
Mury, Dhea dan Agus ’Ochay’ (thanks for your loyality… I adore you all…). 9. Sahabat sejatiku, Pierre ’Popeye’, Andrie ’Plenthonk’, Yana ’Kocil’ dan Dian
’Spidey’, terima kasih karena sudah mau berbagi semua kisah, baik itu canda tawa keceriaan maupun air mata dalam duka (you raise me up to more than I can be…).
11. Semua pihak yang tidak bisa disebutkan satu per satu, yang secara langsung maupun tidak langsung turut membantu dalam penulisan skripsi ini (if I have inadvertently missed, I hope you can forgive...).
Kritik dan saran yang membangun untuk perbaikan skripsi ini sangat penulis harapkan dan akhir kata, semoga skripsi ini dapat bermanfaat bagi yang membacanya. Terima kasih.
Yogyakarta, April 2007
DAFTAR ISI
HALAMAN JUDUL ……….. i
HALAMAN PERSETUJUAN ……….. ii
HALAMAN PENGESAHAN ……….. iii
SEKAPUR SIRIH ………. iv
HALAMAN PERSEMBAHAN ……… v
PERNYATAAN KEASLIAN KARYA ………... vi
INTISARI ……… vii
ABSTRACT ………...……… viii
KATA PENGANTAR ……….. ix
DAFTAR ISI ……… xii
DAFTAR GAMBAR ………... xv
DAFTAR TABEL ………... xvi
BAB I PENDAHULUAN 1.1. Latar Belakang Masalah ……….. 1
1.2. Rumusan Masalah ………... 2
1.3. Batasan Masalah ………...……….. 3
1.4. Tujuan Penelitian ……… 3
1.5. Metodologi Penyelesaian Masalah ……….. 3
1.6. Sistematika Penulisan ………...……….. 4
2.2. World Wide Web ………. 6
2.3. Konsep Sistem Informasi Berbasis Web ………. 8
2.4. Pemrograman Web (Web Programming) ……… 8
2.5. Teknologi Active Server Pages (ASP) ……… 9
2.5.1. Konsep Dasar Active Server Pages (ASP) ………. 9
2.5.2. Visual Basic Script (VBScript) ……… 10
2.5.3. Obyek Active Server Pages ……….. 21
2.5.4. Basis Data pada Active Server Pages ………... 27
2.5.5. ActiveX Data Objects (ADO) ……….……….. 28
2.5.6. Cara Mengakses Basis Data ………. 30
BAB III ANALISA DAN PERANCANGAN SISTEM 3.1. Analisa Masalah ……… 33
3.2. Analisa Kebutuhan ……… 35
3.3. Perancangan Sistem ……….. 35
3.4. Perancangan Proses ………... 36
3.5. Perancangan Basis Data ……… 39
3.6. Kamus Data ………... 39
3.7. Perancangan Antar Muka (User Interface) ………... 40
3.8. Struktur Menu ………... 43
BAB IV IMPLEMENTASI 4.1. Implementasi Basis Data ………... 44
4.2. Implementasi Antar Muka ……… 45
BAB V PENUTUP
DAFTAR GAMBAR
Gambar 3.1 Diagram Konteks ………...……….. 36
Gambar 3.2 DFD level 1 sisi administrator ………...……….. 37
Gambar 3.3 DFD level 2 proses 2 sisi administrator ………... 38
Gambar 3.4 DFD level 1 sisi pengunjung (user) ………. 39
Gambar 3.5 Rancangan tampilan login administrator ……….. 40
Gambar 3.6 Rancangan tampilan halaman administrator ……… 40
Gambar 3.7 Rancangan tampilan halaman depan ……… 41
Gambar 3.8 Rancangan tampilan halaman suku ……….. 42
Gambar 3.9 Struktur menu sisi administrator ……….. 43
Gambar 3.10 Struktur menu sisi pengunjung (user) ……… 43
Gambar 4.1 Form login administrator ……….. 45
Gambar 4.2 Form tambah data ………. 45
Gambar 4.3 Form hapus data ………... 45
Gambar 4.5 Halaman utama ……… 46
DAFTAR TABEL
Tabel 2.1 Jenis-jenis operator aritmetika ………. 13
Tabel 2.2 Jenis-jenis operator pembandingan ……….. 14
Tabel 2.3 Jenis-jenis operator logika ………...……… 14
Tabel 2.4 Tabel Application Object ………. 22
Tabel 2.5 Tabel Object Context ………...……… 23
Tabel 2.6 Tabel Session Object ……… 23
Tabel 2.7 Tabel Response Object ………. 24
Tabel 2.8 Tabel Request Object ………... 25
Tabel 2.9 Tabel Server Object ………. 26
Tabel 2.10 Tabel Connection String OLE DB ………. 30
Tabel 2.11 Tabel Connection String ODBC ……… 31
Tabel 4.1 Tabel administrator ……….. 44
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah.
Provinsi Papua merupakan pulau yang sangat luas dengan jumlah penduduk yang tidak terlalu padat. Di Papua hidup kelompok-kelompok masyarakat dari ras Melanesia. Kelompok-kelompok atau suku-suku tersebut menempati daerah pesisir pantai hingga ke daerah pegunungan. Tempat tinggal yang berjauhan antara kelompok masyarakat atau suku yang satu dengan suku yang lainnya menyebabkan di Papua tumbuh dan berkembang beraneka kondisi sosio-kultural di antara suku-suku tersebut. Letak geografis yang terisolir pun membuat tiap suku yang ada mempunyai pranata sosial, karakteristik, agama, bahasa tradisional dan budaya masing-masing. Hal ini yang selalu menarik minat “dunia luar” untuk mengetahuinya.
“Dunia luar” selalu mengidentikkan orang Papua dengan ciri yang sama, yaitu orang Papua adalah orang yang selalu “telanjang” karena “hanya” menggunakan koteka. Namun, orang Papua yang menggunakan koteka
masalah, seperti kurangnya informasi yang bisa diperoleh, terlalu besarnya dana yang dibutuhkan untuk mencapai propinsi tersebut dan informasi yang bisa diperoleh pun terasa kurang memuaskan.
Melihat pada kondisi masalah tersebut, maka penulis berpikir untuk mencoba memberikan informasi yang dibutuhkan dengan mengembangkan suatu sistem informasi berbasis web tentang suku-suku di Papua. Informasi yang diperoleh pengguna sistem (user) dari sistem ini adalah informasi tentang suku-suku di Papua yang meliputi karakteristik suku, agama yang dianut oleh suku tersebut, bahasa tradisional yang digunakan dan budaya asli yang dimiliki oleh suku tersebut. Adapun sasaran dari pembuatan sistem ini adalah menjangkau user dari kalangan wisatawan maupun pihak-pihak lain yang bisa memanfaatkan sistem ini sebagai alat bantu dalam memperluas wawasan pengetahuannya.
1.2. Rumusan Masalah.
Rumusan masalah yang mendasar dalam penulisan skripsi ini adalah bagaimana membangun suatu sistem informasi berbasis web yang mampu memberikan informasi tentang suku-suku di Papua yang meliputi karakteristik, agama, bahasa tradisional dan budaya.
1.3. Batasan Masalah.
Informasi yang bisa diberikan oleh sistem ini hanya akan meliputi karakteristik, agama, bahasa tradisional dan budaya secara garis besar atau gambaran secara umum yang terdapat pada suku-suku yang ada. Hal ini disebabkan karena di Papua, satu suku yang mendiami salah satu wilayah, terdiri atas beberapa desa atau kampung yang mana masing-masing desa tersebut senantiasa menciptakan kebiasaan-kebiasaan sendiri. Namun sesungguhnya, kebiasaan-kebiasaan itu tetap mengacu pada budaya yang umum dari suku itu sendiri.
1.4. Tujuan Penelitian.
Penulisan skripsi bertujuan untuk mengembangkan suatu sistem informasi berbasis web yang mampu memberikan informasi tentang suku-suku di Papua, sesuai dengan dasar teori yang ada.
1.5. Metodologi Penyelesaian Masalah.
Metodologi yang dipakai oleh penulis dalam mengembangkan sistem informasi berbasis web ini adalah metodologi Waterfall (Classic Life Cycle). Adapun tahap-tahap metodologi ini adalah sebagai berikut:
1.6. Sistematika Penulisan.
Bab I skripsi ini menguraikan tentang latar belakang masalah yang menjadi alasan pengangkatan judul skripsi. Selain itu, bab I juga menguraikan tentang rumusan masalah, batasan masalah, tujuan penelitian dan metodologi yang digunakan oleh penulis dalam menyelesaikan masalah.
Bab II skripsi ini menguraikan tentang dasar teori yang digunakan penulis sebagai acuan dalam menyelesaikan masalah. Landasan teori meliputi konsep pengembangan sistem informasi, uraian tentang World Wide Web, konsep tentang sistem informasi berbasis web, pemrograman web (web programming) dan uraian tentang teknologi Active Server Pages (ASP).
Bab III skripsi ini berisi tentang analisa dan perancangan sistem informasi yang meliputi analisa masalah, perancangan proses, perancangan basis data, perancangan antar muka dan struktur menu.
Bab IV skripsi ini berisi implementasi sistem ke dalam bentuk pemrograman, sehingga bab ini akan meliputi implementasi basis data, implementasi antar muka sistem (system interface) dan implementasi program.
BAB II LANDASAN TEORI
2.1. Pengembangan Sistem Informasi
Suatu sistem merupakan seperangkat komponen yang terorganisasi, saling berinteraksi, saling bergantung satu sama lain dan terpadu untuk mengerjakan suatu tugas.
Informasi merupakan sesuatu yang nyata atau setengah nyata yang dapat mengurangi derajat ketidakpastian tentang suatu keadaan atau kejadian. Sebagai contoh, terdapat informasi yang menyatakan bahwa cuaca besok akan cerah, dengan demikian maka ketidakpastian terselenggaranya pertandingan sepak bola dapat dikurangi.
Berdasarkan definisi di atas, maka sistem informasi dapat diartikan sebagai sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil keputusan dan atau untuk mengendalikan organisasi.
2.2.World Wide Web
keterbatasan waktu dalam menyajikan informasi baik itu yang berupa keterbatasan waktu terbit maupun keterbatasan waktu tayang media tersebut. Manfaat lain yang bisa diperoleh dari internet adalah kita dapat mengirimkan surat elektronik dan berkomunikasi dengan orang lain di seluruh pelosok dunia.
World Wide Web (WWW) bukanlah internet dan begitu pula sebaliknya. Namun demikian, World Wide Web (WWW) dan internet sangat bergantung satu sama lain. Seperti yang sudah dijelaskan di atas, internet adalah suatu jaringan komputer global, sedangkan World Wide Web (WWW) bukan sekedar jaringan tetapi di dalamnya terdapat suatu set aplikasi komunikasi dan sistem perangkat lunak yang memiliki karakteristik sebagai berikut:
Umumnya menggunakan protocol Transmission Control Protocol/Internet
Protocol (TCP/IP).
Mengerti hypertext markup language (HTML).
Mengikuti model client atau server untuk komunikasi data dua arah. Memungkinkan client untuk mengakses server dengan berbagai protocol
seperti hypertext transfer protocol (HTTP) dan file transfer protocol. Memungkinkan client untuk mengakses informasi dalam berbagai media,
seperti teks, audio dan video.
2.3. Konsep Sistem Informasi Berbasis Web
Sistem informasi adalah serangkaian komponen yang terkait satu sama lain dan bekerja bersama-sama untuk mengumpulkan, mengolah dan menyimpan serta menyebarluaskan informasi guna mendukung pengambilan keputusan, koordinasi, kontrol, analisis dan visualisasi dalam suatu organisasi.
Sistem informasi berbasis web adalah sistem informasi yang sifatnya on-line, dimana informasi yang diberikan tidak hanya dapat dibaca atau statis melainkan juga dapat memberikan atau menerima respon dari pengguna sistem (user). Sistem informasi berbasis web ini merupakan pengembangan dari sistem informasi yang bersifat konvensional.
2.4. Pemrograman Web (Web Programming)
Pemrograman web identik dengan pembuatan sebuah homepage.
Homepage adalah halaman yang kita lihat pertama kali ketika kita membuka suatu situs tertentu, sehingga situs dapat diartikan sebagai kumpulan halaman-halaman web di internet yang berisi informasi.
Sekarang ini, tampilan situs-situs yang ada di internet lebih dinamis. Ciri-ciri situs yang dinamis adalah bisa berinteraksi dengan pengunjung situs, bisa menampilkan informasi-informasi dari database dan halaman-halaman web bisa berubah secara otomatis. Berdasarkan tempat dijalankannya, perintah-perintah program dalam halaman web, pemrograman
web dapat dikategorikan menjadi dua, yaitu server-side programming dan
Pada server-side programming, perintah-perintah program dijalankan di web server, sedangkan client-side programming menjalankan perintah-perintah program pada web browser. Aplikasi web berjalan pada protokol HTTP dan semua protokol yang ada di internet selalu melibatkan
server dan client.
2.5. Teknologi Active Server Pages (ASP) 2.5.1. Konsep Dasar Active Server Pages (ASP)
Microsoft Active Server Pages (ASP) merupakan suatu skrip yang bersifat server-side yang ditambahkan pada hypertext markup language
(HTML) untuk membuat sebuah web menjadi lebih menarik, dinamis dan interaktif. Active Server Pages dikatakan bersifat server-side sebab proses pengerjaan skrip berlangsung di server, bukan di browser atau client. Akibatnya, apabila sebuah browser digunakan untuk memanggil sebuah file ASP, maka browser tersebut mengirimkan permintaan ke web server, kemudian server tersebut mengeksekusi setiap skrip yang ada dan hasilnya dikirimkan kembali ke browser tersebut. Untuk dapat menjalankan file ASP pada sebuah komputer (PC) biasa yang berbasis Windows, maka komputer tersebut perlu disimulasikan menjadi sebuah web server dengan cara menginstal Microsoft Personal Web Server (PWS) atau Microsoft
Internet Information Services (IIS).
skrip ASP. Skrip ASP dapat diletakkan di mana saja seperti halnya dalam meletakkan tag HTML. Delimiter dapat digunakan untuk membedakan antara teks, tag HTML dan skrip ASP, yaitu suatu karakter yang mengawali atau mengakhiri suatu tag atau skrip. Untuk tag HTML,
delimiter yang digunakan adalah karakter < dan >. Untuk skrip ASP,
delimiter yang digunakan adalah kumpulan karakter <% dan %>. 2.5.2. Visual Basic Script (VBScript)
Visual Basic Script (VBScript) merupakan salah satu anggota keluarga bahasa pemrograman Visual Basic, bahkan merupakan inti dari bahasa pemrograman Visual Basic itu sendiri. Perbedaan mendasar antara Visual Basic dengan VBScript adalah bahwa Visual Basic memiliki lingkungan desain kerja (design-time environment). Dalam Visual Basic,
form dapat diciptakan dan kode program dapat ditulis dengan menggunakan shell yang interaktif. Sedangkan VBScript tidak memiliki lingkungan tersendiri karena VBScript “menumpang” di dalam HTML.
Browser yang paling kompatibel dengan VBScript adalah Microsoft
Internet Explorer.
misalnya untuk pemesanan suatu barang pada halaman web yang menyediakan layanan belanja on-line.
2.5.2.1.Tipe Data
VBScript memiliki fleksibilitas dalam hal penggunaan tipe data. VBScript dapat menerima tipe data apa saja yang dimasukkan ke dalam variabel, tanpa harus diperkenalkan terlebih dahulu kepada komputer. Hal ini disebabkan karena hanya ada satu tipe data yang dikenal oleh VBScript, yaitu variant. Variant merupakan tipe data khusus yang dapat menampung berbagai informasi. Mudahnya, variant dapat menampung data berupa teks, numerik, tanggal, bahkan obyek. Sekalipun VBScript hanya mengenal satu tipe data, yaitu variant, tetapi variant itu sendiri memiliki beberapa subtipe, yaitu Empty, Null, Boolean, Byte, Integer, Currency, Long, Single, Double, Date(Time), String, Object dan Error.
2.5.2.2.Deklarasi Variabel
Variabel adalah suatu tempat di memori yang dialokasikan sebagai wadah untuk menyimpan informasi yang dibutuhkan program dan nilainya dapat berubah-ubah sepanjang jalannya program. VBScript memiliki beberapa pernyataan yang digunakan untuk pendeklarasian variabel, yaitu
Dim, Private dan Public. Contoh: Dim var1, var2
Public nama, alamat, Private suhu
bersifat lokal, sedangkan jika menggunakan Public, maka variabelnya bersifat global.
2.5.2.3.Operator
Operator merupakan suatu alat yang dipergunakan untuk mengolah dan memanipulasi data. VBScript mengenal beberapa tipe operator, yaitu operator penugasan, operator aritmetika, operator pembandingan dan operator logika.
Operator penugasan berfungsi untuk memasukkan data ke dalam suatu variabel. Operator ini dilambangkan dengan tanda sama dengan (=). Contoh: Nilai = 1
Akhir = Awal + Waktu Nama = “Elizh”
Luas = Panjang * Lebar
Ada beberapa ketentuan yang harus diperhatikan dalam penggunaan operator penugasan berkaitan dengan tipe data yang akan dimasukkan ke dalam variabel, yaitu:
Untuk subtipe data string digunakan tanda kutip (“), misalnya
Nama = “Elizh”.
Untuk subtipe data berupa tanggal dan waktu, digunakan tanda
pagar (#), misalnya Tanggal = # Maret 19, 03#.
Tabel 2.1 Jenis-jenis operator aritmetika.
Operator Keterangan
^ Digunakan untuk pemangkatan. * Digunakan untuk perkalian.
/ Digunakan untuk pembagian.
\ Digunakan untuk pembagian, namun hasil yang diperoleh adalah integernya saja.
Mod Digunakan untuk pembagian, namun hasil yang diperoleh adalah sisa dari pembagian tersebut.
+ Digunakan untuk penambahan. - Digunakan untuk pengurangan.
& Digunakan untuk penggabungan string.
Jika ada beberapa operator sekaligus di dalam satu operasi aritmetika, maka prioritas pengerjaannya menyesuaikan dengan konvensi yang ada di dalam matematika. Misalnya pemangkatan dijalankan pertama kali, kemudian diikuti oleh perkalian dan pembagian, lalu penambahan dan pengurangan.
Contoh: 6 + 3 * 7 – 2 ^ 3 / 2
yang dikerjakan pertama adalah 2 ^ 3 = 8, kemudian 3 * 7 = 21 dan
8 / 2 = 4, lalu 6 + 21 = 27 dan 27 – 4 = 23.
Operator pembandingan adalah operator yang membandingkan antara suatu nilai atau operasi matematis dengan nilai atau operasi yang lain, dan menghasilkan suatu nilai yang bersubtipe Boolean, yaitu True
Tabel 2.2 Jenis-jenis operator pembandingan.
Operator Deskripsi
Lebih kecil Lebih besar
Lebih kecil atau sama dengan Lebih besar atau sama dengan
Sama dengan Tidak sama dengan
Operator logika merupakan operator yang digunakan untuk membandingkan dua ekspresi perbandingan dan menghasilkan nilai yang bersifat Boolean. Jenis operator logika akan diberikan pada tabel berikut:
Tabel 2.3 Jenis-jenis operator logika.
Operator Deskripsi
And Dan, digunakan untuk membandingkan dua ekspresi dan menghasilkan nilai True jika kedua ekspresi bernilai True
Or Atau, digunakan untuk membandingkan dua ekspresi dan menghasilkan nilai True jika salah satu atau kedua ekspresi bernilai True
Xor Atau yang ekslusif, digunakan untuk membandingkan dua ekspresi dan menghasilkan nilai True jika kedua ekspresi mempunyai nilai yang berbeda.
Not Tidak, digunakan untuk membalik nilai dari suatu ekpresi. Eqv Sebanding, digunakan untuk membandingkan dua ekspresi
dan menghasilkan nilai True jika kedua ekspresi memiliki nilai yang sama.
Imp Impliksai, digunakan untuk membandingkan dua ekspresi dan akan menghasilkan nilai False jika nilai ekspresi di sebelah kiri True dan di sebelah kanan False.
2.5.2.4. Alur Percabangan
pernyataan kondisi yang dikenal oleh VBScript, yaitu If…Then…Else dan
Select…Case.
Pernyataan If…Then…Else digunakan untuk memilih salah satu dari beberapa blok pernyataan, tergantung dari nilai ekspresi yang diuji. Penggunaan pernyataan If…Then…Else adalah sebagai berikut:
If kondisi 1 Then
alternatif tindakan 1
[ElseIf kondisi 2 Then
alternatif tindakan 2]
[Else
alternatif tindakan 3]
End If
Contoh: If skor 80 Then Nilai = “A” ElseIf skor 60 Then
Nilai = “B” Else
Nilai = “C” End If
Pernyataan Select…Case digunakan untuk mengeksekusi satu dari beberapa blok pernyataan, tergantung dari nilai ekspresi yang diuji. Pernyataan Select…Case dapat dikatakan sebagai penyederhanaan bentuk dari If…Then…Else jika terdapat banyak alternatif kondisi. Penggunaan pernyataan Select…Case adalah sebagai berikut:
Select Case tes ekspresi
tindakan 1
Case ekspresi 2
tindakan 2
. . .
Case ekspresi n
tindakan n
[Case Else
tindakan]
End Select
Contoh: Select Case Status Case “A”
Bonus = 0.1 * Gaji Case “B”
Bonus = 0.15 * Gaji Case “C”
Bonus = 0.2 * Gaji End Select
2.5.2.5.Perulangan
Perulangan digunakan untuk mengulang-ulang suatu blok pernyataan selama kondisi masih terpenuhi. Ada empat pernyataan perulangan (looping) yang dimilki oleh VBScript, yaitu Do…Loop,
While…Wend, For…Next dan For Each…Next.
Do [{While Until} kondisi]
[pernyataan]
[Exit Do]
[pernyataan]
Loop
atau
Do
[pernyataan]
[Exit Do]
[pernyataan]
Loop[{While Until} kondisi]
Perbedaan dari kedua penggunaan pernyataan perulangan di atas adalah sebagai berikut:
Untuk pernyataan While atau Until yang diletakkan pada bagian
awal, jika kondisi tidak terpenuhi, maka pernyataan di dalam blok Do…Loop tidak akan dieksekusi.
Untuk pernyataan While atau Until yang diletakkan pada bagian
akhir, maka pernyataan di dalam blok Do…Loop akan dieksekusi paling tidak satu kali, jika kondisi tidak terpenuhi, pengulangan baru dihentikan.
Contoh: Dim X (20) A = 0
Loop atau
Dim X(20) A = 0
Do Until A = 10 X(A) = 10 * A A = A + 1 Loop
Pernyataan While…Wend digunakan untuk mengulang-ulang suatu blok pernyataan selama kondisi masih terpenuhi. Pernyataan
While…Wend memiliki kegunaan yang sama dengan Do While…Loop. Penggunaan pernyataan While …Wend adalah sebagai berikut:
While kondisi
[pernyataan]
Wend
Contoh: While A 10
X(A) = 10 * A A = A + 1 Wend
Pernyataan For…Next digunakan untuk mengulang-ulang suatu blok pernyataan jika jumlah pengulangan telah diketahui. Penggunaan pernyataan For…Next adalah sebagai berikut:
For pencacah = awal To akhir [Step langkah]
[pernyataan]
[Exit For]
Next
Contoh: For A = 1 To 10 B(A) = log(A) Next
Pernyataan For Each…Next digunakan untuk mengulang-ulang suatu blok pernyataan untuk setiap elemen array atau koleksi. Penggunaan pernyataan For Each…Next adalah sebagai berikut:
For Each elemen In grup
[pernyataan]
[Exit For]
[pernyataan]
Next
2.5.2.6.Prosedur
Prosedur adalah sekelompok skrip yang mengerjakan tugas tertentu. Untuk menggunakan sebuah prosedur, prosedur tersebut harus dideklarasikan terlebih dahulu. Setelah dideklarasikan, prosedur tersebut dapat dipanggil dimana saja di dalam skrip. Pendeklarasian sebuah prosedur diletakkan pada bagian Header dokumen HTML, dengan demikian seluruh skrip pada bagian Body akan mengenal prosedur tersebut.
Prosedur Sub adalah prosedur yang tidak menghasilkan nilai balik. Prosedur Sub dapat menerima data untuk diolah, tetapi hasil olahan tersebut tidak dapat dikembalikan pada skrip yang memanggil prosedur
Sub. Sintaks deklarasi prosedur Sub adalah sebagai berikut:
Sub namaprosedur([argumen1, argumen2,…,argumenn])
…skrip
End Sub
Namaprosedur adalah nama dari prosedur Sub.
Argumen atau parameter adalah deklarasi variabel yang akan
diolah di dalam prosedur Sub.
Prosedur Sub dapat langsung dipanggil dengan menuliskan nama prosedurnya atau menggunakan pernyataan Call dan diikuti nama prosedurnya. Sedangkan untuk keluar dari prosedur Sub dapat dilakukan melalui dua cara berikut, yang pertama adalah apabila prosedur Sub
tersebut telah berakhir yang ditandai dengan pernyataan End Sub. Yang kedua adalah dengan menggunakan pernyataan Exit. Penggunaan pernyataan Exit di sini mirip dengan penggunaan pernyataan Exit pada struktur pengulangan.
Prosedur Function adalah prosedur yang menghasilkan nilai balik (return value). Nilai balik ini akan dikembalikan pada skrip yang memanggil prosedur Function. Sintaks deklarasi prosedur Function adalah sebagai berikut:
Function namaprosedur([argumen1, argumen2,…,argumenn])
End Function
Namaprosedur adalah nama dari prosedur Function.
Argumen atau parameter adalah deklarasi variabel yang akan
diolah di dalam prosedur Function.
Pemanggilan prosedur Function dapat dilakukan dengan menggunakan sintaks:
Nbalik = namaprosedur([argumen1,argumen2,…,argumenn])
Nbalik adalah variabel yang menyimpan nilai balik dari prosedur
Function.
Untuk keluar dari prosedur Function, cara yang digunakan sama dengan keluar dari prosedur Sub, yaitu dengan pernyataan Exit.
2.5.3. Obyek Active Server Pages
Obyek-obyek ASP merupakan obyek-obyek utama yang terdapat di dalam pemrograman ASP. Obyek-obyek ini dipergunakan untuk membuat elemen-elemen dinamis dalam halaman ASP yang memungkinkan dilakukannya interaksi antara browser dan server seperti mengirim permintaan browser, merespon permintaan ke browser dan mengumpulkan informasi user. Obyek-obyek yang dimiliki ASP adalah obyek Application (Application Object), obyek Request (Request Object), obyek Response (Response Object), obyek Server (Server Object), obyek
Session (Session Object) dan obyek Object Context.
Masing-masing obyek memiliki collection (koleksi), method
metode, properti dan event dipisahkan dengan tanda titik, variabel yang dikirim pada method atau event diletakkan di dalam tanda kurung.
Koleksi adalah tempat untuk menyimpan string, bilangan, obyek ataupun nilai-nilai lain yang dimiliki oleh obyek.
Metode adalah tugas-tugas tertentu yang dapat dikerjakan oleh obyek yang bersangkutan.
Properti adalah sifat dari obyek yang bersangkutan.
Event merupakan suatu kumpulan skrip yang akan dijalankan bila pengguna menjalankan pemicu event tersebut.
Application Object dapat digunakan untuk berbagi informasi pada
suatu aplikasi di antara pemakainya. Semua aplikasi ASP didefinisikan sebagai file .asp pada virtual directory dan sub directorynya. Koleksi, metode dan event yang dimiliki oleh obyek
Application dapat dilihat dalam tabel berikut: Tabel 2.4 Tabel Application Object
Koleksi Contents
StaticObject
Merupakan isi dari obyek
Application yang dimasukkan oleh skrip
Mengandung semua obyek yang dibuat dengan tag HTML <OBJECT>
Metode Lock
Unlock
Metode ini akan “mengunci” nilai variabel yang terkandung oleh obyek Application sehingga tidak bisa diakses oleh pengguna lain.
Event Application_OnStart
Application_OnEnd
Event yang akan dieksekusi bila obyek Application dimulai.
Event yang akan dieksekusi bila obyek Application dimulai.
Object Context dapat digunakan untuk memulai atau membatalkan
sebuah transaksi yang dilakukan oleh Microsoft Transaction Server
(MTS). Metode dan event yang dimiliki obyek Object Context
dapat dilihat dalam tabel berikut:
Tabel 2.5 Tabel Object Context
Metode SetComplete
SetAbort
Metode ini mendeklarasikan bahwa skrip tidak akan mengenal alasan apapun untuk tidak melakukan transaksi.
Metode ini mendeklarasikan bahwa transaksi yang telah
Event ini terjadi bila transaksi dibatalkan.
Session Object dimulai pada saat user membuka web dan berakhir
pada saat user menutup browser atau pada saat Session tersebut mencapai waktu timeout. Koleksi, metode, properti dan event yang dimiliki oleh obyek Session dapat dilihat dalam tabel berikut:
Tabel 2.6 Tabel Session Object
StaticObject
Berisi semua obyek yang dibuat dengan tag <OBJECT> pada
Session tertentu. Properti CodePage
LCID
SessionID
TimeOut
Kode-kode yang digunakan untuk
mapping.
Merupakan suatu penanda (identifier) lokasi.
Merupakan identitas suatu Session. Merupakan waktu timeout untuk waktu Session (dalam menit).
Metode Abandon Membuang semua informasi pada suatu Session.
Event Session_OnStart
Session_OnEnd
Terjadi bila suatu Session dimulai. Terjadi bila suatu Session berhenti.
Response Object sangat penting dalam ASP. Response, sesuai
dengan namanya, akan mengirimkan data yang diinginkan ke
client. Koleksi, metode dan properti yang dimiliki oleh obyek
Response dapat dilihat dalam tabel berikut:
Tabel 2.7 Tabel Response Object
Koleksi Cookies Menetapkan nilai dari cookie. Properti Buffer
browser akan ditunda atau tidak. Menetukan apakah proxy server
dapat menangani output dari
server ASP.
Menetukan tipe dari karakter set pada bagian content-type header. Menentukan ContentType dari sebuah HTTP.
ExpiresAbsolute
IsClientConnected
Pics
Status
dalam memori browser (sering dikenal dengan cache).
Menentukan tanggal sebuah halaman web akan terhapus dari
cache sebuah browser.
Mencek apakah sebuah browser
terputus koneksinya dari server. Menetapkan nilai dari PICS label pada Response header.
Menetapkan nilai dari status yang dikembalikan oleh server.
Metode AddHeader
Menambahkan suatu string ke dalam server log.
Memberikan output tanpa konversi ke karakter set apapun. Menghilangkan data-data yang tertunda oleh properti Buffer. Menghentikan proses pengerjaan file ASP.
Mengirimkan data-data yang tertunda oleh properti Buffer. Mengirimkan pesan ke browser
yang mengarahkan browser untuk menuju alamat URL tertentu. Menulis output sebagai sebuah string.
Request Object merupakan kebalikan dari Response Object karena
diproses lebih lanjut. Koleksi, metode dan properti yang dimiliki oleh obyek Request dapat dilihat dalam tabel berikut:
Tabel 2.8 Tabel Request Object
Koleksi ClientCertificate tersimpan pada ClientCertificate
yang dikirimkan browser ke
server.
Mengambil nilai dari Cookies
yang dikirimkan browser ke
server.
Mengambil nilai dari elemen
Form yang dikirimkan browser ke
server.
Mengambil nilai dari QueryString
yang dikirimkan browser ke
server .
Mengambil nilai dari
ServerVariables yang dikirimkan
browser ke server.
Metode BinaryRead Mengambil data yang dikirimkan ke server sebagai bagian dari POST Request.
Properti TotalBytes Menghitung jumlah bit yang dikirimkan oleh browser.
Server Object dapat melakukan akses ke methods atau properties
yang ada di server. Metode dan properti yang dimiliki oleh obyek
Server dapat dilihat dalam tabel berikut: Tabel 2.9 Tabel Server Object
Metode CreateObject HTMLEncode
MapPath
URLEncode
Memetakan sebuah virtual path atau
relative path menjadi physical path. Menetapkan penyandian URL terhadap sebuah string.
Properti ScriptTimeout Lamanya sebuah skrip dapat dieksekusi.
2.5.4. Basis Data Pada Active Server Pages
Basis data seringkali digunakan untuk berbagai keperluan dalam aplikasi ASP, karena salah satu keistimewaan dari file .asp adalah penanganan basis data. Structured Query Language (SQL) merupakan bahasa standar yang digunakan dalam basis data. Bahasa ini mengandung perintah-perintah yang dapat digunakan untuk memasukkan, mengubah, menghapus maupun memilih data.
Sebuah ekspresi SQL dasar sebenarnya hanya terdiri atas tiga klausa, yaitu select, from dan where. Klausa select digunakan untuk menetapkan daftar atribut (field) yang diinginkan sebagai hasil query. Klausa from digunakan untuk menetapkan tabel (atau gabungan tabel) yang akan ditelusuri selama query data dilakukan. Klausa where, yang sifatnya opsional, digunakan sebagai predikat (kriteria) yang harus dipenuhi dalam memperoleh hasil query. Cara penulisan (sintaks) dari ekspresi SQL dasar dengan tiga klausa di atas adalah:
dimana A1,A2,…,An merupakan daftar atribut, t1, t2,…,tm merupakan daftar tabel, P merupakan predikat query, [ ] merupakan tanda opsional (boleh digunakan, boleh tidak digunakan).
2.5.5. ActiveX Data Objects (ADO)
ActiveX Data Objects (ADO) merupakan komponen dalam ASP yang tidak kalah penting karena ActiveX Data Objects berfungsi untuk berinteraksi dengan berbagai sumber data. ActiveX Data Objects
mendukung akses penuh terhadap berbagai macam jenis basis data yang mendukung format Open Data Base Connectifity (ODBC) seperti Microsoft Access dBase, Oracle, Visual Foxpro atau SQL Server sehingga
ActiveX Data Objects memungkinkan aplikasi client untuk mengakses dan memanipulasi data dari database server melalui provider OLE DB.
ActiveX Data Objects memiliki 9 obyek, yaitu Command, Connection,
Recordset, Record, Stream, Error, Field, Parameter dan Property. Masing-masing obyek tersebut memiliki salah satu atau lebih properti, metode dan event.
Obyek Command digunakan untuk menjalankan perintah-perintah
seperti menjalankan pernyataan SQL, query database maupun prosedur tersimpan yang berguna untuk mengeksekusi sumber data.
Obyek Connection digunakan untuk membuat koneksi yang
Obyek Recordset digunakan untuk menempatkan set data dari tabel
basis data atau hasil dari perintah yang dieksekusi. Obyek
Recordset hanya merujuk pada satu data di dalam set data sebagai
current record. Obyek Recordset ini juga dikenal dengan istilah
cursor.
Obyek Record merujuk pada sebuah baris dari Recordset atau
obyek yang tersimpan oleh data provider semistructur seperti file atau direktori.
Obyek Stream digunakan untuk menunjukkan aliran dari data biner
atau teks. Obyek Stream dapat digunakan untuk memanipulasi field
atau record yang berisi aliran data. Obyek Stream dapat juga digunakan untuk meletakkan data untuk berbagai keperluan aplikasi.
Obyek Error digunakan untuk mendefinisikan secara detail
kesalahan yang terjadi. Setiap terjadi kesalahan, satu atau lebih obyek Error akan tersimpan di dalam koleksi error pada obyek
Connection.
Obyek Field menunjukkan kepada sebuah kolom di dalam
Recordset. Obyek Field berada di dalam koleksi field pada obyek
Recordset.
Obyek Parameter digunakan untuk menunjukkan hubungan
Obyek Property terdiri atas dua tipe, yaitu Built In dan Dynamic.
Property Built In adalah properti yang terletak di dalam ActiveX Data Object dan ada bersama dengan obyek baru. Property Dynamic adalah properti yang didasarkan pada data provider dan muncul di dalam koleksi properti.
2.5.6. Cara Mengakses Basis Data
Untuk membuat koneksi ke sumber data dapat dilakukan dengan dua cara, yaitu ODBC (Open Database Connectivity) dan OLE DB (Object Linking and Embedding DataBase). Kelebihan OLE DB disbanding ODBC adalah mampu mengakses dengan lebih cepat dan lebih stabil. Namun, ODBC memiliki lebih banyak driver database dibanding OLE DB. Untuk membuat koneksi ke sumber data, terlebih dahulu perlu diketahui tentang connection string yang digunakan oleh masing-masing sumber data. Connection string ini berguna untuk menempatkan dan mengidentifikasi sumber data. Berikut ini adalah beberapa connection string untuk beberapa sumber data.
Tabel 2.10 Tabel Connection String OLE DB
Sumber Data Connection String OLE DB Microsoft Accsess Provider = Microsoft.Jet.OLEDB.4.0;
Data Source = physical path.mdb Microsoft SQL Server Provider = SQLOLEDB.1;
Data Source = path databse di server Oracle Provider = MSDAORA.1;
Data Source = path database di server Microsoft Indexing Service Provider = MSIDXS.1;
Data Source = path file
Tabel 2.11 Tabel Connection String ODBC
Sumber Data Connection String ODBC
Micrososft Access Driver = {Microsoft Access Driver (*.mdb)}
DBQ = physical path.mdb
Microsoft SQL Server Driver = {SQL Server}; Server = path ke server
Oracle Driver = {Microsoft ODBC for Oracle}
Server = path ke server
Microsoft Excel Driver = {Microsoft Excel Driver (*.xls)};
DBQ = physical path file.xls; DriverID = 278
Microsoft Excel 97 Driver = {Microsoft Excel Driver (*.xls)};
DBQ = physical path.xls; DriverID = 790
Paradox Driver = {Microsoft Paradox Driver (*.db)};
DBQ = physical path file.db; DriverID = 26
Text Driver = {Microsoft Text Driver (*.txt;*.csv)};
DefaultDir = physical path file.txt
Microsoft Visual FoxPro® (with a database container)
Driver = {Microsoft Visual FoxPro Driver};
SourceType = DBF;
SourceDb = physical path file.dbf
Microsoft Visual FoxPro (without a database container)
Driver = {Microsoft Visual FoxPro Driver};
SourceType = DBF;
SourceDb = physical path file.dbf
Contoh:
Untuk membuat koneksi ke database dengan provider OLE DB: <%
Set con = Server.CreateObject(“ADODB.Connection”) con.open “Provider=Microsoft.Jet.OLEDB.4.0;” &_ “Data Source=C:\Data.mdb;”
Untuk membuat koneksi ke database dengan provider ODBC: <%
Set con = Server.CreateObject(“ADODB.Connection”)
con.open “Driver={Microsoft Access
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Masalah
Provinsi Papua merupakan provinsi yang memiliki banyak keragaman budaya, mengingat banyak pula ragam suku yang mendiami provinsi tersebut. Di Papua terdapat dua ratus lima puluh suku yang tersebar di seluruh daerah pesisir pantai dan daerah pegunungan.
Masalah yang ada adalah bahwa “dunia luar” selalu mengidentikkan orang Papua dengan ciri yang sama, yaitu orang Papua adalah orang yang selalu “telanjang” karena “hanya” menggunakan koteka. Orang Papua yang menggunakan koteka sebagai busana mereka merupakan orang Papua yang berasal dari suku Dani. Selain suku Dani, orang Papua juga ada yang berasal dari suku Ekari, suku Amungme, suku Kamoro dan suku-suku lainnya.
1. Praktis (efficiency).
Sistem informasi yang dikembangkan harus lebih praktis dalam menyajikan informasi, sehingga informasi dapat diperoleh dengan cepat dan tepat hanya melalui suatu proses pencarian (searching).
2. Sederhana (simplicity).
Sistem informasi yang dikembangkan, diharapkan tidak terlalu rumit dalam penggunaan sehingga user tidak canggung untuk menggunakan sistem ini.
3. Mudah diakses (accessibility).
Sistem informasi yang dikembangkan harus mampu memberikan kemudahan bagi user untuk dapat mengakses data secara langsung. 4. Bernilai ekonomis (economy).
Selama ini, informasi tentang suku-suku di Papua dapat diperoleh melalui brosur maupun jurnal pariwisata yang dikeluarkan oleh Dinas Pariwisata tingkat kabupaten atau kotamadya maupun Dinas Pariwisata tingkat provinsi. Hal ini menyebabkan keterbatasan informasi yang bisa diberikan dan mahalnya biaya yang harus dikeluarkan untuk selalu mencetak brosur maupun jurnal dalam jumlah yang banyak.
Sistem yang dikembangkan ini diharapkan mampu memberikan informasi yang selalu dibutuhkan oleh user tanpa batas waktu dan tempat dengan biaya yang relatif lebih murah.
3.2. Analisa Kebutuhan
Sistem informasi tentang suku-suku di Papua yang akan dikembangkan ini akan dikelola oleh administrator dan digunakan oleh pengunjung sistem yang disebut user. Pengunjung adalah masyarakat umum yang memanfaatkan feature search engine untuk mencari informasi tentang suku-suku di Papua. Administrator adalah pihak yang bertanggung jawab atas pemeliharaan dan pengelolaan sistem.
Dalam “Pengembangan Sistem Informasi Berbasis Web tentang Suku-suku di Papua” ini akan digunakan alat bantu perangkat lunak (software) berupa sistem operasi Windows dengan menggunakan Microsoft Active Server Pages (ASP) untuk menghasilkan antar muka web yang dinamis dan interaktif, sehingga menarik bagi user. Perangkat lunak basis data (software database) yang digunakan adalah Microsoft Access dan untuk menampilkannya pada web digunakan Microsoft Internet Explorer dan
Internet Information Services (IIS). 3.3. Perancangan Sistem
Berdasarkan uraian yang terdapat pada analisa masalah dan analisa kebutuhan, maka dapat diketahui bahwa sistem informasi yang akan dikembangkan ini memuat satu hal mendasar, yaitu feature search engine.
Sistem Informasi tentang suku-suku
di Papua Pengguna sistem
(user)
Pengelola sistem (administrator)
informasi suku
detail suku username;password
data suku
kunci. Administrator adalah pihak yang bertanggung jawab atas pemeliharaan dan pengelolaan sistem. Administrator berhak memberikan kekuasaan kepada pengunjung untuk mengakses data apa saja.
Gambar 3.1 Diagram Konteks 3.4. Perancangan Proses
Proses yang terjadi dalam ‘Pengembangan Sistem Informasi Berbasis Web tentang Suku-suku di Papua’ ini dapat dilihat dari dua sisi, yaitu sisi administrator dan sisi pengunjung (user).
A. Perancangan Proses Sisi Adiministrator. Pada sisi administrator terdapat dua proses, yaitu: 1. Proses login dan validasi administrator.
administrator
data suku yang diedit
data suku yang akan diedit; hasil edit kategori
database. Jika data tersebut sudah sesuai, maka administrator dapat melakukan proses selanjutnya, yaitu proses edit kategori.
2. Proses edit kategori.
Dalam proses ini, administrator dapat melakukan pengeditan kategori baik itu penambahan maupun penghapusan kategori berdasarkan kebutuhan pengguna sistem (user).
administrator
Gambar 3.3 DFD level 2 proses 2 sisi administrator
B. Perancangan Proses Sisi Pengunjung (user).
Pada sisi pengunjung, proses yang terjadi adalah proses pencarian data (searching). Proses ini digunakan oleh pengunjung untuk mencari data yang diinginkan. Pencarian dapat dilakukan berdasarkan kata kunci.
searching
user database
suku
data suku
hasil pencarian data suku yang dicari
Di bawah ini akan digambarkan DFD level 1 untuk sisi pengunjung (user).
Gambar 3.4 DFD level 1 sisi pengunjung (user)
3.5. Perancangan Basis Data
Dalam sistem yang dikembangkan ini, terdapat dua entitas, yaitu entitas administrator dan entitas suku. Entitas administrator mempunyai dua atribut, yaitu nama dan password. Entitas suku mempunyai beberapa atribut, yaitu nama_suku, agama_suku, bahasa_tradisional, karakteristik_suku dan budaya_asli.
Kedua entitas dalam sistem ini tidak saling bergantung, maka tidak ada relasi antar keduanya.
3.6. Kamus Data
Nama = {A-Z│a-z}30
Password = {A-Z│a-z}30{0│1│2│3│4│5│6│7│8│9}10 Nama_suku = {A-Z│a-z}30
Nama :
Password :
Login Halaman Login
Menu
Cari Data
Tabel Karakteristik_suku = {A-Z│a-z}50
Budaya_asli = {A-Z│a-z}50 Gambar = {A-Z│a-z}30
3.7. Perancangan Antar Muka (User Interface)
A. Perancangan Antar Muka Sisi Administrator. Halaman login administrator.
Gambar 3.5 Rancangan tampilan login administrator Halaman administrator.
Tanggal
G am bar
Cari D ata
M enu Isi
(C ontent) B. Perancangan Antar Muka Sisi Pengunjung (user).
Halaman depan.
Daftar Suku
Detail Suku
Daftar Suku
Nama Gambar Detail
Gambar
Nama suku Agama suku Bahasa tradisional Karakteristik suku
Budaya asli Keterangan Halaman suku.
Halaman utama
Form login administrator
Form edit data Form tambah
data Form hapus data
Data suku Data suku Data suku
Halaman utama
Cari data
(searching) Links
Data suku
Pemerintah Kontak
3.8. Struktur Menu
A. Struktur Menu Sisi Administrator.
Gambar 3.9 Struktur menu sisi admininstrator
B. Struktur Menu Sisi Pengunjung (user).
BAB IV IMPLEMENTASI
4.1. Implementasi Basis Data
Implementasi basis data yang digunakan dalam sistem ini terdiri atas sebuah database yang memuat dua buah tabel, yaitu tabel administrator dan tabel suku.
Tabel 4.1 Tabel administrator
Field Type Ukuran
Nama Varchar 30
Password Varchar 10
Tabel 4.2 Tabel suku
Field Type Ukuran
Nama_suku Varchar 30
Agama_suku Varchar 30
Bahasa_tradisional Varchar 30
Karakteristik_suku Longtext 345
Budaya_asli Text 255
4.2. Implementasi Antar Muka
A. Antar Muka Sisi Administrator.
Gambar 4.1 Form login administrator
Gambar 4.2 Form Tambah data
B. Antar Muka Sisi User.
Gambar 4.5 Halaman utama
4.3. Implementasi Program
A. Proses Pada Sisi Administrator. 1. Proses Login
Response.ExpiresAbsolute = Now() - 1 Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", "private, cache, no-store, must-revalidate"
%> <%
If Request.Form("submit") <> "" Then bValidPwd = False
' Setup variables
snama = Request.Form("Nama")
spassword = Request.Form("Password") If ValidateUser(sNama, sPassword) Then
' Write cookies
sLoginType = LCase(Request.Form("rememberme")) If sLoginType = "a" Then
Response.Cookies(ewProjectName)("autologin") = DateAdd("d", 365, Date) ' Change the expiry date of the cookies here
ElseIf sLoginType = "u" Then
Response.Cookies(ewProjectName)("autologin") = "rememberNama"
Response.Cookies(ewProjectName)("nama") = sNama Response.Cookies(ewProjectName).Expires = DateAdd("d", 365, Date) ' Change the expiry date of the cookies here
Session(ewSessionMessage) = "Incorrect nama or password"
Else
If IsLoggedIn Then
If Session(ewSessionMessage) = "" Then Response.Redirect "default.asp"
Else ' Check auto login
If Request.Cookies(ewProjectName)("autologin") = "autologin" Then
sNama = Request.Cookies(ewProjectName)("nama") sPassword =
Request.Cookies(ewProjectName)("password")
If ValidateUser(sNama, sPassword) Then Response.Redirect "default.asp"
if (!EW_hasValue(EW_this.nama, "TEXT" )) {
if (!EW_onError(EW_this, EW_this.nama, "TEXT", "Please enter user ID"))
return false; }
if (!EW_hasValue(EW_this.password, "PASSWORD" )) {
if (!EW_onError(EW_this, EW_this.password, "PASSWORD", "Please enter password"))
If Session(ewSessionMessage) <> "" Then %>
<p><span class="ewmsg"><%= Session(ewSessionMessage) %></span></p>
<%
Session(ewSessionMessage) = "" ' Clear message End If
%>
<form action="login.asp" method="post" onSubmit="return EW_checkMyForm(this);">
<table border="0" cellspacing="0" cellpadding="4"> <tr>
<td><span class="aspmaker">Nama</span></td> <td><span class="aspmaker"><input type="text" name="nama" size="30"></span></td>
<td><span class="aspmaker">Password</span></td> <td><span class="aspmaker"><input type="password" name="password" size="10"></span></td>
</tr> <tr>
<td> </td>
<td><span class="aspmaker">
<% If Request.Cookies(ewProjectName)("autologin") = "autologin" Then %>
<input type="radio" name="rememberme" value="a" checked>Auto login until I logout explicitly<br>
<input type="radio" name="rememberme" value="u">Save my user name<br><input type="radio" name="rememberme"
value="n">Always ask for my user name and password
<% ElseIf Request.Cookies(ewProjectName)("autologin") = "rememberUsername" Then %>
<input type="radio" name="rememberme" value="a">Auto login until I logout explicitly<br>
<input type="radio" name="rememberme" value="u" checked>Save my user name<br>
<input type="radio" name="rememberme" value="n">Always ask for my user name and password
<% Else %>
<input type="radio" name="rememberme" value="a">Auto login until I logout explicitly<br>
<input type="radio" name="rememberme" value="u">Save my user name<br>
<input type="radio" name="rememberme" value="n" checked>Always ask for my user name and password
<% End If%> </span></td> </tr>
</tr> <tr>
<td colspan="2" align="center"><span
class="aspmaker"><input type="submit" name="submit" value="Login"></span></td>
' Function to validate user
Function ValidateUser(Nama, Password) ValidateUser = False
Dim CaseSensitive, AdminNama, AdminPassword
CaseSensitive = False ' Modify case sensitivity here ' Check other users
If Not ValidateUser Then Set conn =
sFilter = "([nama] = '" & AdjustSql(Nama) & "')" sSql = ewBuildSql(ewSqlSelect, ewSqlWhere, ewSqlGroupBy, ewSqlHaving, ewSqlOrderBy, sFilter, "")
Set rs = conn.Execute(sSql) If Not rs.Eof Then
If CaseSensitive Then
ValidateUser = (rs("password") = Password) Session(ewSessionNama) = rs("nama") ' Load user name
Session(ewSessionSysAdmin) = 0 ' Non System Administrator
End If End If rs.Close
Set rs = Nothing conn.Close
Set conn = Nothing End If
End Function
%><!--#include file="footer.asp"--> 2. Proses Tambah Data
<form name="Suku" method="Post" action="tambahs.asp"> <table width="4025">
<tr><td>Nama suku: </td>
<td width="3690"><input type="text" name="nama suku" size="25"></td></tr>
<tr><td>Agama suku: </td>
<td width="3690"><input type="text" name="agama" size="50"></td></tr>
<tr><td>Bahasa tradisional: </td>
<td width="3690"><input type="text" name="bahasa" size="50"></td></tr>
<tr><td>Karakteristik: </td></tr>
<tr><td><textarea cols="40" name="karakteristik" rows="2" ></textarea></td></tr>
<tr><td>Budaya asli: </td>
<td width="3690"><input type="text" name="budaya" size="50"></td></tr>
<tr><td>Gambar: </td>
<td width="3690"><input type="text" name="gambar" size="50">
<input type="submit" value="Browse" name="Submit"></td></tr> </table>
3. Proses Hapus Data
Response.ExpiresAbsolute = Now() - 1 Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", "private, cache, no-store, must-revalidate"
%> <%
If Not IsLoggedIn Then Response.Redirect "login.asp" %>
<%
' Initialize common variables
x_nama = Null: ox_nama = Null: z_nama = Null x_agama = Null: ox_agama = Null: z_agama = Null x_bahasa = Null: ox_bahasa = Null: z_bahasa = Null x_karakteristik = Null: ox_karakteristik = Null: z_karakteristik = Null
x_budaya = Null: ox_budaya = Null: z_budaya = Null x_gambar = Null: ox_gambar = Null: z_gambar = Null %>
<%
Response.Buffer = True ' Load Key Parameters
sKey = "": bSingleDelete = True
x_nomor = Request.QueryString("nomor") If x_nomor <> "" Then
If Not IsNumeric(x_nomor) Then
Response.Redirect "tabel_sukulist.asp" ' prevent sql injection
End If
If sKey <> "" Then sKey = sKey & "," sKey = sKey & x_nomor
Else
bSingleDelete = False End If
If Not bSingleDelete Then sKey = Request.Form("key_d") End If
If sKey = "" Or IsNull(sKey) Then Response.Redirect "tabel_sukulist.asp"
arRecKey = Split(sKey&"", ",") i = 0
' Remove spaces
sRecKey = Trim(arRecKey(i+0)) If Not IsNumeric(sRecKey) Then
Response.Redirect "tabel_sukulist.asp" ' prevent sql injection
End If
' Build the SQL
sDbWhere = sDbWhere & "[nomor]=" & AdjustSql(sRecKey) & " AND "
If Right(sDbWhere, 5) = " AND " Then sDbWhere = Left(sDbWhere, Len(sDbWhere)-5) & ") OR "
i = i + 1 Loop
If Right(sDbWhere, 4) = " OR " Then sDbWhere = Left(sDbWhere, Len(sDbWhere)-4)
' Get action
sAction = Request.Form("a_delete") If sAction = "" Or IsNull(sAction) Then
sAction = "I" ' Display record End If
' Open connection to the database
Set conn = Server.CreateObject("ADODB.Connection") conn.Open xDb_Conn_Str
Select Case sAction Case "I": ' Display
If LoadRecordCount(sDbWhere) <= 0 Then conn.Close ' Close Connection Set conn = Nothing
Response.Clear
Response.Redirect "tabel_sukulist.asp" End If
Case "D": ' Delete
If DeleteData(sDbWhere) Then
Session(ewSessionMessage) = "Delete Successful" conn.Close ' Close Connection
Set conn = Nothing Response.Clear
<p><span class="aspmaker">Delete from TABLE : tabel suku<br><br><a href="tabel_sukulist.asp">Back to List</a></span></p>
<%
If Session(ewSessionMessage) <> "" Then %>
<p><span class="ewmsg"><%= Session(ewSessionMessage) %></span></p>
<%
%>
<form action="tabel_sukudelete.asp" method="post"> <p>
<input type="hidden" name="a_delete" value="D">
<input type="hidden" name="key_d" value="<%= sKey %>"> <table class="ewTable">
<tr class="ewTableHeader">
<td valign="top" width="71">Nama suku</td>
<td valign="top"> Agama suku</td>
<td valign="top"> Bahasa tradisional</td>
<td valign="top"> Karakteristik</td>
<td valign="top"> Budaya asli</td>
Do While i <= UBound(arRecKey) nRecCount = nRecCount + 1 ' Set row color
sItemRowClass = " class=""ewTableRow""" ' Display alternate color for rows If nRecCount Mod 2 <> 0 Then
sItemRowClass = " class=""ewTableAltRow""" End If <% Response.Write x_nama %> </span></td>
<td><span>
<% Response.Write x_agama %> </span></td>
<td><span>
<% Response.Write x_bahasa %> </span></td>
<td><span>
<% Response.Write x_karakteristik %> </span></td>
<td><span>
<% Response.Write x_budaya %> </span></td>
<td><span>
<% Response.Write x_gambar %> </span></td>
End If
<input type="submit" name="Action" value="Hapus"> </form>
<%
conn.Close ' Close Connection Set conn = Nothing
%> ' - Variables setup: field variables Function LoadData()
Dim rs, sSql, sFilter sFilter = ewSqlKeyWhere
If Not IsNumeric(x_nomor) Then LoadData = False
Exit Function End If
sFilter = Replace(sFilter, "@nomor", AdjustSql(x_nomor)) ' Replace key value
sSql = ewBuildSql(ewSqlSelect, ewSqlWhere, ewSqlGroupBy, ewSqlHaving, ewSqlOrderBy, sFilter, "")
Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sSql, conn
' Get the field contents x_nomor = rs("nomor")
Set rs = Nothing End Function %>
'---
---' Function LoadRecordCount
' - Load Record Count based on input sql criteria sqlKey Function LoadRecordCount(sqlKey)
On Error Resume Next Dim rs, sSql, sFilter sFilter = sqlKey
sSql = ewBuildSql(ewSqlSelect, ewSqlWhere, ewSqlGroupBy, ewSqlHaving, ewSqlOrderBy, sFilter, "")
Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = 2
rs.Open sSql, conn, 1, 2
LoadRecordCount = rs.RecordCount rs.Close
Set rs = Nothing
If Err.Number <> 0 Then
Session(ewSessionMessage) = Err.Description
' - Delete Records based on input sql criteria sqlKey Function DeleteData(sqlKey)
On Error Resume Next Dim rs, sSql, sFilter Dim rsold
sFilter = sqlKey
sSql = ewBuildSql(ewSqlSelect, ewSqlWhere, ewSqlGroupBy, ewSqlHaving, ewSqlOrderBy, sFilter, "")
Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = 2
rs.Open sSql, conn, 1, 2 If Err.Number <> 0 Then
Session(ewSessionMessage) = Err.Description rs.Close
Set rs = Nothing DeleteData = False Exit Function End If
' Clone old rs object Set rsold = CloneRs(rs)
' Call recordset deleting event DeleteData = Recordset_Deleting(rs) If DeleteData Then
Do While Not rs.Eof rs.Delete