sejarah logika,algoritma & pengetahuan umum

Jumat, 23 Januari 2009

PENGERTIAN OVERLOADING

Overloading

Overloading adalah suatu keadaan dimana
beberapa method memiliki nama yang sama
tetapi fungsionalitasnya berbeda

Contoh :

titik(x,y);

titik(x,y,z);

Ciri Overloading :

Nama method harus sama

Daftar parameter harus berbeda

Return type boleh sama, boleh berbeda

Overriding

Overriding menyatakan suatu keadaan
dimana method pada subclass menolak
method pada parent class-nya.

Ciri dari overriding :
– Nama method harus sama
– Daftar parameter harus sama
– Return type harus sama

Kamis, 22 Januari 2009

PENGERTIAN POLIMORFISME,OVERLOADING DAN ENCAPSULATION

A.1. Enkapsulasi/pengapsulan (encapsulation)

Pengemasan data dan fungsi dalam wadah bernama obyek dikenal dengan nama enkapsulasi. Data tidak lagi diperlakukan sebagai komponen kedua setelah fungsi melainkan mempunyai kedudukan yang sama dengan fungsi.

Enkasulasi sering juga dianggap sebagai penyembunyian informasi. Ini merupakan kemampuan sebuah obyek kelas untuk membatasi akses client ke representasi internal obyek kelas (data dan fungsi).

Sebuah client adalah suatu aplikasi, atau komponen yang meminta sebuah layanan dari obyek yang lain. Obyek yang menerima permintaan memberikan layanan yang ada lewat metode-metode publiknya. Karenanya, abyek ini adalah server dalam hubungan demikian karena ia menyediakan sebuah layanan. Sebuah obyek dapat menjadi server pada satu obyek dan sebuah client pada obyek lain secara bersamaan. Analognya dalam kehidupan kita sehari-hari: misalnya Anda (pembaca) adalah seorang client dan saya (penulis), dan saya memberikan Anda layanan informasi. Sebaliknya, saya adalah seorang client dari penulis lain yang telah mempublikasikan buku-buku yang saya pakai selama tahap penulisan artikel ini.

Beberapa metoda lebih lanjut dalam menerapkan enkapsulasi adalah: anggota-anggota kelas privat, anggota-anggota kelas privat statis, kawan-kawan, dan obyek-obyek kelas pembantu.

  • Anggota kelas privat, enkapsulasi diterapkan dengan mendefinisikan variabel-variabel dan fungsi-fungsi dari sebuah kelas sebagai privat. Anda bisa menganggap bahwa fungsi-fungsi anggota kelas (juga dikenal sebagai metode) didefinisikan sebagai publik yang secara internal memanipulasi variabel-variabel dan fungsi-fungsi anggota privat. Dalam istilah berorientasi obyek, metode-metode publik dari sebuah kelas merupakan abstraksi dari representasi privat kelas. Hasilnya adalah bahwa representasi privat dienkapsulasikan. Keuntungannya, Anda dapat menerapkan kelas kembali untuk memasukkantipe-tipe variabel dan kelas yang berbeda, dan Anda bisa memperbaharui implementasi dari motode publik bila perlu (dengan anggapan bahwa tanda-tanda fungsi dari metode publik tidak berganti).
  • Anggota kelas statis privat, sebuah fitur kelas standar yang mendukung enkapsulasi dalam kebanyakan bahasa berorientasi obyek adalah kemampuan untuk mendefinisikan anggota-anggota kelas statis. Variabel-variabel dan fungsi-fungsi anggota statis adalah anggota-anggota dari suatu kelas bukan angota-anggota dari obyek-obyek kelas. Anggota statis dibuat sekali untuk suatu kelas dan berlaku global untuk semua bentuk dari kelas itu. Anggota-anggota statis dapat didefinisikan sebagai privat, sehingga enkapsulasi dapat diterapkan. Anggota-anggota statis memungkinkan Anda untuk mengurangi keperluan diluar perkiraan untuk menjaga bentuk anggota-anggota terpisah yang dapat dipakai bersama oleh semua obyek-obyek kelas.
  • Kawan-kawan, Semua kita tahu bahwa kita tidak bermaksud untuk menyimpan terlalu banyak informasi pribadi sendirian, sehingga kita percaya pada seorang kawan dan memberikan mereka akses ke informasi pribadi kita. Skenario yang sama berlaku untuk obyek-obyek. Sebuah tipe obyek bisa berupa sebuah kawan bagi tipe lainnya. Dalam kenyataannya, seperti dalam persahabatan manusia, kepercayaan mungkin hanya satu arah. Setiap pihak (tipe obyek) dalam hubungan individual memutuskan apakah menerima yang lain sebagai kawan.

