transformasi..

May 9, 2007 at 8:54 am | Posted in mbuh.. | 2 Comments

kata seorang teman, islam itu men”transformasi”kan bukan mer”ubah”. kedatangan islam di indonesia juga tidak kemudian merubah budaya indonesia.hanya mentransformasikan budaya yang telah ada ke dalam budaya islam.

seperti yang terjadi dalam Object oriented programming -OOP.red-, ada sebuah konsep bernama pewarisan. dalam OOP, jika saya mempunyai sebuah lingkaran, saya bisa mentranformasikan lingakran tersebut menjadi sebuah bola,kerucut atau tabung. saya tidak perlu mengubah bentuk dasar dari lingkaran tersebut. hanya mentranformasikan. sesuai dengan yang saya inginkan.

begitu juga dengan halnya dengan hidup. hidup merupakan suatu objek.  kehidupan manusia saat ini fitrah adanya. manusia pun semua sama. tidak perlu mengubah kehidupan manusia. hanya mentransformasikan kehidupan manusia menggunakan method islam. karena hanya islam yang mampu mengembalikan hidup manusia sesuai fitrahnya.

seorang umar bin khattab,seorang preman pasar pada zaman itu. saat mengenal islam,tidak kemudian dia melepaskan jati dirinya sebagai preman. dia hanya mentransformasikan kepremanannya ke <klo kata pak opik> “koridor kebenaran”.

maka kemudian,ketika dunia sudah ndak lagi mengenal islam, ketika dunia sudah menanti kehancurannya, sudah saatnya islam untuk mentranformasikan nilai-nilai yang sudah ada. dan tranformasi seharusnya lebih mudah dibanding dengan merubah. dan ketakutan-ketakutan yang muncul ketika nilai islam diterapkan,adalah sebuah ketakutan tak beralasan.

manusia

May 9, 2007 at 8:19 am | Posted in mbuh.. | Leave a comment

manusia. selalu sama. tak peduli dari zaman SM hingga zaman 2007 M. semua manusia sama. software dan hardware nya sama. Allah menciptakan semua manusia sama.

manusia terdiri dari naluri(ghorizah), kebutuhan pokok(hajatul udhowiyah-HU) dan akal.

{ naluri manusia ada tiga: 1. naluri Na’u = rasa mencintai dan menyayangi, 2. naluri baqa’= eksistensi diri, 3.naluri tadayyun=penghambaan diri. sifat dari naluri ini pemancingannya bisa dari eksternal maupun internal. emosi, bisa saya sebut sebagai naluri. maka ketika ada orang yangmencintai, yang marah-marah,yang ingin menikah,yang ingin lulus cumlaude,yang merasa kecil di depan tuhannya,yang takut ma bosnya,dll, maka itu adalah naluri. dan itu lumrah adanya.

setiap manusia mempunyai yang namanya tiga naluri tadi. hanya saja,tiap manusia mempunyai proporsi yang berbeda. ada yang naluri nau’nya tinggi,sehingga rasa kasih sayangnya lebih tinggi dibanding manusia yg lain. dan ada juga yang naluri baqo’nya lebih tinggi di banding naluri yang lain.begitu juga dengan naluri tadayyun.  }

{

selain naluri,manusia juga di bekali hajatul udhowiyah-HU (kebuthan pokok). berbeda dengan ghorizah,HU harus dipenuhi.karena, kalo tidak,manusia bakalan mati. kebutuhan pokok adalh kebutuhan yang hadir dari dalam diri manusia. exp: makan,tidur,buang kotoran,dll

}

{

hal yang membedakan antara manusia dengan binatang adalah akal. binatang juga mempunyai ghorizah dan HU. tapi binatang ndak punya akal. maka kata aristoteles,manusia adalah binatang yang berfikir.

}

siapapun manusianya,dimanapun manusianya,kapanpun manusianya hidup. manusia tetap manusia. mempunyai potensi yang sama. hanya pengolahannya yang berbeda. maka sebagai seorang muslim,semestinya,seidealnya,dan sewajarnya, pemenuhan naluri dan HU manusia menggunakan akal yang dibangun berdasarkan sebuah ideolgi yang sempurna yaitu islam saja.

