BAB 2 TINJAUAN PUSTAKA 2.1 Software Engineering Menurut (Pressman, 2010:13), Software Engineering adalah pembentukan dan penggunaan prinsip-prinsip rekayasa yang baik untuk mendapatkan perangkat lunak yang handal dan bekerja secara efisien pada mesin nyata. Menurut (Sommerville, 2011:7), Software Engineering adalah disiplin teknik yang berkaitan dengan semua aspek produksi perangkat lunak. Menurut (Douglas Bell, 2005:3), Software Engineering mencakup metode, alat dan teknik yang digunakan untuk mengembangkan perangkat lunak. Dalam mengkategorikan software, kita dapat memberakan dua jenis utama : a) System Software, adalah perangkat lunak yang bertindak sebagai alat untuk membantu membangun atau mendukung aplikasi perangkat lunak. Contoh : sistem operasi, database, perangkat lunak jaringan. b) Application Software, adalah perangkat lunak yang membantu menentukan beberapa tugas yang langsung berguna atau menyenangkan. Contoh : games, perangkat lunak untuk mesin ATM, e-mail software, pengolah kata, spreadsheet. Sanz and Garcia (2003:42) menyatakan bahwa “Software Engineering (SE) has not only become an increasingly important and emerging discipline but also as the basis for a differentiated set of professional profiles within computing areas. Computing professionalism is not yet well-defined in many countries due to a combination of two factors: relative immaturity of the field when compared to the other engineering or science-based professions and a lack of culture and social recognition. In this paper, we want to present an overview of different important facts and trends (especially certification and codes of ethics) that strongly influence the status of Software Engineering as a profession
2.1.1 Waterfall Process Model Menurut (Pressman, 2010:39), Waterfall merupakan sebuah pendekatan pengembangan software yang sistematik dan sekuensial, meliputi spesifikasi kebutuhan, perencanaan, konstruksi, dan penyebaran software.
7
8
Meskipun tergolong pendekatan konvensional, model ini masih banyak digunakan, terutama pada pengembangan software yang kebutuhan sistemnya mudah untuk dimengerti dan tidak berubah-ubah.
Gambar 2.1 The Waterfall Model
2.2 Internet Menurut (Sebesta,2011:23), internet adalah kumpulan dari banyak komputer yang terhubung dalam jaringan komunikasi. Komputer ini terdiri dari setiap ukuran yang bisa diperkirakan, konfigurasi dan produksi. Sebenarnya beberapa perangkat juga terkoleksi pada internet seperti printer grafis. Menurut Williams dan Sawyer (2007:62), komunikasi internet terbagi menjadi tiga : 1) Protocols Data ditransmisikan dari computer ke internet dengan menggunakan protocol yang memungkinkan computer untuk mengirimkan data secara elektronik. Protocol yang digunakan adalah Transmission Control Protocol /Internet protocol (TCP/IP).TCP/IP menentukan apakah pengirim telah selesai mengirimkan pesan atau data dan penerima telah menerima pesan atau data. 2) Packets TCP/IP memecah data yang dikirimkan ke internet kedalam packets. Packets adalah blok data dengan ukuran yang tetap untuk transmisi. Data akan dipecah ke dalam bagian-bagian kecil dan bagian-bagian itu dikirimkan oleh rute yang berbeda dengan tujuan yang sama. IP digunakan untuk mengirimkan packets ke tujuan dan TCP digunakan untuk mengumpulkan kembali packets ke urutan yang benar.
9
3) IP Adresses Setiap computer dan perangkat yang terhubung ke internet memilik alamat. Internet Protocol (IP) address adalah alamat yang mengidentifikasikan setiap computer dan perangkat yang terhubung secara unik.IP Adress dibagi menjadi dua, yaitu dynamic IP address dan static IP address. Dynamic IP Address akan berubah setiap kali pengguna terhubung ke internet, sedangkan static IP Address akan tetap setiap kali pengguna terhubung ke internet. Jika computer terhubung ke internet secara tetap, maka pengguna akan memiliki static IP Address. Jika computer sesekali terhubung ke internet atau memiliki koneksi dial-up ke internet, maka pengguna akan menggunakan dynamic IP address dari kumpulan IP address yang tersedia pada internet access provider (IAP). Internet memiliki akses untuk layanan komunikasi diantara penggunanya. Layanan internet (internet service) yang paling sering digunakan adalah electronic mail (e-mail), listserv, newsgroup, chay, video conferencing, file transfer protocol (FTP), multimedia streaming, dan world wide web. a. File Tranfer Protocol (FTP) FTP adalah protocol yang digunakan untuk mengirimkan data dari suatu komputer ke komputer lain. Sebuah server FTP diakses dengan menggunakan universal resource identifier (URI). FTP mengunakan protocol TCP untuk komunikasi data antara server dan client sebelum memulai pengiriman data. b. World Wide Web (WWW)
2.3 Database Menurut (Deliana&Cahya&Kaisariza, 2009:1), database merupakan kumpulan record yang terstruktur atau data yang tersimpan pada sebuah sistem komputer. Structur ini didapat dengan mengatur data berdasarkan model database. Model yang saat ini sering digunakan adalah model relasi (relational model). Model-model yang lain seperti model hirarikal (hierarchical model), dan model jaringan (network model) digunakan secara eksplisit untuk merepresentasikan hubungan relasi (relationship).
10
Menurut (Connolly, 2005:15), database adalah kumpulan koleksi data-data yang berhubungan secara logis, dan deskripsi dari data, dirancang untuk memenuhi kebutuhan akan informasi suatu organisasi. Database merupakan tempat penyimpanan data yang besar dan tunggal yang dapat digunakan secara bersamaan oleh banyak departemen dan penggna. Semua data telah terintegrasi dengan jumlah duplikasi yang minimum. Database tidak hanya dimiliki oleh satu departemen tetapi merupakan sumber daya bersama satu perusahaan. Database tidak hanya memegang data operasional organisasi, tetapi juga menyimpan deskripsi data.
2.3.1 Database Management System (DBMS) Menurut (Connolly,2005:16), DBMS adalah sebuah system perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke database. DBMS adalah perangkat lunak yang berinteraksi antara aplikasi pengguna dan database. DBMS menyediakan fasilitas sebagai berikut: a. Mengijinkan pengguna dalam mendefinisikan database umumnya menggunakan Data Definition Language (DDL). b. DDL mengijinkan pengguna untuk menentukan tipe data dan struktur dan batasan pada data yang akan disimpan. c. Mengijjinkan pengguna untuk menyisipkan, memperbarui, menghapus dan mendapatkan kembali data dari database, umumnya melalui data Manipulation Language (DML). Memiliki penyimpanan sentral untuk semua data dan deskripsi dan memungkinkan DML untuk memberikan fasilitas permintaan data, disebut bahasa query. Bahasa query yang paling umum adalah Structured Query Language (SQL), dimana sekarang menjadi bahasa standart untuk relasi DBMS. d. Memberikan akses yang terkontrol ke database. Sebagai contoh : o Sistem Sekuritas
o Sistem Kontrol Pemulihan
o Katalog Akses Pengguna
o Sistem Terintegritas
o Sistem Konkurensi
11
2.3.2 Program Aplikasi Database Menurut (Connolly,2005:17), Program Aplikasi Database merupakan program computer yang berinteraksi dengan database dengan cara memberikan permintaan yang sesuai (umumnya pernyataan SQL) dengan DBMS. Pengguna berinteraksi dengan database melalui sejumlah program-program aplikasu yang digunakan untuk menciptakan dan memelihara database serta menghasilkan informasi. Program-program ini dapat membuat aplikasi batch yang konvensional atau aplikasi online.
2.4 PHP 2.4.1 Pengertian PHP Menurut (Welling & Thomson,2009:2), PHP (Hypertext Prepocessing) adalah bahasa pemrograman scripting yang berjalan di sisi server dan dirancang khusus untuk aplikasi web. Dalam penggunaannya, kode PHP dapat disisipkan pada halaman HTML sehingga halaman web menjadi dinamis dan interaktif.
2.4.2 Keunggulan PHP Menurut (Welling & Thomson, 2009:4-5), ada beberapa alasan yang menjadi dasar pertimbangan mengapa menggunakan PHP yaitu sebagai berikut: 1. Kinerja tinggi. 2. Antarmuka untuk berbagai sistem database yang berbeda. 3. Membangun libraries untuk common web task. 4. Biaya rendah. 5. Kemudahan dalam dipelajari dan penggunaan. 6. Dukungan object-oriented yang kuat. 7. Portabilitas. 8. Ketersediaan source code. 9. Ketersediaan dukungan.
2.5 Unified Modelling Language (UML) 2.5.1 Pengertian UML Menurut Ambler (2005,P10) UML (Unified modeling language) Merupakan bahasa grafis standar untuk permodelan software berorientasi objek. Satu model menangkap setiap informasi mengenai system, satu diagram hanya memberi 1
12
(satu) sudut pandang suatu informasi. Jika menghapus sebuah dari diagram maka tetap tersimpan dalam model, jika menghapus elemen dari model maka akan menghilang dari seluruh diagram. Sebuah model dapat menggiring software engineers untuk memiliki wawasn tentang system, mereka dapat menganalisis model (manual maupun menggunakan alat) untuk menemukan masalah yang lainnya. Diagram sederhana yang dihasilkan dari model juga dapat membantu komunikasi dengan klien dan pengguna.
2.5.1.1 Komponen-komponen UML UML terdiri dari beberapa diagram, yang dijelaskan adalah diagramdiagram yang digunakan dalam penulisan laporan ini, yaitu:
2.5.1.2 Use case diagram Menurut
Ambler(2005,p33),
sebuah
UML
usecase
diagram
menunjukkan hubungan antara aktor dan menggunakan kasus dalam sistem. Mereka seridng digunakan untuk : 1. Memberikan gambaran dari semua atau bagian dari persyaratan penggunaan untuk sistem atau organisasi dalam bentuk essential model atau business model. 2. Mengkomunikasikan lingkup pembangunan proyek. 3. Model analisis bagi persyaratan penggunaan dalam bentuk sistem use case model. Sebuah use case model terdiri dari satu atau lebih use case diagram dan dokumentasi pendukung seperti spesifikasi use case dan menentukan actor. Use case harus dikembangkan berdasarkan sudut pandang project stake holders dan bukan dari sudut pandang teknik dari developer. Menurut Ambler (2005, p38) Ada beberapa jenis hubungan yang mungkin muncul pada use case diagram: 1.
Asosiasi antara actor dan usecase, menggunakan garis panah untuk mengidentifikasikan siapa atau apa yang meminta interaksi, bukan mengindikasikan aliran data. Bila aktor berinteraksi secara pasif dengan sistem, maka menggunakan garis dengan tanda panah terbuka untuk mengindikasikannya.
13
2.
Asosiasi antara dua use case, bila suatu use case masuk di dalam use case lain, maka dapat digambarkan dengan tanda panah terbuka ke arah sub use case. Aktor tidak boleh dihubungkan pada use case include dan extend yang merupakan perluasan dari use case lain jika kondisi atau syarat terpenuhi, sebaiknya penggunaan asosiasi ini dikurangi, karena akan membuat diagram sulit dipahami.
3.
Generalisasi antara dua actor, generalisasi dilambangkan dengan sebuah garis berpanah tertutup yang pada salah satu ujungnya yang lebih umum dan harus digambarkan secara vertikal. Generalisasi antar use case dibuat ketika ada sebuah keadaan yang lain atau perlakuan khusus. Letaknya pada use case di bawah base atau parent use case.
4.
Generalisasi antara 2 (dua) use case, generalisasi antar aktor dibuat ketika ada aktor baru yang terbentuk dan mempunyai atribut dan metode yang sama dengan aktor yang sudah ada. Letaknya pada use case dibawah base atau parent actor
Gambar 2.2 Contoh Use Case
14
2.5.1.3 Class diagram Class diagram menunjukkan kelas pada system, hubungannya, dan operasi serta atribut dari kelas, mereka digunakan untuk: 1. Mengeksplorasi konsep domain dalam bentuk model domain. 2. Menganalisis persyaratan dalam bentuk analisis atau model konseptual. 3. Menggambarkan desai rinci berorientasi obyek atau object-based software. Class menggambarkan keadaan (atribut atau properti) suatu system, dan menawarkan layanan untuk memanipulasi keadaan tersebut (metode atau fungsi). Class diagram menggambarkan struktur deskripsi class, package, dan object serta hubungan satu sama lain seperti pewarisan, asosiasi, dan lain – lain. Class memiliki tiga area pokok, yaitu: 1. Nama (stereotype), merupakan nama sebuah class. 2. Atribut, merupakan properti dari sebuah class yang melambangkan batas nilai yang mungkin ada di objek dari class. 3. Metode, merupakan sesuatu yang bias dilakukan oleh class atau dapat dilakukan class atau dapat dilakukan class lain terhadap sebuah class. (P47)
Gambar 2.3 Visibility Options on UML Class Diagrams a.
Public, dapat dipanggil oleh siapa saja, ditampilkan dengan simbol (+).
b.
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anakanak yang mewarisinya, ditampilkan dengan simbol (#).
15
c.
Private, tidak dapat dipanggil dari luar class yang bersangkutan, ditampilkan dengan simbol (-).
d.
Package, hanya dapat dipanggil oleh instance dari classes dengan package yang sama, ditampilkan dengan simbol (~).
Berikut ini merupakan notasi dari class diagram: 1.
Class, merupakan blok pembangun dalam pemrograman berorientasi objek, yang digambarkan dengan bentuk sebuah kotak yang terbagi menjadi 3 bagian yaitu: nama class, definisi atribut, dan definisi fungsi
2.
Association, merupakan hubungan antara dua class. Garis ini dapat melambangkan tipe hubungan dan juga hukum multiplicity seperti gambar dibawah ini:
Gambar 2.4 UML Multiplicity Indicators 3.
Composition, jika class tidak dapat berdiri sendiri dan merupakan bagian dari class lain, maka class tersebut mempunyai hubungan composition terhadap class tempatnya bergantung yang digambarkan dengan garis yang ujungnya berbentuk jajaran genjang berisi atau solid.
4.
Dependency, hubungan Dependency digunakan jika operasi sebuah class menggunakan class yang lain. Dependency digambarkan dengan sebuah panah bertitik-titik.
5.
Aggregation, agregasi merupakan hubungan mempunyai sebuah atau “bagian dari”. Yang dilambangkan dengan garis jajaran genjang tidak berisi atau tidak solid.
16
6.
Inheritance, class dapat diturunkan dari class lain dan mewarisi semua atribut dan metode class asalnya dan menambah fungsionalitas baru, sehingga disebut sebagai anak dari class yang diwarisinya.
Gambar 2.5 Contoh Class Diagram
2.5.1.4 Activity diagram Activity diagram adalah setara dengan flow charts berorientasi objek dan data flow diagram dari pengembangan terstruktur. Activity diagram digunakan untuk mengeksplorasi logika. 1. Operasi yang kompleks 2. Aturan bisnis yang kompleks 3. Satu use case 4. Beberapa use case 5. Proses bisnis 6. Proses bersamaan 7. Proses software Aktivity diagram menggambarkan berbagai alur aktifitas dalam system yang dirancang, bagaimana alur berawal, keputusan yang terjadi, dan bagaimana mereka berakhir.(p113)
17
2.5.1.5 Sequence diagram Sequence diagram adalah teknik pemodelan yang dinamis. Sequence diagram biasanya digunakan untuk: 1. Validasi dan menyempurnakan logika dan kelengkapan penggunaan suatu skenario. Menunjukkan deskripsi cara bahwa system anda bias digunakan. 2. Menjelajahi desai karena menyediakan jalan secara langkah visual melalui permintaan dari operasi yang didefinisikan dari kelas. 3. Memberikan nuansa kelas mana dalam aplikasi yang akan menjadi kompleks 4. Mendeteksi hambatan dalam desain berorientasi objek. Melihat pesan apa yang sedang dikirim ke objek, dan dengan melihat kira – kira berapa lama waktu yang dibutuhkan untuk menjalankan metode, serta memahami tentang dimana perlu mengubah desain untuk mempermudah jalannya sistem. Sequence diagram biasa digunakan untuk menggambarkan skenario atau langkah – langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktifitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output yang dihasilkan (P80)
2.5.1.6 Object-oriented analysis and design(OOAD) Menurut (Whitten, Bently & Dittman, 2004:31), Objeck-oriented analysis dan desain adalah sebuah kumpulan perangkat lunak dalam pengembangan dan tehnik untuk sistem yang akan memanfaatkan objek teknologi untuk membangun sistem dan perangkat lunak. Objek-oriendted analysis and design
mempunyai metode yang
memiliki pendekatan yang lebih disukai untuk membangun sebagian besar sistem informasi kontemporer.
2.6 8 Aturan Emas Desain User Interface Shneiderman merumuskan 8 (delapan) aturan yang dapat digunakan sebagai tunjuk dasar untuk merancang suatuuser interface. Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design. (Shneiderman, 2010 : 606) yaitu:
18
1. Konsistensi Dilakukan pada urutan perintah, istilah pada menu, dan tindakan. Sehingga ketika kita membuka website hari ini atau pun besok, urutan-urutan yang akan kita lalui tetap sama. Misalnya ketika kita ingin log in di facebook, maka kita harus selalu log in dengan mengisi e-mail dan password terlebih dahulu. 2. Memenuhi kegunaan yang universal Mengenali kebutuhan pengguna yang beragam dan desain untuk plastisitas, memfasilitasi transformasi konten. Perbedaan antara orang awam dan ahli, rentang usia, cacat dan setiap keanekaragaman teknologi yang memperkaya kebutuhan spektrum yang memandu desain. Menambahkan fitur untuk pemula, seperti penjelasan, dan fitur untuk ahli, seperti jalan pintas dan langkah langkah yang lebih cepat, dapat memperkaya desain antarmuka dan meningkatkan kualitas sistem. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik.Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana.Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. Merancang dialog untuk menghasilkan suatu penutupan Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian pembuka, isi, dan penutup. Umpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan penanganan kesalahan yang sederhana Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal.Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. 6. Mudah kembali ke tindakan sebelumnya Suatu sistem dirancang sehingga jika pengguna mengalami kesalahan maka si pengguna dapat kembali keadaan sebelumnya.Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan
19
dapat dibatalkan, sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung tempat pengendali internal (internal locus of control) Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek Dengan tampilan yang sederhana dan menarik dapat membantu si pengguna sehingga tidak perlu mengingat terlalu banyak perintah, dan juga dapat menghindari terjadinya kebingungan pada pengguna
2.7 Kriteria Lima Faktor Manusia Terukur Menurut (Shneiderman, 2005:162), untuk merancang suatu user interface yang baik, terdapat 5 (lima) kriteria yang harus dipenuhi dalam membuat sistem yang user friendly atau biasa disebut 5 faktor manusia terukur yaitu : 1. Waktu belajar yang tidak lama. Pengguna dapat mempelajari semua perintah yang ada dalam system dalam waktu singkat. 2. Kecepatan kinerja.Sistem dengan cepat dapat memberikan respon terhadap suatu perintah yang diberikan oleh pengguna terhadapnya. 3. Tingkatkesalahan user. Jumlah dan jeniskesalahan yang dilakukan penggunadalam menyelesaikan tugasnya. 4. Retensi. Kemampuan pengguna dalam mengingat semua pengetahuan yang didapatnya dalam jangka waktu tertentu. 5. Kepuasan pengguna.Dapat diketahui dengan berbagai cara, salah satunya dengan wawancara atau memberikan kuisioner kepada user.
2.8 Persedian Menurut (Yamit,2005:3-6), Persediaan bahan baku adalah item yang dibeli dan para supplier untuk digunakan sebagai input dalam proses produksi. Persediaan barang dalam proses adalah sebagian dari produk akhir tetapi masih dalam proses pengerjaan, karena masih menunggu item yang lain tuntuk diproses. Persedian barang jadi adalah persedian produk akhir yang siap untuk dijual, didistribusikan atau disimpan.
20
Oleh karena itu, terdapat empat faktor yang dijadikan sebagai fungsi perlunya persediaan, yaitu faktor waktu, faktor ketidakpastian waktu dating, faktor ketidakpastian penggunaan dalam pabrik, dan faktor ekonomis. 1. Faktor waktu menyangkut lamanya proses produksi dan distribusi sebelum barang jadi sampai kepada konsumen. 2. Faktor ketidakpastian waktu dating dari supplier menyebabkan perusahaan memerlukan persediaan, agar tidak menghambat proses produksi maupun keterlambatan pengiriman kepada konosumen. 3. Faktor ketidakpastian penggunaan dari dalam perusahaan disebabkan oleh kesalahan dalam peramalan permintaan, kerusakan mesin, keterlambatan operasi, bahan cacat, dan berbagai kondisi lainnya. 4. Faktor ekonomis adalah adanya keinginan perusahaan untuk mendapatkan alternative biaya rendah dalam memproduksi atau membeli item dengan menentukan jumlah yang paling ekonomis.
2.8.1 Economic Order Quantity(EOQ) Jumlah pemesanan yang dapat meminimumkan total biaya persediaan disebut Econimoc Order Quantity(EOQ). Dengan tingkat penggunaan tetap, persediaan akan habis dalam waktu dalam waktu tertentu dan ketika persediaan hanya tinggal sebanyak kebutuhan selama tenggang waktu pemesanan kembali (reorder point =ROP) harus dilakukan. (p47) Pemesanan kembali (reorder point =ROP) ditentukan berdasarkan kebutuhan selama tenggang waktu pemesanan. Jika posisi persediaan cukup untuk memenuhi permintaan selama tenggang waktu pemesanan, maka pemesanan kembali harus dilakukan sebanyak Q* unit atau EOQ. Formulasi berikut dapat digunakan untuk menentukan kapan melakukan pemesanan kembali apabila tenggang waktu pemesanan L ditentukan dalam bulan maupun minggu.(p50) B = RL/12 = ROP unit B = RL/52 = ROP unit Model EOQ tersebut dapat dilakukan dengan menggunakan asumsi sebagai berikut: 1. Kebutuhan bahan baku dapat ditentukan, relatif tetap, dan terus menerus 2. Tenggang waktu pemesanan dapat ditentukan dan relatif tetap
21
3. Tidak diperkenakan adanya kekurangan persediaan; artinya setelah kebutuhan dan tenggang waktu dapat ditentukan secara pasti berarti kekurangan persediaan dapat dihindari 4. Pemesanan datang sekaligus dan akan menambah persediaan 5. Struktur biaya tidak berubah; biaya pemesanan atau persiapan sama tanpa memperhatikan jumlah yang dipesan, biaya simpan adalah berdasarkan fungsi linier terhadap rata-rata persediaan, dan harga beli atau biaya pembelian per unit adalah konstan (tidak ada potongan) 6. Kapasitas gudang dan modal cukup untuk menampung dan membeli pesanan 7. Pembelian adalah satu jenis item
2.9Y-Slow Y-Slow adalah tool yang dibuat oleh Enginer di Yahoo untuk mengukur performa website dan memberikan saran untuk mengoptimalkan kecepatan aksesnya.
2.9.1 Cara Kerja Y-Slow Y-Slow bekerja dalam tiga tahap untuk menghasilkan hasil-hasilnya (http://yslow.org/faq/) : 1. Y-Slow merangkak DOM untuk menemukan semua komponen (gambar, script, stylesheet, dll) dalam halaman. Setelah merangkak DOM, Y-Slow loop melalui komponen Panel Bersih Firebug dan menambahkan mereka ke daftar komponen yang sudah ditemukan di DOM. 2. Y-Slow mendapat informasi tentang masing-masing komponen: ukuran, apakah itu gzip, Expires header, dan lain-lain YSlow mendapat informasi ini dari Panel Bersih Firebug jika tersedia. Jika informasi komponen tidak tersedia dari Panel Net (misalnya, komponen ini dibaca dari cache atau memiliki respon 304) Y-Slow membuat XMLHttpRequest untuk mengambil komponen dan melacak header dan informasi lainnya yang diperlukan. 3. Y-Slow mengambil semua data tentang halaman dan menghasilkan nilai untuk setiap aturan, yang menghasilkan nilai keseluruhan.
22