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.
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:
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
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
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).
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
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)
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:
• 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
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
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
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
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
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
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,
- q(σi, 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 q(σi,0)=0 For j=1 to m do ) , ( j q σi = max
{
q(σi−1, j);q(σi, j−1)}
+tijKetika 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
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 TP , 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
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:
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.
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)
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)
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
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
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
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
- 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
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
• 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
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
• 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
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)
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
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
• 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
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
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
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)
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
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
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?
- 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
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
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
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.
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
(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
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
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
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
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.
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.
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)