Queue (antrian)

May 9, 2007 at 5:19 am | Posted in Informatic | 14 Comments

Merupakan kumpulan data yang penambahan elemennya hanya bisa dilakukan pada sisi belakang dan penghapusannya hanya bisa dilakukan pada sisi depan. Konsep utamanya berkebalikan dari stack (tumpukan), yaitu First In First Out. Contoh : orang antri beli tiket ke kebun binatang, Mahasiswa antri bayar KRS. Implementasi antrian menggunakan dua pointer, yaitu pointer yang menunjukkan elemen terdepan dan elemen terakhir

Operasi antrian

1. Menambah elemen baru pada bagian belakang antrian

2. Menghapus elemen baru pada bagian depan antrian

3. Melakukan pengecekan apakah antrian kosong. tidak mungkin menghapus antrian yang sudah kosong.

CONTOH PROGRAM USING C++ :

unit antrih.h

# include <iostream.h>

# include <stdlib.h>

# include <conio.h>

# define alamat Elemen*

// inisialisasi type data dan variable serta fungsi yang dibutuhkan

typedef char tInfo;

typedef struct Elemen

{

tInfo Info;

alamat Berikut;

}tElemen;

typedef struct tagAntrian

{

alamat kepala;

alamat ekor;

} Antrian;

void inisialisasi(Antrian* Q);

void enQueue(Antrian* Q, tInfo info);

void deQueue(Antrian* Q, tInfo* Info);

int queueKosong (Antrian Q);

//insisialisasi antrian

void inisialisasi(Antrian* Q)

{

Q->kepala = NULL; //kepala antrian bernilai null;

Q->ekor = NULL; //ekor antrian bernilai null;

}

// Operasi enqueue

void enQueue(Antrian* Q, tInfo info)

{

alamat P; // tipe data P adalah alamat

P = new Elemen; //(alamat) malloc(sizeof(alamat));

if (queueKosong(*Q))

{

P->Info = info; //elemen Info berisi info

P->Berikut = NULL; //elemen Berikut bernilai null

Q->ekor = P; // ekor antrian berisi P

Q->kepala = Q->ekor; // kepala antrian berisi ekor antrian

}

else

{

P->Info = info;

P->Berikut = NULL;

Q->ekor->Berikut = P; //ekor antrian berikut bernilai P

Q->ekor = P; //ekor antrian berisi P

}

}

// Operasi dequeue

void deQueue(Antrian* Q, tInfo* Info)

{

alamat P;

P = Q->kepala;

*Info = P->Info;

if ((Q->kepala) == (Q->ekor))

{

Q->kepala = NULL;

Q->ekor = NULL;

}

else

{

Q->kepala = Q->kepala->Berikut;

// kepala antrian berisi kepala antrian berikutnya

}

free(P);

cout<<endl;

}

//

int queueKosong(Antrian Q){

return ((Q.kepala==NULL) && (Q.ekor==NULL));

}

unit antrih.cpp

# include <iostream.h>

# include <stdlib.h>

# include <conio.h>

# define alamat Elemen*

# include <antrih.h>

//untuk menampilkan antrian

void tampilQueue(Antrian Q)

{

alamat P = Q.kepala;

cout << “Isi queue : “;

while ((P!=NULL)) {

cout << P->Info << ” – “;

P = P->Berikut;

}

cout << “\n”;

}

// untuk mencetak menu

void cetakMenu(){

cout << “***CONTOH ANTRIAN***”;

cout << “\n 1. Tambah elemen\n”;

cout << “ 2. Hapus elemen\n”;

cout << “ 3. Cetak antrian\n”;

cout << “ 4. Selesai\n\n”;

}

// Program utama

int main()

{

Antrian Q;

int selesai;

int pilMenu;

tInfo elm;

inisialisasi(&Q);

selesai = 0;

do

{

clrscr;

cetakMenu();

cout << “Menu yg dipilih : “;

cin >> pilMenu;

switch(pilMenu) {

case 1 : cout << “\nMasukkan elemen yg ditambahkan : “;

cin >> elm;

enQueue(&Q,elm);

break;

case 2 : if (queueKosong(Q))

{

cout << “\nAntrian kosong, tidak bisa dihapus\n”;

}

else

{

deQueue(&Q, &elm);

cout << “\nElemen yang dihapus : ” << elm << “\n”;

}

break;

case 3 : tampilQueue(Q);

break;

default : selesai = 1;

}

}

while ( !selesai );

return 1;

}

