Program AutoLISP dengan Dialog Box

zrtn-001p172cf46c-tn.jpg

Tampilan dialog box

Dialog Control Langguage (dcl)adalah sebuah program khusus untuk menampilkan dialog box, atau lebih di kenal dengan “dcl”, program ini tidak bisa bekerja sendiri tapi harus di gabung dengan program lisp, ada dua cara untuk menampilkan dialob box, pertama dialog box terpisah dengan program Autolisp, dan kedua di gabung program Autolisp.

Gambar 1. Sebuah contoh dialog box yang komplit.

Program yang terpisah gambaran kodenya lihat dibawah ini, ini adalah kode Autolispnya.

autolisp code.jpg

Gambar 2.Kode Autolisp yang terpisah dengan kode dcl.

Dan ini adalah kode untuk program dclnya

dcl code.jpg

Gambar 3. Kode dcl yang terpisah dari Autolisp.

Inilah kode Autolisp yang di gabung dengan program dcl.

autolisp n dcl.jpg

Gambar 4.Bentuk kode Autolisp yang masih satu dengan gambar 5

autolisp n dcl 2.jpg

Gambar 5. Contoh kode dcl yang masih gabung dengan gambar 4.

Kelemahan dcl adalah ketika kita selesai membuat program tidak bisa langsung di eksekusi, tetapi harus di save dulu dengan ektensi “dcl”, walau program tersebut memang di buat dengan editor yang sama, menggunakan editor Autolisp. Program dcl lebih sederhana di banding program VBA yang lebih rumit, cuma Vba punya keunggulan lebih di banding program dcl.

Kelebihan program dcl yaitu sangat sederhana dan mudah, editornya masih satu dengan editor Autolisp, untuk mempelajari lebih jauh tentang program dcl, klik menu help pada editor Autolisp, klik “Visual LISP Developer’s Guide”, kemudian pilih “Chapter 11. Designing Dialog Boxes” sampai dengan “Chapter 13″.

acad help.jpg

Gambar 6. Lokasi tutorial dialog box pada file help.

Ada beberapa macam bentuk dialog box

1.Button

Tombol ini biasa di gunakan hampir setiap dialog box, di letakkan biasanya di bagian paling bawah dari sebuah dialog, bisa diletakkan di tengah atau di bagian pinggir, posisinya bisa diatur melalui pengaturan
“alignment=centered”, bila menginginkan posisi sebelah kiri ganti dengan” left”, dan bila ingin di letakkan sebelah kanan ganti dengan “right”.

ok button.jpg

Gambar 7. Contoh bentuk OK button.

Atau anda ingin lebih keren lagi ganti kata “OK” dengan kata yang anda inginkan, seperti pada gambar 8.

ok modified.jpg

Gambar 8. Kata pada tombol di ubah sedemikian rupa.

2.Edit

Dialog untuk mengedit atau menyunting suatu kata input di gunakan edit box, karena lebih sederhana dan mudah, sebuah dialog box bisa aja di tempatkan beberapa bok edit, ini tergantung kebutuhan dari program yang di buat.

edit text.jpg

Gambar 9. Dialog untuk edit kata.

3.Image

Image digunakan bila ingin di tampilkan sebuah ilustrasi atau bentuk gambar yang di pilih, biasanya image di gabung dengan fungsi “list” ataupula “radio button”, misalnya saja anda ingin melihat “UNP” type 50,65,75 atau 80 dst, maka di kotak image akan muncul gambar slide type tsb.

image preview.jpg

Gambar 10.Area hijau bisa di isi oleh image lain

4.List

Untuk menampilkan sekelompok kalimat yang berjajar kebawah, ada dua cara yang sering digunakan, pertama pada gambar 11 hanya akan terlihat pada kalimat paling atas saja, bila ingin melihat semua tampil, anda harus mengklik tanda segi tiga yang mengarah kebawah, sedang pada gambar 12 akan ditampilkan seluruh data.

drop down list.jpg

Gambar 11.Tampilan bisa hanya satu tetapi berisi lebih dari itu.

button list.jpg

Gambar 12.Tampilan bisa seluruhnya terlihat.

5.Radio button

Tombol pilihan pada umumnya di pakai radio button dan lebih popular di kalangan programmer Autolisp, karena tombol ini suka di gabungkan dengan “list” lihat saja pemakaiannya pada gambar 12, misalnya saja anda pilih radio button 1, maka akan tampil di gambar12 nama kota umpamanya, pilih radio button 2, muncul nama kecamatan dan pilih radio button 3 muncul nama desa.

