BAB 2 LANDASAN TEORI
2.1. Internet 2.1.1. Pengertian Internet Internet adalah sebuah jaringan komputer yang sangat besar yang terdiri dari jaringan–jaringan kecil yang saling berhubungan untuk menjangkau dunia ( Oetomo, 2001,p.10 ). Sedangkan menurut Samuel ( 1997,p.1 ) internet adalah jaringan komputer dunia yang memiliki jutaan komputer. Pada saat ini komputer dapat diakses dilebih dari 1 milyar komputer dan berbagai alat telekomukasi lainnya. Dengan adanya World Wide Web yang memungkinkan masyarakat untuk bisa mengakses seluruh macam dokumen yang berbasis multimedia melalui internet. Hal ini menyebabkan internet menjadi salah satu mekanisme komunikasi utama di dunia.
2.1.2. World Wide Web (WWW) World Wide Web merupakan aplikasi internet yang menyediakan fasilitas untuk mengakses informasi dan menjalankan program yang tersimpan dalam komputer dan terhubung dengan internet ( Easglestone & ridley, 2001, p.24 ). Internet menyediakan arsitektur jaringan dan WWW menyediakan metode untuk menyimpan dan mengambil dokumen-dokumen ( McLeod, 2001, p.75 ). Setiap 6
7
sumber web dialamatkan oleh rangkaian karakter dengan suatu format standar terentu yang disebut Uniform Resource Locator ( URL ). Beberapa contoh web browser yang paling banyak digunakan adalah Internet Explorer, Mozilla Firefox, Opera, dan Apple Safari. Beberapa istilah yang ada di dalam World Wide Web diantaranya adalah: • Web site Web site adalah sebuah computer yang dikaitkan ke internet yang berisi hypermedia yang dapat diakses dari computer lain melalui hyperlink. • Web page Web Page adalah suatu file hypermedia yang disimpan di suatu website yang diindentifikasikan oleh suatu alamt unik. • Home page Home page adalah halaman pertama dari suatu web site. Terdapat hyperlink ke page-page selanjutnya. • Hypertext link Hypertext link adalah suatu penunjuk yang terdiri dari teks atau grafik yang digunakan untuk mengakses hypertext yang disimpan di web site. Teks ini biasanya digaris bawahi dan di tampilkan dengan warna biru. • Universal resource locator ( URL ) URL adalah alamat dari suatu web page.
8
• Browser Browser adalah suatu perangkat lunak yang memungkinkan kita untuk mengambil hypermedia dengan mengetikkan parameter pencarian atau mengklik suatu grafik. Kemampuan ini membebaskan kita dari keharusan untuk mengetahui URL dari web page yang berisi informasi yang ktia butuhkan. • File Transfer Protocol ( FTP ) FTP adalah suatu perangkat lunak yang memungkinkan kita menyalin file ke computer kita dari web site mana saja. • Transfer Control Protocol / Internet protocol ( TCP / IP ) TCP / IP adalah standar komunikasi data yang digunakan oleh komunikasi internet dalam tukar menukar data dari satu komputer ke komputer lain. • Web server Web server adalah suatu aplikasi pada situs Web yang bertanggung jawab merespon file dari web browser. • Web browser Web browser adalah program aplikasi yang digunakan untuk menjelajahi informasi yang ada di halaman web dan untuk mendapatkan dokumen dari web tersebut. • HyperText Transfer Protocol ( HTTP ) HTTP adalah suatu protokol yang digunakan agar client dapat tetap berhubungan dengan web server atau sebaliknya. • HyperText Markup Language ( HTML )
9
HTML adalah suatu format data standar yang digunakan untuk membuat dokumen hypertext agar dapat dibaca dari suatu platform satu ke platform lainnya, tanpa melakukan perubahan apapun juga.
2.1.3. E-commerce E-commerce adalah penggunaan teknologi sebagai jembatan pertukaran antara pihak-pihak ( individu atau organisasi ) seperti kegiatan intra atau interorganisasi berbasis elektronik yang memfalisitasi pertukaran tersebut ( Rayport & Jaworski, 2003, p.4 ). Sedangkan menurut Turban et.al ( 2003, p.275 ), e-commerce adalah proses jual beli, transfer, atau pertukaran produk, jasa, dan atau informasi melalui jaringan computer termasuk internet. Tahap-tahap yang diperlukan dalam membangun sebuah e-commerce adalah : 1.
Framming the market opportunity.
2.
Business model.
3.
Pelangganinterface.
4.
Market communication and branding.
5.
Implementation.
6.
Metrics.
10
2.2. Process Model 2.2.1. Unified Modeling Language (UML) UML adalah sebuah bahasa yang telah menjadi standar dalam industri untuk memvisualisasi, menspesifikasi, merancang dan mendokumentasi sistem piranti lunak (Booch et al, 1999, p14). UML dapat digunakan untuk melakukan visualisasi, definisi, perancangan dan melakukan dokumentasi terhadap suatu sistem yang berwujud piranti lunak secara intensif, 17 mencakup hal-hal yang berhubungan dengan konsep unsur- unsur konkrit seperti kelas, skema database, serta komponen piranti lunak yang dapat digunakan kembali. UML menggunakan notasi grafis untuk menyatakan suatu desain. UML merupakan bahasa pemodelan dimana unsur-unsur dan aturan-aturan yang dimilikinya berfokus pada presentasi konseptual dan fisikal dari sistem. Unsur-unsur dan aturan-aturan tersebut dapat digunakan untuk merancang dan membaca model objek. Kegunaan UML adalah sebagai berikut : • UML sebagai bahasa visualisasi digunakan untuk merancang suatu model yang dapat dibaca oleh banyak orang dengan pengertian yang sama. • UML bahasa pendefinisian digunakan untuk mendefinisikan dengan rinci seluruh hasil analisis, desain, dan implementasi yang harus dilakukan dalam pengembangan sistem. • UML sebagai bahasa dokumentasi digunakan untuk mendokumentasikan arsitektur
beserta
perinciannya,
unsur-unsur
yang
dibutuhkan
dalam
11
pengembangannya.
Serta
perencanaan
dan
implementasi
proyek
secara
keseluruhan dengan simbol-simbol yang mudah dimengerti.
2.2.2. Diagram Use-Case
Gambar 2.1 Use Case Diagram ”Use case merupakan urutan transaksi dari aktor pada sistem atau sekumpulan skenario yang menjadi satu untuk tujuan user. Use case menentukan perilaku yang diharapkan (what) dan bukan metode yang membuat bagaimana itu terjadi (how). Use case dibuat berdasarkan kebutuhan fungsional yang diketahui tetapi tidak digambarkan dalam kebutuhan one-to-one.”( Ivkovic, p1). Keuntungan dari use case, yaitu sebagai berikut (Fariza,p9) : • Menangkap kebutuhan fungsional dari perspektif user.
12
• Memberi deskripsi jelas dan konsisten dari apa yang seharusnya dilakukan sistem. • Dasar membentuk tes sistem. • Menyediakan kemampuan untuk melacak kebutuhan fungsional ke dalam class aktual dan operasi dalam sistem. • Berfungsi sebagai unit estimasi. • Unit terkecil dari delivery. Setiap increment yang direncanakan dan di-deliver digambarkan dalam use case yang akan di-deliver secara increment. Terdapat 4 elemen utama, yaitu sebagai berikut: (Fariza, p10-p16) 1.
Actor
Gambar 2.2 Actor Actor merupakan abstraksi dari user atau sistem lain yang berinteraksi langsung dengan sistem. Yang menjadi actor adalah manusia, hardware atau sistem lain yang berhubungan dengan sistem yang berjalan, dan sesuatu yang memerlukan interaksi dengan sistem untuk bertukar informasi. Indentifikasi aktor, yaitu sebagai berikut: • Siapa yang merupakan fungsi utama dalam sistem? • Siapa yang memerlukan pemeliharan, administrasi dan menjalankan sistem?
13
• Dengan software atau hardware lain yang mana sistem perlu berinteraksi? (Sistem komputer lain, atau aplikasi lain dari komputer yang sama misalnya client / server
2.
Use Case
Gambar 2.3 Use Case Use case merepresentasikan fungsional sistem secara keseluruhan dan menghasilkan nilai ke aktor. Skenario use case biasanya digambarkan secara tekstual. Cara untuk menemukan use case, yaitu sebagai berikut: • Definisikan layanan apa yang dibutuhkan aktor dari sistem. Misalnya: membaca, membuat, menghapus, memodifikasi atau menyimpan informasi. • Event apa yang dilakukan aktor? • Dapatkan pekerjaan harian dari aktor? Elips biasanya yang berisi nama use case, ditempatkan dalam batasan sistem yang dimodelkan dan berhubungan setidaknya satu aktor dengan komunikasi asosiasi.
14
3.
Use Case Relationship Mengatur use case dengan cara mengelompokkannya dalam packages. Ada
4 bentuk umum relasi, yaitu sebagai berikut:
Tabel 2.1 Use Case Relationship Relationship
Simbol
Pengertian aktor
Communicates
terhubung
ke
use
case
dengan
menggunakan baris tanpa ada tanda panah Include
<
>
menggambarkan bahwa keseluruhan dari sebuah use case merupakan fungsionalitas use case lainnya. Anak panah menunjukkan pada use case yang lain.
Extends
<<extend>>
menggambarkan hubungan antar use case dimana bahwa sebuah use case merupakan fungsionalitas use case lainnya, apabila kondisi
tertentu
dipenuhi.
Anak
panah
menunjukkan perluasan dari use case utama. Generalized
relasi antar use case, dimana salah satunya dalam bentuk yang lebih umum dari yang lain
15
•
Comunicates Pada
umumnya
Comunicates
Relationship
digunakan
untuk
menghubungkan antara aktor dengan use case.
Gambar 2.4 Comunicates •
Include
Gambar 2.5 Include Include merupakan perilaku umum dimana lebih dari satu use case direferensikan sebagai instance yang terpisah untuk menghindari pengulangan. X << includes >> Y menyatakan bahwa proses yang dilakukan X selalu melibatkan Y setidaknya satu kali. Berlaku sebagai fungsional. X harus memenuhi kondisi awal dari Y sebelum memasukinya. •
Extend
Gambar 2.6 Extend
16
Extend merupakan integrasi implicit dari perilaku use case lainnya dengan cara mendeklarisikan extension point / kejadian pada base. Use case tambahan harus dideklarasikan secara eksplisit tambahannya. •
Generalisasi
Gambar 2.7 Generalisasi Digunakan bila sejumlah use case merupakan sub bagian, tetap masingmasing mempunyai perbedaan yang tidak mungkin disatukan dalam satu use case. Generalisasi dan spesialisasi use case harus mempunyai tujuan yang sama. Use case spesialisasi menyatakan scenario alternative dari use case generalisasi. Generalisasi use case harus lengkap. Use case spesialisasi dapat berhubungan dengan aktor baru, dan menambahkan kondisi awal dan akhir. •
Boundaries System Bagian dari pemodelan use case, merupakan definisi batasan pengembangan
sistem. Sistem tidak perlu harus berupa perangkat luanak (software). Mendefinisikan batasan sistem : bagian mana yang otomatis dan bagian mana yang manual? Bagian mana yang dilakukan oleh sistem lain? Sistem direpresentasikan sebagai kotak. Nama sistem muncul di bawah atau di dalam kotak.
17
2.2.3.
Class Diagram
Gambar 2.8 Class Diagram Class Diagram merupakan diagram yang menggambarkan struktur objek – objek dari sistem, menyediakan gambaran ikhtisar masalah domain yang berkaitan secara logis dengan menggambarkan secara keseluruhan hubungan struktural antara class dan object di dalam model kita. Di dalam sistem antara class yang satu dengan yang lain saling berhubungan. Class – class ini dituangkan / digambarkan dalam class diagram. Notasi yang digunakan dalam class diagram :
18
1. Class Class Attribute Operation
Class digambarkan dengan empat persegi panjang yang hanya menuliskan nama class tersebut dan sekaligus menunjukkan attribute dan operasinya. Attribute adalah data yang menggambarkan karakteristik dari suatu objek. Operation adalah implementasi service yang dapat mempengaruhi behaviour atau dengan kata lain, operation adalah abstraksi dari sesuatu yang bisa dilakukan terhadap objek dan di-shared oleh semua objek pada class tersebut.
2. Generalization
Generalization adalah sebuah class yang umum, biasanya disebut sebagai Super class yang mendeskripsikan properties yang bersamaan kepada group dari special class yang disebut sub class.
19
3. Association 1
1...* Association adalah hubungan terstruktur yang menspesifikasi objek yang terkoneksi dengan objek lainnya. Secara linguistic assocation diekspresikan dengan formulasi “associated with” 4. Aggregation
Aggregation adalah sebuah superior object yang terdiri atas beberapa object. Struktur aggregation mendefinisikan hubungan antara 2 buah object atau lebih. Aggregation menjelaskan suatu object yang fundamental yang terdiri atas object – object, sehingga jika salah satu object dihilangkan mungkin tidak akan menjelaskan object itu lagi. Secara linguistik aggregation diekspersikan dengan formulasi “has - a”.
20
2.2.4.
Sequence Diagram
Gambar 2.9 Sequence Diagram Sequence diagram menggambarkan bagaimana obyek saling berinteraksi. Penekanan pada urutan waktu pesan. Dapat memodelkan secara sederhana urutan kerja, percabangan, iterasi, rekursi dan konkurensi. (Fariza, p46). Garis putus-putus (life-line) menyatakan obyek yang digunakan selama interaksi. Message adalah komunikasi antarobjek yang membawa informasi dari suatu lifeline object ke lifeline object lain. Focus of Control merepresentasikan waktu relatif dimana flow of control difokuskan dalam sebuah objek. Hirarchical numbering menunjukkan ketergantungan sebuah pesan ke pesan yang lain. Script mendeskripsikan flow of event secara tekstual. Obyek dapat menghapus obyek lain
21
melalui pesan <<destroy>>. Obyek juga dapat menghapus dirinya sendiri. Obyek dapat membuat obyek lain melalui pesan <>. Nilai return digunakan opsional dengan panah putus-putus. Jangan memodelkan nilai return jika ternyata dikembalikan, misalnya getTotal(). Modelkan nilai return hanya jika diperlukan untuk diacu oleh tempat yang lain, misalnya sebagai parameter yang dilewatkan ke pesan yang lain, lebih dipilih memodelkan nilai return sebagai bagian dari method invocation, seperti ok = isValid().
2.2.5.
Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem
yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
22
Simbol dan notasi dasar dalam activity diagram antara lain: 1. Activity Diagram 2. Arus tindakan / aksi (action flow), yang menggambarkan perpindahan dari aktivitas satu ke aktivitas yang lain. 3. Arus objek (object flow) mengacu pada perubahan yang terjadi pada objek dikarenakan aktivitas yang terjadi. Simbol panah dalam diagram mendanakan pengaruh yang diakibatkan suatu aktivitas terhadap objek. 4. State awal 5. State akhir 6. Percabangan (branching), menggambarkan suatu kondisi di mana terdapat dua atau lebih jalur alternatif. Jalur yang menunjukkan arah keluar harus disertai dengan syarat atau ekspresi yang telah ditentukan.
23
2.3. Teori Basisdata 2.3.1.
Pengertian Basisdata Basisdata adalah suatu kumpulan bersama dari data yang terhubung secara
logical dan deskripsi dari data tersebut, dirancang untuk memenuhi kebutuhan informasi suatu organisasi ( Conolly & Begg, 2005, p.15 ). Suatu basis data menunjukan satu kumpulan data yang dipakai dalam satu ruang lingkup organisasi. Basisdata berfungsi menympan data-data yang neting bagi suatu organisasi. Sedangkan menurut Date ( 200,p.5 ), system basisdata adalah suatu system yang pada dasarnya menyimpan record-record di dalam suatu system yang dilakukan secara komputerisasi, yang tujuannya adlaah menjadi suatu kumpulan data yang terhubung dan DBMS ( Database Management System ) menjadi program yang mengatur dan mengontrol akses ke basisdata serta memelihara informasi dan membuat informasi tersebut tersedia disaat diperlukan. 2.3.2.
Database Management System ( DBMS ) DBMS adalah system yang digunakan membuat, merawat, dan
menyediakan control akses untuk user basisdata. DBMS menyediakan metode sistematik untuk pembuatan, updating, penyimpanan, dan penerimaan data pada basisdata. DBMS juga menyediakan fasilitas untuk mengontrol akses data, menguatkan integritas data, mengatur control konkurensi, dan menyimpan basisdata ( Hoffer, 2005,p.7 ). Salah satu contoh penggunaan sistem basisdata adalah penggunaan barcode pada supermarket untuk mengecek harga. Beberapa fungsi yang disediakan DBMS adalah :
24
1. DBMS mengizinkan aplikasi mendefinisikan struktur dari basisdata dengan pernyataan SQL. Pernyataan SQL yang mendefinisakan atau memanipulasi struktur ini disebut dengan Data Definition Language ( DDL ). 2. Memungkinkan user untuk menyisipkan, update, menghapus dan menerima data dari basisdata biasanya dari DDL. 3. DBMS melindungi integritas basisdata dengan menerapkan beberapa aturan, yang dimasukan ke dalam perancangan basisdata tersebut.
25
2.3.4.
Siklus Aplikasi Basisdata Berikut ini merupakan tahapan siklus hidup aplikasi basis data menurut
Connolly dan Begg (2002, p270).
Gambar 2.10 Tahapan dalam daur hidup aplikasi basis data
26
2.3.5.
Metode Pengembangan Piranti Lunak Menurut Pressman, metode rekayasa piranti lunak adalah pengembangan
dan penggunaan prinsip untuk memperoleh perangkat lunak secara ekonomis yang reliable dan bekerja secara efisien pada mesin nyata (Pressman, 1997, p28). Dalam usaha untuk mengembangkan perangkat lunak harus didefinisikan terlebih dahulu. Semua metode rekayasa perangkat lunak itu memiliki serangkaian tugas yang luas yang menyangkut analisa kebutuhan, desain, konstruksi program, pengujian, dan pemeliharaan. Model proses untuk rekayasa piranti lunak dipilih berdasarkan sifat aplikasi, metode dan alat-alat bantu yang akan dipakai serta penyampaian yang dibutuhkan. Jadi ketepatan dalam memilih metode rekayasa piranti lunak harus dilakukan untuk mendapatkan sarana yang diinginkan.
Gambar 2.11 Waterfall Model
27
Waterfall model merupakan versi populer dari daur hidup pengembangan sistem untuk rekayasa piranti lunak. Sering dianggap sebagai pendekatan klasik dari daur hidup pengembangan piranti lunak, waterfall model menggambarkan metode pengembangan yang linear dan sekuensial. Pengembangan waterfall memiliki tujuan yang berbeda untuk setiap fase dalam pengembangan. Bayangkan air terjun pada jurang, sekali air telah mengalir ke tepi jurang dan telah memulai perjalanannya menuju sisi gunung, itu tidak dapat kembali lagi. Hal ini sama dengan pengembangan waterfall. Sekali fase pengembangan telah diselesaikan, pengembangan akan dilanjutkan ke fase berikutnya dan tidak ada titik balik. Keuntungan dari waterfall model adalah model ini memperbolehkan departementalisasi dan pengendalian manajerial. Setiap jadwal dapat dibuat dengan deadline untuk setiap tahap pengembangan dan sebuah produk dapat dihasilkan melalui proses pengembangan seperti sebuah mobil dalam tempat cuci mobil dan secara teoritikal akan dikirim pada waktunya. Pengembangan bergerak dari konsep, melalui desain, implementasi, pengujian, instalasi, permasalahan, dan berakhir pada operasi dan pemeliharaan. Setiap fase pada pengembangan berlangsung pada urutan yang tepat, tanpa ada langkah yang saling tumpang tindih atau berulang. Kerugian dari model atau pengembangan ini adalah model ini tidak mengizinkan untuk banyak revisi. Saat sebuah aplikasi sudah berada dalam tahap atau langkah pengujian, ini akan sangat sulit untuk kembali dan mengubah sesuatu yang dipikir tidak terlalu baik pada langkah atau tahap konsep.
28
Daur hidup pengembangan sistem memiliki tahap-tahap sebagai berikut ini: 1. System Information Engineering and Modelling Sebagaimana piranti lunak selalu merupakan sistem yang besar (bisnis), kerja dimulai dengan menentukan kebutuhan-kebutuhan untuk semua elemen sistem dan kemudian mengalokasikan beberapa bagian dari kebutuhan ini dalam kebutuhan piranti lunak. Sistem merupakan dasar dan kebutuhan yang sangat kritis untuk keberadaan piranti lunak dalam semua entitas. Jadi, jika sistem tidak berada pada tempatnya, sistem harus diperbaiki dan diletakkan pada tempatnya. 2. Software Requirement Analysis Ini juga dikenal sebagai pembelajaran mengenai kemungkinan yang terjadi. Pada tahap ini, tim pengembangan mengunjungi pelanggan dan mempelajari sistem mereka. Mereka meneliti kebutuhan akan otomatisasi piranti lunak pada sistem yang diberikan. Pada akhir tahap ini, tim melengkapi dokumen yang berisi rekomendasi khusus yang berbeda-beda untuk calon sistem. Tujuan penting dari fase ini adalah untuk menemukan kebutuhan dan untuk mendefinisikan masalah yang perlu diselesaikan. 3. System Analysis and Design Pada fase ini, proses pengembangan piranti lunak, struktur piranti lunak keseluruhan dan perbedaan atau nuansanya didefinisikan. Dalam istilah teknologi client / server, banyaknya tier yang dibutuhkan untuk pake
29
arsitektur, desain database, desain struktur data, dan sebagainya, semua didesain dalam fase ini. Model pengembangan piranti lunak diciptakan. Analisis dan desain merupakan hal yang sangat penting dalam daur pengembangan. Sistem logikal dari produk dikembangkan dalam fase ini. 4. Code Generation Desain harus diterjemahkan ke dalam bentuk yang dapat dibaca oleh mesin. Jika desain ditampilkan dengan lebih rinci, penghasilan kode dapat diselesaikan tanpa banyak masalah. Alat-alat untuk programming seperti compilers, interpreters, debuggers digunakan untuk menghasilkan kode. Bahasa pemprogramman tingkat tinggi yang berbeda-beda seperti C, C++, Pascal, Java digunakan untuk koding. Dengan penyesuaian terhadap tipe aplikasi, bahasa pemprogramman yang tepat dapat dipilih. 5. Testing Sekali koding dihasilkan, pengujian program piranti lunak dimulai. Metodologi pengujian yang berbeda-beda tersedia untuk menyelesaikan masalah-masalah yang muncul di langkah-langkah sebelumnya. Alat-alat pengujian yang berbeda dan metodologi-metodologi tersedia. Beberapa perusahaan membangun alat-alat sendiri untuk menguji segala sesuatu yang saling berkesinambungan untuk operasi pengembangan mereka sendiri. 6. Maintenance
30
Piranti lunak pasti akan mengalami perubahaan saat piranti lunak itu dikirimkan ke pelanggan. Ada banyak alasan untuk perubahan. Perubahaan dapat terjadi karena beberapa nilai input yang tidak diharapkan masuk ke dalam sistem. Di samping itu, perubahan dalam sistem dapat dengan langsung mempengaruhi operasi piranti lunak. Piranti lunak harus dikembangkan untuk menyesuaikan perubahan yang mungkin terjadi selama periode-periode setelah implementasi. 2.4. Conceptual, Logical, and Physical Database Design 2.4.1. Conceptual Database Design Proses membangun sebuah model data dari informasi yang diperoleh dari sebuah perusahaan yang bebas dari pertimbangan fisikal (Connolly, 2002,p419). Conceptual database design seluruhnya independent dari implementasi seperti target DBMS software, program aplikasi, bahasa pemograman, atau physical consideration lainnya. Data tersebut merupakan informasi-informasi mengenai perusahaan. Dalam conceptual database design, data yang ada dikembangkan
dengan
representasi
secara
konseptual
yang
mencakup
mengidentifikasi entity, relationship, dan atribut yang sangat penting dalam perancangan bisnis tersebut. Langkah – langkah untuk membuat data model lokal yang konseptual untuk setiap user view dapat digambarkan sebagai berikut : 1. Identifikasi tipe-tipe entity
31
Tujuannya adalah untuk mengidentifikasi dan membuat kelas-kelas dari obyek yang ada berikut penjelasannya serta menetukan entitas utama yang dibutuhkan. Salah satu metode untuk mengidentifikasi entity adalah dengan menguji
spesifikasi
kebutuhan
dari
user.
Dari
spesifikasi
ini
dapat
mengidentifikasikan noun dan nouns phrases yang disebutkan. Selain itu juga dapat melihat objek utama seperti orang, tempat atau konsep dari ketertarikan di luar noun lainnya yang merupakan kualitas dari objek lain. 2. Indentifikasi tipe-tipe relationship Tujuannya adalah untuk mengidentifikasi hubungan-hubungan yang ada antara entitas yang telah diidentifikasikan. Dalam mengidentifikasikan tipe relasi yang ada dengan menggunakan Entity Relationship Diagram (ERD), mencari batasan dari tipe relationship, memeriksa fan dan chams traps, memeriksa masing-masing entity ikut serta setidaknya dalam satu relationship, dan dokumentasikan tipe relationship. 3. Identifikasi dan hubungkan atribut-atribut dengan tipe entity atau relationship. Tujuannya adalah untuk mengidentifikasi dan menghubungkan atributatribut yang berkaitan dengan entitas atau tipe relationship yang telah sesuai. 4. Tetapkan domain atribut Tujuannya adalah untuk menetapkan domain untuk setiap-setiap atribut dalam model data konseptual lokal dan mendokumentasikan setiap detail dari domain. Suatu domain adalah suatu kelompok nilai yang dari mana satu atau lebih atribut mengambil nilainya.
32
5. Tetapkan atribut Primary dan Candidate key Tujuannya adalah untuk menentukan candidate key dan primary key dari kumpulan atribut-atribut yang telah ditentukan pada tiap entitas. Candidate key adalah satu atau lebih atribut dari suatu entitats yang dapat dijadikan primary key. Primary key adalah satu atribut dari suatu entitas yang dipakai sebagai cirri yang paling unik dari entitas tersebut. 6. Mempertimbangkan kegunaan dari konsep Enhanced Modeling (optional) Tujuannya adalah untuk mengembangkan ER model dengan menggunakan konsep enchanced modeling, seperti spesialisasi, generalisasi, penggabungan (aggregation), komposisi (composition). 7. Periksa model untuk redudansi Tujuannya adalah untuk memeriksa konsep model data apakah masih mengandung data maupun entitas serta atribut yang berulang atau tidak. Hal pertama yang dilakukan adalah memeriksa kembali hubungan-hubungan yang ada apabila terdapat suatu hubungan yang mirip. 8. Validasi model konseptual lokal terhadap transaksi user Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang dibutuhkan oleh view. Diuji dua pendekatan untuk memastikan model data konseptual lokal mendukung transaksi yang dibutuhkan, dengan cara : • Mendeskripsikan transaksi – transaksi
33
Memeriksa seluruh informasi(entitas, relationship, dan atribut) yang dibutuhkan oleh setiap transaksi telah disediakan oleh model, dengan mendokumentasikan setiap kebutuhan transaksi • Mengunakan jalur-jalur transaksi Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasi diagram jalur yang digunakan oleh setiap transaksi lansung pada ER diagram. 9. Review model data konseptual dengan user Tujuannya adalah untuk mangkaji ulang model data konseptual lokal dengan user untuk memastikan model tersebut adalah representasi sebernarnya dari view. Model data konseptual ini termasuk ER diagram dan dokumentasi pendukung yang mendeskripsikan model data. bila ada kejanggalan (anomali) dalam model data, maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan pengulangan langkah-langkah sebelumnya.
2.4.2. Logical Database Design Logical Design merupakan proses untuk membuat sebuah rancangan informasi yang digunakan dalam perusahaan berdasarkan suatu model data spesifik, tetapi masih bebas dari DBMS dan pertimbangan – pertimbangan fisik lainnya. (Connolly, 2002, p419).
34
Hasil akhir dari logical database design ini berupa sebuah kamus data yang berisi atribut-atribut beserta key-nya (primary key, alternate key, dan foreign key) dan ERD keseluruhan dengan atribut key-nya. Langkah – langkah untuk membuat logical database design dapat digambarkan sebagai berikut : 1. Membuat dan memvalidasikan data model local yang logical untuk setiap view. Aktivitas pada logical database design langkah pertama adalah membangun pandangann (view) tertentu dari perusahaan dan kemudian mengesahkan model ini untuk memastikan strukturnya telah benar atau menggunakan teknik normalisasi. • Pindahkan fitur-fitur yang tidak kompatibel dengan model relational (langkah optional) • Ambil hubungan untuk data model local yang logical • Validasikan hubungan menggunakan normalisasi • Validasikan hubungan terhadap transaksi user • Tentukan batasan integrity • Tinjau kembali model data logical lokal dengan user
2. Membuat dan memvalidasikan model data logikal global Aktivitas pada logical database design langkah kedua adalah untuk mengkombinasikan model data logikal lokal individu ke dalam sebuah model data logikal global tunggal yang menggambarkan perusahaan.
35
• Gabungkan model data logikal lokal menjadi model global • Validasikan model data logikal global • Periksa untuk pengembangan mendatang • Tinjau kembali model data logikal global dengan user
2.4.3. Physical Database Design Merupakan proses menghasilkan sebuah deskripsi dan implementasi basis data pada media penyimpanan sekunder, dengan menggambarkan hubungan dasar, organisasi file dan indeks yang digunakan untuk memperoleh akses yang efisien terhadap data, beserta segala integrity constraints yang terkait dan pertimbangan keamanan. (Connolly, 2002, p419). Tujuan utama dari physical database design adalah untuk mendeskripsikan bagaimana desainer bermaksud untuk mengimplementasikan secara fisik dari logical database design. Langkah – langkah dalam pembuatan physical database design adalah sebagai berikut : 1. Terjemahkan model data logikal global target DBMS • Desain hubungan dasar • Desain representasi dari data yang dihasilkan • Desain batasan – batasan perusahaan 2. Desain representasi fisikal • Analisa transaksi – transaksi
36
• Pilih organisasi file • Pilih indeks – indeks • Perkirakan kebutuhan tempat penyimpanan 3. Desain user view 4. Desain mekanisme keamanan 5. Pertimbangkan pengenalan dari redundansi terkontrol 6. Awasi dan atur sistem operasional
2.5. Microsoft SQL Server ( MySQL ) MySQL adalah sebuah program pembuat database yang bersifat open source, yang artinya siapa saja dapat menggunakannya dan tidak akan dicekal. MySQl juga merupakan pengakses database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi multi users ( banyak pengguna ). Kelebihan lainnya dari MySQL adalah bahasa query standar yang dimiliki SQL ( Structure Query Language ). MySQL server juga mendukung ODBC ( Open DataBase Connectivity ), dan mempunyai driver JDBC ( Java Database Connectivity ) untuk bahasa pemrograman java. 2.6. Interaksi Manusia Komputer ( IMK ) IMK adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem computer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya ( Schneiderman, 1998, p.8 ). 8 aturan emas ( Golden Rule ) dalam perancangan user interface adalah:
37
1. Berusaha untuk konsisten. 2. Memungkinkan frequent user menggunakan shortcut. 3. Memberikan umpan balik yang informatif. 4. Merancang dialog yang memberikan penutupan ( keadaan akhir ). 5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana . 6. Mengijinkan pembalikan aksi ( Undo ) dengan mudah. 7. Mendukung pusat kendali internal ( internal locus of control ). 8. Mengurangi beban ingatan jangka panjang 2.7. Visual Studio 2008
Microsoft Visual Studio merupakan sebuah perangkap lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.
Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas .NET Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan
38
aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .NET Compact Framework).
2.8. VB.NET Vb.net merupakan pengembangan dari Microsoft .Net Framework yang merupakan bahasa pemograman visual berbasis BASIC dan berorientasi objek, perkembangan vb.net dari versi sebelumnya membuat vb.net memiliki runtime engine yang lebih besar daripada sebelumnya. Contoh dari Visual Basic 6.0 menuju Visual basic 7.0 perkembangan runtime engine menjadi lebih besar 10 kali lipat dibandingkan sebelumnya. Dan juga meningkatkan beban memori. Kemudian pada Visual basic 8.0 terdapat beberapa fitur tambahan yang dikeluarkan microsoft pada vb.net yaitu : Edit and Continue Fitur ini sebelumnya terdapat dalam Visual basic, tapi dihapus di dalam visual basic.Net. dengan keberadaan fitur ini, para programmer dapat memodifikasi kode pada saat program dieksekusi dan melanjutkan proses eksekusi dengan kode yang telah dimodifikasi tersebut. Evaluasi ekspresi pada saat mendisain Munculnya Pseudo- Namespace “My”, yang menyediakan :
Akses y Akses yang mudah terhadap beberapa area tertentu dari dalam .NET Framework yang tanpanya membutuhkan kode yang sangat signifikan.
39
membutuhkan kode yang sangat signifikan.
Kelas-kelas yang dibuat secara dinamis (khususnya My.Forms).
Peningkatan yang dilakukan terhadap konverter kode sumber dari Visual Basic ke Visual Basic .NET. Penggunaan kata kunci (keyword) Using, yang menyederhanakan penggunaan objek-objek yang membutuhkan pola Dispose untuk membebaskan sumber daya yang sudah tidak terpakai. Just My Code, yang menyembunyikan kode reusable yang ditulis oleh alat bantu Integrated Development Environment (IDE) Visual Studio .NET. Pengikatan sumber data (Data Source binding), yang mampu mempermudah pengembangan aplikasi basis data berbasis klien/server.
Fungsi-fungsi yang tersebut di atas (khususnya My) ditujukan untuk memfokuskan Visual Basic .NET sebagai sebuah platform pengembangan aplikasi secara cepat dan "menjauhkannya" dari bahasa C#.
Bahasa Visual Basic 2005 memperkenalkan fitur-fitur baru, yakni: •
Bawaan .NET Framework 2.0: o
Generics
o
Partial class, sebuah metode yang dapat digunakan untuk mendefinisikan beberapa bagian dari sebuah kelas di dalam sebuah
40
berkas, lalu menambahkan definisinya di lain waktu; sangat berguna khususnya ketika mengintegrasikan kode pengguna dengan kode yang dibuat secara otomatis. o •
Nullable Type
Komentar XML yang dapat diproses dengan menggunakan beberapa alat bantu seperti NDoc untuk membuat dokumentasi secara otomatis.
•
Operator overloading
•
Dukungan terhadap tipe data bilangan bulat tak bertanda (unsigned integer) yang umumnya digunakan di dalam bahasa lainnya.
2.9. AJAX
Asynchronous JavaScript and XMLHTTP, atau disingkat AJAX, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax merupakan kombinasi dari: •
DOM yang diakses dengan client side scripting language, seperti VBScript dan implementasi ECMAScript seperti JavaScript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan
41 •
Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum di implementasikan pada beberapa browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronus dengan web server. Pada beberapa framework AJAX, element HTML IFrame lebih dipilih daripada XMLHTTP atau XMLHttpRequest untuk melakukan pertukaran data dengan web server.
•
XML umumnya digunakan sebagai dokumen transfer, walaupun format lain juga memungkinkan, seperti HTML, plain text. XML dianjurkan dalam pemakaian teknik AJaX karena kemudahan akses penanganannya dengan memakai DOM
•
JSON dapat menjadi pilihan alternatif sebagai dokumen transfer, mengingat JSON adalah JavaScript itu sendiri sehingga penanganannya lebih mudah
Seperti halnya DHTML, LAMP, atau SPA, Ajax bukanlah teknologi spesifik, melainkan merupakan gabungan dari teknologi yang dipakai bersamaan. Bahkan, teknologi turunan/komposit yang berdasarkan Ajax, seperti AFLAX sudah mulai bermunculan.
2.10. Microsoft Visio 2007
Microsoft Visio (atau sering disebut Visio) adalah sebuah program aplikasi komputer yang sering digunakan untuk membuat diagram, diagram alir (flowchart), brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vektor untuk membuat diagram-diagramnya.
42
Visio aslinya bukanlah buatan Microsoft Corporation, melainkan buatan Visio Corporation, yang diakusisisi oleh Microsoft pada tahun 2000. Versi yang telah menggunakan nama Microsoft Visio adalah Visio 2002, Visio 2003, dan Visio 2007 yang merupakan versi terbaru. Visio 2007 Standard dan Professional menawarkan antarmuka pengguna yang sama, tapi seri Professional menawarkan lebih banyak pilihan template untuk pembuatan diagram yang lebih lanjut dan juga penataan letak (layout).
Selain
itu,
edisi
Professional
juga
memudahkan
pengguna
untuk
mengoneksikan diagram-diagram buatan mereka terhadap beberapa sumber data dan juga menampilkan informasi secara visual dengan menggunakan grafik.
2.11. NET framework
Microsoft .NET Framework (dibaca Microsoft Dot Net Framework) adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows Server 2003 dan versi-versi Windows terbaru). Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan umum suatu program baru, dan mengatur eksekusi program-program yang ditulis secara khusus untuk framework ini. .NET Framework adalah kunci penawaran utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang dibuat untuk platform Windows.
43
Pada dasarnya, .NET Framework memiliki 2 komponen utama: CLR dan .NET Framework Class Library.
Program - program yang ditulis untuk .NET Framework dijalankan pada suatu lingkungan software yang mengatur persyaratan-persyaratan runtime program. Runtime environment ini, yang juga merupakan suatu bagian dari .NET Framework, dikenal sebagai Common Language Runtime (CLR). CLR menyediakan penampilan dari application virtual machine, sehingga para programmer tidak perlu mengetahui kemampuan CPU tertentu yang akan menjalankan program. CLR juga menyediakan layanan-layanan penting lainnya seperti jaminan keamanan, pengaturan memori, garbage collection dan exception handling / penanganan kesalahan pada saat runtime. Class library dan CLR ini merupakan komponen inti dari .NET Framework. Kerangka kerja itu pun dibuat sedemikian rupa agar para programmer dapat mengembangkan program komputer dengan jauh lebih mudah, dan juga untuk mengurangi kerawanan aplikasi dan juga komputer dari beberapa ancaman keamanan.
CLR adalah turunan dari CLI (Common Language Infrastructure) yang saat ini merupakan standar ECMA.
Solusi-solusi program pembentuk class library dari .NET Framework mengcover area yang luas dari kebutuhan program pada bidang user interface, pengaksesan data, koneksi basis data, kriptografi, pembuatan aplikasi berbasis web, algoritma numerik, dan komunikasi jaringan. Fungsi-fungsi yang ada dalam class library dapat
44
digabungkan oleh programmer dengan kodenya sendiri untuk membuat suatu program aplikasi baru.
.NET seringkali juga dapat diartikan sebagai platform, yang merupakan suatu lingkungan terpadu untuk pengembangan dan eksekusi untuk berbagai macam bahasa pemrograman dan kumpulan library untuk bekerja sama membuat dan menjalankan aplikasi berbasis Windows yang lebih mudah untuk dibuat, diatur, didistribusikan, dan diintegrasikan dengan sistem jaringan lain.
Dalam perkembangannya, .NET seringkali dikaitkan pula dengan versi Visual Studio yang sesuai dengan dukungan versi yang bersangkutan untuk pengembangan aplikasi. Berikut ini versi .NET dan versi Visual Studio yang terkait: • .NET 1.0 dan Visual Studio .NET (atau seringkali disebut juga dengan
Visual Studio .NET 2002). • .NET 1.1 dan Visual Studio .NET 2003. • .NET 2.0 dan Visual Studio 2005. • .NET 3.0 dan Visual Studio 2005 dengan tambahan addin untuk WPF,
WCF, dan WF. • .NET 3.5 dan Visual Studio 2008.
.NET 2.0, 3.0 dan 3.5 memiliki CLR yang sama. Dengan demikian, struktur IL juga sama. Adapun fasilitas penambahan kata kunci pemrograman seperti pada LINQ
45
yang sebenarnya lebih mengarah sebagai fitur bahasa pemrograman (programming language feature) sehingga bukan merupakan fitur CLR.
2.12. Analisis Sistem Analisis sistem adalah penelitian suatu sistem yang telah ada dengan tujuan untuk merancang sistem baru atau diperbaharui ( McLeod, 2001, p88 ). 6 tahap menganalisis sistem adalah : 1.
Mengumumkan penelitian sistem.
2.
Mengorganisasikan tim proyek.
3.
Mendefinisikan kebutuhan informasi.
4.
Mendefinisikan criteria kinerja sistem.
5.
Menyiapkan usulan rancangan.
6.
Menyetujui atau menolak rancangan proyek.
2.13. Perancangan Sistem Aplikasi Perancangan sistem adalah penentuan proses dan data yang diperlukan oleh sistem baru, jika sistem itu berbasis computer, perancangan dapat menyertakan spesifikasi peralatan yang akan digunakan ( McLeod, 2001, p.238 ). Sedangkan menurut Laudon ( 2003, p.394 ), perancangan sistem adalah cara bagaimana suatu sistem dapat memenuhi informasi yang telah ditentukan oleh analisa sistem. 2 aspek penting dalam perancangan sistem aplikasi ini : 1.
Transaction design ( Perancangan transaksi )
46
Transaksi merupakan sebuah aksi, ataus serangkaian aksi yang dilakukan oleh seorang user atau program aplikasi yang mengakses atau mengubah sis dari basisdata. Ada 3 jenis transaksi, yaitu : Retrieval transaction yaitu transaksi yang digunakan untuk mengambil data untuk informasi di layar atau dalam sebuah laporan. Update transaction yaitu transaksi yang digunakan untuk memasukkan data baru, menghapus data lama, atau merubha data yang sudah ada di dalam database. Mixed transaction yaitu transaksi yang merupakan perpaduan dari retrieval dan update transaction
2.
User Interface Design Merupakan rancangan layout yang dibuat terlebih dahulu sebelum mengimplementasikan suatu form atau laporan. Menurut Theo Mandel ada 3 golden rule untuk membuat user interface yang baik, yaitu : •
Place user in control user adalah raja. User interface harus dibuat berdasarkan kebutuhan user, bukan keinginan developer.
•
Reduce the user’s memory load
47
Jangan membuat user mengingat terlalu banyak hal saat sedang berinteraksi dengan perangkat lunak yang digunakannya tampilkan beberapa petunjuk yang bisa dengan mudah mengingatkan user. •
Make the interface consistent User interface yang konsisten akan membuat user lebih cepat mempelajari cara penggunaan perangkat lunak. Terlalu banyak variasi yang tidak konsisten akan membingungkan user.
2.14. Proses Pemasaran Menurut Kotler dan Amstrong(2001,p7), pemasaran adalah suatu proses social dan manajerial yang membuat individu dan kelompok memperoleh apa yang mereka butuhkan dan inginkan lewat penciptaan dan pertukaran timbal balik produk dan nilai dengan orang lain. 2.14.1. Persediaan Menurut Mulyadi (2001, p553), sistem persediaan bertujuan untuk mencatat mutasi tiap jenis persediaan yang tersimpan di gudang. Sisem ini berkaitan erat dengan sistem penjualan, sistem retur penjualan, sistem pembelian, sistem retur pembelian, dan sistem akuntasi biaya produksi. Dalam perusahaan manufaktur, persediaan terdiri dari persediaan produk jadi, persediaan suku cadang. Dalam perusahaan barang dagangan yang merupakan barang yang akan dibeli dengan tujuan untuk dijual kembali.
48
Menurut Mulyadi (2001, p556), ada 2 macam metode pencatatan persediaan, yaitu metode mutasi persediaan dan metode persediaan fisik. Dalam metode mutasi persediaan, setiap mutasi persediaan dari pembelian saja yang dicatat, sedangkan mutasi berkurangnya persediaan karena pemakaian tidak dicatat dalam kartu persediaan.