stack (tumpukan)

May 9, 2007 at 5:06 am | Posted in Informatic | 7 Comments

Definisi stack sebenernya sangat sederhana. Yaitu data yang diletakkan diatas data lainnya. Dalam stack kita bisa menambah,menyisipkan dan menghapus data. Contoh stack dalam kehidupan sehari-hari bisa kita lihat dalam tumpukan piring. Konsep utama stack ini adalah Last In First Out.

Satu hal yang perlu diingat adalah bahwa didalam suatu tumpukan dapat menambah (menyisipkan) data dan mengambil (menghapus) data lewat ujung yang sama yang disebut sebagai ujung atas tumpukan.

Secara sederhana sebuah tumpuykan bisa digambarkan seperti tersaji pada gambar 6.1. Dari gambar tersebut dapat dikatakan bahwa kotak B berada di atas kotak A dan ada di bawah kotak C. Gambar ini hanya menunjukkan bahwa dalam tumpukan hanya dapat menambah atau mengambil sebuah kotak melalui satu ujung, yaitu ujung bagian atas. Dapat dikihat pula bahwa tumpukan merupakan kumpulan data yang sifatnya dinamis, artinya dapat menambah dan mengambil data dari kumpulan data tersebut.


F

E

D

C

B

Gambar 6.1. Tumpukan terdiri 6 kotak

Penyajian stack bisa menggunakan array, namun kurang tepat. Array bisa digunakan kalau elemen stack tidak melebihi batas maksimum. Tipe yang bisa digunakan adalah record. Manipulasi dengan menggunakan record mempunyai dua medan, yaitu medan penyimpanan elemen tumpukan dan medan pencatat posisi ujung atas tumpukan.

3.2.1.a Operasi stack

Dalam Stack terdapat dua operasi, yaitu :

  1. Menyisipkan data (PUSH)

Menambahkan / menyisipkan data ke dalam stack. Kita tidak bisa menambahkan data pada tumpukan yang sudah penuh (overflow).

Algoritma :

 

if t.atas = maxelemen

cout << ”sudah penuh ”;

else

{

// naikkan posisi tumpukan

// tambah isi tumpukan

}

2. Menghapus data (POP)

Menghapus elemen yang ada di posisi paling atas. Menghapus posisi juga akan menghapus elemen. Kita tidak mungkin menghapus elemen ketika tumpukan sudah kosong. (t.atas = 0)

Algoritma :

if t.atas = 0

cout << ”tumpukan kosong ”;

else

{

// kurangi t.atas;

}

contoh program using C++:

 

unit tumpukan.h

# include <iostream.h>

# include <stdlib.h>

# include <conio.h>

# define alamat Elemen*

// inisialisasi data dan fungsi yang dibutuhkan

typedef char tInfo;

typedef struct Elemen

{

tInfo Info;

alamat Berikut;

}tElemen;

typedef struct tTumpukan

{

alamat atas;

} Tumpukan;

void inisialisasi(Tumpukan* T);

void Push(Tumpukan* T, tInfo info);

void Pop(Tumpukan* T, tInfo* Info);

int tumpukanKosong (Tumpukan T);

//insisialisasi tumpukan

void inisialisasi(Tumpukan* T)

{

T->atas = NULL;

T->bawah = NULL;

}

//Operasi Push

void Push(Tumpukan* T, tInfo info)

{

alamat P;

P = new Elemen;//(alamat) malloc(sizeof(alamat));

P->Info = info;

if (tumpukanKosong(*T))

{

P->Info = info;

P->Berikut=NULL;

T->atas =P;

}

else

{

P->Info = info;

P->Berikut = T->atas;

T->atas =P;

}

}

// Operasi Pop

void Pop(Tumpukan* T, tInfo* Info)

{

alamat P;

P = T->atas;

*Info = P->Info;

T->atas = T->atas->Berikut;

free(P);

}

// inisialisasi tumpukan kosong

