Overloading

Method overloading adalah suatu cara untuk memberikan nama yang sama kepada dua method yang berbeda meski dua method tersebut berada dalam class yang sama. Hal ini dapat dilakukan dengan cara membedakan tipe parameter, jumlah parameter dan susunan parameter. Untuk lebih jelasnya perhatikan contoh dibawah ini :

  1. public class MethodOverload {  
  2.   
  3. public void testOverloadedMethods() {  
  4.     System.out.printf("Square of integer 7 is %d\n", square(7));  
  5.     System.out.printf("Square of double 7.5 is %f\n", square(7.5));  
  6. }  
  7.   
  8. public int square(int intValue) {  
  9.     System.out.printf("\nCalled square with int argument: %d\n",  
  10.             intValue);  
  11.     return intValue * intValue;  
  12. }  
  13.   
  14. public double square(double doubleValue) {  
  15.     System.out.printf("\nCalled square with double argument: %f\n",  
  16.             doubleValue);  
  17.     return doubleValue * doubleValue;  
  18. }  
  19. }  
Untuk test dari class method overloading diatas adalah dibawah ini :
  1. public class MethodOverloadTest {  
  2.   
  3.  public static void main(String args[]) {  
  4.      MethodOverload methodOverload = new MethodOverload();  
  5.      methodOverload.testOverloadedMethods();  
  6.  }  
  7. }  
Maka setelah kita eksekusi akan menghasilkan output seperti dibawah ini :
  1. Called square with int argument: 7  
  2. Square of integer 7 is 49  
  3.   
  4. Called square with double argument: 7.500000  
  5. Square of double 7.5 is 56.250000 

Overriding

Berbeda dengan overloading. Kalo overloading, kita boleh menuliskan method yang sama namun dengan jumlah parameter yang berbeda dan nilai kembalian harus sama. Nah, kalau overriding konsepnya sama dengan overloading yaitu menulis kembali method. Namun, caranya overriding menulis kembali method sama persis. Sama mulai dari nama method dan isinya dan mengimplementasi kembali di sub classnya. Overriding dipakai saat kita menggunakan method yang sama tapi berbeda implementasinya. Jadi overriding method mempunyai nama method yang sama, jumlah parameter dan tipe parameter serta nilai kembalian (return) method yang di override. Jika method memiliki modifier akses public, method overridenya juga harus public.
Contoh:
class Kendaraan {
  ..............
  public String getJenis() {
    System.out.println(“Harga BBM turun”);
  }
}
class Motor extends Kendaraan {
  ..............
  public String getJenis() {
    System.out.println(“Harga BBM premium 4000 rupiah”);
  }
}
NB:
  • class motor mengextends class kendaraan
  • class motor melakukan override method di kendaraan namun berbeda implementasi
Kesimpulan:
  • Override method merupakan method yang sama persis dengan method yang sudah ada di super kelasnya, biasanya perbedaannya adalah pada implementasi (program body)
  • Overidding tidak bisa dilakukan dalam kelas itu sendiri
  • Jadi Overidding kerat kaitannya dengan inheritance (pewarisan)
Contoh lain:
class Lingkaran {
  double r;

  Lingkaran(double r) {
    this.r = r;
  }
  double Luas() {
    return Math.PI*this.r*this.r;
  }
  double Luas(double r) {
    this.r = r;
    return Math.PI*this.r*this.r;
  }
}
class Tabung extends Lingkaran {
  double h;

  Tabung() {
  //konstruktor kelas turunan, ada super() dan diisi nilai awal
    super(0);
  }
  double Luas(double r) {
  //overriding (method and parameter sama)
    this.r = r;
    return Math.PI * this.r * this.r * this.h;
  }
}
NB:
  • Class lingkaran melakukan overloading method Luas (beda signature)
  • Class tabung mengextends class lingkaran
  • Class tabung meng-override method Luas hasil dari overload. Jadi kita juga biosa mengoverride method hasil overloading juga

