Basic Comp – Word

Posted in College with tags , , on April 26, 2008 by infrontofcompie

Ini hasil test Ms.Off.Word tanggal 25 April 2008. Jika ada keluhan, saran,kritik dan pujian, silahkan mengisi comment!!! >.<

BASIC COMP.

Posted in College with tags , , on April 23, 2008 by infrontofcompie

Berikut ini hasil tes MOffice Word untuk gelombang 1 dan 2. Jika ada pertanyaan atau protes…silahkan mengisi comment pada blog ini..

Stack And Queue

Posted in Computer with tags , , , on April 13, 2008 by infrontofcompie

//Stack and Queue
//Nelfrits Christopher 682005021
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>

struct Node{
 char nim[25];
 char nama[25];
 char fak[25];
 Node *next;
};
class Mahasiswa{
 private:
 char nim[25];
 char nama[25];
 char fak[25];
 Node *head;
 Node *tail;
 Node *find(char nim[25]);
 Node *tmp;
 public:
 Mahasiswa();
 ~Mahasiswa();
 int addDataStack(char nim[25],char nama[25],char fak[25]);
 int addDataQueue(char nim[25],char nama[25],char fak[25]);
 int delData(char nim[25]);
 int updateData(char nim[25]);
 int isNull();
 void showAllData();
};
Mahasiswa::Mahasiswa(){
 head = NULL;
 tail = NULL;
 tmp = NULL;
}
Mahasiswa::~Mahasiswa(){
 Node *deletePrt;
 while(head!=NULL){
 deletePrt = head;
 head = head->next;
 delete deletePrt;
 }
}
int Mahasiswa::addDataStack(char nim[25],char nama[25],char fak[25]){
 Node *newNode;
 newNode = new Node;
 if(newNode){
 if(head==NULL){
 newNode->next = head;
 strcpy(newNode->nim,nim);
 strcpy(newNode->nama,nama);
 strcpy(newNode->fak,fak);

 head = newNode;
 tail = newNode;
 }else{
 newNode->next = head;
 strcpy(newNode->nim,nim);
 strcpy(newNode->nama,nama);
 strcpy(newNode->fak,fak);

 head = newNode;
 }
 return 1;
 }else{
 return 0;
 }
}
int Mahasiswa::addDataQueue(char nim[25],char nama[25],char fak[25]){
 Node *newNode;
 newNode = new Node;
 if(newNode){
 if(head==NULL){
 head = newNode;
 strcpy(newNode->nim,nim);
 strcpy(newNode->nama,nama);
 strcpy(newNode->fak,fak);

 newNode->next = NULL;
 tail = newNode;
 }else{
 tail->next = newNode;
 strcpy(newNode->nim,nim);
 strcpy(newNode->nama,nama);
 strcpy(newNode->fak,fak);

 newNode->next = NULL;
 tail = newNode;
 }
 return 1;
 }else{
 return 0;
 }
}
void Mahasiswa::showAllData(){
 clrscr();
 cout<<"\n\n\n\t   --------------------- DATA MAHASISWA---------------------\n\n";
 Node *ptr;
 ptr = head;
 while(ptr!=NULL){
 cout<<"\t                        NIM     : "<<ptr->nim<<"\n";
 cout<<"\t                        NAMA    : "<<ptr->nama<<"\n";
 cout<<"\t                        FAKULTAS: "<<ptr->fak<<"\n";
 cout<<"\t                        --------------------------\n";
 ptr = ptr->next;
 }
 getch();
}
int Mahasiswa::isNull(){
 if(tail==NULL)
 return 1;
 else
 return 0;
}
int Mahasiswa::delData(char nim[25]){
 Node *ptr,*ptr2;
 ptr2 = head;
 ptr = find(nim);
 if(ptr==NULL){
 return 0;
 }else{
 if(ptr==head){
 ptr2 = ptr->next;
 head = ptr2;
 }else{
 tmp->next = ptr->next;
 }
 delete ptr;
 return 1;
 }
}
int Mahasiswa::updateData(char nim[25]){
 Node *ptr;
 ptr = find(nim);
 if(ptr==NULL){
 return 0;
 }else{
 clrscr();
 cout<<"\n\n\n\t   --------------------- INPUT DATA MAHASISWA QUEUE---------------------\n\n";
 cout<<"\t                        NIM: ";
 gets(ptr->nim);
 cout<<"\n\t                        NAMA: ";
 gets(ptr->nama);
 cout<<"\n\t                        FAKULTAS: ";
 gets(ptr->fak);
 return 1;
 }
}

