bab 2 landasan teori -...

46
10 BAB 2 LANDASAN TEORI 2.1 Numerical Control(NC) 2.1.1 Sejarah NC Perkembangan NC bermula pada tahun 1948 – 1949 dimana Angkatan Udara Amerika Serikat ingin mempunyai mesin untuk industri pesawat yang dapat membuat bagian kompleks lebih murah, lebih cepat dan lebih akurat dibandingkan metode konvensional. Oleh karena itu mereka bekerja sama dengan John T. Parson dan MIT untuk mengembangkan mesin tersebut. (Arnold, 2001, pp. 14-19).Parson sendiri pada awalnya mengembangkan teknik untuk memproduksi rancangan baling – baling pada mesin milling namun masih membutuhkan data numerik yang dihasilkan oleh mesin punched–cardIBM untuk memposisikan secara manual sekrup mesin milling pada dua sumbu(50 Years Of Technological Development, 2005). Giddings and Lewis Machine Tool Co. mencoba ingin meningkatkan toleransi mesin milling-nya melalui kontrol numerik dan menghasilkan kontrol numericord yang menggantikan punch tape dengan magnetic tape yang dikembangkan juga oleh General Electric.Pada bidang manufaktur dan pengerjaan logam, teknologi NC ini telah menyebabkan revolusi, bahkan pada saat sebelum komputer menjadi standar pada setiap perusahaan dan setiap rumah. Perkembangan terkini dari micro electronic dan komputer yang tidak pernah berhenti menyebabkan dampak pada NC dan telah membuat perubahan yang signifikan pada bidang manufakturing dan pengerjaan logam pada khususnya(Smid, 2003, p. 1).

Upload: nguyennhan

Post on 15-Feb-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

10

BAB 2

LANDASAN TEORI

2.1 Numerical Control(NC)

2.1.1 Sejarah NC

Perkembangan NC bermula pada tahun 1948 – 1949 dimana Angkatan Udara

Amerika Serikat ingin mempunyai mesin untuk industri pesawat yang dapat membuat

bagian kompleks lebih murah, lebih cepat dan lebih akurat dibandingkan metode

konvensional. Oleh karena itu mereka bekerja sama dengan John T. Parson dan MIT

untuk mengembangkan mesin tersebut. (Arnold, 2001, pp. 14-19).Parson sendiri pada

awalnya mengembangkan teknik untuk memproduksi rancangan baling – baling pada

mesin milling namun masih membutuhkan data numerik yang dihasilkan oleh mesin

punched–cardIBM untuk memposisikan secara manual sekrup mesin milling pada dua

sumbu(50 Years Of Technological Development, 2005).

Giddings and Lewis Machine Tool Co. mencoba ingin meningkatkan toleransi

mesin milling-nya melalui kontrol numerik dan menghasilkan kontrol numericord yang

menggantikan punch tape dengan magnetic tape yang dikembangkan juga oleh General

Electric.Pada bidang manufaktur dan pengerjaan logam, teknologi NC ini telah

menyebabkan revolusi, bahkan pada saat sebelum komputer menjadi standar pada setiap

perusahaan dan setiap rumah. Perkembangan terkini dari micro electronic dan komputer

yang tidak pernah berhenti menyebabkan dampak pada NC dan telah membuat

perubahan yang signifikan pada bidang manufakturing dan pengerjaan logam pada

khususnya(Smid, 2003, p. 1).

11

2.1.2 Perkembangan NC

Perkembangan NC sudah melewati 3 gelombang dimana gelombang pertama

adalah pengenalan NC untuk mesin perkakas pada tahun sekitar tahun 1950 dan

1960.Sedangkan untuk gelombang kedua muncul pada sekitar tahun 1970 dan 1980

yang dipicu oleh permintaan micro computer untuk NC karena pemotongan besar harga

dan peningkatan performa pada pasar prosesor. Pada gelombang kedua ini mulai

diperkenalkan mesin CNC yang diperlengkapi dengan fitur baru dan lebih fleksibel

dibanding mesin NC pada gelombang sebelumnya.Gelombang ketiga muncul karena

dipicu oleh efek dari komputer yang telah mempengaruhi semuanya.Pada gelombang ini

dimungkinkan untuk pemindahan dari pengerjaan pada kertas menuju pengerjaan secara

elektronik (CAD – Computer Aided Design) pada komputer dan dapat mendukung

produksi dengan komputer (CAM – Computer Aided Manufacturing). Tujuan utamanya

adalah untuk mengintegrasikan dan otomasi proses produksi secara keseluruhan (CIM –

Computer Integrated Manufacturing).CAD sendiri dikembangkan oleh MIT yang

didanai oleh Angkatan Udara Amerika Serikat. Ivan Sutherland membuat program yang

dinamakan Sketchpad pada mesin TX-2 dan penemuannya itu telah menginspirasi orang

MIT untuk membuat sistem CAD yang sebenarnya yaitu Electronic Drafting Machine

(EDM). EDM tersebut dikembangkan lagi oleh Lockheed menjadi C-5 Galaxy yang

menjadi contoh pertama dari sistem produksi CAD/CNC.

Perkembangan PC (Personal Computer) pada awal tahun 1980 telah membuat

perubahan besar dimana mesin CNC tersebut telah dapat diintegrasikan dengan

komputer sehingga menjadi standar, lebih murah dan lebih mudah untuk

pengendaliannya. Bahasa pemrograman yang awalnya berkaitan langsung dengan

perangkat keras telah digantikan dengan GUI (Graphical User Interface).Hal ini tentu

12

memudakan operator mesin untuk menggunakannya karena telah terbiasa dengan

lingkungan PC (Windows).Pengembangan selanjutnya adalah meneliti kemungkinan

untuk pengiriman data pada Local Area Networks (LAN) dan mengakses database

dimana usaha ini akan menstandarkan data dan memudahkan untuk integrasi lebih lanjut

antara desain dan proses produksi(Arnold, 2001, pp. 22-28).

Gambar 0.1Three Waves of Digital Control Technology

Sumber: (Arnold, 2001, p. 28)

2.1.3 Definisi NC

Smid (2003, p. 1) mengemukakan bahwaNCdapat didefinisikan sebagai operasi

dari mesin perkakas yang secara khusus diinstruksikan oleh kode dari mesin kontrol

sistem. Instruksi tersebut merupakan kombinasi dari alfabet, angka dan simbol yang

terpilih, sebagai contoh: angka desimal dan tanda persen dari simbol tanda kurung.

Instruksi dituliskan dalam urutan yang logis dan bentuk yang telah ditentukan.Koleksi

13

dari instruksi yang sudah ada dan penting bagi mesin dinamakan NCProgram,

CNCProgram, atau Part Program. Program tersebut dapat disimpan untuk penggunaan

di masa mendatang dan digunakan berulang – ulang untuk mendapatkan hasil yang

sama.

2.1.4 Computerized Numerical Control (CNC)

Smid (2003, p. 1) mengemukakan bahwaCNC merupakan perkembangan dari

NC dimana menggunakan internal micro processor (contoh: komputer). Komputer

tersebut mengandung memori register untuk menyimpan berbagai tugas yang berfungsi

untuk memanipulasi logical function. Ini berarti programmer atau operator mesin dapat

mengubah program untuk menyesuaikan dengan kebutuhan yang ada.Fleksibilitas ini

yang merupakan keuntungan terbesar dari sistem CNC dan kunci utama yang

berkontribusi pada penggunaan secara luas teknologi ini pada bidang manufaktur

modern.Program CNC dan logical functions disimpan pada chip komputer yang special