Struktur Control Java

Dalam Java ada 4 macam statement pengontrolan:
1. looping                do-while, while, for

2. pengambilan keputusan  if-else, switch-case

3. exception handling     try-catch-finally, throw

4. percabangan            break, continue, label:,

                          return

LOOPING
while
while (ekspresi) {

   statement

}

do-while
do {

   statement

} while (ekspresi)

for
for (inisialisasi; terminasi; incremen) {

   statement

}


PENGAMBILAN KEPUTUSAN
if-else
if (ekspresi) {

   statement

} else {

   statement

}
else bisa sebanyak yang dibutuhkan.

switch-case
switch (int ekspresi) {

   case 0: statement; break;

   case 1: statement; break;

   ...

   default: statement;

}
ekspresi yang digunakan harus integer

EXCEPTION HANDLING
try-catch-finally
try {

    statement

} catch (tipeException nama) {

    statement

} finally {

    statement

}


PERCABANGAN
break
break digunakan untuk menghentikan switch, for, while, atau do-while.
break label digunakan untuk menghentikan kumpulan statement yang ditandai dengan suatu label.

continue
continue digunakan untuk men-skip iterasi pada suatu looping.

return
return digunakan untuk keluar dari method. return diikuti suatu nilai akan memberikan output bagi method, nilai yang dikeluarkan harus match dengan tipe method. return tanpa diikuti suatu nilai khusus untuk method bertipe void.

Faktorial Dijava

Pada postingan kali ini saya akan langsung menampilkan beberapa coding program sekaligus. To the point aja mari langsung dilihat.

Pertama yaitu coding program menghitung Jumlah Nilai Faktorial. Walaupun sudah dibahas pada postingan sebelumnya, tak apalah jika dibahas kembali dengan coding yang berbeda. Coding programnya seperti dibawah ini.


import java.util.Scanner;
public class Faktorials
{
     public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    int f=1;
    System.out.print("masukan Bilangan Faktorial = ");
    int n=in.nextInt();
    System.out.println("============================== ");
    for(int i=1; i<=n; i++)
    f*=i;
    System.out.println(n+" ! = "+f);

  }
}

Output-nya dapat dilihat pada gambar dibawah ini.














Coding program berikutnya adalah program dengan menggunakan for.

import java.util.Scanner;
public class ProgramFor
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner (System.in);
        int f=5; //nilai yang ditampilkan pada hasil
        System.out.printf("Masukan Nilai m = ");
        int m= in.nextInt();
        System.out.printf("Masukan Nilai n = ");
        int n= in.nextInt();
        System.out.println("========================= ");
        System.out.print("Hasil = ");
        for (int i=m; i<=n; i++)
        if(i%2==0)
        System.out.print(" "+i+",");
        else
        f+=i;
        System.out.println("\nJumlah = "+f);
        System.out.println("========================= ");
    }
}


Output-nya dapat dilihat pada gambar dibawah ini.














Coding program berikutnya adalah program dengan menggunakan while.

public class ProgramWhile
{
 public static void main(String[] args)
  {
    int i=3; int f=-9;
  
    while(i<=20)
    {
      if(i%2==1)
         System.out.print(""+i+",");
      else
         f+=i;
      i++; 
    }
    System.out.println("\nJumlah = "+f);
  }
}


Output-nya dapat dilihat pada gambar dibawah ini.

Ditemukan, 100 Planet Mirip Bumi

 Teleskop Kepler menemukan lebih dari seratus planet yang besarnya seukuran Bumi. Penemuan tersebut terjadi beberapa pekan lalu setelah Kepler memindai langit untuk menemukan keberadaan planet yang mengorbit bintang.

Penemuan ini menguatkan dugaan mengenai kemungkinan bahwa manusia Bumi tidak sendirian di jagat raya ini.

