Minggu, 27 Oktober 2013

TUGAS

“ ALGORITMA DAN PEMROGRAMAN 3 ”
KELOMPOK :
ABDUL GHAFIQI YAMINI (20112028)
NURSAMSA APRIANA (25112516)
MARTIN SURYA DARMA (24112464)
MAHBUB KUSAERI (24112383)

KELAS :

2KB03


UNIVERSITAS GUNADARMA
DEPOK
2013


MEMBUAT PROGRAM POLYMORPHISM DAN PHYTAGOREAN

  • Buka program netbeans, kemudian new project > java > java application, beri nama pada : 

  • Codingan PolymorphismToy.java

package toy;
public class PolymorphismToy{
    static void test(){
        RectangleToy theRectangle = new RectangleToy(100,200);
        SquareToy theSquare = new SquareToy(100);
        CircleToy theCircle = new CircleToy(100);
       
        printGeometry(theRectangle);
        printGeometry(theSquare);
        printGeometry(theCircle);
    }
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         test();
   }
   static void printGeometry(GeometryToy theG){
       System.out.println("========================================");
       System.out.println("Geometri          : "+theG.getGeometry());
       System.out.println("Luas geometri     : "+theG.area());
       System.out.println("keliling geometri : "+theG.circumference());
       System.out.println("========================================");
   }
}
abstract class GeometryToy{
    abstract public String getGeometry();
    abstract public double area();
    abstract public double circumference();
}
class RectangleToy extends GeometryToy{
    double width, height;
    public RectangleToy (double newWidth, double newHeight){
        width = newWidth;
        height = newHeight;
    }
    public String getGeometry(){
        return "Persegi panjang";
    }
    public double area(){
        return width * height;
    }
    public double circumference(){
        return 2 * (width + height);
    }
}
class SquareToy extends GeometryToy{
    double side;
    public SquareToy (double newSide){
        side = newSide;
    }
    public String getGeometry(){
        return "Bujur Sangkar";
    }
    public double area(){
        return side * side;
    }
    public double circumference(){
        return 4 * side;
    }
}
class CircleToy extends GeometryToy{
    final double PI=3.14159;
    double radius;
    public CircleToy (double newRadius){
        radius = newRadius;
    }
    public String getGeometry(){
        return "Lingkaran";
    }
    public double area(){
        return PI * radius * radius;
    }
    public double circumference(){
        return 2.0 * PI * radius;
        // TODO code application logic here
    }
}

  • Penjelasan Statement:

