Anda di halaman 1dari 10

SUBPROGRAM PENGHITUNG JARAK ANTARA PIPA DAN BIDANG

UNTUK PERANCANGAN SISTEM PERPIPAAN OTOMATIS


Ari Satmoko

ABSTRAK
SUBPROGRAM PENGHITUNG JARAK ANTARA PIPA DAN BIDANG UNTUK
PERANCANGAN SISTEM PERPIPAAN OTOMATIS Sebuah subprogram DISTLNPL telah
disusun dengan menggunakan bahasa pemrograman AutoLISP. Subprogram ini direncanakan untuk
melengkapi piranti lunak CAPD (Computer Aided Piping Design) yang sedang dikembangkan untuk
perancangan sistem perpipaan secara otomatis. Prinsip kerja CAPD adalah mengusulkan sebuah lintasan
pipa untuk kemudian dievaluasi apakah lintasan tersebut bebas dari segala rintangan. DISTLNPL mampu
menghitung jarak antara pipa dengan benda berbentuk bidang seperti misalnya tembok, platform, lantai,
dsb. Pipa dimodelkan dengan garis yang mencerminkan sumbu pipa. Sedangkan benda berbidang
dimodelkan dengan sebuah bidang yang dibatasi oleh beberapa garis. Jarak yang diperoleh antara garis
dan bidang dapat dikonversikan untuk melihat apakah terjadi tabrakan antara pipa dengan benda
berbidang. Subprogram ini juga mampu memberikan saran, bila perlu untuk menghindari tabrakan,
berupa titik alternatif untuk dilalui sebuah sistem perpipaan. Meski belum dapat diakses oleh CAPD,
subprogram DISTLNPL menjanjikan manfaat yang besar untuk pemodelan tembok, platform, lantai, dan
sejenisnya.

ABSTRACT
SUBPROGRAM CALCULATING THE DISTANCE BETWEEN PIPE AND PLANE FOR
AUTOMATIC PIPING SYSTEM DESIGN. DISTLNPL subprogram was created using AutoLISP
software. This subprogram is planned to complete CAPD (Computer Aided Piping Design) software
being developed. The CAPD works under the following method: suggesting piping system line and
evaluating whether any obstacle allows the proposed line to be constructed. DISTLNPL is able to
compute the distance between pipe and any equipment having plane dimension such as wall, platform,
floors, and so on. The pipe is modeled by using a line representing its axis, and the equipment is modeled
using a plane limited by some lines. The obtained distance between line and plane gives information
whether the pipe crosses the equipment. In the case of crashing, the subprogram will suggest an
alternative point to be passed by piping system. So far, DISTLNPL has not been able to be accessed by
CAPD yet. However, this subprogram promises good prospect in modeling wall, platform, and floors.

Pusat Pengembangan Teknologi Keselamatan Nuklir - BATAN

PENDAHULUAN
Suatu instalasi industri baik di bidang nuklir, perminyakan ataupun kimia selalu
didahului dengan disain sistem perpipaan. Sistem perpipaan adalah sebuah sistem
yang terdiri dari pipa, katup, flense dan komponen perpipaan lainnya yang
menghubungkan dua atau lebih peralatan seperti tanki, boiler, heat exchanger, dsb.
Sebuah piranti lunak CAPD telah dikembangkan untuk melakukan rancangan
otomatik sistem perpipaan [1] meski masih untuk masalah sederhana. Berbagai
batasan diambil untuk menyederhanakan permasalahan. Komponen perpipaan yang
dipertimbangkan hanya pipa, siku serta peralatan. Prinsip kerja CAPD adalah
mengusulkan sebuah lintasan pipa untuk kemudian dievaluasi apakah lintasan tersebut
bebas dari segala rintangan. Dalam piranti lunak tersebut semua benda
dipertimbangkan dengan model silinder. Benda-benda yang berbentuk bidang seperti
misalnya tembok ataupun platform tidak dapat dimodelkan.
Dalam rangka meningkatkan kinerja piranti lunak CAPD tersebut,
dikembangkanlah sebuah subprogram DISTLNPL yang mampu mengevaluasi bendabenda berbentuk bidang. Subprogram ini dapat menghitung jarak antara sebuah pipa
yang sedang dirancang dengan tembok ataupun platform berbentuk bidang yang
mungkin menjadi penghalang bagi lintasan pipa tersebut. Jarak ini kemudian dapat
digunakan untuk mengevaluasi apakah lintasan yang sedang dirancang sudah bebas
dari rintangan atau belum. Dan bahkan dalam kondisi bertabrakan, subprogram juga
dapat memberikan saran agar lintasan pipa digeser melalui sebuah titik tertentu.

