• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
66
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1. Pengukuran Waktu

Pengukuran waktu adalah pekerjaan mengamati dan mencatat waktu-waktu kerjanya baik setiap elemen ataupun siklus dengan menggunakan alat-alat pengukuran waktu. Setelah melakukan pengukuran waktu maka hal berikutnya yang harus dilakukan adalah melakukan pengujian kenormalan data, keseragaman data, dan kecukupan data. (Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979, p. 131)

• Uji Keseragaman

Uji keseragaman data ini dibutuhkan untuk mengatasi perubahan yang terus terjadi dimana perubahan-perubahan yang terjadi tetap harus dalam batas kewajaran. (Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979)

- Masukan data-data ke dalam subgrup-subgrup - Hitung nilai rata-rata masing-masin subgrup (x) - Hitung nilai rata-rata dari rata-rata subgrup ( )

- Hitung nilai standar deviasi berdasarkan pada persamaan berikut ∑

(1)

- Hitung standar deviasi dari distribusi harga rata-rata subgrup dengan:

√ (2)

n adalah jumlah subgrup.

(2)

BKA = + Zσ (3)

BKB = – Zσ (4)

Untuk tingkat ketelitian 5% dan tingkat keyakinan 95 % maka nilai Z = 2 dan nilai S = 0.05.

• Uji Kecukupan Data

Untuk melakukan penghitungan atas berapa banyak data yang diperlukan untuk pengukuran. Uji kecukupan data ini dapat dilakukan dengan rumus:

N’ = / ∑ ∑ (5)

N = Jumlah pengamatan aktual yang dilakukan N’ = Jumlah pengamatan teoritis yang diperlukan Xi = waktu penyelesaian

Bila nilai N (data aktual) lebih besar daripada N’ (data teoritis) maka pengumpulan data dinilai cukup dan sudah dapat mewakili populasi. (Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979)

• Uji Kenormalan data

Untuk mengetahui apakah data-data yang dikumpulkan apakah mengikuti distribusi normal atau tidak maka dilakukan pengujian dengan metode Goodness of Fit (uji Kebaikan Suai).

Langkah-langkah yang dilakukan dalam pengujian kenormalan data adalah: a. Mengelompokkan data-data yang didapat kedalam data kelompok dengan

cara:

(3)

Kelas : k = 1 + 3.33 log n dimana n adalah banyaknya data pengamatan (7)

Lebar kelas interval = (8)

b. Menetapkan nilai rata-rata dan standar deviasi

Nilai rata-rata : ∑ (9)

Standard deviasi = σ = ∑ (10)

c. Mencari nilai Z untuk setiap kelas yang ada dengan cara:

Z = Batas Kelas atas interval-Nilai rata-rata (11) d. Menetapkan nilai luas kurva normal

Luas = p(zi < Z < z2) = P(Z< z2) - P(Z< z1) (12)

Nilai dari Z bisa dilihat pada tabel kurva normal pada lampiran. e. Menetapkan nilai frekuensi harapan (ei)

ei = luas x N (13)

Nilai dari ei tidak boleh lebih kecil dari 5 maka jika nilai ei masih lebih kecil dari 5 maka akan digabungkan dengan nilai ei lainnya hingga berjumlah lebih dari 5.

f. Menghitung nilai khi-kuadrat

∑ (14)

Dimana k = jumlah interval kelas Oi = frekuensi pengamatan Ei = frekuensi harapan

(4)

Banyaknya derajat bebas yang berkaitan dengan sebaran khi-kuadrat yang ada berdasarkan pada dua faktor yakni banyaknya sel dalam percobaan yang bersangkutan dan banyaknya besaran yang diperoleh dari data pengamatan yang diperlukan dalam perhitungan frekuensi harapannya. Derajat kebebasan ini memiliki rumus ν = k – m – 1 dimana k adalah jumlah subgrup dan nilai m = 2 untuk data distribusi normal. Jika nilai dari Χ2hitung < Χ2tabel maka data

tersebut terdistribusi normal. (Walpole, 1995, p. 326)

Setelah melakukan uji keseragaman, kecukupan dan kenormalan data maka akan menghitung waktu baku, dimana waktu baku ini didapat dari perhitungan waktu siklus dan waktu normal.

• Hitung waktu siklus:

Ws = ∑ (15)

Dimana Xi adalah data-data dari nilai pengukuran, sedangkan n adalah

banyaknya jumlah data pengukuran. (Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979, p. 137)

• Hitung waktu normal:

Waktu diperoleh dengan cara mengalikan waktu rata-rata (Ws) dengan

performance rating. Rumus perhitungan waktu normal adalah:

Waktu Normal = Waktu siklus x (1+ Rating Factor) (16)

Rating Factor adalah faktor yang diperoleh dengan membandingkan kecepatan

bekerja daripada seseorang(operator) dengan kecepatan normal menurut ukuran si peneliti. Performance rating (p) disebut juga faktor penyesuaian, faktor ini diperhitungkan jika pengukur berpendapat bahwa operator bekerja dengan

(5)

kecepatan tidak wajar, jika pekerja bekerjanya terlalu cepat >1, lambat <1, kalau normal =1. Untuk penyesuaian menggunakan sistem “Westinghouse System of Rating” yang dipengaruhi oleh 4 faktor yaitu skill (keterampilan), effort (usaha), conditions (kondisi kerja), consystency (konsistensi). Untuk lebih jelas mengenai tabel westinghouse dapat dilihat di lampiran. (Ginting, 2009, p. 257)

• Hitung Waktu Baku:

Waktu baku adalah waktu yang dibutuhkan secara wajar oleh seorang pekerja normal untuk menyelesaikan suatu pekerjaan yang dijalankan dalam sistem kerja terbaik. Waktu standard di peroleh dengan perkalian antara waktu normal dengan persentase kelonggaran rumus perhitungan waktu standar yaitu:

Waktu Baku = Waktu normal x % (17)

Menurut Ginting (2009) berdasarkan pada buku karangan Barnes (Motion and Time Study: Design and Measurement Work, 1968) Dalam menentukan waktu standar diperlukan suatu kelonggaran waktu, kelonggaran terbagi dalam 3 bagian yaitu:

- Personal Allowance, yaitu kelonggaran yang diberikan untuk memenuhi

kebutuhan pribadi pekerja, seperti ke WC, ibadah, dan hal-hal lainnya.

- Delay Allowance, yaitu waktu yang diberikan pada pekerja sebagai akibat

dari keadaan yang tidak terduga yang dapat memperlambat jalannya pekerjaan.

- Fatique Allowance, yaitu kelonggaran diberikan untuk memperpanjang

datangnya keletihan (fatique).

(6)

2.2. Peta Proses Operasi

Peta proses operasi merupakan suatu diagram yang menggambarkan langkah-langkah proses yang akan dialami bahan (bahan-bahan) baku mengenai urutan-urutan proses operasi dan pemeriksaan sejak dari awal sampai menjadi produk jadi utuh maupun sebagai komponen. (Sutalaksana, Anggawisastra, & Tjakraatmadja, 1979, p. 21) Menurut Sutalaksana et al, (1979, p. 21) adapun kegunaan dari peta proses

operasi ini adalah untuk:

1. Untuk mengetahui kebutuhan akan mesin dalam proses perakitan komponen 2. Untuk memperkirakan kebutuhan akan bahan baku

3. Sebagai alat bantu untuk menentukan tata letak pabrik

4. Sebagai alat bantu untuk melakukan perbaikan cara kerja yang sedang dipakai. Menurut Sutalaksana et al, (1979, p. 21) dalam pembuatan peta proses operasi

ini, ada beberapa aturan dasar yang perlu diikuti yakni:

1. Pada baris paling atas perlu dituliskan PETA PROSES OPERASI sebagai kepala gambar yang diikuti dengan identifikasi kerja lainnya seperti nama objek, nomor gambar kerja, dan lain- lain.

2. Material yang akan diproses diletakkan diatas garis horizontal, yang menunjukkan bahwa material tersebut masuk ke dalam proses.

3. Lambang-lambang ditempatkan dalam arah vertikal yang menunjukkan terjadinya perubahan proses.

4. Penomoran terhadap suatu kegiatan operasi diberikan secara berurutan sesuai degnan urutan operasi yang dibutuhkan untuk pembuatan produk tersebut atau sesuai dengan proses yang terjadi

(7)

5. Penomoran terhadap suatu kegiatan pemeriksaan diberikan secara tersendiri dan prinsipnya sama degan penomoran untuk kegiatan produksi

2.3. Peramalan

Untuk membuat peramalan permintaan, harus menggunakan suatu metode tertentu. Pada dasarnya, semua metode peramalan memiliki ide yang sama, yaitu menggunakan data masa lalu untuk memperkirakan atau memproyeksikan data di masa yang akan datang. Berdasarkan tekniknya metode peramalan dapat dikategorikan ke dalam metode kualitatif dan metode kuantitatif. (Baroto, 2002, p. 27)

Metode kualitataif biasanya digunakan bila tidak ada atau sedikit data masa lalu yang tersedia. Sedangkan metode kuantitaif, suatu set data historis (masa lalu) digunakan untuk mengekstrapolasi (meramalkan) permintaan masa depan. Ada dua kelompok besar metode kuantitatif yaitu metode “Time Series” dan metode “Non Time

Series” Beberapa contoh metode yang digunakan untuk time series adalah metode free

hand, metode moving average, metode exponential smoothing, metode regresi linear