Node* Mahasiswa::find(char nim[25]){
 Node *data;
 data = head;
 while(data!=NULL){
 if(strcmp(data->nim,nim)==0){
 break;
 }
 tmp = data;
 data = data->next;
 }
 return data;
}
void initFace(){
 flushall();
 cout<<"\n\n\n\t   ---------------------DATA MAHASISWA---------------------\n\n";
 cout<<"\t                        1) Tambah Data\n";
 cout<<"\t                        2) Hapus Data\n";
 cout<<"\t                        3) Edit Data\n";
 cout<<"\t                        4) Tampilkan Data\n";
 cout<<"\t                        5) Keluar\n";
 cout<<"\t                           Pilih: ";
}
void main(){
 int opt,opt2,stat;
 char nama[25],fak[25],nim[25],nimDel[25],nimUpd[25];
 Mahasiswa mhs;
 while(1){
 clrscr();
 initFace();
 cin>>opt;
 switch(opt){
 case 1:
 clrscr();
 while(opt==1){
 clrscr();
 cout<<"\n\n\n\t   --------------------- INPUT DATA MAHASISWA---------------------\n\n";
 cout<<"\t                        1) Stack\n";
 cout<<"\t                        2) Queue\n";
 cout<<"\t                        3) Menu\n";
 cout<<"\t                           Pilih: ";
 cin>>opt2;
 if(opt2==1){
 clrscr();
 cout<<"\n\n\n\t   --------------------- INPUT DATA MAHASISWA STACK---------------------\n\n";
 cout<<"\t                        NIM: ";
 gets(nim);
 cout<<"\n\t                        NAMA: ";
 gets(nama);
 cout<<"\n\t                        FAKULTAS: ";
 gets(fak);
 mhs.addDataStack(nim,nama,fak);
 //opt=-1;
 }else if(opt2==2){
 clrscr();
 cout<<"\n\n\n\t   --------------------- INPUT DATA MAHASISWA QUEUE---------------------\n\n";
 cout<<"\t                        NIM: ";
 gets(nim);
 cout<<"\n\t                        NAMA: ";
 gets(nama);
 cout<<"\n\t                        FAKULTAS: ";
 gets(fak);
 mhs.addDataQueue(nim,nama,fak);
 }else if(opt2==3){
 opt=-1;
 break;
 }else{
 break;
 }
 }
 break;
 case 2:
 clrscr();
 if(mhs.isNull()==1){
 cout<<"\n\n\n\t   --------------------- DATA KOSONG---------------------\n\n";
 getch();
 }else{
 mhs.showAllData();
 cout<<"\t   Pilih NIM pada data yang akan dihapus: ";
 gets(nimDel);
 if(mhs.delData(nimDel)==1){
 clrscr();
 cout<<"\n\n\n\t   --------------------- DATA BERHASIL DIHAPUS---------------------\n\n";
 }else{
 clrscr();
 cout<<"\n\n\n\t   --------------------- DATA GAGAL DIHAPUS---------------------\n\n";
 }
 }
 getch();
 //hapus
 break;
 case 3:
 if(mhs.isNull()==1){
 cout<<"\n\n\n\t   --------------------- DATA KOSONG---------------------\n\n";
 getch();
 }else{
 clrscr();
 mhs.showAllData();
 cout<<"\t   Pilih NIM pada data yang akan di-update: ";
 gets(nimUpd);
 stat = mhs.updateData(nimUpd);
 if(stat==1){
 clrscr();
 cout<<"\n\n\n\t   --------------------- DATA BERHASIL DI-UPDATE---------------------\n\n";
 }else{
 clrscr();
 cout<<"\n\n\n\t   --------------------- DATA BERHASIL DI-UPDATE---------------------\n\n";
 }
 }
 getch();
 //edit
 break;
 case 4:
 //tampil
 if(mhs.isNull()==1){
 cout<<"\n\n\n\t   --------------------- DATA KOSONG---------------------\n\n";
 getch();
 }else{
 mhs.showAllData();
 }
 break;
 case 5:
 _exit(0);
 break;
 default:
 clrscr();
 initFace();
 break;
 }
 }
}

STRUCT PADA DATABASE SEDERHANA(COMPLETE SOURCE)

Posted in College, Computer on March 7, 2008 by infrontofcompie

///////////////////////////////////////

//Tugas 1 Algoritma dan Struktur Data//

//   Database Mahasiswa Sederhana    //

//       NELFRITS CHRISTOPHER        //

//////////    682005021     ///////////

///////////////////////////////////////

#include<iostream.h>

#include<conio.h>

#include<stdlib.h>

#include<string.h>

#include<stdio.h>

#include<errno.h>

#include<limits.h>

#define MAX 10

#define IP_MAX 4.00

#define IP_MIN 0.00

struct TanggalLahir{

char tempat[25];

int tgl;

int bulan;

int tahun;

};

