Facebook

(Mario Teguh)

A person who is looking for happiness outside of himself, will find that happiness belongs to other people.

Ustadz Imam

Rawat dan jagalah Qur'an,Maka ia akan menjagamu..

Angga Eka Prasetya

Wanita pertama yang paling berhak atas cinta suci anaknya adalah Ibu

Albert Einstein

Salah satu tujuan terciptanya waktu adalah agar semuanya tak terjadi sekaligus...

Powered By Blogger

Rabu, 23 Mei 2012

Terkucilkan

Kamis, 17 Mei 2012

Problem SPOJ 2178 OFFSIDE

SPOJ
2178. He is offside!
link soal : http://www.spoj.pl/problems/OFFSIDE/
/*Author : Angga Eka P*/



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


int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}
int main()
{int A,D,a[10000],d[10000],i,j;




while(1)
{
 scanf("%d %d",&A,&D);
 if(A==0 && D==0)
    return 0;
 for(i=0;i<A;i++)
 { scanf("%d",&a[i]);
                 }  
 for(j=0;j<D;j++)
 {scanf("%d",&d[j]);
                 }  

  qsort(a,A,sizeof(int),compare);
  qsort(d,D,sizeof(int),compare);
  
     i=0;
     j=0;          
          if(a[i]<d[j+1])
              printf("Y\n");
            else
              printf("N\n");
}      
   return 0;  
}



Pelajaran Baru , "qsort vs sort "

Barusan ngerjain soal SPOJ OFFSIDE,ada poin penting yang didapet yaitu sort dan qsort dalam C++.
Sort dan qsort berguna untuk nyortir bilangan,dari yang terkecil ke yang terbesar atau sebaliknya.
Perbedaan yang gue tangkep di antara keduanya,yaitu pada ;
1. Memori
   Sort : lebih banyak makan memori,walaupun cara panggilnya singkat
   qsort : lebih sedikit makan memori dibanding q sort

2. Bentuk umum/rumusnya,perhatikan baik-baik contoh programnya :
   /*sort*/    
   #include<cstdio>
#include<algorithm>

using namespace std;
int main()
{
 int Array[5]={55,4,33,19,23}; //array yang udah diinisialisasi
 int i;

 sort(&Array[0],&Array[5]); //bentuknya : sort(&array indeks awal,&array indeks akhir)
 for(i=0;i<5;i++)
  printf("%d ",Array[i]);  

 system("pause");
return 0;
   
}
outputnya : 4 19 23 33 55

Catatan ; untuk pake sort
               a. jangan lupa pake header file csstdio/stdio.h dan algorithm
               b. using namespace std; juga jangan lupa


/*qsort*/

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


int Array[5]={44,33,2,5,39}; //variable global

int compare(const void * a,const void * b)
{
 return (*(int*)a-*(int*)b);  
   
}
int main()
{
 int i;
 qsort(Array,5,sizeof(int),compare); //qsortnya main disini
 for(i=0;i<5;i++)                    //bentuk umum qsort(namaArray,counter,sizeof(tp data),compare)  
   printf("%d ",Array[i]);
    system("pause");
   return 0;
}
Outputnya : 2 5 33 39 44

Catatan : jangan lupa pake stdlib.h buat pake qsort

Jenis Parameter

Kita lanjut lagi pembahasan kita tentang Parameter. Parameter,dalam dunia pemrograman ada tiga jenis. Parameter masukan,parameter keluaran,dan parameter masukan atau keluaran. Kita akan kupas satu per satu .
So,check these out...
1. Parameter Masukan
   Parameter yang befungsi sebagai tempat penampung nilai/data yang akan diinput ke fungsi
contoh program ;
  #include<stdio.h>
  #define phi 3.14159
 /*Definisi fungsi dengan parameter masukan*/
  double HitungKelilingCircle(int radius)
   {
      double k;
      K=2*phi*radius;
      return K;
   }
    int main()
   {int R;
     printf("Masukkan jari-jari lingkaran : ");
       scanf("%d",R);
       double Keliling = HitungKelilingCircle(R);
    printf("Keliling lingkaran dengan jari-jari %d adalah %d",R,Keliling);
return 0;
   }

  Output :
  masukkan nilai jari-jari lingkaran : 4
  Keliling lingkaran dengan jari-jari 4 adalah 25.132720

Dari contoh di atas,yang berfungsi sebagai parameter masukan adalah R

Fungsi dengan Parameter

Oke,sekarang kita masuk ke bahasan fungsi yang berikutnya. Judulnya fungsi dengan parameter. Sebelumnya,gue mau jelasin apa itu parameter. Parameter itu adalah variabel yang berguna untuk menampung
nilai yang akan dikirimkan kedalam fungsi. (Inget-inget lagi bagian dari fungsi yang ada di dalam kurung,setelah nama fungsinya). Parameter ada dua,formar dan aktual . Parameter formal terdapat pada pendefinisan fungsi,sedangkan aktual terdapat pada pemanggilan fungsi.
Contoh ; Parameter Formal

int TambahSatu(int x)
{
 return x++;
}

Contoh Parameter Aktual
int main()
{
 int a=9;
hasil=TambahSatu(a);

return 0;
}

Fungsi dengan Nilai Balik

Oke,berbeda sama bahasan fungsi yang lalu,kalau kemarin kita pake fungsi yang gak return value,sekarang kita coba pahami fungsi yang return value.

Bentuk umum fungsi ini :

tipe_data  nama_fungsi(parameter 1,parameter 2)
{
   statement yang dieksekusi;
   ......
    return nilai_balik;
}

Contoh programnya :

#include<stdio.h>

int HitungLuasSegi4(int sisi)
{int L;
 L=sisi*sisi;
   
 return L;  
}

int main(void)
{
 int S,Luas;
 scanf("%d",&S);

 Luas=HitungLuasSegi4(S);

 printf("Luas segi 4 dengan sisi %d adalah %d",S,Luas);

 return 0;  
}

Fungsi Tanpa Nilai Balikan(dalam bahasa C)

Rabu,16 mei 2012 <4.41 pm>

Ok,sore ini ane mau sharing tentang fungsi dalam bahasa C. Sebelum kita masuk lebih jauh,biasanya ada beberapa istilah yang bakal lu sering denger. Diantaranya :
-void
-passing by value
-passing by reference
-parameter
-prototype fungsi
-rekursi
-fungsi faktorial

oke,itu tadi beberapa istilah yang musti lu pahami,,

  Mulai dari definisinya,fungsi tu apa sih???
Fungsi adalah suatu blog program yang dipake untuk melakukan proses-proses tertentu. Contoh sederhananya fungsi main(). Ciri dari suatu fungsi biasanya ada tanda kurungnya (). Dengan adanya fungsi ini,kita bisa membagi sebuah program menjadi modular(jadi beberapa bagian yang kecil). Nah,di bahasa C fungsi itu ada 2. Fungsi yang return value sama yang gak return value. Ribet yak??tenang disini nanti bakal gue kasih contoh-contohnya.. Keep reading okay.....

1. Fungsi tanpa Nilai Balik
    Maksudnya fungsi itu gak akan ngreturn nilai apapun. contoh fungsi ini biasanya tentang pengulangan dan pengesetan nilai. tipe kembaliannya akan diisi dengan nilai void.

template standarnya kayak gini :
void nama_fungsi(parameter 1,parameter 2){
 statement yang dieksekusi
}

#include<stdio.h>

void TulisSepuluhKali(void)
{int j;
   for(j=0;j<10;j++)
        {printf("Cuma kamu yang ku mau");}
}

int main(void)
{
 TulisSepuluhKali();
 return 0;
}

Rabu, 16 Mei 2012

I am a cheetah

different point of view

