55
Program Autolisp adalah suatu program yang sangat bermanfaat, bila digunakan pada saat mengerjakan program Autocad, program ini dirancang khusus untuk kegunaan pada Autocad, diluar Autocad program ini tidak bisa digunakan. Manfaat lain Autolisp adalah bisa mempersingkat proses kerja seorang drafter, apabila seorang drafter akan melakukan editing suatu objek, dengan menggunakan properties, umpamanya proses yang dibutuhkan sekitar 5 tahapan, tapi dengan menggunakan bantuan suatu program Autolisp, maka tahapan proses bisa dipersingkat menjadi 2 kali tahapan, dan tahapan prosesnya bisa sekehendak pembuat program. Fungsi bawaan dari Autocad biasanya kurang memenuhi selera dari pemakai, dengan kemampuan seseorang bisa membuat program, maka segala sesuatu yang berada pada program Autocad tersebut bisa dirubah sekehendak programernya. Umpamanya tampilan untuk menu, menu pull down, membuat ikon, program khusus yang bawaannya tidak atau belum dilengkapi. Autolisp sebenarnya sebuah program yang paling mudah dimengerti, mudah dipelajari dan paling praktis dipakai pada Autocad. Sederhana saat aplikasi di Autocad , tidak berbelit-belit, tahapan pakainya singkat, sehingga program Autolisp ini sangat digemari oleh para pemakai Autocad di seluruh dunia, dan mejadikan Autocad lebih populer dibandingkan program cad yang lain. Penulis akan memaparkan program ini secara jelas dan detil, bagaimana program Autolisp dibuat, dan bagaimana memahami program bekerja, serta mencari kekeliruan pada program yang telah dibuat, dan contoh program yang sudah jadi untuk aplikasi pada pekerjaan sehari-hari . Program ini untuk applikasi pada Autocad rilis 2005, apabila digunakan pada rilis yang lebih tinggi atau lebih rendah, ada kemungkinan beberapa program tertentu tidak bisa jalan. Sementara tutorial ini hanya akan memaparkan program Autolisp konvensional , tidak akan mengupas program DCL atau Dialog Control Language, maupun menambah Autolisp ActiveX , Autolisp reactor, tujuan penulis agar pembaca lebih memahami program dasar Autolisp dulu, dan menjadikan lebih mahir ketika membuat program yang sederhana, untuk kebutuhan intern pembaca. Sangat dianjurkan bagi pembaca tutorial ini, terlebih dahulu harus menguasai program Autocad, sebelum menjalankan program Autolisp, karena apabila anda tidak mengerti sama sekali tentang Autocad, niscaya akan menemui kesulitan bila memaksakan mempelajari tutorial ini, dan apabila anda setelah membaca tutorial ini masih mendapat kesulitan, ketika akan mengaplikasikannya , segera menghubungi penulis dengan alamat. 1). [email protected] 2). [email protected] 3). [email protected] Aktif di forum sangat dianjurkan, khususnya yang berhubungan dengan Autolisp, dengan anda aktif di suatu forum yang membahas perihal Autolisp, maka anda bisa menanyakan

Program Autolisp

Embed Size (px)

DESCRIPTION

TUTORIAL AUTOLISP

Citation preview

Page 1: Program Autolisp

Program Autolisp adalah suatu program yang sangat bermanfaat, bila digunakan pada saat mengerjakan program

Autocad, program ini dirancang khusus untuk kegunaan pada Autocad, diluar Autocad program ini tidak bisa

digunakan. Manfaat lain Autolisp adalah bisa mempersingkat proses kerja seorang drafter, apabila seorang drafter

akan melakukan editing suatu objek, dengan menggunakan properties, umpamanya proses yang dibutuhkan sekitar

5 tahapan, tapi dengan menggunakan bantuan suatu program Autolisp, maka tahapan proses bisa dipersingkat

menjadi 2 kali tahapan, dan tahapan prosesnya bisa sekehendak pembuat program.

Fungsi bawaan dari Autocad biasanya kurang memenuhi selera dari pemakai, dengan kemampuan seseorang bisa

membuat program, maka segala sesuatu yang berada pada program Autocad tersebut bisa dirubah sekehendak

programernya. Umpamanya tampilan untuk menu, menu pull down, membuat ikon, program khusus yang bawaannya

tidak atau belum dilengkapi.

Autolisp sebenarnya sebuah program yang paling mudah dimengerti, mudah dipelajari dan paling praktis dipakai

pada Autocad. Sederhana saat aplikasi di Autocad , tidak berbelit-belit, tahapan pakainya singkat, sehingga program

Autolisp ini sangat digemari oleh para pemakai Autocad di seluruh dunia, dan mejadikan Autocad lebih populer

dibandingkan program cad yang lain.

Penulis akan memaparkan program ini secara jelas dan detil, bagaimana program Autolisp dibuat, dan bagaimana

memahami program bekerja, serta mencari kekeliruan pada program yang telah dibuat, dan contoh program yang

sudah jadi untuk aplikasi pada pekerjaan sehari-hari . Program ini untuk applikasi pada Autocad rilis 2005, apabila

digunakan pada rilis yang lebih tinggi atau lebih rendah, ada kemungkinan beberapa program tertentu tidak bisa

jalan.

Sementara tutorial ini hanya akan memaparkan program Autolisp konvensional , tidak akan mengupas program DCL

atau Dialog Control Language, maupun menambah Autolisp ActiveX , Autolisp reactor, tujuan penulis agar pembaca

lebih memahami program dasar Autolisp dulu, dan menjadikan lebih mahir ketika membuat program yang sederhana,

untuk kebutuhan intern pembaca.

Sangat dianjurkan bagi pembaca tutorial ini, terlebih dahulu harus menguasai program Autocad, sebelum

menjalankan program Autolisp, karena apabila anda tidak mengerti sama sekali tentang Autocad, niscaya akan

menemui kesulitan bila memaksakan mempelajari tutorial ini, dan apabila anda setelah membaca tutorial ini masih

mendapat kesulitan, ketika akan mengaplikasikannya , segera menghubungi penulis dengan alamat.

1). [email protected]

2). [email protected]

3). [email protected]

Aktif di forum sangat dianjurkan, khususnya yang berhubungan dengan Autolisp, dengan anda aktif di suatu forum

yang membahas perihal Autolisp, maka anda bisa menanyakan kepada seseorang ataupun sekelompok,

permasalahan yang anda hadapi, pertanyaan anda akan tersebar keseluruh dunia maya, hal ini akan dibaca oleh

programmer pemula maupun yang sudah mahir, yang pasti jawaban dari mereka akan anda dapat dengan beragam

pendapat. Dan seandainya anda telah menguasai program ini, tentu saja anda bisa membantu seseorang yang

merasa kesulitan ketika membuat sebuah program, kemampuan anda akan di hargai oleh orang lain.

Page 2: Program Autolisp

1.1 Sejarah Autolisp

Autodesk mulai menyisipkan Autolisp pada Autocad versi 2.18 atau rilis 6 pada Januari 1986, pada rilis ini belum

dilengkapi Autolisp editor, bila anda ingin mengoreksi program Autolisp harus dilakukan melalui program notepad,

mulai pada rilis 2000 dilengkapi dengan editor untuk Autolisp, dengan sarana ini pengerjaan dan editing program

Autolisp semakin mudah.

Bahasa Autolisp asal muasalnya adalah dari bahasa Artificial Intelligence (AI), sekitar tahun 1950-an. Autodesk

membeli program ini dan dinamai Visual LISP, dengan diaplikasikan di Autocad program tersebut lebih popular

dengan nama Autolisp.

Program AutoLisp berasal dari versi pertama XLISP, yang dibuat oleh David Betz. Lisp adalah singkatan dari LISt

Processor atau dengan kata lain bisa berupa Lost In Silly Parenthesis, lisp adalah program bahasa yang

dikembangkan oleh MIT pada tahun 1956.

AutoLISP adalah sebuah bahasa program yang dirancang untuk memperluas dan multiguna pada fungsi AutoCAD.

Inti dasarnya dari bahasa program LISP, bermula sekitar tahun 1950, aslinya LISP dirancang untuk aplikasi Artificial

Intelligence (AI), dan masih berbasis untuk semua aplikasi AI. AutoCAD mulai memperkenalkan AutoLISP sebagai

program aplikasi antar muka atau interface pada rilis 2.1, pertengahan 1980. LISP telah dipilih sebagai awal

AutoCAD API , sebab ia mempunyai keunikan untuk proses perancangan tak berstruktur pada proyek AutoCAD,

yang melibatkan mencoba ulang perbedaan solusi pada masalah desain.

Visual LISP® (VLISP) adalah sebuah software tool yang dirancang untuk menyelesaikan pembentukan program

AutoLISP . VLISP Integrated Development Environment atau VLIDE adalah sarana untuk membuat, modifikasi ,

mencoba dan meload program, VLISP bisa dikata merupakan sebuah kendaraan untuk menyerahkan program

aplikasi di dalam Autolips.

1.2 Kelebihan Autolisp

1. Mampu mengakses sifat objek lebih komplit pada gambar tunggal

2. Sangat mudah untuk menjalankan dan menguji program.

3. Mudah mengakses program.

4. Tidak membutuhkan untuk mendeklarasikan dimensi variabel.

5. Sangat mudah mengerjakan dengan titik dan geometri

6. Sangat fleksibel pada perubahan variabel yang dinamis

7. Mudah membuat kode dan menjalankan

8. Tidak dibutuhkan penanganan khusus, library luar, atau variasi antar platform

