Minggu, 08 April 2012

REKURSIF Struktur data JAVA

BAB I
A. DASAR TEORI
Metoda rekursif adalah metoda mengulang dirinya sendiri. Metoda ini memanggil dirinya sendiri untuk melakukan proses berulang-ulang. Kasus sederhana yang sering muncul adalah proses berulang-ulang menghitung hasil factorial. Misalnya adalah factorial dari 5 adalah 1 x 2 x 3 x 4 x 5. Dari proses itu kita ketahui bahwa untuk menghitung factorial 5 manualnya seperti 1 x 2 = 2, lalu hasil 2 ini dikalikan 3 sehingga hasilnya adalah 6, lalu hasil 6 ini dikalikan lagi dengan 4 sehingga hasilnya adalah 36, lalu hasil 36 ini dikalikan dengan 5 sehingga hasilnya adalah 120.
Nah inilah yang dinamakan rekursif, hasil dari proses awal digunakan lagi untuk proses berikutnya sampai batas yang diinginkan.
Langsung aja ya ke javany
   Didalam rekursif terdapat prosedur dan fungsi yang harus dipanggil lewat pemanggilan prosedur atau fungsi itu sendiri.
Rekursif ini dipakai karena memiliki kelebihan yaitu penulisan baris program dapat menjadi lebih singkat, tetapi memiliki kekurangan yaitu membutuhkan banyak memori, karena setiap kali program bagian dipanggil oleh dirinya sendiri, dibutuhkan sejumlah ruang memori tambahan.
Proses yang bersifat rekursif, terjadi apabila dalam sebuah fungsi ada instruksi yang memanggil fungsi itu sendiri, atau lebih sering juga disebut memanggil dirinya sendiri



B. PERMASALAHAN
Membuat fungsi faktorial
Contoh : 4 !
= 1x 2x 3x 4
= 24


C. PENYELESAIAN

Flowchart
     
       

         



Source code
class main {
    int fak_rekursif(int n){
       int Hasil;
       if(n==1 || n==0) return 1;
       Hasil = fak_rekursif(n-1) * n;
       return Hasil; }

}


Main Method

public class mainmethod {
     public static void main(String args[]){
         main fak = new main();
         JOptionPane.showMessageDialog(null,"Faktorial dari 4 adalah : "+ fak.fak_rekursif(4));
    }
    }




Output






D. KESIMPULAN
Jadi kesimpulannya, rekursif adalah salah satu teknik dasar pemograman yang pada prinsipnya adalah sebuah rutin program yang memanggil dirinya sendri. Banyak masalah dalam pemograman yang dapat di selesaikan dengan metode ini . Salah satu contoh kasus rekursif yang di bahas pada tugas pendahuluan saya kali ini adalah faktorial 4 (4!) dengan hasil sebanyak 24 yang saya selesaikan dengan metode rekursif



E. DAFTAR PUSTAKA
Modul Praktikum Struktur data
http://blog.fastncheap.com/merubah-pengertian,rekursif/#ixzz1hPX1252C

Minggu, 18 Maret 2012


Makna Sebuah Pendidikan

Pendidikan adalah sebuah proses, proses penanaman nilai-nilai, pengetahuan dan skill/keahlian hidup. Proses itu di fasilitasi oleh seorang atau lebih fasilitator (guru) yang handal (berkompeten) yang diharapkan mampu menyanjikan menu-menu yang menarik dan sajian-sajian yang membuat sang aktor (murid) mampu berperan aktif meningkatkan kualitas dirinya sesuai dengan kemampuan bawaan, bakat, potensi diri agar kelak ia mampu mengarungi bahtera kehidupan dalam dunia yang semakin mengecil ini.



Itulah makna sebuah pendidikan. Pendidikan bukanlah sebuah perlombaan atau kompetisi, tetapi pendidikan merupakan ajang peningkatan kualitas diri peserta didik dari bebagai sisi sesuai dengan potensi masing-masing yang dimiliki. Berkaitan dengan hal tersebut sudah saatnya para aktor-aktor pendidikan (guru) mengoreksi dan membuka diri untuk merubah paradigma lama pendidikan yang hanya menjadikan manusia sebagai robot, dan menjadikan guru sebagai satu-satunya sumber yang jauh dari kesalahan (suci, ma’sum). Guru juga manusia, begitu bunyi sebuah lyric lagu, muridpun manusia. Dan pada diri setiap manusia punya potensi untuk berlaku salah dan benar, berlaku salah dibenarkan (oleh yang tahu) dan jika sudah benar ditingkatkan dengan mengabdikan diri untuk manusia yang lainya.

   Pendidikan adalah usaha sadar dan terencana untuk mewujudkan suasana belajar dan proses pembelajaran agar peserta didik secara aktif mengembangkan potensi dirinya untuk memiliki kekuatan spiritual keagamaan, pengendalian diri, kepribadian, kecerdasan, akhlak mulia, serta keterampilan yang diperlukan dirinya dan masyarakat