A.2. Pewarisan (Inheritance)

Pewarisan merupakan sifat dalam bahasa berorientasi obyek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Ketika Anda membuat sebuah solusi pemrograman berorientasi obyek Anda berharap memperoleh pemanfaatan ulang sebagai hasilnya. Daripada membuat ulang kontrol pada setiap sistem baru, Anda mestinya membuat kelas-kelas dari obyek-obyek yang dapat dipakai kembali.

Pewarisan adalah suatu tindakan mengambil sebuah kelas dari yang lainnya. Pewarisan publik berarti bahwa kelas turunannya adalah sebuah sub kelas atau sub tipe dari kelas sebelumnya. Pewarisan non publik berarti kelas yang mewariskan bukanlah sebuah sub kelas dari pendahulunya melainkan hanya mewariskan ciri-cirinya saja.

Pewarisan dapat dikelompokkan lebih lanjut dalam dua bentuk utama, yaitu pewarisan implementasi dan pewarisan antar muka. Pewarisan implementasi mendukung konsep-konsep hirarki sebuah kelas, dimana sebuah kelas dapat dihasilkan dari kelas lain, dimungkinkan ia mewarisi struktur dan perilaku semua pendahulunya. Pewarisan antar muka adalah kemampuan sebuah kelas untuk mewariskan antar mukanya ke kelas lainnya. Antar muka adalah sekelompok properti kelas dan nama-nama metode yang dideklarasikan sebagai publik.

A.3. Polimorfisme (Polymorfisme)

Polimorfisme merupakan suatu konsep yang

10.6. Overloading Methods

Dalam class yang kita buat, kadangkala kita menginginkan untuk membuat method dengan

nama yang sama namun mempunyai fungsi yang berbeda menurut parameter yang

digunakan. Kemampuan ini dimungkinkan dalam pemrograman Java, dan dikenal sebagai

overloading method.

Overloading method mengijinkan sebuah method dengan nama yang sama namun memiliki

parameter yang berbeda sehingga mempunyai implementasi dan return value yang berbeda

pula. Daripada memberikan nama yang berbeda pada setiap pembuatan method,

overloading method dapat digunakan pada operasi yang sama namun berbeda dalam

implementasinya.

Pengenalan Pemrograman 1 13

J.E.N.I.

Sebagai contoh, pada class StudentRecord kita menginginkan sebuah method yang akan

menampilkan informasi tentang siswa. Namun kita juga menginginkan operasi penampilan

data tersebut menghasilkan output yang berbeda menurut parameter yang digunakan. Jika

pada saat kita memberikan sebuah parameter berupa string, hasil yang ditampilkan adalah

nama, alamat dan umur dari siswa, sedang pada saat kita memberikan 3 nilai dengan tipe

double, kita menginginkan method tersebut untuk menampilkan nama dan nilai dari siswa.

Untuk mendapatkan hasil yang sesuai, kita gunakan overloading method di dalam deklarasi

class StudentRecord.

public void print( String temp ){

System.out.println("Name:" + name);

System.out.println("Address:" + address);

System.out.println("Age:" + age);

}

public void print(double eGrade, double mGrade, double sGrade)

System.out.println("Name:" + name);

System.out.println("Math Grade:" + mGrade);

System.out.println("English Grade:" + eGrade);

System.out.println("Science Grade:" + sGrade);

}

Jika kita panggil pada method utama (main) :

public static void main( String[] args )

{

StudentRecord annaRecord = new StudentRecord();

annaRecord.setName("Anna");

annaRecord.setAddress("Philippines");

annaRecord.setAge(15);

annaRecord.setMathGrade(80);

annaRecord.setEnglishGrade(95.5);

annaRecord.setScienceGrade(100);

//overloaded methods

annaRecord.print( annaRecord.getName() );

annaRecord.print( annaRecord.getEnglishGrade(),

annaRecord.getMathGrade(),

annaRecord.getScienceGrade());

}

Pengenalan Pemrograman 1 14

J.E.N.I.

Kita akan mendapatkan output pada panggilan pertama sebagai berikut :

Name:Anna

Address:Philippines

Age:15

Kemudian akan dihasilkan output sebagai berikut pada panggilan kedua :

Name:Anna