Ilmuwan menduga ada sekitar seratus  planet di Galaksi Bima Sakti dengan kondisi yang sesuai, yang memungkinkan terjadi kehidupan. Mereka berharap bisa mengidentifikasi sekitar 60 planet mirip Bumi ini dalam kurun dua tahun mendatang.

Pakar astronomi, Dimitar Sasselov, seperti dikutip dari laman Daily Mail, mengatakan, bahwa teleskop mengungkap 140 planet berbeda yang memiliki ukuran mirip Bumi. "Penemuan luar biasa ini memenuhi impian Copernicus," kata Sasselov.

Kepler, yang diluncurkan Januari tahun lalu, menemukan planet-planet dengan mendeteksi tiap kali sebuah planet melintasi satu sisi sebuah bintang. Planet-planet tersebut lewat dengan sangat cepat dan hanya bisa tertangkap oleh teleskop.

Sasselov memaparkan penemuan Kepler dalam konferensi TEDGlobal di Oxford pekan lalu. "Kehidupan adalah sistem kimia -- kehidupan membutuhkan sebuah planet, air, dan bebatuan, dan kimia kompleks untuk mengawali kehidupan dan bertahan," kata Sasselov.

"Masih banyak yang perlu dilakukan dengan data-data statistik ini, tetapi jelas ada planet mirip Bumi di luar sana. Galaksi Bima Sakit kita kaya akan jenis planet seperti itu," lanjutnya.

Pada tahap berikutnya, tim ilmuwan akan mempelajari semua calon planet dan mencoba meneliti planet mana yang memiliki lingkungan untuk makhluk hidup. Sasselov mengatakan, dalam 15 tahun terakhir, hampir 500 planet ditemukan mengelilingi bintang lain di galaksi, tetapi hingga sekarang, hanya beberapa yang dinilai memiliki kemiripan dengan Bumi.

Rusia Bangun Kota Modern di Kutub Utara

Rusia sedang merencanakan untuk membangun kota ultra-modern di salah satu pulau beku di lingkar dalam Kutub Utara. Ini merupakan upaya Rusia untuk melakukan eksplorasi sumber daya alam, minyak dan gas, yang tersedia di kawasan kutub tersebut.

Kota ini akan dinamakan "Umka", yang diambil dari salah satu karakter kartun berbentuk beruang kutub, yang dibuat studio animasi Soyuzmultfilm dan populer di Rusia.
Sekitar 5.000 orang yang tinggal di Umka akan bernaung di kubah besar yang dirancang khusus untuk melindungi orang-orang di dalamnya dari suhu beku Kutub Utara. Setidaknya, suhu beku itu bisa mencapai di bawah 30 derajat Celcius di musim panas.
Walau di luar kutub ini memiliki suhu beku, tapi di dalamnya didesain dengan suhu yang hangat. Berbagai fasilitas pun disiapkan layaknya sebuah kota, termasuk bermacam fasilitas mewah.

Kami ingin orang-orang untuk tinggal dan bekerja, dan tidak menyadari kalau mereka berada di ruang tertutup, yang dikelilingi cahaya dingin ekstrim di luarnya," kata arsitek Valery Rzhevskiy, yang telah memperlihatkan desain modern ini untuk mendapat persetujuan PM Rusia Vladimir Putin.

"Kota ini juga akan penting dan strategis untuk menjadi pos terluar Rusia di Utara," lanjut Rzhevskiy.

Sumber menyebut, Umka akan ditempati oleh prajurit, penjaga perbatasan, agen rahasia, juga ilmuwan dan ahli eksplorasi Rusia. Ini sekaligus menjadi bukti keseriusan Rusia untuk memperkaya cadangan mineralnya.

Anggaran Rp10 triliun pun telah disiapkan untuk membangun kota ajaib ini di pulau terpencil Kotelniy, di kepulauan Novosibirsk, sekitar 1.600 kilometer dari inti Kutub Utara. Ini masih di wilayah Rusia, tapi lebih dekat ke Kutub Utara dibanding kota di Rusia manapun.