sebagai instruksi perangkat lunak dibandingkan menggunakan koneksi perangkat keras

seperti kabel yang mengontrol logical functions.CNC sering diasosiasikan dengan kata

“softwired”.

NC dan CNC mempunyai kesamaan dimana bertugas untuk memanipulasi data

untuk tujuan membuat bagian mesin.Oleh karena itu pada bagian internal dari sistem

kontrolnya, kedua sistem ini mengandung logical instruction yang memproses data.

Namun perbedaannya adalah pada sistem NC menggunakan logical functions yang tetap

karena sudah ada dari awal dan berupa kabel permanen di dalam unit kontrolnya. Fungsi

ini tidak dapat dirubah oleh programmer atau oleh operator mesin. Karena berupa kabel

permanen di dalam unit kontrolnya, oleh karena itu sistem kontrol NC sering

14

diasosiasikan dengan kata “hardwired”.Sistem dapat menginterpretasikan bagian

program, namun tidak dapat memperbolehkan perubahan pada program menggunakan

fitur kontrol. Sistem NC wajib menggunakan punched tapes untuk input mengenai

informasi program.

2.1.5 Keuntungan CNC

Berikut merupakan keuntungan menggunakan CNC menurut Smid (2003, pp. 2-

4):

1. Pengurangan waktu persiapan

Persiapan mesin yang awalnya dilakukan secara manual oleh operator mesin

namun sekarang sudah dapat dilakukan secara otomatis dan mengurangi

biaya.Berbagai fitur pada mesin CNC sudah dapat menggantikan tugas dari

operator mesin. Pengurangan waktu persiapan tersebut juga dapat dilakukan

dengan cara menentukan jumlah bagian mesin yang ingin dihasilkan atau juga

dengan membuat satu kelompok untuk proses yang sama sehingga waktu

persiapannya berkurang.

2. Pengurangan waktu pengerjaan

Program yang sudah dibuat dapat dijalankan dengan cepat dan perubahan desain

bagian mesin yang dapat mengubah isi program dapat dilakukan dengan cepat.

3. Akurasi dan pengulangan

Karena program disimpan dalam memori komputer atau dalam tape, maka akan

tetap sama isinya dan dapat digunakan ulang untuk memproduksi bagian dari

mesin yang diminta dengan akurasi yang tinggi.

4. Membuat bentuk kompleks

15

Mesin CNC dapat digunakan untuk membuat bentuk kompleks seperti pada

industri pesawat dan otomotif. Bentuk yang kompleks seperti cetakan juga dapat

dibuat tanpa membutuhkan biaya lain untuk membuat modelnya terlebih dahulu.

5. Penyederhanaan alat kerja

Berbagai fungsi dari mesin CNC telah menggantikan alat – alat tradisional yang

banyak sehingga dapat meminimalkan biaya yang diperlukan.

6. Waktu pemotongan yang konsisten

Mesin CNC tidak dipengaruhi oleh faktor eksternal seperti kemampuan operator,

pengalaman dan keletihan ketika menjalankan mesin konvensional. Proses

produksi seperti jadwal produksi dan alokasi pengerjaandapat dilakukan secara

berulang dan akurat.

7. Peningkatan produksi

Pengunaan mesin CNC adalah investasi yang menjanjikan karena mempunyai

nilai kompetitif yang baik serta peningkatan produktivitas serta kualitas benda

yang dihasilkan.

2.1.6 Jenis – Jenis CNC

Berikut merupakan jenis – jenis mesin CNCmenurut Smid (2003, pp. 4-5):

1. Mills and Machining Centers

Standar untuk mesin milling dan machining adalah mempunyai 3 sumbu yaitu X,

Y dan Z. Mesin milling merupakan mesin yang kecil dan mudah dioperasikan.

Pada industri, mereka digunakan untuk pembuatan alat kerja dan produksi benda

kecil lainnya.

16

Menurut Krar & Gill (1999, p. 10), mesin milling dapat melakukan operasi

seperti penggilingan, pembuatan kontur, pemotongan gigi, pengeboran dan

reaming. Mesin milling dapat diprogram pada ketiga sumbunya:

a. Sumbu X mengontrol laju ke kiri atau ke kanan.

b. Sumbu Y mengontrol laju maju atau mundur.

c. Sumbu Z mengontrol laju naik atau turun.

Gambar 0.2Mills and Machining Centers

Sumber: (Krar & Gill, 1999, p. 11)

Mesin CNC jenis millingyang digunakan di Computer Engineering Lab, kampus

Syahdan BINUS University, Jakarta Barat dapat dilihat pada Gambar 2.3 berikut:

17

Gambar 0.3 Mesin Milling

2. Lathes and Turning Centers

Mesin lathe merupakan mesin dengan dua sumbu, sumbu vertikal X dan sumbu

horisontal Z. Fungsi utama dari mesin lathe yang membedakan dengan mesin

milling adalah bagian yang berputar pada garis utama mesin.Menurut Krar &

Gill (1999, p. 10), mesin lathe biasanya digunakan untuk memproduksi benda

yang melingkar. Mesin lathe dapat diprogram pada kedua sumbunya:

a. Sumbu X mengontrol gerak alat pemotong dimana sumbu X positif

memindahkan alat jauh dari poros sedangkan sumbu X negatif memindahkan

alat menuju poros.

b. Sumbu Z mengontrol rel mendekati atau menjauhi dari pusat.

18

Gambar 0.4Lathes and Turning Centers

Sumber: (Krar & Gill, 1999, p. 10)

Pada Gambar 2.5 berikut ditunjukkan perkembangan dan inovasi mesin CNC:

Gambar 0.5Inovasi Arsitektur Mesin CNC

Sumber: (Arnold, 2001, p. 32)

2.2 Enchanced Machine Control (EMC)

EMCadalah sebuah perangkat lunak komputer untuk mengontrol mesin seperti

mesin milling,lathe, plasma cutters, cutting machines, robots, hexapods, dan lain –

19

lain.EMC pertama kali dikembangkan oleh Intelligent Systems Division di The National

Institutes of Standards and Technology(NIST), sebuah agen dari Departemen

Perdagangan Amerika Serikat.EMC adalah perangkat lunak open sourcedan versi

terbarunya semuanya berlisensi di bawah GNU General Public License dan GNU Lesser

General Public License (GPL dan LGPL).Kode sumber dan binary dari EMC tersedia

pada situshttp://www.linuxcnc.org.

EMC2 merupakan pengembangan dari EMC. Awalnya versi 2.0.0 dirilis pada

tanggal 8 Mei 2006, dan saat ini versi terbarunya sudah mencapai 2.4.7 yang dirilis pada

tanggal 16 Oktober 2011 dengan ukuran paket instalasi sebesar 24.9 MB dengan

penambahan fungsi baru dan perbaikan dari versi sebelumnya. EMC2 dapat digunakan

pada sistem operasi Linux dan terbagi menjadi 3 jenis yaitu Ubuntu 10.04 Lucid Lynx,

Ubuntu 8.04 Hardy Heron dan 6.06 Dapper Drake.Saat ini untuk Linux Ubuntu 6.06

Dapper Drake tidak di-support lagi.Pada situs tersebut kita dapat men-download versi

Live-CD Linux Ubuntu yang telah di-install-kan EMC2 untuk mencobanya terlebih

dahulu.EMC2 membutuhkan real-time extension yang berguna untuk integrasi langsung

dengan mesin namun jika hanya untuk simulasi maka tidak masalah.EMC2 mempunyai

banyak fitur dan fungsi baru antara lain Hardware Abstraction Layer(HAL) yang

