27
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.
28
Supaya atribut dimensi dapat diolah maka diberikan syarat dalam memasukkan atribut ini, yaitu:
panjang > 0, lebar > 0, dan tinggi > 0.
3. 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 snapfeature 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)
29 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.
30
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
31
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.
32
Gambar 3.6 menunjukkan penamaan sisi-sisi feature. Penamaan sisi-sisi 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 F1F2F3F4.
face yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F5F6F7F8.
upper yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F3F4F8F7.
lower yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F1F2F6F5.
left yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F1F4F8F5.
right yaitu sisi yang merupakan bidang pada feature yang dibentuk oleh F2F3F7F6.
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 software AutoCAD.
33
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:
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.
6. 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
34
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:
35 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.
36
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
37
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 tengah-tengah 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.
38
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 perintah-perintah 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
39 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
40
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 sisi-sisinya, 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.
41
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:
42 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
43
variabel ini merupakan variabel feature. Fx0dan Fx1merupakan 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:
44
Tabel 3.1 Nilai Variabel x, y, dan z Feature Berdasarkan Orientasi Feature
Variabel Orientasi Feature
TOP BOTTOM FRONT BACK LEFT RIGHT
Fx0 x0 + u x0 + v x0 + u x0 + v x0 x1 Fx1 Fx0 + panjang feature Fx0 + lebar feature Fx0 + panjang feature Fx0 + lebar feature Fx0 - tinggi feature Fx0 + tinggi feature Fy0 y0 + v y0 + u y0 y1 y0 + v y0 + u
Fy1 Fy0 + lebar
feature Fy0 + panjang feature Fy0 - tinggi feature Fy0 + tinggi feature Fy0 + lebar feature Fy0 + panjang feature Fz0 z1 z0 z0 + v z0 + u z0 + u z0 + v Fz1 Fz0 + tinggi feature Fz0 - tinggi feature Fz0 + lebar feature Fz0 + panjang feature Fz0 + panjang feature Fz0 + lebar feature Catatan :
Nilai tinggi feature (+) menyatakan tinggi ekstrusi Nilai tinggi feature (-) menyatakan kedalaman intrusi
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
45
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.
46
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
Sisi Benda Kerja Kontainer Syarat Pengkoleksian Variabel Feature ke-n GRID HORIZONTAL (GH) GRID VERTIKAL (GV) BATAS FEATURE (BF) TOP (z = z1) x0, x1, Fx01, Fx11, Fx02, Fx12,... , Fx0n, Fx1n
y0, y1, Fy01, Fy11, Fy02, Fy12, ... , Fy0n, Fy1n Fx01, Fx11, Fy01, Fy11 , Fx02, Fx12, Fy02, Fy12, ... , Fx0n , Fx1n , Fy0n , Fy1n Fz1 1 , 2 , ..., n = z1 atau Fz0 1 , 2 , ..., n = z1 BOTTOM (z = z0) x0, x1, Fx01, Fx11, Fx02, Fx12,... , Fx0n, Fx1n
y0, y1, Fy01, Fy11, Fy02, Fy12, ... , Fy0n, Fy1n Fx01, Fx11, Fy01, Fy11 , Fx02, Fx12, Fy02, Fy12, ... , Fx0n , Fx1n , Fy0n , Fy1n Fz0 1 , 2 , ..., n = z0 atau Fz1 1 , 2 , ..., n = z0 FRONT (y = y0) x0, x1, Fx01, Fx11, Fx02, Fx12,... , Fx0n, Fx1n z0, z1, Fz01, Fz11, Fz02, Fz12, ... , Fz0n, Fz1n Fx01, Fx11, Fz01, Fz11, Fx02, Fx12, Fz02, Fz12, ... , Fx0n, Fx1n, Fz0n, Fz1n Fy0 1 , 2 , ..., n = y0 atau Fy1 1 , 2 , ..., n = y0 BACK (y = y1) x0, x1, Fx01, Fx11, Fx02, Fx12,... , Fx0n, Fx1n z0, z1, Fz01, Fz11, Fz02, Fz12, ... , Fz0n, Fz1n Fx01, Fx11, Fz01, Fz11, Fx02, Fx12, Fz02, Fz12, ... , Fx0n, Fx1n, Fz0n, Fz1n Fy1 1 , 2 , ..., n = y1 atau Fy0 1 , 2 , ..., n = y1
47 Tabel 3.2 (Lanjutan) Sisi Benda Kerja Kontainer Syarat Pengkoleksian Variabel Feature ke-n GRID HORIZONTAL (GH) GRID VERTIKAL (GV) BATAS FEATURE (BF) LEFT (x = x0)
y0, y1, Fy01, Fy11, Fy02, Fy12, ... , Fy0n, Fy1n z0, z1, Fz01, Fz11, Fz02, Fz12, ... , Fz0n, Fz1n Fy01, Fy11, Fz01, Fz11, Fy02, Fy12, Fz02, Fz12, ... , Fy0n, Fy1n, Fz0n, Fz1n Fx0 1 , 2 , ..., n = x0 atau Fx1 1 , 2 , ..., n = x0 RIGHT (x = x1)
y0, y1, Fy01, Fy11, Fy02, Fy12, ... , Fy0n, Fy1n z0, z1, Fz01, Fz11, Fz02, Fz12, ... , Fz0n, Fz1n Fy01, Fy11, Fz01, Fz11, Fy02, Fy12, Fz02, Fz12, ... , Fy0n, Fy1n, Fz0n, Fz1n Fx1 1 , 2 , ..., n = x1 atau Fx01 , 2 , ..., n = x1 Catatan: 1 , 2 , ..., n 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
48
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.
49
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
50
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. Variabel-variabel 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.
51
Proses pemeriksaan titik tengah pada setiap grid dilakukan dengan menerapkan 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:
52
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.
53 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 F1F2F3F4 merupakan sisi imaginer sementara sisi feature yang dibentuk oleh titik
F1F2F6F5, F1F4F8F5, F2F3F7F6, F3F4F8F7, dan F5F6F7F8 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 realfeature. 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.
54
Tabel 3.3 Penentuan Jumlah Sisi Real dan Sisi ImaginerFeature
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.
55
Tabel 3.4 Syarat Sisi Real dan Pasangan Koordinat Feature pada Orientasi TOP
Sisi feature Syarat sisi real Titik–titik koordinat
face Fz1 ≠ z0 F5( Fx0, Fy0, Fz1) F6( Fx1, Fy0, Fz1) F7( Fx1, Fy1, Fz1) F8( Fx0, Fy1, Fz1) upper Fy1 ≠ y1 F3( Fx1, Fy1, Fz0) F4( Fx0, Fy1, Fz0) F8( Fx0, Fy1, Fz1) F7( Fx1, Fy1, Fz1) lower Fy0 ≠ y0 F1( Fx0, Fy0, Fz0) F2( Fx1, Fy0, Fz0) F6( Fx1, Fy0, Fz1) F5( Fx0, Fy0, Fz1) left Fx0 ≠ x0 F1( Fx0, Fy0, Fz0) F4( Fx0, Fy1, Fz0) F8( Fx0, Fy1, Fz1) F5( Fx0, Fy0, Fz1) right Fx1 ≠ x1 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
56
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.