sederhana, metode winter, dan metode lainnya. (Baroto, 2002, p. 27)

Terdapat empat jenis pola permintaan pada time series yaitu pola trend, pola musiman, pola siklikal, dan pola eratik/random. Pola trend memiliki pola data permintaan yang cenderung memiliki gerakan menurunan atau kenaikan jangka panjang. Pola Musiman memiliki data yang berfluktuasi, namun fluktuasi tersebut akan berulang dalam interval tertentu dan biasanya dipengaruhi oleh musim. Pola siklikal memiliki pola yang berfluktuasi yang membentuk pola siklus. Pola Random memiliki pola data yang tidak bisa digambarkan dengan pola lainnya. (Baroto, 2002, pp. 32-34)

(8)

Metode exponential smoothing adalah suatu metode populer untuk peramalan time series dengan pola data siklis. Formulasi single exponential smooting ini adalah:

αf 1 α (18)

Dimana = perkiraan permintaan pada periode t

α = sesaut nilai > 0 dan < 1 yang ditentukan secara subjektif ft = permintaan aktual pada periode t

= perkiraan permintaan periode t - 1

2.4. Penjadwalan

2.4.1. Konsep Dasar Penjadwalan

Penjadwalan adalah pengurutan pembuatan / pengerjaan produk secara menyeluruh yang dikerjakan pada beberapa buah mesin. Dengan demikian masalah penjadwalan senantiasa melibatkan pengerjaan sejumlah komponen yang sering disebut dengan istilah ‘job’. Job sendiri merupakan komposisi dari sejumlah elemen-elemen dasar yang disebut dengan aktivitas atau operasi. (Ginting, 2009, p. 1)

Dua elemen penting dalam penjadwalan adalah urutan (sequence) job yang

memberikan solusi optimal dan pengalokasian sumber daya (resources). Karakteristik

dari sumberdaya adalah kapasitas kualitatif dan kuantitatif. Pekerjaan (job order) yang diterima diuraikan dalam bentuk kebutuhan akan sumber daya, waktu proses, waktu dimulai dan waktu berakhirnya proses. (Ginting, 2009, p. 7)

Menurut Ginting (2009, p. 2) berdasarkan pada Bedworth (1982), beberapa tujuan dari aktivitas penjadwalan adalah:

(9)

• Meningkatkan penggunaan sumberdaya atau mengurangi waktu tunggunya, sehingga total waktu proses dapat berkurang dan produktivitas dapat meningkat. • Mengurangi persediaan barang setengah jadi atau mengurangi sejumlah

pekerjaan yang menunggu dalam antrian ketika sumberdaya yang ada masih mengerjakan tuga yang lain.

• Mengurangi beberapa kelambatan pada pekerjaan yang mempunyai batas waktu penyelesaian sehingga akan meminimasi penalty cost atau biaya keterlambatan • Membantu pengambilan keputusan mengenai perencanaan kapasitas pabrik dan

jenis kapasitas yang dibutuhkan sehingga penambahan biaya yang mahal dapat dihindarkan

2.4.2. Definisi Dalam Penjadwalan

Beberapa definisi yang digunakan dalam penjadwalan mesin 1. Processing time (ti)

Adalah waktu yang dibutuhkan untuk mngerjakan suatu pekerjaan. Dalam waktu proses ini sudah termasuk waktu yang dibutuhkan untuk persiapan dan pengaturan (set-up) selama proses berlangsung.

2. Due-date (di)

Adalah batas waktu dimana suatu operasi terakhir dari suatu pekerjaan harus selesai.

3. Slack time (SLi)

Adalah waktu tersisa yang muncul akibat dari waktu prosesnya lebih kecil dari due-date-nya. SLi = di - ti

(10)

Adalah rentang waktu antara satu titik dimana tugas tersedia untuk diproses dengan suatu titik ketika tugas tersebut selesai.

5. Completion time (Ci)

Adalah waktu yang dibutuhkan untuk menyelesaikan pekerjaan mulai dari saat terseduianya pekerjaan (t=0) sampai pada pekerjaan tersebut selesai dikerjakan. 6. Lateness (Li)

Adalah selisih antara completion time (Ci) dengan due-date-nya (di).

7. Tardiness (Ti)

Adalah ukuran waktu terlambat yang bernilai positif jika suatu pekerjaan dapat diselesaikan lebih cepat dari due-date-nya, pekerjaan tersebut akan memiliki keterlambatan yang negatif.

8. Makespan

Adalah total waktu penyelesaian pekerjaan-pekerjaan mulai dari urutan pertama yang dikerjakan pada mesin atau work center pertama sampai kepada urutan

pekerjaan terakhir pada mesin atau work center terakhir.

9. Heuristic

Prosedur penyelesaian suatu masalah atau aturan ibu jari (rule of thumb) yang

ditunjukkan untuk memproduksi hasil yang baik tetpai tidak menjamin hasil yang optimal.

2.4.3. Penjadwalan Flow Shop dan Hybrid Flow Shop

Dalam bukunya Ginting (2009, p. 47), menurut Baker (1974) penjadwalan Flow Shop merupakan suatu pergerakan unit-unit yang terus-menerus melalui suatu rangkaian

(11)

Hybrid Flow Shop adalah generalisasi dari permasalahan flow shop klasik

dengan adanya beberapa mesin paralel setiap stage atau tahap dari suatu proses. (Oguz,

Janiak, & Lichtenstein, 2001, p. 477)

Menurut Ruiz & Rodriguez(2010, p. 1) Hybrid flow shop merupakan lingkungan

manufakturing secara umum dimana sejumlah n job akan diproses pada m stage/tahap

secara berurutan. Ada beberapa karakteristik yang sama untuk hybrid flow shop yakni:

- Jumlah tahapan proses m minimal dua buah

- Setiap tahapan memiliki M(k) ≥ 1 mesin dalam bentuk pararel dan paling tidak di salah satu stage M(k) > 1.

- Semua job diproses mengikuti alur produksi yang sama seperti stage 1, stage 2, sampai dengan stage m. Sebuah job mungkin saja melewati beberapa stage

dimana job ini tetap diproses paling tidak di salah satu stage tersebut.

2.4.4. Algoritma Nawaz, Enscore dan Ham (NEH)

Algoritma Nawaz, Enscore, dan Ham (NEH) ini merupakan metode yang dikembangkan pada tahun 1983. Metode ini juga disebut metode Incremental

Construction Algorithms,yang telah mendapatkan penghargaan sebagai metode heuristik

terbaik dalam permutation Flow-Shop Sequencing Problem (PFSP). (Ginting, 2009, p.

96)

Untuk penjadwalan NEH untuk n job terhadap m mesin dilakukan dengan langkah-langkah:

A. Langkah 1

(12)

b. Urutkan job-job menurut jumlah waktu prosesnya dimulai dari yang terbesar hingga yang terkecil

c. Hasil dari urutan ini disebut juga dengan daftar pengurutan job-job B. Langkah 2

a. Set k = 2

b. Ambil job yang menempati urutan pertama dan kedua dari daftar pengurutan job-job.

c. Buat dua buah alternatif calon urutan parsial baru

d. Alokasikan pada mesin pertama dari waktu job terkecil dari kedua job yang telah dipilih.

e. Apakah kedua job ini dilanjutkan ke job berikutnya?

f. Lanjutkan perhitungan sampai mendapatkan nilai makespan dan mean flow time dan total flow time

g. Pilih calon urtan parsial baru yang memiliki makespan parsial terkecil.

Jika ada calon urutan parsial baru yang memiliki makespan parsial

terkecil yang sama, pilihlah calon urutan parsial yang memiliki nilai total flow time terkecil.

h. Calon urutan parsial baru yang terpilih menjadi urutan parsial baru i. Coret job yang telah dialokasikan dari daftar pegnurutan job C. Langkah 3

a. Apakah k = n? Jika tidak maka set k = k + 1

b. Ambil job yang menempati urutan pertama dari daftar pengurutan job. c. Hasilkan sebanyak k calon urutan parsial yang baru dengan memasukkan

(13)

d. Hitung setiap makespan parsial dan total flow time parsial dari calon

urutan parsial yang baru

e. Pilih calon urtan parsial baru yang memiliki makespan parsial terkecil.

Jika ada calon urutan parsial baru yang memiliki makespan parsial

terkecil yang sama, pilihlah calon urutan parsial yang memiliki nilai total flow time terkecil.

f. Calon urutan parsial baru yang dipilih menjadi urutan parsial baru g. Coret job yang telah diambil dari daftar pengurutan job

h. Periksa apakah k = n. jika ya lanjutkan ke langkah 4 jika tidak lanjutkan ke langkah 3

D. Langkah 4

a. Urutan parsial baru menjadi urutan final dan stop.

2.4.5. Ant Colony Optimization

Algoritma semut pertama kali dikemukakan oleh Dorigo dan kawan-kawannya dalam penyelesaiian permasalah tugas ganda. Algoritma ini pada awalnya dibangun berdasarkan pada pengamatan terhadap koloni semut. Dimana para koloni semut ini dapat menemukan makanan sumber makanan yang paling dekat dengan sarang para semut. (Berlianty & Arifin, 2010, p. 61)

Pada dasarnya, pada saat semut mencari makan maka para semut akan meninggalkan jejak pheromone sepanjang jalannya. Semakin tinggi konsentrasi pheromone itu maka akan semakin banyak semut yang melewati jalur tersebut. Dan karena mengikuti jalur pheromone ini dapat membuat para semut untuk menemukan

