Pemrograman Berorientasi Object (PBO).

Apa sih arti perancangan berorientasi object ?? kamu tau ?
Perancangan adalah penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi sebagai perancangan sistem dapat dirancang dalam bentuk bagan/diagram alir sistem (system flowchart). Diagram alir adalah sebuah jenis diagram yang mewakili algoritme, alir kerja atau proses, yang menampilkan langkah-langkah dalam bentuk simbol-simbol grafis, dan urutannya dihubungkan dengan panah.
Object atau Objek adalah hasil cetak dari class, atau hasil ‘konkrit’ dari class. Jika menggunakan analogi class laptop, maka objek dari class laptop bisa berupa: laptop_andi, laptop_anto, laptop_duniailkom, dan lain-lain. Objek dari class laptop akan memiliki seluruh ciri-ciri laptop, yaitu property dan method-nya.
Konsep dari Perancangan Berorientasi Objeknya sndri meliputi :
1. Objek mengenkapsulasi data
2. Operasi (aksi yang diaplikasikan untuk merubah atribut)
3. Objek lain (objek komposit dapat ditentukan)
Enkapsulasi berarti semua informasi dikemas di bawah satu nama dan dapat digunakan lagi sebagai satu spesifikasi atau komponen program
Definisi berorientasi objek menurut Coad dan Tourdon :
Berorentasi objek = objek + klasifikasi + pewarisan +komunikasi
Kelas & Objek
Kelas adalah konsep OO yang mengenkapsulasi data dan abtraksi prosedural yang diperlukan untuk menggambarkan isi serta tingkah laku berbagai entitas dunia nyata.
Kelas dapat didefinisikan juga sebagai suatu deskripsi tergeneralisir (template,pola,cetak biru).
Objek yang ada pada suatu kelas mewarisi atribut dan operasi nya yang dapat diperoleh untuk memanipulasi atribut tersebut.
Superkelas adalah sekumpulan kelas.
Subkelas adalah kejadian dari suatu kelas
Atribut
Entitas kehidupan nyata sering digambarkan dengan kata – kata yang mengindikasikan keadaan yang stabil . Sebagian besar objek fisik memiliki keadaan seperti potongan, berat, warna dan tipe material.Manusia memiliki keadaan, termasuk data kelahiran, orang tua, nama dan warna mata.
Pada konsep pemograman berorientasi objek ada beberapa istilah yang biasa dijumpai, diantaranya objek, class, inheritance, encapsulation, dan polymorphism. Berikut ini adalah penjelasan dari istilah-istilah tersebut.
1. Objek merupakan suatu komponen/entitas yang terlibat didalam penyelesaian masalah Pada contoh permasalahan manajer tersebut, kita definisikan dua objek yang terlibat yaitu manajer, dan petugas administrasi. Sebetulnya kita bisa mendefinisikan jumlah objek yang terlibat lebih dari dua. Semua itu tergantung sudut pandang kita terhadap suatu masalah.
Seperti yang telah kita singgung sebelumnya, objek itu dapat berupa representasi dari benda nyata, fungsi, atau suatu hal abstrak yang terdapat pada sistem seperti event, database, dsb. Semua itu bergantung dari permasalahan yang kita hadapi. Apabila suatu permasalahan itu diibaratkan sebagai suatu kejadian gawat darurat yang perlu penanganan, maka objek dapat dianggap sebagai aktor yang terlibat dan bertugas melakukan penanganan tersebut.
Dalam konteks pemograman berorientasi objek, sebuah objek pada dasarnya memiliki dua komponen utama attribut dan behavior. Attribut biasanya direpresentasikan dalam bentuk variabel yang menyimpan state (kondisi) sebuah objek. Sebagai contoh, ada sebuah mobil berwarna merah. Apabila mobil dianggap sebagai sebuah objek, maka warna merah dapat dianggap sebagai  state dari objek tersebut. Behavior adalah tingkah laku yang dimiliki oleh sebuah objek. Sebagai contoh, sebuah mobil akan mengeluarkan bunyi begitu tombol klaksonnya ditekan. Keluarnya bunyi adalah behavior mobil tersebut ketika tombol klaksonnya ditekan. Behavior itu sendiri biasanya direpresentasikan dalam bentuk method-method atau fungsi-fungsi yang dikandung oleh sebuah objek.
2. Class/kelas dalam konsep pemograman berorientasi objek, didefinisikan sebagai prototipe atau cetak biru dari objek. Kita ambil contoh permasalahan manajer pada contoh sebelumnya. Pada contoh tersebut kita mendefinisikan dua objek yang telibat pada penyelesaian masalah yaitu manajer, dan petugas bagian administrasi. Petugas bagian administrasi berasal dari divisi administrasi, dimana setiap petugas yang berada dibagian tersebut memiliki job-desc yang relatif seragam. Dengan demikian untuk mengambil data yang diperlukan, sang manajer dapat pula meminta tolong petugas lain dari bagian yang sama. Manajer dapat pula meminta dua orang petugas administrasi yang berbeda, untuk mengambilkan data administrasi yang berbeda. Class dapat diibaratkan sebagai divisi administrasi yang terdapat pada perusahaan tersebut, dan petugas yang berasal dari divisi administrasi dapat diibaratkan sebagai objek yang dibentuk dari class divisi administrasi.
Class menyimpan komponen-komponen berupa variabel dan method yang diperlukan agar objek dapat melaksanakan fungsinya. Object yang dibentuk dari suatu class, dapat memiliki variabel dan method yang telah didefinisikan pada class tepatnya berasal. Seperti dua petugas yang berasal dari divisi administrasi, dapat mengambil data administrasi. Setiap object yang dibentuk dapat memiliki state yang berbeda, bergantung kepada nilai yang diisikan kedalam variabel pada setiap object.
Itulah mengapa class dikatakan sebagai cetak biru dari objek, karena objek dibentuk dari class yang variabel dan methodnya sudah didefinisikan sebelumnya
3. Inheritance adalah sebuah konsep pewarisan variabel dan method yang terkandung didalam suatu class kepada class lain. Class yang mewarisi disebut sebagai Super Class, dan class yang diwarisi disebut sebagai Sub Class. Keuntungan konsep ini beberapa persamaan yang dimiliki oleh beberapa class dapat disatukan kedalam class induk. Dengan demikian kita dapat memanfaatkan kode yang terdapat pada class induk tanpa perlu menuliskan ulang kembali kode tersebut pada sub class yang dibentuk. Dengan kata lain kode yang dituliskan pada class induk bersifat reusable (dapat digunakan kembali).
4. Encapsulation adalah konsep pembungkusan variabel dan method yang terdapat pada suatu objek. Interaksi yang dilakukan terhadap objek tersebut, hanya dapat dilakukan melalui interface yang telah kita buat. Dengan demikian, variabel dan method yang terdapat pada objek tersebut dapat kita lindungi terhadap cara pengaksesan yang tidak layak. Disamping itu, enkapsulasi juga akan mereduksi kemungkinan terjadinya efek diluar perencanaan.
5. Polymorphism secara harfiah dapat diartikan sesuatu yang memiliki banyak bentuk. Pada umumnya polymorfism terjadi sebagai akibat dari adanya pewarisan. Misal, kita membentuk kelas bernama BidangGeometri, didalam kelas tersebut terdapat method hitungLuas(). Disisi lain kita juga membentuk kelas BidangSegitiga, BidangBujurSangkar, BidangLingkaran sebagai turunan dari kelas BidangGeometri. Method hitungLuas() yang terdapat pada kelas BidangGeometri, sudah barang tentu harus memiliki implementasi yang berbeda pada setiap kelas turunannya.
Terdapat beberapa konsep dalam OOAD, yaitu :
– Objek (object)
  • Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki keadaan sesaat yang disebut state.
  • State dari sebuah objek adalah kondisi dari objek atau himpunan keadaan yang menggambarkan objek tersebut. State dinyatakan dengan nilai dari atribut objeknya.
  • Atribut adalah nilai internal suatu objek yang mencerminkan karakteristik objek, kondisi sesaat, koneksi dengan objek lain dan identitas.
  • Behaviour (perilaku objek) mendefinisikan bagaimana sebuah objek bertindak dan memberi reaksi. Behaviour ditentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan oleh objek tersebut, yang dicerminkan oleh interface, service, dan method dari objek tersebut.
  • Interface adalah pintu untuk mengakses service dari objek
  • Service adalah fungsi yang dapat dikerjakan oleh sebuah objek
  • Method adalah mekanisme internal objek yang mencerminkan perilaku objek tersebut
