Thursday, April 12, 2012

Ternary Operator

Ternary operator dalam ilmu komputer merupakan operator untuk bahasa pemrograman yang memiliki 3 argumen yang dipisahkan oleh karakter '?' dan ':'. Operator ini merepresentasikan operasi asignment suatu variabel berdasarkan kondisi argumen sebelum '?'. Bentuk umum dari operator ini adalah:
(kondisi)?ekspresi_pertama:ekspresi_kedua;
ekspresi_pertama dijalankan jika kondisi bernilai true, jika kondisi bernilai false maka ekspresi_kedua yang akan dijalankan.
Lihat contoh statemen operator ternary berikut:
No C++/Java PHP
1 max=(a>b):a:b; $max=($a>$b)?$a:$b;
2 n=(n%2==0)?n/2:3*n+1; $n=($n%2==0)?$n/2:3*$n+1;

Statement pada tabel di atas jika dituliskan dengan struktur kontrol kondisi if sebagai berikut:
No C++/Java PHP
1
if (a>b) {
  max=a;
  } else {
  max=b;
  } 
if ($a>$b) { 
  $max=$a; 
  }else {
  $max=:$b; 
  } 
2
if (n%2==0) { 
    n=n/2; 
    } else {
    n=3*n+1;
    }
if ($n%2==0) { 
    $n=$n/2; 
    } else {
    $n=3*$n+1;
    }
Lalu bagaimana jika kondisi yang dapat dipenuhi lebih dari 2, misal untuk menentukan bilangan terbesar dari 3 bilangan, perhatikan pseudocode berikut:
if a>b 
  if a>c
   max=a
  else
   max=c
else
  if b>c
   max=b
  else
   max=c

Implementasi operator ternary dari pseudocode lihat contoh script lengkap dalam C++ berikut:
#include <iostream>

using namespace std;
int main()
{
   int a=90,b=80,c=530,max;
   max=(a>b)?(a>c)?a:c:(b>c)?b:c; //menentukan nilai max
   cout<<max;
   return 0;
 }

Dari pemaparan contoh-contoh di atas, operator ternary dapat digunakan sebagai pengganti statement if sehingga kode yang dibuat dapat menjadi lebih pendek sehingga dapat mengurangi code of line yang efeknya adalah ukuran file code yang dihasilkan akan lebih kecil.
Technorati Profile

Sunday, April 8, 2012

C++ Operator: Increment-decrement Operator

Operator increment merupakan operator yang digunakan untuk menambah 1 nilai suatu variabel bertipe bilangan dan operator decrement merupakan kebalikan dari operator increment, yaitu mengurangi 1 nilai dari suatu variabel.

Operator increment dalam C++ dinyatakan dengan:
++nama_varibel atau dengan nama_variabel++   
StatementBentuk Lain
i++; atau ++i; i=i+1;
i+=1;
i--; atau --i;i=i-1;
i-=1;
Tanda ++ atau -- sesudah dan sebelum variabel memberikan pengaruh yang berbeda jika operator ini digunakan pada proses assigment variabel lain. Misal:
StatementBentuk LainHasil
i=15;
A=i++;
i=15;
A=i;
i++;
A=15;
i=16;
i=20;
A=--i;
i=20;
i--;
A=i;
A=19;
i=19;

Perhatikan statement berikut:
int a=10,b=12,c=-7,hasil=0;
hasil = a++ + ++b - c++;

Statement ini akan menghasilkan nilai-nilai:
hasil = 30, a=11, b=12, dan c=-6;

Kenapa nilai Hasil=30 ??
Statement di atas mewakili :
b=b+1;
hasil=a + b - c; //10 +13 - (-7) = 30
a=a+1;
c=c+1;

Untuk lebih jelasnya anda jalankan code program berikut:
#include <iostream>
  using namespace std;
  int main() {
  int a=5,b=6,c=2,result=2;
  cout<<a<<" "<<b<<" "<<c<<" "<<result<<endl;
  result += a++ + --b - --c + ++a - b++;
  cout<<a<<" "<<b<<" "<<c<<" "<<result;
  return 0;
  }
Kode ini akan memberikan output:
5 6 2 2
7 6 1 12

Technorati Profile

Tuesday, April 3, 2012

Site Detik Finance diblokir Google


Pagi-pagi mau baca berita di detik kok tiba-tiba waktu klik berita di detik finance ada peringatan bahwa situs ini dilaporkan sebagai web penyerang yang berbahaya bagi informasi data-data pribadi di komputer.
Jika di klik button Mengapa situs ini diblokir akan diarahkan ke halaman diagnostic google di http://safebrowsing.clients.google.com/safebrowsing/diagnostic?client=Firefox&hl=id&site=http://finance.detik.com/read/2012/04/02/104523/1882576/1034/wah-tak-hanya-alphard-fortuner-sampai-jaguar-juga-minum-premium?991104topnews, yang berisi:





Apa status cantuman terbaru untuk finance.detik.com?

Situs tercantum sebagai mencurigakan - mengunjungi situs web ini dapat membahayakan komputer Anda.

Sebagian dari situs ini tercantum karena kegiatan mencurigakan sebanyak 4 kali selama 90 hari terakhir.

Apa yang terjadi saat Google mengunjungi situs ini?

Dari 876 laman yang kami uji pada situs tersebut selama 90 hari terakhir, 13 laman menyebabkan perangkat lunak berbahaya terunduh dan terpasang tanpa persetujuan pengguna. Google terakhir kali mengunjungi situs ini pada 2012-04-02 dan konten yang mencurigakan terakhir kali ditemukan di situs ini pada 2012-04-02.

Perangkat lunak berbahaya mencakup 2 scripting exploit(s), 1 trojan(s). Infeksi yang berhasil menyebabkan rata-rata 5 proses baru pada mesin target.

Perangkat lunak berbahaya diinangi pada 1 domain, termasuk jhcgqjwhegorqtg.co.cc/.

Situs ini diinangi pada 2 jaringan, termasuk AS27357 (RACKSPACE), AS24211 (DETIK).

Apakah situs ini telah bertindak sebagai perantara yang menyebabkan penyebaran perangkat lunak jahat lebih lanjut?

Selama 90 hari terakhir, finance.detik.com tidak tampak berfungsi sebagai perantara terinfeksinya situs mana pun.

Apakah situs ini telah menginangi perangkat lunak jahat?

Tidak, situs ini tidak menginangi perangkat lunak berbahaya selama 90 hari terakhir.

Bagaimana hal ini bisa terjadi?

Dalam beberapa kasus, pihak ketiga dapat menambahkan kode berbahaya pada situs yang sah, yang akan memicu kami untuk menampilkan pesan peringatan.

Langkah berikutnya:




Apa ada kemungkinan situs detik di hack ?

Type your summary hereType rest of the post hereTechnorati Profile