Perkalian Titik (Dot Product)#
Materi Dot Product#
Dot product adalah operasi matematika antara dua vektor yang menghasilkan nilai skalar (bukan vektor lagi). Dot product sering digunakan dalam berbagai bidang seperti fisika (untuk menghitung kerja), computer graphics, dan machine learning.
Rumus Dot Product
Untuk dua vektor A dan B berdimensi \(n\), masing-masing:
Maka dot product-nya adalah:
Hasilnya adalah bilangan skalar (tunggal).
Contoh 1: Dot Product 2D#
Misalkan:
Maka dot product-nya adalah:
Contoh 2: Dot Product 3D#
Misalkan:
Perhitungannya:
Dot Product dan Sudut antara Dua Vektor
Dot product juga dapat digunakan untuk mencari sudut antara dua vektor:
Dengan:
\(\|\mathbf{A}\|\): panjang (magnitudo) vektor A
\(\|\mathbf{B}\|\): panjang vektor B
\(\theta\): sudut antara kedua vektor
Fungsi Dot Product dalam Praktik
Menentukan apakah dua vektor tegak lurus (orthogonal). Jika \(\mathbf{A} \cdot \mathbf{B} = 0\), maka vektor A dan B saling tegak lurus.
Menilai kesamaan arah vektor: hasil dot product positif jika searah, negatif jika berlawanan arah.
Dalam machine learning, digunakan dalam perhitungan kemiripan (similarity), misalnya dalam cosine similarity.
Code Program Dot Product#
def dot_product(vec1, vec2):
if len(vec1) != len(vec2):
raise ValueError("Panjang kedua vektor harus sama.")
result = sum(a * b for a, b in zip(vec1, vec2))
return result
A = [5, -1]
B = [2, 3]
hasil = dot_product(A, B)
print("Dot product (2D):", hasil)
def dot_product_3d(vec1, vec2):
if len(vec1) != 3 or len(vec2) != 3:
raise ValueError("Kedua vektor harus berdimensi 3.")
result = sum(a * b for a, b in zip(vec1, vec2))
return result
A = [-2, 4, 1]
B = [3, 0, -5]
hasil = dot_product_3d(A, B)
print("Dot product (3D):", hasil)
Dot product (2D): 7
Dot product (3D): -11
Materi Satuan Vector#
Pengertian Vektor Satuan
Vektor satuan adalah vektor yang memiliki panjang (magnitude) sebesar 1. Vektor satuan menunjukkan arah dari suatu vektor tanpa memperhatikan besarannya.
Misalnya, jika vektor \(\vec{v}\) menunjukkan arah tertentu dengan panjang tertentu, maka vektor satuan dari \(\vec{v}\) akan menunjukkan arah yang sama, tetapi panjangnya dibuat menjadi 1.
Rumus Vektor Satuan
Untuk mengubah sebuah vektor \(\vec{v}\) menjadi vektor satuan \(\hat{v}\), digunakan rumus:
di mana:
\(\vec{v}\) adalah vektor asli
\(|\vec{v}|\) adalah magnitudo (panjang) dari vektor tersebut
\(\hat{v}\) dibaca sebagai “v topi”, adalah vektor satuan
Cara Menghitung Magnitudo Vektor
Untuk vektor dua dimensi \(\vec{v} = \langle x, y \rangle\), panjang vektor (magnitudo) dihitung dengan:
Untuk tiga dimensi \(\vec{v} = \langle x, y, z \rangle\):
Contoh Perhitungan Manual#
Misalkan kita punya vektor:
1. Hitung Magnitudo \(|\vec{v}|\):#
2. Bagi setiap komponen dengan magnitudo:#
Jadi, vektor satuan dari \(\langle 6, 8 \rangle\) adalah:
3. Cek Panjang Vektor Satuan:#
✅ Terbukti bahwa hasilnya adalah vektor satuan, karena panjangnya = 1.
Contoh Lain (3 Dimensi)#
Misalkan:
1. Hitung Magnitudo:#
2. Hitung Vektor Satuan:#
Code Program mengkonversi vector menjadi vector satuan (vector memiliki Panjang vector 1)#
import math
def magnitude(vector):
"""Menghitung panjang (magnitudo) dari vektor"""
return math.sqrt(sum([x**2 for x in vector]))
def unit_vector(vector):
"""Menghitung vektor satuan dari vektor"""
mag = magnitude(vector)
if mag == 0:
raise ValueError("Vektor nol tidak memiliki arah, tidak bisa dikonversi menjadi vektor satuan.")
return [x / mag for x in vector]
# Contoh penggunaan:
vector_2d = [6, 8]
vector_3d = [-3, 6, 0]
# Hasil vektor satuan
unit_2d = unit_vector(vector_2d)
unit_3d = unit_vector(vector_3d)
# Cetak hasil
print("Vektor awal (2D):", vector_2d)
print("Vektor satuan (2D):", unit_2d)
print("Magnitudo (2D):", magnitude(vector_2d))
print("\nVektor awal (3D):", vector_3d)
print("Vektor satuan (3D):", unit_3d)
print("Magnitudo (3D):", magnitude(vector_3d))
Vektor awal (2D): [6, 8]
Vektor satuan (2D): [0.6, 0.8]
Magnitudo (2D): 10.0
Vektor awal (3D): [-3, 6, 0]
Vektor satuan (3D): [-0.4472135954999579, 0.8944271909999159, 0.0]
Magnitudo (3D): 6.708203932499369