Rabu, 18 November 2009

Object Oriented Programming
Object Oriented Programming ( OOP ) merupakan paradigma pemrograman yang menggunakan "objek" - struktur data yang terdiri dari datafields dan metode bersama dengan interaksi mereka - untuk merancang aplikasi dan program komputer. Teknik pemrograman dapat mencakup fitur seperti menyembunyikan informasi, data abstraksi, enkapsulasi, modularitas, polimorfisme, dan pewarisan. Itu tidak umum digunakan dalam pengembangan aplikasi perangkat lunak arus utama sampai awal 1990-an. Banyak modern bahasa pemrograman sekarang mendukung OOP.
Object Oriented Programming memiliki akar yang dapat ditelusuri pada 1960-an. Seperti hardware dan software menjadi semakin kompleks, kualitas sering berkompromi. Para peneliti mempelajari cara untuk menjaga kualitas perangkat lunak dan dikembangkan pemrograman berorientasi objek dalam bagian untuk mengatasi masalah-masalah umum dengan sangat menekankan diskrit, dapat digunakan kembali unit logika pemrograman. Metodologi yang berfokus pada data daripada proses, dengan program yang terdiri dari modul mandiri (objek) masing-masing berisi semua informasi yang dibutuhkan untuk memanipulasi struktur data sendiri. Hal ini berbeda dengan yang ada pemrograman modular yang telah dominan selama bertahun-tahun yang berfokus pada fungsi dari module, bukan data spesifik, tetapi juga disediakan untuk penggunaan kembali kode, dan mandiri dapat digunakan kembali unit pemrograman logika, yang memungkinkan kolaborasi melalui penggunaan modul yang terhubung (subrutin). Pendekatan ini lebih konvensional, yang masih tetap, cenderung untuk mempertimbangkan data dan perilaku secara terpisah.
Sebuah program berorientasi objek dengan demikian dapat dilihat sebagai kumpulan objek yang saling berinteraksi, berlawanan dengan model konvensional, di mana program dipandang sebagai daftar tugas (subrutin) untuk melakukan. Dalam OOP, setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek-objek lain dan dapat dipandang sebagai independen 'mesin' dengan peran atau tanggung jawab yang berbeda. Tindakan (atau "operator") pada objek-objek ini sangat erat terkait dengan objek. Sebagai contoh, struktur data cenderung 'membawa operator sekitar mereka sendiri dengan mereka "(atau setidaknya" mewarisi "mereka dari obyek atau kelas yang sama).
Yang Simula adalah bahasa pemrograman yang pertama kali memperkenalkan konsep dasar pemrograman berorientasi obyek (objek, kelas, subclass, metode virtual, coroutines, dan simulasi event diskrit) sebagai superset dari Algol. Simula juga digunakan otomatis pengumpulan sampah yang telah diciptakan sebelumnya untuk bahasa pemrograman fungsional Lisp. Simula yang digunakan untuk pembuatan model fisik, seperti model-model untuk mempelajari dan meningkatkan pergerakan kapal dan isinya melalui pelabuhan kargo. Smalltalk adalah bahasa pemrograman pertama disebut "berorientasi objek".