int tumpukanKosong(Tumpukan Q){

return ((Q.atas==NULL));

}

unit tumpukan.cpp

# include <iostream.h>

# include <stdlib.h>

# include <conio.h>

# define alamat Elemen*

# include <tumpukan.h>

// untuk menampilkan atau mencetak tumpukan

void tampilTumpukan(Tumpukan T)

{

alamat P = T.atas;

cout << “Isi stack : “;

while ((P!=NULL)) {

cout << P->Info << ” – “;

P = P->Berikut;

}

cout << “\n”;

}

// untuk mencetak menu utama

void cetakMenu(){

cout << “***CONTOH TUMPUKAN***“;

cout << “\n 1. Tambah elemen\n”;

cout << “ 2. Hapus elemen\n”;

cout << “ 3. Cetak tumpukan\n”;

cout << “ 4. Selesai\n\n”;

}

// program utama

int main()

{

Tumpukan T;

int selesai;

int pilMenu;

tInfo elm;

inisialisasi(&T);

selesai = 0;

do

{

clrscr;

cetakMenu();

cout << “Menu yg dipilih : “;

cin >> pilMenu;

switch(pilMenu) {

case 1 : cout << “\nMasukkan elemen yg ditambahkan : “;

cin >> elm;

Push(&T,elm);

break;

case 2 : if (tumpukanKosong(T))

{

cout << “\nTumpukan kosong kosong, tidak bisa dihapus\n”;

}

else

{

Pop(&T, &elm);

cout << “\nElemen yang dihapus : ” << elm << “\n”;

}

break;

case 3 : tampilTumpukan(T);

break;

default : selesai = 1;

}

}

while ( !selesai );

return 1;}

 

Mother of knowledge

May 9, 2007 at 3:31 am | Posted in mbuh.. | 4 Comments

“saya tidak tahu,dari mana, sejak kapan, ada istilah ilmu agama dan ilmu umum” ujar fathul wahid dalam suatu acara yang digelar oleh empat elemen dakwah FTI, selasa lalu.

Menarik sekali ketika saya mengikuti suatu diskusi public yang membahas tentang dikotomi ilmu dan agama. Banyak hal di bahas di sana. Salah satunya dan yang terpentin g adalah tentang dikotomi ilmu. Saat ini, banyak orang berpandangan dan berpendapat bahwa ilmu terbagi dua, yaitu ilmu agama dan ilmu umum. Ilmu agama adalah ilmu yang mempelajari tentang agama. Dan ilmu umum adalah ilmu yang mempelajari hal-hal yang umum, yang kemudian biasanya mempelajari hal-hal di luar ilmu agama. Wacana seperti ini telah mewabah ke seluruh penjuru dunia. Hingga kemudian wacana yang selanjutnya yang muncul adalah bahwa seorang scientist biasanya ndak ahli agama. Dan seorang rohaniwan biasanya gaptek. Maka kemudian jika ada seorang yang ahli di keduanya, itu tampak sangat amazing!wonderfull!! ndak biasanya, dan bukan orang biasa.  Sampai-sampai mbah enstein pun bilang klo “ilmu tanpa agama agama,buta. Agama tanpa ilmu,lumpuh.”

Padahal , masih kata om fathul , bahwa, di dalam islam, ndak ada istilah ilmu agama dan ilmu umum. Islam hanya mengajarkan satu kata yaitu : ILMU. Ndak kurang dan ndak lebih. Disini bisa saya ambil kesimpulan bahwa antara agama dan ilmu bukan suatu hal yang harus dipisahkan. Istilah yang digunakan oleh pak fathul adalah “mengawinkan” antara ilmu dan agama. Namun, menurut saya, bukan mengawinkan, tapi, melahirkan. Semestinya agama menjadi induk ato akar yang mempunyai anak-anak bernama ilmu. Sehingga ilmu yang akan dilahirkan tetap membawa gen-gen dari agama. Sehingga lagi, ndak mungkin  ilmu tersebut terpisah dari agama.Dan islam sebagai agama sudah mampu,sudah mapan,dan sudah lengkap dan sudah sempurna untuk kemudian menjadi mother of knowledge.


Entries and comments feeds.