Fungsi pendidikan

Menurut Horton dan Hunt, lembaga pendidikan berkaitan dengan fungsi yang nyata (manifes) berikut:
  • Mempersiapkan anggota masyarakat untuk mencari nafkah.
  • Mengembangkan bakat perseorangan demi kepuasan pribadi dan bagi kepentingan masyarakat.
  • Melestarikan kebudayaan.
  • Menanamkan keterampilan yang perlu bagi partisipasi dalam demokrasi.
Fungsi laten lembaga pendidikan adalah sebagai berikut.
  • Mengurangi pengendalian orang tua. Melalui pendidikan, sekolah orang tua melimpahkan tugas dan wewenangnya dalam mendidik anak kepada sekolah.
  • Menyediakan sarana untuk pembangkangan. Sekolah memiliki potensi untuk menanamkan nilai pembangkangan di masyarakat. Hal ini tercermin dengan adanya perbedaan pandangan antara sekolah dan masyarakat tentang sesuatu hal, misalnya pendidikan seks dan sikap terbuka.
  • Mempertahankan sistem kelas sosial. Pendidikan sekolah diharapkan dapat mensosialisasikan kepada para anak didiknya untuk menerima perbedaan prestise, privilese, dan status yang ada dalam masyarakat. Sekolah juga diharapkan menjadi saluran mobilitas siswa ke status sosial yang lebih tinggi atau paling tidak sesuai dengan status orang tuanya.
  • Memperpanjang masa remaja. Pendidikan sekolah dapat pula memperlambat masa dewasa seseorang karena siswa masih tergantung secara ekonomi pada orang tuanya.

Pentingnya Pendidikan Bagi Kehidupan

Mungkin sedikit demi sedikit Indonesia juga sadar akan pentingnya pendidikan. Hari Pendidikan Nasional (Hardiknas) yang jatuh pada tanggal 2 Mei menitikberatkan atau mengambil tema pendidikan karakter untuk membangun peradaban bangsa dan seperti yang diberitakan bahwa Kementrian Pendidikan Nasional telah menyediakan infrastruktur terkait akses informasi bekerja sama dengan MNC Group, melalui TV berbayarnya, Indovision menyiarkan siaran televisi untuk pendidikan.Dan juga penyediaan taman bacaan di pusat perbelanjaan. Namun apakah pendidikan karakter ini bisa mengubah masalah-masalah yang sering kita hadapi dalam dunia pendidikan?
Didalam UU No.20/2003 tentang sistem pendidikan Nasional, tercantum pengertian pendidikan: “pendidikan adalah usaha sadar dan terencana untuk mewujudkan suasana belajar dan proses pembelajaran agar peserta didik secara aktif mengembangkan potensi dirinya sehingga memiliki kekuatan spiritual keagamaan, pengendalian diri, kepribadian, kecerdasan, akhlak mulia, serta keterampilan yang diperlukan oleh dirinya, masyarakat, banga dan negara” Namun satu pertanyaan, sudahkah pendidikan kita seperti yang tercantum dalam UU tersebut?

Jumat, 16 Maret 2012

Implementasi Rekursi Menara Hanoi – Bahasa C

 
 
 
 
 
 
2 Votes
Permainan Tower of Hanoi atau Menara Hanoi merupakan permainan klasik yang sudah sangat sering digunakan sebagai contoh permasalahan yang dapat diselesaikan dengan cara rekursi.
Secara singkat Menara Hanoi adalah permainan untuk memindahkan n piringan dari tiang A ke tiang C dengan tiang bantu B, dimana kepingan yang lebih besar harus berada di bawah kepingan yang lebih kecil.
ni adalah cara penyelesaian Menara Hanoi atau Tower of Hanoi secara rekursif beserta animasi tiap pergerakannya :
#include <stdio.h>      //definisi printf,scanf
#include <conio.h>      //definisi getch
#include <stdlib.h>     //definisi system
#include <windows.h>    //definisi Sleep

int initialize(int arr1[],int x[]);
void print(int arr1[],int arr2[],int arr3[],int x[]);
void Hanoi(int arr1[],int arr2[],int arr3[],int x[],int n,char asal,char bantu,char tujuan);

int main()
{
    int n;
    int arr1[100],
        arr2[100],
        arr3[100],
        x[3] = {0,0,0};

    n = initialize(arr1,x);
    print(arr1,arr2,arr3,x);
    Hanoi(arr1,arr2,arr3,x,n,'A','B','C');
    getch();
    return 0;
}