(14)

jalur paling singkat. Hal ini dapat terlihat pada gambar 2.1 (Berlianty & Arifin, 2010, p. 61)

Gambar 2. 1 Jalur Semut pada saat mencari lintasan terpendek Sumber: Berliaty & Arifin, 2010, p. 63

2.4.6. Proposed Ant Colony Optimization (PACO)

Berdasarkan pada Rajendran & Ziegler (2004) salah pengembangan dari metode ant colony optimization yang memberikan hasil yang baik adalah proposed ant colony

optimization (PACO) dimana metode ini menunjukkan hasil yang lebih optimal untuk

job yang banyak dan juga dengan jumlah mesin yang lebih banyak. Pada saat

penggunaannya, PACO ini menggunakan setiap semut untuk setiap iterasi.

Dalam mengembangkan struktur dari ACO maka Rajendran & Ziegler (2004, p. 428) mengusulkan struktur umum daripada ACO adalah sebagai berikut:

Step 1: Initialize the pheromone trails and parameters

Step 2: While (termination condition not met) do the following

(15)

Improve the solution by local search

Update the pheromone trail or trail intensities Step 3: Return the best solution found

Dalam jurnal Rajendran & Ziegler (2004, p. 427) perhitungan algoritma semut, menggunakan beberapa notasi matematis seperi berikut:

- tij merupakan waktu proses job i di mesin j, - n merupakan jumlah job yang akan dijadwalkan, - m merupakan jumlah mesin yang digunakan,

- σmerupakan urutan job yang sudah dijadwalkan dari n job; partial sequence, - q(σ, j)merupakan waktu penyelesaian partial sequence σdi mesin j,

- qi, j)merupakan waktu penyelesaian dari job i di mesin j, ketika job

diaplikasikan ke partial sequenceσ.

Untuk menghitung waktu mulai dan waktu selesai pengerjaan job pada

mesin-mesin, digunakan perhitungan sebagai berikut: Inisialisasi Nilai qi,0)=0 For j=1 to m do ) , ( j q σi = max

{

qi1, j);qi, j−1)

}

+tij

Ketika semua job sudah dijadwalkan, nilai makespan didapat dari:

M= max

{

Cim,i=1,2,...,n;m=1,2,...,m

}

Tahap inisialisasi trails and parameters pertama kali dikerjakan dengan algoritma

NEH. Setelah didapatkan sequence awal dari algoritma NEH, perhitungan dilanjutkan ke

(16)

Set τik = (1/Zbest), jika (|position job i –k| +1) ≤

4 n

= (1/2* Zbest ), jika (|position job i –k| +1) ≤

2 n

= (1/4* Zbest ), jika (|position job i –k| +1) >

2 n (19) Set =

k= q ik ik T 1τ

Setelah langkah di atas dikerjakan, perhitungan dilanjutkan ke tahap penentuan ant sequence. Pertama-tama tentukan bilangan acak (u) yang berada dalam range [0,1]:

- jika u ≤ 0.4, pilih job pertama yang belum dijadwalkan dalam sequence

sebelumnya,

- jika u ≤ 0.8, pilih 1 job dari 5 job pertama yang belum dijadwalkan yang

memiliki nilai Tik paling besar,

- selain itu, pilih job yang memiliki nilai Pikterbesar dengan rumus:

= l ik ik ik T T

P , dimana l adalah job yang belum dijadwalkan. (20)

Ketiga poin di atas dilakukan berulang-ulang sampai semua job yang belum

dijadwalkan selesai dijadwalkan. Setelah itu, dilakukan job index based local search

untuk mendapatkan solusi yang paling optimal. Metode ini menggunakan prinsip

insertion dalam pelaksanaannya dengan mengubah urutan yang ada sekarang tanpa

mengubah urutan relatif dari posisi job lainnya. Prosedurnya adalah sebagai berikut: For i = 1 to n

For k = 1 to n If k ≠i

(17)

Then

Masukkan job I pada posisi k dengan tidak merubah urutan relatif dari job yang lain dan hitung nilai makespannya. Pilih urutan (sequence)

yang memiliki nilai makespan terkecil dari (n-1) jumlah urutan yang

didapat. Bila terdapat nilai makespan yang sama, maka hitung total flowtime dan pilih total flowtime dengan nilai terkecil. Jika urutan yang

baru berbeda dengan urutan sebelumnya maka urutan yang baru akan menggantikan urutan yang lama.

Sampai tahap ini, iterasi pertama telah selesai. Sedangkan untuk iterasi kedua dilakukan tahap updating of trail intensities.

Dalam PACO, memperbarui intensitas jejak tidak hanya berdasarkan urutan yang dihasilkan setelah penerapan ketiga dari index job berdasarkan prosedur local search

pada ant-sequence, tetapi juga pada jarak relatif antara posisi yang diberikan dan posisi jobi dalam urutan yang dihasilkan. Intensitas jejak diperbarui sebagai berikut:

- Jika n ≤ 40, maka

(

1current

)

, old ik new ik = ρ×τ + diff ×Z τ if h−k ≤1 (21)

Bila tidak, τiknew =ρ×τikold

- Selain itu,

(

1current

)

, old ik new ik = ρ×τ + diff ×Z τ if h−k ≤2 (22)

Bila tidak, τiknew =ρ×τikold Keterangan:

(18)

diff =

(

positionof job iinthebestsequence obtainedsofar−k +1

)

1/2 75 . 0 = ρ

h = posisi job i dalam sequence terakhir.

Setelah didapat nilai τiknew, kembali ke tahap ant sequence pada iterasi pertama dan

dilanjutkan ke job index based local search sebanyak tiga kali. Kemudian, untuk iterasi

ketiga, lakukan cara yang sama seperti pada iterasi kedua.

2.5. Pengertian Sistem

Menurut O’Brien (2003, p. 8) sistem adalah sebuah kelompok yang saling bekerja sama dan untuk mencapai satu tujuan yang sama dengan memiliki masukan

(inputs) dan memberikan hasil (outputs) dalam sebuah proses transformasi yang

terorganisir dengan baik

Menurut McLeod (2001, p. 11) sistem adalah sekelompok elemen yang saling terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan yang sama. Contohnya adalah suatu organisasi, dimana organisasi tersebut terdiri dari bidang-bidang fungsional yang semuanya saling bekerja sama untuk tercapainya tujuan organisasi yang telah ditetapkan.

.

2.6. Pengertian Informasi

McLeod (2001, p. 12) berpendapat informasi adalah data yang telah melalui suatu proses atau data yang memiliki telah memiliki arti. Sedangkan menurut O’Brien (2003, p. 13) informasi adalah data yang telah mengalami proses konversi menjadi sebuah konteks yang berarti dan berguna bagi seseorang.

(19)

2.7. Pengertian Sistem Informasi

Menurut O’Brien (2003, p. 7) Sistem Informasi adalah kombinasi dari sumber daya manusia, perangkat keras, perangkat lunak, jaringan komunikasi, dan sumber daya data yang mengubah, mengumpulkan, dan menyebarkan informasi dalam sebuah organisasi. Pengertian lainnya dari sistem informasi adalah sebagai suatu sistem yang menerima data sebagai input dan kemudian mengolahnya menjadi informasi sebagai outputnya.

2.8. Internet, Intranet dan Extranet

Internet adalah koleksi global dari sebuah jaringan yang saling terhubung menggunakan standar jaringan tingkat bawah secara umum atau yang biasa disebut juga dengan TCP/IP (Transmission Control Protocol/ Internet Protocol). World Wide Web

(WWW) yang biasa disebut juga dengan web adalah sekumpulan sumber daya (program, file, dan servis) yang dapad diakses melalui internet. (Satzinger, Jackson, & Burd, 2005, p. 274)

Intranet adalah jaringan pribadi yang menggunakan IP tapi hanya bisa diakses sejumlah pengguna internal (biasanya para pengguna yang sama-sama berada dalam satu organisasi atau satu kelompok kerja). (Satzinger, Jackson, & Burd, 2005, p. 274)

Extranet adalah intranet yang telah dikembangkan yang menyertakan para pengguna yang berada diluar organisasi (seperti supplier, customer besar dan partner penting). Extranet membantu beberapa organisasi berbeda untuk saling bertukar informasi dan mengkoordinasikan aktivitas organisasi tersebut. (Satzinger, Jackson, & Burd, 2005, p. 274)

(20)

2.9. Analysis and Design Objects

Identitas dari analisis objek mengekspresikan bagaimana user membedakan

objek tersebut dengan objek lainnya di dalam konteks. Identitas dari desain objek mengekspresikan bagimana objek lain di dalam sistem dapat mengenali objek tersebut dan juga dapat mengaksesnya. Di dalam analisis, behavior objek dapat diekspresikan dengan event yang dilakukan ataupun pengalaman.

Analisis dan desain objek mendeskripsikan dua hal yang yang benar-benar berbeda. Objek analisis mendeskripsikan fenomena diluar sistem seperti orang dan benda yang mana biasanya dapat berdiri sendiri (independen). Objek desain mendeskripsikan fenomena di dalam sistem yang dapat dikontrol. Behavior dari objek yang dideskripsikan sebagai operasi untuk dijalankan oleh komputer. (Mathiassen et al.,

2000, p. 5)

2.10. System Development Life Cycle