struct Mahasiswa{

char nama[25];

char nim[10];

TanggalLahir tglLahir;

float IP;

};

void errorMessage();

void errorMessageDate();

void init(Mahasiswa mhs[MAX]);

void extrakData(int field,Mahasiswa mhs[MAX]);

//global variabel

int limitArray;

int tglInt,blnInt,thnInt;

float InPre;

int find[MAX];

int counterData=0;

int valid = 0;

void GUI(){

clrscr();

cout<<"\n\n\n\t\t\t\tDatabase Mahasiswa"<<endl<<endl;

cout<<"             \t\t\t1. Input Data"<<endl;

cout<<"             \t\t\t2. Tampilkan Data"<<endl;

cout<<"             \t\t\t3. Edit Data"<<endl;

cout<<"             \t\t\t4. Cari Data"<<endl;

cout<<"             \t\t\t5. Exit"<<endl;

cout<<"\n             \t\t\tPilihan? ";

}

void delay(int time){

for(int Aa=0;Aa<=time*900;Aa++){

for(int Bb=0;Bb<=time*900;Bb++){

}

}

}

void validateInt(char value[25],int code,Mahasiswa mhs[MAX]){

/*15-Jul-2002

(C) 1999 by Jack Klein

All rights reserved*/

char *end_ptr;

long long_var;

for( ; ; ){

fflush(stdout);

if (value [0] == '\n')

{

break;

}

errno = 0;

long_var = strtol(value, &end_ptr, 0);

if (ERANGE == errno)

{

//exitMessage();

errorMessage();

init(mhs);

}

else if (long_var > INT_MAX)

{

//exitMessage();

errorMessage();

init(mhs);

}

else if (long_var < INT_MIN)

{

//exitMessage();

errorMessage();

init(mhs);

}

else if (end_ptr == value)

{

//exitMessage();

errorMessage();

init(mhs);

}

/*else if ('' != *end_ptr)

{

//printf("extra characters on input line\n");

exitMessage();

} */

else

{

if(code==1)

tglInt = (int)long_var;

else if(code==2)

blnInt = (int)long_var;

else if(code==3)

thnInt = (int)long_var;

break;

}

}

}

void validateIP(char IP[10],Mahasiswa mhs[MAX]){

char *end_ptr;

double var;

for( ; ; ){

fflush(stdout);

if (IP[0] == '\n')

{

break;

}

errno = 0;

var = strtod(IP,&end_ptr);

if (ERANGE == errno)

{

//exitMessage();

errorMessage();

init(mhs);

}

else if (var > IP_MAX)

{

//exitMessage();

errorMessage();

init(mhs);

}

else if (var < IP_MIN)

{

//exitMessage();

errorMessage();

init(mhs);

}

else if (end_ptr == IP)

{

//exitMessage();

errorMessage();

init(mhs);

}

/*else if ('' != *end_ptr)

{

//printf("extra characters on input line\n");

exitMessage();

} */

else

{

InPre = (float)var;

break;

}

}

}

void validateDate(int tgl, int bln, int tahun,Mahasiswa mhs[MAX]){

int mod;

if(tgl<1 || tgl > 31){

errorMessageDate();

init(mhs);

}

if(bln<1 || bln>12){

errorMessageDate();init(mhs);}

if(tahun<1900 || tahun>2020){

errorMessageDate();init(mhs);}

mod = tahun%4;

if(bln==2 && mod==0 && tgl>29){

errorMessageDate();init(mhs);}

if(bln==2 && tgl>28){

errorMessageDate();init(mhs);}

if((bln==2||bln==4||bln==6||bln==9||bln==11) && tgl>30){

errorMessageDate();init(mhs);

}

}

void inputData(Mahasiswa mhs[MAX]){

clrscr();

char YN;

char name[45];

char place[45];

char NIM[20];

char tmpTgl[45];

char tmpBln[45];

char tmpTahun[45];

char IPre[10];

for(int a=limitArray;a<=MAX;a++){

clrscr();

if(a==MAX)  {

clrscr();

cout<<"Storage Full, Unable to Input More Data(s)";

getch();

break;

}

cout<<"Nama: ";

gets(name);

strcpy(mhs[a].nama,name);

cout<<"NIM: ";

cin>>NIM;

strcpy(mhs[a].nim,NIM);

cout<<"Tempat Lahir: ";

gets(place);

strcpy(mhs[a].tglLahir.tempat,place);

cout<<"Tanggal: ";

fgets(tmpTgl, sizeof tmpTgl, stdin);

validateInt(tmpTgl,1,mhs);

mhs[a].tglLahir.tgl = tglInt;

cout<<"Bulan: ";

fgets(tmpBln, sizeof tmpBln, stdin);

validateInt(tmpBln,2,mhs);

mhs[a].tglLahir.bulan = blnInt;

cout<<"Tahun: ";

fgets(tmpTahun, sizeof tmpTahun, stdin);

validateInt(tmpTahun,3,mhs);

mhs[a].tglLahir.tahun = thnInt;

validateDate(tglInt,blnInt,thnInt,mhs);

cout<<"IP: ";

fgets(IPre, sizeof IPre, stdin);

validateIP(IPre,mhs);

mhs[a].IP = InPre;

cout<<"Masukkan Data?(Y/N)";

cin>>YN;

if(YN=='Y'||YN=='y'){

limitArray++;

continue;

}else{

limitArray++;

break;

}

}

}

