ridwan montezari 020301020 dengan ttd

Upload: eldifa-al-ghazali

Post on 12-Jul-2015

390 views

Category:

Documents


2 download

TRANSCRIPT

VISUALISASI 3-DIMENSI POLA RADIASI ANTENA BERDASARKAN DATA PENGUKURANDI ANECHOIC CHAMBER

SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Kelulusan Strata Satu (S-1) Fakultas Teknik Program Studi Teknik Elektro Telekomunikasi OLEH : RIDWAN MONTEZARI 020301020 PROGRAM STUDI TEKNIK ELEKTRO TELEKOMUNIKASI FAKULTAS TEKNIKUNIVERSITAS MUHAMMADIYAH PROF. DR. HAMKA JAKARTA 2009 iiLEMBAR PERSETUJUAN Nama:Ridwan Montezari NIM:020301020 Program Studi:Elektro Telekomunikasi Judul Skripsi:Visualisasi3DimensiPolaRadiasiAntena Berdasarkan Data Pengukuran di Anechoic Chamber TelahdisetujuiuntukdiajukankesidangSkripsiFakultasTeknikProgramStudi Teknik Elektro Telekomunikasi Universitas Prof. DR. HAMKA. Jakarta, 28 Agustus2009 Pembimbing IPembimbing II ( Ir. Harry Ramza, MT )( DR. Ir. R. Harry Arjadi, M.Sc. ) Mengetahui, Kepala Program Studi Teknik Elektro (Ir. Harry Ramza, MT ) iiiLEMBAR PENGESAHAN Nama:Ridwan Montezari NIM:020301020 Program Studi:Elektro Telekomunikasi Judul Skripsi:Visualisasi3DimensiPolaRadiasiAntena Berdasarkan Data Pengukuran Anechoic Chamber TelahdiujikanpadaSidangUjianSkripsidandinyatakanluluspadatanggal10 September2009diFakultasTeknikProgramStudiTeknikElektroUniversitas Muhammadiyah Prof. DR. HAMKA. Jakarta, 10 September 2009 Penguji IPenguji II ( Ir. Kun Fayakun, MT )( M. Mujirudin, ST. MT ) Mengetahui, Dekan Fakultas Teknik (M. Mujirudin, ST. MT ) ivPERYATAAN KEASLIAN SKRIPSI Saya yang bertanda tangan dibawah ini : Nama:Ridwan Montezari NIM:020301020 Program Studi:Elektro Telekomunikasi Dengan ini menyatakan sesungguhnya bahwa skripsi dengan judul : Visualisasi 3 Dimensi Pola Radiasi AntenaBerdasarkan Data Pengukuran Di Anechoic Chamber yang dibuat untuk memenuhi persyaratan memperoleh gelar Sarjana Teknik pada Fakultas Teknik Program Studi Teknik Elektro Universitas Muhammadiyah Prof. DR.HAMKA,bukanmerupakantiruanatauduplikatdariskripsiyang dipublikasikandilingkunganUniversitasMuhammadiyahProf.DR.HAMKA maupunPerguruanTinggilainnya,kecualibagianyangsumberinformasinya dicantumkan sebagaimana mestinya. Jakarta, 10 September 2009 ( Ridwan Montezari ) vABSTRAK Visualisasi3-dimensimerupakanteknikyangsangatefektifdalam memberikaninformasidaya,arahdanbentukdaridatahasilpengukuranradiasi antena di anechoic chamber dengan menggunakan aspek bentuk, ruang, skala dan pewarnaandenganmelihatpolaradiasidariberbagaisudutpengamatan. Visualisasi3-dimensidenganmengunakanteknologiOpenGLmerupakan teknologivisualyangseringdipakaikarenaflexibilitasdanfitur-fituryanglebih ungguldibandingkandenganteknologiyangsejenis.Untukdapat memvisualisasikan data pengukuran maka data tersebut harus diolah mengunakan pemrograman Borland Delphi 7.0. Untukmemberikaninformasivisualsecara3-dimensidaridata pengukurandianechoicchamber,makadirancangbangunsebuahaplikasi visualisasi3-dimensi.Hasildariaplikasiiniadalahpembentukandatavisual secara3-dimensiyangbertujuanuntukmelihatpolaradiasiantenadariberbagai sudutpengamatansebagaibahananalisadalammengetahuikinerjadarisuatu antena.

Kata kunci :Visualisasi,3-Dimensi,AnechoicChamber,PolaRadiasiAntena,OpenGL, Borland Delphi 7.0. viKATA PENGANTAR PujisyukurkehadiratAllahSWT,atassegalarahmatdankarunia-Nya sehingga tugas akhir ini dapat diselesaikan dengan baik. Tugas akhir ini dilakukan untukmemenuhipersyaratanmemperolehgelarsarjanastratasatu(S1)Fakultas TeknikprogramstudiTeknikElektroUniversitasMuhammadiyahProf.DR. HAMKA. Halinitakterlepasdaribantuandandukunganberbagaipihak.Sehingga dalamkesempatanyangberbahagiainipenulisinginmenyampaikanrasaterima kasih yang sebesar-besarnya kepada: 1.Keduaorangtuadanadik-adiktercintayangselalumenyayangidan memberikansegalasemangatdandukunganbaikmorildanmaterilkepada penulis. 2.BapakIr.HarryRamza,MTselakudosenpembimbingI,Kepala LaboratoriumTelekomunikasidanInstrumentasidanKepalaProgramStudi TeknikElektroyangtelahbanyakmembantupenulisdalammenyelesaikan tugasakhirinidanmemberikanwawasan,pengetahuandanmotivasikepada penulis.3.Bapak DR. Ir. R. Harry Arjadi, M.Sc selaku dosen pembimbing II yang telah banyakmembantupenulisdalammenyelesaikantugasakhirinidan memberikanwawasan,pengetahuandankesempatanuntukmelakukan penelitian dilaboratorium EMC SMTP - LIPI. vii4.Bpk.I.DwiMandaris,ST,Bpk.PriyoWibowo,STdanStafstafPusat PenelitianSistemMutudanTeknologiPengujian(P2SMTP)yangtelah banyak medukung dan membantu penulis dalam pelaksanaan penelitian ini. 5.AgusM.Permana,Nurdiansyahdanteman-temanTEangkatan2002yang telahmemberikandukungan,semangatdanbantuandalamsegalahalkepada penulis.6.Teman-temanFakultasTeknikdansemuapihakyangtidakdapatdisebutkan satu persatu yang telah membantu penulis dalam penyelesaian tugas akhir ini. Penulisjugamenyadaribahwatugasakhirinimasihjauhdarisempurna. Olehkarenaitu,penulismengharapkankritikdansarandemikesempurnaandari tugasakhirini.Semogatugasakhirinidapatbermanfaatbagirekan-rekan mahasiswa program studi Teknik Elektro sebagai pengetahuan dan referensi. Jakarta, 10 September 2009 ( Ridwan Montezari ) viiiDAFTAR ISI LEMBAR PERSETUJUAN................................................................................... ii LEMBAR PENGESAHAN................................................................................... iii PERYATAAN KEASLIAN SKRIPSI .................................................................. iv ABSTRAK...............................................................................................................v KATA PENGANTAR........................................................................................... vi DAFTAR ISI........................................................................................................ viii DAFTAR GAMBAR...............................................................................................x DAFTAR TABEL.................................................................................................. xi BAB I PENDAHULUAN........................................................................................1 1.1.Latar Belakang.........................................................................................1 1.2.Tujuan Penulisan......................................................................................2 1.3.Batasan Masalah ......................................................................................2 1.4.Metode Penulisan.....................................................................................2 1.5.Sistematika Penulisan ..............................................................................3 BAB II LANDASAN TEORI ..................................................................................4 2.1.Pola Radiasi Antena.................................................................................4 2.2.Anechoic Chamber.................................................................................10 2.3.Citra........................................................................................................12 2.4.Grafika Komputer ..................................................................................14 2.4.1Sistem Koordinat 3 Dimensi ..........................................................15 2.4.2Transformasi Koordinat 3 Dimensi ...............................................16 2.4.3Objek 3 Dimensi ............................................................................17 ix2.4.4Transformasi Objek 3 Dimensi ......................................................17 2.5.OpenGL..................................................................................................22 BAB III RANCANG BANGUN APLIKASI ........................................................25 3.1.Perancangan Aplikasi.............................................................................25 3.1.1.Spesifikasi Data .............................................................................25 3.1.2.Format Data ...................................................................................25 3.1.3.Flowchart .......................................................................................26 3.1.4.Antarmuka pengguna.....................................................................27 3.2.Pembangunan Aplikasi ..........................................................................29 3.2.1.Algoritma Aplikasi.........................................................................29 3.2.2.Validasi Proses Aplikasi ................................................................31 BAB IV ANALISA KINERJA APLIKASI...........................................................33 4.1Data Pengukuran....................................................................................33 4.2Output Aplikasi ......................................................................................34 4.3Validasi Data Visual ..............................................................................36 4.4Analisa Kinerja ......................................................................................38 BAB V KESIMPULAN.........................................................................................40 DAFTAR PUSTAKA............................................................................................42 GLOSARIUM........................................................................................................43 L A M P I R A N....................................................................................................45 LAMPIRAN I ........................................................................................................46 LAMPIRAN II .......................................................................................................51 LAMPIRAN III......................................................................................................70 xDAFTAR GAMBAR Gambar 2.1 Antena sebagai terminal pandu gelombang .........................................4 Gambar 2.2 Antena sebagai terminal .......................................................................5 Gambar 2.3 Daerah daerah medan antena ............................................................7 Gambar 2.4 Parameter-parameter pola antena (pola daya ternormalisasi) ..............9 Gambar 2.5 Anechoic chamber..............................................................................11 Gambar 2.7 Koordinat tiga dimensi .......................................................................15 Gambar 2.6 Relasi antara koordinat silinder dengan koordinat kartesian .............16 Gambar 2.8 Memindahkan titik dengan translasi vektor T=(tx, ty, tz)....................18 Gambar 2.9 Memindahkan balok dengan translasi vektor T=(tx, ty, tz) .................18 Gambar 2.10 Rotasi dengan sumbu x, y, z ............................................................19 Gambar 2.11 Rotasi dengan z sebagai sumbu putar ..............................................19 Gambar 2.12 Rotasi dengan x sebagai sumbu putar ..............................................20 Gambar 2.13 Rotasi dengan y sebagai sumbu putar ..............................................20 Gambar 2.14 Penskalaan objektiga dimensi ........................................................21 Gambar 2.15 Proyeksi paralel dari suatu objek .....................................................22 Gambar 2.16 Proyeksi perspektif dari suatu objek ................................................22 Gambar 3.1. Bagan alir aplikasi.............................................................................26 Gambar 3.2. Rancangan antarmuka pengguna.......................................................28 Gambar 3.3. Pesan kesalahan data.........................................................................31 Gambar 3.4. Pesan proses import gagal .................................................................32 xiDAFTAR TABEL Tabel 2.1 Contoh Perintah pada OpenGL. 23 Tabel 4.1 Tabel pengukuran di setiap ketinggian pengukuran..... 33 1BAB IPENDAHULUAN 1.1.Latar Belakang Pengukuranradiasiantenadianechoicchamberyangmenghasilkandata visualberbentuk2-dimensisepertigrafikXYataupolarplotmempunyai kekurangandalammemvisualisasikaninformasipadaaspekbentukdanruang. Olehkarenaitu,kekurangantersebutdapatdilengkapimenggunakanteknik visualisasi3-dimensi,dimanapadatekniktersebutterdapataspekbentuk,ruang, skaladanpewarnaan.Penggunaanteknikvisualisasitersebutuntukmendapatkan informasiyanglebihrealistisdanakuratdalammenganalisakinerjadarisuatu antena. Mengingatbegitupesatnyateknologipengolahanvisualisasisecara komputasi maka dikembangkanlah teknologi OpenGL. OpenGL merupakan suatu aplikasiantarmukavisualyangtidaktergantungpadasistemoperasiyang digunakan,sehinggadapatberjalanpadasistemoperasiWindows,UNIXdan sistemoperasilainnya.Teknologiinimerupakanyangpalingseringdigunakan karenatingkatflexibilitasdanfitur-fituryanglebihungguldibandingkandengan teknologi yang sejenis. Pemakaianvisualisasisangatumumdigunakandalamsetiapjenis pengukuranyangberupareal-timedannonreal-time.Padapenelitianinihanya memfokuskanpenggunaanmetodenonreal-timeyangbanyakdipakaisecara umum. 21.2.Tujuan Penulisan Adapuntujuandalampenulisantugasakhiriniadalahsebagaisalahsatu syarat kelulusan strata satu yang akan melaksanakan hal-hal sebagai berikut: a.Menampilkandatapengukuranradiasiantenakedalamvisualisasi3-dimensi dan intensitas radiasi antena menggunakan aspek pewarnaan. b.Mengambarkan pola radiasi antena mengunakan skala visual. c.Menampilkanpolaradiasiantenayangdapatdilihatdariberbagaisudut pengamatan. 1.3.Batasan Masalah Hal-halyangakandilakukandalamtugasakhirinidibatasipadamasalah yang akan dibahas, yaitu: a.Data yang digunakan merupakan hasil pengukuran di anechoic chamber. b.Proses memasukan data kedalam aplikasi mengunakan metode import data menggunakan file Microsoft Office Excel dengan format data tertentu. c.AplikasipengolahandatamengunakanpemrogramanBorlandDelphi7.0 dan OpenGL sebagai aplikasi visual. 1.4.Metode Penulisan Metodologi penulisan yang digunakan adalah:a.Metode kepustakaanMetodeinimerupakancarauntukmendapatkandata-datasecarateoritis sebagaibahanpenunjangdenganmembacabukuliteraturetentangteori pola radiasi antena, Borland Delphi 7.0 dan OpenGL. 3 b.Metode observasi Metodeinidilakukandengancarapengumpulandatayangberdasarkan pengamatansecaralangsungdanmencatathal-halyangberhubungan dengan permasalahan secara lengkap dan sistematis. 1.5.Sistematika Penulisan Sistematikapenulisantugasakhirinimembagipenyajiantulisanmenjadi limababyangmasing-masingbabmeliputi:BabI;Babinimembahastentang latarbelakang,tujuanpenulisan,batasanmasalah,metodologipenulisan,dan sistematikapenulisan.BabII;Babinimembahastentanglandasanteoripola radiasiantena,anechoicchamber,citra,grafikakomputerdanOpenGL.BabIII; Babinimembahastentangrancangbangunaplikasiyangmeliputilangkah-langkahdalamperancangandanpembangunanaplikasi.BabIV;Babini membahas tentang analisa kinerja aplikasi yang meliputi data pengukuran, output aplikasi, validasi data visual dan analisa kinerja. Bab V ; Bab ini berisikan tentang kesimpulan.

