BAB 2 LANDASAN TEORI
2.1. Rekayasa Perangkat Lunak Definisi rekayasa perangkat lunak (software engineering) menurut Pressman (2001, p20) adalah pengembangan dan penggunaan prinsip pengembangan suara untuk memperoleh perangkat lunak secara ekonomis yang dapat dipercaya (reliable) dan dapat bekerja secara efisien pada mesin nyata. Sedangkan rekayasa perangkat lunak menurut Steward (1987, p3) adalah pengelolaan suatu permintaan, teknologi komputer, kemampuan seseorang, waktu, dan biaya untuk membuat suatu produk perangkat lunak sesuai permintaan pelanggan dengan timbal balik sebuah kepuasan kepada si pembuatnya. Berdasarkan pendapat para ahli di atas, dapat disimpulkan bahwa rekayasa perangkat lunak adalah suatu aplikasi dari sebuah pendekatan yang sistematik, teratur, dan dapat diukur terhadap pengembangan, kinerja, dan pemeliharaan perangkat lunak.
2.1.1. Perangkat Lunak Perangkat lunak (software) menurut Pressman (2001, p6) mempunyai pengertian: • Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan hasil unjuk kerja seperti yang diinginkan;
10
• Struktur data yang memungkinkan program memanipulasi informasi secara proporsional; • Dokumen yang menggambarkan operasi dan kegunaan dari suatu program.
Selain itu perangkat lunak menurut Pressman (2001, pp6-pp9) memiliki ciri atau karakteristik yang berbeda dari perangkat keras yaitu: a. Perangkat lunak dibangun (dirancang) dan dikembangkan Kualitas yang tinggi dari suatu perangkat lunak dapat dicapai melalui perancangan yang baik. Biaya untuk perangkat lunak dikonsentrasikan kepada pengembangan. b. Perangkat lunak tidak pernah usang Perangkat lunak tidak rentan terhadap pengaruh lingkungan yang merusak yang menyebabkan perangkat keras menjadi usang. Bila komponen suatu perangkat keras telah usang, komponen dapat diganti dengan suku cadangnya, tapi tidak ada suku cadang bagi perangkat lunak. c. Sebagian besar perangkat lunak dibuat berdasarkan pesanan (custom-built) serta tidak dapat dirakit dari komponen yang sudah ada Perangkat lunak mungkin saja dipesan secara terpisah, tetapi tetap merupakan satu kesatuan yang lengkap, bukan sebagai komponen yang dapat dipasangkan ke dalam program-program yang baru.
11
2.1.2. Paradigma Rekayasa Perangkat Lunak Paradigma rekayasa perangkat lunak atau lebih dikenal dengan model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi dan proyeknya, metode, dan alat-alat bantu yang akan dipakai, kontrol, serta penyampaian yang dibutuhkan. Beberapa contoh model proses atau paradigma rekayasa perangkat lunak: a. Model sekuensial linier (linear sequential model) Sering disebut siklus kehidupan klasik (classic life cycle) atau model air terjun (waterfall model). Sekuensial linier mengusulkan sebuah pendekatan pada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem melalui analisis, desain, pengkodean (coding), pengujian (testing), dan pemeliharaan (Pressman, 2001, p28). Model sekuensial linier adalah paradigma rekayasa perangkat lunak yang paling luas dipakai dan paling tua. Gambaran dari model sekuensial linier lihat Gambar 2.1.
Gambar 2.1 Model sekuensial linier (Pressman, 2001, p29)
12
Menurut Pressman (2001, p28) ada beberapa tahapan model sekuensial linier: 1) Rekayasa dan pemodelan sistem/informasi Tahapan ini penting karena perangkat lunak harus berhubungan dengan elemen-elemen yang lain seperti perangkat keras, manusia atau pemakai, dan basis data. 2) Analisis kebutuhan perangkat lunak Untuk memahami sifat program yang dibangun, maka perlu dipahami domain informasi, tingkah laku, kinerja, dan antarmuka (interface) yang diperlukan. 3) Desain Proses ini berfokus pada struktur data, arsitektur perangkat lunak, antarmuka, dan algoritmanya atau perincian prosedur. 4) Penerjemahan kode (code generation) Rancangan atau desain yang telah dibuat harus diterjemahkan ke dalam bentuk yang dapat dimengerti oleh mesin. 5) Pengujian (testing) Proses ini bertujuan untuk memastikan bahwa semua pernyataan sudah diuji, untuk menemukan kesalahan-kesalahan, dan untuk memastikan bahwa hasilnya sesuai dengan yang diharapkan oleh pelanggan. 6) Pemeliharaan Pemeliharaan perangkat lunak mengaplikasikan kembali setiap tahapan program sebelumnya karena terjadi kesalahan tertentu (misalnya
13
perubahan akibat sistem operasi yang baru) dan bukan membuat ulang yang baru.
b. Model prototipe (prototyping model) Model ini merupakan pendekatan terbaik bagi pelanggan yang tidak sabar. Prototipe merupakan suatu proses yang memungkinkan pengembang membuat suatu model atau contoh kasar (mock-up) dari perangkat lunak yang harus dibangun. Model ini bergantung pada komunikasi yang erat antara pelanggan dan pengembang perangkat lunak.
c. Model RAD (Rapid Application Development model) Rapid Application Development adalah sebuah model proses perkembangan perangkat lunak yang menekankan siklus perkembangan yang sangat pendek.
d. Model pertambahan (incremental model) Model ini mengkombinasikan elemen dari model sekuensial linier dan prototipe. Namun tidak seperti model prototipe, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya.
e. Model spiral (spiral model) Model ini pertama kali diusulkan oleh Boehm. Setiap putaran dalam spiral menggambarkan sebuah fase dari proses perangkat lunak. Dengan demikian,
14
bagian terdalam dari putaran menyangkut kelayakan sistem, putaran selanjutnya menyangkut definisi kebutuhan sistem, putaran berikutnya menyangkut desain sistem dan begitu terus selanjutnya (Sommerville, 1996, p13).
2.2. Interaksi Manusia dan Komputer Interaksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia serta studi fenomena-fenomena besar yang berhubungan dengannya. Ilmu ini memfokuskan pada perancangan dan evaluasi antarmuka pemakai (user interface). Antarmuka pemakai adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan komputer. Menurut Shneiderman (1998, p15) ada lima faktor manusia terukur yang menjadi pusat evaluasi: • Waktu belajar: berapa lama orang biasa mempelajari cara relevan untuk melakukan suatu tugas? • Kecepatan kinerja: berapa lama suatu tugas dilakukan? • Tingkat kesalahan: berapa banyak kesalahan dan kesalahan-kesalahan apa saja yang dibuat pemakai? • Daya
ingat:
bagaimana
kemampuan
pengetahuannya setelah jangka waktu tertentu?
pemakai
mempertahankan
15
• Kepuasan subjektif: bagaimana kesukaan pemakai terhadap berbagai aspek sistem?
2.2.1. Delapan Aturan Emas Perancangan Antarmuka Pemakai Menurut Shneiderman (1998, pp74-pp75), prinsip yang sering dipakai para perancang dalam merancang antarmuka pemakai adalah delapan aturan emas perancangan antarmuka pemakai yaitu: a. Berusaha untuk konsisten Aturan ini adalah yang paling sering dilanggar karena ada banyak bentuk dari konsistensi. Konsistensi dapat berupa penggunaan warna, huruf, maupun bahasa yang konsisten. b. Memungkinkan pemakai yang berpengalaman menggunakan shortcuts Keinginan pemakai untuk mengurangi jumlah interaksi dan untuk mempercepat langkah interaksi. Singkatan, tombol dan perintah khusus, sangat berarti bagi pemakai yang berpengalaman untuk mendapatkan waktu respon dan penampilan informasi ke layar yang lebih cepat. c. Memberikan umpan balik yang informatif Sistem harus memberikan umpan balik yang sesuai untuk setiap tindakan pemakai. d. Merancang dialog yang memberikan penutupan (keadaan akhir) Rangkaian aksi yang bertahap seharusnya diatur dalam kelompok yaitu awal, pertengahan, dan akhir.
16
e. Memberikan pencegahan dan penanganan kesalahan yang sederhana Jika pemakai membuat kesalahan, sistem akan mendeteksi kesalahan dan menawarkan perintah yang sederhana, membangun, dan spesifik untuk menangani kesalahan yang terjadi. f. Memungkinkan pembalikan aksi yang mudah Setiap aksi harus dapat dibalikkan (reverse) ke aksi semula atau aksi yang sebelumnya. g. Mendukung pusat kendali internal Meletakkan pemakai di posisi pelaku tindakan dan bukan hanya sekedar menanggapi tindakan dari sistem. h. Mengurangi beban ingatan jangka pendek Hal ini dapat dilakukan dengan menjaga tampilan layar agar tetap sederhana, menggabungkan beberapa halaman, mengurangi frekuensi pergerakan windows, membuat waktu pelatihan dan pembelajaran yang secukupnya.
2.3. Internet Internet menurut Turban et. al. (2003, p200) adalah sebuah jaringan komunikasi yang berada di antara pengusaha, konsumen, agen pemerintah, sekolah, dan organisasi dunia lainnya. Hahn (1996, p2) mendefinisikan internet sebagai sebuah nama untuk sistem dunia yang sangat luas yang berisi tentang manusia, informasi, dan komputer.
17
Menurut Engst et. al. (1995, p17), internet berisi pemikiran-pemikiran menakjubkan yang berasal dari para pesertanya yang terhubung oleh mesin, program, dan sejumlah besar informasi serta tersebar di seluruh dunia. Pengertian internet menurut Wahid (2002, p144) adalah jaringan global yang menghubungkan jutaan komputer di dunia. Menurut Chaffey et. al. (2000, p10) keuntungan yang didapatkan dari adanya internet adalah: • Pengurangan biaya Internet mengurangi biaya dalam bidang penjualan dan pemasaran yang biasanya harus ditangani oleh seorang operator telepon dan kebutuhan untuk mencetak serta menyebarkan berbagai macam bahan yang berguna untuk promosi, kini dapat dipublikasikan melalui situs web. • Kemampuan Internet menyediakan kesempatan bagi produk dan jasa baru bahkan termasuk juga untuk mengeksploitasikan pasar baru. • Keuntungan yang kompetitif Jika sebuah perusahaan memperkenalkan kemampuan baru yang mereka miliki sebelum saingannya, maka perusahaan tersebut akan berpeluang untuk mendapatkan keuntungan besar sebelum akhirnya saingan mereka memiliki kemampuan yang sama dengan mereka.
18
• Penyempurnaan komunikasi Komunikasi yang tercipta antara pelanggan, karyawan, penyuplai, dan penyalur akan lebih mudah dan lancar. • Kontrol Internet akan membuat penelitian pasar menjadi lebih baik dengan memperhatikan sikap para pelanggan. • Perbaikan pada pelayanan pelanggan Menyediakan tempat untuk menampung serta menjawab pertanyaanpertanyaan dari para pelanggan, baik tentang informasi barang maupun jasa.
a. World Wide Web (WWW) Chaffey et. al. (2000, p63) mendefinisikan web sebagai: • Sebuah
arsitektur
pembagian
informasi
secara
global
yang
menggabungkan berbagai macam isi online dan wadah informasi dengan cepat, mudah dibuat dan biayanya pun efektif; • Pondasi perangkat lunak yang menjadi dasar banyaknya aplikasi ECommerce yang muncul. Menurut Hahn (1996, p24), web adalah sebuah sistem utama yang luas atau besar yang menawarkan berbagai macam informasi kepada siapa pun dalam internet. Informasi tersebut dapat berupa teks biasa, gambar, suara, dan berbagai macam tipe-tipe data lainnya.
19
b. Website Menurut Turban et. al. (2003, p214), website adalah semua halaman web yang berisi keterangan mengenai suatu perusahaan atau individu.
c. Homepage Homepage menurut Turban et. al. (2003, p214) adalah sebuah teks dan layar grafik yang menyambut pengguna situs web (user) dan menjelaskan tentang organisasi yang membuat situs web tersebut, dan dalam banyak kasus, akan menuntun pengguna situs web ke halaman web lainnya. Menurut Manger (1995, p18), homepage adalah dokumen utama atau akar dari suatu dokumen dimana semua dokumen HTML lainnya akan dapat diakses. Wahid (2002, p133) mendefinisikan homepage sebagai halaman pertama situs web yang akan memandu pengguna situs web membuka halaman-halaman lain pada situs tersebut dengan mengikuti informasi atau link yang ada.
d. URL (Uniform Resource Locator) Menurut Baroudi dan Levine (1995, p453), URL adalah sebuah cara yang populer dan cepat dalam menentukan sebuah lokasi online di situs web. Manger (1995, p19) mendefinisikan URL sebagai sebuah cara bagi web untuk menentukan dimana sumber keterangan diletakkan dalam situs web, dan pada saat bersamaan mendeskripsikan alat apa saja yang diperlukan dalam
20
mengakses web tersebut dan akhirnya menentukan letak dari file yang sesungguhnya dalam kumpulan keterangan yang ada di internet. URL menurut Wahid (2002, p277) adalah alamat internet yang diterjemahkan dari yang umum ke yang khusus.
e. HTTP (HyperText Transfer Protocol) Menurut Levine dan Baroudi (1994, p385), HTTP adalah bagaimana caranya halaman world wide web ditransfer ke dalam jaringan. HTTP menurut Press (2000, p77) adalah protokol antara klien dan server dalam world wide web. HTTP servers (Baroudi dan Levine, 1995, p547) adalah program yang memungkinkan pembaca untuk mengakses informasi di dalam web.
f. Browser Browser menurut Tanenbaum (2003, p612) adalah program yang menampilkan halaman-halaman dari suatu situs web. Contohnya adalah Internet Explorer, Netscape Navigator dan lain-lain. Sedangkan menurut Wahid (2002, p44), browser adalah antarmuka antara pemakai dan world wide web yang menginterpretasikan hypertext link dan digunakan untuk melihat dan memandu dari simpul internet satu ke yang lain.
21
g. E-mail E-mail merupakan singkatan dari electronic mail. Menurut Levine dan Baroudi (1994, p381), e-mail berarti pesan-pesan yang dikirim melalui internet ke orang-orang tertentu. Sedangkan menurut Wahid (2002, p102) e-mail adalah pesan elektronik yang dikirim dari komputer seorang pengguna ke komputer lainnya dan dapat dikirimkan melalui local area network (LAN) atau internet. Data yang dikirim dapat berupa teks, gambar, suara dan bahkan video klip. Menurut Barron et. al. (1995, p180) e-mail terdiri dari dua bagian utama yaitu: • informasi pengaturan Bagian ini berisi informasi-informasi tentang pesan, dari siapa pesan tersebut, untuk siapa, kapan dikirimkan, tentang apa dan apakah pesan tersebut bersifat biasa atau penting. • isi Bagian ini merupakan teks dari pesan yang ingin disampaikan atau dikirimkan. Mail server menurut Baroudi dan Levine (1995, p429) adalah program yang bertugas untuk merespon email-email yang dikirimkan kepadanya secara otomatis.
22
h. Business to Business (B2B) E-Commerce Business to Business (B2B) E-Commerce (O’Brien, 2003, p256) adalah aplikasi E-Commerce yang menghubungkan pasar bisnis secara elektronik dan pasar secara langsung dengan bisnis. Sedangkan B2B menurut Wahid (2002, p28) adalah istilah yang merujuk kepada interaksi antar bisnis atau perusahaan dalam pertukaran produk, jasa, atau informasi melalui internet.
2.4. Sistem Basis Data Basis data (database) menurut Connoly dan Begg (2002, p14) adalah suatu kumpulan logikal data yang saling berhubungan dan deskripsi dari data tersebut, yang dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi. Sedangkan basis data menurut Ramakrishnan (2003, p4) adalah kumpulan data yang menggambarkan aktivitas dari satu atau lebih organisasi yang saling berhubungan. Berdasarkan pendapat para ahli di atas, dapat disimpulkan bahwa basis data adalah kumpulan dari data yang saling berhubungan untuk memenuhi informasi yang dibutuhkan oleh perusahaan. Sistem basis data (database system) menurut Connoly dan Begg (2002, p16) adalah sebuah sistem perangkat lunak yang memungkinkan pemakai untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data.
23
Tabel berfungsi untuk menyimpan data dan merupakan suatu kumpulan data yang berhubungan dengan topik tertentu, misalnya daftar pegawai atau daftar nilai. Tabel terdiri atas baris (record) dan kolom (field). Berikut ini beberapa istilah yang terdapat dalam sebuah tabel basis data: a. Field Field adalah unit terkecil dari data record yang disimpan dalam basis data. Field merupakan kolom pada tabel untuk menyimpan data dalam kelompok yang sama. b. Record Record adalah data lengkap dalam jumlah tunggal yang biasanya tersimpan dalam bentuk baris secara horizontal pada tabel. c. Attribute Attribute adalah nama dari kolom pada suatu tabel. d. Degree Degree adalah jumlah attribute pada suatu tabel. e. Cardinality Cardinality adalah jumlah record pada suatu tabel. f. Relation Relation adalah sebuah tabel dengan kolom dan baris. g. Relationship Relationship atau relasi adalah keterlibatan dua atau lebih tabel yang saling berhubungan. Suatu basis data yang baik harus memiliki relationship.
24
h. Primary key Primary key adalah kunci yang secara unik mengidentifikasi suatu record pada tabel (Yuswanto dan Subari, 2005, p5). Primary key menjamin setiap baris data unik, dan dapat dibedakan dari data lain (Martina, 2003, p2). i. Foreign key Foreign key adalah kolom-kolom yang mengacu primary key atau konstrain unik pada tabel lain. Primary key dan foreign key dipakai untuk menghubungkan sebuah tabel dengan tabel lain (Martina, 2003, p3)
2.4.1. Normalisasi Normalisasi adalah proses yang berkaitan dengan model data relasional untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah himpunan-himpunan data dalam bentuk normal (normal form). Salah satu kegunaan normalisasi adalah untuk meminimalisasi pengulangan informasi. Beberapa bentuk normal yang umum digunakan yaitu : a. Bentuk Normal I (First Normal Form / 1-NF) Suatu relasi memenuhi 1-NF jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu baris, setiap sel mengandung nilai atomik. Contoh dari bentuk normal pertama dapat dilihat pada Tabel 2.1.
25
Tabel 2.1 Tabel Order yang memenuhi bentuk normal pertama NoOrder
Tanggal
KdSup
NmSuplier
KdBrg
NmBarang
Jumlah
Harga
D2001
20-Dec-02
S025
Ahmad Raharjo
B010
MP3 Player
10
500
D2001
20-Dec-02
S025
Ahmad Raharjo
B034
Sony TV 14’’
24
1150
D5232
01-Jan-03
S030
Ahmad Raharjo
B010
MP3 Player
20
600
D5232
01-Jan-03
S030
Ahmad Raharjo
B054
Sony TV 17’’
24
1600
D6012
02-Mar-03
S020
Suherman
B034
Sony TV 14’’
12
1200
D6012
02-Mar-03
S020
Suherman
B035
Sony TV 21’’
24
1650
b. Bentuk Normal II (Second Normal Form / 2-NF) Suatu relasi memenuhi 2-NF jika dan hanya jika : 1) Memenuhi 1-NF. 2) Setiap atribut bukan primary key tergantung sepenuhnya pada primary key. Dari contoh Tabel 2.1 di atas dapat ditentukan primary key dan functional dependency (ketergantungan fungsional). Primary key: (NoOrder, KdBrg) Functional Dependency: NoOrderÆ Tanggal, KdSup KdSupÆNmSuplier NoOrder, KdBrgÆJumlah, Harga KdBrgÆNmBarang Hasil dari bentuk normal kedua dapat dilihat pada Tabel 2.2, 2.3, dan 2.4.
26
Tabel 2.2 Tabel Order (Bentuk normal kedua) NoOrder
Tanggal
KdSup
NmSuplier
D2001
20-Dec-02
S025
Ahmad Raharjo
D5232
01-Jan-03
S030
Ahmad Raharjo
D6012
02-Mar-03
S020
Suherman
Tabel 2.3 Tabel Detail Order (Bentuk normal kedua) NoOrder
KdBrg
Jumlah
Harga
D2001
B010
10
500
D2001
B034
24
1150
D5232
B010
20
600
D5232
B054
24
1600
D6012
B034
12
1200
D6012
B035
24
1650
Tabel 2.4 Tabel Barang (Bentuk normal kedua) KdBrg
NmBarang
B010
MP3 Player
B034
Sony TV 14’’
B054
Sony TV 17’’
B035
Sony TV 21’’
c. Bentuk Normal III (Third Normal Form / 3-NF) Suatu relasi memenuhi bentuk III (3-NF) jika dan hanya jika : 1) Relasi tersebut memenuhi 2-NF. 2) Setiap atribut bukan primary key tidak tergantung secara fungsional kepada atribut bukan primary key yang lain dalam relasi tersebut.
27
Suatu relasi yang memenuhi 2-NF dan hanya memiliki satu atribut bukan kunci selalu memenuhi 3-NF. Hasil dari bentuk normal ketiga dapat dilihat pada Tabel 2.5, 2.6, 2.7, dan 2.8. Tabel 2.5 Tabel Order (Bentuk normal ketiga) NoOrder
Tanggal
KdSup
D2001
20-Dec-02
S025
D2001
20-Dec-02
S025
D5232
01-Jan-03
S030
D5232
01-Jan-03
S030
D6012
02-Mar-03
S020
D6012
02-Mar-03
S020
Tabel 2.6 Tabel Suplier (Bentuk normal ketiga) KdSup
NmSuplier
S020
Suherman
S025
Ahmad Raharjo
S030
Ahmad Raharjo
Tabel 2.7 Tabel Detail Order (Bentuk normal ketiga) NoOrder
KdBrg
Jumlah
Harga
D2001
B010
10
500
D2001
B034
24
1150
D5232
B010
20
600
D5232
B054
24
1600
D6012
B034
12
1200
D6012
B035
24
1650
28
Tabel 2.8 Tabel Barang (Bentuk normal ketiga) KdBrg
NmBarang
B010
MP3 Player
B034
Sony TV 14’’
B054
Sony TV 17’’
B035
Sony TV 21’’
2.5. Sistem dan informasi Menurut McLeod (2004, p11), sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Sedangkan menurut Pressman (2001, p276), sistem adalah serangkaian atau tatanan elemen-elemen yang diatur untuk mencapai tujuan yang telah ditentukan sebelumnya melalui pemrosesan informasi. Setelah melihat dua penjelasan tersebut di atas, dapat disimpulkan bahwa sistem adalah kumpulan dari elemen-elemen yang saling terintegrasi untuk mencapai suatu tujuan tertentu. Informasi adalah data yang telah dikonversi menjadi konteks yang lebih berarti dan berguna untuk pengguna terakhir tertentu, menurut O’Brien (2003, p13). Sedangkan menurut Whitten et. al. (2004, p23), informasi adalah data yang diproses atau diorganisasi ulang menjadi bentuk yang berarti. Informasi dibentuk dari kombinasi data yang diharapkan memiliki arti bagi penerima. Dari pengertian di atas dapat disimpulkan bahwa informasi adalah data yang telah diolah menjadi sebuah sesuatu yang berarti bagi penerimanya.
29
2.5.1. Komponen Sistem Menurut O’Brien (2003, p11), Sebuah sistem memiliki tiga komponen ataupun fungsi dasar, yaitu : • Masukan (input) Masukan meliputi elemen-elemen yang ditangkap dan dirangkai untuk dimasukkan ke dalam sistem komputer untuk diproses lebih lanjut. Biasanya dapat berupa perintah dari keyboard atau pun data. • Processing Processing meliputi proses perubahan yang mengubah dari sebuah masukan menjadi sebuah output. • Output Output meliputi pemindahan elemen-elemen yang telah dihasilkan dari sebuah proses perubahan untuk tujuan akhir yang diinginkan. Biasanya dapat berupa informasi dalam bentuk yang beragam, seperti angka biner, karakter, gambar.
2.5.2. Analisis Sistem Cushing (1995, p327) menjelaskan bahwa analisis sistem merupakan proses penyelidikan kebutuhan informasi pemakai di dalam suatu organisasi agar dapat menetapkan tujuan dan spesifikasi untuk perancangan suatu sistem informasi.
30
2.5.3. Perancangan Sistem Perancangan sistem menurut Cushing (1995, p348) adalah proses penyiapan spesifikasi yang terperinci untuk pengembangan suatu sistem baru. Sedangkan menurut Mulyadi (1997, p51), perancangan sistem adalah proses penerjemahan kebutuhan pemakai informasi ke dalam alternatif rancangan sistem yang diajukan kepada pemakai informasi untuk dipertimbangkan. Berdasarkan kedua pengertian di atas, dapat disimpulkan bahwa perancangan sistem merupakan proses pembuatan atau pengembangan sistem berdasarkan kebutuhan pemakai informasi.
2.5.4. Layanan Pendukung Jenis dari layanan pendukung meliputi: a. Download Download adalah transfer data melalui jalur komunikasi digital dari sistem yang lebih besar atau pusat (host atau server) ke sistem yang lebih kecil (client). b. Upload Upload adalah transfer data melalui jalur komunikasi digital dari sistem yang lebih kecil (client) atau periferal ke sistem yang lebih besar dan pusat (host). c. Update Update adalah program yang dirilis untuk meningkatkan kemampuan program sebelumnya. Banyak perusahaan perangkat lunak meningkatkan kemampuan
31
produk perangkat lunaknya secara berkala dengan menambahkan fitur dan fungsi baru. d. Driver Driver adalah program yang memungkinkan piranti periferal berkomunikasi dengan komputer. Beberapa Driver piranti standar, seperti keyboard dan monitor, tersedia pada komputer. Piranti yang ditambahkan kemudian memerlukan Driver yang sesuai dan harus diinstall. e. FAQ (Frequently Ask Questions) Frequently Ask Questions adalah daftar pertanyaan (dan jawaban) yang paling sering ditanyakan. Hal ini ditujukan untuk memberikan panduan atas sebuah sistem (aplikasi, situs web, dan lain-lain), terutama bagi para pemula. f. Manual Manual adalah buku petunjuk maupun cara penggunaan dari suatu produk, yang biasanya didapat ketika pelanggan membeli suatu produk.
2.6. Content Management System (CMS) Menurut Anonim (2001), CMS adalah sebuah sistem yang memudahkan proses pemeliharaan sebuah situs web dinamis yang kaya akan isi (content), dengan memberikan kemudahan kepada administrator untuk menambah, memperbaharui dan menghapus isi yang ada tanpa perlu memiliki kemampuan pemrograman web.
32
Sedangkan menurut Anthonius (2003, p2), CMS secara sederhana dapat diartikan sebagai sebuah sistem yang memberikan kemudahan kepada para penggunanya dalam mengelola dan mengadakan perubahan isi sebuah situs web dinamis tanpa sebelumnya dibekali pengetahuan tentang hal-hal yang bersifat teknis. Dari dua penjelasan di atas dapat disimpulkan CMS sebuah sistem yang memberikan kemudahan dalam mengelola, memelihara dan merubah isi dari sebuah situs web tanpa harus memiliki pengetahuan tentang pemrograman.
a. Tujuan CMS Tujuan dasar dari CMS adalah setiap orang, penulis, editor ataupun orang awam
yang
mengerti
tentang
komputer
dasar
setiap
saat
dapat
menggunakannya secara leluasa untuk membuat, menghapus, atau bahkan meperbaharui isi situs web tanpa campur tangan langsung dari pihak webmaster.
b. Manfaat CMS Menurut Anthonius (2003, p2), CMS memberikan kemudahan dalam mengatur alur kerja atau workflow dan hak akses, sehingga memperbesar kesempatan berpartisipasi dari pengguna dalam pengembangan situs web. Hal ini akan sangat menguntungkan bila situs web yang dikelola memiliki
33
kompleksitas yang tinggi dan mengalami kemajuan yang cukup pesat. Selain itu, terdapat sejumlah manfaat lain yang dapat diperoleh dari CMS seperti: 1) Manajemen Data Manajemen data ini merupakan fungsi utama dari CMS. Oleh karena CMS mempunyai basis data sehingga semua isi yang terdapat di setiap halaman situs web dapat tersimpan dengan baik, mudah dicari, serta dapat dibuat indeks. CMS juga mendukung beberapa macam format data, seperti XML, HTML, PDF, dll. Dengan menggunakan CMS biasanya pengetahuan tentang bahasa pemrograman tidak dibutuhkan, karena semua proses berjalan dengan otomatis (WYSIWYG). 2) Mengatur siklus hidup situs web CMS memberikan fasilitas untuk mengelola isi yang akan ditampilkan, waktu penampilan maupun lokasi penampilan di situs web kepada penggunanya. Tak jarang sebelum ditampilkan, isi yang dimaksud terlebih dahulu dicek ulang oleh editor sehingga dijamin kevaliditasannya. 3) Mendukung web templating dan standarisasi CMS melakukan pemutakhiran dan pemeliharaan dengan menggunakan “template based” yang memisahkan data isi dan desain tampilan. Jika terdapat perubahan, hanya file bersangkutan yang diganti tanpa mengganti semua halaman satu-persatu.
34
4) Personalisasi situs web Jika sebuah isi ditempatkan ke dalam CMS, maka isi tersebut dapat ditampilkan sesuai dengan keinginan dan kebutuhan dari penggunanya. Dengan adanya kelebihan dimana CMS dapat memisahkan antara desain dan isi inilah maka CMS menyebabkan proses personalisasi dapat berjalan dengan mudah. 5) Sindikasi Sindikasi memberikan kemungkinan untuk berbagi isi dari sebuah situs web kepada situs web lainnya. 6) Akuntabilitas Oleh karena para penulis maupun editor memiliki tugas masing-masing dan setiap adanya perubahan data dapat dipertanggungjawabkan dengan baik, maka bila terjadi perubahan pada situs web dapat segera diperbaiki seperlunya.
c. Penggunaan CMS CMS dapat dipergunakan untuk berbagai macam keperluan, seperti: 1) Mengelola situs web pribadi; 2) Mengelola situs web perusahaan; 3) Portal atau situs web komunitas; 4) Forum; 5) Aplikasi E-Commerce.
35
d. Jenis CMS CMS dibagi menjadi dua jenis, yaitu: 1) CMS Komersial CMS jenis ini dikembangkan oleh perusahaan perangkat lunak yang menjalankan
usahanya
dengan
motif
mencari
keuntungan,
yang
menyediakan hampir semua fitur dari sebuah CMS dan tidak tersedia secara gratis. 2) CMS Open Source CMS open source ini dibuat dan dikembangkan oleh sekelompok orang yang memberikan sebuah alternatif murah kepada para pengguna. Tersedia secara gratis dan dapat dipergunakan sesuai dengan kebutuhan.
2.7. UML (Unified Modeling Language) UML menurut Marakas (2006, p412) adalah bahasa yang menjadi standar dalam industri untuk mengspesifikasikan, memvisualisasikan, merancang, dan mendokumentasikan bentuk dari sistem perangkat lunak berorientasi objek. UML menyederhanakan proses perancangan perangkat lunak yang kompleks serta membuat cetak biru untuk rancangan. UML terutama digunakan untuk sistem perangkat lunak intensif. Menurut Booch et. al. (1999, p17), UML telah digunakan secara efektif dalam berbagai bidang seperti sistem informasi perusahaan, layanan keuangan dan perbankan,
36
telekomunikasi, transportasi, peralatan medis, ilmu pendidikan, penjualan dan layanan distribusi berbasis web.
2.7.1. Diagram UML Menurut Booch et. al. (1999, pp25-pp26), ada beberapa diagram UML yaitu: a. Class diagram Kelas (class) merupakan sekumpulan objek (orang, tempat, atau benda) yang memiliki atribut dan metode yang sama. Atribut adalah data yang mewakili karakteristik dari suatu objek. Metode adalah kumpulan dari sesuatu yang dapat dilakukan oleh objek berkaitan dengan atribut yang dimiliki. Diagram kelas (class diagram) adalah diagram yang menggambarkan sekumpulan kelas yang menyusun sistem dan hubungan antar kelas satu sama lain. Diagram ini merupakan diagram yang paling umum ditemukan dalam pemodelan sistem berorientasi objek. Komponen dari diagram kelas dapat dilihat pada Gambar 2.2.
37
Gambar 2.2 Komponen dari diagram kelas (Mathiassen, 2000, p337)
Generalisasi merupakan pendekatan yang bertujuan untuk menemukan dan mengeksploitasi hal-hal umum antara objek dan kelas. Asosiasi mewakili orang, tempat, atau benda yang berhubungan dengan sistem dimana sistem harus menyimpan informasi. Agregasi adalah sebuah hubungan di mana satu kelas yang lebih besar berisi satu atau lebih kelas yang lebih kecil.
b. Use case diagram Use case diagram adalah diagram yang menggambarkan aksi yang dilakukan sistem dalam merespon permintaan pemakai dan orang-orang yang terlibat dalam aksi ini. Diagram ini berisi use case dan actor. Tujuan pembuatan use
38
case adalah memodelkan sebuah sistem dari sudut pandang para pemakainya. Komponen dari use case diagram dapat dilihat pada Gambar 2.3.
Gambar 2.3 Komponen dari use case diagram (Mathiassen, 2000, p343) Actor mewakili siapa saja yang berinteraksi dengan use case dalam sebuah sistem. Use case adalah sekumpulan aksi yang dilakukan oleh sistem. Transition adalah penghubung antara actor dan use case. Boundary adalah batasan dari sebuah sistem.
c. Object diagram Object diagram menggambarkan sekumpulan objek dan hubungan di antara mereka. Object diagram mewakili objek-objek yang ditemukan dalam class diagram.
39
d. Interaction diagram Interaction diagram menggambarkan suatu interaksi, yang terdiri dari sekumpulan objek dan hubungan di antara mereka, termasuk messages yang dikirim di antara mereka. Pesan (message) adalah komunikasi yang terjadi ketika suatu objek meminta metode objek lain untuk melakukan aksi. Interaction diagram dibagi dua yaitu: 1) Sequence diagram Sequence diagram merupakan interaction diagram yang menekankan pada urutan waktu dari pesan-pesan. Contoh dari sequence diagram dapat dilihat pada Gambar 2.4.
Anto : Mahasiswa Andi : bagian Admisi Entry Data() result()
Gambar 2.4 Contoh sequence diagram memasukkan data mahasiswa
40
2) Collaboration diagram Collaboration diagram merupakan interaction diagram yang menekankan pada pengaturan objek struktural yang mengirimkan dan menerima pesanpesan.
e. Statechart diagram Statechart diagram menggambarkan berbagai rangkaian state di mana objek yang nyata dapat diasumsikan, kejadian yang dapat menyebabkan perpindahan dari satu state ke state yang lain dan suatu aksi dapat terjadi sebagai hasil dari perubahan state. Berfokus pada suatu metode dari kelas tunggal untuk particular use case. Komponen dari statechart diagram dapat dilihat pada Gambar 2.5.
41
Gambar 2.5 Komponen Statechart Diagram (Mathiassen, 2000, p341)
f. Activity diagram Activity diagram merupakan jenis khusus dari statechart diagram yang menggambarkan aliran dari aktivitas ke aktivitas dalam suatu sistem. Tujuan pembuatan diagram ini adalah untuk memodelkan aliran informasi secara prosedural dari aktivitas yang beragam secara lebih efektif. Komponen dari activity diagram dapat dilihat pada Gambar 2.6.
42
Gambar 2.6 Komponen Activity Diagram
g. Component diagram Component diagram menggambarkan pengaturan dan ketergantungan di antara kumpulan komponen yang menyusun suatu sistem.
h. Deployment diagram Deployment diagram menggambarkan konfigurasi dari waktu proses dan komponen yang ada di dalamnya.
43
2.8. HTML (HyperText Markup Language) Web yang berdasarkan pada standar bahasa hypertext disebut HyperText Markup Language (HTML) yang memformat dokumennya dan memasukkan dynamic hypertext links ke dalam dokumen lainnya yang disimpan dalam komputer yang sama atau berbeda. Menurut Turban et. al. (2003, p214), dengan menggunakan hypertext links (yang biasanya biru, tebal, dan bergaris bawah), pemakai mengarahkan atau menunjuk pada kata yang menyala, mengkliknya, dan kemudian akan diantarkan ke dokumen yang lainnya. HTML menurut Kalakota dan Whinston (1997, p66) adalah format untuk halaman web, yang menyediakan pemformatan dan hyperlinking. HTML digunakan dalam menulis halaman untuk World Wide Web. HTML teks mengandung kode yang mendefinisikan huruf, tampilan (layout), gambar yang disertakan, dan hypertext links (Levine dan Baroudi, 1994, p385). HTML dokumen mirip dengan dokumen teks biasa, hanya dalam dokumen ini sebuah teks bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan TAG tertentu. Misalnya jika ingin menampilkan huruf tebal, maka penulisannya harus diawali dengan
TAMPIL TEBAL. Tanda
digunakan untuk mengaktifkan instruksi cetak tebal dan di akhir teks ditulis yang berguna untuk menonaktifkan cetak tebal tersebut. Bila teks tersebut disimpan dengan format HTML kemudian dijalankan dengan program browser misalnya Internet Explorer, maka kode atau TAG tersebut tidak akan terlihat atau tidak ditampilkan ke layar (Tutang, 2005, p2).
44
2.9. ASP.NET (Active Server Pages.NET) ASP.NET merupakan versi terakhir dari Microsoft Active Server Pages (ASP). Kehadiran ASP.NET dalam dunia web memberikan kemudahan bagi para developer ASP.NET dalam mengembangkan aplikasi web dinamis dengan performansi yang tinggi. ASP.NET meningkatkan produktivitas pengembang web karena ASP.NET memiliki model pemrograman yang mudah digunakan, mempunyai pilihan bahasa yang fleksibel yang membedakannya dari ASP Classic yang hanya dapat menginterpretasikan VBScript dan JScript saja. Selain itu, ASP.NET juga dilengkapi fasilitas pendukung (support tools) yang bagus sehingga memudahkan pengembangan dan juga kaya akan class-class framework
tanpa
membutuhkan
komponen-komponen
tambahan
untuk
membangun sebuah aplikasi. Pada intinya .NET merupakan suatu pengembangan framework dari API (Application Programming Interface) windows masa classic atau yang kita kenal dengan nama Windows 2000. Perangkat lunak yang dibutuhkan untuk menjalankan aplikasi ASP.NET adalah: • Microsoft Windows 2000 Professional atau Server, Microsoft Window XP; • .NET Framework SDK; • Editor teks seperti Notepad atau Macromedia Dreamweaver; • Internet Explorer 5.5 atau lebih; • Visual Studio.NET / ASP.NET Web Matrix (ini merupakan pilihan, tetapi disarankan);
45
• Microsoft Data Access Component (MDAC) 2.7 (harus diinstall sebelum instalansi .NET Framework SDK).
2.10. Macromedia Dreamweaver Macromedia Dreamweaver adalah sebuah HTML editor profesional untuk mendesain secara visual dan mengelola situs web. Dreamweaver menyediakan banyak tool untuk kode-kode dalam halaman web serta banyak fasilitas lainnya seperti: referensi HTML, CSS dan Java Script, ASP.NET C#, ASP VBScript, PHP, XML dan dokumen teks langsung dalam Dreamweaver. Fasilitas editing secara visual dari Dreamweaver dapat menambahkan desain dan fungsionalitas halaman-halaman web tanpa perlu menulis satu baris kodepun dan juga dapat memuat objek dan command sendiri, memodifikasikan shortcut keyboard bahkan menulis kode C# (C-Sharp).
2.11. Microsoft SQL Server Microsoft SQL Server diperkenalkan pada tahun 1990 untuk platform Microsoft OS/2 dalam kerjasamanya dengan Sybase. SQL Server 2000 dibangun berdasarkan SQL Server 7.0. SQL Server 2000 merupakan bahasa pemrograman yang dirancang khusus untuk komunikasi dengan basis data relasional (basis data yang mengorganisasikan data dalam bentuk tabel) guna mendukung aplikasi dengan arsitektur client-server. Konsep penerapannya adalah basis data ditempatkan di komputer pusat yang disebut dengan server dan informasinya
46
digunakan bersama-sama oleh semua pengguna yang menjalankan aplikasi pada komputer lokal yang disebut dengan client. Sistem basis data client/server seperti SQL Server 2000 memakai sejumlah proses server untuk memanipulasi data, dan mengharuskan proses client berhubungan dengan proses server menggunakan mekanisme IPC (Inter Process Communication) lokal. SQL Server 2000 memberikan bahasa dan antarmuka yang baik untuk pemrograman dan komunikasi pada server.