void cetakData(Mahasiswa mhs[MAX]){

clrscr();

cout<<"----------------------------------------------------------------\n";

for(int a=0;a<limitArray;a++){

cout<<"No. :"<<(a+1)<<endl;

cout<<"Nama:"<<mhs[a].nama<<endl;

cout<<"NIM :"<<mhs[a].nim<<endl;

cout<<"TTL :"<<mhs[a].tglLahir.tempat<<", "<<mhs[a].tglLahir.tgl<<"\\"<<mhs[a].tglLahir.bulan<<"\\"<<mhs[a].tglLahir.tahun<<endl;;

cout<<"IP  : "<<mhs[a].IP<<endl;

cout<<"----------------------------------------------------------------\n";

}

getch();

}

void editData(Mahasiswa mhs[MAX]){

int noRecord;

int field;

int a;

char name[45];

char place[45];

char NIM[20];

char tmpTgl[45];

char tmpBln[45];

char tmpTahun[45];

char IPre[10];

while(1){

cetakData(mhs);

cout<<"\nPilih No.ReCord/Keluar=0: ";

cin>>noRecord;

if(noRecord==0){

init(mhs);

}else if((noRecord-1)>limitArray){

init(mhs);

}

a = noRecord-1;

cout<<"Pilih Field(Nama=1,Nim=2,Tempat=3,Tanggal=4,Bulan=5,Tahun=6,IP=7): ";

cin>>field;

cout<<"\n";

if(field==1){

cout<<"Nama: ";

gets(name);

strcpy(mhs[a].nama,name);

editData(mhs);

}

else if(field==2){

cout<<"NIM: ";

cin>>NIM;

strcpy(mhs[a].nim,NIM);

editData(mhs);

}

else if(field==3){

cout<<"Tempat Lahir: ";

gets(place);

strcpy(mhs[a].tglLahir.tempat,place);

editData(mhs);

}

else if(field==4){

cout<<"Tanggal: ";

fgets(tmpTgl, sizeof tmpTgl, stdin);

validateInt(tmpTgl,1,mhs);

mhs[a].tglLahir.tgl = tglInt;

editData(mhs);

}

else if(field==5){

cout<<"Bulan: ";

fgets(tmpBln, sizeof tmpBln, stdin);

validateInt(tmpBln,2,mhs);

mhs[a].tglLahir.bulan = blnInt;

editData(mhs);

}

else if(field==6){

cout<<"Tahun: ";

fgets(tmpTahun, sizeof tmpTahun, stdin);

validateInt(tmpTahun,3,mhs);

mhs[a].tglLahir.tahun = thnInt;

editData(mhs);

}

else if(field==7){

cout<<"IP: ";

fgets(IPre, sizeof IPre, stdin);

validateIP(IPre,mhs);

mhs[a].IP = InPre;

editData(mhs);

}

else if(field==8)

init(mhs);

else{

cout<<"Wrong Input!";

editData(mhs);

}

}

}

void cariData(Mahasiswa mhs[MAX]){

int opt;

int indeks=0;

clrscr();

cout<<"Pilih Kriteria Pencarian\n";

cout<<"[1]Nama\n";

cout<<"[2]TempatLahir\n";

cout<<"[3]NIM\n";

cout<<"Pilihan?";

cin>>opt;

extrakData(opt,mhs);

while(indeks<counterData){

cout<<"----------------------------------------------------------------\n";

cout<<"Nama:"<<mhs[find[indeks]].nama<<endl;

cout<<"NIM :"<<mhs[find[indeks]].nim<<endl;

cout<<"TTL :"<<mhs[find[indeks]].tglLahir.tempat<<", "<<mhs[find[indeks]].tglLahir.tgl<<"\\"<<mhs[find[indeks]].tglLahir.bulan<<"\\"<<mhs[find[indeks]].tglLahir.tahun<<endl;;

cout<<"IP  : "<<mhs[find[indeks]].IP<<endl;

cout<<"----------------------------------------------------------------\n";

indeks++;

}

counterData=0; //reset global variabel

getch();

}

