Thursday, December 4, 2008 Mengenal Dot dan Cross Product. Posted by hendry_dext Dalam pembelajaran tentang vektor, kita tidak bisa terlepas dari dot dan cross product.. Apa itu dot dan cross vektor? Lebih jauh lagi, darimana rumus dot dan cross itu berasal? Bagaimanakah contoh soalnya? Silakan baca lanjutannya.. ^^ ===================================================================== ==== Bagian I Sekilas Tentang Vektor Vektor adalah garis yang memiliki panjang dan arah. Simbol untuk vektor, bisa berupa overline variable (misalnya: atau ) bisa juga dalam simbol dot to dot variabel (misalnya: atau , yang artinya titik dimulai dari pangkal A ke titik B). Vektor dapat ditulis dalam bentuk matriks kolom. Misalnya: => Vektor dalam bentuk matriks kolom dapat dibuat lebih *hemat tempat* dengan pemberian unsur transpos matriks. Jadi, matriks *tranpos*. juga dapat ditulis dalam bentuk . Simbol T berarti Selain itu matriks dapat ditulis dalam bentuk penambahan vektor-vektor satuan. Sebagai contoh: = 3 + 5 . (Bentuk ini adalah bentuk yang paling efektif, karena menunjukkan elemen vektor satuan.. Tapi, kurang enak dibaca.. ~~a) Di sini adalah vektor , sedangkan adalah vektor . Operasi vektor bisa berupa: 1. Penjumlahan (dan pengurangan): tinggal menjumlahkan elemen-elemen vektor yang sesuai 2. Perkalian dengan skalar (menghasilkan vektor yang sejajar dengan vektor awal) 3. Perkalian dengan vektor (akan dibahas lebih lanjut). Contoh Soal 1: Jika = Jawab: + = dan = + , maka berapakah = = Contoh Soal 2: Jika = 2 + 5 Jawab: 2 = 2(2 + 5 -8 Lihat penjelasan awal). + ? -8 , maka berapakah 2 ? )= +5 -16 . (bentuk ini adalah bentuk lain dari vektor. Contoh Soal 3: Jika = 6 -5 , dan = 3 + , dan = -2 +5 , dan 2 , maka berapakah ? Jawab: = 2(6 -5 - ) - (3 + ) + 2(-2 +5 ) = 12 -10 -2 -3 - -4 +10 _________= 5 - 3 Atau dapat juga ditulis = =2 - + . Panjang vektor dapat ditentukan dengan konsep phytagoras. (perhatikan simbol untuk panjang vektor).. Contoh soal 4: jika = Jawab: Panjang vektor , berapakah panjang = = = . Contoh soal 5: Jika = +3 +5 +7 +9 Jawab: = . + 11 . Tentukan panjang vektor ! = Vektor satuan adalah vektor yang panjangnya 1 satuan. Lambang vektor satuan bermacammacam. Di sini akan digunakan simbol . Contoh Soal 6: = Jawab: . Apakah vektor = = 1. Maka Contoh soal 7: Terdapat vektor dan sejajar dengan vektor . Jawab: dimana adalah vektor satuan? adalah vektor satuan (karena panjangnya 1) = 2 + 6j +5k.Tentukan vektor satuan yang searah Tentukan panjang vektor = = = Syarat sejajar dan searah, vektor itu harus dikalikan konstanta yang positif. = c. ... (i) Syarat ini juga dipenuhi untuk *panjang* vektor. Jadi: = c. Panjang vektor satuan adalah 1. Jadi: 1 = c. Maka, c = = . Subtitusikan nilai c ini di persamaan awal, maka didapat: = = = . Contoh soal 8: Berapakah vektor satuan dari vektor (yang ada di contoh soal nomor 3)? Jawab: Soal ini identik dengan soal nomor 7 (hanya beda kata-kata). Di soal ini, kita mencoba memakai rumus vektor satuan, yang logikanya sudah ada di contoh soal nomor 7. = Jadi, = = = . Vektor Posisi adalah vektor yang berpangkal dari koordinat O, bisa (0,0) atau (0,0,0), dan seterusnya. Misalnya: = => Contoh soal 9: Jika Jawab: = , sedangkan Dengan digambar, maka kita tahu bahwa = = = + . Tentukan vektor = ! , maka: = Ruang Dimensi Vektor menunjukkan di dimensi mana vektor itu berada. Misalnya, vektor itu terletak di dalam ruang, maka dia akan berada di dimensi 3 atau di . Jika vektor itu terletak di bidang, maka vektor itu berada di dimensi . Lalu, apakah dimensi 4 itu ada? Bagaimana cara menggambar vektor di dimensi 4 atau lebih? Hmm.. Sebetulnya, vektor dimensi 4 atau lebih itu ada, tapi vektor ini bersifat *khayal*, dan tidak bisa digambar. Apakah Dot dan Cross Product berlaku untuk dimensi 4, 5, dan seterusnya...?? Tidak!! Cross Product hanya berlaku di . Namun, dot bisa berlaku di semua dimensi. Namun, pembuktian untuk dot product di dimensi 4 (atau lebih) masih belum ada (dan tidak akan ada). Jadi, kita sebaiknya lihat pembahasan Dot dan Cross Product di dan saja yach.. ^^ ===================================================================== ==== Bagian II Dot Product Dot ( ) Product adalah bentuk perkalian antara 2 vektor yang akan menghasilkan skalar, yang didefinisikan dalam rumus: = . . adalah sudut yang dibentuk oleh kedua vektor dan . Mengapa hasilnya skalar? Masing-masing unsur dari , , dan adalah skalar. Jadi, juga skalar. (Lihat juga pembahasan tentang cross product. Mungkin akan memperjelas. ^^) Mengapa Dot Product didefinisikan seperti itu? Justru itulah masalahnya. Si pembuat definisi itu memang sangat kreatif. Mulanya, untuk mengalikan vektor dan , maka akan ada tiga unsur yang berperan, yaitu panjang , panjang , dan sudut yang dibentuk keduanya ( ). Definisi untuk dot diambil unsur yang cos. ^^ Apa arti dari hasil perkalian itu? Kalo ngak *diolah* lebih lanjut, hasil dari . . sesungguhnya tidak memiliki arti. . . hanya kumpulan angka-angka saja dan angka itu tidak menunjukkan besaran apapun (bagi saya). Oleh, karena itu dot product harus diolah lagi agar dapat diaplikasikan. ^^ Contoh soal 10: Diketahui di dimensi 3 ( ), terdapat vektor = . Didapat bahwa, ternyata: ( ) = . Tentukan besar sudut yang dibentuk antara Jawab: ( ) . . dan . dan ! = . =1 . =1 = = Jadi, = Contoh Soal 11: Jika = 4, berapakah ? Jawab: = . (kita tahu bahwa vektor dan itu sudutnya 00) = = 16 Karakteristik Dot Product Di sini kita akan bermain-main dengan vektor satuan. Kita akan melihat vektor di dimensi ruang ( ), jadi akan ada 3 vektor basis di sini yaitu , , dan . = , = , dan = Sesuai dengan definisi Dot Product, maka didapat karakteristik sebagai berikut. =| |.| |. = 1 (ingat bahwa sudut yang dibentuk adalah 00) =| |.| |. =1 =| |.| |. =1 Selain itu, nilainya adalah nol. Lihat di bawah. =| |.| |. = 0 (karena sudut yang dibentuk adalah 900) =| |.| |. =0 =| |.| |. =0 =| |.| |. =0 =| |.| |. =0 =| |.| |. =0 Sifat yang dimiliki dot product ini adalah komutatif (dibolak-balik hasilnya sama.. ^^) Dengan melihat karakteristik itu, maka kita dapat mengalikan tanpa perlu tahu sudutnya. Lihat penguraian di bawah. = + + = + + =( + + ) ( + + ) = + + + ==== + + + ==== + + = ( )+ ( )+ ( )+ ++++ ( )+ ( )+ ( )+ ==== ( )+ ( )+ ( ) = + + Contoh Soal 12: Jika = Jawab: = dan = , berapa sudut yang dibentuk oleh kedua vektor itu? (-1)(4)+(2)( )+(3)(-1) = . . -6 = . . -6 = 15,5403 (menggunakan kalkulator) = - 0,386 = 112,710 (menggunakan kalkulator) Ternyata dot vektor dapat digunakan untuk menghitung sudut dengan rumus: = Proyeksi Vektor Di contoh soal di atas, dot product dapat digunakan untuk mencari sudut apit. Namun, sesungguhnya dot vektor dapat digunakan untuk kemampuan yang lebih, yaitu mencari vektor proyeksi. Lihat penjelasan di bawah. Misalkan diberikan vektor dan . adalah proyeksi vektor ke , maka dapat digambarkan sebagai berikut. (Sebenarnya, pangkal vektor dan tidak harus berhimpit, namun, dianggap demikian supaya lebih mudah dipahami). Pertama, tama kita akan mencoba mencari panjang vektor . Sesuai dengan aturan trigonometri: = ... (i) Sesuai dengan operasi dot vektor: = ... (ii) Gabungkan kedua persamaan di atas, maka akan kita dapatkan rumus untuk = = Karena dan berhimpit, maka dapat kita simpulkan bahwa vektor satuan dari sama dengan vektor satuan dari . = Ingat rumus untuk vektor satuan sebelumnya, maka persamaan di atas menjadi: = = Substitusikan nilai = , maka didapat: (vektor proyeksi dari ke ) Untuk mencari vektor proyeksi dari ke , maka kita tinggal ganti simbol: = (vektor proyeksi dari ke ) Contoh Soal 13: Di dimensi 2 ( ), terdapat 2 buah vektor, yaitu dan . = = Tentukan (proyeksi pada ) dan (proyeksi Jawab: Kasus di atas dapat digambarkan sebagai berikut ( pada )! dan dianggap sebagai vektor posisi) Vektor proyeksi dari ke = Vektor proyeksi dari ke = = = = = = = . . Contoh Soal 14: Diketahui vektor dan bukan (vektor yang panjangnya 0) memenuhi kondisi berikut. =2 = . Sudut yang dibentuk dan adalah . Tentukan ! Jawab: Ini adalah soal vektor yang tricky. Mungkin pada awalnya kita kesulitan karena bingung memulai dari mana. Tapi, kita bisa memulai dari apa yang ditanyakan. selalu berhubungan dengan , maka inilah hal yang pertama kali kita lakukan. = Substitusi nilai = 2 : =2 . =2 ... (i) Lalu, kita tinggal menentukan untuk mengolah . Supaya lebih mudah, maka sebaiknya kita kalikan vektor dengan dirinya sendiri. = +6( )+9( ) = +6( )+9 Karena = (diketahui di soal), maka persamaan tersebut menjadi: 6( = )= 9 +6( )+9 = ... (ii) Substitusikan persamaan (ii) ke (i), maka: =2 = ===================================================================== ==== Bagian III Cross Product Kita tahu bahwa dot vektor sangat berperan dalam perhitungan sudut dan vektor proyeksi. Keistimewaan dot terletak pada yang membuat perkalian vektor bersudut 900akan bernilai nol, sehingga mempermudah perhitungan. Lalu, bagaimana dengan cross product? Cross ( ) Product adalah bentuk perkalian antara 2 vektor yang akan menghasilkan vektor yang tegak lurus dengan kedua vektor itu di dalam dimensi 3, yang didefinisikan dalam rumus: = . . . di sini . adalah vektor satuan yang tegak lurus dengan vektor dan tegak lurus dengan vektor Apa hasil dari cross product itu? Hasil dari cross product adalah vektor yang tegak lurus dengan vektor dan vektor . Kenapa bisa begitu? Ini karena pengaruh perkalian vektor-vektor satuan dan . Untuk lebih jelasnya, bisa dilihat di bagian karakteristik cross product. Sementara, jika kita ingin meng*skalar*kan cross product, maka unsur dapat kita hilangkan, maka rumusnya menjadi: = . . Di sini, kita tahu bahwa . . adalah rumus Luas jajargenjang. Wah, ternyata kita bisa mencari luas jajargenjang dari sudut pandang vektor! ^^ Mengapa cross product dapat menghasilkan vektor sedangkan Dot Product tidak? Sebetulnya dot product bisa menghasilkan vektor jika dikalikan lagi dengan vektor satuan. Namun, dot product sengaja tidak menghasilkan vektor karena di sinilah aplikasi dot vektor yang banyak digunakan (mencari sudut dan vektor proyeksi). Lalu, jika ingin memberi arah, kita tinggal mengalikannya dengan vektor satuan yang arahnya terserah kita (di sini dot vektor bersifat dinamis). Sementara itu, cross vektor juga sebenarnya bisa jika didefinisikan sebagai ini saja: . . karena bisa diaplikasikan dalam mencari luas jajargenjang. Namun, fungsi ini masih terlalu sederhana (bagaimana kita mendefinisikan dengan , tentunya nilai keduanya harus berbeda dan tidak mungkin kita mendefinisikan keduanya adalah 1 meskipun keduanya tegak lurus). Unsur pada cross vektor sungguh *mempesona*. Pada saat sudut yang dibentuk adalah 900 (yang berarti hasil sin-nya adalah 1), maka kita dapat memodifikasinya dengan pemberian arah vektor yang saling ortoghonal (tegak lurus) kedua vektor, berbeda jika kita menggunakan cos pada dot product. Ini juga bisa memberikan solusi bagi nilai dengan (sebagai contoh) supaya tidak sama. Mengapa Cross Product hanya berlaku di dimensi 3 saja? Untuk membuat vektor yang tegak lurus diperlukan vektor basis yang saling tegak lurus juga. Lalu, di dimensi 4, bisakah kita menemukan 4 vektor yang saling tegak lurus? Sebenarnya di dimensi 2, cross product bisa saja kita gunakan karena dimensi 2 adalah bagian dari dimensi 3. Namun, mungkin hasil yang dipakai hanyalah sebatas , karena tidak dapat digunakan di dimensi 2. Karakteristik Cross Product Di dimensi 3 terdapat 3 vektor basis sebagai berikut. = , = , dan = Vektor yang tegak lurus ada 2 arah (berlawanan). Supaya konsisten, maka kita tentukan arahnya dengan aturan tangan kanan. Ini dilakukan supaya hasilnya **konsisten** dan **universal**. Jadi, ini semacam aturan umum saja. (Sebenarnya jika kita memakai aturan tangan kiri, kita akan mendapatkan hasil yang tegak lurus juga, namun hasilnya negatif. Sebenarnya, ini boleh saja dilakukan). Sesuai dengan definisi di atas, maka didapat karakteristik sebagai berikut. = (karena sudutnya 00) = = = = = -------= = = Terlihat bahwa perkalian cross product tidak bersifat komutatif.. Sekarang kita coba mengoperasikan = = + + + + =( + + ) ( + + ) = ( )+ ( )+ ( )+ ===== ( )+ ( )+ ( )+ ===== ( )+ ( )+ ( ) = . + . + ( )+ ===== ( )+ . + . + ===== . + ( )+ = ( ) ( )+ ( ) (Supaya dapat lebih mudah dibaca *dan dihapal*, kita gunakan konsep determinan) = (gunakan cara Sarrus untuk mencari determinan ordo 3x3) Maka, akan didapat vektor yang tegak lurus dan . Contoh Soal 15: Di , terdapat vektor = Jawab: dan . dan = . Tentukan dan . = = = (Determinan 3x3 di atas dapat diselesaikan dengan cara Sarrus biasa..) = = dapat kita lihat bahwa: = = -( ). Contoh Soal 16: Dari contoh soal 15, berikan 5 contoh vektor yang tegak lurus dengan vektor Jawab: dan vektor ! Kita sudah menemukan 2 vektor yang tegak lurus, yaitu: , dan . Berikutnya, kita tinggal menemukan vektor-vektor yang sejajar dengan vektor itu. Jadi, kita hanya mengalikan konstanta sesuka apapun yang kita mau. Misalnya: Kalikan Kalikan dengan , maka hasilnya: dengan 3, maka hasilnya: ==> ini contoh yg ke-3 ==> ini contoh ke-4 Kalikan dengan 2, maka hasilnya ==> ini contoh ke-5 Tentunya, akan ada banyak jawab. Intinya, kita cukup mengalikan dengan konstanta apapun... ^^ Contoh Soal 17: Tentukan persamaan bidang yang melalui titik (0,1,2) dan terdapat vektor di bidang itu! dan Jawab: Pertama, tentukan dulu (kita sudah mendapatkannya di soal nomor 15) Nah, itulah yang disebut dengan vektor normal. Vektor normal adalah karakteristik yang dimiliki oleh bidang. (kalau karakteristik gradien dimiliki oleh garis). Nah, kita tinggal mengikuti rumus persamaan bidang berikut: pers. bidang: Kita sudah mendapat salah 1 contoh vektor normal di contoh nomor 16, yaitu . Substitusikan nilai 3 di n1, 6 di n2, dan -5 di n3. Maka, persamaan bidangnya menjadi: Bidang itu melalui titik (0,1,2). Oleh karena itu, substitusikan nilai 0 di x1, 1 di x2 dan 2 di x3. Maka persamaannya menjadi: pers. bidang: Contoh soal 18: Tentukan persamaan bidang yang melalui titik A(0,1,-3), B (2,4,-1), dan C(2,3,5)! Jawab: Tentukan 2 vektor yang terletak pada bidang. Di sini, kita mencari vektor mencari yang lain). dan . (Boleh = = = = Sekarang kita cari vektor yang tegak lurus dengan kedua vektor ini. Caranya? Ya, menggunakan cross product!! = = = Sekarang tinggal memasukkan nilai-nilai itu ke persamaan bidang: Masukkan n1=20 , n2=-20, n3 = 10 Bagi persamaan dengan 10, supaya lebih sederhana. Nah, sekarang masukkan titik yang terletak pada bidang. Terserah kalian ingin memasukkan titik A, atau B, ataupun C, karena semua titik akan menghasilkan hasil yang sama. Di sini, kita masukkan titik A (0,1,-3). Berarti x1=0.x2=1. x3=-3. pers bidang: (Contoh Soal lainnya akan menyusul) ===================================================================== ==== Bagian IV Sifat-Sifat Khusus Cross Product Kita sudah tahu bahwa cross dan dot product memilii sifat distributif. Lalu, bagaimana jika sudutnya 0. Tentu kita sudah tahu. Di sini, dibahas sifat-sifat yang tidak diberikan secara eksplicit (dan juga jarang terpakai): 1. =====> Untuk Membutikannya, cukup jabarkan ruas kiri. Lalu ubah =====> menjadi . 2. =====> Bagian ini belum sempat aku coba untuk membuktikannya. Bisakah kalian =====> membantu saya membuktikannya? ===================================================================== ==== Sekian materi mengenai dot dan cross product yang terbilang gampang.. Ini materi sekolah SMA, sekaligus materi kuliah di semester awal. Maaf kalau terlalu cepat, karena ini diambil dari berpuluh-puluh halaman dari sebuah buku dan diringkas menjadi 1 halaman web... Sumber: Matriks dan Transformasi Linear (Wikaria Gazali, sekaligus sebagai dosen tercinta di Universitas Bina Nusantara. ^^). Penerbit: Graha Ilmu. Penjumlahan dan Pengurangan Vektor Hasil penjumlahan ataupun hasil pengurangan dari dua vektor atau lebih disebut resultan vektor. Untuk mencari resultan beberapa vektor, yang bekerja pada suatu bidang, dapat digunakan tiga metode, antara lain metode jajar genjang, metode segitiga dan metode poligon. Metode Jajar Genjang 1. Lukislah vektor F1 dan F2 dengan titik tangkap berimpit di titik O 2. Buatlah jajar genjang dengan sisi-sisi vektor F1 dan F2 3. Diagonal jajar genjang merupakan resultan atau hasil penggabungan vektor F1 dan vektor F2 4. Sudut α menunjukkan arah resultan kedua vektor terhadap vektor F1 Metode Segitiga 1. Lukislah vektor F1 dengan titik tangkap di titik O 2. Lukislah vektor F2 dengan titik tangkap di ujung vektor F1 3. Sudut α menunjukkan arah resultan kedua vektor terhadap arah vektor F1 Metode Poligon Jika ada tiga vektor atau lebih, anda tidak mungkin menjumlahkan vektor-vektor tersebut dengan metode jajar genjang atau metode segitiga. Oleh karena itu harus digunakan metode segibanyak (poligon). Untuk lebih jelasnya, perhatikanlah gambar berikut Pada gambar di samping terdapat tiga buah vektor yang akan dicari resultannya. Adapun resultan ketiga vektor tersebut seperti tampak pada gambar berikut Berikut adalah tahap-tahap dalam menentukan resultan vektor mengguanakan metode poligon 1. Lukislah vektor F1 dengan titik tangkap di O 2. Lukislah vektor F2 dengan titik tangkap di ujung vektor F1 3. Lukislah vektor F3 dengan titik tangkap di ujung vektor F2 4. Hubungkan titik tangkap di O dengan ujung vektor F3. Lukis garis penghubung antara titik tangkap O dan ujung vektor F3. Garis penghubung ini merupakan resultan vektor F1, F2, dan F3 Menggambar Pengurangan Vektor Selisih antara dua buah vektor F1 dan F2 (ditulis R = F1-F2) sama saja dengan menentukan jumlah antara vektor F1 dan vektor -F2 atau R = F1 + (-F2). Oleh karena itu, tiga metode dalam penjumlahan vektor yang telah dipelajari sebelumnya juga berlaku untuk selisih vektor. Untuk melukiskan R = F1-F2, mula=mula lukislah vektor F1, kemudian lukis juga vektor -F2 yang didapat dengan caramembalikkan arah F2 sehinggga -F2 berlawanan arah dengan vektor F2. Berikut adalah simulasi terkait dengan penjumlahan dan pengurangan vektor. Untuk melihat simulasi, tekanlah tombol yang sudah tersedia. Resultan Vektor Untuk menentukan besar resultan vektor, dapat digunakan metode grafis dan metode analisis seperti berikut. Metode Grafis Menentikan resultan vektor secara grafis dapat dilakukan dengan metode jajar genjang, metode segitiga, dan metode poligon. Dengan menggunakan perbandingan skala dan besar sudut yang tepat, pengukuran panjang resultan vektor dapat dilakukan dengan menggunakan mistar, sedangkan besar sudut dapat dihitung menggunakan busur derjat. Aturan menentukan besar dan arah resultan vektor dengan metode grafis. 1. Arah acuan vektor ditentukan berdasarkan arah sumbu x positif. Sudut vektor bernilai positif diukur berlawanan arah putaran jarum jam dan bernilai negatif diukur searah putaran jarum jam 2. Panjang vektor dilukiskan menggunakan skala panjang yang sesuai. Misalnya untuk vektor gaya yang besarnya 10 N dilukiskan dengan panjang 1 cm, sehingga untuk vektor gaya 20 N harus dilukis dengan panjang 2 cm. Adapun sudut arah vektor dapat diukur dengan busur derajat. 3. Vektor resultan dapat dilukiskan dengan metode jajar genjang, metode segitiga, atau metode poligon. 4. Panjang resultan vektor diukur dengan mistar dan arah vektor resultan terhadap sumbu x positif Dalam menghitung jumlah dua vektor mengguanakan metode grafis, terdapat beberapa kelemahan, yaitu timbulnya kesalahan sistematis. Untuk menghindari kesalahan tersebut, digunakan metode analisis, yaitu dengan menggunakan rumus cosinus. Secara matematis, untuk mendapatkan resultan dua buah vektor secara akurat, dapat digunakan persamaan sebagai berikut. Dengan menggunakan rumus cosinus, misalnya dalam segitiga OAC akan diperoleh Oleh karena OC = R, OA = F1, dan AC = F2, maka persamaan tersebut akan menjadi Menentukan Arah Resultan Vektor Untuk menentukan arah resultan vektor, terhadap salah satu vektor penyusunnya, dapat digunakan persamaan sisnus. Perhatikanlah gambar Perkalian Vektor Perkalian Titik (Dot Product) Perkalian titik dua buah vektor merupakan perkalian skalar dari dua vektor tersebut. Hal ini disebabkan karena hasil kali titik dari dua buah vektor menghasilkan bilangan skalar . Hasil perkalian titik dari dua buah vektor A dan B misalnya kita sebut C dapat dinyatakan dengan suatu persamaan berikut Berikut adalah simulasi perkalian titik dua buah vektor Perkalian Silang (Cross Product) Perkalian silang dari dua buah vektor akan menghasilkan sebuah vektor baru, sehingga perkalian silang dua buah vektor juga disebut dengan perkalian vektor. Hasil perkalian silang vektor A dan vektor B (dibaca A cross B) menghasilkan vektor C. Vektor C yang dihasilkan ini selalu tegak lurus dengan bidang yang dibentuk oleh vektor A dan vektor B C=AXB Adapun arah vektor C akan mengikuti aturan putaran skrup, seperti tampak pada gambar berikut Berikut adalah simulasi perkalian silang dua buah vektor