Kamis, 05 April 2012

Makan Kerang ???


PARA penggemar makanan kerang diperingatkan supaya lebih hati-hati.. Minggu lalu Ny. W. Kastoro, Kepala Bagian Moluska, Lembaga Oceanologi Nasional, LIPI, berkata "Penelitian di perairan Indonesia menunjukkan konsentrasi bakteri kholera, typhus dan disentri pada tubuh kerang yang cukup tinggi, sehingga mengkhawatirkan bagi kesehatan manusia yang memakannya." 






Mengapa terutama kerang Dr. David Phillips dari Departemen Pertanian Hongkong menjelaskan: "Manusia lebih mudah kena penyakit berbahaya karena makan kerang daripada karena makan ikan atau udang, sebab kerang hidup berkelompok di dasar laut dangkal dekat pantai, di mana sampah manusia dan buangan industri berhimpun. Konsentrasi bakteri dan zat racun di dasar laut menyebabkan kerang terutama tercemar, berbeda dengan ikan atau udang yang berenang di atas." 




Kebetulan kini kerang menjadi hidangan lezat di restoran seafood umumnya, juga di Hongkong. Perairan Deep Bay , yang menghasilkan kerang untuk Hongkong, kebetulan sedang sangat dicemarkan oleh buangan binatang, manusia dan industri.




Bagaimana di sini? Di Indonesia dikenal dengan berbagai sebutan, seperti tiram, remis, kijing, lokan, kepah. Sekarang makanan lezat ini, yang kaya akan protein melebihi ikan atau daging sapi, mungkin sumber potensial penyakit perut.




Pengolahannya?


Teluk Jakarta merupakan sumber kerang untuk konsumsi manusia di ibukota, yang terkenal doyan jajan. Teluk ini pun merupakan wadah penampungan sampah dan kotoran manusia, binatang dan industri yang mengitari perairan itu, secara langsung atau melalui sungai-sungai yang bermuara di sekitarnya.




Cara menghidangkan kerang di Indonesia sederhana saja. Kerang mentah dicelup air mendidih sebentar untuk kemudian disajikan dengan sambal kacang dan dimakan langsung dari kulitnya. Lain negeri, lain pula caranya. Bahkan ada yang diolah cukup rumit dan disajikan sebagai acara khusus.




Namun, demikian nasehat Ny. Kastoro, sebaiknya sebelum menghidangkannya adalah perlu sekali orang merendam kerang dalam air laut bersih selama minimal 24 jam. "Kontaminasi oleh kuman bisa berkurang bila kerang itu dipurifikasi dulu sebelum dikonsumir," katanya




Umumnya kerang di tempat makanan seafood hanya dicelup dengan air mendidih sebentar. Cara ini, menurut para "ahli makan", menjamin terpeliharanya "hormon" yang "berkhasiat tinggi" bagi pemakannya. Ini belum terbukti secara ilmiah, dan pasti cara masak ini tidak menjamin terbunuhnya kuman yang terdapat pada tubuh kerang itu. "Apalagi kalau kuman itu sudah sempat menimbulkan spora," kara Ny. Kastoro. "Di luar negeri, ada peraturannya supaya kerang untuk konsumsi selalu dipurifikasi dulu sebelum dilempar ke pasaran. Di Indonesia, para pedagang tidak diwajibkan melakukan purifikasi itu"




Sekalipun perarurannya di Indonesia belum ada, sudah ada juga pedagang makanan laut mempurifikasi dagangannya. Hal ini terjadi kalau omzetnya besar, dan membeli kerang jumlah banyak. Suplai disimpannya dalam air bersih, sehingga si kerang ada waktu untuk membilas dirinya dulu..


Nyonya Cina, pemilik tempat makan seafood di Jalan Pecenongan, mengaku membeli bahan mentahnya dari pedagang di sepanjang jalan Ancol atau Pasar Ikan, berasal dari Teluk Jakarta yang cemar.. Juga Sugiarto, penjaja kerang, yang berpangkal di depan gedung Xerox, Kramat Raya, menjelaskan bahwa ia memperoleh bahan mentahnya dari Ancol itu. Keduanya itu, misalnya, tidak mungkin mengadakan purifikasi






Lebih rumit persoalannya di Hongkong. Deep Bay , sumber utama makanan kerang bagi penduduk koloni Inggeris itu, kini menjadi tempat buangan industri sekitar teluk itu, plus kotoran manusia dan binatang. Berkata Dr. Brian Morley, seorang ahli dari Departemen Zoologi, Universitas Hongkong: "Penyelidikan menunjukkan bahwa 60 persen tiram di teluk ini terkena polusi oleh zat kimia yang membahayakan manusia dan oleh bakteri yang menyebabkan penyakit serius." Selanjutnya ia menerangkan bahwa kerang dari Deep Bay sudah mengandung sejenis cacing parasitik yang tadinya terdapat pada ikan pari saja.


Demi Pariwisata


Para pejabat dan ahli di Hongkong sudah mempertimbangkan untuk menutup saja industri tiram untuk konsumsi manusia, demi keselamatan penduduk Hongkong. Tapi mereka yang mencari nafkah di bidang itu mengemukakan bahwa sampai sekarang belum ada kasus keracunan atau terserang bakteri akibat makan kerang di Hongkong.


Di Indonesia? Agaknya bahwa pencemaran laut pun sudah ada, walaupun sampai berapa jauh belum dapat diungkapkan dengan pasti. Kembali Ny . W. Kastoro dari LON menerangkan "Baru dalam Pelita III kita akan mulai melakukan penelitian tentang hal itu." 


Namun ada yang tidak menunggu lebih lama. Misalnya buku The Unsteady State, Growth, Culture and Environt tal Problems yang antara lain ditulis oleh Soetjipto Wiroradjono (waktu itu masih bekerja pada Pusat Penelitian Lingkungan & Perkotaan di Jakarta). Di dalam buku yang terbit di Hawai tiga tahun yang lalu itu disebutkan bahwa sebenarnya sudah ditemukan akibat air yang tercemar di Teluk Jakarta bagi kerang. Suatu prosentase yang berarti di antara kerang itu telah terkena oleh caliform bacteria, yang bisa menyebabkan penyakit pencernaan. 