void init(Mahasiswa mhs[MAX]){

char opt[1];

int counter=limitArray;

while(1){

GUI();

//opt = getch();

gets(opt);

switch(opt[0]){

case '1'    :

inputData(mhs);

valid=1;

break;

case '2'    :

if(valid==0)

init(mhs);

cetakData(mhs);

break;

case '3'    :

if(valid==0)

init(mhs);

editData(mhs);

break;

case '4'    :

if(valid==0)

init(mhs);

cariData(mhs);

break;

case '5'    :

_exit(0);

break;

default    :

_exit(0);

break;

}

counter++;

}

}

void main(){

Mahasiswa mhs[MAX];

init(mhs);

}

void errorMessage(){

clrscr();

cout<<"Wrong Input";

delay(100);

}

void errorMessageDate(){

clrscr();

cout<<"Error Date Input";

delay(100);

}

void extrakData(int field,Mahasiswa mhs[MAX]){

//int value[10];

char input[45];

char *output;

if(field==1){

clrscr();

cout<<"Nama?";

gets(input);

for(int i=0;i<limitArray;i++){

output = strstr(mhs[i].nama,input);

if(output!=NULL){

find[counterData] = i;

counterData++;

}else

continue;

}

}

else if(field==2){

clrscr();

cout<<"Tempat Lahir?";

gets(input);

for(int i=0;i<limitArray;i++){

output = strstr(mhs[i].tglLahir.tempat,input);

if(output!=NULL){

find[counterData] = i;

counterData++;

}else

continue;

}

}

else if(field==3){

clrscr();

cout<<"NIM?";

gets(input);

for(int i=0;i<limitArray;i++){

output = strstr(mhs[i].nim,input);

if(output!=NULL){

find[counterData] = i;

counterData++;

}else

continue;

}

}

else{

cariData(mhs);

}

}

STRUCT PADA DATABASE SEDERHANA(2)

Posted in Computer on February 3, 2008 by infrontofcompie

Pada artikel kali ini, kita akan mencoba mengambil data yang telah diinputkan pada array of struct. Berikut kodenya:

 

for(int x=0;x<10;x++)// ukuran arraynya 10 dan struct tersebut terisi penuh

{

cout<<”—————————————————————-\n”;

cout<<”Nama:”<<mhs[x].nama<<endl;

cout<<”NIM :”<<mhs[x].nim<<endl;

cout<<”TTL:”<<mhs[x].tglLahir.tempat;

cout<<mhs[x].tglLahir.tgl;

cout<<mhs[x].tglLahir.bulan;

cout<<mhs[x].tglLahir.tahun<<endl;

cout<<”IP : “<<mhs[x].IP<<endl;

cout<<”—————————————————————-\n”;

}

Anda sebaiknya menambahkan kode yang dapat memeriksa apakah isi struct tersebut kosong atau berisi.

 

Tidak menjadi masalah jika kita menggabungkan antara kode untuk input dan cetak dalam fungsi main karena struct yang Anda ciptakan akan dikenali di seluruh bagian fungsi main. Jika Anda bermaksud untuk memisahkan kode untuk input dan cetak dalam fungsi yang berbeda, maka Anda perlu menambah parameter fungsi dengan struct Mahasiswa. Contoh

 

void inputData(Mahasiswa mhs[10]){

//kode…

}

void cetakData(Mahasiswa mhs[10]){

//kode…

}

STRUCT PADA DATABASE SEDERHANA (1)

Posted in Computer on January 26, 2008 by infrontofcompie

Structure merupakan salah satu built-in data structure dalam C++ selain array. Structure dapat dipandang sebagai penampung beberapa variable dengan tipe data yang berbeda. Untuk mengakses isi structure, digunakan operasi dot (.).

 

Kita akan membahas penggunaan array of struct pada database sederhana. Pembentukan structure dapat dilihat pada contoh program di bawah ini.

 

struct TanggalLahir{ //struct = structure

char tempat[25];

int tgl;

int bulan;

int tahun;

};

struct Mahasiswa{

char nama[25];

char nim[10];

TanggalLahir tglLahir; //struct dalam struct

float IP;

};

Selanjutnya, untuk dapat menggunakan struct tersebut, kita harus memberikan nama pada structure tersebut.

 