Umka didesain seperti Stasiun Luar Angkasa Internasional. "Sejauh ini, ini merupakan proyek satu-satunya yang menggunakan iklim buatan dan pendukung kehidupan buatan, yang ada di dunia," jelas Rzhevskiy. "Kita harus menggunakan teknologi luar angkasa untuk menciptakan ini," lanjutnya.

Listrik akan tersedia dengan menggunakan pembangkit listrik tenaga nuklir yang mengapung. Untuk persediaan makanan, akan dipenuhi dari perikanan, peternakan, juga pertanian di dalam kubah Umka.

"Tidak akan ada sampah sama sekali. Sebagai sebuah kota, akan tersedia dua pabrik pengubah semua benda tak terpakai menjadi abu," ucap Rzhevskiy.

Ini merupakan langkah signifikan Rusia terhadap kawasan Kutub Utara. Sebelumnya, dunia pernah terperanjat saat penjelajah kutub asal Rusia, Artur Chilingarov mengibarkan bendara Rusia di Kutub Utara pada 2007 silam.

"Kita harus buktikan bahwa Kutub Utara masih merupakan lanjutan dari wilayah daratan Rusia," ucap Chilingarov ketika itu.

VIDEO: Robot Amfibi Berbentuk Ular Laut

Sejumlah ilmuwan Jepang menciptakan robot yang menyerupai ular laut. Robot ACM R-5 ini pun bergerak menyerupai gerak ular laut di kedalaman laut.

Tak hanya geraknya yang menyerupai ular, ACM R-5 juga dibuat amfibi. Robot ini bisa bergerak di darat, seperti layaknya ular melata di tanah.

Dengan kemampuan ini, ACM R-5 bisa digunakan untuk memeriksa saluran pipa, langit-langit, dan pemantauan jarak jauh untuk kepentingan pengamanan.
Lihat videonya di tautan ini.
Bagaimana cara robot ular laut ini bergerak?
Para ilmuwan dari Hirose Fukushima Robotics Lab ini melengkapi ACM R-5 dengan roda pasif yang berfungsi layaknya dayung untuk membantunya bergerak maju.

Kemudian, robot ular laut ini terdiri atas sejumlah bagian, yang disambung-sambung layaknya kereta. Tiap 'gerbong' memiliki CPU, baterai, dan motor, sehingga mereka bisa bergerak.

Tiap gerbong ini kemudian dikendalikan dengan sinyal, yang kemudian bergerak secara teratur dari kepala hingga buntut.

Mahluk Luar Angkasa Menggunakan 'Twitter'?

Jejaring sosial jadi fenomena, ia berkembang tanpa batas. Bahkan, hingga luar angkasa. Maksudnya?

Para ilmuwan mengatakan bahkan mahluk luar angkasa atau alien mungkin menggunakan pola yang lebih sederhana ketika mencoba melakukan kontak dengan manusia. Seperti Twitter -- misalnya.

Para alien bisa jadi menggunakan 'tweets' kosmis untuk mengontak manusia Bumi selama beberapa dekade. Sayangnya, kata para peneliti, kita belum bisa menangkap pesan tersebut.

Namun, pesan yang dikirim ke Bumi tidak persis sama dengan pesan di Twitter yang dibatasi 140 karakter. Penelitian menunjukkan para alien mungkin mengirimkan pesan pendek -- pesan langsung berupa sinyal, bukan memancarkan sinyal ke segala arah untuk menarik perhatian manusia.
Alasannya, peradaban alien diperkirakan punya kecenderungan membuat teknologi sinyal yang lebih efisien.

"Pendekatannya lebih seperti Twitter dan tidak seperti 'War and Peace'," kata Dr James Benford, fisikawan dan ketua Microwave Sciences, seperti dimuat laman Daily Mail.

Sementara, kembarannya, Gregory -- astrofisikawan dari Universitas Kalifornia mengatakan apapun bentuk kehidupannya, proses evolusi adalah proses memilih sumber daya yang lebih ekonomis.