Sejarah
Konsep benda dan contoh-contoh di komputasi mempunyai terobosan besar pertama dengan PDP-1 sistem di MIT yang mungkin contoh paling awal 'kemampuan yang didasarkan' arsitektur. Lain contoh awal adalah Sketchpad diciptakan oleh Ivan Sutherland pada tahun 1963, namun, ini adalah sebuah aplikasi dan bukan paradigma pemrograman. Objek sebagai entitas pemrograman diperkenalkan pada 1960-an di Simula 67, sebuah bahasa pemrograman yang dirancang untuk melakukan simulasi, diciptakan oleh Ole-Johan Dahl dan Kristen Nygaard dari Norwegian Computing Center di Oslo. Mereka bekerja di kapal simulasi, dan bingung oleh ledakan kombinatorial bagaimana sifat-sifat yang berbeda dari kapal yang berbeda dapat mempengaruhi satu sama lain. Ide terjadi kepada mereka tentang pengelompokan jenis kapal ke kelas yang berbeda benda; masing-masing kelas objek bertanggung jawab untuk menentukan sendiri data dan perilaku. Pendekatan seperti ekstrapolasi sederhana konsep analog sebelumnya digunakan dalam pemrograman. Pada komputer analog, pemetaan dari dunia nyata fenomena / objek untuk analog fenomena / objek (dan sebaliknya), adalah (dan ini) disebut 'simulasi'. Simula tidak hanya memperkenalkan konsep kelas, tetapi juga dari contoh kelas, yang mungkin eksplisit pertama penggunaan gagasan-gagasan tersebut. Ide-ide dari Simula 67 dipengaruhi banyak kemudian bahasa, terutama Smalltalk dan turunannya Lisp dan Pascal.
The Smalltalk bahasa, yang dikembangkan di Xerox PARC (oleh Alan Kay dan lain-lain) pada 1970-an, memperkenalkan istilah pemrograman berorientasi objek untuk mewakili benda penggunaan meluas dan pesan sebagai dasar perhitungan. Smalltalk pencipta dipengaruhi oleh ide-ide diperkenalkan dalam Simula 67, tapi Smalltalk dirancang untuk menjadi dinamis sepenuhnya sistem di mana kelas-kelas dapat dibuat dan dimodifikasi secara dinamis, bukan statis seperti dalam Simula 67. Smalltalk dan dengan itu OOP diperkenalkan kepada khalayak yang lebih luas oleh edisi Agustus 1981 majalah Byte.
Pada 1970-an, Kay Smalltalk bekerja telah mempengaruhi masyarakat Lisp untuk menggabungkan teknik-teknik berbasis objek yang diperkenalkan kepada pengembang melalui mesin Lisp. Eksperimen dengan berbagai ekstensi untuk Lisp (seperti loop dan Flavors memperkenalkan beberapa warisan dan mixin), akhirnya mengarah pada Common Lisp Sistem Objek (CLOS, bagian dari standar pertama berorientasi obyek bahasa pemrograman, ANSI Common Lisp), yang menggabungkan pemrograman fungsional dan pemrograman berorientasi objek dan memungkinkan perpanjangan melalui protokol Meta-objek. Tahun 1980-an, ada beberapa upaya untuk merancang arsitektur prosesor yang mencakup dukungan hardware untuk obyek dalam memori, tetapi ini tidak berhasil. Contoh meliputi Intel iAPX 432 dan Smart Linn Rekursiv.
Pemrograman berorientasi obyek dikembangkan sebagai metodologi pemrograman yang dominan selama pertengahan 1990-an, sebagian besar disebabkan oleh pengaruh C + +. Dominasinya itu makin diperkuat oleh meningkatnya popularitas dari antarmuka pengguna grafis, yang pemrograman berorientasi obyek tampaknya cocok. Contoh dari GUI dinamis terkait erat dengan perpustakaan dan bahasa OOP dapat ditemukan di Kakao kerangka kerja di Mac OS X, yang ditulis di Objective-C, sebuah object-oriented, dinamis ekstensi pesan ke C didasarkan pada Smalltalk. OOP toolkit juga meningkatkan popularitas pemrograman kendali-event (walaupun konsep ini tidak terbatas pada OOP). Sebagian merasa bahwa asosiasi dengan GUI (nyata atau tidak) adalah apa yang didorong ke dalam pemrograman OOP arus utama.
Fitur berorientasi objek telah ditambahkan ke banyak bahasa yang ada selama waktu itu, termasuk Ada, BASIC, Fortran, Pascal, dan lain-lain. Menambahkan fitur ini untuk bahasa yang awalnya tidak dirancang untuk mereka sering menimbulkan berbagai permasalahan dengan kompatibilitas dan Kemampu-rawatan kode.
Baru-baru ini, sejumlah bahasa telah muncul yang berorientasi obyek terutama belum kompatibel dengan metodologi prosedural, seperti Python dan Ruby. Mungkin yang paling penting secara komersial baru bahasa berorientasi obyek adalah Visual Basic. NET (VB.NET) dan C #, baik yang dirancang untuk Microsoft. NET platform, dan Jawa, yang dikembangkan oleh Sun Microsystems. VB.NET dan C # baik dukungan lintas bahasa warisan, memungkinkan kelas didefinisikan dalam satu bahasa ke bahasa kelas subclass didefinisikan dalam bahasa lain.
Sama seperti pemrograman prosedural mengarah pada perbaikan teknik seperti pemrograman terstruktur, modern berorientasi objek metode desain perangkat lunak mencakup perbaikan seperti penggunaan pola desain, design by kontrak, dan pemodelan bahasa (seperti UML). OOPS istilah yang mengacu pada sebuah bject o-o riented p rogramming s ystem, adalah umum terjadi di awal pengembangan pemrograman berorientasi obyek.
Fitur Utama
Usaha untuk menyaring OOP untuk minimal kumpulan fitur dianggap sia-sia oleh peneliti bahasa pemrograman Cuire Benjamin Pierce. Namun demikian, ia mengidentifikasi sebagai berikut fitur dasar yang ditemukan di kebanyakan bahasa-bahasa berorientasi obyek dan bahwa, dalam konser, mendukung gaya pemrograman OOP:
• Dynamic dispatch - ketika sebuah metode dipanggil pada objek, obyek itu sendiri menentukan kode apa yang dijalankan dengan melihat metode pada saat run waktu dalam sebuah tabel yang berhubungan dengan objek. Fitur ini membedakan objek dari suatu tipe data abstrak (atau modul), yang memiliki tetap (statis) pelaksanaan operasi untuk semua kasus
• Enkapsulasi (atau multi-metode, dalam hal ini negara disimpan terpisah)
• Subtipe polimorfisme
• objek warisan (atau delegasi)
• Buka rekursi - variabel khusus (sintaksis ini mungkin merupakan kata kunci), biasanya disebut this atau self yang memungkinkan tubuh metode untuk invoke metode lain tubuh objek yang sama. Variabel ini akhir-terikat; ini memungkinkan sebuah metode yang didefinisikan dalam satu kelas untuk memanggil metode lain yang ditentukan kemudian, dalam beberapa subclass daripadanya.
Demikian pula, dalam buku 2003, Konsep-konsep dalam bahasa pemrograman, John C. Mitchell mengidentifikasi empat fitur utama: dinamis pengiriman, abstraksi, subtipe polimorfisme, dan pewarisan. Michael Lee Scott dalam Programming Language Pragmatics hanya mempertimbangkan enkapsulasi, pewarisan dan dinamis pengiriman .
Definisi formal
Ada beberapa upaya memformalkan konsep-konsep yang digunakan dalam pemrograman berorientasi obyek. Berikut konsep dan konstruksi telah digunakan sebagai interpretasi dari konsep OOP:
• tipe data abstrak (yang memiliki jenis eksistensial) memungkinkan definisi modul tetapi ini tidak mendukung pengiriman dinamis
• rekursif jenis
• catatan adalah dasar untuk memahami objek jika fungsi literal dapat disimpan dalam bidang-bidang (seperti dalam bahasa pemrograman fungsional), tetapi perlu kalkuli sebenarnya jauh lebih kompleks untuk memasukkan fitur-fitur penting dari OOP. Beberapa perluasan dari Sistem F <:yang berhubungan dengan objek bisa berubah telah dipelajari ini memungkinkan kedua subtipe polimorfisme dan parametric polimorfisme (generik)
Upaya untuk menemukan definisi atau teori konsensus balik barang-barang tidak terbukti sangat berhasil (namun, lihat "Abadi & Cardelli: A Theory of Objects" definisi formal dari banyak konsep dan konstruksi OOP), dan sering kali merupakan kepanjangan secara luas. Sebagai contoh, beberapa definisi berfokus pada aktivitas mental, dan beberapa di program hanya penataan. Salah satu definisi yang lebih sederhana adalah bahwa OOP adalah tindakan menggunakan "peta" atau struktur data array yang dapat berisi pointer ke fungsi dan peta lain, semua dengan beberapa scoping sintaksis dan gula di atas. Warisan dapat dilakukan dengan kloning peta (kadang-kadang disebut "prototipe").
Bahasa OOP
Simula (1967) secara umum diterima sebagai bahasa pertama untuk memiliki fitur-fitur utama dari sebuah bahasa berorientasi objek. Hal ini diciptakan untuk membuat program simulasi, di mana apa yang kemudian disebut objek adalah representasi informasi yang paling penting. Smalltalk (1972-1980) adalah dapat dikatakan sebagai contoh kanonik, dan satu dengan yang banyak teori pemrograman berorientasi objek adalah dikembangkan.
• Bahasa disebut "murni" OO bahasa, karena segala sesuatu di dalamnya diperlakukan secara konsisten sebagai sebuah objek, dari primitif seperti karakter dan tanda baca, sepanjang jalan sampai ke seluruh kelas, prototip, blok, modul, dll Mereka dirancang secara khusus untuk memfasilitasi, bahkan menegakkan, metode OO. Contoh: Smalltalk, Eiffel, Ruby, JADE
• Bahasa dirancang terutama untuk pemrograman OO, tapi dengan beberapa elemen prosedural. Contoh: C + +, Java, Python.
• Bahasa yang secara historis bahasa prosedural, tetapi telah diperluas dengan beberapa fitur OO. Contoh: Fortran 2003, Perl, COBOL 2002.
• Bahasa dengan sebagian besar fitur objek (kelas, metode, warisan, usabilitas), tapi dalam bentuk aslinya jelas. Contoh: Oberon (Oberon-1 atau Oberon-2).
• Bahasa dengan tipe data abstrak dukungan, tetapi tidak semua fitur object-orientasi, kadang-kadang disebut objek berbasis bahasa. Contoh: Modula-2 (dengan sangat baik dan informasi enkapsulasi menyembunyikan), liat, CLU.
OOP di scripting
Dalam beberapa tahun terakhir, pemrograman berorientasi objek telah menjadi sangat populer dalam bahasa pemrograman scripting. Python, Ruby dan groovy adalah bahasa scripting yang dibangun di atas prinsip-prinsip OOP, sementara Perl dan PHP telah menambahkan fitur berorientasi objek sejak Perl 5 dan PHP 4, dan ColdFusion sejak versi 6.
The Document Object Model dari HTML, XHTML, dan XML dokumen di Internet telah binding ke populer JavaScript / ECMAScript bahasa. JavaScript mungkin merupakan yang paling terkenal pemrograman berbasis prototipe-bahasa, yang mempekerjakan kloning dari prototipe daripada mewarisi dari kelas. Bahasa scripting yang populer lain yang mengambil pendekatan ini adalah Lua. Versi sebelumnya ActionScript (sebagian superset dari R3 ECMA-262, juga dikenal sebagai ECMAScript) juga menggunakan model object berbasis prototipe. Versi ActionScript menggabungkan kombinasi berdasarkan klasifikasi dan prototipe model obyek yang didasarkan terutama pada saat ini tidak lengkap R4 ECMA-262 spesifikasi, yang berakar pada awal JavaScript Proposal 2. Microsoft juga mencakup JScript.NET mash-up model obyek berdasarkan proposal yang sama, dan juga merupakan superset dari R3 ECMA-262 spesifikasi.
Warisan dan perilaku subtyping
Hal ini intuitif untuk menganggap bahwa pewarisan menciptakan semantik "adalah sebuah" hubungan, dan dengan demikian menyimpulkan bahwa obyek dari subclass instantiated selalu dapat dengan aman digunakan sebagai pengganti dari instantiated mereka SUPERCLASS. Intuisi ini sayangnya OOP palsu dalam kebanyakan bahasa, khususnya di semua yang memungkinkan bisa berubah objek. Subtipe polimorfisme sebagai ditegakkan oleh checker jenis dalam bahasa OOP (dengan objek bisa berubah) tidak dapat menjamin perilaku subtyping dalam konteks apapun. Perilaku subtyping adalah diputuskan secara umum, sehingga tidak dapat dilaksanakan oleh sebuah program (compiler). Kelas atau objek hierarki harus dirancang secara hati-hati mempertimbangkan kemungkinan penggunaan yang salah tidak dapat dideteksi sintaksis. Masalah ini dikenal sebagai prinsip substitusi Liskov.
Objek-orientasi dan database
Kedua pemrograman berorientasi objek dan sistem manajemen database relasional (RDBMSs) adalah sangat umum dalam perangkat lunak hari ini. Karena database relasional tidak menyimpan objek secara langsung (meskipun beberapa RDBMSs memiliki fitur berorientasi objek untuk perkiraan ini), ada kebutuhan umum untuk menjembatani dua dunia. Ada beberapa solusi yang digunakan secara luas untuk masalah ini. Salah satu yang paling umum adalah pemetaan relasional obyek, seperti yang ditemukan di perpustakaan seperti Java Data Objects dan Ruby on Rails "ActiveRecord. Ada juga objek database yang dapat digunakan untuk menggantikan RDBMSs, tetapi belum ini sebagai sukses secara komersial sebagai RDBMSs.
Pencocokan dunia nyata
OOP dapat digunakan untuk menerjemahkan dari fenomena dunia nyata untuk elemen program (dan sebaliknya). OOP bahkan diciptakan untuk tujuan pemodelan fisik dalam Simula-67 bahasa pemrograman. Namun, tidak semua orang setuju bahwa dunia nyata langsung pemetaan yang difasilitasi oleh OOP, atau bahkan tujuan yang berharga; Bertrand Meyer berpendapat di Object-Oriented Software Konstruksi bahwa program ini tidak model dunia tetapi sebuah model dari beberapa bagian dari dunia; "Realitas adalah sepupu dua kali dihapus". Pada saat yang sama, beberapa keterbatasan utama OOP sudah diketahui.
Namun, kata Niklaus Wirth dari OOP dalam makalahnya "Selamat Ide melalui Looking Glass", "erat paradigma ini mencerminkan struktur sistem 'di dunia nyata', dan oleh karena itu cocok untuk model sistem kompleks dengan perilaku kompleks".

