Bab 2 Dasar Teori
2.1 Sistem Produksi Produksi secara umum merupakan suatu kegiatan untuk menciptakan atau meningkatkan nilai suatu benda. Masukan pada proses produksi dapat berupa faktor-faktor produksi seperti material, pekerja, peralatan produksi atau informasi produksi. Keluaran yang dihasilkan berupa produk hasil proses produksi. Sistem produksi secara umum ditunjukkan pada gambar 2.1 di bawah ini.
Gambar 2.1 Pengertian produksi secara umum [1] Pengelolaan produksi bertujuan menaikkan setinggi mungkin nilai tambah input proses produksi. Hal tersebut dapat dicapai dengan cara menghasilkan produk yang sesuai dengan fungsinya, dalam waktu yang sesingkat mungkin dan ongkos produksi semurah mungkin. Perkembangan kebudayaan manusia dewasa ini telah memberikan tantangan dalam berproduksi yaitu kebutuhan akan produk yang semakin beragam dengan volume produksi yang semakin sedikit. Metode produksi yang efisien, ekonomis dan mempunyai kehandalan tinggi sangat diperlukan. Hal itu dapat dicapai dengan
mengoptimalkan dalam pengendalian seluruh elemen-elemen
produksi. Elemen-elemen produksi tersebut: 1.
Peralatan produksi (mesin produksi, perkakas potong, jig & fixture),
2.
Manusia/operator,
3.
Material/benda kerja atau produk yang dihasilkan oleh proses produksi sebelumnya, 6
4.
Informasi produksi (rancangan produk, rencana proses, rencana operasi, kontrol operasi dan sebagainya).
Konsep inilah yang melahirkan sistem produksi. Sistem produksi adalah sistem yang terdiri atas peralatan pemroses, manusia/operator, operasi produksi, produk yang diproses, dan informasi tentang produksi. Sistem ini mulai dikembangkan secara sistematis mulai tahun 1970.
Sistem ini banyak
berhubungan dengan bidang lain, seperti teknik produksi, komputer dan teknik pemrosesan informasi. Dalam perkembangannya, sistem produksi dituntut harus mampu memenuhi kriteria sebagai berikut: 1.
Sistem harus mampu mengantisipasi dengan cepat perubahan pasar, perubahan produk dan perbaikan desain,
2.
Sistem harus cepat memberikan respon terhadap adanya gangguan dalam proses produksi seperti kerusakan peralatan produksi, interupsi oleh pekerjaan berprioritas tinggi dan keterlambatan proses produksi,
3.
Sistem harus memiliki sistem informasi yang terintegrasi sehingga pertukaran dan pemrosesan data dapat dilakukan secara real time,
4.
Perluasan sistem harus dapat dilakukan dengan mudah.
Oleh
karena
itu,
pengembangan
sistem
produksi
memerlukan
pengintegrasian antara proses produksi dengan sistem informasi produksi. Dengan pengintegrasian ini diharapkan dapat tercipta sistem produksi yang bersifat fleksibel dan pandai yang mampu memenuhi kriteria di atas.
2.2 Sistem Produksi Terdistribusi Mandiri Perkembangan teknologi menuntut perusahaan untuk dapat bersaing di dalam pasar global. Oleh karena itu, suatu sistem yang maju dan fleksibel sangat diperlukan agar dapat mengantisipasi perubahan-perubahan yang tidak dapat diramalkan sebelumnya. Salah satu sistem produksi yang dikembangkan dalam upaya memenuhi kriteria sistem produksi maju tersebut adalah Sistem Produksi Terdistribusi Mandiri (SPTM). SPTM merupakan suatu sistem produksi dengan setiap elemen produksinya merupakan elemen yang bersifat mandiri. Perencanaan dan pengendalian produksinya dilakukan secara terdistribusi oleh masing-masing 7
elemen produksi. SPTM ini mampu menghindari terjadinya konflik di antara elemen produksi mandirinya karena terdapat koordinasi antar elemen produksi mandiri tersebut.
2.2.1 Konsep Sistem Produksi Terdistribusi Mandiri Konsep SPTM dikembangkan berdasarkan peniruan terhadap tingkah laku makhluk hidup yang selalu bersifat dinamis dan memiliki kemampuan beradaptasi yang cepat terhadap perubahan yang terjadi di lingkungannya. Penerapannya bertujuan agar sistem manufaktur dapat memenuhi tuntutan, antara lain: a)
Fleksibel (mampu beradaptasi terhadap perubahan),
b)
Stabil terhadap gangguan,
c)
Efisien dalam penggunaan sumber yang ada,
d)
Mampu memberikan respon dengan cepat terhadap perubahan yang terjadi.
Konsep dasar SPTM dapat dinyatakan sebagai berikut: 1. Pemberian otonomi pada elemen produksi Setiap elemen produksi diberi otonomi untuk melakukan fungsi: a)
Monitoring yaitu mengetahui status dirinya,
b)
Pengambilan keputusan yaitu menentukan proses produksi yang paling sesuai dilakukan berdasarkan kriteria yang dimiliki status dirinya,
c)
Pengendalian yaitu mengendalikan dirinya dalam melakukan operasi produksi,
d)
Komunikasi yaitu meminta atau memberikan informasi kepada elemen produksi lainnya tentang status dan hasil pengambilan keputusan.
2. Pendistribusian tugas pada elemen produksi Setiap penyelesaian masalah yang dihadapi oleh sistem produksi dilakukan secara terdistribusi oleh elemen-elemen produksi yang masingmasing mempunyai otonomi. SPTM merupakan sistem yang terdistribusi sehingga tidak terdapat pusat pengendali yang secara langsung mengendalikan aktivitas elemen produksi. Setiap elemen produksi akan 8
mendukung penyelesaian masalah produksi yang ada sesuai dengan kemampuannya. Arsitektur pengambilan keputusan pada Sistem Produksi Terdistribusi Mandiri dapat dilihat pada gambar 2.2 berikut ini:
Gambar 2.2 Contoh arsitektur pengambilan keputusan pada SPTM [2] 3. Pengkoordinasian hasil pengambilan keputusan Setiap elemen produksi dapat melakukan pengambilan keputusan secara mandiri sehingga diperlukan
mekanisme negosiasi untuk
pengkoordinasian hasil pengambilan keputusan oleh masing-masing elemen produksi. Hal ini dilakukan untuk menghindari adanya konflik dan menciptakan hubungan yang harmonis di antara elemen produksi. Pada gambar 2.3 terlihat bahwa diperlukan pengkoordinasian hasil pengambilan keputusan yang telah dilakukan oleh setiap elemen produksi.
Gambar 2.3 Pengkoordinasian pengambilan keputusan SPTM [2]
9
2.2.2 Pemodelan Sistem Produksi Terdistribusi Mandiri Pada sistem produksi yang mempunyai peralatan produksi dengan tingkat otomasi tinggi, umumnya
peralatan produksi yang ada dilengkapi dengan
pengendali (komputer) yang dapat melakukan perhitungan dan pengambilan keputusan yang diperlukan bagi pengendalian produksi itu sendiri. Supaya konsep SPTM dapat dijalankan, maka diperlukan suatu pemodelan objek riil elemen produksi menjadi objek virtual di komputer. Objek virtual tersebut diberi sifatsifat yang sesuai dengan elemen produksi nyata sehingga aktivitas produksi dapat berjalan seperti yang diharapkan. Model yang diinginkan oleh konsep SPTM yaitu model yang memiliki kedekatan sifat dengan objek riil sesuai dengan fungsi yang dikembangkan. Metode pemodelan yang sesuai dengan model tersebut adalah metode pemodelan berorientasi objek. Pemodelan SPTM dapat dilihat pada gambar 2.4 berikut ini.
Gambar 2.4 Pemodelan SPTM [2]
2.3 Konsep Feature Ada
banyak
definisi
tentang
feature
karena
setiap
peneliti
mendefinisikannya sesuai dengan prinsipnya masing-masing. Definisi tersebut diantaranya sebagai berikut :
Menurut Basak dan Gulesin [3]: “Features are widely used for product modeling. They play an important role for integrating CAD to CAM. Therefore, they include both design and manufacturing information. Other CAD simple elements such as line, circle, arc, primitives, etc. do not have manufacturing information.” 10
Menurut Qian dan Dutta [4]: “Form feature is a specific geometric shape, which carries engineering significance, such as a hole and a slot. A form feature can be either a volume feature or a surface feature. The shape of the volume must correspond to some specific engineering meaning.”
Menurut Case [5]: “Feature can thus be considered as a way of classifying particular sets of geometric entities into higher level representations that have some meaning for activities beyond those geometric specification.” Menurut Requicha [6]: “A popular approach consists of defining features as graph-structured patterns of faces and edges, then searching for these patterns in the boundary of an object.” Pada awalnya feature hanya dianggap sebagai suatu bentuk geometri tertentu yang harus dibuang pada proses pemesinan. Namun seiring dengan perkembangannya feature
dianggap mampu memberikan informasi mengenai
karakteristik pada produk dalam melakukan proses pemesinan, pencekaman dan pengukuran berdasarkan bentuk geometrinya. Hal inilah yang menjadi dasar penggunaan konsep feature dalam pemodelan produk sebagai salah satu sarana untuk pengintegrasian proses produksi dengan sistem informasi produksi pada sistem produksi maju.
2.3.1 Syarat Penting Feature Agar feature bermanfaat dalam rekayasa, menurut Cristianto [7] feature harus memiliki persyaratan sebagai berikut: 1.
Memiliki identitas Setiap feature yang dibuat bersifat unik karena setiap feature memiliki
karakteristik informasi yang berbeda satu dengan yang lainnya. Oleh karena itu, diperlukan suatu identitas yang dapat membedakan antara feature yang satu dengan yang lainnya. Pemberian identitas tersebut sebaiknya berdasarkan kesamaan bentuk, kesamaan operasi dan identifikasi yang sesuai dengan proses pemesinan. 2.
Memiliki parameter penentu posisi dan dimensi feature Setiap feature
pada suatu model produk memiliki parameter posisi,
orientasi dan dimensi feature. Parameter posisi menunjukkan posisi titik referensi 11
feature tersebut relatif terhadap titik referensi model produk. Parameter orientasi feature
ditentukan dengan menentukan posisi relatif feature terhadap model
produk pada sumbu koordinat kartesian tiga dimensi. Parameter dimensi feature ditentukan dengan cara memberikan atribut yang menyatakan ukurannya. Contohnya untuk feature dengan bentuk primitif balok memiliki atribut panjang, lebar dan tinggi sedangkan feature dengan bentuk primitif silinder mempunyai atribut diameter dan tinggi silinder. 3.
Mampu diklasifikasikan Klasifikasi feature dapat dilakukan dengan menentukan bentuk geometri
atau penampang feature. Klasifikasi feature selanjutnya dapat diturunkan dengan menilai proses yang mungkin bagi pembuatannya. Menurut jenisnya feature dapat digolongkan sebagai feature bentuk dan feature tepi. Feature bentuk adalah feature yang memiliki kesesuaian bentuk dengan sebuah bangun geometri yang telah dibakukan, selanjutnya dinamakan feature primitif. Beberapa jenis feature primitif yang dianggap dapat memodelkan bagian kerja ialah balok, silinder, segitiga, dan bentuk bebas. Feature bentuk ditunjukkan pada gambar 2.5.
Gambar 2.5 Feature bentuk Feature tepi adalah feature yang mewakili kondisi batas antara dua buah feature yang berhubungan. Straight
adalah feature tepi yang merupakan
perpotongan langsung antara dua buah feature bentuk. Dalam hal ini tidak ada proses pemesinan khusus yang dilakukan untuk membentuk batas antar feature. Chamfer adalah kondisi batas dua buah feature berupa bidang rata dengan kemiringan tertentu terhadap feature bentuk. Rounded adalah kondisi batas dua buah feature bentuk berupa permukaan lengkung yang mempunyai radius tertentu. Gambar 2.6 menunjukkan feature tepi. 12
Gambar 2.6 Feature tepi
2.3.2 Metode Pembentukan Feature Metode pembentukan feature ada dua macam, yaitu metode pengurangan dan metode penambahan. Pada metode pengurangan,
feature menyatakan
besarnya volume buang dan pada umumnya dilakukan dengan proses pemesinan. Pada metode penambahan, feature menyatakan besarnya volume tambah yang seolah-olah ditempelkan pada benda kerja dan pada umumnya dilakukan dengan proses pengelasan. Gambar 2.7 menunjukkan metode pembentukan feature.
Gambar 2.7 Metode pembentukan feature [8]
13
2.3.3 Feature Bentuk Primitif Balok Feature bentuk primitif balok adalah feature yang memiliki kesesuaian bentuk dengan bangun geometri balok. Ada tujuh jenis feature primitif balok yaitu feature muka, step yang dalam penelitian ini disebut RCT (Rectangular Corner Through), slot
yang dalam penelitian ini disebut RMT (Rectangular
Middle Through), poket sudut
yang dalam penelitian ini disebut RCB
(Rectangular Corner Through), poket tepi yang dalam penelitian ini disebut RMB (Rectangular Middle Blind), poket tengah yang dalam penelitian ini disebut RHB (Rectangular Hole Blind), dan hole yang dalam penelitian ini disebut RHT (Rectangular Hole Through). Gambar 2.8 menunjukkan jenis feature berprimitif balok tersebut. Penamaan untuk feature dengan bentuk primitif lainnya dapat dilihat pada Elvy [9].
Gambar 2.8 Jenis feature bentuk primitif balok Proses pembuatan feature adalah sebagai berikut:
Proses pembuatan feature step (RCT) terhadap benda kerja akan menghasilkan dua buah bidang datar, yaitu bidang pertama yang 14
merupakan bidang hasil operasi pemesinan yang sejajar dengan alas volume buang dan bidang yang tegak lurus dengan bidang yang pertama.
Proses pembuatan feature slot (RMT) terhadap benda kerja berbentuk balok akan menghasilkan tiga buah bidang datar. Bidang datar pertama merupakan bidang yang sejajar dengan alas volume buang. Bidang datar kedua adalah bidang yang tegak lurus bidang pertama. Bidang datar ketiga adalah bidang yang tegak lurus bidang datar pertama dan berhadapan dengan bidang datar kedua.
Proses pembuatan feature poket sudut (RCB) terhadap benda kerja akan menghasilkan tiga buah bidang datar yang saling tegak lurus. Bidang pertama adalah bidang alas feature sudut sedangkan bidang kedua dan ketiga adalah bidang-bidang dinding feature.
Proses pembuatan feature poket tepi (RMB) terhadap benda kerja akan menghasilkan empat buah bidang datar. Bidang datar pertama adalah bidang alas feature poket tepi. Bidang datar kedua, ketiga, keempat adalah bidang-bidang dinding feature yang tegak lurus terhadap bidang alas feature.
Proses pembuatan feature poket tengah (RHB) terhadap benda kerja
akan menghasilkan sebuah lubang berbentuk balok yang
dibatasi oleh lima buah bidang pembatas. Bidang datar pertama adalah bidang alas feature poket tengah. Bidang datar lainnya merupakan bidang-bidang dinding feature poket tengah yang tegak lurus dengan alas feature poket tengah.
Proses pembuatan feature hole (RHT) terhadap benda kerja akan menghasilkan sebuah lubang berbentuk balok yang dibatasi oleh empat buah bidang pembatas yang tegak lurus terhadap permukaan kerja.
Proses pembuatan feature muka
terhadap benda kerja akan
menghasilkan satu bidang datar yang sejajar dengan alas benda kerja. Bidang datar tersebut memiliki bentuk dan dimensi yang
15
sama
dengan
alas
benda
kerja.
Proses
pemesinan
yang
menggambarkan feature ini yaitu proses facing.
2.4 Metode Pengembangan Sistem Informasi Berorientasi Objek 2.4.1 Definisi Model Model dapat didefinisikan sebagai representasi (perwakilan) suatu masalah dalam bentuk yang lebih sederhana dan mudah dikerjakan. Suatu model biasanya dibuat berdasarkan hal-hal yang telah diketahui sehingga belum tentu seluruh variabel atau gejala yang ada terwakili. Semakin banyak variabel yang terlibat dalam model maka model yang dibentuk akan semakin dekat dengan keadaan sebenarnya. Namun penyelesaian masalah pada model akan semakin sulit. Oleh karena itu, suatu model sebaiknya mencakup variabel yang diperlukan saja dan menunjukkan penyelesaian yang sederhana. Kegunaan model adalah sebagai berikut :
Untuk berpikir, abstraksi (membayangkan), menalar dan mengambil kesimpulan
Untuk berkomunikasi Dengan menggunakan model, suatu masalah lebih mudah diterangkan kepada pihak lain.
Untuk melakukan prediksi Dengan model, suatu keadaan yang akan datang dapat diperkirakan. Contoh: model matematik laju pertumbuhan penduduk.
Untuk melakukan suatu pengujian Suatu model dapat mewakili suatu benda/sistem yang akan mengalami suatu keadaan tertentu yang bila diujikan secara langsung pada benda/sistem yang sesungguhnya tidak mungkin dilakukan, terlalu berbahaya, atau terlalu menghabiskan biaya. Pengujian seperti ini dapat berupa model simulasi yang dimasukkan dalam komputer.
Untuk berlatih Dengan menggunakan model, seseorang dapat terbantu dalam membiasakan diri menghadapi suatu keadaan pada benda atau sistem yang sesungguhnya. 16
Untuk pengendalian Dengan menggunakan model pada komputer, dapat dihasilkan perintah-perintah, misalnya dalam bentuk NC (numerical controled) program, yang diperlukan bagi pengendalian peralatan otomatis.
Umumnya dikenal 3 jenis model, yaitu :
Model ikonis Model yang berbentuk benda tiruan atau gambaran dari masalah yang sebenarnya. Model ini umumnya dibuat dengan skala diperbesar atau diperkecil. Contohnya adalah model atom, maket, model pesawat, model mobil, dan sebagainya.
Model analog Dengan model analog, masalah yang dihadapi diterjemahkan atau dianalogikan ke dalam bentuk yang lebih efisien dan efektif sehingga pada bentuk baru itu sifat dan kelakuan benda sebenarnya tetap dimiliki. Misalnya model rangkaian listrik untuk memodelkan perpindahan panas.
Model simbolik Model ini tidak menunjukkan benda atau masalah yang sesungguhnya tetapi mengutamakan kelakuan dan/atau persamaan matematiknya. Misalnya persamaan matematik terjun bebas.
Pemodelan suatu sistem dapat dibuat dengan cara menggabungkan jenisjenis model di atas. Salah satu contoh pemodelan dengan metode penggabungan ini adalah pemodelan berorientasi objek yang akan dibahas pada subbab selanjutnya. Pemodelan dalam arti sempit merupakan virtualisasi objek nyata ke dalam dunia perangkat lunak komputer. Semakin baik pemodelan yang dilakukan maka akan semakin dekat sifat objek virtual dengan sifat objek aslinya.
2.4.2 Pemodelan Berorientasi Objek Pemodelan berorientasi objek merupakan suatu metode pemodelan yang membuat model objek secara natural sesuai dengan sifat sebenarnya. Pemodelan
17
dibangun oleh sekumpulan objek yang merupakan tempat yang berisi struktur data dan sekumpulan metode yang dibutuhkan dalam memproses data. Metode pemodelan berorientasi objek memiliki ciri-ciri penting sebagai berikut : 1. Pola pikir yang alami Pola pikir yang alami timbul dengan mengkategorikan objek-objek tersebut berdasarkan kebiasaan atau perilaku. 2. Dapat dipakai kembali Objek yang telah ada dapat dimanfaatkan kembali untuk suatu sistem sehingga akan menghasilkan penghematan biaya dan waktu pengembangan sistem, serta dapat meningkatkan kehandalan sistem. 3. Kemudahan dalam membuat model dengan kompleksitas tinggi Kompleksitas objek yang digunakan dapat terus meningkat karena objek dapat dibangun dari objek yang lain. 4. Perancangan dan modifikasi mudah Kelas-kelas dalam pemodelan berorientasi objek memiliki atribut masing-masing
sehingga
memudahkan
dalam
melakukan
perancangan ataupun modifikasi. Kelebihan metode pemodelan berorientasi objek adalah sebagai berikut : 1. Kelas-kelas objek dirancang untuk dapat digunakan kembali dalam berbagai sistem, 2. Kelas yang digunakan menjadi semakin stabil, 3. Memiliki sifat encapsulation yang dapat menyembunyikan detail objek sehingga kelas objek yang kompleks mudah untuk digunakan. 4. Perancangan yang relatif lebih cepat, 5. Pemrograman yang lebih mudah, 6. Hasil yang diperoleh mendekati kenyataan karena batas antara analisis, perancangan maupun implementasinya tidak jauh berbeda melainkan langsung diterjemahkan,
18
7. Dapat diterapkan pada berbagai sistem, baik untuk sistem informasi maupun untuk sistem yang belum menggunakan orientasi objek, 8. Mudah dimodifikasi sesuai dengan kebutuhan
2.4.3 Pemrograman Berorientasi Objek Selama beberapa tahun belakangan ini telah diperkenalkan paradigma pemrograman baru yang dikenal dengan konsep Pemrograman Berorientasi Objek (PBO) atau Object Oriented Programming (OOP). OOP merupakan suatu konsep yang membagi program menjadi objek-objek yang saling berinteraksi satu sama lain. Konsep OOP secara jelas diulas oleh Hermawan [10]. Untuk memahaminya, pertama kali kita harus mengerti kata objek terlebih dahulu. Sebuah jam misalnya, ia terdiri dari objek-objek yang berupa jarum, angka, mesin, baterai, dan sebagainya. Yang ingin dikemukakan di sini adalah, dalam kehidupan nyata, semua benda (termasuk makhluk hidup) dapat dinyatakan dalam bentuk hierarki berupa susunan objek-objek. Fenomena kehidupan nyata inilah yang dibawa ke dalam dunia pemrograman komputer. Pemrograman yang berorientasi objek kemudian disebut sebagai object-oriented. Java adalah bahasa pemrograman yang murni objectoriented. C++ yang merupakan dasar bagi bagi syntax bahasa Java, juga merupakan bahasa pemrograman yang object-oriented. Tetapi karena C++ harus mempertahankan kompatibilitas dengan bahasa C (yang bukan object-oriented) maka ia tidak mungkin murni object-oriented. Ada enam keuntungan yang diperoleh bila menggunakan OOP, yaitu : 1. Alami (Natural) 2. Dapat diandalkan (Reliable) 3. Dapat digunakan kembali (Reusable) 4. Mudah untuk dilakukan perawatan (Maintainable) 5. Dapat diperluas (Extendable) 6. Efisiensi Waktu Terdapat hal-hal yang perlu diperhatikan dalam OOP, yaitu: 1.
Objek 19
Objek adalah kesatuan entitas (benda), baik yang berwujud nyata ataupun hanya suatu sistem atau konsep yang memiliki sifat karakteristik dan fungsi. Contohnya pena yang anda pegang untuk menulis, motor yang anda kendarai saat bepergian, dan sebagainya Aktivitas dapat dilakukan oleh objek tersebut:
Penerimaan pesan yang dilakukan menggunakan metode yang dimiliki,
Pemrosesan data yang ada dalam dirinya sendiri,
Pengiriman pesan ke objek lainnya atau dirinya sendiri,
Pengiriman objek sebagai balasan pesan yang diterima.
Aktifitas yang dapat dilakukan oleh objek ditunjukkan pada gambar 2.9 berikut ini.
Gambar 2.9 Aktifitas yang dapat dilakukan oleh objek [2] 2.
Kelas Kelas adalah pemodelan dari objek yang berisi informasi (aturan) tentang sifat karakteristik (data) dan tingkah laku (method) yang dimiliki oleh objek tersebut. Data/atribut/variabel merupakan sifat karakteristik
yang
dimiliki
oleh
objek
sedangkan
method/fungsi/prosedur/behaviour adalah fungsi yang dimiliki oleh suatu objek. 3.
Pesan (Message) Merupakan suatu bentuk komunikasi antar objek. Objek penerima pesan akan mengerti pesan yang diterima apabila pesan tersebut
20
telah didefinisikan terlebih dahulu sebagai interface yang dimilikinya. 4.
Encapsulation Encapsulation adalah cara “membungkus” data dan method yang menyusun kelas dan menyembunyikannya dari dunia luar. Berikut ini keuntungan menerapkan prinsip enkapsulasi:
Bersifat independen: Suatu modul yang terenkapsulasi dapat digunakan pada bagian manapun dari program. Ia tidak terikat pada bagian tertentu dari program.
Bersifat transparan: Bila modifikasi dilakukan pada suatu modul maka perubahan tersebut akan dirasakan juga oleh bagian program yang menggunakan modul tersebut.
5.
Menghindari efek di luar perencanaan.
Polimorfisme (Polymorphism) Dalam pemrograman, istilah polimorfi dapat diartikan sebagai modul yang memiliki nama sama, namun memiliki behaviour (tingkah laku yang berbeda) sehingga listing code implementasinya berbeda.
6.
Pewarisan (Inheritance) Yaitu proses pewarisan seluruh data dan method yang dimiliki oleh suatu kelas kepada kelas lainnya. Kelas yang mewariskan disebut Kelas Super, kelas yang diwariskan disebut Subkelas.
7.
Overriding Overriding adalah kemampuan kelas anak untuk memodifikasi (mendefinisikan kembali) data dan method dari kelas induknya. Proses ini akan mengubah data dan method dari kedua kelas tersebut (kelas anak dan induknya).
8.
Hierarki (Struktur) Struktur adalah bentuk ekspresi untuk menyederhanakan model masalah yang kompleks melalui suatu hubungan. Struktur dapat dibedakan dalam dua kategori : 1. Struktur Generalization-Specialization (Gen-Spec) 21
Jenis struktur ini dapat dilihat sebagai pengklasifikasian. Kelas umum (general) ditampilkan pada tingkat teratas dan kelas spesialisasi (khusus) pada tingkat di bawahnya. Contoh : generalisasi kendaraan sedangkan
spesialisasinya yaitu
minivan, sedan, dan sebagainya. 2. Struktur Whole Part Merupakan struktur bagian dari. Contoh: engine, kaca depan, spion mobil.
2.5 Java dan Java 3D API 2.5.1 Sekilas Tentang Java Java adalah nama sebuah bahasa pemrograman yang diciptakan oleh Sun Microsystems, sebuah perusahaan besar di Amerika Serikat. Bahasa ini berkembang sangat pesat terutama untuk web programming. Dalam beberapa tahun terakhir, Java telah merambah dunia mobile dengan J2ME. Java juga dipakai dalam aplikasi server dengan J2EE (Enterprise Edition: JSP, servlet). Sejarah kelahiran Java dimulai pada tahun 1991 ketika Sun Microsystems memulai proyek penelitian yang diberi kode Green. Proyek ini bertujuan untuk membangun sebuah sistem yang memungkinkan komputer berperan dalam peralatan rumah tangga. Mereka mengangankan peralatan cerdas yang dapat saling berkomunikasi serta dapat diperintah oleh manusia hanya dengan sentuhan tombol dari jarak jauh atau diprogram untuk menjalankan tugas-tugas tertentu. Saat itu Sun memfokuskan proyek mereka pada peralatan untuk TV kabel yang disebut set-top box. Untuk merealisasikan proyek ini, mereka merencanakan untuk membangun sebuah sistem operasi yang dibagun dengan bahasa C++. Tetapi, salah satu anggota proyek Green yang bernama James Gosling merasa tidak puas dengan bahasa C++. Kemudian ia memutuskan untuk membuat sendiri bahasa pemrograman baru yang diberi nama Oak. Bahasa baru ini dibuat berdasarkan syntax bahasa C++. Tetapi, Oak lebih sederhana dari C++, lebih stabil, dan lebih mendukung network-programming.
22
Selanjutnya, Sun yang mengalami kegagalan pada impian peralatan cerdasnya, melihat celah lain dalam dunia Web. Bahasa Oak yang dibuat sebagai bahasa multi-platform serta ditujukan untuk pemrograman interaktif dan distributed, dirasa sangat cocok untuk digunakan dalam dunia Web, yang waktu itu mulai tumbuh pesat. Nama Oak kemudian harus diganti karena telah ada produk lain yang mematenkan nama tersebut. Pada tahun 1995, nama Oak diganti menjadi Java. Nama Java sendiri berasal dari kopi Jawa yang kabarnya saat itu sering diminum oleh para programmer Sun. Kelebihan bahasa pemrograman Java dibanding bahasa C/C++ sebagai berikut [11]: 1. Java adalah bahasa pemrograman yang mempunyai syntax yang (pada dasarnya) sama dengan bahasa C/C++. 2. Java lebih sederhana daripada C++. Beberapa kemampuan C++, seperti multiple inheritance, overload operator, proprocessor, serta pointer telah dihilangkan dalam bahasa Java. 3. Java merupakan bahasa yang murni berorientasi objek. 4. Java merupakan bahasa yang menghasilkan program yang sangat stabil.
2.5.2
Java 3D API Java 3D API (Application Programming Interface) adalah hierarki kelas-
kelas Java yang dibuat sebagai interface untuk menampilkan grafik tiga dimensi dan sistem suara. Java 3D menyediakan fungsi-fungsi untuk membuat gambar, visualisasi, animasi, dan aplikasi program dengan grafik 3D. Suatu program Java 3D tersusun dari objek-objek Java 3D yang ditempatkan dalam sebuah struktur data scene graph. Scene graph adalah susunan objek Java 3D dalam bentuk struktur pohon yang menjelaskan isi virtual universe dan cara menampilkannya. Simbol objek-objek penyusun scene graph ditunjukkan pada gambar 2.10. Berikut ini adalah penjelasan simbol objek yang digunakan pada scene graph:
Virtual Universe
23
Merupakan ruang atau alam virtual untuk menampilkan grafik 3D dan sistem suara. Pada struktur scene graph, virtual universe berada pada tingkat teratas sehingga untuk jumlahnya hanya satu untuk satu aplikasi.
Gambar 2.10 Simbol yang merepresentasikan objek pada scene graph [12]
Locale (Lokal) Merupakan manajer atau penghubung antara branch group dengan virtual universe. Pada struktur scene graph, kedudukan lokal berada satu tingkat di bawah virtual universe dan jumlahnya hanya satu untuk satu aplikasi. Lokal hanya menghubungkan satu branch group saja untuk satu aplikasi.
Group (Grup) Merupakan kumpulan objek-objek penyusun grafik 3D dan sistem suara. Objek grup ada dua macam, yaitu Branch Group (BG) dan Transform Group (TG). Branch group dapat berupa kumpulan objek leaf dan kumpulan dari transform group. Sedangkan transform group merupakan kumpulan objek yang memiliki fungsi transformasi.
Leaf Merupakan objek yang menyusun grafik 3D secara geometri. Objek ini dapat dibentuk dengan dua cara. Cara pertama yaitu berdasarkan bentuk primitifnya, seperti balok, silinder, bola dan kerucut. 24
Sedangkan cara kedua yaitu dengan memasukkan titik-titik koordinat kartesian penyusun bentuk geometri primitif. Supaya mudah dikenali dalam penulisan program biasanya penamaan objek leaf diakhiri oleh 3D seperti Balok3D, Feature3D dan sebagainya. Objek leaf dapat mereferensi objek-objek yang didefinisikan dalam bentuk Node Component untuk mendukung tampilannya seperti untuk warna, mode tampilan, dan lain-lain.
Node Component Merupakan objek yang digunakan sebagai referensi bagi objek lainnya. Misalnya digunakan sebagai referensi warna dan tampilan pada objek atau referensi daerah transformasi pada objek transform group.
Gambar 2.11 menunjukkan contoh scene graph dari sebuah kubus berwarna yang memiliki fungsi rotasi dan gambar 2.12 menunjukkan tampilan dari aplikasi tersebut.
Gambar 2.11 Scene graph [12]
25
Gambar 2.12 Tampilan aplikasi Java 3D [12]
26