"Mengirimkan sinyal melintasi tahun cahaya membutuhkan sumber daya yang besar," tambah dia.

Baik James maupun Gregory menyimpulkan bahwa ilmuwan yang tergabung dalam organisasi pencarian kehidupan ekstraterrestrial, Search for Extra-Terrestrial Intelligence (SETI) telah melakukan pendekatan yang salah selama setidaknya lima dekade.

Seperti ditulis dalam jurnal Astobiology, dua bersaudara Benfords mengatakan sinyal dari alien tidak dipancarkan ke segala arah namun, lebih mirip peluru,  ditujukan ke satu sampai 10 gigahertz jarak  gelombang elektromagnetik.

Dalil SETI bahwa  alien mencoba menjalin kontak dengan manusia dengan cara memancarkan sinyal seperti mercusuar yang menyapu galaksi, dibantah dua bersaudara itu. Kata mereka, pesan yang dikirim lebih mungkin mirip Twitter yang bisa bertahan beberapa hari.

Benfords bersaudara juga mengatakan ilmuwan SETI telah mencari di tempat yang salah -- dengan mengarahkan teleskop radio ke bintang terdekat, berharap mendapatkan sinyal atau suara  dari kehidupan alien.

"Broadcasting itu mahal dan membutuhkan banyak energi -- apalagi untuk mengirimkan sinyal melintasi tahun cahaya."

Seharusnya, SETI mencari alien di pusat galaksi.

"Banyak bintang yang miliaran tahun lebih tua dari Matahari -- pusat tata surya. Itu menunjukkan ada kemungkinan besar untuk membuat kontak dengan peradaban yang lebih maju dan ramai yang ada di galaksi kita," kata Gregory Benford.

Korban Gempa Turki Hadapi Udara Dingin

Tim penyelamat terus berlomba dengan waktu untuk menemukan para korban gempa Turki yang masih terkubur reruntuhan. Hingga saat ini jumlah korban tewas mencapai 366 jiwa, korban luka sebanyak 1301 jiwa, dan puluhan ribu lainnya kehilangan tempat tinggal.

Kantor Perdana Menteri menyatakan bahwa gempa juga menyebabkan kerugian material berupa robohnya 2.000 gedung, seperti dimuat laman MSN pada Selasa 25 Oktober 2011. Di kota Van yang menjadi pusat gempa sebesar 7,2 skala Richter, para pasukan penyelamat terus bekerja siang dan malam mencari tubuh-tubuh tak bernyawa di bawah puing.

Para korban yang berada di jalan harus berjuang melawan udara dingin menusuk kulit dengan hanya berbekal selimut tebal dan makanan bantuan. Beberapa di antara mereka turut membantu mencari korban yang masih belum ditemukan.

"Gempa membuat hidup kami jadi seperti di neraka. Kami berada di luar, udaranya sangat dingin, dan tak ada tenda untuk tempat berteduh," kata Emin Kayram, salah seorang korban. "Rasanya seperti kiamat," kata Mesut Ozan Yilmaz, korban luka yang sempat terkubur hidup-hidup selama 32 jam.

Pencarian korban saat ini berkonsentrasi di kota Ersic yang paling parah terdampak gempa. Para korban masih takut kembali ke rumah karena khawatir masih akan ada gempa susulan lagi.

Pusat Penanggulangan Bencana dan Bulan Sabit Merah Turki dikritik karena dianggap lalai dan lamban dalam memberikan bantuan tenda, selimut, dan makanan. Para korban mengeluhkan jumlah bantuan yang berbanding terbalik dengan jumlah mereka.

Namun beberapa negara, bahkan yang berseteru dengan Turki sekalipun, bersedia mengulurkan tangan untuk meringankan beban para korban. Amerika Serikat, Azerbaijan, Iran, Bulgaria, Israel, Yunani, dan Armenia mengirimkan bantuan walaupun Turki menyatakan saat ini masih bisa bertahan.