6 BAB II LANDASAN TEORI 2.1 Pengertian Jual Beli Jual beli menurut bahasa artinya pertukaran atau saling menukar. Sedangkan menurut pengertian fikih, jual beli adalah menukar suatu barang dengan barang yang lain dengan rukun dan syarat tertentu. Jual beli juga dapat diartikan menukar uang dengan barang yang diinginkan sesuai dengan rukun dan syarat tertentu. Setelah jual beli dilakukan secara sah, barang yang dijual menjadi milik pembeli sedangkan uang yang dibayarkan pembeli sebagai pengganti harga barang, menjadi milik penjual (Sunarto Zulkifli, 2003:10) Istilah perjanjian jual beli berasal dari terjemahan contract of sale. Perjanjian jual beli diatur dalam Pasal 1457 KUHPerdata sampai dengan Pasal 1540 KUHPerdata. Menurut Pasal 1457 KUHPerdata yang mengatur bahwa perjanjian jual beli adalah suatu perjanjian dengan mana pihak yang satu mengikatkan dirinya untuk menyerahkan suatu kebendaan dan pihak yang lain untuk membayar harga yang telah dijanjikan. 2.1.1 Kewajiban dan Hak Penjual dan Pembeli Menurut pasal 1428 KUHPerdata setiap perjanjian jual beli akan menimbulkan kewajiban–kewajiban dan hak–hak bagi kedua belah pihak atau pihak–pihak yang mengadakan perjanjian itu. Kewajiban pihak penjual, yaitu: 1. Menyerahkan benda yang diperjual belikan. 2. Menanggung atau menjamin barang tersebut. Sedangkan kewajiban utama pembeli adalah membayar harga pembelian pada waktu dan di tempat yang telah diperjanjikan. Akan tetapi, apabila waktu dan 6 7 tempat pembayaran tidak ditetapkan dalam perjanjian, pembayaran harus dilakukan di tempat dan pada waktu penyerahan barang dilakukan. Apabila pembeli tidak membayar harga barang tersebut, si penjual dapat menuntut pembatalan perjanjian sebagaimana halnya pembeli dapat menuntut pembatalan perjanjian jika penjual tidak menyerahkan barangnya. Kewajiban pembeli di atas merupakan hak dari penjual begitu pun sebaliknya kewajiban penjual merupakan hak dari pembeli sehingga tidak perlu lagi untuk penjelasan tentang hak-hak pembeli dan hak-hak penjual. 2.2 Pengertian Inventory Inventory didefinisikan sebagai barang jadi yang disimpan untuk dijual pada periode mendatang, yang dapat dibentuk bahan baku yang disimpan untuk proses, barang dalam proses manufaktur dan barang jadi yang disimpan untuk dijual maupun diproses. Inventory merupakan timbunan barang (bahan baku, komponen, produk setengah jadi, atau prodik akhir, dll) yang secara sengaja disimpan sebagai cadangan (safety atau buffer-stock) untuk menghadapi kelangkaan pada saat proses produksi sedang berlangsung. (Ristono, 2009) Pengertian inventory akan dijelaskan dari beberapa definisi berikut : 1. Inventory is theory hardly enquires education and inventory immediately brings to minds a stock of some kind of physical commodity. (Miller, 1997) 2. Persediaan adalah bahan-bahan, bagian yang disediakan, dan bahan-bahan dalam proses yang terdapat dalam perusahaan untuk proses produksi, serta barang-barang jadi atau produk yang disediakan untuk memenuhi permintaan dari konsumen atau pelanggan setiap waktu. (Rangkuti, 2007) 3. Persediaan adalah bahan mentah, barang dalam proses (work in process), barang jadi, bahan pembantu, bahan pelengkap, komponen yang disimpan dalam antisipasinya terhadap pemenuhan permintaan. (Baroto, 1976) 8 Dari definisi di atas, dapat disimpulkan bahwa persediaan adalah material yang berupa bahan baku, barang setengah jadi, atau barang jadi yang disimpan dalam suatu tempat atau gudang dimana barang tersebut menunggu untuk diproses atau diproduksi lebih lanjut. 2.3 Database Menurut Kristanto (2004:10) database atau basis data adalah kumpulan file – file yang mempunyai kaitan antara satu file dengan file lain sehingga membentuk satu bangunan data untuk menginformasikan suatu perusahaan instansi, dalam batasan tertentu. Basis data merupakan aspek yang sangat penting dalam sistem informasi dimana basis data merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting karena dapat menghidari duplikasi data, hubungan antar data yang tidak jelas, organisasi data, dan juga update yang rumit. Sebagai satu kesatuan istilah, basis data (database) sendiri dapat di definisikan dalam sejumlah sudut pandang seperti : 1. Himpunan kelompok data (arsip) yang saling berhubungan yang di organisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik. Tujuan utama dalam pengelolaan data dalam sebuah basis data adalah agar kita dapat memperoleh dan menemukan kembali data (yang kita cari) dengan mudah dan cepat. Disamping itu, pemanfaatan basis data untuk pengelolaan datam juga memiliki tujuan – tujuan lain seperti berikut : 1. Kecepatan dan Kemudahan (Speed) 8 9 Pemanfaatan basis data memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan / manipulasi terhadap data atau menampilkan kembali data tersebut dengan lebih cepat dan mudah. 2. Efisiensi Ruang Penyimpanan (Space) Dengan basis data, efisiensi / optimalisasi penggunaan ruang penyimpanan dapat dilakukan, karena kita dapat melakukan penekanan jumlah redudansi data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi – relasi (dalam bentuk tabel) antar kelompok data yang saling berhubungan. 3. Keakuratan (Accuracy) Pemanfaatan pengkodean atau pembentukan relasi antardata bersama dengan penerapan aturan / batasan (constraint) tipe data, domain data, keunikan data, dan sebagainya, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidakakuratan penyimpanan data. 4. Ketersediaan (Avaibility) Dengan pemanfataan teknologi jaringan komputer, data yang berada di suatu cabang, dapat juga diakses (menjadi tersedia/available) bagi cabang lain. 5. Kelengkapan (Completeness) Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang, maka kita tidak hanya dapat menambah record – record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru (tabel) atau dengan penambahan field – field baru pada sebuah tabel. 6. Keamaan (Security) Kita dapat menentukan siapa – siapa (pemakai) yang boleh menggunakan basis data beserta objek – objek di dalamnya dan menentukan jenis – jenis operasi apa saja yang boleh dilakukannya. 7. Pemakaian Bersama (Share) 10 Pemakai basis data sering kali tidak terbatas pada satu pemakai saja, atau di satu lokasi saja oleh satu sistem/aplikasi saja. Basis data yang dikelola oleh sistem (aplikasi) yang mendukung lingkungan multi-user, akan dapat memenuhi kebutuhan ini, tetapi tetap dengan menjaga/menghindari munculnya persoalan baru seperti inkonsistensi data (karena data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data). 2.4 UML (Unified Modeling Language) UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk memvisualisasi, menspesifikasi, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object – Oriented). UML tidak hanya merupakan sebuah bahasa pemprograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemprograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. (Pressman, 2005:841) UML merupakan suatu kumpulan teknik terbaik yang sudah terbukti sukses dalam memodelkan sistem yang besar dan kompleks yang dikembangkan oleh Booch, Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE). Metode Booch atau yang kita kenal dengan metode Design Object Oriented yang dibuat oleh Gardy Booch. Metode ini menjadikan proses analisis dan design ke dalam empat tahapan interaktif, yaitu : 1. Identifikasi kelas – kelas dan objek – objek 2. Identifikasi semantik dari hubungan objek dan kelas 3. Perincian interface 4. Implementasi Dengan menggabungkan UML, metode Booch, OMT dan OOSE lalu ditambahkan dengan elemen – elemen baru yang lebih efektif dan lebih ekspresif dari metode lainnya. UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam tabel berikut. 11 Tabel 2.1 Fungsi Diagram UML No. Diagram Kegunaan 1. Activity Behaviourprosedural dan parallel 2. Class Class, fitur dan hubungan – hubungan 3. Communication Interaksi antar objek 4. Component Struktur dan koneksi komponen 5. Composite Structure Dekomposisi runtime sebuah class 6. Deployment Pemindahan artifak ke node 7. Interaction Overview Campuran sequence dan activity diagram 8. Object Contoh konfigurasi dari contoh – contoh 9. Package Struktur hirarki compile-time 10. Sequence Interaksi antar objek, penekanan pada sequence 11. State Machine Bagaimana even mengubah objek selama aktif 12. Timing Interaksi antar objek, penekanan pada timing 13. Use Case Bagaimana pengguna berinteraksi dengan sebuah sistem 2.4.1 Use Case Diagram Use Case diagram adalah layanan (services) atau fungsi – fungsi yang disediakan oleh sistem untuk pengguna – penggunanya. Use Case diagram menggambarkan fungsionalitas dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah Use case diagram merepresentasikan sebuah interaksi antara pengguna sistem dengan sistem. Use 12 case diagram menggambarkan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat sebuah daftar belanja, dan sebagainya. Aktor adalah sebuah entitas manusia atau sistem yang berinteraksi dengan sistem untuk melakukan pekerjaan – pekerjaan tertentu. (Henderi et al, 2008) Notasi – notasi yang digunakan dalam pemodelan diagram use case dapat dilihat pada tabel berikut ini : Tabel 2.2 Simbol-simbol Diagram Use Case No. Notasi 1. Deskripsi Aktor, segala sesuatu digunakan untuk menggambarkan pelaku atau pengguna yang sedang berinteraksi langsung. 2. Use case, berfungsi untuk menggambarkan spesifikasi pekerjaan dan deskripsi pekerjaan (job deskripsion), serta keterkaitan antar pekerjaan (job). 3. Aliran proses (relationship), berguna untuk menggambarkan hubungan antara use case dengan use case lainnya. 4. Aliran perpanjang (extension points), berguna untuk menggambarkan hubungan antara use case dengan use case yang diperpanjang (extended use case) maupun dengan use case yang dumasukkan (included use case). Tabel 2.2 (Lanjutan) 13 5. Aliran yang digunakan untuk menggambarkan hubungan antara actor dengan use case. 6. <<extended>> Kondisi yang mendeskripsikan apa yang terjadi antara use case dengan use yang diperpanjang. 7. <<include>> Kondisi aliran proses langsung (directed relationship) antara dua use case yang secara langsung menyatakan kelakukan dari use case yang dimasukkan. 8. <<has>> Kondisi yang mendeskripsikan apa yang terjadi antara actor dengan use case. (Donald, 2003) 2.4.2 Activity Diagram Menurut Whitten dan Bentley (2007, p382), Activity diagram merupakan bagian dari model dinamis yang digunakan untuk menggambarkan work flow / proses sistem kita. Diagram ini menunjukkan bagaimana suatu proses dimulai, kemudian alur proses dari tiap keputusan yang ada hingga berakhirnya proses. Serta diagram ini juga memungkinkan untuk menampilkan proses yang terjadi secara paralel. Activity diagram memungkinkan siapapun yang melakukan proses untuk memilih urutan dalam melakukannya. Dengan kata lain, diagram hanya menyebutkan aturan – aturan rangkaian dasar yang harus kita ikuti. Hal ini penting untuk pemodelan bisnis karena proses – proses sering muncul secara paralel. Notasi – notasi yang digunakan dalam pemodelan activity diagram dapat dilihat pada Tabel Tabel 2.3 Pemodelan Activity Diagram 14 No. Notasi 1. Keterangan Titik awal, digunakan untuk menggambarkan awal dari digram aktifitas 2. Titik akhir, digunakan untuk menggambarkan akhir dari diagram aktifitas 3. Aktivitas, digunakan untuk menggambarkan aktifitas dalam diagram aktifitas 4. Pilihan untuk pengambilan keputusan, digunakan untuk menggambarkan kelakuan pada kondisi tertentu 5. Akhir alur (flow final), digunakan untuk menghancurkan semua tanda yang datang dan tak memiliki efek alur dalam aktifitas 6. Fork, digunakan untuk menunjukkan kegiatan – kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu 7. Rake, menunjukkan adanya dekomposisi 8. Tanda waktu 9. Node Fork, digunakan untuk menggambarkan satu aksi yang masuk dan beberapa aksi yang keluar 10. Join Fork, digunakan untuk menggambarkan beberapa aksi yang masuk dan satu aksi yang keluar Tabel 2.3 (Lanjutan) 15 11. Tanda Pengiriman 12. Tanda Penerimaan 2.4.3 Sequence Diagram Sebuah sequence diagram secara khusus menjabarkan aktifitas sebuah skenario tunggal. Diagram tersebut menunjukkan sebuah objek contoh dan pesan– pesan yang melewati objek – objek di dalam use case diagram. Sequence diagram menggambarkan interaksi dengan menampilkan setiap partisipan dengan garis alir secara vertikal dan pengurutan pesan dari atas ke bawah. (Fowler, 2005) Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah – langkah yang dilakukan sebagai respons dari sebuah event untuk menghasikan output tertentu. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh objek – objek yang melakukan suatu tugas atau aksi tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing – masing objek, termasuk aktor memiliki lifeline vertikal. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Tabel 2.4 Pemodelan Sequence Diagram No. Notasi 1. Keterangan Aktor, segala sesuatu digunakan untuk menggambarkan pelaku atau pengguna yang sedang berinteraksi langsung. 2. LifeLine, Objek entity, antarmuka yang saling berinteraksi. Tabel 2.4 (Lanjutan) 16 3. Message, spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi 4. Message, spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi 2.5 ERD (Entity Relationship Diagram) Menurut Jogoyanto (2001:700) ERD adalah suatu komponen – komponen himpunan entitas dan himpunan relasi yang masing – masing dilengkapi dengan atribut yang mempresentasikan seluruh fakta dari dunia nyata yang ditinjau. ERD menggambarkan data dan hubungan antar data secara global menggunakan Entity Relationship Diagram. Menurut salah satu para ahli, Brady dan Loonam (2010), Entity Relationship diagram (ERD) merupakan teknik yang digunakan untuk memodelkan kebutuhan data dari suatu organisasi, biasanya oleh System Analys dalam tahap analisis persyaratan proyek pengembangan system. Sementara seolah-olah teknik diagram atau alat peraga memberikan dasar untuk desain database relasional yang mendasari sistem informasi yang dikembangkan. ERD bersama-sama dengan detail pendukung merupakan model data yang pada gilirannya digunakan sebagai spesifikasi untuk database. 2.6 MySQL Menurut Kadir (2003) SQL (dibaca “ess-quel-el’) merupakan kependekan dari Structured Query Language. SQL digunakan untuk berkomunikasi dengan sebuah database. Sesuai dengan ANSI,SQL merupakan bahasa setandar untuk system manajemen database rasional. Statemnat SQL digunakan untuk melakukan update terhadap database atau mengambil data dari sebuah database. 17 Suatu database memungkinkan kita untuk melakukan penyimpanan, pencarian, pengurutan dan pengambilan data secara efisin. Server MySQL mengendalikan akses ke data untuk menjamin bahwa beberapa user dapat bekerja bersama – sama, menyediakan akses yang dapat menjamin hanya user yang memiliki hak yang dapat mengakses. Merupakan sistem management database relasi (relational database management system). Bersifat opern source dapat di download secara bebas, MySQL memiliki kinerja, kecepatan, proses dan ketangguhan yang tidak kalah dengan database lainnya contohnya, oracle, sybase, unity dan lain lain. Pada awalnya MySQL hanya berjalan di platform sistem operasi LINUX. Hampir semua distri LINUX telah memasukkan MySQL sebagai database standarnya, namun saat ini MySQL dapat pula berjalan diatas sistem operasi lainnya. 2.6.1 Keistimewaan MySQL Menurut Kadir (2003) MySQL memiliki keistimewaan atara lain: 1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris, Amiga dan masih banyak lagi. 2. Open Source. MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan oleh secara gratis. 3. Multiuser. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. Performa Tuning. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL persatuan waktu. 5. Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain lain. 6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah select dan where. 18 7. Keamanan. MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask pada nama host dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. 8. Skabilitas dan Pembatasan. MySQL mampu menanganai basis data sekala besar, dengan jumlah rekaman lebih dari 50 juta dan 60 ribu table serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada setiap tablenya. 9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protocol TCP/IP, Unix soket (UNIX), atau Named Pipe (NT). 10. Lokalisasi. MySQL daoat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. 11. Atar Muka. MySQL memiliki tatap muka terhadap berbagai aplikasi dan bahasa pemprograman dengan menggunakan fungsi API (Application Programing Interface). 12. Klien dan Peralatannya. MySQL dilengkapi dengan berbagai peralatan (tools) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatannya yang ada disertakan petunjuk online. 13. Struktur Table. MySQL memiliki struktur table yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya. 2.7 PHP Hypertext Preprocessor (PHP) PHP digunakan sebagai bahasa script server-side dalam pengembangan web yang disiapkan pada dokumen HTML. Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga maintenance situs web tersebut menjadi mudah dan efisien. PHP merupakan software open-source yang disebarkan dan dilisensikan secara gratis serta di-download secara bebas dari situs resinya. (Cullen, 2002) Beberapa pesaing dari PHP ialah perl, Microsoft active server pages (ASP), Java server page (JSP), dan ALL Cold Fusion. Dalam perbandingannya dengan produk – produk tersebut, beberapa kelebihan yang dimiliki oleh PHP ialah : 19 1. Performa yang tinggi PHP sangat efisien. Menggunakan server yang tidak mahal, dapat melayani berjuta – juta permintaan setiap harinya. 2. Integritas database PHP memiliki koneksi yang mengijinkan penggunaan berbagai sistem database. Selain dari koneksi MySQL, PHP juga dapat melaukan koneksi langsung ke database postfre SQL, MSQL, Oracle , dbm, filePro, Hyperwave, Informix, Interbase dan Sybase. Menggunakan Open Database Connectivity Standart (ODBC), PHP melakukan koneksi ke banyak database yang disediakan oleh driver ODBC, termasuk produk Microsoft. 3. Library yang built-in Karena PHP dirancang untuk digunakan pada web, PHP memiliki banyak fungsi yang telah dibangun untuk mendukung berbagai tugas yang berguna pada web. Dengan PHP kita dapat menampilkan gambar GIF, terkoneksi dengan jaringan lain, mengirim email dan membuat file PDF. 4. Probabilitas PHP dapat digunakan pada banyak sistem informasi. Kode PHP dapat ditulis pada sistem operasi LINUX dan free BSD, sistem operasi UNIX yang komersial seperti Solaris dan IRIX atau sebagai versi di Microsoft windows. 5. Ketersediaan source code Source code PHP dapat diakses tidak seperti prodk komersial yang source codenya tertutup, jika ada seruatu yang ingin di modifikasi atau ditambahkan pada PHP dapat dilakukan secara langsng dan gratis. 2.7.1 Sejarah Singkat PHP Menurut Cullen dalam jurnal Information Technology and Libraries, yang dipublikasikan secara online oleh Proquest (2002). Pada awalnya PHP merupakan kependekan dari personal home page (situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1994. Pada waktu itu PHP masih bernama FI(Form Interpreted), yang wujudnya berupa sekumpulan scriptyang digunakan untuk mengelolah data form dari web.Selanjutnya rasmus meliris kode sumber 20 tersebut untuk umum dan menamakanya PHP/FI. Dengan perilisan kode sumber ini menjadi open source. Maka banyak progremer yang tertarik untuk ikut penegembangan PHP. Pada November 1997, diliris PHP/FI 2.0. pada liris ini terinterpreter PHP sudah di implementasikan pada program C. dalam rilis ini disertakan juga modulmodulekstensi yang meningkatkan kemampuan PHP/FI secara sognifikan. Pada tahun 1997, sebuah perusahaan bernama zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik dan lebih cepat. Kemudian pada juni 1998 perusahaan itu merilis interprenter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP3.0 dan singkatan dirubah menjadi akronim berulang PHP: Hypertext Processing. Pada pertengahan tahun 1999, zend meliris interpreter PHP baru dengan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0. adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuan untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada juni 2004. Zend meliris PHP 5.0. dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga emasukan model pemprograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemprograman kea rah paradigm berorientasi objek. 2.8 HTML (Hyper Text Markup Language) HTML (Hyper Text Markup Language) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. 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). (Nugroho, 2004:2) HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang 21 merupakan file HTML dapat dibuka dengan menggunakan browser web 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. HTML dokumen tersebut mirip dengan dokumen teks biasa, hanya dalam dokumen ini sebuah teks bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan TAG tertentu. Sebagai contoh jika ingin membuat teks ditampilkan menjadi tebal seperti: TAMPIL TEBAL, maka penulisannya dilakukan dengan cara: <b>TAMPIL TEBAL</b>. Tanda <b> digunakan untuk mengaktifkan instruksi cetak tebal, diikuti oleh teks yang ingin ditebalkan, dan diakhiri dengan tanda </b> untuk menonaktifkan cetak tebal tersebut. Secara garis besar, terdapat 4 jenis elemen dari HTML: 1. structural. tanda yang menentukan level atau tingkatan dari sebuah teks (contoh, <h1>Golf</h1> akan memerintahkan browser untuk menampilkan “Golf” sebagai teks tebal besar yang menunjukkan sebagai Heading 1. 2. presentational. tanda yang menentukan tampilan dari sebuah teks tidak peduli dengan level dari teks tersebut (contoh, <b>boldface</b> akan menampilkan bold. Tanda presentational saat ini sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengatur tampilan teks. 3. hypertext. tanda yang menunjukkan pranala ke bagian dari dokumen tersebut atau pranala ke dokumen lain (contoh, <a href="http://www.ilmukita.com/">IlmuKita</a> akan menampilkan IlmuKita sebagai sebuah hyperlink ke URL tertentu). 4. Elemen widget yang membuat objek-objek lain seperti tombol (<button>), list (<li>), dan garis horizontal (<hr>). 2.9 CSS Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup. Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Walaupun demikian, bahasanya sendiri 22 dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL. Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C). CSS digunakan oleh penulis maupun pembaca halaman web untuk menentukan warna, jenis huruf, tata letak, dan berbagai aspek tampilan dokumen. CSS digunakan terutama untuk memisahkan antara isi dokumen (yang ditulis dengan HTML atau bahasa markup lainnya) dengan presentasi dokumen (yang ditulis dengan CSS). Pemisahan ini dapat meningkatkan aksesibilitas isi, memberikan lebih banyak keleluasaan dan kontrol terhadap tampilan, dan mengurangi kompleksitas serta pengulangan pada stuktur isi. (Abdullah, 2003) 2.10 WWW (World Wide Web) WWW World Wide Web, lebih dikenal dengan web yang merupakan salah satu layanan yang didapat oleh pemakai komputer yang terhubung ke internet dengan fasilitas hypertext untuk menampilkan data berupa text, gambar, suara, animasi dan data multimedia lainnya. Sehingga web pada awalannya adalah ruang informasi dalam internet, dengan menggunakan teknologi hypertext oemakai dituntun menemukan informasi dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan dalam web browser. Situs / web dapat dikategorikan menjadi dua yaitu “web statis” dan “web dinamis”. Web statis adalah web yang menampilkan informasi – informasi yang sifatnya statis (tetap), sedangkan web dinamis adalah web yang menampilkan informasi serta dapat berinteraksi dengan pengguna. . (Kustiyahningsih dan Rosa Anamisa, 2011) 2.10.1 Web Browser Web browser adalah perangkat lunak yang digunakan untuk menampilkan informasi dari server web. Perangkat lunak ini kini telah dikembangkan dengan menggunakan user interface grafis, sehingga pemakai dapat dengan melakukan ‘point and click’ untuk pindah antar dokumen. (Shelly dan Velmaart, 2011:81) 2.11 Metodologi Rekayasa Perangkat Lunak 23 Jenis metode yang digunakan dalam penyelesaian tugas akhir ini menggunakan pemodelan yang secara umum digunakan dalam rekayasa perangkat lunak yaitu metode waterfall. Waterfall mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Berikut di bawah ini rangkaian aktifitas proses dalam metode Waterfall (Pressman, 2007): 1. Tahapan Rekayasa Sistem Tahapan ini sangat menekan pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem dengan menentukan konsep sistem beserta antarmuka yang menghubungkannya dengan lingkungan sekitar. Hasilnya berupa spesifikasi sistem. 2. Tahapan Analisis Pada tahap ini dilakukan pengumpulan kebutuhan elemen – elemen di tingkat perangkat lunak. Dengan analisis harus dapat ditentukan domain – domain data atau informasi, fungsi, proses, atau prosedur yang diperlukan beserta unjuk kerjanya, dan antarmuka. Hasilnya berupa spesifikasi kebutuhan perangkat lunak. 3. Tahapan Perancangan Pada tahap perancangan, kebutuhan - kebutuhan perangkat lunak yang dihasilkan pada tahap analisis, ditransformasikan ke dalam bentuk arsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diterapkan. 4. Tahapan Pemprograman Tahap ini melakukan penerapan hasil rancangan ke dalam baris – baris kode program yang dapat dimengerti oleh komputer. 5. Tahapan Pengujian 24 Setelah perangkat lunak selesai diterapkan, pengujian dapat segera dimulai. Pengujian terlebih dahulu dilakukan pada setiap modul. Jika tidak ada masalah, modul tersebut akan diintegrasikan hingga membentuk perangkat lunak secara utuh. Kemudian dilakukan pengujian di tingkat perangkat lunak yang memfokuskan pada masalah – masalah logika internal, fungsi internal, potensi masalah yang mungkin terjadi dan pemeriksaan hasil apakah sudah sesuai dengan permintaan. 6. Tahapan Pengoprasian dan Pemeliharaan Dalam operasional sehari – hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi – fungsinya. Atau, pemilik bisa saja meminta peningkatan kemampuan perangkat lunak pada pengembangnya. Dengan demikian, kedua faktor ini menyebabkan perlunya perangkat lunak dipelihara dari waktu ke waktu. Biasanya ini merupakan tahapan yang panjang dari perangkat lunak. Gambar 2.1 Permodelan Waterfall 2.12 Pendekatan Text/Pengujian 25 Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan mempersentasikan kajian pokok dari spesifikasi, desain dan pengkodean. pendekatan test/ pengujian : 2.12.1 Pendekatan Black Box Pengujian Black Box berfokus pada persyaratan fungsional perangkat lunak. (Pressman, 2010) Pengujian ini memungkinkan analis sistem memperoleh kumpulan kondisi masukan yang akan mengerjakan seluruh keperluan fungsional program. Tujuan metode ini mencari kesalahan pada : 1. Fungsi yang salah atau hilang. 2. Kesalahan pada interface. 3. Kesalahan pada instruktur data atau akses basis data. 4. Kesalahan performansi. 5. Kesalahan insialisasi dan tujuan akhir Pengujian Black Box dirancang untuk menjawab petanyaan sebagai berikut : 1. Bagaimana validitas fungsional diuji? 2. Apa kelas input yang terbaik untuk uji coba yang baik? 3. Apakah sistem sangat peka terhadap nilai input tertentu? 4. Bagaimana jika kelas data yang terbatas dipisahkan? 5. Bagaimana volume data yang dapat ditoleransi oleh sistem? 6. Bagaimana pengaruh kombinasi data terhadap pengoperasian sistem? Untuk menganalisa pengujian metode Black Box dilakukan dengan tiga cara : 1. Pemisah padanan (equivalence partitoning) a. Menggunakan data terpisah yang diturunkan dari test case. b. Satu test case menemukan sekumpulan kesalahan yang spesifik yang biasanya membutuhkan beberapa test case. c. Mengurangi jumlah test case yang dibuat. 2. Analisa batas nilai (boundary value analysis) a. Merupakan pelengkap dari equivalence partitioning 26 b. Sebagian besar masalah terjadi pada batas input, bukan pada inti dari input domain. c. Contohnya, pengujian batas atas dan batas bawah dari sebuah array. 3. Pengujian grafik (graph-based testing) a. Menggunakan graph untuk merepresentasikan objek dan relasinya terhadap objek lain .