BAB 3 LANDASAN TEORI
3.1
Penjadwalan Produksi Untuk jangka pendek, dalam rentang periode beberapa hari sampai satu bulan,
perusahaan harus melakukan penjadwalan produksi untuk memenuhi order atau permintaan konsumen. Menurut Baroto (2002, p167) penjadwalan yang tidak efektif akan menghasilkan tingkat penggunaan yang rendah dari kapasitas yang ada. Fasilitas, tenaga kerja, dan peralatan akan menunggu (idle) untuk waktu tertentu, karena tidak ada jadwal. Sebagai akibatnya, biaya produksi membengkak. Ini dapat menurunkan efektifitas dan daya saing perusahaan. Meskipun kapasitas keseluruhan mungkin didesain agar biaya sumber daya minimal, penjadwalan yang tidak tepat dapat menyebabkan menurunnya tingkat pelayanan dan banyak hal lain secara tidak langsung.
3.1.1
Pengertian Penjadwalan Kebanyakan organisasi melaksanakan sejumlah tugas secara serempak, karena
itu perlu menggabungkan beberapa jadwal kerja. Hal ini hanya dapat dilakukan jika tanggal penyerahan untuk tiap pekerjaan diketahui, dan seluruh penggabungan tersebut kemudian akan menentukan pekerjaan yang akan dilaksanakan dalam tiap departemen di sepanjang periode yang direncanakan. Proses ini disebut penjadwalan (scheduling), dan hasilnya dikenal secara sederhana sebagai jadwal (schedule), jadwal produksi (production schedule) atau jadwal pabrik (factory schedule) untuk pabrik secara keseluruhan (Lockyer et al., 1990, p365).
32 Penjadwalan (scheduling) didefinisikan oleh Baker dalam Hendra (2001, pII-1) sebagai proses pengalokasian sumber untuk memilih sekumpulan tugas dalam jangka waktu tertentu. Definisi umum ini dapat dijabarkan dalam dua antrian yang berbeda. Yang pertama adalah bahwa penjadwalan merupakan sebuah fungsi pengambilan keputusan, yaitu dalam menentukan jadwal yang paling tepat. Arti kedua adalah bahwa penjadwalan merupakan sebuah teori yang berisi kumpulan prinsip, model, teknik dan konklusi logis dalam proses pengambilan keputusan. Vollman dalam Hendra (2001, pII-1) mendefinisikan penjadwalan produksi sebagai pengaturan urutan kerja serta pengalokasian sumber baik berupa waktu maupun fasilitas untuk setiap operasi yang harus diselesaikan. Sedangkan menurut Conway dalam Hendra (2001, pII-1), penjadwalan didefinisikan sebagai proses pengurutan pembuatan produk secara menyeluruh pada sejumlah mesin tertentu, pengurutan (sequencing) sendiri didefinisikan sebagai pembuatan produk pada satu mesin tertentu. Ada beberapa istilah dalam penjadwalan yang perlu diketahui di antaranya adalah (Daihani, 2001, p152-153): 1. Waktu proses (processing time) adalah perkiraan waktu yang dibutuhkan untuk menyelesaikan suatu tugas. 2. Batas waktu (due date) adalah batas waktu yang diberikan untuk menyelesaikan suatu tugas. Apabila tugas tersebut tidak dapat diselesaikan hingga batas waktu tersebut maka penyelesaian tugas tersebut akan terlambat. 3. Rentang waktu (completion time) adalah waktu dari mulai bekerja menyelesaikan tugas pertama (t = 0) sampai dengan waktu tugas ke-i selesai.
33 4. Keterlambatan (lateness) adalah selisih antara waktu penyelesaian tugas dengan due date-nya. Tugas akan memiliki keterlambatan positif bila diselesaikan setelah due date, dan memiliki keterlambatan negatif bila diselesaikan sebelum due date. 5. Tardiness adalah besarnya keterlambatan dari job i. Tardiness adalah lateness yang berharga positif. 6. Slack adalah suatu ukuran dari perbedaan antara waktu yang tersisa bagi suatu tugas untuk diselesaikan (due date) dengan waktu proses yang dibutuhkan untuk menyelesaikannya (processing time). 7. Flow time adalah jangka waktu dimana suatu tugas mulai siap untuk diproses sampai dengan selesai diproses. 8. Makespan adalah total waktu yang dibutuhkan untuk menyelesaikan seluruh tugas, mulai dari tugas pertama hingga tugas ke-i. 9. Crticial Ratio adalah perbandingan antara waktu yang masih tersisa hingga due date dengan waktu proses untuk tugas yang masih tersisa tersebut.
3.2
Proses Penjadwalan Produksi
3.2.1
Teknik Penjadwalan Produksi Pada dasarnya terdapat dua metode atau teknik penjadwalan, yaitu: backward
scheduling dan forward scheduling (Gaspersz, 2001, p245) ¾ Backward Scheduling, dimulai dengan tanggal atau waktu di mana suatu pesanan yang dibutuhkan itu harus diselesaikan yang ditetapkan oleh MRP, kemudian menghitung mundur (backward) guna menentukan waktu yang tepat untuk mengeluarkan pesanan itu. Penggunaan backward scheduling mengasumsikan bahwa finished date diketahui dan start date diinginkan. Biasanya kuantitas
34 untuk independent demand beserta waktu kebutuhannya ditentukan dengan menggunakan master production schedule (MPS). Backward scheduling biasanya digunakan apabila komponen-komponen yang sedang dibuat menuju ke suatu assembled product memiliki waktu tunggu yang berbeda (different lead times). ¾ Forward scheduling, dimulai dari start date pada operasi pertama, kemudian menghitung schedule date ke depan (forward) untuk setiap operasi (sampai operasi terakhir) guna menentukan completion date. Berdasarkan perhitungan ini akan diketahui operation start dates untuk setiap langkah. Perlu diperhatikan di sini, bahwa forward scheduling menggunakan data waktu atau tanggal yang dijanjikan untuk pelanggan, serta berfokus pada operasi-operasi kritis dan penjadwalan melalui subsekuens operasi. Forward scheduling paling sering digunakan dalam perusahaan-perusahaan seperti: paper and steel mills di mana produk bersifat besar (bulky) dengan sedikit komponen. Forward scheduling akan jelek apabila diterapkan untuk struktur produk yang kompleks dengan banyak komponen. Bagaimana forward scheduling dapat melengkapi backward scheduling untuk menyesuaikan permasalahan yang berkaitan dengan kebutuhan pelanggan. Pada dasarnya forward scheduling menjawab pertanyaan: berapa lama waktu yang dibutuhkan untuk menyelesaikan suatu pesanan? Sedangkan backward sheduling menjawab pertanyaan: kapan harus memulai mengerjakan suatu pesanan agar dapat diselesaikan sesuai dengan waktu yang diinginkan itu. ¾ Operations Scheduling (sinonim: detailed scheduling), merupakan operation start and completion dates dengan mempertimbangkan waktu-waktu setup,
35 pelaksanaan, bergerak, menunggu atau antri. Proses ini menentukan kapan setiap operasi seharusnya dimulai dan berakhir, guna menyelesaikan pesanan tepat waktu, dan mengijinkan Capacity Requirements Planning (CRP) melakukan time-phased loads, misalnya menentukan banyaknya kerja yang dilakukan oleh work center berdasarkan periode waktu. Informasi tentang waktu (dates) digunakan dalam dispatching function. ¾ Block scheduling adalah simplified version dari backward scheduling. Block scheduling digunakan apabila operasi harus dijadwalkan secara manual. Block scheduling kurang akurat dibandingkan detailed scheduling (operation-byoperation scheduling) dan akan meningkatkan waktu tunggu (lead times). Banyak perusahaan menggunakan block scheduling untuk menduga banyaknya waktu yang dibutuhkan untuk setiap part. Hal ini akan menghemat waktu perhitungan (computation time) tetapi biasanya meningkatkan waktu tunggu sehingga menjadi bertambah panjang (long lead times). Teknik penjadwalan yang benar bergantung pada volume pesanan, ciri operasi, dan keseluruhan kompleksitas pekerjaan, sekaligus pentingnya tempat pada masing-masing dari empat kriteria (Render and Heizer, 2001, p467). Empat kriteria itu adalah: 1. Meminimalkan waktu penyelesaian. Ini dinilai dengan menentukan rata-rata waktu penyelesaian. 2. Memaksimalkan utilisasi. Ini dinilai dengan menentukan persentase waktu fasilitas itu digunakan. 3. Meminimalkan persediaan barang dalam proses. Ini dinilai dengan menentukan rata-rata jumlah pekerjaan dalam sistem. Hubungan antara jumlah pekerjaan dalam sistem dan persediaan barang dalam proses adalah tinggi. Dengan
36 demikian semakin kecil jumlah pekerjaan yang ada di dalam sistem, maka akan semakin kecil persediaannya. 4. Meminimalkan waktu tunggu pelayanan. Ini dinilai dengan menentukan rata-rata jumlah keterlambatan. Terdapat beberapa hal yang perlu diketahui sebelum pekerjaan dapat dijadwalkan (Kusuma, 2001, p186), yaitu: ¾ Jumlah dan jenis pekerjaan yang harus diselesaikan selama periode tertentu. Jumlah dan jenis pekerjaan ini sangat bergantung pada rencana produksi yang disusun serta negoisasi antara perusahaan dengan pelanggan. ¾ Perkiraan waktu penyelesaian suatu pekerjaan (processing time). Perkiraan waktu penyelesaian pekerjaan ini merupakan masukan yang sangat penting dalam proses penjadwalan pekerjaan. Perkiraan waktu penyelesaian suatu pekerjaan seringkali digunakan untuk menentukan prioritas pekerjaan yang akan dikerjakan terlebih dahulu. Sumber perkiraan dapat berupa data waktu baku yang dimiliki perusahaan atau estimasi supervisor berdasarkan pengalaman. ¾ Batas waktu (Due Date) penyelesaian pekerjaan. Batas waktu selesainya suatu pekerjaan penting diketahui untuk memperkirakan kelambatan yang mungkin akan terjadi. Besaran ini menjadi penting terutama untuk mengantisipasi denda/penalti yang mungkin timbul akibat keterlambatan pengiriman. ¾ Tujuan penjadwalan. Tujuan penjadwalan perlu diketahui terlebih dahulu agar pemilihan teknik penjadwalan dapat dilakukan dengan sebaik-baiknya. Terdapat berbagai macam tujuan penjadwalan yang pada garis besarnya dapat dikelompokkan ke dalam tiga bagian, yaitu:
37
Peningkatan utilisasi peralatan/sumber daya dengan cara menekan waktu menganggur sumber daya tersebut. Untuk sejumlah pekerjaan yang telah diketahui bahwa maksimasi utilisasi sumber daya berbanding terbalik dengan waktu yang diperlukan untuk menyelesaikan pekerjaan (makespan). Dengan demikian sasaran penjadwalan yang terutama adalah menekan waktu penyelesaian produk secara keseluruhan.
Sasaran lain yang mungkin dicapai ialah minimasi jumlah persediaan barang dalam proses. Tujuan ini dicapai dengan cara meminimasi jumlah pekerjaan yang menunggu dalam antrian untuk diproses. Indikator jumlah antrian pekerjaan ini dinyatakan dengan besaran waktu alir rata-rata.
Tujuan penjadwalan lainnya ialah menekan kelambatan. Dalam banyak hal sejumlah pekerjaan memiliki batas waktu penyelesaian pekerjaan (due date), dan apabila pekerjaan selesai setelah due date maka perusahaan dikenai penalti. Terdapat beberapa tujuan penjadwalan berkenaan dengan kelambatan ini. Tujuan penjadwalan dapat berupa minimasi keterlambatan maksimum, atau minimasi jumlah pekerjaan yang terlambat, atau minimasi keterlambatan rata-rata.
¾ Situasi pekerjaan yang dihadapi. Situasi pekerjaan yang dapat dihadapi adalah seperti penjadwalan pekerjaan di satu prosesor, penjadwalan pekerjaan di beberapa prosesor seri, penjadwalan pekerjaan di beberapa prosesor pararel, atau penjadwalan pekerjaan di fasilitas produksi job-shop, dan lain-lain. Penjadwalan produksi memiliki beberapa fungsi dalam sistem produksi, aktivitasaktivitas fungsi tersebut (Baroto, 2001, p167) adalah sebagai berikut:
38 1. Loading (pembebanan). Bertujuan untuk mengkompromikan antara kebutuhan yang diminta dengan kapasitas yang ada. Loading ini untuk menentukan fasilitas, operator, dan peralatan. 2. Sequencing (penentuan urutan). Bertujuan membuat prioritas pengerjaan dalam pemrosesan order-order yang masuk. 3. Dispatching. Pemberian perintah-perintah kerja ke tiap mesin atau failitas lainnya. 4. Pengendalian kinerja penjadwalan, dengan cara: a. Memonitor perkembangan pencapaian pemenuhan order dalam semua sektor. b. Merancang ulang sequencing bila ada kesalahan atau ada prioritas utama baru. 5. Updating schedules. Pelaksanaan jadwal biasanya selalu ada masalah baru yang berbeda dari saat pembuatan jadwal, maka jadwal harus segera di-update bila ada permasalahan baru yang memang perlu diakomodasi.
3.2.2 Pembebanan (Loading) Pembebanan berarti penugasan pekerjaan untuk dilaksanakan atau pusat pengolahan/pusat pemrosesan. Dua pendekatan yang digunakan untuk membebankan, yaitu: Diagram Gantt dan metode penugasan pemrograman linear. (Render and Heizer, 2001, p469). Diagram Gantt Diagram Gantt merupakan alat bantu visual yang sangat berguna dalam pembebanan dan penjadwalan. Nama diagram ini diambilkan/berasal dari Henry Gantt yang membuat diagram ini pada akhir tahun 1800. Diagram ini membantu melukiskan penggunaan sumber daya, seperti pusat pekerjaan dan lembur.
39 Pada saat digunakan dalam pembebanan, diagram Gantt menunjukkan waktu pembebanan dan waktu menganggur dari beberapa departemen seperti, mesin-mesin atau fasilitas. Diagram ini menampilkan beban kerja relatif di dalam sistem sehingga para manager bisa tahu penyesuaian seperti apa yang tepat. Sebagai contoh, pada saat satu pusat pekerjaan kelebihan beban kerja, karyawan dari pusat beban yang rendah bisa dipindahkan secara temporer untuk menambah jumlah karyawan. Atau jika pekerjaan yang sedang menunggu bisa diproses pada pusat pekerjaan yang berbeda, beberapa pekerjaan pada pusat beban tinggi bisa dipindahkan ke yang rendah. Peralatan serba guna bisa juga dipindahkan di antara pusat-pusat itu. Kebaikan dari diagram Gantt ini (Pardede, 1996, p315) adalah kesederhanaan dan kejelasan yang dimilikinya. Bagan ini dengan jelas menunjukkan beban kerja berbanding atau relatif pada satu sistem operasi dan juga dapat menunjukkan apakah ada suatu pusat kerja yang diberi beban yang terlalu besar atau terlalu kecil. Kelemahan bagan beban Gantt ini adalah keterbatasannya. Ia tidak menunjukkan hubungan antara berbagai jangka waktu penyelesaian pekerjaan, berbagai jenis mesin atau peralatan, dan prestasi kerja manusia. Sebagai akibatnya ketepatan taksiran beban kerja tidak dapat diandalkan. Oleh sebab itu bagan ini harus diperbaiki secara berkala apabila ada pesanan pekerjaan yang baru diterima. Taksiran waktu pengerjaan untuk setiap pekerjaan yang sedang dilaksanakan juga harus diperbaiki atau disesuaikan secara berkala. Apabila, misalnya satu pesanan dapat dikerjakan pada setiap pusat kerja yang ada, maka sebagian pekerjaan pada pusat kerja yang diberikan beban kerja yang terlalu besar, dapat dipindahkan ke pusat kerja lain yang ‘mendapat’ beban kerja yang terlalu kecil.
40 Metode Penugasan Metode penugasan melibatkan penugasan suatu pekerjaan atas suatu sumber daya. Penggunaan algoritma penugasan ini sebenarnya sangat terbatas karena akan berfaedah untuk penentuan beban kerja hanya apabila jumlah pusat kerja yang akan digunakan tepat sama dengan jumlah pekerjaan yang akan diselesaikan. Di samping itu setiap pusat kerja harus dibebani dengan hanya satu jenis pekerjaan. Jika syarat-syarat ini tidak dipenuhi maka penggunaan algoritma penugasan akan tidak bermanfaat. Kesulitan lainnya adalah ketidakpastian biaya serta keharusan untuk membuat asumsi-asumsi (Pardede, 1996, p319). Keterbatasan lainnya yang dikandung oleh algoritma penugasan di dalam ketentuan beban kerja adalah: 1. Metode ini tidak mempertimbangkan kemungkinan adanya pesanan pekerjaan baru yang diterima selama jangka waktu penyelesaian pekerjaan yang sudah ada. 2. Metode ini tidak mempertimbangkan kenyataan bahwa tidak semua pekerjaan dapat dilaksanakan pada setiap pusat kerja. Sering terjadi bahwa satu jenis pekerjaan hanya dapat dilaksanakan pada satu atau beberapa pusat kerja saja.
3.2.3
Pengurutan Operasi Penjadwalan memberikan suatu dasar penugasan pekerjaan ke pusat pekerjaan.
Pembebanan merupakan teknik pengendalian kapasitas yang menyoroti kelebihan muat dan kekurangan muat. Pengurutan mengkhususkan pada pesanan di mana pekerjaan harus dilakukan di masing-masing pusat pekerjaan (Render and Heizer, 2001, p473). Menurut Eren (2001, p528), pengurutan merupakan proses mendefinisikan urutan jobjob yang dilaksanakan dalam sebuah mesin. Penjadwalan merupakan proses
41 menambahkan informasi waktu mulai dan waktu selesai ke urutan job yang dikendalikan oleh pengurutan (sequence). Pada dasarnya, pengurutan menentukan penjadwalan, karena diasumsikan bahwa setiap job harus dimulai di sebuah mesin sedini mungkin, untuk itu, sesegera job telah menyelesaikan semua operasi predesesornya, maka mesin tersebut telah menyelesaikan semua job sebelumnya dalam urutannya. Selanjutnya di dalam menentukan urutan pengerjaan pesanan tersebut harus terlebih dahulu ditetapkan kriteria keputusan yang akan digunakan sebagai pedoman. Dengan kata lain harus ditetapkan kriteria manakah yang harus dipenuhi dengan penentuan urutan pekerjaan tersebut. Misalnya, harus diputuskan terlebih dahulu apakah penentuan urutan itu dimaksudkan untuk meminimumkan jumlah waktu penyelesaian pekerjaan, atau untuk memperkecil biaya set-up, ataukah untuk meningkatkan penghematan penggunaan bahan. Dalam hal ini suatu urutan pekerjaan yang dapat memenuhi satu kriteria tertentu belum tentu akan memenuhi kriteria lainnya. Berbagai hal yang pertama sekali harus dipertimbangkan adalah daya guna sarana operasi, pelayanan terhadap konsumen, ataupun kedua-duanya dalam waktu yang bersamaan (Pardede, 1996, p324-325). Menurut Baker dalam Eren (2001, p528), masalah yang terdiri atas kegiatan minimasi waktu antara waktu awal pelaksanaan job pertama pada mesin yang pertama dengan waktu penyelesaian pelaksanaan job terakhir pada mesin yang terakhir, maka waktu tersebut dinamakan makespan. Dengan kata lain, tujuannya adalah menemukan urutan job yang dapat meminimasikan flow time maksimum (makespan). Pada dasarnya terdapat beberapa metode yang digunakan untuk menetapkan prioritas dalam operasi manufakturing (Gaspersz, 2001, p248-255), antara lain:
42 1. Critical Ratios (CR), dihitung melalui pembagian waktu yang tersisa (banyaknya jam atau hari kerja di antara sekarang dan due date) dengan kerja (manufacturing time) yang tersisa (total setup, run, wait, move, and queue times). Rumus Rasio Kritis menurut Pardede (1996, p327) adalah:
Rasio Kritis (CR ) =
Jumlah Waktu yang masih Tersisa Jumlah Waktu yang masih Dibutuhkan
=
Waktu Penyerahan − ' Hari Ini' Jumlah waktu yang masih Dibutuhkan
Pesanan dengan waktu kritis paling singkat akan dikerjakan terlebih dahulu dan pesanan dengan waktu kritis paling panjang akan dikerjakan belakangan. Perlu diperhatikan bahwa dengan aturan waktu kritis ini penentuan urutan itu adalah terus menerus: segera setelah pesanan pertama selesai dikerjakan, maka kembali dilakukan perhitungan rasio kritis untuk menentukan urutan pengerjaan pesananpesanan yang masih tersisa. Ini berarti bahwa setiap kali dilakukan perhitungan rasio kritis, yang dapat diputuskan hanyalah satu pekerjaan yang akan dikerjakan berikutnya, sedangkan urutan pekerjaan-pekerjaan lain yang masih tersisa akan ditentukan pada perhitungan rasio kritis lainnya. 2. Shortest Processing Time (SPT), pesanan-pesanan dengan jumlah setup and run time yang dibutuhkan pada current work center terkecil adalah yang diprioritaskan untuk dikerjakan lebih dahulu. Dengan kata lain, pesanan-pesanan yang memiliki waktu pemrosesan terpendek (least amount of setup and run times) memiliki prioritas lebih tinggi untuk dikerjakan terlebih dahulu pada current work center. Aturan ini dapat menunda pekerjaan-pekerjaan yang
43 mempunyai waktu proses panjang, sehingga direkomendasikan untuk digunakan secara sementara saja, dan bukan merupakan aturan yang tetap dalam menentukan prioritas. 3. First-Come, First-Served (FCFS). Tugas yang pertama datang ke pusat kerja diproses terlebih dahulu. Metode ini seyogianya digunakan hanya apabila waktu kerja yang tersisa untuk competing orders relatif sama. FCFS akan cocok untuk flow processes karena memiliki work remaining times yang serupa. Dengan aturan ini seluruh pesanan pekerjaan yang menunggu pengerjaan diurutkan berdasarkan waktu diterimanya pesanan-pesanan tersebut. Pesanan yang masuk lebih awal akan dikerjakan pertama sekali dan yang diterima paling akhir akan dikerjakan paling belakangan. Dengan demikian tidak ada kesukaran di dalam menentukan urutan pengerjaan dengan aturan ini. 4. Earliest Due Date (EDD). Tugas-tugas yang mempunyai earliest due date yang dipilih pertama. Dengan aturan ini penentuan urutan pekerjaan didasarkan pada waktu penyerahan dari setiap pesanan yang menunggu pekerjaan. Pesanan dengan waktu penyerahan paling awal akan dikerjakan terlebih dahulu dan pesanan dengan waktu penyerahan paling akhir akan dikerjakan belakangan. 5. Longest Processing Time (LPT). Tugas-tugas yang mempunyai waktu proses terpanjang yang dipilih terlebih dahulu. Pesanan dengan jumlah waktu pengerjaan paling panjang akan dikerjakan terlebih dahulu dan pesanan dengan jumlah waktu pengerjaan paling singkat akan dikerjakan belakangan.
44 3.2.4
Penjadwalan dengan Algoritma Campbell, Dudek and Smith (CDS)
Metode heuristik yang paling penting untuk problem make-span adalah metode Campbell, Dudek and Smith (CDS). Metode CDS ini memiliki kelebihan dalam dua hal, yaitu: 1. Pemakaian aturan Johnson dalam sebuah cara heuristik, 2. Biasanya menghasilkan beberapa jadwal yang dapat dipilih sebagai yang terbaik Algoritma Johnson merupakan suatu algoritma yang digunakan untuk mendapatkan optimal sequence (pengurutan penjadwalan yang optimal) untuk jenis flow shop. Adapun tahapan-tahapan dari algoritma Johnson adalah sebagai berikut: 1. Buatlah daftar waktu proses untuk seluruh pekerjaan-pekerjaan tersebut, baik pada mesin pertama (M-1) dan mesin terakhir (M-2). 2. Carilah seluruh waktu proses untuk seluruh pekerjaan. Tentukan waktu proses yang minimal (ti1, ti2). 3. Jika waktu proses minimal berada pada mesin pertama (M-1), tempatkan pekerjaan tersebut paling awal yang mungkin dalam urutan. Jika terletak pada mesin kedua (M-2), tempatkan pekerjaan-pekerjaan tersebut paling akhir yang mungkin dalam urutan. 4. Hilangkan pekerjaan yang telah ditugaskan (telah ditempatkan dalam urutan dan sebagai hasil dari langkah 3) dan ulangi langkah 2 dan langkah 3 sehingga seluruh pekerjaan telah diurutkan. Algoritma CDS ini cocok untuk persoalan yang memiliki banyak tahapan (multistage) yang memakai aturan Johnson dan diterapkan pada masalah baru, yang diperoleh dari yang asli dengan waktu proses t*I,1 dan t*I,2
45 Pada tahap I t*I,1 = t*I,1 dan t*I,2 = t*I,m Pada tahap II t*I,2 = t*I,1 + t*I,2 dan t*I,2 = t*I,m + t*I,m-1 Oleh karena itu, aturan Johnson diaplikasikan pada jumlah dari dua mesin yang pertama (first-two) dan dua mesin terakhir (last-two) waktu proses operasi ke-i. t*I,1 =
i
∑ ti,k dan t*I,2 = k=1
i
∑ ti,m-k+1 k=1
di mana: t*I,1
: Waktu proses pada job ke i dengan menggunakan mesin pertama
t*I,2
: Waktu proses pada job ke i dengan menggunakan mesin terakhir
I
: (Job) produk yang diproses
m
: Jumlah mesin
K
: (Stage) tahapan
Untuk tiap tahap k (k=1,2,…, m-1), job yang diperoleh dipakai untuk menghitung sebuah make-span untuk masalah yang sesungguhnya. Setelah tahap demi tahap (m-1) dilakukan, maka dapat diketahui make-span terbaik di antara tahap (m-1). Langkah-langkah penjadwalan produksi dengan metode Campbell, Dudek and Smith adalah sebagai berikut ini. 1. Menyusun matriks n x m dari tij di mana n = jumlah job, m = jumlah mesin, dan tij = waktu pengerjaan job i pada mesin ke j. 2. Menentukan jumlah urutan (p) untuk n job 2 mesin, di mana p ≤ m-1. 3. Memulai penjadwalan dengan tahap 1 (k=1). 4. Menghitung t*I,1 (M-1) dan t*I,1 (M-2)
46 Di mana :
M-1 =
i
∑ ti,j k=1
M-2 =
m
∑ ti,j
j=m−k−1
5. Dengan bantuan algoritma Johnson, n job two mesin, maka dapat ditentukan urutan job. 6. Jika k ≠ p, maka perhitungan kembali pada langkah ketiga dengan (k+1), jika k = p, maka perhitungan selesai. 7. Menghitung make-span (total waktu pengerjaan produk terpanjang yang berada dalam suatu sistem). 8. Memilih urutan penjadwalan yang memiliki make-span terkecil. Campbell, Dudek and Smith mencoba algoritma mereka dan menguji performance-nya pada beberapa masalah. Mereka menemukan bahwa algoritma Campbell, Dudek and Smith (CDS) efektif untuk masalah kecil maupun masalah besar. (Baroto, 2001, p184-186)
3.2.5
Penjadwalan dengan Algoritma ASLAN’S Frequency dan ASLAN’S Point.
3.2.5.1 Algoritma ASLAN’S Frequency
Algoritma ini dikembangkan oleh Demir ASLAN (1999) dengan tujuan meminimumkan makespan dengan cara kerja berikut: Langkah 1. Gunakan waktu operasi masing-masing mesin untuk tiap pekerjaan, susunlah dalam struktur n x m dimensional. Langkah 2. Pertimbangkan semua kombinasi pasangan pekerjaan (job), hasilkanlah sebanyak n(n-1) pasangan job.
47 Langkah 3. Hitunglah makespan tiap pasangan dengan membebankan pekerjaan tersebut ke dalam mesin. Pasangan (i,j) dan pasangan (j,i) dibandingkan makespannya. Untuk pasangan yang memiliki waktu penyelesaian terkecil, job pertama memperoleh nilai 1, dan job lainnya memperoleh nilai 0. Langkah 4. Jumlahkanlah nilai-nilai frekuensi dari semua job dan urutkanlah secara menurun. (Metode ini mengurutkan job dalam urutan menurun). Langkah 5. Jika job yang memiliki nilai frekuensi yang sama, pertimbangkanlah urutan alternatif dan urutan yang menghasilkan waktu penyelesaian yang terkecil merupakan urutan terpilih. Tahap Pengembangan Pasangan job yang memiliki waktu penyelesaian yang sama akan dievaluasi dan pasangan yang dominan akan ditemukan. Pasangan yang memiliki waktu idle mesin yang paling kecil dipertimbangkan sebagai dominan. Nilai frekuensi 1 diberikan ke pekerjaan pertama, dan nilai frekuensi 1 dari pekerjaan lain akan dikurangkan, maka sebuah urutan baru akan dihasilkan. ( Eren, 2001, p528). 3.2.5.2 Algoritma ASLAN’S Point.
Algoritma ini dikembangkan oleh Demir Aslan (1999) dengan tujuan meminimumkan makespan dengan cara kerja berikut ( Eren, 2001, p530).: Langkah 1. Bandingkanlah pasangan job ij dan ji. Jika pasangan job ij menghasilkan waktu penyelesaian yang lebih kecil dari pasangan job ji, maka berikanlah nilai positif dari selisih makespan ij dan makespan ji ke job i, dan juga berikanlah nilai negatif dari selisih makespan kedua pasangan job ke job j. Langkah 2. Untuk semua job, jumlahkanlah semua point tersebut dan urutkan job berdasarkan urutan menurun.
48 3.3
Sistem Informasi
3.3.1
Pengertian Sistem
Sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Suatu Organisasi seperti perusahaan atau suatu bidang fungsional cocok dengan definisi ini. Organisasi terdiri dari sejumlah sumber daya seperti manusia, material, uang, mesin, dan informasi, dan sumber daya tersebut bekerja menuju tercapainya suatu tujuan tertentu yang ditentukan oleh pemilik atau manajemen. Elemen-Elemen Sistem Sumber daya input diubah menjadi sumber daya output. Sumber daya mengalir dari elemen input, melalui elemen transformasi, ke elemen output. Suatu mekanisme pengendalian memantau proses transformasi untuk meyakinkan bahwa sistem tersebut memenuhi tujuannya. Mekanisme pengendalian ini dihubungkan pada arus sumber daya dengan memakai suatu lingkaran umpan balik (feedback loop) yang mendapatkan informasi dari output sistem dan menyediakan informasi bagi mekanisme pengendalian. Mekanisme pengendalian membandingkan sinyal-sinyal umpan balik ke sasaran dan mengarahkan sinyal pada elemen input jika sistem operasi memang perlu diubah. Jika elemen sistem menggambarkan suatu perusahaan manufaktur, sumber daya input adalah bahan mentah, yang diubah menjadi barang jadi atau jasa melalui proses manufaktur. Mekanisme pengendaliannya adalah manajemen perusahaan, tujuannya adalah sasaran-sasaran yang ingin dicapai perusahaan, dan lingkaran umpan baliknya adalah arus informasi ke dan dari manajemen. (McLeod, 2001, p11-12).
49 3.3.2
Pengertian Data dan Informasi
Data terdiri dari fakta-fakta dan angka-angka yang relatif tidak berarti bagi pemakai . Saat data diproses, ia dapat diubah menjadi informasi. Informasi adalah data yang telah diproses, atau data yang memiliki arti. Pengolah informasi adalah salah satu elemen kunci dalam sistem konseptual. Pengolah informasi dapat meliputi elemenelemen komputer, elemen-elemen non-komputer, atau kombinasi keduanya. (McLeod, 2001, p15)
3.3.3
Pengertian Sistem Informasi
Menurut pendapat O’Brien (2002, p7), sistem informasi adalah kombinasi sumber daya manusia, perangkat keras, perangkat lunak, jaringan komunikasi, dan sumber data yang mengumpulkan , mengubah, dan menyebarkan informasi ke dalam sebuah organisasi.
3.4
Analisis dan Desain Sistem Berorientasi Obyek.
Menurut Martin dan Odell (1992, p31) Analisis dan desain berorientasi obyek memiliki beberapa karakteristik penting: 1.
Mereka mengubah jalan pikiran kita mengenai sistem. Jalan pikiran OO lebih alami bagi kebanyakan orang dibandingkan dengan teknik analisis dan desain secara terstruktur.
2.
Sistem dapat dibuat di luar dari obyek-obyek yang telah ada. Hal ini menunjukkan tingkat
kemampuan
daur
ulang
yang
tinggi,
yang
menghemat
uang,
memperpendek waktu pengembangan, dan meningkatkan keterandalan sistem.
50 3.
Kompleksitas
dari
obyek
dapat
digunakan
untuk
perkembangan
yang
berkelanjutan, karena obyek-obyek dibangun di luar dari obyek-obyek lain. 4.
Tempat penyimpanan CASE seharusnya berisikan library dari tipe-tipe obyek, beberapa diperoleh dari pembelian dan beberapa lainnya diperoleh dari built-inhouse.
5.
Pembuatan sistem yang bekerja dengan benar adalah lebih mudah dibandingkan dengan teknik OO.
6.
3.4.1
Teknik OO memiliki sifat alami yang sesuai dengan teknologi CASE.
Pengertian Analisa Sistem Berorientasi Obyek.
Berdasarkan pendapat Bahrami (1999, p79), analisa merupakan proses menggali kebutuhan-kebutuhan sebuah sistem dan apa yang harus dilakukan sistem tersebut untuk memenuhi kebutuhan-kebutuhan user. Tujuan dari analisis berorientasi obyek adalah pertama untuk memahami domain permasalahan dan tangggungjawab sistem dengan memahami bagaiman user menggunakan atau akan menggunakan sistem.
3.4.2
Pengertian Perancangan Sistem Berorientasi Obyek.
Berdasarkan O’Brien (2002, p352), analisa sistem mencakup apa yang harus dilakukan sistem untuk memenuhi kebutuhan informasi dari pengguna, sedangkan perancangan sistem mencakup bagaimana sebuah sistem dapat memenuhi kebutuhan ini. Perancangan sistem terdiri dari aktivitas perancangan yang menghasilkan spesifikasi sistem sesuai dengan kebutuhan yang dikembangkan di dalam proses analisis sistem. Proses perancangan terdiri dari 3 aktivitas, yaitu :
51 1. Perancangan user interface, yaitu merancang tampilan layar untuk mendukung interaksi antara pengguna dengan aplikasi komputer. 2. Perancangan basis data, yaitu merancang bagaimana elemen data tersusun dalam sebuah media dengan struktur yang baik, sehingga mudah diakses. 3. Perancangan proses, yaitu serangkaian perancangan prosedur dan kegiatan merancang kode-kode program sesuai dengan spesifikasi proses agar sistem informasi yang dirancang dapat berfungsi untuk memenuhi kebutuhan.
3.4.3
Pengertian OOAD.
Menurut Mathiassen, et.al. (2000, p12). OOAD merupakan sekumpulan petunjuk umum yang mengarahkan kepada aktivitas analisis dan perancangan. Untuk membuat metode kita menjadi lebih berguna, kita merancangnya hingga terdapat penyesuaian, perkembangan, dan substitusi bagian dapat dengan mudah diimplementasikan. OOAD bercermin pada empat perspektif dalam sebuah sistem dan konteksnya: isi sistem informasi, bagaimana sistem akan digunakan, sistem sebagai keseluruhan, dan komponen-komponen sistem. Perspektif-perspektif tersebut dihubungkan pada empat aktivitas OOAD, yaitu Problem Domain Analysis, Application Domain Analysis, Architectural Design, dan Component Design. Setiap aktivitas tersebut menuju pada hasil yang spesifik 3.4.4 Keunggulan OOD dan kelemahan OOAD. Berdasarkan pendapat McLeod (2001, p339-341). Keunggulan OOAD adalah reusability dan interoperability. Reusability, kemampuan untuk menggunakan kembali pengetahuan dan kode program yang ada, dapat menghasilkan keunggulan saat suatu sistem baru dikembangkan atau
52 sistem yang ada dipelihara atau direkayasa ulang. Setelah suatu kelas obyek diciptakan, ia dapat digunakan kembali, mungkin hanya dengan modifikasi kecil, di sistem lain. Ini berarti bahwa biaya pengembangan yang ditanamkan di satu proyek dapat memberikan keuntungan bagi proyek-proyek lain. Interoperability adalah kemampuan untuk mengintegrasikan berbagai aplikasi dari beberapa sumber, seperti program yang dikembangkan sendiri dan perangkat lunak jadi, serta menjalankan aplikasi-aplikasi ini di beragam platform perangkat keras. Reusability dan interoperability menghasilkan empat keunggulan kuat: -
Peningkatan kecepatan pengembangan
-
Pengurangan biaya pengembangan
-
Kode berkualitas tinggi
-
Pengurangan biaya pemeliharaan dan rekayasa ulang sistem
Pengembangan dapat berlangsung lebih cepat dan lancar, karena sistem dirancang seperti dunia nyata melihatnya. Pengembangan lebih cepat berarti pengurangan biaya pengembangan. Kode berkualitas tinggi memberikan keandalan lebih besar dan ketangguhan yang lebih dibandingkan yang biasa ditemukan dalam sistem berorientasi proses dan data. Kode berkualitas tinggi dan kemampuan pemakaian kembali memberikan keuntungan saat pemeliharaan atau rekayasa ulang sistem. Keunggulan orientasi obyek bukan tanpa beberapa kelemahan potensial: -
Diperlukan waktu lama untuk memperoleh pengalaman pengembangan.
-
Kesulitan metodologi untuk menjelaskan sistem bisnis rumit
-
Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan untuk sistem bisnis.
53 3.5
Konsep Encapsulation, Inheritance, dan Polymorphism.
Berdasarkan pendapat Mcleod (2001, p331), Encapsulation adalah integrasi data dengan proses yang berhubungan dengan data itu. Cara yang baik untuk memahami konsep ini adalah dengan membayangkan suatu obyek sebagai paket hadiah. Label di bagian luar mengidentifikasikan isi paket, dan itu disebut bagian umum. Dalam terminologi berorientasi obyek, bagian umum (public part) adalah definisi data yang tersedia dalam kelas obyek dan proses yang dimungkinkan. Isi paket, sebaliknya, dinamakan bagian pribadi. Bagian pribadi (private part) terdiri dari data dan proses spesifik. Tiap kejadian obyek memiliki akses ke data dan kode programnya sendiri untuk melaksanakan prosesnya. Obyek-obyek lain mengetahui bagian publik suatu obyek dan dapat meminta jasa tersebut, tetapi mereka tidak memiliki akses ke bagian pribadi. Polymorphism merupakan kemampuan untuk mendefinisikan beberapa class
dengan fungsi yang berbeda, namun memiliki nama metode dan properti yang identik dan dapat digunakan secara bergantian pada saat program dijalankan. Inheritance merupakan kemampuan obyek untuk menurunkan sifat, metode,
atribut, dan variabel yang dimiliki oleh class dasarnya tanpa menggunakan banyak kode program, serta dapat ditambahkan metode , atribut, dan variabel baru.
3.6
Unified Modelling Language
3.6.1
Sejarah Singkat UML
UML merupakan hasil pemikiran dari Grady Booch, James Rumbaugh, dan Ivar Jacobson. Belakangan ini mereka dinamakan “The Three Amigos”. Ketiga orang ini bekerja di organisasi yang berbeda pada tahun 80-an dan awal tahun 90-an. Masing-
54 Masing mengembangkan metodologinya sendiri mengenai analisis dan desain sistem berorientasi obyek (Object-Oriented Analysis and Design). Metodologi mereka mendapatkan keunggulan tersendiri yang membedakan mereka dengan para pesaing lainnya. Pada pertengahan 90-an, mereka mulai saling mempertukarkan ide, dan mereka memutuskan untuk bekerja sama. Di tahun 1994, Rumbaugh bergabung dengan Rational Software Corporation, dimana Booch bekerja. Jacobson kemudian bergabung juga dengan Rational setahun kemudian. Versi draf UML mulai menjalar industri software dan menyebabkan perubahan secara bertahap. Oleh karena banyak perusahaan mulai merasakan UML mampu membawakan sasaran yang strategis, maka UML konsorsium berkembang pesat. Anggota-anggotanya antara lain adalah DEC, Hewlett-Packard, Intellicorp, Microsoft, Oracle, Texas Instruments, Rational, dan yang lainnya. Pada tahun 1997, konsorsium memproduksikan versi 1.0 dari UML dan mengumpulkannya kepada Object Management Group (OMG) untuk menanggapi permintaan OMG terhadap sebuah proposal untuk sebuah bahasa modelling yang standar. Konsorsium berkembang, menghasilkan
versi
1.1
dan
mengumpulkannya
pada
OMG,
yang
telah
mengadopsikannya di akhir tahun 1997. OMG mengambil alih pemeliharaan UML dan memproduksikan dua revisi baru pada tahun 1998. UML akhirnya menjadi sebuah standar mutlak dalam industri software, dan terus berkembang. (Priestly, 1999, p7-8).
3.6.2
Diagram UML
UML memiliki beberapa standarisasi diagram permodelan yang digunakan untuk memodelkan sistem itu sendiri, di mana diagram-diagram yang dimaksud akan dibahas dibawah ini :
55 a. Class Diagram.
Menurut Priestly (2000,p329-331), class-class mengkategorisasikan obyek yang dapat muncul dalam sebuah sistem, dan mendefinisikan propertinya yang saling berhubungan. Class diagram menunjukkan class dalam sebuah sistem dan hubungan antara class-class tersebut. Class dapat dihubungkan dengan sejumlah asosiasi. Sebuah asosiasi antara dua kelas menunjukkan hubungan antara classclass. Seperti link, asosiasi dapat digolongkan dalam directed atau undirected, tergantung pada arah yang ditunjukkan model. Di batas asosiasi dapat dianotasikan untuk menunjukkan multiplicity dari asosiasi tersebut. Hal ini menjelaskan berapa banyak obyek dihubungkan terhadap obyek lain. Class-class juga dapat dihubungkan dengan hubungan generalisasi. Sebuah hubungan generalisasi menghubungkan satu superclass dengan satu atau banyak subclass lainnya. Atribut dan operasi untuk superclass diturunkan oleh subclass, di mana mereka dapat didefinisikan jika perlu, atau sebuah fitur ditambah. Notasi untuk generalisasi ditunjukkan pada gambar berikut:
Gambar 3.1 Notasi untuk Class Diagram
56 b. Statechart Diagram
Menurut Priestly (2000,p325-326). Sebuah statechart dapat digambarkan untuk beberapa class yang mempunyai sifat-sifat yang tanggap terhadap message dalam cara yang berbeda tergantung pada kondisi state-nya. Notasi untuk statechart ditunjukkan pada gambar berikut:
Gambar 3.2 Notasi untuk Statechart Diagram Transisi antara state dapat dibuat sesuai kondisi kebenaran properti tertentu, dan sebuah statechart dapat juga menunjukkan tindakan-tindakan yang ditunjukkan oleh sebuah obyek sebagai hasil sebuah transisi tertentu. c. Use Case Diagram
Menurut Priestly (2000,p325-326). Use case diagram menunjukkan aktor-aktor yang berinteraksi dengan sebuah sistem dan use case yang menjelaskan cara-cara seperti bagaimana interaksi mengambil tempat. Aktor-aktor dihubungkan dengan use case di mana mereka dihubungkan dengan sebuah aosisasi. Gambar berikut menjelaskan notasi untuk use case diagram:
57
Gambar 3.3 Notasi untuk Use Case Diagram d. Sequence Diagram
Menurut Priestly (2000,p327-328). Sequence diagram menunjukkan sebuah interaksi antara peran atau obyek-obyek prototipe dalam sebuah kolaborasi. Notasi dasar untuk sequence diagram ditunjukkan pada gambar berikut:
Gambar 3.4 Notasi dasar untuk Sequence Diagram. Setiap peran memiliki sebuah lifeline yang memanjang di bawahnya. Message direpresentasikan dengan panah ber-label yang digambarkan dari satu lifeline ke lifeline lain. Message memberikan sebuah aktivasi. Di ujung aktivasi, return message menunjukkan arah balik kendali kepada obyek yang memanggil. Paramenter dan nilai return dapat ditunjukkan dalam message. Message dikirim ke obyek dengan sendirinya untuk memberikan aktivasi nested.
58 Pembentukan obyek ditunjukkan dengan sebuah message kontruktor yang melahirkan sebuah peran. Penghancuran obyek ditunjukkan dalam message ‘destroy’. Lifeline dari obyek yang dihancurkan ditunjukkan dalam point destruksi. e. Component Diagram
Menurut Schmuller (1999,p152). Sebuah component diagram berisi component, interface, dan hubungan (relationship). Bentuk component diagram utama adalah sebuah segi empat utama yang memiliki dua segi empat lain yang bergantung pada sisi kiri dari segi empat utamanya. Nama dari komponen dapat ditulis di dalam icon tersebut. Nama tesebut berupa string. Component
Diagram
menggambarkan
bagaimana
kondisi
pengimplementasian dari objek dan class pada saat penggunaan di lapangan, Component diagram ini juga menggambarkan aktivitas dan interaksi antara aktor, komponen, class, dan objek. Contoh dari Component Diagram ini dapat dilihat pada gambar dibawah ini
59
Gambar 3.5 Notasi untuk Component Diagram f. Deployment Diagram
Menurut Schmuller (1999,p14). UML Deployment diagram menunjukkan arsitektur
sebuah
computer-based
system
secara
fisik.
Diagram
ini
menggambarkan komputer dan peralatannya, menunjukkan hubungan yang satu dengan yang lain, dan menunjukkan software yang ada dalam tiap mesin. Setiap komputer menunjukkan sebuah cube, dengan interkoneksinya antara komputer yang digambarkan sebagai garis yang menghubungkan cuber-cube tersebut. Server:BankServer «table» AccountDB : Account
:Transactions
Interface1
client:ATMKiosk
:ATM-GUI
Gambar 3.6 Notasi untuk UML Deployment Diagram
60 3.7
Tahapan Pengembangan Software Berorientasi Objek
OOAD menjelaskan empat perspektif melalui empat aktivitas utama, yang ditunjukkan pada gambar berikut:
Gambar 3.7 Tahap Unified Software Development Terdapat 4 aktivitas utama yang digunakan dalam menggunakan metode Unified Software Deployment untuk OOA&D (Object Oriented Analysis and Design) yang dibahas oleh Mathiassen ( 2000, p 14. ) ini. Yaitu : 1. Problem Domain Analysis
Dalam tahapan ini sistem dirancang sesuai dengan kebutuhan informasi dari pengguna, tahapan ini menentukan hasil dari keseluruhan akivitas analisis dan perancangan. Tahapan dari Problem Domain Analysis ini adalah : a) Menentukan Class yang ada dalam sistem dengan melakukan proses identifikasi dari definisi sistem yang telah dikembangkan. b) Menganalisa dan mengembangkan struktur hubungan dari class – class yang ada
61 c) Menganalisa Behavior dari class – class tersebut.untuk menentukan state dari setiap class yang termasuk dalam sistem ini. Hasil laporan perancangan yang dihasilkan dari tahapan ini adalah : a) System Definition : mendefinisikan seluruh sistem sebagai sebuah model yang akan dilihat user saat sistem jadi b) Class Diagram : untuk menggambarkan hubungan antara class-class dalam sebuah sistem c) State Diagram : untuk menggambarkan bagaimana state dari daur hidup kelas yang ada di dalam sistem ini. Dapat
dilihat dari tahap ini telah dapat dilihat model aplikasi secara keseluruhan
bagaimana aplikasi tersebut akan terbentuk. 2. Application Domain Analysis
Tahapan ini berfokus pada bagaimana sistem akan digunakan oleh pengguna. Tahap ini dan tahap sebelumnya dapat dimulai secara bergantian, tergantung pada kondisi pengguna menurut Mathiassen(2000, p 116) Terdapat 3 tahapan yang akan dilakukan dalam Application Domain Analysis, yaitu : a) Menentukan usage, yaitu menentukan Aktor dan use case yang terlibat dan interaksinya. b) Menentukan fungsi sistem untuk memproses informasi dan membuat daftar fungsi. c) Menentukan interface pengguna dan sistem, untuk interaksi sesungguhnya dari pengguna dan sistem informasi yang dirancang. Laporan yang akan dihasilkan dari tahapan ini adalah : a) Use Case Diagram, yang menggambarkan interaksi pengguna sebagai aktor dengan sistem informasi .
62 b) Function List, yaitu kemampuan yang harus dimiliki sistem sebagai kebutuhan dasar dari user c) User Interface Navigation Diagram, yaitu diagram untuk menggambarkan tampilan layar yang akan dirancang untuk memenuhi kebutuhan user. 3. Architectural Design
Dalam tahap ini dirancang arsitektur hubungan antara client dan server yang memadai untuk sistem agar dapat berjalan baik. Perancangan tahap ini menentukan bagaimana struktur sistem fisik akan dibuat dan bagaimana distribusi sistem informasi pada rancangan fisik tersebut. Laporan yang dihasilkan adalah Deployment Diagram 4. Component Design
Tahap terakhir dalam Unified Software Deployment sebelum melakukan programming. Sistem akan dimodelkan secara lengkap dalam diagram yang disebut sebagai Component Diagram. Di tahap ini terlihat bagaimana sistem bekerja dan interaksi yang terjadi antara sistem dan pengguna.
3.8
Relational Database System
Menurut Mathiassen (2000,p320-322), di dalam sebuah relational database, data disusun dalam tabel-tabel, di mana setiap tabel memiliki nama yang unik dan menentukan sebuah format umum untuk menyimpan datanya. Kelas-kelas model direpresentasikan secara dasar dalam sebuah tabel yang mengambil nama dari class. Setiap atribut class menjadi kolom tabel, dan setiap obyek direpresentasikan sebagai baris tabel. Hubungan menambah kolom yang berisi referensi unik untuk setiap obyek ditunjukkan pada gambar tabel berikut:
63
customerID SSN-no name Address 1 610-15-2321 John West 6 Shady Lane 2 101-28-7566 Laura Nielsen 99 Scotia Drive … … … … 1251 760-96-2390 Katja Snelling 27 Easy Street
Gambar 3.8 Hubungan Class dengan Relational Database 3.9
Keterbatasan Aturan yang Berbasis Sistem.
Menurut Render dan Heizer (2001, p480), teknik penjadwalan dengan aturan berbasis sistem memiliki keterbatasan. Di antaranya adalah: 1. Penjadwalan adalah dinamis, dengan demikian aturan perlu direvisi untuk menyesuaikan perubahan-perubahan dalam proses, peralatan, bauran produk, dan seterusnya. 2. Aturan tidak melihat ke hulu atau ke hilir; sumber daya yang menganggur dan kemampatan sumber daya di departemen yang lain mungkin saja tidak diakui. 3. Aturan tidak melihat lewatnya dari tanggal jatuh tempo. Dua pesanan mungkin saja memiliki tanggal jatuh tempo yang sama. Satu pesanan melibatkan pengisian kembali stok sebuah distributor dan yang lain adalah pesanan dari pelanggan yang nantinya akan berakibat ditutupnya perusahaan pelanggan jika tidak terpenuhi. Duaduanya mungkin mempunyai tanggal jatuh tempo yang sama tapi terlihat bahwa pesanan dari pelanggan adalah lebih penting.