Proyek adalah sebuah kegiatan yang direncanakan yang memiliki awal dan akhir dan menghasilkan sebuah hasil atau produk yang diharapkan. Agar sebuah proyek pengembangan sistem dapat sukses, para pengembang sistem haruslah memiliki sebuah perencanaan untuk diikuti. Sebuah kunci, fundamental konsep dalam pengembangan sistem informasi adalah System Development Life Cycle (SDLC). (Satzinger et al, 2005,

p. 38)

Sepanjang siklus hidup dari sistem informasi, pertama-tama haruslah mengandung sebuah ide, lalu di disain, di bangun, dan di jalankan selama pengembangan proyek dan paling akhir dimasukkan ke dalam proses dan digunakan untuk mendukung proses bisnis. (Satzinger et al, 2005, p. 39)

(21)

Salah satu teknik yang berguna untuk mengklasifikasikan sistem secara komprehensif adalah dengan mengkategorikan pendekatan SDLC apakah lebih kearah prediktif atau adaptif. Pendekatan prediktif pada SDLC adalah sebuah pedekatan yang mengasumsikan bahwa pengembangan proyek dapat direncanakan dan di atur lebih lanjut dan bahwa sistem informasi yang baru ini dapat dikembangkan sejalan dengan rencana. Sedangkan pedekatan adaptif pada SDLC digunakan pada saat kebutuhan pasti dari sistem atau kebutuhan dari user tidak dapat dimengerti dengan baik. (Satzinger et al,

2005, p. 39)

Dalam pengembangan SDLC, terdiri atas beberapa aktivitas yakni planning analysis, analysis activities, design activities, implementation analysis dan support phase.

Planning activitites adalah kegiatan merencanakan, mengatur dan menjadwalkan sebuah

proyek. Analysis activities adalah sebuah aktivitas untuk memahami secara pasti

bagaimana sistem harus bertindak untuk mendukung proses bisnis. Implementation activities adalah kegiatan yang penting dalam membangun sistem. Support phase adalah aktivitas yang diperlukan untuk mengembangkan dan menjaga sistem setelah sistem tersebut dijalankan. Untuk fase-fase dan tujuan dalam SDLC dapat dilihat pada tabel 2.1.

Aktivitas SDLC ini dapat dilihat pada gambar 2.2. (Satzinger et al, 2005, p. 40)

Sumber: Satzinger et al, 2005, p. 40

(22)

Tabel 2. 1Fase dan tujuan dari SDLC.

SDLC Phase Tujuan

Perencanaan proyek Untuk mengidentifikasikan cakupan dari sistem yang baru, memastikan bahwa proyek layak untuk dijalankan, mengembangkan sebuah jadwal, perencanaan sumber daya, dan perencanaan budget untuk proyek.

Analisis Untuk memahami dan mendokumentasikan dengan detil kebutuhan bisnis dan kebutuhan proses dari sistem baru.

Desain Untuk mendisain sistem solusi berdasarkan pada kebutuhan sistem informasi yang didefinisikan dan keputusan yang dibuat sepanjang analisis

Implementasi Untuk membuat, menguji, dan memasang sebuah sistem informasi yang dapat terpecaya dengan melatih user menjadi siap untuk memberikan keuntungan seperti yang diharapkan berdasarkan pada kegunaan dari sistem.

Support Untuk membuat sistem tetap berjalan produktif dari awal dan sepanjang usia dari sistem.

Sumber: Satzinger et al, 2005, p. 41

2.11. The Unified Process Life Cycle

Berdasarkan pada kebutuhan atas pengulangan dalam pengembangan sistem (seperti aktivitas analisis, desain, dan implementasi), sebuah model SDLC baru telah digunakan untuk membuat perencanaan dan pengaturan menjadi lebih mudah. Pada Unified Process Life Cycle terdapat satu atau lebih iterasi yang mengikutsertakan analisis, desain

(23)

dan implementasi dari sistem. Ke-empat fase dari UP life cycle dinamakan inception, elaboration, construction dan transition seperti pada gambar 2.3. (Satzinger et al, 2005,

p.45)

Sumber: Satzinger et al, 2005, p.45

Gambar 2. 3Unified Process SDLC

Inception phase

Seperti pada fase perencanaan pada berbagai proyek, pada fase inception manajer

proyek mengembangkan dan menyempurnakan cara pandang untuk sistem baru untuk melihat bagaimana dapat meningkatkan operasi dan menyelesaikan masalah yang ada. Pada fase inception, biasanya diselesaikan dalam satu iterasi, bagian dari sistem aslinya

dapat didesain, implementasi dan di uji. (Satzinger et al, 2005, p.46) Elaboration phase

Fase elaborasi biasanya melibatkan beberapa iterasi, dan pada iterasi awal biasanya telah menyelesaikan identifikasi dan definisi dari semua kebutuhan sistem. Fase elaborasi juga menyelesaikan analisis, desain dan implementasi pusat arsitektur dari sistem. (Satzinger

et al, 2005, p.46)

System Development Life

Iteration Phase

Inception Elaboration Construction Transition PHASES ARE NOT ANALYSIS, DESIGN, AND IMPLEMENT;

INSTEAD, EACH ITERATION INVOLVES A COMPLETE CYCLE OF REQUIREMENTS, DESIGN, IMPLEMENTATION, AND

(24)

Construction Phase

Fase construction melibatkan beberapa iterasi yang melanjutkan desain dan

implementasi dari sistem. Dalam pengerjaannya mungkin memasukkan pengendalian detil sistem seperti validasi data, meningkatkan user interface, memperbaiki fungsi dan

menyelesaikan bantuan dan fungsi sistem.

Transition Phase

Selama fase transisi satu atau beberapa iterasi akhir melibatkan pengguna akhir dan pengujian beda, dan sistem dibuat siap untuk operasi. Ketika sistem dalam operasi, maka sistem perlu untuk didukung dan diperbaiki. (Satzinger et al, 2005, p.47)

2.12. Unified Modeling Language (UML)

Unified Modeling Language adalah sebuah standar model yang bentuk dan notasinya

dikembangkan untuk mengembangkan object-oriented. Pada umumnya, dalam

penggambaran diagram-diagram, notasi yang digunakan untuk menunjukkan menggambarkan model didefinisikan dengan UML. Dengan menggunakan UML, para analis dan pengguna mampu untuk mengerti berbagai variasi diagram digunakan untuk mengembangkan sistem proyek. (Satzinger et al, 2005, p.48)

2.13. Disiplin dari Unified Process

Menurut Satzinger et al (2005, p.55) dalam pengembangannya, UP memiliki enam

(25)

- Pemodelan bisnis

Tujuan utama dari pemodelan bisnis adalah untuk memahami dan mengkomunikasikan lingkungan nyata dari bisnis yang akan menggunakan sistem.

- Kebutuhan

Tujuan utama dari kebutuhan ini adalah untuk memahami dan mendokumentasikan kebutuhan bisnis dan kebutuhan proses untuk sistem yang baru.

- Desain

Tujuan utama dari desain ini adalah untuk menggambarkan sistem solusi berdasrkan pada kebutuhan sebelumnya yang telah didefinisikan.

- Implementasi

Dalam tahap implementasi, tahapan ini melibatkan pemenuhan atas komponen yang dibutuhkan oleh sistem.

- Pengujian

Tahapan ini berguna untuk melakukan pengujian terhadap sistem yang telah di bangun apakah dapat berfungsi dengan baik atau tidak.

- Pemasangan dan penggunaan

Tahapan ini memiliki aktivitas memastikan bahwa sistem yang dibangun dapat digunakan untuk kegiatan operasional.

Untuk menyelesaikan pengembangan sebuah sistem, tim proyek haruslah memahami lingkungan bisnis (pemodelan bisnis), mendefinisikan kebutuhan dari sistem (kebutuhan), mendesain solusi untuk sistem dalam memenuhi kebutuhan (desain), menulis dan mengintegrasikan kode dalam komputer yang akan membuat sistem dapat

(26)

berjalan dengan baik (implementasi), kemudian lakukan pengujian dari sistem (pengujian) dan setelah selesai maka sistem tersebut diuji-cobakan kepada pengguna untuk melakukan kegiatan operasionalnya (pemasangan dan penggunaan). (Satzinger et al, 2005, p.55)

2.14. Konsep Object-Oriented

Pedekatan berbasis objek adalah sebuah penekatan pengembangan sistem yang melihat sistem informasi sebagai sekelompopk objek yang saling berinteraksi yang bekerja sama untuk menyelesaikan suatu kegiatan. Objek itu sendiri berarti sebuah benda dalam sistem komputer yang merespon terhadap sebuah pesan. (Satzinger et al,

2005, p.60)

Oleh karena pendekatan berbasi objek melihat sistem informasi sebagai sekumpulan objek yang saling berinteraksi, object-oriented analysis (OOA)

medefinisikan semua tipe objek yang dibutuhkan oleh pengguna untuk bekerja dan menunjukkan bahwa interaksi dengan pengguna dibutuhkan untuk menyelesaikan suatu pekerjaan. Object-oriented design (OOD) mendefinisikan semua tipe dari objek penting

untuk mengkomunikasikan orang dengan sistem yang menunjukkan bagaimana objek berinteraksi untuk menyelesaikan suatu masalah. Object-oriented programming (OOP)

terdiri atas pernyataan tertulis dalam bahasa pemrograman untuk mendefinisikan setiap tipe dari objek. (Satzinger et al, 2005, p.60)

2.15. Prinsip-prinsip Dalam Analisis dan Perancangan

