--MANUSIA--
MANUSIA DAN BUDAYA
MANUSIA MAKLUK SOSIAL
--ETIKA HINDU--
*TRI KAYA PARI SUDHA
Tri Kaya Parisuda artinya tiga gerak perilaku manusia yang harus disucikan,
yaitu berpikir yang bersih dan suci (Manacika),
berkata yang benar (Wacika) dan berbuat yang jujur (Kayika).
Dari tiap arti kata di dalamnya,
Tri berarti tiga; Kaya bararti Karya atau perbuatan atau kerja atau prilaku; sedangkan Parisudha berarti "upaya penyucian".Jadi "Trikaya-Parisudha berarti "upaya pembersihan/penyucian atas tiga perbuatan atau prilaku kita".
*TAT TWAM ASIH
pengertian ; aku adalah kamu, kamu adalah aku.
*TRI HITA KARANA
Tri Hita Karana berarti tiga penyebab kesejahteraan. (Tri = tiga, Hita = sejahtera, Karana = penyebab).
Pada hakikatnya Tri Hita Karana mengandung pengertian tiga penyebab kesejahteraan itu bersumber pada keharmonisan hubungan antara:
*TRI PARARTHA
tri pararta berasal dari bahasa sansekerta, dari kata tri = tiga. Dan parartha = kebahagian, kesejahtran, keselamatan, keagungan dan kesukaan. Tri parartha berarti tiga perihal yang dapat menyebabkan terwujudnya kesempurnaan, kebahagian, keselamatan, kesejahtraan, keagungan dan kesukaan hidup umat manusia.
1. Asih artinya cinta kasih. Umat manusia hendaknya selalu mengupayakan hidupnya dengan berlandaskan cinta kasih dengan sesama
2. Punya (punia) artinya dermawan atau tulus iklas. Seluruh aktifitas hidup manusia hendaknya berlandaskan tanpa pambrih/balasan, karena ketertarikan itu sesungguhnya ia menyebabkan menderita.
3. Bhakti artinya hormat atau sujud. Diantara sesamanya manusia hendaknya saling menghormati, serta tidak melupakan untuk bersujud kehada[an sang pencipta (tuhan).
Ajaran tri parartha itu sudah sepatutnya selalu dipahami dan di amalkan oleh umat manusia, dengan demikian kesempurnaan hidup ini akan menjadi kenyataan. Sebagaimana dijelaskan dalam sloka suci berikut ini
“abdhir gatrani cudhayanti, manah satyena cudhayanti, widyatapobhyam bhratatma, buddhir jnanena cudhayanti” (Menawa dharmasastra,V.109)
Artinya :
Tubuh dibersihkan dengan air, pikiran dibersikan dengan kejujuran, roh dibersihkan dengan ilmu dan tapa, akal dibersihkan dengan kebijaksanaan.
Selain mengamalkan ajaran tattwam asi, catur paramitha dan tri parartha, umat juga patut memahami dan mengamalkan ajaran ethika yang lainya. Dengan demikian hidup ini akan menjadi lebih bermanfaat dimasyarakat.
*CATUR GURU
Didalam etika atau susila agama hindu, ada disebutkan catur guru yang harus kita hormati, dan mempunyai tugas yang sangat berat. keempat guru tersebut adalah :
1. Guru Swadhyaya atau Guru Sejati : Ida Sang Hyang Widhi Wasa yang merupakan guru sekalian alam, guru yang tertinggi
2. Guru Rupaka/ Guru Raka : adalah orang tua yang melahirkan kita, yang sangat berjasa memelihara dan membesarkan kita
3. Guru Pengajian : Yaitu guru yang mengajar di sekolah atau guru yang memberikan ilmu pengatahuan kepada kita.
4Guru Wisesa : Yaitu pemerintah atau para raja , Guru Wisesa yang baik adalah pemimpin yang selalu berpedoman pada ajaran asta brata, yang terdiri dari :
A. Indra Brata,
B. Yama Brata,
C. Surya Brata,
D. Candra Brata,
E. Bayu Brata,
F. Kwera Brata,
G. Bharuna Brata,
H. Agni Brata.
*CATUR PARAMITA
Catur Paramitha adalah empat bentuk budi luhur
1. Maitri artinya lemah lembut, yang merupakan bagian budi luhur untuk kebahagiaan segala makhluk.
2. Karuna adalah belas kasihan atau kasih sayang, yang merupakan bagian dari budi luhur, yang menghendaki terhapusnya penderitaan segala makhluk.
3. Mudita artinya sifat dan sikap menyenangkan orang lain.
4. Upeksa artinya sifat dan sikap suka menghargai orang lain.
--9 CARA BHAKTI PADA TUHAN--
Mendengar nama dan kebesaran Tuhan
Memuji Kebesaran Tuhan
Ingat pada Tuhan
Melayani kaki tuhan
Bersembahyang dengan arca/pratima
Bersujud pada Tuhan
Bertindak sebagai hamba Tuhan
Menjadi sahabat dengan Tuhan
Enyerahkan diri dengan sepenuhnya pada Tuhan
--MORAL, ETIKA DAN PENERAPANNYA DALAM MASYARAKAT--
NITISASTRA VI.2
Tan Hana Sudharma Manglewiwihang Kasatyan,usren Takep Parajana. Tan hana kawah manglewihanerikang mresa, tiniraraken ikang alinek. Hyang Anala, Surya, Candra, Yama, Bayu satya sira saksyaning tri bhuana. Maradina-maskara hyang Isanekanang bhuwana, satya satyawacana.
ARTINYA;
Tidak ada kewajiban suci yang lebih tinggi dari kebenaran, yang setiap orang wajib menjapainya.Tidak ada neraka yang lebih menyeramkan dari kawah tempat penyiksaan orang-orang bohong, jauhilah kebohongan. Dewa Agini, Surya, Candra, Yama, dan Bayu dengan setia menjaga alam semesta dan menuntun manusia menyembah Tuhan. Mereka tetap memegang sumpah setia itu walau ajal menatang.
Nitisastra II.5
Nora, na mitra manglewihana waraguna maruhur
Nora, na sira satru manglewihana geleng hana ri hati
Nora, na sih mahanglewihana sihikang atanaya
Nora, na sakti daiwa juga sakti tan hana manahen.
Artinya:
Tidak ada sahabat yang melebihi pengetahuan yang sangat tinggi gunanya itu. Tidak ada musuh yang lebih berbahaya daripada nafsu jahat di dalam hati sendiri. Tidak ada kekuatan yang dapat melebihi kekuatan nasib, karena nasib itu tidak tertahankan oleh siapa dan apapun.
--TRI KERUKUNAN UMAT BERAGAMA--
TERJALINNYA HUBUNGAN YANG HARMONIS DIANTARA UMAT SEAGAMA
TERJALINNYA HUBUNGAN YANG HARMONIS ANTARA AGAMA YANG SATU DENGAN AGAMA YANG LAIN
Terwujudnya keharmonisan antara seluruh agama dengan pemerintah
--KERUKUNAN UMAT BERAGAMA--
Kerukunan umat beragama adalah keadaan hubungan sesama umat beragama yang dilandasi toleransi saling pengertian, saling menghormati, menghargai, kesetaraan dalam pengamalan ajaran agamanya dan bekerja sama dalam kehidupan bermasyarakat berbangsa dan bernegara di dalam Negara Kesatuan Republik Indonesia berdasarkan pancasila dan UUD 1945.
*Jalur Pembinaan Kerukunan Umat Beragama
Melewati Jalur Pemerintah.
Melewati Jalur Non-Pemerintah.
Organisasi Masyarakat.
Lembaga Keagamaan.
*Tri Hita Karana (tiga penyebab kebahagiaan) yaitu Prahyangan (harmoni atau vertical dengan Tuhan), Pawongan (harmoni atau horizontal dengan sesame manusia), Palemahan (harmoni atau diagonal dengan lingkungan dan alam sekitar
--Pandangan Agama Hindu terhadap Seni--
*Seni adalah sesuatu hasil karya yang dapat diserap dengan panca indra, yang bertujuan untuk menciptakan keindahan.
*David Hume: Keindahan bukanlah kwalitas yang terdapat pada benda-benda itu, maka itu keindahan ada dua jenis yaitu keindahan alamiah dan keindahan arsistik.
*INDAH ALAMIAH : Apabila kalau gagasan di dalam diri dari sesuatu itu dibiarkan tampil dengan cemerlang.
*INDAH ARTISTIK: sesuatu gagasan atau gerakan yang mengalami pengulangan atau coppy dari sesuatu yang sudah ada dalam alam dengan kedalaman dan kekuatan yang sama sekali baru, merefleksi rahasia-rahasia terdalam dari realitas dalam suatu karya seni.
*Macam –macam seni
-Seni pahat/ ukir: patung, relif,ukiran
-Seni lukis: gambar
-Seni nyastra: tulis halus aksara bali, modre,krakah.
-Seni suara: pupuh, kidung, pantun,kekawin, wirama
-Seni gerak : seni tari, wayang,pantomim dll
--TEMPAT SUCI--
*PENGERTIAN TEMPAT SUCI
-Bagi penganut agama tempat suci adalah tempat untuk menghungkan / mengadakan kontak denga yang dipuja/Tuhannya.Disamping tempat suci merupakan salah satu syarat untuk mendapatkan pengakuan dari Negara mengenai keberadaan agama tertentu
*STRUKTUR TEMPAT SUCI
*BENTUK-BENTUK TEMPAT SUCI
*FUNGSI TEMPAT SUCI
*PELESTARIAN TEMPAT SUCI
*Jasa Empu Kuturan:
Kahyangan Tiga, Sad Kahyangan, Kahyangan Jagat,Kahyangan Catur Loka Pala, Kahyangan Rwa Bineda, Pelinggih,meru,Gedong,
*Pengertian Pura
Kata Pura berasal dari bahasa Sansekerta dari akar kata “Pur” yang berarti kota/ benteng, yaitu tempat yang dibuat khusus dengan dipagari tembok untuk mengadakan kontak dengan kekuatan suci Ida Sang Hyang Widhi Wasa.
**“Bhatara Siwa sira swung, sifat ipun ikang kasar a wujud donya, kaanggap wangun ndi, yen karingkes dados ndi Himalaya, yen karingkes dados meru ndi kadi ning tanah Bali, yen karingkes malih dados titiang.”
Artinya:
Bhatara siwa amat gaib, sifat nyatanya berbentuk dunia dianggap bangunan itu, kalau diringkas menjadi gunung di Himalaya, kalau diringkan lagi menjadi Meru, seperti di Bali, Meru diringkas lagi menjadi diri kita.
**Berdasarkan keputusan seminar kesatuan tafsir terhadap aspek-aspek agama Hindu, telah ditetapkan pemilihan tempat dan penentuan denah untuk membangun tempat suci adalah sebagai berikut:
Memabangun Pemerajan/Sanggah, letaknya di hulu pekarangan rumah.
Pura Desa, sebaiknya terletak ditengah-tengah desa pada tempat yang dipandang suci oleh Krama Desa bersangkutan.
Pura Puseh letaknya di hulu desa.
Pura Desa dan Pura Puseh boleh digabungkan dalam satu areal
Pura Dalem hendaknya letaknya di hilir (teben) desa. Palinggih Prajapati letaknya di hulu sentra.
**Jenis pura
Pura Umum : Jagadnata/Kahyangan jagat
Pura teritorial : Kahyangan Tiga
Pura Fungsional: Subak, melanting, Saraswati, Ulun Danu, Ulun Suwi, Alas Angker, Segara
Pura Kawitan: Pura yang dibangun berdasarkan garis keturunan yang sering disebut Padarman yang merupakan bentuk perkembangan pura Warga atau Pura Klen.
**Pura Berdasarkan Fungsinya
PURA JAGAD: Berfungsi sbg tempat memuja Sang Hyang Widhi dan prabawanya.
Pura Kawitan: sbg tempat suci memuja leluhur(atma Sidha Dewata)roh suci leluhur
**Pura Berdasarkan Karakteristik/Sifatnya
Pura Kahyangan Jagat, yaitu Pura tempat memuja Ida Sang Hyang Widhi dalam segala PrabhawaNya misalnya Pura Sadkahyangan dan Pura Jagat yang lain.
Pura Kahyangan Desa (teritorial) yaitu pura yang disungsung (dipuja dan dipelihara) oleh desa adat
Pura Swagina (Pura Fungsional) yaitu Pura yang penyungsungnya terikat oleh ikatan Swagina (kekaryaan) yang mempunyai profesi sama dalam mata pencaharian seperti : Pura Subak, Melanting dan sebagainya.
Pura Kawitan, yaitu Pura yang penyung-sungnya ditentukan oleh ikatan “wit” atau leluhur berdasarkan garis(vertical genealogis) seperti: Sanggah, Pemerajan, Ibu, Panti, Dadya, Batur, Penataran, Padharman dan yang sejenisnya.
No Title Blog
Selasa, 02 November 2010
Jumat, 08 Januari 2010
tugas PBO
Nama : I Made Dwi Wiryawan
N I M : 00801213
M.K : PBO
1.
// class Animal
public class Animal {
private int weight;
public Animal(int w) { weight=w; }
public void setWeight(int w) { weight = w; }
public int getWeight() { return weight; }
public void talk() {
System.out.println("An animal can't talk");
}
}
// class Cow
public class Cow extends Animal {
public Cow() { super(100); }
public void talk() {
System.out.println("Moo!");
}
}
// class Pig
public class Pig extends Animal {
public Pig() { super(40); }
public void talk() {
System.out.println("Grunt!");
}
}
// class Sheep
public class Sheep extends Animal {
public Sheep() { super(65); }
public void talk() {
System.out.println("Baa!");
}
}
// class Bebek
public class Bebek extends Animal {
public Bebek() { super(35); }
public int jumlahTelur=3;
public void talk() {
System.out.println("Kweek!");
}
}
// class Main
public class FarmExample{
public static void main(String[] args) {
Animal[] farm = {new Cow(), new Pig(), new Sheep(), new Bebek()};
Bebek b = new Bebek();
int totalWeight = 0;
for (int i=0; i totalWeight += farm[i].getWeight();
System.out.println("The total weight of the " + "animals is " + totalWeight);
System.out.println("The animals say:");
for (int i=0; i farm[i].talk();
System.out.println("Jumlah Telur Bebek adalah "+b.jumlahTelur);
}
}
Output program :
The total weight of the animals is 240
The animals say:
Moo!
Grunt!
Baa!
Kweek!
Jumlah Telur Bebek adalah 3
Permasalahan yang Umum pada Polymorphism :
Konsep Dasar Polymorphism dalam Java
Polymorphism adalah salah satu dari tiga kemampuan yang mendasar yang dimiliki oleh OOP, setelah data abstraction dan inheritance.
Polymorphism menyediakan cara yang berbeda pada pemisahan interface dari implementasinya, untuk memasangkan ulang apa dari bagaimana. Polymorphism memberikan organisasi kode yang lebih baik dan kode menjadi lebih mudah dibaca, juga memberikan suatu kemampuan pada program untuk berkembang secara terus menerus baik pada tahap pengembangan awal ataupun pada saat ingin menambahkan kemampuan-kemampuan yang baru.
Encapsulation membuat tipe data yang baru dengan mengkombinasikan karakteristik-karakteristik dan perilaku-perilaku. Dengan menggunakan kata kunci private kita dapat menyembunyikan interface dari implementasi. Cara yang seperti ini dapat memudahkan para programmer yang mempunyai background prosedural. Tetapi polymorphism menangani decoupling dalam bentuk types. Kita mengetahui kalau inheritance memperbolehkan perlakuan yang sama pada object turunan maupun object asal. Kemampuan ini sangat penting karena memperbolehkan beberapa tipe yang ada (turunan dari tipe asal yang sama) mendapat perlakuan seperti kalau mereka itu satu tipe, dan hanya dibutuhkan satu kode saja untuk mengakses keseluruhan tipe yang ada. Metode polymorphism ini memperbolehkan untuk memanggil satu tipe untuk mengekspresikan perbedaannya dari tipe yang lainnya, yang sejenis, selama mereka diturunkan dari tipe asal yang sama. Perbedaan ini diekspresikan melalui perbedaan-perbedaan dalam perilaku dari metoda-metoda yang dapat kita panggil dari class asal.
Dalam pembahasan ini kita akan menjelaskan tentang polymorphism (juga disebut sebagai dynamic binding atau late binding atau run-time binding) mulai dari yang paling dasar, dengan contoh yang membeberkan tentang pengaruh polymophism dalam program yang akan dibuat.
Sebelumnya kita mengetahui kalau sebuah object dapat digunakan sebagai tipenya sendiri atau sebagai object dari tipe asalnya. Mengambil handle sebuah object dan memperlakukannya sebagai handle dari tipe asal disebut sebagai upcasting karena urutan dari cabang-cabang inheritance digambarkan class asal terletak yang paling atas.
Kita juga akan menemui sebuah masalah seperti yang tertera dari kode berikut ini:
//: Music.java
// Inheritance & upcasting
package c07;
class Note {
private int value;
private Note(int val) { value = val; }
public static final Note
middleC = new Note(0),
cSharp = new Note(1),
cFlat = new Note(2);
} // Etc.
class Instrument {
public void play(Note n) {
System.out.println(\"Instrument.play()\");
}
}
// Wind objects are instruments
// because they have the same interface:
class Wind extends Instrument {
// Redefine interface method:
public void play(Note n) {
System.out.println(\"Wind.play()\");
}
}
public class Music {
public static void tune(Instrument i) {
// ...
i.play(Note.middleC);
}
public static void main(String[] args) {
Wind flute = new Wind();
tune(flute); // Upcasting
}
} ///:~
Metode diatas Music.tune() menerima sebuah handle Instrument, tetapi juga segala sesuatunya yang diturunkan dari Instrument. Didalam main(), kita dapat melihat semua ini terjadi sebagai sebuah handle Wind dilewatkan ke tune(), dengan tanpa cast sama sekali. Ini semua masih dapat diterima, interface dari Instrument harus muncul didalam Wind, karena Wind diturunkkan dari Instrument. Upcasting dari Wind ke Instrument bisa membuat “narrow” pada interface tersebut, tapi semua ini tidak dapat mengurangi interface keseluruhan dari Instrument.
Program berikut ini mungkin akan tampak aneh. Mengapa kita secara sengaja melupakan tipe dari sebuah object ? Ini semua dapat terjadi bila kita melakukan upcast, dan menjadikannya kelihatan seperti kalau tune() secara langsung mengambil handle dari Wind sebagai sebuah argumen. Ini semua membuat sesuatu yang mendasar : Kalau kita melakukannya, kita harus menuliskan tune() yang baru untuk setiap Instrument didalam system kita. Anggap saja kita mengikuti alasan ini dan menambahkan instrument Stringed dan Brass :
//: Music2.java
// Overloading instead of upcasting
class Note2 {
private int value;
private Note2(int val) { value = val; }
public static final Note2
middleC = new Note2(0),
cSharp = new Note2(1),
cFlat = new Note2(2);
} // Etc.
class Instrument2 {
public void play(Note2 n) {
System.out.println(\"Instrument2.play()\");
}
}
class Wind2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Wind2.play()\");
}
}
class Stringed2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Stringed2.play()\");
}
}
class Brass2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Brass2.play()\");
}
}
public class Music2 {
public static void tune(Wind2 i) {
i.play(Note2.middleC);
}
public static void tune(Stringed2 i) {
i.play(Note2.middleC);
}
public static void tune(Brass2 i) {
i.play(Note2.middleC);
}
public static void main(String[] args) {
Wind2 flute = new Wind2();
Stringed2 violin = new Stringed2();
Brass2 frenchHorn = new Brass2();
tune(flute); // No upcasting
tune(violin);
tune(frenchHorn);
}
} ///:~
Kode diatas dapat dijalankan, tetapi disana ada kekurangan terbesar. Kita harus menuliskan metoda tipe yang spesifik untuk setiap class Instrument2 yang baru kita tambahkan. Ini semua berarti makin banyak kode yang akan kita tulis, tetapi juga berarti kalau kita ingin menambahkan sebuah metoda baru seperti tune() atau sebuah tipe baru dari Instrument, kita mendapatkan kalau perkerjaan kita makin banyak. Dengan menambahkan fakta bahwa kompiler tidak akan memberikan pesan-pesan kesalahan kalau kita lupa meng overload salah satu dari metoda-metoda kita dan seluruh proses pekerjaan dengan tipe menjadi tidak dapat ditangani.
Bukankah dapat menjadi lebih menyenangkan kalau kita hanya menuliskan satu metoda saja yang dapat mengambil class asal sebagai argumennya, dan bukan dari semua class-class turunannya. Itulah memang lebih memudahkan bila kita melupakan adanya class-class turunan, dan menuliskan kode yang hanya berkomunikasi dengan class asal?
Itulah apa yang disediakan oleh polymorphism. Walau bagaimanapun kebanyakan programmer (yang berasal dari latar belakang prosedural) mempunyai sedikit kesulitan untuk beradaptasi dengan polymorphism.
Kesimpulan
Dengan polymorphism pekerjaan seorang programmer dapat dimudahkan dengan menuliskan kode yang lebih sedikit. Untuk mengakses class-class turunan tidak dibutuhkan penulisan kode yang berlainan.
2. Perhatikan deklarasi berikut:
◦ Asset asset1 = new RealEstate(1834.34);
◦ Insurable asset2 = new RealEstate(1834.34);
◦ InterestBearing asset3 = new BankAccount(794.43);
◦ BankAccount asset4 = new BankAccount(794.43);
◦ System.out.println(asset1.getPremium()); // tidak sah
◦ System.out.println(asset1.getValue()); // sah
◦ System.out.println(asset2.getPremium()); // sah
◦ System.out.println(asset2.getInterestRate()); //tidak sah
◦ System.out.println(asset3.getPremium()); // tidak sah
◦ System.out.println(asset3.getInterestRate()); // sah
◦ System.out.println(asset4.getPremium()); // sah
◦ System.out.println(asset4.getValue()); // sah
◦ System.out.println(asset4.getInterestRate()); // sah
N I M : 00801213
M.K : PBO
1.
// class Animal
public class Animal {
private int weight;
public Animal(int w) { weight=w; }
public void setWeight(int w) { weight = w; }
public int getWeight() { return weight; }
public void talk() {
System.out.println("An animal can't talk");
}
}
// class Cow
public class Cow extends Animal {
public Cow() { super(100); }
public void talk() {
System.out.println("Moo!");
}
}
// class Pig
public class Pig extends Animal {
public Pig() { super(40); }
public void talk() {
System.out.println("Grunt!");
}
}
// class Sheep
public class Sheep extends Animal {
public Sheep() { super(65); }
public void talk() {
System.out.println("Baa!");
}
}
// class Bebek
public class Bebek extends Animal {
public Bebek() { super(35); }
public int jumlahTelur=3;
public void talk() {
System.out.println("Kweek!");
}
}
// class Main
public class FarmExample{
public static void main(String[] args) {
Animal[] farm = {new Cow(), new Pig(), new Sheep(), new Bebek()};
Bebek b = new Bebek();
int totalWeight = 0;
for (int i=0; i
System.out.println("The total weight of the " + "animals is " + totalWeight);
System.out.println("The animals say:");
for (int i=0; i
System.out.println("Jumlah Telur Bebek adalah "+b.jumlahTelur);
}
}
Output program :
The total weight of the animals is 240
The animals say:
Moo!
Grunt!
Baa!
Kweek!
Jumlah Telur Bebek adalah 3
Permasalahan yang Umum pada Polymorphism :
Konsep Dasar Polymorphism dalam Java
Polymorphism adalah salah satu dari tiga kemampuan yang mendasar yang dimiliki oleh OOP, setelah data abstraction dan inheritance.
Polymorphism menyediakan cara yang berbeda pada pemisahan interface dari implementasinya, untuk memasangkan ulang apa dari bagaimana. Polymorphism memberikan organisasi kode yang lebih baik dan kode menjadi lebih mudah dibaca, juga memberikan suatu kemampuan pada program untuk berkembang secara terus menerus baik pada tahap pengembangan awal ataupun pada saat ingin menambahkan kemampuan-kemampuan yang baru.
Encapsulation membuat tipe data yang baru dengan mengkombinasikan karakteristik-karakteristik dan perilaku-perilaku. Dengan menggunakan kata kunci private kita dapat menyembunyikan interface dari implementasi. Cara yang seperti ini dapat memudahkan para programmer yang mempunyai background prosedural. Tetapi polymorphism menangani decoupling dalam bentuk types. Kita mengetahui kalau inheritance memperbolehkan perlakuan yang sama pada object turunan maupun object asal. Kemampuan ini sangat penting karena memperbolehkan beberapa tipe yang ada (turunan dari tipe asal yang sama) mendapat perlakuan seperti kalau mereka itu satu tipe, dan hanya dibutuhkan satu kode saja untuk mengakses keseluruhan tipe yang ada. Metode polymorphism ini memperbolehkan untuk memanggil satu tipe untuk mengekspresikan perbedaannya dari tipe yang lainnya, yang sejenis, selama mereka diturunkan dari tipe asal yang sama. Perbedaan ini diekspresikan melalui perbedaan-perbedaan dalam perilaku dari metoda-metoda yang dapat kita panggil dari class asal.
Dalam pembahasan ini kita akan menjelaskan tentang polymorphism (juga disebut sebagai dynamic binding atau late binding atau run-time binding) mulai dari yang paling dasar, dengan contoh yang membeberkan tentang pengaruh polymophism dalam program yang akan dibuat.
Sebelumnya kita mengetahui kalau sebuah object dapat digunakan sebagai tipenya sendiri atau sebagai object dari tipe asalnya. Mengambil handle sebuah object dan memperlakukannya sebagai handle dari tipe asal disebut sebagai upcasting karena urutan dari cabang-cabang inheritance digambarkan class asal terletak yang paling atas.
Kita juga akan menemui sebuah masalah seperti yang tertera dari kode berikut ini:
//: Music.java
// Inheritance & upcasting
package c07;
class Note {
private int value;
private Note(int val) { value = val; }
public static final Note
middleC = new Note(0),
cSharp = new Note(1),
cFlat = new Note(2);
} // Etc.
class Instrument {
public void play(Note n) {
System.out.println(\"Instrument.play()\");
}
}
// Wind objects are instruments
// because they have the same interface:
class Wind extends Instrument {
// Redefine interface method:
public void play(Note n) {
System.out.println(\"Wind.play()\");
}
}
public class Music {
public static void tune(Instrument i) {
// ...
i.play(Note.middleC);
}
public static void main(String[] args) {
Wind flute = new Wind();
tune(flute); // Upcasting
}
} ///:~
Metode diatas Music.tune() menerima sebuah handle Instrument, tetapi juga segala sesuatunya yang diturunkan dari Instrument. Didalam main(), kita dapat melihat semua ini terjadi sebagai sebuah handle Wind dilewatkan ke tune(), dengan tanpa cast sama sekali. Ini semua masih dapat diterima, interface dari Instrument harus muncul didalam Wind, karena Wind diturunkkan dari Instrument. Upcasting dari Wind ke Instrument bisa membuat “narrow” pada interface tersebut, tapi semua ini tidak dapat mengurangi interface keseluruhan dari Instrument.
Program berikut ini mungkin akan tampak aneh. Mengapa kita secara sengaja melupakan tipe dari sebuah object ? Ini semua dapat terjadi bila kita melakukan upcast, dan menjadikannya kelihatan seperti kalau tune() secara langsung mengambil handle dari Wind sebagai sebuah argumen. Ini semua membuat sesuatu yang mendasar : Kalau kita melakukannya, kita harus menuliskan tune() yang baru untuk setiap Instrument didalam system kita. Anggap saja kita mengikuti alasan ini dan menambahkan instrument Stringed dan Brass :
//: Music2.java
// Overloading instead of upcasting
class Note2 {
private int value;
private Note2(int val) { value = val; }
public static final Note2
middleC = new Note2(0),
cSharp = new Note2(1),
cFlat = new Note2(2);
} // Etc.
class Instrument2 {
public void play(Note2 n) {
System.out.println(\"Instrument2.play()\");
}
}
class Wind2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Wind2.play()\");
}
}
class Stringed2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Stringed2.play()\");
}
}
class Brass2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Brass2.play()\");
}
}
public class Music2 {
public static void tune(Wind2 i) {
i.play(Note2.middleC);
}
public static void tune(Stringed2 i) {
i.play(Note2.middleC);
}
public static void tune(Brass2 i) {
i.play(Note2.middleC);
}
public static void main(String[] args) {
Wind2 flute = new Wind2();
Stringed2 violin = new Stringed2();
Brass2 frenchHorn = new Brass2();
tune(flute); // No upcasting
tune(violin);
tune(frenchHorn);
}
} ///:~
Kode diatas dapat dijalankan, tetapi disana ada kekurangan terbesar. Kita harus menuliskan metoda tipe yang spesifik untuk setiap class Instrument2 yang baru kita tambahkan. Ini semua berarti makin banyak kode yang akan kita tulis, tetapi juga berarti kalau kita ingin menambahkan sebuah metoda baru seperti tune() atau sebuah tipe baru dari Instrument, kita mendapatkan kalau perkerjaan kita makin banyak. Dengan menambahkan fakta bahwa kompiler tidak akan memberikan pesan-pesan kesalahan kalau kita lupa meng overload salah satu dari metoda-metoda kita dan seluruh proses pekerjaan dengan tipe menjadi tidak dapat ditangani.
Bukankah dapat menjadi lebih menyenangkan kalau kita hanya menuliskan satu metoda saja yang dapat mengambil class asal sebagai argumennya, dan bukan dari semua class-class turunannya. Itulah memang lebih memudahkan bila kita melupakan adanya class-class turunan, dan menuliskan kode yang hanya berkomunikasi dengan class asal?
Itulah apa yang disediakan oleh polymorphism. Walau bagaimanapun kebanyakan programmer (yang berasal dari latar belakang prosedural) mempunyai sedikit kesulitan untuk beradaptasi dengan polymorphism.
Kesimpulan
Dengan polymorphism pekerjaan seorang programmer dapat dimudahkan dengan menuliskan kode yang lebih sedikit. Untuk mengakses class-class turunan tidak dibutuhkan penulisan kode yang berlainan.
2. Perhatikan deklarasi berikut:
◦ Asset asset1 = new RealEstate(1834.34);
◦ Insurable asset2 = new RealEstate(1834.34);
◦ InterestBearing asset3 = new BankAccount(794.43);
◦ BankAccount asset4 = new BankAccount(794.43);
◦ System.out.println(asset1.getPremium()); // tidak sah
◦ System.out.println(asset1.getValue()); // sah
◦ System.out.println(asset2.getPremium()); // sah
◦ System.out.println(asset2.getInterestRate()); //tidak sah
◦ System.out.println(asset3.getPremium()); // tidak sah
◦ System.out.println(asset3.getInterestRate()); // sah
◦ System.out.println(asset4.getPremium()); // sah
◦ System.out.println(asset4.getValue()); // sah
◦ System.out.println(asset4.getInterestRate()); // sah
Sabtu, 02 Januari 2010
Sorting dan Searching
SORTING
Sorting adalah proses penyusunan kembali sekumpulan objek ke dalam urutan tertentu.
Tujuan pengurutan adalah untuk mendapatkan kemudahan dalam pencarian anggota dari suatu himpunan dapat mempercepat mengetahui data terbesar dan data terkecil.
Proses pengurutan yang terjadi :perbandingan data dan pertukaran data.
Metode Sorting antara lain,
Selection sort
Bubble sort
Insertion sort
Merge sort
SEARCHING
Searching adalah pencarian data dengan cara menelusuri data-data tersebut.Pada suatu data seringkali dibutuhkan pembacaan kembali informasi (retrieval information) dengancara searching.Tempat pencarian data dapat berupa array dalam memori,bisa juga pada file pada external storage.
Metode Searching
Binary Search Tree adalah data yang ada harus diurutkan terlebih dahulu berdasarkan suatu urutan tertentu yang dijadikan kunci pencarian
Sequential Search adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir.
Sorting adalah proses penyusunan kembali sekumpulan objek ke dalam urutan tertentu.
Tujuan pengurutan adalah untuk mendapatkan kemudahan dalam pencarian anggota dari suatu himpunan dapat mempercepat mengetahui data terbesar dan data terkecil.
Proses pengurutan yang terjadi :perbandingan data dan pertukaran data.
Metode Sorting antara lain,
Selection sort
Bubble sort
Insertion sort
Merge sort
SEARCHING
Searching adalah pencarian data dengan cara menelusuri data-data tersebut.Pada suatu data seringkali dibutuhkan pembacaan kembali informasi (retrieval information) dengancara searching.Tempat pencarian data dapat berupa array dalam memori,bisa juga pada file pada external storage.
Metode Searching
Binary Search Tree adalah data yang ada harus diurutkan terlebih dahulu berdasarkan suatu urutan tertentu yang dijadikan kunci pencarian
Sequential Search adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir.
Kamis, 10 Desember 2009
jawaban tugas pertanyaan PBO modul 1
public class Student{
private String id;
private String name;
private String address;
private int theoryScore;
private int practiceScore;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getTheoryScore() {
return theoryScore;
}
public void setTheoryScore(int theoryScore) {
this.theoryScore = theoryScore;
}
public int getPracticeScore() {
return practiceScore;
}
public void setPracticeScore(int practiceScore) {
this.practiceScore = practiceScore;
}
}
public class StudentTest {
public static void main(String[] args) {
Student pp = new Student();
pp.setId("00801213");
pp.setName("I Made Dwi Wiryawan");
pp.setAddress("Kaliakah");
pp.setTheoryScore(100);
pp.setPracticeScore(100);
System.out.println("class StudentTest");
System.out.println("Id : "+pp.getId());
System.out.println("Nama : "+pp.getName());
System.out.println("Alamat : "+pp.getAddress());
System.out.println("Nilai Teori : "+pp.getTheoryScore());
System.out.println("Nilai Praktek : "+pp.getPracticeScore());
}
}
private String id;
private String name;
private String address;
private int theoryScore;
private int practiceScore;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getTheoryScore() {
return theoryScore;
}
public void setTheoryScore(int theoryScore) {
this.theoryScore = theoryScore;
}
public int getPracticeScore() {
return practiceScore;
}
public void setPracticeScore(int practiceScore) {
this.practiceScore = practiceScore;
}
}
public class StudentTest {
public static void main(String[] args) {
Student pp = new Student();
pp.setId("00801213");
pp.setName("I Made Dwi Wiryawan");
pp.setAddress("Kaliakah");
pp.setTheoryScore(100);
pp.setPracticeScore(100);
System.out.println("class StudentTest");
System.out.println("Id : "+pp.getId());
System.out.println("Nama : "+pp.getName());
System.out.println("Alamat : "+pp.getAddress());
System.out.println("Nilai Teori : "+pp.getTheoryScore());
System.out.println("Nilai Praktek : "+pp.getPracticeScore());
}
}
Selasa, 03 November 2009
Design Interface
Sabtu, 19 September 2009
interface
- ini merupakan aplikasi yang dipakai untuk Payment Point Online Bank, atau yang lebih dikenal dengan aplikasi pembayaran listrik online.
- penggunaan aplikasi ini cukup mudah, karena pada aplikasi ini sudah menggunakan bahasa Indonesia.
- tampilan interface ini cukup menarik dan sederhana. tapi mungkin bagi yang baru pertama menggunakan akan cukup kesulitan karena letak menu-nya agak tersembunyi.
Sabtu, 30 Mei 2009
MAILING LIST
nama milis : FeedBlizt
alamat website : dhinata.com
komentar terhadap milis :
- milis ini berisikan informasi terbaru di dunia IT.
- sehingga kita bisa mengetahui informasi terkini di bidang IT
nama milis : game spot
alamat website : gamespot.com
komentar terhadap milis :
- milis ini berisikan informasi terbaru di dunia game.
- seperti PC game, PS2, x-box, nintendo dan konsol game lainnya.
- ada juga cheat dan walkthourgh untuk setiap game
alamat website : dhinata.com
komentar terhadap milis :
- milis ini berisikan informasi terbaru di dunia IT.
- sehingga kita bisa mengetahui informasi terkini di bidang IT
nama milis : game spot
alamat website : gamespot.com
komentar terhadap milis :
- milis ini berisikan informasi terbaru di dunia game.
- seperti PC game, PS2, x-box, nintendo dan konsol game lainnya.
- ada juga cheat dan walkthourgh untuk setiap game
Model DARPA (TCP/IP)
Model TCP/IP memili 5 layer yang bekerja dari layer teratas menuju kebawah
bawah sesuai urutan : aplication, transport, network, data-link, physical. Kelima layer tersebut disusun berdasarkan lima prinsip yang harus diikuti
untuk menentukan layer dalam komunikasi, yaitu :
Ø Layer dibuat jika ketika diperlukan pemisahan level yang secara teori diperlukan.
Ø Masing-masing layer memiliki fungsi yang jelas.
Ø Setiap fungsi dari masing-masing layer telah ditentukan agar sesuai dengan
standart protokol secara internasional.
Ø Batas kedua layer telah ditentukan untuk mengurangi informasi menerobos
antarmuka layer.
Ø Setiap layer ditentukan dengan jelas fungsinya, tetapi jumlah layer sebaiknya
sekecil mungkin untuk menghindari arsitektur yang luas.
1. Physical Layer
Physical-layer dipergunakan untuk mengtransmisikan data per bit melewati
saluran komunikasi. Susunan bit tersebut mungkin mewakili pengiriman file atau
rekord dari file database, physical-layer mengabaikan arti (melupakan) susunan bit
tersebut, untuk selanjutnya akan dikodekan menjadi digit 1 dan 0 atau menjadi bentuk
analog. Physical-layer menangani proses mekanis, elektris dan prosedur antar muka
dalam media fisik (saluran transmisi, driver, sensor, pencatu, dll.).
2. Data Link/Network Access Layer
Data-link-layer dibentuk berdasarkan kemampuan transmisi dari physicallayer.
Susunan bit yang akan dikirim atau diterima dikumpulkan dalam kelompok
yang disebut frame. Dalam konteks LAN, frame dapat berarti token-ring atau ethenetframe.
Awal dan akhir frame di tandai dengan susunan bit khusus, sehingga frame tersusun
dalam susunan bit yang terdiri atas address-field, control-field, data-field, dan errorcontrol-
field, yang masing-masing memiliki fungsi tertentu.
3. Internetwork Layer
Network-layer dibentuk berdasarkan hubungan node-to-node yang disediakan
oleh data-link-layer. Pelayanan data-link secara node-to-node menuju jaringan akan
menjadi meningkat dengan adanya layer ini, sehingga data-link-layer dapat menambah
pelayanan untuk rute lintasan sejumlah packet (bagian dari informasi yang berada
pada network-layer) diantara beberapa node dihubungkan melewati jaringan yang
kompleks secara berubah-ubah.
Disamping melayani proses routing, network-layer membantu menghilangkan
kemacetan dengan cara mengatur aliran data. Disamping itu network-layer dapat
membuat kemungkinan agar dua jaringan dapat dihubungkan menerapkan uniformaddresing-
mecanism ( suatu mekanisme untuk pengalamatan sejenis).
Sebagai contoh jaringan lokal Ethernet dan Token-ring memiliki alamat datalink
yang berbeda tipenya, untuk menghubungkan dua jaringan tersebut maka
diperlukan uniform-addressing-mechanism yang dapat dimengerti oleh Etrhernet
maupun Token-ring. Untuk jaringan yang berbasis Novel-Netware maka digunakan
internet-packet-exchange (IPX) sebagai protokol network-layer, sedangkan jaringan
berbasis TCP/IP digunakan internet-protocol (IP).
4. Transport Layer
Transport-layer menyediakan perbaikan untuk melayani network-layer.
Lapisan ini membantu dalam meyakinkan pengiriman data dapat diandalkan dan
menggabungkan data yang telah dikirim dari ujung ke ujung. Untuk meyakinkan
pengiriman data dapat diandalkan transport-layer berdasarkan kepada mekanisme
pengontrolan error yang disediakan oleh layer yang lebih rendah, jika layer yang
dibawahnya tidah mampu untuk mengerjakan maka transport-layer akan bekerja lebih
keras. Pada layer ini merupakan kesempatan terakhir untuk mengatasi error, tetapi
pada kenyataannya transport-layer menyediakan pengiriman yang bebas error.
Transport-layer juga bertanggung jawab untuk membuat hubungan-hubungan
secara logis pada sebuah hubungan jaringan, proses ini disebut multiplexing atau timeDiktat
sharing terjadi ketika nomer sambungan transport dibagi pada sambungan jaringan
yang sama.
5. Application Layer
Application-layer berisi beberapa protokol dan fungsi yang diperlukan oleh
pemakai aplikasi untuk melakukan jenis komunikasi yang diinginkan. Contoh fungsi
utama yang diperlukan adalah :
- Protokol menyediakan fasilitas penyedia file secara remote, seperti open, close,
read, save, write dan membagi akses ke file tersebut.
- Akses transfer file dan database secara remote.
- Fasilitan menangani pesan untuk aplikasi e-mail.
- Fasilitas direktori global dan lokal pada sumber daya jaringan.
- Cara yang seragam untuk menangani berbagai monitoring sistim dan peralatan.
- Menjalankan perintah secara remote.
bawah sesuai urutan : aplication, transport, network, data-link, physical. Kelima layer tersebut disusun berdasarkan lima prinsip yang harus diikuti
untuk menentukan layer dalam komunikasi, yaitu :
Ø Layer dibuat jika ketika diperlukan pemisahan level yang secara teori diperlukan.
Ø Masing-masing layer memiliki fungsi yang jelas.
Ø Setiap fungsi dari masing-masing layer telah ditentukan agar sesuai dengan
standart protokol secara internasional.
Ø Batas kedua layer telah ditentukan untuk mengurangi informasi menerobos
antarmuka layer.
Ø Setiap layer ditentukan dengan jelas fungsinya, tetapi jumlah layer sebaiknya
sekecil mungkin untuk menghindari arsitektur yang luas.
1. Physical Layer
Physical-layer dipergunakan untuk mengtransmisikan data per bit melewati
saluran komunikasi. Susunan bit tersebut mungkin mewakili pengiriman file atau
rekord dari file database, physical-layer mengabaikan arti (melupakan) susunan bit
tersebut, untuk selanjutnya akan dikodekan menjadi digit 1 dan 0 atau menjadi bentuk
analog. Physical-layer menangani proses mekanis, elektris dan prosedur antar muka
dalam media fisik (saluran transmisi, driver, sensor, pencatu, dll.).
2. Data Link/Network Access Layer
Data-link-layer dibentuk berdasarkan kemampuan transmisi dari physicallayer.
Susunan bit yang akan dikirim atau diterima dikumpulkan dalam kelompok
yang disebut frame. Dalam konteks LAN, frame dapat berarti token-ring atau ethenetframe.
Awal dan akhir frame di tandai dengan susunan bit khusus, sehingga frame tersusun
dalam susunan bit yang terdiri atas address-field, control-field, data-field, dan errorcontrol-
field, yang masing-masing memiliki fungsi tertentu.
3. Internetwork Layer
Network-layer dibentuk berdasarkan hubungan node-to-node yang disediakan
oleh data-link-layer. Pelayanan data-link secara node-to-node menuju jaringan akan
menjadi meningkat dengan adanya layer ini, sehingga data-link-layer dapat menambah
pelayanan untuk rute lintasan sejumlah packet (bagian dari informasi yang berada
pada network-layer) diantara beberapa node dihubungkan melewati jaringan yang
kompleks secara berubah-ubah.
Disamping melayani proses routing, network-layer membantu menghilangkan
kemacetan dengan cara mengatur aliran data. Disamping itu network-layer dapat
membuat kemungkinan agar dua jaringan dapat dihubungkan menerapkan uniformaddresing-
mecanism ( suatu mekanisme untuk pengalamatan sejenis).
Sebagai contoh jaringan lokal Ethernet dan Token-ring memiliki alamat datalink
yang berbeda tipenya, untuk menghubungkan dua jaringan tersebut maka
diperlukan uniform-addressing-mechanism yang dapat dimengerti oleh Etrhernet
maupun Token-ring. Untuk jaringan yang berbasis Novel-Netware maka digunakan
internet-packet-exchange (IPX) sebagai protokol network-layer, sedangkan jaringan
berbasis TCP/IP digunakan internet-protocol (IP).
4. Transport Layer
Transport-layer menyediakan perbaikan untuk melayani network-layer.
Lapisan ini membantu dalam meyakinkan pengiriman data dapat diandalkan dan
menggabungkan data yang telah dikirim dari ujung ke ujung. Untuk meyakinkan
pengiriman data dapat diandalkan transport-layer berdasarkan kepada mekanisme
pengontrolan error yang disediakan oleh layer yang lebih rendah, jika layer yang
dibawahnya tidah mampu untuk mengerjakan maka transport-layer akan bekerja lebih
keras. Pada layer ini merupakan kesempatan terakhir untuk mengatasi error, tetapi
pada kenyataannya transport-layer menyediakan pengiriman yang bebas error.
Transport-layer juga bertanggung jawab untuk membuat hubungan-hubungan
secara logis pada sebuah hubungan jaringan, proses ini disebut multiplexing atau timeDiktat
sharing terjadi ketika nomer sambungan transport dibagi pada sambungan jaringan
yang sama.
5. Application Layer
Application-layer berisi beberapa protokol dan fungsi yang diperlukan oleh
pemakai aplikasi untuk melakukan jenis komunikasi yang diinginkan. Contoh fungsi
utama yang diperlukan adalah :
- Protokol menyediakan fasilitas penyedia file secara remote, seperti open, close,
read, save, write dan membagi akses ke file tersebut.
- Akses transfer file dan database secara remote.
- Fasilitan menangani pesan untuk aplikasi e-mail.
- Fasilitas direktori global dan lokal pada sumber daya jaringan.
- Cara yang seragam untuk menangani berbagai monitoring sistim dan peralatan.
- Menjalankan perintah secara remote.
Langganan:
Postingan (Atom)