– Kelas (class)
Class adalah himpunan objek yang sejenis yaitu mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum. Class adalah abstraksi dari objek dalam dunia nyata. Class menetapkan spesifikasi perilaku dan atribut dari objek tersebut.
– Kotak Hitam (black boxes)
Sebuah objek adalah kotak hitam. Konsep ini menjadi dasar implementasi objek. Dalam operasi OO hanya developer yang dapat memahami detail proses yang ada didalam kotak tersebut, sedangkan user tidak perlu mengetahui apa yang dilakukan yang penting mereka dapat menggunakan objek untuk memproses kebutuhan mereka. Kotak hitam berisi kode dan data.
  • Encapsulation, yaitu proses menyembunyikan detail implementasi sebuah objek. Untuk mengakses data objek tersebut adalah melalui interface. Untuk berkomunikasi dengan objek digunakan message.
  • Message adalah permintaan agar objek menerima untuk membawa metode yang ditunjukkan oleh perilaku dan mengembalikan result dari aksi tersebut kepada objek pengirim (sender)
– Asosiasi dan Agregasi
  • Asosiasi adalah hubungan yang mempunyai makna antara sejumlah objek. Asosiasi digambarkan dengan sebuah garis penghubung diantara objeknya. Contohnya : Asosiasi karyawan dengan unit kerja. Setiap karyawan bekerja di satu unit kerja, sedangkan unit kerja dapat memiliki beberapa karyawan.
  • Agregasi adalah bentuk khusus sebuah asosiasi yang menggambarkan seluruh bagian pada suatu objek merupakan bagian dari objek yang lain. Contohnya : Kopling dan piston adalah bagian dari mesin, sedangkan mesin, roda, body merupakan bagian dari sebuah mobil.
 Tools Yang Digunakan Dalam Perancangan Berorientasi Objek
– Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad  dan Edward Yourdon [1990]
– Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991]
– Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992]
– Booch Merhod dan Grady Booch [1994]
– Sritrop dan Steve Cook dan John Daniels [1994]
– UML (united modeling language) dari James Rumbaugh.Grady Booch dan Ivar Jacobson [1997]
Karakteristik Metodologi Berorientasi Objek
Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama,yaitu:
a. Encapsulation
b. Inheritance
c. Polymorphism
a. Encapsulation 
Encapsulation (pengkapsulan) merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.Data dan prosedur atau fungsi dikemas dalam bersama-sama dalam suatu objek,sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek itu sendiri.
b. Inheritance
Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metoda dari induknya langsung.Atribut dan metoda dari objek induk diturunkan kepada anak objek,demikian seterusnya.Sifat yang dimiliki oleh kelas induknya tidak perlu diulang dalam setiap subkelas.Sebagai contoh,Sedan,dan Sepeda Motor adalah subkelas dari Kendaraan bermotor.Kedua subkelas mewarisi sifat yang dimiliki oleh kendaraan bermotor , yaitu:
– mempunyai mesin
– dapat berjalan
Kedua subkelas mempunyai sifat masing-masing yang berbeda,misalnya jumlah roda,dan kemampuan untuk berjalan mundur yang tidak dimiliki oleh sepeda motor.
c. Polymorphism
Polymorphism (Polimorfisme) yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.Sebagai contoh kita bisa membuat operation hitunggaji.Operation hitunggaji ini bisa dipakai untuk menghitung gaji semua pegawai baik pegawai tetap,pegawai paruh waktu maupun pegawai kontrak.Dengan konsep Polimorfisme kita bisa menghitung gaji masing-masing pegawai.Sekedar ilustrasi, untuk menghitung gaji karyawan tetap jelas akan memperhitungkan jabatan dan golongan.Sedangkan untuk pegawai paruh waktu akan memperhitungkan jumlah jam kerja.Adapun untuk pegawai kontrak tidak ada tunjangan pensiun.
Pengenalan UML (Unified Modeling Language)
a. Sejarah UML
Bahasa pemrograman berorientasi objek yang pertama dikembangkan dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967. Bahasa pemrograman ini kurang berkembang dan dikembangkan lebih lanjut, namun dengan kemunculannya telah memberikan sumbangan yang besar pada developer pengembang bahasa pemrograman berorientasi objek selanjutnya.
Perkembangan aktif dari pemrograman berorientasi objek mulai menggeliat ketika berkembangnya bahasa pemrograman Smalltalk pada awal 1980-an yang kemudian diikuti dengan perkembangan bahasa pemrograman beorientasi objek yang lainnya seperti C objek, C++, Eiffel, dan CLOS. Secara aktual, penggunaan bahasa pemrograman berorientasi objek pada saat itu masih terbatas, namun telah banyak menarik perhatian di saat itu. Sekitar lima tahun setelah Smalltalk berkembang, maka berkembang pula metode pengembangan berorientasi objek. Metode yang pertama diperkenalkan oleh Sally Shlaer dan Stephen Mellor (Shlaer-Mellor, 1988) dan Peter Coad dan Edward Yourdon (Coad-Yourdon, 1991), diikuti oleh Grady Booch (Booch, 1991), James R. Rumbaugh, Michael R. Blaha, William Lorensen, Frederick Eddy, William Premerlani (Rumbaugh-Blaha-Premerlani-Eddy-Lorensen, 1991), dan masih banyak lagi. Buku terkenal yang juga berkembang selanjutnya adalah karangan Ivar Jacobson (Jacobson, 1992) yang menerangkan perbedaan pendekatan yang fokus pada use case dan proses pengembangan. Sekitar lima tahun kemudian muncul buku yang membahas mengenai metodologi berorientasi objek yang diikuti dengan buku-buku yang lainnya. Di dalamnya juga membahas mengenai konsep, definisi, notasi, terminologi, dan proses mengenai metodologi berorientasi objek.
Karena banyaknya metodologi-metodologi yang berkembang pesat saat itu, maka muncullah ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi yang berkembang saat itu. Maka dibuat bahasa yang merupakan gabungan dari beberapa konsep seperti konsep Object Modelling Technique (OMT) dari Rumbaugh dan Booch (1991), konsep The Classes, Responsibilities, Collaborators (CRC) dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivar Jacobson, dan beberapa konsep lainnya dimana James R. Rumbaigh, Grady Booch, dan Ivar Jacobson bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modeling Language (UML). Pada 1996, Object Management Group (OMG) mengajukan proposal agar adanya standardisasi pemodelan berorientasi objek dan pada bulan September 1997 UML diakomodasi oleh OMG sehingga sampai saat ini UML telah memberikan kontribusinya yang cukup besar di dalam metodologi berorientasi objek dan hal-hal yang terkait di dalamnya.
b. Pengenalan UML
UML (Unified Modelling Language) adalah salah satu alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi objek.UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch,Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE).Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented.Metode ini menjadikan proses analisis dan design ke dalam empat tahapan iteratif,yaitu: identifikasi kelas-kelas dan objek-objek,identifikasi semantik dari hubungan objek dan kelas tersebut,perincian interface dan implementasi.Keunggulan metode Booch adalah pada detil dan kayanya dengan notasi dan elemen. UML adalah hasil kerja dari konsursium berbagai organisasi yang berhasil dijadikan sebagai standar baku dalam OOAD (Object Oriented Analysis & Design).Kontribusi untuk UML telah dihasilkan dari banyak perusahaan-perusahaan ternama diantaranya Digital Equipment Corp, Hewlet-Packard Company, i-Logic, Intellicorp, IBM, IconComputing, Electronic Data Services Corporation, MCI System House, Microsoft, Orecle, Rational Software, TI, Sterling Software, Taskon A/S, Unisys Platinum Technologies, Ptech, Taskon & Reich Technologies dan Softeam.
UML tidak hanya dominan dalam penotasian di lingkungan OO tetapi juga populer di luar lingkungan OO.Paling tidak ada tiga karakter penting yang melekat di UML yaitu sketsa,cetak biru dan bahasa pemrograman.Sebagai sebuah sketsa,UML bisa berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dari sistem.UML bisa juga berfungsi sebagai sebuah cetak biru karena sangat lengkap dan detil.Sebagai bahasa pemrograman,UML dapat menterjemahkan diagram yang ada di UML menjadi code program yang siap untuk dijalankan.UML dibangun atas model 4+1 view.Model ini didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam 5 view dimana salah satu diantaranya use case view.Use case view ini memegang peran khusus untuk mengintegrasikan content ke view yang lain.
Penjelasan lengkap tentang sistem bisa dibentuk dengan menggabungkan informasi-informasi yang ada pada kelima view tersebut.
Use case view mendefinisikan kebutuhan sistem karena mengandung semua view yang lain yang mendeskripsikan aspek-aspek tertentu dari rancangan sistem.Itulah sebabnya use case view menjadi pusat peran dan sering dikatakan yang mendrive proses pengembangan perangkat lunak.
Design view ini berisi definisi komponen program,class-class utama bersama-sama dengan spesifikasi data,perilaku dan interaksinya.Informasi yang terkandung di view ini menjadi perhatian para programmer karena menjelaskan secara detil bagaimana fungsionalitas sistem akan diimplementasikan.
Implementation view menjelaskan komponen-komponen fisik dari sistem yang akan dibangun.Hal ini berbeda dengan komponen logic yang dideskripsikan pada design view.Termasuk di sini diantaranya file exe,library dan database.Informasi yang ada di view ini relefan dengan aktifitas-aktifitas seperti manajemen konfigurasi dan integrasi sistem.
Proses view berhubungan dengan hal-hal yang berkaitan dengan concurrency di dalam sistem.Sedangkan deployment view menjelaskan bagaimana komponen-komponen fisik didistribusikan ke linkungan fisik seperti jaringan komputer dimana sistem akan dijalankan.Kedua view ini menunjukkan kebutuhan non fungsional dari sistem seperti toleransi kesalahan dan hal-hal yang berhubungan dengan kinerja.
Sumber :
https://ananfauzi.wordpress.com/2013/04/21/konsep-pemograman-berorientasi-objek/
https://azenismail.wordpress.com/2012/06/28/analisa-dan-perancangan-berbasis-objek/
http://www.sistem-informasi.xyz/2016/07/sejarah-unified-modeling-language-uml.html

