Fakultas : Teknologi & Informasi Komputer
Universitas : Prima Indonesia
Mata kuliah : Analisa dan Desain Algoritma
tugas 2 klik disini
Menjelaskan tentang
-Algoritma Euclid / teori bilangan
-Polinomial dan Eksponensial
-Opp dan modular
1. Algoritma Euclid merupakan suatu algoritma yang digunakan untuk mencari Faktor Persekutuan Terbesar (FPB) dari dua bilangan,atau biasa dikenal dengan Greatest Common Divisor (GCD) khususnya untuk bilangan-bilangan yang sangat besar sehingga tidak perlu mencari faktorisasi prima dari kedua bilangan tersebut.
Pengertian Algoritma Euclid -Teori Bilangan
misalkan a dan b adalah dua bilangan bulat dengan syarat b>0 . jika a dibagi dengan b maka terdapat dua buah bilangan bulat lain nya,yaitu h (hasil bagi) dan s( sisa)
maka: a=h x b + s
dengan 0 < s < b
contoh : jika 20 diibagi 8 maka, memberikan hasil 2 dan sisa 4
20=2(8)+4
Dari teorema diatas, diperoleh sifat dari FPB, yaitu FPB a,b = (FPB (b,s)) atau bisa di tulis
(a,b) = (b,s)
contoh soal :
Carilah FPB dari
Jawab:
Dari persamaan (3), diperoleh sisa
, maka FPB dari
2. polinomial (suku banyak)
Dalam matimatika polinomial atau suku banyak (juga ditulis sukubanyak) adalah pernyataan matematika yang melibatkan jumlahan perkalian pangkat dalam satu atau lebih variabel dengan koefisien. Sebuah polinomial dalam satu variabel dengan koefisien konstan memiliki bentuk seperti berikut:
Grafik polinomial
Sebuah fungsi polinomial dalam satu variabel real dapat dinyatakan dalam grafik fungsi- Grafik dari polinomial nol
-
- f(x) = 0
- adalah sumbu x.
- Grafik dari polinomial berderajat nol
-
- f(x) = a0, dimana a0 ≠ 0,
- adalah garis horizontal dengan y memotong a0
- Grafik dari polinomial berderajat satu (atau fungsi linear)
-
- f(x) = a0 + a1x , dengan a1 ≠ 0,
- adalah berupa garis miring dengan y memotong di a0 dengan kemiringan sebesar a1.
- Grafik dari polinomial berderajat dua
-
- f(x) = a0 + a1x + a2x2, dengan a2 ≠ 0
- adalah berupa parabola
- Grafik dari polinomial berderajat tiga
-
- f(x) = a0 + a1x + a2x2, + a3x3, dengan a3 ≠ 0
- adalah berupa kurva pangkat 3.
- Grafik dari polinomial berderajat dua atau lebih
-
- f(x) = a0 + a1x + a2x2 + ... + anxn , dengan an ≠ 0 and n ≥ 2
- adalah berupa kurva non-linear.
Ekponensial
Pertumbuhan ekponensial adalah pertumbuhan menurut deret ukur. Suatu besaran disebut naik menurut deret ukur kalau besaran itu
bertambah dengan suatu persentase tetap dari seluruh besaran itu dalam jangka
waktu tertentu. Pertumbuhan eksponensial tumbuh dengan berlipat ganda: 1, 2, 4,
8, 16, 32, dan seterusnya, sehingga
dalam pertumbuhan eksponensial
konsep doubling time menjadi penting. Pertumbuhan eksponensial
merupakan pertumbuhan bunga berbunga, artinya pokok dan bunganya ikut berbunga
(pada sistem keuangan) dan beranak pinak pada pertumbuhan penduduk artinya
belum orang tuanya meninggal anak dan cucunya juga telah beranak pinak.
Pertumbuhan menurut deret ukur banyak dijumpai pada sistem biologi dan sistem
keuangan dan sistem lainnya. Misalnya, dalam sistem biologi: sekumpulan
sel ragi tiap-tiap sel tumbuh menjadi
dua setiap sepuluh menit, atau suatu kenaikan sebesar 100%. Pada sepuluh menit
berikutnya ada 4 sel, kemudian 8,
kemudian 16. Atau dalam sistem keuangan, jika seseorang menabung sebesar $ 100 di bank dengan bunga 7%
setahun akan berlipat ganda pada sepuluh tahun kemudian.
Pertumbuhan menurut eksponensial ini dapat memberi
hasil yang tidak terduga – hasil yang membuat orang tercengang sejak berabad
–abad yang lalu. Dapat dikemukakan di sini beberapa ilustrasi spektakuler dari
pertumbuhan eksponensial.
Cerita lama dari Persia, seorang hamba raja yang
cerdik mempersembahkan papan catur kepada raja dan memohon sebagai imbalan 1 butir beras untuk petak pertama pada papan catur itu , 2 butir beras untuk
petak kedua, dan 4 butir beras untuk petak ketiga dan seterusnya. Tanpa
berpikir panjang raja mengabulkan permohonan itu dan memerintahkan bawahannya
mengambil beras dari lumbung. Untuk
petak keempat memerlukan 8 butir beras,
petak kesepuluh memerlukan 512 butir beras, petak kelima belas 16.384
butir beras, dan petak kedua puluh satu lebih dari sejuta butir beras. Sampai
petak keempat puluh berjuta butir beras yang harus dikeluarkan, persedian beras
habis jauh sebelum petak keenampuluh empat.Senada dengan itu pertumbuhan ekponensial dapat
diilustrasikan dengan melipat kertas, andaikata tebal kertas adalah 0,1 mm,
setelah melipat kedua puluh tebal kertas kira-kira menjadi 105 meter, setelah melipat ke-35 tebal kertas sudah setara dengan jarak antara
New York ke Los Angeles, dan pada perlipatan ke-42 tebal kertas sudah menyentuh
permukaan bulan (jarak bumi ke bulan 386.400 kilometer).
OOP adalah
seuah konsep pemrograman yang memandang program bukan lagi cara tetapi
merupakan objek yang saling berinteraksi satu sama lain
Pemrograman
berorientasi objek (Inggris: object-oriented programming disingkat OOP)
merupakan paradigma pemrograman yang berorientasikan kepada objek.
Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas
atau objek-objek. Bandingkan dengan logika pemrograman terstruktur.
Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke
objek lainnya, Sedangkan untuk Structural Programming adalah kebalikan
dari object oriented programming yaitu sebuah cara pemrosesan data yang
terstruktur dalam analisa, cara dan penulisan pemrograman. Dikarenakan
harus terstruktur sehingga dalam pembuatannya antara satu line
pemrograman dengan yang lainnya berhubungan. Konsep utama dari
Pemrograman Berbasis Objek terletak pada kondisi kode/line
pemrogramanannya dimana merupakan sebuah kesatuan modular.
Untuk
program yang simpel/sederhana biasanya menggunakan pemrograman
terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang
berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit,
maka digunakan pemrograman berorientasi objek.
Pemrograman
Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah
yang lebih kecil dan seterusnya, sedangkan untuk pemrograman
berorientasi objek terdiri dari pengkelompokan kode dengan data yang
mana setiap objek berfungsi secara independen sehingga untuk setiap
perubahan kode tidak tergantung pada kode yang lainnya, atau lebih
dikenal dengan modular.
Untuk
programming terstruktur bersifat task-centric dan berorientasi objek
bersifat data-centric. Terdapat juga perbedaan secara spesifik antara
objek oriented dengan non-oop, yaitu pada kelas dan objek. Pada
Pemrograman Terstruktur tidak terdapat kelas dan objek.
Sifat-sifat dari pemrograman terstruktur dapat diuraikan sebagai berikut :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dbuthkan relatif rendah
Berbeda dengan OOP. Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
–
Encapsulation (pembungkusan) Encapsulation adalah mekanisme pemrograman
yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya
terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu
caranya dengan membentuk objek.
–
Inheritance (pewarisan) Inheritance memungkinkan programer meletakkan
member yang sama dalam satu class dan class-class lain dapat mewarisi
member tersebut. Class yang mengandung member yang sama dari beberapa
class lain dinamakan superclass atau parent class. Class yang mewarisi
dinamakan subclass atau child class. Inheritance menghasilkan class
hierarchy.
– Polymorphism
(polimorfisme –perbedaan bentuk) Polymorphisme artinya mempunyai banyak
bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila
objek-objek itu mempunyai antar muka yang identik namun mempunyai
perilaku-perilaku yang berbeda
Bisa
dikatakan pada pemrograman berorientasi objek, dapat dilakukan sebuah
programming terhadap code yang lebih baik daripada pemrograman
terstruktur, itu juga untuk kaliber atau skala rumit atau besar,
sedangkan untuk coding yang skala kecil lebih mudah menggunakan
pemrograman terstruktur dikarenakan lebih singkat dan mudah tanpa banyak
perubahan yang penting.
Tidak ada komentar:
Posting Komentar