9. Dapat dijalankan pada Windows/Dos/Unix dll dengan data file yang sama

10. Autolisp sangat bermanfaat pada proses array.

1.3 Kekurangan Autolisp

1. Hanya bekerja pada AutoCAD

2. Tidak bisa menampilkan dialog box

3. Proses bekerja program agak lambat bila dibandingkan dengan VBA.

1.4. Manfaat Autolisp

Manfaat Autolisp pada Autocad meliputi;

1.4.1. Bisa mempersingkat tahapan proses pada saat editing

1.4.2. Menyederhakan gambar kerja yang sering diulang

1.4.3. Bisa melengkapi program aplikasi yang belum lengkap

1.4.4. Mampu mengerjakan pekerjaan rumit, seperti kalkulasi, mencari objek dan manipulasi.

1.4.5. Bisa mempersingkat bekerja bagi seorang drafter.

1.4.6. Bisa membuat gambar menjadi demonstrative.

1.4.7. Bisa merubah tampilan menu, sekehendak pembuatnya.

Page 3: Program Autolisp

Pengenalan editor visual lisp

Permulaan untuk menjalankan sebuah program Autolisp, adalah anda harus jalankan dulu program Autocad, ada

dua cara untuk menuju dan membuka editor visual lisp. Pertama melalui perintah command, ketik “vlide” langsung

pada command prompt, teknik kedua melalui menuTool>AutoLISP>Visual Lisp Editor.

Maka akan muncul seperti gambar dibawah ini (klik untuk memperbesar).

Bentuk Visual LISP Editor

Autolisp editor terdiri dari 3 editor.

1. Visual Lisp Console

2. Trace editor

3. Build Output editor

Visual lisp console adalah berguna untuk menulis program, trace editor adalah untuk melihat hasil program yang

diuji, dan build output editor adalah untuk melihat hasil program yang periksa kekeliruannya. Dalam satu tampilan

editor tercakup beberapa editor.

Format dasar program

Untuk merancang sebuah program Autolisp, perlu diketahui beberapa persyaratan yang harus dipenuhi, struktur

program harus benar agar program saat dijalankan hasilnya bisa diperoleh sesuai keinginan pembuat. Sebuah

program terdiri dari , atau lihat lampiran dibawah.

Page 4: Program Autolisp

Format dasar program Autolisp.

Keterangan untuk program

Menjelaskan bahwa program tersebut mencakup nama program beserta cara penggunaan program tersebut,

pembuat , tanggal dibuat , nomor program, ataupun waktu revisi. Ada kalanya seorang programmer sering merevisi

programnya dan untuk mengingat maksud dan tujuan revisi tersebut.

Penentu fungsi

Penentu fungsi ditunjukkan dengan tanda balon defun, adalah untuk menjelaskan kepada Autocad, agar program

ini bisa bekerja dengan baik , yaitu dengan dilengkapi fungsi “ (defun ”, ini kepanjangan dari Defines a function,

artinya untuk menentukan atau menetapkan fungsi setelah tulisan disebelahnya.

Tulisan berikutnya “c:” adalah sebuah kode agar bisa dibaca oleh Autocad, dan “test” adalah nama dari panggilan

untuk program tersebut, perlu diketahui nama ini jangan sampai terjadi konflik dengan fungsi asli dari program

Autocad, artinya jangan sampai terjadi duplikat nama, hindari nama yang sama seperti pada daftar referensi

(lihat Daftar Command dan aliasnya).

Bentuk akhir adalah “(/)” , didalam kurung tersebut ada garis miring, bila ada huruf diletakan sebelah kanan garis

miring, seperti contoh ini “(/ a b c d)”, itu artinya program tersebut mengandung lokal variabel, dengan nama

variabel a, b , c dan d.Fungsi kedua adalah untuk meriset nilai lokal variabel tadi menjadi nol atau nil. Bila hurufnya

diletakkan sebelum garis miring, sebagai contoh “ ( x / a b c d)“, itu memberitahuan pada program tersebut agar sub

program yang bernama “x” , harus sudah bekerja sebelum program utamanya berjalan, kalau sub program “x” belum

bekerja, program utama tidak akan bisa bekerja pula, kalau suatu program pada tanda “ (/) “ , tidak mengandung atau

tidak tercantum lokal variabel, artinya, variabel tersebut akan dijadikan global variabel.

Seting variabel

Seting variabel ditunjukkan dengan tanda balon setvar, adalah sebuah alat bantu untuk menentukan program

bekerja dengan baik, contohnya menentukan seting osnap mode.

Seting lokal variabel

Berikutnya adalah seting lokal variabel, ditunjukkan dengan tanda balon setq, menetapkan nilai atau kalkulasi dari

variabel, atau bisa juga mengambil data dari area gambar, kemudian diolah sedemikian rupa yang selanjutnya akan

diselesaikan oleh perintah cad

Perintah akhir Autocad

Perintah cad , ditunjukkan dengan tanda balon command bisa

berupa command, entmake, princ ,entmode ataupun alert.

Penutup program kerja

Penutup program dengan ditunjukkan tanda balon princ, mengantarkan program Autolisp ini setelah menjalankan

programnya keluar dengan tenang, serta terakhir ditutup dengan tanda “)”.

Page 5: Program Autolisp

Merancang sebuah program

Program bisa bekerja kalau format programnya telah benar, artinya didalam susunan baris ke barisnya telah sesuai

aturan program Autolisp, dan tidak terdapat kekeliruan.

Seting snap dalam Autocad, dapat menyebabkan pekerjaan Autolisp menjadi berantakan, ide yang sangat baik, bila

saklar snap selalu dalam keadaan mati, ketika program mulai bekerja dan dihidupkan ketika perlu, fungsi blip pada

layar monitor harap dimatikan pula, perlu diingat, kembalikan seting Autocad ke asal ketika program telah selesai

bekerja.

Penulis akan memperlihatkan cara membuat program, dengan yang sederhana kemudian berlanjut sesuai

keperluannya, pertama sebuah contoh bagaimana cara membuat sebuah garis lurus, dari kordinat (0,0,0) ke kordinat

(10,0,0).

Kembali ke visual lisp console, di klik ikon yang bernama “New File”, kemudian salin rumusan pada gambar di bawah

ini, pada saat mengetikan huruf atau angka dan kurung kurawal, seketika warna tampilan akan otomatis berubah

sesuai aturan pada table 1, setelah selesai segera lakukan save, dengan nama Test.lsp.

Keterangan gambar: Membuat program ketika pertama kali sebelum di save

Keterangan Tabel: Perubahan warna huruf ketika dibuat di Visual Lisp Console (klik untuk melihat gambar besarnya)

Meloading program

Ada dua cara untuk meloading sebuah program, kedalam sesi Autocad, serta ada yang permanen dan ada pula yang

sementara.

Permanen

Untuk yang permanen ikuti petunjuk, anda dapat mengakses menu AutoCAD tools>load application… Ini akan

membuka kotak dialog load/unload application.

Page 6: Program Autolisp

Langkah selanjutnya adalah lakukan klik pada tombol “Contents..” yang akan membuka dialog startup suite. Tekan

tombol “Add”, lakukan pencarian dimana disimpannya file yang anda simpan tersebut, setelah ketemu, tekan add dan

tekan selanjutnya close sampai dialog tersebut tutup.

Pada sesi lain, lakukan untuk menetapkan agar Autocad selalu membaca ketika setiap saat dibuka, arahkan kursor

ke menu “Tools”, kemudian pilih “Options” dan di klik, akan timbul dialog Options.

Pilih tanda”+” dan di klik pada “Support File Search Path”, folder tersebut akan terurai kebawah, disebelah kanan

dialog cari tombol add yang berada dibawah tombol browse, kemudian lakukan tekan tombol “Add”, bagian akhir atau

paling bawah support file search path tadi , akan terbentuk sejenis kotak kosong, tekan lagi tombol ”Browse” maka

dialog berikutnya akan muncul, cari lagi file yang anda simpan, tetapi disini bukan mencari filenya, hanya mencari

lokasi folder tempat file tersebut disimpan, setelah diketemukan tekan tombol ok, dan lanjutkan dengan menekan

tombol “Apply” ikuti dengan tekan tombol “OK”.

Sementara

Meloading kode untuk sementara, yaitu dengan cara , buka “visual lisp console editor”, buka file “Test.lsp”, setelah

terbuka cari ikon yang bernama “Load active edit window”, tekan tombol tersebut, dan seketika editor berubah ke

“Visual lisp console”, dengan menampilkan

; 1 form loaded from #

_$

Page 7: Program Autolisp

Keterangan diatas menyatakan, bahwa pada drive F dengan folder Test, dan nama file Autolispnya Test.LSP, telah

dilakukan loading.

Ini bukti bahwa anda telah meload sebuah program, ke Autocad seperti nama yang terlampir di atas.

Mencoba program

Sekarang Autocad sudah siap untuk menerima perintah yang anda masukan, yang harus diketahui oleh setiap

pemakai cad, adalah perintah apa yang harus dimasukkan ke command prompt, kembali lagi kita ke kode Autolisp

yang telah ditulis.

Keterangan gambar: Tanda panah menunjukan nama kode dari program itu.

Lihat tanda panah warna biru, menunjuk pada kata “test”, selalu diletakkan setelah kata “c:”, itu adalah kode yang

harus anda ingat , ketika akan menguji sebuah program.

Ketik kata “test” pada command prompt, lanjutkan dengan menekan tombol enter, amati hasilnya dan apa yang