Perbandingan Metode Pemrograman Terstruktur dan Objek

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun suatu program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau ‘pekerjaan’ sesuai dengan keinginan si pemrogram.

Perancangan Terstruktur adalah aktivitas mentransformasikan suatu hasil analisis ke dalam suatu perencanaan untuk dapat diimplementasikan (diotomasikan).
Perancangan berorientasi objek adalah Suatu teknik atau cara pendekatan baru dalam melihat permasalahan dan sistem (sistem perangkat lunak. Sistem informasi, atau sistem lainnva). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.

Kelebihan Pemrograman Terstrukutur :

  • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
  • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
  • Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
  • SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
  • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
  • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
  • SSAD relatif simpel dan mudah dimengerti.

Kekurangan Pemrograman Terstruktur :

  • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
  • Sedikit sekali manajemen langsung terkait dengan SSAD
  • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
  • Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
  • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.
  • Pada SAAD sulit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
  • SSAD tidak selalu memenuhi kebutuhan pengguna.
  • SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek.

Kelebihan Pemrograman Berorientasi Objek :

  • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
  • Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD.
  • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
  • Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
  • Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain.
  • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks.
  • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
  • OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
  • Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.

Kekurangan Pemrograman Berorientasi Objek :

  • Pada awal desain OOAD, sistem mungkin akan sangat simple.
  • Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
  • Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
  • Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
  • Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional sistem, sementara metode OOAD tidak berbasis pada fungsional sistem.
  • OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama.
  • Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar.
