Bab 12 PANDUAN VISIO 07
Bab 12 PANDUAN VISIO 07
Kata Pengantar
Seiring dengan semangat 100 Tahun kebangkitan Nasional maka kami selaku generasi muda indonesia tentunya harus menyumbangkan sesuatu ilmu yang berharga untuk bangsa ini. Sehingga dengan ilmu kami yang sedikit ini kami memberanikan diri untuk menulis sebuah buku berjudul Visualisasi Data dengan Microsoft Office Visio 2007 yang tentunya kami harapkan akan berguna bagi rekan-rekan yang sering berkutat dengan Visio 2007 dan ingin mengetahui fitur-fitur apa saja yang ada disalam Visio selain tentunya menggambar bagan. Bahkan karena latar belakang kami yang adalah mahasiswa Teknik Informatika maka jiwa Developer kami pun muncul sehingga dalam salah satu bab buku ini kami membahas sekilas tentang bagaimana penggunaan Visual Studio Team System dalam membangun sebuah Add-on pada Microsoft Office Visio 2007. Dalam kesempatan ini pun kami ingin mengucapkan terima kasih pertama-tema kepada Tuhan yang Maha Esa. Terima kasih pun kami ucapkan kepada Ronald Rajagukguk selaku MIC Lead Institut Teknologi Bandung yang tidak mengenal lelah dalam membantu dan memotivasi kami untuk menulis buku ini, kemudian Narenda Wicaksono yang banyak membimbing dalam penulisan, Bapak Hermawan Susanto dari Microsoft Indonesia yang telah memberikan bantuan materi-materi pembelajaran. Selain itu terimakasih pula pada Umi Fadilah yang telah mendesain cover halaman depan dari buku ini. Terima kasih pun tidak lupa kami ucapkan kepada segenap kru MIC yang telah bersedia meminjamkan lab-nya untuk dipakai menulis buku. Tidak lupa kami pun mengucap terima kasih kepada segenap massa HMIF yang telah banyak membantu pelaksanaan penulisan buku ini. Akhir kata kami ingin mengucapkan terimakasih kepada rekan-rekan pembaca yang telah mengunduh buku ini. Jika ada perbaikan dan saran lebih lanjut rekan-rekan pembaca dapat mengirimkan saran ke author@mic.itb.ac.id. Mei 2008
Daftar Isi
Kata Pengantar Bab 1. Ulasan Dasar Visio 2007 Instalasi Visio Edisi-Edisi Berbeda dari Microsoft Visio Antarmuka Pengguna Memilih Sebuah Kategori Gambar Menu dan Toolbar Anchor Windows Window Shapes Window Pan & Zoom Jendela Shape Data Jendela Size & Position Jendela Drawing Explorer Jendela External Data Task Pane Jendela ShapeSheet Tipe-tipe Dokumen Visio Tipe-tipe File Format File Properti Dokumen Jenis-jenis Halaman Visio Halaman Foreground Halaman Background Halaman Markup Menguasai Bentuk Visio Menggunakan Master Shapes Menggabungkan shape Shape tanpa Master Diskalakan atau Tidak Diskalakan Melapisi Informasi Keluaran dari Visio Bab 2. Shape Data dan User-Defined Cells Membuat Shape Data Sel Shape Data 2 8 8 9 9 9 11 13 13 14 14 15 15 15 16 17 19 20 20 21 22 22 23 24 25 25 31 34 35 36 40 42 42 45
Tipe-Tipe Shape Data Template dan Add-on Pembuat Otomatis Shape Data Shape Data yang telah ada Membuat Barisan Shape Data Secara Manual Membuat Barisan Shape Data Secara Otomatis Data User-Defined Cells Menggunakan Formula Shapesheet Themes Membuat Baris SHAPE DATA yang Bersifat READ-ONLY Membuat Nilai Kalkulasi Membuat Referensi Intershape Membuat PAGE DATA SHAPE Secara Otomatis Rolling Up Values Referensi Group Shape Referensi Inter-Page Shape Item-Item Menu Klik Kanan Mouse dari List Shape Bab 3. Menghubungkan Data Dengan Shape Membuat Data Terhubung (Linked Data) Menghubungkan Data Secara Manual Setting Kolom Memfilter Baris Menghubungkan Data Secara Otomatis Menggabungkan Data dari Sumber-Sumber Lain Navigasi ke/dari Data Terhubung Me-Refresh Data Membuat Koneksi Data dalam Kode Membuat Link Data XML Me-Refresh Data XML Legenda pada Link Data Memberi Label pada Bentuk dengan Shape Data Menggunakan Data Graphic untuk Memperbarui Label Label Shapes Add-In Custom Callouts Manually Editing Associated Text Blocks Enhancing Shapes with Color, Icon, and Data Bars
47 47 49 51 52 56 57 58 59 59 60 61 62 64 64 65 69 69 71 74 80 82 83 86 87 88 89 90 90 94 94 98 99 100 103
Mengatur Warna untuk Nilai Shape Data Predefining Fills in a Database Space Plan Color By Value Data Graphic Color By Value Membuat Data Graphic Color By Value Legends Data Graphic Icon Sets Membuat Data Graphic Icon Set Legends Data Graphic Data Bars Bab 4. Melakukan Hubungan Antar Item Membuat Shape Berhubungan Opsi-opsi Shape 2-D Opsi 1-D Shape Dynamic Connector Layout dan Routing Styles Spacing out Connections for Clarity Metode Manual Menghubungkan Shape Drag and Drop AutoConnect Connector Tool Connect Shapes Menggunakan Controls untuk Koneksi Ide untuk Meningkatkan Penghubung Menambahkan Hyperlink ke Penghubung Meng-update Label Titik Penghubung Menampilkan Data Duplex Membaca Koneksi Meng-update Hubungan Jaringan Rak Bab 5. Penggunan Data Grafis Default Data Grafik Callouts Text Callouts Data Bars Icon Sets Membuat Custom Callout Minimalisasi Penggunaan Group Shape Membuat Sel-Sel Data Graphic User-Defined
103 105 105 106 107 109 110 110 114 114 115 120 120 120 122 124 125 125 126 127 127 128 128 129 130 131 131 134 134 136 137 138 139 141 141
Teknik Mengedit Umum Callouts Teks Callout pada Data Bar Callout Set Icon Mendistribusikan Callout Data Graphic Custom Mengubah Properti Layer Data Graphic Mengenali Data Graphic Mengatur Data Grafik Secara Otomatis Bab 6 Pembuatan Laporan Report Definition Wizard Laporan Excel Laporan HTML Laporan dalam bentuk Visio Laporan XML Membuat Laporan dengan Wizard Mengembangkan Laporan Anda Mengubah Header Kolom yang Ditampilkan Membuat Variable Embedded Report Menggunakan Filter Tingkat Lanjut Menambah SelectReportShapes ke Laporan yang dimasukkan Laporan Built-in Bab 7. Themes, Backgrounds, Borders, dan Titles Tema (Themes) Using Custom Theme Menampilkan Tema yang Dipakai Menggunakan Themes Dengan Kode Latar Belakang (Backgrounds) Built-In Backgrounds Custom Background Batas dan Judul (Borders and Titles) Built-In Borders and Titles Custom Borders and Titles Daftar Isi (Table of Content) Bab 8. Penggunaan Kode untuk Peningkatan Fungsionalitas Visual Basic for Applications (VBA)
141 142 145 149 154 156 157 158 161 161 162 163 164 165 167 173 174 175 178 182 186 190 190 196 197 197 198 198 201 203 205 208 210 215 215
Mengedit suatu Recorded Macro Menjalankan subfungsi VBA dari sebuah bentuk (shape) VSTO Add-Ins Membuat suatu bentuk (shape) dapat memanggil Add-in COM Add-Ins Add-Ons Wrapper Applications Bab 9. Pengelolaan Dokumen dan Keamanannya Membatasi Akses untuk Data dan Grafik Membuang Informasi yang Sensitif Mencegah pengubahan yang tanpa tujuan Integrasi SharePoint untuk kontrol dokumen Bab 10. Skenario Floor Layouts Space Usage Personnel Locations Inventaris Perlengkapan Organization Chart Hubungan Hierarkis Menggabungkan Cost Data dan Roll-up Diagram Sistem IT Diagram Proses Risiko Operasional Work breakdown structure
216 217 223 228 230 230 230 231 231 231 232 235 240 240 243 247 253 256 256 258 258 259 260 262
Instalasi Visio
Microsoft Visio umumnya diinstal di C:\Program Files\Microsoft Office\ OFFICE12\, dan Anda akan menemukan sebuah subfolder Samples\<LCID>\, yang berisi beberapa file yang sesuai yang saya tunjuk dalam buku ini. Dalam kasus saya, Locale ID (LCID) adalah 1033, yang merupakan American-English, meskipun saya sendiri adalah 2057, UK-English (lihat http://www.microsoft.com/globaldev/reference/lcid-all.mspx untuk daftarnya). Beberapa teman memberitahu saya bahwa perubahan aksen saya bergantung pada dengan siapa saya berbicara. Mungkin hal ini juga berlaku pada perangkat lunak ini. Kode LCID ini aan relevan dengan bab berikut dari buku ini, terutama jika Anda harus membuat template gambar untuk bahasa lain selain bahasa Anda. Masing-masing pengguna harus memilki aplikasi Visio yang sudah diinstal untuk melakukan manipulasi pada isi sebuah dokumen Visio. Mungkin hal ini dapat membuatnya sudah pasti Anda lakukan, tapi saya mengetahui beberapa developer yang mencoba untuk membuat instalasi untuk kontrol gambar Visio pada halaman web tanpa menggunakan Visio sendiri. Mereka secara bertahap menambahkan link library dinamis dari instalasi Visio mereka sendiri hingga mereka membuatnya bekerja secara tidak langsung. Saya langsung mengindikasikan bahwa hal ini tidak hanya ilegal, tapi juga akan mengakibatkan kekacauan yang tidak dapat ditangani. Microsoft menyediakan ActiveX Microsoft Visio Drawing Cintrol (VISIO.DLL) dengan masing-masing duplikat Visio, dan juga menyediakan AtiveX Microsoft Office Visio Viewer(VVIEWER.DLL) dengan masing-masing duplikat Microsoft Outlook 2007. Anda dapat mengembangkan aplikasi Windows Form dengan Microsoft Visio Drawing Control atau dengan Visio Viewer, tapi pengguna membutuhkan lisensi Microsoft Visio untuk Drawing Control. Visio Viewer memiliki kemampuan untuk memperlihatkan halaman, layer, properti, dan hyperlink tertentu, dan saya akan membahasnya di bagian lain buku ini. Drawing Control membuat Anda mampu untuk menghapus seluruh antar muka standar dan mebuat aplikasi berbasis Visio yang tidak terlihat atau terasa seperti Visio. Ada saat di mana hal ini merupakan hal yang penting, tapi ini bukan merupakan perhatian utama dari buku ini. Kita seharusnya memeriksa antar muka standar di Microsoft Visio karena saya akan mengajak Anda untuk melihat cara di mana diagram dengan jenis yang berbeda dapat dihubungakan bersama untuk sebuah kepentingan, sama seperi kita melihat sesuatu dari sudut yang berbeda hingga kita dapat memahaminya lebih baik.
Oleh karena itu, Anda sebaiknya memahami beberapa prinsip dan pola, sehingga anda memiliki konsistensi dalam melakukan pendiagraman data.
Antarmuka Pengguna
Beberapa pengguna menemukan bahwa antarmuka pengguna kurang memikat karena sangat banyak yang dapat ditampilkan (lihat Gambar 1-1). Ini merupakan dampak dari banyaknya kemampuan pada Visio. Microsoft Visio 2007 tidak menjalankan antarmuka pengguna yang radikal yang mengubah kepunyaan The Big Three... mungkin saja terjadi suatu hari nanti! Hingga saat itu, Anda perlu mengerti area-area relevan pada interface standar.
10
Gambar 1 -2 Memilih sebuah template gambar Saat sebuah template dibuka, umumnya akan ditampilkan sebuah grup dari sejumlah pola di bawah bagian sisi kiri dan sebuah halaman tunggal. Yang mungkin tidak akan Anda lihat adalah: template tersebut mungkin saja juga memulai sebuah add-on yang juga akan bereaksi terhadap tiap aksi yang kita ciptakan. Add-on tersebut dapat menyebabkan perubahan pada antarmuka pengguna dan mungkin saja menambahkan atau mengubah menu dan toolbar. Banyak contoh mengenai hal ini terdapat pada Microsoft Visio, sebagai contoh, Brainstorming Diagram, Organization Chart, dan Space Plan masingmasing memiliki add-ins tersendiri. Add-ins inilah yang memenyebabkan jenis diagram tersebut berperilaku secara spesifik dan berbeda dari yang lain. Sebagai seorang pengembang, Anda dapat membuat add-ons atau COM add-ins untuk Visio. Anda juga dapat mengubah antarmuka pengguna atau bereaksi terhadap aksi kita.
11
Kita memiliki sebuah bagian baru dari menu utama dan item baru pada menu klik kanan mouse shape di Microsoft Visio 2007, yang dinamakan Data. Ini merupakan sebuah keunggulan karena sebagian besar buku ini mengenai item-item pada menu ini. Ini merupakan sebuah keunggulan karena ebagaian besar buku ini mengenai item-item pada menu ini.
12
Anchor Windows
Anda mungkin dapat, atau mungkin juga tidak dapat, melihat beberapa pengembangan pada anchor windows. Beberapa add-ins juga memiliki anchor window tersendiri tapi anda perlu mengetahui 6 di antaranya. Anchor window ini dapat ditampilkan atau disembunyikan dengan menu View.
Window Shapes
Window shape adalah sebuah area tersendiri untuk pola, tapi pola terpisah dapat pula di-drag keluar dari window ini dan diletakkan di sekitarnya atau tersendiri. Anda juga dapat menambahkan lebih banyak pola dalam koleksi ini dengan menggunakan pilihan File Shapes.
Bentuk pada pola disebut sebagai Master, dan biasanya di-drag and drop ke halaman gambar.
13
14
15
Task Pane
Sisi kanan dari layar sering digunakan oleh salah satu dari beberapa task pane yang mendampingi selama beberapa waktu. Microsoft Visio 2007 memperkenalkan penggunaan task pane Theme untuk memampukan Anda menggunakan theme warna secara konsisten, dan banyak lagibentuk baru dalam produk (dan beberapa yang lama yang telah diperbaiki) bekerja secara efektif dengan theme ini. Task pane Data Graphics memampukan Anda untuk menggunakan visualisasi informasi yang indah dan baru pada bentuk Anda. Anda juga akan melihat task pane Reviewing, Document management, Document Updates, dan Refresh Conflicts di bab-bab yang kerkaitan.
16
Jendela ShapeSheet
Jendela ShapeSheet tidak secara normal ditanpilkan oleh user, jika mereka tidak membukanya karena kesalahanmenggunakan Window | Show ShapeSheet. Faktanya, saya sudah pernah melihat user yang membeku ketika jendela ini terbuka karena mereka mengira ada sesuatu yang salah telah terjadi. Jendela ShapeSheet menunjukkan mengapa Visio adalah unik. Jendela ini mendemonstrasikan bahwa setiap baris, teks, atai gambar dalam Visio memilki poensi untuk menjadi lebih pintar. Itulah alasannya mengapa saya menggunakan Visio. Untuk memampukan akses cepat ke ShapeSheet dari right-mouse menu dari sebarang halaman atau bentuk yang dipilih, Run In Developer Mode perlu di aktifkan pada tabulasi Advanced yang terdapat pada dialog Tools|Options. Run In Developer Mode juga memampukan opsi-opsi yang lain, paling terlihat pada dialog Define Shape Data. Sementara dialog options masih aktif, Anda mungkin mau menon-aktifkan Open pada setiap ShapeSheet, tapi ingatlah untuk menutup jendela ShapeSheet sebelum menyimpan gambar. Jika tidak, jendela tersebut akan tetap terbuka (dan kemungkinan berada di belakang jendela gambar) saat gambar tersebut di buka kembali.
17
ShapeSheet terbagi ke dalam sesi, baris, dan sel (lihat Gambar 1-3). Beberapa sesi telah memiliki ukuran yang tetap, seperti Shape Transform, dan beberapa sesi bersifat opsional, seperti Shape Data dan Hyperlinks. Setiap sel dapat mengandung formula yang memiliki referensi pada bentuk lain atau halaman lain. Catatan bagi programer yang belum pernah menggunakan ShapeSheet: rangkullah itu! Anggaplah ShapeSheet sebagai sebuah ekstensi pada model objek Anda. Enkapsulasilah metode-metode privat dan properti-properti dalam ShapeSheet, dan kirimkanlah pesan sesedikit mungkin kepada properti-properti publik. Mengertilah kemampuan formula ShapeSheet dan gunakanlah dia seperti bahasa pemrograman favorit Anda. Saya telah memprogram dengan berbagi bahasa sejak lebih dari 20 tahun terakhir, tapi belum pernah menganggap diri saya sebagai seorang hardcore programmer. Orang-orang pada usia saya belum mulai mengkomputasi. Karena tidak adanya sikap disiplin, kami mencapai tahapan itu dengan awal yang berbeda-beda. Dalam kasus saya, semuanya berawal dari keinginan untuk mengekstraksi data dari gambar sehingga saya tidak mengacuhkan penyelesaian pembelajarn pada C++, C#, atau VB.net. saya selalu berusaha untuk menggunakan seluruh kemampuan yang terdapat pada ShapeSheet sebelum menggunakan bahasa mayor lainnya. Kadang-kadang ini memiliki keunggulan di mana beberapa fungsi yang diperlukan dalam mendiagramkan solusi akan tersedia tanpa kode eksternal. Sebuah contoh yang sederhana, gunakan kakas Rectangle (pada toolbar Drawing) utuk menggambar sebuah segi empat, dengan lebar lebih kecil dari 1 inch atau 25 mm. Anda dapat meggunakan jendela Size & Positiom unuk mengecek apakah lebar dan satuannya telah sesuai dengan yang diinginkan. Kemudian, bukalah jendela ShapeSheet dan SCROLL DOWN hingga mencapai sesi Fill Format lalu ketiklah =Width ke dalam sel FillForegnd.
18
Isinya mungkin akan berubah menjadi hitam, tapi itu akan berubah jika Anda menambah lebar segi empatnya (atau duplikasilah dan ubah lebar tiap segi empat). Anda akan melihat warnanya berubah dari hitam menjadi putih, menjadi merah, menjadi hijau, dan seterusnya seiring dengan objek yang semakin lebar. Ini mugkin merupakan sebuah contoh kecil, tetapi ini mendemonstrasikan fungsi-fungsi yang telah tersedia untuk Anda.
Jika Anda penasaran, yang terjadi adalah lebar dari bentuk tersebut mengevaluasi ke dalam suatu nilai dalam inch dan sel FillForegnd menerima nilai dalam RGB(x,y,z), HSL(x,y,z), atau dalam kasus ini, format indeks ColorMap, yang memiliki rentang 0 23. Dalm semua versi Visio sebelum ini, indeks angka ini terlihat pada dialog Format|Fill. Bagaimanapun juga, angka ini tidak lagi terlihat dan Anda akan lebih sering menggunakan format RGB() atau HSL() dari saat ini.
19
Tipe-tipe File
File gambar, polanya, dan templatenya akan tampak berbeda karena ekstensi file yang digunakan berbeda. Jadi, ekstensi vsd dan vdx adalah gambar, vss dab vsx adalah pla, dan vst dan vtx adalah template. Aplikasi Visio memutuskan bagaimana dia akan menampilkan dokumen Visio, sangat didasarkan pada ekstensi file tapi juga pada isinya. Sebuah pola mengandung sejumlah bentuk, disebut Masters, mungkin berasal dari Microsfot Visio atau dari pihak ketiga, yang mungkin saja adalah Anda. Hal ini akan Anda pelajari pada ab 11. Anda juga akan mengetahui bahwa sebuah pola juga memiliki halaman-halaman gambar, meskipun biasanya tidak dapat Anda lihat.
Sebuah gambar mengandung satu atau lebih halaman, yang berukuran dan berskala, dan selalu mengandung polanya sendiri, disebut Document Stencil, yang umumnya tidak Anda lihat. Document Stencil penting dalam memhami anatomi dokumen Visio sebab dia mengandung sebuah salinan lokal dari tiap Master yang digunakan dalam dokumen. Sebuah gambar juga dapat memiliki sekelompo pola pada lembar kerjanya. Sebuah template hanyalah sebuah gambar dengan ekstensi yang berbeda sehingga Visio tahu membuat sebuah gambar baru berdasarkan defaultnya. Anda akan mempelajari cara mengkategorisasikan template sehingga pengguna lainnya dapat menggunakannya dalam membuat sebuah tipe gambar Visio yang baru.
Format File
File Visio dapat berupa dua buah format, sebutlah binary atau XML. Sebelum Anda tertarik dengan format XML, ingatlah bahwa ukuran file ini tujuh sampai sepuluh kali lipat file yang sama dengan fomat binary. Tapi, kadang-kadang dapat dikompres menjadi lebih kecil dari alternatif binary. Yang bermanfaat adalah .Net Frameworks mengandung kemampuan unuk mengkompres dan mengekstrak file (lihat http://msdn2.microsoft.com/en-us/ywf6dxhx.aspx). Selain itu, format XML pada Visio 2003 dan 2007 bukanlah format XML baru yang digunakan oleh The Big Three aplikasi Microsoft Office 2007 (Word, Excel, PowerPoint). Format XML yang digunakan Visio saat ini sangat panjang karena menggambarkan semua informasi grafis, seiring dengan semua data lainnya yang dapat disimpan pada sebuah dokumen Visio.
20
Mengekstrak semua informasi dari tubuh XML dapat menjadi sebah tantangan, tapi Microsoft memperbolehkan para programer menggunakan sesi khusus, berlabel SolutionXML, yang dapat dioperasikan jauh lebih mudah. Jika Anda tetap ingin menyimpan dokumen Visio dalam format binary, menyimpan sesi SolutionXML sebagai sebuah file eksternal dapat menjadi sebuah solusi, kapanpun gambar ini disimpan, yang juga akan memampukan yang lain mengakses data-data sangat penting dari kakas standar XML.
Properti Dokumen
Tiap dokumen Visio memiliki set properti standar. Hal ini berguna karena mereka akan diekspos pada Windows Explorer dan dapat diakses program lainnya.
Sebagai tambahan, nilainya juga dapat dihubungkan secara otomatis ke teks dalam bentuk Visio, yang berarti Anda dapat menggunakannya untuk secara konsisten menandai halaman untuk diperlihatkan dan dicetak.
21
Halaman Foreground
Kebanyakan pengguna hanya bekerja dengan halaman Foreground, seringkali karena mereka tidak mengenal jenis lain. Drawing Explorer dapat digunakan untuk menvigasikan seluruh halaman dalam sebuah dokumen, dan bahkan dapat digunakan untuk reorder halaman. Masing-msing halaman ditampilkan sebagai page tab sepanjang bagian bawah area gambar.
Gambar 1-4 Ketika Anda menyertakan halaman baru ke dalam sebuah dokumen, maka halaman baru akan memilki seluruh properti dari halaman yang aktif pada saat aksi penyertaan tersebut dilakukan.
22
Sebuah halaman Foreground dapat tidak memilki atau memilki 1halaman latar belakang yang berkaitan, dan Anda dapat meng-assign satuan pengukuran untuk digunakan. Kita mencari tahu ukuran dan skalanya pada sesi berlabel To Scale or Not To Scale.
Halaman Background
Sebuah halaman Background tidak dicetak jika ia tidak diperlihatkan melalui halaman Foreground, dan biasanya digunakan untuk menyimpan latar belakang, border, title block, dan apat juga menjadi floor lay out. Contohnya, sebuah halaman background dapat memiliki halaman background, dan seterusnya. Jika Anda men-drag bentuk Master dari pola Background ke sebuah halaman, maka akan secara otomatis membuat sebuah halaman backgound, menghapus bentuk yang tadinyaada di halaman itu, dan menambahkannya ke halaman Background yang baru saja dibuat. Background ini dinamakan VBckground-1, VBackground-2, dan seterusnya dan nampak sebagai page`tab (lihat gambar 1-5) dan sebagai halaman Background pada halaman dialog Properties.
Gambar 1-5 Atau, Anda dapat membuat sendiri halaman Background Anda hanya dengan mengubah jenis dialog Page Properties.
23
Halaman ini dinamakan Background-1, Background-2, dan seterusnya secara otomatis, tapi Anda dapat menamai ulang nama tersebut (lihat gambar 1-6). Anda kemudian dapat meng-assign nya sebagai latar belakang sejumlah halaman lain, seprti yang diinginkan. Hal ini merupakan cara cara yang sangat berguna dengan memilki sebuah border yang konsisten dan title block untuk sebuah dokumen perusahaan. Indeed, jika Anda memilih untuk menyertakan halaman baru dari sebuah halaman yang memilii halaman Background, maka halaman baru juga akan memliki latar belakang yang sama. Anda dapat secara otomatis menghubungkan halaman nama Foreground dan anngka ke keteks dalam bentuk Visio di halaman Background, thus menjamin konsistensi dalam mellihat dan mencetak.
Halaman Markup
Halaman ini dibuat ketika Anda memutuskan untuk melacak markup (lihat gambar 1-7). Hanya satu halaman yang dibuat untuk setiap pengguna dalam setiap halaman. Halaman ini dinamakan berdasarkan halaman asal mereka, tapi dengan inisial pengguna, seperti yang dimasukkan pada tab Tools | Options | General. Setiap halaman markup pengguna ditampilkan sebagai sebuah tab pada bagian kanan atas area gambar, dengan tab halaman asal di sebelah kanan bawah. Catatan-catatan pengamat tidak tercetak ketika halaman di-print, dan tidak ada laporan built-in dalam Microsoft Visio untuk melakukan ini. Akan tetapi, informasi ini dapat dengan mudah dibaca dengan beberapa kode, yang akan kita amati secara detail di Bab 12.
24
Gambar 1-6
25
Cara yang baik untuk melihat hal ini secara nyata adalah dengan membuka jendela Drawing Explorer sebelum bentuk apapun muncul pada halaman...
... dan kemudian tampilkan sebagai sebuah Master shape yang diletakkan pada halaman untuk pertama kalinya. Ini merupakan titik penting untuk dipahami sebelum berefek ke banyak hal lain.
26
Aturan 1: Menyunting sebuah Master shape dalam sebuah pola global tidak mengubah dokumem apapun di mana master shape tersebut telah digunakan. Tidak ada metodedalam Microsoft Visio untuk mempropagasi perubahan apapun yang dibuat pada Master shape dalam pola global ke instans dalam dokumen yang ada. Aturan 2: Menyunting Master shape dalam sebuah dokumen gambar akan (mungkin) mempropagasi perubahan ke semua instans dalam gambar. Perubahan yang rumit tidak akan dippropagasikan .Begitu juga dengan sembarang sel yang telah diedit secara lokal. Seperti mengisi warna. Aturan 3:Mendrag dan meletakkan sebuah master shape dengan nama yang sama dengan yang telah digunakan dalam sebuah dokumen dapat membuat sebuah Master yambahank ynag tidak diharapkan dalam dokumen. Jika Anda memilki Microsoft Visio Professional, mulailah dengan sebuah diagram Floor Plan baru pada kategori Maps and Floor Plans. Drad-and-drop sebuah bentuk Space dari pola Walls, Shell, and Structure. Ingatlah bahwa Space Master dibuat dalam jendela Drawing Explorer.
27
Bukalah pola Resources. Dari File|Shapppes|Maps and Floor Plans| kategori Building Plan, drag sebuah bentuk Space. Perhatikanlah bahwa dalam sekejap Master kedua dibuat pada jendela Drawing Explorer.
Master kedua akan memiliki nomr tambahan untuk membedakannya dengan Mater pertama. Hal ini biasanya tidak diinginkan, karena Visio harus menyimpan bentuk Mater ekstra dalam dokumen, sehingga menghasilkan file dengan ukuran yang meningkat, dan dapat menumbulkan kebibgubagn mengenai penyuntingan dokumen yang igin dilakukan.Ada cara yang lebih baik : undo aksi terakhir
28
hingga hanya ada bentuk Space pertama pada halaman. Lalu, klik kanan Master Space pada jendela Drawing Explorer dan pilihlah Master Properties.
Sekarang, cek Match Master dengan name on Drop, dan terimalha perubahnnya. Akhirnya, drag Master Space dari pola Resources sekkali lagi dan Anda dapat elihat bahwa Master Space tambahan tidak dibuat kali ini.
29
Aturan 4: Jagalah agar nomor dan kedalaman grup tetap minimum, dan gunakan Combine daripada Group jika Anda tidak perlu memilki baris, warna, atau teks yang berbeda. Dalam contoh dengan Managemen bentuk, Anda dapat ebuka node bentuknya pada Drawing Explorer untuk membuktikan bahwa suatu bentuk juga memilki bentuk lain di dalamnya, karena merupakan bentuk Group. Perlu diingat, bahwa walaupun pengembang bentuk telah menciptakan banyak subbentuk, tapi subbentuk tersebut belum di-grup-kan lebih lanjut karena akan menyebabkan Visio harus melakukan lebih banyak perhitungan.
30
Menggabungkan shape
Hal selanjutnya yang anda mungkin mau lakukan adalah menggabungkan dua shape bersama (lihat Figure 1-8) dengan menggunakan Connector tool. Perhatikan bahwa aksi ini secara otomatis menciptakan Master Dynamic connector pada Drawing Explorer.
31
32
Gambar 1-8 Menggunakan kakas penghubung Ada fakta penting lain. Dynamic Connector adalah sebuah Master special karena tercipta secara otomatis dari beberapa item menu dan tombol toolbar pada Visio, kalau tidak karena sudah terlebih dahulu ada,. Ketika memikirkan tipe dasar kelakuan, hanya dua yang perlu dipertimbangkan : 1-D (Garis) dan 2-D (Kotak). Shape awalnya hanya satu dimensi, dan biasanya digunakan untuk menghubungkan diantara shape dua dimensi. Anda dapat mengubah kelakuan dari sebuah shape diantara dua shape tadi dengan menggunakan dialog Format | Behaviour. Kalau anda menggunakan kakas Line, Arc atau Freeform, maka shape yang digambar dimulai sebagai 1-D untuk tiap titik tertinggi. Tetapi, kalau anda menambahkan titk tertinggi lainnya dengan melanjutkan untuk menggambar, maka bentuknya berubah menjadi 2-D secara otomatis. Hal ini bisa membingungkan untuk Anda bila Anda mencoba menggunakan Visio karena Anda mengharapkan untuk menempatkan jarak dan sudut pada titik selanjutnya. Hal ini dapat membuat Anda frustrasi dan membuat Anda secara salah percaya bahwa Visio tidak dapat menggambar secara akurat. Dimana, kalau Anda diperlihatkan ShapeSheet, Anda dapat melihat hal yang sama dapat dibuat di Visio bahkan lebih!
33
Sebuah blok teks dapat dengan mudah mempunyai garis-garis, kurva-kurva, atau lain-lain, yang berhubungan dan sebuah garis, persegi panjang, kurva dan lain-lain dapat memunyai sebuah blok dari teks. Sebuah kesalahan normal yang mungkin Anda buat adalah menulis teks didekat/disebelah shape yang ingin diberikan komentar, sebagaimana yang dilakukan oleh Anda pada program CAD atau
34
PowerPoint. Kalau Anda adalah seorang pengguna Visio berpengalaman, seharusnya Anda tahu bagaimana memasukkan teks pada shape, dan memposisikannya dimana itu diperlukan. Hal ini memiliki keuntungan disisi pengurangan jumlah shape pada dokumen dan penghubungan teks pada shape secara permanen, jadi teks dan shape entah bergerak bersama, atau dibuang bersama.
Atau, Anda dapat drag dan lepaskan shape Master Drawing Scale dari Annotations Stencil ke halaman. Shapesheet untuk shape ini menunjukkan bagaimana mengkalkulasi angka untuk dipindahkan : menggunakan formula pada bagian User-defined Cells untuk menghitung rasio dari skala gambar dan skala halaman. ShapeSheet ini menggunakan formula berlabel AntiScale, yang sering digunakan dalam Master berskala yang disuplai Microsoft.
35
Alasan dibalik masalah ini adalah shape perlu untuk di desain dengan skala sejak awal. Kalau tidak, Anda bisa mendapatkan hasil yang tidak diinginkan. Peraturan lama yang penting disebut Range of Eight (jarak dari delapan), yaitu skala dari Master harus tidak lebih dari delapan kali lebih besar atau lebih kecil dari halaman dimana Master tersebut digunakan. Konsekuensinya, semua shape perlengkapan jaringan diciptakan pada 1:20, oleh karena itu, mereka dapat digunakan secara aman hingga 1:160 atau hingga 1:2.5. Sejak peraturan ini ditemukan, Microsoft telah memperkenalkan fungsi ShapeSheet baru, DropOnPageScale, yang membantu menyesuaikan properti dari shape untuk cocok dengan skala dari halaman tempat shape itu ditempatkan.
Melapisi Informasi
Semua program CAD yang pernah saya gunakan memiliki kemampuan untuk menempatkan item ke satu layer atau lainnya, dan selanjutnya Anda dapat mengganti visibilitas layer, apakah menyala atau tidak. Konsekuensinya, item pada layer-layer muncul atau tidak. Visio dapat juga begitu, tapi Visio mempunyai komplikasi ekstra bahwa shape, atau shape diluar shape tersebut, dan dapat ditugaskan pada satu, banyak atau tidak ada layer sama sekali secara berkesinambungan.
36
Hal ini dapat menerima beberapa manajemen tambahan, tetapi hal ini tetap berharga, karena kegunaan dari sebuah dokumen bisa diperbaiki sebagai item yang bisa ditunjukkan atau dihilangkan sebagaimana dibutuhkan menggunakan dialog Layer Properties. Catatan
Kolom # dari dialog ini menunjukkan jumlah dari shape dari tiap layer, tetapi jangan berharap pada kolom ini untuk sejumlah shape pada halaman karena kolom ini termasuk subshape dari shape dan sebagaimana yang bisa dilakukan shape pada banyak layar, shape yang sama dapat dihitung lebih dari satu.
37
Terlebih lagi, layer dapat digunakan dengan Edit | Select by type untuk dengan cepat memilih shape pada layer tertentu.
Sebuah CAD system yang saya gunakan untuk bekerja mempunyai maksimum 255 layers. Salah satu dari kolega mmbuat sebuah kolom berisi nomor dari 1 hingga 255pada bagian bawah pada bagian batas ujung dari halaman, dengan tiap nomor pada tiap layer terntentu, jadi Anda dapat mengetahui layer mana yang menyala atau mati pada saat printing. Saya pikir cara ini sangat pintar, tetapi trik sejenis pada Visio penuh dengan masalah. Awalnya, layer diberi nama di Visio, tetapi nama ini
38
dikonversimenjadi sebuah nomor index pada tiap halaman. Kedua, nomor index dapat berbeda untuk nama layer yang sama pada setiap halaman karena nomor index diuliskan secara satu demi satu. Pengguna seringkali bertanya bagaimana cara transfer pemasangan layer dari satu halaman ke halaman lainnya. Cara lain yang mudah untuk mengopi layer-layer dari satu halaman ke halaman lainnya adalah dengan menggambar sebuah persegi panjang, atau bentuk sejenis , pada halaman pertama, pasangkan pada semua layer pada halaman tersebut, jalankan ke halaman kedua, dan kemudian delete-lah (bila diperlukan). Visio secara otomatis membuat semua layer pada halaman kedua sebagaimana layer pada halaman pertama. Anda selanjutnya bisa menggunakan sebuah shape untuk menampilkan nama, visibilitas, dan status yang bisa di print untuk tiap layer.
Pada shape ini, saya mengatur sebuah shape data row untuk memasukkan nomor layer, dan kemudian memicu respon kepada perubahan nomor ini untuk meng-update nilai dari sisa tiga shape data row dengan nama, visibilitas dan status yang dapat dicetak (dan mencegah mereka sebelum ter-update secara tidak sengaja). Berikut ditunjukkan formula ShapeSheet untuk User.Layernumbertrigger untuk demonstrasi sedikit keistimewaan Visio :
=DEPENDSON(Prop.LayerNumber)+SETF(GetRef(Prop.LayerName),"=GUARD("""")")+SETF(GetRef(Prop.LayerName),"=GUARD(ThePage!Layers.Name["&Prop.LayerNumber &"])")+SETF(GetRef(Prop.LayerVisible),"=GUARD(ThePage!Layers.Visible["&Prop.Laye rNumber&"])")+SETF(GetRef(Prop.LaverPrint),"=GUARD(ThePage!Layers.Print["&Prop. LayerNumber&"])")
Formula dapat menjadi sangat panjang, tetapi sayangnya, Visio hanya menyediakan sebuah baris untuk meng-edit didalmnya. Terkadang, menggunakan Notepad dengan pemampatan teks aktif bisa berguna, dan selanjutnya cut-dan-paste kembali ke sel ShapeSheet.
39
Gambar 1-9 Fitur SaveAs web pada Visio Dan, baru untuk Microsoft Visio 2007, file tadi bisa disimpan dalam format PDF atau XPS, dengan download gratis dari situs web Microsoft. Adobe Acrobat, contohnya, lebih dalam hal konversi ke format PDF karena mempertahankan shape data dan layer. Opsi terakhir ini memfasilitasi Anda dengan sebuah dokumen yang dapat dicetak dengan ketepatan yang tinggi, sehingga dapat menjadi pilihan y;ang lebih baik dibandingkan mengirimkan file aslinya demi alasan keamanan dan kemampuan cetak. Fitur Save As Web Visio menciptakan sebuah website mini, lengkap dengan sebuah file XML yang mengatur semua shape data. File ini, data.xml, disimpan di dalam sub-folder yang tercipta dari
40
penyimpanan (save) rutin, dan digunakan oleh detail-detail dan fungsi pencarian (search) yang tersedia dalam halaman web tersebut. Kita akan mengamati bagaimana mempersiapkan dokumen-dokumen Visio untuk penonton yang diinginkan di Bab 10, tetapi, untuk sekarang, Anda perlu memahami lebih jauh tentang Shape Data.
41
Kita dapat melihat dan mengubah barisan ini di shape data window atau dengan shape data dialog, yang bisa dibuka dari menu Data | Shape Data.
42
Kita juga dapat membuka dialog Define Shape Data dari dialog atau window Shape Data.
Namun, tampilan dari dialog Define Shape Data berbeda bila kita sedang dalam mode Developer. Kita dapat mematikan mode Developer di tab Tools | Options | Advanced.
43
Jika kita sedang tidak dalam mode Developer, kita tidak akan melihat Name, Sort Key, Ask On Drop, ataupun Hidden controls. Kita juga tidak akan mendapatkan menu Show ShapeSheet di menu kanan mouse dari sebuah halaman ataupun sebuah bentuk.
Dengan melakukan setting pada sel LockCustProp ShapeSheet menjadi 1, kita dapat membuat tombol Define Shape Data pada dialog Shape Data menjadi tidak tampak dan tidak bisa digunakan pada window Shape Data di menu kanan mouse, Sel ini terletak pada seksi Protection pada window ShapeSheet.
44
Fasilitas ShapeSheet sering menjadi cara yang lebih baik untuk mengembangkan barisan shape data, karena kita dapat memasukkan formula ke sel-sel secara langsung. Hal ini tidak dimungkinkan dalam dialog Define Shape Data karena dialog tersebut mengasumsikan semua hal yang kita ketik sebagai teks.
Label
visCustPropsLabel (2)
Prompt
visCustPropsPrompt (1)
45
Nama Sel
Indeks Sel
Type
Format
Value
visCustPropsValue (0)
visCustPropsSortKey (4)
Invisible (Hidden)
visCustPropsInvis (6)
visCustPropsAsk (7)
Deskripsi Sel pengguna Anda untuk memahami tujuan data tersebut. Tabel 2-2 berisi daftar tipe-tipe yang berbeda-beda. Default-nya adalah String (text). Bermacam-macam format dapat diaplikasikan ke nilai-nilai data sehingga, sebagai contoh, sebuah tanggal tampak sebagai 23 Juni 2006, atau sebuah angka ditampilkan satu bilangan decimal. Lihat developer help untuk sebuah daftar yang lengkap. Sebagai tambahan, sel format digunakan untuk menyimpan list-list, biasanya dipisahkan oleh titik koma, untuk tipe data Fixed atau Variable lists. Nilai dari baris data: jika Anda ingin data teks Anda tampak seperti tidak memiliki angka ketika pertama kali dibuka, maka cara terbaik adalah memasukkan (tanda kutip-tanda kutip) sebagai nilainya. Baris data akan muncul sebagai default 0.000 jika Anda tidak memasukkan apa-apa (tidak ada formula). Untuk list yang tetap, Anda dapat memasukkan formula = & INDEX(0,Prop.XXX.Format) & jika Anda ingin membuat default mengacu kepada nilai pertama di list, di mana XXX adalah nama dari baris. Ini memungkinkan Anda untuk memberi penampilan pada baris data Anda. Sebuah tool lama di Visio (Network Properties) menggunakan sel ini untuk mengelompokkan baris-baris data bersama tapi, konsekuensinya, kehilangan kemampuan untuk mengatur mereka. Ingat bahwa, pengaturan dilakukan pada teks, bukan pada angka-angka, maka gunakan 01, 02, 03, dst.bukan 1, 2, 3. Jika tidak, 11 akan ditampilkan sebelum 2. Ini memungkinkan Anda untuk mengubahubah tampilan dari baris data yang terpilih. Ini dapat berguna, karena Anda dapat memutuskan kapan untuk memiliki baris-baris tertentu pada tampilan untuk kejelasan atau keamanan. Ini mengatur kapan pengguna harus diprompt untuk memberi masukan ketika sebuah copy dari shape yang dimasukkan
46
Nama Sel
Indeks Sel
Deskripsi Sel ke dalam sebuah halaman. Membuat banyak copy dalam satu aksi tidak akan menyebabkan dialog terbuka untuk masing-masing shape. Pengidentifikasi kode bahasa (language code identifierLCID) yang digunakan, misalnya, 1033 untuk bahasa Inggris, 1036 untuk bahasa Perancis, dan 3082 untuk bahasa Spanyol. Ini merupakan tipe kalender, Barat atau kalender lain, untuk digunakan sebagai penanggalan. Default-nya adalah 0 (WesternBarat).
LangID
visCustPropsLangID (14)
Calendar
visCustPropsCalendar (15)
Tabel 2-1 Sel Shape Data Sel indices bisa digunakan didalam kode sebagai bagian terkahir dari properti CellsSRC. Indeks seksi (visSectionProp) adalah 243, tapi indeks baris dapat lebih sulit untuk ditemukan sehingga kita akan mebutuhkan penggunaan nama baris.
Angka
3 4
47
Nilai
Tipe
Tanggal
Durasi
Mata Uang
Deskripsi nilai yang dipisahkan oleh titik koma. Jika ia tidak berada dalam list, nilai tersebut akan ditambahkan ke dalam list. Tanggal atau waktu. Gunakan sel Format untuk menspesifikasikan penampilannya, seperti tanggal dalam bentuk panjang atau pendek. Tanggal tertua yang dapat dimasukkan adalah 30/12/1899 00:00:00, karena itu waktu Visio dimulai sejak saat itu. Lalu, jika nda ingin memasukkan tanggal-tanggal yang lebih tua dari itu, gunakan sebuah tipe string atau ubah ke sebuah angka. Sel tanggal/waktu menyimpan tanggal dan waktu sebagai sebuah angka ganda, yang merupakan harihari sejak 20/12/1899 sebelum poin desimal, dan detik-detik dalam suatu hari, setelah poin desimal. Jika Anda memasukkan sebuah angka di antara 0 dan 1, angka tersebut akan diinterpretasikan sebagai waktu saja. Anda hanya memperoleh sebuah pengambil data dalam user interface, tetapi bukan sebuah muka jam. Waktu yang telah berlalu. Gunakan sel format untuk menspesifikasikan penampilannya. Menggunakan setting Regional yang sekarang ada. Gunakan sel Format untuk menspesifikasikan penampilan, sementara sel Value dapat menspesifikasikan mata uang, sebagai contoh, =CY(200,USD).
Tabel 2-2 Tipe-tipe Shape Data Sebagai tambahan dari add-on yang membuat linked shape data, terdapat add-on lain yang membuat unlinked shape data, Number Shapes tool. Template Business/Brainstorming Diagram Business/Organization Chart Menu Item Brainstorming/Import Data Komentar Mengimpor dari sebuah file XML dalam format tertentu. Membuat baris-baris shape data tak bernama. Mengimpor dari direktori, teks, Excel, atau sumber data ODBC-compliant dari Microsoft Exchange Server. Memungkinkan Anda untuk memilih kolom yang mana untuk di-impor sebagai baris-baris shape data. Membuat baris-baris shape data dengan
48
Komentar nama. Seperti di atas. Baru di Microsoft Visio 2007. Membuat summary shape data dari Excel, Access, SharePoint Service list, SQL Server, dan sumber data OLEBD atau ODBC. Sebuah deskripsi lebih lengkap dari kemampuan ini ada di bab yang lebih lanjut, tapi itu membuat baris shape data yang memiliki nama. Akan tetapi, ia tidak memiliki interface yang dapat diprogram. Mengimpor dari Excel, Active Directory, Exchange Server, atau ODBC. Memungkinkan Anda untuk memilih kolom dan untuk memfilter laporanlaporan yang akan diimpor. Anda dapat juga memilih Master shape, label default, dan Color by Value untuk digunakan di dalam wizard. Memasangkan baris shape data dengan label yang sama kapanpun memungkinkan. Jika tidak, ini membuat baris-baris data tanpa nama. Spesialis impor dari kalender Microsoft Outlook. Spesialis impor dari Microsoft Project. Spesialis impor dari Microsoft Project. Spesialis impor dari situs web manapun.
Plan/Import Data
Calendar/Import Outlook Data Wizard Gantt Chart/Import Timeline/Import Timeline Data Generate Site Map
49
50
51
ShapeSheet bukan hanya mendukung pengubahan per baris, tetapi juga menyediakan sebuah line editor di area toolbar. Namun, kedua fitur tersebut tidak memberikan keleluasaan untuk melihat lebih dari satu baris pada satu waktu, walaupun sel-sel dapat menyimpan hingga 64 ribu karakter. Untuk bantuan, gunakan program Notepad sebagai editor formula, dengan menggunakan teknik copy-paste antara kedua aplikasi tersebut, namun pastikan fasilitas Word Wrap di Notepad diaktifkan terlebih dahulu. Beberapa sel juga mengantisipasi kemungkinan kita memasukkan teks ataupun formula. Misalnya, jika kita mengakses sebuah sel dan memasukkan input : a:b:c Interface akan mengasumsikan bahwa kita memasukkan teks, dan mengubahnya ke dalam bentuk : =a:b:c Bila kita mengakses ssel berikutnya, bila kita memasukkan input seperti ini : a
Hal itu akan memunculkan pesan error, karena Interface mempunya ekspektasi kita memasukkan formula, jadi yang seharusnya kita masukkan adalah : a atau -a
52
Tool ini meng-copy baris-baris data, tapi mengaturnya secara alfabetis di shape target. Hal ini mengartikan kita harus mengggunakan Sort key secara konsisten agar baris-baris data tersusun dengan urutan yang sama pada bentuk yang sama. Berikut teknik yang bisa kita coba : 1. Buat sebuah Basic Network Diagram baru dan tarik sebuah Server ke halaman. 2. Buka window Shape Data. 3. Pilih Shape Data Sets dari menu kanan mouse di bar Shape Data Window. 4. Pilih Add di window Shape Data Sets. 5. Beri nama Network Properties yang baru, atau apapun yang similar. 6. Gambar sebuah shape baru. Cek Network Properties di window Shape Data Sets, lalu pilih Apply.
53
Perhatikan bahwa urutan baris shape data berbeda di shape Server yang asli dengan shape yang baru kita buat.
54
Untuk itu, kita harus merubah sel SortKey agar urutannya sama.
Penggunaan Microsoft Excel untuk perekaman baris shape data dan lainnya dapat memudahkan proses desain dan transfer ke shape lainnya.
55
Microsoft menyediakan ShapeStudio, yang termasuk di Microsoft Visio SDK, yang juga dapat digunakan untuk melakukan transfer baris shape data dari satu shape ke shape lainnya. Hal ini menggunakan Microsoft SQL Server database.
56
User-defined cells dapat digunakan di Reports, namun sulit dibedakan sel yang mana yang sedang digunakan nilai data dengan yang sedang digunakan untuk kalkulasi. Shape yang sudah disediakan oleh Microsoft Visio menggunakan sel Scratch untuk menyimpan nilai atau pun melakukan kalkulasi.
Pertama, kita harus membuat sebuah baris shape data, deperti yang ditunjukkan tabel 2-5, untuk pemilihan Priority. Lalu kita harus membuat beberapa User-defined cells, seperti yang ditunjukkan tabel 2-6. Yang pertama dibuat mendapat posisi indeks dari Priority terpilih. Indeks ini digunakan untuk mengambil sebuah definisi warna dari sebuah list warna, seperti yang bisa kita lihat di tabel 2-7. Cell Name Value Prompt Tabel 2-6 Mendapatkan index dari Selected Priority Cell Name Value Formula PriorityIdx LOOKUP(Prop.Priority,Prop.Priority.Format) The index of the Priority property
Cell
Formula
57
Name Value
PriorityTrigger DEPENDSON(User.PriorityIdx)+SETF(GetRef(LineC olor),User. PriorityColor) Prompt Set Priority Tabel 2-8 Mengubah nilai dari warna garis berdasarkan prioritas Formula warna dapat disimpan ke salah satu sel, namun karena warna-warna fill foreground background dapat digunakan oleh Data Graphics nantinya, warna garis pun diset untuk memberikan indikasi visual dari Priority.
Di contoh terdahulu, formula untuk warna garis diset dengan ??pushing in?? nilainya. Kita bisa memilih untuk menarik nilainya dengan memasukkan formula ke sel LineColor secara langsung, namun hal itu akan menyebabkan nilainya harus diberikan perlindungan terhadap perubahan dari UI, karena bila tidak warna Priority tidak bisa lagi di-reapply.
Themes
Themes terbaru di Microsoft Visio 2007 mengubah formula beberapa sel warna dan memasukkan sebuah baris User baru, msvThemeColors. Bila kita ingin membuat sebuah formula yang melakukan sesuatu bila sebuah theme digunakan, dan melakukan hal lainnya bila theme tersebut tidak digunakan, maka kita harus bisa mendeteksi keberadaan sel User.msvThemeColors. Kebanyakan fungsi menunjuk langsung ke sebuah sel, namun fungsi SETF (fungsi yang digunakan untuk men-setting formula di sel lain) mengekspektasi string nama, jadi, kita bisa menulis sebuah formula yang menggunakan fungsi SETF, tanpa mempedulikan apakah selnya ada atau tidak. Jadi, bila SETF berhasil, tidak akan menyebabkan error. Namun bila SETF gagal, maka akan keluar pesan error. Kita dapat mendeteksi hal ini dengan fungsi
58
ISERRVALUE. Bagaimanapun, hal tersebut tidak akan melakukan re-evaluasi secara otomatis, jadi kita formula tersebut harus diatur agar melakukan re-evaluasi setiap ada perubahan nilai pada sel FillForegnd. Berbeda dengan baris shape data dan user-defined cells, sel ini aman untuk direfer secara langsung. Thus, you can amend the formula in the User.PriorityTrigger to respect the possible use of theme.
Kita gunakan sel Prompt dari baris User.visVersion, untuk mendorong sebuah nilai ke sel User.visThemeColors.Prompt karena hal itu tidak penting dan tidak digunakan oleh Themes. Jika kita memasukkan formula yang sebelumnya ke sebuah sel user-defined yang baru, sebut saja HasTheme, maka nilai hasil akan menjadi 0 atau 1, tergantung pada apakah berhasil atau gagal. Kita dapat menggunakan ini di tempat lain di ShapeSheet kita.
59
DailyRate. Kita memiliki dua pilihan untuk hal ini, mendorongnya ke dalam.
Untuk menarik data tersebut, kita dapat menggunakan formula Prop,DailyRate * Prop.Duration ke sel Prop.Cost.Value. Jika kita menutup formulanya dengan fungsi GUARD, maka kita membuat formula tersebut tidak dapat diubah.
Untuk mendorong masuk data tersebut, kita dapat membuat sebuah user-defined cell baru, sebut saja CostTrigger, lalu masukkan formula : =DEPENDSON(Prop.Duration,Prop.DailyRate)+SETF(GETREF(Prop.Cost),Prop. DailyRate*Prop.Duration)
Hal ini mempunyai efek mendorong hasil kalkulasi ke sel Prop.Cost.Value kapanpun Cost atau DailyRate berubah. Ini membuat Cost dapat diubah, namun akan diperbaharui jika Duration atau DailyRate diubah.
60
Di contoh Cost sebelunya, menunjuk pada sebuah nilai terpusat untuk DailyRate akan berguna, disbanding dengan mempertahankannya di banyak tempat. Untuk itu, kita dapat membuat sebuah baris shape data di halaman, lalu sel DailyRate di shape dapat menunjuk pada shape data itu dengan formula ThePage!Prop.DailyRate. Gunakan lagi fungsi GUARD untuk membuatnya tidak bisa diubah.
Jika kita mengantisipasi bahwa kita mungkin memiliki dokumen dengan lebih dari satu halaman, maka kita bisa membuat sebuah baris shape data baru atau user-defined cell di dokumen ShapeSheet. Untuk melakukan hal ini, kita harus membuka ShapeSheet dari node dokumen di window Drawing Explorer.
Setelah kita membuat sel tersebut, kita harus menunjuknya ke sel DailyRate didalam shape tersebut, dengan formula TheDoc!User.DailyRate.
61
Satu drawback untuk menambahkan baris shape data ke halaman dalam hal ini adalah kita dapat memiliki banyak shape, semua mencoba untuk menambah baris page-level shape data, dan mereka dapat ditambahkan ke order apapun. Untuk itu, jika kita menginginkan konsistensi di penampilan baris shape data dari satu halaman ke halaman lainnya, gunakan sel SortKey untuk memastikan baris-baris tersebut berada pada urutan yang sama.
Rolling Up Values
Kadang-kadang, memiliki nilai shape data pada satu shape untuk menjumlahkan baris shape data dari beberapa shape lainnya sangatlah berguna. Kita dapat melakukan hal ini secara manual, tapi akan lebih mudah bila memiliki automatisasi. Pada contoh sebelumnya, menjumlahkan durasi dari shape lain akan cukup untuk menyediakan rollup cost di shape terpilih. Hasil akhirnya adalah sebagai berikut : kita dapat mengubah nilai shape data Duration pada shape anak, dan nilai Duration di rollup shape akan diperbaharui secara otomatis.
Manual Rollup
Seperti disebutkan sebelumnya, window dan dialog Shape Data tidak dapat digunakan untuk memasukkan formula, jadi kita harus menggunakan ShapeSheet untuk memasukkan formula rollup. Kita juga harus mengetahui ID-ID unik shape atau NameU dari shape dengan data yang ingin di-rollup. Cara paling sederhana untuk menemukan ID tersebut adalah dengan memilih Special dari menu Format (yang hanya bisa diakses dari mode Developer). Kita juga dapat melihat nama dari shape pada dialog Special, dan kita bisa menamakan ulang sebuah shape secara manual dengan cara itu. Harap diperhatikan, NameU tidak akan diubah bila kita mengubah nama shape dengan dialog tersebut secara subsekuensial. Nama dari sebuah shape akan berbeda dengan NameU-nya, kecuali bila kita menggunakan kode untuk mengubahnya. Hal ini diaplikasikan untuk memperbolehkan penggunaan berbagai bahasa berbeda. Disarankan untuk mengggunakan NameU dari sebuah shape dalam kode, karena nama dari shape tersebut bisa diubah. Baris shape data juga memiliki kedua properti diatas.
Automated Rollup
Terdapat banyak skenario dimana kita menginginkan sebuah rollup shape untuk menampilkan sum dari shape data di shape lainnya. Pada solusi lengkap, kita mungkin ingin meng-update formula rollup shape kapanpun hal itu tersambung atau tidak dengan shape lain, namun kita akan mengambil contoh sederhana
62
dimana kita akan membuat sebuah pilihan multiple shape, dan shape pertama yang terpilih adalah rollup shape. Conoh berikut ditunjukkan pada VBA (Visual Basic for Applications) karena VBA merupakan cara yang tepat untuk melakukan pengujian terhadap kode.
Public Sub RollupDuration() 'Pass the shape data name to the helper function RollupData "Prop.Duration" End Sub Private Sub RollupData(ByVal cellName As String) Dim rollupShape As Visio.Shape Dim childShape As Visio.Shape Dim rollupList As String If Visio.ActiveWindow.Selection.Count < 2 Then 'Not enough selected shapes to continue Exit Sub End If If Visio.ActiveWindow.Selection.PrimaryItem.CellExists( _cellName, Visio.visExistsAnywhere) Then Set rollupShape = Visio.ActiveWindow.Selection.PrimaryItem Else 'The first shape does not contain the correct shape data row Exit Sub End If 'Loop through the selection For Each childShape In Visio.ActiveWindow.Selection If Not childShape Is rollupShape _ And childShape.CellExists( _ cellName, Visio.visExistsAnywhere) Then If Len(rollupList) = 0 Then 'This is the start of the list rollupList = childShape.NameU & "!" & cellName Else 'Append to the list rollupList = rollupList & "," & _ childShape.NameU & "!" & cellName End If End If Next 'Finally, update the rollup shape formula 'GUARD the formula to protect from overtyping 'Use FormulaForce for subsequent reruns rollupShape.Cells(cellName).FormulaForce = _ "=GUARD(SUM(" & rollupList & "))" End Sub
Disini digunakan FormulaForce disbanding hanya Formula biasa, karena penting untuk memaksa memasukkan formula ke sebuah sel bila mengandung fungsi GUARD. Macro ini tersedia pada menu Tools | Macros, namun kita harus memilih shape hasil diikuti oleh semua shape lain yang mengandung properti Duration.
63
64
Sebagai contoh, shape tersebut tidak menampilkan tipenya, sehingga sulit untuk membuat laporan berdasarkan tipenya. Jika Anda melihat ShapeSheet dari shape ini, Anda dapat melihat empat baris berada di bagian Actions, yang mengatur formula dari sel dalam bagian Scratch ke suatu nilai dari 1 ke 4.
65
Set Formulaformula pengaturan (SETF) mengatur nilai dari sel yang diberi tanda kutip, misalnya:
=SETF("Scratch.A1",1)
Sel Menu menampilkan tipe shape, jadi Anda dapat memilih tipe shape mana yang ingin Anda gunakan. Sel Checked menampilkan tipe shape mana yang dipilih.
=Scratch.A1=1
Keempat bagian geometri ada di dalam ShapeSheet, tapi hanya satu dari mereka yang ditampilkan dalam satu waktu. Ini dikarenakan sel NoShow mereka diatur sesuai dengan nilai dalam sel Scratch.A1.
=NOT(Scratch.A1=4)
Saya menyarankan penambahan sebuah baris Shape Data, yang disebut Type, dengan sebuah list permanen. Saya menyarankan agar Anda memperkecil tempat-tempat di mana teks-teks tergantungbahasa ditulis. Untuk itu, saya memperbaiki sel-sel Action untuk mereferensikan sel Format dari Prop.Type, dan Menu untuk membaca sel Prompt dari sebuah sel User-Defined baru yang dinamakan User.TypeIdx.
66
Formula dalam sel Value pada baris User.TypeIdx mencari indeks-indeks berbasis nol dari nilai Prop.Type dalam list yang terdefinisi di sel Prop.Type.Format.
=LOOKUP(Prop.Type,Prop.Type.Format)
Indeks ini digunakan dalam sel-sel Action untuk mengatur formula dari baris shape data, Prop.Type.
=SETF(GetRef(Prop.Type),"="""&INDEX(0,Prop.Type.Format)&"""")
67
Catatan Saya menggunakan fungsi Get ReferenceMendapatkan Referensi (GETREF) untuk memperoleh nama sel Prop.Type karena fungsi SETF membutuhkan nama tersebut, dan Anda dapat mengubah nama baris Prop.Type tersebut. Fungsi GETREF memastikan referensinya tidak rusak. Selain itu, ingat bahwa teks yang dimasukkan ke sel Value harus ditutup oleh tanda kutip, karena sel Value tidak tahu tipe data apa yang digunakan. Efek keseluruhan dari ini adalah Anda dapat memilih tipe dari sebuah shape individual baik dengan menggunakan menu klik kanan mouse maupun dengan mengubah tipe shape data. Keuntungan tambahan dari ini adalah Prop.Type dapat digunakan dalam laporan-laporan dan Anda dapat mengubah tipe dari banyak shape sekaligus secara berkesinambungan dengan menggunakan window Shape Data.
68