Math Grade:80.0

English Grade:95.5

Science Grade:100.0

Jangan dilupakan bahwa overloaded method memiliki property sebagai berikut :

1. Nama yang sama

2. Parameter yang berbeda

3. Nilai kembalian (return) bisa sama ataupun berbeda

menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda. Istilah ini sendiri berasal dari bahasa Yunani, yang berarti mempunyai banyak bentuk. Pengertian dari polimorfisme ini secara sederhana saya umpamakan dengan ketika menulis artikel ini. Artikel yang saya tulis ini berasal dari berbagai sumber tulisan beberapa penulis, dengan bentuk penyampaian yang cirikhas dan gaya penulisan berbeda-beda, namun isi dari tulisannya secara keseluruhan tetap menggambarkan satu tema/topik tulisan yang sama.

Kamis, 04 Desember 2008

sejarah logika

Sejarah Logika

[sunting] Masa Yunani Kuno
Logika dimulai sejak Thales (624 SM - 548 SM), filsuf Yunani pertama yang meninggalkan segala dongeng, takhayul, dan cerita-cerita isapan jempol dan berpaling kepada akal budi untuk memecahkan rahasia alam semesta.
Thales mengatakan bahwa air adalah arkhe (Yunani) yang berarti prinsip atau asas utama alam semesta. Saat itu Thales telah mengenalkan logika induktif.
Aristoteles kemudian mengenalkan logika sebagai ilmu, yang kemudian disebut logica scientica. Aristoteles mengatakan bahwa Thales menarik kesimpulan bahwa air adalah arkhe alam semesta dengan alasan bahwa air adalah jiwa segala sesuatu.
Dalam logika Thales, air adalah arkhe alam semesta, yang menurut Aristoteles disimpulkan dari:
Air adalah jiwa tumbuh-tumbuhan (karena tanpa air tumbuhan mati)
Air adalah jiwa hewan dan jiwa manusia
Air jugalah uap
Air jugalah es
Jadi, air adalah jiwa dari segala sesuatu, yang berarti, air adalah arkhe alam semesta.
Sejak saat Thales sang filsuf mengenalkan pernyataannya, logika telah mulai dikembangkan. Kaum Sofis beserta Plato (427 SM-347 SM) juga telah merintis dan memberikan saran-saran dalam bidang ini.
Pada masa Aristoteles logika masih disebut dengan analitica , yang secara khusus meneliti berbagai argumentasi yang berangkat dari proposisi yang benar, dan dialektika yang secara khusus meneliti argumentasi yang berangkat dari proposisi yang masih diragukan kebenarannya. Inti dari logika Aristoteles adalah silogisme.
Buku Aristoteles to Oraganon (alat) berjumlah enam, yaitu:
Categoriae menguraikan pengertian-pengertian
De interpretatione tentang keputusan-keputusan
Analytica Posteriora tentang pembuktian.
Analytica Priora tentang Silogisme.
Topica tentang argumentasi dan metode berdebat.
De sohisticis elenchis tentang kesesatan dan kekeliruan berpikir.
Pada 370 SM - 288 SM Theophrastus, murid Aristoteles yang menjadi pemimpin Lyceum, melanjutkan pengembangn logika.
Istilah logika untuk pertama kalinya dikenalkan oleh Zeno dari Citium 334 SM - 226 SM pelopor Kaum Stoa. Sistematisasi logika terjadi pada masa Galenus (130 M - 201 M) dan Sextus Empiricus 200 M, dua orang dokter medis yang mengembangkan logika dengan menerapkan metode geometri.
Porohyus (232 - 305) membuat suatu pengantar (eisagoge) pada Categoriae, salah satu buku Aristoteles.
Boethius (480-524) menerjemahkan Eisagoge Porphyrius ke dalam bahasa Latin dan menambahkan komentar- komentarnya.
Johanes Damascenus (674 - 749) menerbitkan Fons Scienteae.

