perpustakaan.uns.ac.id digilib.uns.ac.id BAB II LANDASAN TEORI 2.1 Aplikasi web Aplikasi web adalah jenis aplikasi yang diakses melalui browser, misalnya Explorer dan Mozilla Firefox. Denga menggunakan aplikasi web, kita hany aperlu menempatkan aplikasi dalam sebuah server dan dengan sendirinya aplikasi tersebut dapat diakses dari manapun, sepanjang pemakai dapat mengakses web server-nya. Web Server adalah server yang melayani permintaan aplikasi web. Aplikasi web yang paling dasar ditulis dengan menggunakan HTML. Sebagaimana diketahui, HTML (Hypertext Markup Language) adalah bahasa standar untuk membuat halaman – halaman web. (Abdul Kadir, 2009) 2.2 Percabangan dan Perulangan Program Proses percabangan memperluas kegunaan dari program dengan memperbolehkan penggunaan logika-logika sederhana untuk memilih blok-blok kode yang akan dieksekusi. Perulangan (looping) digunakan untuk mengulang blok kode untuk sejumlah perulangan tertentu. Selain itu, perulangan juga bisa dipakai untuk mengulang blok-blok kode hingga suatu kondisi boolean tertentu terpenuhi. (Hanif A. Fatta, 2006) 2.3 Bahasa Pemrograman Java Java merupakan bahasa pemrograman yang disusun oleh James Gosling yang dibantu oleh rekan-rekannya di suatu perusahaan perangkat lunak yang bernama Sun Microsystems, pada tahun 1991. Bahasa pemrograman ini mula-mula diinisialisasi dengan nama “Oak”, namun pada tahun 1995 diganti namanya menjadi “Java”. 2.3.1 Pengertian Java Menurut definisi Sun Microsystem, di dalam buku M. Shalahuddin dan Rosa commit to user teknologi untuk membuat dan A.S. (2010 : 1) Java adalah nama sekumpulan 5 perpustakaan.uns.ac.id digilib.uns.ac.id 6 menjalankan perangkat lunak pada komputer yang berdiri sendiri (standalone) ataupun pada lingkungan jaringan. Java berdiri di atas sebuah mesin penterjemah (interpreter) yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan membaca kode bit (bytecode) dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa Java disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada system operasi tersebut terdapat JVM. Alasan utama pembentukan bahasa Java adalah untuk membuat aplikasi-aplikasi yang dapat diletakkan di berbagai macam perangkat elektronik, sehingga Java harus bersifat tidak bergantung pada platform (platform independent). Itulah yang menyebabkan dalam dunia pemrograman Java dikenal adanya istilah „write once, run everywhere‟, yang berarti kode program hanya ditulis sekali, namun dapat 9 dijalankan di bawah kumpulan pustaka (platform) manapun, tanpa harus melakukan perubahan kode program. 2.4 Diagram Konteks (Context Diagram) Diagram konteks adalah sebuah diagram sederhana yang menggambarkan hubungan antara entity luar, masukan dan keluaran dari sistem. Diagram konteks direpresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. (Kristanto 2003). 2.5 DFD ( Data Flow Diagram) Menurut Hartono (1999), “DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (misalnya lewat telepon) atau lingkungan fisik dimana data tersebut akan disimpan (misalnya harddisk, disket, file kartu)”. Sehingga dapat disimpulkan bahwa DFD merupakan penggambaran system yang menggunakan bentuk simbol untuk menggambarkan aliran data dalam suatu commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 7 proses yang saling berhubungan. Secara lengkap gambar simbol DFD (Data Flow Diagram) berdasarkan teori Yourdon/De Marco dapat dilihat pada Tabel 2.1 Tabel 2.1 Simbol Diagram Arus Data No 1 Nama Entity luar Simbol Keterangan Entity luar merupakan sumber atau tujuan dari aliran data dari atau ke system 2 Aliran Data Menggambarkan aliran data dari suatu proses ke proses lainnya Proses 3 Proses 4 Berkas yang mengubah input menjadi output atau tempat Berupa file atau database pada sistem komputer penyimpanan 2.5.1 DFD Level 0 DFD Level 0 adalah diagram yang menggambarkan proses dari dataflow diagram. Diagram ini memberikan pandangan secara menyeluruh mengenai sistem yang ditangani, menunjukkan tentang fungsi-fungsi utama atau proses yang ada, aliran data, dan entitas eksternal. Menurut Tata Sutabri menyatakan bahwa “DFD level 0 dibuat untuk menggambarkan tahapan proses yang ada dalam diagram konteks, yang penjabarannya lebih terperinci.” Sedangkan menurut Kendall menyatakan DFD level 0 adalah sebagai berikut “Diagram 0 adalah pengembangan diagram konteks dan bisa mencakup sampai sembilan proses.” Jadi dapat ditarik kesimpulan, bahwa commit to user DFD level 0 adalah perpustakaan.uns.ac.id digilib.uns.ac.id 8 pengembangan diagram konteks yang menggambarkan tahapan proses yang ada dalam diagram konteks. 2.5.2 DFD Level 1 DFD Level 1 adalah diagram yang menguraikan proses apa yang adadalam DFD Level 0 atau diagram level diatasnya. Pengertian DFD level 1 menurut Tata Sutabri adalah sebagai berikut “DFD level 1 dibuat untuk menggambarkan arus data secara lebih mendetail lagi dari tahapan proses yang ada pada DFD level 0.” Sedangkan menurut Kendall menyatakan DFD level 1 adalah sebagai berikut “Diagram anak adalah proses pada diagram 0 yang dikembangkan semua aliran data yang menuju dari proses induk harus ditunjukkan mengalir ke dalam/ keluar di diagram anak.” Jadi dapat ditarik kesimpulan, bahwa diagram level 1 adalah proses pada diagram 0 yang menggambarkan arus data secara lebih rinci. 2.6 ERD Entity Relationship Diagram (ERD) adalah suatu model jaringan (network) yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. Tujuan utama dari penggambaran ERD adalah untuk menunjukkan struktur objek data (entity) dan hubungan (relationship) yang ada pada objek tersebut. ERD berguna bagi professional sistem, karena ERD memperlihatkan hubungan antara data store pada DFD. (Fatansyah, 2001). Komponen utama ERD dapat dilihat pada tabel 2.2 Tabel 2.2 Simbol-simbol ERD Nama Simbol Entitas Simbol Keterangan Digunakan untuk menggambarkan obyek yang dapat diidentifikasikan dalam lingkungan pemakai. Atribut Digunakan untuk menggambarkan elemen-elemen dari suatu entitas, yang commit to user menggambarkan karakter entitas. perpustakaan.uns.ac.id digilib.uns.ac.id 9 Entitas dapat berhubungan satu sama Hubungan lain. Hubungan disebut dengan relasi. Garis Digunakan untuk menghubungkan entitas dan entitas dengan atribut. 2.7 Kardinalitas Kardinalitas mengacu pada berapa kali instance dari suatu entitas dapat berelasi dengan instance lain di entitas yang berbeda. Satu instance dalam suatu entitas mengacu pada satu dan hanya satu instance pada entitas lainnya (1:1). Satu instance dalam suatu entitas mengacu ke satu atau lebih instance yang berelasi (1:N). Satu atau lebih instance dalam suatu entitas mengacu pada satu atau lebih instance pada entitas yang berelasi (N:N). (Hanif Al Fatta , 2007) 2.8 Relasi tabel Pengertian Table Relasi menurut (Fathansyah, 2001) adalah “Data yang menggambarkan hubungan antara table yang satu dengan table yang lainnya”. Model basis data relational sering pula disebut sebagai model Relasional atau Basis Data Relasional. Model Basis Data ini ditemukan atau diperkenalkan pertama kalinya oleh E.F Codd. Model basis data menunjukan suatu cara atau mekanisme yang digunakan untuk mengelola atau mengorganisasi data secara fisik dalam memori sekunder yang berdampak pula pada bagaimana kita mengelompokan dan membentuk keseluruhan data yang terkait dalam sistem yang sedang ditinjau. 2.9 Flowchart Flowchart adalah representasi grafis dari langkah – langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing – masing simbol merepresentasikan kegiatan tertentu. Flowchart diawali dengan penerimaan input dan diakhiri dengan penampilan output. commit to user perpustakaan.uns.ac.id Sebuah flowchart digilib.uns.ac.id 10 pada umumnya tidak menampilkan instruksi bahasa pemrograman, namun menetapkan konsep solusi dalam bahasa manusia ataupun notasi matematis. Berikut ini akan dibahas tentang simbol – simbol yang digunakan dalam menyusun flowchart, kegiatan yang diwakili serta aturan yang diterapkan dalam penggunaan simbol tersebut pada Tabel 2.3 : Tabel 2.3 Simbol-simbol Flowchart Simbol Nama Pengertian Simbol ini digunakan melambangkan untuk kegiatan pemrosesan input. Dalam simbol Simbol Proses ini, kita dapat menuliskan operasioperasi yang dikenakan pada input, maupun operasi lainnya. Sama seperti aturan pada simbol input, penulisan dapat dilakukan secara satu per satu maupun secara keseluruhan. Merepresentasikan fungsi I/O yang membuat Simbol Input – Output (IO) sebuah data dapat diproses (input) atau ditampilkan (output) setelah mengalami eksekusi informasi Simbol ini digunakan menghubungkan setiap untuk langkah dalam flowchart dan menunjukkan kemana arah aliran diagram. Anak Simbol Garis Alir panah ini harus mempunyai arah dari kiri ke kanan atau dari atas ke bawah. Anak panah ini juga dapat commit to user diberi label, khususnya jika keluar perpustakaan.uns.ac.id digilib.uns.ac.id 11 dari symbol percabangan. Merepresentasikan informasi deskriptif tambahan, komentar atau catatan penjelasan. Dalam simbol ini, kita dapat menuliskan komentar apapun dan sebanyak Simbol Anotasi apapun, hal ini berguna untuk memperjelas langkah-langkah dalam flowchart. Garis vertical dan garis terputus ditempatkan – putus dapat sisi kanan digunakan untuk pada maupun kiri. Simbol ini melambangkan percabangan, yaitu pemeriksaan terhadap suatu kondisi. Dalam simbol ini, kita menuliskan keadaan yang harus Simbol Percabangan dipenuhi. Hasil dari pemeriksaan dalam simbol ini adalah YES atau NO. Jika pemeriksaan menghasilkan keadaan benar, maka jalur yang harus dipilih adalah jalur yang berlabel Yes, sedangkan jika pemeriksaan menghasilkan keadaan salah, maka jalur yang harus dipilih adalah jalur yang berlabel No. Terminator Simbol Terminator berfungsi untuk menandai awal dan akhir dari suatu flowchart. Simbol ini biasanya commit to user diberi label START untuk perpustakaan.uns.ac.id digilib.uns.ac.id 12 menandai awal dari flowchart, dan label STOP untuk menandai akhir dari flowchart. Jadi dalam sebuah flowchart pasti terdapat sepasang terminator yaitu terminator start dan stop. Simbol konektor digunakan pada waktu menghubungkan suatu langkah dengan langkah lain dalam sebuah flowchart dengan keadaan on page atau off page. On page connector digunakan menghubungkan suatu untuk langkah dengan langkah lain dari flowchart Simbol Konektor dalam satu halaman, sedangkan off page connector digunakan untuk menghubungkan suatu langkah dengan langkah lain dari flowchart dalam halaman yang berbeda. Connector ini biasanya dipakai saat media yang kita gunakan untuk menggambar flowchart tidak cukup luas untuk memuat gambar secara utuh, jadi perlu dipisahpisahkan. Dalam sepasang connector biasanya diberi label tertentu yang sama agar lebih mudah diketahui pasangannya. Simbol ini berperan sebagai blok pembangun dari suatu program. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 13 Prosedur memiliki suatu flowchart yang berdiri sendiri diluar flowchart utama. Jadi dalam simbol ini, kita cukup menuliskan nama Simbol Prosedur prosedurnya saja, jadi sama seperti jika kita melakukan pemanggilan suatu prosedur pada program utama (main program). Sama dengan aturan pada symbol percabangan, penulisan nama prosedur dilakukan secara satu per satu. 2.10 Basis Data (Database) Basis data adalah kumpulan data, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi. Sebagai contoh, basis data universitas berisi informasi mengenai : Entiti, semisal mahasiswa, fakultas, mata kuliah, dan ruang kelas. Relasi diantara entitas, seperti penggambilan kuliah yang dilakukan oleh mahasiswa, staf pengajar di fakultas, dan penggunaan ruang perkuliahan. (Kristanto, 2003). 2.11 MySQL MySQL (My Structured Query Language) adalah sebuah program pembuat dan pengelola database atau yang sering disebut dengan DBMS (Database Management Sistem), sifat dari DBMS ini adalah Open Source, sehingga dapat diperoleh secara gratis. MySQL sebenarnya produk yang berjalan pada platform Linux, dengan adanya perkembangan dan banyaknya pengguna, serta lisensi dari database ini adalah Open Source, maka para pengembang kemudian merilis versi Windows. Selain itu MySQL juga merupakan program pengakses database yang bersifat commit to user jaringan, sehingga dapat digunakan untuk aplikasi Multi User (banyak pengguna). perpustakaan.uns.ac.id digilib.uns.ac.id 14 Kelebihan lain dari MySQL adalah menggunakan bahasa auery (permintaan) standar SQL (Structured Query Language) yang merupakan suatu bahasa permintaan yang terstruktur, SQL telah distandarkan untuk semua program pengakses database seperti Oracle, PosgreSQL, SQL Server dan lain-lain (Bunafit Nugroho, 2008). 2.12 Apache Untuk menjalankan PHP dibutuhkan web server. Web server berfungsi menyimpan serta mendistribusikan data ke komputer lain lewat internet yang meminta informasi tersebut. Apache merupakan web server yang dikeluarkan oleh NSCA yaitu NSCA HTTPD sekitar tahun 1995. (Irmansyah, 2003) 2.13 PHP PHP adalah bahasa server-side scripting yang menyatu dengan HTML untuk membuat halama web yang dinamis. Maksud dari server-side scripting adalah sintaks dan perintah – perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML. Pembuatan web ini merupakan kombinasi antara PHP sendiri sebagai bahasa pemrograman dan HTML sebagai pembangun halaman web. Ketika seorang pengguna internet akan membuka suatu situs yang menggunakan fasilitas server-side scripting PHP, maka terlebih dahulu server yang bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya dalam format HTML ke web browser pengguna internet tadi. Dengan demikian seorang pengguna internet tidak dapat melihat kode program yang ditulis dalam PP sehingga keamanan dari halaman web mejadi lebih terjamin (Bimo Sunarfrihantono, ST. 2002) 2.14 HTML HTML kependekan dari HyperText Markup Language. Dokumen HTML adalah file teks murni yang dapat dibuat dengan editor teks sembarang. Dokumen to user ini dikenal sebagai web page. commit Dokumen HTML merupakan dokumen yang perpustakaan.uns.ac.id digilib.uns.ac.id 15 disajikan dalam browser web surfer. Dokumen ini umumnya berisi informasi atau interface aplikasi di dalam Internet. Ada dua cara untuk membuat sebuah web page: dengan HTML editor atau dengan editor teks biasa (misalnya notepad). (Betha Sidik dan Husni Pohan, 2002). Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). Versi terakhir dari HTML adalah HTML 5.01, meskipun saat ini telah berkembang XHTML yang merupakan pengembangan dari HTML. HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan web browser seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser. 2.15 CSS CSS merupakan singkatan dari Cascading Style Sheet. Kegunaannya adalah untuk mengatur tampilan dokumen HTML, contohnya seperti pengaturan jarak antar baris, teks, warna dan format border bahkan penampilan file gambar. CSS dikembangkan oleh W3C, organisasi yang mengembangkan teknologi internet. Tujuannya tak lain untuk mempermudah proses penataan web. Perlu diingat, CSS hanyalah berupa kumpulan script yang tujuannya bukan untuk mengantikan HTML, melainkan pelengkap agar dokumen HTML bisa tampil lebih cantik dan dinamis. Sejak ditemukannya CSS pada awal dekade 90an, CSS terus dikembangkan dan diserap oleh web developer. Hingga sekarang telah mencapai versi ke-3. Kode CSS bersifat lintas platform, yang berarti script ini dapat dibaca oleh commit to user berbagai macam sistem operasi dan browser. Hanya saja browser seperti Internet perpustakaan.uns.ac.id digilib.uns.ac.id 16 Explorer, seringkali salah mengartikan script CSS yang menyebabkan ketidaksempurnaannya tampilan dokumen HTML. Script CSS perlu dioptimalkan agar tampil maksimal pada browser internet explorer. (Jayan, 2010). 2.16 Javascript JavaScript adalah bahasa script yang dikembangakan oleh Netscape untuk membuat dokumen yang dinamis. JavaScript merupakan bahasa script sederhana yang mempunyai kemiripan dengan bahasa pemrograman C. JavaScript juga dikenal sebagai sebuah kode pemrograman berorientasi objek (Object Oriented Programming) disingkat OOP. JavaScript memiliki keistimewan untuk ditambahkan pada kode HTML dan membuat dokumen menjadi lebih interaktif. Pemakaian JavaScript dalam pembuatan web adalah dengan memasukkannya dalam HTML. JavaScript sebagai sebuah bahasa pemrograman untuk client dan server mempunyai elemen-elemen sebagai berikut : 1. Kata kunci (key word), statemen, syntax dan grammar. 2. Aturan untuk ekspresi, variable dan literal. 3. Objek dan fungsi built-in. Sebagaimana dengan bahasa pemrograman, Javascript mempunyai aturan dasar dan format sendiri. JavaScript dapat memperlakukan fungsi-fungsi secara otomatis untuk menghitung dan membuat web lebih interaktif. Agar browser mengenali statemen-statemen JavaScript maka digunakan tag script (Wahana Komputer, 2001). 2.17 Jquery Jquery merupakan salah satu pustaka yang dikembangakan dengan menggunakan JavaScript. Kehadirannya adalah untuk memudahkan penulisan kode JavaScript. Dengan menggunakan jquery, penulisan kode javascript menjadi lebih sederhana (kodenya menjadi ringkas). Selain itu, pembuatan halaman web yang interaktif dan menarik menjadi jauh lebih mudah di implementasikan. Selain itu, jquery juga mendukung penambahan plug-in yang membuat commit to useradalah tambahan-tambahan yang kemampuan jquery bertambah pesat. Plug-in perpustakaan.uns.ac.id digilib.uns.ac.id 17 berjalan di atas jquery yang membuat pembuatan halaman web menjadi lebih mudah atau lebih menarik. Berbagai http://www.jquery.com (Lukmanul, 2010). commit to user plug-in terdapat pada situs