tukang poto

Google Anecdote

Teacher : Google is a girl or a boy ?
.
.
.
.
.
.
.
.
.
Student: Google is a Girl, because it won't let u
complete the whole sentence and start guessing & suggesting!!...
And you ask only one question.. but get hundreds of irrelevant
answers in seconds.





Programmer 0-1

I hear voices in my head ..but they speak 0100101010110101110100 :D


"Behind some good status "

feel a lonely

Selasa, 15 Mei 2012

uji coba

cek cek

Jumat, 11 Mei 2012

Kuliah bersama Pak Profesor

Jum'at,11 Mei 2012

Pagi ini,tim proyek Electronic Medical Record ada janji ketemuan dengan seorang Profesor di ruangannya. Bodohnya,anak-anak pada kesiangan bangun.  Bodohnya  anak-anak pada telat. Zonk...
Profesor malah suruh nunggu(dengan datang telat tadi). Akhirnya Pak prof marah juga.  Saya masih inget beliau  bilang "Kalian ini masih kecil udah telatan. Gimana nanti gedenya ?". "Budaya telat ini harus dihilangkan kalau Indonesia mau maju". Jujur aja,itu peringatan keras bagi kami. Setelah itu beliau ngajak kita untuk masuk ke kelasnya. Ternyata beliau ngajar kelas Mas-Mas dan mbak-mbak senior 2009. Beliau mengawali kelasnya dengan bertanya,"Apa alasan yang mendorong  kalian masuk informatika ITS?"
"Mana yang karena seneng komputer?" ,"Mana yang karena disuruh orang tua?" Kemudian beliau bercerita tentang masa sekolahnya dulu,hingga beliau bisa masuk di Elektro ITB. Tapi ada hal-hal yang paling menancap di hati dan itu memang benar menurut saya.  Beliau berkata bahwa,tak ada yang bisa menjamin masa depan kita. Apakah karena kita di jurusan IT kemudian kita pasti mudah memiliki "kepribadian". (Kepribadian--> mobil pribadi,rumah pribadi,dengan nada guyon). Tak ada yang bisa menjamin. Sesungguhnya masa depan di IT itu suram. Udah kuliahnya susah lagi. Di Universitas Toronto,waktu beliau mengajar disana. Kelas Computer Science itu semua orang non kanada. Seandainya kelas itu tidak ada mereka,udah pasti kosong tu kelas. Beliau juga bilang"Banyak kan negara2 yang ngasih beasiswa Computer Science,Jepang misalnya,sampai datang2 ke Indonesia,baik kan mereka???"

Ya,itu karena mereka kehabisan orang yang menggarap masalah IT,programmer contohnya. Jadi Alasan mereka ngasih beasiswa juga nyari TKP sebenernya. Tenaga Kerja Programmer. Job Market di bidang IT ini akan mengalami masa suram . Masa dimana server tidak lagi banyak dibutuhkan. Masa dimana hanya orang-orang jagoan yang memegang 100 server untuk seluruh dunia. Hanya orang yang bisa survive,
yang akan bisa bertahan di dunia IT. Kita harus banyak mengaudit diri kita sendiri ,sudah sejauh mana kemampuan kita saat ini untuk survive di dunia IT. Selain itu kita juga harus liat ke masa depan, issu IT apa yang kira-kira akan menjadi tren di masa depan. Jangan kita sekarang sibuk mempelajari hal yang itu-itu saja,tapi 5 tahun kemudian ternyata apa yang kita pelajari itu udah nggak kepake lagi,mana udah susah-susah belajarnya.

Nah dari apa yang Pak Prof sampaikan hari ini ada beberapa poin penting yang ane tangkep disini.
1. Jangan budayakan telat,bisa2 anda kehilangan kepercayaan dan akhirnya kehilangan kesempatan
2. Bener apa yang kurenungkan akhir-akhir ini .bahwa semua ini tak ada yang pasti,kita tak tau masa
    depan nanti seperti apa,dan jadi apa kita,makanya persiapkan dengan baik dari sekarang
3. Selalu upgrade kemampuan diri,banyak baca,selidiki hal-hal yang baru,khususnya di dunia IT
4. Apa yang kamu pelajari di kampus saat ini ,yang rasanya hampir membuat kepala pecah,sebenarnya
    itu hanya dasar untuk menuju tingkat berikutnya,jadi kalau baru sampai level bawah aja udah nyerah
    udah males baca buku,gimana mau ngejar level atas,harus cepet bergerak untuk tuntaskan level atas
5. harus punya banyak jaringan kenalan yang pernah study di luar negeri biar tau apa aja yang udah berkembang disana
6. Saya juga punya pikiran untuk menguatkan tekad keluar negeri untuk tahu dan menyelidiki lebih jauh perkembangan IT disana
7. Banyakin porsi untuk ngoprek hal-hal baru diluar materi kuliah,,,,,,tentunya setelah materi kuliah udah tercover...untuk itu harus gerak cepat        

"Facing a Dinamic World"

Senin, 7 Mei 2012
Time  8.30 a.m

               Hari ini ,ada seminar oleh Alumni Teknik Elektro ITS 91' Ir.Pak Susilo Baskoroyang telah berkarir di Schlumberger selama 20 tahun. Seminar berlangsung menarik,dihadiri pula oleh PR1 ITS Prof.Herman Sasongko,Pak Hamdani(mantan Kahima Tek.kim),yang bertempat di Aula BG Munaf FTK ITS. Beliau sendiri,Ir.Susilo Baskoro juga orang yang aktif di organisasi. Beliau pernah menjabat sebagai  Kahima Teknik Elektro,juga aktif di Pramuka dan Karate. 



Kamis, 09 Februari 2012

Perbedaan Compiler dan Interpreter

Interpreter adalah perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di dalam kode tersebut. Proses ini sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan dilaksanakan sebelum program tersebut dieksekusi.
Sedangkan Compiler sendiri adalah program sistem yang digunakan sebagai alat bantu dalam pemrogaman.Perangkat lunak yang melakukan proses penterjemahan code (yang dibuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini adalah bahasa mesin. Pada beberapa compiler, output berupa bahasa mesin dilaksanakan dengan proses assembler yang berbeda.
Untuk lebih jelas mengenai perbedaan antara Interpreter dengan Compiler, ada baiknya saya jelaskan lebih terperinci mengenai dua hal ini.
Perbedaan antara Compiler dengan Interpreter :
1. Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau interpreter butuh kode sumber.
2. Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek dengan library ) . Kalau interpreter tidak ada proses terpisah.
3. JIka compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam library.
4. Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
5. Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan.

Rabu, 04 Januari 2012

Amal Yaumi(Amal Harian)


Orang yg melewati satu hari dalam hidupnya tanpa ada suatu kewajiban yg ditunaikan atau suatu fardhu yg ia lakukan atau kemuliaan yg ia wariskan atau pujian yg ia hasilkan atau kebaikan yg ia tanamkan atau ilmu yg ia dapatkan, maka sunguh-sungguh ia telah durhaka pada harinya dan menganiaya diri (Al-Waqtu fi Hayati Muslim).

I. Sejak Matahari Terbit hingga waktu Dhuha ( 06.00-07.30)

Waktu tsb merupakan waktu yg sangat mulia, dan 2 aktivitas pada waktu tsb :
1. Shalat Dhuha, sekurang-kurangnya 2 rakaat
2. Mengerjakan hal-hal yg berhubungan dengan manusia seperti menengok orang sakit, menghadiri majlis ilmu (belajar), atau mencukupi kebutuhan seorang muslim. Jika sama sekali tidak melakukan itu, sibukkanlah dengan membaca Al-Qur’an dan Dzikir.

II.Waktu Dhuha hingga Dzuhur.(07:30-12:00)