Dalam pengembangan OOA&D (Object Oriented Analysis and Design) terdapat

(27)

Model The Context

Kesuksesan dalam pengembangan sistem biasanya bergantung pada pemahaman dari pengembang mengenai aplikasi praktis sistem. Seperti yang tergambar dalam gambar 2.4, konteks sistem dapat dilihat dari dua buah sudut pandang: sistem yang memodelkan sesuatu (the problem domain) an hal ini dioperasikan oleh user (the application domain). (Mathiassen et al., 2000, p. 6)

Sumber: Mathiassen et al., 2000, p. 7

Gambar 2. 4Sistem Konteks

Emphasize the architecture

Memahami konteks yang ada memang penting, namun hal lainnya yang tidak kalah penting adalah untuk memahami sistem itu sendiri. Sistem itu sendiri memiliki pengertian: sekumpulan komponen yang menerapkan model requirements, functions,

dan interfaces. (Mathiassen et al., 2000, p. 9)

Selama proses analisis dan desain, adalah hal yang penting untuk mengembangkan pemahaman umum mengenai sistem yang ada. Sistem arsitektur seharusnya mudah untuk dimengerti karena arsitektur sistem ini berfungsi sebagai dasar

(28)

untuk pengambilan keputusan dan sebagai alat komunikasi dan alat kerja dalam pengembangan kerja kedepannya. Arsitektur sistem ini juga perlu untuk fleksibel karena pengembangan sistem mengambil tempat di dalam lingkungan kerja. Dan arsitektur sistem juga sebaiknya berguna karena kesuksesan sistem bergantung pada peran yang dimainkan di dalam organisasi. (Mathiassen et al., 2000, p. 9)

Reuse patterns

Sebuah landasan awal untuk memastikan kualitas dan efisiensi dalam analisis dan desain adalah untuk menggunakan kembali ide yang telah di uji dan menggunakannya kembali pada situasi lainnya. OOA&D memiliki dua langkah dalam penggunaan kembali: dengan menggunakan objek dan komponen, dan lebih umum dengan menggunakan pola analisis dan desain. Pola ini sendiri adalah deskripsi umum dari sebuah masalah dan solusi yang terkait. Sebagai contoh kita dapat menggunakan pola peran selama proses analisis untuk memodelkan berbagai peran yang orang perankan berulang kali. Pada gambar 2.03 menunjukkan contoh pembuatan model person yang bisa diperankan oleh employee dan customer. (Mathiassen et al., 2000, p.

11)

Sumber: Mathiassen et al., 2000, p. 12

(29)

Tailor The Method

OOA&D adalah sekumpulan dari panduan umum untuk membuat analisis dan desain. Oleh karena itulah metode-metode tersebut harus diimplementasikan ke dalam organisasi dan proyek. Untuk membuat metode yang dibuat menjadi lebih berguna, dilakukan perancangan metode tersebut agar dapat beradaptasi, berkembang dan bagiannya akan mudah untuk diimplementasikan. (Mathiassen et al., 2000, p. 12)

2.16. Aktivitas Utama dalam OOA&D

OOA&D memiliki empat buah aktivitas utama yang dapat di lihat dalam gambar 2.04.

Sumber: Mathiassen et al., 2000, p. 15

Gambar 2. 6 Aktivitas utama dalam OOA&D

Keempat aktivitas utama relatif penting dan urutan perubahan dari projek ke projek. Dalam beberapa projek, analisis application domain memiliki karakteristik yaitu

(30)

ketidakpastian yang besar. Keempat aktivitas utama dari OOA&D ini kegiatan abstrak yang dapat dilakukan bersamaan dengan kegiatan lainnya dalam projek pengembangan sistem secara praktis. Keempat aktivitas ini adalah analisis problem domain, analisis application domain, architectual design, dan componen design. (Mathiassen et al., 2000,

p. 15)

2.16.1. Analisis Problem Domain

Dalam perancangan problem domain, terkandung di dalamnya apa yang dihadapi oleh pengguna dan kapan mereka melakukan pekerjaan (produk, order, invoice, dan pelanggan) mereka yang dibutuhkan sebagai bagian dari sistem. Sebagai contoh, seorang pelanggan (external agent) melakukan pemesanan, akan tetapi selain pesanan yang di

simpan itu, sistem juga membutuhkan untuk menyimpan data-data pelanggan. (Satzinger

et al, 2005, p.178)

Tipe data yang dibutuhkan untuk disimpan merupakan aspek penting yang dibutuhkan dalam pemenuhan kebutuhan dari sistem informasi. Dalam pendekatan berorientasi-objek, hal ini menjadi objek yang berinteraksi dengan sistem. Mengidentifikasi dan memahami tipe data dalam problem domain merupakan kunci awal ketika mendefinisikan kebutuhan. (Satzinger et al, 2005, p.178)

Analisis problem domain berfokus pada informasi apa yang harus disediakan

dalam sistem. Penyediaan informasi ini sangat penting dalam aktifitas analisis karena model problem domain menyediakan sebuah bahasa untuk mengekspresikan kebutuhan

sistem. Dalam pengembangan problem domain, prinsip pertama yang harus

dikembangkan adalah memodelkan dunia nyata sesuai dengan cara pandang dari calon pengguna. (Mathiassen et al., 2000, p. 45)

(31)

Tujuan utama daripada analisis problem domain adalah untuk mengembangkan

sebuah model. Dengan adanya sebuah model yang baik, maka model tersebut dapat mendesain dan mengimplementasikan sistem yang dapat memproses, mengkomunikasikan, dan menampilkan informasi mengenai problem domain.

(Mathiassen et al., 2000, p. 46)

Seperti pada gambar 2.7 analisis problem domain terbagi atas tiga aktivitas.

Pertama, melakukan penentuan objek, classes, dan events yang akan menjadi elemen dari model problem domain. Kedua, membuat model berfokus pada struktur hubungan antara objek dan classes yang terpilih. Hal ini merepresentasikan sebuah pergerakan dari objek ke tingkatan model. Ketiga, berfokus pada properti objek dynamic, merepresentasikan sebuah pergerakan kembali ke tingkatan objek. (Mathiassen et al.,

2000, p. 40)

Sumber: Mathiassen et al., 2000, p. 46

Gambar 2. 7 Model dari aktivitas dalam problem domain

2.16.1.1. System Definition

System definition adalah sebuah deskripsi singkat dari sistem komputer yang

(32)

untuk pengembangan dan penggunaan dari sistem. Hal ini menjelaskan mengenai sistem di dalam konteks, informasi apa yang seharusnya terkandung didalamnya, fungsi apa yang seharusnya disediakan, dimana harusnya digunakan dan kondisi pengembangan seperti apa yang harus diterapkan. Sebuah system definition seharusnya singkat dan tepat

dan mengandung sebagian besar dasar keputusan mengenai sistem yang ada. Membuat sebuah formulasi yang singkat dan tepat menyediakan gambaran umum dan membuat hal ini mudah untuk membandingkan berbagai alternatif yang ada. (Mathiassen et al.,

2000, p. 24)

2.16.1.1.1. Rich Picture

Rich picture adalah sebuah gambaran tidak formal yang menampilkan

pemahaman sebuah situasi oleh ilustrator. Sebuah rich picture berfokus pada seberapa

penting suatu aspek pada suatu situasi yang mana hal ini ditentukan oleh ilustrator. Bagaimanapun juga, sebuah rich picture seharusnya memberikan deskripsi secara luas

dari situasi yang memungkinkan beberapan interpretasi alternatif. (Mathiassen et al.,

2000, p. 26)

2.16.1.1.2. Sistem Definisi

Menurut Mathiassen et al. (2000, p. 39), kriteria FACTOR terdiri atas enam

elemen:

Functionality: fungsi sistem yang mendukung tugas application domain.

Application Domain: bagian dari organisasi yang melakukan kegiatan

(33)

Conditions: kondisi yang dibutuhkan untuk mengembangkan dan menggunakan

sistem.

Technology: kedua teknologi yang digunakan untuk mengembangkan sistem dan

teknologi dimana sistem itu akan dijalankan.

Objects: Objek utama dalam problem domain.

Responsibility: Tanggung jawab sistem secara umum dalam hubungannya

dengan konteks sistem tersebut.

Kriteria FACTOR dapat digunakan dalam dua cara. Pertama-tama, dapat digunakan untuk mendukung pengembangan system-definition, tetapi harus tetap berhati-hati dalam mempertimbangkan bagaimana setiap elemen dari sistem diformulasikan. Kedua, untuk memulai sebuah definisi dapat dilakukan dengan mendeskripsikan sistem dan menggunakan kriteria untuk melihat bagaimana sistem-definition yang ada memuaskan keenam faktor yang ada. (Mathiassen et al., 2000, p. 40)

2.16.1.1.3. Activity Diagram

Setelah mendapatkan informasi mengenai proses bisnis dengan melakukan interview dengan pengguna dan melakukan observasi proses yang ada, maka perlu dilakukan proses dokumentasi. Salah satu teknik untuk menangkap informasi yang ada digunakan sebuah diagram. Dimana diagram ini digunakan untuk mendeskripsikan alur kerja (workflow) dari sistem yang baru. (Satzinger, Jackson, & Burd, 2005, p. 144)

Workflow adalah urutan langkah proses untuk menyelesaikan sebuah transaksi

bisnis. Sebuah workflow bisa berupa sederhana ataupun kompleks. Sebuah workflow

(34)