TEORI
Dalam perancangan sistem perpipaan, lintasan pipa tidak boleh menabrak suatu
benda. Benda yang ada pada suatu instalasi pipa sangat beragam dan beraneka bentuk.
Salah satunya yang dipelajari dalam makalah ini adalah bentuk bidang dengan
ketebalan tertentu dan seragam yang dalam keadaan riilnya bisa berupa tembok, plat
besi, platform, dsb. Benda seperti ini akan dimodelkan dengan menggunakan sebuah
bidang yang dibatasi oleh beberapa garis (poly-line). Sedangkan pipa yang sedang
dirancang digambarkan sebagai sebuah silinder yang dikarakterisasikan dengan garis
sumbu dan jari-jari tertentu.

Gambar 1. Perpotongan antara garis dengan bidang


Mengevaluasi adanya tabrakan antara pipa yang sedang dirancang dengan
sebuah bidang tak lain adalah menghitung jarak antara sebuah garis dengan sebuah
bidang. Misalkan AB adalah sebuah garis yang menghubungkan titik A(Ax, Ay, Az)
dengan titik B (Bx, By, Bz), dan PQRS adalah sebuah bidang segi empat yang dibatasi
oleh garis-garis yang menghubungkan titik-titik P, Q, R, dan S (lihat Gambar 1).
Sebuah bidang dalam koordinat kartesien (X,Y.Z) secara matematika dapat
digambarkan dengan persamaan berikut:
Z = aX + bY + c

(1)

di mana a, b, dan c adalah konstanta skalar yang dapat diperoleh dengan memasukkan
koordinat titik-titik P, Q, dan R sehingga menghasilkan tiga persamaan sebagai
berikut:

Px Py 1 a
Pz



Qx Q y 1 b = Qz

R
R R 1 c
z
x y

(1b)

Sebuah titik U (Ux, Uy, Uz) di sepanjang garis AB digambarkan dengan


persamaan berikut:

U x
Ax
B x Ax

= U y = Ay + k B y Ay

U z
Az
B z Az

di mana k adalah skalar.

(2)

Garis AB akan memotong bidang PQRS di sebuah titik bila Persamaan 1 dan
Persamaan 2 terpenuhi. Operasi matematika mengantarkan kepada persamaan berikut:
k = [Az a Ax b Ay c] / [a (Bx Ax) + b (By Ay) (Bz Az)]

(3)

Setelah nilai k diperoleh, koordinat titik potong U dapat diperoleh dengan


menggunakan Persamaan 2.

METODOLOGI
Tujuan dari kegiatan penelitian ini adalah menyusun sebuah subprogram yang
dapat menghitung jarak antara garis dengan bidang. Beberapa tahapan telah dilalui
untuk mewujudkan tujuan ini. Tahap pertama adalah pengembangan teori matematika
seperti yang telah dibicarakan sebelumnya. Selanjutnya adalah mendaftar semua
kemungkinan yang terjadi baik kemungkinan yang bersifat matematika (seperti
misalnya pembagian dengan nol) maupun kemungkinan riil (tabrakan antara pipa
dengan benda). Setelah lengkap tahap berikutnya adalah penyusunan flowchart yang
kemudian diakhiri dengan penulisan program dan validasi eksekusi.

PEMBAHASAN
Diskusi mengenai jarak antara garis dan bidang merupakan topik kelanjutan
dalam rangka penyusunan piranti lunak CAPD (Computer Aided Piping Design)
untuk perancangan sistem perpipaan secara otomatis. Berbagai subprogram
penghitung jarak telah tersedia dan sudah didiskusikan dalam Ref. [1] di antaranya
adalah:
DIST2PT
: menghitung jarak antara dua buah titik
DISTPTLN : menghitung jarak (minimum) antara titik dan garis
DIST2LN
: menghitung jarak (minimum) antara dua buah garis
Tentu saja masih banyak subprogram tambahan yang turut membantu dalam mengolah
data seperti misalnya perkalian vektor, perkalian skalar antara dua vektor, berbagai
operasi matriks, dsb. Untuk melengkapi subprogram-subprogram yang telah ada
tersebut, dikembangkanlah subprogram DISTLNPL (subprogram penghitung jarak
antara sebuah garis dan sebuah bidang) yang akan didiskusikan dalam makalah ini.

