BAB 2 LANDAS AN TEORI 2.1 Analisis dan Perancangan Sistem 2.1.1 Pengertian Analisis dan Perancangan Sistem M enurut O’Brien (2003, p8), analisis adalah studi sistem untuk menentukan apa yang dilakukan diberbagai keadaan dan konsekuensi dari apa yang dikerjakan. Sedangkan sistem adalah sekumpulan komponen yang berhubungan, bekerja sama untuk tujuan yang sama dengan menerima input dan menghasilkan output dalam sebuah proses transformasi yang terorganisasi. Sebuah sistem, dalam hal ini sistem informasi, didefinisikan oleh Whitten et al(2001, p8) sebagai sebuah pengaturan/rule dimana manusia, data, dan proses tampilan informasi serta teknologi informasi berinteraksi untuk mendukung dan meningkatkan proses penyebaran informasi serta mendukung kebutuhan user/pengguna akan hal yang menyangkut dengan masalah dan pemecahannya. Whitten (2001, p165) menuliskan bahwa analisis sistem merupakan sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi beberapa komponen dengan tujuan untuk mempelajari seberapa baik kinerja dan interaksi dari komponen tersebut sehingga dapat meraih keuntungan. Jadi dapat disimpulkan analisis sistem adalah memeriksa, meneliti, menentukan apa yang dilakukan oleh sistem, serta mencari letak kesalahan
6
7 sistem yang sudah ada, kemudian memperbaiki atau memperbaharui dalam merancang sistem yang baru. Perancangan Sistem adalah penentuan proses dan berbagai jenis data yang diperlukan oleh sistem baru (M cLeod, 2001, p192). Jika sistem tersebut berbasis komputer, maka rancangan dapat menyertakan spesifikasi jenis peralatan yang dibutuhkan. Jadi dapat disimpulkan bahwa perancangan sistem adalah penentuan bagaimana sebuah sistem akan dibuat, dan pengembangannya sesuai dengan yang diinginkan oleh analisis sistem baik penentuan proses maupun datanya. 2.1.2 Aplikasi Kata ”aplikasi”, dalam hal ini aplikasi perangkat lunak, didefinisikan Ensiklopedi Wikipedia sebagai subclass dari perangkat lunak komputer yang menggunakan kemampuan secara langsung untuk melakukan suatu perintah yang diinginkan oleh pengguna. Aplikasi berbeda dengan sistem perangkat lunak yang bekerja untuk mengintegrasikan kemampuan yang berbeda-beda dari sebuah komputer, tetapi secara umum tidak mengaplikasikannya secara langsung untuk meningkatkan keuntungan pengguna. Dalam konteks ini, kata ”aplikasi” merujuk kepada aplikasi perangkat lunak Software).
maupun implementasinya (Anonim, Aplikasi
8 2.1.3 Software Development Life Cycle (S DLC) M enurut ensiklopedi online wikipedia.org, SDLC adalah proses pengembangan piranti lunak, walaupun SDLC itu sendiri adalah proses yang tidak tergantung pada piranti lunak. SDLC digunakan oleh para system analyst untuk mengembangkan sebuah sistem informasi termasuk kebutuhan, validasi, pelatihan, dan kepemilikan pengguna melalui investigasi, analisis, perancangan, implementasi dan perawatan. SDLC juga dikenal sebagai pengembangan sistem informasi atau pengembangan aplikasi. Sebuah SDLC harus menghasilkan sistem berkualitas tinggi yang memenuhi atau bahkan melebihi harapan pelanggan dalam hal perkiraan waktu dan harga, dapat bekerja dengan efektif dan efisien dalam infrasturuktur teknologi informasi yang ada sekarang atau yang sedang dirancang, serta membutuhkan biaya yang rendah dalam perawatannya dan cost-effective dalam pengembangan selanjutnya. (Anonim, Software Development Life Cycle). Selain itu, SDLC juga merupakan model konseptual yang digunakan dalam manajemen proyek yang mendeskripsikan tahapan-tahapan yang dilakukan dalam proyek pembangunan sistem informasi, mulai dari studi kelayakan pertama sampai perawatan aplikasi yang telah sempurna. Ada banyak metode yang dikembangkan untuk menuntun jalannya proses pengembangan yang harus dilalui, misalnya Rapid Application Development (RAD), fountain model, spiral model dan waterfall model (metode SDLC klasik). (Anonim, Software Development Life Cycle)
9
M enurut Pressman (1987, pp20-21), paradigma siklus hidup klasik dalam perancangan piranti lunak, yang terkadang disebut sebagai model waterfall, menuntut pendekatan yang sistematis dan terurut pada pengembangan piranti lunak yang dimulai pada perancangan sistem dan berlanjut ke analisis, perancangan, coding, testing, sampai perawatan sistem. Paradigma siklus hidup waterfall ini meliputi aktifitas berikut : 1.
System Analysis and Design Karena piranti lunak selalu merupakan bagian dari sistem yang lebih
besar, tahap ini dimulai dengan membuat daftar kebutuhan untuk setiap elemen sistem dan mengalokasikan sebagai subset dari kebutuhan tersebut ke dalam piranti lunak. Tahapan ini sangat penting ketika piranti lunak harus bekerjasama dengan elemen lain seperti piranti keras, masyarakat dan basis data. Analisis dan perancangan sistem meliputi pengumpulan kebutuhan pada tingkat sistem ditambah dengan sedikit analisis dan perancangan tingkat akhir. 2. Software Requirement Analysis Proses pengumpulan kebutuhan dilakukan dengan lebih intens dan lebih terfokus pada piranti lunak. Untuk mengetahui sifat dari program yang akan dibuat, perancang piranti lunak(Analyst) harus mengerti baik ruang lingkup informasi piranti lunak maupun fungsi-fungsi, fitur, dan antarmuka yang dibutuhkan. Kebutuhan yang harus dipenuhi baik sistem maupun piranti
10 lunak akan didokumentasikan dan kemudian di review bersama-sama dengan pelanggan. 3. Design Perancangan piranti lunak adalah proses yang terfokus pada 3 attribut yang berbeda dari program: struktur data, arsitektur piranti lunak, dan detil prosedur. Proses perancangan ini menerjemahkan kebutuhan menjadi sebuah representasi piranti lunak yang dapat diuji kualitasnya sebelum proses coding dimulai. Sama halnya dengan kebutuhan sistem, hasil perancangan ini juga didokumentasikan dan menjadi bagian dari konfigurasi piranti lunak. 4.
Coding Hasil rancangan dari tahap di atas harus diterjemahkan menjadi bahasa
yang dapat dibaca mesin, yang akan dilakukan dalam tagap coding. Jika perancangan dilakukan dengan detil, coding akan dapat dilakukan secara mudah. 5.
Testing Sesudah code dihasilkan, testing program dimulai. Proses testing
difokuskan pada logika piranti lunak, memastikan bahwa setiap pernyataan sudah diuji, dan pada fungsi eksternal, yang dilakukan dengan menjalankan tes untuk memastikan input yang dimasukkan akan menghasilkan hasil yang sama dengan hasil yang diinginkan.
11 6.
Maintenance Piranti lunak pasti akan mengalami perubahan setelah dikirimkan ke
pelanggan(salah satu pengecualian adalah embedded software). Perubahan akan terjadi karena error telah ditemukan, karena piranti lunak harus disesuaikan dengan lingkungan eksternal, atau karena pelanggan membutuhkan enginkatan fungsi atau peforma. Perawatan sistem mengaplikasikan tahapan siklus hidup piranti lunak yang sebelumnya ke program yang sudah ada, bkan ke program yang baru. 2.2 Internet 2.2.1 Definisi Internet Internet adalah jaringan besar yang dibentuk oleh interkoneksi jaringan computer tunggal di seluruh dunia lewat saluran telepon, satelit, dan sistem komunikasi lainnya (Ellsworth, 1997, p.3). Internet dalam arti yang lebih luas meliputi individu, kelompok, organisasi, sekolah, universitas, layanan komersial, perusahan, pemerintah, dan mereka yang menggunakan standar protokol TCP/IP dan biasanya memelihara koneksi di Internet. 2.2.2 Protokol pada Internet Pengertian Protokol Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan komunikasi, dan perpindahan data antara dua atau lebih titik computer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras (Anonim, Protokol).
12 Hyper Text Transfer Protocol (HTTP) Internet beroperasi menggunakan satu set protokol yang mengontrol dan mengarahkan di dalam jaringan,secara keseluruhan protokol ini disebut Transfer Control Protocol / Internet Protocol (TCP/IP). Beberapa protocol ini adalah File Control Protocol (FTP), Simple Mail Transfer Protocol (SM TP), dan Hyper Text Transfer Protocol (HTTP). Protokol HTTP digunakan oleh World Wide Web (WWW) untuk ditransfer dan memproses file HTM L (Kurniawan, 2001, p.12). File Transfer Protocol (FTP) File Transfer Protokol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang mendukung protocol TCP/IP. Dua hal penting yang ada dalam FTP adalah FTP server dan FTP client. FTP server menjalankan software yang digunakan untuk tukar menukar file, yang selalu siap memberian layanan FTP apabila mendapat request dari FTP client. FTP client adalah komputer yang me-request koneksi ke FTP server untuk tujuan tukar menukar file (mengupload atau mendownload file). Tujuan FTP server adalah sebagai berikut : •
Untuk men-sharing data,
•
Untuk menyediakan teempat penyimpanan bagi user,
•
Untuk menyediakan transfer data yang reliable dan efisien.
13 Transmission Control Protocol / Internet Protocol (TCP/IP) Transmission Control Protocol / Internet Protocol (TCP/IP) adalah satu set protocol utama yang digunakan di internet, yang dibuat oleh Departement of Defence (DoD) untuk memastikan dan menjaga integritas data (Lammle, 2004, p67). TCP/IP digunakan bersama dalam mengirim dan menerima data atau informasi.
2.2.3 Teori Internet Service World Wide Web (WWW) World Wide Web (WWW) atau dikenal dengan sebutan web saja, merupakan system yang menyebabkan pertukaran data di internet menjadi mudah dan efisien (Ellsworth, 1997, p.4). Web pada awalnya ruang informasi dalam internet, dengan menggunakan teknologi hypertext, pengguna dituntun untuk menemukan informasi dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan oleh web browser. Kini internet indentik dengan web, karena kepopuleran web sebagai standar interface pada layanan-layanan yang ada pada internet, dari awal sebagai penyedia informasi, hingga kini digunakan untuk komunikasi lewat email sampai dengan chatting, bahkan melakukan transaksi bisnis. Web memudahkan pengguna computer untuk berinteraksi dengan pelaku pelaku internet. Selain itu, web telah diadopsi oleh perusahaan sebagai bagian dari strategi teknologi informasi, karena beberapa alasan berikut :
14 1.
Akses informasi mudah.
2.
Informasi mudah didistibusikan
3.
Bebas platform, informasi dapat disajikan oleh web browser pada sistem operasi mana saja karena adanya standar dokumen, sehingga berbagai tipe data dapat disajikan.
Uniform Resource Locators (URL) URL yang merupakan singkatan dari Uniform Resource Locators adalah cara standar yang digunakan untuk menentukan situs atau halaman pada internet. URL merupakan cara standar untuk menampilkan informasi tentang jenis, isi, dan lokasi file, lokasi komputer di internet, letak file di dalam komputer, dan protokol internet yang digunakan untuk mengakses file itu. Internet itu sangat besar, merupakan interkoneksi terdistribusi, tempat yang sangat tidak seragam, dan URL menstandarkan dari keanekaragaman ini (Ellsworth, 1997, p.42). Format umum dari sebuah URL adalah : Protocol Transfer: //nama_host/Path/nama_file Hypertext Text Markup Language (HTML) HTM L merupakan singkatan dari Hypertext Text Markup Language. HTM L digunakan untuk membangun suatu halaman web. HTM L bukan suatu bahasa pemrograman melainkan markup atau penandaan terhadap suatu dokumentasi teks. Tanda tersebut digunakan menentukan format atau style dari teks yang ditandai (Kurniawan, 2001, p.7).
15 Dokumen HTM L disebut markup language karena mengandung tanda-tanda (tag) yang didahului tanda “<” dan diakhiri dengan tanda “>” yang digunakan untuk menentukan tampilan teks dalam suatu dokumen. HTM L merupakan bahasa standar yang digunakan oleh semua web browser. HTM L merupakan bahasa yang tidak tergantung pada platform tertentu, yang artinya dapat dipindahkan dari satu komputer ke komputer lainnya yang jenisnya berbeda. Dokumen HTM L adalah file teks regular (yang disebut juga file ASCII) yang dibuat dengan menggunakan teks editor (notepad dari windows), dengan program pengolahan data (word processor, seperti Microsoft Word) dan program HTM L generator seperti Microsoft Front Page. Halaman Web S tatis dan Dinamis Dokumen HTM L yang disimpan dalam bentuk file adalah contoh dari halaman web statis, dimana isi dari dokumen tersebut tidak akan berubah kecuali file tersebut dirubah. Disisi lain, isi dari halaman web dinamis diproses setiap kali halaman tersebut diakses. Sebagai hasilnya, sebuah halaman web dinamis dapat memiliki keistimewaan yang tidak akan dapat ditemukan pada halaman web statis, seperti dapat merespon terhadap masukan dari browser. M isalnya, mengembalikan data yang di minta dari penyelesaian sebuah form atau hasil dari database query. (Connoly, 2005, p.1004).
16 2.2.4 Pemrograman Internet PHP Bahasa scripting adalah bahasa yang dapat menambah fitur-fitur tambahan secara tertulis pada HTM L, mengingat terbatasnya kemampuan HTM L. Bahasa scripting dibagi menjadi 2 jenis yaitu, server-side script dan client-side script. Server-side script adalah script yang diterjemahkan oleh web-server. Server-side script merupakan satu set instruksi yang diproses oleh server, dan menghasilkan HTM L. HTM L yang dihasilkan dikirim sebagai bagian dari tanggapan HTTP ke browser. Browser kemudian menampilkan HTM L tersebut. Sedangkan client-side script merupakan script yang diterjemahkan oleh browser. PHP merupakan singkatan dari Hypertext Preprocessor adalah serverside script yang tergabung dengan HTM L yang didukung oleh banyak web server termasuk server HTTP Apache, dan Internet Information Server (IIS) milik Microsoft. PHP juga merupakan bahasa yang lebih disukai pada bahasa scripting web Linux. Pengembangan PHP telah dipengaruhi sejumlah bahasa pemrograman lain seperti Perl, ‘C’, Java, dan bahkan beberapa cakupan ASP (Active Server Pages). PHP memiliki kelebihan, yaitu : •
Ekstensibility, memiliki cakupan yang luas,
•
Sejumlah modul disediakan untuk mendukung hal-hal seperti hubungan dengan database, mail, dan XM L,
17 •
Didukung oleh sejumlah besar ISP (Internet Service Providers), yang berarti aplikasi yang ditulis dalam PHP dapat dengan mudah diletakkan di web untuk dilihat oleh siapa saja.
Dibawah ini merupakan langkah-langkah untuk mengirim sebuah halaman web : •
Pertama-pertama client meminta halaman web kemudian web server mencari lokasi dari halaman web yang diminta,
•
Jika halaman tersebut merupakan halaman PHP, maka web server perlu untuk
memproses PHP
untuk
menghasilkan
HTM L yang akan
dikembalikan ke browser. Pada tahap ini jika nama dari halaman web diakhiri dengan .php, maka server mengirimnya ke mesin script PHP (yang ada di web server) untuk diproses. Jadi code PHP dimasukkan kesalah satu ujung web server yang kemudian menghasilkan output berupa halaman HTM L murni, •
Halaman HTM L tersebut kemudian dikirimkan ke browser,
•
Pada browser, halaman HTM L tersebut akan diterjemahkan untuk ditampilkan.(Choi, 2000, p2, pp49-51).
18
Gambar 2.1 Arsitektur PHP Sumber : (http://www.onlamp.com/onlamp/2007/07/19/graphics/Figure%201.png) Java script Java adalah sebuah teknologi dalam bidang pemrograman dan multi platform yang diprakarsai oleh Sun M icrosystem dari sebuah proyek yang bernama The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Oak diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja “bapak java”, James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi “Java”. Nama ini diambil dari kopi murni yang digiling langsung dari
19 biji (kopi tubruk) kesukaan Gosling. Proyek ini dimotori oleh Patrick Naughton, M ike Sheridan, James Gosling dan Bill Joy, beserta 9 pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang. Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Javascript adalah salah satu bahasa pemrograman yang dikembangkan oleh Netscape untuk dipakai pada pembuatan halaman web yang dinamis dan interaktif. Javascript merupakan bahasa pemrograman yang dibuat untuk memudahkan bagi setiap orang untuk mempelajari bahasa Java. Bahasa pemograman javascript dibuat secara khusus untuk membuat suatu halaman web yang interaktif maupun dinamis. Jika java merupakan bahasa pemograman dan HTM L (Hyper Text Markup Language) merupakan bahasa kode maka javascript hibrid yang menjadi perpaduan antara bahasa java dengan HTM L. JpGraph JpGraph adalah salah satu library dari PHP yang berfungsi untuk membuat dan memanipulasi grafik. Dengan menggunakan JpGraph, seorang programmer dapat dengan mudah menggambar suatu grafik dengan menggunakan class dan method yang ada pada JPGraph. Library dapat digunakan untuk membuat berbagai jenis grafik baik on-line atau menulis ke file.
20
2.2.5 Web Browser Web Browser adalah suatu program komputer yang menyediakan fasilitas untuk membaca halaman web disuatu komputer (Febrian, 2002, p454). Web browser berfungsi untuk meminta informasi berupa teks, grafik, gambar, suara, atau video, dari web server. Contoh dari web browser adalah Microsoft Internet Explorer, Netscape Navigator, NSCA Mosaic, dan Mozilla Firefox. Banyak informasi pada web disimpan dalam dokumen-dokumen dengan menggunakan sebuah bahasa yang disebut HTM L, dan web browser harus mengerti dan menerjemahkan HTM L untuk menampilkan dokumendokumen ini. (Connolly, 2005, p998). Web browser dapat berjalan diberbagai platform seperti Windows, UNIX, dan Mac OS. Pada WWW, semua server yang berjalan pada mesin client yang terhubung melalui internet. Web browser mengirimkan permintaan akan halaman web dan domain name menerjemahkan alamat menjadi lokasi fisik dan menemukan jalur ke lokasi halaman. (Chaudhury, 2002, pp190-191). 2.2.6 Web Server Web server adalah sebuah computer dengan perangkat lunak yang terasosiasi yang tergabung sepanjang waktu pada internet. Komponen perangkat lunak utama dari web server adalah HTTP server (Chaudhury, 2002, p196). Web server merupakan tempat penyimpanan informasi.
21 Seringkali Web server harus memproses permintaan client sebelum dapat mengirim informasi. Web server adalah mesin yang bertindak sebagai tempat penyimpanan halaman web.
Sebuah web server terdiri dari (Chaudhury, 2002, p190) : •
Perangkat keras, berupa sebuah PC, workstation, atau komputer mainframe.
•
Sistem Operasi seperti Windows NT, UNIX, atau beberapa sistem operasi mainframe seperti MVS dan VMS yang berjalan pada perangkat keras.
•
Perangkat lunak dari web server, yang berjalan pada puncak dari sistem operasi. Beberapa produk web server yang popular adalah Microsoft IIS, iPlanetEnterprise Server dan Apache Web Server.
2.3 Unified Modelling Language (UML) 2.3.1 Sejarah UML UM L (dulu bernama OM T – Object Modelling Technique) adalah sebuah
bahasa
yang telah
menjadi standar
dalam
industri untuk
memvisualisasi, menspesifikasi, merancang dan mendokumentasi sistem piranti lunak (Booch et al, 1999, p14). UM L menawarkan sebuah standar yang dicetuskan oleh IBM untuk merancang model sebuah sistem. Seperti bahasabahasa lainnya, UM L juga memiliki notasi. Notasi UM L merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu dan UM L menjelaskan bagaimana bentuk-bentuk tersebut didefinisikan. Notasi UM L terutama
22 diturunkan dari tiga notasi yang telah ada sebelumnya yaitu Graddy Booch OOD (Object Oriented Design), Jim Rumbaugh OM T (Object Modelling Technique) dan Ivan Jacobson (Object Oriented Software Engineering). Dimulai pada bulan Oktober 1994, Booch, Rumbaugh dan Jacobson yang merupakan
tiga tokoh dimana metodenya banyak digunakan,
mempelopori usaha untuk penyatuan pendesainan berorientasi objek (Booch et al, 1999, pXIX). Pada tahun 1995 dirilislah UM L (versi 0.8). Sejak tahun 1996 pengembangan tersebut lalu dikoordinasikan oleh Object Managemet Group (OMG). Sejak itulah UM L menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek. 2.3.2 Faktor pendorong dibuatnya UML M embangun model untuk suatu sistem piranti lunak sangat bergantung pada konstruksinya atau kemudahan dalam memperbaikinya. Oleh karena itu, membuat model sangat penting sebagai mana pentingnya memiliki cetak biru untuk bangunan besar. M odel yang bagus sangat penting untuk menghasilkan komunikasi yang baik antar anggota tim dan untuk meyakinkan sempurnanya arsitektur sistem yang dibangun. Jika ingin membangun suatu model dari suatu sistem yang kompleks, tidak mungkin kita dapat memahaminya secara keseluruhan. Dengan meningkatnya kompleksitas sistem , visualisasi dan pemodelan menjadi sangat penting. UM L dibuat untuk merespon kebutuhan tersebut.
23 2.3.3 Tujuan UML M elihat dari factor sejarah dan pendorong terbentuknya UM L ini, dapat ditarik suatu kesimpulan mengenai tujuan dibentuknya UM L yang terangkum sebagai berikut : •
M emberikan gambaran model konseptual piranti lunak dari suatu bahasa pemograman yang tekstual sehingga dapat dimengerti oleh orang yang non-programmer.
•
M embangun model yang tepat, tidak ambigu, dan lengkap yang dapat membantu
dalam
tahap-tahap
dari
analisis,
perancangan
dan
implementasi. •
Dapat memodelkan beberapa jenis bahasa pemograman dan membantu memetakan kembali model tersebut ke suatu bahasa pemograman yang lain.
•
M embantu dalam dokumentasi perancangan piranti lunak.
2.3.4 Beberapa bagian dari UML A. Use Case Diagram Use Case Diagram menggambarkan sekumpulan use case dan aktor serta hubungannya (Booch et al, 1999, p234). Yang ditekankan adalah “apa” yang dilakukan terhadap sistem dan bukan “bagaimana”. Sebuah use case menggambarkan interaksi antara aktor dengan sistem. Dibawah ini dijelaskan
24 bagian use case diagram : a)
Aktor Aktor adalah segala sesuatu yang melakukan interface/antar muka
dengan sistem, seperti orang, piranti lunak, piranti keras, atau jaringan (Schneider dan Winters, 1997, p12). Tiap-tiap aktor menunjukkan perannya masing-masing. Contohnya, seorang aktor dapat memberikan input ke dalam dan menerima informasi dari aplikasi piranti lunak. Gambar aktor dengan nama aktor tersebut dibawahnya :
Aktor
Gambar 2.2 Aktor b)
Use Case Use Case menggambarkan segala sesuatu yang aktor ingin lakukan
terhadap sistem. Use Case harus merupakan “apa” yang dikerjakan piranti, bukan “bagaimana” aplikasi piranti lunak mengerjakannya. Suatu sistem yang kompleks memiliki banyak use case, sehingga perlu diorganisasi. Gambar use case :
25
Gambar 2.3 U se Case Untuk menghubungkan antara aktor dan use case digunakan simbol garis yang disebut sebagai relationship. Dengan adanya sebuah use case diagram maka akan membantu dalam menyusun kebutuhan sebuah sistem dan mengkomunikasikannya dengan klien. c)
System Boundary (Batas Sistem) Batas sistem adalah daerah yang membatasi antara sistem yang satu
dengan sistem lainnya. Dengan adanya batas sistem maka sistem dapat membentuk suatu kesatuan, karena dengan batas sistem ini fungsi dan tugas dari subsistem yang satu dengan lainnya berbeda tetapi tetap saling berinteraksi. Dengan kata lain batas sistem ini merupakan ruang lingkup atau scope dari sistem / sub sistem itu sendiri. •
System boundary ialah batas antara sistem dan actor.
•
Biasa digambarkan dengan bentuk persegi.
•
Semua use case harus berada didalam system boundary. Use case digunakan untuk menspesifikasikan behaviour dari beberapa
entity seperti sistem atau sub sistem, dikenal sebagai subjek. Use case tidak menspesifikasikan detail bagaimana suatu behaviour dilakukan. Namun,
26 detailnya akan diuraikan menggunakan model lainnya sebagai proses dari perancangan sistem.(Bennet,Skelton,Lunn;2005;p21)
Gambar 2.4 Contoh Use case diagram
T he us e r of the s y s te m U se r
U s e C a se
T he u s e c a s e o f t he s y s te m
S y s te m T he s y s te m b ou nd ar y
T he ge ne ra liz ation o f e ac h us e c as e
T h e r ela tion s hip b et we en tw o us e c as e s
T he c om m un ic a tion be tw ee n th e u s er a nd the u s e c a s e
Gambar 2.5 Bagian-bagian Use Case
27 B. Class Diagram Class diagram menunjukkan entitas yang ada pada sistem dan bagaimana entitas tersebut saling berhubungan (Booch et al, 1999, p107). Entitas tersebut memiliki atribut dan perilaku tertentu. Class Diagram memperlihatkan hubungan antar class dan penjelasan detail tiap-tiap class di dalam logical view dari suatu sistem. Selama proses analisis, class diagram memperlihatkan aturan-aturan dan tanggung jawab entitas yang menentukan perilaku sistem. Selama tahap desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat. Class diagram direpresentasikan dalam bentuk kotak yang terbagi atas tiga bagian yaitu nama class, atribut, dan perilaku (behaviour), seperti gambar dibawah ini :
Gambar 2.6 Contoh Class Diagram Terdapat juga hubungan (relationship) diantara class diagram, yang menggambarkan logical connections pada class dan objek. Berikut ini beberapa relationship yang sering digunakan :
28 •
Association, merupakan hubungan struktural yang menggambarkan hubungan antar objek.
Gambar 2.7 Contoh Association pada Class Diagram •
Aggregation, merupakan bagian khusus dari suatu asosiasi yang menyatakan “whole-part” (bagian dari).
Gambar 2.8 Contoh Aggregation pada Class Diagram (sumber:http://upload.wikimedia.org/wikipedia/commons/2/2a/KP-UM LAggregation-20060420.svg) •
Composition, merupakan hubungan asosiasi yang kuat dan lebih spesifik dari aggregation.
Gambar 2.9 Contoh Composition pada Class Diagram sumber: (http://upload.wikimedia.org/wikipedia/en/9/9f/AggregationAndComposition.svg)
29 •
Generalization, biasa dikenal juga dengan istilah inheritance yaitu hubungan yang menyatakan bahwa salah satu dari dua class merupakan turunan yang lebih khusus dari class induk-nya.
Gambar 2.10 Contoh Generalization pada Class Diagram (sumber: http://upload.wikimedia.org/wikipedia/commons/6/66/KP-UM LGeneralization-20060325.svg) C. Sequence Diagram Sequence
Diagram
menggambarkan
sekumpulan
objek
dan
interaksinya, termasuk message yang dikirim terhadap urutan waktu (Booch et al, 1999, p245). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai tanggapan dari sebuah event untuk menghasilkan keluaran tertentu. Diawali dari apa yang memicu aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan keluaran yang dihasilkan. M asing-
30 masing objek memiliki lifeline vertikal sedangkan message digambarkan secara horizontal. Sequence diagram biasanya digunakan untuk melakuakan perancangan analisis dan proses. Diagram ini mempunyai 2 tujuan utama, yaitu : •
Diagram digunakan sebagai sketches.
•
Diagram dengan objek dan pesan behubungan dengan class dan prosesnya.
Gambar 2.11 Bagian-bagian Sequence Diagram
31 D. Activity Diagram Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Diagram ini serupa dengan flowchart dimana secara grafis diagram ini menggambarkan aliran sekuensial dari proses bisnis atau sebuah use case. Activity diagram berbeda dengan flowchart, menyediakan sebuah mekanisme untuk menggambarkan kegiatan yang tampak secara paralel. Activity diagram adalah sebuah diagram yang digunakan untuk menggambarkan aliran proses bisnis, langkah-langkah sebuah use case atau logika behaviour (Whitten et all, p428). Jadi activity diagram ialah diagram yang fleksibel dalam pelaksanaan analisis dan desain serta menyediakan bar hitam solid agar proses dapat berjalan secara paralel. Bar hitam solid adalah sebuah bar sinkronisasi. Tujuan activity diagram:
Untuk membuat model sebuah task (tugas)
Untuk menggambarkan fungsi sistem yang dibuat dengan use case
Untuk menggambarkan logik dari sebuah operasi
Langkah-langkah untuk membuat activity diagram (Whitten et all, p428), yaitu :
32 1. Tambahkan poin awal/ start state dan poin akhir/final state. 2. Tambahkan sebuah kegiatan untuk tiap langkah seorang pelaku/actor yang menginisiasi. 3. Tambahkan transisi dari setiap kegiatan ke kegiatan lainnya, misalnya poin keputusan, atau keputusan akhir. 4. Tambahkan bar sinkronisasi dimana kegiatan dilakukan secara paralel.
Gambar 2.12 Activity Diagram 2.4 Pengertian Basis Data M enurut Connolly (2005,p15), database adalah koleksi yang terbagi dari sekumpulan data yang dapat digunakan bersama-sama dan saling berhubungan secara
33 logikal, dan deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi dalam suatu organisasi. M enurut W.H. Inmon (2002,p3), database didefinisikan sebagai suatu kumpulan dari data yang disimpan dan saling berhubungan, sering digunakan, dan mengurangi perulangan berdasarkan skema. Sebuah database dapat menyajikan aplikasi tunggal dan jamak. 2.4.1 Database Relational M enurut Connolly dan Begg (2002, p74), database relational adalah kumpulan relasi ternormalisasi dengan nama relasi yang jelas dan dapat dibedakan. Database relational adalah database yang mengimplementasikan data sebagai serangkaian tabel 2 dimensi yang dihubungkan melalui foreign key. (Whitten, Bentley dan Dittman, 2004, p525). 2.4.2 Entity Relational Diagram (ERD) Untuk memastikan pemahaman yang tepat terhadap data dan bagaimana pengunaanya didalam suatu perusahaan diperlkan sebuah model. Salah satunya adalah M odel Entity Relationship (ER).(Connolly dan Begg, 2003,p330). ERD (Entity Relational Diagram) adalah model yang mengidentifikasi konsep-konsep atau entitas yang ada dalam sistem dan hubungan antara entitas
tersebut.
ERD yang sering digunakan
sebagai cara untuk
34 memvisualisasikan sebuah database relational, masing-masing mewakili entitas dari tabel database. ERD mungkin juga lebih abstrak, belum tentu diperlukan menangkap setiap tabel dalam database, tetapi untuk melayani diagram konsep-konsep utama dan hubungan. ERD ini adalah yang kedua jenis, dimaksudkan untuk menyajikan abstrak, teori melihat dari besar badan dan hubungan yang diperlukan untuk pengelolaan sumber daya elektronik. Hal itu dapat membantu proses desain database untuk E-system pengelolaan sumber daya, tetapi tidak mengidentifikasi setiap tabel yang akan sangat diperlukan untuk pengelolaan sumber daya database elektronik. 2.4.3 MySQL (My Structu re Query Language) M enurut Keith Souhrada (2008,p2) MySQL Enterprise Server adalah paling handal, aman dan up-to-date. Server MySQL merupakan versi perangkat lunak dengan biaya efektif untuk digunakan dalam E-commerce, Transaksi Online Processing (OLTP), dan aplikasi data warehouse multiterabyte. Ini merupakan sepenuhnya terpadu, transaksi - aman, ACID persyaratan database dengan komit penuh, rollback, crash pemulihan dan tingkat penguncian baris kemampuan. MySQL Enterprise Server memberikan kemudahan penggunaan, skalabilitas, dan berperforma tinggi yang telah di dunia populer open source database. MySQL juga menyediakan lengkap database dari driver dan alat peraga visual untuk membantu para pengembang dan DBAS membangun dan mengatur MySQL aplikasi. MySQL perusahaan menyediakan berikut fitur canggih:
35 • Partisi untuk meningkatkan kinerja dan menyederhanakan pengelolaan sangat besar database lingkungan . • Stored Prosedur untuk meningkatkan pengembang produktivitas . • Pemicu untuk menegakkan kompleks aturan bisnis di database tingkat . • Views untuk mengurangi kompleksitas data sementara meningkatkan keamanan . • Informasi Skema untuk menyediakan mudah akses ke metadata . • Pluggable penyimpanan mesin Arsitektur untuk maksimum fleksibilitas • Penyimpanan arsip untuk engine sejarah dan audit data . • Distribusi Transaksi (XA) untuk mendukung transaksi yang kompleks untuk beberapa database. MySQL adalah salah satu jenis database server yang sangat terkenal. Kepopulerannya disebabkan MySQL menggunakan SQL sebagai bahan dasar untuk mengakses database. Selain itu, ia bersifat freeware pada berbagai platform (kecuali pada windows, yang bersifat shareware). 2.5 Teori Interaksi Manusia Komputer Interaksi M anusia Komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi dan implementasi sistem komputer aktif untuk digunakan oleh manusia,
serta
studi
(Schneiderman 1998, p95).
fenomena-fenomena
yang
berhubungan
dengannya.
36
Delapan Aturan Emas (Eight Golden Rules) Shneiderman mengemukakan 8 (delapan) aturan yang dapat digunakan sebagai petunjuk dasar yang baik untuk merancang suatu antarmuka/interface (Schneiderman 1998, p95-96). Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design, yaitu: 1. Berusaha untuk Konsisten (Strive for consistency) Rangkaian aksi yang konsisten sebaiknya digunakan dalam situasi yang serupa. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. Perintah yang konsisten harus digunakan pada keseluruhan aplikasi 2. M emungkinkan penggunaan shortcut bagi user (Enable frequent users to userrs to use shortcuts). Seiring dengan meningkatnya jumlah penggunaan, keinginan user untuk mengurangi jumlah interaksi dan kecepatan interaksi. 3. M emberikan reaksi yang informatif (Offer informative feedback). Untuk setiap aksi dari pengguna, seharusnya sistem memberikan reaksi yang informatif. Untuk aksi yang jarang terjadi reaksi yang diberikan harus lebih lengkap, sedangkan untuk aks i yang sering terjadi reaksi yang diberikan bisa sederhana. M isalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. M erancang dialog untuk menghasilkan suatu penutupan (Design dialog to yield closure).
37 Rangkaian aksi sebaiknya dikumpulkan dalam suatu kelompok dimana terdapat bagian awal, tengah, dan akhir. Interaksi yang informatif akan memberikan keterangan bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. M emberikan penanganan kesalahan yang sederhana (Offer simple error handling). Sebanyak mungkin sistem dirancang agar user 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. Bolehkan pembalikan aksi yang mudah (permit easy reversal of actions). Hal ini dapat menghilangkan kekhawatiran, karena user mengetahui bahwa kesalahan dapat dibatalkan, sehingga akan meningkatkan keinginan untuk mencoba pilihan-pilihan yang tidak dikenal. 7. Pusat kendali pada user (Provide a sense of user control) User yang berpengalaman sangat ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan mereka. Sebaiknya sistem dirancang agar user yang memulai suatu aksi daripada hanya merespon. 8. Kurangi beban ingatan jangka pendek (Reduce short-term memory load). Keterbatasan dari kemampuan manusia untuk memproses informasi dalam ingatan jangka pendek menghasilkan suatu kebutuhan akan tampilan untuk dibuat tetap sederhana, banyak halaman tampilan digabungkan, dan
38 waktu pelatihan yang cukup dialokas ikan untuk kode-kode, menghafal dan rangkaian aksi.