terjadi, seketika timbul di layar monitor sebuah garis lurus , dari kordinat 0,0 sampai dengan kordinat 10,0

Amati kode di gambar tutorial sebelumnya, program tersebut menunjukkan pada kita, bahwa program itu sedang

membuat garis dari kordinat “0,0,0” ke kordinat “10,0,0”, dengan menggunakan variabel p1 dan p2, perintah Autocad

menjalankan berdasarkan masukkan dari variabel tersebut.

Baris pertama dari gambar 2.010, adalah “ (defun c:test (/ p1 p2) ”, program Autolisp selalu didahului oleh kurung

buka, kemudian diikuti fungsi lain, disini terdapat kata “ defun ”, uraian lengkap telah dibahas pada posting

ini: penentu fungsi, setelah kata “ c: ” ada tulisan “ test ”, kata ini boleh diganti sesuka pembuatnya, yang penting

kata untuk pemanggil program ini jangan sampai bentrok dengan kata yang terdapat pada command alias pada

Autocad, lihat pada attachment ini.

Tentu saja ada beberapa program yang bentuknya agak lain, misalnya:

(defun c:test ()

Variabel yang terkandung didalamnya, dengan sengaja tidak di riset menjadi nol, dengan tujuan tertentu variabel

dijadikan global variabel.

(defun c:test (/)

Kasusnya hampir sama dengan sebelumnya, hanya ada penambahan garis miring saja, tetapi kegunaannya tidak

begitu berpengaruh pada program tersebut.

(defun c:test (/ p1 p2)

Dan pada baris ketiga terdapat local variable p1 dan p2, sengaja dicantumkan disitu agar variable tersebut setelah

program dijalankan nilai variabel p1 dan p2 akan menjadi nol atau nil.

(defun c:test (a b c / p1 p2)

Serta yang terakhir mengandung huruf a, b dan c. telah diuraikan lebih jelas pada penentu fungsi.

Berikutnya baris (setq p1 ‘(0 0 0)), ini artinya variabel yang bernama p1 minta diset ke nilai 0,0,0 pada kordinat di

area gambar, anda boleh saja menamai variabel tersebut sesuka anda, yang penting antar variabel jangan sampai

terjadi duplikat nama, nanti akan membingungkan Autocad sendiri. Setq adalah singkatan dari Set to Quote, atau

minta diset ke nilai tertentu untuk variabel yang bernama “anu”, persamaan tersebut bisa juga berbetuk lain,

contohnya (setq p1 (list 0 0 0)), antara quote atau “ ‘ “ dan list adalah pengertiannya sama, jadi anda bisa menulis

‘(0 0 0)’ ataupun (list 0 0 0), lihat dibawah ini.

Page 8: Program Autolisp

Keterangan gambar: Contoh bentuk lain menulis program

Poin “(setq p2 ‘(10 0 0))” tidak perlu dibahas karena sudah tercakup pada uraian diatas, baris berikutnya terdapat

“ (command “_line” p1 p2 “”) “, ini artinya menjelaskan kepada Autocad agar dilakukan perintah pembuatan

sebuah garis dari variabel p1 ke variabel p2, sedang tanda “” adalah sama dengan tekan enter. Baris berikutnya  “

(princ) “ ini menjelaskan setelah program tersebut bekerja , akan keluar dengan tenang, terakhir setiap program

harus ditutup oleh kurung tutup.

Autolisp adalah program bahasa computer yang paling banyak menggunakan kurung kurawal, hati-hati penggunaan

kurung kurawal ini, karena semua programmer Autolisp sering menemui kekeliruan hanya pada kekurangan atau

kelebihan kurung kurawal, tetapi kadang kala kesalahan sedikit membuat program menjadi tidak bisa bekerja,

ataupun sulit menganalisa letak kesalahannya.

Kesalahan membuat program merupakan pekerjaan rutin setiap programer , tanpa disengaja program yang dibuat

kadang kala mengandung kekeliruan, entah kekeliruan itu disengaja atau karena keliru menempatkan kode,

kekeliruan ini sering membuat seorang programmer menjadi bingung sendiri, apalagi kalau pengetahuan mengenai

cara mencari solusinya masih kurang, akan menjadi boomerang bagi dirinya sendiri, termasuk penulis sendiri ketika

membuat program, sulit memecahkan kekeliruan itu, akhirnya program tersebut ditinggal. Aktip di forum adalah salah

satu solusi yang paling jitu, seseorang yang mengerti Autolisp tampa dibantu itu, niscaya akan banyak menemui

kesulitan, karena satu persoalan yang kita hadapi , bila di pertanyakan pada forum terkait akan mendapat respon

yang luar biasa, sebab di forum akan dibaca oleh semua orang yang berada di seluruh dunia.

Untuk mencoba sebuah program yang salah, akan kita praktekan dan sebagai sampelnya, kita ambil dari gambar ini,

perlu diketahui proses memeriksa kode yang salah ada beberapa cara. Dengan caraindividual artinya memeriksa

baris demi baris, dan cara global artinya setelah program selesai seluruhnya, satu lagi melalui check text in

editor ini mengecek keseluruhan program, dibawah ini kita akan mulai secara bertahap proses melihat kekeliruan

dari sebuah program , dengan berbagai cara , sebaiknya harus mengetahui dulu ikon mana saja yang bisa dipakai

untuk memeriksa kode tersebut, untuk lebih jelasnya lihat fungsi ikon dibawah ini.

Cara individual

Keterangan Gambar: Tombol load Selection

Ikon Load selection berfungsi untuk menguji program perbaris, lihat gambar diatas, kita akan mencoba antara sebaris

program yang benar dan yang salah.

Keterangan gambar: Tulis sebuah kode di Visual lisp console

Ketiklah kode tersebut pada visual lisp console editor yang baru, yaitu dengan cara klik ikon new file, langkah

selanjutnya jadikan kode tersebut di blok, seperti dibawah ini.

Page 9: Program Autolisp

Keterangan gambar: Sebuah kode yang telah di blok

Kemudian klik ikon “Load selection”, seketika itu pula hasilnya akan diketahui pada build output editor, ini

menunjukan hasil yang benar, artinya kode tersebut benar secara struktural

Keterangan gambar: Hasil akhir dari kode yang di test

Lantas kemudian buatlah sebuah kode yang sengaja disalahkan, kode diatas salin kembali , tetapi tanda kurung

kurawalnya pada akhir kode, supaya dikurangi satu buah, lakukan blok dengan cara tekan kursor sebelah kiri terus

geser sampai akhir kode, akan kita coba dan melihat sejauh mana pengaruhnya dan hasilnya.

Keterangan gambar: Kurung kurawal pada akhir kode dibuang.

Lakukan klik pada ikon load selection, hasilnya lihat dibawah ini.

Keterangan gambar: Hasil akhir bila kode kurang kurung tutupnya.

Keterangan yang didapat dari test internal adalah “ error : malformed list on input ”, artinya list pada input

bentuknya tidak benar, kita masih perlu lebih banyak lagi melihat kesalahan pada kode, coba amati kode yang

dibawah dan perhatikan apa saja yang terjadi bila dari kode tersebut ada salah satu huruf yang sengaja dihilangkan.

Keterangan gambar: Bermacam-macam kode yang keliru, dan hasilnya

Kode diatas adalah melihat kekeliruan yang terjadi pada variabel, dan kita akan lakukan pula pada perintah

command, dan bagaimana akan terjadi, mari kita lihat perubahannya.

Keterangan gambar: Contoh fungsi command yang keliru.

Cara global

Perlakuan untuk menguji kesalahan secara global, sama seperti pengujian untuk individual, yaitu dibuat blok dulu

seluruh kode, dan kemudian klik ikon “Load selection”. Pada gambar berikut, kita coba kurung tutup pada akhir

program dibuang, dan lihat apa yang terjadi

Page 10: Program Autolisp

Keterangan gambar: Memperlihatkan bila kurung penutup dibuang.

Keterangan gambar: Memperlihatkan hasil dari pengujian global

Berikut ini di bagian baris ketiga , kita sengaja kurung tutup dilebihkan , amati kembali hasilnya.

Keterangan gambar: Pada baris ketiga tanda kurung di lebihkan.

Keterangan gambar: Pesan salah ditampilkan, kelebihan tanda kurung.

Baris ke empat sebelum kata “command” kurung bukanya dibuang

Keterangan gambar: Sebelum kata command tanda kurung bukanya dibuang.

Keterangan gambar: Hasil akhir dari pengujian

Di baris pertama setelah kata “test” kurung bukanya dibuang

Keterangan gambar: Tanda kurung buka setelah kata test di buang.

Keterangan gambar: Hasil akhir dari pengurangan kurung

Kurung buka sengaja ditukar dengan kurung tutup, yang terletak setelah kata “test”.

Page 11: Program Autolisp

Keterangan gambar: Kurung buka ditukar dengan kurung tutup.

Keterangan gambar: Hasil test dari kurung ditukar

Check text in editor

Meletakkan spasi setelah kata “c:”, apa yang akan terjadi setelah program tersebut di uji, caranya arahkan kursor ke

menu Tools, arahkan lagi ke “check text in editor”, lanjutkan tekan tombol enter.

Keterangan gambar: Menyisipkan spasi antara “C:” dengan “test”

Keterangan gambar: Hasil test dengan “check text in editor”.

Kemudian kursor ditempatkan pada awal kata “error” dari gambar diatas, dan di klik dua kali, secara otomatis sesi

akan berubah ke program tadi, dengan kondisi seluruhnya di blok.

Keterangan gambar: Perlakuan dari gambar hasil test, semua kode menjadi di blok

Disini kita masih bingung karena seluruh program dalam keadaan di blok tanpa menunjukan letak kesalahan, ini

artinya kekeliruan di program tersebut berada diseluruh program.

Tetapi anda jangan mudah menyerah, amati lagi hasil pengujian tadi, disitu tertulis kata “ error: bad DEFUN syntax:

(C: TEST (/ P1 P2)(SETQ P1 ( … )) … ) ”, artinya kekeliruan berada pada pesan itu, amati dengan jeli , apakah

sintak menulis program sudah sesuai dengan aturan yang telah ditulis di atas.

Sebagai acuan, bila menulis kode “ c:test “, jangan menggunakan spasi antara huruf “c” dengan huruf “ : “

serta dengan nama panggilan untuk kode ( test) tersebut.

Lanjutkan dengan contoh lain, kita akan coba bagaimana kalau salah satu kurung tutupnya dikurangi satu, dan

melihat apa yang terjadi.

Keterangan gambar: Kurung tutup pada variabel p2 di buang

Page 12: Program Autolisp

Keterangan gambar: Hasil pengujian dari kurung dibuang

Arahkan lagi kursor kita ke huruf yang diblok tadi, lihat hasilnya , pasti masih tetap seperti yang diatas, seluruh

program masih di blok lagi, yang berbeda hanyalah keterangan dari hasil pengujian itu, sekarang kekeliruan

menampilkan pesan “error: malformed list on input”, kata tersebut menandakan kepada kita bahwa pada program itu

ada salah satu baris yang tidak beres, mungkin kekurangan tanda kurung ataupun bisa kelebihan tanda kurung,

harap anda melihat baris perbaris dengan jeli.

Cara manual

Perhatikan dari gambar berikut, dari gambar tersebut hanya terdapat dua buah variabel, yaitu variabel p1 dan p2,

pembuat program tidak akan mendapat kesulitan untuk mengindentifikasi setiap programnya, tetapi bila program

tersebut sudah menjadi komplek , tentu hal ini akan menyulitkan dirinya sendiri, kemungkinan ada beberapa variabel

yang belum terdata, sehingga variabel tersebut akan menjadi global variabel.

Cara otomatis

Dengan menggunakan cara otomatis, untuk mengindentifikasi jumlah dan nama variabel, dan untuk menghindari dari

kekeliruan, variabel yang berada dalam kurung atau “ (/ p1 p2) ”, terlebih dahulu dihapus kemudian ikuti langkah

dibawah ini.

Dari gambar 2. 011 blok semua kode tersebut , sampai kode itu ditutupi warna biru, di klik tombol Tools kemudian

ikuti dengan tombol Check Selection, hasilnya akan segera tampil.

[CHECKING TEXT loading... SELECTION].; === Top statistic:; Global variables: (P1 P2); Function definition (with number of arguments): ((C:TEST . 0)); Check done.

Cara yang lebih fleksibel, letakan kursor anda didepan kata “(defun…”, tekan tombol “ Ctrl ” + “ Shift ” bersamaan dan

“ ) “, maka hasilnya akan segera diperoleh

FUNGSI MATEMATIK

Tambah

Dalam teori matematika menambahkan bilangan “ + “ , selalu ditempatkan ditengah angka yang akan ditambahkan,

contoh 1 + 1 tanda “ + ” selalu ditempatkan diantara bilangan, tetapi lain lagi kalau untuk program Autolisp,

menempatkan tanda fungsi selalu ditempatkan di bagian paling depan

Page 13: Program Autolisp

Fungsi matematika               Fungsi Autolisp

1 + 1                                    (+ 1 2)

Kurang

Kurang adalah fungsi untuk mengurangi, mungkin pembaca pasti bertanya, kenapa tidak diganti dengan istilah “ min

“, penulis sengaja tidak mengganti agar tidak terjadi silang pendapat, karena dalam program Autolisp ada juga fungsi

yang bernama min, yang artinya lain lagi.

Fungsi matematika              Fungsi Autolisp

2 – 1                                    (- 2 1 )

Kali

Fungsi matematika                Fungsi Autolisp

2 x 3                                      (* 2 3 )

Bagi

Fungsi matematika                Fungsi Autolisp

2 / 3                                      (/ 2 3 )

Sama dengan

Fungsi matematika                Fungsi Autolisp

2 = 2                                     (= 2 2 )

Tidak sama dengan

Fungsi matematika                Fungsi Autolisp

2 /= 3                                    (/= 2 3 )

Lebih kecil

Fungsi matematika                Fungsi Autolisp

2 < 3                                     (< 2 3 )

Lebih kecil atau sama dengan

Fungsi matematika                Fungsi Autolisp

2 <= 3                                   (<= 2 3 )

Lebih besar

Fungsi matematika                 Fungsi Autolisp

3 > 2                                      (> 3 2 )

Lebih besar atau sama dengan

Fungsi matematika                 Fungsi Autolisp

3 >= 3                                    (>= 3 3 )

Bitwise

Fungsi matematika                 Fungsi Autolisp

(~ 2 )

Penambahan

Fungsi matematika                 Fungsi Autolisp

(1+ )

Pengurangan

Page 14: Program Autolisp

Fungsi matematika                 Fungsi Autolisp

(1- )

Gcd

Fungsi matematika                 Fungsi Autolisp

(gcd 81 57) => 3

Abs

Fungsi matematika                 Fungsi Autolisp

(abs 100) => 100

(abs -100) => 100

(abs -99.25) => 99.25

Lsh

Fungsi ini sangat jarang dipakai pada program.

Fungsi matematika                Fungsi Autolisp

(lsh 2 1) => 4

Max

Max berfungsi untuk mencari nilai angka yang terbesar.

Fungsi matematika               Fungsi Autolisp

(max 4.07 -144) => 144

Min

Min berfungsi untuk mencari nilai angka yang terkecil.

Fungsi matematika               Fungsi Autolisp

(min 4.07 -144) => 4.07

Minusp

Fungsi matematika               Fungsi Autolisp

(minusp -4.293) => T

Rem

Membagi bilangan pertama oleh bilangan kedua dan menghasilkan sisa bilangan, dengan rincian sebagai berikut

42 / 12 = sisa 6

Fungsi matematika               Fungsi Autolisp

(rem 42 12) => 6

Zerop

Memastikan bahwa bilangan itu dievaluasi ke nol.

Fungsi matematika              Fungsi Autolisp

(zerop 0.0) => T

FUNGSI KONVERSI

Angtof

Angtof adalah merubah dari nilai derajat ke nilai tertentu, tergantung dari variabel yang dicantumkan dibelakangnya,

format untuk angtof adalah

(angtof “nilai derajat” variabel)

Page 15: Program Autolisp

nilai variabel adalah sebagai berikut.

0 untuk derajat

1 untuk derajat/menit/detik

2 untuk gradian

3 untuk radian

4 untuk surveyor

Keterangan gambar: Fungsi angtof diset sesuai variabel.

Angtos

Angtos adalah merubah dari nilai radian ke nilai tertentu, tergantung dari variabel yang dicantumkan dibelakangnya

serta kepresisiannya, sintaknya sebagai berikut.

(angtos “nilai derajat” variabel presisi)

0 untuk derajat

1 untuk derajat/menit/detik

2 untuk gradian

3 untuk radian

4 untuk surveyor

Keterangan Gambar: Fungsi angtos diubah sesuai variabel

Ascii

Ascii adalah merubah dari abjad ke angka, tetapi bila abjad tersebut mengandung lebih dari satu, yang dirubah

hanyalah huruf yang pertama saja.

Keterangan gambar: Perubahan huruf ke angka dengan menggunakan fungsi ascii.

Atof

Atof adalah fungsi untuk menghilangkan tanda kutip pada bilangan, dan menjadi bilangan real.

Keterangan gambar: Atof merubah dari pakai tanda petik menjadi polos.

Atoi

Atoi adalah fungsi untuk menghilangkan tanda kutip pada bilangan dan menjadi bilangan bulat, menuju ke nilai

terkecil.

Page 16: Program Autolisp

Keterangan gambar: Atoi merubah dari pakai tanda petik menjadi polos.

Chr

Chr adalah sebuah fungsi untuk merubah bilangan bulat menjadi sebuah abjad tertentu sesuai dengan table yang

ada pada ASCII

Keterangan gambar: Chr merubah angka menjadi kode lain.

Cvunit

Arti cvunit adalah singkatan dari Converts a Value from one UNIT artinya untuk merubah nilai suatu unit ke nilai lain,

sebagai contoh, untuk merubah dari mili meter ke inchi.

Keterangan gambar: Merubah satuan ke satuan lain.

Fix

Merubah bilangan real atau yang mengandung koma, kedalam bilangan bulat dengan mendekati nilai yang terkecil.

Keterangan gambar: Merubah bilangan real menjadi bulat.

Float

Merubah bilangan bulat ke bilangan real

Keterangan gambar: Merubah bilangan integer ke real

Itoa

Merubah bilangan bulat tanpa tanda kutip menjadi pakai tanda kutip.

Keterangan gambar: Merubah bilangan integer tanpa tanda kutip menjadi bertanda kutip.

Rtos

Merubah bilangan real (mengandung koma) tanpa tanda kutip menjadi pakai tanda kutip.

(rtos “nilai angka” variabel presisi)

Page 17: Program Autolisp

0 untuk scientific

1 untuk desimal

2 untuk engineering (biasanya feet atau inch)

3 untuk architecttur (biasanya feet dan pecahan inch)

4 untuk fractional

Keterangan gambar: Merubah bilangan integer atau bulat menjadi bertanda kutip.

Trans

Merubah nilai poin dari kordinat ke kordinat lain, dengan sintak rumusan seperti dibawah ini.

(trans pt from to [disp])

pt = kordinat dalam bentuk 3d

from = dimana 0 = WCS, 1 = UCS, 2 = DCS, 3 = DCS dalam paper space

to = kordinat dalam bentuk 3d

Keterangan gambar: fungsi trans dengan hasilnya.

0 = world

1 = ucs

2 = dcs

3 = paper space pada dcs

FUNGSI GEOMETRI

Angle

Menghitung besarnya sudut antara dua titik, dengan hasil dalam nilai radian.

Keterangan gambar: Mengukur antara dua titik kordinat.

Distance

Mengukur jarak antara dua titik, dalam ruang 2/3D.

Keterangan gambar: Mengukur jarak antara dua titk.

Inters

Mendapatkan data inter seksi antara dua garis.

Page 18: Program Autolisp

Keterangan gambar: Menentukan atau mencari titik singgung antara dua titik.

Osnap

Fungsi osnap adalah untuk mendapatkan titik tertentu pada sebuah objek, dengan bantuan fungsi osnap, seperti

endpoint, midpoint, startpoint dan lain-lain. Tetapi terlebih dahulu lakukan seting variabel osnap untuk mendukung

fungsi osnap tersebut.

Rumusan kode untuk osnap adalah seperti dibawah ini

(osnap pt mode)

pt = untuk titik objek yang dituju

mode = fungsi osnap yang diinginkan, diantaranya “_endp”, “_int:” dan “_midp” serta yang lainnya.

Keterangan gambar: Menentukan atau mencari titik pada dua garis yang bersinggungan.

Polar

Polar digunakan untuk mendapatkan lokasi tertentu, dengan bantuan variabel asal , serta nilai sudut dalam radian

untuk menentukan arah , beserta nilai jarak antara variabel asal sampai dengan lokasi yang diinginkan. Untuk

mendapatkan rumusan polar gunakan seperti ini

(polar pt ang dist)

pt = lokasi asal

ang = sudut dalam nilai radian

dist = jarak antara lokasi asal sampai yang dituju.

Keterangan gambar: Menentukan atau mencari dengan bantuan polar.

Cos

Mencari cosinus sebuah sudut dengan nilai dalam radian.

Keterangan Gambar: Fungsi cos dengan kombinasi pi

Atan

Mengembalikan bilangan arctangent ke dalam radian.

Keterangan gambar: Fungsi atan yang menggunakan satu dan dua angka.

Exp

Mencari nilai bilangan natural pada suatu bilangan.

Page 19: Program Autolisp

Keterangan gambar: Exponen dari suatu bilangan.

Log

Log adalah mencari logaritma dari bilangan real.

Keterangan gambar: Logaritma dari suatu angka

Logand

Mencari hasil logika bitwise and dari daftar bilangan bulat, umumnya logand jarang dipakai pada rumus Autolisp,

hanya pada perintah tertentu digunakan logand.

Keterangan gambar: Logand sebuah fungsi yang jarang dipakai tapi punya kegunaan yang sangat tinggi.

Keterangan gambar: Contoh kegunaan logand yang digabung dengan fungsi command.

Logior

Mencari logika bitwise OR dari daftar bilangan bulat.

Keterangan gambar: Termasuk fungsi logior yang jarang dipakai

Sin

Mencari nilai sudut sinus dari sebuah sudut dengan hasil dalam radian.

Keterangan gambar: Mencari nilai sinus dari bilangan

Sqrt

Menentukan akar dari sebuah bilangan

Keterangan gambar: Nilai akar dari suatu bilangan

Page 20: Program Autolisp

FUNGSI INPUT

Entsel

Entsel adalah kepanjangan dari Entity selection, atau lebih jelasnya, menyeleksi sebuah entiti dari suatu objek, yang

didapat dari entsel ini adalah nama entity dan kordinat, ketika kursor memilih objek, lihat contoh dibawah ini.

Keterangan gambar: Sebuah fungsi entsel ketika digunakan.

Pada baris pertama perlu diingat, ketika membuat sebuah pertanyaan, harus selalu diikuti dengan “n” , ini akan

menunjukan pada kita bahwa pertanyaan tersebut selalu diletakkan pada alinea baru.

Hasil dari pertanyaan diatas terdapat pada baris kedua, mencakup bagian depan adalah nama entiti dan bagian

terakhirnya adalah letak kordinat ketika kursor kita di klik.

Entsel dengan car

Kalau ingin mendapatkan hanya entity saja, tambahkan “car” pada pertanyaan tersebut , car adalahContents of

the Address Register , atau kira-kira daftar isi alamat.

Keterangan gambar: Fungsi car yang digabung dengan entsel akan mendapatkan nama entity dari objek .

Entsel dengan cdr

Dan kalau menginginkan hanya hasil terakhirnya saja, atau letak kordinat ketika kursor di klik, gantilah “car” menjadi

“cdr”, cdr adalah pengertian dari Contents of the Decrement Register, ikuti seperti ini.

Keterangan gambar: Ketika fungsi cdr digabung dengan fungsi entsel, akan mendapatkan lokasi ketika kursor

mengenai objek.

Entlast

Mendapatkan nama entity yang terakhir dibuat oleh fungsi command, dari kode yang terdapat pada gambar 6.063 ,

setelah program command berakhir tambahkan ” (setq el (entlast)) “.

Keterangan gambar: Entlast adalah sebuah fungsi yang didapat setelah Autocad melakukan fungsi pengerjaan.

Entlast adalah dari kata Entity last, fungsi ini banyak sekali digunakan dalam program Autolisp, khususnya setelah

Autocad membuat sesuatu.

Getpoint

Selain bentuk quote atau ” ‘ “, untuk mendapatkan nilai suatu kordinat , bisa digunakan getpoint, getpoint bisa dipakai

dua cara , pertama setelah pertanyaan tersebut muncul langsung diklik di area gambar, kedua langsung masukan

kordinat pada pertanyaan tersebut.

Page 21: Program Autolisp

Bentuk syntax untuk getpoint adalah

(getpoint keterangan)

Keterangan gambar: Getpoint ketika dicoba dengan menggunakan kursor sebagai data input akan menampilkan

kordinat.

Keterangan gambar: Data getpoint ketika memasukan input melalui pengetikan bukan data dari kursor.

Getpoint dengan variabel

Bentuk syntax untuk getpoint adalah

(getpoint keterangan)

Getpoint berfungsi untuk mendapatkan poin atau kordinat di area gambar, pada gambar di bawah terlihat setelah

kata getpoint diikuti dengan p1, ini tujuannya agar garis tarik dari variabel p1 terus mengikuti kemana arah kursor

digerakkan. Getpoint beda dengan list atau quote, getpoint lebih bebas menentukan nilai variabel yang dikehendaki

oleh penggunanya.

Keterangan gambar: Tampilan getpoint dengan batuan variabel lain.

Getpoint dengan strcat

Bentuk syntax untuk getpoint adalah

(getpoint keterangan)

Keterangan gambar: Strcat berfungsi untuk menghubungkan antara dua kalimat yang terputus

Getpoint dengan itoa

Bentuk syntax untuk getpoint adalah,lihat gambar di atas.

(getpoint (strcat keterangan (itoa p1))

Getreal

Nilai sebenarnya bisa didapatkan dengan memakai “getreal”, sebagai contoh didalam program Autolisp untuk

mendapatkan nilai ada dua cara, yaitu getreal dan getint, getreal untuk nilai angka yang mengandung koma 1,5 atau

5,234 dan lain-lain.

Page 22: Program Autolisp

Keterangan gambar: Tampilan getreal dengan hasilnya, hati-hati kalau menggunakan ini bila dipakai untuk fungsi

array

Getint

Bilangan bulat harus menggunakan getint, seperti 2 , 3 , 4 dan segala sesuatu yang tidak mengandung koma,

rumusannya seperti dibawah ini, getint asal mula dari kata get integer.

Bila memasukan data berupa bilangan real, maka akan timbul keliru, program akan menanya ulang, khususnya

dipakai untuk fungsi array.

Keterangan gambar: Aplikasi fungsi getint pada program.

Getdist

Jarak nilai ukuran selalu digunakan getdist, hasilnya bisa berupa bilangan real (ada komanya) ataupun bilangan bulat

(tampa koma), getdist singkatan dari get distance.

Keterangan gambar: Getdist ketika digunakan untuk memasukan data nilai

Getcorner

Getcorner sesuai namanya, adalah untuk mendapatkan poin sebelah atau seberang pojok dari poin yang terdahulu,

ini berarti getcorner akan bekerja kalau telah mendapatkan titik kordinat terlebih dahulu, sebagai patokan untuk

membentuk kotak yang diinginkan oleh pemakai.

Keterangan gambar: Fungsi getcorner digabung dengan variabel lain.

Getstring

Masukan dari pengguna bisa berupa angka ataupun huruf, atau bisa kemungkinan campuran, getstring adalah salah

satu untuk memasukan data dari pengguna. Kalau data masukan mengandung spasi tambahkan setelah kata

getstring dengan “T”

Page 23: Program Autolisp

Getstring dengan strcase

Keterangan gambar: Hasil akhir tampil menjadi semua huruf besar.

Getstring dengan T

Bila data yang dimasukan mengandung spasi, tambahkan huruf “T” setelah fungsi getstring.

Keterangan gambar: Tampilan getstring dengan fungsi t

Getstring dengan strcat

Keterangan gambar: Strcat digabungkan dengan getstring.

Getangle

Getangle adalah sebuah fungsi Autolisp untuk mendapatkan besarnya sudut dalam satuan radian, antara dua titik

kordinat, dengan salah satunya titik kordinatnya menunggu aksi dari pemakai.

Keterangan gambar: Tampilan getangle beserta hasilnya.

Getkword

Getkword selalu dipasangkan dengan fungsi lain, diantaranya fungsi “initget”, pemakai tidak bisa memasukkan kata

lain selain yang telah diset oleh initget, bila fungsi getkword tidak memakai fungsi initget, maka fungsi tersebut tidak

akan berfungsi dengan baik, dan akan menanyakan kembali pertanyaan tersebut, dengan terlebih dahulu

mengirimkan fungsi error, yaitu “Invalid option keyword”, jadi fungsi getkword membutuhkan fungsi tambahan

sebelum kata getkword ditempatkan.

Page 24: Program Autolisp

Keterangan gambar: Tampa fungsi initget fungsi getkword tidak akan jalan.

Keuntungan lain menggunakan fungsi getkword adalah, bila pemakai memasukan, kata cuma “Ad” saja , fungsi

tersebut akan langsung merespon dan memberikan jawaban menjadi “Ade”, atau pemakai cuma memasukan hanya

huruf “A”, respon yang akan muncul menjadi lengkap “Ade”.

Keterangan gambar: Penggabungan fungsi initget dengan fungsi getkword, kelebihan fungsi getkword adalah ketika

pemakai hanya memasukan satu huruf, khususnya bagian depan, fungsi tersebut sudah bisa merespon.

Tetapi bila pemakai memasukan kata diluar kata yang terdapat pada fungsi initget, langsung akan muncul pesan

error, lihat contoh dibawah ini

Keterangan Gambar: Error akan muncul bila pemakai memasukan data diluar dari batasan fungsi initget.

Getorient

Getorient adalah fungsi untuk mengukur sudut antara titik nol, titik nol pada umumnya dalam Autocad selalu dipakai

sistem east, yang titik nol nya diletakkan pada garis sumbu x disebelah kanan, dan mengarah ke sebelah kiri, atau

lebih popular melawan arah jarum jam, input masukan tergantung seting angdir dan angbase. Satuan untuk sudut

dalam fungsi getorient adalah radian.

Keterangan gambar: Data dari hasil getorient adalah dalam nilai radian lihat gambar ini.

Getfilled

Menampilkan dialog box ketika mencari lokasi folder, bisa digunakan fungsi getfilled, dengan rumusan sintak nya

sebagai berikut.

(getfiled “judul dialog box” “lokasi folder” “extension” “seting”)

Page 25: Program Autolisp

Keterangan gambar: Getfilled akan diikuti tampilan lanjutan seperti yang diperlihatkan pada gbr. berikut.

Keterangan gambar: Setelah getfilled di load

Getfilled ini bisa digunakan untuk mencari folder yang berlainan ataupun drivenya, dengan nama khusus pada file

tersebut.

Ssget

Selection set get adalah singkatan untuk ssget, artinya objek yang diambil dari area gambar bisa beberapa objek,

dengan maksimal objek adalah 128, lebih dari itu Autocad otomatis akan meng nol kan objek tersebut. (Autodesk – User’s Guide, release 13.)Kalau pemakai menginginkan hasil seleksi lebih akurat, tambahkan filter atau saringan setelah kata ssget tersebut,

sebagai contoh , bila pemakai ingin dan hanya warna tertentu yang dipilih atau nama layer, ataupun nama object

tertentu yang dinginkan.

Keterangan gambar. Ssget tampa dilengkapi komentar, format seperti ini agak menyulitkan bagi pemakai, tampa

diketahui tujuan fungsi itu

Kalau kita ingin menambahkan komentar untuk pertanyaan, jangan langsung ditempatkan setelah ssget, lihat contoh

ini yang salah

Keterangan gambar: Bentuk ssget yang salah meletakkan komentar.

Seharusnya komentar ditempatkan sebelum ssget, terpisah dari kode utama, kalau disatukan akan terjadi error,

contoh yang benar gunakan “princ” atau “prompt”

Keterangan gambar: Bentuk fungsi ssget dengan komentar yang betul

Page 26: Program Autolisp

Fungsi ssget bisa dikombinasikan dengan fungsi lain, apabila kita menghendaki hanya warna objek tertentu, atau

layer tertentu ataupun seluruh objek yang berada di area gambar, setelah kata ssget tambahkan kata seperti

dibawah ini, rumusannya adalah sebagai berikut.

Ssget dengan C

Keterangan gambar: Tambahan pada fungsi ssget sangat penting , fungsi ssget menjadi lebih selektip

Ssget dengan CP

CP = Semua objek yang disilang dan terdapat dalam kotak khusus

Keterangan gambar: Saringan dengan menggunakan kotak atau garis silang.

Ssget dengan F

F = Seleksi pagar

Keterangan gambar: Tambahan filter dengan fungsi seleksi pagar.

Ssget dengan I

:I = Objek yang dipilih ketika menggunakan pickfirst

Keterangan gambar: Tambahan filter dengan menggunakan pickfirst.

Ssget dengan L

L = objek yang terakhir terlihat

Keterangan gambar: Fungsi “L” digabung dengan ssget.

Ssget dengan P

P = Seleksi terakhir yang dibuat

Page 27: Program Autolisp

Keterangan gambar: Seleksi terakhir digabung dengan ssget.

Ssget dengan W

W = Seleksi jendela

Keterangan gambar: Seleksi jendela ketika berfungsi.

Ssget dengan WP

WP = Semua objek yang terdapat didalam kotak khusus

Keterangan gambar: Semua objek dalam kotak akan ditangkap oleh filter wp.

Ssget dengan X

X = Semua objek yang terdapat di area gambar

Keterangan gambar: Seluruh objek yang terdapat di area gambar akan ditangkap dengan fungsi X.

Ssget dengan :E

:E = Sesuatu objek yang telah dipilih dengan seleksi pickbox

Keterangan gambar: Hanya objek tertentu saja yang dipilih.

Ssget dengan :N

:N = Seleksi yang digunakan untuk block dan transformasi matrik.

Keterangan gambar: Block dan transformasi saja yang diterima

Ssget dengan :S

:S = Hanya diizinkan satu seleksi

Keterangan gambar: Khusus hanya satu jenis seleksi.

Repeat

Sesuai nama, repeat adalah untuk mengulang sesuatu , fungsi ini sering sekali digunakan dalam program Autolisp,

dan malah sering digabung dengan fungsi lain.

Page 28: Program Autolisp

Repeat dengan princ

Keterangan gambar: Fungsi pengulangan yang sederhana.

Hasil dari program diatas , seperti berikut

_$ Adesu is the best

Adesu is the best

Adesu is the best

Adesu is the best

Adesu is the best

Adesu is the best

Adesu is the best

Adesu is the best

Adesu is the best

Adesu is the best

“nAdesu is the best”

Angka 10 menyatakan jumlah yang harus diulang oleh program tersebut, contoh lain untuk mengulang perintah, lihat

dibawah ini

Repeat dengan command circle

Keterangan gambar: Pengulangan di gabung dengan perintah circle.

Kode diatas adalah bagaimana cara mengulang perintah, untuk membuat lingkaran dari radius 1 sampai dengan

radius 100, diatas ada variable yang bernama cnt, fungsinya untuk menambah radius sebelumnya menjadi radius

baru.

Repeat dengan command line

Contoh membuat garis dari centering sebuah arc, ke poin pada sepanjang garis arc tersebut, amati dan pelajari ,

masing- masing fungsi tersebut.

Page 29: Program Autolisp

Keterangan gambar: Membuat garis supaya berulang.

Repeat dengan command text

Keterangan gambar: Membuat huruf secara individual, artinya huruf dibuat satu persatu dengan titil awal sama.

FOREACH

Foreach adalah fungsi untuk mengulang semua anggota yang terdapat dalam daftar, jadi foreach harus menpunyai

terlebih dahulu daftar yang akan diulang.

Format rumusan untuk membuat fungsi foreach adalah sebagai berikut

(foreach x lst fungsi yang diinginkan)

X adalah urutan anggota dari daftar tersebut yang akan dievaluasi

Lst adalah daftar anggota yang akan dievaluasi

Fungsi yang diinginkan adalah suatu fungsi yang akan dikerjakan oleh program sesuai kebutuhannya, lihat gambar

foreach dengan radius, foreach sangat bermangfaat untuk tugas yang rumit, tetapi mempunyai fleksibilitas yang

tinggi, serta membuat kode tidak terlalu panjang

Foreach dengan radius

Page 30: Program Autolisp

Keterangan gambar: Membuat radius berulang dengan bantuan foreach.

Foreach dengan cons

Keterangan gambar: Membentuk daftar dengan bantuan foreach.

Foreach dengan hatch

Keterangan gambar: Keuntungan fungsi foreach ketika digunakan berulang dengan hatch.

Foreach dengan if

Keterangan gambar: Kombinasi foreach dengan if

Foreach dengan tblsearch

Keterangan gambar: Membuat layer dengan bantuan foreach

Foreach dengan text

Keterangan gambar: Fungsi text di gabung dengan foreach

Foreach dengan vl-cmdf

Page 31: Program Autolisp

Keterangan gambar: Membuat layer berkat bantuan fungsi foreach

Foreach dengan spline

Keterangan gambar: Gabungan spline dengan foreach

Mapcar adalah sebuah fungsi Autolisp, yang banyak sekali gunanya dan cukup sulit bagi programmer baru, apalagi

program tersebut sering di kombinasikan dengan fungsi lain, khususnya “lambda”, hanya programmer yang sudah

ahli yang mampu menggunakan dengan baik, kalau anda sebagai pemula usahakan sementara hindari dulu dengan

fungsi mapcar tersebut, kadang kala mapcar sering membingungkan.

Mapcar

Mapcar dengan tambah

Keterangan gambar: Menambah bilangan ke dalam daftar.

Mapcar & lambda

Mapcar & lambda dengan tambah

Keterangan gambar: Membentuk bilangan baru ke dalam daftar.

Page 32: Program Autolisp

Mapcar & lambda dengan nth

Keterangan gambar: Hanya bilangan tertentu yang di inginkan

Keterangan gambar: Mengkoleksi bilangan tertentu dari beberapa kumpulan daftar.

Keterangan gambar: Menambah bilangan dari dalam daftar supaya daftar jadi bilangan baru.

Mapcar & lambda dengan perkalian

Keterangan gambar: Memperkalikan seluruh daftar

Keterangan gambar: Kombinasi perhitungan.

Keterangan gambar: Membuat perkalian dengan masing-masing anggota dalam daftar.

Page 33: Program Autolisp

Mapcar & lambda dengan pembagian

Keterangan gambar: Membagi masing-masing anggota daftar oleh daftar lain.

Mapcar & lambda dengan expt

Keterangan gambar: Menambahkan pangkat pada masing- masing anggota.

Mapcar & lambda dengan cons

Keterangan gambar: Menambahkan bilangan 10 ke masing-masing anggota.

Keterangan gambar: Kombinasi mapcar dengan entmake.

Page 34: Program Autolisp

Mapcar & lambda dengan while

Keterangan Gambar: Kombinasi cons, while dengan mapcar.

Mapcar & lambda dengan cdr

Keterangan Gambar: Kelebihan mapcar bisa memungut hanya nilai tertentu

Mapcar & lambda dengan vl-string-right-trim

Keterangan Gambar: Merubah ektensi sekelompok file dengan bantuan mapcar.

Mapcar & lambda dengan list

Keterangan Gambar: Menggabungkan dua daftar menjadi satu daftar.

Page 35: Program Autolisp

While sama seperti mapcar, foreach ataupun repeat, adalah sebuah fungsi untuk mengulang sebuah program,

dimana terdapat sebuah trigger , fungsi trigger untuk mengevaluasi ulang bila kondisinya masih “nil”, bila trigger telah

tercapai “t” , maka while akan berhenti.

While dengan append

Keterangan Gambar: Membuat gabungan daftar dengan kombinasi while

While dengan cnt

Keterangan Gambar: Fungsi cnt untuk mendapatkan nilai bertambah ketika pertanyaan muncul

While dengan comment

Keterangan Gambar: While di kombinasikan dengan komentar

While dengan cond

Page 36: Program Autolisp

Keterangan Gambar: Fungsi while di kombinasikan dengan cond.

While dengan cons

Keterangan Gambar: While dan cons untuk membentuk sebuah list.

While dengan enter

Keterangan Gambar: Berkat bantuan if, pemakai hanya perlu tekan enter.

While dengan if

Keterangan Gambar: Kombinasi while dengan if

While dengan <

Keterangan Gambar: Fungsi while akan berhenti mengulang ketika bilangan pertama menyamai bilangan kedua.

Page 37: Program Autolisp

Keterangan Gambar: Fungsi while memakai fungsi trigger dan khusus hanya menyeleksi lingkaran.

Keterangan Gambar: Pengulangan akan berhenti ketika variabel n menyamai nilai 10.

While dengan not

Keterangan Gambar: Ketika fungsi entsel mendeteksi hasilnya nil, dan digabung dengan not, sehingga trigger

bernilai T.

Keterangan Gambar: Karena variabel X di set ke nil maka while seakan bekerja terus.

While dengan not dan ssget

Keterangan Gambar: Variabel ss langsung diaktipkan sehingga bersifat nil.

While dengan not equal

Page 38: Program Autolisp

Keterangan Gambar: Selama not equal bersifat nil, proses while berlangsung terus.

While dengan null

Keterangan Gambar: Jika variabel ss menghasilkan nil, maka fungsi princ akan aktif.

While dengan point

Keterangan Gambar: Bila variabel pt diberi input dengan kursor di klik, perintah command akan aktif

While dengan princ

Keterangan Gambar: Fungsi while tidak bisa berhenti kecuali di tekan tombol escape.

While dengan tampa input yang benar

Keterangan Gambar: Karena variabel ed bersifat nil, maka pengulangan akan terus bekerja.

Page 39: Program Autolisp

If

Kondisi untuk mengevaluasi suatu objek biasanya menggunakan fungsi “if”, ada beberapa trik untuk mengadopsi

fungsi “if”, umumnya seorang programmer menggunakan fungsi if , untuk tujuan tertentu dan memastikan bahwa

object yang sedang digarapnya benar-benar sesuai dengan yang dicari, dengan penambahan beberapa fungsi lain.

If dengan and

Membuktikan bahwa variabel pt1 dan pt2 adalah ada, maka perintah pembuatan garis segera dilanjutkan, dan

apabila tidak mengandung pt1 dan pt2, maka perintah pesan error akan segera muncul.

Keterangan Gambar: Jika variabel pt1 dan pt2 masih eksis

If dengan not

Not ditambahkan ke fungsi ini, adalah untuk membuktikan bahwa variabel yang dicari , benar bukan seperti yang

diinginkan.

Keterangan Gambar: Not ketika di gunakan bersama if

If dengan or

Membuat pilihan untuk dimasukan kedalam fungsi if, yaitu dengan menambahkan fungsi or, jadi jika salah satu

pilihan tidak sesuai dengan yang diinginkan , ada salah satu pilihan lagi yang di ajukan sebagai syarat.

Keterangan Gambar: Jika data ada dua yang kriterianya sesuai yang di inginkan

Keterangan Gambar: Fungsi initget berfungsi sebagai filter

Page 40: Program Autolisp

Keterangan Gambar: Contoh lain penggunaan or

If dengan alert

Pesan error ataupun pesan lainnya , bisa berupa peringatan ataupun bahwa pilihannya adalah yang benar-benar

dicari, fungsi alert adalah salah satu fungsi yang berperan cukup reprenstatif.

Keterangan Gambar: Alert digabung dengan fungsi if

Keterangan Gambar: Penggabungan fungsi alert menggunakan fungsi strcat.

If dengan cond

Kondisi ketika data yng dimasukkan adalah benar semua, tetapi fungsi harus menyeleksi atau memilah-milah data

tersebut, hanya fungsi cond yang pantas digunakan untuk hal ini

Keterangan Gambar: Salah satu bentuk penggunaan cond.

If dengan equal

Salah satu fungsi yang berguna untuk membuktikan, bahwa data yang di masukkan adalah sesuai dengan

ketentuan, gunakanlah fungsi equal.

Page 41: Program Autolisp

Keterangan Gambar: Fungsi equal berfungsi mendeteksi bila variabel opt hasilnya “Y”.

If dengan getvar

Jika data yang dimasukan sesuai dengan fungsi lain, fungsi lain bisa berupa seting variabel, data ini diambil atau

didapat dari fungsi getvar.

Keterangan Gambar: Jika variabel ds hasilnya lebih kecil atau sama dengan 1, maka fungsi variabel h1 akan

menanyakan lagi

Keterangan Gambar: Ketika seting orthomode bernilai 0 , fungsi if akan langsung bekerja dan di set ke nilai 1, tetapi

bila orthomode tidak sama dengan 0, otomatis orthomode di set ke nilai 0.

If dengan if

Ketika fungsi if masih diperlukan, untuk mendeteksi variabel pada proses kelanjutannya.

Keterangan Gambar: Penggunaan if di dalam if masih memungkinkan, tergantung kebutuham dari programernya.

Page 42: Program Autolisp

Keterangan Gambar: Secara beruntun pemakain if masih memungkinan, seperti yang di tampilkan gambar di atas.

If dengan member

Member hanya akan mendeteksi sekumpulan daftar, ketika variabel sebagai indikatornya terdapat kesamaan dengan

daftar.

Keterangan Gambar: Member berguna apabila terdapat data dalam sebuah list lebih dari satu, sehingga dengan

fungsi member akan disaring deretan anggota yang sesuai dengan data input.

Keterangan Gambar: Anggota yang diambil adalah yang sama dengan input data, terus menuju kesebelah

kanannya.

If dengan progn

Program diperlukan untuk melanjutkan proses yang panjang, karena fungsi if hanya akan memproses satu fungsi

saja.

Page 43: Program Autolisp

Keterangan Gambar: Jika if tidak menggunakan progn, program tersebut akan timbul error, karena if hanya

melanjutkan proses berikutnya satu langkah saja.

If dengan setvar

Jika fungsi getvar tidak sama dengan nilai 0, maka fungsi setvar langsung bekerja.

Keterangan Gambar: Seting variabel bila tidak sama dengan yang diinginkan, digunakan fungsi if untuk mendapat

seting baru.

If dengan tblsearch

Keterangan Gambar: Tblsearch berfungsi untuk mendeteksi jenis style yang sedang dipakai, dari gambar tersebut di

cari apakah jenis huruf yang bernama “Arial”, masih eksis tidak, jika masih fungsi setvar bekerja. Jika tidak terdapat,

maka di lakukan loading jenis huruf tersebut.

If dengan textstyle

Fungsi ketidaksamaan akan bernilai betul atau bila variabel txs dan htx berlainan, maka loading huruf akan dimulai.

Keterangan Gambar: Kasus ini sama dengan gambar sebelumnya (if dengan tblsearch)

Cond

Page 44: Program Autolisp

Cond adalah singkatan untuk condition, fungsi ini digunakan apabila mengevaluasi beberapa object atau daftar yang

benar, tetapi hanya salah satu yang bisa diterima pada proses selanjutnya, untuk lebih detilnya lihat contoh.

Cond dengan getkword

Getkword akan berfungsi sebagai pembatas input masukan, dan mengulang bila tidak ada data yang masuk serta

tidak sesuai, dengan bantuan fungsi initget

Keterangan Gambar: Gabungan fungsi antara cond dan getkword, serta pembatasan input dari fungsi initget,

memudahkan bagi pengguna untuk memasukan data ke dalam program.

Cond dengan vl-string-search

Keterangan Gambar: Dengan bantuan fungsi vl-string-search, mendeteksi lokasi spasi.

Cond dengan alert

Bila variabel opt nilainya sama dengan nilai dalam fungsi cond, salah satu alert akan berfungsi

Page 45: Program Autolisp

Keterangan Gambar: variabel opt di set ke 1

Keterangan Gambar: Variabel opt di set ke 2

Keterangan Gambar: Variabel opt di set ke T

Keterangan Gambar: Variabel opt di set ke nil

Keterangan Gambar: Variabel opt di set ke enter

Cond dengan getstring

Variabel opt memilih input dari fungsi princ, bila sama dengan yang ada di fungsi cond, salah satu fungsi alert akan

bekerja.

Page 46: Program Autolisp

Keterangan Gambar: Fungsi cond akan mendeteksi, masukan dari variabel opt dan fungsi alert akan memunculkan

dialog box, jika fungsi cond sama

FUNGSI MANIPULASI DATA

Acad_strsort

Untuk mengurut susunan abjad berdasarkan urutan abjad , gunakanlah fungsi acad_strsort.

Keterangan Gambar: Fungsi ini akan mengurut abjad dari data sesuai susunan abjad.

Append

Append digunakan untuk menggabungkan beberapa daftar menjadi satu daftar

Keterangan Gambar: Menggabungkan anggota daftar, agar menjadi sebuah daftar

Assoc

Assoc adalah dari kependekan kata ASSOCiative pada sebuah daftar, dipakai untuk memanggil sebuah asosiasi dari

sebuah daftar entity, contoh dibawah dipakai untuk mengetahui data dari sebuah objek yang didapat dari objek text,

assoc akan bekerja kalau fungsi “entget” telah digunakan terlebih dahulu, dan fungsi “entget” bisa bekerja bila telah

diketahui nama entity tesebut.

Page 47: Program Autolisp

Keterangan Gambar: Dengan fungsi entget, sebuah objek bisa diuraikan nilai yang berhubungan dengan objek

tersebut.

Lihat contoh diatas, untuk mendapatkan jenis entity, lokasi , layer, warna, dan fungsi lain, anda bisa lihat di “F.1.

C:Program FilesAutoCAD 2005Helpacad_dxf”

Car

Contents of the Address Register disingkat menjadi car, car digunakan untuk mendapatkan data pertama dari

sejumlah daftar, atau data awal dari sekumpulan data.

Untuk lebih detil perihal car dan kaitannya, lihat di referensi ini: “G2. Artian dari Register.”

Keterangan Gambar: Memanggil atau mendapatkan nilai pertama dari sebuah daftar.

Cdr

Cdr adalah kepanjangan Contents of the Decrement Register , yaitu untuk mencari nilai kedua dan seterusnya dari

sebuah daftar, dan menghilangkan data pertama.

Keterangan Gambar: Nilai kedua dari sebuah daftar, didapat dengan bantuan fungsi cdr

Cons

Asal kata cons adalah dari construction, yaitu untuk menambahkan elemen objek terhadap awal dari sebuah daftar,

membentuk sebuah pasangan daftar.

Page 48: Program Autolisp

Keterangan Gambar: Membentuk anggota baru dengan bantuan fungsi cons.

Length

Menghitung jumlah bilangan yang terdapat di dalam daftar.

Keterangan Gambar: Menghitung jumlah anggota dalam sebuah daftar.

List

Fungsi list adalah untuk membentuk satuan menjadi sebuah daftar

Keterangan Gambar: Memasukan rangkaian angka supaya menjadi sebuah daftar.

Listp

Untuk memastikan bahwa sebuah daftar adalah merupakan list

Keterangan Gambar: Untuk memastikan bahwa sebuah objek atau daftar, adalah benar-benar sebuah list

Member

Kegunaan dari member adalah untuk mencari sekumpulan anggota dari sebuah daftar anggota, berdasarkan dari

data input, fungsi ini hampir menyerupai dengan cdr.

Keterangan Gambar: Memisahkan sekelompok anggota, yang awal kelompok tersebut sama dengan data masukan.

Nth

Nth merupakan rumus atau sebuah fungsi untuk mencari sebuah anggota, berdasarkan indikator dari data input,

sebuah daftar dihitung nol mulai daftar pertama.

Page 49: Program Autolisp

Keterangan Gambar: Menentukan urutan angka dari sekelompok anggota.

Reverse

Membalikkan sebuah daftar, nilai akhir dijadikan awal daftar.

Keterangan Gambar: Membalik nilai dari sebuah anggota

FUNGSI PENANGANAN OBJEK

Entget

Menguraikan data objek bisa dilakukan dengan mengggunakan fungsi entget, fungsi entget bisa berfungsi bila objek

tersebut telah diketahui nama entitinya, sebelumnya gunakan rumus dari pembahasan sebelumnya tentang fungsi

input bag.1 dan fungsi input bag.2 yang mengupas entsel, setelah itu lanjutkan dengan entget, hasil dari entget ini

akan berupa kumpulan atau asosiai dari entity tersebut .Semua entiti diwakilkan dengan angka, nama layer akan di

wakilkan dengan rumus dxf (8 . “0″), dengan menggunakan fungsi assoc , nama layer akan didapat, lihat cara

menggunakan assoc pada help file .

Keterangan Gambar: Sebuah lingkaran kalau diuraikan akan menjelaskan banyak factor, diantaranya nama objek,

nama layer, jenis warna, radius, pusat lingkaran dan lain-lain.

Entmod

Entity modification adalah kependekan untuk entmode, berfungsi untuk merubah atau memodifikasi data dxf atau

Drawing Interchange File, dari sebuah entity dengan cara menyisipkan data dxf pada entity tersebut.

Keterangan Gambar: Memodifikasi sebuah entity yang sederhana.

Entupd

Setelah dilakukan entmode, mutlak dilakukan proses entupd.

Page 50: Program Autolisp

Keterangan Gambar: Setelah dimodifikasi sebuah entity, perlu untuk dilakukan update terhadap objek.

Entdel

Entdel adalah singkatan dari ENTity DELete, digunakan untuk menghapus objek gambar maupun non gambar,

objeck tersebut masih berlaku, atau objek itu hasil penyimpanan variabel dari perintah Autocad, biasanya selalu

digunakan “entlast” untuk membantu fungsi entdel tersebut, atau bisa digunakan fungsi “last”.

Keterangan Gambar: Menghapus objek di area gambar, bisa dilakukan dengan perintah command atau entdel.

Handent

Handent dari kata HANDle ENTity , yaitu mengembalikan nama entity dari sebuah asosiasi, lihat fungsi dibawah ini.

Keterangan Gambar: Untuk mengetahui atau mengembalikan nama entity, fungsi handent adalah pemecahannya.

FUNGSI PENANGANAN STRING

Read

Menghilangkan tanda kutip pada bilangan atau huruf, dan hanya mengambil nilai yang paling depan.

Keterangan Gambar: Fungsi read selalu dilengkapi dengan tanda kutip, dan menghilangkan tanda kutip, serta hanya

mengambil angka pertama

Strcase

Merubah jenis huruf dari huruf kecil menjadi huruf besar, tetapi bila dilengkapi dengan fungsi ” t “, fungsi tersebut

menjadi tidak berlaku.

Keterangan Gambar: Strcase harus selalu dilengkapi tanda kutip, merubah seluruh abjad dari huruf kecil menjadi

huruf besar

Strcat

Page 51: Program Autolisp

Menggabungkan beberapa huruf ataupun angka, tapi objeknya harus dilengkapi dengan tanda kutip.

Keterangan Gambar: Menggabungkan beberapa huruf agar menjadi satu kalimat.

Strlen

Menghitung jumlah huruf yang terdapat dalam sebuah kalimat, termasuk spasi akan terhitung.

Keterangan Gambar: Menghitung jumlah huruf yang terdapat dalam satu kalimat.

Subst

Substitusi suatu objek kepada objek lain digunakan fungsi subst.

Keterangan Gambar: Menyisipkan variabel ke dalam sebuah entiti, sehingga entiti tersebut bentuk atau modelnya

menjadi berubah sesuai keinginan pemakai.

FUNGSI PENANGANAN SIMBOL