radio button.jpg

Gambar 13. Tombol radio yang ditampilkan sejajar.

6.Toggle button

Toggle sebenarnya bukan merupakan tombol, tapi bisa di katakan masih satu kelompok dengan radio button, fungsinya hampir sama dengan radio button.

toggle box.jpg

Gambar 14.Toggle adalah kotak yang bisa di contreng.

7.Text part

Text part biasanya ditempatkan di bagian paling bawah dari kotak dialog box, umumnya menyatakan nama perusahaan dan termasuk menampilkan logo, atau sebuah peringatan bagi siapa saja bila menggunakan kode untuk menghindari kekeliruan. Gambar 15. Menampilkan beberapa kalimat pada dialog box, bisa menyatakan indentitas atau peringatan. Dari sekian banyak variasi bentuk dialog box, tinggal anda menggabungkan satu sama lain sesuai dengan kebutuhan dari program Autolispnya.

text dialog.jpg

Gambar 15. Menampilkan beberapa kalimat pada dialog box, bisa menyatakan indentitas atau peringatan.

Dari sekian banyak variasi bentuk dialog box, tinggal anda menggabungkan satu sama lain sesuai dengan kebutuhan dari program Autolispnya.

Pengenalan editor DCL

Sebelum anda bisa membuat kode dcl, saya akan perkenalkan terlebih dulu editor untuk program dcl, pada dasarnya editor untuk kode dcl sama saja dengan kode Autolisp, hanya yang agak beda tool yang di gunakan, dan perlu di ingat kode dcl selalu berektensi “dcl” sedang kode Autolisp berektensi “lsp”, hal semacam ini sering dianggap sepele, mengapa saya katakan demikian karena saya sering mengalami kekeliruan gara-gara keliru memilih ektensinya ketika akan meng save file.

new file.jpg

Gambar 16. Ikon new file ketika anda mau buka lembar baru

Pertama buat lembar kerja baru, di klik ikon “New File” lihat tanda lingkaran merah pada gambar 16, kemudian salin atau buat kode dcl seperti yang tampak pada gambar 17.

new dcl.jpg

Gambar 17.Sebuah contoh kode yang akan dijadikan pengujian.

Setelah selesai lakukan save as dan tempatkan di folder yang anda inginkan, beri nama “Edit Box” pada kotak File Name serta jangan lupa save as type pilih “DCL Source Files”, kemudian di klik save.

save as dialog.jpg

Gambar 18. Lokasi nama file dan jenis untuk ektensinya.

Sekarang anda sudah punya file dcl yang sudah tersimpan dengan aman, arahkan kursor ke Tools > Interface Tools > Preview DCL in Editor.

Gambar 18. Editor ketika di pakai untuk mengeksekusi kode dcl.

Berikutnya akan muncul dialog seperti pada gambar 19, “eb” adalah tanda kode panggil dari kode dcl tersebut, di kotak tidak terdapat sama sekali alias kosong maka anda tidak bisa mengeksekusi kode.

Bisa saja dalam satu halaman kode berisi beberapa kode dcl yang saling terkait maupun tidak, tetapi dengan kode yang berlainan satu sama lain, misal saja terdapat 10 buah kode sehingga pada dialog “Enter the dialog name” akan tersimpan ke sepuluh nama kode,tapi yang akan di munculkan hanya kode “eb” yang anda harus di klik tanda segi tiga arah ke bawah bila ingin melihat yang lainnya.

dialog on dcl execution.jpg

Gambar 19. Dialog ketika akan mengeksekusi sebuah kode dcl.

Setelah anda tekan tombol “OK” pada gambar 19, hasil akan muncul adalah gambar 9.

Menganalisa kekeliruan kode dcl

Pada bagian ini yang agak paling menyebalkan dan menjengkelkan, ketika kita sedang mengeksekusi sebuah program, tidak sedikit programmer pemula sering putus asa ketika menganalisa program yang keliru atau salah, padahal persoalannya hanya sepele dan mudah.