Adakah Lembaga Oceanologi tidak tahu? The Unsteady State menilai bahwa laporan yang diterbitkan Lembaga Oceanologi Jakarta waktu itu sengaja menggunakan "kalimat yang berhati-hati" dalam menyebut adanya kontaminai terhadap kerang di Teluk Jakarta. Demi pariwisata, pasaran ikan dan kerang, tak ada diumumkan peringatan yang jelas kepada publik adanya bahaya itu ...


Sumber : http://forum.kompas.com/kesehatan/22993-makan-kerang.html

Senin, 02 April 2012

Membuat Game Ular dengan Borland C++


> Listing Program

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

/* prototypes */
void draw_line(int col, int row);
void show_score();
void add_segment();
void setup_level();

/* constants */
const int maxrow=15, maxcol=77;
const int snake_start_col=33,snake_start_row=7;
const char up_key='a', down_key='z', left_key='o', right_key='p';
const int pause_length=500000;

/* global variables */
int score, snake_length, speed, obstacles, level, firstpress, high_score=0;
char screen_grid[maxrow][maxcol];
char direction = right_key;
struct snake_segment
{
  int row,col;
}
snake[100];

void main()
{
  /* Variable declarations within main() only */
  char keypress;
  do /* restart game loop */
  {
      obstacles=4; level=1; score=0; speed=14;
      randomize();
      /* Ensure random seed initiated */
      setup_level();

    /* main loop */
    do
    {
      for (int i=0;i<(speed*pause_length);i++) int j=1+i; /*pause*/

      /* If key has been hit, then check it is a direction key - if so,
         change direction */
      if (kbhit())
      {
        keypress=(char)getch();
        if((keypress==right_key)||(keypress==left_key)||
           (keypress==up_key)||(keypress==down_key))
          direction = keypress;
      }

      /* Add a segment to the end of the snake */
      add_segment();
      /* Blank last segment of snake */
      gotoxy(snake[0].col,snake[0].row);
      cprintf(" ");
      /* ... and remove it from the array */
      for (int i=1;i<=snake_length;i++)
          snake[i-1]=snake[i];

      /* Display snake in yellow */
      textcolor(YELLOW);
      for (int i=0;i<=snake_length;i++)
      {
        gotoxy(snake[i].col,snake[i].row);
        cprintf("O");
      }
      /* keeps cursor flashing in one place instead of following snake */
      gotoxy(1,1);

      /* If first press on each level, pause until a key is pressed */
      if (firstpress) { while(!kbhit()); firstpress = 0; }

      /* Collision detection - walls (bad!) */
      if ((snake[snake_length-1].row>maxrow+1)||(snake[snake_length-1].row<=1)||
          (snake[snake_length-1].col>maxcol+1)||(snake[snake_length-1].col<=1)||
      /* Collision detection - obstacles (bad!) */
          (screen_grid[snake[snake_length-1].row-2][snake[snake_length-1].col-2]=='x'))
        keypress='x'; /* i.e. exit loop - game over */
      /* Collision detection - snake (bad!) */
      for (int i=0;i<snake_length-1;i++)
        if ( (snake[snake_length-1].row)==(snake[i].row) &&
             (snake[snake_length-1].col)==(snake[i].col))
        {
          keypress='x'; /* i.e. exit loop - game over */
          break; /* no need to check any more segments */
        }
      /* Collision detection - food (good!) */
      if (screen_grid[snake[snake_length-1].row-2][snake[snake_length-1].col-2]=='.')
      {
        /* increase score and length of snake */
        score+=snake_length*obstacles; show_score(); snake_length++; add_segment();
        /* if length of snake reaches certain size, onto next level */
        if (snake_length==(level+3)*2)
        {
          score+=level*1000; obstacles+=2; level++;  /* add to obstacles */
          if ((level%5==0)&&(speed>1)) speed--; /* increase speed every 5 levels */
          setup_level(); /* display next level */
        }
      }
    } while (keypress!='x');


    /* game over message */
    if (score > high_score) high_score = score;
    show_score();
    gotoxy(30,6); textcolor(LIGHTRED); cprintf("G A M E   O V E R");
    gotoxy(30,9); textcolor(YELLOW); cprintf("Another Game (y/n)? ");
    do keypress=getch(); while((keypress!='y')&&(keypress!='n'));
  } while (keypress=='y');
}

void setup_level()
{
 /* variables local to setup_level() */
 int row,col;
  /* Set up global variables for new level */
  snake_length=level+4; direction = right_key;
  firstpress = 1;

 /* Fill grid with blanks */
  for(row=0;row<maxrow;row++)
    for(col=0;col<maxcol;col++)
     screen_grid[row][col]= ' ';

  /* Fill grid with Xs and food */
  for(int i=0;i<obstacles*2;i++)
  {
   row= rand()%maxrow;
   col= rand()%maxcol;
   if(i<obstacles)
     screen_grid[row][col]='x';
   else
     screen_grid[row][col]='.';
  }

  /* Create snake array of length snake_length */
  for(int i=0;i<snake_length;i++)
  {
    snake[i].row=snake_start_row;
    snake[i].col=snake_start_col+i;
  }

  /* Draw playing board */
  draw_line(1,1);
  for(row=0;row<maxrow;row++)
  {
    gotoxy(1,row+2);
    textcolor(LIGHTBLUE); cprintf("|");
    textcolor(WHITE);
    for(col=0;col<maxcol;col++)
      cprintf("%c",screen_grid[row][col]);
    textcolor(LIGHTBLUE);
    cprintf("|");
  }
  draw_line(1,maxrow+2);
  show_score();
  gotoxy(2,maxrow+5);
  textcolor(LIGHTRED);
  cprintf("~~ SNAKE GAME~~ Left: %c, Right: %c, Up: %c, Down: %c, Exit: x. Any key to start.",
          left_key,right_key,up_key,down_key);
}

