Kamis, 27 Oktober 2016

Analisa dan desain algoritma

Tugas 3

Nama          : Johan
Fakultas      : Teknologi & Informasi Komputer
Universitas  : Prima Indonesia
Mata kuliah : Analisa dan Desain Algoritma

 Mencari notasi dari 2n-1


Minggu, 16 Oktober 2016

Analisa dan DesainAlgoritma


Tugas 2

Nama          : Johan
Fakultas      : Teknologi & Informasi Komputer
Universitas  : Prima Indonesia
Mata kuliah : Analisa dan Desain Algoritma

tugas 3 mencari notasi 2n-1

Kamis, 06 Oktober 2016

Analisa Dan Desain Algoritma

Nama          : Johan
Fakultas      : Teknologi & Informasi Komputer
Universitas  : Prima Indonesia
Mata kuliah : Analisa dan Desain Algoritma

Minggu, 10 Januari 2016

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP)



KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP)

Pemrograman berorientasi Objek  mempunyai karakterisitik sebagai berikut:
a. Abstraksi (abstraction)
b. Pembungkusan (encapsulation)
c. Pewarisan (inheritence)
d. Polimorfisme – banyakrupa (polymorphism)

A.                Abstraksi (abstraction).
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan
Abstraksi adalah pengabstrakan atau penyembunyian kerumitan suatu proses.
Abstraksi menjelaskan definisi dari objek pada class dalam suatu fungsi (method) atau
fungsi khusus (constructor). Sebuah kelas dapat  dideklarasikan sebagai kelas abstrak. 
Tujuan membuat kelas abstrak adalah agar satu kelas lain dapat memperluasnya (extend)
dengan jalan menjadi subclass darinya.
B. Pembungkusan (encapsulation).
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya
Selain dengan menggunakan metoda abstraksi dalam menyembunyikan method
pada super class, maka juga dapat dilakukan dengan proses pembungkusan suatu fungsi.
Dengan kata lain, sebenarnya proses pembungkusan  itu sendiri merupakan salah satu
metoda atau mekanisme untuk melakukan abstraksi.
Dalam pemrograman tradisional, proses semacam ini sering juga disebut dengan
penyembunyian informasi (information hiding).
Dalam melakukan pembungkusan kode dan data dalam java terdapat tiga tingkatan
akses data yang perlu diketahui  yaitu:
Engkapsulasi berhubungan class control yang diberlakukan terhadap class member yang
ada di dalamnya
1. Tingkat akses Private. 
2. Tingkat akses Protected.
3. Tingkat akses Public.
1. Tingkat Akses Privtae ( Encapsulation- Private)
  Akses Private  berarti bahwa method yang digunakan  hanya dapat diakses  oleh
kelas yang memilikinya.
  Dengan mendeklarasikan data dan method menggunakan akses private, ini  berarti
data dan method tersebut tidak boleh diakses atau dignakan oleh kelas-kelas lain
yang terdapat di dalam program. 
  Sebuah variabel atau method yang dideklarasikan private hanya dapat diakses
oleh method yang merupakan member dari kelas tersebut. Ia tidak dapat diakses
oleh kelas lain yang berada di dalam package yang sama ataupun di lain package.
  Untuk mendeklarasikan suatu data atau method dengan tingkat akses private,
digunakan kata kunci private.
2. Tingkat Akses Privtae ( Encapsulation- Protected)
  Suatu data maupun method yang dideklarasikan dengan tingkat  akses protected
dapat diakses oleh kelas yang memilikinya dan juga oleh kelas-kelas yang masih
memiliki hubungan turunan.
  Access control protected berarti member  dapat diakses oleh kelas yang berada
dalam package yang sama dan subclass yang berada di dalam package yang
berbeda.
  Untuk mendeklarasikan tipe data atau  method protected digunakan kata kunci
protected.
.
3. Tingkat Akses Public (Encapsulation-Public)
  Tingkat akses publik merupakan kebalikan dari tingkat akses private.
  Data dan method yang bersifat public dapat diakses oleh semua bagian dalam