Tugas ALGORITMA DAN PEMROGRAMAN 1C (1DB03)
disusun oleh :
Amelia Agustina (31109527)
Cutrahardhika Septaweni (32109542)
Putri Anisyah (34109143)
Dwi Harsuwendo (33109105)
Irfan Cahyo Prakoso (32109501)
Marshall Prawira (34109769)
Tyrta Pratama (32109876)

Senin, 10 Agustus 2009

kemaren tgl 10 gue ospek gundar,ada senior cowo reseh ngeliatin gue ga nyantai..gue paling ga suka kan d liatin ga santai mau itu cowo atau cewe,lebih tua atau lebih muda dr gue..kesannya tuh nganggep rendah gue bgt dan gue paling ga suka kyk gtu jadi otomatis gue liatin ga nyantai juga ke tuh senior ngokngok..

ehh ternyata bener,ga brp lama gue dsamperin sm dia,dia melotot ke gue sambil bilang 'eh lo pake gelang? sni gue ambil..ntar lo cari gue DONNY!' WTF laaaah dgn tampang ga nyantai gue menyerahkan gelang gue ke dia..
disepanjang ospek noh si donny bolakbalik kayak setrikaan d depan gue..alhasil gue makin gedeg segedeg"nya sm tuh org (pantatnya bisulan kali yee?) ahahaha..
ga taunya dia tuh ketua apa sih namanya kyk perkumpulan mahasiswa buat bagian teknik gtu deh,soalnya dia sndiri anak teknik komputer 2005 (hmmp patut dpertanyakan knp kaga lulus" ye tuh org ampe 2009 gni?) dan ternyata disitu dia ngakunya namanya bukan DONNY tp PERMADI (katanya sih td tukeran id panitia sm temennya) hallaaaah sok buangeeeet banyak gaya!! zzz
udah pokoknya saking gedegnya selama ospek dia mondar mandir tetep gue cuekin aja tuh org biar cape sndiri..

naah akhirnya pulang juga jam 3an,acara ospek berakhir dan gue segera mencari dmn tuh donny buat ngambil gelang gue! (enak aja gue merelakan gelang gue gtu aja,tak sudi lah yiaaaw!!) hahaha..
ehh ternyata kata temenya dia udh pulang..AAARRGH !!! makin dendamlah gue sm dia..
yaudah gue sempet bodo amat trus gue sempet ke kamar mandi lama sambil nunggu sepi bru deh pulang..
pas gue mau pulang ternyata keliatan tuh batang idungnye si donny yg lg petantangpetenteng di tengah lapangan..
gue samperin aje tanpa tau malu..gue tny 'mau minta gelang gue dong!' dengan nada songong membalikan kata" dia ke gue td..
trus dia bilang 'sini ikut gue kebelakang!' ngook gue kira disimpen d tasnya gtu taunya cm d simpen d kantong jaketnya aja pake ke blakang" sgala (buang" waktu daah -__-)

