BAB 3 LANDASAN TEORI
Pada bab ini akan dijelaskan teori-teori yang mendukung metode penelitian pada penulisan skripsi ini. Teori yang akan dijelaskan akan mencakup metode dari subjek teknik industri dan sistem informasi yang digunakan dalam pengolahan data.
3.1. Teknik Industri 3.1.1. Peramalan Peramalan atau forecasting adalah ilmu memprediksi peristiwaperistiwa masa depan. Peramalan merupakan perhitungan yang objektif dan dengan menggunakan data-data masa lalu untuk menentukan sesuatu di masa yang akan datang (Sumayang, 2003, p24). Peramalan adalah sebuah teknik yang menggunakan data historis untuk memperkirakan proyek yang akan datang (Chapman, 2006, p17). Terdapat beberapa karakteristik yang fundamental dalam peramalan, yaitu: 1. Peramalan hampir selalu salah. Fokus pada peramalan bukanlah selalu mengenai benar atau salah, akan tetapi tentang “seberapa salah kita memperkirakannya” dan “apa yang akan kita lakukan apabila terdapat eror pada peramalan.” Biasanya penggunaan safety stock dalam suatu perusahaan mempunyai kaitan erat dengan eror peramalan.
21 2. Peramalan menjadi lebih akurat untuk famili suatu item. Lebih mudah untuk meramalkan sebuah grup produk daripada suatu produk individu, misalnya lebih akurat memperkirakan penjualan mobil sedan daripada memperkirakan penjualan masing-masing tipe mobil sedan.. 3. Peramalan menjadi lebih akurat untuk jangka waktu yang lebih pendek. Biasanya, eror yang akan dihasilkan ketika meramalkan untuk waktu yang pendek lebih kecil daripada meramalkan untuk waktu yang panjang. 4. Setiap peramalan harus ada perkiraan eror. Peramalan yang baik haruslan mempunyai perkiraan peramalan dan perkiraan nilai eror yang akan terjadi. 5. Peramalan bukanlah pengganti dari perhitungan permintaan. Apabila terdapat data permintaan untuk periode tertentu, jangan membuat peramalan berdasarkan periode yang sama dengan data permintaan tersebut. Selalu gunakan data yang riil apabila tersedia.
Menurut Render (2001, p46), terdapat tiga kategori yang bermanfaat untuk manajer operasi, yaitu: a. Peramalan jangka pendek. Waktu peramalan dilakukan dari satu hingga tiga bulan. Untuk merencanakan pembelian, jadwal kerja, jumlah tenaga kerja, penugasan dan tingkat produksi.
22 b. Peramalan jangka menengah. Waktu peramalan dilakukan dari tiga bulan hingga tiga tahun. Sangat bermanfaat untuk perencanaan penjualan, perencanaan dan produksi, penganggaran kas, dan analisa rencana operasi. c. Peramalan jangka panjang. Waktu peramalan dilakukan untuk tiga tahun lebih. Biasanya untuk merencanakan produk baru, pengeluaran modal, lokasi fasilitas, ekspansi bisnis, penelitian dan pengembangan.
Terdapat empat tahap utama dalam siklus hidup suatu produk, yaitu tahap pertama yaitu perkenalan, tahap kedua yaitu pertumbuhan, tahap ketiga yaitu dewasa, dan tahap keempat yaitu penurunan. Peramalan berguna dalam memproyeksikan tingkat penetapan karyawan yang berbeda, tingkat persediaan, dan kapasitas produksi ketika produksi bergerak dari tahap pertama kepada tahap terakhir.
Pendekatan peramalan dapat dilakukan dengan cara kualitatif yaitu dengan memanfaatkan faktor-faktor intiusi, pengalaman pribadi, dan sistem nilai pengambilan keputusan dan untuk peramalan jangka panjang. Sedangkan cara yang berikutnya yaitu dengan cara kuantitatif yang menggunakan data historis untuk peramalan jangka pendek (secara time series) dan peramalan jangka sedang (time series atau casual).
23 Adapun dasar-dasar pertimbangan dalam rangka pemilihan metode peramalan yang akan digunakan sebagai berikut (Sumayang, 2003, p27): 1. Pengguna atau pelaku dan kecanggihan metode. 2. Waktu peramalan dan sumber daya yang tersedia. 3. Tergantung pada tujuan penggunaan dan karakteristik keputusan manajemen.
Dalam peramalan kuantitatif dapat dibagi menjadi peramalan seri waktu dan model kausal. Dalam metode seri waktu memiliki empat komponen yang digambarkan pada Gambar 3.1, antara lain: 1. Trend adalah gerakan ke atas atau ke bawah secara berangsur-angsur dari data sepanjang waktu. 2. Musim adalah pola data yang berulang setelah periode harian, mingguan, bulanan, atau kuartalan. 3. Siklus adalah pola dalam data yang terjadi setiap beberapa tahun. Biasanya dikaitkan dengan siklus bisnis dan merupakan hal yang sangat penting dalam analisis dan perencanaan bisnis jangka pendek. 4. Variasi acak adalah ”tanda” dalam data yang disebabkan oleh peluang dan situasi yang tidak biasa; variabel acak mengikuti pola yang tidak dapat dilihat. Sering dihapus dengan menghilangkan periode waktu yang jelas-jelas menyimpang.
24
Gambar 3.1 Pola Data Permintaan
Untuk pola data Trend, dapat menggunakan metode peramalan regresi linear ataupun double exponential smoothing satu parameter Brown (Baroto, 2002, p32). Setelah itu, akan dibandingkan antara kedua metode, yang mana yang lebih baik untuk digunakan. Metode ini dibandingkan dengan melihat kepada Tracking Signal dan Mean Absolute Deviation. Hal ini dikarenakan metode peramalan harus dapat dipercaya sehingga semakin kecil nilai eror, maka semakin mulus pula peramalannya. Metode yang akan digunakan dalam meramalkan permintaan untuk pola data Trend adalah:
1. Metode Penghalusan Exponential (Double Exponential Smooting) Metode
pemulusan
eksponensial
tunggal
(single
exponential
smoothing) dengan menambahkan parameter α dalam modelnya untuk mengurangi faktor kerandoman. Biasanya yang sering digunakan adalah Double Exponential Smoothing satu parameter supaya peramalan dapat menghasilkan hasil yang mulus.
25 Dasar pemikirannya serupa dengan rata – rata bergerak linier yang secara matematis dapat ditunjukan dengan rumus :
St' = α . X t + (1 − α )S( t −1) St'' = α .St' + (1 − α ) S(''t −1) at = 2 St' − St'' bt =
α ( St' − St'' ) 1−α
Ft + m = at + bt m Dimana:
X t = Data penerimaan pada periode t a = Faktor atau konstanta pemulusan Ft + m = Perkiraan untuk periode t
Berbeda dengan metode rata-rata bergerak yang hanya menggunakan N data periode terakhir dalam melakukan perkiraan, metode pemulusan eksponensial tunggal mengikutsertakan semua periode. Setiap data pengamatan mempunyai kontribusi dalam penentuan nilai perkiraan periode sesudahnya. Namun dalam perhitungannya cukup diwakili oleh data pengamatan dan hasil perkiraan terakhir, karena nilai perkiraan periode sebelumnya sudah mengandung nilai-nilai pengamatan sebelumnya.
2. Metode Asosiatif (Linier Regresision)
Model asosiatif bergantung kepada pengenalan variabel yang dapat dikaitkan dan dapat digunakan untuk meramalkan nilai variabel yang
26 menjadi perhatian kita. Metode utama yang dikenal dan digunakan secara luas dalam metode ini adalah regresi. Berikut ini rumus – rumus regresi linear sederhana : yt = a + bt b=
n∑ ty − ∑ t ∑ y n∑ t 2 − (∑ t )
2
a = y − bt
Dimana:
y = nilai peramalan a = konstanta y b = nilai kemiringan n = jumlah data t =indeks penunjuk waktu (dimulai dari 0 dan terus berlanjut untuk periode yang diramalkan).
Satu cara untuk mengevaluasi keefektifan peramalan yaitu dengan menggunakan isyarat arah. Isyarat arah (tracking signal) adalah pengukuran tentang sejauh mana ramalan memprediksi nilai aktual dengan baik. Bila ramalan diperbaharui tiap minggu, bulan, atau kuartal, data permintaan yang baru tersedia dibandingkan dengan nilai peramalan. Isyarat arah dihitung sebagai jumlah kesalahan ramalan berjalan (running sum of the forecast error atau RSFE) dibagi dengan deviasi absolute mean (MAD). Contoh tabel tracking signal adalah:
27 Tabel 3.1 Contoh Tracking Signal Periode (n) ForeCast Permintaan Error (E= A-F) (1)
(2)
(3)
RSFE
(4) = (3) – (2) (5) = Kumulatif Dari (4)
Absolut Error
Kumulatif
MAD
Tracking Signal
(6) = Absolut
Absolut
(8) = (7)/( 1)
(9) = (5) / (8)
Dari (4)
Error (7) =kumulatif Dari (6)
1 2 3 4 5 6 7 8 9 10
3.1.2. Safety stock
Safety stock merupakan jumlah dari persediaan barang jadi, yang juga disebut sebagai “buffer stock”, yang digunakan untuk memenuhi permintaan pelanggan ketika terjadi hal yang tiba-tiba. Rumus untuk menghitung safety stock (Greene, 1997, p309) adalah: Safety stock = Safety Factor * Standar Deviasi Standar deviasi merupakan hasil perhitungan yang menggunakan data permintaan selama periode yang bersangkutan. Rumus untuk menghitung standar deviasi (S) adalah: S =
∑(x-x) 2 n
Dengan x = jumlah permintaan dalam periode yang bersangkutan, x = rata-rata permintaan selama periode yang bersangkutan, n = jumlah periode data permintaan.
28 3.1.3. Penjadwalan Produksi
Penjadwalan adalah mengatur pendayagunaan kapasitas dan sumber daya yang tersedia melalui suatu aktivitas atas tugas (Sumayang, 2003, p183). Penjadwalan mempunyai tujuan untuk mencapai beberapa hal seperti: •
Efisiensi yang tinggi.
•
Persediaan atau inventori sedikit.
•
Kepuasan pelanggan.
Penjadwalan dapat dibedakan berdasarkan jenis proses produksi, yaitu: •
Penjadwalan proses yang terus-menerus atau line process scheduling. ¾ Penjadwalan proses lini digunakan pada jalur proses perakitan atau
assembly line dan pada proses pengolahan. Penjadwalan tergantung pada rancang bangun proses tersebut terutama untuk satu jenis produk. Tetapi apabila bermacam-macam jenis produk maka perlu diadakan perubahan pada proses dan jadwal produksi. ¾ Perubahan ini mungkin saja sederhana tetapi dapat juga rumit
sehingga memerlukan perubahan mendasar pada peralatan dan pada pusat kerja. ¾ Kemampuan mengikuti perubahan proses yang cepat akan
memberikan suatu keunggulan fleksibilitas untuk assembly line.
29 ¾ Apabila jenis produk banyak maka terjadi perubahan proses
produksi, untuk itu perlu menghitung besar persediaan yang paling ekonomis. •
Penjadwalan proses yang terputus-putus atau intermittent process scheduling. ¾ Akan ditemukan istilah-istilah seperti shop atau tempat kerja, job,
dan work center. ¾ Job berarti pelanggan, pasien, bahan baku, produk dalam prosesn,
atau apapun yang mengalir melalui jadwal proses. ¾ Work center adalah pusat kerja yang berarti ruangan kantor,
fasilitas, atau keahlian khusus. ¾ Berbeda dengan penjadwalan di proses line maka penjadwalan di
proses ini masing-masing job mengalir melalui pergerakan yang tidak teratur dan penuh dengan jadwal mulai dan berhenti. ¾ Aliran
yang tidak teratur disebabkan karena pusat kerja
dikelompokkan berdasarkan jenis mesin dan keterampilan pekerja yang sama, sehingga job atau pelanggan akan mengalir dari satu pusat kerja ke pusat kerja yang lain sesuai dengan jadwal dan tahapan kerja yang telah ditentukan. ¾ Karena aliran dan jalur pekerjaan tidak beraturan maka penjadwalan
kadang-kadang menjadi rumit dan penuh dengan menunggu giliran masuk atau antrian ke pusat-pusat kerja.
30 ¾ Antrian job akan terjadi pada setiap work center yang menunggu
giliran proses sebagai tahapan untuk dapat meneruskan ke proses berikutnya. ¾ Penjadwalan proses intermittent mempunyai hubungan sangat erat
dengan beberapa hal berikut ini:
•
Analisis pemasukan dan pengeluaran atau input-output analysis.
Pemuatan atau loading.
Tahapan atau sequencing.
Pengiriman atau dispatching.
Penjadwalan proses proyek yang menggunakan Gantt Chart.
Aktifitas Master Production Schedule (MPS) pada dasarnya berkaitan dengan bagaimana menyusun dan memperbaharui jadwal produksi induk (Master
Production
Schedule/MPS),
memproses
transaksi
MPS,
memelihara catatan-catatan MPS, mengevaluasi efektifitas dari MPS, dan memberikan laporan evaluasi dalam periode waktu yang teratur untuk keperluan umpan-balik tinjauan ulang.
Fungsi MPS adalah : 1. Menjadwalkan jumlah end item yang akan diproduksi. 2. Memberikan input bagi MRP. 3. Sebagai dasar dari pembuatan perencanaan sumber daya. 4. Merupakan dasar untuk menetapkan janji pengiriman pada konsumen.
31 Tujuan MPS adalah : 1. Memenuhi target tingkat pelayanan terhadap konsumen. 2. Efisiensi penggunaan sumber daya produksi. 3. Mencapai target tingkat produksi tertentu.
Lingkungan manufaktur sangat menetukan proses penjadwalan MPS, lingkungan yang umum dipertimbangkan ketika akan mendesain MPS (Chapman, 2006, p78) adalah: •
Make To Stock Biasanya akan dikirim secara langsung dari gudang produk akhir dan harus ada stok sebelum pesanan pelanggan tiba. Produk akhir harus dibuat dan diselesaikan terlebih dahulu sebelum menerima pesanan dari pelanggan.
•
Make To Order Biasanya dikerjakan setelah menerima pesanan dari pelanggan. Seringkali komponen-komponen memiliki waktu tunggu yang panjang (long lead time) direncanakan atau dibuat lebih awal guna mengurangi waktu tunggu penyerahan kepada pelanggan.
•
Assembly To Order Pada dasarnya seperti Make To Order, dimana semua komponen yang digunakan dalam assembly atau proses akhir direncanakan atau dibuat lebih awal, kemudian disimpan dalam stock guna mengantisipasi pesanan pelanggan.
32 Menurut Gaspersz (1998, p141-144) pada dasarnya jadwal produksi induk (Master Production Schedulling = MPS) merupakan suatu pernyataan tentang produk akhir (termasuk parts pengganti dan suku cadang) dari suatu perusahaan industri manufaktur yang merencanakan memproduksi output berkaitan dengan kuantitas dan periode waktu.
Tabel 3.2 Contoh Tabel MPS Item No. Lead Time On Hand Periode Forecast Actual Order Project Available Balance Available to Promise Master Schedule Kapasitas Produksi Terpasang
Past Due
Description Safety Stock Demand Time Fences Planning Time Fences 1 2
3
4
Penjelasan mengenai komponen-komponen yang terdapat dalam tabel 3.2 MPS adalah sebagai berikut : a) Item No menyatakan kode produk yang akan diproduksi. b) Lead time menyatakan waktu yang dibutuhkan untuk me-release atau memanufaktur suatu produk. c) On hand menyatakan jumlah produk yang ada di gudang sebagai sisa periode sebelumnya. d) Description menyatakan deskripsi produk secara umum. e) Safety stock merupakan stok pengaman yang harus ada di tangan sebagai antisipasi terhadap kebutuhan di masa akan datang.
5
33 f) Demand Time Fences (DTF) adalah periode mendatang dari MPS di mana dalam periode ini perubahan terhadap MPS tidak diijinkan atau tidak diterima karena akan menimbulkan kerugian biaya yang besar akibat ketidaksesuaian atau kekacauan jadwal. g) Planning Time Fences (PTF) merupakan batas waktu penyesuaian pesanan di mana permintaan masih boleh berubah. Perubahan masih akan dilayani sepanjang material dan kapasitas masih tersedia. h) Forecast merupakan rencana penjualan atau peramalan penjualan untuk item yang dijadwalkan itu. i) Actual Order (AO) merupakan pesanan-pesanan yang diterima dan bersifat pasti. j) Projected Available Balance (PAB) merupakan perkiraan jumlah sisa produk pada akhir periode. PAB dihitung dengan menggunakan rumus: PAB t < DTF = PABt-1 + MSt – AO PAB DTF < t < PTF = PABt-1 + MSt – AO atau Ft (pilih yang besar) k) Available to Promise memberikan informasi tentang berapa banyak item atau produk tertentu yang dijadwalkan pada periode waktu itu tersedia untuk pesanan pelanggan, sehingga berdasarkan informasi ini bagian pemasaran dapat membuat janji yang tepat bagi pelanggan. ATPt = ATPt-1 + MSt – AOt l) Master Schedule merupakan jadwal produksi atau manufakturing yang diantisipasi untuk produk atau item tertentu.
34 3.2. Sistem Informasi
Sistem informasi merupakan pengaturan orang, data, proses, dan teknologi informasi yang berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan informasi yang dibutuhkan untuk mendukung organisasi. (Whitten dan Bentley, 2004, p12).
Pemain yang terlibat dalam suatu sistem adalah: o System analyst: merupakan fasilitator atau pelatih yang menjembatani jurang
komunikasi yang biasanya berkembang di antara sistem non-teknis (owner dan user) dengan sistem teknis (designer dan builder). o System owner: biasanya mempunyai jabatan manajemen dan lebih tertarik pada
inti sistem, berapa biaya yang dikeluarkan dan apakah keuntungan yang dapat diberikan pada perusahaan. o System user: lebih memperhatikan bagaimana fungsi sistem berpengaruh pada
pekerjaan mereka. Apakah memberikan kemudahan, mudah digunakan, dan mudah dimengerti. o System designer: spesialis dari sistem informasi. Tertarik pada teknologi
informasi yang dipilih dan rancangan sistem yang menggunakan teknologi. Bertindak sebagai penerjemah kebutuhan bisnis dari keinginan user dengan merancang database, input, output, layar, jaringan, dan software. o System builder: spesialis teknik yang membangun sistem informasi dan
komponennya berdasarkan pada spesifikasi rancangan yang dibuat oleh system designer.
35 Terdapat beberapa keuntungan dengan menggunakan sistem informasi (Whitten dan Bentley, 2004, p14), yaitu: o Meningkatkan keuntungan bisnis. o Mengurangi biaya yang dikeluarkan. o Menaikkan nilai saham di pasar. o Memperbaiki hubungan dengan konsumen. o Menghemar biaya pada sistem. o Meningkatkan efisiensi. o Memperbaiki pengambilan keputusan. o Tingkat kesalahan menjadi semakin kecil. o Memiliki pemahaman dan pengertian yang sesuai dengan peraturan. o Memperbaiki keamanan. o Meningkatkan kapasitas.
Analisis sistem merupakan teknik pemecahan masalah yang menguraikan sistem menjadi komponen-komponen untuk dipelajari apakah sistem tersebut bekerja dan berinteraksi untuk mencapai tujuan yang diinginkan (Whitten dan Bentley, 2004, p186).
Perancangan sistem adalah rancangan yang dapat mewakili komponenkomponen dari sistem dan menyatukannya kembali menjadi sistem yang utuh dan diharapkan menjadi sistem yang lebih baik dari yang sebelumnya. Aktifitas di dalamnya dapat berupa penambahan, pengurangan, atau perubahan komponen pada sistem awal.
36 Menggunakan metode Object Oriented Analysis & Design (OOAD) yang bertujuan agar semua data tersedia untuk semua fungsi (Mathiassen, 2000, p4). Beberapa keuntungan yang didapatkan dari OOAD adalah: •
Merupakan konsep yang umum yang dapat digunakan untuk memodel hampir semua fenomena dan dapat dinyatakan dalam bahasa umum (natural language). – Noun menjadi object atau class – Verb menjadi behaviour – Adjective menjadi attributes
•
Memberikan informasi yang jelas tentang context dari system (Gambar 3.2).
•
Mengurangi biaya maintenance. – Memudahkan untuk mencari hal yang akan diubah. – Membuat perubahan menjadi lokal, tidak bepengaruh pada modul yang lainnya.
System
user
Problem Domain
Application Domain
Gambar 3.2 Konteks Sistem
37 Seperti yang diperlihatkan pada Gambar 3.3, konteks sistem dapat dilihat dari dua pandangan perspektif: sistem memodelkan sesuatu (problem domain) dan sistem dioperasikan oleh user (application domain) (Mathiassen, 2000, p6). Problem domain merupakan bagian dari sebuah konteks yang diatur, diawasi, atau dikendalikan oleh sebuah sistem. Sedangkan application domain adalah suatu organisasi yang mengatur, mengawasi, atau mengendalikan problem domain. Problem domain mendeskripsikan tujuan sistem, dan juga bagian dari realitas mengenai
sistem
yang
akan
mendukung
pengaturan,
pengawasan,
dan
pengendalian. Sedangkan application domain merupakan suatu bagian dari organisasi user.
Requirements for use
Problem Domain Analysis
Application Domain Analysis
Component Design
Model
Specifications of components Specifications of architecture
Architectural Design
Gambar 3.3 Siklus Pengembangan dengan OOAD
38 OOA&D mencakupi empat perspektif melalui empat aktifitas utama, seperti pada Gambar 3.3 (Mathiassen, 2000, p14). Hubungan keempat aktifitas yang penting dan bertahap dapat berubah dari satu proyek ke proyek lainnya. Sebagai notasi, akan digunakan Unified Modeling Language (UML). Terdapat dua keuntungan dengan menggunakan UML, yaitu UML dapat membangun suatu divisi di antara proses dan notasi dan UML memberikan akses kepada pasar yang lebih luas dalam pengembangannya. Langkah awal yaitu dengan memilih sistem.
Ideas Situation
Systems
System Definition
Gambar 3.4 Aktifitas dalam Memilih Sistem
Pada Gambar 3.4, pemilihan sistem didasarkan pada tiga aktifitas (Mathiassen, 2000, p25). Aktifitas pertama berfokus pada tantangan: untuk mendapatkan kilasan mengenai situasi dan cara orang dalam menginterpretasikan tantangan tersebut. Yang kedua, membuat dan mengevaluasi ide untuk perancangan sistem. Yang ketiga, definisi sistem diformulasikan dan dipilih.
39 Situasi didefinisikan melalui rich picture. Rich picture sebuah penggambaran informal yang mewakili pengertian ilustrator dari situasi tertentu. Ide mendeskripsikan bagian dari solusi yang dapat diringkas menjadi satu atau beberapa definisi. Dan tujuan mendefinisikan sistem adalah untuk memilih sistem yang akan dkembangkan.
Sistem definisi secara FACTOR adalah: •
Functionality: Fungsi sistem yang mendukung tugas application-domain.
•
Application domain: Bagian dari suatu organisasi yang berhubungan dengan
administrasi, monitor, atau mengendalikan problem domain. •
Conditions: Dengan kondisi yang bagaimana sistem akan dikembangkan dan
digunakan. •
Technology: Semua teknologi yang digunakan untuk mengembangkan dan
menjalankan sistem. •
Objects: object yang utama didalam problem domain.
•
Responsibility: tanggung jawab sistem (kegunaan) secara keseluruhan dalam
hubungannya dengan konteks sistem.
3.2.1. Analisa Problem Domain
Terdapat 3 kegiatan yang terjadi dalam analisa problem domain seperti yang diperlihatkan pada Gambar 3.5 (Mathiassen. 2000. p46): •
Mencari elemen dari Problem Domain yaitu objects, classes, dan events
40 •
Buat model berdasarkan hubungan strutural antara class dan objects yang dipilih .
•
Interaksi antar object dan class serta behaviour dari object dan class.
System Definition
Behaviour Classes Iterate
Structure
Model
Gambar 3.5 Aktifitas dalam Analisa Problem Domain
•
System definition adalah suatu uraian ringkas
dari suatu sistem
terkomputerisasi yang dinyatakan dalam bahasa alami. •
Class adalah objek atau event yang merupakan bagian dari sistem.
•
Structure adalah hubungan antara class dan objek.
•
Behaviour adalah properti yang bersifat dinamis yang dimiliki oleh objek.
41 Tujuan
dalam
pemilihan
sistem
adalah
untuk
menentukan
(menyepakati) karakteristik sistem secara menyeluruh.. Prinsip dalam memilih system adalah: •
Memahami situasi.
•
Menumbuhkan gagasan baru.
•
Menggambarkan alternative sistem.
Class seperti pada Gambar 3.6 (Mathiassen, 2000, p55): •
Prinsip: Klasifikasikan object didalam problem domain. – Object: suatu entitas yang mempunyai identitas, state dan behavior. – Class: adalah deskripsi dari kumpulan object yang mempunyai struktur, behavior pattern dan attribute yang sama.
•
Prinsip : Object diberi karakter sesuai dengan eventnya. – Event: insiden yang terjadi seketika yang melibatkan satu atau lebih object.
Find candidates for classes
Find candidates for events
Evaluate and select systematically
Event table
Gambar 3.6 Aktifitas dalam Memilih Class dan Event
42 Cara menentukan class adalah: •
Cari calon. – Jangan membuang terlalu cepat, lebih baik dievaluasi dengan teliti.
•
Model baru atau perbaiki situasi tidak hanya seperti apa adanya
•
Bagaimana menemukan candidate untuk class. – Kata benda didalam keterangan atau pembicaraan. – Daftar dari tipical object. – Cari persamaan dengan sistem komputer. – Literatur teknis didalam problem domain.
•
Beri nama class secara hati hati. – Sederhana, mudah dibaca, tepat, tidak membingungkan, seperti yang digunakan di problem domain.
Cara menentukan event adalah: •
Cari event didalam problem domain, bukan didalam sistem komputer
•
Jika event tidak instantaneous harus dipecah menjadi event yang lebih kecil
•
Dimana menemukan candidate events : – Kt kerja didalam penjelasan atau wawancara – Daftar event yang umum atau tipikal type dari event – Sistem komputer yang sejenis – Literatur teknis didalam problem domain
43 Cara menentukan structure adalah sebagai berikut: • Dimulai dengan class dan event yang ada pada event table. • Tentukan struktur object dan struktur class. • Hubungkan antar class. • Hasilnya adalah class diagram.
Hubungan yang terjadi antara class dalam structure adalah: •
Asosiasi: hubungan yang dinyatakan dengan angka dan melambangkan kaitan antara satu class dengan class yang lain (Gambar 3.7). Anywhere from one to many
0..*
Car
Person Ownership Owned By Used By
1..*
Anywhere from zero to many Name is optional, but recommended
Gambar 3.7 Hubungan Asosiasi
•
Agregasi: hubungan yang menyatakan suatu class merupakan suatu bagian dari class yang lain (Gambar 3.8).
44
Car Anywhere from four to many A car has 1 1
1 1 Body
1 4..*
Motor
One and only one Body is Owned by Car
Wheel
1 1..*
Assembly side Component side (min and max)
1 2..*
Cam Shaft
Cylinder
Gambar 3.8 Hubungan Agregasi • Generalisasi: hubungan yang menyatakan bahwa beberapa class berada
dalam satu grup dengan atribut utama yang sama (Gambar 3.9). Passenger Car
Taxi
Group under one generalisation
Account
Bank book
Private Car
Class without objects
Person Taxi “is a” passenger car or Taxis are a subset of passenger cars Customer
Checking
Employee
Loan
Service
Multiple inheritance
Gambar 3.9 Hubungan Generalisasi
Behaviour pada sistem adalah: apa yang dilakukan oleh class tersebut dan digambarkan melalui statechart diagram. Event yang terjadi dalam statechart ini memiliki tiga tipe, yaitu: sequence: event yang berurutan,
45 selection: event yang hanya dilakukan berdasarkan pilihan, dan iteration: event yang dilakukan nol hingga berulang-ulang (Gambar 3.10).
Gambar 3.10 Struktur pada Statechart Diagram
3.2.2. Analisa Application Domain
Aktifitas utama pada analisa application domain digambarkan pada gambar di bawah ini:
System Definition and model
Interfaces
Usage Iterate
Functions
Requirements
Gambar 3.11 Aktifitas dalam Analisa Application Domain
46 Yang dilakukan dalam tahap usage adalah (Gambar 3.12): System definition
Use cases and actors
Evaluate systematically
Find actors and use cases Explore patterns
Gambar 3.12 Aktifitas dalam Tahap Usage
•
Actor: abstraksi dari user atau sistem lain yang berinteraksi dengan target sistem. – Actors adalah orang yang mengerjakan pekerjaan.
•
Use case: pola interaksi antara sistem dan aktor didalam application domain. – Ikuti proses bagaimana pekerjaan akan dilakukan
Cara menentukan Actor dan Use Case adalah sebagai berikut: •
Berdasarkan pekerjaan dan pembagian pekerja.
•
Identifikasikan actors.
•
Jelaskan use cases.
Yang dilakukan dalam tahap Function adalah (Gambar 3.13):
47
System Definition
Evaluate critically
Find functions Specify complex functions
Use Cases
Function list
Gambar 3.13 Aktifitas dalam Tahap Function
•
Temukan function dalam use case.
•
Tentukan tipe function.
•
Tentukan spesifikasi function.
Terdapat 4 tipe function (Mathiassen. 2000, p140),yaitu: •
Update; diaktivasi karena adanya konsekuens event pada PD (Problem Domain) yang menghasilkan terjadinya perubahan dalam status model.
I
AD
F M
*
PD
* Update
Gambar 3.14 Fungsi: Update
48 •
Read; diaktivasi karena aktor membutuhkan suatu informasi dan sebagai hasilnya, komputer menampilkan bagian yang diperlukan kepada aktor.
I
AD
F M
*
PD
Read
Gambar 3.15 Fungsi: Read •
Compute; diaktivasi karena aktor membutuhkan suatu informasi secara matematis dan sebagai hasilnya, sistem akan menghitung dan menampilkan hasilnya pada aktor. I
AD
F M
*
PD
Compute
Gambar 3.16 Fungsi: Compute •
Signal; diaktivasi karena terjadinya perubahan pada status dalam model yang terkait dan sebagai hasilnya, sistem akan menampilkan sinyal balik kepada aktor.
AD
I
F M
* PD
Signal
Gambar 3.17 Fungsi: Signal
49 Spesifikasi dari function adalah: •
Simple: function yang mudah dilakukan, misalnya membuat data baru.
•
Medium: function yang memerlukan keterjelasan data, misalnya membuat janji.
•
Complex: function yang membutuhkan data yang lengkap dan detail, misalnya memberikan daftar janji yang mungkin dilakukan.
•
Very complex: function yang mempunyai beberapa function di dalamnya, misalnya membuat jadwal.
Interface adalah fasilitas yang membuat model sistem dan function dapat berinteraksi dengan actors, yang dilakukan dalam tahap Interface adalah (Gambar 3.18):
Function list Class diagram
Explore patterns Determine interface elements
Use cases
Describe interface elements
Evaluate interface elements
Gambar 3.18 Aktifitas dalam Tahap Interface
Description of interfaces
50 •
User interface harus dapat mewakili hubungan model dan function dengan user secara jelsa dan mudah dimengerti.
•
Interface yang baik dilandaskan akan kebutuhan user dan bagaimana sistem akan digunakan.
•
Analisis harus dilakukan berdasarkan deskripsi yang jelas tentang user dengan elemen-elemen yang terkait.
3.2.3. Desain Arsitektur
Terdapat dua bagian yang terjadi dalam desain ariditektur, yaitu: •
Component architecture: struktur sistem yang terdiri dari komponen yang saling terinterkoneksi.
•
Process architecture: struktur eksekusi sistem yang terdiri dari proses yang saling bergantungan (interdependent).
Aktifitas yang dilakukan pada desain arsitektur akan diperlihatkan pada Gambar 3.19.
Gambar 3.19 Aktifitas dalam Desain Arsitektur
51 Beberapa kualitas desain yang baik adalah: •
Sistem memodel bagian dari problem domain yang sudah disetujui bersama dengan user
•
Fungsi dari sistem correspond pada requirement dari application domain
•
Interface merupakan implementasi dari interaksi yang telah di terangkan.
•
Platform teknis digunakan secara efektif
•
Sistem dapat diadaptasi terhadap requirement baru dan kebutuhan.
a. Kriteria Aktifitas yang terdapat pada penentuan criteria adalah:
Gambar 3.20 Aktifitas dalam Menentukan Kriteria
Tujuan dari criteria adalah untuk mengatur prioritas perancangan (Mathiassen, 2000, p177). Terdapat 12 jenis kriteria software :
52 1. Usable adalah kemampuan sistem untuk beradapatasi dengan situasi organisasi, tugas dan hal – hal teknis. 2. Secure adalah kemampuan untuk melakukan pencegahan terhadap akses yang tidak berwenang. 3. Efficient adalah penggunaan secara ekonomis terhadap fasilitas technical platform. 4. Correct adalah sesuai dengan kebutuhan., 5. Reliable adalah ketepatan dalam melakukan suatu fungsi. 6. Maintainable adalah kemampuan untuk perbaikan sistem yang rusak. 7. Testable adalah penempatan biaya untuk memastikan sistem bekerja sesuai dengan yang diinginkan. 8. Flexible adalah kemampuan untuk modifikasi sistem yang berjalan. 9. Comprehensible adalah usaha yang diperlukan untuk memperoleh pengertian akan suatu sistem. 10. Reusable adalah potensi untuk menggunakan sistem pada bagian sistem lain yang saling berhubungan. 11. Portable adalah kemampuan sistem untuk dapat dipindahkan ke technical platform yang lain. 12. Interoperable
adalah kemampuan untuk merangkai sistem ke
dalam sistem yang lain.
53 Tabel 3.3 Prioritas Kriteria Kriteria Very Important Important Less Important Irrelevant Easily Fulfilled Usable Secure Efficient ...
b. Component Menurut Mathiassen et al. (2000, p189), tujuan dari components adalah untuk menciptakan
sistem yang comprehensible dan flexible.
Component architecture adalah sebuah struktur sistem dari components yang saling berhubungan. Aktifitas yang terjadi ditunjukkan pada Gambar 3.21.
Gambar 3.21 Aktifitas dalam Desain Arsitektur-Component
54 •
Komponen adalah server dan beberapa dari client.
•
Server memberikan kumpulan dari operation (atau services) pada client.
•
Client menggunakan server secara independent.
•
Arsitektur yang baik untuk mendistribusikan system secara geografis.
•
Bentuk distribusi dari bagian sistem harus diputuskan antara client dan server.
• Pada Tabel 3.4 akan diperlihatkan macam-macam distribusi untuk Client/Server.
Tabel 3.4 Lima Macam Distribusi Client/Server Client Server Arsitektur U U + F + M Distributed Presentation U F+M Local Presentation U+F F+M Distributed Functionality U+ F M Centralised Data U+F+M M Distributed Data
c. Process Menurut Mathiassen et al. (2000, p209), tujuan process adalah untuk mendefinisikan struktur program secara fisik. Aktifitas yang dilakukan diperlihatkan pada Gambar 3.22.
55 Class diagram and component specifications Deployment diagram
Identify shared Distribute program
Select coordination mechanisms
Explore distribution patterns Explore coordination patterns
Gambar 3.22 Aktifitas dalam Desain Arsitektur-Process
•
Komponen yang berbeda perlu ditempatkan pada prosesor yang berbeda.
•
Pertama, pisahkan objek yang aktif dari komponen program yang pasif.
•
Kedua, tenutkan prosesor yang tersedia.
•
Distribusikan komponen program dan objek aktif kepada prosesor tersebut.
3.2.4. Komponen Model
Komponen
model
adalah
bagian
dari
sistem
yang
mengimplementasikan model dari problem domain. Analisis : model dijelaskan dengan menggunakan class diagram dan statechart diagram, model juga digunakan sebagai dasar untuk mendesain komponen model yang berorientasi object.
56 Tujuan dari komponen model adalah untuk memberikan data yang sekarang dan data historis ke user dan sistem yang lainnya. Informasi yang di simpan berhubungan dengan sistem yang ada didalam problem domain. Hasil dari aktifitas komponen model adalah class diagram dari aktivitas analisis yang direvisi. Yang akan direvisi adalah model class yang mempunyai hubungan many-to-many sehingga akan menambah class baru di antaranya. Database merupakan kumpulan dari class-class yang tersedia dalam class diagram. Sehingga class yang ada didalamnya akan dihubungkan melalui database beserta hubungan yang terkait (McLeod, 2001, p179).