program. 
  Dengan kata lain, data-data maupun method-method yang dideklarasikan dengan
tingkat akses publik akan dikenali dan diakses oleh semua kelas yang ada di
dalam program, baik yang merupakan kelas turunan maupun kelas yang tidak
memiliki hubungan sama sekali. 
C. Pewarisan (inheritance).
  Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut. Model Pemrograman berorientasi objek juga menerapkan konsep pewarisan.
  Dalam sebuah program, suatu kelas dapat  diturunkan  menjadi kelas-kelas baru
lainnya yang akan mewarisi beberapa sifat atau perilaku dari kelas induknya.
  Semua class dalam Java, termasuk class yang membangun Java API, merupakan
subclass dari superclass Object.
Pewarisan ( inheritance) terdiri dari : 
1. Superclass  
Adalah  class yang letaknya di atas class tertentu di dalam hierarki.
2. Subclass  
Adalah class yang letaknya di bawah class tertentu  di dalam hierarki.
Untuk mengambil sebuah class, gunakan keyword extends.
Keuntungan penggunaan Inheritance dalam OOP adalah : Reusability.
Reusability maksudnya yaitu:
1.  Ketika behavior(method) dideklarasikan  dalam superclass, behavior tersebut
otomatis diwariskan ke seluruh subclass.
2.  Jadi, Anda dapat meng-enkode method hanya sekali dan method tersebut dapat
digunakan oleh seluruh subclass
3.  Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya
sendiri dan parent-nya.

D. Polimorfisme – banyakrupa (polymorphism).
Melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirimPolymorphism membuat objek-objek yang berasal dari subclass yang berbeda,
diperlakukan sebagai objek-objek dari satu  superclass. Hal ini terjadi ketika memilih
method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada
subclass yang memiliki method bersangkutan.
Pada contoh ini, kita diberikan parent class yaitu Person dan subclassnya adalah Student,
sekarang kita tambahkan subclass lainnya dari Person yaitu Employee.  