Jarak Antara Garis dan Bidang


Seperti terlihat pada Gambar 1, yang pertama perlu diperiksa adalah apakah
garis AB sejajar dengan bidang PQRS. Apabila sejajar, maka Persamaan 3 tidak dapat
digunakan. Jarak antara garis dan bidang dapat diperoleh dengan prinsip berikut. Garis
AB diproyeksikan terhadap bidang PQRS sebagai garis AB, kemudian diperiksa
apakah garis AB memotong salah satu garis PQ, QR, RS dan SP. Bila terdapat titik
potong, maka jarak garis bidang diperoleh dengan menghitung jarak titik potong ini
dengan garis AB (menggunakan subprogram DISTPTLN). Mungkin saja terjadi
keadaan di mana kedua proyeksi titik A dan B berada di dalam bidang PQRS. Dalam
hal ini jarak antara garis dan bidang diwakili oleh garis AA atau BB. Bila ternyata
proyeksi AB terdapat di luar bidang PQRS, maka perlu dihitung jarak yang paling
dekat di antara pasangan garis AB-PQ, AB-QR, AB-RS, dan AB-SP (menggunakan
subprogram DIST2LN).
Pada kasus di mana AB tidak sejajar dengan bidang PQRS, Persamaan 3 dan
Persamaan 2 digunakan sehingga diperoleh titik pertemuan U antara garis dan bidang.
Selanjutnya diperiksa apakah titik U ini berada di dalam atau di luar bidang PQRS.
Pemeriksaan juga dilakukan apakah titik U juga berada di dalam segmen garis AB (0
k 1) ataukah perpanjangannya (k < 0 atau k > 1). Dari kedua pemeriksaan tadi,
sebenarnya terdapat enam kasus kemungkinan, namun dua kasus kemungkinan
mempunyai perlakuan yang identik seperti ditunjukkan oleh Tabel 1 di bawah.
Masing-masing kasus dipersiapkan subprogramnya yang sesuai seperti berikut ini.
Tabel 1. Beberapa Kemungkinan Kasus Perpotongan Anantara Garis dan Bidang
Kemungkinan
kejadian
U di dalam bidang
U di luar bidang

Subprogram kasus 1:

Subprogram kasus 2:

Subprogram kasus 3:

k<0
Subprogram
Kasus 4
Subprogram
Kasus 4

0k1
Subprogram
Kasus 1
Subprogram
Kasus 2

k>1
Subprogram
Kasus 3
Subprogram
Kasus 3

Dalam kasus ini, garis AB menembus bidang PQRS,


sehingga jarak minimum adalah nol dan ini berarti lintasan
pipa AB nyata-nyata menabrak benda PQRS.
Dalam kasus ini, garis AB tidak melewati bidang PQRS.
Jarak minimum antara garis dan bidang diperoleh dengan
mencari jarak terdekat di antara empat kemungkinan berikut:
AB-PQ, AB-QR, AB-RS, dan AB-SP.
Dalam kasus ini perlu diperiksa apakah proyeksi dari titik B
(memberikan titik B) berada di dalam bidang PQRS. Bila

Subprogram kasus 4:

jawaban adalah positif maka jarak garis bidang diberikan


oleh jarak BB. Bila sebaliknya, maka menggunakan
subprogram kasus 2.
Kasus ini mirip dengan kasus 3, hanya titik B diganti dengan
titik A.

Pergeseran Pipa Bila Terjadi Tabrakan


Berdasarkan Ref. [2], jarak minimum antara permukaan luar pipa dengan
permukaan bidang (tembok, plat, platform, dsb) adalah 3 inchi. Dengan demikian
jarak minimum antara sumbu pipa dengan garis tengah bidang diberikan oleh
persamaan berikut:
jarak minimum (inchi) = D/2 + t/2 +3