memungkinkan penyesuaian ke berbagai jenis mesin, dan proses instalasi lebih mudah dari

yang sebelumnya. HAL menyediakan fungsi untuk mengirimkan data secara langsung dari

EMC2 untuk mengontrol mesin atau modul perangkat lunak tingkat rendah dan kerangka

kerja untuk mengembangkan perangkat keras driver dan modul perangkat lunak untuk

eksekusi secara langsung.Namun EMC2 tidak menyediakan fungsi CAD (Computer Aided

Design)atau menghasilkan G-Codesecara langsung.

20

Ada empat komponen utama untuk perangkat lunak EMC2: kontroler gerak

(EMCMOT), kontroller I/O diskrit (EMCIO), modul untuk mengkoordinasi controller

(EMCTASK), dan GUI (Graphical User Interface).

Gambar 0.6 Arsitektur EMC

Sumber: ( Starovešk, Brezak, Udiljak, & Majetić, 2009, p. 2)

EMC2 ini juga menyediakan:

a. Beberapa antarmuka untuk pengguna grafis termasuk satu untuk layar sentuh.

b. Interpreter untuk "G-Code" (RS-274 alat mesin bahasa pemrograman).

c. Gerakan sistem mesin secara realtime.

d. Pengoperasian mesin elektronik tingkat rendah seperti sensor dan motor.

21

e. Perangkat lunak PLC yang dapat diprogram dengan ladder diagram.

f. Kemudahan instalasi dengan .deb packages atau Live-CD.

Gambar 0.7 EMC2 Controlled Machine

Sumber: http://linuxcnc.org/docs/html/whatstep1.png

Gambar 2.7menunjukkan diagram blok sederhana yang menunjukkan sistem

EMC2 untuk mesin 3 sumbu. Diagram ini menunjukkan sistem motor stepper. PC

dengan Linux sebagai sistem operasinya, digunakan untuk mengendalikan drive stepper

motor dengan mengirimkan sinyal melalui port printer (paralel). Sinyal-sinyal (pulsa)

yang dikirim ini membuat drive stepper motor dapat bergerak.

22

2.3 Real Time Operating System (RTOS)Dan System Simulation

Real Time operating systemmerupakan sistem operasi yang ditujukan untuk

menangani permintaan aplikasi secara langsung. Karaketeristik utama dari RTOS ini

adalah tingkatan konsistensi mengenaijumlah waktuyang diperlukan untukmenerima

danmenyelesaikan tugassebuah aplikasi. Sebuah sistem umumnya dapat dibagi menjadi

3 (tiga) bagian yaitu:

1. Non Real Time System

Non real time system merupakan sistem dimana tidak adanya deadline atau tugas

yang harus dikerjakan karena mendesak dan harus selesai pada saat itu juga.

2. Soft Real Time System

Soft real time system merupakan sistem dimana adanya deadline namun jika

tidak diselesaikan tepat waktu maka tidak menimbulkan efek yang besar seperti

penurunan performa.

3. Hard Real Time System

Hard real time system merupakan sistem dimana adanya deadline dan jika tidak

diselesaikan tepat waktu maka dapat menimbulkan efek yang besar.

RTOS merupakan hard real time system, karena harus mempunyai waktu respon

yang dapat diprediksi dan dapat menggunakan waktu yang ada dengan baik.RTOS

sendiri harus mempunyai algoritma yang baik untuk scheduling, sedangkan untuk faktor

– faktor utama pada RTOS yaitu meminimalkan gangguandan meminimalkan pergantian

thread. RTOS sendiri mempunyai variabel yang dinamakan jitter yaitu kondisi dimana

tugas tersebut tidak dapat dipenuhi dan berada dalam keadaan busy.

23

Beberapa kelebihan menggunakan RTOS:

1. Waktu respon yang cepat

RTOS yang efisien mempunyai waktu respon minimal dan cepat. Beberapa

parameter yang mempengaruhinya antara lain:

• Interrupt latency yaitu waktu antara interrupt request dan interrupt servicing.

• Threads fly-back time yaitu waktu dari hardware event biasanya berupa

interrupt dan dimulainya kembali thread yang menanganinya.

• Context switch time yaitu waktu yang diperlukan untuk mengsinkronisasi

switch dari satu thread ke thread lainnya.

2. Jitter kecil

Beberapa hal yang mempengaruhi jitter antara lain:

• Penugasan prioritas thread.

• Penugasan prioritas interrupt.

• Panjang dan jumlah zona kritikal.

• Interaksi antara thread melalui resource yang dibagi bersama yang dilindungi

oleh mutual exclusion.

• Pengunaan prioritas turunan atau strategi / algoritma untuk mengurangi jitter.

3. Penggunaan memori

Karena RTOS dapat memprediksi waktu yang digunakan dan menggunakannya

dengan baik maka otomatis penggunaan memori dapat diperkecil.

4. Reabilitas

24

Dengan sifatnya yang dapat memprediksi waktu yang digunakan dan

menggunakannya dengan baik maka RTOS ini dapat diandalkan dan menjadi

pilihan orang.

5. Sinkronisasi

Karena sifatnya tersebut, maka RTOS dapat digabungkan dengan tool lain yang

mendukung seperti contoh penggunaan semaphore.

Pada Linux sendiri sudah banyak RTOS yang dapat digunakan seperti RTLinux,

RTAI namun pada skripsi ini yang digunakan adalah sistem operasi Linux Ubuntu 10.04

dengan RTAI yang bisa didapatkan di https://www.rtai.org/ yang saat ini sudah

mencapai versi terbaru yaitu 3.8 dirilis pada tanggal 16 Februari 2010 dengan ukuran

file4.55 MB.

SystemSimulation merupakan sebuah teknik untuk meniru operasi pada sistem

sebenarnya yang berjalan pada kehidupan sehari – hari.Pada umumnya sistem yang

sedang berjalan dapat dimodelkan secara matematis oleh para ahli, namun dengan

adanya simulasi ini maka operasi pada sistem sebenarnya dapat dimodelkan dan

dianalisis oleh orang yang tidak ahli seperti para manajer.Simulasi merupakan eksekusi

model yang direpresentasikan oleh program komputer yang memberikan informasi

mengenai sistem yang sedang diinvestigasi.Simulasi memungkinkan kita untuk melihat

event – event yang terjadi pada sistem untuk dapat dianalisis.Dengan memakai simulasi,

biaya yang diperlukan menjadi berkurang drastic dibanding dengan ujicoba langsung

pada sistem sebenarnya.Dengan adanya simulasi memungkinkan untuk analis dan

25

pembuat keputusan untuk membuat keputusan yang terbaik dengan menghindari

kesalahan yang tidak terduga.

Salah satu contoh untuk simulasi yang sering digunakan adalah penggunaan

perangkat lunak VMware seperti yang digunakan pada skripsi ini. Penggunaan VMware

pada skripsi ini dimaksudkan untuk menguji terlebih dahulu program aplikasi yang akan

digunakan, setelah stabil dan tidak ada masalah lagi maka baru dijalankan pada sistem

yang sebenarnya yaitu komputer yang sudah ada real time system dan terhubung ke

mesin CNC.

2.4 AXIS Interface

AXISInterfacemerupakansalah satutampilan antar mukadari EMC2 yang

mempunyai fitur live preview dan backplot.AXIS Interface ditulis menggunakan bahasa

pemrogramanPython dan menggunakan Tk dan OpenGL untuk menampilkan antarmuka

penggunanya. AXIS

InterfacedapatdikonfigurasiuntukmenambahkanVirtualControlPaneluntukmenyesuaikan

