Bab 3 Algoritma Feature Pengurangan
Sebelum membahas pemodelan produk berbasis feature yang disusun berdasarkan algoritma feature pengurang terlebih dahulu akan dijelaskan hal-hal yang mendasari pembuatan algoritma tersebut, yaitu antara lain penjelasan mengenai benda kerja, feature, dan kemudian penjelasan mengenai algoritma itu sendiri.
3.1 Atribut Benda Kerja Benda kerja yang akan dibuat pemodelan pada tugas akhir ini yaitu benda kerja dengan bentuk primitif balok. Supaya dapat dibuat pemodelannya dan memudahkan dalam membuat algoritmanya maka benda kerja dilengkapi dengan atribut-atribut sebagai berikut: 1.
ID Benda kerja ID ini menunjukkan identitas dari benda kerja. ID ini dapat berupa kode-kode angka, bar code, atau yang lainnya.
2.
Dimensi Benda kerja Benda kerja memiliki atribut dimensi berupa panjang, lebar dan tinggi seperti yang ditunjukkan pada gambar 3.1. Perlu diketahui bahwa panjang selalu searah dengan sumbu-X benda kerja, lebar selalu searah dengan sumbu-Y benda kerja dan tinggi selalu searah dengan sumbu-Z benda kerja.
Gambar 3.1 Atribut dimensi benda kerja
27
Supaya atribut dimensi dapat diolah maka diberikan syarat dalam memasukkan atribut ini, yaitu:
3.
panjang > 0,
lebar > 0, dan
tinggi > 0.
Titik Sudut Benda kerja memiliki delapan titik sudut yang diberi nama titik O1, O2, O3, O4, O5, O6, O7, dan O8 dengan titik referensi terletak pada tengah-tengah balok seperti yang ditunjukkan pada gambar 3.2. Titik sudut ini akan digunakan sebagai titik snap feature terhadap terhadap benda kerja. Koordinat titik-titik sudut tersebut pada sumbu benda kerja sebagai berikut:
Titik O1 mempunyai koordinat (x0, y0, z0).
Titik O2 mempunyai koordinat (x1, y0, z0)
Titik O3 mempunyai koordinat (x1, y1, z0)
Titik O4 mempunyai koordinat (x0, y1, z0)
Titik O5 mempunyai koordinat (x0, y0, z1)
Titik O6 mempunyai koordinat (x1, y0, z1)
Titik O7 mempunyai koordinat (x1, y1, z1)
Titik O8 mempunyai koordinat (x0, y1, z1)
Gambar 3.2 Titik-titik sudut benda kerja
28
4.
Sisi Benda Kerja Benda kerja berbentuk balok memiliki enam sisi. Sisi-sisi pada benda kerja perlu dilakukan penamaan untuk membedakan antara sisi benda kerja yang satu dengan sisi lainnya. Pada tugas akhir ini penulis menamakan setiap sisi benda kerja sesuai posisinya terhadap titik referensi, yaitu:
TOP yaitu sisi yang merupakan bidang pada benda kerja yang dibentuk oleh O5O6O7O8 dengan nilai z = z1.
BOTTOM yaitu sisi yang merupakan bidang pada benda kerja yang dibentuk oleh O1O2O3O4 dengan nilai z = z0.
FRONT yaitu sisi yang merupakan bidang pada benda kerja yang dibentuk oleh O1O2O6O5 dengan nilai y = y0.
BACK yaitu sisi yang merupakan bidang pada benda kerja yang dibentuk oleh O3O4O8O7 dengan nilai y = y1.
LEFT yaitu sisi yang merupakan bidang pada benda kerja yang dibentuk oleh O1O4O8O5 dengan nilai x = x0.
RIGHT yaitu sisi yang merupakan bidang pada benda kerja yang dibentuk oleh O2O3O7O6 dengan nilai x = x1.
Gambar 3.3 dan gambar 3.4 di bawah ini menunjukkan letak dan penamaan sisi-sisi benda kerja.
Gambar 3.3 Sisi TOP dan BOTTOM benda kerja
29
Gambar 3.4 Sisi BACK, RIGHT, FRONT dan LEFT benda kerja 5. Kontainer feature Kontainer feature merupakan suatu wadah untuk menampung feature-feature yang dimasukkan ke benda kerja oleh perancang. Dengan adanya kontainer ini maka feature-feature yang berada dalam kontainer dapat dilakukan pemeriksaan interaksi antar feature. Jika terjadi interaksi maka feature-feature yang mengalami interaksi tersebut tidak akan diproses. Hal ini dikarenakan sistem belum dilengkapi dengan fungsi pemrosesan interaksi feature seperti yang telah dinyatakan di batasan masalah. Pemeriksaan feature yang berinteraksi dapat dilihat pada subbab 3.4.
3.2 Atribut Feature Selain benda kerja, feature juga memiliki atribut-atribut. Supaya dapat dibuat pemodelannya dan memudahkan dalam membuat algoritmanya maka feature dilengkapi dengan atribut-atribut sebagai berikut: 1.
ID Feature 30
ID ini berupa nomor yang menunjukkan urutan masuknya feature tersebut ke dalam benda kerja. 2.
Bidang kerja feature Bidang kerja feature merupakan sisi benda kerja yang menjadi tempat peletakan penampang feature. Ada enam bidang kerja feature yaitu TOP, BOTTOM, FRONT, BACK, LEFT, dan RIGHT.
3.
Titik sudut feature Seperti halnya pada benda kerja, feature juga memiliki delapan titik sudut yang masing-masing diberi nama F1, F2, F3, F4, F5, F6, F7, dan F8. Titik sudut feature yang berada pada penampang feature yang diletakkan pada sisi benda kerja selalu F1, F2, F3, dan F4. Kemudian pada arah yang tegak lurus dengan penampang feature tersebut terdapat empat titik sudut yang lain. F1 berpasangan dengan F5, F2 berpasangan dengan F6, F3 berpasangan dengan F7, dan F4 berpasangan dengan F8. Gambar 3.5 menunjukkan letak titik-titik sudut feature terhadap bidang kerja feature yang dilihat dengan pandangan perspektif.
Gambar 3.5 Atribut titik sudut, orientasi dan posisi feature 4.
Sisi Feature Feature pada tugas akhir ini berbentuk primitif balok. Balok memiliki enam sisi. Sisi-sisi pada feature perlu dilakukan penamaan untuk membedakan antara sisi feature yang satu dengan sisi lainnya. 31
Gambar 3.6 menunjukkan penamaan sisi-sisi feature. Penamaan sisisisi feature tersebut adalah sebagai berikut:
work yaitu sisi feature yang sebidang dengan sisi benda kerja. Sisi feature ini selalu terletak pada bidang kerja feature. Sisi feature ini merupakan bidang yang dibentuk oleh F1F2F3 F4.
face yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F5F6F7 F8.
upper yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F3F4F8 F7.
lower yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F1F2F6 F5.
left yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F1F4F8 F5.
right yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F2F3F7 F6.
Gambar 3.6 Sisi feature 5.
Titik Snap Orientasi pada tugas akhir ini mengacu kepada suatu titik yang disebut sebagai titik snap. Snap merupakan cara penempatan suatu objek dengan memanfaatkan titik yang sudah ada dengan prinsip koordinat relatif atau lebih dikenal sistem koordinat lokal. Metode snap ini mengambil ide seperti yang diterapkan pada 32
software AutoCAD.
Letak titik snap pada tugas akhir ini selalu terletak pada pojok kiri bawah bidang kerja feature seperti yang ditunjukkan pada gambar 3.6. Jumlah
orientasi
pada
setiap
bidang
kerja
feature
hanya
diperkenankan untuk satu orientasi saja sehingga jumlah titik snap yang digunakan hanya satu pada setiap bidang kerja. Gambar 3.7 menunjukkan titik snap pada setiap bidang kerja feature.
Gambar 3.7 Orientasi dan titik snap pada feature Gambar 3.7 di atas memperlihatkan titik snap untuk setiap orientasi, yaitu sebagai berikut:
6.
Orientasi TOP memiliki titik snap di titik O5.
Orientasi FRONT memiliki titik snap di titik O1.
Orientasi LEFT memiliki titik snap di titik O1.
Orientasi BOTTOM memiliki titik snap di titik O1.
Orientasi BACK memiliki titik snap di titik O4.
Orientasi RIGHT memiliki titik snap di titik O2.
Jarak penampang feature dari titik snap (posisi) Jarak penampang feature dari titik snap dinyatakan oleh variabel u dan v. Dengan melihat titik snap selalu berada pada pojok kiri bawah bidang kerja feature seperti pada gambar 3.6, jarak penampang terhadap titik snap selalu dinyatakan dalam jarak horizontal dan jarak 33
vertikalnya. Jarak horizontal ditunjukan dalam variabel u sedangkan jarak
vertikal
ditunjukkan
dalam
variabel
v.
Gambar
3.7
memperlihatkan arah variabel u dan v dengan titik snap selalu berada pada pojok kiri bawah pada bidang kerja. Berikut ini adalah arah u dan v pada setiap orientasi:
Pada orientasi TOP, u searah dengan sumbu-X sedangkan v searah dengan sumbu-Y.
Pada orientasi FRONT, u searah dengan sumbu-X sedangkan v searah dengan sumbu-Z.
Pada orientasi LEFT, u searah dengan sumbu-Z sedangkan v searah dengan sumbu-Y.
Pada orientasi BOTTOM, u searah dengan sumbu-Y sedangkan v searah dengan sumbu-X.
Pada orientasi BACK, u searah dengan sumbu-Z sedangkan v searah dengan sumbu-X.
Pada orientasi RIGHT, u searah dengan sumbu-Y sedangkan v searah dengan sumbu-Z.
Karena pada tugas akhir ini titik snap selalu berada pojok kiri bawah pada bidang kerja feature, maka: u ≥ 0 dan v ≥ 0. 7.
Dimensi feature Seperti halnya benda kerja, feature memiliki atribut dimensi panjang, lebar dan tinggi. Perlu diketahui bahwa panjang feature ditetapkan selalu searah dengan arah u, lebar feature selalu searah dengan arah v, dan tinggi feature selalu dalam arah tegak lurus terhadap bidang kerja feature. Bila tinggi yang ditetapkan merupakan tinggi feature penambahan maka tinggi feature ke arah luar bidang kerja feature sedangkan bila tinggi yang ditetapkan merupakan tinggi feature pengurangan maka tinggi feature ke arah dalam bidang kerja feature. Gambar 3.8 memperlihatkan atribut dimensi feature pengurangan. Pada feature pengurangan terdapat batasan dalam memasukkan nilai panjang, lebar dan tinggi feature, yaitu: a. Panjang feature: 34
panjang feature > 0 b. Lebar feature: lebar feature > 0 c. Tinggi feature dinyatakan dalam tinggi ekstrusi (feature penambahan) dan tinggi intrusi (feature pengurangan). Tinggi ekstrusi dinyatakan dengan memasukkan nilai : tinggi feature > 0 Kedalaman intrusi dinyatakan dengan memasukkan nilai: tinggi feature < 0
Gambar 3.8 Atribut dimensi feature
3.3 Pemodelan Produk Berbasis Feature Setelah mengetahui atribut-atribut yang akan digunakan pada pemodelan benda kerja dan feature maka langkah selanjutnya adalah menentukan urutan atau algoritma yang harus dilakukan oleh perancang dalam membuat suatu model produk berbasis feature. Bentuk algoritma dapat disederhanakan dalam bentuk diagram alir untuk memudahkan dalam memahami urutan dalam membuat pemodelan produk berbasis feature ini seperti yang ditunjukkan pada gambar 3.9.
35
Gambar 3.9 Diagram alir pemodelan produk berbasis feature Algoritma pemodelan produk berbasis feature adalah sebagai berikut: 1.
Masukkan dimensi benda kerja, yaitu panjang, lebar dan tinggi benda kerja. Data dimensi benda kerja dimasukkan dengan memberikan input secara manual pada layar komputer.
2.
Periksa input data dimensi benda kerja yang dimasukkan. Pemeriksaan ini dilakukan secara otomatis pada aplikasi dengan menerapkan syarat-syarat tertentu. Dalam hal ini syarat yang ditentukan 36
bertujuan agar input yang dimasukkan sesuai dengan kemampuan program. Bila input yang dimasukkan sesuai maka data dimensi benda kerja akan dieksekusi ke tahap selanjutnya sedangkan bila data yang dimasukkan tidak sesuai maka data dimensi benda kerja harus dimasukkan ulang. Syarat yang diterapkan yaitu: panjang > 0, lebar > 0, dan tinggi > 0. 3.
Mengubah data dimensi benda kerja menjadi data-data yang bisa digunakan untuk menentukan titik-titik koordinat benda kerja. Data dimensi yang sesuai selanjutnya akan diolah sehingga dapat digunakan untuk menyusun titik-titik koordinat benda kerja. Seperti telah dibahas sebelumnya bahwa pada tugas akhir ini ditetapkan titik pusat koordinat kartesian untuk benda kerja dan feature berada pada tengahtengah balok benda kerja (lihat gambar 3.1 dan gambar 3.2). Hal ini mengakibatkan data panjang, lebar, dan tinggi benda kerja tidak dapat digunakan secara langsung untuk menentukan titik sudut benda kerja pada sistem koordinat kartesian yang ditetapkan. Oleh karena itu, data dimensi yang sudah dimasukkan perlu diolah terlebih dahulu sehingga dapat menyatakan titik-titik koordinat. Subbab 3.3.1 menjelaskan secara detail mengenai variabel-variabel yang digunakan untuk menyusun titik-titik koordinat.
4.
Mengkoleksi data-data yang akan digunakan dalam menyusun titik koordinat benda kerja. Setelah data dimensi diubah menjadi data-data yang bisa digunakan untuk menyusun
titik-titik
koordinat
maka
langkah
selanjutnya
adalah
mengkoleksi data-data tersebut. Hal ini dikarenakan dalam menyusun objek visual 3D berbentuk balok diperlukan enam bidang datar untuk menyusunnya. Setiap bidang datar pada dasarnya memerlukan minimal empat titik koordinat, tetapi jumlah titik yang digunakan akan bertambah jika bidang datar ini merupakan bidang kerja feature. Data-data yang dikoleksi tidak hanya data benda kerja melainkan juga data feature. Data ini nantinya akan digunakan untuk membuat objek visual 3D body. 5.
Menggambar objek visual 3D body. 37
Subbab 3.3.2 menunjukkan langkah-langkah menggambar objek visual 3D body. 6.
Mencetak hasilnya ke layar komputer. Hasil yang dicetak berupa objek visual 3D yang ditampilkan pada layar komputer. Pada tahap ini sebenarnya proses pembuatan model benda kerja tanpa feature yang ingin ditampilkan dalam pemodelan selesai. Namun bila perancang ingin menambah jumlah feature ke benda kerja maka diperlukan tahap selanjutnya.
7.
Menambah jumlah feature ke benda kerja Dalam pemodelan, jumlah feature yang digunakan sebaiknya dapat lebih dari satu feature maka program perlu dibuat tombol yang berisi perintahperintah untuk menambah jumlah
feature. Java dan C++ biasanya
menyediakan tombol-tombol yang dapat digunakan untuk melakukan perintah-perintah tertentu pada aplikasi. Bila perancang tidak ingin menambah jumlah feature ke benda kerja maka tombol yang menyatakan perintah menambah feature tidak ditekan dan proses selesai. Tahap 8 sampai 12 ditujukan untuk penambahan jumlah feature. 8.
Memasukkan data atribut feature Data feature yang dimasukkan yaitu sisi benda kerja yang akan dijadikan tempat meletakkan feature (bidang kerja feature), jarak horizontal feature dari titik snap (u), jarak vertikal feature dari titik snap (v), panjang, lebar dan tinggi feature. Data-data ini dimasukkan secara manual oleh perancang.
9.
Dilakukan pemeriksaan input data atribut feature yang dimasukkan. Sama seperti benda kerja data atribut feature perlu dilakukan pemeriksaan supaya data-data tersebut dapat diolah. Syarat yang harus dipenuhi oleh data-data feature yang dimasukkan yaitu: d. Jarak horizontal feature terhadap titik snap: u>0 e. Jarak vertikal feature terhadap titik snap: v>0 f. Panjang feature : 38
panjang feature > 0 g. Lebar feature : lebar feature > 0 h. Tinggi feature : Tinggi ekstrusi dinyatakan dengan memasukkan nilai: tinggi feature > 0 Kedalaman intrusi dinyatakan dengan memasukkan nilai: tinggi feature < 0 dan tinggi feature ≤ maksimum kedalaman intrusi. i. u + panjang feature: u + panjang feature ≤ maksimum u + panjang feature j. v + lebar feature: v + lebar feature ≤ maksimum v + lebar feature Bila data atribut feature yang dimasukkan sesuai maka data atribut feature akan diproses ke tahap selanjutnya, sedangkan bila data atribut feature tidak sesuai maka perlu untuk memasukkan nilai atribut feature kembali. 10.
Mengubah data atribut feature menjadi data-data yang bisa digunakan untuk menentukan titik-titik koordinat feature. Sama seperti halnya benda kerja, data atribut feature tidak dapat digunakan secara langsung untuk menentukan titik-titik sudut feature. Oleh karena itu diperlukan pengolahan terhadap data atribut feature tersebut sehingga dapat digunakan untuk menentukan titik-titik koordinat feature. Subbab 3.3.1 menjelaskan cara mengubah data atribut feature tersebut.
11.
Memeriksa interaksi yang terjadi antar feature Data-data atribut yang telah diolah pada tahap 10 selain digunakan untuk membuat objek visual 3D
feature digunakan juga untuk memeriksa
interaksi antar feature. Interaksi yang diperiksa sebatas terjadi interaksi atau tidak. Hal ini dikarenakan pada batasan masalah sudah ditekankan bahwa tidak terjadi interaksi antar feature. Pemeriksaan dilakukan dengan cara membandingkan data feature yang baru diolah pada tahap 10 dengan data feature yang sudah dibuat sebelumnya pada benda kerja. Bila data 39
feature yang akan ditambahkan memenuhi syarat interaksi maka data feature tidak akan diproses sehingga perlu dimasukkan data atribut feature kembali. Namun bila tidak terjadi interaksi, data feature
yang sudah
diolah pada tahap 10 tersebut akan disimpan di kontainer feature kemudian digunakan untuk menggambar objek visual 3D feature. Subbab 3.4 menjelaskan mengenai syarat yang menyatakan suatu feature dinyatakan berinteraksi dengan feature lainnya. 12.
Menggambar objek visual 3D feature Pada tahap ini objek visual 3D feature
akan dibuat. Berbeda halnya
dengan benda kerja yang tersusun dari 6 bidang yang merupakan sisisisinya, feature maksimum tersusun dari 5 bidang real. Jumlah maksimum ini diambil dengan mengasumsikan bahwa feature
poket tengah
menghasilkan bidang baru terbanyak pada benda kerja yaitu sebanyak 5 bidang baru (lihat gambar 2.8). Pola penggambaran objek visual 3D feature secara jelas diulas pada subbab 3.3.3. Proses penambahan jumlah feature tentunya akan mengubah bentuk objek visual 3D benda kerja. Oleh karena itu tahap 4, 5, dan 6 perlu diulang untuk menggambar objek visual 3D benda kerja yang baru. Penerapan siklus tertutup untuk pembuatan feature bertujuan agar jumlah feature yang ditambahkan ke benda kerja tidak dibatasi.
3.3.1 Variabel-Variabel Penyusun Titik Koordinat Suatu titik pada sistem koordinat kartesian XYZ memiliki koordinat (x, y, z). Koordinat titik tersebut tersusun dari tiga atribut yaitu x, y, dan z. Atribut tersebut merupakan variabel yang besarnya menunjukkan posisi relatif terhadap sumbu koordinat kartesian. Variabel x menunjukkan posisi titik pada sumbu-X koordinat kartesian. Variabel y menunjukkan posisi titik pada sumbu-Y koordinat kartesian. Variabel z menunjukkan posisi titik pada sumbu-Z koordinat kartesian. Gambar 3.10 menunjukkan suatu titik yang memiliki koordinat x, y, z.
40
Gambar 3.10 Titik memiliki variabel x, y, dan z Pada pemodelan produk berbasis feature, data yang dimasukkan ke dalam pemodelan bukan merupakan data titik benda kerja dan feature. Data yang dimasukkan oleh perancang pada pemodelan ini merupakan data atribut. Oleh karena itu, data atribut yang dimasukkan perlu diolah terlebih dahulu menjadi variabel x, y, dan z. Variabel x, y, dan z pada pemodelan ini diperoleh dari dua sumber yaitu atribut dimensi benda kerja dan atribut feature. Masing-masing variabel x, y, dan z yang diolah dari kedua sumber tersebut masing-masing diberi tanda dengan penamaan khusus. Penamaan ini bertujuan untuk memudahkan dalam mengenali sumber data yang digunakan untuk variabel x, y, dan z tersebut.
3.3.1.1 Variabel x, y, dan z Benda Kerja Salah satu sumber data untuk memperoleh nilai variabel x, y, dan z adalah atribut dimensi benda kerja. Atribut dimensi ini meliputi panjang, lebar, dan tinggi benda kerja. Dengan menetapkan titik (0,0,0) sistem koordinat kartesian XYZ berada di tengah-tengah primitif balok benda kerja maka nilai variabel x, y dan z adalah sebagai berikut: 1. Variabel x:
41
2. Variabel y:
3. Variabel z:
Nilai-nilai variabel ini ditunjukkan pada gambar 3.11 berikut ini.
Gambar 3.11 Variabel x, y dan z benda kerja
3.3.1.2 Variabel x, y, dan z Feature Sama seperti benda kerja, data titik feature
sangat diperlukan dalam
membuat model produk berbasis feature. Data titik ini diperoleh dari hasil pengolahan atribut feature. Data atribut yang dimaksud adalah u, v, panjang feature, lebar feature, panjang feature, dan bidang kerja feature yang merupakan sisi benda kerja tempat meletakkan feature. Data ini kemudian akan diolah menjadi variabel x, y, dan z yang apabila disusun dapat menunjukkan titik-titik sudut feature pada sistem koordinat kartesian. Variabel feature diberi nama Fx0, Fx1, Fy0, Fy1, Fz0, dan Fz1. Penamaan variabel dengan huruf F sebagai huruf pertama digunakan untuk menandai bahwa 42
variabel ini merupakan variabel feature. Fx0 dan Fx1 merupakan variabel x feature. Fy0 dan Fy1 merupakan variabel y feature. Fz0 dan Fz1 merupakan variabel z feature. Gambar 3.12 menunjukkan letak dan nilai variabel x, y, dan z dari sebuah benda kerja dengan satu feature poket tengah yang dibuat pada sisi TOP.
Gambar 3.12 Variabel x, y, dan z feature pada bidang kerja feature TOP Dari gambar di atas dapat diketahui bahwa nilai variabel x, y, dan z feature pada sebuah feature dengan bidang kerjanya di sisi TOP adalah sebagai berikut: Fx0 = x0 + u Fx1 = Fx0 + panjang feature Fy0 = y0 + v Fy0 = Fy0 + lebar feature Fz0 = z1 Fz1 = Fz0 + tinggi feature
Feature memiliki posisi relatif terhadap benda kerja. Hal ini menyebabkan persamaan variabel x, y, dan z untuk setiap bidang kerja feature berbeda-beda. Nilai variabel x, y dan z feature untuk setiap orientasi feature dinyatakan dalam tabel 3.1 berikut ini:
43
Tabel 3.1 Nilai Variabel x, y, dan z Feature Berdasarkan Orientasi Feature Variabel
Fy0
TOP x0 + u Fx0 + panjang feature y0 + v
Fy1
Fy0 + lebar feature
Fx0 Fx1
Fz0
BOTTOM x0 + v Fx0 + lebar feature y0 + u Fy0 + panjang feature z0
Orientasi Feature FRONT BACK x0 + u x0 + v Fx0 + Fx0 + lebar panjang feature feature y0 y1 Fy0 + Fy0 - tinggi tinggi feature feature z0 + v z0 + u Fz0 + Fz0 + lebar panjang feature feature
LEFT x0 Fx0 - tinggi feature y0 + v Fy0 + lebar feature
z1 z0 + u Fz0 + Fz0 + Fz0 - tinggi Fz1 tinggi panjang feature feature feature Catatan : Nilai tinggi feature (+) menyatakan tinggi ekstrusi Nilai tinggi feature (-) menyatakan kedalaman intrusi
RIGHT x1 Fx0 + tinggi feature y0 + u Fy0 + panjang feature z0 + v Fz0 + lebar feature
Apabila jumlah feature yang digunakan lebih dari satu maka digunakan superskrip untuk membedakannya. Misalnya Fx01, Fx11, Fy01, Fy11, Fz01, dan Fz11 merupakan variabel feature pertama, Fx02, Fx12, Fy02, Fy12, Fz02, dan Fz12 merupakan variabel feature kedua, Fx03, Fx13, Fy03, Fy13, Fz03, dan Fz13 merupakan variabel feature ketiga, dan seterusnya.
3.3.2 Pembuatan Objek Visual 3D Body Pembuatan objek visual 3D Body memerlukan nilai-nilai variabel x, y dan z dari benda kerja dan feature. Nilai variabel feature digunakan untuk menggambar sisi benda kerja yang menjadi tempat peletakan penampang feature. Pembuatan objek visual 3D Body dilakukan dengan menggambar setiap sisi benda kerja berdasarkan langkah-langkah sebagai berikut: 1. Pengkoleksian nilai variabel x, y,dan z dari benda kerja dan feature ke dalam kontainer. 2. Pengurutan data kontainer mulai dari nilai terkecil sampai nilai terbesar. 3. Pembuatan grid dan pemberian identitas untuk setiap grid 4. Pemeriksaan titik tengah dan penggambaran bidang grid
44
3.3.2.1 Pengkoleksian Nilai Variabel x, y, dan z dari Benda Kerja dan Feature ke Kontainer Kontainer adalah kumpulan variabel x, y dan z yang berada pada bidang yang sama. Kontainer yang digunakan ada tiga jenis, yaitu: 1. GRID HORIZONTAL yang merupakan kontainer nilai-nilai variabel x, y dan z yang digunakan untuk menyatakan nilai horizontal bidang. 2. GRID VERTIKAL yang merupakan kontainer nilai-nilai variabel x, y dan z yang digunakan untuk menyatakan nilai vertikal bidang. 3. BATAS FEATURE merupakan kontainer nilai-nilai variabel x, y dan z yang digunakan untuk menyatakan batas-batas feature. Kontainer-kontainer ini ada di setiap sisi benda kerja. Berikut ini akan diberikan suatu contoh kasus pengkoleksian bidang TOP dengan feature poket tengah untuk memudahkan memahami proses pembuatan objek visual 3D Body ini.
Dari gambar 3.12 dapat terlihat bahwa untuk membangun bidang TOP
diperlukan variabel z yang nilainya sama dengan z1 sedangkan nilai x dan y dapat bervariasi. Hal ini dikarenakan bidang TOP merupakan bidang yang terletak pada sumbu X dan Y koordinat kartesian dengan nilai sumbu Z = z1. Gambar
3.13
menunjukkan bidang TOP dari benda kerja tersebut.
Gambar 3.13 Sisi TOP benda kerja dengan penampang feature poket tengah Berdasarkan gambar di atas, dapat ditarik kesimpulan sebagai berikut: 1. Karena bidang TOP terletak pada sumbu Z = z1 maka penampang feature akan sebidang dengan sisi TOP bila Fz1 = z1 atau Fz0 = z1. 2. GRID HORIZONTAL akan diisi oleh variabel x benda kerja dan feature, yaitu: x0, x1, Fx0, dan Fx1. 3. GRID VERTIKAL akan diisi oleh variabel y benda kerja dan feature, yaitu: y0, y1, Fy0, dan Fy1. 45
4. BATAS FEATURE akan diisi oleh variabel x dan y feature, yaitu: Fx0, Fx1, Fy0, dan Fy1 Daftar variabel yang dikoleksi oleh masing-masing kontainer untuk setiap sisi benda kerja ditunjukkan pada tabel 3.2. Pada tabel tersebut terdapat syarat untuk mengkoleksi variabel feature. Syarat ini merupakan persamaan yang menunjukkan bahwa sisi benda kerja sebidang dengan sisi feature. Bila syarat ini dipenuhi maka variabel feature harus dikoleksi oleh kontainer. Setiap sisi benda kerja memiliki syarat yang berbeda.
Tabel 3.2 Koleksi Data Variabel x, y, dan z Kontainer
Syarat
Sisi Benda
GRID
GRID
BATAS
Pengkoleksian
Kerja
HORIZONTAL
VERTIKAL
FEATURE
Variabel
(GH)
(GV)
(BF)
Feature ke-n
Fx01, Fx11, Fy01, Fy11 TOP (z = z1)
x0, x1, Fx01, Fx11, y0, y1, Fy01, Fy11, , Fx02, Fx12, Fy02, Fx02, Fx12, ......... , Fy02, Fy12, ......... Fx0n, Fx1n
, Fy0n, Fy1n
Fz11 , 2 , ..., n = z1
Fy12, ................ ,
atau
Fx0n , Fx1n , Fy0n ,
Fz01 , 2 , ..., n = z1
Fy1n Fx01, Fx11, Fy01, Fy11 BOTTOM (z = z0)
x0, x1, Fx01, Fx11, y0, y1, Fy01, Fy11, , Fx02, Fx12, Fy02, Fx02, Fx12, ......... , Fy02, Fy12, ......... Fx0n, Fx1n
, Fy0n, Fy1n
Fz01 , 2 , ..., n = z0
Fy12, ................ ,
atau
Fx0n , Fx1n , Fy0n ,
Fz11 , 2 , ..., n = z0
Fy1n
FRONT (y = y0)
BACK (y = y1)
x0, x1, Fx01, Fx11, z0, z1, Fz01, Fz11, Fx02, Fx12, ......... , Fz02, Fz12, ......... , n
Fx0 , Fx1
n
n
Fz0 , Fz1
n
x0, x1, Fx01, Fx11, z0, z1, Fz01, Fz11, Fx02, Fx12, ......... , Fz02, Fz12, ......... , Fx0n, Fx1n
Fz0n, Fz1n
46
Fx01, Fx11, Fz01, Fz11, 2
2
2
Fx0 , Fx1 , Fz0 , Fz12, ................ , Fx0n, Fx1n, Fz0n, Fz1n Fx01, Fx11, Fz01, Fz11, 2
2
2
Fx0 , Fx1 , Fz0 , Fz12, ................ , Fx0n, Fx1n, Fz0n, Fz1n
Fy01 , 2 , ..., n = y0 atau Fy11 , 2 , ..., n
= y0
Fy11 , 2 , ..., n = y1 atau Fy01 , 2 , ..., n = y1
Tabel 3.2 (Lanjutan) Kontainer
Syarat
Sisi Benda
GRID
GRID
BATAS
Pengkoleksian
Kerja
HORIZONTAL
VERTIKAL
FEATURE
Variabel
(GH)
(GV)
(BF)
Feature ke-n
1
LEFT (x = x0)
1
(x = x1)
Catatan:
1
y0, y1, Fy0 , Fy1 , z0, z1, Fz0 , Fz1 , Fy02, Fy12, ......... , Fz02, Fz12, ......... , Fy0n, Fy1n 1
RIGHT
1
Fz0n, Fz1n 1
1
Fy0 , Fy1 1 , 2 , ..., n
n
1
Fz0 , Fz1
n
2
2
Fy0 , Fy1 , Fz0 , n
n
Fx01 , 2 , ..., n = x0 atau
Fz12, ................ , Fy0 , Fy1 , Fz0 , Fz1
Fy02, Fy12, ......... , Fz02, Fz12, ......... , n
2
n
y0, y1, Fy0 , Fy1 , z0, z1, Fz0 , Fz1 , n
Fy01, Fy11, Fz01, Fz11,
n
Fy01, Fy11, Fz01, Fz11, Fy02, Fy12, Fz02, Fz12, ................ , Fy0n, Fy1n, Fz0n, Fz1n
Fx11 , 2 , ..., n = x0 Fx11 , 2 , ..., n = x1 atau Fx01 , 2 , ..., n
= x1
menunjukkan data variabel dari feature ke-1 , feature ke-2, dan
seterusnya sampai feature ke-n.
Pada pemodelan produk, jumlah feature yang digunakan kemungkinan bisa lebih dari satu. Misalnya pada contoh kasus sebelumnya akan ditambahkan kembali sebuah feature dengan orientasi di posisi TOP sehingga total jumlah feature yang digunakan ada dua. Syarat untuk mengkoleksi data feature pertama ke kontainer yaitu Fz01 = z1 atau Fz11 = z1. Sedangkan syarat untuk mengkoleksi data feature 2 ke kontainer yaitu Fz02 = z1 atau Fz12 = z1. Bila syarat tersebut dipenuhi maka GRID HORIZONTAL akan berisi x0, x1, Fx01, Fx11, Fx02, dan Fx12. GRID VERTIKAL akan berisi y0, y1, Fy01, Fy11, Fy02, dan Fy12. BATAS FEATURE akan berisi Fx01, Fx11, Fy01, Fy11 , Fx02, Fx12, Fy02, dan Fy12.
3.3.2.2 Pengurutan Data Kontainer Mulai dari Nilai Terkecil Sampai Nilai Terbesar Setelah data masuk ke kontainer, langkah selanjutnya yaitu mengurutkan data yang ada dalam kontainer dari nilai terkecil ke nilai terbesar. Apabila ditemukan nilai yang sama maka hanya akan diambil satu nilai saja. Pengurutan data variabel ini sangat berguna untuk membuat bidang grid terutama pada bidang-bidang benda kerja yang memiliki feature pada sisi bidang benda kerja 47
tersebut. Kontainer yang datanya diurutkan yaitu
GRID HORIZONTAL dan
GRID VERTIKAL. Kontainer BATAS FEATURE tidak perlu diurutkan karena hanya merupakan referensi posisi feature dan tidak terlibat secara langsung pada pembuatan grid. Berdasarkan contoh kasus TOP di atas maka pengurutan data pada kontainer dapat dinyatakan sebagai berikut: Data kontainer sebelum pengurutan nilai GRID HORIZONTAL : x0, x1, Fx0, Fx1. GRID VERTIKAL
: y0, y1, Fy0, Fy1.
Data kontainer setelah pengurutan nilai GRID HORIZONTAL : x0, Fx0, Fx1, x1. GRID VERTIKAL
: y0, Fy0, Fy1, y1.
3.3.2.3 Pembuatan Grid dan Pemberian Identitas Setiap Grid Setiap variabel yang menyusun titik-titik koordinat yang sudah diurutkan nilainya pada kontainer digunakan untuk membuat bidang-bidang grid 2 dimensi yang merupakan bagian dari bidang benda kerja. Gambar 3.14 menunjukkan pembuatan grid tersebut dari kontainer untuk contoh kasus di atas. Dari
gambar
3.14
dapat
dilihat
bahwa
kombinasi
data
GRID
HORIZONTAL (GH) dan GRID VERTIKAL (GV) pada contoh kasus ini akan menghasilkan 9 bidang grid. Untuk memudahkan membedakan grid-grid tersebut maka setiap grid diberi identitas berupa nomor yang dimulai dari angka 1. Penomoran grid dimulai dari grid kiri bawah ke pojok kanan atas seperti yang ditunjukkan gambar 3.15.
48
Gambar 3.14 pembuatan grid bidang TOP
Gambar 3.15 Pemberian ID setiap grid
Dengan memberikan ID ini maka bidang grid dapat dibedakan dengan mudah, misalnya bidang grid 1 pada contoh kasus di atas tersusun dari titik koordinat (x0, y0, z1), titik koordinat (Fx0, y0, z1), titik koordinat (Fx0, Fy0, z1), dan titik koordinat (x0, Fy0, z1).
3.3.2.4 Pemeriksaan Titik Tengah dan Penggambaran Bidang Grid Sisi benda kerja merupakan gabungan dari bidang-bidang grid. Seperti dapat dilihat pada contoh kasus di atas, untuk membuat sisi TOP benda kerja 49
dengan sebuah penampang feature yang letaknya sebidang, diperlukan 9 bidang grid. Pada feature pengurangan, bidang grid yang merupakan penampang feature tidak akan digambar. Bidang ini bersifat imaginer sehingga tidak perlu digambar. Untuk mendeteksi bidang grid yang bersifat imaginer maka setiap titik tengah bidang grid
harus diperiksa letaknya berada dalam batas feature atau tidak.
Gambar 3.16 memperlihatkan batas feature untuk contoh kasus di atas. Variabelvariabel yang menjadi batas feature diambil dari data yang tersimpan pada kontainer BATAS FEATURE (BF). Apabila titik tengah ini berada dalam batas feature maka ID bidang grid tersebut akan ditandai di suatu kontainer khusus yaitu TANDA FEATURE (TF).
Gambar 3.16 Penandaan batas feature
Gambar 3.17 Pemeriksaan titik tengah Penyimpanan identitas di kontainer TF bertujuan untuk menandai bahwa bidang grid tersebut merupakan bidang feature. Gambar 3.17 memperlihatkan proses pemeriksaan titik tengah bidang grid.
50
Proses pemeriksaan titik tengah menerapkan
pada setiap grid dilakukan dengan
dua syarat yaitu pemeriksaan posisi tengah horizontal dan
pemeriksaan posisi tengah vertikal. Apabila kedua syarat tersebut dipenuhi maka bidang grid itu berada dalam batas feature dan merupakan bidang yang bersifat imaginer. Proses pemeriksaan titik tengah pada contoh kasus di atas adalah sebagai berikut: Pemeriksaan bidang grid 1: Apakah Fx0 < (x0 + Fx0)/2 < Fx1? Tidak. Apakah Fy0 < (y0 + Fy0)/2 < Fy1? Tidak. Pemeriksaan bidang grid 2: Apakah Fx0 < (Fx0 + Fx1)/2 < Fx1? Ya. Apakah Fy0 < (y0 + Fy0)/2 < Fy1? Tidak Pemeriksaan bidang grid 3: Apakah Fx0 < (Fx1 + x1)/2 < Fx1? Tidak. Apakah Fy0 < (y0 + Fy0)/2 < Fy1? Tidak Pemeriksaan bidang grid 4: Apakah Fx0 < (x0 + Fx0)/2 < Fx1? Tidak. Apakah Fy0 < (Fy0 + Fy1)/2 < Fy1? Ya. Pemeriksaan bidang grid 5: Apakah Fx0 < (Fx0 + Fx1)/2 < Fx1? Ya. Apakah Fy0 < (Fy0 + Fy1)/2 < Fy1? Ya Pemeriksaan bidang grid 6: Apakah Fx0 < (Fx1 + x1)/2 < Fx1? Tidak. Apakah Fy0 < (Fy0 + Fy1)/2 < Fy1? Ya Pemeriksaan bidang grid 7: Apakah Fx0 < (x0 + Fx0)/2 < Fx1? Tidak. Apakah Fy0 < (Fy1 + Y1)/2 < Fy1? Tidak Pemeriksaan bidang grid 8: Apakah Fx0 < (Fx0 + Fx1)/2 < Fx1? Ya. Apakah Fy0 < (Fy1 + y1)/2 < Fy1 ? Tidak Pemeriksaan bidang grid 9: Apakah Fx0 < (Fx1 + x1)/2 < Fx1? Tidak. 51
Apakah Fy0 < (Fy1 + y1)/2 < Fy1? Tidak Dari proses pemeriksaan diketahui bahwa bidang grid 5 memenuhi kedua syarat tersebut. Hal ini menunjukkan bahwa bidang grid 5 merupakan bidang imaginer sehingga tidak digambar. Bidang grid 1, 2, 3, 4, 6, 7, 8 dan 9 merupakan bidang real. Gambar 3.18 memperlihatkan proses menggambar bidang grid 1, 2, 3, 4, 6, 7, 8 dan 9 sehingga dapat menjadi sisi TOP benda kerja.
Gambar 3.18 Penggambaran sisi benda kerja Perlu diingat bahwa objek visual 3D Body tersusun dari enam sisi yaitu TOP, BOTTOM, FRONT, BACK, LEFT, dan RIGHT. Proses untuk membuat sisi yang lainnya sama seperti contoh di atas. Hal ini akan membuat bentuk objek visual 3D Body untuk contoh kasus ini menyerupai bentuk kotak tissue seperti yang ditunjukkan pada gambar 3.19.
Gambar 3.19 Contoh bentuk visual 3D Body
52
3.3.3 Pembuatan Objek Visual 3D Feature Sebelum menggambar objek visual 3D feature ada baiknya untuk memperhatikan terlebih dahulu konsep sisi imaginer dan sisi real. Sisi imaginer adalah sisi feature yang dibuang dalam proses pemesinan. Sisi real merupakan sisi bidang baru benda kerja yang terbentuk setelah proses pemesinan dilakukan. Sebagai contoh perhatikan gambar 3.20. Sisi feature yang dibentuk oleh titik F1 F2F3F4 merupakan sisi imaginer sementara sisi feature yang dibentuk oleh titik F1 F2F6F5, F1F4F8 F5, F2F3F7 F6, F3F4 F8F7,
dan F5F6 F7F8 merupakan sisi real.
Jumlah sisi imaginer dan sisi real untuk feature dengan penampang rectangular adalah 6. Konsep sisi imaginer dan sisi real ini secara jelas diulas oleh Elvy[9].
Gambar 3.20 Feature poket tengah Objek visual 3D feature ialah objek yang ditampilkan dalam tampilan 3D sebagai representasi dari sisi real feature. Seperti yang telah dijelaskan pada bab 2 bahwa pola operasi pembentukan feature pengurangan primitif balok terdiri dari 7 macam, yaitu: step, slot, poket sudut, poket tepi, poket tengah, hole, dan muka. Hal ini menyebabkan bentuk objek visual 3D feature berbeda-beda tergantung pada jumlah sisi real dari feature tersebut. Tabel 3.3 memperlihatkan jumlah sisi real dan jumlah sisi imaginer untuk setiap feature bentuk. Dari tabel ini terlihat bahwa jumlah maksimum sisi real untuk feature adalah 5 yaitu pada poket tengah. Dari tabel ini pula diketahui bahwa jumlah minimum sisi imaginer feature adalah 1. 53
Tabel 3.3 Penentuan Jumlah Sisi Real dan Sisi Imaginer Feature Feature Bentuk
Jumlah Sisi Real
Jumlah Sisi Imaginer
Feature step
2
4
Feature slot
3
3
Feature poket sudut
3
3
Feature poket tepi
4
2
Feature poket tengah
5
1
Feature hole
4
2
Feature muka
1
5
Dalam menggambar objek visual 3D feature perlu ditentukan terlebih dahulu sisi-sisi feature tersebut merupakan sisi real atau sisi imaginer. Seperti diketahui bahwa terdapat satu sisi feature yang selalu sebidang dengan sisi benda kerja yaitu sisi work. Sisi ini merupakan sisi imaginer sedangkan sisi feature lainnya seperti face, upper, lower, left, dan right masih perlu ditentukan terlebih dahulu. Oleh karena itu, perlu diterapkan syarat untuk kelima sisi tersebut. Apabila syarat itu dipenuhi maka sisi tersebut merupakan sisi real. Tabel 3.4 menunjukkan syarat sisi-sisi feature dengan orientasi TOP dikatakan sebagai sisi real dan pasangan titik-titik koordinat untuk membuat sisi-sisi tersebut. Syarat penentuan sisi real dan pasangan koordinat feature untuk orientasi lainnya secara lengkap dapat dilihat pada bagian lampiran A. Jadi pada contoh kasus feature poket tengah dengan orientasi TOP, ada 5 sisi feature yang memenuhi syarat sisi real. Sisi-sisi feature tersebut, yaitu: face, upper, lower, left, dan right. Hal ini menyebabkan bentuk objek visual 3D feature dibentuk dari 5 sisi seperti yang ditunjukkan pada gambar 3.21 di bawah ini.
Gambar 3.21 Bentuk objek visual 3D feature poket tengah
54
Tabel 3.4 Syarat Sisi Real dan Pasangan Koordinat Feature pada Orientasi TOP Sisi feature
Syarat sisi real
Titik–titik koordinat
face
Fz1 ≠ z0
upper
Fy1 ≠ y1
lower
Fy0 ≠ y0
left
Fx0 ≠ x0
right
Fx1 ≠ x1
F5( Fx0, Fy0, Fz1) F6( Fx1, Fy0, Fz1) F7( Fx1, Fy1, Fz1) F8( Fx0, Fy1, Fz1) F3( Fx1, Fy1, Fz0) F4( Fx0, Fy1, Fz0) F8( Fx0, Fy1, Fz1) F7( Fx1, Fy1, Fz1) F1( Fx0, Fy0, Fz0) F2( Fx1, Fy0, Fz0) F6( Fx1, Fy0, Fz1) F5( Fx0, Fy0, Fz1) F1( Fx0, Fy0, Fz0) F4( Fx0, Fy1, Fz0) F8( Fx0, Fy1, Fz1) F5( Fx0, Fy0, Fz1) F2( Fx1, Fy0, Fz0) F3( Fx1, Fy1, Fz0) F7( Fx1, Fy1, Fz1) F6( Fx1, Fy0, Fz1)
Objek visual 3D feature kemudian digabungkan dengan objek visual 3D body sehingga akan menjadi objek visual 3D untuk model produk berbasis feature. Gambar 3.22 memperlihatkan visualisasi 3D model produk berbasis feature untuk contoh kasus feature poket tengah dengan orientasi TOP.
Gambar 3.22 Visualisasi 3D model produk berbasis feature 3.4 Hubungan Interaksi Antara Feature Pada tugas akhir ini, hubungan interaksi antara satu feature dengan feature lainnya belum dimungkinkan karena algoritma yang dikembangkan hanya sebatas pada interaksi feature dengan benda kerja saja. Hubungan interaksi antar feature 55
baik berupa hubungan antar feature yang saling berpotongan bahkan hubungan feature yang saling bersinggungan pun sangat tidak dimungkinkan. Oleh karena itu, ketika perancang memasukkan data atribut feature akan diperiksa hubungan interaksinya.
Apabila
ternyata
data
yang
yang dimasukkan perancang
menyebabkan terjadinya interaksi antar feature maka data tersebut tidak akan di eksekusi. Persamaan yang membatasi perancang untuk melakukan interaksi antar feature adalah sebagai berikut: 1. Fx0k ≤ Fx0b ≤ Fx1k 2. Fx0k ≤ Fx1b ≤ Fx11 3. Fx0k ≥ Fx0b dan Fx1k ≤ Fx1b 4. Fx0k ≤ Fx0b dan Fx1k ≥ Fx1b 5. Fy0k ≤ Fy0b ≤ Fy1k 6. Fy0k ≤ Fy1b ≤ Fy1k 7. Fy0k ≥ Fy0b dan Fy1k ≤ Fy1b 8. Fy0k ≤ Fy0b dan Fy1k ≥ Fy1b 9. Fz0k ≤ Fz0b ≤ Fz1k 10. Fz0k ≤ Fz1b ≤ Fz1k 11. Fz0k ≥ Fz0bdan Fz1k ≤ Fz1b 12. Fz0k ≤ Fz0b dan Fz1k ≥ Fz1b Persamaan di atas pada dasarnya membandingkan nilai variabel dari feature yang datanya telah tersimpan di kontainer feature yang diberi tanda
k
dengan nilai variabel dari feature baru yang akan ditambahkan ke benda kerja yang diberi tanda b. Data feature baru ini akan dibandingkan dengan semua data feature yang tersimpan di kontainer. Misalnya pada kontainer feature tersimpan data-data dari 10 feature yang telah dibuat pada pemodelan maka data feature baru akan dibandingkan dengan 10 feature tersebut. Apabila feature akan ditambahkan ke benda kerja oleh perancang ternyata memenuhi salah satu dari 12 persamaan di atas maka data-data feature tersebut tidak akan dieksekusi.
56