Pada dasarnya Pemrograman Berorientasi Objek maupun Terstruktur tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Pemrograman Terstruktur fokus pada bagaimana cara komputer menangani masalah, sedangkan Pemrograman Berorientasi Objek fokus pada masalah yang ditangani dengan menggunakan komputer. Pemrograman Terstruktur biasanya digunakan untuk membuat program yang simpel/sederhana karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan Pemrograman Berorientasi Objek cocok digunakan untuk pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada programmer seperti yang telah disebutkan diatas. Pemrograman Berorientasi Objek lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan Pemrograman Berorientasi Objek lebih mudah dikembangkan dan dirawat.
Sumber :

Apa laba-laba di SEO ??

Spider Atau Crawler

Perayap Web, kadang-kadang disebut laba-laba, adalah bot Internet yang secara sistematis menjelajahi World Wide Web, biasanya untuk tujuan pengindeksan Web (spidering web).

Mesin telusur web dan beberapa situs lain menggunakan perayapan Web atau peranti lunak spidering untuk memperbarui konten web atau indeks dari konten web situs lain. Perayap web dapat menyalin semua laman yang mereka kunjungi untuk diproses nanti oleh mesin telusur yang mengindeks laman yang diunduh sehingga pengguna dapat mencari jauh lebih efisien.