bentuk tampilan pada saat menjalankan program EMC2supaya sesuai

dengankebutuhanpengguna.AXISadalahdefault penggunainterfaceyangsecara

aktifsedangdikembangkan oleh para penggunanya.Tampilan AXISini dapat dilihat pada

Gambar 2.8berikut ini:

26

Gambar 0.8AXISInterface

Sumber: http://linuxcnc.org/docs/html/axis_2.3.png

2.5 AXIS Display

Tampilan AXIS mengandung beberapa elemen seperti:

1. Sebuah area layar yang menunjukkan hasil dari suatu file (pada kasus ini:

“axis.ngc”) yang telah dimuat dan juga lokasi sekarang dari mesin CNC

“controlled point” serta area ini akan menampilkan jalur yang telah dilalui oleh

mesin CNC yang dinamakan “backplot”.

2. Menu bar dan Toolbar untuk melakukan berbagai kegiatan.

3. “Manual Control Tab” yang dapat membuat mesin bergerak, menyalakan atau

mematikan poros dan pendingin jika dimasukkan pada file “.ini”.

27

4. “MDI Tab” dimana G-Code program dapat dimasukkan secara manual oleh

pengguna per baris. Juga menampilkan G-Code yang aktif serta G-Code yang

mempunyai efek.

5. “Feed Override” yang memungkinkan pengguna untuk menambah atau

mengurangi kecepatan dimana EMC2 memproses suatu program. Default-nya

adalah 120% dan dapat diatur ke nilai yang berbeda pada file “.ini”.

6. “Spindle Override” yang memungkinkan pengguna untuk menambah atau

mengurangi kecepatan poros pada EMC2.

7. “Jog Speed” yang memungkinkan pengguna untuk mengatur kecepatan proses

dalam batas yang telah ditetapkan yang telah diatur pada file “.ini”.

8. “Max Velocity” yang memungkinkan pengguna untuk mengatur kecepatan

maksimum pada cap feed rates.

9. Sebuah tampilan teks yang menunjukkan sumber G-Code dari suatu file yang

ingin dimuat.

10. Sebuah status bar yang menunjukkan keadaan suatu mesin.

2.6 G-Code

G-Code adalah bahasa pemrograman mesin yang berkaitan erat dengan grafik

dan vektor. Bahasa ini memakai komputer sebagai alat bantu penghubung antara mesin

dan perangkat lunak yang terdapat di komputer. Mesin akan mengikuti gerak alur dari

vektor yang dituliskan dalam G-Code. Bahasa pemrograman G-Code ini ditulis dalam

file dengan ekstensi .ngc (Numerical G-Code).Berikut adalah beberapa contoh bahasa G-

Code disertai dengan fungsinya masing-masing:

28

Tabel 0.1 Tabel G-Code 1

Code Parameters (X Y Z A B C U V W apply to all motions)

Description

G0 Rapid motion G1 Coordinated motion ("Straight feed") G2, G3 I J K or R Coordinated helical motion ("Arc

feed") CW or CCW G4 P Dwell (no motion for P seconds) G5.2, G5.3 NURBs Block G7 X Diameter mode (lathe) G8 X Radius mode (lathe) G10 L1 P Q R X W Z Tool offset, radius, orientation setting G10 L10 P Q R X W Z Tool offset, radius, orientation setting

calculated G10 L2 P R X Y Z A B C Coordinate system origin setting G10 L20 P R X Y Z A B C Coordinate system origin setting

calculated G17 Select XY plane G18 Select XZ plane G19 Select YZ plane G20 Inches G21 Millimeters G28, G28.1 G30, G30.1

Return to or Set reference point 1 Return to or Set reference point 2

G33 K Spindle Synchronized Motion

G33.1 K Rigid Tapping G38.2 - G38.5 Straight probe G40 Cancel Cutter Compensation G41, G42 D Start cutter radius compensation left or

right G41.1, G42.1 D L Start cutter radius compensation left or

right, transient tool G43 H Use Tool Length Offset from Tool

Table G43.1 I K Use specified tool length offset for

transient tool G49 Cancel Tool Length Offset G53 Motion in Machine Coordinate System G54-G59 Select Coordinate System G59.1-G59.3 Select Coordinate System

29

G61 Exact Path mode G61.1 Exact Stop mode G64 P Continuous mode with optional path

tolerance G76 P Z I J R K Q H L E Multipass lathe threading cycle G80 Cancel motion mode G81, G2 R L (P) Drilling cycle without (with) dwell G83, G73 R L Q Peck and Chip-break drilling cycles G85, G89 R L (P) Boring cycle without (with) dwell G90, Absolute distance mode G91 Incremental distance mode G90.1 Arc centers I,J,K are absolute G91.1 Arc centers I,J,K are relative to the

arc's starting point G92 X Y Z A B C Offset Coordinate Systems & Set

Parameters G92.1 Cancel offset coordinate systems and

set parameters to zero G92.2 Cancel offset coordinate systems but do

not reset parameters G92.3 Apply Parameters to Offset Coordinate

Systems G93 Inverse time feed rate G94 Units per minute feed rate G95 Units per revolution G96 SD Constant Surface Speed (foot/minute or

meter/minute) with top speed G97 RPM Mode G98 Retract to prior position G99 Retract to R position

Sumber: http://linuxcnc.org/docs/html/gcode_main.html

30

Tabel 0.2 Tabel G-Code 2

Code

Parameters (X Y Z A B C U V W apply to all motions)

Description

M0 Pause Program M1 Optional Stop M2 Other stop codes M3 S Turn spindle clockwise M4 S Turn spindle counterclockwise M5 Stop spindle M6 T Change Tool M7 Turn mist on M8 Turn flood on M9 Turn all coolant off M30, M60 Pallet Shuttle

M50 - M53

P0 (off) or P1 (on) Feed Override, Spindle Override, Adaptive Feed, Feed Hold

M61 Set Current Tool Number M62-65 P Digital Output Control

M66 P E L Q Digital and Analog Input

Control

M67 T Analog Output Synchronized

with Motion M68 T Analog Output Immediate M100-M199 P Q User Defined M-Codes O O Codes F Set Feed Rate S Spindle Speed T Select Tool (…) A comment "…" to the user

(MSG,…) Display the message "…" to the

user (e.g., in a popup)

(DEBUG,…#123…#<foo>) Display the message (with

variables substituted) like MSG

(PRINT,…#123…#<foo>) Display the message (with

variables substituted) to stderr

Sumber: http://linuxcnc.org/docs/html/gcode_main.html

31

2.7 Fraktal

2.7.1 Sejarah Fraktal

Perkembangan metode matematika fraktal pertama kali dimulai pada abad ke –

17 ketika seorang matematikawan Leibniz melakukan suatu penelitian mengenai bentuk

perulangan (rekursif)bangun yang serupa (self - similarity).Namun dia melakukan

sebuah kesalahan dengan memberikan sebuah pemikiran bahwa hanya garis lurus yang

dapat memiliki sifat self-similar.Sampai pada tahun 1872, ketika Karl Weierstrass

memberikan contoh sebuah fungsi dengan propertinon-intuitif yang memiliki

kekontinuitas tetapi tidak terdiferensiasi.Pada tahun 1904, Helge van Koch tidak puas

dengan teori dari Weierstrass dan menyebutnya sangat abstrak dan definisi yang terlalu

analitik, van Koch kemudian memberikan sebuah definisi secara geometris terhadap

fungsi yang serupa yang kemudian dikenal dengan Koch Snowflake.

Pada tahun 1915, Waclaw Sierpinski membuat sebuah geometri segitiga yang

disebut dengan segitiga sierpinski dan satu tahun kemudian membentuk sebuah geometri

yang disebut dengan karpet sierpinski. Ide terhadap konsep kurvaself-similar

dikembangkan lebih lanjut lagi oleh Paul Pierre Levy pada tahun 1938 dalam jurnalnya

“Plane Or Space Curves And Surfaces Consisting Of Parts Similar To The Whole”

menjelaskan mengenai bentuk kurva fraktal baru yaitu Levy C Curve.

George Cantor juga memberikan contoh dari sebuah himpunan yaitu Cantor Set

yang juga termasuk fraktal.Iterated Function mulai dipelajari oleh Henri Poincare, Felix

Clain, P ierre Fatou dan Gaston Julia pada akhir abad 19 dan awal abad 20. Gaston Julia

kemudia menemukan lagi sebuah bentuk geometri fraktal yang dikenal dengan Julia

Set.Dan akhirnya pada tahun 1960, Benoit Mandelbrot memulai investigasnya mengenai

32

self-similarity pada jurnalnya “How Long Is the Coast of Britain?Statistical Self –

Similarity and Fractional Dimension” dan mendefinisikan fraktal.

2.7.2 Definisi Fraktal

Menurut Mandelbrot (1983, p. 4) fraktal berasal dari kata sifat dalam bahasa latin

“fractus”yang berarti hancur atau retak sedangkan kata kerja dalam bahasa latin

“frangere” yang berarti memecah. Mandelbrot (1983, p. 15) selanjutnya mendefinisikan

fraktal sebagai “himpunan dimana dimensi Hausdorff melebihi dimensi topologikal.”

Menurut Falconer (2003, p. xxv) dimensi topologikal selalu berupa angka bulat

dan bernilai 0 jika terputus, bernilai 1 jika setiap titik mempunyai minimal

neighbourhood kecil dimana batasan dimensi 0.Sebagai contoh titik mempunyai dimensi

topologikal 0, garis mempunyai dimensi topologikal 1, permukaan mempunyai dimensi

topologikal 2, dll.Dimensi topologikal bisa dilambangkan dengan dT(s).Definisi secara

matematis yaitu “himpunan S mempunyai dimensi topologikal k jika setiap titik pada S

mempunyai minimal neighbourhood kecil dimana batasannya bertemu dengan

himpunan S dimana batasan dimensi k – 1dan k merupakan angka bulat non negatif.”

Anton (2005, p. 1002) menuliskan bahwa pada tahun 1919, seorang ahli

matematika Felix Hausdorff memberikan sebuah definisi alternatif untuk sebuah dimensi

dari sembarang himpunan di dalam Rn. Definisinya relatif kompleks, tetapi untuk

himpunan yang self-similar, maka dapat disederhenakan. Dimensi Hausdorff dari sebuah

himpunan self – similar S dilambangkan dengan dH(s) didefinisikan sebagai:

/

33

Dalam definisi tersebut, ln melambangkan logaritma natural, sedangkan k adalah

nilai banyaknya pembagian himpunan menjadi subhimpunan dan s adalah nilai skala

faktor dari subhimpunan tersebut terhadap himpunan asal. Sebagai contoh pada Koch

Curve yang terbuat dari garis, maka dimensi topologinya adalah 1 lalu jika diperkecil

dengan skala s= , maka bangunannya akan terbagi menjadi 4 bagian pada setiap sisinya

dan seterusnya, oleh karena maka dapat dihitung dimensi Hausdorff yaitu  

.

Persamaan tersebut juga dapat dinyatakan dalam bentuk sebagai berikut:

Dimana dimensi Hausdorff dinyatakan dalam bentuk pangkat atau sebagai

eksponen.Dengan bentuk tersebut dapat lebih menjelaskan mengenai interpretasi konsep

dimensi Hausdorff. Sebagai contoh, ada sebuah himpunan saling serupa dengan faktor

skala s= , maka areanya atau ukurannya akan berkurang dengan faktor . Jika

kita ingin mengubah sebuah skala segmen garis dengan faktor , maka akan mengurangi

panjangnya dengan faktor dan jika ingin mengubah skala persegi dengan

faktor ,, maka akan mengurangi panjangnya dengan faktor . Beberapa

bentuk fraktal yang sudah didapatkan dimensi Hausdorff disajikan pada Tabel 2.3

berikut:

34

Tabel 0.3 Tabel Dimensi Hausdorff Untuk Beberapa Fraktal

Jenis Fraktal Dimensi Hausdorff

Gambar Fraktal

2D Cantor dust

Quadratic von Koch curve (type 1)

Quadratic von Koch curve (type 2)

Sierpiński arrowhead curve

Sierpinski triangle

Dragon curve

Sumber: http://en.wikipedia.org/wiki/List_of_fractals_by_Hausdorff_dimension

Beberapa pernyataan mengenai dimensi topologikal dan dimensi Hausdorff:

a. Dimensi topologi dan dimensi Hausdorff dari sebuah himpunan tidak harus

sama.

35

b. Dimensi Hausdorff dari sebuah himpunan tidak harus bilangan bulat.

c. Dimensi topologis dari sebuah himpunan akan lebih kecil atau sama dengan

dimensi Hausdorff, atau dengan kata lain dT(s) ≤dH(s).

Tabel 2.4 berikut merupakan perbedaan antara geometri Euklid dengan geometri

fraktal:

Tabel 0.4 Perbedaan Geometri Euklid Dengan Geometri Fraktal

Geometri Euklid Geometri Fraktal Tradisional Inovasi modern Berdasarkan ukuran atau skala spesifik

Tidak ada ukuran atau skala spesifik

Gambar berdasarkan objek modifikasi manusia

Mengacu kepada geometri alam

Dapat dideskripsikan dengan formula mudah Contoh : x2 + y2 + z2 = r2 Mendeskripsikan lingkaran

Dideskripsikan dengan algoritma Contoh Zn+1 = Zn + Z0 Mendeskripsikan himpunan Mandelbrot

Sumber: http://homepages.ulb.ac.be/~dgonze/TEACHING/fractals.pdf

2.7.3 Karakteristik Fraktal

Menurut Falconer (2003, p. xxv), fraktal biasanya mempunyai beberapa

karakteristik sebagai berikut:

1. Fraktal mempunyai struktur yang baik meskipun pada skala kecil.

2. Fraktal tidak mudah untuk dideskripsikan pada geometri euklid.

3. Mempunyai sifat self-similarity.

4. Mempunyai dimensi Hausdorff melebihi dimensi topologikal.

5. Bisa dideskripsikan secara rekursif.

36

2.8 L-System

2.8.1 Definisi L-System

L-Systemmerupakan salah satu teknik untuk mengimplementasikan

fraktal.Prusinkiewicz (2004, p. 1) menuliskan bahwa konsep utama dari L-System adalah

penulisan ulang (rewriting).Secara umum penulisan ulang adalah teknik untuk

mendefinisikan objek yang kompleks menggunakan aturan penulisan ulang.Sebagai

contoh adalah snowflake curve yang ditemukan oleh von Koch pada tahun 1905.

Gambar 0.9Snowflake Curve

Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 2)

Mandelbrot (1983, p. 39) kemudian mendefinisikan bahwa gambar tersebut

awalnya merupakan 2 bangun yang berperan sebagai initiator dan generator.Setiap

langkah konstruksi adalah generator mengganti bagian initiator dan seterusnya sampai

37

batas yang telah ditentukan.Istilah mengenai mekanisme penulisan ulang atau yang lebih

dikenal dengan namaL-System sendiri dikenalkan oleh Aristid Lindenmayer pada tahun

1968. Perbedaan antara L-System dengan Chomsky grammar adalah pada Chomsky

grammar produksi dilakukan secara berurutan, sedangkan pada L-Systemproduksi

dilakukan secara paralel dan secara simultan mengganti semua huruf pada kata.Sebagai

contoh pada Chomsky grammar diberikan aturan produksi sebagai berikut:

Maka jika diberikan start symbol adalah maka hasilnya adalah:  

. Bahasa dari grammar tersebut menjadi himpunan tak terhingga yaitu:

 |    , , ,… .

Sedangkan pada L-System merupakan deterministic dan context-free grammar / 0

– free (D0L-System) dimana deterministic menyatakan bahwa hanya boleh ada satu

produksi untuk setiap symbol dan context-free grammar menyatakan bahwa pada sisi

kiri dari aturan produksi hanya boleh berupa satu simbol non-terminal. Penulisan ulang

pada L-System diawali dengan kata yang dinamakan oleh axiom.Sebagai contoh pada L-

System diberikan aturan produksi sebagai berikut:

Maka jika diberikan axiom b maka hasilnya adalah sebagai berikut:

38

Gambar 0.10 Penulisan Ulang Pada L-System

Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 4)

Prusinkiewicz (2004, p. 4) menuliskan definisi secara matematis untuk L-System

yaitu: “jika V adalah sebuah alfabet, V* adalah himpunan kata pada V dan V+ adalah

himpunan non kata pada V. Kata 0L-system merupakan urutan triplet

dimana V adalah alfabet pada sistem, adalah axiom dan adalah

produksi yang terbatas. Produksi ( , ) P dituliskan dengan dimana disebut

predecessor dan disebut successor. Diasumsikan bahwa untuk setiap , terdapat

minimal satu sedemikian sehingga . Jika tidak ada produksi spesifik untuk

, maka fungsi identitas diasumsikan terdapat pada himpunan P. 0L-System

disebut deterministic (D0L-System) jika dan hanya jika untuk setiap , terdapat

hanya satu sedemikian sehingga .”

Prusinkiewicz (2004, pp. 4-5) juga menuliskan definisi secara matematis untuk

penurunan L-System yaitu: “jika µ = a1…am adalah angka sembarang yang ada di V.

Kata v = x1…xm diturunkan langsung atau dihasilkan oleh µ, dinotasikan dengan µ

v, jika dan hanyak jika untuk setiap i = 1, …, m. Kata v dihasilkan oleh G

39

dengan turunan sebanyak n, jika terdapat urutan penurunan dari kata µ0, µ1, …, µn

sedemikian sehingga µ0 = , µn = v dan µ0  µ1 … µn.”

2.8.2 Turtle Geometry

Berbagai cara telah telah digunakan untuk menginterpretasikan string yang

dihasilkan pada bidang geometri namun yang sering digunakan adalah turtle.

Prusinkiewicz (2004, p. 6) menuliskan bahwa turtle definisikan sebagai triplet (x, y, α)

dimana koordinat Kartesius (x,y) merepresentasikan posisi dari turtle dan sudut α

menandakan arah untuk turtle. Jika diberikan panjang langkah d dan sudut δ, maka turtle

dapat menginterpretasikan simbol berikut:

Tabel 0.5 Tabel Contoh Interpretasi Turtle Terhadap Simbol Yang Umum

Simbol Interpretasi F, X Maju sebanyak langkah d. Status dari turtle berubah

menjadi (x’, y’, α), dimana x’ = x + d cos α dan y’ = y + d sin α. Garis diantara titik (x, y) dan (x’, y’) digambar.

f Maju sebanyak langkah d tanpa menggambar garis. + Berputar ke kiri sebanyak sudut δ. Status selanjutnya

turtle menjadi (x, y, α + δ). Orientasi positifnya sekarang adalah berbalik jarum jam.

– Berputar ke kanan sebanyak sudut δ. Status selanjutnya turtle menjadi (x, y, α - δ).

Selain simbol yang sudah terdapat pada Tabel 2.5, maka turtle tidak akan

mengintepretasikan menjadi apapun dan hanya diam di tempat ketika menemui simbol

tersebut.

Berikut merupakan contoh quadratic Koch island yang diambil dari Mandelbrot

(1983, p. 51) dengan data sebagai berikut:

• axiom: F – F – F – F

40

• aturan produksi: F → F – F + F + FF – F – F + F

• n = 3

• δ = 90

Gambar 0.11Quadratic Koch Island Menggunakan Turtle

Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 8)

Turtle juga dapat digunakan untuk membuat berbagai jenis pohon dengan

menambahkan simbol yaitu ‘[’ dan ‘]’ yang artinya:

Tabel 0.6Tabel Contoh Interpretasi TurtleTerhadap Simbol ’[’ Dan ’]’

Simbol Interpretasi [ Memasukkan status turtle ke dalam stack berupa

informasi posisi dan arah dan atribut lainnya yang akan digambar

] Mengeluarkan status turtle dari stack dan menjadikan sebagai status yang sekarang.

41

Jika diberikan data sebagai berikut:

• axiom: F – F – F – F

• aturan produksi: F → FF – F – F – F – FF

• n = 1

• δ = 90

• d = 1

Berikut merupakan contoh interpretasi turtle terhadap kata yang telah dihasilkan:

1. n = 0

Turtle string yang dihasilkan : F – F – F – F

Gambar 0.12 Interpretasi Turtle Terhadap Kata Dengan n = 0

2. n = 1

Turtle string yang dihasilkan : FF – F – F – F – FF – FF – F – F – F – FF – FF –

F – F – F – FF – FF – F – F – F – FF

42

Gambar 0.13 Interpretasi Turtle Terhadap Kata Dengan n = 1 Tahap Awal

Gambar 0.14 Interpretasi Turtle Terhadap Kata Dengan n = 1 Tahap Akhir

2.8.3 Berbagai Jenis Fraktal Menggunakan L-System

Berikut berbagai jenis fraktal yang dibentuk menggunakan metode L-System

dengan menggunakan interpretasi turtle:

1. Quadratic Koch Island(Mandelbrot, 1983, p. 52) dan modifikasi Koch curve

(Mandelbrot, 1983, p. 139)

43

Gambar 0.15Quadratic Koch Island Dan Modifikasi Koch Curve

Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 9)

2. Islandsandlakes(Mandelbrot, 1983, p. 121)

Gambar 0.16 Kombinasi Islands And Lakes

Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 9)

44

3. Modifikasi Koch curve

Gambar 0.17 Modifikasi Koch Curve

Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 10)

4. Berbagai jenis pohon

Gambar 0.18 Berbagai Jenis Pohon

Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 25)

45

2.9 Interaksi Manusia dan Komputer (IMK)

Menurut Shneiderman (2010, p. 32)ada 5 (lima) faktor manusia terukur yang

dapat dijadikan sebagai pusat evaluasi, yaitu:

1. Waktu belajar

Berapa lama waktu yang diperlukan pengguna untuk mempelajari cara yang

relevan untuk melakukan suatu tugas?

2. Kecepatan kinerja

Berapa lama waktu yang diperlukan pengguna untuk menyelesaikan tugas yang

ditentukan?

3. Tingkat kesalahan pengguna

Berapa banyak kesalahan dan kesalahan apakah yang bisa terjadi saat pengguna

mengerjakan tugas tersebut?

4. Daya ingat

Bagaimana pengguna mempertahankan pengetahuan yang mereka dapatkan

setelah beberapa waktu?

5. Kepuasan yang subjektif

Seberapa banyak pengguna menyukai penggunaan bermacam aspek dalam

antarmuka?

Selain itu, menurut Shneiderman (2010, pp. 88-89), terdapat 8 (delapan) aturan

emas dalam merancang antarmuka yaitu:

1. Berusaha untuk konsisten

46

Rangkaian aksi yang konsisten diperlukan dalam situasi yang sama, istilah yang

sama sebaiknya digunakan untuk perintah, menu dan tampilan bantuan, warna,

tampilan, penggunaan huruf kapital, font dan yang lainnya harus disamakan juga.

2. Dapat digunakan secara universal

Pahami kebutuhan pengguna yang berbeda dan gunakan desain yang terlihat dan

memfasilitasi perubahan konten.

3. Menawarkan umpan balik yang informatif

Untuk setiap tindakan dari pengguna harus ada sistem umpan balik.Untuk

tindakan sering dan kurang penting, tanggapan dapat bersifat sederhana,

sedangkan untuk tindakan jarang dan penting, tanggapan harus bersifat detail.

4. Merancang dialog yang memberikan penutupan

Urutan – urutandari tindakan yang ada harus diatur menjadi kelompok –

kelompok dengan bagian awal, tengah dan akhir.Umpan balik informatif pada

sekumpulan tindakan yang ada memberikan kepuasan kepada pengguna

penyelesaian, rasa lega, tanda untuk menghentikan suatu rencana dan pilihan dari

pikiran mereka, dan indikasi bahwa caranya jelas yaitu untuk mempersiapkan

sekelompok tindakan yang ada berikutnya.

5. Penawaran pencegahan kesalahan dan penanganan kesalahan yang sederhana

Sebisa mungkin desain dibuat dari system yang ada agar pengguna tidak berbuat

kesalahan yang serius.Namun jika pengguna membuat kesalahan dibuat, maka

sistem harus dapat mendeteksi kesalahan yang sederhana dan mekanisme yang

mudah dipahami untuk penanganan kesalahan.

6. Memungkinkan pembalikan tindakan yang mudah

47

Fitur ini bertujuan untuk mengurangi kecemasan karena pengguna tahu bahwa

kesalahan dapat dibatalkan sehingga mendorong pengguna dalam menjelajah

pilihan-pilihan tindakan yang asing.Bentuk dari pembalikan tindakan dapat

berupa satu tindakan, pengisian data, atau sekelompok lengkap dari tindakan-

tindakan yang ada.

7. Dukungan pusat kendali internal

Pengguna berpengalaman berkeinginan kuat mengenai rasa mereka bertanggung

jawab atas sistem dan sistem pun merespon tindakan mereka.Buat desain dari

sistem untuk membuat pengguna berperan sebagai pengambil inisiatif daripada

para responden yang ada.

8. Mengurangi beban ingatan jangka pendek

Keterbatasan manusia dalam mengolah informasi dalam jangka waktu pendek

memerlukan tampilan yang dibuatsessederhana mungkin.Halaman-halaman

ganda diperketat, frekuensi dari pergerakan window dikurangi, waktu pelatihan

yang memadai dialokasikan untuk kode, mnemonic, dan serangkaian tindakan.

2.10 Unified Modelling Language (UML)

Menurut Bentley &Whitten (2010, p. 371),UML adalah satu set dari ketentuan

modeling yang digunakan untuk menspesifikasi atau mendeskripsikan sebuah sistem

perangkat lunak dalam suatu kondisi dari objek.

UML dibagi menjadi beberapa komponen:

1. Class Diagram

Menurut Bentley & Whitten(2010, p. 400),class diagram adalah penggambaran

grafis mengenai struktur objek statis dari sebuah sistem, menunjukkan kelas –

48

kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek

tersebut.Class diagram digunakan secara grafis untuk menggambarkan objek dan

asosiasinya.

2. Use Case Diagram

Menurut Bentley &Whitten (2010, pp. 246-250),use case diagram

menggambarkan interaksi antara sistem, sistem eksternal dan pengguna. Use

case diagram menggambarkan secara grafis siapa yang menggunakan sistem dan

dengan cara seperti apa yang diharapkan pengguna untuk berinteraksi dengan

sistem. Sedangkan use case narrative adalah deskripsi tekstual kegiatan bisnis

dan bagaimana pengguna akan berinteraksi dengan sistem untuk menyelesaikan

tugas.

3. Sequence Diagram

Menurut Bentley &Whitten (2010, p. 394),sequence diagram menggambarkan

secara grafis bagaimana objek berinteraksi satu sama lain melalui pesan dalam

eksekusi use case atau operasi. Diagram ini menggambarkan langkah – langkah

pesan dikirim dan diterima antara objek.

4. Activity Diagram

Menurut Bentley &Whitten (2010, p. 390),activity diagram menggambarkan

secara grafis alur yang berurutan dari aktifitas use case atau proses bisnis, atau

logika dari method objek. Diagram ini juga dapat digunakan untuk memodelkan

logika dengan suatu sistem.

Acitvity diagram memiliki komponen sebagai berikut:

a. Initial node

Pada activity diagram, lingkaran solid menggambarkan awal sebuah proses.

49

b. Actions

Pada activity diagram, kotak bundar menggambarkan langkah

individual.Urutan dari actions membuat aktifitas tampak dalam diagram.

c. Flow

Pada activity diagram, panah mengindikasikan pergerakan melalui aksi –

aksi.

d. Decision

Pada activity diagram, bentuk belah ketupat dengan satu flow yang masuk ke

dalamanya dan dua atau lebih flow yang keluar darinya menggambarkan

kegiatan pengambilan keputusan.

e. Merge

Pada activity diagram, bentuk belah ketupat dengan dua atau lebih input flow

dan satu flow keluaran yang berguna untuk mengkombinasikan flow yang

sebelumnya dipisahkan oleh decision. Pemrosesan dilanjutkan dengan salah

satu flow yang masuk ke merge.

f. Fork

Pada activity diagram, sebuah bar hitam dengan satu flow masukan dan dua

atau lebih flow yang keluar yang berguna untuk memungkinkan analis

menggambar kegiatan yang dapat muncul secara paralel.

g. Join

Pada activity diagram, sebuah bar hitam dengan dua atau lebih flow masukan

ke simbol ini dan satu flow yang keluar, menandakan akhir dari proses yang

berlangsung. Aksi – aksi yang mengarah ke join harus selesai semua sebelum

proses dilanjutkan ke flow berikutnya.

50

h. Activity Final

Pada activity diagram, titik solid di dalam lingkaran menggambarkan akhir

sebuah proses.

2.11 Model Prototyping

Menurut Pressman (2010, p. 43), model prototyping merupakan model yang akan

terus berkembang, yang berarti bahwa pembuatan software akan terus berlanjut hingga

memenuhi apa yang diingkan oleh pelanggan. Model prototyping dituntut lebih cepat

dalam tahapan pembuatan perangkat lunak sehingga lebih cocok diterapkan untuk

menyelesaikan tugas yang memerlukan waktu pembuatan perangkat lunak tidak

banyak.Perangkat lunak yang dihasilkan nanti hanya dalam bentuk prototype sederhana

yang masih bisa dikembangkan lebih lanjut.

Beberapa langkah yang terdapat pada model prototyping yaitu sebagai berikut:

1. Communication

Merupakan tahapan awal dimana pelanggan memberikan tujuan utama dari

perangkat lunak yang diinginkan namun tidak secara detail menspesifikasikan

fungsi dan fiturnya. Hal ini menyebabkan pembuat tidak yakin mengenai

algortima, adaptabilitasi terhadap sistem operasi, atau interaksi langsung

perangkat lunak dengan manusia.

2. Quick Plan

Merupakan tahapan dimana perencanaan prototyping dilakukan secara cepat

untuk memenuhi kebutuhan yang telah dispesifikasi.

3. Modelling Quick Design

51

Merupakan tahapan dimana pengembang melakukan desain secara cepat yang

berfokus pada representasi aspek dari perangkat lunak yang akan terlihat oleh

pengguna.

4. Construction Of Prototype

Merupakan tahapan dimana konstruksi / pembuatan prototype dilakukan sesuai

dengan spesifikasi dan kebutuhan pelanggan.

5. Deployment, Delivery & Feedback

Merupakan tahapan dimana prototype tersebut dievaluasi oleh pelanggan dan

diberikan kritik saran untuk dapat memperbaiki kebutuhan.Jika pelanggan

menyatakan ya, maka perangkat lunak siap untuk digunakan namun jika

pelanggan menyatakan tidak, maka dilakukan kembali konstruksi sistem testing

dan evaluasi.

Tahapan ini akan terus berulang sampai dapat memenuhi kebutuhan yang

diinginkan oleh pelanggan dan disamping itu juga membuat kita dapat mengerti

mengenai apa yang harus dilakukan. Diagram model prototyping dapat dilihat pada

Gambar 2.19 berikut:

52

Gambar 0.19 Diagram Prototyping

Sumber: (Pressman, 2010, p. 43)

2.12 Python

Kiusalaas(Cambridge University Press, pp. 1-2) mengemukakan bahwa Python

merupakan bahasa pemrograman berorientasi objek yang dikembangkan pada tahun

1980 sebagai bahasa scripting. Meskipun Python tidak terkenal, namun Python lebih

sering digunakan oleh banyak programmer dibandingkan Fortran. Pythondapat

dikatakan sebagai bahasa yang sedang berkembang karena terus dikembangkan dan

diperbaharui.

Program Python tidak di-compile menjadi kode mesin, namun dijalankan oleh

interpreter. Keuntungan utama dari bahasa interpreter adalah program dapat langsung

diujikan dan ditemukan kesalahannya dengan cepat sehingga pengguna dapat lebih

berkonsentrasi lebih kepada prinsip disamping program.Karena tidak perlu di-compile,

linkdan dieksekusi setelah pembetulan, maka program Python dapat dikembangkan

dengan waktu yang lebih singkat dibandingkan program lainnya. Namun kelemahannya

53

adalah tidak dapat menghasilkan aplikasi utuh dan juga program Python hanya dapat

berjalan di komputer yang telah di-installinterpreter Python.

Python sendiri juga mempunyai kelebihan dibandingkan bahasa pemrograman

yang umumnya yaitu:

1. Python merupakan perangkat lunak open source yang berarti gratis. Python

sering ikut disertakan pada berbagai versi Linux.

2. Python terdapat pada kebanyakan sistem operasi (Linux, Unix, Windows, Mac

OS, dll). Program yang telah ditulis pada satu sistem maka dapat berjalan pada

semua sistem tanpa perlu dimodifikasi.

3. Python mudah untuk dipelajari dan dapat menghasilkan kode yang lebih mudah

dibaca dibanding bahasa pemrograman lainnya.

4. Python dan ekstensinya mudah untuk di-install.

Langtangen (2008, p. 20)mengemukakan alasan mengapa memilih Python:

1. Pythonmudah untuk dipelajar karena sintaks yang bersih.

2. Dapat langsung memeriksa kesalahan pada saat dijalankan.

3. Pemrograman dengan data yang heterogen dan bertumpuk sangat mudah.

4. Pemrograman berorientasi objek sangat mudah

5. Adanya bantuan untuk komputasi numerik yang efisien.

6. Integrasi Python dengan C, C++, Fortran dan Javasangat didukung.

Python sendiri dapat diperoleh di situs http://www.python.org/, sekarang

Python dirilis dalam dua versi berbeda yaitu 2.7.2 yang dirilis pada tanggal 12 Juni 2011

dan 3.2.2 yang dirilis pada tanggal 4 September 2011. Saat ini yang sedang

54

dikembangkan adalah versi 3.x yang merupakan pengembangan dari versi sebelumnya

yaitu versi 2.x.

2.13 Tkinter

Tkinter merupakan layar antarmuka standar ditulis oleh Fredrik Lundh yang

disediakan oleh Python yang biasanya sudah ada ketika Python di-install-kan di

komputer. Library Tkinter menyediakan antarmuka yang ditulis dengan orientasi objek,

maka setiap komponen pada Tkinter merupakan class yang diturunkan dari class Widget.

Tkinter terdiri dari beberapa modul sedangkan antarmukanya disediakan oleh modul

_tkinter. Modul tersebut berisi antarmuka tingkat rendah ke Tkinter dan tidak dapat

digunakan secara langsung oleh programmer karena biasanya berupa shared library

(atau DLL). Untuk dapat menggunakannya maka harus import modul Tkinter tersebut

dengan mengetikkan : “import Tkinter”, “from Tkinter import *”, atau “import Tkinter

as Tk”.Pada Tabel 2.7 berikut adalah komponen – komponen yang terdapat pada

Tkinter:

Tabel 0.7Tabel Komponen Pada Tkinter

Komponen Deskripsi Frame Sebagai tempat menampung komponen lainnya Label Menampilkan teks atau icon yang tidak bisa diubah Entry Menerima masukkan dari pengguna melalui keyboard

atau menampilkan informasi. Inputan dibatasi hanya satu baris.

Text Menerima masukkan dari pengguna melalui keyboard atau menampilkan informasi. Inputan bisa lebih dari satu baris.

Button Memanggil sebuah event ketika ditekan Checkbutton Komponen seleksi dimana pengguna dapat memilih lebih

dari satu atau tidak harus memilih Radiobutton Komponen seleksi dimana pengguna hanya dapat

memilih satu pilihan Menu Menampilkan kumpulan item yang dapat dipilih oleh

55

pengguna Canvas Menampilkan teks, gambar, garis atau bentuk Scale Memperbolehkan pengguna untuk memilih angka

menggunakan slider Listbox Menampilkan kumpulan teks ang dapat dipilih Menubutton Menampilkan popup atau pulldown menu Scrollbar Menampilkan scrollbar untuk canvas, text, dan list

Sumber: (Deitel, Deitel, Liperi, & Wiedermann, 2002, p. 344)

2.14 lxml

lxml merupakan library untuk Python yang dikembangkan secara khusus untuk

membaca dan menghasilkan fileXML.lxml bisa didapatkan di http://lxml.de/dan berada

di bawah lisensi BSD.Versi pertamanya dirilis pada tanggal 8 April 2005 dan saat ini

versi terbarunya sudah mencapai 2.3.3 dan dirilis pada tanggal 4 Januari 2012 dengan

serta penambahan fungsi yang baru dan perbaikan dari versi sebelumnya. Dalam

pemakaiannya, lxml membutuhkan Python minimal versi 2.4 atau ke atasnya.

Pada proses instalasinya, lxml membutuhkan juga librarylibxml 2.6.21 atau ke

atasnya dan juga library libxslt 1.1.15 atau ke atasnya. Library liblxml bisa didapatkan di

http://xmlsoft.org/downloads.html dan library libxslt bisa didapatkan di

http://xmlsoft.org/XSLT/downloads.html.Kedua library ini berada di bawah lisensi

MIT.