4BAB II LANDASAN TEORI 2.1.Pola Radiasi Antena Sebuahantenadapatdibayangkansebagaisebuahjaringansetara (matching network) antara sebuah perangkat pandu gelombang (saluran transmisi, pandugelombang)danmediadisekitarnya.Padaantenapemancar,masukan pandugelombangakanmenghasilkankeluarangelombangtidakterpandu sedangkanpadaantenapenerima,masukangelombangtidakterpanduakan menghasilkan keluaran pandu gelombang.Antena sebagai sebuah terminal dari sebuah saluran transmisi dapat dilihat pada gambar 2.1 dibawah ini. Gambar 2.1 Antena sebagai terminal pandu gelombang [1] Rangkaianterbukasalurantransmisitidakdapatmeradiasikangelombang secaraefektifkarenaaruspadasalurantransmisisamadanberlawanan(saling menutupisatusamalain).Medanradiasiarusarusinicenderunguntuk menghilangkansatudenganlainnya.Aruspadalenganantenadipolediaturpada 5arahyangsamasehinggamedanmedanradiasiiniakanterjadikecenderungan untuk saling menambahkan dan membuat dipole sebagai radiator yang efisien. Antena sebagai terminasi pandu gelombang dapat dilihat pada gambar 2.2 dibawah ini. (a)(b) Gambar 2.2 Antena sebagai terminal [1] (a) Bagian akhir pandu gelombang persegi, (b) Bagian akhir pandu gelombang dengan sebuah antena piramid horn Pada bagian akhir pandu gelombang akan meradiasikan gelombang, tetapi tidakefisiensepertibagianakhirpandugelombangdenganmenggunakanantena horn.Impedansigelombangdidalampandugelombangtidakakansamadengan mediadisekitarnyayangmembentuksebuahketidak-sesuaianpadabagianakhir terbukapandugelombangtersebut.Maka,bagiangelombangyangberjalan dipantulkankembalikedalampandugelombang.Antenahornbekerjasebagai sebuahrangkaiansetara,dengansebuahperpindahansecaragradualdalam impedansigelombangdaripandugelombangmenujumediadisekitarpandu gelombangtersebut.Denganterminalyangsesuaipadapandugelombang, gelombangyangdipantulkandapatdiminimalisasikandanmedanradiasidapat dimaksimalkan. Pola radiasi antena merupakan sebuah gambar grafik yang melambangkan perangkatradiasiantenasebagaisebuahfungsiposisipadakoordinatspheris 6(koordinatbola).Jenisjenisumumpolaradiasiantenaberupapoladayayang menggambarkannormalisasidayaterhadapposisikoordinatspherisdanpola medanyangmenggambarkannormalisasimedan|E|dan|H|terhadapposisi koordinat spheris.Jenis jenis medan Antena : a.Medanreaktifyangmerupakanbagiankarakteristikmedanantenaakibat gelombang berdiri yang melambangkan energi yang tersimpan. b.Medanradiasiyangmerupakanbagiankarakteristikmedanantenaakibat radiasigelombang(propagasi)yangmelambangkanenergidipancarkan oleh antena. Daerah daerah medan antena : a.Daerah medan dekat reaktif yang merupakan daerah yang berada disekitar antenadimanamedanreaktifsangatdominan(energitersimpan gelombang berdiri). b.DaerahmedandekatFresnelyang merupakandaerahantaramedandekat reaktifdanmedanjauhdimanaradiasimedansangatdominandan distribusi medan tergantung jarak dari antena. c.DaerahmedanjauhFraunhofermerupakandaerahpalingterjauhdari antenadimanadistribusimedansecaraesensialberdirisendiridarijarak antena sumber (propagasi gelombang). 7 Gambar 2.3 Daerah daerah medan antena [1] Padagambar2.3diatas,notasiDmerupakandimensimaksimundari antena,R1merupakanjari-jaridarimedandekatreaktifdanR2 merupakanjari-jari darimedan radiasi medan dekat. Adapun untukmendapatkan nilai R2 dan R2 mengunakan persamaan 1 dan 2 dibawah ini. 3162 . 0DR =(1) 222DR = (2) Definisi definisi pola radiasi antena adalah sebagai berikut : a.Polaisotropisadalahpolasebuahantenadidefinisikansebagairadiasi serba sama ke segala arah, pola ini dibentuk oleh sebuah radiator isotropis (sumber titik, sebuah antena non-fisik yang tidak mempunyai arah). 8b.Polaketerarahanmerupakansebuahpoladikarakterisasiolehbeberapa radiasiyangefisiendalamsatuarahdibandingkanarahlainnya(secara fisik antena yang dapat direalisasikan adalah antena pengarah saja). c.Polaomnidirectionalmerupakansebuahpolayangserbasamadalam pemberian ruang radiasinya. d.Pola bidang utama yaitu pola bidang E dan bidang H dari sebuah polarisasi linierantena.BidangEadalahbidangyangterdirivektormedanelektrik danarahradiasinyamaksimum.BidangHadalahbidangyangterdiri vektor medan magnetik dan arah radiasinya maksimum. Parameter parameter pola radiasi antena adalah sebagai berikut : a.Cupingradiasi(RadiationLobe)merupakanpuncakintensitasradiasi tertinggi disekitar daerah intensitas radiasi terendah. b.Cupingutama(MainLobe)merupakancupingradiasipadaarahradiasi maksimum. c.Cupingminor(MinorLobe)merupakancupingradiasilainnyadaripada cuping utama. d.Cupingsisi(SideLobe)merupakansebuahcupingradiasidalamarah lainnya daripada arah radiasi yang dipusatkan.e.Cupingbelakang(BackLobe)merupakankebalikandaripadacuping radiasi terhadap cuping utama. f.HalfPowerBeamwidth(HPBW)merupakanlebarsudutberkasutama pada titik setengah daya antena. g.FirstNullBeamwidth(FNBW)merupakanlebarsudutantarabagiannull (kosong) pertama pada sisi lain berkas utama. 9Parameter-parameterpolaradiasiantenatersebutdiatasterlihatpadagambar2.4 bawah ini. Gambar 2.4 Parameter-parameter pola antena (pola daya ternormalisasi) [1] Definisidaripadaketerarahanantenadanpenguatanantenasecara esensialnyamempunyaikesamaankecualipadabagiandayayangdigunakan. Keterarahan( ) | | , D merupakanperbandinganantaradensitasdayaradiasi antenapadajaraktitiktertentuterhadapdayaradiasitotalantena( ) rad P secara isotropis.Penguatan( ) | | , G merupakanperbandingandensitasradiasiantena padajaraktitiktertentuterhadapdayainputtotalantena( ) in P yangdiradiasikan secaraisotropismaka,penguatanantenaakantergantungpadadayatotalyang melayani terminal masukan antena, serta perhitungan untuk rugi-rugi ohmic pada antenadilakukanketikaketerarahantergantungpadadayatotalradiasidantidak 10termasukefekrugi-rugiohmic.Persamaanuntukketerarahandanpenguatan seperti pada persamaan (3,4) dibawah ini. ( )( ) ( ) 4P,P, 4,radradU UD = =(3) ( )( ) ( ) 4P,P, 4,ininU UG = = (4) Hubunganantaraketerarahandanpenguatansebuahantenadapat ditentukandenganmenggunakandefinsiefisiensiradiasiantenasepertipada persamaan (5,6) dibawah ini. in cd rad P e P=(5) ( )( ) ( )in cd P e, 4P, 4,rad U UD = =( )cd eG ,= (6) maka, ( ) ( ) , e , cd D G = (7) Umumnya,gaindariantenainidinyatakandalamdecibel(dB),bukan berdimensikuantitas.Persamaanuntukmengkonversiunit-unitberdimensidB seperti pada persamaan (8) di bawah ini. ( ) ess dimensionl 10 log 10 G GdB =(8) 2.2.Anechoic Chamber Anechoicchambertelahdikembangkanuntukmempermudahpengukuran antena didalam ruangan. Kendala utama pada pengukuran didalam ruangan adalah dindingyangdapatmemantulkansinyalantenasehinggadapatmengubahdata pengukuranpolaradiasiantena.Olehkarenaitu,biasanyadipakaiRadiation 11AbsorbentMaterial(RAM)yangberfungsiuntukmencegahpemantulansinyal antena.Selainitu,dindingdarianechoicchamberbiasanyaterbuatdarilogam untuk mencegah gangguan dari luar. Anechoic chamber dapat di ilustrasikan pada gambar 2.5 dibawah ini [3]. Gambar 2.5 Anechoic chamber [3] Sesuaidengangambar2.5diatas,Lc merupakanpanjangruangan,Wcmerupakanlebarruangandanl adalahjarakantaraAUTdenganantena pengukur.AntennaUnderTest(AUT)terpasangpadamejaputaryangberputar padabidangazimuthuntukmendapatkanpola2-dimensidariradiasi.Beberapa anechoic chamber dilengkapi dengan meja putar yang dapat bergerak pada bidang elevasiyangbertujuanuntukmendapatkanpola3-dimensidariradiasi.Pada anechoicchambermengaturpengirimansinyaldariantenasumberdanditerima olehAUT(mengunakanprinsipbolak-balik).Mejaputar,penerimadansumber pengirim di kontrol oleh komputer [3].Padapengukuranemisimakanilaikuatmedanyangdiperolehharus ditambahkan dengan antenna factor dan cable loss untuk mendapatkan nilai kuat medan pada antena yang diukur seperti pada persamaan (9) dibawah ini [4]. ( ) ( ) ( ) ( ) dB CL dB AF V dB SA m V dB FS + + = / (9) 12dimana :FS = Kuat Medan (Field Strength) . SA = Pembacaan tegangan spectrum analyzer atau penerima. AF = Antenna Factor CL = Cable Loss 2.3.Citra Citra dapat didefinisikan sebagai fungsi dari dua variable f(x,y) , dimana x danyadalahkoordinatspasialdanamplitudofpadasetiappasangankoordinat (x,y)yangdisebutintensitas(graylevel)citrapadatitiktersebut.Jikaxdany semuanyaberhingga(finite)dannilainyadiskrit(tidakkontinyu)makadisebut citra digital. Didalambidangkomputerterdapattigabidangstudiyangberkaitan dengandatacitra,namuntujuandariketiganyaberbedayaituGrafikaKomputer (Computer Graphics), Pengolahan Citra (Image Processing) dan Pengenalan Pola (Pattern Recognition/Image Interpretation). Spektrum warna terbagi menjadi 6 bagian yaitu violet, biru, hijau, kuning, oranye,danmerah.Khromatikcahayamengitarispectrumelektromagnetik denganpanjanggelombangantara400-700nm.Tigakuantitasdasaryang digunakanuntukmendeskripsikankualitasdarisumbercahayakhromatikadalah sebagai berikut : a.Penyinaran(Radiance)yaitujumlahtotalenergiyangberasaldarisumber cahaya. Penyinaran diukur dalam satuan watts (W). 13b.Pencahayaan(Luminance)yaituPencahayaandiukurdalamsatuanlumens (lm). c.Kecerahan (Brightness)Kerucut(Cone)adalahsensorpadamatayangbertanggungjawabuntuk tampilanwarna.Kerucutpadamatamanusiadapatdibagimenjadi3prinsip kategori penyensoran secara kasar yaitu merah, hijau, dan biru dengan komposisi yaitu65%padawarnamerah,33%padacahayahijau,dan2%padacahayabiru (biru adalah yang paling sensitif). Pada karakteristik mata manusia warna terlihat seperti kombinasi warna variabel yang disebut warna primer, red (R), Green (G), Blue (B). Warna primer dapat digunakan untuk menghasilkan untuk menghasilkan warna sekunder yaitu : a.Magenta Warna ini percampuran antara warna merah dan biru. b.CyanWarna ini percampuran antara warna hijau dan biru. c.Kuning (Yellow) Warna ini percampuran antara warna merah dan hijau. Mencampur3warnaprimeratausekunderdenganwarnalawannyaakan menghasilkan warna putih.Perbedaanantarawarnaprimerdaricahayadanwarnaprimerdari pigmentsataucolorantsadalahpenting.Warnaprimerdidefinisikansebagai sebuah substract atau absorb dari warna primer dari cahaya dan mereflesikan atau mentransmisikan2lainnya.Sedangkanwarnaprimerdaripigmentsadalah magenta, cyan, dan kuning. Warna sekunder adalah merah, hijau, dan biru. 14Karakteristik umumnya digunakan untuk membedakan satu warna dengan warnalainnyaadalahbrightness,hue,dansaturation.Brightnessmerupakan kandunganintensitaskhromatic.Hueadalahatributyangdiasosiasikandengan dominantwavelength.Huedansaturationyangdigabungdisebutchromaticity. Jumlahred(R),green(G)danblue(B)yangdibutuhkanuntukmenentukan warna disebut tristimulus value. 2.4.Grafika Komputer Grafikakomputerbertujuanmenghasilkancitradenganprimitif-primitif geometrisepertigaris,lingkarandansebagainya.Primitif-primitifgeometri tersebutmemerlukandatadeskriptifuntukmelukiselemen-elemengambar, Adapuncontohdaridatadeskriptifadalahkoordinattitik,panjanggaris,jari-jari lingkaran,tebalgaris,warnadansebagainya.Grafikakomputermemainkan peranan penting dalam visualisasi. Grafikakomputer3-dimensiadalahrepresentasidaridatageometrik3-dimensisebagaihasildaripemrosesandanpemberianefekcahayaterhadap grafika komputer 2-dimensi. Hasil ini kadang kala ditampilkan secara waktu nyata (real-time)untukkeperluansimulasi.Secaraumumprinsipyangdipakaiadalah miripdengangrafikakomputer2-dimensidalamhalpenggunaanalgoritma, grafikavektor,modelframekawatdangrafikarasternya.Grafikakomputer3-dimensiseringdisebutsebagaimodel3-dimensi.Namun,model3-dimensiini lebihmenekankanpadarepresentasimatematisuntukobjek3-dimensi.Data matematis ini belum bisa dikatakan sebagai gambar grafis hingga saat ditampilkan secaravisualpadalayarkomputeratauprinter.Prosespenampilansuatumodel 15matematiskebentukcitra3-dimensibiasanyadikenaldenganproses3D rendering. 2.4.1Sistem Koordinat 3 Dimensi Secara umum, sistem koordinat tiga dimensi dibedakan menjadi dua, yaitu sistem koordinat tangan kiri dan sistem koordinat tangan kanan. Sistem koordinat tangankanandapatdigambarkandengantigabuahjaripadatangankananyang menghadappengamatyaitujaritengahsebagaisumbuzpositif,jaritelunjuk sebagai sumbu y dan ibu jari sebagai sumbu x sedangkan sistem koordinat tangan kiridapat digambarkan dengan tiga buah jari pada tangan kiri dengan punggung tanganmenghadappengamatdenganjaritengahsebagaisumbuznegatif,jari telunjuksebagaisumbuydanibujarisebagaisumbuxsepertipadagambar2.7 dibawah ini. Gambar 2.7 Koordinat tiga dimensi [6] Sistemkoordinattangankananbanyakdigunakanpadapenggambaran geometri.Sebaliknyasistemkoordinattangankiribanyakdigunakanpada pengambaran pada grafika komputer.16Setiap titik dalam sistem koordinat tiga dimensi dapat dijelaskan posisinya denganmemberitahuseberapajauh,tingggidanlebardariobjekaslinyayang dituliskan dalam koordinat-koordinat pada sumbu x, y, dan z [5]. 2.4.2Transformasi Koordinat 3 Dimensi Sistemkoordinatorthogonalmerupakansistemkoordinatdimanasumbu- sumbunyasalingtegaklurus.Adapunpadasistemkoordinatiniterdapattiga koordinat yang sering dipakai yaitu koordinat kartesian(x,y,z), koordinat silinder(r, ,z) dan koordinat bola(r, , ). Padasistemkoordinatiniterdapatketerhubunganantarakoordinatsatu dengan lainnnya. Keterhubungan ini digunakan untuk mentransformasikan antara salahsatukoordinatkekoordinatlainnya.Padakoordinatsilindermempunyai sumbuyangsamadengankoordinatkartesianyaitusumbuzmakanilaizpada koordinatsilindersamadengannilaizpadakoordinatkartesiansepertipada gambar 2.6 dibawah ini. Gambar 2.6 Relasi antara koordinat silinder dengan koordinat kartesian [6] Sepertiterlihatpadagambar2.6diatasmakaperhitunganuntuk mentransformasikankoordinatsilinderkekoordinatkartesianmakadigunakan teori trigonometri sehingga didapatkan persamaan (10,11,12) dibawah ini [6].17 cos rx =(10) sinry = (11) z z = (12) 2.4.3Objek 3 Dimensi Objektigadimensijelasmemilikibanyakperbedaandenganobjekdua dimensi.Dengankoordinatx,y,zyangdiperlukan,makadalammembuat pengerjaanobjektigadimensimenjadilebihrumit.Dalampembuatannya, diperlukankoordinatuntukmenentukansudutpandangpengamat,kedalaman yang diperlukan, dan transformasi objek untuk mempermudah pengerjaan [5]. 2.4.4Transformasi Objek 3 Dimensi Metode transformasi objek tiga dimensi sangat berbeda dengan objek dua dimensikarenaterdapatsumbuzuntukditambahkansebagaisalahsatuacuan untukmemperolehposisi.koordinatbaru.Adapunmetode-metodetransformasi 3-dimensi adalah sebagai berikut : a.Translasi (Perpindahan) Dalam tranformasi objek tiga dimensi, translasi adalah pemindahan suatu titik dari titik P=(x,y,z) ke posisi P=(x,y,z) dengan menggunakan operasi matriks seperti pada persamaan (13) dibawah ini. |||||.|