void main(){

Mahasiswa mhs[10]; //mhs adalah array bertipe Mahasiswa

 

Setelah kita membentuk array Mahasiswa, selanjutnya kita bisa mengisi data pada structure tersebut. Misalnya kita ingin mengisi 10 data, maka kita tinggal membuat sebuah perulangan pada struct tersebut.

 

for(int indeks=0;indeks<10;indeks++){

cout<<”Nama: ”;

gets(mhs[indeks].nama);

cout<<”NIM: ”;

gets(mhs[indeks].nim);

cout<<”Tempat Lahir: ”;

gets(mhs[a].tglLahir.tempat);

cout<<”Tanggal: ”;

cin>>mhs[a].tglLahir.tgl;

cout<<”Bulan: ”;

cin>> mhs[a].tglLahir.bulan;

cout<<”Tahun: ”;

cin>> mhs[a].tglLahir.tahun;

cout<<”IP: ”;

cin>> mhs[a].IP;

 

}

 

Sekarang tinggal bagaimana cara kita agar dapat mengakses isi struct tersebut….To be continue…

M.P.S(Mental Pembuang Sampah)

Posted in Nature with tags , on December 19, 2007 by infrontofcompie

Berbicara mengenai sampah, ada yang merasa jijik, ada juga yang biasa-biasa saja. Ada juga yang menghindari sampah, ada juga yang mendekati sampah. Ada sampah yang bisa didaur ulang ada yang tidak. Ada sampah organic atau anorganik. Pada dasarnya sampah dipandang sebagai objek yang pantas disingkirkan. Jadi jika kita memegang sampah, ada dorongan dari diri kita untuk langsung membuangnya. Biasanya kasus ini terjadi pada bungkus makanan.

 

            Mental membuang sampah tiap-tiap orang berbeda. Tetapi pada umumnya mereka membuang sampah pada tempat yang mereka anggap tepat seperti selokan, jalan, atau tempat apa saja tidak termasuk tempat sampah. Saya sendiri banyak menyaksikan orang-orang tipe ini. Yang anehnya, sampah yang melompat ke jalan berasal dari mobil mewah, bis wisata ber-AC,  atau dari seorang cewek seksi yang sedang berpelukan di motor dengan teman prianya (mungkin biar pelukannya kencang, sampah yang dipegang dibuang saja biar tidak mengganggu). Itulah fenomena yang saya sangat sesalkan. Saya sangat terganggu melihat orang-orang yang menganggap tanah Indonesia sebagai tempat sampah, walaupun telah disediakan tempat yang tepat. Ada apa ini? Kenapa orang-orang sangat senang membuang sampah tidak pada tempatnya (padahal saya yakin orang-orang ini sudah lulus mata pelajaran PMP atau PPKn)?

           

            Yah, yang namanya mental, pasti sudah lama terbentuk. Pertama-tama dari keluarga. Saya tidak ingin membicarakan kesalahan didikan dari orang tua, tetapi saya lebih ingin perlahan-lahan mengubahnya. Bagaimana caranya?

 

PERHATIKAN!

 

Ketika seseorang menjatuhkan sampah tidak pada tempatnya, PUNGUTLAH sampah itu. Usahakan orang itu melihat kita. Jika dia tidak melihat, tidak apa-apa. Yang penting kita telah melakukan hal yang tepat. Tetapi sampah yang kita pungut tadi jangan dibuang di jalan lagi.

 

Mungkin dengan memanfaatkan rasa malu, kita dapat perlahan-lahan membentuk mental membuang sampah bangsa Indonesia (hehehe…..).

 

Saya bukan seorang aktivis lingkungan. Saya juga orang yang tidak terlalu bersih atau rapi. Saya hanya peduli terhadap mental membuang sampah yang tumbuh dalam diri tiap orang. Dan…..

 

Saya membuang sampah pada tempatnya!!!

“…Aku percaya. Tolonglah aku yang tidak percaya ini!” (Markus 9:24)

Posted in Religion on November 24, 2007 by infrontofcompie

Tidak seorang pun di dunia ini yang dapat secara langsung melihat partikel O2 yang terkandung dalam udara yang kita hirup sehari-hari. Tetapi udara dapat kita rasakan disaat angin berhembus menyapu kulit. Begitu pula dengan Tuhan.

Mari kita tinjau secara ilmiah! Dr. Francis Crikc adalah seorang penemu DNA dan dengan penemuan tersebut ia mendapatkan Nobel. Struktur double-helix tersebut menyimpan informasi genetik dengan struktur molekul yang sangat rumit. Apakah DNA muncul tiba-tiba? Para ilmuwan yang atheis percaya bahwa segala sesuatu bisa terjadi jika ada waktu. Dr. Crick lalu melakukan penelitian terhadap DNA dengan menyertakan variabel-variabel yang mendukung. Ternyata ia menemukan bahwa molekul DNA bisa terbentuk jika berevolusi selama 4,5 miliar tahun. Dan, umur bumi menurut kalkulasi, juga ±4,5 miliar tahun. Berarti, molekul DNA yang ada pada manusia saat ini, bisa terbentuk setelah melewati jangka waktu 4,5 miliar tahun – Itu baru MOLEKUL. Bagaimana DNA tersusun menjadi tubuh manusia yang sempurna pasti lain lagi ceritanya. Sangat tidak mungkin tiba-tiba dalam jangka waktu beberapa hari DNA bisa langsung tersusun menjadi individu yang sempurna. Berarti ada sebuah kekuatan lain yang tak terbatas yang menyebabkan hal ini terjadi.

 

Memang manusia lebih mempercayai sesuatu yang dilihat secara langsung. Tetapi apakah lebihnya jika semua orang pun dapat berbuat hal yang sama. Mempercayai apa yang tidak kita lihat adalah bukti iman kita. Kita tidak dapat melihat kehadiran-Nya, tetapi kita dapat merasakannya. Hidup kita yang penuh dengan kasih, sukacita, damai sejahtera, kesabaran, kemurahan, kebaikan, kesetiaan, kelemahlembutan, penguasaan diri merupakan tanda-tanda kehadiran Yesus dalam hidup kita. Keraguan memang sering mengisi hati kita, tetapi jangan sampai menguasai kita. Ketika kita mulai ragu ucapkanlah “..Aku percaya. Tolonglah aku yang tidak percaya ini!”.

PILIH MANA KUANTITAS ATAU KUALITAS

Posted in College on November 24, 2007 by infrontofcompie

Kuantitas secara sederhana dapat diartikan sebagai bobot, massa, atau jumlah. Sedangkan kualitas bisa dipandang sebagai mutu, nilai ke’bagus’an. Kualitas bisa diukur secara langsung dengan penglihatan misalnya daging ayam yang baik berwarna kemerah-merahan atau seorang sprinter yang pernah memenangkan medali emas olimpiade. Kualitas kedua hal di atas dapat kita nilai dari penglihatan, anggapan, juga pemahaman kita baik yang terbentuk secara sendiri atau pemahaman yang ditanamkan oleh orang lain.

 

            Jika Anda disuruh memilih, apa yang akan Anda pilih? Bagaimana kedua hal ini jika kita hubungkan dengan dunia pendidikan?

 

            Kasus ini saya temukan sendiri di universitas dan fakultas saya, FTI-UKSW. FTI sendiri merupakan fakultas yang baru berdiri pada tahun 2003, dan sekarang masuk dalam jajaran tiga besar fakultas dengan mahasiswa terbanyak (tepatnya saya tidak tahu). Mungkin hal ini dipicu karena kebutuhan IT sangat diperlukan saat ini. Sebagai suatu lembaga pendidikan di bawah universitas, FTI bertanggungjawab atas penyelenggaraan pendidikan. Yang bagaimana? Tentu yang BERKUALITAS! Jadi apakah selama ini FTI tidak mengadakan pendidikan yang berkualitas? Tidak sepenuhnya begitu. Pelaksanaan pendidikan juga dipengaruhi oleh partisipasi aktif mahasiswa (lihat Hargai Kuliah).

 

Yang menjadi masalah adalah rasio jumlah mahasiswa FTI dengan jumlah pengajar. Rasio yang menurut saya terlalu jauh itu, berdampak buruk bagi pelaksanaan kegiatan belajar.

 

Fakultas yang jumlah mahasiswanya berlimpah, dipandang sebagai fakultas favorit. Saya kagum dengan usaha FTI untuk menarik minat calon mahasiswa. Tetapi usaha ini harus dan mutlak dibarengi dengan peningkatan kualitas pengajar berikut fasilitas pendukungnya.

 

            Dampak yang saya rasakan ketika jumlah mahasiswa bertambah:

  1. Kelas yang dibuka semakin banyak, pengajar harus bekerja ekstra.
  2. Jadual pemakaian lab. semakin padat.
  3. Padatnya jadual pemakaian lab. menurunkan waktu perawatan komputer
  4. Jadual pemakaian lab. yang padat menyebabkan pengaturan lab. semrawut.
  5. Banyak kelas yang kosong karena dosennya tidak datang, mungkin lagi ikut promosi.
  6. Mahasiswa yang jadualnya tabrakan, seakan-akan dibiarkan.

 

Enam hal di atas merupakan sebagian kecil dari banyak hal yang saya rasakan sebagai korban ‘kapitalisme’ fakultas. Kenapa jumlah mahasiswa tidak dibatasi saja. Satu angkatan minimal seratus orang, rasanya cukup. Dengan mereduksi jumlah mahasiswa per angkatan fokus pengajar semakin tinggi sehingga, kualitas bisa ditingkatkan. Kualitas bisa menjadi alat promosi nir-‘duit’ bagi fakultas. Dengan adanya pembatasan jumlah mahasiswa yang tegas dan kualitas pendidikan yang tinggi, fakultas bisa menjalankan hakikatnya dalam dunia pendidikan secara jelas. Dengan adanya pembatasan jumlah penerimaan, calon mahasiswa akan lebih tertantang untuk bersaing masuk.

 

            Banyaknya mahasiswa tidak menjadi tolok ukur baiknya suatu fakultas atau universitas. Yang menjadi tolok ukur utama adalah kualitas output. FTI-UKSW bertanggungjawab besar terhadap angkatan kerja yang nantinya akan diutus ke dunia nyata. FTI-UKSW bertanggungjawab menjaga nama baik UKSW di masyarakat. Jangan sampai lulusan FTI dipermalukan di masyarakat.

 

            Sepiring sayur saja sudah cukup asal dimakan dengan sukacita. Sedikit mahasiswa saja sudah cukup asal diajar dengan sukacita. Jadi pilih mana, kualitas atau kuantitas?

Risiko Global Warming Meningkat

Posted in Nature on November 16, 2007 by infrontofcompie

BADAN Energi Internasional (IEA) memperkirakan peningkatan signifikan gas pemicu global warming (pemanasan global). IEA memprediksi, gas global warming akan meningkat 57% pada 2030 dan menyebabkan suhu bumi meningkat paling sedikit 3 derajat Celsius.

Dalam laporan tahunan,IEA menjelaskan, polusi gas penyebab global warming akan meningkat 1,8% per tahun mulai 2007 hingga 2030. IEA menilai, peningkatan polusi tersebut pada saat ini berkemungkinan kecil untuk dihindari karena tidak ada upaya berarti dari negara- negara di dunia.

“Pemangkasan emisi harus dilakukan dengan meningkatkan efisiensi penggunaan bahan bakar fosil dalam industri, bangunan, dan transportasi. Penggunaan energi yang dapat diperbarui juga harus ditingkatkan dan CO2 (karbondioksida) harus ditangkap dan ditampung,” papar IEA.

Dalam penilaian IEA, negara- negara yang menyumbangkan polusi terbesar pada 2030 adalah China, AS, India, Rusia, dan Jepang. Apabila polusi terus meningkat, suhu Bumi semakin naik dan es-es di kutub semakin banyak mencair. Akibatnya, permukaan air laut naik sehingga wilayah-wilayah pesisir terancam tenggelam.

Di samping itu, pemanasan global juga meningkatkan risiko gelombang panas dan badai tropis. PBB menilai, pihak yang paling bertanggung jawab atas pemanasan global adalah negara- negara maju. Adapun pihak yang paling terancam risiko adalah negara-negara miskin. Karena itu, negara maju harus memberikan bantuan kepada negara miskin untuk menanggulangi dampak pemanasan global.

“Yang paling terancam adalah negara miskin. Ada fenomena ketidakadilan ekstrem dalam kasus pemanasan global,” tandas Kepala Program Pembangunan PBB (UNDP) Kemal Dervis. Dervis mengungkapkan, saat ini negara maju menyumbangkan sekitar 70% gas pemanasan global. Saat yang sama, negara berkembang menyumbangkan 28% dan negara miskin menyumbangkan hanya 2%.

Sejumlah negara miskin pada saat ini sudah terkena bencana banjir dan kekeringan akibat pemanasan global, tetapi negara-negara tersebut tidak memiliki biaya untuk melakukan penanggulangan perubahan iklim. Direktur Program Perubahan Iklim International Institute for Environment and Development Saleem Huq menegaskan, bantuan negara maju kepada negara miskin merupakan kewajiban, bukan amal karena penanggulangan polusi berbeda daripada penanggulangan kemiskinan.

Laporan American Chemical Society (ACS) bahkan mengungkap fakta lebih mencemaskan lagi.ACS menilai polusi udara yang disebabkan pembakaran mesin diesel kapal-kapal laut menyebabkan kematian belasan ribu orang di Eropa, Asia, dan AS pada setiap tahun. ACS memaparkan, polusi udara akibat kapal laut menyebabkan sekitar 60.000 orang yang tinggal di wilayah pesisir mengidap penyakit paru-paru dan jantung.

ACS memperkirakan, korban akan meningkat menjadi sekitar 82.000 orang pada 2012. Dalam penilaian ACS,orangorang yang paling terancam adalah mereka yang tinggal di wilayah pesisir Hong Kong, Shanghai, dan Shenzhen, karena 28% kapal dunia melintasi wilayah-wilayah tersebut.

ACS memperingatkan, kapal diesel menghasilkan polusi belerang hampir 2.000 kali lebih parah daripada truk diesel. Mesin diesel sendiri saat ini dinilai sebagai mesin yang menggunakan bahan bakar paling kotor. (AP/AFP/ahmad fauzi)

Dikutip dari: http://www.seputar-indonesia.com/edisicetak/iptek-sains/risiko-global-warming-meningkat-2.html