Ada beberapa pekerjaan pokok pada waktu-waktu tsb, di antaranya :
1. Mencari penghidupan (bekerja) seperti pergi ke pasar, kantor, sawah dll. Jika dia menjadi seorang pedagang hendaklah berdagang dengan jujur & amanah, jika menjadi seorang majikan, maka hendaklah murah nasihat & berlaku ramah , jangan lupa berdzikir kepada Allah di tengah kesibukan dan hendaklah qana’ah (merasa cukup dan tidak mengeluh) ketika mendapat rezeki yg sedikit.
2. Melakukan qailulah (tidur sejenak di waktu siang) yaitu antara pukul 11.00-11.45, sesungguhnya qailulah membantu untuk bisa melakukan shalat tahajud sebagaimana makan sahur bisa membantu meringankan shaum di siang hari. Qailulah merupakan sunnah untuk meyelisihi perbuatan iblis (karena iblis tidak pernah tidur siang). Jika ia tertidur di malam hari hendaklah ia antusias mengantinya dengan shalat sunnah sebelum masuk Dzuhur.
3. Jika ia seorang pelajar, maka gunakanlah waktu tsb dengan sungguh-sungguh untuk memahami, menela’ah dan menghapal materi ilmu yg sedang dipelajari. Waktu-waktu tsb adalah sangat efektif untuk belajar.

Waktu malam dan siang itu terdiri dari 24 jam, pembagian yg seimbang adalah hendaknya dia tidur sepertiganya (6-8 jam). Jika seseorang tidur kurang dari itu, badan akan terganggu namun jikan tidur lebih dari itu maka akan timbul rasa malasnya. Dengan demikian jika seseorang tidur malam lebih dari itu, maka tidak layak baginya tidur di siang hari. Namun jika kurang dari 8 jam dia boleh menggantinya di siang hari.

III. Saat Matahari tergelincir hingga usai Shalat Dzuhur (12:00-12:30)

1. Menjawab panggilan adzan ketika muadzin mengumandangkan adzan.
2. Kemudian shalat sunnah empat rakaat ( dua rakaat- dua rakaat) dan disunnahkan
untuk memanjangkan rakaatnya, karena pintu-pintu langit terbuka ketika itu.

3. Setelah itu hendaklah ia shalat Dzuhur kemudian shalat sunnah empat rakaat ( 2 rakaat
– 2 rakaat) sesudahnya. (Shalat sunnah qalbiah dan ba’diah tsb boleh dilakukan hanya
2 rakaat jika tidak memungkinkan.)
4. Jika anda masuk mesjid dan waktu untuk mengerjakan qalbiah dzuhur sempit, maka
shalatlah 2 rakaat , dengan niat tahiyyatul masjid.
5. Jika bertepatan dengan hari Jum’at, sebisa mungkin kita datang lebih awal, kemudian
melakukan shalat sunnah semampu yg bisa kita kerjakan.

Anjuran Islam agar umatnya giat bekerja.

Banyak nash-nash dalam Al Qur’an maupun As-Sunnah yg menunjukkan bahwa Islam sangat mendorong umatnya untuk kreatif dalam bekerja dan berusaha, sebaliknya Islam melarang sikap malas dan putus asa.
Diantaranya adalah :
1. Allah berfirman, “ Apabila shalat telah dikerjakan, maka bertebaranlah kamu di muka bumi, dan carilah karunia Allah , dan ingatlah Allah sebanyak-banyaknya agar kamu beruntung .”(Al-Jumuah :10).
2. Rasulullah SAW bersabda , “ Tidak seorangpun makan makanan yg lebih baik daripada makanan yg di hasilkan dari hasil kerja tangannya (sendiri)”. (HR Bukhari).
3. Dalam mendorong seseorang agar giat bercocok tanam, Rasulullah bersabda: “ Tidaklah seorang muslim yg menanam suatu tanaman, atau bercocok tanam, kemudian (hasilnya) dimakan oleh burung, manusia atau hewan, melainkan bernilai sedekah baginya (HR Bukhari & Muslim).
4. Dalam hal perdagangan, Rasulullah bersabda : “ Pedagang yg jujur dan terpercaya itu (akan dikumpulkan) bersama para Nabi, Shiddiqin dan para syuhada “. (HR Tirmidzi).
5. Nabi SAW bersabda : “ Sesungguhnya Nabi Allah Daud AS itu tidak makan kecuali dari (hasil) tanganya sendiri “. (HR Bukhari).
6. Rasulullah SAW lebih memuliakan seseorang yg berwiraswasta sekecil apapun hasilnya dari pada mengandalkan kebutuhan hidupnya dari belas kasih orang lain. Beliau bersabda :” Jika ada salah seorang di antara kamu yg mengambil tali, kemudian datang dengan membawa sebongkok kayu bakar di atas punggungnya, lalu dijualnya, sehingga dengan itu Allah menutupi wajahnya, itu lebih baik dari pada meminta-minta kepada manusia, yg kadang mereka memberinya dan kadang tidak memberinya”. (HR Bukhari).
7. Dalam hadits lain Rasulullah SAW bersabda : “ Allah akan memberikan rahmat kepada orang yg berusaha dengan yg halal, membelanjakan harta dengan hemat, dan dapat menyisihkan uang pada saat dia fakir dan membutuhkan “. (HR Bukhari & Muslim).

Salah satu keistimewaan ajaran Islam dalam anjuran kepada umatnya untuk bekerja adalah bahwa sekalipun bekerja itu merupakan pekerjaan mubah di satu sisi, namun di sisi lain ia merupakan kewajiban. Karena seseorang itu tidak mungkin dapat mengerjakan kewajiban-kewajibanya kecuali jika semua kebutuhannya telah terpenuhi sehingga memenuhi kebutuhan primer itu menjadi wajib.

IV. Setelah Shalat Ba’diyah Dzuhur sampai Ashar (12:30-15:00)

1. Di sunnahkan pada waktu-waktu tersebut untuk memperbanyak dzikir, shalat, mempelajari ilmu-ilmu yg bermanfaat . Termasuk amalan yg paling utama adalah menunggu shalat setelah shalat.
2. Waktu tersebut juga merupakan waktu efektif untuk mencari penghidupan.


V. Waktu Ashar hingga matahari mulai menguning (15:00-17:00).

1. Tidak ada shalat pada waktu tersebut selain 4 rakaat diantara azan dan iqamah ,
lalu shalat wajib (Ashar).
2. Setelah itu hendaknya ia menyibukkan diri dengan empat jenis amal seperti yg
telah disebutkan pada yg pertama (yakni hendaklah berdoa, berdzikir, membaca
AlQur’an dan berfikir). Yg paling utama adalah membaca Al Qur’an, menghayati
dan memahaminya.
3. Waktu ini juga sangat efektif bagi seseorang untuk memberikan hak tubuhnya berupa olah raga, dialog dengan keluarga, kajian rutin dll. Bagi pelajar waktu tersebut juga tepat untuk menhghapal dan mengulang-ulang pelajaran yg baru ia pelajari sebelumnya.

VI. Ketika Sinar Matahari menguning hingga terbenam (17;00-18:00).