\||||||.|

\|=|||||.|

\|1 1 0 0 01 0 00 1 00 0 11'''zyxtttzyxzyx(13) Parametertx,ty,dantzmenjelaskanperpindahanjarakuntukkoordinatx,y, dan z seperti pada gambar 2.8. 18 Gambar 2.8 Memindahkan titik dengan translasi vektor T=(tx, ty, tz) [6] Sebuahbanguntigadimensiyangditranslasikandenganvektortertentu, dilakukandenganmemindahkantitik-titiksesuaidenganvektortersebut seperti pada gambar 2.9 dibawah ini. Gambar 2.9 Memindahkan balok dengan translasi vektor T=(tx, ty, tz) [6] Pada gambar 2.9 diatas terlihat sebuah balok ditranslasikan dengan vektor T = (tx, ty, tz) .b.Rotasi Untukmerotasikansebuatobjekdiperlukansumburotasi(porosuntuk merotasikan objek) dan jumlah rotasi angular. Tidak seperti rotasi pada objek duadimensi,yangtitikputarnyahanyapadasumbuxdany,untuk 19mentransformasikan objek tiga dimensi, titik dapat diletakkan di koodinat x, y, dan z seperti terlihat pada gambar 2.10 dibawah ini. (a)(b)(c) Gambar 2.10 Rotasi dengan sumbu x, y, z [6] (a) Rotasi dengan Z sebagai sumbu putar, (b) Rotasi dengan X sebagai sumbu putar, (c) Rotasi dengan Y sebagai sumbu putar Pada rotasi dengan sumbu z sebagai sumbu putar memiliki persamaanmatrik seperti pada persamaan (14) dibawah ini. |||||.|

\||||||.|

\| =|||||.|

\|1 1 0 0 00 1 0 00 0 cos sin0 0 sin cos1'''zyxzyx (14) Adapun rotasi tersebut digambarkan pada gambar 2.11 dibawah ini. Gambar 2.11 Rotasi dengan z sebagai sumbu putar [6] 20Pada Rotasi dengan sumbu x sebagai sumbu putar memiliki persamaan matrik seperti pada persamaan (15) dibawah ini. |||||.|