void draw_line(int col, int row)
{
  gotoxy(col,row); textcolor(LIGHTBLUE);
  for (int col=0;col<maxcol+2;col++) cprintf("=");
}

void show_score()
{
  textcolor(LIGHTCYAN);
  gotoxy(2,maxrow+3);
  cprintf("Level: %05d",level);
  gotoxy(40,maxrow+3);
  textcolor(LIGHTGREEN);
  cprintf("Score: %05d",score);
  gotoxy(60,maxrow+3);
  textcolor(LIGHTMAGENTA);
  cprintf("High Score: %05d",high_score);
}
void add_segment()
{
  switch(direction)
  {
    case(right_key): snake[snake_length].row=snake[snake_length-1].row;
                     snake[snake_length].col=snake[snake_length-1].col+1;
                     break;
    case(left_key) : snake[snake_length].row=snake[snake_length-1].row;
                     snake[snake_length].col=snake[snake_length-1].col-1;
                     break;
    case(up_key)   : snake[snake_length].row=snake[snake_length-1].row-1;
                     snake[snake_length].col=snake[snake_length-1].col;
                     break;
    case(down_key) : snake[snake_length].row=snake[snake_length-1].row+1;
                     snake[snake_length].col=snake[snake_length-1].col;}}

> Output Program


Selamat Mencoba...

Mazhab Ilmu Manajemen: Teori Mc Gregor dan Teori Rensis Likert


Definisi/Pengertian Teori Perilaku Teori X dan Teori Y (X Y Behavior Theory) Douglas McGregor
Teori perilaku adalah teori yang menjelaskan bahwa suatu perilaku tertentu dapat membedakan pemimpin dan bukan pemimpin pada orang-orang. Konsep teori X dan Y dikemukakan oleh Douglas McGregor dalam buku The Human Side Enterprise di mana para manajer / pemimpin organisasi perusahaan memiliki dua jenis pandangan terhadap para pegawai / karyawan yaitu teori x atau teori y.

A. Teori X
Teori ini menyatakan bahwa pada dasarnya manusia adalah makhluk pemalas yang tidak suka bekerja serta senang menghindar dari pekerjaan dan tanggung jawab yang diberikan kepadanya. Pekerja memiliki ambisi yang kecil untuk mencapai tujuan perusahaan namun menginginkan balas jasa serta jaminan hidup yang tinggi. Dalam bekerja para pekerja harus terus diawasi, diancam serta diarahkan agar dapat bekerja sesuai dengan yang diinginkan perusahaan.

B. Teori Y
Teori ini memiliki anggapan bahwa kerja adalah kodrat manusia seperti halnya kegiatan sehari-hari lainnya. Pekerja tidak perlu terlalu diawasi dan diancam secara ketat karena mereka memiliki pengendalian serta pengerahan diri untuk bekerja sesuai tujuan perusahaan. Pekerja memiliki kemampuan kreativitas, imajinasi, kepandaian serta memahami tanggung jawab dan prestasi atas pencapaian tujuan kerja. Pekerja juga tidak harus mengerahkan segala potensi diri yang dimiliki dalam bekerja.
Penelitian teori x dan y menghasilkan teori gaya kepemimpinan ohio state yang membagi kepemimpinan berdasarkan skala pertimbangan dan penciptaan struktur. Teori Z dapat anda baca di artikel lain di situs organisasi.org ini. Gunakan fasilitas pencarian yang ada untuk menemukan apa yang anda butuhkan.

menurut asumsi teori X dari McGregor ini bahwa orang-orang ini pada hakekatnya adalah:
1. Pada dasarnya pegawai tidak menyukai pekerjaan, jika mungkin berusaha menghindarinya.
2. Karena pegawai tidak menyukai pekerjaan, maka mereka harus dipaksa, dikendalikan, atau diancam dengan hukuman untuk mencapai tujuan-tujuan yang diinginkan.
3. Para pegawai akan mengelakkan tanggung jawab dan mencari pengarahan yang formal sepanjang hal itu terjadi.
4. Kebanyakan pegawai menempatkan rasa aman diatas faktor lain yang berhubungan dengan pekerjaan yang akan memperlihatkan sedikit ambisi.

Untuk menyadari kelemahan dari asumí teori X itu maka McGregor memberikan alternatif teori lain yang dinamakan teori Y. Secara keseluruhan asumís teori Y mengenai manusia adalah sebagai berikut:
1.Pekerjaan itu pada hakekatnya seperti bermain dapat memberikan kepuasan kepada orang. Keduanya bekerja dan bermain merupakan aktiva-aktiva fisik dan mental. Sehingga di antara keduanya tidak ada perbedaan, jira keadaan sama-sama menyenangka.
2. Manusia dapat mengawasi diri sendiri, dan hal itu tidak bisa dihindari dalam rangka mencapai tujuan-tujuan organisasi.
3. Kemampuan untuk berkreativitas di dalam memecahkan persoalan-persoalan organisasi secara luas didistribusikan kepada seluruh karyawan.
4. Motivasi tidak saja berlaku pada kebutuhan-kebutuhan social, penghargaan dan aktualisasi diri tetapi juga pada tingkat kebutuhan-kebutuhan fisiologi dan keamanan.
5. Orang-orang dapat mengendalikan diri dan kreatif dalam bekerja jika dimotivasi secara tepat.
Dengan memahami asumís dasar teori Y ini, McGregor menyatakan selanjutnya bahwa merupakan tugas yang penting bagi menajemen untuk melepaskan tali pengendali dengan memberikan kesempatan mengembangkan potensi yang ada pada masing-masing individu. Motivasi yang sesuai bagi orang-orang untuk mencapai tujuannya sendiri sebaik mungkin, dengan memberikan pengarahan usaha-usaha mereka untuk mencapai tujuan organisasi.

Empat Sistem – Rensis Likert
Gaya kepemimpian yaitu sikap dan tindakan yang dilakukan pemimpin dalam menghadapi bawahan. Ada dua macam gaya kepemimpinan yaitu gaya kepemimpinan yang berorientasi pada tugas dan gaya kepemimpinan yang berorientasi pada karyawan.