Public class Polymorphismtoy {

Modifier public :berarti metod tersebut dipanggil bisa untuk semua class.
Pada definisi class, merupakan class yang memuat metod main(), dan nama file disimpan dengan nama class public
Pada definisi metod, bermakna bahwa metod tersebut dapat diakses dari luar class yang bersangkutan
 Pada daefinisi data, bermakna data tersebut dapat diakses dari luar class

Static void test() {

Modifier static pada metod : berarti metod tersebut dapat dipanggil hanya dari dalam class yang sama
Modifier void pada metod: berarti Metod tersebut tidak ada return valuenyaatau bisa juga disebut type datayang tidak mempunyai nilai balik.

RectangleToy theRectangle
SquareToy theSquare
CircleToy

3 nama itu merupakan nama objek dari class PolymorphismToy.

System.out.println(“=============================================”);
System.out.println(“Geometri                    :”+theG.getGeometry());
System.out.println(“Luas Geometri           :”+theG.area());
Sysytem.out.println(“Keliling geomteri    :”+theG.circumference());
System.out.println(“=============================================”);

Itu merupakan encapsulation ..Encaptulation: konsep dalam OOP yang bertujuan membungkus (mang-kapsul) data dan metode dalam suatu class sehingga data dan metode yang tersembunyi dalam class tidak dapat diases dari luar class.

Abstract class GeometryToy {

abstract class / kelas abstrak, sesuai namanya adalah kelas yang belum jelas spesifikasinya.
kelas abstrak digunakan untuk membuat sebuah kelas yang memiliki method yang belum jelas implementasinya. berikut ini aturan nya :
  • jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak.
  • sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
  • jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya.
  • jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.

sementara itu dulu aturan yang harus dipahami ketika anda membuat kelas abstrak dan menggunakan kelas abstrak, aturan – aturan lain akan anda temui ketika anda mulai membuatnya.
Public double area() { => Untuk mencari tinggi dan lebar area.
Public double circumference() { => Untuk Mencari tinggi dan lebar cicrcumference.
Return “Persegi panjang”; => mengembalikan nilai persegi panjang, keluar dari method fungsi informasi.
Private adalah kode yang sesuai dengan namanya, akses ini bersifat private. dengan kata lain data maupun method hanya dapat diakses oleh kelas yang dimilikinya saja.

  • kemudian klik kanan pada Project toy > new > java class


  • Kemudian finish
  • Lalu ketikan kode program dibawah.

public class PhytagoreanTripletToy {
    
    private int number=0;
    private int numberOfTriplet=0;
    final int MAX_OF_TRIPLETS = 100;
   
    private int[] tripletA = new int [MAX_OF_TRIPLETS];
    private int[] tripletB = new int [MAX_OF_TRIPLETS];
    private int[] tripletC = new int [MAX_OF_TRIPLETS];
   
    public PhytagoreanTripletToy(int number) {
        this.number = number;
        bruteForce();
    }
    public int getNumberOfTriplet(){
        return numberOfTriplet;
    }
    public int getNumber() {
    return number;
    }
    public void bruteForce(){
        for (int i=1;i<=number;i++){
            for (int j=1;j<=number;j++){
                for (int k=1;k<=number;k++){
                    if (i*i == (j*j + k*k)){
                        tripletA[numberOfTriplet] = i;
                        tripletB[numberOfTriplet] = j;
                        tripletC[numberOfTriplet] = k;
                    }
                }
            }
        }
    }
    public String toString(){
        String str="";
        for (int i=0;i<numberOfTriplet;i++)
            str += tripletA[i]+"\t"+tripletB[i]+"\t"+tripletC[i]+"\n";
            return str;
          }
    static void test(){
        System.out.println(new PhytagoreanTripletToy(10));
    }
     public static void main(String[] args){
       test();
    }
}
  • Penjelasan Statement
public class PhytagoreanTripletToy {
-          Class di beri nama PhytagoreanTripletToy

 private int number=0;
private int numberOfTriplet=0;
final int MAX_OF_TRIPLETS = 100;

-          Variable number dan numberOfTriple bertipe data int(interger)

private int[] tripletA = new int [MAX_OF_TRIPLETS];
private int[] tripletB = new int [MAX_OF_TRIPLETS];
private int[] tripletC = new int [MAX_OF_TRIPLETS];
   
-          Dengan menggukanan data dan method dengan tingkat akses private,maka data dan method tersebut hanya dapat di akses oleh kelas yang di milikinya saja. Modifier private, menunjukkan bahwa suatu class, method atau variabel hanya dapat diakses dari dalam kelas tersebut. modifier ini biasanya digunakan untuk kelas, method, atau variabel yang memang ingin disimpan atau tidak dapat digunakan oleh kelas yang lain (tidak berguna untuk kelas yang lain).

public PhytagoreanTripletToy(int number) {
this.number = number;
bruteForce();
}
Kata kunci
this dipergunakan pada pembuatan kelas dan digunakan untuk menyatakan objek sekarang. Untuk menghindari variabel yang sama antara variabel class dengan variabel property.

public int getNumberOfTriplet(){
return numberOfTriplet;
}
public int getNumber() {
return number;
}

Method Set dan Get sebenarnya adalah suatu method untuk mengubah dan mendapatkan nilai suatu variabel.

Dalam JAVA, statement Return ini digunakan untuk keluar dari eksekusi kode program yang terdapat dalam sebuah method
.

    public void bruteForce(){
        for (int i=1;i<=number;i++){
            for (int j=1;j<=number;j++){
                for (int k=1;k<=number;k++){
                    if (i*i == (j*j + k*k)){
                        tripletA[numberOfTriplet] = i;
                        tripletB[numberOfTriplet] = j;
                        tripletC[numberOfTriplet] = k;
                    }
                }
            }
        }
    }

-          Public void Suatu anggota kelas (class member) dideklarasikan sebagai public, maka anggota tersebut akan bisa digunakan oleh siapa saja, yaitu baik oleh kelas yang sama, kelas lain maupun lingkungan luar kelas. Sehingga anggota kelas (class member) yang dideklarasikan sebagai public akan bisa diakses oleh sembarang object lain.

-          Fungsi increment adalah, sebuah fungsi yang akan selalu menambahkan nilai 1 pada variabel yang dikenai oleh fungsi tersebut. Dalam kasus di atas, variabel yang dikenai oleh fungsi increment adalah variabel i, dan fungsi decrement adalah sebaliknya.

-          int i;
Proses pendeklarasian variabel yang akan kita gunakan dalam program. Semua variabel yang akan  digunakan harus dideklarasikan terlebih dahulu. Dalam kasus kali ini, kita hanya membutuhkan 1 variabel saja yaitu variabel i, maka yang kita deklarasikan pun cuma 1 variabel saja.

-           for (int i=1;i<=number;i++){
 Variabel i yang sudah dideklarasikan tadi di atas, akan langsung dimasukkan ke dalam perulangan.

-          If dan case digunakan jika ingin membuat suatu perbandingan atau membuat pilihan pada suatu nilai. If dan case mempunyai tujuan yang sama yaitu percabangan. Semua tergantung kita mau pilih yang mana karena output program sama saja. Bedanya hanya pada penulisan sintak program .

public String toString(){
        String str="";
        for (int i=0;i<numberOfTriplet;i++)
            str += tripletA[i]+"\t"+tripletB[i]+"\t"+tripletC[i]+"\n";
            return str;
          }
    static void test(){
        System.out.println(new PhytagoreanTripletToy(10));
    }
     public static void main(String[] args){
       test();
    }
}

-          System.out.println(new PhytagoreanTripletToy(10));

 Akan menampilkan tulisan "Hasil Fungsi FOR ke -  ....." ke layar monitor . Titik titik (.....) akan diisi oleh nilai i.
-          String adalah tipe data untuk teks yang merupakan gabungan huruf, angka, whitespace (spasi), dan berbagai karakter. Fungsi ini digunakan untuk membuat identifier String/teks.

Tampilan selanjutnya dari program java membuat PhytagoreanToy.java
yang sudah dapat di jalankan atau di run dengan menggunakan NetBeans :


Tampilan Output dari Program di atas :


Kamis, 31 Januari 2013

Apa itu kearifan lokal ?

Apakah Kearifan Budaya Lokal itu? 


Menurut Direktur Afri-Afya, Caroline Nyamai-Kisia, kearifan lokal adalah sumber pengetahuan yang diselenggarakan dinamis, berkembang dan diteruskan oleh populasi tertentu yang terintegrasi dengan pemahaman mereka terhadap alam dan budaya sekitarnya.


Kearifan lokal adalah dasar untuk pengambilan kebijakkan pada level lokal di bidang kesehatan, pertanian, pendidikan, pengelolaan sumber daya alam dan kegiatan masyarakat pedesaan


Dalam kearifan lokal, terkandung pula kearifan budaya lokal. Kearifan budaya lokal sendiri adalah pengetahuan lokal yang sudah sedemikian menyatu dengan sistem kepercayaan, norma, dan budaya serta diekspresikan dalam tradisi dan mitos yang dianut dalam jangka waktu yang lama. 

Jadi, untuk melaksanakan pembangunan disuatu daerah, hendaknya pemerintah mengenal lebih dulu seperti apakah pola pikir dan apa saja yang ada pada daerah yang menjadi sasaran pembangunan tersebut. Adalah sangat membuang tenaga dan biaya jika membuat tempat wisata tanpa memberi pembinaan kepada masyarakat setempat bahwa tempat wisata tersebut adalah  "ikon" atau sumber pendapatan yang mampu mensejahterakan rakyat didaerah itu. Atau lebih sederhananya, sebuah pembangunan akan menjadi sia-sia jika pemerintah tidak mengenal kebiasaan masyarakat atau potensi yang tepat untuk pembangunan didaerah tersebut.

Dan apakah yang akan terjadi setelah itu? Pembangunan tersebut akan tidak tepat sasaran, bahkan mungkin akan menyengsarakan rakyat dan tidak membawa kemajuan berarti karena ketidak pahaman pemerintah terhadap kearifan lokal maupun kearifan budaya lokal pada daerah tersebut. Seperti halnya pertambangan emas di wilayah timur Indonesia.  Mungkin mereka membawa keuntungan bagi negara, tapi bagaimanakah tingkat kesejahteraan penduduknya? Nampaknya mereka masih ada pada garis kemiskinan yang mengakibatkan kurangnya pendidikan. 

Pembangunan yang tepat bukan berarti menghilangkan adat istiadat atau menghilangkan kekayaan budaya pada suatu daerah, tapi sebenarnya, memajukan potensi dan kekayaan yang ada pada daerah tersebut. Sebab, jika pembangunan malah menghilangkan adat istiadat, maka bisa dipastikan bahwa bangsa tersbut akan kehilangan jati dirinya.




Contoh pembangunan yang memanfaatkan kearifan lokal adalah diperbaharuinya fasilitas pada daerah penghasil garam di Madura. Fasilitas yang diperbaharui antara lain adalah jalan, listrik dan pelabuhan. Tidak hanya itu, Sumber Daya Manusianya juga semakin diperbaharui dengan peningkatan mutu keterampilan pada sekolah-sekolah.

Dengan begitu, tidak hanya berdampak positif didaerah Madura saja, negara ini juga tidak perlu mendatangkan garam dari luar negeri. bahkan mungkin, suatu saat garam di Madura mampu menjadi salah satu daerah penghasil garam andalan se ASEAN atau bahkan sedunia. Hal yang cukup bijak untuk menghemat pengeluaran dan meningkatkan mutu dalam negeri


Silahkan kunjungi juga
BAAK Gunadarma untuk mendapat info seputar perkuliahan mahasiswa Universaitas Gunadarma

:)