dan yang tak disangka" tenyata dia membawa gue ke belakang cuma gara" gamau ktauan sm temen"nya klu mau nnyin nama,no hape sm alamat gue.. BASIIII ALLBASEE!! zzz
tp ga gue kasih dengan mudahnya..enak aje lo udh buat gue gondok juga!
oia,sempet"nya juga tuh senior ngajak gue balik bareng..tp gue tolak mentah"..hahahaha maap yeeee DONNY PERMADI..
TIPS MENCEGAH KERIPUT DAN KUSAM PADA WAJAH
1 butir kuning telur kocok merata dengan 3 sendok susu segar..gunakan kuas khusus untuk wajah,oleskan secara merata ke seluruh wajah..lakukan seminggu 3 kali untuk hasil yang maksimal..

TIPS MENCERAHKAN WAJAH
siapkan kulit semangka (jgn terlalu banyak) kemudian giling kulit semangka tersebut hingga menjadi serbuk semangka yang halus..blender 1 buah mentimun dan 1 buah lidah buaya yang segar hingga halus dan setelah itu campur dengan kulit semangka tadi yang sudah menjadi serbuk..
dinginkan adonan tadi beberapa menit ke dalam kulkas dan selagi dingin oleskan ke wajah secara merata..

mudah dan murah bukan tips dari gue? hahaha (belajar kecantikan sm nyokab d ARTISTRY TRADE CENTER dan belajar hidup sehat ala JARIBU) buat yang ingin belajar kecantikan atau hidup sehat bisa hubungin gue kok..hihi :D

SELAMAT MENCOBA !!