9 BAB 2 LANDASAN TEORI 2.1 E-Commerce 2.1.1 Pengertian E-Commerce Menurut David Baum, pengertian e-commerce adalah: “ECommerce is a dynamic set of technologies, applications, and business process that link enterprise, consumers, and communities through electronic transactions and the electronic exchange of goods, services, and information” ,( Baum dalam Purbo, 2000 : 2). Dalam teori David Baum, disampaikan bahwa bukan hanya proses transaksi dan proses servis melalui teknologi elektronik yang menjadi bagian dari e-commerce, akan tetapi proses penyampaian informasi melalui teknologi elektronik juga merupakan bagian dari e-commerce. Electronic Commerce (EC) adalah suatu konsep yang menjelaskan proses pembelian, penjualan dan pertukaran produk, servis dan informasi melalui jaringan komputer yaitu internet (Turban, 2010). Menurut Kalakota (1999) EC dapat dilihat dari sudut pandang : • Sudut pandang komunikasi, EC merupakan pengiriman barang, servis, informasi, atau pembayaran melalui jaringan komputer. • Sudut pandang bisnis proses, EC adalah aplikasi teknologi yang dapat melakukan transaksi bisnis dan arus kerja yang otomatis. • Sudut pandang servis, EC merupakan peralatan yang dapat memenuhi keinginan perusahaan, konsumen dan managemen untuk memotong 10 biaya servis selama pengembangan kualitas barang dan peningkatan kecepatan layanan pengiriman. • Sudut pandang online, EC menyediakan kemampuan untuk membeli dan menjual produk dan informasi melalui internet dan layanan online lainnya. Secara umum ada tiga tipe EC yaitu: • B2C (Business to Customer), dalam B2C transaksi online dibuat antara bisnis dengan konsumen secara individual. Contoh : pesanan buku secara online, pembelian tiket pesawat terbang. • B2B (Business to Business), dalam B2B bisnis membuat transaksi online dengan bisnis lain. Contoh : Layanan online atau pembelian bahan bakar. • B2E (Business to Employee), dalam B2E informasi dan servis dibuat secara online untuk para pekerja. Contoh : Pelatihan online dan perbankan online. EC dapat dibedakan menjadi dua bagian yaitu pure EC dan partikel EC. Pure EC menerangkan semua bagian dalam EC menggunakan dimensi digital baik dalam produk, proses dan pengiriman. Pure EC sulit untuk dilakukan karena apabila produk dalam bentuk hard goods maka pengiriman tidak dapat dilakukan melalui dimensi digital. Sedangkan yang kedua adalah partial EC, menjelaskan bahwa EC menggunakan semua kemungkinan untuk menggabungkan dimensi digital dan physical. Dalam penelitian ini akan digunakan metode partial EC, dimana produk yang dijual berupa produk hard goods sehingga pengiriman dilakukan melalui jasa pengiriman sedangkan pembayaran dilakukan secara digital melalui kartu kredit, yang ditunjukkan melalui simulasi sederhana. 11 2.1.1 Keuntungan E-commerce Menurut Purbo dan Wahyudi (2001, p5), keuntungan yang dapat diperoleh dengan adanya e-commerce adalah: • Revenue stream (aliran pendapatan) baru yang mungkin lebih menjajikan, yang tidak dapat ditemui di sistem transaksi tradisional. • Dapat meningkatkan market exposure (pangsa pasar). • Menurunkan biaya operasional (operating cost). • Memperluas jangkauan (global reach). • Meningkatkan customer loyalty. • Meningkatkan supplier management. • Mempersingkat waktu produksi. • Meningkatkan value chain (mata rantai pendapatan). 2.2 HTML Menurut Diar Puji Oktavian (2010, p13), HTML(Hyper Text Markup Language) adalah suatu bahasa yang dikenali oleh web browser untuk menampilkan informasi dengan lebih menarik dibandingkan dengan tulisan text biasa (plain text). Sedangkan web browser adalah program komputer yang dikunakan untuk membaca HTML, kemudian menerjemahkan dan menampilkan hasilnya secara bisul ke layar komputer. 2.3 Website Website atau situs juga dapat diartikan sebagai kumpulan halaman – halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink). 12 Bersifat statis apabila isi informasi website tetap, jarang berubah, dan isi informasinya searah hanya dari pemilik website. Bersifat dinamis apabila isi informasi website selalu berubah-ubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta pengguna website. Untuk menyediakan sebuah website, maka unsur-unsur penunjangnya antara lain: • Nama Domain (URL) • Hosting dapat diartikan sebagai ruangan yang terdapat dalam harddisk tempat menyimpan berbagai data, file-file, gambar dan lain sebagainya yang akan ditampilkan di situs. • Scripts/Bahasa Program adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs pada saat diakses. Jenis scripts sangat menentukan statis, dinamis, interaktifnya, atau bisa dibilang performa sebuah situs. Jenisjenis scripts yang banyak dipakai para designer antara lain HTML, ASP, PHP, JSP, Java Scripts, Java Applets dan sebagainya. 2.4 Web Database Menurut Barry Eaglestone dan Mick Ridley (Web Database System, 2001), sistem database dapat dihubungkan ke internet untuk digunakan melalui web. Berikut ini adalah tipe-tipe dari koneksi yang dapat digunakan: • Remote Connection : Sebuah sistem database, dimana dapat di akses melalui web dimanapun user berada. • Client-Server Architectures : Ini adalah bentuk umum untuk program aplikasi database menggunakan internet. • Distributed Database : Beberapa DBMS mempunyai fasilitas untuk mengijinkan bagian tertentu dari database disimpan pada komputer yang 13 berbeda-beda. Data tersebut didistribusikan diletakkan di tempat-tempat berbeda, dan hal ini tidak disadari oleh user. 2.5 Hypertext Preprocessor (PHP) PHP (Hyertext Preprocessor) adalah bahasa server-side scripting yang digunakan untuk aplikasi web yang dinamis dan interaktif. Hal ini berarti bahwa PHP bekerja dalam dokumen HTML, untuk membuat dokumen HTML tersebut bisa menghasilkan isi yang diminta. Anda dapat mengubah halaman website anda menjadi sebuah aplikasi web, tidak hanya berupa halaman-halaman statis dengan informasi yang tidak sering diperbaharui dimana mungkin untuk ”personal” website masih mungkin digunakan, tetapi tidak untuk penggunaan dalam lingkungan bisnis ataupun pendidikan. Cara kerja halaman yang menggunakan PHP : (Castagnetto,2000,p60) Ketika sebuah permintaan/request untuk sebuah halaman web dari browser, maka web server akan melakukan langkah-langkah sebagai berikut : • Membaca permintaan/request dari browser • Mencari halaman pada server • Melakukan instruksi-instruksi yang disediakan dalam PHP untuk memodifikasi halaman web • Mengirimkan kembali halaman web ke browser melalui internet atau intranet Bahasa pemrograman PHP memiliki beberapa kelebihan dibandingkan dengan bahasa pemrograman lainnya, antara lain: • Kecepatan akses yang tinggi (karena code di embedded di dalam web server). • Dapat bekerja dalam berbagai webserver (Apache, IIS, Microsoft Personal WebServer) dan sistem operasi yang berbeda pula. • PHP merupakan freeware/opensource 14 • Karena dijalankan pada webserver, maka secara otomatis program yang dihasilkan bersifat multiuser 2.6 SQL Mengacu pada pendapat Connolly dan Begg (2002) SQL dikemukakan sebagai suatu bahasa yang dipergunakan untuk mengakses data dalam database relational. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen database relational. Saat ini hampir semua server database yang mendukung bahasa ini untuk melakukan manajemen terhadap datanya. • Standarisasi Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86. Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada server database yang 100 persen mendukung SQL92. Hal ini disebabkan masing-masing server memiliki kebudayaan masing-masing. • Pemakaian dasar Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap DBMS, namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Pada bagian ini akan dibahas penggunakan bentuk paling umum yang dapat digunakan pada kebanyakan DBMS. 15 • Data Definition Language (DDL) DDL digunakan untuk mendefinisikan, mengubah, serta menghapus database dan objek-objek yang diperlukan dalam database, misalnya Table, View, User, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada,dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator database dalam pembuatan sebuah aplikasi database. Contoh : CREATE DATABASE Product, USE Product, ALTER Table MsUser ADD PhoneNumber null, DROP Table MsUser • Data Manipulation Language (DML) DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah : a. SELECT Perintah yang paling sering digunakan pada SQL, sehingga kadang kadang istilah Query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah database yang sama. Contoh : Select * From MsUser b. INSERT Untuk menambah data dalam tabel Contoh : Insert into MsUser values(‘MS00000001’,’Anthoni’,12345) c. UPDATE 16 Untuk mengubah data Contoh : Update Personal_info Set salary = salary * 1.03 d. DELETE Untuk menghapus data Contoh : Delete from MsUser where UserId=’MS00000001’ 2.7 Teori Basis Data 2.7.1 Pengertian Data Mengacu pada pendapat Connoly dan Begg (2010) Data dikemukakan sebagai suatu deskripsi dari sesuatu dan kejadian yang dihadapi dan jembatan antara komponen mesin dan komponen manusia. 2.7.2 Pengertian Database Mengacu pada pendapat Connolly dan Begg (2010) database dikemukakan sebagai sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu pada tujuan tertentu pula atau susunan record operational data lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara reintegrasi dengan menggunakan metode tertentu dalam komputer sehingga mampu memenuhi informasi yang optimal yang dibutuhkan oleh para pengguna. Database merupakan bagian sangat penting dalam sebuah proses pengolahan data. Data tersebut harus dapat diakses dengan urutan yang berbeda-beda secara logis dengan cara yang relatif mudah. 2.7.3 Arsitektur Basis Data Menurut Thomas M. Connolly dan Carolyn Begg (2010, p86), ada tiga level arsitektur basis data (Three-Level ANSI-SPARC Architecture) yaitu: 17 External Level Level ini merupakan view basis data pada user. Setiap user mempunyai view masing-masing tergantung kebutuhan informasi dari user tersebut. Conceptual Level Level ini menggambarkan data apa saja yang disimpan dalam basis data dan hubungan antara data-data tersebut. Internal Level Level ini merupakan reperesentasi fisik dari basis data yang ada di komputer. Level ini menggambarkan bagaimana data disimpan dalam suatu basis data. 2.7.4 Sistem Basis Data Sistem basis data merupakan kumpulan dari program aplikasi yang berinteraksi dengan basis data (Connolly dan Begg, 2010, 54). Jadi, sistem basis data ialah kombinasi dari beberapa program aplikasi dengan basis data yang telah berjalan sehingga keseluruhan sistem terkomputerisasi tersebut memungkinkan pengguna menelusuri kembali dan mengubah informasi sesuai kebutuhan. 2.7.5 Database Ralational Database Relational merupakan database yang dalam gambaran penggunaannya merupakan kumpulan dari tabel-tabel, dimana tabel tersebut terdiri dari baris dan kolom, atau dengan kata lain terdiri dari kumpulan record dan field. Tabel tersebut kemudian dihubungkan dengan satu field di tabel lain yang disebut sebagai key. 18 Pada database relational terdapat dua jenis field yang dapat menggambarkan hubungan, yaitu primary key dan foreign key. Primary Key adalah suatu field yang menghubungkan satu tabel dengan tabel lainnya. Foreign key merupakan sebuah field yang digunakan sebagai field tujuan yang dihubungkan dengan field dari tabel pemanggil. Hubungan antar tabel dalam database relational dapat dibagi menjadi tiga, yaitu: • Hubungan one to one, ialah hubungan antar tabel dimana satu isi record pada satu tabel hanya dapat berhubungan dengan satu record pada tabel lainnya. • Hubungan one to many atau many to one, ialah hubungan antar tabel dimana satu isi record pada satu tabel dapat berhubungan dengan beberapa record pada tabel lainnya atau sebaliknya. • Hubungan many to many, ialah hubungan antar tabel dimana satu isi record pada tabel X dapat berhubungan dengan beberapa record pada tabel X. 2.7.6 Database Management System (DBMS) 2.7.6.1 Pengertian Database Management System (DBMS) Menurut Thomas M. Connolly dan Carolyn Begg (2010, p66), DBMS adalah suatu sistem software yang memungkinkan user untuk mendefinisikan, menciptakan, memelihara dan mengontrol pengaksesan terhadap suatu basis data. 2.7.6.2 Keuntungan dan Kerugian DBMS Keuntungan DBMS menurut Connolly (2010, p77) adalah sebagai berikut : 19 1. Mengontrol redundansi data 2. Data yang konsisten 3. Banyak informasi dari sejumlah data yang sama 4. Membagi (sharing) data 5. Meningkatkan integritas data 6. Meningkatkan keamanan 7. Standarisasi Kerugian DBMS menurut Connolly (2010, p80) adalah sebagai berikut : 1. Kompleksitas 2. Ukuran 3. Biaya DBMS 4. Penambahan biaya piranti keras 5. Performa 6. Resiko kesalahan yang tinggi 2.7.6.3 Fungsi DBMS Fungsi DBMS dapat dilihat sebagai berikut : 1. Penyimpanan, pengembalian dan peng-updatean data 2. Memperbolehkan user untuk mengakses 3. Pendukung transaksi 4. Layanan pengontrolan data yang sama 5. Layanan perbaikan 6. Layanan hak akses 7. Pendukung untuk komunikasi data 8. Layanan integritas data 20 9. Layanan untuk meningkatkan data yang tetap (independence) 10. Layanan utilitas (kegunaan) 2.7.7 Database Language Setiap pengguna basis data memerlukan bahasa pemrograman yang dapat dipakai sesuai dengan fungsi dan tugasnya. Dalam basis data, secara umum dikenal dua bahasa, yaitu: 1. Data Definition Language (DDL) : bahasa yang dipakai untuk menjelaskan objek dari bahasa data. DDL memungkinkan pengguna untuk menspesifikasikan tipe dan struktur data serta batasan pada data yang tersimpan pada basis data. 2. Data Manipulation Language (DML) : bahasa yang dipakai untuk memanipulasi objek data dari basis data. DML dipakai untuk operasi terhadap isi basis data (insert, update, delete, select). 2.7.8 Normalisasi 2.7.8.1 Pengertian Normalisasi Menurut Connolly(2010, p415), normalisasi adalah suatu teknik yang menghasilkan himpunan relasi dengan properti yang diinginkan berdasarkan kebutuhan data dari sebuah perusahaan. 2.7.8.2 Tahap-tahap Normalisasi 1. Unnormalized Form (UNF) Menurut Connolly(2010, p430), UNF adalah suatu tabel yang berisikan satu atau lebih kumpulan data yang berulang (repeating group). Repeating group ialah sebuah/himpunan 21 atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut. 2. First Normal Form (1NF) Menurut Connolly(2010, p430), suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai. Sebuah relasi akan berada dalam bentuk 1NF jika repeating groupnya sudah hilang 3. Second Normal Form (2NF) Menurut Connolly(2010, p434), suatu relasi dikatakan 2NF jika relasi tersebut berada pada 1NF dan setiap atribut yang bukan primary key bergantung sepenuhnya terhadap primary key. 4. Third Normal Form (3NF) Menurut Connolly(2010, p436), suatu relasi dikatakan 3NF jika relasi tersebut berada dalam bentuk 1NF dan 2NF, dan tidak ada atribut yang bukan primary key bergantung secara transitif terhadap primary key. 2.7.9 Entity RelationshipModelling 2.7.9.1 Entity Types Menurut Connolly(2010, p372), tipe entitas adalah sekumpulan objek dengan properti yang sama yang diidentifikasi Entitas oleh perusahaan. Representasi Diagramatik dari Entitas Nama : 22 2.7.9.2 Relationship Types Menurut Connolly(2010, p334), tipe relasi adalah sekumpulan entitas yang memiliki relasi satu sama lain. Relationship Occurence adalah suatu gabungan yang dapat diidentifikasikan secara unik, yang meliputi satu kejadian dari setiap tipe entitas yang berpartisipasi. 2.7.9.3 Atribut Menurut Connolly (2010, p338), Atribut ialah sebuah properti dari sebuah entitas atau tipe relasi. Atribut terdiri dari : 1. Simple and Composite Attributes Simple attributes adalah atribut yang terdiri dari komponen tunggal dengan keberadaan independent (tetap). Atribut simple kadang disebut juga komponen atomik (tidak bisa dibagi). Composite attributes adalah atribut yang terdiri dari banyak komponen dengan keberadaan independent (tetap). 2. Single-Valued and Multi-Valued Attributes Single-Valued attributes adalah atribut yang memiliki nilai tunggal untuk masing – masing kejadian dari sebuah entitas. Multivalued attributes adalah atribut yang memiliki banyak nilai untuk masing – masing kejadian dari sebuah entitas. 23 3. Derived Attributes Derived attribute adalah atribut yang menggantikan sebuah nilai yang diturunkan dari nilai atribut yang berhubungan atau kumpulan dari atribut, tidak perlu pada jenis entitas yang sama. 2.7.10 Database System Development Life Cycle (DSDLC) Database System Development Life Cycle (DSDLC) adalah tahapantahapan terstruktur yang harus dilakukan untuk merancang aplikasi sistem basis data. Tahapan pada DSDLC tidak harus berurutan, tapi dapat melibatkan beberapa pengulangan ke tahapan sebelumnya melalui feedback loops. Tahapan-tahapan pada DSDLC tersaji pada gambar 2.1 berikut: Gambar 2.1 Database System Development Life Cycle 24 1. Database Planning Tujuan dari database planning (Connolly dan Begg 2010, p313) adalah merencanakan agar tahap-tahap dari aplikasi basis data dapat direalisasikan dengan seefektif dan seefisien mungkin. 2. System Definition Tujuan dari system definition (Connolly dan Begg 2010, p316) adalah menggambarkan ruang lingkup dari sistem basis data termasuk user view yang utama. 3. Requirement Collection and Analysis Requirement Collection and Analysis (Connolly dan Begg 2010, p316) adalah proses pengumpulan kebutuhan dan analisis informasi tentang suatu perusahaan dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan-kebutuhan untuk sistem yang baru. 4. Database Design Database design (Connolly dan Begg 2010, p320) adalah suatu proses menciptakan perancangan untuk basis data yang mencakup keseluruhan operasi dan tujuan-tujuan perusahaan. Dalam database desing terdapat tiga fase utama, yaitu perancangan koseptual, perancangan logika dan perancangan fisikal. 5. DBMS Selection Tujuan dari DBMS selection (Connolly dan Begg 2010, p325) adalah untuk memilih DBMS yang tepat untuk mendukung sistem basis data. Tahapan-tahapannya antara lain: 1. Mendefinisikan syarat-syarat sebagai referensi 2. Daftar singkat dua atau tiga produk 25 3. Evaluasi produk 4. Merekomendasikan pilihan dan memproduksi laporan 6. Application Design Tujuan application design (Connolly dan Begg 2010, p329) ialah merancang antarmuka pengguna dan program aplikasi yang digunakan dalam memproses basis data. Dua aspek dalam merancang aplikasi yaitu: 1. Perancangan transaksi Transaksi (Connolly dan Begg 2010, p288) ialah rangkaian aksi yang dilakukan oleh seorang pengguna yang mengakses atau mengubah isi dari basis data tersebut. Ada tiga jenis transaksi yaitu: • Retrieval transaction Digunakan untuk mendapatkan data yang ditampilkan pada layar atau pada pembuatan laporan • Update transaction Digunakan untuk memasukkan data baru, menghapus data lama atau memodifikasi data yang ada pada basis data. • Mixed transaction Mencakup pengambilan dan pengubahan data. 2. Perancangan antarmuka pengguna Elemen-elemen dalam merancang suatu antarmuka pengguna (Connolly dan Begg 2010, p289) antara lain: • Penetapan judul yang bermakna 26 • Instruksi-instruksi yang dapat dipahami • Bentuk form yang menarik secara visual • Penggunaan istilah atau singkatan yang konsisten • Pemberian tanda penyelesaian 7. Prototyping (optional) Prototyping (Connolly dan Begg 2010, p333) merupakan proses membangun sebuah model kerja dari aplikasi basis data. Tujuan utamanya ialah untuk memungkinkan pengguna menggunakan prototype untuk mengidentifikasi fitur-fitur yang bekerja dengan baik pada sistem serta kekurangannya, dan memberikan saran bagi peningkatan kerja sistem atau bahkan memberi masukan terhadap pengembangan/fitur-fitur baru ke dalam sistem basis data. 8. Implementation Implementation (Connolly dan Begg 2010, p333) merupakan realisasi fisikal dari desain basis data dan desain aplikasi. 9. Data Conversion and Loading Data Conversion and Loading (Connolly dan Begg 2010, p334) adalah suatu proses mengirim data yang ada ke dalam basis data baru dan mengubah aplikasi yang ada untuk dijalankan pada basis data baru. 10. Testing Testing (Connolly dan Begg 2010, p334) merupakan suatu proses mengeksekusi sistem basis data dengan tujuan untuk menemukan kesalahan. 27 11. Operational Maintainance Operational Maintainance (Connolly dan Begg 2010, p335) merupakan suatu proses memonitor dan memelihara sistem yang diikuti dengan instalasi. 2.7.11 Perancangan Basis Data Menurut Thomas M. Connolly dan Carolyn Begg (2010, p467), tahap utama dari siklus hidup aplikasi basis data ialah perancangan basis data. Tahap ini dimulai setelah analisis secara menyeluruh dari kebutuhan perusahaan yang dikerjakan. Tahap-tahap dalam perancangan basis data yaitu: 2.7.11.1 Perancangan Basis Data Konseptual Menurut Thomas M. Connolly dan Carolyn Begg (2010, p467), perancangan basis data konseptual adalah proses dari konstruksi sebuah model informasi yang digunakan dalam sebuah perusahaan, bebas dari pertimbangan semua fisikal. Langkah 1 Membangun Model Data Konseptual Lokal untuk Setiap View Bertujuan untuk membangun model data konseptual dari sebuah perusahaan untuk setiap view yang spesifik. Langkah 1.1 Mengidentifikasi tipe entitas Langkah pertama dalam membangun model data konseptual adalah dengan mendefinisikan objek – objek utama user. Objek-objek ini merupakan tipe – tipe entitas untuk model tersebut. Salah 28 satu metode mengidentifikasikan entitas adalah dengan memeriksa spesifikasi kebutuhan user dengan mengidentifikasikan kata benda. Setelah tipe – tipe entitas tersebut diidentifikasikan, pemberian nama untuk tiap – tiap entitas haruslah jelas bagi user. Nama dan deskripsi entitas sebaiknya disimpan pada kamus data. Jika sebuah entitas dikenal dengan nama lain yang disebut dengan sinonim atau alias, maka disimpan juga pada kamus data. Langkah 1.2 Mengidentifikasi tipe relasi Untuk mengidentifikasikan tipe relasi dapat dilakukan dengan mencari kata kerja pada spesifikasi kebutuhan user. Pada umumnya relasi bersifat biner, yaitu relasi tersebut berada hanya diantara dua tipe entitas. Namun perlu juga diperhatikan adanya relasi kompleks yang melibatkan lebih dari dua tipe entitas dan relasi rekursif yang melibatkan hanya satu tipe entitas. Setelah mengidentifikasikan relasi, langkah selanjutnya adalah menentukan multiplicity setiap relasi. Batasan multiplicity digunakan untuk memeriksa dan memelihara kualitas data. Deskripsi relasi 29 dan batasan – batasan multiplicity harus disimpan dalam kamus data. Langkah 1.3 Mengidentifikasi dan mengasosiasikan atribut dengan tipe entitas dan relasi Pada langkah ini dilakukan identifikasi tipe-tipe dari fakta mengenai entitas dan relasi yang telah dipilih untuk mewakili basis data. Untuk melakukan langkah ini biasanya dicari kata benda atau frase kata benda dari spesifikasi kebutuhan user. Langkah 1.4 Menentukan domain atribut Bertujuan untuk menentukan batasan atribut di model data konseptual lokal. Domain adalah kumpulan nilai – nilai yang diizinkan untuk satu atau lebih atribut. Contoh domain untuk atribut “Jenis Kelamin” pada tabel “staff” adalah sebuah karakter tunggal yang bernilai hanya “L” (untuk laki – laki) atau “P” (untuk perempuan). Sebuah model data yang baik menspesifikasikan domain untuk setiap atribut dan meliputi: 1. Kumpulan nilai – nilai yang diizinkan untuk atribut 2. Ukuran dan format atribut 30 Setelah domain atribut diidentifikasikan, nama– nama domain dan karakteristiknya disimpan pada kamus data. Langkah 1.5 Menentukan atribut candidate key dan primary key Candidate key adalah kunci yang unik atau tidak mungkin kembar atau berbeda dengan yang lain, dapat dipakai untuk mengidentifikasikan satu baris dalam tipe entitas. Composite key adalah candidate key yang terdiri dari dua atau lebih atribut. Primary key adalah candidate key yang dipilih sebagai kunci primer untuk mengidentifikasikan setiap entitas. Alternate key adalah candidate key yang tidak terpilih menjadi primary key. Foreign key adalah sebuah atribut atau kumpulan atribut dalam satu relasi yang sama dengan candidate key dari beberapa relasi (mungkin relasi yang sama). Langkah 1.6 Mempertimbangkan menggunakan konsep enchanced modeling (langkah optional) Bertujuan untuk mempertimbangkan konsep enhanced modeling seperti spesialisasi atau generalisasi, agregasi dan komposisi. Pada tahap ini jika memilih pendekatan spesialisasi, 31 diusahakan untuk memperhatikan perbedaan antara entitas dengan mendefinisikan satu atau lebih subclass dari sebuah entitas superclass. Jika menggunakan pendekatan generalisasi, diusahakan untuk mengidentifikasikan fitur – fitur umum antar entitas untuk mendefinisikan sebuah entitas Pendekatan superclass agregasi generalisasi. digunakan untuk merepresentasikan hubungan “mempunyai suatu” atau “bagian dari” antara tipe – tipe entitas, dimana yang ”keseluruhan” “bagiannya”. satu dan merepresentasikan yang Komposisi lainnya digunakan sebagai untuk merepresentasikan sebuah asosiasi antara tipe – tipe entitas yang terdapat kepemilikan yang kuat dan keterhubungan antara “keseluruhan” dan “bagiannya”. Langkah 1.7 Memeriksa model data berulang (redundancy) Bertujuan untuk memeriksa adanya redundansi pada model data. Ada 3 aktivitas pada tahap ini, yaitu: 1. Memeriksa kembali relasi one- to-one (1 : 1) Pada saat mengidentifikasi entitas, mungkin akan teridentifikasi dua entitas yang merepresentasikan objek yang sama pada 32 perusahaan. Untuk kejadian ini, kedua entitas tersebut harus digabungkan. Jika primary Key berbeda, pilih salah satu primary key tersebut dan biarkan yang lain sebagai alternate key. 2. Menghilangkan relasi yang redundansi Suatu relasi dikatakan redundan jika informasi yang sama dapat diperbolehkan melalui relasi yang lain. Model data yang baik seminimal mungkin tidak memiliki relasi yang redundan. 3. Mempertimbangkan dimensi waktu Dimensi waktu dari relasi sangat penting ketika menilai redundansi. Langkah 1.8 Validasi model konseptual lokal dengan transaksi pengguna Bertujuan untuk memastikan bahwa model konseptual mendukung kebutuhan transaksi yang diperlukan bagi view. Dua pendekatan yang mungkin dilakukan untuk memastikan bahwa model data konseptual lokal mendukung transaksi yang dibutuhkan adalah: 1. Mendeskripsikan transaksi Memeriksa apakah semua informasi (entitas, relasi, dan atributnya) yang dibutuhkan oleh setiap transaksi telah disediakan oleh model, 33 dengan mendokumentasikan sebuah deskripsi dari kebutuhan transaksi. 2. Memakai jalur transaksi Memvalidasi model data terhadap transaksi yang dibutuhkan yang melibatkan diagram yang merepresentasikan jalur setiap transaksi dalam Entity Relationship Diagram. Langkah 1.9 Meninjau kembali model data konseptual dengan pengguna Pada langkah ini model data konseptual lokal ditinjau ulang oleh user. Model data konseptual meliputi Entity Relationship Diagram dan dokumentasi pendukung yang menggambarkan model data tersebut. Jika terjadi anomali pada model data, maka harus dilakukan perubahan yang mungkin memerlukan pengulangan langkah – langkah sebelumnya. Proses ini terus diulang sampai model data tersebut benar – benar menjadi representasi aktual dari perusahaan. 2.7.11.2 Perancangan Basis Data Logikal Menurut Thomas M. Connolly dan Carolyn Begg (2010, p467, perancangan basis data logikal adalah suatu proses membangun sebuah model informasi yang digunakan dalam sebuah perusahaan berdasarkan sebuah model data spesifik tetapi bebas dari DBMS dan pertimbangan fisikal lainnya. 34 Langkah 2 Membangun dan Melakukan Validasi Model Data Logikal Lokal untuk Setiap View Bertujuan untuk membangun model data logikal dari model data konseptual lokal yang merepresentasikan view tertentu dari perusahaan dan memvalidasikan model tersebut untuk menjamin agar strukturnya benar (menggunakan teknik normalisasi) dan mendukung transaksi yang dibutuhkan. Langkah 2.1 Menghilangkan fitur-fitur yang tidak kompatibel dengan relational model (tahap optional) Pada tahap ini, struktur ditransformasikan ke bentuk yang lebih mudah ditangani oleh sistem. Tujuan dari tahap ini adalah: 1. Menghilangkan tipe relasi biner many-to-many (*:*) 2. Menghilangkan tipe relasi rekursif many-tomany (*:*) 3. Menghilangkan tipe relasi kompleks 4. Menghilangkan atribut yang multi-valued Langkah 2.2 Mendapatkan relasi untuk model data logikal lokal Bertujuan untuk membuat relasi untuk model data logika lokal untuk mewakili entitas, relasi dan atribut yang telah diidentifikasi. Berbagai 35 relasi yang dapat dihasilkan dari struktur model data, diantaranya : - Tipe entitas kuat - Tipe entitas lemah - Tipe relasi binari one-to-many (1 : *) - Tipe relasi binari one-to-one (1 : 1) - Relasi rekursif one-to-one (1 : 1) - Tipe relasi superclass / subclass - Tipe relasi binari many-to-many (* : *) - Tipe relasi kompleks - Atribut multi-valued Langkah 2.3 Validasi relasi menggunakan normalisasi Bertujuan untuk memvalidasikan relasi di dalam model data logikal lokal menggunakan teknik normalisasi. Proses normalisasi terdiri dari Unnormal Form (UNF), First Normal Form (1NF), Second Normal Form (2NF) dan Third Normal Form (3NF). Langkah 2.4 Validasi relasi dengan transaksi pengguna Tujuan untuk memastikan bahwa relasi di dalam model data logikal lokal mendukung kebutuhan transaksi bagi view. Validasi transaksi seperti ini sudah dilakukan pada langkah 1.8, namun dilakukan kembali untuk mengecek relasi – relasi 36 yang diciptakan pada rancangan logikal juga mendukung transaksi user. Langkah 2.5 Mendefinisikan batasan integritas (integrity constraints) Bertujuan untuk mengecek batas integritas yang direpresentasikan kedalam model data logikal. Ada 6 tipe batasan integritas, yaitu: 1. Required data Beberapa atribut harus memiliki sebuah nilai yang valid (tidak mengandung null). Contoh : setiap anggota staf harus memiliki hubungan posisi job (seperti supervisor atau asisten). 2. Attribute domain constraints Setiap atribut memiliki sebuah domain. Dengan kata lain sekumpulan nilai harus sah. Contoh : jenis kelamin untuk anggota staff boleh ‘M’ atau ‘F’, jadi domain atribut untuk jenis kelamin adalah karakter tunggal. Batasan ini harus diidentifikasi dalam kamus data. 3. Multiplicity Multiplicity merepresentasikan batasan relasi data di dalam sistem basis data. 4. Entity integrity 37 Primary key dari sebuah entitas tidak boleh null. Contoh: setiap baris dari relasi staff harus memiliki nilai untuk atribut primary key. 5. Referential integrity Foreign key menghubungkan setiap baris dari relasi anak untuk baris kedalam relasi induk dengan mencocokkan candidate key-nya. Referential integrity maksudnya adalah jika foreign key berisi sebuah nilai, yang nilainya harus menunjukan baris yang ada pada relasi induknya. 6. General constraints Terakhir, batasan umum harus diperhatikan. Meng-update entitas mungkin dikontrol oleh yang memiliki hak pembatas. Langkah 2.6 Meninjau kembali model data logikal lokal dengan pengguna Bertujuan untuk memastikan bahwa model data logikal lokal dan dokumen pendukung yang mendeskripsikan model yang sesuai dengan view. Model data logikal telah selesai dan didokumentasikan. Pada tahapan ini, model logikal dan dokumentasi tersebut di-review dengan user. 38 Langkah 3 Membangun dan Melakukan Validasi Model Data Logikal Global Bertujuan untuk mengkombinasikan model data logikal lokal individu menjadi sebuah model data logikal global yang mewakili perusahaan. Langkah 3.1 Menggabungkan model data logikal lokal ke model global Bertujuan untuk menggabungkan model data logikal lokal kedalam model data logikal global yang merepresentasikan semua user view dari sebuah sistem basis data. Kegiatan dalam tahap ini terdiri dari: 1. Menggabungkan model data logikal lokal ke dalam model global. 2. Memvalidasikan model data logikal global 3. Meninjau kembali model data logikal global dengan user Langkah 3.2 Validasi model data logikal global Bertujuan untuk melakukan validasi relasi-relasi yang dibuat dari model data logikal global dengan menggunakan teknik normalisasi dan menjamin relasi tersebut mendukung transaksi yang diperlukan, jika diperlukan. Langkah 3.3 Memeriksa untuk perkembangan kedepan 39 Bertujuan untuk menentukan adanya perubahan dan menilai apakah model data logikal bisa menampung perubahan ini. Langkah 3.4 Meninjau kembali model data logikal global dengan pengguna Bertujuan untuk menjamin bahwa model data logika global adalah perwakilan yang benar dari sebuah perusahaan. 2.7.11.3 Perancangan Basis Data Fisikal Menurut Thomas M. Connolly dan Carolyn Begg (2010, p467), perancangan sistem basis data fisikal adalah suatu proses menghasilkan deskripsi dari implementasi sistem basis data pada media sekunder yang menjelaskan relasi dasar, organisasi file, dan indeks yang digunakan untuk mengakses data seefisien mungkin dan batasan-batasan integritas yang diasosiasikan serta ukuran keamanannya. Langkah 4 Menerjemahkan Model Data Logikal Global untuk Target DBMS Bertujuan untuk menghasilkan skema basis data relasional dari model data logikal global yang dapat diimplementasikan pada DBMS pilihan. Bagian pertama dari proses ini memerlukan perbandingan informasi yang dikumpulkan selama perancangan sistem basis data logikal dan 40 didokumentasikan pada kamus data. Bagian kedua dari proses ini menggunakan informasi tersebut untuk menghasilkan desain relasi dasar. Proses ini memerlukan pengetahuan yang mendalam mengenai fungsionalitas yang ditawarkan oleh DBMS pilihan. Langkah 4.1 Merancang relasi-relasi dasar Bertujuan untuk memutuskan relasi dasar yang diidentifikasikan pada model data logikal global ke dalam target DBMS. Untuk memulai perancangan fisikal, pertama harus menyusun dan memahami informasi tentang relasi yang menghasilkan perancangan sistem basis data logikal. Kebutuhan informasi ini bisa berupa kamus data dan definisi relasi yang menggambarkan penggunaan Database Design Language (DBDL). Langkah 4.2 Merancang perwakilan dari data yang didapat (derived data) Bertujuan untuk merepresentasikan semua data yang telah didapat pada model data logikal global kedalam DBMS pilihan. Atribut yang nilainya dapat diperoleh dengan memeriksa nilai dari atribut lain disebut atribut yang didapat atau atribut hasil kalkulasi. Langkah pertama adalah 41 memeriksa model data logikal dan kamus data untuk menghasilkan daftar semua atribut yang didapat. Pada perancangan sistem basis data fisikal, atribut yang telah diperoleh dapat disimpan di dalam sistem basis data atau dikalkulasikan setiap kali diperlukan. Perancang harus memperhatikan biaya tambahan untuk menyimpan data yang telah diperoleh dan menjaganya agar tetap konsisten dengan data operasional dari mana data tersebut diperoleh atau biaya untuk mengkalkulasikan atribut tersebut setiap kali diperlukan. Langkah 4.3 Merancang batasan perusahaan (enterprise constraints) Bertujuan untuk merancang batasan perusahaan pada DBMS pilihan. Update terhadap data dapat dibatasi oleh aturan perusahaan yang mengatur transaksi “dunia nyata”. Perancangan batasan ini tergantung pada pemilihan DBMS yang akan digunakan. Beberapa DBMS menyediakan fasilitas ini, namun ada juga yang tidak menyediakannya sehingga untuk menentukan batasan harus dilakukan pada program aplikasi. Langkah 5 Merancang perwakilan fisikal 42 Bertujuan untuk menentukan organisasi file yang optimal untuk menyimpan relasi dasar dan indeks yang diperlukan untuk mendapatkan performa yang dapat diterima, yang mana adalah sebuah cara dalam relasi yang akan ditangani pada penyimpanan secondary. Langkah 5.1 Menganalisa transaksi Bertujuan untuk memahami fungsi transaksi yang akan dijalankan pada sistem basis data dan analisis transaksi yang penting. Dalam analisis transaksi, terdapat beberapa kriteria diantaranya: 1. Transaksi yang sering dijalankan akan memiliki pengaruh yang penting pada hasil. 2. Transaksi yang kritis untuk beroperasi pada bisnis 3. Waktu selama harian atau mingguan ketika dapat meningkatkan permintaan pada sistem basis data Langkah 5.2 Memilih organisasi file Bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. Salah satu tujuan utama dalam perancangan sistem basis data fisikal adalah untuk menyimpan dan mengakses data dengan jalur yang efisien. Langkah 5.3 Memilih indeks 43 Bertujuan untuk menentukan dengan penambahan indeks akan meningkatkan performa dari sistem atau tidak. Kriteria memilih atribut untuk ordering atau clustering tuple, antara lain: a. Atribut yang paling sering digunakan untuk operasi join sehingga operasi join tersebut menjadi lebih efisien, atau b. Atribut yang paling sering digunakan untuk mengakses tuple pada sebuah tabel berdasarkan urutan atribut tersebut. Jika urutan ordering yang dipilih adalah kunci dari tabel, indeks akan menjadi primary index namun jika bukan kunci, indeks akan menjadi clustering index. Indeks sekunder menyediakan sebuah mekanisme untuk menspesifikasikan key tambahan untuk relasi dasar yang dapat digunakan untuk mengambil data lebih efisien. Langkah 5.4 Memperkirakan kebutuhan kapasitas disk Bertujuan untuk memperkirakan jumlah kapasitas disk yang akan dibutuhkan oleh sistem basis data. Memperkirakan penggunaan kapasitas disk tergantung pada DBMS yang dipakai dan perangkat keras yang digunakan untuk mendukung sistem basis data. Secara umum, estimasi didasarkan pada ukuran setiap baris dan 44 jumlah baris dalam setiap tabel. Selain itu perlu juga dipertimbangkan apakah setiap tabel akan bertumbuh pertumbuhan dan ini sebaiknya akan faktor ke dalam dimasukkan perhitungan kebutuhan kapasitas disk. Langkah 6 Merancang view pengguna Bertujuan untuk merancang user view yang diidentifikasi selama tahapan pengumpulan kebutuhan dan analisis dari siklus aplikasi sistem basis data. User view mendefinisikan apa yang dibutuhkan dari aplikasi sistem basis data dari sudut pandang jabatan tertentu (misalnya manajer atau supervisor) atau area aplikasi perusahaan (seperti pemasaran, personalia, atau pengendalian stok). Perancangan dari user view individual harus didokumentasikan secara lengkap. Langkah 7 Merancang mekanisme keamanan Bertujuan untuk merancang mekanisme keamanan untuk sistem basis data yang dispesifikasi oleh user. - Keamanan Sistem 45 Meliputi akses dan penggunaan sistem basis data pada tingkatan sistem seperti username dan password. - Keamanan Data Meliputi akses dan penggunaan objek sistem basis data (seperti relasi dan view) dan tindakan yang memungkinkan user untuk memanipulasi objek. Langkah 8 Mempertimbangkan pengenalan dari redundansi yang terkontrol Bertujuan untuk menentukan apakah penerapan redundansi dalam situasi terkontrol dengan mengurangi aturan normalisasi akan meningkatkan performa sistem. Seringkali rancangan sistem basis data yang menyediakan maksimum ternormalisasi efisiensi sehingga tidak mampu pemrosesan denormalisasi yang dilakukan untuk mencapai performa yang diinginkan. Namun perlu dipertimbangkan beberapa faktor berikut: a. Denormalisasi menyebabkan implementasi menjadi lebih kompleks. b. Denormalisasi fleksibilitas. seringkali mengurangi 46 c. Denormalisasi dapat mempercepat pengambilan data namun memperlambat update. Denormalisasi untuk mempercepat transaksi yang sering dilakukan atau transaksi kritis dapat diaplikasikan pada situasi berikut: 1. Menggabungkan one-to-one (1 : 1) Menguji kembali relasi one-to-one (1 : 1) menentukan efek dari kombinasi relasi kedalam relasi tunggal. Kombinasi seharusnya hanya memperhatikan untuk relasi yang sering direlasi dan yang tidak sering direlasikan. 2. Menduplikasi atribut – atribut yang bukan kunci di dalam relasi one to many (1 : *) untuk mengurangi join. 3. Menduplikasi atribut – atribut foreign key didalam relasi one to many (1: *) 4. Menduplikasi atribut dalam many to many (* : *) relasi untuk mengurangi join 5. Mempelajari kelompok repetisi 6. Membuat tabel kutipan 7. Membagi relasi Langkah 9 Mengawasi (monitor) dan tuning sistem operasi Bertujuan untuk mengawasi sistem operasional dan meningkatkan performa sistem untuk memperbaiki 47 keputusan rancangan yang kurang tepat atau adanya perubahan kebutuhan. Perancangan awal sistem basis data secara fisikal seharusnya tidak dianggap statis, melainkan harus dipertimbangkan sebagai sebuah perkiraan dari kinerja operasional. Setelah perancangan awal telah diimplementasikan, maka diperlukan pengawasan sistem dan penyetelannya sebagai hasil dari pengamatan kinerja dan perubahan kebutuhan. 2.8 Diagram Konteks Diagram konteks merupakan level tertinggi di dalam Data Flow Diagram yang hanya terdiri dari satu simbol proses yang menggambarkan sistem secara keseluruhan. Diagram konteks berisi gambaran umum (secara garis besar) sistem yang akan dibuat. Diagram konteks berisi “siapa saja yang memberi data (dan data apa saja) ke sistem, serta kepada siapa saja informasi (dan informasi apa saja) yang harus dihasilkan sistem.” Jadi, yang dibutuhkan adalah (1) Siapa saja pihak yang akan memberikan data ke sistem. (2) Data apa saja yang diberikannya ke sistem. (3) Kepada siapa sistem harus memberi informasi atau laporan. (4) Apa saja isi/ jenis laporan yang harus dihasilkan sistem. Kata “Siapa” di atas dilambangkan dengan kotak persegi (disebut dengan terminator), dan kata “apa” di atas dilambangkan dengan aliran data (disebut dengan data flow), dan kata “sistem” dilambangkan dengan lingkaran (disebut dengan process). 48 Gambar 2.2 Elemen Diagram Konteks 2.9 Use Case Diagram • Definisi Mengacu pada pendapat Jason T.Roff (2003) pengertian use case diagram dapat dikemukakan sebagai berikut : − Use case diagram digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem (atau bagian sistem : subsistem atau class) ke pemakai. − Use case diagram dapat dilingkupi dengan batasan sistem yang diberi label nama sistem. − Use case diagram adalah sesuatu yang menyediakan hasil yang dapat diukur ke pemakai atau sistem eksternal. • Karakteristik : − Use case diagram adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem. 49 − Use case diagram diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use case harus menyediakan nilai minimal kepada satu actor. − Use case diagram bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau use case lain mungkin disisipkan. − Use case diagram memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal. • Komponen Pembentuk Use Case Diagram 1. Actor Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Mengacu pada pendapat Jason T.Roff (2003) actor mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man . Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship. 50 Gambar 2.3 : Gambar Actor 2. Use Case Mengacu pada pendapat Jason T.Roff (2003) use case dapat dikemukakan sebagai suatu gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun. Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan Ude case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian. • Cara menentukan Use Case dalam suatu sistem a) Pola perilaku perangkat lunak aplikasi. b) Gambaran tugas dari sebuah actor. c) Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor. d) Apa yang dikerjakan oleh suatu perangkat lunak (bukan bagaimana cara mengerjakannya). Gambar 2.4 : Gambar Use Case • Relasi dalam Use Case Ada beberapa relasi yang terdapat pada use case diagram : 51 a) Association, menghubungkan link antar element. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya. b) Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya. c) Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya. • Tipe relasi / stereotype yang mungkin terjadi pada use case diagram a) include : kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya. b) extends : kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm. c) communicates : mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case. 52 • Contoh Use Case Diagram pada sistem perbankan Gambar 2.5 : Contoh Use Case Diagram 2.10 Class Diagram Mengacu pada pendapat Jason T.Roff (2003) class diagram dapat dikemukakan sebagai suatu gambaran struktur dan deskripsi class, package, dan objek beserta hubungan satu sama lain seperti hubungan dinamis, pewarisan, asosiasi, dan agregasi. Sesuai perkembangan class model, class dapat dikelompokkan menjadi package. Sehingga dapat membuat diagram yang terdiri atas package. • Bagian Class Diagram Class Diagram memiliki tiga area pokok : − Nama (dan stereotype) − Atribut − Metode 53 Gambar 2.6 : Contoh Class Diagram • Komponen Class Diagram Class Diagram mempunyai 3 komponen, antara lain : a. Entity Classes o Segala sesuatu (concrete, conceptual, event dan state) dapat dijadikan suatu entity dalam suatu class. o Metode penentuan Entity Class − Client Interview − Mempelajari dokumen yang sudah ada b. Interfaces Classes o Pada Interfaces Classes terdapat 3 komponen pendukung, antara lain : − User Interface − Data Communication Interfaces − Sistem Control 54 o Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. o Interface tidak dapat langsung diinstanisasi, tetapi harus diimplementasi dahulu menjadi sebuah class. Dengan demikian interface pendukung resolusi metoda pada saat run time. c. Control Classes Control classes merupakan suatu class yang difungsikan untuk mengatur Entity Classes dan Interfaces Classes. • Hubungan antar Class o Asosiasi Hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. o Agregasi Hubungan yang menyatakan bagian (“terdiri atas..”). Beberapa class dapat mempunyai hubungan agregasi jika salah satu class berisi atribut-atribut yang ada pada class lain. o Pewarisan Hubungan hierarki antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari 55 class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. o Hubungan Dinamis Rangkaian pesan (message) yang di-passing dari satu class kepada class lain.Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram. 2.11 Sequence Diagram Mengacu pada pendapat Jason T.Roff (2003) sequence diagram dapat dikemukakan sebagai suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Sequence diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram. Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis vertikal, disebut lifeline, dilekatkan pada setiap obyek atau aktor. Kemudian, lifeline tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi, kotak tersebut disebut activation box. Obyek dikatakan mempunyai live activation pada saat tersebut. Pesan yang dipertukarkan antar obyek digambarkan sebagai sebuah anak panah antara activation box pengirim dan penerima. Kemudian diatasnya diberikan label pesan. Salah satu contoh sequence diagram digambarkan sebagai berikut : 56 Gambar 2.7 : Gambar Sequence Diagram Tujuan penggunaan sequence diagram o Mengkomunikasikan requirement kepada tim teknis karena diagram ini dapat lebih mudah untuk dielaborasi menjadi model design. o Merupakan diagram yang paling cocok untuk mengembangkan model deskripsi usecase menjadi spesifikasi design. 2.12 Eight Golen Rules Mengacu pada pendapat Ben Shneiderman dan Catherine Plaisant (2010) mengemukakan 8 (delapan) aturan yang dapat digunakan sebagai petunjuk dasar yang baik untuk merancang suatu user interface. Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design, yaitu : 1. Konsistensi Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Memungkinkan pengguna untuk menggunakan shortcut 57 Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. Merancang dialog untuk menghasilkan suatu penutupan Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan penanganan kesalahan yang sederhana Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. 6. Mudah kembali ke tindakan sebelumnya Hal ini dapat mengurangi kekhawatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga 58 pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung tempat pengendali internal (internal locus of control) Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikian rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan.