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 M achine 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).
10
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 M IT yang didanai oleh Angkatan Udara Amerika Serikat. Ivan Sutherland membuat program yang dinamakan Sketchpad pada mesin TX-2 dan penemuannya itu telah menginspirasi orang M IT 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. M embuat bentuk kompleks
15 M esin 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 M esin 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. M esin milling merupakan mesin yang kecil dan mudah dioperasikan. Pada industri, mereka digunakan untuk pembuatan alat kerja dan produksi benda kecil lainnya.
16 M enurut Krar & Gill (1999, p. 10), mesin milling dapat melakukan operasi seperti penggilingan, pembuatan kontur, pemotongan gigi, pengeboran dan reaming. M esin 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)
M esin 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 M esin 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.M enurut Krar & Gill (1999, p. 10), mesin lathe biasanya digunakan untuk memproduksi benda yang melingkar. M esin 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) EM Cadalah sebuah perangkat lunak komputer untuk mengontrol mesin seperti
mesin milling,lathe, plasma cutters, cutting machines, robots, hexapods, dan lain –
19 lain.EM C pertama kali dikembangkan oleh Intelligent Systems Division di The National Institutes of Standards and Technology(NIST), sebuah agen dari Departemen Perdagangan Amerika Serikat.EM C 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 EM C tersedia pada situshttp://www.linuxcnc.org. EM C2 merupakan pengembangan dari EM C. Awalnya versi 2.0.0 dirilis pada tanggal 8 M ei 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 M B dengan penambahan fungsi baru dan perbaikan dari versi sebelumnya. EM C2 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 EM C2 untuk mencobanya terlebih dahulu.EM C2 membutuhkan real-time extension yang berguna untuk integrasi langsung dengan mesin namun jika hanya untuk simulasi maka tidak masalah.EM C2 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 EM C2 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 EM C2 tidak menyediakan fungsi CAD (Computer Aided Design)atau menghasilkan G-Codesecara langsung.
20 Ada empat komponen utama untuk perangkat lunak EM C2: kontroler gerak (EM CMOT), kontroller I/O diskrit (EM CIO), modul untuk mengkoordinasi controller (EM CTASK), dan GUI (Graphical User Interface).
Gambar 0.6 Arsitektur EMC Sumber: ( Starovešk, Brezak, Udiljak, & M ajetić, 2009, p. 2)
EM C2 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 EM C2 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 M B.
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 VM ware seperti yang digunakan pada skripsi ini. Penggunaan VM ware 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
EM C2 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
dengankebutuhanpengguna.AXISadalahdefault
program
EM C2supaya
sesuai
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 EM C2 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 EM C2.
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. M esin 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 GCode disertai dengan fungsinya masing-masing:
28 Tabel 0.1 Tabel G-Code 1 Code
G0 G1 G2, G3
Parameters (X Y Z A B C U V W apply to all motions)
I J K or R
G4 G5.2, G5.3 G7 G8 G10 L1 G10 L10
P
G10 L2 G10 L20
P RX YZ A BC P RX YZ A BC
G17 G18 G19 G20 G21 G28, G28.1 G30, G30.1 G33
K
PQRXWZ PQRXWZ
G33.1 G38.2 - G38.5 G40 G41, G42
K
G41.1, G42.1
DL
G43
H
G43.1
IK
G49 G53 G54-G59 G59.1-G59.3
D
Description Rapid motion Coordinated motion ("Straight feed") Coordinated helical motion ("Arc feed") CW or CCW Dwell (no motion for P seconds) NURBs Block X Diameter mode (lathe) X Radius mode (lathe) Tool offset, radius, orientation setting Tool offset, radius, orientation setting calculated Coordinate system origin setting Coordinate system origin setting calculated Select XY plane Select XZ plane Select YZ plane Inches M illimeters Return to or Set reference point 1 Return to or Set reference point 2 Spindle Synchronized M otion Rigid Tapping Straight probe Cancel Cutter Compensation Start cutter radius compensation left or right Start cutter radius compensation left or right, transient tool Use Tool Length Offset from Tool Table Use specified tool length offset for transient tool Cancel Tool Length Offset M otion in M achine Coordinate System Select Coordinate System Select Coordinate System
29 G61 G61.1 G64
P
G76 G80
P Z I J RK Q H L E
G81, G2 G83, G73 G85, G89 G90, G91 G90.1 G91.1
R L (P) RLQ R L (P)
G92
X YZ A BC
G92.1 G92.2 G92.3 G93 G94 G95 G96 G97 G98 G99
SD
Exact Path mode Exact Stop mode Continuous mode with optional path tolerance M ultipass lathe threading cycle Cancel motion mode Drilling cycle without (with) dwell Peck and Chip-break drilling cycles Boring cycle without (with) dwell Absolute distance mode Incremental distance mode Arc centers I,J,K are absolute Arc centers I,J,K are relative to the arc's starting point Offset Coordinate Systems & Set Parameters Cancel offset coordinate systems and set parameters to zero Cancel offset coordinate systems but do not reset parameters Apply Parameters to Offset Coordinate Systems Inverse time feed rate Units per minute feed rate Units per revolution Constant Surface Speed (foot/minute or meter/minute) with top speed RPM M ode Retract to prior position Retract to R position
Sumber: http://linuxcnc.org/docs/html/gcode_main.html
30 Tabel 0.2 Tabel G-Code 2 Parameters (X Y Z A B C U V W apply to all motions)
Code M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M 30, M60
S S T
P0 (off) or P1 (on) M 50 - M53 M 61 M 62-65
P PELQ
M 66 T M 67 M 68 M 100-M199 O F S T (…)
T PQ
(M SG,…) (DEBUG,…#123…#
) (PRINT,…#123…#)
Description Pause Program Optional Stop Other stop codes Turn spindle clockwise Turn spindle counterclockwise Stop spindle Change Tool Turn mist on Turn flood on Turn all coolant off Pallet Shuttle Feed Override, Spindle Override, Adaptive Feed, Feed Hold Set Current Tool Number Digital Output Control Digital and Analog Input Control Analog Output Synchronized with M otion Analog Output Immediate User Defined M -Codes O Codes Set Feed Rate Spindle Speed Select Tool A comment "…" to the user Display the message "…" to the user (e.g., in a popup) Display the message (with variables substituted) like M SG 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 M andelbrot 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 M enurut M andelbrot (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. M andelbrot (1983, p. 15) selanjutnya mendefinisikan fraktal sebagai “himpunan dimana dimensi Hausdorff melebihi dimensi topologikal.” M enurut 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 Tradisional Berdasarkan ukuran atau skala spesifik Gambar berdasarkan objek modifikasi manusia Dapat dideskripsikan dengan formula mudah Contoh : x2 + y 2 + z 2 = r2 M endeskripsikan lingkaran
Geometri Fraktal Inovasi modern Tidak ada ukuran atau skala spesifik M engacu kepada geometri alam Dideskripsikan dengan algoritma Contoh Z n+1 = Z n + Z 0 M endeskripsikan himpunan M andelbrot
Sumber: http://homepages.ulb.ac.be/~dgonze/TEACHING/fractals.pdf
2.7.3
Karakteristik Fraktal M enurut 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. M empunyai sifat self-similarity. 4. M empunyai 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)
M andelbrot (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: • • M aka 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 LSystem diberikan aturan produksi sebagai berikut: • • M aka 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, produksi yang terbatas. Produksi ( , ) predecessor dan minimal satu
adalah axiom dan P dituliskan dengan
adalah dimana
disebut successor. Diasumsikan bahwa untuk setiap sedemikian sehingga
, maka fungsi identitas
, terdapat
. Jika tidak ada produksi spesifik untuk
diasumsikan terdapat pada himpunan P. 0L-System
disebut deterministic (D0L-System) jika dan hanya jika untuk setiap hanya satu
disebut
sedemikian sehingga
, terdapat
.”
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 =
2.8.2
, µn = v dan µ0
µ1
…
µn.”
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 M aju 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 M aju 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 M andelbrot (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 [ M emasukkan status turtle ke dalam stack berupa informasi posisi dan arah dan atribut lainnya yang akan digambar ] M engeluarkan 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(M andelbrot, 1983, p. 52) dan modifikasi Koch curve (M andelbrot, 1983, p. 139)
43
Gambar 0.15Quadratic Koch Island Dan Modifikasi Koch Curve Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 9)
2. Islandsandlakes(M andelbrot, 1983, p. 121)
Gambar 0.16 Kombinasi Islands And Lakes Sumber: (Prusinkiewicz & Lindenmayer, 2004, p. 9)
44 3. M odifikasi 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) M enurut 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. M enawarkan 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. M erancang 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. M emungkinkan 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 tindakantindakan 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. M engurangi 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) M enurut Bentley &Whitten (2010, p. 371),UM L adalah satu set dari ketentuan
modeling yang digunakan untuk menspesifikasi atau mendeskripsikan sebuah sistem perangkat lunak dalam suatu kondisi dari objek. UM L dibagi menjadi beberapa komponen: 1. Class Diagram M enurut 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 M enurut
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 M enurut 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 M enurut 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 M enurut 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. M odel 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 M erupakan 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 M erupakan tahapan dimana perencanaan prototyping dilakukan secara cepat untuk memenuhi kebutuhan yang telah dispesifikasi. 3. Modelling Quick Design
51 M erupakan tahapan dimana pengembang melakukan desain secara cepat yang berfokus pada representasi aspek dari perangkat lunak yang akan terlihat oleh pengguna. 4. Construction Of Prototype M erupakan tahapan dimana konstruksi / pembuatan prototype dilakukan sesuai dengan spesifikasi dan kebutuhan pelanggan. 5. Deployment, Delivery & Feedback M erupakan 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. M eskipun 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, M ac 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. M odul 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 Frame Label Entry Text Button Checkbutton Radiobutton M enu
Deskripsi Sebagai tempat menampung komponen lainnya M enampilkan teks atau icon yang tidak bisa diubah M enerima masukkan dari pengguna melalui keyboard atau menampilkan informasi. Inputan dibatasi hanya satu baris. M enerima masukkan dari pengguna melalui keyboard atau menampilkan informasi. Inputan bisa lebih dari satu baris. M emanggil sebuah event ketika ditekan Komponen seleksi dimana pengguna dapat memilih lebih dari satu atau tidak harus memilih Komponen seleksi dimana pengguna hanya dapat memilih satu pilihan M enampilkan kumpulan item yang dapat dipilih oleh
55
Canvas Scale Listbox M enubutton Scrollbar
pengguna M enampilkan teks, gambar, garis atau bentuk M emperbolehkan pengguna untuk memilih angka menggunakan slider M enampilkan kumpulan teks ang dapat dipilih M enampilkan popup atau pulldown menu M enampilkan 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/XS LT/downloads.html.Kedua library ini berada di bawah lisensi M IT.