Kamis, 06 Oktober 2016

Analisa Dan Desain Algoritma

Nama          : Johan
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 272 dan 119 menggunakan algoritma euclid
Jawab:
272=2(119)+34 .... (1)
119=3(34)+17 .... (2)
34=2(17)+0 ..... (3)

Dari persamaan (3), diperoleh sisa 0
, maka FPB dari 272 dan 119 adalah hasil baginya, yaitu 17 atau bisa ditulis (272,119)=17.

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:

{\displaystyle a_{n}x^{n}+\ldots +a_{2}x^{2}+a_{1}x+a_{0}}


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.
Ilustrasi dari grafik-grafik tersebut adalah di bawah ini.
















                                          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