• Tidak ada hasil yang ditemukan

Bab IV. Implementasi Domain

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bab IV. Implementasi Domain"

Copied!
11
0
0

Teks penuh

(1)

66

Bab IV

Implementasi Domain

Pada implementasi domain framework Penjadwalan akan dilakukan implementasi terhadap frozen-spot, dan DSL dari framework Penjadwalan.

IV.1 Lingkungan Implementasi

Lingkungan implementasi terdiri dari lingkungan perangkat keras dan lingkungan perangkat lunak yang digunakan dalam pengembangan sistem. Lingkungan perangkat keras digunakan untuk keseluruhan sistem adalah sebagai berikut : 1. Processor Intel Pentium 4 1.70 GHz

2. RAM 512 MB.

Sedangkan lingkungan perangkat lunak yang digunakan dalam pengembangan sistem adalah sebagai berikut:

1. Sistem Operasi Windows XP 2. Bahasa Pemrograman Java versi 1.5 3. IDE Eclispe Ganymede

IV.2 Implementasi Frozen-spot dan Hot-spot

Frozen-spot dan hot-spot diimplementasikan dengan bahasa pemograman Java

dengan menggunakan IDE Eclipse Ganymede. Dari hasil perancangan, implementasi frozen-spot dan hot-spot framework dijabarkan dalam kelas-kelas Java dan dibagi kedalam beberapa paket sebagai berikut :

(2)

67 Tabel IV.1 Kelas-kelas implementasi framework

No. Paket Kelas (.java) Keterangan

1. org.jannia.schedulingframework Context Ini adalah kelas yang berisi konteks dari framework. Melalui kelas ini kita dapat mengakses properti-properti framework seperti Alpha, Beta, Gamma, Job, Algortihm dan Sequencer. SchedulingFramework Kelas ini adalah kelas yang digunakan oleh pengguna untuk

menginisisiasi framework. Pengguna menggunakan framework ini dengan menginstanisasi kelas ini dengan parameter file DSL.

2. org.jannia.schedulingframework. enums

AlgorithmListEnum Enum yang berisi tipe-tipe algoritma seperti Lawler Algortihm, Moore Algorithm dsb.

JobTypeEnum Enum yang berisi tipe-tipe job yaitu Mono operation dan multi operation.

OperationTypeEnum Enum yang berisi tipe-tipe operation yaitu preemptable dan non-preemptable.

PrecedenceTypeEnum Enum yang berisi tipe-tipe precedence seperti chains, tree, dan sp-graph.

SchedulingTypeEnum Enum yang berisi tipe-tipe penjadwalan seperti single machine, parallel machine, flowshop, dll.

SequencerListEnum Enum yang berisi tipe-tipe sequencer seperti processing time sequencer, release time sequencer, dll.

(3)

68 Tabel IV.1 Kelas-kelas implementasi framework (lanjutan)

No. Paket Kelas (.java) Keterangan

3. org.jannia.schedulingframework. exception

ExecutionErrorException Tipe exception yang dilemparkan saat terjadi kesalahan pada saat eksekusi framework.

ParseErrorException Tipe exception yang dilemparkan saat terjadi kesalahan pada saat parsing DSL.

WeaveErrorException Tipe exception yang dilemparkan saat terjadi kesalahan pada saat proses weave framework.

4. org.jannia.schedulingframework. kernel

AlgorithmCoordinator Kelas yang memiliki template method untuk hot-spot algortima.

JobCoordinator Kelas yang memiliki template method untuk hot-spot job. ModelCoordinator Kelas yang memiliki template method untuk hot-spot alpha,

beta dan gamma.

SequenceCoordinator Kelas yang memiliki template method untuk hot-spot sequencer.

5. org.jannia.schedulingframework. kernel.components

CampbellAlgorithmComponent Kelas implementasi untuk komponen algortima Campbell. ChainPrecedenceComponent Kelas implementasi untuk komponen precedence bertipe

chain.

FlowshopComponent Kelas implementasi untuk komponen tipe penjadwalan flowshop.

IdenticalParallelMachineComponent Kelas implementasi untuk komponen tipe penjadwalan dengan identical parallel machine.

(4)

69 Tabel IV.1 Kelas-kelas implementasi framework (lanjutan)

No. Paket Kelas (.java) Keterangan

JobshopComponent Kelas implementasi untuk komponen tipe penjadwalan jobshop.

LawlerAlgorithmComponent Kelas implementasi untuk komponen algortima Lawler. MinimaxCriterionComponent Kelas implementasi untuk komponen kriteria optimasi

minimax.

MixedshopComponent Kelas implementasi untuk komponen tipe penjadwalan mixedshop.

MooreAlgorithmComponent Kelas implementasi untuk komponen algortima Moore.

OpenshopComponent Kelas implementasi untuk komponen tipe penjadwalan openshop.

ProcessingTimeSequencerComponent Kelas implementasi komponen sequencer processing time. ProportionalMachineComponent Kelas implementasi untuk komponen tipe penjadwalan dengan

proportional machine.