mengikutsertakan partisipan dari berbagai bagian dalam organisasi. Jika workflow yang

sederhana dapat dibuat dan di lihat lebih mudah dan juga mudah untuk memeriksanya kembali dengan para pengguna. Salah satu keuntungan dalam menggunakan diagram dan model adalah diagram tersebut menjadi sebuah alat komunikasi yang sangat berguna diantara tim proyek dan para pengguna. (Satzinger et al, 2005, p.144)

Metodologi yang digunakan untuk melakukan penggambaran proses bisnis ini biasanya adalah flowchart ataupun activity diagram. Activity diagram adalah sebuah diagram workflow yang sederhana yang mendeskripsikan berbagai kegiatan pengguna, siapa yang melakukan aktivitas tersebut dan urutan dari kegiatan tersebut. (Satzinger et al, 2005, p.144)

Gambar 2.8 merupakan simbol dasar yang digunakan pada activity diagram.

Bentuk oval merepresentasikan aktivitas individual dalam workflow. Gambar panah

menunjukkan urutan antar kegiatan. Bulatan hitan digunakan untuk notasi awal dan akhir dari sebuah workflow. Bentuk diamond berarti sebuah keputusan dimana proses itu

akan berlanjut apakah ke satu aktivitas atau ke aktivitas lainnya. Garis lain yang tebal disebut juga synchronization bar dimana apakah akan memecah kegiatan atau

menggabungkan beberapa kegiatan. Swinlane menunjukkan siapa yang malakukan

(35)

Sumber: Satzinger et al, 2005, p.145

Gambar 2. 8 Simbol dalam activity diagram

Dapat dilihat bahwa activity diagram berfokus pada urutan dari aktivitas.

Diagram ini jelas dan cukup mudah untuk dimengerti. Pada kenyataannya salath satu kekuatan dari menggunakan activity diagram adalah untuk mendokumenasikan

workflow yang mudah dimengerti oleh para pengguna. Dalam pembuatan activity

diagram, pertama-tama haruslah mengidentifikasikan agent untuk membuat swimlane

yang sesuai. Kemudian ikuti langkah-langkah dan buatlah bentuk oval untuk setiap aktivitasnya. Lalu hubungkan oval tersebut dengan tanda panah untuk menunjukkan arah dari workflow. (Satzinger et al, 2005, p.146)

2.16.1.2. Event dan use cases

Use case adalah sebuah aktivitas yabg dikakukan sistem, pada umumnya

merupakan respon atas permintaaan dari pengguna. Berbagai teknik direkomendasikan untuk mengidentifikasi use case. Salah satu pendekatan adalah dengan membuat catatan

(36)

semua pengguna dan memikirkan apa yang mereka butuhkan dari sistem untuk membantu pekerjaan mereka. Cara lainnya adalah dengan memulai dari sistem yang ada dan membuat catatan kebutuhan semua sistem yang telah dimasukkan dan menambahkan beberapa fungsi yang diminta oleh pengguna. Salah satu cara atau panduan yang paling mendalam untuk mengientifikasi use case disebut dengan event decomposition technique. (Satzinger et al, 2005, p.166)

Event decomposition

Dalam penentuan use case apa yang digunakan untuk sistem, haruslah berfokus pada event decomposition yaitu sebuah teknik yang pertama-tama berfokus pada event yang dibutuhkan oleh sistem untuk merespon dan lalu melihat bagaimana sistem dapat memberikan respon (use case sistem). (Satzinger et al, 2005, p.167)

Pentingnya konsep dari event untuk mendefinisikan kebutuhan sistem dikenalkan untuk analisis struktur modern ketika konsep ini diadaptasikan pada waktu nyata pada tahun 1980an. Sistem ini dibutuhkan untuk beraksi secepatnya untuk event yang ada pada lingkungan. Pada dasarnya terdapat tiga buah tipe event yakni external event, temporal event, dan state event. External event adalah event yang terjadi diluar sistem,

biasanya dilakukan oleh external agent. External agent adalah seseorang atau bagian

dari organisasi yang memberikan atau menerima data dari sistem akan tetapi bukan pengguna sistem langsung. Temporal event adalah sebuah event yang terjadi sebagai

hasil telah sampainya waktu yang telah ditentukan. State event adalah sebuah event yang

terjadi ketika sesuatu terjadi didalam sistem yang memicu untuk sebuah proses. (Satzinger et al, 2005, p.168)

(37)

2.16.1.3. Classes

Secara khusus kita dapat mendeskripsikan objek sebagai sebuah class

dibandingkan sebuah individual. Class sangat berguna untuk memahami objek dan

sangat penting untuk mendeskripsikan objek. Dibandingkan dengan menjelaskan setiap objek masing-masing, maka akan lebih baik jika mengembangkan sebuah objek bersama untuk semua objek yang ada dalam class yang sama. Class itu sendiri memiliki

pengertian: sebuah deskripsi dari sekumpulan objek yang memiliki struktur yang sama, pola behavioral dan atribut. (Mathiassen et al., 2000, p. 4)

Aktivitas class terdiri atas tiga buah kegiatan utama yaitu abstraksi, klasifikasi,

dan pemilihan. Fenomena problem domain diabstraksikan dengan melihat problem domain sebagai objek dan class. Lalu objek dan class diklasifikasikan dan memilih class

dan event yang mana yang akan mempertahankan informasi pada sistem. Classes adalah

hal pertama yang akan mendefinisikan dan membatasi problem domain. Setiap class

dapat dikarakterisasikan berdasarkan sekumpulan event. (Mathiassen et al., 2000, p. 49)

2.16.1.3.1. Klasifikasi dari objek dan events

Selama proses analisis, sebuah objek adalah abstraksi dari sebuah fenomena di dalam sistem konteks seperti pelanggan. Objek mengekspresikan sudut pandang user secara nyata. Orang tertentu adalah pelanggan dan orang tersebut akan diperlakukan sebagai sebuah entitas tunggal dengan identitas, state dan behavior yang spesifik.

Seorang pelanggan juga bisa menjadi objek desain. Dalam desain, objek pelanggan akan merepresentasikan bagian dari sejarah orang ternteu dan state selama berada di dalam

(38)

Dengan menggunakan objek ini, sistem dapat mengatur dan menyimpan data pelanggan secara spesifik.(Mathiassen et al, 2000, p. 4)

Dalam klasifikasi aktivitas, terfokus pada objek yang dikerjakan oleh user dengan tujuan untuk menciptakan dan memilih abstraksi yang bersangkutan. Dalam klasifikasi aktivitas ini memiliki tiga buah prinsip dasar. Pertama, klasifikasikan objek di dalam problem domain. Kedua, karaterisasikan objek berdasarkan event. Ketiga, memiliki pemikiran yang terbuka, tapi memilih dengan kritis. (Mathiassen et al., 2000,

p. 50)

Menurut Mathiassen et al. (2000, p. 4) dalam Object Oriented Analysis and

Design, yang menjadi dasar utama adalah sebuah objek. Selama proses analisis,untuk

mengorgansisasikan pemahaman akan konteks dari sebuah sistem maka akan digunakan objek. Selama proses desain, objek digunakan untuk pemahaman dan mendeskripsikan sistem itu sendiri. Sedangkan objek itu sendiri berarti sebuah entitas dengan identitas,

state, dan behavior. (Mathiassen et al., 2000, p. 50)

Sedangkan event itu menspesifikasikan kualitas dari objek dalam problem

domain. Event memiliki pengertian sebagai sebuah kejadian instant yang melibatkan

satu atau lebih objek. Event juga merupakan sebuah abstraksi dari aktivitas

problem-domain atau proses yang dijalankan atau dirasakan oleh satu atau lebih objek.

(Mathiassen et al., 2000, p. 51)

Untuk mengidentifikasikan semua objek dan event yang ada agar dapat

dimasukkan ke dalam sebuah model problem-domain yang relevan maka objek-objek

tersebut dikelompokkan menjadi beberapa class. Class memiliki pengertian sebagai

sebuah deskripsi dari sekumpulan objek yang berbagi struktur, behavioral pattern, dan

(39)

2.16.1.3.2. Menentukan Class

2.16.1.3.2.1. Membuat daftar dari objek

Pemilihan class akan mendefinisikan hal yang paling pertama dan paling dasar

dari sebuah blok bangunan untuk model problem-domain. Untuk mendapatkan sebuah

deskripsi dari problem-domain maka harus bekerja sama dengan user. Dalam mendapatkan kandidat class, sebaiknya menggunakan nama yang simpel dan mudah dibaca, original di dalam problem domain, dan mewakili sebuah contoh. (Mathiassen et al., 2000, p. 55)

Terdapat beberapa panduan umum yang bisa digunakan untuk membantu analis dalam membuat daftar sumber informasi yang mana sistem perlu untuk menyimpannya. Beberapa prosedur yang berguna untuk diikuti adalah dengan mendaftar semua kata benda yang disebutkan oleh pengguna ketika membicarakan mengenai sistem. Untuk membuat daftarnya bisa dibuat dengan cara pertama yaitu menggunakan event table, dan

informasi mengenai setiap event dan identifikasikan setiap kata benda, kedua

menggunakan informasi lainnya yang berasal dari sistem yang sudah ada, prosedur yang ada ataupun laporan-laporan yang ada, dan ketiga adalah dengan menentukan apakah dari kata-kata benda tersebut memang perlu disimpan, hanya merupakan atribut dari kata benda yang lain, atau memang tidak perlu untuk disimpan. (Satzinger et al, 2005, p.179)