Ciri Dasar OOP
      Semua Bahasa Pemrograman yang mendukung OOP haruslah mempunyai kemampuan untuk dilakukan abstraksi, pembungkusan, pewarisan sifat, dan polimorfisme.
      Karena alasan itu,  item-item di atas kemudian dijadikan sebagai ciri dari bahasa yang mendukung OOP.
      Abstraksi (Abstraction)
      Adalah Proses pengabstrakan atau penyembunyian detail program yang sangat rumit sehingga kita tidak perlu untuk mempermasalahkan pembuatannya.
      Kita hanya perlu objek tersebut dapat kita gunakan sesuai fungsinya.
      Contoh, objek mobil. Pembuat mobil tidak perlu mendefinisikan cara pembuatannya, disini berarti dia telah mengabstraksikan proses yang didalamnya.
      Yang penting bagi kita adalah mobil tersebut dapat kita gunakan sebagaimana mestinya.
      Hal ini tidaklah berbeda dengan pengabstrakan suatu fungsi yang terdapat pada sebuah kelas di dalam program.
      Abstraksi (Abstraction)
      Abstraksi data adalah mengabstrakkan atau menyamarkan data-data yang ada.
      Contoh : jam tangan
      Orang tidak perlu tahu bagaimana cara jam mengatur dan merubah detik kemenit, atau menit ke jam.
      Orang tidak perlu tahu siapa yang bertanggung jawab menggerakkan jarum jam.
      Pembungkusan (Encapsulation)
      Merupakan sebuah proses penggabungan antara data-data dan fungsi-fungsi yang berkaitan ke dalam sebuah objek.
      Dengan demikian, kita dapat membuat program yang terintegrasi, tanpa harus mendeklarasikan variabel-variabel yang bersifat eksternal.
      Istilah yang digunakan, untuk menyebut data-data yang terdapat dalam suatu objek adalah data members, sedangkan fungsi-fungsi yang terdapat di dalamnya dikenal dengan istilah member functions.
      Pembungkusan (Encapsulation)
      Variabel dan method yang dipunyai suatu obyek, bisa ditentukan hak aksesnya.
      Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi.
      Definisi enkapsulasi: menyembunyikan cara kerja dan sistem.
      Contoh:  jam tangan
      Penting sekali untuk mengetahui waktu.
      Cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.
      Pewarisan (Inheritance)
      Dalam OOP, kita dapat menciptakan objek baru yang diturunkan dari objek lain.
      Objek baru ini, sering disebut dengan objek turunan (derived object) sedangkan objek induknya disebut dengan ancestor (base class).
      Sifat yang terkandung pada objek turunan adalah sifat hasil pewarisan dari sifat-sifat yang terdapat pada objek induk. Proses seperti ini dikenal dengan istilah pewarisan (inheritance).
      Dengan fitur seperti ini, kita dapat membuat objek baru yang memiliki kemampuan lebih dibanding objek induknya, yaitu dengan cara menambahkan sifat-sifat baru ke dalam objek tersebut.
      Polimorfisme (Polymorphism)
      Adalah proses kebanyakrupaan, artinya kita dapat mengimplementasikan sesuatu hal yang berbeda melalui satu cara yang sama.
      Untuk mengerti hal yang ini, coba kita perhatikan suatu objek, misalnya penyanyi. Sebagai contoh, terdapat 5 orang penyanyi (dalam program dianggap sebagai 5 buah objek), kemudian kelimanya kita perintahkan untuk bernyanyi, maka hasil atau implementasinya tentu akan berbeda sesuai dengan karakteristik suara dari masing-masing penyanyi tersebut.

      PEWARISAN (Inheritance)
      Pengantar
      Salah satu ciri dari OOP yakni kemampuan suatu objek atau kelas untuk mewariskan sifat-sifat yang terdapat di dalamnya ke kelas turunannya.
      Hal yang paling utama ditekankan dalam proses penurunan sebuah kelas adalah pemberian hak akses terhadap kelas-kelas turunan.
      Kelas Dasar & Kelas Turunan
      Kelas dasar yang dimaksud disini adalah sebuah kelas yang akan dijadikan sebagai induk dari kelas lain.
      Kelas dasar ini masih lebih dikenal dengan istilah dalam bahasa asing, yaitu base class.
      Kelas baru yang merupakan hasil dari proses penurunan tersebut disebut dengan kelas turunan, atau sering disebut dengan derived class.
      Kelas Dasar & Kelas Turunan
      Dalam mempelajari materi ini, sebenarnya samap seperti mempelajari ilmu biologi yang membahas tentang klasifikasi sebuah tumbuhan.
      Dalam ilmu biologi, suatu tumbuhan berasal dari suatu kelas (tipe) tertentu sehingga tumbuhan tersebut akan mewarisi sifat-sifat yang terdapat pada kelas pendahulunya.
      Kelas Dasar & Kelas Turunan
      Begitupun dalam program, suatu kelas dapat dijadikan sebagai kelas dasar (induk) untuk kemudian diturunkan menjadi kelas-kelas selanjutnya.
      Misalnya, terdapat kelas A yang diturunkan menjadi kelas B, selanjutnya kelas B diturunkan lagi menjadi kelas C, begitu seterusnya.
      Di sini, kelas B dan C tentu akan memiliki sifat-sifat yang terdapat pada kelas A.
      Begitu juga kelas C, pasti akan mewarisi sifat-sifat yang terdapat pada kelas B.
      Hak Akses Pada Proses Pewarisan


PRIVACY;
Jika kau memberikan peralatan pada seseorang, dan mereka menggunakan kemampuan alami mereka dan rasa ingin tahu mereka, mereka akan mengembangkan sesuatu dengan cara yang akan mengejutkanmu jauh dari yang kau bayangkan.
- Bill Gates