Ini adalah waktu yg mulia. Hasan al Bashri berkata :
Adalah para sahabat lebih memuliakan waktu sore dari pada siang, maka disunnahkan pada waktu tersebut utk membaca tasbih dan istighfar khususnya.
1. Waktu magrib merupakan batas akhir, berarti usailah waktu amal di siang hari. Maka hendaknya seorang hamba memperhatikan keadaan dirinya dan bermuhasabah karena telah berlalu satu fase dalam hidupnya.
2. Hendaklah dia berfikir apakah amal di hari tersebut sama seperti hari sebelumnya?. Jika dia melihat banyak kebaikan yg dia kerjakan di siang hari maka hendaknya bersyukur kepada Allah atas taufik-Nya. Akan tetapi jika tidak demikian halnya, hendaklah bertaubat dan bertekad untuk menutupi kekurangannya di malam harinya. Karena kebaikan dapat menghapus keburukan.
3. Hendaklah dia bersyukur kepada Allah atas kesehatan dan tersisanya umur, sehingga memungkinkan baginya untuk menutupi kekurangan amalnya.
Sebagian Salaf menyukai untuk tidak menutup harinya kecuali dengan sedekah dan bersungguh-sungguh untuk mengerjakan kebaikan yg mungkin di kerjakan.

Hendaknya seseorang sadar bahwa umur hanyalah merupakan bilangan hari-hari yg akan berlalu sehari demi sehari. Al_Hasan berkata : “ Wahai anak Adam, Engkau hanyalah terdiri dari bilangan hari-hari, jika berlalu satu hari maka lenyap pula sebagian (diri) mu.


VII. Ketika Matahari Tenggelam sampai waktu Isya’ (18:00-19:00).

1. Jika matahari terbenam hendaknya dia shalat Magrib dan menyibukkan diri dengan ibadah hingga waktu Isya’. Telah diriwayatkan dari Anas ra tentang firman Allah SWT : “ Lambung lambung mereka jauh dari tempat tidurnya, sedang mereka berdoa kepada Rabbnya dengan rasa takut dan harap, dan mereka menafkahkan sebahagian dari rezki yg Kami berikan kepada mareka ” . (QS As-Sajdah : 16). Beliau mengatakan bahwa ayat ini turun berkenan dengan sahabat-sahabat Rasulullah SAW yg tengah melakukan shalat antara Maghrib dan Isya’.
2. Setelah shalat Magrib, yg terbaik adalah menggunakan waktu tersebut untuk tilawah Al-Qur’an atau memperbanyak ibadah hingga waktu Isya’.

VIII. Waktu Isya’ (19:00-19:45)

1. Disunnahkan untuk shalat diantara dua adzan selagi mungkin. Dan hendaklah ketika shalat Isya’ membaca surat As Sajdah dan surat Al-Mulk.Rasulullah tidak tidur sebelum beliau membaca keduanya, sebagaimana diriwayatkan oleh Ahmad,Tirmidzi dan Al Hakim.
2. Mengerjakan Ba’diah Isya , yg terbaik adalah di kerjakan di rumah.
3. Kemudian dilanjutkan dengan witir 3 rakaat bagi yg khawatir tidak dapat bangun malam, maka yg afdhal mengerjakan witir tersebut setelah shalat tahajjud.

IX. Setelah Isya’ hingga sebelum tidur (19:45-21:00)

Pada dasarnya Nabi SAW menganjurkan untuk tidak banyak ngobrol atau aktivitas lain setelah shalat Isya’ selain tidur. Namun ada beberapa keringanan untuk menggunakan waktu setelah Isya’ untuk beberapa aktivitas berikut :
1. Tilawah Al-Qur’an.
2. Menerima tamu
3. Membahas masalah-masalah kaum muslimin dan yg semisalnya.
4. Menuntut ilmu, membaca, menulis, menghapal dan yg semisalnya.
Juka tidak ada aktivitas penting yg syar’i, maka di makruhkan untuk begadang setelah Isya’.

Beberapa Faedah dan Keutamaan Dzikir menurut Ibnu Qayyim ra :
Membuat Allah menjadi ridha, menghilangkan kegundahan, mendatangkan kegembiraan dan kesenangan di dalam hati, menguatkan hati dan badan, membuat hati dan wajah seseorang menjadi berseri-seri, melapangkan rezki seseorang, menimbulkan rasa percaya diri, membuahkan ketundukan dan kedekatan kepada Allah, membukakan pintu ma’rifat, membuat seseorang selalu ingat akan Allah, membersihkan karat hati seseorang, menyingkirkan kesalahan dan menghapuskannya, melenyapkan kerisauan antara hubungan seseorang dengan Allah,menyebabkan turunnya rasa tentram, dan terselubungi dengan rahmat, serta para Malaikat akan selalu mengelilingi orang-orang yg berdzikir, mengalihkan lidah dari perbuatan ghibah, adu domba dan kekejian lisan, memberikan rasa aman dari penyesalan di hari kiamat kelak, menyebabkan dia terlindungi dari panas matahari di hari kiamat kelak, merupakan ibadah kepada Allah yg paling mudah dan ringan, namun paling agung dan paling utama, merupakan tanaman surga, merupakan cahaya bagi orang yg berdzikir, merupakan cahaya baginya di kuburan,merupakan cahaya baginya di tempat kembalinya, meneranginya saat ia berjalan di atas ash-shirath, dan tidak ada cahaya yg bisa menyinari kubur seperti cahaya yg berasal dari dzikir, merupakan pangkal loyalitas kepada Allah, mendatangkan nikmat Allah dan mengenyahkan penderitaan, mendatangkan shalawat Allah dan para malaikat-Nya, dll.

X. Istirahat Malam (tidur) – (21:00-03:00)

Beberapa hal yang harus di ketahui tentang adab-adab tidur.
1. Disunnahkan berwudhu sebelum tidur, dan berbaring miring ke sebelah kanan.
2. Disunnahkan pula mengibaskan sprei tiga kali sebelum berbaring., yaitu mengevaluasi segala perbuatan yg telah ia lakukan di siang hari.
3. Muhasabah sesaat sebelum tidur, yaitu mengevaluasi segala perbuatan yg telah ia lakukan di siang hari.
4. Menutup pintu, jendela dan memadamkan api serta lampu sebelum tidur.
5. Membaca ayat Kursi, dua ayat terakhir Surah Al-Baqarah, Surah Al-Ikhlash dan Al-Mu’awwidzatain (Al-Falaq dan An-Nas), karena banyak hadits-hadits shahih yg menganjurkan hal tersebut.
6. Makruh tidur tengkurap.
7. Membaca doa-doa dan dzikir yg keterangannya shahih dari Rasulullah seperti, Bismika Allahumma Ahya wa Amut. “ Dengan menyebut nama-Mu ya Allah, aku mati dan aku hidup,” (HR Al Bukhari)
8. Apabila di saat tidur merasa kaget atau gelisah atau merasa ketakutan, maka di anjurkan berdoa dengan doa berikut ini : yg artinya : “ Aku berlindung dengan Kalimatullah yg sempurna dari murka-Nya, kejahatan hamba-hamba-Nya, dari gangguan syetan dan kehadiran mereka kepadaku”. (HR Abu Dawud dan dihasankan oleh Al Albani).
9. Hendaknya apabila bangun tidur membaca : Alhamdulillahillazi Ahyaana ba’da Maa Amatana wa llaihin Nusyur. “ Segala puji bagi Allah yg telah menghidupkan kami setelah kami di matikan-Nya, dan kepada-Nya lah kami di kembalikan.” (HR Al Bukhari).
10. Setelah bangun tidur hendaknya segera membersihkan diri dengan mencuci mulut (berkumur) dan menggosok gigi. Hudzaifah berkata : “ Rasulullah ketika bangun tidur mengosok-gosok mulutnya dengan siwak.” (Muttafaq Alaihi). Kemudian wudhu dan shalat, dan menjadikan amalan ini sebagai pembuka aktivitas pagi hari setelah doa dan dzikir serta menjauhkan kesibukan lain.
11. Membuka pintu dan jendela yg tertutup di kamar tidur setelah bangun tidur agar terjadi sirkulasi udara yg baru dan segar di kamar.
12. Menertibkan tempat tidur dan tidak meninggalkan tempat tidur berantakan.