Menurut Mathiassen et al. (2000, p. 61) untuk dapat memilih sebuah class, class

tersebut harus dapat menjawab beberapa pertanyaan seperti:

- Apakah bisa mengidentifikasikan sebuah objek dari class tersebut? - Apakah class tersebut mengandung informasi yang unik?

(40)

- Apakah class tersebut memiliki beberapa event yang sesuai dan dapat dijalankan?

2.16.1.3.2.2. Asosiasi antar objek

Setelah menemukan dan menyimpan hal apa saja yang disimpan maka dibutuhkan untuk mencari informasi tambahan. Seperti hubungan antar objek merupakan hal yang penting untuk sistem. Hubungan tersebut berupa asosiasi yang muncul dalam hubungan antar objek tertentu sebagai contoh sebuah order diberikan oleh pelanggan dan pelanggan bekerja pada suatu bagian/divisi. (Satzinger et al, 2005, p.181)

2.16.1.3.2.3. Atribut dari objek

Sebagian besar dari sistem informasi menyimpan dan menggunakan informasi spesifik mengenai setiap objek. Setiap informasi spesifik ini disebut dengan atribut. Dimana setiap objek bisa memiliki beberapa atribut. Atribut yang merupakan secara unik mendefinisikan objek disebut dengan identifier atau key.

2.16.1.4. Event table

Informasi yang paling penting untuk mengidentifikasikan adalah use case yang

dibutuhkan oleh sistem untuk merespon setiap event yang ada. Informasi ini dimasukkan

kedalam event table. Event table termasuk di dalamnya baris dan kolom,

merepresentasikan event dan detilnya. Setiap baris dalam event table menyimpan

informasi mengenai satu event dan use case-nya. Setiap kolom dalam tabel

merepresentasikan kunci informasi mengenai event dan use case-nya. Sebagai contoh

(41)

Event Trigger Source Use Case Response Desination Customer wants to

chect item availability

Item inquiry Customer

Look up item availability Item availability details Customer Sumber: Satzinger et al, 2005, p.175

Gambar 2. 9 Contoh dari event table.

Pertama-tama untuk setiap event, bagaimana sistem tau bahwa sebuah event terjadi? Sebuah signal yang memberi tahu sistem bahwa event terjadi disebut dengan trigger. Sumber datanya juga penting untuk diketahui. Kemudian apa yang dilakukan oleh sistem ketika suatu event terjadi dsebut sebagai use case. Hasil atau respon dari use case dalam sistem tersebut disebut juga response. Dan destination adalah temat dimana

respon apapun dikirimkan, kepada external agent. Terkadang use case tidak

menghasilkan respon apapun. (Satzinger et al, 2005, p.175)

2.16.1.5. Structure

Aktivitas di dalam sebuah struktur berfokus pada hubungan antara classes dan objek.

Pada aktivitas class, dilakukan pemilihan classes untuk pemodelan problem-domain dan mengkarakterisasikan setiap class dengan event-nya. Sedangkan pada aktivitas struktur,

pengembangan dilakukan dengan menambahkan deskripsi dengan menambahkan

Source: For external event, the external agent is the source of

Response: what output (if any) is produce by the system?

The event that causes the system to do something

Destination: what external agents gets the output Trigger: how does the system know the event

occurred? For external events, the trigger is data entering the system. For temporal events, it is

Use case: what does the system do when the event occurs? The use case is what is important to define for

(42)

hubungan strutural antara classes dan objek. Hasil dari aktivitas struktur ini adalah class diagram. (Mathiassen et al., 2000, p. 69)

Pada class diagram, bentuk persegi merepresentasikan class, dan garis yang menghubungkan persegi menunjukkan asosiasi antar class. Gambar 2.10 menunjukkan contoh simbol untuk sebuah class customer. Dan gambar 2.11 menunjukkan contoh dari sebuah class diagram. (Satzinger et al, 2005, p.187)

Sumber: Satzinger et al, 2005, p.187

Gambar 2. 10 Simbol class diagram

Sumber: Mathiassen et al., 2000, p. 70

(43)

2.16.1.5.1. Struktur Object-Oriented

Dalam pengembangannya, pemodelan problem-domain dengan struktur object-oriented menggunakan perbedaan mendasar dari objek dan class. Untuk tingkatan objek

yang lebih konkrit, dapat melihat fenomena dari sebuah problem domain sebagai sebuah objek dengan properti tertentu yang menunjukkan identitas, state dan behavior dari objek tersebut. Sebagai contoh, terkadang dapat melihat seseorang sebagai karyawan dari sebuah perusahaan akan tetapi tidak melihat orang tersebut sebagai seorang anggota keluarga yang memiliki anak, hobi, keluarga dan lainnya. Dari hal ini dapat dilihat bahwa dalam pembuatan objek terkadang hanya melihat properti tertentu yang memiliki hubungan dengan problem domain. Untuk menjelaskan hal ini, terdapat dua jenis struktur dari objek yaitu: pertama, struktur agregasi dimana menjelaskan hubungan antara objek dan komponen objek, dan kedua, struktur asosiasi dimana menjelaskan arti hubungan objek yang lain. (Mathiassen et al., 2000, p. 70)

Dalam tingkatan class yang abstrak, lebih memperhatikan hubungan konseptual

antara dua atau lebih class di dalam problem domain. Class adalah sebuah deskripsi dari

properti dan behavioral pattern yang umum diantara semua objek yang ada di dalam

grup tersebut. Untuk mendeskripsikan hubungan konseptual antar class, maka dibagi menjadi dua jenis struktur class yaitu: pertama, struktur generalisasi dimana menjelaskan sebuah class yang merupakan spesialisasi dari beberapa class yang lebih umum. Kedua, struktur cluster, dimana merupakan sebuah grup dari class yang saling berhubungan. (Mathiassen et al., 2000, p. 71)

Aktivitas struktur di bagi menjadi tiga buah sub-aktivitas. Pada sub-aktivitas pertama, mengkombinasikan problem-domain dengan tipe struktur yang berbeda untuk menciptakan kandidat untuk hubungan struktural diantara class dan objek yang terpilih.

(44)

Pada sub-aktivitas kedua, mengekplorasi relevansi dari beberapa pola umum untuk memperluas model dari problem-domain. Di sub-aktivitas ketiga, mengevaluasi dan

memilih hubungan struktural yang dibutuhkan dari beberapa kandidat. Ketiga sub-aktivitas ini dapat dilihat pada gambar 2.12. (Mathiassen et al., 2000, p. 71)

Sumber: Mathiassen et al., 2000, p. 72

Gambar 2. 12 Sub-aktivitas untuk memodelkan struktur problem-domain.

2.16.1.5.2. Struktur antar class

Ada 2 cara untuk memahami struktur dari problem domain dalam dunia nyata yakni generalisasi/spesialisasi hirarki, dan whope-part hirarki. (Satzinger et al, 2005,

p.189)

2.16.1.5.2.1. Generalisasi/spesialisasi hirarki

Struktur generalisasi adalah sebuah relasi antara dua atau lebih class spesial dan satu

atau lebih class umum. Dimana pengertian generalisasi itu sendiri adalah sebuah class

(45)

(subclass). Sebagai contoh class dari “taxi” dan “private car” merupakan spesialisasi

dari class general dari “Passenger Car” seperti pada gambar 2.13.(Mathiassen et al.,

2000, p. 72)

Sumber: Mathiassen et al., 2000, p. 73

Gambar 2.13 Struktur generalisasi.

Tipikal struktur generalisasi adalah hirarkikal oleh karena itu subclass apapun

merupakan spesialiasasi dari tepat satu super class. Bagaimanapun juga, multiple

inheritance (turunan berganda) dimana sebuah class menuruni properti dari dua atau

lebih super class yang dapat meningkatkan model dari beberapa kasus seperti pada

gambar 2.14. .(Mathiassen et al., 2000, p. 74)

Sumber: Mathiassen et al., 2000, p. 74

(46)

2.16.1.5.2.2. Whole-part hirarki

Cara lain untuk menstrukturisasi informasi adalah dengan mendefinisikan informasi tersebut menjadi bagian-bagian yang lebih kecil. Whole-part hirarki

menggambarkan hubungan yang telah teridetifikasi dalam pembuatan asosiasi antar objek dan komponennya. Ada dua tipe whole-part hirarki yakni agregasi dan komposisi.

Agregasi digunakan untuk mendeskripsikan asosiasi whole-part antara aggregate(whole)

dan komponennya (parts). Komposisi digunakan untuk menggambarkan asosiasi

whole-part secara lebih kuat, dimana ketika sebuah bagian sekali terasosiasi tidak bisa lagi dipisahkan.(Satzinger et al, 2005, p.191)

2.16.1.5.3. Struktur antar objek

Terdapat dua buah tipe struktur objek yaitu agregasi dan asosiasi. Kedua struktur ini menangkap hubungan dinamis antar objek di dalam problem-domain. Struktur objek

ini dideskripsikan di dalam class diagram sebagai hubungan struktural antara dua atau

lebih class. Struktur ini dideskripsikan pada tingkatan class dengan menentukan properti

multiplicity yang menjelaskan beberapa objek dari class yang berhubungan dapat

terkoneksi. (Mathiassen et al., 2000, p. 75)

2.16.1.5.3.1. Struktur Agregasi