Pertama kode pada gambar 17 hilangkan tanda “}” pada akhir kode tersebut, kemudian lakukan eksekusi, maka akan muncul gambar 19, tetapi kotaknya kosong.
Coba lagi hilangkan tanda “;” pada akhir kalimat “eb : dialog {label = “EDIT BOX MANAGER”;”, setelah di eksekusi akan muncul error seperti ini, di dialog box terlihat kata “missing semicolon

error message.jpg

Gambar 20. Menyatakan kekeliruan sebuah kode yang di eksekusi.

Menterjemahkan kode dcl

Baris pertama dari kode dcl adalah “eb : dialog {label = “EDIT BOX MANAGER”;” , ini akan menjelaskan pada kita bahwa “eb” adalah menyatakan kode panggil dari kode tersebut, selanjutnya “: dialog” adalah untuk menyatakan dan menampilkanprogram dcl, “{” sama dengan isi dialog sedang “label” nama yang akan di berikan pada judul dialog box dan “=” artinya label tersebut harus mempunyai nama, “EDIT BOX MANAGER” adalah nama yang akan di tampilkan apada bagian atas dialog box, setiap kalimat harus dilengkapi dengan tanda kutip, serta yang terakhir tanda “;” sama dengan pernyataan akhir.

Baris kedua “: row {“, setiap akan di mulai dengan sebuah fungsi harus di dahului oleh tanda “:”, dan “row” adalah menyatakan baris atau kelompok baris, serta tanda “{” adalah batas kelompok dialog yang ada di dalamnya.

Baris ketiga “: edit_box {label = “Fill with new string”;” , “edit_box” fungsi yang menyatakan supaya di munculkan seperti gambar 9, dengan label “Fill with new string”.

Baris keempat “key = “eb1″;”, arti key disini adalah untuk kode panggil fungsi edit box, dan mungkin saja satu dialog box mengandung beberapa dialog, maka harus punya nama untuk key nya yang berbeda.

Baris kelima “edit_width = 15;” artinya box ini mempunyai lebar dengan ukuran 15.

Baris keenam “allow_accept = true;}}” artinya aktip ketika tombolnya terpilih.

Baris terakhir “ok_only;}” adalah dialog box tersebut hanya berisi tombol “OK” saja.

Begitu anda menulis kode, perubahan belum menampakkan tetapi bila kode tersebut telah di save dengan ektensi dcl, perubahan warna huruf akan langsung berubah sesuai fungsinya, lihat dibawah ini untuk masing-masing fungsinya.

code list.jpg

Gambar 21. Kode untuk huruf sesuai fungsinya.

Cara mengeksekusi kode

Agar kode dcl bisa muncul, maka harus di lengkapi kode Autolisp terlebih dahulu, tanpa itu tak mungkin bisa muncul.

Beralihlah ke sesi Autocad, pada command prompt ketik “vlide” setelah muncul editor “Visual LISP for Autocad <drawing1.dwg>-[<Untitle-0>]”, cari ikon “New File” yang berada sebelah kiri atas di bawah menu “File”, kemudian salin kode di bawah ini seperti yang digambarkan pada gambar 22.

Setelah selesai menyalin dan merasa anda benar, tidak ada satu karakterpun yang terlewatkan, segeralah lakukan save as dengan nama file “Edit Box.Lsp”, lokasi folder terserah anda mau di letakkan dimana.
Beralih lagi ke sesi Autocad, arahkan kursor anda ke “Tools > Options > Files > Support File Search Path > Add > Browse > cari letak file yang anda simpan tadi > OK > Apply > Ok”, maksud perlakuan ini adalah agar Autocad mencari dengan sendirinya file search path nya.

Kembali lagi ke sesi editor Autolisp dan buka file “Edit Box.lsp” dengan cara cari ikon “Select Window” yang letaknya bersebelahan dengan logo Autocad, di klik maka anda akan mendapatkan sederet file.

Sekarang lakukan eksekusi kode tersebut, cari ikon “Load Active Edit Window” di klik, setelah di klik akan keluar “; 1 form loaded from #<editor “D:/YBI/Program/AutoLisp/Lisp program/Sample Program/Dcl/Edit Box/Edit Box.LSP”>”, ini artinya file anda sudah siap di eksekusi.

Buka Autocad anda pada command ketik “test” amati apa yang terjadi

autolisp code for dcl.jpg

Gambar 22. Kode Autolisp untuk mengeksekusi kode dcl.

Di tengah area drawing akan muncul seperti ini.

dialog box result.jpg

Gambar 23. Edit box manager yang siap di isi huruf oleh anda.

Ganti nama default “Adesu” dengan keinginan anda, lakukan klik Ok untuk melihat reaksi berikutnya apa yang akan terjadi, sebagai contoh ketik “Abah Ade tea”.

input result.jpg

Gambar 24. Hasil akhir apa yang anda ketik.