6 BAB 2 LANDASAN TEORI 2.1 Sistem Basis Data 2.1.1 Pengertian umum 1. Data Data adalah fakta mentah mengenai orang, tempat, kejadian, dan hal – hal yang penting dalam organisasi (Whitten, 2004, p23). 2. Field Field adalah unit terkecil dari data yang berarti untuk disimpan pada sebuah file atau database (Whitten, 2004, p520). 3. Record Record adalah kumpulan field yang disusun dalam format yang telah ditetapkan sebelumnya (Whitten, 2004, p521). 4. File File adalah kumpulan record yang serupa (Whitten, 2004, p518). 5. Basis Data (Database) Basis data adalah sekumpulan data yang terhubung secara logikal yang dipakai bersama dan penjelasan dari data yang disebutkan, dirancang untuk memperoleh informasi – informasi yang dibutuhkan oleh sebuah organisasi (Connolly dan Begg, 2005, p15). Database adalah kumpulan file yang saling terkait (Whitten, 2004, p518). 7 6. Database Management System (DBMS) DBMS merupakan software yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengatur kendali terhadap basis data (Connolly dan Begg, 2005, p16). DBMS adalah software khusus yang digunakan untuk membuat, mengontrol, dan mengelola sebuah database (Whitten, 2004, p524). 7. Sistem Basis Data (Database System) Sistem basis data merupakan kumpulan dari program aplikasi yang berinteraksi dengan basis data bersamaan dengan DBMS atau basis data itu sendiri (Connolly dan Begg, 2005, p4). 2.1.2 Perancangan Basis Data (Database Design) Perancangan basis data merupakan proses menciptakan rancangan yang akan mendukung misi dan tujuan perusahaan untuk kebutuhan sistem basis data (Connolly dan Begg, 2005, p291). Pendekatan dalam perancangan basis data, antara lain : 1) Buttom–Up Pendekatan ini dimulai dari atribut dasar, dengan menganalisis hubungan antara atribut, yang dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe entity dan relationship antara entity – entity (Connolly dan Begg, 2005, p291). 2) Top–Down Pendekatan ini dimulai dari pengembangan model data yang berisi beberapa entity dan relationship tingkat tinggi dan kemudian 8 menggunakan pendekatan top–down secara berurut untuk mengidentifikasikan entity tingkat rendah, relationship, dan atribut – atribut yang berhubungan (Connolly dan Begg, 2005, p292). 3) Inside–Out Pendekatan ini berhubungan dengan pendekatan buttom–up, perbedaannya adalah pendekatan ini mengidentifikasikan sekumpulan entity utama dan kemudian menyebar ke entity – entity yang lain, relationship – relationship, dan atribut – atribut yang berkaitan dengan hal – hal yang sudah diidentifikasikan sebelumnya (Connolly dan Begg, 2005, p292). 4) Mixed Strategy Pendekatan ini menggunakan pendekatan buttom–up dan top–down untuk bagian model yang berbeda sebelum akhirnya menggabungkan semua bagian (Connolly dan Begg, 2005, p292). Dalam perancangan basis data terdapat tiga fase utama yaitu : perancangan basis data konseptual (Conceptual Database Design), perancangan basis data logikal (Logical Database Design), dan perancangan basis data fisikal (Physical Database Design). 2.1.2.1 Perancangan Basis Data Konseptual (Conceptual Database Design) Perancangan basis data konseptual adalah proses membangun sebuah model dari data yang digunakan di perusahaan, terlepas dari semua pertimbangan – pertimbangan fisik (Connolly dan Begg, 2005, p439). 9 Langkah – langkah dalam perancangan basis data konseptual adalah sebagai berikut : Langkah 1 Membangun Conceptual Data Model a) Langkah 1.1 Mengidentifikasi entity type b) Langkah 1.2 Mengidentifikasi relationship type c) Langkah 1.3 Mengidentifikasi dan menghubungkan atribut – atribut dengan entity atau relationship type d) Langkah 1.4 Menentukan atribut domain e) Langkah 1.5 Menentukan atribut – atribut candidate, primary, dan alternate key f) Langkah 1.6 Mempertimbangkan penggunaan enhanced modeling concept (pilihan) g) Langkah 1.7 Memeriksa model dari redundancy h) Langkah 1.8 Memvalidasi conceptual data model terhadap transaksi user i) Langkah 1.9 Meninjau kembali conceptual data model terhadap user 2.1.2.2 Perancangan Basis Data Logikal (Logical Database Design) Perancangan basis data logikal adalah proses membangun sebuah model dari data yang digunakan di perusahaan berdasarkan pada sebuah model data yang spesifik, tetapi terlepas dari DBMS tertentu dan pertimbangan – pertimbangan fisik lainnya (Connolly dan Begg, 2005, p439). Langkah – langkah dalam perancangan basis data logikal adalah sebagai berikut : 10 Langkah 2 Membangun dan Memvalidasi Logical Data Model a) Langkah 2.1 Menentukan relasi untuk logical data model b) Langkah 2.2 Memvalidasi relasi dengan menggunakan normalisasi c) Langkah 2.3 Memvalidasi relasi terhadap transaksi user d) Langkah 2.4 Memeriksa integrity constraint e) Langkah 2.5 Meninjau kembali logical data model terhadap user f) Langkah 2.6 Menggabungkan beberapa logical data model menjadi model global (pilihan) g) Langkah 2.7 Memeriksa kemungkinan perkembangan di masa yang akan datang 2.1.2.3 Perancangan Basis Data fisikal (Physical Database Design) Perancangan basis data fisikal adalah proses untuk menghasilkan penjelasan dari pengimplementasian suatu basis data pada secondary storage, juga menjelaskan base relation, pengaturan file, dan indeks yang digunakan untuk mencapai akses data yang efisien, integrity constraint, serta ukuran keamanan (Connolly dan Begg, 2005, p439). Langkah – langkah dalam perancangan basis data fisikal adalah sebagai berikut Langkah 3 Menerjemahkan logical data model menjadi target DBMS a) Langkah 3.1 Merancang base relation b) Langkah 3.2 Merancang representasi dari derived data c) Langkah 3.3 Merancang batasan perusahaan 11 Langkah 4 Merancang pengaturan file dan indeks a) Langkah 4.1 Menganalisis transaksi b) Langkah 4.2 Memilih organisasi file c) Langkah 4.3 Pemilihan indeks d) Langkah 4.4 Memperkirakan kebutuhan ruang penyimpanan Langkah 5 Perancangan user view Langkah 6 Perancangan mekanisme keamanan Langkah 7 Mempertimbangkan pengenalan pengontrolan redundancy Langkah 8 Memantau dan merubah sistem operasional 2.1.3 Normalisasi Normalisasi adalah suatu teknik untuk menghasilkan himpunan relasi dengan properti yang diinginkan berdasarkan kebutuhan – kebutuhan data suatu perusahaan (Connolly dan Begg, 2005, p388). Unnormalized form (UNF) adalah suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group) (Connolly dan Begg, 2005, p403). Repeating group adalah sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut (Connolly dan Begg, 2005, p403). Tingkatan normalisasi terdiri dari tiga tahap yaitu : 1. First Normal Form (1NF) Suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai (Connolly dan Begg, 2005, p403). 12 Sebuah relasi akan berada dalam bentuk 1NF jika repeating groupnya sudah hilang. Ada dua pendekatan untuk menghilangkan repeating group pada tabel yang tidak normal (unnormalized table), yaitu: a. Dengan memasukkan data yang sesuai ke dalam kolom yang kosong dari baris yang mengandung data yang berulang. b. Dengan menempatkan data yang berulang bersama salinan dari atribut kunci pada relasi yang terpisah. 2. Second Normal Form (2NF) Relasi dikatakan 2NF jika relasi tersebut berada pada 1NF dan setiap atribut yang bukan primary key bergantung sepenuhnya (fully functionally dependent) terhadap primary key (Connolly dan Begg, 2005, p407). Full functional dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan B dikatakan bergantung penuh terhadap A (A→B), jika B bergantung terhadap A, namun bukan subset dari A (Connolly dan Begg, 2005, p395). 3. Third Normal Form (3NF) Suatu relasi dikatakan 3NF jika relasi tersebut berada dalam bentuk 1NF dan 2NF, dan tidak ada atribut yang bukan primary key bergantung secara transitif (transitively dependent) terhadap primary key (Connolly dan Begg, 2005, p409). Transitive dependency ialah sebuah kondisi dimana A, B, dan C merupakan atribut dari relasi yang jika A→B dan B→C maka C disebut 13 bergantung secara transitif (transitively dependent) terhadap A melalui B (A tidak functionally dependent terhadap B atau C) (Connolly dan Begg, 2005, p397). 2.1.4 Entity–Relationship Model Untuk memastikan pemahaman yang tepat terhadap data dan bagaimana penggunaannya di dalam suatu perusahaan, diperlukan sebuah model. Model Entity–Relationship (ER) adalah salah satunya (Connolly dan Begg, 2005, p342). Model ini menggunakan pendekatan top–down dalam perancangan basis data yang dimulai dengan mengidentifikasikan data yang penting yang disebut entity dan relationship dan data harus direpresentasikan di dalam model, kemudian ditambahkan beberapa atribut, dan constraint pada entity, atribut dan relationship. 2.1.4.1 Entity Type Entity type adalah sekumpulan objek dengan sifat (property) yang sama yang diidentifikasikan oleh perusahaan dan keberadaannya independent (Connolly dan Begg, 2005, p343). Entity occurrence adalah objek dari entity type yang diidentifikasikan secara unik (Connolly dan Begg, 2005, p345). Entity type dapat diklasifikasikan menjadi : 1) Strong entity type, yaitu entity type yang keberadaannya tidak bergantung pada entity type lainnya (Connolly dan Begg, 2005, p354). 2) Weak entity type, yaitu entity type yang keberadaannya bergantung pada entity type lainnya (Connolly dan Begg, 2005, p355). 14 2.1.4.2 Relationship Type Relationship type adalah sekumpulan asosiasi antara tipe – tipe entity yang ada dan mempunyai arti (Connolly dan Begg, 2005, p346). Relationship occurrence adalah suatu penyatuan yang dapat diidentifikasi secara unik, termasuk satu kejadian (occurrence) dari tiap entity type yang berpartisipasi (Connolly dan Begg, 2005, p346). Derajat (degree) dari relationship type adalah jumlah entity type yang berpartisipasi dalam sebuah relationship (Connolly dan Begg, 2005, p347). Sebuah relationship yang memiliki dua derajat dinamakan binary. Sedangkan sebuah relationship yang tiga memiliki derajat dinamakan ternary, dan jika sebuah relationship memiliki derajat empat dinamakan quarternary. Complex relationship adalah sebuah relationship yang memiliki derajat diatas binary.(Connolly dan Begg, 2005, p361). Recursive relationship adalah sebuah relationship type dimana entity type yang sama berpartisipasi lebih dari sekali pada peran yang berbeda (Connolly dan Begg, 2005, p349). Relationship dapat diberikan nama peran untuk menentukan fungsi dari setiap entity yang terlibat dalam relationship tersebut. Nama peran juga dapat digunakan jika dua buah entity dihubungkan melalui lebih dari satu relationship. 2.1.4.3 Atribut – Atribut Atribut merupakan sifat – sifat (property) dari sebuah entity atau relationship type (Connolly dan Begg, 2005, p350). Atribut domain adalah kumpulan 15 nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut dapat dibagi menjadi tiga, yaitu (Connolly dan Begg, 2005, p351) : 1) Simple / composite attribute Simple attribute adalah atribut yang terdiri dari satu komponen tunggal yang keberadaannya independen. Composite attribute adalah atribut yang terdiri dari beberapa komponen yang keberadaannya independen. 2) Single / multi–valued attribute Single–valued attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian atau sebuah entity type. Multi–valued attribute adalah atribut yang mempunyai beberapa nilai untuk setiap kejadian atau sebuah entity type. 3) Derived attribute Derived attribute adalah atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari entity yang sama. Key 1) Candidate key, merupakan sejumlah kecil atribut dari entity yang mengidentifikasikan setiap kejadian dari entity tersebut secara unik (Connolly dan Begg, 2005, p352). 2) Primary key, merupakan candidate key yang dipilih untuk mengidentifikasikan setiap kejadian dari entity secara unik (Connolly dan Begg, 2005, p353). 16 3) Alternate key, adalah setiap candidate key yang tidak terpilih menjadi primary key (Connolly dan Begg, 2005, p353). 4) Composite key, merupakan candidate key yang terdiri dari dua atau lebih atribut (Connolly dan Begg, 2005, p353). 5) Foreign key, adalah sebuah atribut atau sekumpulan atribut pada suatu relasi yang sama dengan candidate key dari beberapa relasi lainnya (Connolly dan Begg, 2005, p79). 2.1.4.4 Structural Constraint Multiplicity adalah jumlah occurrence (kejadian) yang mungkin terjadi pada sebuah entity type yang berhubungan ke sebuah occurrence dari entity type lain pada suatu relationship (Connolly dan Begg, 2005, p356). Derajat yang biasanya digunakan pada suatu relationship adalah binary relationship, yang terdiri atas One–to–One (1:1) Relationship, One–to–Many (1:*) Relationship, dan Many–to–Many (*:*) Relationship. Multiplicity sebenarnya terdiri atas dua constraint yang berbeda, yaitu: 1) Cardinality, menggambarkan nilai maksimum dari relationship occurrence yang mungkin terjadi untuk sebuah entity yang ikut serta pada suatu relationship (Connolly dan Begg, 2005, 363). 2) Participation, menentukan apakah semua atau hanya beberapa entity occurrence yang ikut serta dalam sebuah relationship (Connolly dan Begg, 2005, 363). Participation constraint dibagi menjadi : a. Mandatory participation melibatkan semua entity occurrence pada relationship tertentu (Connolly dan Begg, 2005, p363). 17 b. Optional participation melibatkan beberapa entity occurrence pada relationship tertentu (Connolly dan Begg, 2005, p363). 2.1.5 Database System Development Lifecycle (DSDLC) Untuk merancang aplikasi sistem basis data, terdapat tahapan – tahapan terstruktur yang harus diikuti yang dinamakan dengan Database System Development Lifecycle atau disingkat dengan DSDLC. Perlu diingat bahwa tahapan dalam DSDLC tidak harus berurutan, namun juga dapat melibatkan beberapa pengulangan ke tahapan sebelumnya melalui putaran balik (feedback loops). Untuk sistem basis data yang kecil, dengan user yang sedikit, lifecycle tidak perlu kompleks. Ketika mendesain sebuah sistem basis data yang sedang atau besar dengan sepuluh sampai ribuan user menggunakan ratusan query dan program aplikasi, lifecycle dapat menjadi sangat kompleks. Tahapan – tahapan tersebut terlihat pada gambar 2.1 2.1.5.1 Database planning Tujuan dari database planning adalah merencanakan agar tahap – tahap dari aplikasi basis data dapat direalisasikan dengan seefektif dan seefisien mungkin (Connolly dan Begg, 2005, p285). 2.1.5.2 System definition System definition menggambarkan ruang lingkup dan batasan dari sistem basis data termasuk pandangan pengguna (user view) yang utama (Connolly dan Begg, 2005, p286). 18 Pandangan pengguna (user view) mendefinisikan apa yang dibutuhkan oleh sistem basis data dari sudut pandang jabatan tertentu (seperti manajer atau pengawas) maupun dari sudut pandang area aplikasi perusahaan (seperti pemasaran, personalia, atau pengawasan persediaan) (Connolly dan Begg, 2005 p287). Database planning System definition Requirement collection and analysis Database design Conceptual database design DBMS selection (optional) Application design Logical database design Physical database design Prototyping (optional) Implementation Data conversion and loading Testing Operational Maintainance Gambar 2.1 Database System Development Lifecycle (Connolly dan Begg, 2005, p284) 19 2.1.5.3 Requirement collection and analysis Requirement collection and analysis adalah proses pengumpulan dan analisis informasi tentang bagian perusahaan yang akan didukung oleh sistem basis data dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan – kebutuhan untuk sistem yang baru (Connoly, 2005, p288). Ada beberapa teknik untuk mengumpulkan informasi ini, salah satunya adalah teknik fact – finding. Teknik fact – finding adalah suatu proses resmi dalam menggunakan teknik – teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta – fakta tentang sistem dan kebutuhan – kebutuhannya (Connolly dan Begg, 2005, p314). 2.1.5.4 Database design (perancangan basis data) Perancangan basis data adalah suatu proses menciptakan perancangan untuk basis data yang akan mendukung keseluruhan operasi dan tujuan – tujuan perusahaan (Connoly dan Begg, 2005, p291). Dalam database design terdapat tiga fase utama, yaitu perancangan konseptual (conceptual database design), perancangan logikal (logical database design), dan perancangan fisikal (physical database design). 2.1.5.5 DBMS selection (optional) Tujuan dari DBMS selection adalah untuk memilih DBMS yang tepat untuk mendukung sistem basis data (Connolly dan Begg, 2005, p296). Tahapan utama dalam memilih DBMS antara lain : 20 a) Mendefinisikan syarat – syarat sebagai referensi Dibuat dengan menyatakan tujuan dan ruang lingkup pembelajaran dan tugas – tugas yang akan dikerjakan. b) Daftar singkat dua atau tiga produk Kriteria yang dianggap penting dalam keberhasilan implementasi dapat digunakan untuk membuat daftar produk – produk DBMS dalam evaluasi, seperti dana yang tersedia, tingkat dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk hanya berjalan pada perangkat keras tertentu. c) Evaluasi produk Fitur – fitur yang digunakan dalam evaluasi produk – produk DBMS dikelompokkan menjadi definisi data, definisi fisik, kemampuan akses, penanganan keperluan – keperluan, pengembangan, dan fitur – fitur lainnya. d) Merekomendasikan pilihan dan memproduksi laporan Langkah terakhir dari pemilihan DBMS adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBMS tertentu. 2.1.5.6 Application design Bertujuan merancang antarmuka pemakai (user interface) dan program aplikasi yang digunakan dan memproses basis data (Connolly dan Begg, 2005, p299). Dua aspek merancang aplikasi yaitu : 21 a) Perancangan transaksi (transaction design) Transaksi adalah aksi atau rangkaian aksi yang dilakukan oleh seorang pengguna atau program aplikasi yang mengakses atau mengubah isi dari basis data (Connolly dan Begg, 2005, p300). Ada 3 jenis transaksi yaitu : 1. Retrieval transaction : digunakan untuk mendapatkan data untuk ditampilkan pada layar atau pada pembuatan laporan. 2. Update transaction : digunakan untuk memasukkan data baru, menghapus data lama atau memodifikasi data yang ada dalam basis data. 3. Mixed transaction : mencakup pengambilan dan pengubahan data. b) Perancangan antarmuka pengguna (user interface design) Elemen – elemen dalam merancang suatu antarmuka pengguna (user interface) (Connolly dan Begg, 2005, p301) antara lain : 1. Penetapan judul yang bermakna 2. Instruksi – instruksi yang dapat dipahami 3. Pengelompokkan logika dan pengurutan kolom 4. Bentuk form yang menarik secara visual 5. Judul kolom yang dikenal 6. Penggunaan istilah dan singkatan yang konsisten 7. Penggunaan warna yang konsisten 8. Ruang dan batasan yang terlihat untuk menginput kolom 9. Pergerakan kursor yang mudah 10. Perbaikan kesalahan untuk satu huruf dan semua kolom 11. Menampilkan pesan kesalahan terhadap nilai yang tidak sesuai 22 12. Pemberian tanda terhadap kolom yang berupa pilihan (optional field) 13. Pesan – pesan yang bersifat penjelasan untuk suatu kolom 14. Pemberian tanda penyelesaian 2.1.5.7 Prototyping (optional) Prototyping adalah proses membangun sebuah model kerja dari aplikasi basis data (Connolly dan Begg, 2005, p304). Tujuan utama prototyping adalah untuk memungkinkan pengguna menggunakan prototype untuk mengidentifikasi fitur – fitur yang bekerja dengan baik pada sistem, atau kekurangannya, dan memberikan saran bagi peningkatan kerja sistem atau bahkan memberikan masukan terhadap pengembangan bahkan fitur – fitur baru ke dalam sistem basis data. 2.1.5.8 Implementation Implementation adalah realisasi fisikal dari desain basis data dan desain aplikasi (Connolly dan Begg, 2005, p304). Dalam tahap ini juga akan diimplementasikan komponen lain dari aplikasi basis data seperti menu layar, pemasukan data, keamanan dan kontrol integritas. 2.1.5.9 Data conversion and loading Data conversion and loading adalah suatu proses mentransfer data yang ada ke dalam basis data baru dan mengubah aplikasi yang ada untuk dijalankan dalam basis data baru (Connolly dan Begg, 2005, p305). Tahap ini hanya dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama. 23 2.1.5.10 Testing Testing adalah suatu proses mengeksekusi sistem basis data dengan tujuan untuk menemukan kesalahan (Connolly dan Begg, 2005, p305). 2.1.5.11 Operational maintainance Operational maintenance adalah suatu proses memonitor dan memelihara sistem dan diikuti dengan instalasi (Connolly dan Begg, 2005, p306). 2.2 Data Flow Diagram (DFD) Data flow diagram adalah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem (Whitten, 2004, p326). Sedangkan menurut Yourdon (1989, p137) DFD adalah suatu gambaran grafis dari suatu sistem yang menggunakan sejumlah bentuk simbol untuk menggambarkan bagaimana data mengalir melalui suatu proses yang saling berkaitan. Simbol – simbol yang digunakan dalam DFD, antara lain : 1. External Entity Entity yang berada di luar sistem, yang memberikan data kepada sistem (source) atau yang menerima informasi dari sistem (sink). Entity eksternal tidak termasuk dalam sistem. Gambar : Bentuk Gane dan Sarson Bentuk DeMarco/Yourdon 24 2. Proses Proses adalah sesuatu yang mengubah input menjadi output. Proses sering juga disebut bubble. Proses dapat digambarkan dengan lingkaran, segi empat, dan segi empat membulat. Gambar : Bentuk Gane dan Sarson Bentuk DeMarco/Yourdon 3. Aliran data (data flow) Menggambarkan aliran data dari suatu entity ke entity lainnya. Simbol yang digunakan berupa anak panah. Tanda panah tersebut menggambarkan aliran data yang terjadi bisa antara dua proses yang berurutan, dari data store ke proses atau sebaliknya dari proses ke sink. Gambar : 4. Penyimpanan data (data store) Data Store berfungsi untuk sebagai tempat penyimpanan data. Proses dapat mengambil data atau memberikan data ke data store. Gambar : Bentuk Gane dan Sarson Bentuk DeMarco/Yourdon 2.3 State Transition Diagram (STD) / Statechart Diagram State Transition Diagram (STD) adalah alat yang digunakan untuk menggambarkan urutan dan variasi layar yang dapat terjadi selama satu sesi pengguna (Whitten, 2004, p636). Sedangkan menurut Gomaa (2000, p181), STD merupakan representasi grafis suatu state yang terbatas dimana node merepresentasikan state dan panah merepresentasikan state transition. Perubahan 25 state (state transition) terjadi dikarenakan adanya event input. State merepresentasikan keadaan yang dapat dikenal pada interval waktu tertentu. Panduan dalam membuat statechart adalah sebagai berikut : 1. Nama state harus merefleksikan situasi yang dapat diidentifikasikan atau interval waktu ketika ‘sesuatu’ terjadi di dalam sistem. 2. Pada setiap statechart yang ada, setiap state harus mempunyai nama yang unik. 3. Harus memungkinkan untuk keluar (exit) dari semua state. 4. Pada flat statechart, pada waktu yang sama statechart hanya berada pada satu state. 5. Pada hierarchical statechart, berlaku beberapa panduan, yaitu : a. Pada hierarchical sequential statechart, ketika statechart merupakan superstate, maka statechart tersebut hanya mempunyai satu substate. b. Jika digunakan hierarchical concurrent statechart, ketika statechart merupakan superstate, maka statechart tersebut berada pada satu substate pada setiap level dari concurrent statechart. 6. Jangan bingung antara event dan action. Event disebabkan oleh perubahan state dan action adalah akibat dari perubahan state. 7. Sebuah event terjadi pada suatu waktu. 8. Sebuah action adalah perintah. 9. sebuah action dieksekusi langsung. Sedangkan sebuah activity dieksekusi melalui sebuah state. 10. Satu atau lebih action dapat berhubungan dengan sebuah state transition. 11. Suatu kondisi memiliki nilai boolean (true / false). 12. Action, activity dan kondisi merupakan optional. 26 2.4 Flowchart Flowchart merupakan diagram yang merepresentasikan aliran dari informasi dan urutan operasi di dalam sebuah sistem atau proses (Romney dan Steinbart, 2003, p701). Simbol – simbol flowchart dapat dibagi menjadi empat kategori, yaitu : a. Simbol input / output Merepresentasikan media atau alat yang menyediakan input ke atau output dari operasi proses. b. Simbol proses Memperlihatkan tipe alat yang digunakan untuk memproses data atau mengindikasikan kapan sebuah proses dilakukan secara manual. c. Simbol penyimpanan (storage) Merepresentasikan alat yang digunakan untuk menyimpan data. d. Simbol aliran dan lain – lain Mengindikasikan aliran data dan barang. Simbol – simbol ini juga merepresentasikan operasi mulai, selesai, kapan keputusan diambil, dan penjelasan tambahan dari flowchart. Berikut ini adalah simbol – simbol yang digunakan dalam flowchart pada penulisan skripsi ini : Tabel 2.1 Simbol – simbol flowchart Simbol Nama Dokumen Keterangan Sebuah dokumen atau laporan, dokumen tersebut dapat disiapkan dengan tangan atau dicetak oleh komputer Display Informasi ditampilkan dengan menggunakan alat online output seperti terminal, monitor, atau layar 27 Online keying Data masukkan dengan alat online seperti terminal atau komputer personal Proses komputer Proses yang dilakukan oleh komputer, biasanya berupa perubahan data atau informasi Operasi manual Proses operasi yang dilakukan secara manual Magnetic disk Data disimpan secara permanen pada magnetic disk, digunakan untuk file master dan database On-line storage Data disimpan sementara di dalam file on-line Aliran dokumen proses Terminal Arah proses dari aliran dokumen, aliran atau normal adalah menurun dan ke kanan Decision Langkah pengambilan keputusan, digunakan dalam flowchart dari program komputeruntuk menunjukkan percabangan ke jalur alternatif Catatan tambahan Komentar tambahan atau penjelasan sebagai klarifikasi Sebuah awal, akhir atau titik interupsi di dalam proses atau program 2.5 Perancangan User Interface / Layar Interaksi manusia dengan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena besar yang berhubungan dengannya (Shneiderman, 1998, p8). Menurut Shneiderman (1998, p74 – 75) dalam merancang antarmuka pemakai (user interface), perlu menggunakan delapan aturan emas yang terdiri dari : 28 1. Berusaha konsisten 2. Memungkinkan frequent user menggunakan shortcut 3. Memberikan umpan balik yang informatif 4. Merancang dialog untuk menghasilkan keadaan akhir 5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana 6. Memungkinkan pembalikan aksi (undo) yang mudah 7. Mendukung internal locus of control 8. Mengurangi beban ingatan jangka pendek 2.6 Teori Web 2.6.1 Web Web adalah aplikasi yang menyangkut banyak komputer. Web menyediakan fasilitas seperti menyimpan, menemukan dan mengambil informasi, menyimpan dan mengeksekusi program komputer, meng-input dan memanipulasi informasi (Eaglestone dan Ridley, 2001, p190). Web menyediakan fasilitas tersebut dengan menggunakan jaringan komputer dunia luas yang disebut internet. Web dapat digunakan oleh setiap orang dengan mengakses internet. 2.6.2 Web Server Menurut Eaglestone dan Ridley (2001, p198), web–server digunakan untuk menyimpan informasi dan layanan yang dapat diakses oleh web–client. Berdasarkan Wikipedia (2007), web server mempunyai dua arti yaitu : 29 1. Program komputer yang bertanggung jawab untuk menerima HTTP request dari client yang dikenal sebagai web browser dan memberikan respon dari HTTP client bersama dengan data – data optional yang biasanya berupa halaman – halaman web seperti dokumen – dokumen HTML dan objek – objek yang terhubung seperti gambar, dll. 2. Sebuah komputer yang menjalankan program komputer yang menghasilkan fungsi – fungsi yang telah dideskripsikan pada point pertama. Menurut Eaglestone dan Ridley (2001, p201), tempat bagi web server untuk menyimpan informasi disebut dengan web site. Web site adalah penyimpanan file secara konvensional yang mana file tersebut berisi dokumen – dokumen web dan sumber – sumber lainnya. Dokumen tersebut dapat berbentuk form atau file html, tetapi dapat juga berbentuk plain text file, pdf file atau format lainnya dimana dokumen tersebut dapat disimpan. Sumber – sumber dapat berupa executeable code yang sering disebut juga script untuk mengakses program. 2.6.3 Intranet Berdasarkan Wikipedia (2007), Intranet adalah jaringan komputer pribadi yang menggunakan protokol internet, konektivitas jaringan untuk mengamankan pembagian informasi atau operasi pada sebuah perusahaan dengan karyawannya. Kadang – kadang konektivitas jaringan merujuk pada bentuk layanan yang paling nyata, website internal. Beberapa konsep dan teknologi yang sama dari internet seperti client dan server dijalankan pada 30 Internet protocol suite digunakan untuk membangun sebuah intranet. Ada kecenderungan untuk menggunakan teknologi internet dalam menyediakan antar muka yang baru dengan “warisan” data perusahaan dan sistem informasi. Kegunaan Intranet Di Intranet digunakan web, e-mail, dll. E-mail mempunyai potensi untuk membuat semua proses dalam badan usaha menjadi sangat transparan. Web dengan perangkat basis data di belakangnya, biasanya merupakan alat bantu paling potensial untuk melakukan 2 hal utama yaitu: 1. Membuat perusahaan / institusi menjadi semakin efisien. Pendekatan yang dilakukan di sini biasanya membuat sistem informasi manajemen yang berbasis web dan database. 2. Membuat perusahaan / institusi menjadi semakin kompetitif di dunianya. Membuat sebuah badan menjadi kompetitif hanya mungkin dilakukan jika kita dapat mengolah secara baik sumber daya manusia dan sumber daya pengetahuan yang ada di internal badan / perusahaan tersebut. Dalam hal ini yang dimaksud adalah konsep knowledge management yaitu bagaimana kita melakukan percepatan proses daur ulang, analisis, sintesa dari pengetahuan baik itu yang bersifat implisit maupun eksplisit. Keuntungan Intranet 1. Produktivitas kerja maksimal : intranet dapat membantu user untuk meletakkan dan menampilkan informasi lebih cepat dan menggunakan aplikasi yang relevan dengan aturan – aturan dan tanggung jawab mereka. 31 2. Waktu : dengan intranet, perusahaan dapat membuat lebih banyak informasi tersedia bagi karyawan, misalnya karyawan dapat terhubung langsung dengan informasi yang dibutuhkan ketika mereka memerlukannya. 3. Komunikasi : intranet dapat menyajikan peralatan yang mendukung komunikasi dalam sebuah perusahaan, baik secara vertikal dan horisontal. 4. Operasi bisnis dan managemen : intranet juga digunakan sebagai sebuah landasan program untuk mengembangkan dan menyebarkan aplikasi untuk mendukung operasi bisnis dan keputusan bisnis melalui jaringan dalam perusahaan. 5. Efektivitas biaya : pengguna dapat melihat informasi dan data melalui web browser daripada memelihara dokumen fisik seperti manual prosedur, daftar telepon internal dan form daftar permintaan. 6. Meningkatkan kolaborasi : dengan kemudahan akses informasi oleh seluruh pengguna yang berhak. 7. Kemampuan cross – platform : dapat digunakan di platform mana saja seperti Windows, Mac, dll. Kerugian Intranet 1. Informasi yang tidak cocok atau salah dapat dikirim oleh intranet yang dapat mengurangi kredibilitas dan keefektifan. 2. Intranet dengan tingkat interaktifitas yang tinggi terdapat kebebasan untuk mengirim material ilegal dan berbahaya. 3. Butuh keahlian dalam mengelola dan mengembangkan informasi intranet dalam sebuah perusahaan. 32 4. Keamanan intranet berkembang menjadi sebuah isu. Pengguna lain dapat mengirimkan informasi yang sensitif yang mungkin muncul pada user lainnya. 5. Karena informasi dapat dikirim oleh user manapun, kelebihan informasi dapat muncul selama informasi tersebut tidak dikontrol dengan baik. 2.6.4 URL Uniform Resource Locator (URL) adalah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber – seperti dokumen dan gambar di Internet. URL pertama kali diciptakan oleh Tim Berners – Lee pada tahun 1991 agar penulis – penulis dokumen dapat mereferensikannya ke World Wide Web. Sejak 1994, konsep URL telah dikembangkan menjadi istilah Uniform Resource Identifier (URI) yang lebih umum sifatnya. Walaupun demikian, istilah URL masih tetap digunakan secara luas (Wikipedia, 2007). Menurut Eaglestone dan Ridley (2001, p201), bentuk dasar dari sebuah http URL adalah http://server/path. Path dari URL sebagai berikut : 1. Bagian pertama, “http”, menspesifikasikan protokol di mana sumber Web dialamatkan oleh URL diakses. 2. Bagian kedua, “server”, adalah nama Web server dimana sumber ditempatkan. Nama server mempunyai struktur yang hierarki. Contohnya, www.dcs.shef.ac.uk. “www” adalah nama server sedangkan “dcs.shef.ac.uk” merupakan nama dari domain yang bersangkutan. 33 3. Bagian ketiga dari URL adalah komponen “bagian” yang mengindikasikan lokasi dari sumber di server. Contohnya, public/index.html yang mengindikasikan path dari dokumen utama melalui struktur direktori dari Web server ke file tertentu atau sumber lain. 2.6.5 HTTP Menurut Wikipedia (2007), HTTP (HyperText Transfer Protocol) adalah protokol yang digunakan untuk mentransfer dokumen yang berisi informasi dalam World Wide Web (WWW). HTTP adalah sebuah protokol request (permintaan) / response (jawaban) di antara client dan server. Client membuat HTTP request (seperti web browser, spider, atau tool end-user lain) yang disebut sebagai user agent. Server yang merespon (yang menyimpan atau membuat sumber daya seperti file HTML dan gambar) disebut sebagai origin server. Sumber – sumber yang diakses oleh HTTP diidentifikasi menggunakan Uniform Resource Identifiers (URIs) atau Uniform Resource Locators (URLs). 2.6.6 HTML Berdasarkan Eaglestone dan Ridley (2001, p201), HyperText Markup Language (HTML) adalah sebuah bahasa markup yang membolehkan isi dan presentasi dari sebuah dokumen dideskripsikan dengan memasukkan kode dalam dokumen itu sendiri untuk mengenali dan membatasi bagian – bagian 34 yang berbeda dan menspesifikasikan bagaimana isi dan presentasi tersebut diterjemahkan oleh browser. Berdasarkan Wikipedia (2007), HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML kini merupakan standar Internet saat ini. 2.6.7 XML eXtensible Markup Language (XML) bahasa markup seperti HTML yang tag – tagnya bisa didefinisikan sendiri. XML digunakan untuk pertukaran data antar database yang berbeda di dalam internet (McClure et al, 2006, p103). 2.6.8 XHTML eXtensible HyperText Markup Language, atau XHTML, adalah bahasa markup penerus HTML yang memiliki kemampuan yang kurang lebih mirip HTML, tapi dengan aturan sintaks yang lebih ketat (Wikipedia, 2007). HTML merupakan aplikasi dari SGML yang sangat fleksibel, sedangkan XHTML adalah aplikasi dari XML, turunan SGML yang lebih terbatas. Karena XHTML harus memiliki keteraturan bentuk (mengikuti sintaks yang tepat), dokumen XHTML dapat diproses otomatis dengan menggunakan standar pemroses XML tidak seperti HTML yang membutuhkan pemroses 35 yang lebih kompleks. XHTML dapat dianggap sebagai perpaduan antara HTML dan XML karena merupakan formulasi ulang HTML dalam bentuk XML. 2.6.9 JavaScript JavaScript adalah scripting language yang berbasis objek yang dapat diletakkan di halaman – halaman HTML (Flanagan David, 2002, p4). 2.6.10 AJAX Asynchronous JavaScript and XML, atau disingkat AJAX, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif (Wikipedia, 2008). Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web browser, 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 : 1. XHTML (atau HTML) dan CSS untuk bahasa mark up dan tampilan. 2. DOM yang diakses dengan client side scripting language, khususnya implementasi ECMAscript seperti Javascript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan. 36 3. Objek XMLHttpRequest untuk melakukan pertukaran data asinkronus dengan web server. Pada beberapa framework dan kasus Ajax, objek IFrame lebih dipilih daripada XMLHttpRequest untuk melakukan pertukaran data dengan web server. 4. XML umumnya digunakan sebagai format untuk pengiriman data. 2.6.11 XMLHttpRequest XMLHttpRequest adalah sebuah kelas dari Javascript yang mengizinkan browser untuk berkomunikasi dengan server tanpa harus mem – postback seluruh halaman. Dengan internet explorer, objek XMLHttpRequest disediakan oleh MSXML ActiveX component. Dengan Firefox Mozilla dan browser lainnya, objek XMLHttpRequest disediakan oleh kelas XMLHttpRequest. Setiap browser memiliki library javascript yang berbeda – beda (Zakas et al, 2006, p10). 2.6.12 DOM Document Object Model (DOM) adalah objek impilisit dari Javascript untuk mengakses objek – objek yang ada di suatu halaman web seperti textbox, combo box, radio button (McClure et al, 2006, p51). 2.6.13 CSS Cascading Style Sheet (CSS) adalah kumpulan informasi berupa style – style untuk format desain halaman web seperti style font, warna 37 background dan sebagainya untuk menjaga konsistensi tampilan disetiap halaman web (Lowe et al, 2006, p242). 2.6.14 ASP.NET ASP.NET adalah sebuah bahasa pemrograman berbasis web yang dibuat oleh Microsoft yang digunakan untuk membuat website dinamis, aplikasi web, dan aplikasi web berbasis XML (McClure et al, 2006, p2). ASP.NET adalah bagian dari framework .NET yang menawarkan teknologi yang mampu membuat sebuah aplikasi dengan berbagai macam bahasa seperti Visual Basic.NET, Jscript dan C#.NET. Microsoft mengeluarkan ASP.NET pertama kali dengan versi 1.0 yang menawarkan banyak fitur untuk meningkatkan produktivitas dalam membangun aplikasi web. Sekarang versi ASP.NET yang telah dikeluarkan oleh Microsoft adalah 2.0 yang tidak hanya meningkatkan produktivitas tetapi juga menyederhanakan administrasi dan managemen aplikasi web ASP.NET. 2.7 Inventory 2.7.1 Pengertian Inventory Menurut Love (1979, p3) inventory adalah sejumlah barang atau bahan – bahan dalam kendali sebuah perusahaan yang disimpan untuk beberapa waktu idle atau kondisi yang tidak produktif, menunggu sampai saat digunakan atau dijual. Menurut Tersine (1994, p3) istilah inventory dapat diartikan sebagai berikut : 38 1. Bahan – bahan persediaan yang dipunyai pada suatu waktu (aktiva yang nyata yang dapat dapat dilihat, diukur, dan dihitung). 2. Daftar barang dari semua aktiva fisik. 3. Untuk menentukan jumlah barang yang dimiliki. 4. Nilai dari persediaan barang yang dimiliki organisasi pada waktu tertentu. 2.7.2 Jenis Inventory Menurut Tersine (1994, p3 – 4) inventory bisa terdiri dari persediaan (supplies), bahan mentah (raw material), barang setengah jadi (in–process good) , dan barang jadi (finished good). Gambar 2.2 Jenis – Jenis Inventory a. Persediaan (supplies) Persediaan merupakan bagian dari inventory yang digunakan dalam fungsi normal suatu organisasi yang bukan merupakan bagian dari produk akhir. b. Bahan mentah (raw material) Bahan mentah merupakan barang – barang yang dibeli dari supplier untuk digunakan sebagai input bagi proses produksi, bahan mentah akan diubah menjadi barang jadi. 39 c. Barang setengah jadi (in–process good) Barang setengah jadi merupakan produk akhir yang baru selesai sebagian dan masih dalam proses produksi. Barang setengah jadi mewakili akumulasi dari pekerjaan yang selesai sebagian dan antrian bahan – bahan yang akan diproses lebih lanjut. d. Barang jadi (finished good) Barang jadi merupakan produk akhir proses produksi yang siap dijual, didistribusikan, atau disimpan. 2.7.3 Pengontrolan Inventory Menurut Love (1979, p7) pengontrolan inventory diinterpretasikan sebagai usaha untuk mendapatkan dan menjaga keseimbangan ekonomi antara biaya yang dikeluarkan dan biaya yang disimpan dengan mempertahankan bahan – bahan dalam gudang. Pengontrolan inventory dapat diinterpretasikan secara berbeda untuk tiap – tiap orang. Misalnya saja untuk manajer gudang, pengontrolan inventory berarti mengontrol lokasi penyimpanan fisik, usia, keamanan dari pencuri, api, kelembaban, dan sejenisnya. Sedangkan untuk seorang akuntan atau editor, inventory dikontrol melalui penggunaan biaya dan jumlah informasi yang mempertinggi evaluasi modal yang tepat, penentuan pemasukkan, dan indikator finansial lainnya (Love, 1979, p7).