BAB II LANDASAN TEORI
Pada bab dua ini akan dibahas mengenai teori-teori yang digunakan penulis untuk membangun sistem yaitu mengenai aplikasi pemesanan dan delivery order yang di terapkan pada sistem minimarket, metode rekayasa perangkat lunak dengan waterfall, perancangan sistem dengan UML dan teori lainya yang mendukung dalam penggunaan aplikasi ini. 2.1
Pengertian Pemesanan Pemesanan adalah proses perbuatan, cara memesan atau memesankan.
Pemesanan merupakan salah satu aktifitas dalam sebuah perusahaan, pemesanan dilakukan oleh konsumen, adanya pemesanan membantu penjual menentukan jumlah persediaan barang. Kemajuan teknologi sekarang ini memungkinkan pemesanan tidak hanya dapat dilakukan jika konsumen dan penjual bertatap langsung, tetapi dapat dilakukan dari jarak jauh sekalipun, misalnya dengan menggunakan E-commerce, yaitu sistem pemesanan barang lewat internet[2].
2.2
Delivery Delivery order adalah suatu layanan dalam perusahaan untuk memenuhi
kebutuhan konsumen dalam hal pemesanan suatu barang, atau layanan jasa. Delivery merupakan sekumpulan proses manajerial yang memiliki fokus utama pada customer dari semua layanan TI, yang menjamin bahwa layanan-layanan TI tersebut dapat digunakan sesuai fungsinya untuk mendukung kegiatan bisnis. Seperti halnya seorang customer sebuah layanan akses Internet, dia selalu peduli dengan kualitas akses, terkait dengan berapa bandwidth yang didapat, ketersediaan serta kemudahan akses pada saat apapun dan di manapun, harga akses serta fasilitas-fasiltas lain dari keanggotaannya pada sebuah internet service provider. Delivery sangat terkait dengan kepentingan-kepentingan customer, yaitu pihak bisnis dari sebuah perusahaan dalam hal utilisasi teknologi untuk membantu, mengotomatisasi jalannya satu atau lebih II-1
II-2
proses bisnis[3]. Kemudahan akses dan ketersediaan aplikasi, response time, keamanan penggunaan aplikasi, layanan serta ketanggapan pihak TI dalam menangani semua keluhan dan kesulitan dalam pengoperasian aplikasi, menjadi tujuan dari semua proses yang ada dalam area Delivery ini. Delivery terdiri dari lima proses berikut: 1. Service Level Management Service Level Management memiliki tujuan utama menyeimbangkan demand dengan supply layanan TI, dengan mengetahui kebutuhan-kebutuhan bisnis serta kapabilitas dari TI sebuah organisasi bisnis, atau sebuah perusahaan. Ambil contoh sebuah pasar tradisional, di mana penjual dan pembeli bertemu. Di pasar ini terjadi transaksi yang didahului dengan kesepakatan harga, di mana sebuah produk akan dijual. Di pasar ini terjadi pertukaran informasi, seorang calon pembeli memiliki demand yang kemudian akan di-supply oleh satu atau lebih pedagang yang telah sepakat harga penjualannya. Di dalam transaksi ini terjadi pemuasan kebutuhan, pembeli mendapatkan apa yang ia butuhkan dan pedagang dapat menjual dagangannya[3]. Sinonim dengan apa yang terjadi dalam sebuah organisasi bisnis, hubungan ini terjadi antara pihak bisnis dengan TI. Transaksi yang dilakukan adalah berupa fasilitas teknologi yang dapat digunakan pihak bisnis untuk menjalankan proses bisnisnya dari hari ke hari. Begitu pula dengan pihak TI yang harus selalu siap menyediakan fasilitas teknologi kepada bisnis. Perlu juga diperhatikan di sini, transaksi tidak terjadi demikian saja. Dalam contoh pasar tradisional, sang calon pembeli akan memilih dan memeriksa produk apa saja, pada tingkat kualitas tertentu untuk dibeli. Begitu pula dengan pedagang yang harus selalu siap menjaga kualitas produknya, jika ia ingin dagangannya tetap laku dan mendapatkan customer yang setia. Service Delivery merupakan salah satu komponen penting dari TI, yang mendeskripsikan proses-proses best practice dalam menghadapi serta berinteraksi dengan customer layanan TI dari pihak bisnis.
II-3
2. Financial Management for IT Services Financial Management atau manajemen keuangan merupakan mekanisme utama dalam mengelola sumber daya keuangan dalam sebuah perusahaan. Mekanisme ini mendukung sebuah perusahaan dalam merencanakan dan mengeksekusi semua tujuan-tujuan bisnisnya, serta memerlukan pengaplikasian yang konsisten serta terintegrasi dalam seluruh bagian perusahaan, agar tercapai konsistensi yang maksimal[3]. Secara lebih sederhana, dalam kasus sebuah perusahaan manufaktur, konsepkonsep manajemen keuangan memungkinkan perusahaan tersebut memahami bagaimana mengelola keuangan, menginvestasikannya ke dalam barang-barang produksi, menambah nilai tambah sebuah bahan baku, membiayai usaha-usaha pemasaran serta peningkatan kualitas produk serta beberapa kegiatan lainnya, agar supaya produk hasil akhirnya mampu dijual dan bukan hanya mengembalikan modal, namun juga menghasilkan keuntungan. Perspektif manajemen keuangan sangat penting untuk dipahami, dan bahkan perlu diimplementasikan dalam setiap proses yang terkait dengan perencanaan, pengimplementasian, pengoperasian serta pengendalian sistem dan infrastruktur TI[2]. Di dalam divisi/departemen TI, manajemen keuangan diimplementasikan dalam tiga proses besar, yaitu: 1. Budgeting, merupakan proses prediksi dan pengendalian pengeluaran keuangan. Budgeting dilakukan secara periodik, biasanya dalam siklus tahunan, namun pengendaliannya tetap dilakukan harian [3]. 2. IT Accounting, merupakan sekumpulan proses yang memungkinkan sebuah
divisi/departemen
TI
untuk
mencatat
pengeluaran-
pengeluarannya. Pencatatan ini dilakukan dengan mengidentifi kasi biaya berdasarkan customer, layanan TI dan kegiatan operasional [3]. 3. Charging, merupakan sekumpulan proses yang diperlukan untuk ‘menagih’ seorang customer, karena telah menggunakan layananlayanan TI yang disediakan untuknya [3].
II-4
Penting untuk juga diketahui dalam proses ini adalah tipe-tipe biaya, dan contoh elemen- elemennya: 1.
Hadware, contoh: biaya server, storage, network devices dan lain-lain.
2. Software, contoh: biaya sistem operasi, aplikasi bisnis, aplikasi produktivitas, antivirus dan lain-lain. 3. People, contoh: payroll, biaya bonus bagi staf berprestasi, biaya training dan lain-lain. 4.
Accommodation, contoh: biaya penggunaan ruang kantor, ruang Data Center dan lain-lain.
5. External services, contoh: biaya penggunaan jasa pihak ketiga, seperti jasa keamanan, Disaster Recovery services, outsourcing services dan lainlain. 6.
Transfer, biaya-biaya dalam kategori ini sama dengan biaya-biaya External services, namun dalam hal ini terjadi transfer pengetahuan, seperti biaya jasa konsultasi.
3. Capacity Management Capacity Management merupakan proses yang bertanggung jawab dalam menjamin kapasitas pemrosesan/komputasi dan penyimpanan atau storage yang dimiliki oleh TI sesuai dengan kebutuhan bisnis yang terus berevolusi, tentunya pada tingkat biaya yang efektif serta perencanaan yang berkesinambungan[3]. Sub-subproses yang tercakup dalam Capacity Management adalah sebagai berikut: 1. Business Capacity Management, merupakan subproses yang bertanggung jawab serta menjamin bahwa kebutuhan- kebutuhan bisnis di masa depan telah diidentifikasi, direncanakan dan diimplementasikan berdasarkan urutan tertentu. 2. Service Capacity Management, merupakan subproses yang mengelola kinerja atau performance sebuah layanan TI yang digunakan oleh customer.
II-5
3. Resource Capacity Management, merupakan subproses yang mengelola setiap komponen dalam infrastruktur TI, misalnya server dan storage.
4. IT Services Continuity Management. Proses ini adalah nama lain dari Disaster Recovery Plan (DRP). Dengan kata lain, menggunakan IT Services Continuity Management (ITSCM) ini untuk semua proses yang terkait dengan usaha-usaha pemulihan layanan TI, setelah terjadinya gangguan yang menyebabkan tidak tersedianya layanan TI tersebut[3].
5. Availability Management Availability Management merupakan sebuah proses yang digunakan untuk menjawab ketergantungan bisnis terhadap TI. Tingkat ketergantungan ini, di banyak perusahaan atau organisasi bisnis besar, telah berkembang pada tingkatan di mana jika TI berhenti berfungsi, maka bisnis pun akan berhenti. Tujuan utama keberadaan proses Availability Management ini adalah untuk mengoptimalkan kapabilitas dari infrastruktur TI, layanan-layanannya serta organisasi yang terlibat di dalamnya, agar keseluruhan layanan TI yang digunakan oleh bisnis terjamin tingkat ketersediaannya. Di mana layanan TI tersebut dapat selalu ada, jika bisnis membutuhkannya, kapan pun dan di manapun[3].
2.2.1
Logistik Secara umum dapat dikatakan bahwa logistik adalah aliran barang atau jasa
mulai dari sumber sampai tujuan. Pengertian logistik yang lebih rinci adalah proses perencanaan, pelaksanaan, dan pengendalian aliran yang efisien dan efektif dari barang atau jasa dan informasi terkait mulai dari titik asal sampai titik penggunaan untuk memenuhi keperluan pelanggan. Kata kunci logistik adalah aliran dengan obyek barang atau jasa dengan tujuan menyediakan barang dengan jumlah yang tepat, waktu yang tepat, lokasi yang tepat, dan biaya yang tepat. Kegiatan utama logistik adalah
pengadaan,
penyimpanan,
persediaan,
pengangkutan,
pergudangan,
II-6
pengemasan, keamanan, dan penanganan barang dan jasa baik dalam bentuk bahan baku, barang antara, dan barang jadi[5]. Mengapa logistik penting dalam ekonomi? Transaksi dalam ekonomi menawarkan lima kegunaan utama, yaitu lokasi, waktu, jumlah, bentuk, dan kepemilikan. Tiga kegunaan pertama adalah berkaitan dengan fungsi logistik. Kegunaan bentuk adalah fungsi produksi dan kegunaan kepemilikan adalah fungsi pemasaran. Logistik memungkinkan terjadinya proses produksi dengan menyediakan bahan baku yang diperlukan. Logistik juga memungkinkan terhadinya proses pembelian degan mengantarkan produk ke tangan pengguna[5]. Logistik memegang peranan penting dalam penentuan daya saing suatu organisasi. Daya saing dapat dilihat dari dua dimensi yaitu keunggulan nilai (pelanggan bukan membeli produk tetapi membeli nilai) dan keunggulan biaya (setiap kegiatan memerlukan biaya). Secara sederhana bila masing-masing dimensi mempunyai skala tinggi dan rendah. Maka kondisi “biasa saja” akan terjadi bila organisasi memiliki keunggulan yang rendah pada nilai dan biaya. Sementara kondisi “lebih murah” terjadi bila organisasi mempunyai keunggulan biaya. Sebuah organisasi akan disebut “lebih baik” bila mempunyai keunggulan nilai yang dapat memuaskan pelanggannya. Organisasi “unggul” terjadi bila mempunyai keunggulan yang tinggi baik pada nilai maupun biaya[5]. Peran logistik dalam mencapai “lebih murah” adalah proses rekayasa ulang logistik untuk mengurangi biaya, antara lain dengan pengaturan kapasitas, skala ekonomi, logistik ramping, dan pengurangan persediaan. Strategi “lebih baik” dapat dilaksanakan dengan menggunakan keandalan dan ketanggapan yang akurat untuk menjamin pemenuhan pesanan yang sempurna. Strategi antara adalah “lebih cepat” yang dapat diwujudkan dengan melakukan pengelolaan waktu ancang antara lain dengan menggunakan peramalan dengan data yang lebih baik, optimasi antrian, produksi dan distribusi tepat waktu, dan pemilihan moda transportasi [5].
II-7
Pendekatan logistik berbeda dengan pendekatan tata niaga yang lebih melihat keseimbangan antara permintaan dan pasokan. Mekanisme tata niaga lebih banyak bertumpu pada pengaturan harga supaya terjadi kecocokan antara pasokan dan permintaan. Jika pasokan lebih banyak maka harga turun. Jika permintaan berlebih maka harga naik. Logistik melihat kelebihan permintaan berarti kehilangan pendapatan dan kelebihan penawaran berarti pemborosan sumber daya. Alat yang dipakai bukan hanya penyesuaian harga tetapi waktu dan kapasitas dari sistem logistik. Penyesuaian harga merupakan gejala masalah bukan solusi. Logistik membantu penggunaan sumber daya secara efisien, melakukan optimasi imbal-balik terhadap tujuan yang berbenturan, dan melakukan rancang ulang sistem logistic [5]. Logistik bukan hanya terjadi di dalam organisasi tetapi juga antar organisasi yang disebut dengan rantai pasokan. Rantai pasokan adalah jaringan logistik yang saling terkait dan dikelola oleh beberapa perusahaan mulai dari titik sumber sampai pada titik penggunaan. Penerapan jaringan logistik atau rantai pasokan menuntut organisasi-organisasi terkait melakukan koordinasi mengenai prioritas pelanggan, pengendalian produksi dan pengantaran produk yang sesuai dengan kebutuhan pelanggan, dan pengembangan sistem informasi yang terpadu. Koordinasi antar pelaku di sepanjang rantai pasokan dapat mengurangi biaya persediaan dan pengangkutan sekaligus memperbaiki tingkat pelayanan[5]. Mengapa manajemen jaringan logistik begitu sulit dilaksanakan walaupun potensi manfaatnya nyata? Paling tidak ada tiga alasan mengapa manajemen jaringan logistik menjadi sulit. Pertama adalah perbedaan kepentingan antara pelaku yang terlibat. Benturan kepentingan yang terbesar adalah pendapatan bagi sebuah pemain merupakan pengeluaran bagi yang lain. Belum lagi ada benturan dalam operasional misalnya mengantarkan barang dalam volume besar atau volume kecil. Alasan kedua adalah ketidakpastian yang terjadi di sepanjang rantai pasok, mulai dari ketidakpastian permintaan, ketersediaan bahan baku, keandalan mesin, sampai gangguan alam. Alasan ketiga adalah kerumitan sistem logistik semakin meningkat bukan saja jenis dan jumlah barang, banyaknya mitra bisnis, tetapi temasuk regulasi
II-8
dan perkembangan teknologi. Pemecahan masalah logistik memerlukan pendekatan antar disiplin. Manajemen dapat berkontribusi dalam perencanaan, pengendalian, dan perbaikan sistem logistik. Rekayasa diperlukan untuk komputasi dan optimasi. Sementara ekonomika diperlukan untuk alokasi sumber yang langka dan tata niaga yang efisien. Politik diperlukan dalam penentuan kebijakan logistik. Oleh karena itu, kegiatan dialog dan komunikasi antar pelaku logistik sangatkan diperlukan sehingga terwujud pertukaran gagasan dan komitmen untuk perbaikan logistik secara keseluruhan[5]. 2.3
Pengertian e-Commerce e-Commerce merupakan prosedur berdagang atau mekanisme jual-beli di
internet dimana pembeli dan penjual dipertemukan di dunia maya. e-Commerce juga dapat didefinisikan sebagai suatu cara berbelanja atau berdagang secara online atau direct selling yang memanfaatkan fasilitas Internet dimana terdapat website yang dapat menyediakan layanan “get and deliver“[7]. e-Commerce akan merubah semua kegiatan marketing dan juga sekaligus memangkas biaya-biaya operasional untuk kegiatan trading (perdagangan). Proses yang ada dalam E-commerce adalah sebagai berikut : a. Presentasi electronis (Pembuatan Website) untuk produk dan layanan. b. Pemesanan secara langsung dan tersedianya tagihan. c. Otomasi account Pelanggan secara aman (baik nomor rekening maupun nomor kartu kredit). d. Pembayaran yang dilakukan secara Langsung (online) dan penanganan transaksi.
2.3.1 Jenis e-Commerce e-Commerce dapat dibagi menjadi beberapa jenis yang memiliki karakteristik berbeda-beda yaitu:
II-9
1. Business to Business (B2B) B2B adalah transaksi secara elektronik antara entitas atau obyek bisnis yang satu ke obyek bisnis lainnya [7]. Business to Business e-Commerce memiliki karakteristik: a. Trading partners yang sudah diketahui dan umumnya memiliki hubungan
(relationship)
yang
cukup
lama.
Informasi
hanya
dipertukarkan dengan partner tersebut. Dikarenakan sudah mengenal lawan komunikasi, maka jenis informasi yang dikirimkan dapat disusun sesuai dengan kebutuhan dan kepercayaan (trust). b. Pertukaran data (data exchange) berlangsung berulang-ulang dan secara berkala, misalnya setiap hari, dengan format data yang sudah disepakati bersama. Dengan kata lain, servis yang digunakan sudah tertentu. Hal ini memudahkan pertukaran data untuk dua entiti yang menggunakan standar yang sama. c. Salah satu pelaku dapat melakukan inisiatif untuk mengirimkan data, tidak harus menunggu parternya. d. Model yang umum digunakan adalah peer-to-peer, dimana processing intelligence dapat didistribusikan di kedua pelaku bisnis.
Definisi
dari
http://www.marketingterms.com/dictionary/b2b/
menyatakan bahwa [11]: B2B (business-to-business): Business that sells products or provides services to other businesses. Keterangan pada situs yang sama menyebutkan bahwa meskipun aktivitas antar bisnis dapat terjadi secara offline dan online, akronim B2B terutama digunakan untuk menggambarkan jenis interaksi online. Proses bisnis pada kasus pengadaan barang di divisi Logistik melibatkan beberapa mitra bisnis yang berbeda maka kasus ini sangat sesuai untuk dijadikan model proses bisnis Business to Business (B2B) yang didominasi oleh arus pesan bolak-balik antara pelaku bisnis terkait. Dalam kasus ini, karena sudut pandang permasalahan adalah berdasarkan proses kerja divisi
II-10
Logistik maka pemodelan proses interaksi antar mitra bisnis dipusatkan pada interaksi antara Logistik dengan Supplier dan Logistik dengan Gudang. Pada kasus ini tidak dimodelkan interaksi bisnis an tara Supplier dengan Purchasing maupun antara Supplier dengan Gudang. Proses yang kemudian dapat diinterpretasi dan diimplementasi menjadi suatu sistem B2B adalah [12]: 1. Interaksi antara divisi Logistik dengan Supplier 2. Interaksi antara divisi Logistik dengan Gudang
2. Business to Customer (B2C) B2C adalah kegiatan E-businesses dalam pelayanan secara langsung kepada konsumen melalui barang atau jasa [7]. Business to Customer e-Commerce memiliki karakteristik sebagai berikut: a. Terbuka untuk umum, dimana informasi disebarkan ke umum. b. Servis yang diberikan bersifat umum (generic) dengan mekanisme yang dapat digunakan oleh khalayak ramai. Sebagai contoh, karena sistem Web
sudah
umum
digunakan
maka
servis
diberikan
dengan
menggunakan basis Web. c. Servis diberikan berdasarkan permohonan (on demand). Konsumer melakukan inisiatif dan produser harus siap memberikan respon sesuai dengan permohonan. d. Pendekatan client/server sering digunakan dimana diambil asumsi client consumer) menggunakan sistem yang minimal (berbasis Web) dan processing (business procedure) diletakkan di sisi server.
3. Customer to customer (C2C) Dalam C2C seseorang menjual produk atau jasa ke orang lain. Dapat juga disebut sebagai pelanggan ke palanggan yaitu orang yang menjual produk dan jasa ke satu sama lain. Lelang C2C. Dalam lusinan negara, penjualan dan pembelian C2C dalam situs lelang sangat banyak. Kebanyakan lelang
II-11
dilakukan oleh perantara, seperti eBay.com, auctionanything.com, para pelanggan juga dapat menggunakan situs khusus seperti buyit.com atau bid2bid.com. Selain itu banyak pelanggan yang melakukan lelangnya sendiri seperti greatshop.com menyediakan piranti lunak untuk menciptakan komunitas lelang terbalik C2C online [7].
4. Customer to Business(C2B). Dalam C2B konsumen memeritahukan kebutuhan atas suatu produk atau jasa tertentu, dan para pemasok bersaing untuk menyediakan produk atau jasa tersebut ke konsumen. Contohnya di priceline.com, dimana pelanggan menyebutkan produk dan harga yang diinginkan, dan priceline mencoba menemukan pemasok yang memenuhi kebutuhan tersebut [7].
2.3.2 Keuntungan e-Commerce a. Bagi Perusahaan, memperpendek jarak, perluasan pasar, perluasan jaringan mitra bisnis dan efisiensi, dengan kata lain mempercepat pelayanan ke pelanggan, dan pelayanan lebih responsif, serta mengurangi biaya-biaya yang berhubungan dengan kertas, seperti biaya pos surat, pencetakan, report, dan sebagainya sehingga dapat meningkatkan pendapatan. b. Bagi Consumen, efektif, aman secara fisik dan flexible c. Bagi Masyarakat Umum, mengurangi polusi dan pencemaran lingkungan, membuka peluang kerja baru, menguntungkan dunia akademis, meningkatkan kualitas SDM [7].
2.3.3 Kerugian e-Commerce a. Meningkatkan Individualisme, pada perdagangan elektronik seseorang dapat bertransaksi dan mendapatkan barang/jasa yang diperlukan tanpa bertemu dengan siapapun.
II-12
b. Terkadang Menimbulkan Kekecewaan, apa yang dilihat dilayar monitor komputer kadang berbeda dengan apa yang dilihat secara kasat mata.
2.4
Konsep Dasar Sistem Informasi Dalam proses pengembangan sistem informasi, diperlukan pemahaman
terhadap konsep-konsep dasar dari sistem informasi. Berikut merupakan penjelasan dari konsep-konsep dasar sistem informasi[4].
2.4.1
Pengertian Sistem Terdapat dua kelompok pendekatan dalam mendefinisikan sistem, yaitu yang
menekankan pada prosedurnya dan yang menekankan pada komponen atau elemennya.
Pendekatan
sistem
yang
lebih
menekankan
pada
prosedur
mendefenisikan bahwa suatu sistem adalah suatu jaringan kerja dari prosedurprosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Sedangkan pendekatan sistem yang lebih menekankan pada elemen atau komponennya mendefinisikan sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu[4].
2.4.2
Karakteristik Sistem Sistem itu sendiri memiliki karakteristik atau beberapa sifat tertentu, yaitu
mempunyai komponen (components), batasan sistem (boundary), lingkungan luar sistem (environments), penghubung (interface), masukan (input), keluaran (output), pengolah (process), dan sasaran suatu tujuan (goal)[4]. Adapun penjelasan dari karakteristik dari suatu sistem adalah sebagai berikut: a. Komponen Sistem (Component) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang bekerja sama membentuk satu kesatuan. Komponen-komponen sistem tersebut dapat berupa suatu bentuk sub sistem.
II-13
b. Batasan sistem (Boundary) Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem lainnya atau sistem dengan lingkungan luarnya. c. Lingkungan luar sistem (Environtment) Suatu bentuk apapun yang ada di luar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut. d. Penghubung sistem (Interface) Sebagai media yang menghubungkan sistem dengan subsistem yang lain disebut dengan penghubung sistem atau interface. Penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lain. e. Masukan Sistem (Input) Masukan (input) adalah energi yang dimasukan ke dalam sistem. Masukan dapat berupa masukan perawatan yaitu energi yang dimasukan supaya sistem dapat beroperasi, dan dapat berupa masukan sinyal yaitu energi yang diproses untuk mendapatkan keluaran. f. Keluaran Sistem (output) Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepada supra sistem. g. Pengolahan Sistem (Process) Suatu sistem dapat mempunyai bagian pengolah yang akan mengubah masukan menjadi keluaran. h. Sasaran Sistem (Objecvive) Suatu sistem mempunyai tujuan (goal) atau sasaran (objective). Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya [4]. 2.4.3
Siklus Informasi
II-14
Data yang masih merupakan bahan mentah apabila tidak diolah maka data tersebut tidak akan berguna. Data tersebut akan berguna dan menghasilkan suatu informasi apabila diolah melalui suatu model. Model yang digunakan untuk mengolah data tersebut dengan model pengolahan data atau lebih dikenal dengan nama siklus pengolahan data[3].
Gambar 2.1 Siklus Informasi (Jogiyanto, 1999)
2.5
Model Rekayasa Perangkat Lunak dengan Waterfall Waterfall mengusulkan sebuah pendekatan kepada perkembangan perangkat
lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan[6]. Dimodelkan setelah siklus rekayasa konvensional, model waterfall melingkupi aktivitas-aktifitas berikut : 1. Rekayasa dan pemodelan sistem informasi. Karena perangkat lunak selalu merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen dari semua sistem dan mengalokasikan beberapa subset dari kebutuhan perangkat lunak tersebut. Pandangan sistem ini penting ketika perangkat lunak harus berhubungan dengan elemen-elemen yang lain seperti perangkat lunak, manusia, dan database. Rekayasa dan
II-15
analisis sistem menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak. Rekayasa informasi mencakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis. 2. Analisis kebutuhan perangkat lunak. Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang yang dibangun, perekayasa perangkat lunak (analis) harus memahami domain informasi, tingkah laku, unjuk kerja, dan antar muka yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan. 3. Desain. Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda; struktur data arsitektur perangkat lunak, refresentasi interface dan detail (algoritma) prosedural. 4. Generasi kode. 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. 5. Pengujian. Sekali kode dibuat, pengujian program dimulai. Program dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada ekternal fungsional – yaitu mengarahkan
pengujian
untuk
menemukan
kesalahan-kesalahan
dan
memastikan bahwa input yang dibatasi akan memberikan hasil yang aktual yang sesuai dengan hasil yang dibutuhkan. 6. Pemeliharaan.
Perangkat
lunak
akan
mengalami
perubahan
setelah
disampaikan kepada pelanggan (perkecualian yang mungkin adalah perangkat lunak yang dilekatkan). Perubahan akan terjadi karena kesalahan-kesalahan ditentukan, karena perangkat lunak harus disesuaikan untuk mengakomodasi perubahan-perubahan dilingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat pheriperal atau sistem operasi yang
II-16
baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi. Model sekuensial linier adalah paradigma rekayasa perangkat luas yang paling luas dipakai dan paling tua. Tetapi kritik dari paradigma tersebut telah menyebabkan dukungan aktif untuk mempertanyakan kehandalannya Masalah-masalah yang kadang-kadang terjadi ketika model ini diaplikasikan adalah : 1. Jarang sekali proyek nyata mengikuti aliran sekensial yang dianjurkan oleh model. Meskipun model linier bisa mengakomodasi iterasi, model itu melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahanperubahan dapat menyebabkan keraguan pada saat tim proyek berjalan. 2. Kadang-kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya secara eksplisit. Model linier sekuensial memerlukan hal ini dan mengalami kesulitan untuk mengakomodasi ketidakpastian natural yang ada pada bagian awal proyek. 3. Pelanggan harus bersikap sabar. Sebuah versi kerja dari program-program itu tidak akan diperoleh sampai akhir proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi samapi program yang bekerja tersebut dikaji ulang, bisa menjadi petaka. 4. Pengembang sering melakukan penundaan yang tidak perlu. Di dalam anlisis yang menarik tentang proyek aktual, Bradac mendapatkan bahwa sifat alami dari siklus kehidupan klasik membawa kepada blocking state dimana banyak anggota tim proyek harus menunggu tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan. Kenyataannya, waktu yang dipakai untuk menunggu bisa mengurangi waktu untuk usaha produktif.
Masing-masing dari masalah tersebut bersifat riil. Tetapi paradigma siklus kehidupan klasik memiliki tempat yang terbatas namun penting di dalam rekayasa perangkat lunak. Paradigma itu memberikan template dimana metode analisis, desain,
II-17
pengkodean, pengujian, dan pemeliharaan bisa dilakukan. Siklus kehidupan klasik tetap menjadi model bagi rekayasa perangkat lunak yang paling luas dipakai. Sekalipun memiliki kelemahan, secara signifikan dia lebih baik daripada pendekatan yang sifatnya sembarang kepada pengembang perangkat lunak.
Gambar 2.2 Model Waterfall (Sumber gambar : agusdar.files.wordpress.com)
2.6
Unified Modeling Language (UML) Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi
standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi perangkat lunak, dimana aplikasi tersebut dapat berjalan pada perangkat keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun[6]. UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram perangkat lunak.
II-18
Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk – bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8).Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.
2.6.1 Konsepsi Dasar UML Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam gambar dibawah : Tabel 2.1 Konsepsi UML Major Area
Views
Diagrams
Structural
Use Case View
Use Diagram
Main Concepts
Case use case, actor, association, extend, Include, use case generalization
Dynamic
Interaction
Sequence
interaction, object, message,
II-19
View
Diagram
activation
Model
Model
Class
package, subsystem, model
Management
Management
Diagram
View (Sumber: www.ilmukomputer.com, yanti_uml.pdf) Seperti juga tercantum pada gambar diatas UML mendefinisikan diagramdiagram sebagai berikut: 1. use case diagram 2. sequence diagram 3. class diagram
2.6.2 Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu [6]. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang kasus uji untuk semua bagianyang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali usecase yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas
II-20
dapat dihindari dengan cara menarik keluar fungsionalitas yang sama. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. 2.6.3 Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi) [6]. Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lainlain. Class memiliki tiga area pokok : 1. Nama 2. Atribut 3. Metoda Atribut dan metoda dapat memiliki salah satu sifat berikut : 1. Private, tidak dapat dipanggil dari luar class yang bersangkutan. 2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. 3. Public, dapat dipanggil oleh siapa saja.
Hubungan Antar Class 1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas”).
II-21
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. 4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain.
Hubungan dinamis dapat digambarkan dengan
menggunakan sequence diagram yang akan dijelaskan kemudian [6].
2.6.4 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan [6]. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.