Waktu ini merupakan waktu terbaik bagi seorang hamba untuk bermunajat kepada Rabbnya, sesungguhnya Allah turun ke bumi pada sepertiga malam terakhir untuk mendengar munajat para hamba-Nya. Diantara amalan mulia yg sepatutnya dikerjakan adalah :
1. Memulai shalat malam dengan dua rakaat ringan.
2. Mengerjakan shalat malam dua rakaat- dua rakaat. Rasulullah SAW menganjurkan untuk memperpanjang bacaan pada shalat malam.
3. Mengerjakan shalat witir, jika sebelum tidurnya tidak berwitir.

Sebagian Salafus shalih menjadikan waktu shalat mereka dari pertengahan malam, (mulai pukul 24:00) sampai datangnya seperenam malam terakhir (03:00). Yang demikian karena ketakwaan dan keimanan mereka. Adapun bagi mereka yg belum mampu, maka menggunakan seperenam terakhir termasuk kebajikan.

XI. Waktu seperenam Terakhir atau waktu Sahur (03:00-04:30)

1. Memulai shalat malam dengan dua rakaat ringan.
2. Mengerjakan shalat malam dua rakaat-dua rakaat.
3. Memperbanyak istighfar. Allah berfirman, “ Dan di akhir-akhir malam mereka memohon ampun (kepada Allah ). (QS Adz-Dzariyat: 18). Dan di dalam hadits, “ Sesungguhnya bacaan seseorang di akhir malam menghadirkan hati “. (HR Muslim).
4. Jika dia hendak berniat shaum, maka waktu sahur terbaik adalah antara 10-30 menit sebelum waktu fajar, inilah yg di maksud mengakhirkan waktu sahur.
5. Memperbanyak doa, karena ia termasuk waktu-waktu yg mustajab.

XII. Waktu antara terbit Fajar (Shadiq) hingga terbitnya matahari (04:30-06:00)

1. Shalat sunnah fajar di rumah. Rasulullah SAW bersabda, “ Dua rakaat Fajar lebih baik dari dunia seisinya ”. (HR Muslim).
2. Berjalan menuju mesjid untuk mengerjakan shalat subuh berjama’ah. Rasulullah SAW bersabda, “ Berilah kabar gembira kepada orang yg berjalan ke mesjid dalam kegelapan dengan cahaya yg terang pada hari kiamat.” (HR Ibnu Majjah-shahih)
3. Berdzikir dengan dzikir khusus ba’da subuh yg diajarkan oleh rasulullah SAW, yaitu :

La ilaaha illallah wahdahu la syarikalah lahul mulku walahul hamdu wahuwa 'alla qulli syaiin qadir

Jika seseorang membaca doa tersebut sebanyak 10 kali, maka dicatat baginya 10 kebaikan, di hapus darinya 10 kejahatan, sepanjang hari itu ia berada dalam pemeliharaan dari sesuatu yg tidak disukainya, dan ia terpelihara dari syetan sepanjang hari itu. (HR Tirmidzi:3390)
4. Setelah shalat subuh, saat tersebut merupakan waktu tepat untuk menghapal, membaca Al-Qur’an, kemudian dilanjutkan dengan olah raga atau aktivitas fisik lainnya.
5. Sedangkan jika bulan Ramadhan, Rasulullah SAW membiasakan diri untuk senantiasa berdzikir dan tidak keluar dari mesjid hingga terbitnya matahari.
6. Membaca dzikir pagi.


Keutamaan Shalat Sunnah Rawatib :
“ Tidaklah seorang hamba muslim mengerjakan shalat karena Allah dalam satu hari dua belas rakaat sebagai tathawwu’ dan bukan fardhu, melainkan Allah akan membangunkan untuknya sebuah rumah di Surga.” (HR Muslim:728).
Dalam riwayat At-Tirmidzi dan An-Nasa’I , kata (dua belas) rakaat ini ditafsirkan sebagai : Empat rakaat sebelum Dzuhur, dua rakaat sesudah Dzuhur, dua rakaat sesudah Maghrib, dua rakaat setelah Isya’ dan dua rakaat sebelum Shubuh.”

Dari Abu Hurairah ra, ia berkata , “ Rasulullah SAW bersabda : “ Shalat seseorang dengan berjamaah lebih besar pahalanya sebanyak 25 atau 27 derajat daripada shalat dirumahnya atau di pasar (maksudnya shalat sendirian). (Muttafaq alaih).


Referensi :
1. Amal yaumi, Ibnu Qudamah Al-Maqdisi
2. Mukhtashar Minhajul Qashidin, Ibnu Qudamah Al-Maqdisi.
3. Efisiensi Waktu, Konsep islam, jasim M Basr Al-Muthawwi
4. Minhajul Muslim, Abu Bakr Al-Jazairi
5. Kitab Al-Adzkar, Imam An-Nawawi
6. Al-Adab Asy-Syar’iyah, Ibnu Muflih

Rabu, 30 November 2011


Asimptot
Grafik Fungsi Pecah Rasional
*)Definisi Asimptot
Asimptot adalah garis lurus yang didekati oleh grafik fungsi
Untuk mencari asimptot sebenarnya mudah dan jangan bingung,asalkan sering latihan pasti semua jadimudah

Problem : Cari Asimptot Datar dan Asimptot Tegak dan buat grafiknya
Steps :
1.  Cari titik diskontinu
 2. (Asimptot Tegak )
Cari limit kiri dan kanan persamaan dengan titik diskontinu
Jika hasilnya tak hingga brarti benar,karena grafik Asimptot akan selalu naik atau selalu turun
3. (Asimptot datar)
Cari limit tak hingga kiri kanan
4. Uji titik-titik disekitar titik diskontinu
5. Gambar grafik


Aplikasi Konsep  
Misal      

1.  Y(x) =P(x)/Q(x)
Diskontinu di x=a, Q(a)=0
2.  lim        y(x) = atau -
       xàa-
    lim         y(x) =  -dan  
      xàa+
x = a disebut Asimptot Tegak
||==||==||==||==||==||==||==|

Misal
Lim      y(x)=c
xà
lim       y(x)=d
xà-∞
Maka c dan d Asimptot Datar

Catatan Hari Ini

Catatan hari ini : 
Selasa , 29 NOvember 2011

Hari ini berangkat jam 8 pagi coz biasanya ada mentoring,ternyata tadi masnya nggak bisa. 
Ketika ku tanya kenapa jawabnya,ada tugas mendadak,dan udah gak tidur dari tadi malam. 
Ha ha,ternyata masnya repot juga.Karna g jadi mentoring ku putuskan untuk menunggu waktu
kuliah di Masjid Manarul Ilmi. Dalam renungan,ku ingat kembali saat-saat emas dimana
prestasiku begitu gemilang. Di picu oleh rasa itu , aku berjuang untuk keluargaku.

Tiap hari kusambut panggilan adzan,hampir tanpa telat,bahkan aku sendiri yang menjadi
mu'adzin tiap hari.Tiap malam ku tegakkan sholat.Tiap hari ku belajar,selau berusaha melakukan yang terbaik dalam setiap kesempatan. Aku pun aktif di organisas dakwah sekolah,namun itu tidak mempengaruhi prestasi ku.Aku ingin kembali ke masa itu, Mengulang kesuksesan yang telah ku ukir. Tadi di jurusan juga ku dengar desas-desus teman-teman tentang IP mbak ********* yangjuga bidik misi. IPnya 3,9 katanya. wih padahal dia cewek, dan aku yakin kemampuan komputernya tidak sebaik temen-temen cowok. Masa cowok kalah sama cewek.
Sebenernya , kalo kita ingin dapat IPK bagus,caranya gampang, hanya yang susah adalah mengendalikan  niat dan istiqomah kita.