Perayap mengkonsumsi sumber daya pada sistem yang mereka kunjungi dan sering mengunjungi situs tanpa persetujuan. Masalah jadwal, memuat, dan “kesopanan” ikut bermain ketika koleksi besar halaman diakses. Mekanisme ada untuk situs publik yang tidak ingin dirayapi untuk membuat ini diketahui oleh agen perayapan. Misalnya, termasuk file robots.txt dapat meminta bot untuk mengindeks hanya bagian dari situs web, atau tidak sama sekali.

Karena jumlah halaman di internet sangat besar, bahkan perayap terbesar gagal membuat indeks lengkap. Untuk alasan itu mesin pencari buruk dalam memberikan hasil pencarian yang relevan pada tahun-tahun awal World Wide Web, sebelum tahun 2000. Hal ini sangat ditingkatkan oleh mesin pencari modern; sekarang hasil yang sangat bagus diberikan secara instan.
219 Tampilan · Lihat Para Pembuka
dipromosikan oleh Bitrix24
Bitrix24 100% penjualan dan platform pemasaran gratis.
Bitrix24 memberi Anda 35 alat penjualan dan pemasaran gratis. CRM, pemasaran email, proyek dan pelacakan waktu.
Pertanyaan-pertanyaan Terkait
Jawaban Lain Di Bawah Ini

Apa itu Laba-laba dalam pekerjaan SEO dan Laba-laba?
Apakah SEO diperlukan?
Apa yang dimaksud dengan SEO?
Apa sebenarnya yang dilakukan oleh SEO?
Apa itu alat SEO dan SEO?
Ajukan Pertanyaan Baru

Prateek Agarwal
Prateek Agarwal, Pakar SEO (memiliki 2+ tahun pengalaman)
Dijawab 13 April 2017

Laba-laba juga dikenal sebagai bot, robot, dan perayap. Ini adalah program yang dikembangkan dan diprogram untuk menjelajahi web secara otomatis karena berbagai alasan terutama mereka digunakan untuk mengindeks halaman web, untuk deteksi spam, dan sejenisnya. Mereka juga dikenal sebagai robot web, perayap web, bot, bot internet.

Bot umumnya dikaitkan dengan penjahat cyber mencuri data, identitas, nomor kartu kredit dan lebih buruk. Tapi bot juga bisa berfungsi baik. Memisahkan bot yang baik dari yang buruk juga dapat membuat perbedaan besar dalam cara Anda melindungi situs web perusahaan Anda dan memastikan bahwa situs Anda mendapatkan lalu lintas Internet yang layak.

Setiap Search Engine memiliki bot mereka sendiri. Sebagai contoh:

Googlebot
Baidu Spider
MSN Bot / BingBot
Yandex Bot
Soso Spider
ExaBot
Sogou Spider