(4)

di mana D adalah diameter nominal pipa, dan t adalah tebal benda yang berbentuk
bidang.
Dengan menggunakan metode yang telah dibicarakan sebelumnya, jarak antara
lintasan pipa yang sedang dirancang dengan benda-benda berbentuk bidang dapat
dihitung. Apabila jarak yang diperoleh melebihi jarak minimal maka berarti lintasan
pipa yang sedang digambar tidak menjumpai rintangan. Bila ternyata jarak yang
diperoleh masih di bawah jarak minimum yang dipersyaratkan oleh Persamaan 4, hal
ini menunjukkan indikasi adanya tabrakan antara pipa yang sedang dirancang dengan
benda tertentu. Dalam hal ini lintasan pipa harus digeser. Arah dan jauhnya pergeseran
ditentukan dengan menggunakan metode berikut.
Mungkin saja jarak yang diperoleh melalui perhitungan sama dengan nol. Ini
berarti pipa yang sedang dirancang nyata-nyata menabrak benda. Dalam hal ini titik
pertemuan antara garis dan bidang dicatat. Langkah selanjutnya adalah menghitung
jarak minimum untuk keluar dari bidang. Vektor ke arah luar ini direkam.
Bila jarak garis dan bidang tidak sama dengan nol namun masih di bawah batas
minimum Persamaan 4, ini berarti pipa dan benda yang sedang dievaluasi berada
dalam keadaan bersinggungan (riilnya berarti bertabrakan). Solusi dari singgungan ini
adalah dengan mencatat kedua titik yang menggambarkan jarak minimum kedua
benda. Dengan menyusunnya sebagai vektor maka pergeseran pipa dapat disarankan
secara optimal.

FLOWCHART DAN PEMROGRAMAN


Urutan eksekusi program sebagaimana yang telah dibicarakan sebelumnya
terangkum dalam flowchart seperti ditunjukkan dalam Gambar 2. Berdasarkan
diagram alur ini, penyusunan program dilakukan. Bahasa pemrograman yang
digunakan adalah AutoLISP yang juga telah dipakai dalam perangkat lunak CAPD
yang sedang dikembangkan. Bahasa ini mempunyai fasilitas untuk menangani struktur
data yang bersifat list atau urutan data dan sangat cocok untuk problem-problem
mengenai kecerdasan buatan. AutoLISP juga memiliki kelebihan karena dieksekusi
dalam piranti lunak AutoCAD[3] yang banyak digunakan dalam rancang bangun suatu
instalasi industri.
Namun perlu pula dicatat bahwa AutoLISP juga memiliki kekurangan. Seperti
yang digambarkan pada Tabel 1, ada beberapa kasus kemungkinan yang bisa terjadi.
Struktur pemrograman yang paling cocok dengan problem tersebut adalah case-do.
Namun kelihatannya struktur ini tidak terimplementasikan ke dalam piranti lunak
AutoLISP. Sebagai gantinya struktur if then else digunakan seperti ditunjukkan
dalam flowchart pada Gambar 2.

VALIDASI DAN HASIL PEMROGRAMAN


Subprogram DISTLNPL telah dieksekusi beberapa kali untuk permasalahan
sederhana dan telah sesuai dengan angka teoritis yang seharusnya. Dengan demikian
subprogram ini telah bekerja sebagaimana mestinya. Sebagai contoh hasil eksekusi,
misalkan pipa akan dipasang / dirancang untuk menghubungkan pompa dan tanki.
Kedua nozzle berada dalam satu garis lurus (lihat Gambar 3 atas). Koordinat nozzle
pompa adalah (50, 260, 140) dan koordinat tanki adalah (1100, 260, 140). Di antara
pompa dan tanki terdapat tembok dengan ketebalan 20 cm yang menjulang ke atas.
Dengan panjang 1000 dan tinggi 200, tembok tersebut membentuk sudur 45 baik
terhadap sumbu x maupun sumbu y.
Problem di atas dievaluasi dengan menggunakan model seperti ditunjukkan oleh
Gambar 3 tengah. Tembok dianggap sebagai bidang dan lintasan pipa yang sedang
didesain digambarkan oleh garis AB. Pada waktu dieksekusi, subprogram menjumpai
kenyataan bahwa lintasan pipa AB nyata-nyata menabrak dinding tembok (jarak = 0).
Subprogram juga dilengkapi dengan blok instruksi tambahan sehingga dapat
menyarankan penggeseran lintasan pipa dari titik U ke titik V (ke arah atas).
Subprogram DISTLNPL hanya mengevaluasi apakah sebuah lintasan sistem
perpipaan menabrak bidang dan kemudian bila perlu memberikan saran titik alternatif
untuk dilalui lintasan sistem perpipaan tersebut. Karena berbagai kendala teknis
(terutama kompatibilitas antara variabel-variabel global), subprogram ini belum dapat