Dalam gaya yang ber orientasi pada tugas ditandai oleh beberapa hal sebagai berikut:
- Pemimpin memberikan petunjuk kepada bawahan.
- Pemimpin selalu mengadakan pengawasan secara ketat terhadap bawahan.
- Pemimpin meyakinkan kepada bawahan bahwa tugas-tugas harus dilaksanakan sesuai
dengan keinginannya.
- Pemimpin lebih menekankan kepada pelaksanaan tugas daripada pembinaan dan pe-
ngembangan bawahan.

Sedangkan gaya kepemimpinan yang berorientasi kepada karyawan atau bawahan
ditandai dengan beberapa hal sebagai berikut.
- Pemimpin lebih memberikan motivasi daripada memberikan pengawasan kepada
bawahan.
- Pemimpin melibatkan bawahan dalam pengambilan keputusan.
- Pemimpin lebih bersifat kekeluargaan, saling percaya dan kerja sama, saling
menghormati di antara sesama anggota kelompok.

Sebagai pengembangan, maka para ahli berusaha dapat menentukan mana di antara
kedua gaya kepemimpinan itu yang paling efektif untuk kepentingan organisasi atau
perusahaan. Salah satu pendekatan yang dikenal dalam menjalankan gaya kepemimpinan
adalah ada empat sistem manajemen yang dikembangkan oleh Rensis Likert. Empat sistem
tersebut terdiri dari:
- Sistem 1, otoritatif dan eksploitif:
manajer membuat semua keputusan yang berhubungan dengan kerja dan memerintah
para bawahan untuk melaksanakannya. Standar dan metode pelaksanaan juga secara
kaku ditetapkan oleh manajer.
- Sistem 2, otoritatif dan benevolent:
manajer tetap menentukan perintah-perintah, tetapi memberi bawahan kebebasan
untuk memberikan komentar terhadap perintah-perintah tersebut. berbagai fleksibilitas untuk melaksanakan tugas-tugas mereka dalam batas-batas dan
prosedur-prosedur yang telah ditetapkan.
- Sistem 3, konsultatif:
manajer menetapkan tujuan-tujuan dan memberikan perintah-perintah setelah hal-hal itu didiskusikan dahulu dengan bawahan. Bawahan dapat membuat keputusan – keputusan mereka sendiri tentang cara pelaksanaan tugas. Penghargaan lebih digunakan untuk memotivasi bawahan daripada ancaman hukuman.
- Sistem 4, partisipatif:
adalah sistem yang paling ideal menurut Likert tentang cara bagaimana organisasi seharusnya berjalan. Tujuan-tujuan ditetapkan dan keputusan-keputusan kerja dibuat oleh kelompok. Bila manajer secara formal yang membuat keputusan, mereka melakukan setelah mempertimbangkan saran dan pendapat dari para anggota kelompok. Untuk memotivasi bawahan, manajer tidak hanya mempergunakan penghargaan-penghargaan ekonomis tetapi juga mencoba memberikan kepada bawahan perasaan yang dibutuhkan dan penting.

Selasa, 21 Februari 2012

Hari Terakhir Kehidupan Rasulullah

            Akhirnya tiba juga hari dimana tiap-tiap manusia berhadapan dengan-Nya. Pekerjaan Rasulullah di dunia sebagai utusan Allah telah rampung. Tanah telah di bajak dan diairi, benih telah disemaikan, tinggal menanti musim panen. Ketika musim panen telah datang, bukan beliau yang memungutnya. Kewajiban beliau hanya membajak, menanam dan mengairi. Beliau hadir di dunia ini sebagai pekerja dan pelayan umat. Sekarang telah tiba saatnya untuk berangkat. Sebagai pekerja dan pelayan, beliau tidak menerima imbalan apapun dalam bentuk benda duniawi, akan tetapi berupa ridha dan penghargaan Ilahi. Ketika panen tiba, beliau memilih berangkat menghadap Tuhan, membiarkan umatnya yang menuai untuk kesejahteraan lahir dan batin.
          Rasulullah saw jatuh sakit. Beberapa hari masih tetap mengunjungi masjid dan mengimami shalat. Kemudian beliau menjadi terlalu lemah untuk melaksanakan tugas itu. Para sahabat telah menjadi begitu terbiasa dengan kehadiran beliau di tengah-tengah mereka sehari-hari. Sehingga mereka tidak menduga kalau beliau akan wafat. Akan tetapi beliau sendiri telah menerangkan berulang-ulang, sampai pada suatu hari beliau menyinggung kembali soal itu. Beliau bersabda: “Jika seseorang telah membuat kesalahan lebih baik ia memperbaikinya di dunia ini, sehingga ia tidak akan menyesal di akhirat nanti.” Jika aku mempunyai salah terhadap kalian semua, sekarang kalian boleh membalas kesalahanku itu dengan segera. Aku tidak ingin menanggung malu apabila aku menghadap Tuhan di akhirat. Para sahabat tersentak hati sanubarinya, dan mencucurkan air mata. Bagi Rasulullah saw, tidak ada kesakitan dan kesedihan yang pernah beliau alami dan derita kecuali demi kepentingan umatnya. Beliau menderita lapar dan dahaga supaya umatnya bisa mendapatkan makanan dan minuman yang cukup. Beliau menjahit sendiri pakaiannya, memperbaiki sepatunya, agar umatnya bisa berpakaian baik dan elok. Sekarang beliau berada di samping mereka, bersedia untuk memperbaiki kesalahan, kalau ada dan pernah beliau lakukan terhadap orang lain. Begitu teliti beliau menjaga dan menghormati hak-hak orang lain.
          Rasulullah saw menderita sakit, dan sakitnya bertambah keras. Kepergiannya nampaknya makin dekat. Kecemasan mencekam hati para sahabat. Matahari memancar cerah seperti biasanya di kota Madinah. Akan tetapi seolah-olah membawa kegelapan dan bukan sinar terang. Akhirnya, datanglah saatnya ruh agung Rasulullah saw meninggalkan raganya menghadap Al-Khaliq Rabbul jalil.
          Berita tentang kematian Rasulullah saw tersebar di Madinah. Para sahabat telah banyak berkumpul, karena berita itu segera tersebar luas. Padahal sebelumnya mereka mengetahui bahwa kesehatan Rasulullah saw berangsur membaik. Datangnya berita itu laksana petir di siang hari bolong. Abu Bakar tidak berada di dalam kota. Beliau sedang dalam suatu perjalanan. Walaupun saat itu Umar berada di masjid, beliau gelisah dan hampir tidak sadar. Ia sangat marah apabila ada orang yang mengatakan bahwa Rasulullah telah wafat. Ia menghunus pedangnya dan mengancam orang yang mengatakan bahwa Rasulullah saw telah wafat. Karena, bagi Umar, masih banyak pekerjaan yang harus di lakukan Rasulullah, oleh karena itu tidak mungkin beliau wafat. Begitulah sikap Umar. Sambil mondar-mandir kesana kemari ia mengucapkan kata-kata: “Siapa yang berani mengatakan Rasulullah saw telah wafat, akan aku penggal lehernya.” Para sahabat menjadi lega dengan keterangan Umar bahwa Rasulullah tak mungkin wafat saat ini. Beberapa orang sahabat yang masih sadar mencari Abu Bakar dan menemukannya. Abu Bakar langsung ke masjid Madinah dan tanpa sepatah katapun masuk ke kamar Aisyah, dan menjumpai kenyataan tentang diri Rasulullah saw. Beliau telah wafat. Abu Bakar membuka selubung penutup dan berkata: “Kematian tidak akan datang pada Tuan untuk yang kedua kalinya”. Kata itu penuh arti. Itulah jawaban Abu Bakar sebagai bantahan terhadap perkataan Umar yang masih mempertahankan argumentasinya bahwa Rasulullah belum waktunya menghadap Allah SWT. Ya, memang Rasulullah telah wafat sebagai manusia hanya satu kali. Ia mengucapkan kalimat itu di hadapan jenazah Rasulullah. Abu Bakar pun keluar menemui umat Islam dan para sahabat yang telah berkumpul menunggu berita resmi dari Abu Bakar. Ia berjalan dengan tenang lalu naik ke atas mimbar. Ketika ia berhenti sebentar, Umar telah ada di sampingnya, pedangnya terhunus seperti semula dan tekadnya telah bulat. Meskipun ia telah tahu bahwa Abu Bakar akan mangatakan Rasulullah saw telah wafat, ia tetap akan memenggal setiap orang yang mengatakan Rasulullah saw telah wafat.
          Ketika Abu Bakar mulai lagi berbicara, Umar menarik kemeja Abu Bakar, mencegahnya agar ia tidak berbicara lagi. Akan tetapi Abu Bakar tanpa takut meneruskan pembicaraannya. Kemudian dibacanya ayat 144 surat Ali Imran: “Muhammad itu tidak lain hanyalah seorang rasul, sungguh telah ada sebelumnya beberapa orang rasul. Apakah jika ia wafat atau terbunuh kamu akan berbalik ke belakang (murtad). Barangsiapa yang berbalik ke belakang, maka ia tidak dapat mendatangkan mudarat kepada Allah sedikitpun dan Allah akan member balasan kepada orang-orang yang bersyukur”.
          Muhammad saw adalah seorang manusia seperti juga manusia lainnya (hamba dan Rasulullah). Ia datang dengan membawa amanat dari Tuhan untuk semua manusia. Telah banyak nabi yang datang dengan membawa amanat dari Tuhan, dan mereka semua pun telah wafat.
          Abu Bakar menutup pengumumannya dengan kalimat: “Jika kalian menyembah Tuhan, kalian harus tahu. Tuhan tetap hidup, tidak akan mati. Tetap hidup selama lamanya. Siapa yang mendewa dewakan Muhammad saw, mereka harus tahu pula bahwa Muhammad telah wafat”.
          Muhammad saw memang tidak lagi bersama umat Islam pada abad ini. Kita sendiri tidak sempat manatap keagungan wajah dan kesejukan jiwa beliau ketika mendakwahkan Islam. Akan tetapi iman dan mahabah kita kepada beliau hendaklah tetap kokoh dan semakin bertambah dari saat ke saat. Tidak mudah goncang oleh beraneka ragam pengaruh. Dengan iman dan kecintaan kepada beliau sepenuh hati, mudah-mudahan kita mendapat rahmat dalam menunaikan tugas hidup dunia dan syafaat Rasulullah di hari akhir kelak.
          Sallallahu ‘ala Muhammad wa ‘ala alihi wasahbihi wasallam tasliman kasiran…

Selasa, 14 Februari 2012

Einstein vs Mr. Bean


Einstein dan Mr Bean duduk berdampingan dalam sebuah penerbangan.


Einstein mengajak memainkan sebuah permainan tebak-tebakan.


Einstein: Aku akan mengajukan satu pertanyaan, jika Anda tidak tahu jawabannya maka Anda membayar saya hanya $ 5, dan jika saya tidak tahu jawabannya, saya akan membayar Anda $ 500.


Einstein mengajukan pertanyaan pertama:


Berapa jarak dari Bumi ke Bulan ?


Mr Bean tidak mengucapkan sepatah kata pun, merogoh saku, mengeluarkan $ 5.


Sekarang, giliran Mr Bean...


Dia bertanya kepada Einstein:


Apakah yang naik ke atas bukit dengan 3 kaki, dan akan turun dengan 4 kaki ?


Einstein melakukan pencarian internet, dan meminta semua teman-temannya yang cerdas.


Setelah satu jam mencari jawaban...akhirnya ia memberikan Mr Bean $ 500.


Einstein sambil penasaran bertanya:
Nah, jadi apa naik ke atas bukit dengan tiga kaki dan turun dengan empat kaki ?


Mr Bean merogoh saku, dan memberikan Einstein $ 5.

Senin, 13 Februari 2012