Struktur agregasi merupakan hubungan antara dua atau lebih objek. Struktur ini menunjukkan bahwa satu objek merupakan dasar dan menjelaskan bagian dari yang lain. Sebuah struktur agregasi menggambarkan sebuah garis antara class yang keseluruhan dengan bagiannya, dimana garis tersebut diakhiri dengan sebuah belahketupat pada class yang memodelkan keseluruhan, hal ini dapat dilihat pada gambar 2.14. Secara

(47)

pengucapan, agregasi dapat diekspresikan dengan formulasi “kepunyaan” atau “bagian dari”. (Mathiassen et al., 2000, p. 76)

Sumber: Mathiassen et al., 2000, p. 75

Gambar 2. 14 Struktur Agregasi.

2.16.1.5.3.2. Struktur Asosiasi

Struktur asosiasi juga merupakan sebuah hubungan antara dua atau lebih objek, tapi berbeda dengan agregasi, dimana yang mengasosiasikan objek bukan menjelaskan properti dari sebuah objek. Asosiasi ini sendiri memiliki pengertian hubungan antara sejumlah objek. (Mathiassen et al., 2000, p. 75)

Struktur asosiasi digambarkan dengan sebuah garis lurus antara class yang berhubungan. Mendeskripsikan multiplicity dari asosiasi sama dengan ketika

mendeskripsikan multiplicity dari agregasi. Karena struktur asosiasi tidak

mengutamakan urutan, dan penempatan class yang saling berhubungan dapat dimana

(48)

keterikatan yang terlalu kuat. Seperti pada gambar 2.15 dimana gambar ini menunjukkan hubungan antara manusia dengan mobil. Dimana dalam hal ini, tidak masuk di akal ketika mengatakan bahwa objek dari mobil atau manusia memiliki objek yang lain dari class yang berbeda sebagai bagiannya. Secara pengucapan, asosiasi dapat diekspresikan dengan formulasi “diketahui atau dimiliki” atau “memiliki hubungan dengan”. (Mathiassen et al., 2000, p. 77)

Sumber: Mathiassen et al., 2000, p. 77

Gambar 2. 15 Struktur Asosiasi.

2.16.1.5.4. Menemukan Kadidat untuk Struktur

Memodelkan hubungan struktural sama seperti ketika melakukan pemilihan class dan event. Dimulai dari mengumpulkan kandidat untuk hubungan struktural diantara model-model class. Dimana pengumpulan kandidat ini berdasarkan pada prinsip: mempelajari abstrak, hubungan statis antar class dan mempelajari konkrit, hubungan dinasmis antar objek. Dalam mengumpulkan kandidat, didasarkan pada empat tipe struktur. (Mathiassen et al., 2000, p. 77)

2.16.1.5.4.1. Identifikasi Generalisasi

Untuk menghasilkan kandidat untuk struktur generalisasi terdapat tiga macam pendekatan. Pertama, memilih dari semua class yang berpasangan dan tentukan apakah satu dari dua class tersebut merupakan generalisasi dari yang lainnya. Kedua, tentukan

(49)

apakah ada class generalisasi yang dapat terbentuk dari sepasang class yang dipilih. Ketiga, mengambil setiap class yang dipilih, mencoba untuk mendefinisikan sebuah generalisasi atau spesialisasi yang sesuai. (Mathiassen et al., 2000, p. 78)

2.16.1.5.4.2. Identifikasi Agregasi

Untuk menemukan kandidat untuk struktur agregasi terdapat tiga macam pendekatan. Pertama, memeriksa setiap pasang class untuk melihat apakah mungkin objek dari suatu class merupakan bagian objek dari class yang lain. Kedua, menentukan apakah sesuai untuk mengagregasikan objek dari setiap pasang class kedalam objek dari sebuah class yang baru saja dibuat. Ketiga, menentukan apakah setiap class dapat dipecah menjadi beberapa class yang tidak terdapat dalam model yang sudah di buat. (Mathiassen et al., 2000, p. 78)

Menurut Mathiassen et al., (2000, p. 79), dalam mendefinisikan hubungan dalam

agregasi, terdapat tiga jenis aplikasi dari struktur agregasi:

• Whole-part, dimana keseluruhan merupakan penjumlahan dari bagian-bagian; ketika menambahkan atau mengurangi bagian apapun, dapat merubah keseluruhan secara mendasar

• Container-content, dimana keseluruhan merupakan tempat penampungan dari bagian-bagian; ketika menambahkan atau mengurangi bagian apapun, properti dasar dari keseluruhan tidak berubah.

• Union-member, dimana keseluruhan merupakan keteraturan dari kesatuan anggota. Kesatuan ini tidak dirubah secara fundamental baik dengan menambahkan atau mengurangi beberapa anggota.

(50)

2.16.1.5.4.3. Identifikasi Asosiasi

Untuk menghasilkan struktur asosiasi, perlu diperhatikan sisa dari class yang berpasangan untuk melihat apakah class-class tersebut dapat saling terhubung dengan sebuah arti. Sebuah asosiasi perlu untuk dideskripsikan kapanpun harus melakukan kegiatan administrasi, mengawasi, dan mengendalikan hubungan antar objek yang dengan kata lain tidak berhubungan dengan model. (Mathiassen et al., 2000, p. 79)

2.16.1.6. Behavior

Oleh karena sistem biasanya berhadapan dengan kenyataan yang dinamis, maka diperlukan pemahaman terhadap apa yang terjadi di problem-domain secara berulang-ulang. Sebuah sistem memiliki tujuan mendasar yakni untuk mendaftar, menyimpan dan menghasilkan informasi mengenai kejadian dalam problem-domain. Agar sistem dapat

mengendalikan suatu batasan dalam suatu event untuk dipatuhi atau dilanggar,

pemodelan problem domain harus memasukkan deskripsi dari event trace yang mungkin

dari setiap class. (Mathiassen et al., 2000, p. 89)

Untuk aktivitas behavior, pengembangan definisi class di dalam class diagram

diperlukan untuk menambahkan deskripsi mengenai behavioral pattern dan atribut dari setiap class. Hasil dari aktivitas behavior ini diekspresikan dalam gambar dalam sebuah state chart diagram yang dapat dilihat pada gambar 2.16. (Mathiassen et al., 2000, p.

(51)

Sumber: Mathiassen et al., 2000, p. 90

Gambar 2.16 Sebuah statechart diagram sederhana untuk class “Customer” di dalam bank.

2.16.1.6.1. Behavioral pattern dan atribut

Sebuah objek adalah antitas dengan identitas, state dan behaviour. Di dalam

aktivitas class dapat dilihat behavior sederhana sebagai suatu kumpulan event yang tidak

teratur yang melibatkan sebuah objek. Di dalam aktivitas behavior, pendeskripsian

behavior menjadi lebih akurat dengan menambahkan waktu relatif dari suatu event.

Sebuah behavior dari objek didefinisikan oleh sebuah event trace yang menunjukkan event dalam suatu urutan dari waktu ke waktu. (Mathiassen et al., 2000, p. 90)

Event trace ini memiliki arti yakni sebuah urutan event yang melibatkan objek

tertentu. Sebuah event trace adalah unik untuk sebuah objek tertentu. Ini adalah sebuah

urutan event secara tepat yang melibatkan objek dalan interval waktu tertentu. Sebagai contoh, objek dari class “Customer” memiliki event trace berikut sepanjang masa hidup objek ini:

Account opened – amount deposited – amount withdrawn – amount deposited – account closed. (Mathiassen et al., 2000, p. 90)

Gambar

Gambar 2. 1 Jalur Semut pada saat mencari lintasan terpendek  Sumber: Berliaty &amp; Arifin, 2010, p
Gambar 2. 2 Aktivitas dalam SDLC.
Tabel 2. 1 Fase dan tujuan dari SDLC.
Gambar 2. 3Unified Process SDLC  Inception phase
+7

Referensi

Dokumen terkait

Pada Tugas akhir ini akan dilakukan perancangan Active Fault Tolerant Control (AFTC) pada sistem pengendalian level steam drum boiler PLTU Paiton dengan kesalahan

Hasil yang diperoleh dari Tugas Akhir ini adalah sebuah program yang bisa mendeteksi dan melacak objek berdasarkan warna dengan tingkat keberhasilan 94,6% dan

Deteksi dini kelainan mata secara tepat sangat penting untuk mencegah kebutaan akibat penyakit yang tidak terdiagnosa dengan tepat atau terlambat dirujuk, sehingga diperlukan

Quraish Shihab menyatakan, “Sabar berarti menahan diri atau membatasi jiwa dari keinginannya demi mencapai sesuatu yang baik atau lebih baik”. Kesabaran yang dituntut

Hal ini menunjukkan bahwa deskripsi dari indikator kepemimpinan pada kantor dinas Sumber Daya Air Cipta Karya dan Tata Ruang Provinsi Sulawesi Selatan secara umum

Sebuah mitos, secara individual, selalu dikisahkan dalam suatu waktu: ia menunjuk pada kejadian-kejadian yang dipercaya begitu saja pernah terjadi di waktu

Pemenuhan kebutuhan air bersih merupakan prasyarat utama dalam mewujudkan pembangunan kota yang berkelanjutan. Seiring dengan terus bertambahnya jumlah penduduk dan aktivitas kota

KOMPONEN SARANA AIR LIMBAH KOMUNAL A. Mengidentifikasi kesiapan/kemampuan pembangunan sistem pengolahan air limbah terpusat bagi masyarakat di lokasi DAK. tersedia tanah yang