images

Spider juga disebut sebagai Crawlers web atau Google Bots. Laba-laba dikunjungi setiap situs web dan merayapi data atau kita dapat mengatakan bahwa merayapi situs web untuk mengindeksnya di basis data mesin telusur untuk Akses yang Lebih Cepat.

Spider perfoms tiga aksi dasar:

Pertama mereka menemukan halaman-halaman situs (proses yang disebut merangkak atau spidering) dan membuat daftar kata dan frasa yang ditemukan di setiap halaman
Dengan daftar ini mereka membuat database dan menemukan halaman yang tepat yang harus mereka cari dengan memasukkan kueri dalam opsi pencarian dan basis data yang diatur oleh fitur-fitur umum yang ditemukan di halaman-halamannya. Mesin memasuki situs dalam database umum disebut indexer
Setelah itu, robot dapat menemukan situs ketika pengguna akhir mengetikkan kata atau frasa.

Laba-laba adalah program komputer yang menelusuri web secara bertahap.

Istilah lain adalah perayap web, semut, pengindeks otomatis, bot, robot web, scutters web.

Ada daftar awal dari URL dasar yang dikirimkan ke spider SEO. URL ini disebut biji.

Perayap mulai dengan mengindeks benih ini dan mendeteksi semua hyperlink yang dikandungnya.

Ketika selesai, ia menambahkan tautan baru ke daftar URL yang disebut frontier dan kemudian mengunjungi halaman-halaman baru yang mengulangi seluruh proses dari awal lagi.

Program yang secara otomatis mengambil halaman web. Laba-laba digunakan untuk memberi makan halaman ke mesin pencari Ini disebut laba-laba karena merayapi web. Istilah lain untuk program ini adalah webcrawler.

Kelebihan Dan Kekurangan IDM (Internet Download Manager).

Apa itu IDM ??

IDM Atau Internet Download Manager ialah sebuah software yang mempunyai kegunaan untuk mengunduh atau mendownload suatu file atau suatu data yang terdapat di Internet. Software Internet Download Manager atau Software IDM ini merupakan buatan Negara Amerika. Software Internet Download Manager ini berfungsi untuk mengunduh suatu file/data di internet dengan kecepatan unduh yang sangat cepat, Karena Software IDM (Internet Download Manager) ini dapat memaksimalkan dan mengoptimalkan kecepatan internet. Software Internet Download Manager ini selain cepat juga mempunyai tampilan software yang simpel dan teratur sehingga membuat para pengguna software ini menjadi lebih menikmatinya disaat menggunakannya. Internet Download Manager ini dapat membagi suatu data disaat melakukan proses download sedang berlangsung sampai menjadi 16 bagian. Suatu data yang di download dan sudah dibagi menjadi beberapa bagian tersebut selanjutnya diproses oleh Software Internet Download Manager ini dengan cara membagi-bagi kecepatan yang sama cepat di bagian-bagiannya seperti susunan seri.

Download IDM 6.29 Build 01 Crack Free Full Version

Cara Kerja IDM

Secara normal ketika kamu download file dari sebuah server, maka komputer kamu akan melakukan request ke server tersebut dan mendownload dengan satu koneksi saja (Single File Stream). Padahal sebenarnya mayoritas server memungkinkan satu IP untuk melakukan beberapa koneksi (Multiple File Stream). Nah..IDM memanfaatkan ini.

Ketika kamu mendownload file melalui IDM, maka IDM akan melakukan testing apakah server tersebut support koneksi Multiple File Stream untuk satu IP. Jika ternyata support, maka IDM akan melakukan request ke server tersebut dan akan mendapatkan detail Byte Stream dari file yang ingin kamu download. IDM kemudian akan membuat 8 request koneksi ke server tersebut dalam waktu yang bersamaan menggunakan Threads, Setiap threads akan melakukan request untuk mendownload file dengan awal Byte Stream yang berbeda.

