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