BAB 2 LANDAS AN TEORI
2.1
Konsep S istem, Analisa dan Perancangan 2.1.1
Pengertian Sistem Terdapat dua kelompok pendekatan didalam mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponen atau elemennya. Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan sistem sebagai berikut ini : suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu Pendekatan sistem yang lebih menekankan pada elemen atau komponennya mendefiniskan sistem sebagai berikut ini : sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu Definisi tersebut adalah benar dan tidak bertentangan, yang berbeda adalah cara pendekatannya. Pendekatan sistem yang merupakan kumpulan elemen-elemen atau komponen-komponen atau subsistemsubsistem merupakan definisi yang lebih luas. Definisi ini lebih banyak diterima, karena kenyataannya suatu sistem dapat terdiri dari beberapa subsistem atau sistem bagian. Sebagai misal, sistem akuntansi dapat terdiri
7
8 dari beberapa subsistem-subsistem, yaitu subsistem akuntansi penjualan, subsistem akuntansi pembelian, subsistem akuntansi penggajian, subsistem akuntansi biaya dan lain sebagainya. M enurut Jogiyanto (1995,pp3), system terbagi atas berbagai bagian yaitu : 1. Komponen penyusun system Suatu
Sustem terdiri
dari beberapa komponen
yang saling
berhubungan yang dapat penyusun sebuah system. 2. Batas system(boundary) Batasan daerah yang menandai batasan system dengan system yang lainnya. Batasan system inilah yang akan memberikan scope terhadap system yang lain di luar system yang ada. 3. Lingkungan luar system Lingkungan di luar system adalah segala sesuatu yang berada di luar system yang sangat berhubungan erat dengan system, baik yang menguntungkan maupun merugikan. 4. Penghubung system Penghubung system adalah media penghubungan antara satu sub system yang satu dengan sub system yang lainnya. Terdiri dari input maupun output. 5. M asukan (input) M asukan adalah proses yang dimasukkan ke dalam system. M asukkan dapat berupa masukan perawatan (maintenance input) dan masukan
9 sinyal (signal input). M aintenance adalah proses energy yang dimasukkan untuk perawatan agar system tetap berjalan sedangkan sinyal adalah proses energy yang disampaikan .untuk mendukung proses lain. 6. Keluaran (output) Keluaran adalah hasil dari pengolahan. 7. Proses Proses adalah tahapan penglohan yang akan menjadi sebuah hasil. 8. Sasaran system Setiap system memiliki tujuan (goal) atas sasaran (objective) sebuah system yang berhasil akan menuju ketujuan input dan output.
2.1.2
Pengertian Analisa M cLoad yang diterjemahkan oleh Teguh, H (2001) mendefinisikan, “Analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan merancang sistem baru atau diperbaharui ”. (p.190). M enurut Bodnar dan Hopwood yang diterjemahkan Jusuf, A. A. dan Tambunan, R. M .(2001) menyatakan,
“Analisis
sistem
merupakan
tanggung
jawab
untuk
pengembangan rancangan umum aplikasi-aplikasi sistem” (p.356). Jadi dapat disimpulkan bahwa analisis sistem adalah suatu proses penelitian untuk memperoleh informasi atas sistem yang sedang berjalan sehingga menghasilkan rancangan sistem yang baru atau memperbaharui sistem yang telah ada. Selain itu, analisis sistem diartikan sebagaimana
10 dapat memahami dan menspesifikasi dengan detail apa yang harus dilakukan oleh sistem dan suatu sistem tersebut akan dirancang oleh satu orang atau sekelompok orang yang membentuk tim. Biasanya orang yang merancang sistem tersebut dinamakan sistem analis. Analisis sistem memiliki beberapa fungsi diantaranya dapat mengidentifikasikan masalah-masalah dari user, menyatakan secara spesifik sasaran yang harus dicapai untuk memenuhi kebutuhan user, memilih alternatif-alternatif metode pemecahan masalah serta merencanakan dan menerapkan rancangan sistemnya sesuai dengan permintaan user.
2.1.3
Pengertian Perancangan
Bodnar dan Hopwood yang diterjemahkan Jusuf, A. A. dan Tambunan, R. M . (2001) menyatakan, “Perancangan sistem merupakan formulasi spesifikasi rinci dari sistem yang diusulkan” (p.357). M enurut M cLeod yang diterjemahkan oleh Teguh, H. (2001) mendefinisikan, “Rancangan sistem adalah penentuan proses dan data yang diperlukan oleh sistem baru” (p.238). Jadi dapat disimpulkan bahwa perancangan sistem adalah penentuan kebutuhan dan formulasi spesifikasi rinci dari sistem berdasarkan hasil analisis yang dilakukan. Perancangan sistem dapat diartikan sebagai tahap setelah analisis dari siklus pengembangan sistem, pendefinisian dari kebutuhan-kebutuhan
fungsional,
persiapan
untuk
rancang
bangun
11 implementasi, menggambarkan bagaimana suatu sistem dibentuk, dapat berupa penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesalahan yang utuh dan berfungsi dan termasuk menyangkut mengkonfigurasikan dari komponenkomponen perangkat lunak dan perangkat keras dari suatu sistem. Perancangan sistem memiliki dua tujuan utama yaitu untuk memenuhi kebutuhan kepada pemakai sistem dan untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada pemrogram komputer dan ahli-ahli teknik lainnya yang terlibat. Tujuan dari desain sistem secara umum adalah untuk memberikan gambaran secara umum kepada user tentang sistem yang baru. Desain sistem secara umum merupakan persiapan dari desain secara terinci. Desain secara umum mengidentifikasikan komponen-komponen sistem informasi yang akan didesain secara rinci. Desain terinci dimaksudkan untuk pemrogram komputer dan ahli teknik lainnya yang akan mengimplementasi sistem. Tahap desain sistem secara umum dilakukan setelah tahap analisis sistem selesai dilakukan dan hasil analisis disetujui oleh manajemen. Pada tahap desain secara umum, komponen-komponen sistem informasi dirancang dengan tujuan untuk dikomunikasi kepada user bukan untuk pemrogram. Komponen sistem informasi yang didesain adalah model, output, input, database, teknologi dan kontrol.
12
2.2
Teknologi Informasi Teknologi Informasi merupakan suatu istilah dengan cakupan arti yang cukup luas. Secara umum, teknologi informasi adalah suatu bidang yang mencakup sekitar pemanfaatan teknologi untuk menghasilkan informasi, mengelola dan menyimpan informasi, mentransfer dari suatu bentuk ke bentuk yang lain, memindahkan dari suatu tempat ke tempat yang lain, atau bahkan mengolah informasi tersebut sehingga menjadi lebih mudah untuk digunakan oleh pemakainya. Komponen-komponen yang diperlukan untuk membangun suatu teknologi informasi adalah teknologi sistem komputasi dan teknologi sistem komunikasi. Sistem komputasi berperan penting dalam mengolah sinyal-sinyal informasi tersebut sehingga dapat menghasilkan bentuk informasi yang paling sesuai dengan kebutuhan. Sistem komunikasi berperan dalam hal mentransfer sinyal-sinyal informasi dari suatu tempat ke tempat lain. Dengan semakin mengarahnya sistem komputasi menjadi networked computing, maka pembahasan komponen sistem komunikasi dalam teknologi informasi menjadi satu dengan komponen sistem komputasi. Didalam dunia komputasi, komponen-komponen yang menyusun suatu sistem terdiri dari tiga unsur yaitu unsur perangkat keras (hardware), unsur perangkat lunak (software), dan unsur jasa (services).
13 M enurut Nugraha (2003,p1) istilah TI (Teknologi Informasi) atau IT (Information Technology) yang popular saat ini adalah bagian dari mata rantai panjang dari perkembangan istilah dalam dunia SI (Sistem Informasi) atau IS (Information System). Istilah TI memang lebih merujuk pada teknologi yang digunakan dalam menyampaikan maupun mengolah informasi, namun pada dasarnya masih merupakan bagian dari sebuah sistem informasi itu sendiri. TI memang secara notabene lebih mudah dipahami secara umum sebagai pengolahan informasi yang berbasis pada teknologi komputer yang tengah terus berkembang pesat.
2.3
Internet 2.3.1
Pengertian Internet dan Sejarahnya Internet adalah singkatan dari Interconnection Networking, atau sering disebut juga sebagai cyberspace, adalah sebuah jaringan komputer yang terdiri dari berbagai macam jaringan komputer di seluruh dunia dengan sistem operasi yang berbeda-beda. Jaringan ini dapat berupa jaringanjaringan lokal berskala kecil, jaringan kelas menengah, hingga jaringanjaringan utama (backbone) yang menjadi tulang punggung internet. Internet memugkinkan suatu jaringan komunikasi global yang tidak hanya menghubungkan para mitra dagang tetapi juga mencakup para pelanggan. Sebagian besar kebangkitan perdagangan melalui jaringan elektronik diharapkan berasal dari perusahaan-perusahaan yang akan mempromosikan, dan dalam beberapa kasus mengirimkan produk mereka melalui internet.
14 Internet dapat digunakan untuk aplikasi bisnis apapun yang melibatkan komunikasi data, termasuk komunikasi baik di dalam perusahaan maupun dengan lingkungan (M cLeod, 2001, p.73). M enurut Hasyim (2003,p2) internet merupakan jaringan global yang menghubungkan suatu network dengan network lainnya di seluruh dunia, TCP/IP menjadi protocol penghubung antara jaringan-jaringan yang beragam di seluruh dunia untuk dapat berkomunikasi. Internet yang populernya disebut net diciptakan pada tahun 1969 untuk Departemen Pertahanan Amerika. Bantuan dana dari Advanced Research Agancy (ARPA) memungkinkan peneliti untuk bereksperimen agar komputer dapat berkomunikasi satu sama lain, ciptaan mereka, Advanced Research Project Agency Network (ARPANET), aslinya hanya terhubung kepada 4 komputer yang terpisah di Universitas Amerika dan Institusi Penelitian Awal 1970-an, Negara lain mulai bergabung dengan ARPANET dan hanya dalam 1 dekade, ARPANET telah menyebar dan mampu mengakses kepada peneliti, administrator, dan pelajar di seluruh dunia. Internet tumbuh dengan cepat pada 1990-an sebagai populasi umum yang menemukan kekuatan dari medium yang baru. Pada awalnya kemampuan awal dari internet adalah menampilkan teks tertulis, dalam bentuk email ataupun artikel yang diletakan pada forum diskusi elektronik yang dikenal dengan usenet news group. Pada pertengahan 1990 kemunculan World Wide Web membuat
15 internet menjadi lebih popular dari sebelumnya. Web saat ini dapat menampilkan multimedia yang memungkinkan perpindahan teks, audio, dan video secara bersama-sama, yang dikenal dengan web pages (halaman web).
2.3.2
Web Web adalah salah satu dari banyak aplikasi pada internet dimana aplikasi ini melibatkan banyak komputer dengan menggunakan internet sebagai mekanisme dasar dari penghubungannya. Web dijalankan dengan program pada server dan menerima respon dari klien. Dari hubungan tersebut maka beberapa komputer menjadi Web Server, yakni komputer yang menyediakan informasi dan dapat diakses melalui web oleh computer klien.
2.3.3
Browser Browser digunakan untuk menampilkan dokumen dari web dan untuk melanjutkan link dimana link ini menghubungkan bagian-bagian dari dokumen ataupun untuk berpindah dari satu bagian dokumen ke bagian dokumen yang lain.
16 2.3.4
URL Setiap web mempunyai alamat akses yang unik yaitu Universal Resource Locator (URL). URL juga digunakan dalam dokumen web untuk mengaitkan link, baik antara dokumen– dokumen web, maupun antara situs–situs web.
2.3.5
HTTP HTTP (HyperText Transfer Protocol) adalah protokol komunikasi yang digunakan oleh web. Pengiriman data dari server ke klien dengan menggunakan http yang diaktifkan oleh klien.
2.3.6
World Wide Web World Wide Web atau biasa disebut dengan web adalah suatu sistem server yang besar dan mengatur berbagai macam informasi yang dapat berupa teks, gambar maupun suara. Untuk mendapatkan informasi tersebut diperlukan sebuah program client yang disebut dengan browser. World Wide Web merupakan bagian yang tepenting dari internet, diciptakan di CERN, pusat riset Swiss sebagai sebuah proyek akademik. Dalam proyek ini mencoba untuk menyediakan akses ke berbagai sumber informasi dengan mengaitkannya tidak hanya pada dokumen saja yang melalui HTTP (Hypertext Transfer Protocol), akan tetapi FTTP dan WAIS. Dengan WWW diperkenalkan konsep rich text dan multimedia didalam elemen internet, jadi dokumen yang selama ini hanya berbentuk text
17 sekarang dapat ditambah grafik maupun suara. Istilah-istilah World Wide Web (M cleod. 2001, p.75): Website, ini mengacu pada sebuah komputer yang dikaitkan ke Internet yang berisi hypermedia yang dapat diakses dari komputer lain melalui suatu hyperlink. Hypertext Link, ini mengacu pada suatu petunjuk yang terdiri dari teks atau grafik yang digunakan untuk mengakses hypertext yang disimpan di website. Teks itu biasanya digaris bawahi dan ditampilkan dalam warna biru. Web Page, ini mengacu pada suatu file hypermedia yang disimpan di suatu web site, yang diidentifikasi oleh suatu alamat yang unik. Home Page, ini mengacu pada halaman pertama dari suatu web site. Halaman-halaman lain di site tersebut dapat dicapai dari home page. URL (Universal Resource Locator), ini mengacu pada alamat dari suatu web page. Browser,
ini mengacu
pada suatu
sistem perangkat
lunak
yang
memungkinkan kita mengambil hypermedia dengan mengetikkan parameter pencarian atau mengklik suatu grafik. Kemampuan ini membebaskan kita dari keharusan untuk mengetahui URL dari web page yang berisi informasi yang kita butuhkan. Browser disebut juga search engine. FTP (File Transfer Protocol), ini mengacu pada perangkat lunak yang memungkinkan kita menyalin file ke komputer kita dari website mana saja.
2.3.7
Pengertian Web Based Application M enurut Kadir (2004,pp2-3) aplikasi web adalah suatu aplikasi yang dapat membentuk halaman-halaman web berdasarkan permintaan
18 pemakai. Aplikasi web merupakan salah satu contoh aplikasi client-server. Client mewakili komputer yang digunakan oleh seorang pemakai yang hendak menggunakan aplikasi sedangkan server mewakili komputer yang menyediakan layanan aplikasi.
2.3.8
Web S erver M enurut Nugroho(2004, p5), secara global server dapat diartikan sebagai pusat dan difungsikan sebagai pelayan yang berguna untuk pengiriman data dan penerimaan
data serta mengatur pengiriman dan
penerimaan data diantara komputer-komputer yang tersambung atau dengan kata lain server berfungsi menyediakan pelayanan terhadap klien. Sedangkan web server menurut Nugroho(2004, p6) adalah sebuah bentuk server yang khusus digunakan untuk menyimpan halaman website atau homepage. Komputer dapat dikatakan sebagai web server jika komputer tersebut memiliki suatu program server yang disebut Personal Web Server (PWS). PWS difungs ikan agar halaman web yang ada di dalam sebuah komputer server dapat dipanggil oleh komputer client.
2.3.9
Web Browser M enurut Hasyim (2003,p3) web browser merupakan software yang di install di mesin client yang berfungsi untuk menterjemahkan tag-tag HTM L menjadi halaman web. Browser yang sering digunakan biasanya Internet Explorer, Netscape Navigator dan masih banyak yang lainnya.
19 Halaman web biasanya ditulis menggunakan tag-tag HTM L dimana di dalamnya berisi kode-kode hyperlinks yang apabila diklik oleh user, maka ia dapat berpindah dari halaman satu ke halaman lainnya.
2.4
Rekayasa Piranti Lunak
2.4.1
Pengertian Rekayasa Piranti Lunak M enurut pressman(2001,20), rekayasa piranti lunak adalah penerapan
dan
penggunaan
prinsip-prinsip
rekayasa
dalam
usaha
menghasilkan piranti lunak yang ekonomis, dapat dihandalkan dan berkerja secara efisien pada mesin yang sesungguhnya paradigma rekayasa piranti lunak yang sering digunakan adalah the Classic Life Cycle atau lebih dikenal dengan Waterfall model (pressman,2001,p28-29).
20
Gambar 2.1 Waterfall Model
Tahapan-tahapan yang dilakukan dalam waterfall model ini adalah : a. Tahapan analisis Tahap ini dilakukan analisis dan penentuan definisi kebutuhan dari sistem yang akan dibuat. Kebutuhan sistem yang telah didapat dikembangkan dan dibuat diagram konteks sistem. Tahapan ini sangat penting dalam pembuatan suatu sistem karena tahap analisis merupakan langkah awal untuk mengetahui kebutuhan dan pembentukan suatu sistem, apabila dalam menganalisis terjadi kesalahan maka langkah selanjutnya tidak akan berjalan sempurna.
b. Tahapan perancangan
21 Desain sistem merupakan tahapan kedua dari metode waterfall. Pada tahapan ini merancang dan membuat desain sistem dan desain antarmuka sistem. Desain sistem meliputi desain dari database yang digunakan dalam sistem. c. Tahapan implementasi Tahapan ini dilakukan setelah semua rancangan sistem dibuat. Tahapan implementasi merubah rancangan dan kebutuhan sistem ke dalam pengkodean program. Sistem yang dibuat secara nyata akan dihasilkan dari proses ini. d. Tahapan pengujian Tahap pengujian merupakan tahapan selanjutnya setelah proses pengkodean sistem. Pengujian dilakukan dengan cara menjalankan sistem yang telah dibuat kemudian dicari kesalahan-kesalahan dari sistem tersebut dan menyamakan fungsi dari sistem yang dibuat dengan kebutuhan dari sistem yang telah dianalisis sebelumnya. Apabila terdapat kesalahan atau kekurangan dari sistem, maka akan diperbaiki dan ditambahkan sesuai dengan kebutuhan. e. Tahapan pemeliharaan Setelah proses pengkodean selesai, dilakukan pengujian sampai semua perintah selesai diuji. Pengujian ini bertujuan untuk menemukan kesalahan dan memastikan keluaran yang dihasilkan sesuai dengan apa yang diharapkan. Piranti lunak ini akan mengalami perbaikan secara terus menerus setelah dipergunakan oleh pengguna dan apabila terjadi
22 perubahan
karena
terjadinya
kesalahan,
hal
ini
menyebabkan
diperlukannya perbaikan fungsional dan unjuk kerja piranti lunak. Pemeliharaan piranti lunak menawarkan setiap langkah daur hidup yang terdahulu menjadi program yang sudah daripada membuat suatu program yang baru.
2.4.2
Elemen Pokok Rekayasa Piranti Lunak 1. Process Pada proses RPL merupakan perekat yang mengikat lapisanlapisan teknologi secara bersama dan memampukan perangkat lunak komputer untuk berkembang secara tepat waktu dan rasional. Proses menggambarkan suatu kerangka kerja untuk sekumpulan dari Keys Proses Area (KPAs) yang harus diterapkan untuk keefektifan pengiriman dari teknologi rekayasa piranti lunak. Key process areas merupakan bentuk dasar bagi kontrol manajemen dari proyek-proyek piranti lunak dan menerapkan konteks dimana metode teknis dapat diterapkan. Produk kerja (model, dokumen, data, laporan, bentuk, dll) yang di produksi, kualitas yang dipastikan, dan perubahan yang diatur dengan baik.
2. M ethods M etode Rekayasa Piranti Lunak menyediakan teknik bagaimana cara untuk membangun piranti lunak. M etode yang meliputi suatu ruang
23 lingkup tugas yang luas yang meliputi analisa kebutuhan, desain, konstruksi program, pengujian, dan dukungan. M etode rekayasa piranti lunak
bergantung pada sekumpulan
prinsip-prinsip
dasar yang
memerintah tiap area dari teknologi dan meliputi kegiatan modeling dan teknik deskriptif lainnya. 3. Tools Peranan Rekayasa Piranti lunak menyediakan dukungan yang otomatis dan semi-otomatis bagi proses dan metode-metodenya. Ketika peralatan itu terintegrasi, maka informasi yang dibentuk oleh suatu alat dapat digunakan oleh yang lainnya. Suatu sistem yang mendukung perkembangan piranti lunak disebut Computer-Aideds Software (CA SE), telah didirikan. CASE merupakan kombinasi dari software, hardware, dan suatu basis data rekayasa piranti lunak (sebuah tempat penyimpanan yang berisi informasi penting tentang analisis, desain, konstruksi program, dan pengujian untuk menciptakan suatu lingkungan analogis rekayasa piranti lunak CAD/CAE (computer-aided design / engineering) untuk perangkat keras.
2.4.3
S oftware Secara harfiah software berarti piranti lunak, perangkat lunak, program komputer. Tetapi istilah baku dalam bahasa Indonesia perangkat lunak, karena merupakan kumpulan beberapa perintah yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya. Perangkat lunak ini
24 merupakan catatan bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya. Contohnya, terdapat sebuah data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Untuk mencapai keinginannya tersebut dirancanglah suatu susunan logika. Logika yang disusun ini diolah melalui perangkat lunak, yang disebut juga dengan program beserta data-data yang diolahnya. Pengolahan pada software ini melibatkan beberapa hal, diantaranya adalah sistem operasi, program, dan data. Software ini mengatur sedemikian rupa sehingga logika yang ada dapat dimengerti oleh mesin komputer. (http://www/total.or.id/info.php?kk=Software)
Gambaran tentang software menurut Pressman (2002, p10) mengambil bentuk berikut Software adalah: 1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan. 2. Struktur data yang memungkinkan program memanipulasi informasi secara proporsional. 3. Dokumen yang menggambarkan operasi dan kegunaan program.
25 M enurut Pressman (2002, p10). Software lebih merupakan elemen logika dan bukan elemen sistem fisik. Dengan demikian, software memiliki ciri yang berbeda dari hardware: 1. Software dibangun dan dikembangkan tidak dalam bentuk yang klasik. 2. Biaya Software dikonsentrasikan kepada pengembangan. Hal ini berarti proyek Software tidak dapat diatur seperti pengaturan proyek-proyek pemanufakturan. 3. Software tidak pernah usang. 4. Software tidak rentan terhadap pengaruh lingkungan yang menyebabkan Software menjadi usang. 5. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada.
2.4.4
Model Proses S oftware 2.4.4.1
Prototype Model Sering terjadi customer menjabarkan objektif umum mengenai software yang diminta, tetapi tidak bisa mendefinisikan input, proses, output yang diminta secara detail. Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem operasi, atau bentuk interaksi mesin dengan orang. Untuk mengatasi situasi tersebut bisa digunakan pendekatan prototype paradigm.
26 Prototype paradigm
dimulai dengan
mengumpulkan
kebutuhan-kebutuhan customer. Developer dan customer bertemu dan
mendefinisikan
objektif
software
secara
menyeluruh,
mengidentifikasi kebutuhan-kebutuhan yang diketahui dari area pekerjaan. Setelah itu dibuat “Quick Design”. Quick Design difokuskan pada representasi aspek software yang bisa dilihat customer / user. Kelemahan prototype model, yaitu: Customer melihat prototype tersebut sebagai versi dari software tersebut. Pada saat produk tersebut harus dibangun ulang supaya level kualitas bisa terjamin, customer akan mengeluh dan meminta sedikit perubahan saja supaya prototype tersebut bisa berjalan.
Development membuat implementasi yang kompromitas dengan tujuan untuk memperoleh prototype pekerjaan secara cepat. Dampaknya adalah sistem operasi atau bahasa pemrograman yang dipergunakan tidak tepat, algoritma tidak efisien. (http://web.si.itssby.edu/kurikulum/materi/rpl/rad%20model.htm )
27 2.5
Interaksi Manusia dan Komputer Seiring dengan perkembangan teknologi informasi, berbagai macam program baru bermunculan dengan perancangan yang menarik. Namun hal itu belumlah cukup, karena biasanya user lebih menginginkan adanya interaksi dengan program-program yang mudah dioperasikan (user friendly), agar mereka dapat lebih mudah dalam menjalankan program tersebut. Hal inilah yang mendasari lahirnya sebuah ilmu baru yang disebut Interaksi M anusia dan Komputer. Secara garis besar, interaksi manusia dan komputer merupakan suatu disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer yang interaktif untuk digunakan oleh manusia, serta merupakan suatu studi terhadap fenomena-fenomena besar yang berhubungan dengannya. Ilmu ini secara khusus menitikberatkan pada perancangan dan evaluasi antar pemakai (user interface) dengan tujuan seseorang dapat membuat sistem interaksi dengan memperhatikan kaedah interaksi dan komunikasi. Faktor-faktor manusia terukur yang menjadi pusat evaluasi menurut Sheneiderman (1998,p15): 1. Waktu belajar (time to learn). Pemakai menginginkan waktu belajar yang tidak lama. 2. Kecepatan kinerja (speed of performance). Pemakai menginginkan komputer mengerjakan suatu tugas dengan cepat. 3. Tingkat kesalahan (rate of errors by user).
28 Tingkat kesalahan yang banyak akibat dari interaksi antara pemakai dengan komputer harus dihindari. 4. Daya ingat (retention overtime). Tidak semua pemakai memiliki daya ingat tinggi. 5. Kepuasan subjektif (subjective satisfaction). Kepuasan pribadi harus dihasilkan dari aspek sistem.
2.6
Perancangan Desain 2.6.1
Application Design M enurut Connoly dan Begg (2002, pp287-288), perancangan aplikasi (application design) adalah merancang antarmuka pemakai (user interface) dan program aplikasi, yang akan memproses basis data. Perancangan basis data dan perancangan aplikasi adalah aktivitas yang dilakukan secara bersamaan pada database application lifecycle. Dalam kasus sebenarnya, tidak mungkin dapat menyelesaikan perancangan aplikasi sebelum perancangan basis data selesai. Dalam perancangan aplikasi harus memastikan semua pertanyaan fungsional dai spesifikasi kebutuhan
pemakai (user
requirement
spesification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya). Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan merancang antarmuka pemakai yang tepat. Antarmuka yang dirancang
29 harus memberikan informasi yang dibutuhkan dengan cara menciptakan “user-friendly”
2.6.2
Prototyping M enurut Connoly dan Begg (2002, pp291-292), prototyping adalah membuat model kerja dari aplikasi basis data, yang memungkinkan perancang atau pemakai untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem. Tujuan dari pengembangan prototype aplikasi basis data adalah untuk memungkinkan pemakai menggunakan prototype untuk mengidentifikasi kelebihan atau kekurangan sistem, dan memungkinkan perancang untuk memperbaiki atau melengkapi kelebihan dari aplikasi basis data baru. Ada dua strategi prototyping yang umum digunakan yaitu, requirement prototyping dan evolutionary prototyping. Requirement prototyping yaitu menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data dan ketika kebutuhan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang. Sedangkan evolutionary prototype menggunakan tujuan yang sama, tetapi perbedaannya adalah prototype tetap digunakan.
2.6.3
Implementation M enurut
Connoly
dan
Begg (2002,
p292),
implementasi
(implementation) adalah mendefinisikan basis data secara eksternal,
30 konseptual, dan internal. Implementasi merupakan realisasi dari basis data dan perancangan aplikasi. Implementasi basis data dicapai menggunakan Data Definition Language (DLL) dari DBM S yang dipilih atau graphical user interface (GUI). Pernyataan DDL digunakan untuk membuat struktur basis data dan file basis data kosong. Pandangan pemakai (user view) lainnya juga diimplementasikan dalam tahapan ini. Bagian dari aplikasi program adalah transaksi basis data yang diimplementasikan dengan menggunakan Data Manipulation Language (DM L) dari sasaran DBM S, mungkin termasuk host programming language seperti; Visual Basic, Delphi, C, C++, Java, COBOL, atau Pascal.
2.6.4
Data Convertion and Loading M enurut Connoly dan Begg (2002, pp292-293), data convesion and loading adalah mengambil data dari sistem yang lama untuk dipindahkan ke dalam sistem yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru manggantikan sistem yang lama. Pada masa sekarang, umumnya DBM S memiliki kegunaan untuk memasukkan file ke dalam basis data baru. Biasanya membutuhkan spesifikasi dari sumber file dan sasaran basis datanya. Kegunaan ini memungkinkan pengembang untuk mengkonversi dan menggunakan aplikasi program lama untuk digunakan oleh sistem baru. Ketika conversion and loading dibutuhkan, prosesnya harus direncanakan untuk memastikan kelancaran transaksi dari keseluruhan operasi.
31 2.6.5
Testing M enurut Connolly dan Begg (2002, p293), testing adalah proses menjalankan program aplikasi untuk menemukan kesalahan-kesalahan. Sebelum digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara menyeluruh. Untuk mencapainya harus hati-hati dalam menggunakan perencanaan strategi uji dan menggunakan data asli untuk semua proses pengujian. Di dalam definisi testing ini tidak menggunakan pandangan yang biasa, testing adalah proses demonstrasi tanpa kesalahan. Dalam kenyataannya testing tidak luput dari kesalahan. Jika testing menunjukkan keberhasilan, maka pengujian akan menemukan kesalahan pada program aplikasi dan mungkin struktur basis datanya. Di dalam merancang basis data, pemakai yang menggunakan sistem baru seharusnya terlibat di dalam proses testing. Situasi yang ideal untuk melakukan uji sistem adalah menguji basis data pada perangkat keras yang berbeda, tetapi hal ini sering tidak dilakukan. Jika data yang asli digunakan, perlu backup untuk mengantisipasi kesalahan. Setelah testing selesai, sistem aplikasi siap digunakan dan diserahkan kepada pemakai.
2.6.6
Operational Maintenance M enurut Connolly dan Begg (2002, pp293-294) operational maintenance adalah proses memantau dan memelihara sistem setelah diinstal. Pada tahapan sebelumnya, basis data benar-benar diuji dan
32 diimplementasikan. Sekarang sistem beralih pada tahapan pemeliharaan. Yang termasuk aktivitas dari tahapan pemeliharaan adalah sebagai berikut: 1. M emantau kinerja dari sistem. Jika kinerjanya menurun di bawah level yang dapat di terima, mungkin basis data perlu diperbaiki. 2. M emelihara dan upgrade aplikasi basis datanya (jika diperlukan).
Ketika basis data sepenuhnya bekerja, harus dipastikan kinerjanya dapat berada dalam tingkat yang dapat diterima. Sebuah DBM S biasanya menyediakan berbagai kegunaan untuk membantu administrasi basis data termasuk kegunaan untuk mengisi data ke dalam basis data dan strategi eksekusi query. Basis data administrator dapat menggunakan informasi ini untuk memperbaiki sistem agar dapat memberikan kinerja yang lebih baik.
2.7
Alat Bantu Perancangan Sistem 2.7.1
UML (Unified Modelling Language) M enurut Lethbridge, dan Laganiere (2001,pp151-152), UM L adalah bahasa graphical standar yang digunakan untuk memodelkan software object-oriented. Dikembangkan pada pertengahan 1990 dari hasil usaha kolaborasi antara James Rumbaugh, Grady Booch, dan Ivar Jacobson, dimana sebelum mereka telah mengembangkan notasi mereka masing-maing untuk mengembangkan software berbasis object.
33 Banyak perusahaan software merasakan bagaimana pentingnya UM L dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan seperti : M icrosoft, Oracle, IBM , Hewlett-Packard, Intellicorp, I-Logix, Digital Equipment Corp, Texas instrument, Rational Software, ICON Computing, M CI systemhouse, Unisys Platinum Technology, Ptech, Taskon and Reich Technologies, dan Softeam. Dari konsorsium tersebut pada bulan Januari 1997 lahirlah UM L versi 1.0 Pada bulan September 1997 lahirlah UM L versi 1.1, dengan 8 buah diagram, yaitu: Use Case diagram, Activity diagram, Sequence diagram, Collaboration diagram, Class diagram, Statechart diagram, Component diagram, dan Deployment diagram. Pada tahun 1999 lahirlah UM L versi 1.3, menjadi 9 (Sembilan) buah diagram, dengan penambahan Business Use Case diagram. Pada M ei 2001 lahirlah UM L versi 1.4, menjadi 10 (Sepuluh) buah diagram, dengan penambahan Object Diagram.
Pada tahun 2002 lahirlah UM L versi 2.0, menjadi 13 buah diagram, dengan penambahan dan penggantian yaitu: 1. Use CaseDiagram 2. Activity Diagram 3. Sequence Diagram 4. Communication Diagram (Collaboration diagram in verson 1.x)
34 5. Class Diagram 6. State Machine Diagram (State diagram in version 1.x) 7. Component Diagram 8. Deployment Diagram 9. Composite Structure Diagram 10. Interaction Overview Diagram 11. Object Diagram 12. Package Diagram 13. Timing Diagram
Kegunaan UM L adalah sebagai berikut: •
UM L sebagai bahasa visualisasi digunakan untuk merancang suatu model yang dapat dibaca oleh banyak orang dengan pengertian yang sama.
•
UM L bahasa pendefinisian digunakan untuk mendefinisikan dengan rinci seluruh hasil analisis, desain, dan implementasi yang harus dilakukan dalam pengembangan sistem.
•
UM L
sebagai
bahasa
dokumentasi
digunakan
untuk
mendokumentasikan arsitektur beserta perinciannya, unsure-unsur yang dibutuhkan dalam pengembangannya. Serta perencanaan dan implementasi proyek secara keseluruhan dengan symbol-simbol yang mudah dimengerti.
35
UM L adalah hanya sebuah notasi yang digunakan untuk menggambarkan
diagram-diagram.
Pada UM L juga ditambahkan
tambahan fitur-fitur menarik lainnya yaitu: 1.
UM L memiliki semantik detil, yang digunakan untuk menjelaskan maksud dari variasi-variasi notasi.
2.
UM L memiliki
mekanisme tambahan,
yang memungkinkan
pendesain software untuk mempresentasikan konsep-konsep yang bukan merupakan inti dari UM L itu sendiri. 3.
UM L telah diasosiasikan dengan textual language yang disebut Object Constraint Language (OCL). Dari sekian banyak variasi diagram pada UM L, yang penulis
gunakan dalam pengembangan sistem yang dibahas pada skripsi ini hanya akan menggunakan beberapa diagram saja yaitu: 1. Class Diagram 2. Use Case Diagram 3. Sequence Diagram 4. Activity Diagram 5. Statechart Diagram
36
2.7.1.1 Class Diagram M enurut Bruegge, dan Dutoit (2000,pp45-50), class diagram digunakan untuk mendeskripsikan struktur dari sistem yang berkaitan dengan kelas dan objek. Classes merupakan abstraksi yang menentukan atribut dan perilaku dari sekumpulan objek. Objek adalah entity yang mengengkapsulasi state dan behavior. Dalam UM L kelas digambarkan dengan sebuah kotak yang isinya berupa properti dan fungsi / method.
Rectangle
Rectangle
Rectangle
Rectangle
width height
getArea resize
width height getArea resize
Gambar 2.2 Bentuk Penyajian Class Diagram
2.7.1.1.1 Association and Multiplicity M enurut Lethbridge, dan Laganiere (2001,p155) Association digunakan untuk menunjukan bagaimana hubungan dua kelas yang saling berhubungan antara satu dan lainnya.
37 Multiplicity
digunakan
untuk
menunjukan
berapa banyak instance dari sebuah kelas yang di akhir satu dapat saling berasosiasi dengan instance lainnya yang berada di akhir dua.
2.7.1.1.2
Generalization Generalisasi atau sering juga disebut Gen-Spec (Generalization-Specialization). Pada UM L digunakan untuk menggambarkan konsep inheritance pada suatu kelas.
2.7.1.1.3
Aggregation M enurut
Lethbridge,
dan
Laganiere
(2001,pp169-171) Aggregation adalah asosiasi yang sifatnya khusus, aggregation merepresentasikan relasi part-whole. Sisi whole dari relasi sering kali disebut sebagai assembly atau aggregate. Aggregation ini sering juga disebut sebagai hubungan part of antara kelas satu dengan lainnya. Pada aggregation jika symbol diamond-nya berwarna hitam maka aggragation tersebut menunjukan hubungan yang sangat kuat antara kelas satu dengan yang lainnya atau biasa disebut Composite. Jika kelas
38 yang satu dihancurkan maka kelas yang lain juga ikut hancur. Contohnya adalah jika kita memiliki gedung, maka dalam gedung tersebut terdapat banyak ruanganruangan. Apabila gedung tersebut hancur, maka ruangan-ruangan yang menyusun gedung tersebut juga akan hancur. Sedangkan jika tidak berwarna maka aggregation tersebut disebut sebagai Shared dan hubungannya tidak sekuat pada composite aggregation.
2.7.1.2 Use Case Diagram M enurut Bruegge, dan Dutoit (2000,pp39-40) Use Cases mendeskripsikan perilaku dari sistem berdasarkan dari sisi pandang dari actor’s. Behavior dideskripsikan oleh use case model sering kali disebut dengan external behavior.
Actors adalah entity eksternal yang berinteraksi dengan sistem. Contoh actors adalah (Pengguna sistem, administrator system, customer bank, bank Teller) dan mungkin sistem lain di luar sistem kita. Secara grafik menggambarkan interaksi antara sistem, halhal di luar sistem, dan user. Dengan kata lain, mereka menggambarkan siapa yang akan memakai sistem dan dengan cara itu seorang user akan berinteraksi dengan sistem. Use-case
39 merupakan urutan urutan langkah yang secara tindakan saling terkait (skenario), baik termotivasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal.
Gambar 2.3 Contoh Diagram Use-case Notasi yang digunakan dalan use-case diagram antara lain: 1. Actor Adalah posisi yang dimiliki user terhadap sistem. Yang menjadi actor dapat berupa manusia, hardware atau sistem lain yang berhubungan dengan sistem yang berjalan. Atau actor adalah sesuatu yang memerlukan interaksi dengan sistem untuk bertukar informasi. 2. Use-case Symbol
40 M enggambarkan sekumpulan urutan, dimana setiap urutan mewakili intervensi antara actor dengan sistem. Use case symbol
merepresentasikan
fungsionalitas
sistem
secara
keseluruhan. 3. Deskripsi Use Case Bagian umum kejadian use-case adalah deskripsi usecase, yaitu langkah demi langkah mulai dengan pelaku menginisialisasi use-case dan melanjutkannya hingga akhir kejadian bisnis. Dimana dalam deskripsi use-case terdapat: •
Nama use-case (use-case), merupakan nama dari suatu usecase.
•
Aktor (actor), pelaku yang berpartisipasi di dalam suatu use-case.
•
Tujuan (goals), tujuan dari use-case.
•
Prakondisi (precondition), batasan pada keadaan sistem sebelum use-case dapat dieksekusi.
•
Ringkasan (summary), deskripsi ringkasan pendek yang berisi jumlah kalimat yang menunjukkan secara garis besar tujuan use-case dan berbagai kegiatannya.
•
Related use-case, use-case yang saling berhubungan.
•
Langkah-langkah (steps), menjelaskan setiap langkah dari use-case dengan menggunakan dua kolom, dimana kolom sebelah kiri menunjukkan aksi dari pelaku dan kolom
41 sebelah kanan merupakan respon yang diberikan oleh sistem. 2.7.1.2.2
S cenarios M enurut Bruegge, dan Dutoit (2000,p41) Use Case adalah sebuah abstraksi yang menjelaskan semua kemungkinan scenario yang ada melibatkan semua fungsionalits yang ada. Sedangkan Scenario adalah instance dari use case yang menjelaskan sekumpulan aksi secara konkrit.
2.7.1.2.3
Extension, S pecialization and Inclusion M enurut
Lethbridge,
dan
Laganiere
(2001,pp238-239), ketika sebuah actor berinteraksi dengan sistem, perbedaan urutan dari suatu event-event seringkali terjadi. Sehingga actor atau sistem akan melakukan reaksi yang berbeda pada langkah-langkah tertentu manapun. Extention digunakan untuk membuat interaksi eksplisit pilihan atau menangani kejadian yang tidak terduga. Use case extension dapat menjelaskan apa yang akan terjadi jika seorang actor memasukkan nama file yang salah ketika akan mengakses suatu file, atau menjelaskan
interaksi
tambahan
apabila
actor
42 memutuskan untuk mencari file tersebut pada lokasi lainnya. Specialization penggunaannya hampir sama dengan subclasses dari class diagram. Use case yang umum merepresentasikan beberapa use case yang sama. Satu atau lebih specialization menyediakan detail dari use case yang sama. Inclusion
memungkinkan
kita
untuk
mengekspresikan bagian dari suatu use case sehingga kita dapat menangkap keumuman antara beberapa use case yang sama.
2.7.1.3 Sequence Diagram M enurut Lethbridge, dan Laganiere (2001,pp270-273) Sequence diagram digunakan untuk menunjukan urutan pertukaran pesan dari sekumpulan objek (actor Optional) yang mengerjakan tugas tertentu. Objek-objek diurutkan dari kiri ke kanan menyebrangi diagram, actor yang berada di awal interaksi selalu diletakan di kiri. Dimensi vertical merepresentasikan waktu. Bagian atas dari diagram adalah titik permulaan, dan pergerakan waktu mengarah ke bawah dari diagram. Garis putus-putus vertical disebut sebagai Lifeline, dan disertakan pada masing-masing objek atau actor.
43 Sequence diagram menggambarkan serangkaian messages yang mengalami pertukaran yang dilakukan oleh object (dapat juga berupa actor) yang melakukan tugas tertentu. Sequence diagram antara lain tersusun atas sekumpulan object-object yang akan dipergunakan untuk interaksi, activation box yaitu
kotak yang
menyatakan lifeline (daur hidup) dari suatu tugas yang sedang dilakukan. Pesan yang dikirim dimulai dari suatu actor atau object, dan kita dapat memberikan label pada pesan yang dilakukan. (Lethbridge dan Laganiere, 2002, pp270-271).
44
G a G a m b a
2.4 Contoh Sequence Diagram
Dari sequence diatas menjelaskan bagaimana siklus yang terjadi di satu restoran dimana ada pemesanan makanan dan minuman. Semua garis horizontal yang berfungsi sebagai pesan terjadi berurutan sesuai dengan urutan kejadian.
Sequence diagram menggambarkan aksi yang terjadi dalam
45 suatu sistem, pemanggilan dari metode-metode di setiap objek, dan urutan dimana pemanggilan tersebut terjadi termasuk di dalam sequence diagram. Hal ini membuat Sequence diagram sebagai suatu tool yang sangat berguna untuk menjelaskan perilaku dinamis dari sebuah sistem. Karena penggunaan nama kelas dan referensi nama objek, Sequence diagram menjadi sangat berguna dalam menjabarkan desain dinamis, urutan, dan asal pemanggilan dari suatu objek.
46 2.7.1.4 Activity Diagram M enurut
Wikipedia (http://en.wikipedia.org/),
Activity
diagram merepresentasikan bisnis dan juga workflow operational dalam suatu sistem. Sebuah Activity diagram adalah variasi dari state diagram yang mana “state” merepresentasikan operasi, dan transisinya merepresentasikan aktivitas yang terjadi pada saat operasi sudah selesai.
Receive course registration request
Chek
Verify course not full
not ok not ok Chek special permision
not ok
ok
Receive course registration request
Gambar 2.5 Contoh Acti vity Diagram
Activity Diagram / diagram aktivitas adalah sebuah diagram yang dapat digunakan untuk menggambarkan secara grafis aliran proses bisnis, langkah-langkah sebuah use-case atau
47 logika behavior object. Diagram ini serupa dengan flowchart, dimana secara grafis diagram ini meggambarkan aliran sekuential dari kegiatan baik itu proses bisnis atau sebuah use-case. Diagram ini berbeda dengan flowchart dimana diagram ini menggambarkan mekanisme kegiatan secara paralel.
Oleh karena itu, diagram ini sangat berguna untuk memodelkan kegiatan yang akan dilakukan saat sebuah operasi dieksekusi dan untuk memodelkan hasil-hasil dari kegiatan ini seperti memodelkan event yang menyebabkan window akan ditampilkan atau ditutup. Dibawah ini merupakan simbol-simbol yang ada pada diagram aktivitas : •
Initial Node Lingkaran yang diisi penuh merupakan awal mulainya dari diagram ini. Initial node tidak harus ada, tetapi dengan menggunakannya membuat diagramnya lebih mudah untuk dibaca.
•
Activity Segi empat bersudut tumpul menggambarkan kegiatan yang perlu dilakukan. Suatu activity bisa secara fisik, seperti Inspect Forms, atau secara elektronik, seperti Display Create Student Screen.
48 •
Control Flow Panah yang ada di diagram, menggambarkan sasaran yang mengawali kegiatan.
•
Fork Bar hitam dengan satu flow yang mengarah ke dalamnya dan beberapa flow lainnya meninggalkannya, merupakan bar sinkronisasi dimana kegiatn dapat dilakukan
•
Join Bar hitam dengan beberapa flow mengarah ke dalamnya dan ada satu flow yang meninggalkannya, merupakan bar sinkronisasi dimana beberapa aktivitas yang mempunyai tujuan yang sama dan tujuan dari keduanya digabung menjadi satu.
•
Decision Gambar sebuah wajik, menggambarkan sebuah kegiatan keputusan secara paralel.
•
Final Node Gambar lingkaran yang diisi penuh dan ada batas lagi di luarnya, menggambarkan akhir dari sebuah proses.
49 2.7.1.5 S tate Diagram M enurut
Wikipedia
(http://en.wikipedia.org/),
State
diagram pada dasarnya merupakan sebuah notasi standart Harel statechart, yang dapat menjelaskan banyak hal, mulai dari program komputer sampai kepada proses bisnis. Harel statechart (dikembangkan pada tahun 1987 oleh David Harel) mendapatkan tempat yang baik sejak menjadi bagian dari dari pada UM L. Diagram ini diperbolehkan untuk dapat membuat “state super”, “state awal” dan aktifitas menjadi satu bagian state. State classic adalah diagram yang terpisah, sebab mesin hanya bisa di dalam satu state, dengan harel state memungkinkan untuk model dan mesin, dimana mesin terdapat dalam lebih dari satu state secara bersamaan. Selain itu, ada dua simbol lain yang dipergunakan yaitu : 1. Start state, yaitu yang berupa simbol lingkaran hitam, berfungsi saat sistem atau objek memulai prosesnya. Dari start state,
akan
memunculkan
transisi
tak
berlabel
yang
berlangsung mengarah pada state lain yang ditunjuknya. Di dalam setiap start chart diagram hanya terdapat suatu start state. 2. End State, berupa lingkaran hitam yang paling dikelilingi lingkaran yang lebih besar dan berwarna putih. End state
50 menandakan sistem atau objek telah menyelesaikan proses kerjanya. End state dapat berjumlah lebih dari satu. (Lethbridge dan Laganiere, 2002, pp276-277) Xwin
XTurn
Tie O Turn
Owin
Gambar 2.6 Contoh S tate Chart Diagram
2.7.1.6 Entity Relationship Diagram (ERD) Entity adalah sebuah objek dalam dunia nyata yang dapat dibedakan dari objek lainnya. Karena setiap entity memiliki atribut yang berbeda dan setiap atribut tersebut memiliki nilai. Sedangkan relationship adalah asosiasi diantara beberapa entity. Jadi entity relationship diagram adalah suatu diagram yang mengekspresikan keseluruhan struktural logika dari sebuah basis data. M apping cordinalities atau cordinality ratio adalah mengekspresikan jumlah entity yang terhubung dengan
entity
lainnya yang dapat
diasosiasikan dengan relationship set. M apping cordinalities sangat berguna dalam menjelaskan binary relationship sets. Tipe-tipe mapping cordinalities : •
One to one : sebuah entity di A diasosiasikan memiliki
51 hubungan tepat satu dengan entity di B, dan sebaliknya.
•
One to many : sebuah entity di A diasosiasikan memiliki banyak hubungan dengan entity di B, dan entity di B diasosiasikan memiliki hubungan tepat satu dengan entity di A.
•
M any to one : sebuah entity di A diasosiasikan memiliki hubungan tepat satu engan entity di B, dan entity di B diasosiasikan memiliki banyak hubungan dengan entity di A.
•
M any to many : sebuah entity di A diasosiasikan memiliki banyak hubungan dengan entity di B, dan sebaliknya
2.7.2
Definisi Pemrograman Berorientasi Obyek
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
52 M odel data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Pemrograman orientasi-objek menekankan konsep berikut: •
Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan
53 menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. •
Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
•
Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
•
Enkapsulasi - M emastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
54 •
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
•
Inheritas- M engatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
55 Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. M isal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
2.8
Teori Penjualan 2.8.1 Pengertian Penjualan
M enurut Swastha (1993, p.35) definisi penjualan adalah ilmu dan seni mempengaruhi pribadi yang dilakukan oleh penjual untuk mengajak orang lain agar bersedia membeli barang atau jasa yang ditawarkan.
56 M enurut Kotler (1986, p.33), konsep penjualan dimulai dengan produk perusahaan yang telah ada dan melakukan usaha keras dalam penjualan serta promosi agar tercapai penjualan yang menghasilkan laba.
2.8.2
Sistem Penjualan
Sistem penjualan adalah suatu kerangka kerja dari seluruh kegiatan transaksi penjualan yang dikoordinasikan untuk menghasilkan informasi yang dibutuhkan oleh manajemen (Cuching, 1992, p.553-536).
M enurut M ulyadi (2001, p213), fungsi – fungsi yang terkait dalam system penjualan adalah: 3. Faktur penjualan, bertanggung jawab untuk menerima order, mengedit order, meminta otorisasi kredit, menentukan tanggal penerima dan bertanggung jawab atas transaksi penjualan. 4. Fungsi
gudang,
bertanggung jawab
untuk
menyimpan
dan
menyiapkan barang yang dipesan oleh pelanggan, serta menyerahkan barang ke fungsi pengiriman. 5. Fungsi pengiriman, bertanggung jawab untuk menyerahkan barang atas dasar surat order pengiriman yang diterimanya dari fungsi penjualan. 6.
Fungsi penagihan, bertanggung jawab untuk membuat dan mengirimkan faktur penjualan kepada pelanggan, serta menyediakan
57 copy faktur bagi kepentingan pencatatan transaksi penjualan oleh fungsi akuntansi. 7. Fungsi akuntansi, bertanggung jawab untuk mencatat piutang yang timbul dari transaksi penjualan
kredit
dan
membuat
serta
mengirimkan pernyataan piutang kepada para debitur, serta membuat laporan penjualan.
Jaringan prosedur yang membentuk penjualan (M ulyadi, 2001, p222) adalah sebagai berikut:
1.
Prosedur order penjualan Dalam prosedur ini, fungsi penjualan menerima order dari pembeli dan menambahkan informasi penting pada surat order dari pembeli. Fungsi penjualan kemudian membuat surat order pengiriman dan mengirimkannya pada berbagai fungsi yang lain untuk memungkinkan fungsi tersebut memberikan kontribusi dalam melayani order dari pembeli.
2. Prosedur persetujuan kredit Dalam prosedur ini, fungsi penjualan meminta persetujuan meminta persetujuan penjualan kredit kepada pembeli tertentu dari fungsi kredit.
58 3. Prosedur pengiriman Dalam prosedur ini, fungsi pengiriman mengirimkan barang kepada pembeli sesuai dengan informasi yang tercantum dalam surat order pengiriman yang diterima dari fungsi pengiriman.
4. Prosedur penagihan Dalam prosedur ini, fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. Dalam metode tertentu faktur penjualan dibuat oleh fungsi penjualan sebagai tembusan pada waktu bagian ini pembuat order pengiriman.
5. Prosedur pencatatan piutang Dalam prosedur ini, fungsi akuntansi mencatat tembusan faktur penjualan ke dalam kartu piutang atau dalam metode pencatatan tertentu mengarsipkan dokumen tembusan menurut abjad yang berfungsi sebagai catatan piutang.
6. Prosedur distribusi penjualan Dalam prosedur ini,fungsi akuntansi mendistribusikan data penjualan menurut informasi yang dibutuhkan oleh manajemen.
7. Prosedur pencatatan harga pokok penjualan
59 Dalam prosedur ini, fungsi akuntansi mencatat secara periodik total harga pokok produk yang dijual dalam periode akuntansi tertentu. Dokumen – dokumen yang digunakan dalam system penjualan (Mulyadi, 2001,p216) meliputi : 1.
Surat jalan dan tembusannya
2.
Faktur dan tembusannya
3.
Rekapitulasi harga pokok penjualan
4.
Bukti memorial