Program hitung Luas dan Volume Bangun Ruang Menggunakan Borland C++ dengan file Header Buatan Sendiri



Sekarang kita mencoba membuat suatu program untuk menghitung luas permukaan dan volume bangun ruang, disini kita akan menggunakan fungsi, percabangan dan pemanggilan dalam bahasa pemrograman C++. Pada program ini kita akan membuat fungsi garis dan percabangan untuk setiap penghitungan luas dan volume masing masing bangun ruang.
  1. Sebelum kita membuat program, disini kita harus tahu terlebih dahulu rumus luas permukaan dan volume suatu bangun ruang tersebut. Disini kita menggunakan Preprocessor directives (#define) untuk mendefinisikan rumus luas permukaan dan volume suatu bangun puang tersebut. Caranya sama, kita terlebih dahulu buka Aplikasi C++ yang biasa digunakan. ini adalah contoh dari Preprocessor directives (#define) yang kita buat :
§          /* Mendefinisikan Rumus Kubus*/
§          #define lp_kub 6*s*s              //luas permukaan kubus
§         #define vol_kub s*s*s                        //volume kubus

§          /* Mendefinisikan Rumus Balok*/
§          #define lp_blk 2*((p*l)+(p*t)+(l*t))   //luas permukaan balok
§          #define vol_blk p*l*t                          //volume balok

§         /* Mendefinisikan Rumus Bola*/
§         #define lp_bol 4*phi*r*r                    //luas permukaan bola
§         #define vol_bol 4/3*phi*r*r*r            //volume bola
§         #define phi 3.14

§         /* Mendefinisikan Rumus Limas Segiempat*/
§         #define lp_lim (luas_alas_lim+(4*luas_sgi3)) //luas permukaan limas segiempat
§         #define vol_lim luas_alas_lim*t/3                  //volume limas segiempat
§         #define luas_alas_lim ps*ps

§         /* Mendefinisikan Rumus Tabung*/
§         #define lp_tab 2*phi*r*(r+t)              //luas permukaan tabung
§         #define vol_tab phi*r*r*t                   //volume tabung

§         /* Mendefinisikan Rumus Kerucut*/
§         #define lp_ker phi*r*(r+sms)              //luas permukaan kerucut
§         #define vol_ker phi*r*r*t/3                //volume kerucut

§         /* Mendefinisikan Rumus Prisma Segitiga*/
§         #define lp_pris ((2*l_als_pris)+(k_als_pris*t))           //luas permukaan Prisma segitiga
§         #define vol_pris l_als_pris*t               //volume prisma segitiga

“Ini contoh tampilannya”


           Setelah selesai membuat Preprocessor directives (#define) untuk mendefinisikan
 rumus luas permukaan dan volume suatu bangun ruang, lalu kita save file tersebut.

            Cara penyimpanan file header yang kita buat ini adalah dengan mengganti tulisan “C++ sourch (*.cpp;*.c)” yang terdapat pada tampilan di atas dengan “Headers (*.h;*.hpp;*.rh)” karena kita akan menjadikan program mendefinisikan rumus luas dan volume bangun ruang diatas sebagai file header yang akan kita gunakan pada program sebenarnya. Lalu tuliskan nama file tersebut pada kolom “File name”. disini kita buat nama filenya adalah “tugas.h”.
            Lalu kita beranjak ke langkah selanjutnya untuk membuat “Program Hitung Luas Permukaan dan Volume Bangun Ruang”, yaitu:
  1. Buka kembali Aplikasi C++ yang biasa anda gunakan lalu buat file baru dengan nama sesuai keinginan anda. Dan simpan file tersebut pada satu folder yang sama dengan Preprocessor directive (#define) yang telah dibuat diatas, agar bisa terbaca atau terdeteksi nantinya.

  1. Pertama kita buat header yang akan kita gunakan, disini kita menggunakan 3 buah header yaitu iostream, conio.h dan tugas.h sehingga penulisannya dalam program adalah sebagai berikut:
    • #include <iostream.h> //header yang memuat fungsi cin(),cout(), dll
    • #include <conio.h> //header yang memuat fungsi getch(), dll
/*disini saatnya kita masukkan file header yang telah kita buat di atas yaitu “tugas.h” agar rumus-rumus yang kita masukan diatas dapat terbaca pada program yang kita buat sekarang.*/
    • #include “tugas.h”
/*adapun tanda “ ” yang kita buat pada file header tugas.h di atas memiliki cara kerja yang berbeda dengan tanda < > yang tertulis pada iostream.h dan conio.h di atas. Jika kita menggunakan tanda “ ” ia akan mencari di dalam file header yang aktif, jika tidak menemukan lalu mencari kembali menuju tempat file header yang ada, maka dari itu kita harus menempatkannya atau menyimpan file header yang kita buat pada suatu folder yang sama dengan program yang akan kita buat sekarang. Sementara tanda < > ia akan langsung mancari menuju tempat file header yang ada. Maka itu jika file header tugas.h diatas kita gunakan tanda < >, maka Preprocessor directives (#define) yang kita buat diatas tak dapat terbaca oleh program, karena di tempat file header yang ada tidak menyediakan nama file header tugas.h. Tetapi jika pada conio.h dan iostream.h kita gunakan tanda “ ” maka tetap masih bisa terbaca oleh program.

  1. Pada program ini kita juga menggunakan fungsi garis, yang sesekali akan dipanggil oleh “Program Hitung Luas Permukaan dan Volume Bangun Ruang” di bawah ini.
o   void garis();
o   {cout<<”---------------------------------------------\n“;}

  1. Lalu kita buat fungsi utama dan menu penghitungan bangun ruang apa yang akan kita cari luas dan volumenya. Fungsi utama adalah fungsi yang akan dijalankan saat program dijalankan sehingga setiap fungsi yang kita buat diatas tadi harus dipanggil/dimasukan kedalam fungsi utama ini dapat dapat dijalankan. .
o   main()
o   {
//deklarasi variable
o   int p,l,t,r,s,luas_sgi3,sms,ps,l_als_pris,k_als_pris;
o   char pilih,lagi;
//label untuk perulangan goto
o   awal:
o   clrscr();
//disini dibuat juga pilihan untuk bangun ruang yang ingin di hitung.
o   cout<<"\t * SELAMAT DATANG DI PROGRAM HITUNG *\n";
o   cout<<"\tLUAS PERMUKAAN DAN VOLUME BANGUN RUANG\n\n";
o   cout<<" Menu Bangun : "<<endl;
o   cout<<"\t 1.Balok"<<endl;
o   cout<<"\t 2.Kubus"<<endl;
o   cout<<"\t 3.Tabung"<<endl;
o   cout<<"\t 4.Bola"<<endl;
o   cout<<"\t 5.Kerucut"<<endl;
o   cout<<"\t 6.Limas Segiempat"<<endl;
o   cout<<"\t 7.Prisma Segitiga"<<endl;
// inputkan pilihan bangun ruang yang ingin anda hitung.
o   cout<<"Pilihan : ";cin>>pilih;
o   cout<<"\n\n";
  1.  Selanjutnya kita buat pilihan untuk masing masing bangun ruang. Disini kita menggunakan switch case. Switch - case merupakan pernyataan yang dirancangkhusus untuk pengmbilan keputusan yang melibatkan sejumlah atau banyak alternative. Pernyataan switch - case ini memiliki kegunaan yang sama seperti if-else bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer.
    • switch(pilih)
    • {
/* jika kita memasukkan pilihan '1’, maka yang keluar adalah “Menghitung Balok” */
    • case'1':
    • cout<<"  ** Menghitung Balok ** "<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<" Masukkan Nilai Panjang   : ";cin>>p;
    • cout<<" Masukkan Nilai Lebar     : ";cin>>l;
    • cout<<" Masukkan Nilai Tinggi    : ";cin>>t;
    • cout<<" 1. Volume Balok             : "<<vol_blk<<endl;
    • cout<<" 2. Luas Permukaan Balok     : "<<lp_blk<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<"\n";
    • break; /* pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan kecabang-cabang yang lainnya.*/
/* jika kita memasukkan pilihan '2’, maka yang keluar adalah “Menghitung Kubus” */
    • case'2':
    • cout<<"  ** Menghitung Kubus ** "<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<" Masukkan Nilai sisi    : ";cin>>s;
    • cout<<" 1. Volume Kubus           : "<<vol_kub<<endl;
    • cout<<" 2. Luas Permukaan Kubus   : "<<lp_kub<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<"\n";break;
/* jika kita memasukkan pilihan '3’, maka yang keluar adalah “Menghitung Tabung” */
    • case'3':
    • cout<<"  ** Menghitung Tabung ** "<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<" Masukkan Nilai Jari-jari      : ";cin>>r;
    • cout<<" Masukkan Nilai Tinggi Tabung  : ";cin>>t;
    • cout<<" 1. Volume Tabung                 : "<<vol_tab<<endl;
    • cout<<" 2. Luas Permukaan Tabung         : "<<lp_tab<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<"\n";break;
/*jika kita memasukkan pilihan '4’, maka yang keluar adalah “Menghitung Bola” */
    • case'4':
    • cout<<"  ** Menghitung Bola ** "<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<" Masukkan Nilai Jari-jari : ";cin>>r;
    • cout<<" 1. Volume Bola              : "<<vol_bol<<endl;
    • cout<<" 2. Luas Permukaan bola      : "<<lp_bol<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<"\n";break;
/* jika kita memasukkan pilihan '5’, maka yang keluar adalah “Menghitung Kerucut” */
    • case '5':
    • cout<<"  ** Menghitung Volume Kerucut ** "<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<" Masukkan Nilai Jari-jari Alas : ";cin>>r;
    • cout<<" Masukkan Nilai Tinggi Kerucut : ";cin>>t;
    • cout<<" Sisi miring Selimut           : ";cin>>sms;
    • cout<<" 1. Volume Kerucut                : "<<vol_ker<<endl;
    • cout<<" 2. Luas Permukaan Kerucut        : "<<lp_ker<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<"\n";break;
/* jika kita memasukkan pilihan '6’, maka yang keluar adalah “Menghitung Limas Segiempat” */
    • case '6':
    • cout<<"  ** Menghitung Limas Segiempat (persegi) ** "<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<" Masukkan Nilai Panjang Sisi         : ";cin>>ps;
    • cout<<" Masukkan Nilai Tinggi Limas         : ";cin>>t;
    • cout<<" Masukkan Luas Segitiga pada Limas   : ";cin>>luas_sgi3;
    • cout<<" 1. Volume Limas                        : "<<vol_lim<<endl;
    • cout<<" 2. Luas Permukaan Limas                : "<<lp_lim<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<"\n";break;
/* jika kita memasukkan pilihan '7’, maka yang keluar adalah “Menghitung Prisma Segitiga” */
    • case '7':
    • cout<<"  ** Menghitung Prisma Segitiga ** "<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<" Masukkan Nilai Luas Alas              : ";cin>>l_als_pris;
    • cout<<" Masukkan Nilai Keliling Alas          : ";cin>>k_als_pris;
    • cout<<" Masukkan Nilai Tinggi Prisma          : ";cin>>t;
    • cout<<" 1. Volume Limas                          : "<<vol_pris<<endl;
    • cout<<" 2. Luas Permukaan Limas                  : "<<lp_pris<<endl;
    • garis();             //pemanggilan fungsi garis.
    • cout<<"\n";break;
/* jika kita memasukkan selain angka yang ada diatas, maka akan muncul kata kata seperti di bawah ini. */
    • default :
/*setiap cabang akan dijalankan jika syarat nilai konstanta tersebut dipenuhi dan default akan dijalankan jika semua cabang di atasnya tidak terpenuhi.*/
    • cout<<"Pilihan Yang Anda Masukkan Salah, Silahkan Pilih Ulang\n\n\n";
    • break;
    • }

  1. Setelah kita membuat pilihan untuk masing bangun ruang, selanjutnya kita membuat pernyataan goto yaitu merupakan instruksi untuk mengarahkan eksekusi program ke pernyataan yang diawali dengan suatu label. Label merupakan suatu pengenal yang diikuti oleh tanda titik dua (:).
    • cout<<"Apakah Anda Ingin Hitung Lagi [Y/T]: ";cin>>lagi;
    •  if(lagi=='Y'||lagi=='y')
/* jika kita inputkan ‘y’ maka akan kembali ke label yang bertuliskan awal. Untuk menghitung kembali luas permukaan dan volume bangun ruang tersebut. Tetapi jika inputkan yang lain maka akan keluar dari program. */
    •  goto awal;
    •  getch();           // untuk menahan tampilan.
    • }
  1. Langkah selanjutnya adalah compile program. Lalu kita running program.






Listing Program Sebenarnya
#include <conio.h>
#include <iostream.h>
#include "tugas.h"
void garis()
{cout<<"--------------------------------\n";}
main()
{
int p,l,t,r,s,luas_sgi3,sms,ps,l_als_pris,k_als_pris;
char pilih,lagi;
awal:
clrscr();
cout<<"\t * SELAMAT DATANG DI PROGRAM HITUNG *\n";
cout<<"\tLUAS PERMUKAAN DAN VOLUME BANGUN RUANG\n\n";
cout<<" Menu Bangun : "<<endl;
cout<<"\t 1.Balok"<<endl;
cout<<"\t 2.Kubus"<<endl;
cout<<"\t 3.Tabung"<<endl;
cout<<"\t 4.Bola"<<endl;
cout<<"\t 5.Kerucut"<<endl;
cout<<"\t 6.Limas Segiempat"<<endl;
cout<<"\t 7.Prisma Segitiga"<<endl;
cout<<"Pilihan : ";cin>>pilih;
cout<<"\n\n";
                         switch(pilih)
                                {
                                case'1':
                                                cout<<"  ** Menghitung Balok ** "<<endl;
                                                garis();
                                                cout<<" Masukkan Nilai Panjang   : ";cin>>p;
                                                cout<<" Masukkan Nilai Lebar     : ";cin>>l;
                                                cout<<" Masukkan Nilai Tinggi    : ";cin>>t;
                                                cout<<" 1. Volume Balok             : "<<vol_blk<<endl;
                                                cout<<" 2. Luas Permukaan Balok     : "<<lp_blk<<endl;
                                                garis();
                                                cout<<"\n";break;
                                 case'2':
                                                cout<<"  ** Menghitung Kubus ** "<<endl;
                                                garis();
                                                cout<<" Masukkan Nilai sisi    : ";cin>>s;
                                                cout<<" 1. Volume Kubus           : "<<vol_kub<<endl;
                                                cout<<" 2. Luas Permukaan Kubus   : "<<lp_kub<<endl;
                                                garis();
                                                cout<<"\n";break;
                                 case'3':
                                                cout<<"  ** Menghitung Tabung ** "<<endl;
                                                garis();
                                                cout<<" Masukkan Nilai Jari-jari      : ";cin>>r;
                                                cout<<" Masukkan Nilai Tinggi Tabung  : ";cin>>t;
                                                cout<<" 1. Volume Tabung                 : "<<vol_tab<<endl;
                                                cout<<" 2. Luas Permukaan Tabung         : "<<lp_tab<<endl;
                                                garis();
                                                cout<<"\n";break;
                                case'4':
                                                cout<<"  ** Menghitung Bola ** "<<endl;
                                                garis();
                                                cout<<" Masukkan Nilai Jari-jari : ";cin>>r;
                                                cout<<" 1. Volume Bola              : "<<vol_bol<<endl;
                                                cout<<" 2. Luas Permukaan bola      : "<<lp_bol<<endl;
                                                garis();
                                                cout<<"\n";break;
                                case '5':
                                                cout<<"  ** Menghitung Volume Kerucut ** "<<endl;
                                                garis();
                                                cout<<" Masukkan Nilai Jari-jari Alas : ";cin>>r;
                                                cout<<" Masukkan Nilai Tinggi Kerucut : ";cin>>t;
                                                cout<<" Sisi miring Selimut           : ";cin>>sms;
                                                cout<<" 1. Volume Kerucut                : "<<vol_ker<<endl;
                                                cout<<" 2. Luas Permukaan Kerucut        : "<<lp_ker<<endl;
                                                garis();
                                                cout<<"\n";break;
                                case '6':
                                                cout<<"  ** Menghitung Limas Segiempat (persegi) ** "<<endl;
                                                garis();
                                                cout<<" Masukkan Nilai Panjang Sisi         : ";cin>>ps;
                                                cout<<" Masukkan Nilai Tinggi Limas         : ";cin>>t;
                                                cout<<" Masukkan Luas Segitiga pada Limas   : ";cin>>luas_sgi3;
                                                 cout<<" 1. Volume Limas                        : "<<vol_lim<<endl;
                                                cout<<" 2. Luas Permukaan Limas                : "<<lp_lim<<endl;
                                                garis();
                                                cout<<"\n";break;
                                case '7':
                                                cout<<"  ** Menghitung Prisma Segitiga ** "<<endl;
                                                garis();
                                                cout<<" Masukkan Nilai Luas Alas              : ";cin>>l_als_pris;
                                                cout<<" Masukkan Nilai Keliling Alas          : ";cin>>k_als_pris;
                                                cout<<" Masukkan Nilai Tinggi Prisma          : ";cin>>t;
                                                cout<<" 1. Volume Limas                          : "<<vol_pris<<endl;
                                                cout<<" 2. Luas Permukaan Limas                  : "<<lp_pris<<endl;
                                                garis();
                                                cout<<"\n";break;
                                default :
cout<<"Pilihan Yang Anda Masukkan Salah, Silahkan Pilih Ulang\n\n\n"; break;
                                                }
                cout<<"Apakah Anda Ingin Hitung Lagi [Y/T]: ";cin>>lagi;
                                If(lagi=='Y'||lagi=='y')
                                goto awal;
                                getch();}


/* Selamat Mencoba */