ReleaseTimeSequencerComponent Kelas implementasi untuk komponen sequencer release time. SerialBatchComponent Kelas implementasi untuk komponen batch tipe serial. SingleMachineComponent Kelas implementasi untuk komponen tipe penjadwalan single

machine.

StartTimeSequencerComponent Kelas implementasi untuk komponen sequencer start time. UnrelatedParallelMachineComponent Kelas implementasi untuk komponen tipe penjadwalan dengan

(5)

70 Tabel IV.1 Kelas-kelas implementasi framework (lanjutan)

No. Paket Kelas (.java) Keterangan

6. org.jannia.schedulingframework. kernel.components.intf

FrameworkComponent Interface untuk semua komponen framework.

7. org.jannia.schedulingframework. kernel.processor

DSLParser Kelas untuk memparsing file DSL.

Executor Kelas yang berfungsi untuk mengeksekusi framework. Weaver Kelas yang berfungsi untuk melakukan proses weave

framework. 8. org.jannia.schedulingframework.

kernel.processor.helper

ParserHelper Kelas yang berisi method bantuan untuk melakukan parsing. WeaverHelper Kelas yang berisi method bantuan untuk melakukan weave. 9. org.jannia.schedulingframework.

spots

Algorithm Interface untuk hot-spot algortihm. Alpha Interface untuk hot-spot alpha. Batch Interface untuk hot-spot batch. BatchElement Interface untuk hot-spot element batch. Beta Interface untuk hot-spot beta.

Gamma Interface untuk hot-spot gamma.

Job Interface untuk hot-spot job.

MonoOperationJob Interface untuk hot-spot job (mono operation). MultiOperationJob Interface untuk hot-spot job (multi operation) Operation Interface untuk hot-spot operation.

Precedence Interface untuk hot-spot precedence. Sequencer Interface untuk hot-spot sequencer.

(6)

71 Tabel IV.1 Kelas-kelas implementasi framework (lanjutan)

No. Paket Kelas (.java) Keterangan

10. org.jannia.schedulingframework. spots.defaults

DefaultBatchElement Implementasi default untuk batch element. DefaultOperation Implementasi default untuk operation.

(7)

72

IV.3 Implementasi DSL

DSL dalam framework ini akan diimplimentasikan menggunakan XML. Berikut ini adalah sebagian dari skema XML (XML schema) yang akan akan digunakan sebagai acuan XML dari framework.

<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:annotation>

<xsd:documentation xml:lang="en">

XML Schema for SchedulingFramework Author:pipo </xsd:documentation> </xsd:annotation>

Gambar IV.1 Header XML schema penjadwalan

Header ini adalah penanda file skema XML yang mengacu pada standar skema dari W3C.Header terdiri dari beberapa tag yang mendeskripsikan dari skema yang dibentuk.

<xsd:element name="scheduling">

<xsd:annotation>

<xsd:documentation xml:lang="en">

Root element for the Scheduling DSL </xsd:documentation>

</xsd:annotation>

<xsd:complexType>

<xsd:all>

<xsd:element name="version" minOccurs="0" type="xsd:string"></xsd:element>

<xsd:element name="scheduling-elements" minOccurs="1" maxOccurs="1">

<xsd:complexType>

<xsd:all>

<xsd:element ref="job" minOccurs="1" maxOccurs="1"></xsd:element>

<xsd:element ref="alpha" minOccurs="1" maxOccurs="1"></xsd:element>

<xsd:element ref="beta" minOccurs="1"

(8)

73

Elemen skema XML scheduling adalah elemen akar (root) dari skema ini. Pembacaan dan penurutan file akan diawali dari elemen ini. Elemen ini memiliki sub elemen yaitu scheduling-element yang berisi elemen-elemen dari penjadwalan. scheduling-element memiliki sub element yaitu job, alpha, beta, gamma, algorithm, dan sequencer. Masing-masing sub elemen ini mendefinisikan elemen dari penjadwalan.

<?xml version="1.0" encoding="UTF-8"?>

<scheduling xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="org/jannia/schedulingframework/ kernel/dsl/DSL.xsd">

<version>1.0</version>

<description>penjadwalan awal</description> <author>Nur Afif</author>

<notes>Contoh penjadwalan</notes> <scheduling-elements>

Gambar IV.3 Implementasi XML elemen scheduling

Elemen skema XML job ini adalah elemen yang merepresentasikan Job dalam penjadwalan. Elemen ini memiliki sub elemen yaitu mono-operation yang menyatakan apakah Job ini mono operation atau multi operation. Selain itu terdapat juga sub elemen operations yang menyatakan Operation yang termasuk kedalam Job ini.

<xsd:element name="job">

<xsd:complexType>

<xsd:all>

<xsd:element name="job-elements" minOccurs="0" maxOccurs="1">

<xsd:complexType>

<xsd:all>

<xsd:element name="description" minOccurs="0" type="xsd:string"></xsd:element>

<xsd:element name="mono-operation" minOccurs="1" maxOccurs="1">

<xsd:element name="operations" minOccurs="1" maxOccurs="1">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="operation" minOccurs="1" maxOccurs="unbounded"></xsd:element>

(9)

74

Berikut ini adalah contoh implementasi skema XML tersebut kedalam instan file XML.