[sunting] Abad pertengahan dan logika modern [2]
Pada abad 9 hingga abad 15, buku-buku Aristoteles seperti De Interpretatione, Eisagoge oleh Porphyus dan karya Boethius masih digunakan.
Thomas Aquinas 1224-1274 dan kawan-kawannya berusaha mengadakan sistematisasi logika.
Lahirlah logika modern dengan tokoh-tokoh seperti:
Petrus Hispanus 1210 - 1278)
Roger Bacon 1214-1292
Raymundus Lullus (1232 -1315) yang menemukan metode logika baru yang dinamakan Ars Magna, yang merupakan semacam aljabar pengertian.
William Ocham (1295 - 1349)
Pengembangan dan penggunaan logika Aristoteles secara murni diteruskan oleh Thomas Hobbes (1588 - 1679) dengan karyanya Leviatan dan John Locke (1632-1704) dalam An Essay Concerning Human Understanding
Francis Bacon (1561 - 1626) mengembangkan logika induktif yang diperkenalkan dalam bukunya Novum Organum Scientiarum.
J.S. Mills (1806 - 1873) melanjutkan logika yang menekankan pada pemikiran induksi dalam bukunya System of Logic
Lalu logika diperkaya dengan hadirnya pelopor-pelopor logika simbolik seperti:
Gottfried Wilhelm Leibniz (1646-1716) menyusun logika aljabar berdasarkan Ars Magna dari Raymundus Lullus. Logika ini bertujuan menyederhanakan pekerjaan akal budi dan lebih mempertajam kepastian.
George Boole (1815-1864)
John Venn (1834-1923)
Gottlob Frege (1848 - 1925)
Lalu Chares Sanders Peirce (1839-1914), seorang filsuf Amerika Serikat yang pernah mengajar di John Hopkins University,melengkapi logika simbolik dengan karya-karya tulisnya. Ia memperkenalkan dalil Peirce (Peirce's Law) yang menafsirkan logika selaku teori umum mengenai tanda (general theory of signs)
Puncak kejayaan logika simbolik terjadi pada tahun 1910-1913 dengan terbitnya Principia Mathematica tiga jilid yang merupakan karya bersama Alfred North Whitehead (1861 - 1914) dan Bertrand Arthur William Russel (1872 - 1970).
Logika simbolik lalu diteruskan oleh Ludwig Wittgenstein (1889-1951), Rudolf Carnap (1891-1970), Kurt Godel (1906-1978), dan lain-lain.

[sunting] Logika sebagai matematika murni
Logika masuk kedalam kategori matematika murni karena matematika adalah logika yang tersistematisasi. Matematika adalah pendekatan logika kepada metode ilmu ukur yang menggunakan tanda-tanda atau simbol-simbol matematik (logika simbolik). Logika tersistematisasi dikenalkan oleh dua orang dokter medis, Galenus (130-201 M) dan Sextus Empiricus (sekitar 200 M) yang mengembangkan logika dengan menerapkan metode geometri.
Puncak logika simbolik terjadi pada tahun 1910-1913 dengan terbitnya Principia Mathematica tiga jilid yang merupakan karya bersama Alfred North Whitehead (1861 - 1914) dan Bertrand Arthur William Russel (1872 - 1970).

[sunting] Kegunaan logika
Membantu setiap orang yang mempelajari logika untuk berpikir secara rasional, kritis, lurus, tetap, tertib, metodis dan koheren.
Meningkatkan kemampuan berpikir secara abstrak, cermat, dan objektif.
Menambah kecerdasan dan meningkatkan kemampuan berpikir secara tajam dan mandiri.
Memaksa dan mendorong orang untuk berpikir sendiri dengan menggunakan asas-asas sistematis
Meningkatkan cinta akan kebenaran dan menghindari kesalahan-kesalahan berpkir, kekeliruan serta kesesatan.
Mampu melakukan analisis terhadap suatu kejadian.
Terhindar dari klenik , gugon-tuhon ( bahasa Jawa )
Apabila sudah mampu berpikir rasional,kritis ,lurus,metodis dan analitis sebagaimana tersebut point 1 maka akan meningkatkan citra diri seseorang.

[sunting] Macam-macam logika

[sunting] Logika alamiah
Logika alamiah adalah kinerja akal budi manusia yang berpikir secara tepat dan lurus sebelum dipengaruhi oleh keinginan-keinginan dan kecenderungan-kecenderungan yang subyektif. Kemampuan logika alamiah manusia ada sejak lahir.

[sunting] Logika ilmiah
Logika ilmiah memperhalus, mempertajam pikiran serta akal budi.
Logika ilmiah menjadi ilmu khusus yang merumuskan azas-azas yang harus ditepati dalam setiap pemikiran. Berkat pertolongan logika ilmiah inilah akal budi dapat bekerja dengan lebih tepat, lebih teliti, lebih mudah dan lebih aman. Logika ilmiah dimaksudkan untuk menghindarkan kesesatan atau, paling tidak, dikurangi.

[sunting] Referensi