\||||||.|

\|=|||||.|

\|1 1 0 0 00 cos sin 00 sin cos 00 0 0 11'''zyxzyx (15) Adapun rotasi tersebut digambarkan pada gambar 2.12 dibawah ini. Gambar 2.12 Rotasi dengan x sebagai sumbu putar [6] Rotasidengansumbuysebagaisumbuputarmemilikipersamaanmatrik seperti persamaan (16) dibawah ini. |||||.|

\||||||.|

\|=|||||.|

\|1 1 0 0 00 cos 0 sin0 0 1 00 sin 0 cos1'''zyxzyx (16) Adapun rotasi tersebut digambarkan pada gambar 2.13 dibawah ini. Gambar 2.13 Rotasi dengan y sebagai sumbu putar [6] 21c.Penskalaan Transformasiskalaadalahperubahanukuransuatuobjek.Koordinatbaru dapat diperoleh dengan melakukan perkalian nilai koordinat , yang dijabarkan dalam matrik seperti persamaan (17) dibawah ini. |||||.|

\||||||.|

\|=|||||.|

\|1 1 0 0 00 0 00 0 00 0 01'''zyxssszyxzyx(17) Objek yang telah dilakukan penskalaan seperti pada gambar 2.14 dibawah ini. Gambar 2.14 Penskalaan objektiga dimensi [6] Perubahanukuransuatuobjekdapatdiperbesardandiperkecilsesuai dengankebutuhan.Padagambar2.14diatasterlihatsuatuobjekdiperbesar pada skala tertentu d.Proyeksi Proyeksi mempunyai dua macam metode yaitu : Proyeksi Paralel Proyeksiparaleladalahpemindahanletakawalkoordinatmenujubidang pandang di sepanjang garis paralel seperti digambarkan pada gambar 2.15. 22 Gambar 2.15 Proyeksi paralel dari suatu objek [6] Proyeksi Perspektif Proyeksiperspektifadalahpemindahanposisiobjekmenujubidang pandangmelaluigarisyangberkumpulmenjadisuatutitikyangdisebut denganprojectionrefrencepoint(pusatproyeksi).Halinidigambarkan seperti pada gambar 2.16 dibawah ini. Gambar 2.16 Proyeksi perspektif dari suatu objek [6] Proyeksi perspektifmempunyai jarak relatif yaitu antaramata dan bidang pandang. 2.5.OpenGL OpenGLadalahsuatuspefikasigrafikyangmenyediakanfungsiuntuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk mendefinisikan suatu objek, baik objek 2-dimensi maupun objek 3-dimensi. OpenGLjugamerupakansuatuantarmukapemrogramanaplikasiyangtidak tergantung pada sistem operasi yang digunakan, sehingga OpenGL dapat berjalan 23padasistemoperasiWindows,UNIXdansistemoperasilainnya.OpenGLpada awalnyadidesainuntukdigunakanpadabahasapemrogramanCatauC++,namundalamperkembangannyaOpenGLdapatjugadigunakandalambahasa pemrogramanyanglainsepertiJava,Tcl,Ada,VisualBasic,Delphi,maupun Fortran.OpenGLterdirilebihdari700perintahyangmempunyaifungsidan parametertertentuAdapuncontoh-contohperintahpadaOpenGLsepertipada tabel 2.1 dibawah ini. Tabel 2.1 Contoh Perintah pada OpenGL PerintahFungsiKeterangan glVertex2i(x,y);Lokasititikberada di (x,y) Tipeargumennya adalahintegerdan2 dimensi yaitu x dan y glVertex2f(x,y);Lokasititikberada di (x,y) Tipeargumennya adalahfloatdan2 dimensi yaitu x dan y glVertex3i(x,y,z);Lokasititikberada di (x,y,z) Tipeargumennya adalahintegerdan2 dimensi yaitu x, y dan z glVertex3f(x,y,z);Lokasititikberada di (x,y,z) Tipeargumennya adalahfloatdan2 dimensi yaitu x, y dan z glClearColour(R, G, B, );Warnalatar belakang Empatkomponen warnayaituRed, Green, Blue dan alphaglColor3f(R, G, B);Warnalatarmuka (pena) Tigakomponen warnayaituRed, Green dan Blue glColor4f(R, G, B);WarnalatarmukaEmpatkomponen 24(pena)warnayaituRed, Green, Blue dan alphaglPointSize(k);Ukuran titik k pikselBesar kecilnya ukuran titiktergantungpada k (integer) glBegin(GL_POINTS);TitikObjek PrimitifglBegin(GL_LINES);GarisObjek Primitif glBegin(GL_LINE_STRIP);PoligarisObjek Primitif glBegin(GL_LINE_LOOP);Poligaristertutup (polygon) Objek Primitif glBegin(GL_TRIANGLES);SegitigaObjek Primitif glBegin(GL_TRIANGLE_STRIP);SegitigaObjek Primitif glBegin(GL_TRIANGLE_FAN);SegitigaObjek Primitif glBegin(GL_QUADS);SegiempatObjek Primitif glBegin(GL_QUAD_STRIP);SegiempatObjek Primitif glBegin(GL_POLYGON);PoligonObjek Primitif glBegin(GL_LINE_STIPPLE);Garis putus-putusObjek Primitif glBegin(GL_POLY_STIPPLE);Poligondenganpola tertentu Objek Primitif glEnd( );Mengakhiriperintah OpenGL - PerintahpadaOpenGLmenggunakankatadepangldanuntukkata selanjutnya merupakan perintah untuk melakukan suatu operasi pembuatan objek. PendefinisianvariabledankonstantapadaOpenGLmenggunakanhurufkapital untuksemuahurufnyadandibatasiolehgarisbawah.Padasistemoperasi windowsperintah-perintahpadaOpenGLterpaketpadafileOpengl32.dllyang merupakan file Dynamic Load Library. 25BAB IIIRANCANG BANGUN APLIKASI 3.1.Perancangan Aplikasi Dalamperancanganaplikasimenjelaskantentangrancanganspesifikasi dan arsitektur aplikasi yang terdiri dari spesifikasi data, format data, flowchart dan perancanganantarmukapengguna(userinterface).Prosesaplikasiyangakan dibangun adalah aplikasi menerima inputan dari file excel dengan format tertentu yangkemudiandatatersebutakandiolahmenjadiinformasivisualberbentuk grafik 3-dimensi. 3.1.1.Spesifikasi Data Datahasilpengukuranradiasiantenadianechoicchambermenghasilkan nilaisudutphi ( ) ,E( m V dB / )dannilaiketinggian(Z).Nilaisudutphi merupakansudutputarpadamejaputar.Nilaiketinggianadalahketinggian tertentu dari antena pengukur. Nilai-nilai pada data pengukuran bertipe float. 3.1.2.Format Data Datapengukuranyangdimasukankedalamlembarkerjaexcelharus mempunyaiformatdatatertentu.Formatdataberfungsiuntukmempermudah prosespemasukandatakedalamaplikasi.Adapunformatdatatersebutadalah sebagai berikut : a.Data dimasukan padalembar kerjapertama dan terdiri dari3 kolom pada lembar kerja excel. b.Pada baris pertama dilembar kerja excel merupakan label data yang terdiri darikolompertamaberlabelPHI,kolomkeduaberlabelEdankolom 26ketigaberlabelZdanbariskeduadilembarkerjaexcelmerupakanawal dari data ukur. c.Jumlah maksimal data ukur adalah sebanyak baris pada lembar kerja excel dandataukurdiurutdarinilaiterkecilhinggaterbesarberdasarkansudut dan ketinggian. d.Tidak terdapat duplikasi data pada data sudut di ketinggian tertentu. 3.1.3.FlowchartTahapan-tahapanperancanganprosespadaaplikasisepertigambar3.1 dibawah ini. Gambar 3.1. Bagan alir aplikasi27Pada gambar 3.1 diatas, inisialisasi data merupakan pendefinisian dari data yangakandimasukankedalamaplikasi.Importdataadalahprosesmemasukan datayangterdapatpadalembarkerjaexcelkedalamaplikasi.Transformasidata merupakan proses pengolahan data pengukuran menjadi data koordinat 3-dimensi. Datamatriksadalahpengolongandataberdasarkanpengukuranpadanilai ketinggiantertentu.Grafik3-dimensimerupakankeluarandariaplikasi berdasarkan hasil pengolahan data. 3.1.4.Antarmuka pengguna Sesuaidenganperancanganpadaflowchartmakadapatdirancang antarmuka pengguna. Perancangan ini bertujuan untuk mengakomodasi kebutuhan darisistemdanmempermudahkanpenggunadalammengoperasikanaplikasiini. Adapun perancangan antarmuka seperti pada gambar 3.2 dibawah ini. (a) (b) 28 (c) (d) Gambar 3.2. Rancangan antarmuka pengguna (a) informasi dan pilihan tampilan aplikasi, (b) tombol-tombol pada aplikasi,(c) tampilan 3-dimensi pada aplikasi, (d) tampilan keseluruhan aplikasi Pada gambar 3.2 diatas terdapat tombol import untuk mengambil file excel dan melakukan proses memasukan data pada lembar kerja excel kedalam aplikasi. 29Padapanelsebelahkiriterdapat3pilihanpadaradiogroupuntukmemilih tampilanpadavisualisasi3-dimensiyaitucacahan(slice),jaring(wire)dan permukaan(surface).Untukmemperbesartampilanpadavisualisasi3-dimensi terdapattombolzoomplusdanuntukmemperkecilmengunakantombolzoom minus. 3.2.Pembangunan Aplikasi Untukmembangunaplikasiyangsesuaidenganperancanganmakaharus melaluibeberapatahapanyaitupembuatanalgoritmaaplikasiyangberfungsi untukmenentukanlangkahpertamasampaidenganlangkahterakhirdariproses padaaplikasidanvalidasiprosesaplikasiyangberfungsiuntukmengurangi kesalahan dalam pemakaian aplikasi.3.2.1.Algoritma Aplikasi Pada algoritma aplikasi terdiri dari 3 proses utama yaitu : Importing data Prosesinimerupakanprosesmemasukandatakedalamaplikasidengancara pemindaiandatayangterdapatpadalembarkerjafileexcel.Padaproses pemindaiandatamakalangkahpertamayangharusdilakukanadalah inisialisasi data yang bertujuan untuk mendefinisikan banyak kolom dan baris dilembar kerja excel. Teknik untuk melakukan pemindaian data adalah dengan me-looping sebanyak kolom dan baris.Pengolahan data Didalamprosesimportingdataterdapatprosespengolahandata.Untuk memvisualisasikandatahasilpengukurandianechoicchambermenjadidata 30visual3-dimensimakadatatersebutharusdiubahmenjadidatakoordinat3-dimensi.Olehkarenaitu,antaradatatersebutdengansistemkoodinat3-dimensimempunyaisuaturelasiyaitupadasudutphidannilaiZsehingga sistem koordinat yang dapat digunakan adalah koordinat silinder( ) Z r, , tetapi nilairadius( ) r belumdiketahui.Olehkarenaitu,nilaiE( M V dB / )harus ditransformasikan menjadi gain. Gain diasumsikan menjadi radius dari radiasi antena.Asumsiiniberdasarkaneksperimenyangtelahdilaksanakan,jika digunakan nilai E( M V dB / ) maka pola 2-dimensi yang dihasilkan lebih besar daripolayangterdapatpadapolarplotsebagaiacuanaplikasidangain merupakan daya pancar dari antena pada sudut radiasi tertentu. Maka dari itu, untukmendapatkannilairadius( ) r digunakanpersamaan(8).Setelah didapatkandatakoordinatsilindermakalangkahselanjutnyaadalah mentransformasikanmenjadikoordinatkartesiandenganmengunakan persamaan (10,11,12). Didalam proses ini data yang sudah proses digolongkan berdasarkan 1 putaran sudut pada meja putar dan pada ketinggian tertentu atau dibuat sebuah data matriks seperti pada persamaan (18) dibawah ini. ((((((

=P.x.y P.x.3... P.x.2 P.x.1........P2.y P2.3... P2.2 P2.1P1.y P1.3... P1.2 P1.1 DataUkur (18) dengan : x = index dari data pengukuran. y = data ukur pada sudut meja putar. Datamatriksberfungsiuntukmengurutkandatasehinggapadasaat pembentukan titik dan menghubung antara satu titik dengan titik lainnya lebih mudah.31Visualisasi dataLangkahpertamauntukmemvisualisasikandataadalahinisialisasiatribut OpenGLyaitupendefinisiannilaipadaatributOpenGLsepertikedalaman warna,kedalamanbit,tipepixeldanlain-lain.Langkahselanjutnyaadalahpendefinisianareadanproyeksivisual.Langkahterakhiradalahpemasukan datakoordinatkartesiankedalamperintahOpenGLdenganmengunakan metodepemindaiandatauntukpembuatangarisdanpengabungandarigaris-garis tersebut.3.2.2.Validasi Proses Aplikasi Untuk mengurangi kesalahan dalam pemakaian aplikasi maka harus dibuat validasi proses aplikasi. Validasi ini lebih ditujukan kepada proses yang dilakukan olehpemakaiaplikasiyaituprosesimportdata.Padavalidasiiniakandibuat pesan yang menyatakan apabila data yang dimasukan tidak sesuai dengan format datayangsudahditentukanmakaakanmenampilkanpesankesalahan.Pesan kesalahan data yang akan tampil sepeti pada gambar 3.3 dibawah ini. Gambar 3.3. Pesan kesalahan data Setelah pesan pada gambar 3.3 diatas tampil maka pesan selanjutnya yang akan tampil adalah pesan proses import gagal seperti pada gambar 3.4. 32 Gambar 3.4. Pesan proses import gagal Apabilapesanpadagambar3.4diatastampilmakaprosesimportdata akan dihentikan oleh aplikasi. Oleh karena itu, pemakai aplikasi harus melakukan proses import data dari awal. 33BAB IVANALISA KINERJA APLIKASI 4.1Data Pengukuran Antenayangdiukuradalahantenayagi3elementfrekuensi144MHz. Posisiantenayangdiukurterbentuksudutpadaazimuthsebesar50dari keterarahandenganantenapengukur.Pengukurandilakukanpada9ketinggian yaitu pada 110cm sampai dengan 270 cm dengan perbedaandiantara ketinggian sebesar20cm.Ketinggianantenayangdiukurpada170cm.Olehkarenaitu, lapisan radiasi antena yang diukur sebanyak 3 lapisan dibawah ketinggian antena yangdiukur,5lapisandiatasketinggianantenayangdiukurdan1lapisanpada keterarahanantaraantenayangdiukurdanpengukurmakatotallapisanadalah9 lapisan.Pengukuranyangdilaksanakansebanyak9lapisankarenajangkauan ketinggianantenapengukursebesar300cm.Adapunrekapitulasipengukuran antara lapisan pengukuran dengan banyak data dari data pengukuran seperti tabel 4.1 dibawah ini. Tabel 4.1 Tabel rekapitulasi pengukuran. LapisanKetinggian Antena Pengukur (cm) Banyak Data (kali) 111045 213044 315044 417044 34519048 621044 723044 825044 927043 Total Data400 Padatabel4.2diatasdapatdisimpulkanbahwatotaldatasebanyak400 data dengan data terbanyak pada ketinggian 190 cm. Oleh karena itu, pola terbaik yang dihasilkan oleh aplikasi pada ketinggian tersebut. Datahasilpengukurandianechoicchamberharusmempertimbangkan nilai path loss dan antenna factor, sehingga data radiasi antena yang diukur harus dihitung dengan nilai-nilai tersebut untuk mendapatkan nilai medan E dari antena yangdiukur.Nilai-nilaitersebutmerupakanhasilkalibrasisesuaidengandata Certificate of Calibration di Teseq Gmbh dengan serial no. 25230 pada tanggal 28 januari 2008 yaitu cable loss sebesar -30.9512 dB dan gain antenna sebesar 10.8 dB. 4.2Output Aplikasi Hasilyangyangdikeluarkanolehaplikasiiniberbentukdatavisual3-dimensi.Padaaplikasiiniterdapat3jenistampilanyaitucacahan(slice),jaring (wired)danpermukaan(surface).Untuktipetampilancacahansepertigambar 4.1. 35 Gambar 4.1 Bentuk tampilan cacahan pada aplikasi. Padagambar4.1diatasterlihatpolaradiasiantenadarisetiapketinggian pengukuran.Untuk tipe tampilan jaring seperti gambar 4.2 dibawah ini. Gambar 4.2 Bentuk tampilan jaring pada aplikasi. Pada gambar 4.2 diatas terlihat pola radiasi antena yang dihubungkan pada setiap ketinggian pengukuran.36Untuk tipe tampilan permukaan seperti pada gambar 4.3 dibawah ini. Gambar 4.3 Bentuk tampilan permukaan pada aplikasi. Pada gambar 4.3 diatas terlihat permukaan dari radiasi antena pada setiap ketinggian pengukuran. 4.3Validasi Data Visual Validasi data merupakan salah satu parameter untuk mengukur akurasi dan presisikeluarandarihasilpengolahandata.Metodeyangdigunakanadalah membandingkan antara data visual yang dikeluarkan anechoic chamber berbentuk polarplotdandatavisualyangdikeluarkanolehaplikasiberbentukfilegambar seperti pada gambar 4.4 dibawah ini. 37 (a) (b)Gambar 4.4 Skala gain pada grafik . (a) polar plot, (b) aplikasi 38Teknikuntukmembandingkandengancaramengamatiskalagainpada polarplotdenganskalagainpadavisualisasidiaplikasi.Pengamatandilakukan disetiap ketinggian pengukuran. 4.4Analisa Kinerja OpenGLmerupakanantarmukapemrogramanaplikasivisualyangcukup baik untuk dipakai dalam memvisualisasikan pola radiasi antena secara 3-dimensi karenauntukmemvisualisasikandatamembutuhkanwaktuyangrelatifcukup cepat dan fitur-fitur yang sangat banyak untuk mengembangkan aplikasi.Aplikasi ini memvisualisasikan sesuai dengan data masukan dan parameter yangterdapatpadalembarkerjaexcel,sehinggahasilkeluarantergantungpada datamasukannya.Polaradiasiantenadisetiapketinggianpengukuranyang divisualisasikantergantungpadasudutpengukuran,semakinkecilintervalnya makapolayangdihasilkansemakinbaikdansebaliknya.Polaradiasipada tampilanpermukaantergantungcacahanpengukuranpadaintervalketinggian antena pengukur, semakin kecil nilai cacah maka permukaan pola yang terbentuk akan semakin halus dan sebaliknya. Hasil data visual di aplikasi mendekati dengan data visual pada polar plot denganselisihsebesar5 m V dB / .Adapunfaktor-faktoryangpengaruhidari selisih pada pola tersebut adalah sebagai berikut : a.Nilaicable loss dan gain antenna yangberbeda antarakalibrasi dan pada saatpengukurankarenapadasaatpengukurantidakmengukurnilai tersebut.39b.Pada aplikasi pembacaan data di anechoic chamber yang berupa log report terdapatdatalevelyangkosongkarenaterdapatperbedaanantaratimer padaaplikasidanalatukursehinggadatayangkosongtersebutdiisi dengandatasebelumnya.Aplikasiinidigunakankarenaaplikasiutama padaanechoicchambertidakterdapatdetaildaridataukurberdasarkan sudut tertentu.

40BAB V KESIMPULAN Dalam tugas akhir ini maka dapat disimpulkan sebagai berikut : 1.Halusnya permukaan pada pola radiasi antena yang divisualisasikan secara 3-dimensi sesuai dengan sudut cacahan meja putar dan ketinggian cacahan pengukuran.2.Data visual yang dihasilkan oleh aplikasi mempunyai selisih dengan polar plotkarenafaktor-faktorsepertinilaicablelossdangainantennayang berbeda antara saat pengukuran dengan kalibrasi juga beberapa datalevel yangkosongpadasudutdanketinggiantertentukarenaperbedaanantara timer pada aplikasi dan alat ukur. 3.Aplikasi ini dapat dikembangkan untuk komparasi antara data pengukuran dan data perhitungan. 4.Untukmemecahkanpermasalahandalammemperhaluspolapada visualisasi pola radiasi antena secara 3 dimensi maka penulis menyarankan mengunakanmetodenumericsepertimethodofmoment(MoM),finite differencemethod(FDM),finiteelementmethod(FEM)danlain-lain sebagaimetodeuntukmemperhalusgarisyangmenghubungkanantara satu titik dengan titik lainnya. [11] 5.Pembentukanpolaradiasisecara3-dimensiakanlebihbaikjika pemindaian permukaan pada medan radiasi mengunakan metode Spherical ScanningdibandingkandenganCylindricalScanning.Padametode SphericalScanningakanmenghasilkandatakoordinatspherissehingga 41cuping-cupingradiasiakanlebihterlihatkarenafaktorsudutazimuthdan elevasi. 42DAFTAR PUSTAKA [1]R. Harry, Antena, Grasindo (In Submission), 2008. [2]C. A. Balanis, Antena Theory: Analysis And Design, 3nd Edition, John Wiley & Sons Inc, 2005. [3]H.YiandB.Kevin,AntennaFromTheorytoPractice,JohnWiley& Sons Ltd, 2008. [4]_____,StandardGainHornAntennaSeriesOperationManual,Rev.B, A.H. System Inc., 2007. [5]H.Janoe,GrafikaKomputer,BukuAjar,PSIlmuKomputer.,Jur. Matematika., FMIPA UGM, 2006. [6]T.U.Fawwaz,FundamentalsofAppliedElectromagnetics,5thEdition, Prentice Hall, 1994. [7]T.Y.Ian,J.G.Jan,J.V.Lucas,FundamentalOfImageProcessing,Delft University of Technology, 1998. [8]H.DonaldandM.P.Baker,ComputerGrapichsCVersion,2thEdition, Prentice Hall, 1996 [9]S. Dave, W. Mason, N Jackie and D. Tom, OpenGL Programming Guide, 6th Edition, Addison-Wesley, Inc., 2008. [10]S.MatthewN.O.,ElementOfElectromagnetic,3thEdition,Oxford University Press., 2000.[11]G.WaltonC.,TheMethodofMomentinElectromagnetics,Chapman& Hall / CRC, 2008 43GLOSARIUM 1.Fresnel: Rugi-rugidifraksisebagaifungsi halanganantaratransmitterdan receiver. 2.Fraunhofer: Daerah medan antena dimana distribusi medan tidak lagi bergantung pada jarak dariantena.Didaerahini,komponen medantransversaldandistribusi angulartidakbergantungpadajarak radial dimana pengukuran dibuat 3.Anechoic Chamber: Ruang tanpa gema. 4.Radiation Absorbent Material: Bahan penyerap radiasi. 5.Antenna Under Test: Antena yang diukur. 6.Cable Loss: Rugi-rugi pada kabel. 7.Gray Level: Direktifgrafisyangmenentukan tingkatintensitaskelabuyang mengikutibendayangharus ditampilkan. 8.Computer Graphics: Bagiandariilmukomputeryang berkaitandenganpembuatandan manipulasigambar(visual)secara digital. 9.Image Processing: Bentukpengolahansinyalyanginput gambarsepertifotoatauvideo,output daripengolahangambardapatberupa gambaratausatusetparameter karakteristikatauberhubungandengan gambar. 10.Pattern Recognition: Bidangdalampengenalanpolauntuk tindakanmengambildatamentahdan 44bertindak berdasarkan klasifikasi data. 11.Pigments: Zatyangterdapatdipermukaansuatu bendasehinggabiladisinaridengan cahayaputihsempurnaakan memberikanwarnatertentuyang mampu ditangkap mata. 12.Real-Time: Kondisipengoperasiandarisuatu sistemperangkatkerasdanperangkat lunak yang dibatasi oleh rentang waktu dan memiliki tenggat waktu yang jelas, relatifterhadapwaktusuatuperistiwa atau operasi terjadi. 13.Rendering: Prosesmenghasilkansebuahgambar darisebuahmodel,dengan menggunakan program komputer. 45 L A M P I R A N 46LAMPIRAN I Data Ukur No Sudut (o) E (m V dB / ) Z( cm ) No Sudut (o) E (m V dB / ) Z( cm ) No Sudut (o) E (m V dB / ) Z( cm ) No Sudut (o) E (m V dB / ) Z( cm ) 15.986.18110101100.258.86150 201162.163.75190 301253.662.08230 213.486.28110102107.754.16150 202167.164.1190 302263.663.29230 323.486.13110103115.252.29150 203173.863.11190 303271.164.11230 430.985.65110104125.251.86150 20417961.84190 304278.563.58230 538.484.39110105132.756.19150 205180.561.84190 305288.561.98230 648.382.93110106142.659.74150 206190.560.11190 30629658.42230 755.881.18110107150.161.81150 20720355.72190 30730650.72230 865.878.54110108157.663.34150 208210.553.67190 308313.557.01230 973.375.27110109163.363.38150 209220.455.23190 309320.965.81230 1080.771.36110110167.663.75150 210227.959.04190 310330.970.18230 1190.766.49110111174.162.83150 211237.962.95190 311338.473.14230 1298.261.0511011217961.86150 212245.463.88190 312348.475.5230 13108.257.5111011318161.86150 213255.364.93190 313355.876.96230 14115.755.74110114193.460.24150 214262.866.04190 3145.575.09250 15123.154110115203.457.1150 215270.366.22190 3151375.16250 16133.155.91110116213.456.54150 216280.365.07190 3162374.86250 4717140.659.28110117220.957.89150 217287.762.12190 31730.574.11250 18150.661.26110118230.860.82150 218297.755.73190 31840.472.31250 1915862.71110119238.363.78150 219305.258.94190 31947.970.31250 2016063.1110120245.864.84150 220315.266.98190 32055.467.59250 2116863.2110121255.866150 221322.772.96190 32165.463.93250 22171.563.2110122263.367.18150 222330.176.25190 32272.958.29250 23174.462.37110123273.267.25150 223340.178.67190 32382.850.82250 2417961.45110124280.765.82150 224347.680.61190 32490.345.95250 25181.461.5110125288.262.16150 225357.681.92190 325100.351.09250 26191.459.75110126298.258.56150 2264.980.57210 326107.852.67250 27203.956.61110127305.665.33150 22712.480.74210 327115.253.91250 28211.455.59110128315.671.63150 22822.480.68210 328125.256.02250 29221.356.29110129323.176.32150 22929.880.03210 329132.758.98250 30228.859.26110130330.679.49150 23039.878.71210 330142.761.53250 31238.862.74110131340.681.69150 23147.377.2210 331150.262.89250 32246.363.9811013234883.46150 23257.375.15210 332157.663.14250 33256.265.1611013335884.65150 23364.772.35210 333163.363250 34263.766.411101347.484.32170 23474.768.9210 334167.663.06250 35271.266.5611013514.984.56170 23582.264.5210 335174.262.11250 36281.264.711013624.884.36170 23689.758.61210 33617960.76250 37288.760.4411013732.383.66170 23799.751.41210 33718160.76250 38296.160.0211013839.882.39170 238107.146.2210 338193.558.72250 4839306.167.4111013949.880.74170 239117.148.26210 339203.553.48250 40313.673.3811014057.278.81170 240124.654.01210 340213.428.63250 41323.677.9411014164.776.34170 241132.159.03210 341220.948.55250 4233180.6811014274.773.15170 24214261.84210 342230.954.31250 4334182.8811014382.269.26170 243149.563.31210 343238.457.96250 44348.584.5411014489.764.08170 244159.564.19210 344245.960.22250 45358.585.6311014599.658.98170 245162.563.85210 345255.861.08250 465.585.99130146107.155.97170 24616764.32210 346263.362.18250 471386.14130147117.153.49170 247173.763.21210 347273.363.11250 482386.02130148124.653.52170 24817961.87210 348280.862.86250 4930.485.5413014913257.62170 249180.461.87210 349288.261.88250 5040.484.3513015014260.18170 250192.960.19210 350298.259.85250 5147.982.91130151149.562.05170 251202.855.66210 351305.757.43250 5255.481.06130152159.563.17170 252212.851.63210 352315.757.77250 5365.378.4413015316064.1170 253220.353.34210 353323.263.39250 5472.875.34130154166.963.46170 254227.857.31210 354330.667.53250 5582.871.17130155173.762.7170 255237.761.47210 355340.670.63250 5690.366.1813015617961.61170 256245.262.57210 356348.172.91250 57100.260.35130157182.961.98170 257255.263.64210 357358.174.34250 58107.756.14130158192.859.72170 258262.764.84210 3585.274.44270 59115.254.32130159205.355.37170 259270.265.21210 35912.774.53270 60125.252.9130160212.852.33170 260280.164.21210 36022.774.32270 4961132.755.74130161222.854.18170 261287.661.73210 36130.273.36270 62142.659.49130162230.259.73170 262297.655.63210 36240.171.74270 63150.161.56130163240.263.54170 263305.152.73210 36347.669.46270 64157.663.03130164247.764.91170 26431564210 36457.666.54270 65162.563.17130165255.265.71170 265322.570.2210 36565.162.42270 66167.663.54130166265.166.65170 26633074.03210 36672.656.52270 67174.162.61130167272.666.59170 26734076.39210 36782.549.25270 6817961.75130168282.664.84170 268347.578.59210 3689051.68270 6918161.75130169290.161.16170 269357.479.94210 36910054.2270 7019160.34130170297.655.86170 2703.377.67230 370107.554.06270 71203.457.17130171307.564.01170 27113.377.92230 371114.954.03270 72210.956.7313017231570.68170 27220.877.81230 372124.954.83270 73220.957.3713017332575.46170 27330.777.18230 373132.457.06270 74228.460.44130174332.578.66170 27438.275.93230 374142.460.2270 75238.363.4130175342.480.72170 27548.274.16230 375149.861.49270 76245.864.73130176349.982.58170 27655.771.99230 376157.361.74270 77253.366.01130177357.483.76170 27763.268.72230 377167.361.64270 78263.367.08130178582.48190 27873.165.09230 378173.961.03270 79270.867.3913017912.582.63190 27980.660.75230 37917959.75270 80280.766.0413018022.582.6190 28090.653.64230 380180.759.75270 81288.262.241301813081.91190 28198.150.12230 381190.757.96270 82295.758.961301824080.76190 28210849.42230 382203.253.28270 5083305.766.3713018347.479.2190 283115.551.48230 383210.635.4270 84313.172.5413018457.477.2190 28412355.26230 384220.648.27270 85323.177.1113018564.974.39190 28513359.03230 385228.153.33270 86330.680.3313018672.471.16190 286140.561.9230 386238.156.4270 87340.682.4913018782.367.02190 287150.463.24230 387245.658.62270 8834884.2513018889.861.48190 288157.963.97230 38825359.33270 8935885.3713018999.854.13190 289161.763.88230 38926360.56270 905.585.22150190107.347.79190 290167.963.86230 390270.561.78270 911385.37150191114.846.43190 291174.363.06230 391280.561.86270 9222.985.23150192124.752.61190 292178.863.06230 392287.961.2270 9330.484.74150193132.258.45190 29317961.56230 393297.960.65270 9440.483.51150194142.261.45190 294191.360.02230 394305.460.22270 9547.982.03150195149.763.01190 295203.755.44230 395312.961.2270 9655.480.23150196159.664.13190 296211.246.8230 396322.864.49270 9765.377.64150197162.163.75190 297218.748.79230 397330.367.9270 9872.874.07150198162.163.75190 298228.754.82230 398340.370.38270 9982.870.25150199162.163.75190 299236.259.25230 399347.872.41270 10090.365.24150200162.163.75190 300246.161.06230 400357.873.82270 51LAMPIRAN II Source Code Program A.Proses Import Data procedure TfrmMain.doImportDariXls; var XlsSheet : TSheet; idxData, idxR, idxC, aMaxRow, idxMatR, idxMatC, idxUkR, idxUkC, idxMatFinR, vSlice, idxMatFDR : integer; isDuplicate: boolean; vMeasHeight, vPathFactor, vAntennaGain, tmpPhi, vRadius, vXaxis, vYaxix ,vZaxis, deltaZ, deltaDB, vdbAwal, vdbAkhir, vdbCalc, vZCalc: Extended; dataExcel : TMUkur; dataAxis : TM4Point; dataCylinder, dataCylinderTmp : TMatUkurData; begin OpenDialog.InitialDir := ExtractFilePath(Application.ExeName); if OpenDialog.Execute then begin try doAddLog('Inisialisasi Data...',clYellow); idxMatR:= 0; idxMatC:= 0; Excel.Filename := OpenDialog.FileName; Excel.Read; XlsSheet:= Excel.Sheets[XLS_SHEET_IDX]; aMaxRow := XlsSheet.LastRow; Grafik3D.IsFinishCacl := False; DataMatriks.doInitialize; LblAntType.Caption := XlsSheet.AsString[6,0]; LblFreq.Caption := XlsSheet.AsString[6,1]; LblAntElementNum.Caption := XlsSheet.AsString[6,2]; LblAntMeasHeight.Caption:= FormatFloat(FORMAT_NUM,XlsSheet.AsFloat[6,3]/SCALE_Z); 52LblPathFactor.Caption := XlsSheet.AsString[6,4]; LblAntennaGain.Caption := XlsSheet.AsString[6,5]; vMeasHeight := XlsSheet.AsFloat[6,3]/SCALE_Z; vPathFactor := XlsSheet.AsFloat[6,4]; vAntennaGain:= XlsSheet.AsFloat[6,5]; if vPathFactor = 0 then if not GlobalMessage.Confirm('Are you sure The Path Factor is 0 value...?') then Abort; if vAntennaGain = 0 then if not GlobalMessage.Confirm('Are you sure The Antenna Gain is 0 value...?') then Abort; progBar.Progress := 0; progBar.MaxValue := aMaxRow; doAddLog('Proses Import Data Dari EXCEL...'); tmpPhi:= -1; idxData := 0; for idxR := XLS_ROW_START to aMaxRow do begin try StrToFloat(XlsSheet.AsString[0,idxR]); StrToFloat(XlsSheet.AsString[1,idxR]); StrToFloat(XlsSheet.AsString[2,idxR]); except on EConvertError do begin GlobalMessage.ErrorRaise('Terdapatkesalahandatapadabariske['+ IntToStr(idxR)+' ]'); end; end;dataExcel.phi := XlsSheet.AsFloat[0,idxR]; dataExcel.level := XlsSheet.AsFloat[1,idxR]+vPathFactor+vAntennaGain; dataExcel.z := XlsSheet.AsFloat[2,idxR]/SCALE_Z; isDuplicate := tmpPhi = dataExcel.phi; if isDuplicate then doAddLog('FoundDuplicateDataonPHI='+FloatToStr(dataExcel.phi)+'Z= '+FloatToStr(dataExcel.z*SCALE_Z),clRed); tmpPhi := dataExcel.phi; if not isDuplicate then begin if dataExcel.level > DataMatriksExcel.MaxLevel then DataMatriksExcel.MaxLevel := dataExcel.level; DataMatriksExcel.setValue(idxData,dataExcel); 53DataMatriksExcel.RowCount := idxData+1; inc(idxData); end; progBar.Progress := idxR; Application.ProcessMessages; end; doAddLog('Selesai Import Data',clGreen); progBar.Progress := 0; progBar.MaxValue := DataMatriksExcel.RowCount-1; doAddLog('Proses Perhitungan Data'); for idxR := 0 to DataMatriksExcel.RowCount-1 do begin dataExcel := DataMatriksExcel.getValue(idxR); dataCylinder.phi:= dataExcel.phi; dataCylinder.r:= getRadius(dataExcel.level,DataMatriksExcel.MaxLevel,MIN_DB); dataCylinder.z:= (dataExcel.z)-vMeasHeight; DataMatriksUkur.setValue(idxMatR,idxMatC,dataCylinder); idxMatC := idxMatC + 1; DataMatriksUkur.ColCount := idxMatC; if (dataCylinder.z (DataMatriksExcel.getValue(idxR+1).z-vMeasHeight)) or (idxR = DataMatriksExcel.RowCount-1) then begin idxMatR := idxMatR + 1; DataMatriksUkur.RowCount := idxMatR; idxMatC := 0 end; progBar.Progress := idxR; Application.ProcessMessages; end; doAddLog('Selesai Perhitungan Data',clGreen); //********* field difference pointing ************ vSlice := 1; idxMatFinR := 0; for idxUkR := DataMatriksUkur.RowCount-1 downto 0 do begin for idxUkC := 0 to DataMatriksUkur.ColCount-1 do DataMatriksFinite.setValue(idxMatFinR,idxUkC,DataMatriksUkur.getValue(idxUkR,idxUkC)); if (idxUkR > 0) then begin Inc(idxMatFinR); for idxUkC := 0 to DataMatriksUkur.ColCount-1 do begin vdbAwal := DataMatriksUkur.getValue(idxUkR,idxUkC).r; 54vdbAkhir:= DataMatriksUkur.getValue(idxUkR-1,idxUkC).r; deltaZ:=(DataMatriksUkur.getValue(idxUkR,idxUkC).z- DataMatriksUkur.getValue(idxUkR-1,idxUkC).z) / vSlice; if vdbAwal > vdbAkhir then begin deltaDB := (vdbAwal-vdbAkhir)/vSlice; dataCylinder := DataMatriksUkur.getValue(idxUkR,idxUkC); vdbCalc := dataCylinder.r; vZCalc:= dataCylinder.z; idxMatFDR := idxMatFinR; for idxR := 1 to vSlice-1 do begin vdbCalc := vdbCalc + deltaDB; vZCalc:= vZCalc - deltaZ; dataCylinderTmp.phi := dataCylinder.phi; dataCylinderTmp.r := vdbCalc; dataCylinderTmp.z := vZCalc; DataMatriksFinite.setValue(idxMatFDR,idxUkC,dataCylinderTmp); Inc(idxMatFDR); end; end else if vdbAwal < vdbAkhir then begin deltaDB := (vdbAkhir-vdbAwal)/vSlice; dataCylinder := DataMatriksUkur.getValue(idxUkR,idxUkC); vdbCalc := dataCylinder.r; vZCalc:= dataCylinder.z; idxMatFDR := idxMatFinR; for idxR := 1 to vSlice-1 do begin vdbCalc := vdbCalc + deltaDB; vZCalc:= vZCalc - deltaZ; dataCylinderTmp.phi := dataCylinder.phi; dataCylinderTmp.r := vdbCalc; dataCylinderTmp.z := vZCalc; DataMatriksFinite.setValue(idxMatFDR,idxUkC,dataCylinderTmp); Inc(idxMatFDR); end; end; end; idxMatFinR := idxMatFinR + vSlice -1; end else idxMatFinR := idxMatFinR + 1; end; 55DataMatriksFinite.RowCount := idxMatFinR; DataMatriksFinite.ColCount := DataMatriksUkur.ColCount; idxMatR := 0; idxMatC := 0; aMaxRow := DataMatriksFinite.RowCount; progBar.Progress := 0; progBar.MaxValue := aMaxRow; doAddLog('Proses Transformasi Data...'); for idxR := 0 to aMaxRow-1 do begin for idxC := 0 to DataMatriksFinite.ColCount-1 do begin dataCylinder := DataMatriksFinite.getValue(idxR, idxC); vRadius := dataCylinder.r; getAxisFromCylind(vRadius,dataCylinder.phi,dataCylinder.z, vXaxis, vYaxix ,vZaxis); dataAxis.x := vXaxis; dataAxis.y := vYaxix; dataAxis.z := vZaxis; dataAxis.w := vRadius; if vRadius > DataMatriks.MaxRadius then DataMatriks.MaxRadius := vRadius; DataMatriks.setValue(idxMatR,idxMatC,dataAxis); idxMatC := idxMatC + 1; DataMatriks.ColCount := idxMatC; if (dataCylinder.z DataMatriksFinite.getValue(idxR, idxC+1).z) or (idxC = DataMatriksFinite.ColCount-1) then begin idxMatR := idxMatR + 1; DataMatriks.RowCount := idxMatR; idxMatC := 0 end; end; progBar.Progress := idxR; Application.ProcessMessages; end; doAddLog('Selesai Transformasi Data',clGreen); Grafik3D.IsFinishCacl := True; LblMaxRadius.Caption:= FormatFloat(FORMAT_NUM,DataMatriks.MaxRadius); LblMaxGain.Caption:= FormatFloat(FORMAT_NUM,DataMatriksExcel.MaxLevel); LblRangeRatio.Caption:= FormatFloat(FORMAT_NUM,((DataMatriks.MaxRadius)/3)*100); 56except on e : Exception do begin progBar.Progress := 0; GlobalMessage.ErrorRaise('Error : ' +e.Message+#10#13+ 'Proses Import Gagal...!'); end; end; progBar.Progress := 0; end; end; B.Visualisasi procedure TGrafik3D.doBuatPolaRadiasi; procedure doCalcColor(vRadius: varFloat; var vRed,vGreen,vBlue: varFloat); begin vRed:= 0.0; vGreen:= 0.0; vBlue := 0.0; if (vRadius/DataMatriks.MaxRadius) > 0.5 then begin vRed := (2*vRadius)-1; vGreen := (-2*vRadius)+2; end else begin vGreen := 2*vRadius; vBlue := (-2*vRadius)+1; end; end; var idxR, idxC, idxRCount, tmp: integer; dataAxis : TM4Point; aVertex : array of array[0..2] of varFloat; aColors : array of array[0..3] of varFloat; cRed,cGreen,cBlue : varFloat; tmpData : TStringList; begin if IsFinishCacl then begin glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_DEPTH_TEST); 57case Globals.ViewType of vtSlice : begin for idxR := 0 to DataMatriks.RowCount-1 do begin glPopMatrix(); glBegin(GL_LINE_LOOP); for idxC := 0 to DataMatriks.ColCount-1 do begin dataAxis := DataMatriks.getValue(idxR,idxC); SetColor(WireColor); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); end; glEnd(); end; end; vtWire: begin glBegin(GL_LINE_LOOP); for idxR := 0 to DataMatriks.RowCount-1 do begin for idxC := 0 to DataMatriks.ColCount-1 do begin dataAxis := DataMatriks.getValue(idxR,idxC); SetColor(WireColor); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); dataAxis := DataMatriks.getValue(idxR+1,idxC); SetColor(WireColor); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); end; end; glEnd(); end; vtSurface : begin glBegin(GL_TRIANGLE_STRIP); for idxR := 0 to DataMatriks.RowCount-1 do begin for idxC := 0 to DataMatriks.ColCount-1 do begin dataAxis := DataMatriks.getValue(idxR,idxC); doCalcColor(dataAxis.w,cRed,cGreen,cBlue); glColor4f(cRed,cGreen,cBlue,ALPHA_COLOR); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); dataAxis := DataMatriks.getValue(idxR+1,idxC); 58doCalcColor(dataAxis.w,cRed,cGreen,cBlue); glColor4f(cRed,cGreen,cBlue,ALPHA_COLOR); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); end; end; glEnd(); end; end; glDisable(GL_BLEND); glDisable(GL_DEPTH_TEST); end; end; C.Renderprocedure TGrafik3D.doBuatPolaRadiasi; procedure doCalcColor(vRadius: varFloat; var vRed,vGreen,vBlue: varFloat); begin vRed:= 0.0; vGreen:= 0.0; vBlue := 0.0; if (vRadius/DataMatriks.MaxRadius) > 0.5 then begin vRed := (2*vRadius)-1; vGreen := (-2*vRadius)+2; end else begin vGreen := 2*vRadius; vBlue := (-2*vRadius)+1; end; end; var idxR, idxC, idxRCount, tmp: integer; dataAxis : TM4Point; aVertex : array of array[0..2] of varFloat; aColors : array of array[0..3] of varFloat; cRed,cGreen,cBlue : varFloat; tmpData : TStringList; begin if IsFinishCacl then begin glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 59glEnable(GL_DEPTH_TEST); case Globals.ViewType of vtSlice : begin for idxR := 0 to DataMatriks.RowCount-1 do begin glPopMatrix(); glBegin(GL_LINE_LOOP); for idxC := 0 to DataMatriks.ColCount-1 do begin dataAxis := DataMatriks.getValue(idxR,idxC); SetColor(WireColor); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); end; glEnd(); end; end; vtWire: begin glBegin(GL_LINE_LOOP); for idxR := 0 to DataMatriks.RowCount-1 do begin for idxC := 0 to DataMatriks.ColCount-1 do begin dataAxis := DataMatriks.getValue(idxR,idxC); SetColor(WireColor); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); dataAxis := DataMatriks.getValue(idxR+1,idxC); SetColor(WireColor); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); end; end; glEnd(); end; vtSurface : begin glBegin(GL_TRIANGLE_STRIP); for idxR := 0 to DataMatriks.RowCount-1 do begin for idxC := 0 to DataMatriks.ColCount-1 do begin dataAxis := DataMatriks.getValue(idxR,idxC); doCalcColor(dataAxis.w,cRed,cGreen,cBlue); glColor4f(cRed,cGreen,cBlue,ALPHA_COLOR); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); 60dataAxis := DataMatriks.getValue(idxR+1,idxC); doCalcColor(dataAxis.w,cRed,cGreen,cBlue); glColor4f(cRed,cGreen,cBlue,ALPHA_COLOR); glVertex3f(dataAxis.x,dataAxis.y,dataAxis.z); end; end; glEnd(); end; end; glDisable(GL_BLEND); glDisable(GL_DEPTH_TEST); end; end; procedure TGrafik3D.doRender; begin if Active then begin glViewport(0,0,Self.Width,Self.Height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, Self.Width/Self.Height, 0.1, 500.0); glMatrixMode(GL_MODELVIEW); glClearColor((colorBackgroundAND$000000FF)/255,((colorBackgroundand $0000FF00) div 256) / 255,((colorbackground and $00FF0000) div 65536) / 255, 1); glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(pX0,pY0,pZ0,pX1,pY1,pZ1,pX2,pY2,pZ2); doDrawAxis; doDrawScalePlot; if isBuatPolaRadiasi then doBuatPolaRadiasi; SwapBuffers(aCanvas); end; end; D.Perhitungan unit UHitung; interface uses UGlobals, Math; 61 procedure getAxisFromCylind(pR, pPhi, pZ: varFloat; var vX, vY, vZ: varFloat); functiongetRadius(aDB: varFloat): varFloat;overload; functiongetRadius(aDB: varFloat;aMaxdB,aMinGaindB: varFloat): varFloat;overload; procedure doConKToS(X,Y,Z: Single; var r,a,b: Single); procedure doConSToK(R,A,B: Single; var X,Y,Z: Single); implementation procedure doConKToS(x, y, z: Single; var r, a, b: Single); begin if ((X=0) and (Y=0) and (Z=0)) then Exit; R := Sqrt(X*X+Y*Y+Z*Z); if (Y=0) then begin if(X>0)then a:=pi/2 else a:=-PI/2; end else begin a:=ArcTan(X/Y); if (a*X= 0) then Result := pMatData[idxRow,idxCol]; end; 67 procedure TDataMatriksUkur.setValue(idxRow, idxCol: integer; aMatData: TMatUkurData); begin idxR := idxR + 1; IdxC := IdxC + 1; SetLength(pMatData,idxR); SetLength(pMatData[idxRow],idxC); pMatData[idxRow,idxCol] := aMatData; end; { TDataMatriksFinite } constructor TDataMatriksFinite.Create; begin doInitialize; end; destructor TDataMatriksFinite.Destroy; begin inherited Destroy; end; procedure TDataMatriksFinite.doInitialize; begin idxR := 0; IdxC := 0; end; function TDataMatriksFinite.getColCount: integer; begin Result := FColCount; end; function TDataMatriksFinite.getRowCount: integer; begin Result := FRowCount; end; 68 function TDataMatriksFinite.getValue(idxRow, idxCol: integer): TMatUkurData; begin if idxRow < RowCount then Result := pMatData[idxRow,idxCol]; end; procedure TDataMatriksFinite.setValue(idxRow, idxCol: integer; aMatData: TMatUkurData); begin idxR := idxR + 1; IdxC := IdxC + 1; SetLength(pMatData,idxR); SetLength(pMatData[idxRow],idxC); pMatData[idxRow,idxCol] := aMatData; end; { TDataMatriksExcel } constructor TDataMatriksExcel.Create; begin doInitialize; end; destructor TDataMatriksExcel.Destroy; begin inherited Destroy; end; procedure TDataMatriksExcel.doInitialize; var i : integer; begin idxR := 0; for i := 0 to High(pMatExcel) do SetLength(pMatExcel,0); FRowCount := 0; end; 69 function TDataMatriksExcel.getRowCount: integer; begin Result := FRowCount; end; function TDataMatriksExcel.getValue(idxRow: integer): TMUkur; begin if idxRow < RowCount then Result := pMatExcel[idxRow]; end; procedure TDataMatriksExcel.setValue(idxRow: integer; aMUkur: TMUkur); begin idxR := idxR + 1; SetLength(pMatExcel,idxR); pMatExcel[idxRow] := aMUkur; end; initialization DataMatriks := TDataMatriks.Create; DataMatriksUkur := TDataMatriksUkur.Create; DataMatriksFinite := TDataMatriksFinite.Create; DataMatriksExcel:= TDataMatriksExcel.Create; finalization DataMatriksExcel.Free; DataMatriksFinite.Free; DataMatriksUkur.Free; DataMatriks.Free; end. 70LAMPIRAN III POLAR PLOT DAN OUTPUT APLIKASI A.Polar Plot 110 cm 130 cm 71150 cm 170 cm 72190 cm 210 cm 73230 cm 250 cm 74270 cm B.Output Aplikasi 110 cm 75130 cm 150 cm 76 170 cm 190 cm 77210 cm 230 cm 78250 cm 270 cm