<job>

<job-elements>

<description>description</description>

<mono-operation value="false" />

<operations>

<operation id="001">

<operation-elements>

<preemptable>true</preemptable>

<processing-time>220</processing-time> <cost-weight>0</cost-weight>

</operation-elements> </operation>

Gambar IV.5 Implementasi XML elemen job

IV.4 Implementasi Komponen-Komponen Implementer

Komponen-komponen implementer adalah komponen-komponen yang membangun framework. Setiap komponen mengimplementasikan fungsi-fungsi tersendiri dalam framework.

Komponen-komponen implementer yang terdapat dalam framework penjadwalan ini adalah sebagai berikut :

Tabel IV.2 Tabel komponen-komponen implementer framework

No. Nama Fungsi

1. SingleMachineComponent Komponen untuk menangani

penjadwalan dengan tipe satu mesin. 2. JobShopComponent Komponen untuk menangani

penjadwalan tipe job shop 3. OpenShopComponent Komponen untuk menangani

penjadwalan tipe open shop 4. FlowShopComponent Komponen untuk menangani

(10)

75

Tabel IV.2 Tabel komponen-komponen implementer framework (lanjutan)

No. Nama Fungsi

5. MixedShopComponent Komponen untuk menangani penjadwalan tipe mixed shop 6. ChainPrecedenceComponent Komponen untuk menangani

precedence bertipe chain

7. InTreePrecedenceComponent Komponen untuk menangani

precedence bertipe in-tree

8. OutTreePrecedenceComponent Komponen untuk menangani

precedence bertipe out-tree

9. SPPrecedenceComponent Komponen untuk menangani

precedence bertipe serial-paralel

10. SerialBatchComponent Komponen untuk menangani batch bertipe serial

11. ParalelBatchComponent Komponen untuk menangani batch bertipe parallel

12. ElementBatchComponent Komponen untuk menangani batch bertipe element

13. MinimaxCriterionComponent Komponen untuk menangani kriteria penjadwalan minimax.

14. MinisumCriterionComponent Komponen untuk menangani kriteria penjadwalan minisum.

15. LawlerAlgorithm Component Komponen untuk algortima penjadwalan Lawler. 16. MooreAlgorithm Component Komponen untuk algoritma

penjadwalan Moore. 17. JohnsonAlgorithm Component Komponen untuk algoritma

penjadwalan Johnson.

18. CampbellAlgorithmComponent Komponen untuk algoritma penjadwalan Campbell.

19. NawazAlgorithmComponent Komponen untuk algoritma penjadwalan Nawaz.

(11)

76

Tabel IV.2 Tabel komponen-komponen implementer framework (lanjutan)

No. Nama Fungsi

20. SahniAlgorithmComponent Komponen untuk algoritma penjadwalan Sahni.

21. DueDateSequencerComponent Komponen untuk sequencer

menggunakan due-date. 22. ReleaseTimeSequencerComponent Komponen untuk sequencer

menggunakan release-time. 23. StartTimeSequencerComponent Komponen untuk sequencer

menggunakan start-time. 24. DeadlineTimeSequencerComponent Komponen untuk sequencer

menggunakan deadline-time. 25. ProcessingTimeSequencerComponent Komponen untuk sequencer

menggunakan processing-time. 26. CostWeightSequencerComponent Komponen untuk sequencer

Gambar

Gambar IV.2 Elemen XML schema scheduling
Gambar IV.4 Elemen XML schema job
Tabel IV.2 Tabel komponen-komponen implementer framework
Tabel IV.2 Tabel komponen-komponen implementer framework (lanjutan)
+2

Referensi

Dokumen terkait

Perbandingan waktu eksekusi dalam dimensi 1024x1024 untuk domain simulasi 2 (sesudah implementasi PML). Perbandingan waktu eksekusi dalam dimensi 2048x2048 untuk domain simulasi

Tujuan dari Tugas Akhir ini adalah implementasi model penjadwalan Job-Shop dalam masalah penjadwalan kereta api jalur tunggal dengan pendekatan..

Tema adalah pokok pikiran atau gagasan pokok yang menjadi pokok pembicaraan. Dengan tema diharapkan akan memberikan banyak keuntungan. Siswa mudah memusatkan perhatian pada suatu

Pada famili Alydidae diperoleh satu spesies, yakni leptocorta acuts serangga ini memiliki ciri-ciri bertubuh rampng dengan warna tubuh hijau kecoklatan, kepala

Fitur-fitur yang dikerjakan pada Manage Akun Penyedia jasa dan user, Manage Artikel Penyedia Jasa, dan Manage Kategori Produk Makanan adalah Lihat profil user,

Dapat diperoleh rumusan permasalahan yaitu upaya - upaya apa yang dilakukan oleh instansi - instansi terkait terutama kepolisian dalam penegakan hukum terhadap

Pada kenyataan taraf ini – unitarisme dan isu HAM – para pendiri negara telah mencapai kesepakatan model tindakan komunikatif, karena perjuangan mereka terhadap

Puji syukur kehadirat Allah S.W.T yang telah melimpahkan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan karya tulis ilmiah ini dengan judul “Penerapan Terapi