Cara dapat IPK bagus sebenarnya gampang :
1. Baca lebih dulu materinya,lebih bagus 2 bab selanjutnya
2. Buat Ringkasan
3. Latihan soal dan aplikasi,untuk nerapin konsep yang udah di dapet
4. Kalo ada soal yang gak bisa dikerjain,catat atau tandai,tanya teman atau dosen waktu kelas
5. Review materi yang udah di dapat

Asal step-step di atas kita jalanin dengan istiqomah,pasti IPK tingkat dewa insyaAllah
akan menyambut kita.:)

Selasa, 29 November 2011

Meneladani Cara Tidur Rasullullah


Sesungguhnya telah ada pada (diri) Rasulullah itu suri teladan yang baik bagimu, (yaitu) bagi orang yang mengharap (rahmat) Allah dan (kedatangan) hari kiamat dan dia banyak menyebut Allah. (QS Al-Ahzab; 33 : 21).
Segala sesuatu yang dicontohkan atau disuruh oleh Rasulullah SAW pasti mempunyai manfaat dan kebaikan yang banyak. Karena sesuai dengan kedudukan beliau sebagai uswatun hasanah, tidaklah beliau berbuat atau berbicara melainkan atas petunjuk dan bimbingan Allah, bukan karena nafsu ataupun keinginannya sendiri.

Salah suatu kebiasaan yang dicontohkan oleh Rasulullah SAW yang mudah2an tidak sulit untuk kita tiru adalah, adalah beliau senantiasa tidur dalam keadaan suci. Artinya, Rasulullah selalu berwudhuk sebelum tidur. Hal ini diungkapkan dalam hadis shahih dari Bukhari sbb.:
Dari Al-Bara’ bin Azib ra, ia berkata: “Rasulullah SAW bersabda kepadaku, “Apabila engkau hendak mendatangi tempat tidurmu, maka berwudhuklah sebagaimana engkau wudhuk untuk shalat. Kemudian tidurlah diatas bahumu sebelah kanan”.
Kalau begitu apakah gerangan manfaatnya atau fadhilah berwudhuk sebelum tidur? Hikmahnya dapat diketahui dari hadits yang diriwayatkan oleh At-Tirmidzi dan Ibnu As-Sunni:
“Barangsiapa yang pergi ke tempat tidurnya dalam keadaan suci seraya mengingat Allah SWT sampai dia tertidur (dikalahkan oleh kantuknya), maka tidak terlewatkan sesaat pun sepanjang malam, jika dia meminta kebaikan dunia dan akhirat kepada Allah, melainkan pasti akan diberi”.
Kebiasaan tidur Rasulullah SAW tersebut diikuti pula oleh kebiasaan lainnya yaitu membaca Al-mu’awwidzatain dan meniupkannya ketelapak tangan beliau, lalu diusapkan keseluruh tubuh. Hal ini berdasarkan hadis shahih yang diriwayatkan oleh Bukhari dan Muslim:
“Dari Aisyah ra, ia berkata, Sesungguhnya Rasulullah saw, apabila ia berada di tempat tidurnya, ditiupnya dengan mulutnya kedua tangannya dan dibacanya al-mu’awwidzatain, dan diusapnya badannya dengan kedua tangannya itu”.
Hadis lainnya berkenaan dengan ini adalah sbb.:
“Sesungguhnya Nabi saw, apabila menempati tempat tidurnya pada tiap malam, ia himpunkan kedua telapak tangannya, kemudian ia tiup dengan mulutnya, maka ia baca pada keduanya (surat-surat) Qulhuwallaahuahad, Qula’uudzubirabbilfalaq dan Qula’uudzu- birabbinnaas. Kemudian ia sapukan kedua telapak tangannya itu keseluruh badan sebatas kemampuannya, dimulai dari kepala, muka dan bagian badannya sebelah muka. Ia lakukan sebanyak tiga kali.” (Riwayat Bukhari dan Muslim).
Masih ada berbagai macam zikir dan doa yang diajarkan oleh Rasulullah saw yang pantas untuk kita lakukan sewaktu akan tidur. Semuanya itu adalah untuk kebaikan umatnya. Namun apa yang disampaikan pada kesempatan ini cukup sederhana dan mudah-mudahan tidak berat untuk diteladani. Semoga kita diberi kemudahan oleh Allah SWT untuk senantiasa mengikuti sunnah Rasulullah SAW.
Untuk mengakhiri taklim singkat ini, agar kita sama sama termotivasi mengikuti sunnah Nabi dalam hal tidur, marilah kita simak maksud dua hadis berikut ini:
“Sesungguhnya apabila seseorang hendak tidur bersainglah malaikat dan syetan. Malaikat berdoa ”Ya Allah akhiri orang ini dengan kebaikan”. Sedangkan syetan berkata ”Akhiri orang ini dengan kejahatan”. Maka jika ia tadinya berzikir kepada Allah Ta’ala kemudian tidur, bermalamlah malaikat menjaganya” (Riwayat Ibnus Sunni).
Dari Ibnu ’Umar, berkata: Rasulullah SAW telah bersabda:
“Barangsiapa tidur dimalam hari dalam keadaan suci, maka malaikat akan tetap mengikuti, lalu ketika ia bangun, niscaya malaikat itu akan berucap ’Allahummaghfirli ’abdika fulani, fainnahu bata thahiran (Ya Allah, ampunilah hambamu si fulan, karena ia tidur dimalam hari dalam keadaan suci)” (Riwayat Ibnu Hiban).
Semoga kita senantiasa memperoleh petunjuk dan pertolongan Allah SWT untuk dapat meniru kebiasaan Rasulullah SAW. Aamiin
Sumber:
1. Abduh Zulfidar Akaha; ”160 Kebiasaan Nabi SAW”
2. Imam An-Nawawi; ”Al-Adzkar”
3. Imam Hafiz Zakiuddin Abdul Azim; “At-targhib Wat-tarhib Minal ahaditsisy Syarif (Terjemahan Drs. M. Thalib “Pedoman Bertakarrub kepada Allah”)

Senin, 31 Oktober 2011

Belajar bahasa C

Bahasa pemrograman C++ didasarkan atas bahasa C sehingga compiler C++ dapat digunakan untuk melakukan kompilasi program-program yang ditulis dengan bahasa C. Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukung pemrograman berarah objek atau yang sering dikenal dengan istilah Object Oriented Programming (OOP).
Struktur program C++

Bahasa C++ secara umum memiliki struktur program seperti berikut:
Daftar header file
Deklarasi variabel global dan fungsi-fungsi tambahan
Kepala fungsi utama/main
Definisi fungsi utama/main
Definisi fungsi-fungsi tambahan (subroutine)
Subroutine dapat dituliskan setelah fungsi main atau di dalam file pustaka (library). Namun bila diletakan pada library, maka file library harus disertakan dengan menggunakan prepocessor directive #include yang diletakan pada daftar header file.
Contoh: /* contoh program turbo C++ */  komentar
#include  preprosesor/header file
main(){  fungsi utama
cout << “teknik ElektroUII”;  definisi fungsi utama
return 0;
}
Aturan umum penulisan bahasa C++

1. Bahasa C++ membedakan penulisan huruf besar dan kecil.
2. Untuk memberi komentar pada suatu statement (keadaan), dapat menggunakan /* di awal dan */ di akhir atau // dalam satu baris.
3. Awal dan akhir subroutine atau fungsi harus diapit kurung kurawal.
4. Setiap statement harus diakhiri tanda titik koma.
5. Setiap variabel yang digunakan wajib dideklarasikan terlebih dahulu.
Fungsi main