Sebagai contoh jika file tersebut memiliki ukuran 8000 byte, maka IDM akan mengirimkan request sebanyak 8 koneksi untuk mendownload file tersebut dengan awal bytes yang berbeda.

  • Request 1, byte awal = 0. Byte yang didownload: 0 – 999

  • Request 2, byte awal = 1000. Byte yang didownload: 0 – 1999

  • Request 3, byte awal = 2000. Byte yang didownload: 0 – 2999

  • Request 4, byte awal = 3000. Byte yang didownload: 0 – 3999

  • Request 5, byte awal = 4000. Byte yang didownload: 0 – 4999

  • Request 6, byte awal = 5000. Byte yang didownload: 0 – 5999

  • Request 7, byte awal = 6000. Byte yang didownload: 0 – 6999

  • Request 8, byte awal = 7000. Byte yang didownload: 0 – 8000

Karena melakukan 8 request downlaod ke file yang sama secara bersamaan dengan byte awal yang berbeda, maka server memberikan alokasi bandwidth tersendiri untuk masing-masing koneksi. Hasilnya proses download bisa berjalan dengan lebih cepat dibandingkan dengan melakukan download melalui satu koneksi saja. Pecahan file yang sudah terdownload akan digabungkan lagi menjadi satu file yang utuh ketika proses download sudah selesai.

Keunggulan Internet Download Manager (IDM) Terbaru

  1. Bisa mendownload dengan cepat

  2. Bisa mendownload beberapa File sekaligus

  3. Memiliki ukurang yang relatif ringan

  4. Memiliki kestabilan dan kehandalan dalam memproses file yang didownload

  5. Menghemat waktu dan biaya (khususnya anda yang mendownload di warnet)

  6. Memiliki kemampuan untuk melanjutkan kembali  file yang terputus

  7. Dapat meningkatkan akselerasi ketika download dan melakukan pengurutan atas file yang menjadi prioritas

  8. Bebas Malware, Spyware dan Adware

  9. Kualitas download sangat baik

 Seperti halnya aplikasi lain, Internet Download Manager (IDM) pun memiliki kelemahan yang mungkin tidak anda sadari sebelumnya.  –karena tertutupi oleh keunggulan yang diberikan-

Kelemahan Internet Download Manager (IDM) Terbaru :

  1. Sering mengalami Error khususnya ketika proses beberapa download dilakukan secara bersamaan dan ketika koneksi internet lambat

  2. Cukup banyak memakan bandwidth pada jaringan internal komputer atau pada jaringan yang dipasang paralel pada server

  3. Proses download secara bersamaan -khususnya-  mengakibatkan kerja sistem menjadi lebih lambat.

  4. Proses re-building  yang cukup memakang waktu, khususnya setelah download file-file dengan ukuran besar

  5. Sering terputus dan sulit bekerja, khususnya ketika berada pada jaringan GPRS

  6. Berbayar/ Shareware, sehingga untuk menikmati fitur penuh, anda harus membelinya dengan harga yang cukup besar.

Sekian dan terimakasih 🙂

jangan lupa like dan komen ^_^

MODEL-MODEL SDLC (SYSTEM DEVELOPMEN LIFE CYCLE) DAN MODEL SPIRAL

Metodologi System Development Life Cycle (SDLC)

Apa itu Metodologi ?

Suatu cara untuk menggali suatu kebenaran (kbbi).

Saat ini ada beberapa model yang berkembang terkait dengan System Development Life Cycle (SDLC). Namun terdapat beberapa model yang populer dalam dunia pengembangan perangkat lunak.

Macam-Macam Model System Development Life Cycle (SDLC)

  1. WATERFALL
  2. PROTOTYPE
  3. RAPID APPLICATION DEVELOPMENT
  4. SPIRALL
  5. AGILE
  6. DLL

Model Spiral / Model Boehm

Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya.  Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.

spiral

Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut :

1. Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.
2. Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
3. Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.
4. Tahap Rekayasa (engineering):pembuatan prototipe.
5. Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.
6. Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.

 

Kelebihan model Spiral:
Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.

Kekurangan model Spiral:
Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

sumber :

https://www.angon.co.id/news/uncategorized/model-model-pengembangan-perangkat-lunak-beserta-contoh-penerapannya.

trimakasih 🙂

jangan lupa tinggalkan komentar.