BAB 2
LANDASAN TEORI
2.1 Persamaan Ungkapan (ekspresi) yang terdiri atas dua ruas (kiri dan kanan) yang dihubungkan dengan tanda “sama dengan” khususnya kalau salah satu atau kedua ruas itu mengandung bilangan atau besaran yang nilainya belum diketahui disebut persamaan. Biasanya bilangan-bilangan yang diketahui dalam sebuah persamaan dinyatakan dengan lambang berupa huruf-huruf awal abjad Latin, seperti a, b, c dsb. Untuk membedakannya dari bilangan-bilangan yang dianggap telah diketahui itu, sebuah persamaan lazimnya dilambangkan dengan huruf-huruf akhir dalam abjad Latin, misalnya x, y, atau z.
2.1.1 Persamaan Kuadrat Suatu persamaan kuadrat mengambil bentuk
ax 2 + bx + c = 0 Untuk mencari akar-akar persamaan diatas adalah sebagai berikut:
b c⎞ ⎛ a⎜ x 2 + x + ⎟ = 0 a a⎠ ⎝
Universitas Sumatera Utara
⎛ b 1 b2 1 b2 c ⎞ a⎜⎜ x 2 + x + − + ⎟=0 a 4 a 2 4 a 2 a ⎟⎠ ⎝
0 ⎛ b 1 b2 a⎜⎜ x 2 + x + a 4 a2 ⎝
⎛ 2 b ⎞ ⎛ 1 b2 c ⎞ 1 b2 ⎟ ⎜ ⎟⎟ = a⎜⎜ → + + − a x x 2 ⎜ a ⎟⎠ a 4 a2 ⎝ ⎠ ⎝4 a
⎞ 1 b2 ⎟⎟ = −c ⎠ 4 a
(
)
⎛ 2 b 1 b2 ⎞ 1 ⎛ 1 b2 c ⎞ b2 c b2 4ac b 2 − 4ac ⎜⎜ x + x + ⎟ ⎜ ⎟ = − = − = − = → a 4 a 2 ⎟⎠ a ⎜⎝ 4 a 2 a ⎟⎠ 4a 2 a 4a 2 4a 2 4a 2 ⎝
2
1 b⎞ b 2 − 4ac b ± b 2 − 4ac ⎛ = → + = → x x + ⎟ ⎜ 2 a⎠ 2a 2a 4a 2 ⎝
x1, 2 =
− b ± b 2 − 4ac 2a
b 2 − 4ac = D = diskriminan, sebab D inilah yang membedakan x1 (akar pertama)
dengan x2 (akar kedua); hanya kalau D = 0, x1 = x2.
Jumlah kedua akar : x1 =
−b+ D 2a
−b−D 2a + b x1 + x 2 = − a x2 =
Hasil kali kedua akar:
Universitas Sumatera Utara
x1 =
−b+ D 2a
x2 =
−b− D 2a
x1 x 2 =
(−b + D)(−b − D) 4a
=
b2 − D2 4a 2
=
b 2 − (b 2 − 4ac) 4ac = 2 4a 4a 2
x1. x 2 =
c a
2.1.2 Fungsi Kuadrat 2
Fungsi f yang didefenisikan sebagai f(x) = ax + bx + c , dimana a, b, c ∈ R dan 2
a≠0 disebut “fungsi kuadrat”. Misalnya, f(x)= x − 4 x + 3 adalah fungsi kuadrat dengan a =1, b = -4 dan c =3. Hal-hal yang diperlukan untuk membuat sketsa grafik fungsi kuadrat 2
f(x) = ax + bx + c adalah sebagai berikut. a) Titik potong parabola dengan sumbu Y
diperoleh jika x = 0
2
y = a (0) + b(0) + c = c Titik potong dengan sumbu Y =(0,c)
b) Titi potong dengan sumbu X diperoleh jika x = 0. 2
ax + bx + c = 0.
1 Jika
2
ax + bx + c
dapat difaktorkan, nyatakan
2
ax + bx + c
=
( x − x1 )( x − x 2 ) dengan x1 dan x 2 adalah akar-akar persamaan
kuadrat itu.
Universitas Sumatera Utara
2 Jika
2
ax + bx + c
tidak
dapat
difaktorkan,
gunakan
metode
melengkapkan kuadrat atau rumus kuadrat. Diskriminan persamaan kuadrat tersebut dapat memberikan keterangan titik potong-titik potong grafik dengan sumbu X . 2
b − 4ac > 0 ⇔ dua titik potong berlainan 2
b − 4ac = 0 ⇔ grafik menyinggung sumbu X 2
b − 4ac < 0 ⇔ tidak ada titik potong
c. Koordinat titik balik, gunakan hubungan: 2
2
ax + bx + c = a ( x − h) + k 2
2
2
ax + bx + c = ax − 2ahx + (ah + k )
Dengan membandingkan persamaan disebelah kiri dan kanan di peroleh : b b = −2ah atau h = −
2a
2
c = ah + k ⇔ k = c − ah
2
atau 2
b − 4ac k =−
D = −
4a
4a
b Jadi, sumbu simetrinya, x = − b Titik Balik = (−
2a
2a
D ,−
4a
)
Universitas Sumatera Utara
2
Sumbu simetri fungsi f(x) = ax + bx + c akan sejajar atau berimpit dengan sumbu Y Dalam menyusun fungsi kuadrat dapat disusun jika diketahui hal-hal berikut : 1. Koordinat titik balik (h,k). Bentuk persamaannya y − k = a ( x − h)
2
2. Titik potong dengan sumbu X di titik (p,0) dan (q,0). Bentuk persamaannya
y = a( x − p)( x − q) 3. Kurva
parabola
melalui
tiga
titik
sebarang.
Bentuk
persamaannya
2
y = ax + bx + c
Misalnya titik balik kurva suatu fungsi kuadrat adalah(-2,-10). Jika kura tersebut melalui titik (2,6), tentukan persamaan fungsi tersebut. Jawab 2
Misalkan persaman kurva y − k = a ( x − h) , dengan koordinat titik balik (h,k), maka (h,k) ⇔ (-2, -10) y − ( −10) = a ( x − (−2)) y + 10 = a ( x + 2)
2
2
2
6 + 10 = a (2 + 2) ⇔ 16 = a (16) a =1 2
2
Jadi persamaan fungsi yang di maksud adalah y + 10( x + 2) atau y = x + 4 x − 6
2.2 Matriks
Universitas Sumatera Utara
Matriks adalah kumpulan elemen-elemen yang disusun menurut baris dan kolom sehingga membentuk empat persegi panjang dimana panjang dan lebarnya ditentukan oleh banyaknya baris dan kolom. Model umum matiks ⎛ a11 ⎜ ⎜a A = ⎜ 21 M ⎜ ⎜a ⎝ m1
a12 a 22 M am2
a13 L a1n ⎞ ⎟ a 23 L a 2 n ⎟ M M M ⎟ ⎟ a m 3 L a mn ⎟⎠
atau disingkat dengan: A = (aij), i = 1, 2, …, m j = 1, 2, …, n
Matriks di atas disebut matriks tingkat m x n, atau disingkat matriks m x n, karena terdiri dari m baris dan n kolom. Setiap aij disebut elemen (unsur) dari matriks itu, sedang indeks i dan j berturut- turut menyatakan baris dan kolom. Jadi elemen aij terdapat pada baris ke-i, kolom ke-j. Pasangan bilangan (m,n) disebut dimensi (ukuran atau bentuk) dari matriks itu. Suatu matriks tidak mempunyai harga numerik.: Pada umumnya matriks disingkat dan dinyatakan dengan huruf besar, sedangkan elemen-elemen matriks dengan huruf kecil. Untuk membedakan matriks ditulis dengan: A1 , A2 ,..., An atau A, B,…, Z, misalnya matriks m x n.
2.3 Determinan
Universitas Sumatera Utara
Andaikan diketahui suatu determinan dari suatu matriks tingkat n. Jika elemen-elemen dari baris ke-i dan kolom ke-j semuanya dikeluarkan akan terdapat suatu determinan matriks dari matriks tingkat (n-1), yang disebut minor pertama dari matriks tingkat A ( atau determinan A) yang ditulis dengan M ij dan juga dikatakan minor dari elemen
aij . Harga dari minor bertanda ditulis dengan (−1) i + j M ij yang disebut kofaktor disingkat dengan K ij dari elemen aij , Jadi :
K ij = (−1) i + j . M ij
Contoh:
a11
a12
a13
A = a 21 a31
a 22 a32
a 23 a33
Misalnya
M 11 =
a 22 a32
a 23 a33
M 12 =
a 21 a31
a 23 a33
M 13 =
a 21
a 22
a31
a32
Dengan kofaktor berturut-turut :
Universitas Sumatera Utara
K 11 = (−1)1+1 M 11 = M 11 , K 12 = (−1)1+ 2 M 12 = − M 12 , K 13 = ( −1)1+3 M 13 = M 13 ,
dan seterusnya. Dengan menggunakan contoh diatas diperoleh: A = a11 M 11 − a12 M 12 + a13 M 13 ,
= a11 K 11 + a12 K 12 + a13 K 13 Dari hasil tersebut, dapat diturunkan sifat-sifat dibawah ini: Hari determinan suatu matriks A tingkat n sama dengan jumlah hasil ganda setiap elemen suatu baris (kolom) dari A dengan kofaktor yang bersesuaian, jadi:
A = a1 j K 1 j + a 2 j K 2 j + ... + a nj K nj
yang disebut ekspansi Laplance menurut kolom j.
2.4 Mencari Invers Matriks
Misalkan A matriks kuadrat tingkat n, dimana A tidak singular. Dari A(adj A) = A I n terdapat: A −1 A( adjA) = A −1 • A I n , memberikan : A −1 = adjA / A yang ditulis lengkap dengan:
Universitas Sumatera Utara
⎛ K 11 / A K 21 / A L K n1 / A ⎞ ⎜ ⎟ ⎜ K 12 / A K 22 / A L K n 2 / A ⎟ −1 A =⎜ M M M M ⎟ ⎜ ⎟ ⎜ K / A K / A L K / A⎟ 2n mn ⎝ 1n ⎠
⎛ K 11 ⎜ 1 ⎜ K 12 −1 A = ⎜ A M ⎜ ⎜K ⎝ 1n
K 21 K 22 M K 2n
L K n1 ⎞ ⎟ L K n2 ⎟ M M ⎟ ⎟ L K mn ⎟⎠
2. 5 Persamaan polinomial dengan metode Bairstow Secara umum polinomial dituliskan dalam bentuk:
f n (x)= a 0 x n +a 1 x n −1 +a 2 x n − 2 +a 3 x n −3 + ......+ a n ..........................( 1) Dalam rencana judul skripsi ini yang akan dibahas adalah polinomial rill, yakni polinomial yang semua koefisiennya ( a1 , a 2 ,..., a n ) terdiri dari bilangan rill. Polinomial ril ini bisa saja mempunyai akar-akar rill : Suatu polinomial berderajat n mamiliki sifat-sifat sebaai berikut: 4. Terdapat polinomial berderajat n buah akar, ril atau kompleks. 5. Jika n ganjil dan semua koefisien ril, terdapat paling sedikit sebuah akar ril 6. Jika semua koefisien ril dan polinomial mengandung akar kompleks, akar-akar kompleks ini muncul dalam pasangan konjungsi. Metode Bairstow mencari akar-akar ril dari persamaan polinomial (1) didasarkan atas pembagian polinomial dengan suatu faktor kuadrat ( x 2 + ux + v) bisa mempunyai akar rill maupun kompleks tergantung dari harga-harga u dan v. Agar
Universitas Sumatera Utara
akar-akar ril dapat dievaluasi tentu saja harga-harga taksiran u dan v harus diberikan terlebih dahulu. Harga-harga u dan v akan di perbaruhi secara sistematis. Setelah dibagi sehingga persamaan dapat ditulis sebagai berikut:
f n (x)= ( x 2 + ux + v)( x n − 2 + b1 x n −3 + b2 x n − 4 + ......bn − 2 ) + sisa ..................(2)
dengan sisa pembagian : S= ( x+u) bn −1 + bn
Untuk melakukan pembagian dengan faktor kuadrat, harga-harga koefisien b 1 , b 2 ,b 3 ,....,b n +1 dihitung dengan relasi berulang sebagai berikut :
b0 = a 0 b1 = a1 - u b2 = a 2 - b1u - v
b3 = a3 - b2 u - b1v b4 = a 4 - b3 u - b2 v
. . . bn −1 = a n −1 - bn − 2 u - bn −3 v bn = a n - bn −1u - bn − 2 v
Universitas Sumatera Utara
Akar-akar kompleks dapat dievaluasi apabila sisa S=0, dengan kata lain apabila bn −1 = bn =0. Hal ini hanya mungkin apabila harga taksiran u dan v yang
diberikan adalah harga yang sebenarnya. Koreksi terhadap u dan v dapat dihtung dari relasi berikut :
-
bn = c n −1 Δu + c n −1 Δv
-
bn −1 = c n − 2 Δu + c n −3 Δv
dimana c n , c n −1 dan c n − 2 adalah turunan parsial bn dan bn +1 terhadap u dan v
∂bn −1 cn =
∂u
∂bn −1 ; c n −1 =
∂v
∂bn =
∂u
∂bn ; cn−2 =
∂v
Harga-harga c tersebut dihitung dari : c0 = b0 c1 = b1 - u c 2 = b2 - c1u - v
c3 = b3 - c 2 u - c1v c 4 = b4 - c3u - c 2 v
Universitas Sumatera Utara
. . . c n = bn - c n −1u - c n − 2 v
Harga-harga u dan v diperbaharui masing-masing dengan Δu dan Δv sehingga :
-
u n = u n −1 + Δu n
-
v n = v n −1 + Δv n n = 1, 2,3,…
Δu =
Δv =
bn bn −1
cn−2 c n −3
c n −1 cn−2
cn−2 c n −3
c n −1
bn
c n−2
bn −1
c n −1
c n−2
cn−2
c n −3
Universitas Sumatera Utara
2.6 Turunan Parsial
Misalkan z= f(u,v) didefenisikan dalam domain D dibidang xy dan misalkan ( u1 , v1 ) sebuah titik dari D. Fungsi ( u1 , v1 ) tergantung pada u saja dan didefenisikan dalam interval sekitar u1 . Maka turunannya terhadap u di u = u1 mungkin ada. Jika ada, nilainya disebut
dengan “ turunan parsial “ dari f(u,v) terhadap x di ( u1 , v1 ) dan dinyatakn oleh:
∂f ∂z ( u1 , v1 ) atau oleh ( u1 , v1 ) ∂u ∂u Sesuai turunan dapat ditulis: f (u1 + Δx, u1 ) − f (u1 , v1 ) ∂f ( u1 , v1 )= lim ∂u Δu Δu → 0 Notasi-notasi yang lain yang digunakan adalah z x , f x , tetapi jika vektor dan
turunan parsial digunakan bersama-sama, notasi seperti
∂z ∂u
atau
∂f ∂v
lebih
diinginkan. Fungsi z = f (u , v) dapat digambarkan oleh sebuah permukaan dalam ruang, persamaan u = u1 adalah bidang datar dan perpotongannya dengan permukaan f(x,y) berbentuk suatu lengkung. Turunan parsial
∂z di ( u1 , v1 ) dapat dijelaskan sebagai condong dari garis ∂u
singgung pada lengkung dititik ( u1 , v1 ).
Universitas Sumatera Utara
Sedangkan untuk turunan parsial dari diambil tetap sama dengan u1 , dan ∂z ∂v
( u1 , v1 ) = lim
f
(
x
1
,
y
)
∂z ∂v
( u1 , v1 ) ditentukan serupa v,
diturunkan terhadap v, maka didapat
f (v1 , u1 + Δv) − f (u1 , v1 ) Δv
untuk turunan ini dapat ditulis
Δv → 0 pula f v (u1 , v1 ). , jika titik ( u1 , v1 ) berubah-ubah, diperoleh fungsi baru dalam dua variabel ialah fungsi f u (u , v). Demikian pula turunan
∂z adalah fungsi ∂v
f v (u , v).
Untuk fungsi z = f (u , v) , turunan parsialnya diperoleh dengan menurunkan fungsi terhadap satu variabel, sedang variabel satunya dianggap tetap. Misalnya:
z = u 2 − v 2 , maka
∂z ∂z =2u dan = -2v ∂u ∂v
2.7 Sekilas Tentang Pemrograman C/C++
C adalah bahasa komputer yang semakin popular. Dikembangkan oleh Dennis Ritchie dan Ken Thompson pada tahun 1972. C merupakan perbaikan atas bahasa B yang disusun oleh Ken Thompson pada tahun 1970. C sendiri baru mulai dikenal luas sejak 1978 setelah terbitnya buku The C Programming Language oleh Brian Kernighan dan Dennis Ritchie. Sejak itu C semakin berkembang dan banyak dipakai oleh para pemrogram (programmer).
Universitas Sumatera Utara
Perkembangan mikrokomputer pada decade 80-an menandai era baru dalam revolusi bahasa C. Jika pada mulanya C hanya berbasis system operasi (operating system) UNIX pada computer DEC DPD-7, maka kini C tersedia pada berbagai system operasi, termasuk DOS. Sistem operasi UNIX sendiri dikembangkan dengan menggunakan C; demikian juga Microsoft Windows yang mendominasi dunia perangkat lunak mikrokomputer dewasa ini. Kepopuleran keluarga mikrokomputer IBM (dan yang kompatibel) menyebabkan makin banyaknya variasi dan versi compiler C berbasis DOS. Yang cukup populer saat ini adalah: Borland C dan Turbo C dari Borland, Microsoft C dan Microsoft Quick C dari Microsoft, Power C, dan Zortech C. Masing-masing versi memiliki keunggulan dan sekaligus kelemahan pada aspek-aspek tertentu dibandingkan dengan versi lainnya. Pada dasarnya struktur dan operasi-operasi yang dipakai pada masing-masing compiler adalah sama. Versi-versi kompiler tersebut menerapkan C baku yang dikenal sebagai ANSI C. ANSI C adalah bahasa C baku yang didefinisikan oleh Sub Komite Standarisasi ANSI (American National Standards Institute) untuk menggalakkan portabilitas (portability) di antara berbagai kompiler C pada system-sistem operasi yang berbeda-beda. Keberlakuan ANSI C diresmikan tahun 1989. Variasi dari masing-masing produk terutama terletak pada fungsi-fungsi tambahan yang biasanya disusun dalam pustaka (library). Variasi lain berkaitan dengan lingkungan pengembangan terpadu (Integrate Development Environment) yang dikembangkan oleh masing-masing pembuat. Keunggulan utama dan sekaligus merupakan kelemahan C adalah sifatnya yang terbuka. Bersifat terbuka di sini berarti pemrogram memiliki keleluasaan yang besar untuk melakukan akses langsung ke perangkat komputer, yakni akses langsung ke prosesor (processor) maupun ke perangkat lain seperti RAM, video, disket, papan
Universitas Sumatera Utara
ketik, printer dan fasilitas komunikasi. Program dituntut memiliki pengetahuan yang memadai akan perangkat computer agar dapat memanfaatkan kebebasan ini ini untuk mengembangkan program-program secara efisien. C sering dimasukkan ke dalam kelas semi high level language.
C sebagai
bahasa tingkat tinggi dapat dipakai sebagaimana bahasa pemrograman lain (Pascal, Basic, Fortran, Cobol, Ada, dan lain-lain). Pemakain C pada level ini tidak memerlukan akses ke perangkat keras secara langsung. Di sisi lain, bagi pemrogram yang ingin mengakses perangkat keras secara langsung, C menyediakan fasilitas untuk tujuan dengan penerapan yang lebih mudah. Di sini pemrogram dituntut memahami dengan baik mekanisme kerja system komputer. Dibandingkan dengan bahasa tingkat tinggi lain, C memiliki ciri khas dalam hal keluwesan pemakaiannya. Hal ini selain karena sifatnya yang terbuka, juga terletak pada strukturnya. Struktur C tidak terlalu terikat pada suatu aturan yang kaku, berbagai variasi dapat dilakukan. Di samping bersiafat terstruktur, C juga bersifat modular. Dalam pengertian ini suatu program disusun dalam unit-unit yang lebih kecil yang leluasa dapat diakses oleh fungsi utama atau fungsi-fungsi lain. Fungsi atau variable dapat diletakkan diluar program utama atau di sebarang tempat asalkan ia sudah dideklarasikan. Dalam hal ini C berbeda dengan Pascal, misalanya yang menerapakan aturan yang lebih ketat dalam hal deklarasi variable. Hal yang cukup menarik dalam C adalah keragaman fungsi yang tersedia. Fungsi-fungsi untuk manipulasi teks (karakter), grafik dan perhitungan dengan presisi tinggi tersedia cukup banyak. Fungsi-fungsi berbagai jenis keperluan (sains, teknik,
Universitas Sumatera Utara
bisnis, dan sebagainya) dapat dikembangkan dengan mudah. Fungsi-fungsi tersebut dapat disusun dalam bentuk baku maupun dalam bentuk kode makro dan dapat ditempatkan dalam unit tersendiri maupun di dalam program utama. C++ adalah superset dari C yang dikembangkan oleh Bjarne Stoustrup pada tahun 1986 pada AT&T Bell Laboratories. Sebagai superset C, C++ menerapkan semua konsep pemrograman C tetapi dengan tambahan sejumlah sarana dan kemampuan yang menjadikan C++ bukan saja sekedar C yang lebih baik, tetapi menawarkan konsep pemrograman yang jauh lebih menarik dan elegan. Sarana-sarana baru dalam C++ yang tidak terdapat dalam C berupa: a. abstraksi data b. pewarisan ganda (multiple inheritance) c. pengawalan (inisialisasi) terjamin d. pembersihan otomatis e. overloading fungsi dan operator Untuk memanfaatkan fasilitas-fasilitas tambahan itu. C++ menambah sejumlah kunci (keyword) baru yang tidak terdapat dalam ANSI C, yaitu: class, delete, friend, inline, new, operator, overload, private, protected, public dan virtual.
Universitas Sumatera Utara