BAB II LANDASAN TEORI
2.1
Konsep Dasar Sistem Informasi Untuk mengetahui konsep dasar system informasi, terlebih dahulu kita harus mengetahui
beberapa dasar-dasar pengertian sistem dan informasi.
2.1.1 Definisi Sistem Sistem diartikan sebagai suatu jaringan kerja dan prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu [Jogiyanto HM,2005:1]. Dengan demikian pengertian sistem ini akan mempunyai peranan yang sangat penting dalam melakukan pendekatan sistem yang akan di analisis, pendekatan sistem dilakukan agar lebih menekankan pada komponen sistem.
2.1.2 Karakteristik Sistem Suatu sitem memiliki karakteristik atau sifat-sifat tertentu, yaitu mempunyai komponenkomponen, batas sistem, lingkungan luar system, penghubung, masukan, keluaran, pengolahan dan sasaran atau tujuan [Jogiyanto HM, 2005:3].
1. Komponen sistem(component)
Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerjasama membentuk satu kesatuan. Komponen-komponen siste atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem. 2. Batasan Sistem (Boundary) Batasan sistem merupakan daerah yang membatasi antara system dengan system yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu system dipandang sebagai sesuatu kesatuan dan menunjukkan ruang lingkup dari sistem tersebut. 3. Lingkungan luar sistem (Environtment) apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan juga merugikan, karena lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengan demikian harus dan dipelihara. 4. Penghubung sistem (interface) Media yang menghubungkan antara subsistem dengan subsistem yang lainnya. Melalui penghubung ini kemungkinan sumber-sumber daya mengalir dari satu subsistem ke subsistem lainnya. Keluaran suatu subsistem akan menjadi masukan untuk subsistem lainnya melalui penghubung. 5. Masukan sistem (Input) Energi yang dimasukan ke dalam sistem disebut masukan sistem, masukan dapat berupa masukan perawatan dan masukan sinyal maintenance input adalah energy yang dimasukan supaya sistem tersebut dapat berjalan dan merupakan suatu proses untuk mendapatkan hasil keluaran dari sistem.
6. Keluaran sistem (Output) Hasil energi yang diolah dan diklasifikasikan menjadi output yang berguna. 7. Pengolahan sistem (Process) Suatu dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran. 8. Sasaran sistem (objective) Suatu sistem yang mempunyai tujuan atau sasaran system tidak mempunyai sasaran maka sistem tidak akan ada, suatu sistem dapat dikatakan berhasil bila mengenai sasaran atau tujuannya.
Gambar 2.1 Karakteristik Sistem 2.1.3 Definisi Informasi
Apakah sebenarnya informasi itu, sehingga sangat penting artinya bagi suat system?. Informasi (information) dapat didefinisikan sebagai berikut : (Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya). Sumber dari informasi adalah data. Data merupakan kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata [Jogiyanto HM, 2005:8] Informasi tanpa adanya data maka informasi tersebut tidak akan terbentuk. Begitu pentingnya peranan data dalam terjadinya suatu informasi yang berkualitas. Keakuratan data sangat mempengaruhi terhadap keluaran informasi yang akan terbentuk. Berdasarkan definisi informasi diatas maka penulis menyimpulkan, informasi adalah data yang telah diolah atau diproses menjadi suatu bentuk yang berguna dan berarti bagi si penerima berita dan si pemberi berita guna mengambil keputusan saat ini maupun saat mendatang.
2.1.4 Definisi Sistem Informasi Sistem informasi didefinisikan oleh Robert A. Leitch dan K. Roscoe Davis yaitu “suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan.” [Jogiyanto HM,2005:11].
2.1.5 Komponen Sistem Informasi
John Burch dan Gary Grudnitski mengemukakan bahwa sistem informasi terdiri dari komponen-komponen yang disebutnya dengan istilah blok bangunan (Building Block), yaitu blok masukan (input block), blok model (model block), blok luaran (output block), blok teknologi (technology block), blok basis data (database block) dan blok kendali (controls block). Sebagai suatu sistem, keenam blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai sasarannya. [Jogiyanto HM,2005:12].
2.2
Data Kata Data diambil dari bahasa Inggris yang berasal dari bahasa Yunani datum yang
berarti fakta. Makna kata data bagi manusia adalah segala sesuatu yang dapat diterima oleh indera manusia dari rangsangan-ransangan yang ada di sekitarnya, baik secara tersurat maupun yang tersirat. Sedangkan makna kata data di komputer adalah segala sesuatu yang bisa dikodekan atau disimbolkan, atau lambangkan dengan kode-kode, simbol-simbol, atau lambing-lambang yang telah disediakan di setiap komputer. Kata data itu sendiri sudah bermakna majemuk karena tidak ada kata “datas” di kamus bahasa inggris. Jadi, tidak perlu mengulangnya seperti data-data, kumpulan data, atau banyak data. Pada computer, data memiliki satuan ukuran yang istilahnya bisa bermacam-macam, dari yang terkecil hingga terbesar. Misalnya sering kita dengar kalimat, “disket saya sudah berisi 25 file.” Atau, “hardisk dikomputer saya besarnya 40 gigabyte.” Kemudian, “prosesor komputer saya memiliki kecepatan 3,1 GHz . “ dan, “ file biodata saya terdiri dari 5 filed, tapi baru berisi 100 recored,”dan sebagainya.[ Bambang Wahyudi,2004 :1] 2.3
Microsoft Access 2003
Microsoft access 2003 adalah program aplikasi pengolah basis data (database) yang merupakan bagian dari microsoft office 2003 [Junindar,2008:21].
Gambar 2.2 Tampilan Microsoft Access 2003
2.4
Visual Basic.Net Visual basic .Net adalah generasi penerus visual basic 6.0 dari Microsoft corporation.
Dengan visual basic .Net, kita dapat membangun aplikasi windows, web services, dan aplikasi web dengan ASP.NET secara cepat dan mudah. Pemilihan visual basic .Net sebagai program pengembang sistem ini adalah karena salah satu program aplikasi berada dibawah platform .Net framework.
Gambar 2.3 Tampilan visual basic.NET 2005 Dalam dialog New Project terdapat beberapa jenis aplikasi yang akan dibuat termasuk bahasa pemograman yang digunakan. Jenis aplikasi yang dapat dibuat adalah:
Windows Application Aplikasi yang paling umum dibuat, menggunakan interface windows, windows application merupakan Interface aplikasi, sedangkan logic aplikasi terdapat di dalam Class Library. Windows Application dapat berisi form, class, xml file, maupun file VB Script dan Jscript.
Class Library
Fondasi dasar untuk membuat komponen yang menjalankan fungsi tertentu. Class merupakan fondasi dasar untuk membentuk objek dalam pemrograman berorientasi objek. Class Library tidak memiliki interface tertentu seperti form, tetapi dapat diakses oleh aplikadi lain untuk menjalankan berbagai fungsi yang terdapat di dalamnya. Class Library dapat disamakan dengan teknologi ActiveX DLL (.dll) dan ActiveX EXE dalam pemrograman VB6.
Windows Control Library Dapat berkreasi memuat kontrol sendiri dan memasukkan berbagai fungsi yang diinginkan di dalam kontrol tersebut. Fasilitas untuk membuat kontrol tersebut adalah Windows Control Library. Control ini sama dengan ActiveX Control (.ocx) dalam pemrograman VB6.
ASP.NET Web Application Project yang digunakan untuk membuat aplikasi web. Teknologi yang digunakan adalah ASP.NET yang memiliki berbagai kelebihan dibandingkan ASP klasik. Perubahan utama adalah dapat deprogram menggunakan berbagai bahasa.NET seperti VB, C++, C#, maupun J#. ASP.NET juga menyediakan berbagai kontrol yang bersifat event driven programming sehingga lebih menghemat waktu pembuatan aplikasi.
ASP.NET Web Service Web service merupakan salah satu ide utama dalam.NET. bias membuat web service dan meletakkanya di web server untuk diakses berbagai aplikasi. Sebuah web service dapat diakses oleh aplikasi windows, web, console, maupun mobile device.
Console Application
Aplikasi dengan tampilan text mode atau DOS. Aplikasi jenis ini biasa digunakan sebagi monitoring service atau remote application di mana sumber daya komputer dan bandwith sangat terbatas. Windows Service Aplikasi yang berjalan sebagai service di windows, yang di-load bersamaan dengan proses start up windows. Aplikasi ini berjalan di background dan biasanya tidak memiliki interface.
Web Control Library Hamper sama dengan Windows Control Library tapi digunakan untuk aplikasi web.
2.5
Unifed Moddeling Language (UML) UML (Unifed Moddeling Language) adalah salah satu alat Bantu yang handal di dunia
pengembangan system yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembangan system untuk membuat cetak biru atas visi mereka dalam bentk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yan efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain [Munawar, 2005:16]. Dibawah ini adalah beberapa simbol-simbol pemodelan sistem yang sering digunakan dalam UML : ACTOR
Gambar 2.1 Notasi Actor (Julius Hermawan: 2005, 14) Actor adalah segala sesuatu yang berinteraksi dengan sistem aplikasi kompter. Jadi actor ini bias berupa orang, perangkat keras, atau mungkin juga obyek lain dalam sistem yang sama. Biasanya yang dilakukan oleh actor adalah memberikan informasi pada sistem atau memerintahkan sistem untuk melakukan sesuatu. CLASS
Gambar 2.2 Notasi Class (Julius Hermawan: 2005, 14)
Class merupakan pembentuk utama dari sistem berorientasi obyek karena class menunjukkan kumpulan obyek yang memiliki atribut dan operasi yang sama. Class digunakan untuk mengimplementasikan interface. Class digunakan untuk mengabstraksikan elemen-elemen dari sistem yang sedang dibangun. Class bias untuk merepresentasikan baik perangkat lunak maupun perangkat keras, baik konsep maupun benda nyata.
Notasi class berbentuk persegi panjang berisi 3 bagian: persegi paling atas untuk nama class, persegi panjang paling bawah untuk operasi, dan persegi panjang di tengah untuk atribut. Atribut digunakan untuk menyimpan informasi. Nama atribut menggunakan kata benda yang bias dengan jelas merepresentasikan informasi yang disimpan didalamnya. Operasi menunjukkan sesuatu yang biasa dilakukan oleh obyek, dan menggunakan kata kerja. INTERFACE
Gambar 2.3 Notasi Interface (Julius Hermawan: 2005, 15)
Interface merupakan kumpulan operasi tanpa implementasi dari suatu class. Implementasi operasi dalam interface dijabarkan oleh operasi dalam class. Oleh karena itu keberadaan interface selalu disertai oleh class yang mengimplementasikan operasinya. Interface ini merupakan salah satu cara mewujudkan prinsip enkapsulasi dalam obyek. USE CASE
Gambar 2.4 Notasi Use Case (Julius Hermawan: 2005, 16)
Use case menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan namun use case hanya menjelaskan apa
yang dilakukan oleh actor dan sistem, bukan bagaimana actor dan sistem melakukan kegiatan tersebut.
INTERACTION
Gambar 2.5 Notasi Interaction (Julius Hermawan: 2005, 18)
Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi antar obyek maupun hubungan antar obyek. Biasanya interaction ini dilengkapi juga dengan teks bernama operation signature yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan. PACKAGE
Gambar 2.5 Notasi Package (Julius Hermawan: 2005, 19)
Package
adalah
container
atau
wadah
konseptual
yang
digunakan
untuk
mengelompokkan elemen-elemen dari sistem yang sedang dibangun, sehingga bias dibuat model yang lebih sederhana. Tujuannya adalah untuk mempermudah penglihatan dari model yang sedang dibangun.
NOTE
Gambar 2.8 Notasi Note (Julius Hermawan: 2005, 19)
Note digunakan untuk memberikan keterangan dan komentar tambahan dari suatu elemen sehingga bias langsung terlampir dalam model. Note ini bias ditempelkan ke semua elemen notasi yang lain. DEPENDENCY
Gambar 2.9 Notasi Dependency (Julius Hermawan: 2005, 20)
Dependency merupakan relasi yang menunjukkan bahwa perubahan pada salah satu elemen member pengaruh pada elemen lain. Elemen yang ada di bagian tanda panah adalah elemen yang ada di bagian tanpa tanda panah. ASSOCIATION
Gambar 2.9 Notasi Association (Julius Hermawan: 2005, 21)
Association menggambarkan navigasi antar class (navigation), berapa banyak obyek lain yang bias berhubungan dengan satu obyek (Multiplicity antar class), dan apakah suatu class menjadi bagian dari class lainnya (Aggregation). GENERALIZATION
Gambar 2.12 Notasi Generalization (Julius Hermawan: 2005, 22)
Generalization menunjukan antara elemen yang lebih umum ke elemen yang lebih spesifik. Dengan generalization, class yang lebih spesifik ( subclass ) akan menurunkan atribut dan operasi dari class yang lebih umum ( superclass ). REALIZATION
---------------Gambar 2.13 Notasi Realization (Julius Hermawan: 2005, 22)
Realization menunjukan hubungan bahwa elemen yang ada di bagian tampa panah akan merealisasikan apa yang diyatakan oleh elemen yang ada dibagian dengan panah. Misalnya class merealisasikan package, component merealisasikan class atau interface.
Dibawah ini ada beberapa tipe diagram dalam UML (Unifed Moddeling Language) , yaitu: A.
Activity Teknik untuk mendiskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus. Contoh sederhana activity diagram bias dilihat pada gambar 2.4. Gambar tersebut menjelaskan tentang tentang aliran saat proses penerimaan order. Dari gambar tersebut terlihat bahwa pengisian order dan pengiriman invoice terjadi secara. Intinya tidak jadi masalah mengenai mana yang terlebih dahulu harus diselesaikan.
terima order
isi order
overnight delivery
kirim invoice
reguler delivery
terima pembayaran
close order
Gambar 2.4 contoh activity diagram sederhana [Munawar, 2005: 111] Activity diagram seperti sebuah flow chart. Activity diagram menunjkkan tahapn, pengambilan keputusan dan percabangan. Diagram ini sangat berguna untuk menunjukkan operation sebuah obyek dan proses bisnis. Kelebihan activity diagram disbanding flow chart adalah kemampuannya dalam menampilkan aktivitas paralel. Activity diagram biasa digunakan untuk menunjukkan siapa mengerjakan apa dengan teknik partision.
B.
Class Class, dalam notasi UML digambarkan dengan kotak. Nama class menggunakan huruf besar di awal kalimatnya dan diletakkan di atas kotak. Bila class mempunyai nama yang
terdiri dari 2 suku kata atau lebih, maka semua suku kata digabungkan tanpa spasi dengan huruf awal tiap suku kata menggunakan huruf besar.
Mesin Cuci Merek Model noSeri kapasitas
Gambar 2.5 Contoh class dan attribute - attributenya [Munawar, 2005:34]
C.
Communication Communication diagram adalah sejenis dengan diagram interaksi, yang lebh menekankan pada link data dianatara bermacam-macam participant pada interaksi tersebut. Untuk membantu urutan message, communication diagram bias memanfaatkan penomoran. Pemanfaatan penomoran ini disamping berguna untuk memahami urutan, namun bias juga dimanfaatkan untuk kondisi berkalang (nested).
Gambar 2.6 Contoh Communication Diagram [Munawar, 2005: 142]
D.
Component Bagian fisik dari sebuah system, karena menetap di computer, bukan di benak para analis. Komponen bias berupa table, file data, file exe, dan lain-lain (dynamic link library), dokumen dan lain-lain. Jika component menetap di sebuah computer dan bekerja sebagai bagian dari system, mengapa perlu repot-repot memodelkannya?dengan memodelkan component dan relasinya maka: 1. klien bias melihat struktur system yang sudah selesai. 2. Pengembang mempunyai strukktur untuk panduan kerja. 3. Dokumentator bias memahami apa yang mereka tulis. 4. Siap untuk digunakan kembali untuk proyek lain. Bagian terpenting dari keempat hal di atas adalah yang terakhir yaitu reusability. Dalam iklim persaingan seperti sekarang ini, semakin cepat kita bias membangun sebuah sistem akan semakin kompetitif. Dengan demikian jika bias membangun component untuk sebuah system dan menggunakannya lagi untuk system yang lain jelas akan meningkatkan daya saing. Bentuk-bentuk dalam component ada 3, yaitu: 1. Deployment component; yang menjadi basis dari executable system.contohnya yaitu file exe, ActiveX control, Java Bean dan lain-lain.
2. Work Product Component; yaitu fili-file yang dibutuhkan untuk pembuatan deployment component. Contoh untuk component kedua ini diantaranya file data, file source dan lain-lain. 3. Execution component; yang dibuat sebagai hasil dari system yang akan dijalankan (running system). Contoh nyata dari penggunaan ketiga component tersebut bias dilihat pada penggunaan help file di windows. Deployment component pada help dalah .hlp. saat pertama kali help dibuka dan Tab Find di click, akan dibuat sebuah file baru untuk halaman content/index. Biiasanya file yang dibuat berextention .CNT (content topic) yang mendiskripsikan tata letak kontant. Karena help filemembuat sebuah deployment component maka ini disebut work product component. Pada saat yang bersamaan juga membuat index dalam file Full Text Search (.FTS) akhirnya saat pertama kali help di buka, akan dibuat file GID (General Index) sebagai hasil analisis yang dilakukan oleh windows help system untuk mempercepat akses ke help file. Dengan demikian FTS dan GID adalah execution component.
Nama Component
Gambar 2.7 Contoh Component Diagram [Munawar, 2005:122]
E.
Composite Structure
Diagram composite structure diagram untuk menunjukkan dekomposisi ecara hirarkis sebuah class ke sebuah struktur internal. Hal ini memungkinkan untuk memecah obyek yang kompleks menjadi bagian-bagian kecil. Perbedaan antara package dengan composite structure adalah package digunakan untuk pengelompokkan saat kompilasi (compiletime), sedangkan composite structure digunakan untuk pengelompokkan saat dijalankan (runtime) .
Gambar 2.8 Contoh Compusite Diagram [Munawar, 2005: 146] F.
Deployment Deployment diagram menunjukkan tata letak sebuah sistem secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian hardware. Deployment diagram menyediakan gambaran bagaimana system secara fisik akan terlihat. System terdiri dari node-node dimana setiap node diwakili untuk sebuah kubus. Garis yang menghubungkan antara 2 kubus menunjukkan hubungan diantara kedua node tersebut. Tipe node bias berupa device yang berwujud hardware dan bisa juga (yang mengeksekusi
component) atau execution environment (software yang menjadi host atau mengandung software yang lain).
Gambar 2.9 Contoh Deployment Diagram [Munawar, 2005:127]
G.
Interaction Overview Interaction Overview adalah pencangkokan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview diagram bias dianggap sebagai activity diagram dimana semua aktifitas diganti dengan sedikit sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan. Dengan kata lain interaction diagram adalah gabungan diantara keduanya yang membuat campuran sedikit ganjil.
Gambar 2.10 Contoh Interaction Overview Diagram [Munawar, 2005: 150]
H.
Object Object diagram adalah gambaran obyek-obyek secara ringkas di sebuah system pada suatu waktu. Object diagram bias digunakan untuk menunjukkan contoh konfigurasi dari obyek-obyek. Secara umum object diagram mengandung obyek dan link atau bias juga mengandung package atau sub system. Object diagram sangat berdaya guna dalam menunjukkan contoh-contoh obyek yang saling terhubungkan satu sama lain. Dalam banyak kasus struktur yang tepat bias digambarkan secara tapat dengan class diagram,
akan tetapi struktur tersebut munggkin masih susah untuk dimengerti. Pada situasi seperti ini pembuatan contoh dengan obyek diagram akan sangat membantu sekali.
Gambar 2.11 Contoh Object Diagram [Munawar, 2005:137]
I.
Package Package adalah pengelompokan kontuksi ke level yang lebh tinggi. Sebuah package bias menjadi anggota package yang lain. Bila dibuat hierarki, package yang paling akan mengandung package-package yang lain. Demikian seterusnya hingga yang paling bawah adalah class. Manfaat utama penggunaan package adalah penerapannya pada system skala besar untuk mendapatkan gambaran saling ketergantungan diantara componentcomponent utama pada sistem.
Gambar 2.12 Contoh Package Diagram [Munawar, 2005: 132]
J.
Sequence Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Diagram ini menunjukkan sejumlah contoh obyek dan message (pesan) yang diletakkan diantara obyek-obyek ini di dalam use case. Komponen utama sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat benama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan proses vertical.
name1
name2 Participant (obyek)
Top Package::actor
activation
Message lifeline
Gambar 2.13 Simbol-simbol yang ada pada sequence diagram [Munawar, 2005: 91]
K.
State machine Obyek pada system mengubah state-nya untuk merespon even dan waktu. State diagram menangkap perubahan state tersebut. State diagram focus pada perubahan state hanya pada satu obyek. Segi empat yang pinggirnya oval bias mewakili state, sedangkan garis dengan tanda panah mewakili transition. Kadang kala sebuah state terdiri dari sub state. Sub state bisa menjadi sekuensial (terjadinya satu sub state setelah sub state yang lain) dan bisa jadi concurrent (terjadi pada saat bersamaan). State yang mempunyai sub state disebut composite state. History state menunjukkan bahwa composite state mengingat sub statenya saat transition obyek keluar dari composite state.
Stop
Closed
Load
play play
Stop
Playing play
Load
Load
Stop Open
Gambar 2.14 Contoh State Machine untuk CD player [Munawar, 2005: 75] Sangat penting untuk membuat state diagram, karena dapat membantu analis,designer dan developer dalam memahami perilaku obyek yang ada d sistem. Developer secara spesifik harus mengetahui apa yang seharusnya dipunyai oleh obyek-obyek, karena harus mengimplementasikan perilaku tersebut kedalam software. Hal tersebut masih belum cukup, karena developer harus membuat obyek tersebut melakukan sesuatu.
L.
Timing Timing diagram sudah lama dipakai sejak lama di bidang elektronik. Timing diagram adalah bentuk lain dari interaction diagram, dimana focus utamanya lebih kewaktu. Timing diagram ini biasa dipakai untuk obyek tunggal maupun sekelompok obyek.
Gambar 2.15 Contoh Timing Diagram [Munawar,2005: 152]
M.
Use case Konstruksi untuk mendeskripsikan bagaimana sistem akan terlihat di mata pengguna potensial. Diagram use case menunjukkan 3 aspek dari sistem yaitu: actor, use case dan system/ sub system boundary. Actor mewakili peran orang, system yang lain atau alat ketika berkomunikasi dengan use case.
Gambar 2.16 Contoh Use Case Diagram [Munawar, 2005: 67]
2.6
Analisa dan Perancangan Perangkat Lunak
2.6.1 Metode Waterfall Gaya metode waterfall adalah memecah sebuah proyek berdasarkan aktifitas, untuk membuat perangkat lunak, terlebih dahulu harus melakuka kegiatan tertentu, yaitu rekayasa system, analisis system, desain system, pengkodean (coding), pengujian dan pemeliharaan (maintenance).
Rekayasa Sistem
Analisis
Desain
Coding
Pengujian
Maintanance
Gambar 2.17 Skema Waterfall Rekayasa system Tahapan ini menyangkut pengmpulan kebutuhan pada tingkat system dengan sejumlah kecil analisis serta desain tingkat puncak. Analisis sistem Pada tahapan ini dilakukan pengumpulan perangkat lunak. Untuk memahami perangkat lunak yang dibangun, perekayasa perangkat lunak harus memahami domain
informasi, tingkah laku, untuk kerja, dan antar muka yang diperlukan. Kebtuhan baik untuk sistem maupu perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan. Desain sistem Proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda, yaitu: struktur data, arsitektur perangkat lunak, representasi interface, dan algoritma prosedural. Proses desain menerjemahkan syarat/kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak. Pengkodean Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis. Rengujian Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
Pemeliharaan Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan, perubahan akan terjadi karena kesalahan-kesalahan ditentukan, karena perangkat lunak harus disesuaikan untuk mengakomodasi perubahan-perubahan di dalam lingkungan eksternalnya (perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru)
2.7 Teori-Teori Pendukung Dalam membuat rancangan aplikasi penjualan tunai ini didukung oleh beberapa erangkat lunak serta menggunakan teori-teori pendukung lainnya yang berkaitan dengan sistem yang dirancang. A. Teori Penjualan Penjualan adalah suatu usaha yang dilakukan untuk mendistribusikan barang kebutuhan yang telah dihasilkan oleh produsen kepada konsumen yang memerlukan dengan memperoleh jasa berupa uang menurut harga yang ditetapkan. B. Sistem Penjualan Tunai Penjualan tunai dilaksanakan dengan mewajibkan pembeli membayar sejumlah harga beli barang, lalu barang diserahkan kepada pembeli. Setelah itu, dilakukan pencatatan transaksi. Penjualan dapat dilakukan dengan cara, antara lain:
a. Penjualan Langsung Penjualan langsung adalah cara penjualan dimana penjual langsung berhubungan atau berhadapan dengan pembeli. Pembeli dapat langsung mengemukakan keinginannya bahkan sering terjadi tawar menawar harga untuk mencapai kesesuaian.
b. Penjualan Tidak Langsung Penjualan tidak langsung dapat terjadi jika terdapat masalah antara lain seperti jarak antara lokasi penjual dan pembeli cukup jauh, respon masyarakat terhadap sebuah iklan atau katalog, terbatasnya waktu antara penjual dan pembeli. Penjualan tidak langsung dapat dilakukan melalui antara lain:
Penjualan melalui telepon Terkadang pembeli ingin agar pesanannya cepat diterima oleh penjual. Oleh karena itu, pemesanan dapat dilakukan melalui telepon. Dalam penjualan melalui telepon, baik untuk jarak jauh maupun di luar perkotaan, biasanya penjual lebih mengutamakan pembeli yang sudah dikenal.
Penjualan dengan mesin otomatis Penjualan dengan mesin otomatis dapat dilakukan untuk jenis barang yang beragam dan butuh spesifikasi dari barang yang akan dibeli. Penjualan dengan mesin otomatis biasanya dilakukan dengan menggunakan mesin faximile.
2.8 Pengujian Perangkat Lunak Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekankan seperti yang dikatakan oleh Deutsch [DEU79]: “Pengembangan sistem perangkat lunak melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar. Kesalahan dapat mulai terjadi pada permulaan proses di mana sasaran ditetapkan secara tidak sempurna, dan dalam desain dan tahap pengembangan selanjutnya. Karena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna, maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas”. Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. Dasar-dasar pengujian perangkat lunak menentukan sasaran penolakan bagi pengujian perangkat lunak. Desain test case berfokus pada serangkaian teknik untuk pembuatan test case yang memenuhi keseluruhan sasaran pengujian [Roger S. Pressman, 2002:525].
2.9 Sasaran Pengujian Mengenai pengujian perangkat lunak, Glen Myers [MYE79] menyatakan sejumlah aturan yang berfungsi sebagai sasaran pengujian: [Roger S. Pressman, 2002:527]. 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. 2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.
3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.
2.9.1 Desain Test Case Desain pengujian perangkat lunak dan produk rekayasa lain dapat samasama menantang dengan desain awal dari produk itu sendiri. Tetapi untuk alasan yang disebutkan, perekayasa perangkat lunak sering memperlakukan pengujian sebagai pikiran yang timbul kemudian, mengembangkan test case yang mungkin “merasa benar” tetapi tidak menjamin kelengkapannya [Roger S Pressman, 2002:532]. Semua produk yang direkayasa (dan sebagian besar hal lain) dapat diuji dengan satu atau dua cara: 1. Dengan mengetahui fungsi yang ditentukan di mana produk dirancang untuk melakukannya, pengujian dapat dilakukan untuk memperlihatkan bahwa masing-masing fungsi beroperasi sepenuhnya, pada waktu yang sama mencari kesalahan pada setiap fungsi. 2. Dengan mengetahui kerja internal suatu produk, maka pengujian dapat dilakukan untuk memastikan bahwa “semua roda gigi berhubungan,” yaitu operasi internal bekerja sesuai dengan spesifikasi dan semua komponen internal telah diamati dengan baik. Pendekatan pertama disebut black box, dan pendekatan kedua disebut white box. Jika perangkat lunak komputer dipertimbangkan, maka pengujian black box berkaitan dengan pengujian yang dilakukan pada interface perangkat lunak. Meskipun didesain untuk mengungkap kesalahan, pengujian black box digunakan untuk memperlihatkan bahwa fungsi-
fungsi perangkat lunak adalah operasional, input diterima dengan baik dan output dihasilkan dengan tepat, integrasi informasi eksternal (seperti data) dipelihara. Pengujian black box menguji beberapa aspek dasar suatu sistem dengan sedikit memperhatikan struktur logika internal perangkat lunak tersebut. Pengujian white box perangkat lunak didasarkan pada pengamatan yang teliti terhadap detail prosedural. Jalur-jalur logika yang melewati perangkat lunak diuji dengan memberikan test case yang menguji serangkaian kondisi atau loop tertentu, “status program tersebut” dapat diuji pada berbagai titik untuk menentukan apakah status yang diharapkan atau dituntut sesuai dengan status aktual.
2.9.2 Pengujian Black Box Pengujian black box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian black box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box bukan merupakan alternatif dari teknik white box, tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkapkan kelas kesalahan daripada metode white box [Roger S Pressman, 2002:551]. 1. Pengujian black box berusaha menemukan kesalahan dalam kategori sebagai berikut: 2. Fungsi-fungsi yang tidak benar atau hilang. 3. Kesalahan interface. 4. Kesalahan dalam struktur data atau akses database eksternal. 5. Kesalahan kinerja.
2.9.3 Pengujian White Box Pengujian white box, yang kadang-kadang disebut pengujian glass box adalah metode desain test case yang menggunakan struktur kontrol desain prosedural untuk memperoleh test case [Roger S Pressman, 2002:533]. Dengan menggunakan metode pengujian white box, perekayasa sistem dapat melakukan test case: 1. Memberikan jaminan bahwa semua jalur independent pada suatu modul telah digunakan paling tidak satu kali. 2. Menggunakan semua keputusan logis pada sisi true dan false. 3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka. 4. Menggunakan struktur data internal untuk menjamin validitasnya.