• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
18
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1 Diagram Voronoi

Penggunaan diagram voronoi, sebelum orang tahu apa itu diagram voronoi, sudah dapat diketemukan pada tahun 1644 oleh Descartes. Dirichlet menggunakan diagram voronoi 2 dimensi dan 3 dimensi pada pembelajarannya terhadap bentuk-bentuk kuadrat pada tahun 1850. Fisikawan Inggris John snow menggunakan diagram voronoi pada tahun 1854 untuk mengilustrasikan bagaimana mayoritas orang yang meninggal dalam epidemi kolera di Soho tinggal lebih dekat dengan pompa air yang terinfeksi dari pompa air lain.

Diagram voronoi dinamakan atas seorang matematikawan Rusia Georgy Fedoseevich Voronoi (atau Voronoy) yang mendefinisikan dan mempelajari kasus umum n-dimensional pada tahun 1908.

Gambar 2.1 Diagram Voronoi

Misalkan }P={p1,p2,p3,K,pn suatu himpunan titik di suatu bidang

(2)

Voronoi untuk pi, sebagai himpunan titik q yang lebih dekat ke pi dibandingkan ke site lainnya. Sehingga, sel Voronoi untuk pi didefinisikan dengan:

V(pi) = {q | jarak(pi, q) < jarak(pj, q, untuk j ≠ i)

Jadi Diagram Voronoi dari suatu himpunan titik merupakan pembagian planar oleh sel-sel Voronoi dari titik-titik tersebut.

(anonim, 5 Januari 2007, http://www.cs.wustl.edu/~pless/546/lectures/l16.html)

2.2 Algoritma Fortune

Pada algoritma Fortune digunakan sebuah garis lurus menyapu bidang dari kiri ke kanan atau atas ke bawah dan sebaliknya. Ada satu kurva lagi yang akan dihasilkan oleh garis penyapu tersebut yang disebut garis pantai (beach line). Garis pantai terdiri dari kurva-kurva parabolik, yang dihubungkan dari ujung ke ujung pada titik pecah (break point). Algoritma Fortune mensimulasikan pergerakan garis pantai dan melacak jalur titik-titik pecah yang terjadi.

Pada algoritma Fortune terjadi 2 jenis events yang penting. Pertama adalah point events, terjadi ketika garis penyapu menemui sebuah site baru. Kedua adalah circle events terjadi ketika dua titik pecah pada garis pantai bertemu, menghasilkan sebuah titik dari diagram Voronoi.

2.2.1 Site Event

Sebuah site event terjadi ketika garis penyapu menemui sebuah site. Pada saat garis tersebut menyentuh site tersebut, tarik sebuah garis dari titik tersebut sampai ke permukaan garis pantai yang tegak lurus dengan garis penyapu. Sejalan

(3)

dengan majunya garis penyapu, garis tersebut akan melebar menjadi kurva parabolik sepanjang garis pantai, membagi garis pantai di atasnya menjadi dua. Kurva ini akan bergabung membentuk sebuah garis pantai baru. Site event ini tidaklah sulit untuk dideteksi karena setelah mengurutkan titik-titik yang ada berdasarkan posisinya, semua events diketahui.

Gambar 2.2 Site Event

2.2.2 Circle Event

Gambar 2.3 Circle Event

Kontras dengan site events, circle events muncul secara dinamis seiring dengan berjalannya program. Anggap 3 titik pi, pj, dan pk, kurva-kurva paraboliknya bersebelahan pada garis pantai. Ketiga titik tersebut dapat membentuk sebuah lingkaran dimana titik-titik itu berada pada lingkaran. Harus

(4)

dipastikan apakah ada titik lain yang berada dalam lingkaran atau tidak, karena jika ada maka akan mengganggu pembentukan titik potong. Ketika garis penyapu tepat menjadi garis singgung lingkaran tersebut, maka pada saat itulah titik tengah dari lingkaran itu aktif menjadi berjarak sama dari ketiga titik serta dari garis penyapu. Maka ketiga kurva parabolik akan melewati titik tengah lingkaran tersebut, berakibat kurva dari pj hilang dari garis pantai. Dalam konteks Diagram Voronoi, garis pembagi (pi, pj) dan (pj, pk) saling bertemu di titik tengah lingkaran

tersebut, yang akan kita sebut Voronoi vertex. Dan satu garis pembagi (pi, pk)

tersisa.

2.2.3 Parabola

2.2.3.1Definisi Parabola

Parabola (berasal dari sebuah kata dalam bahasa Yunani παραβολή) adalah sebuah bagian menyerupai kerucut yang dihasilkan dari perpotongan dari sebuah permukaan konik dan sebuah bidang yang paralel dengan salah satu bagian permukaan tersebut. Sebuah parabola dapat juga didefinisikan sebagai kumpulan titik-titik pada sebuah bidang yang berjarak sama terhadap sebuah titik tertentu (fokus) dan sebuah garis tertentu (direktris).

(anonim, 9 Januari 2007, http://en.wikipedia.org/wiki/Parabola)

Grafik dari persamaan-persamaan kuadrat adalah kurva-kurva berbentuk cup yang disebut parabola. (Varberg et al. 2000, 31)

(5)

2.2.3.2Persamaan Parabola

2.2.3.2.1 Persamaan Parabola dengan Sumbu Simetri Vertikal

(

xh

)

2 =4p

(

yk

)

(

x h

)

k a y = − 2 + c bx ax y = 2 + + dimana a b ac k a b h k p h c p h b p a 4 4 ; 2 ; 4 ; 2 ; 4 1 2 − 2 = − = + = − = = k pt t y h pt t x = + = 2 + ) ( ; 2 ) ( Keterangan : Puncak (h, k) Fokus (h, k+p) Sumbu simetri x = h Garis direktris y = k – p

2.2.3.2.2 Persamaan Parabola dengan Sumbu Simetri Horisontal

(

yk

)

2 =4p

(

xh

)

(

y k

)

h a x= − 2 + c by ay x= 2 + + dimana a b ac h a b k h p k c p k b p a 4 4 ; 2 ; 4 ; 2 ; 4 1 == 2 + == − 2 = k pt t y h pt t x( )= 2 + ; ( )=2 +

(6)

Keterangan : Puncak (h, k) Fokus (h+p, k) Sumbu simetri y = k Garis direktris x = h – p

2.2.3.3Perpotongan Dua Parabola

Titik potong P(a,b) antara dua parabola, dapat dihitung dengan memecahkan kedua persamaan parabola

(

)

1

(

1 1

)

2 1 1 h 4p y k x − = − dan

(

x2h2

)

2 =4p2

(

y2k2

)

atau

(

)

1

(

1 1

)

2 1 1 k 4p x h y − = − dan

(

y2k2

)

2 =4p2

(

x2h2

)

secara bersamaan dengan mensubstitusi dan mengeliminasi persamaan yang ada.

2.2.4 Lingkaran

2.2.4.1Definisi Lingkaran

Pada geometri Euclid, sebuah lingkaran adalah kumpulan dari semua titik pada sebuah bidang dengan jarak tertentu, disebut jari-jari, dari sebuah titik tertentu, titik pusat. (Varberg et al. 2000, 20)

Lingkaran adalah sebuah kurva tertutup sederhana, membagi sebuah bidang menjadi interior dan eksterior. Apabila muncul kata lingkaran, biasanya yang dimaksud adalah bagian interior, dengan lingkaran itu sendiri disebut

(7)

circumference(C). Biasanya circumference berarti panjang dari lingkaran, dan interior lingkaran disebut sebuah disk. Arc adalah bagian kontinu dari sebuah lingkaran. (anonim, 10 Januari 2007, http://en.wikipedia.org/wiki/Circle).

2.2.4.2Persamaan Lingkaran

Sebuah lingkaran pada bidang kartesius dengan pusat (a, b) dan jari-jari r mempunyai persamaan:

(

) (

2

)

2 2 r b y a x− + − =

2.2.4.3Pembentukan Lingkaran dari Tiga Titik

Dari tiga titik P(x1,y1),Q(x2,y2)dan )R(x3,y3 , dapat dibentuk suatu persamaan lingkaran dimana ketiga titik tersebut terletak pada lingkaran itu. Untuk mendapatkan persamaan lingkaran, pertama-tama titik P, Q, dan R dimasukkan ke dalam persamaan lingkaran

(

xa

) (

2 + yb

)

2 =r2 sehingga didapat :

(

) (

)

2 2 1 2 1 a y b r x − + − = atau 2 2 1 2 2 0 2 1 2 1 2 1 − ax +a + yby +br = x ... (1)

(

) (

)

2 2 2 2 2 a y b r x − + − = atau x22 −2ax2 +a2 + y22 −2by2 +b2 −r2 =0... (2)

(

) (

)

2 2 3 2 3 a y b r x − + − = atau x32 −2ax3 +a2 +y32 −2by3+b2 −r2 =0... (3)

(8)

Setelah melewati proses eliminasi dan substitusi terhadap persamaan (1), (2), dan (3), maka akan didapat nilai a dan b. Nilai a dan b yang didapat kemudian dimasukkan kedalam persamaan (1), (2), atau (3), maka akan didapat nilai r.

Setelah mendapatkan nilai a, b, dan r, maka persamaan lingkaran yang baru sudah didapat, dengan nilai a, b, dan r yang sudah berupa angka.

2.3Algoritma Halfplane

Algoritma halfplane didasarkan pada paradigma divide-and-conquer, dimana sebuah masalah dibagi menjadi beberapa masalah kecil yang lebih sederhana. Solusi dari masalah utamanya didapat dengan menggabungkan solusi-solusi yang dari masalah-masalah kecil tadi.

2.3.1 Pembagian (Divide)

Algoritma ini disebut halfplane karena dalam membangun diagram Voronoi, himpunan titik-titik yang ada dibagi menjadi dua himpunan bagian dengan besar yang lebih kurang sama, lalu secara rekursif himpunan-himpunan bagian itu dibagi menjadi dua himpunan bagian yang lebih kurang sama besarnya. Setelah titik-titik yang ada terbagi, setiap himpunan bagian akan mempunyai satu atau dua titik.

(9)

Gambar 2.4 Convex Hull

(10)

Gambar 2.6 Rantai Penghubung

(11)

Gambar 2.8 Penghapusan Diagram

2.3.2 Penggabungan (Merge)

Selanjutnya akan dibangun diagram Voronoi dari himpunan bagian SL,

salah satu himpunan bagian yang dihasilkan sebelumnya. Diagram Voronoi itu dibentuk dari garis yang membagi dua dan tegak lurus garis penghubung dua titik pada himpunan bagian itu. Langkah yang sama diterapkan pada SR, himpunan

bagian berikutnya. Kemudian dicari convex hull dari masing-masing himpunan bagian.

Selanjutnya kedua convex hull tersebut akan digabungkan. Pertama-tama dicari dua support line, yaitu suport line atas dan bawah. Support line adalah garis yang menghubungkan convex hull dari SL dan SR menjadi satu convex hull besar.

Tarik garis dari infinity yang membagi dua support line atas yang diapit titik uL1

(12)

dengan diagram Voronoi terdekat, misal diagram Voronoi dari titik uL1. Garis itu

disebut rantai penghubung.

Kemudian dicari garis yang menghubungkan uR1 dengan titik yang

bertetangga dengan uL1 yang berbagi diagram Voronoi yang tadi, misal disebut

uL2, rantai penghubung diteruskan dengan menarik garis yang tegak lurus dengan

garis antara titik uL2 dengan uR1. Langkah ini dilanjutkan sampai rantai

penghubung ini menemui support line bawah. Diagram Voronoi yang melewati rantai penghubung sesuai asal diagram tersebut dihapus, misal berasal dari himpunan bagian sebelah kanan rantai penghubung maka semua diagram yang berasal dari himpunan bagian ini yang berada di sebelah kiri rantai penghubung dihapus.

Penggabungan diteruskan dengan mengulang langkah-langkah ini terhadap himpunan bagian lain dan himpunan bagian baru yang merupakan hasil gabungan, maka akan didapatkan diagram Voronoi secara menyeluruh.

2.4 Garis

2.4.1 Definisi Garis

Sebuah garis bisa dideskripsikan sebagai sebuah kurva sangat tipis yang lurus sempurna dengan panjang tak berhingga. Pada geometri Euclid, hanya terdapat tepat satu garis yang melewati dua titik sembarang. Garis itu merupakan jarak terpendek diantara kedua titik.

(13)

2.4.2 Persamaan Garis b

mx y = + Keterangan :

m : derajat kemiringan garis

b : y-intercept (kedudukan y pada garis x = 0) dari garis x : variabel bebas dari fungsi y

2.4.3 Perpotongan Antar Dua Garis

Titik potong dari dua garis didapatkan dengan substitusi. Misal terdapat dua garis:

1 1 1 1 m x b y = + , dan 2 2 2 2 m x b y = +

berpotongan di titik (x, y), berarti pada titik ini y1 = y2 dan x1 = x2. maka,

1 1 1 2 2 2x b m x b m + = + 1 2 2 1 m m b b x − − =

setelah didapatkan x, dengan memasukkannya pada salah satu persamaan garis di atas akan didapat y. Titik potong (x, y) didapat.

2.4.4 Garis Saling Tegak Lurus

Dua garis, y1 =m1x1 +b1 dan y2 =m2x2 +b2, dikatakan saling tegak lurus

jika memenuhi syarat: 1

2 1⋅m =−

(14)

2.5 NetBeans

NetBeans merujuk pada baik sebuah platform yang digunakan untuk pengembangan aplikasi desktop Java, dan sebuah integrated development environment (IDE) yang dikembangkan menggunakan Netbeans Platform.

NetBeans Platform memungkinkan aplikasi untuk dikembangkan dari sekelompok komponen piranti lunak modular yang disebut modules. Sebuah module adalah sebuah Java archive file yang mengandung kelas-kelas Java yang ditulis untuk berinteraksi dengan NetBeans Open APIs dan sebuah file yang mengidentifikasikannya sebagai sebuah module. Aplikasi yang dibangun berbasiskan modules bisa diperluas dengan menambahkan modules baru. Karena modules bisa dikembangkan secara independen, aplikasi berbasiskan NetBeans platform bisa dengan mudah dikembangkan oleh pengembang pihak ketiga.

NetBeans dimulai pada tahun 1997 sebagai Xelfi, sebuah proyek mahasiswa dibawah bimbingan Faculty of Mathematics and Physics di Charles University di Praha. Sebuah perusahaan kemudian didirikan atas proyek itu dan memproduksi versi komersil dari NetBeans IDE sampai perusahaan tersebut dibeli oleh Sun Microsystems pada 1999. Sun lalu menyatakan bahwa NetBeans IDE open-source pada bulan Juni tahun berikutnya.

2.5.1 Java

Sun Microsystems pada tahun 1991 membiayai sebuah proyek internal perusahaan bernama Green, yang menghasilkan sebuah bahasa pemrograman berbasiskan C++ yang oleh penciptanya, James Gosling, diberi nama Oak atas

(15)

sebuah pohon oak di luar ruang kerjanya di Sun. Ternyata sudah ada sebuah bahasa komputer dengan nama Oak.

Ketika sekelompok dari pegawai Sun mengunjungi sebuah coffee shop lokal, sebuah nama, Java, tercetus dan akhirnya dipakai. Proyek Green lalu menemui beberapa kesulitan. Pasar untuk alat-alat elektronik di awal 1990-an tidak berkembang secepat yang Sun harapkan. Proyek itu berada di ambang kehancuran. Hanya karena keberuntunganlah, World Wide Web meledak kepopulerannya pada tahun 1993, dan orang-orang Sun melihat potensi dalam menggunakan Java untuk menambah isi dinamis, seperti interaktivitas dan animasi, pada halaman-halaman Web. Hal ini meniupkan angin segar pada proyek itu.

Sun lalu mengumumkan Java secara resmi pada sebuah konferensi besar pada Mei 1995. Java menarik perhatian komunitas bisnis karena ketertarikan fenomenal pada World Wide Web. Java sekarang digunakan untuk mengembangkan aplikasi perusahaan berskala besar, untuk meningkatkan fungsionalitas dari Web servers, menyediakan aplikasi bagi perangkat konsumen (seperti telepon seluler dan personal digital asistants) serta banyak tujuan lainnya. Java merupakan sebuah bahasa pemrograman berbasis obyek. Aplikasi-aplikasi Java biasanya di-compiled menjadi bytecode yang bisa di-compiled menjadi native machine code pada saat runtime. (Deitel 2005, 9)

(16)

2.6 Rekayasa Perangkat Lunak

2.6.1 Pengertian Perangkat Lunak Pengertian perangkat lunak adalah:

• Instruksi pada komputer yang bila dijalankan akan memberikan fungsi dan hasil yang diinginkan.

• Dokumen yang menjelaskan operasi dan penggunaan program.

• Struktur data yang menjadikan program dapat memanipulasi suatu informasi. (Pressman 1992, 45)

Dengan demikian dapat disimpulkan bahwa rekayasa perangkat lunak adalah instruksi, dokumen, dan struktur data yang menyediakan metode logika dan prosedur yang diinginkan.

2.6.2 Model Waterfall

Model Waterfall merupakan model proses yang digunakan penulis dalam penelitian. Model ini merupakan sebuah pendekatan kepada pengembangan perangkat lunak yang sistematik dan sekuensial yang dimulai dengan analisis, desain, pengembangan, pengujian, dan pemeliharaan terhadap sistem yang akan dibuat.

(17)

Gambar 2.9 Model Waterfall

Penjelasan tahapan dalam model Waterfall adalah sebagai berikut: a. Analisis Kebutuhan

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Tujuan tahap ini adalah untuk mengetahui kebutuhan piranti lunak, sumber informasi piranti lunak, fungsi-fungsi yang dibutuhkan, kemampuan piranti lunak dan antarmuka piranti lunak tersebut.

b. Desain

Proses desain merupakan representasi kebutuhan ke bentuk perangkat lunak yang dapat dinilai kualitasnya sebelum dilakukan pengkodean. Tahap ini meliputi perancangan struktur data, perancangan arsitektur piranti lunak, perancangan rincian prosedur dan perancangan user interface. ANALISIS DESAIN CODING DAN DEVELOPMENT IMPLEMENTASI / TESTING MAINTENANCE

(18)

c. Pengembangan

Desain harus dapat diterjemahkan ke dalam bentuk bahasa pemrograman yang bisa dibaca.

d. Implementasi dan Pengujian

Setelah program aplikasi selesai dikode, program akan diujicobakan dan juga dilakukan pengujian. Pengujian dilakukan secara menyeluruh hingga semua perintah dan fungsi telah diuji sampai output yang dihasilkan oleh program sesuai dengan yang diharapkan.

e. Pemeliharaan

Pemeliharaan perangkat lunak dilakukan karena sering terjadinya perubahan atau peningkatan fungsi piranti lunak. Hal ini sesuai permintaan pemakai, maka pirati lunak yang telah selesai dibuat perlu dipelihara agar dapat mengantisipasi permintaan pemakai terhadap fungsi-fungsi baru. Bila terjadi perubahan berarti membalikkan tahapan ke tahapan yang lebih awal.

2.7Rata – rata (Mean)

n x x n i i i

= = = 1 Keterangan : x = rata – rata xi= data ke i n = banyak data

Gambar

Diagram  voronoi dinamakan atas seorang matematikawan Rusia Georgy  Fedoseevich Voronoi (atau Voronoy) yang mendefinisikan dan mempelajari kasus  umum n-dimensional pada tahun 1908
Gambar 2.2 Site Event
Gambar 2.4 Convex Hull
Gambar 2.6 Rantai Penghubung
+3

Referensi

Dokumen terkait

Studi optimasi dua parameter pemintalan elektrik, yaitu tegangan listrik dan jarak nozzle -kolektor, telah dilakukan dengan teknik algoritma genetika dalam domain [1,60]

Berdasarkan keunggulan komparatif, kompetitif, dan kesesuaian dengan pewilayahan komoditas pertanian berdasarkan ZAE, padi sawah merupakan komoditas yang lebih unggul

Data penelitian ini menunjukkan bahwa 91.2% responden tidak mempunyai pengetahuan yang cukup tentang cara pengujian garam beriodium dan sebanyak 97.1% responden tidak

Administration of a single massive oral dose vitamin A has been recon~nlended for the pre- vention of vitamin A deficiency in pre-school children.. (Swaminathan,

Contoh sederhana ketika kita menggosok gigi yang dibiasakan sejak dini secara berulang, maka sekarang menjadi kebiasaan yang telah tertanam dalam alam bawah sadar

Presiden tidak dapat dimakzulkan dalam masa jabatannya kecuali melanggar hal-hal yang tercantum dalam UUD 1945 Pasal 7A yang berbunyi: “Presiden dan/atau wakil

kesimpulan bahwa pemberian pupuk hijau plus pada tiga genotipe kacang tanah lokal Muna mempengaruhi semua variabel pengamatan yaitu serapan N dan P tanaman,

Berdasarkan analisa pengukuran perilaku responden melalui metode penayangan video menunjukkan hasil bahwa perilaku responden yang baik sebelum mendapatkan promosi