diimplementasikan ke dalam piranti lunak CAPD yang telah ada dan sedang
dikembangkan. Meski pekerjaan ini tidak terlalu sulit, namun masih membutuhkan
waktu dan kecermatan.

Gambar 3. Hasil Eksekusi Subprogram DISTLNPL

KESIMPULAN
Sebuah subprogram DISTLNPL telah dikembangkan untuk meningkatkan
kinerja piranti lunak CAPD. Subprogram tersebut dapat mengevaluasi jarak antara
sebuah lintasan pipa dengan benda berbentuk bidang. Jarak yang kurang dari batas
minimum menunjukkan indikasi adanya tabrakan antara pipa dengan benda. Bila hal

ini terjadi, subprogram DISTLNPL akan memberikan saran berupa titik alternatif
untuk dilalui oleh sistem perpipaan tersebut dalam rangka menghindari tabrakan.
Subprogram ini memberikan manfaat besar karena dapat mengevaluasi atau
memodelkan benda-benda yang berbentuk bidang seperti misalnya tembok, platform,
dan lantai. Namun sayangnya, masih dibutuhkan waktu dan kecermatan untuk dapat
menerapkan atau mengakses subprogram DISTLNPL ke dalam CAPD yang sedang
dikembangkan.

DAFTAR PUSTAKA
1. ARI SATMOKO, Pengembangan Piranti Lunak Awal untuk Perancangan
Otomatik Sistem Perpipaan dalam Ruang Tiga Dimensi dengan Menggunakan
Teori Kecerdasan Buatan, Risalah Lokakarya Komputasi dalam Sains dan
Teknologi Nuklir XI, Jakarta, Oktober 2000
2. LOUIS GARY LAMIT, Piping Systems Drafting and Design, Prectice-Hall, Inc.,
Englewood Cliffs, (1981)
3. AutoLISP Programmers Reference Manual, Release 12, Autodesk, Inc. (1990)

Pertanyaan / komentar dari Pak M. Bunjamin:


1. Jika garis AB sejajar bidang PQRS dan AB adalah proyeksi garis AB
terhadap bidang PQRS, maka jarak garis AB terhadap bidang PQRS = AA =
BB. Lagipula jika garis AB sejajar PQRS, maka tabrakan jelas tidak terjadi.
Hal ini termasuk dalam kasus 3 atau kasus 4 (halaman 6)?
2. Bagaimana menentukan posisi sumbu x, y dan z?
Jawaban:
1. Bila AB sejajar PQRS maka jaraknya adalah AA dan juga sama dengan BB.
Dalam hal ini subprogram hanya mengerjakan salah satu jarak tersebut. Garis
sumbu dan bidang sumbu PQRS mungkin saja tidak bertabrakan, namun bisa
jadi permukaan atau diameter luar silinder (maksudnya pipa) bersinggungan
dengan bidang PQRS (maksudnya tembok atau platform). Kasus ini diperiksa
oleh Persamaan 4. Kasus 1, 2, 3 dan 4 hanya akan dievaluasi bila garis AB
tidak sejajar dengan PQRS (lihat flowchart).
2. Sudah dilakukan perjanjian sebelumnya (antara pencipta dengan pengguna
subprogram DISTLNPL) bahwa komponen pertama diperuntukkan sumbu x,
komponen kedua sumbu y dan komponen ketiga adalah sumbu z.

HOME

KOMPUTASI DALAM SAINS DAN TEKNOLOGI NUKLIR XII

Anda mungkin juga menyukai