Merupakan fungsi yang menjadi inti dari program dan merupakan awal dan akhir eksekusi. Fungsi ini harus ada dalam setiap program. Tanda kurawal buka { merupakan tanda awal fungsi main dan tanda kurawal tutup } merupaka tanda berakhirnya fungsi main.
Prepocessor directive
Preprocessor directive merupakan suatu pernyataan yang akan diikiutsertakan dalam program, dimana pernyataan tersebut akan di-compile sebelum proses compilasi yang sebenarnya dilakukan.
Perintah-perintah dasar C++
* cout <<
Merupakan perintah yang biasa dipakai untuk menampilkan suatu keluaran pada layar
Contoh: cout << “Lab. Pemrograman Komputer”;
cout <>
Merupakan perintah yang berguna untuk memasukan data, yang selanjutnya didefinisikan sebagai data variabel.
example: int age;
cin >> age;
Konstanta

Adalah nilai numeris/karakter yang tetap atau tidak berubah. Dalam C++ ada 4 kelas konstanta, yaitu:
1. Konstanta integer, berupa integer biasa, integer panjang (long int) dan integer tak bertanda (unsigned integer). Nilainya dapat berupa desimal, oktal atau hexadesimal.
2. Konstanta floating point, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double, kecuali jika diakhiri dengan F atau f (menyatakan konstanta float).
3. Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik ganda (“…“). Juga dapat mengandung karakter yang menggunakan tanda \ yang disebut karakter escape (escape sequence).
4. Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal (‘…’). Beberapa konstanta karakter dapat diawali dengan tanda \ (penempatannya setelah tanda petik tunggal).

Meluruskan Salah Kaprah Rekayasa Perangkat Lunak