int initialize(int arr1[],int x[]){
     int n;
     while (true){
         system("cls");
         printf("= = = = | T O W E R   O F   H A N O I - tutorialpemrograman.wordpress.com | = = = =\n\n");
         printf("Jumlah Kepingan :  ");
         if (scanf("%d",&n) == 1 ) break;
         fflush(stdin);
     }
     puts("");
     for (int i=n;i>=1;i--){
        arr1[x[0]++] = i;
     }
     return n;
}

void print(int arr1[],int arr2[],int arr3[],int x[]){
     int i,
         j = 0;
     for (j=0;j<3;j++){
         if (j == 0)printf("A : ");
         if (j == 1)printf("B : ");
         if (j == 2)printf("C : ");
         for (i=0;i<x[j];i++){
             if (j == 0) printf("%3d",arr1[i]);
             if (j == 1) printf("%3d",arr2[i]);
             if (j == 2) printf("%3d",arr3[i]);
         }
         printf("\n");
     }
     printf("\n");
}

// pindahkan piringan ke n dari asal menuju tujuan melalui bantu
void Hanoi(int arr1[],int arr2[],int arr3[],int x[],int n,char asal,char bantu,char tujuan)
{ 

    if (n == 0) return;
    //pindahkan piringan ke n-1 dari asal ke bantu melalui tonggak tujuan
    Hanoi(arr1,arr2,arr3,x,n-1,asal,tujuan,bantu); 

    printf("... Memindahkan kepingan ke-%d dari %c ke %c ...\n\n",n,asal,tujuan);
    x[asal-65] -= 1;
    switch (tujuan){
           case 'A' :
                arr1[x[0]++] = n;
                break;
           case 'B' :
                arr2[x[1]++] = n;
                break;
           case 'C' :
                arr3[x[2]++] = n;
                break;
    }
    print(arr1,arr2,arr3,x);
    Sleep(1000);
    //pindahkan piringan ke n – 1 dari bantu menuju tujuan melalui asal
    Hanoi(arr1,arr2,arr3,x,n-1,bantu,asal,tujuan);
}
 
 
Langkah-langkah pemanggilan fungsi rekursinya adalah sebagai berikut :
3 A B C
 2 A C B
  1 A B C
   0 A C B
  1 A B C
  Pindahkan piringan ke 1 ke dari A ke C
   0 C A B
  1 A B C
 2 A C B
 Pindahkan piringan ke 2 ke dari A ke B
  1 C A B
   0 C B A
  1 C A B
  Pindahkan piringan ke 1 dari C ke B
   0 A C B
  1 C A B
 2 A C B
3 A B C
Pindahkan piringan ke 3 ke dari A ke C
 2 B A C
  1 B C A
   0 B A C
  1 B C A
  Pindahkan piringan ke 1 ke dari B ke A
   0 C B A
  1 B C A
 2 B A C
 Pindahkan piringan ke 2 ke dari B ke C
  1 A B C
   0 A C B
  1 A B C
  Pindahkan piringan ke 1 dari A ke C
   0 B A C
  1 A B C
 2 B A C
3 A B C
 

Die Türme von Hanoi

Tower of Hanoi, 10 rings

Selasa, 10 Januari 2012

tutorial Photoshop


tutorial
photoshope
Sandhals Raksasa




 











1.      aktifkan photoshop, kemudian buka foto dengan memilih menu file > open
2.      pada kotak dialog klik my Computer > local Dish D > sepatu







3.      Kemudian pilih foto dengan nama fite sandals-4563_640



4.      klik Margnetic Lasso Tool

5.      Seleksi Sandals paling bawah serta bayangannya. Seperti di tunjukkan gambar berikut.


6.      Tekan menu Edit > Free Transform (Ctrl + T)

7.      Kemudian perbesar ukuran Sandals sambil menahan tombol Shift agar ukurannya proporsial, lalu tekan Enter

















8.      Geser Sandals pada tempat semula, lalu hilangkan seleksi dengan menekan Ctrl+D

Minggu, 01 Januari 2012

Contoh coding JAVA • Program Penentu Bilangan Ganjil - Genap


Permasalahan
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Asus
 */
public class Array {
    public static void main(String[] args) {

    }

}




Penyelesaian
import javax.swing.*;
/**
 *
 * @author Asus
 */
public class bilangan_genap_ganjil {
    public static void main(String[] args) {
        System.out.println("Program Penentu Bilangan Ganjil - Genap");
String input=JOptionPane.showInputDialog("Masukan Agka :");
int bilangan=Integer.valueOf(input);
if (bilangan%2==0)
System.out.println("Angka "+ bilangan +" = Bilangan Genap"); // menampilkan apabila bilangan Genap
else
System.out.println("Angka "+ bilangan +" = Bilangan Ganjil"); // menampilkan apabila bilangan Ganjil


}
}