classdiagram.jpgRekayasa Perangkat Lunak (Software Engineering), sedikit mengalami pergeseran makna di realita dunia industri, bisnis, pendidikan maupun kurikulum Teknologi Informasi (TI) di tanah air. Di industri, para tester, debugger dan programmer sering salah kaprah menyandang gelar Software Engineer. SMK di Indonesia juga latah dengan membuka jurusan Rekayasa Perangkat Lunak, meskipun secara kurikulum hanya mengajari bahasa C atau Pascal (mungkin lebih pas disebut jurusan pemrograman komputer) ;) Tulisan ini berusaha meluruskan salah kaprah yang terjadi tentang Rekayasa Perangkat Lunak (Software Engineering) berdasarkan kesepakatan, acuan, dan standard yang ada di dunia internasional.
Sejarah munculnya Rekayasa Perangkat Lunak sebenarnya dilatarbelakangi oleh adanya krisis perangkat lunak (software crisis) di era tahun 1960-an. Krisis perangkat lunak merupakan akibat langsung dari lahirnya komputer generasi ke 3 yang canggih, ditandai dengan penggunaan Integrated Circuit (IC) untuk komputer. Performansi hardware yang meningkat, membuat adanya kebutuhan untuk memproduksi perangkat lunak yang lebih baik. Akibatnya perangkat lunak yang dihasilkan menjadi menjadi beberapa kali lebih besar dan kompleks. Pendekatan informal yang digunakan pada waktu itu dalam pengembangan perangkat lunak, menjadi tidak cukup efektif (secara cost, waktu dan kualitas). Biaya hardware mulai jatuh dan biaya perangkat lunak menjadi naik cepat. Karena itulah muncul pemikiran untuk menggunakan pendekatan engineering yang lebih pasti, efektif, standard dan terukur dalam pengembangan perangkat lunak.
Dari berbagai literatur, kita dapat menyimpulkan bahwa Rekayasa Perangkat Lunak adalah:
Suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), desain, coding, testing sampai pemeliharaan sistem setelah digunakan.
Kalimat “seluruh aspek produksi perangkat lunak” membawa implikasi bahwa bahwa Rekayasa Perangkat Lunak tidak hanya berhubungan dengan masalah teknis pengembangan perangkat lunak tetapi juga kegiatan strategis seperti manajemen proyek perangkat lunak, penentuan metode dan proses pengembangan, serta aspek teoritis, yang kesemuanya untuk mendukung terjadinya produksi perangkat lunak.
Kemudian tidak boleh dilupakan bahwa secara definisi perangkat lunak tidak hanya untuk program komputer, tetapi juga termasuk dokumentasi dan konfigurasi data yang berhubungan yang diperlukan untuk membuat program beroperasi dengan benar. Dengan definisi ini otomatis keluaran (output) produksi perangkat lunak disamping program komputer juga dokumentasi lengkap berhubungan dengannya. Ini yang kadang kurang dipahami oleh pengembang, sehingga menganggap cukup memberikan program yang jalan (running program) ke pengguna (customer).
Rekayasa Perangkat Lunak bukan merupakan cabang ilmu Computer Science yang mempelajari tentang technical coding. Ini yang sering salah kaprah dipahami, sehingga pelajar, mahasiswa atau bahkan calon dosen ;) shock ketika dihadapkan dengan buku-buku textbook Rekayasa Perangkat Lunak yang selalu tebal dengan penjelasan sangat luas tentang bagaimana perangkat lunak diproduksi, dari aspek requirement capturing, desain, arsitektur, testing, kualitas software, sampai people/cost management. Dan ini adalah suatu kesepakatan yang sudah diterima umum tentang Rekayasa Perangkat Lunak, sejak jaman Roger S Pressman menulis buku “Software Engineering: A Practitioner’s Approach”, sampai Ian Sommerville yang kemudian datang dengan buku “Software Engineering” yang sudah sampai edisi ke 7, maupun pendatang baru semacam Hans Van Vliet, Shari Lawrence Pfleeger maupun James F Peters.
Terus bagaimana kalau kita ingin memperdalam masalah technical coding dan programming? Ada dua cabang ilmu lain yang membahas lebih dalam masalah ini, yaitu: Algoritma dan Struktur Data, dan Bahasa Pemrograman.
Kok bisa begitu, dasarnya darimana? Jadi pada hakekatnya, sebagai sebuah disiplin ilmu, Computer Science itu juga memiliki definisi, ruang lingkup, klasifikasi dan kategorisasinya. Klasifikasi yang paling terkenal dikeluarkan Task Force yang dibentuk oleh IEEE (Institute of Electrical and Electronics Engineers) dan ACM (Association for Computing Machinary (http://acm.org)) yang dipimpin oleh Peter J Denning, yang kemudian terkenal dengan sebutan Matriks Denning. Sangat jelas bahwa Matriks Denning memisahkan antara cabang ilmu Software Engineering dengan Algoritma dan Struktur Data, serta Bahasa Pemrograman. Itulah di paragraf awal saya sebut bahwa lebih tepat SMK, akademi atau universitas menggunakan nama jurusan (atau mata kuliah): Pemrograman Komputer, Algoritma dan Struktur Data, atau Bahasa Pemrograman, kalau memang materinya hanya mempelajari masalah bahasa pemrograman secara teknis.
Nah terus pertanyaan kembali muncul, jadi sebenarnya apa yang menjadi ruang lingkup ilmu Software Engineering itu apa? Pertanyaan ini merupakan pertanyaan banyak orang, semakin banyak peneliti dan praktisi menulis maka semakin bervariasi pemahaman yang muncul, semakin banyak buku yang terbit semakin membingungkan pelajar dan mahasiswa dalam memahami secara komprehensif apa itu Rekayasa Perangkat Lunak.
Kegelisahan ini dijawab tuntas oleh IEEE Computer Society (http://computer.org) dengan membentuk tim di tahun 1998 dimana tim tersebut mulai menyusun pemahaman standard (body of knowledge) tentang bidang ilmu Software Engineering, yang kemudian terkenal dengan sebutan SWEBOK (Software Engineering Body of Knowledge). Sudah ada dua versi SWEBOK ini, yaitu yang diterbitkan tahun 1999 dan terakhir tahun 2004.
Tiada gading yang tak retak kata orang bijak, project IEEE Computer Society tentang SWEBOK ini sebenarnya juga banyak dikritik oleh pakar yang lain. Paling tidak dua tokoh besar dunia Software Engineering yaitu Cem Kaner and Grady Booch tidak terlalu setuju dengan materi yang ada di dalam SWEBOK, bahkan menyebutnya sebagai sebuah guide yang misguided ;) Terlepas dari hal itu, boleh dikatakan SWEBOK cukup bisa diterima banyak pihak.
Selain SWEBOK, sebenarnya ada project lain yang mirip dalam usaha menyusun pemahaman standard dalam bidang Software Engineering, yaitu CCSE (Computing Curriculum Software Engineering). Project ini juga disponsori oleh IEEE Computer Society dan ACM , hanya orientasinya sedikit berbeda, yaitu untuk membentuk kurikulum standard berhubungan dengan bidang ilmu Software Engineering. Hal ini berbeda dengan orientasi SWEBOK yang lebih umum melingkupi dunia akademisi dan praktisi.
(sumber : Ilmukomputer.com )
Catatan: Edisi lengkap dari tulisan ini dapat dibaca di majalah SDA Magazine edisi Juni 2006. 
REFERENSI
[1] Guide to the Software Engineering Body of Knowledge 2004 Version (SWEBOK), A Project of the IEEE Computer Society Professional Practices Committee, http://www.swebok.org, 2004.
[2] IEEE Standard Glossary of Software Engineering Technology, IEEE Std 610.12-1990, Institute of Electrical and Electronics Engineers, New York, 1990.
[3] Hans Van Vliet, Software Engineering – Principles and Practice, John Wiley & Sons, 2000.
[4] Peter J Denning, Computer Science: the Discipline, In Encyclopedia of Computer Science (A. Ralston and D. Hemmendinger, Eds), 1999.
[5] James F. Peters and Witold Pedrycz, Software Engineering: An Engineering Approach, John Wiley & Sons, 2000.
[6] Roger S. Pressman, Software Engineering: A Practitioner’s Approach Fifth Edition, McGraw-Hill, 2004.
[7] Ian Sommerville, Software Engineering 7th Edition, Addison-Wesley, 2004.
 

Minggu, 04 September 2011

Pengalaman hari ini

Minggu, 4 Agustus 2011

         Hari ini adalah hari terakhir libur kuliah. Pagi ini ane janjian sama mas supri(kakak kelas ane anak Tekkim ITS) di sambong. Hari ini bis penuh,kita berdiri dari Jombang sampe terminal Bungurasih Surabaya. Untuk menikmati suasana kita ngobrol aja berdua. Temanya ngalor ngidul. Sebelum sampe di sambong sempat ku merenung,mencoba mengevaluasi diri. Dalam renungan itu hatiku berkata," Ya Allah aku ini hanya hambamu,budakmu,yang seharusnya tunduk dan patuh pada perintah tuannya,tidak seharusnya hamba meninggalkan shalat malam hanya karena ngantuk,tidak seharusnya hamba meninggalkan ngaji hanya karena malas,tidak seharusnya hamba tidak berprestasi disekolah dengan alasan apapun. Allah telah beri semua yang aku butuhkan,semua,tanpa harus meminta,begitu maha kasihnya Allah. Hingga kuingat kembali tentang suatu peristiwa ketika Allah menyembuhkan Ayahku dari sakitnya,aku berpikir Bagaimana seandainya Allah tidak menyembuhkan ayahku,akan jadi apa aku ini? Bagaimana seandainya Allah tidak berikan aku kesempatan untuk kuliah,akan jadi apa aku ini? Bagaimana seandainya Allah mencabut rasa malu dan iman dari jiwaku,akan jadi apa aku ini? Dalam shalat ku menangis...Bagaimana mungkin hamba bisa mendurhakaimu ya Allah,sedang engkau selalu mencintaiku,kau tunjukkan aku jalan yang mulia,ketika orang lain melupakan kalam-kalam mu,Kau tunjukkan aku nikmatnya menjaga pandangan,ketika yang lain lupa dengan tata cara bergaul. Ya Allah buatlah aku mencintai apa yang Kau cintai,dan buatlah aku membenci apa yang Kau benci.

Sabtu, 03 September 2011

Sistem Digital




Sistem Angka dan konversinya

Sistem angka yang biasa kita kenal adalah system decimal yaitu system bilangan
berbasis 10, tetapi system yang dipakai dalam computer adalah biner.
Sistem Biner adalah system bilangan yang hanya menggunakan dua symbol (0,1).
Bilangan ini biasanya dikatakan mempunyai radiks 2 dan biasa disebut bilangan berbasis
2, setiap biner digit disebut bit.
Mengapa menggunakan system Biner ?
- Penggunaan system angka-biner pada dasarnya disebabkan karena kesederhanaan
cara, dimana digit biner 0 dan 1 berhubungan dengan implementasi fisis. Digit
biner 0 dan 1 dapat dengan mudah dinyatakan oleh tegangan komponen digital
sebagai rendah ( low ) atau tinggi ( high )
- System biner hanya dapat mengolah angka biner atau angka terkode biner dari
system bilangan lain seperti decimal. Pembatasan semua dari system digital
( biner) ini mengakibatkan bahwa angka-angka yang diberikan dalam bentuk lain
harus di konversi kan ke bentuk biner dahulu sebelum diolah oleh suatu system
digital pada akhir proses hasilnya ( dalam bentuk biner ) dapat dikonversikan
kembali ke bentuk system angka aslinya.

Konversi Desimal ke biner :
Metode Cibar-Cibur ( The Dibble-Dabble Method )
Banyak cara yang digunakan untuk mengkonversikan angka decimal ke angka
biner dan angka biner ke angka decimal ekivalennya, akan tetapi yang paling popular
adalah metode cibar-cibur ( the dibble-dabble method ). Cara yang dipakai untuk
mengkonversi bilangan decimal ke biner dengan pembagian ulang angka decimal oleh 2,
menghasilkan deretan dari sisa 0 atau 1. Deretan sisa tersebut bila dibaca dari arah
terbalik akan menghasilkan angka biner ekivalen dari angka decimal yang di konversikan
Contoh : konversikan 197510 = ……….2
21975 sisa
2|987 1
2|493 1
2|246 1
2|123 0
2|61   1 dibaca terbalik, dari bawah ke atas
2|30   1
2|15   0
2|7     1
2|3     1
2|1     1
0 1
197510 = 111101101112



Konversi Biner ke Desimal

 Konversikan 1101112 = ……………10
1101112 = 1 1 0 1 1 1
2 5 2 4 2 3 2 2 2 1 2 0 x
32 + 16 + 0 + 4 + 2 + 1 = 55 10
Konversi octal ke biner
Konversi angka octal ke biner dapat dikerjakan dengan mengkonversi masing-masing bit
dari angka octal ke angka biner 3-bit, kemudian tinggal menderetkan secara berurutan.
Contoh : konversikan 36678 = ………..2
3 6 6 7
011 | 110 | 110 | 111
36678 = 111101101112
Konversi biner ke octal
Cara konversi biner ke octal adalah dengan membagi deretan bilangan biner ke dalam 3-
bit biner kemudian mengkonversi masing-masing 3- bit biner tadi ke bilangan octal
Contoh : konversikan 100111001110012 =…………8
010 | 011 | 100 | 111 | 001
2 3 4 7 1
100111001110012 = 234718