Minggu, 18 Maret 2012

Film Dokumenter Understanding Cyberworld 2020


Film dokumenter yang judulnya Understanding Cyberworld 2020 dari Discovery Channel. Di film itu menceritakan tentang keadaan teknologi pada tahun 2020 yang amat maju. Seluruh aspek kehidupan manusia dimudahkan oleh teknologi canggih. Komputer tidak lagi ada di dalam kotak CPU saja, tapi akan ada disetiap perabotan rumah tangga. Mulai dari buku, meja, piring, gelas, cermin, dan lain-lain akan di pasang microchip. Dimana microchip ini sebagai otak yang memberi tau tentang data perabotan, seperti  beli perabotan tanggal berapa, pake berapa kali, ada kerusakan atau tidak pada perabotnya.
Selain itu juga semakin berkembangnya kekuatan bahasa pemrograman. Diharapkan di tahun 2020 akan ada banyak robot – robot canggih yang memiliki perasaan dan emosi. Yang dapat menggantikan tugas – tugas berat manusia. Robot yang dapat bergerak dan menentukan sendiri gerakan untuk pekerjaannya. Pada saat dahulu, hal ini adalah mustahil. Namun berkat Hukum Morris yang mengatakan bahwa perkembangan teknologi akan bertambah setiap 18 bulan sekali, dan hal itu ia sampaikan pada tahun 1965. Dan sejauh ini prediksi Morris adalah benar.
Untuk dijadiin perbandingan, bahwa system komputerisasi yang ada pada mobil keluaran terbaru saat ini lebih rumit daripada system komputerisasi yang ada pada pesawat Apollo 11. Dan pada tahun 2020 nanti, keberadaan dunia fisikal dan dunia virtual akan semakin dekat. Akan ada dunia dimana kita bisa melihat kejadian masa lalu dari tempat yang sedang kita pijak hanya melalui sebuah kacamata. Seorang mekanik akan bisa mengoprek mesin dari image 3D virtual. 
Dan perkembangan teknologi juga merambah ke system yang dimiliki oleh polisi. Sekarang saja di sudut – sudut jalanan di Inggris, telah dipasangi ratusan kamera pengintai. Untuk merekam setiap kejadian dan untuk memudahkan penyelidikan. Namun saat ini computer belum dapat mengenal objek benda secara visual. Diharapkan pada tahun 2020, computer dapat mengenali objek benda secara visual. Sehingga dapat memudahkan kepolisian mencari 1 diantara ratusan orang pelaku kejahatan.
Pada akhirnya kita mau tidak mau hidup bersama teknologi. Teknologi yang memudahkan pekerjaan sehari – hari.

Sabtu, 17 Maret 2012

Beberapa Pertimbangan sebelum Merakit Komputer Desktop

Memiliki komputer pribadi sebagai alat yang memudahkan pekerjaan atau digunakan untuk hal yang lainnya memang sangat menyenangkan. Akan tetapi jika memiliki komputer yang tidak sesuai dengan kebutuhan pemakaian, pastinya akan menjadi sia-sia dan menjadi alat penyedot atau pemborosan uang saja.
Untuk menghindari kesalahan dalam membeli komputer  ada beberapa hal yang memang harus dijadikan bahan pertimbangan, sehingga komputer yang anda miliki bisa efektif dan efisien buat diri anda sendiri. Yang harus menjadi pertimbangan adalah Memilih komputer sesuai dengan kebutuhan dan penggunaannya.

  1. Mempertimbangakan biaya atau budget yang harus di keluarkan, menetapkan anggaran  memutuskan      berapa banyak uang yang mampu dikeluarkan.
  2. Memilih komputer sesuai dengan kebutuhan dan pengggunannya. Untuk pekerjaan apa anda membutuhkan sebuah komputer rakitan ?. Jika hanya ingin menjalankan aplikasi Microsoft  Office, surfing internet, dan tugas ringan saja tidak perlu kemahalan. Disisi lain jika anda gamer, editing audio atau video atau sumber daya dengan komputasi tinggi, anda akan membutuhkan anggaran yang lebih besar yang memungkinkan anda memilih komponen CPU, RAM, Motherboard, hardisk dan lain-lain sesuai dengan keperluan.
  3. Jangka pemakaian berapa lama anda ingin menggunakan computer itu ? kemajuan hardware telah membuat cutting edge-komponen setiap tahun membuat komponen akan cepat ketinggalan. Reputasi. Ketika anda membuat sketsa dari PC baru anda, periksa review, newsgroup, dan papan pesan untuk melihat apa yang orang lain katakana tentang komponen yang anda pertimbangkan.
  4. Sistem Operasi. Hampir semua bagian komputer yang anda beli akan datang dengan driver untuk sebagian besar versi terbaru Windows (tetapi periksa dulu semua itu, hanya untuk memastikan). Jika anda berencana untuk menggunakan Linux, BSD, atau non-sistem operasi Microsoft, maka pastikan bahwa komponen Anda akan bekerja dengan sistem itu. Kebanyakan distribusi Linux, misalnya, memelihara daftar hardware yang akan bekerja dengan distribusi mereka. Ada juga newsgroup dikhususkan untuk masalah hardware pada sistem operasi tertentu.
  5. Preferensi Pribadi . Sebagian besar penggemar komputer memiliki perusahaan “favorit”. Saya sangat suka produk intel dari pada produk keluaran AMD misalnya. Ini tidak berarti bahwa yang produk AMD tidak baik, tapi saya kebetulan fanatik sama intel. Produk mereka sangat tahan lama, berkinerja tinggi, dan dapat diandalkan. Beberapa orang tidak setuju dengan pendapat saya, dan itu bukan masalah. Tapi ketika saya membangun sebuah komputer pribadi, saya cenderung memilih perangkat keras dari perusahaan yang saya suka, perusahaan yang produknya dimana saya punya pengalaman menyenangkan. 

Operator Increament dan Decrement


OPERATOR INCREAMENT DAN DECREMENT
Program C memberikan kemudahan notasi untuk menambah atau mengurangi satu nilai pada suatu variabel bilangan  bulat (int). Bentuk operator yang dapat digunakan ada dua, yaitu bentuk prefix (++var atau –var) yang berarti bahwa nilai ekspersinya sama dengan nilai variabel sebelum diubah. Perhatikan penjelasan pada contoh berikut:
            c = 5;                           /* c bernilai 5*/
c++;                              /* c++ tetap bernilai 5, sedangkan c selanjutnya bernilai 6 */
++c                               /* ++c dan c itu sendiri bernilai 7 */
Untuk lebih jelasnya, proses program berikut dan perhatikan keluarannya.
#include <stdio.h>
Main(){
            Int a = 10;
Printf(“\n%d”, a +=3);
Printf((“\n%d”, a -=3);
Printf((“\n%d”, a *=3);
Printf((“\n%d”, a %=3);
Printf((“\n%d”, a);
Printf((“\n%d”, ++a);
Printf((“\n%d”, a);
Printf((“\n%d”, a++);
Printf((“\n%d”, a);
Printf((“\n%d”, --a);
Printf((“\n%d”, a);
Printf((“\n%d”, a--);
Printf((“\n%d”, a);
return 0;
}

Operator Arimatika


OPERATOR ARITMATIKA
Program  computer banyak melakukan perhitungan aritmatika, yang terdiri dari operator (+, -, *, /, dan %) dan operand. Misalnya ekspresi 3 +7 terdiri dari operator + dan dua buah operand (disebut binary), yaitu 3 dan 7. Disamping itu, ada pula operator yan hanya diterapkan pada sebuah operand (disebut unary), misalnya, -5, +12.7, dan sebagainya. Operator aritmatika beserta notasinya tercantum pada tabel berikut
Operasi
Operator
Ekspresi Alajabar
Ekpresi C
Penjumlahan
+
f + 7
f + 7
Pengurangan
-
p - c
p – c
Perkalian
*
bm
b * m
Pembagian
/
x : y
x / y
Modulo
%
r mod s
r % s

Tanda kurung ‘(…..)’ digunakan untuk memberi peringkat lebih tinggi dari proses pengolahan, misalnya a*(b+c)+c*(d-e). untuk suatu ekspresi yang mempunyai banyak operator, maka operator yang mana akan diproses terlebih dahulu tergantung pada dua hal, yaitu precedence dan associativity. Precendence menentukan urutan operasi dan operator-operator dalam ekpresi majemuk. Operator dengan tingkat precendence labih tinggi akan dievaluasi terlebih dahulu. Sedangkan associativity menentukan arah evaluasi dari operator bila mempunyai precendence yang sama, apakah dari kiri ke kanan (disimbolkan LR), atau sebaliknya (disimbolkan RL). Tabel lengkap yang memuat precendence dan associavity dari semua operator yang dikenal didalam program C.
OPERATOR LOGIKA, RELASIONAL DAN KESAMAAN
Disamping operator aritmatika juga dikenal operator logika relasional, dan kesamaan dimana ekspresi yang dibentuk menghasilkan dua nilai khas, yaitu salah (false, dalam C diberi nilai 0) dan benar (true, dalam C bernilai tidak sama dengan 0). Operator yang dimaksud seperti terlihat pada tabel berikut:

Aljabar
Operator C
Contoh
Arti
Kesamaan
=
= =
x = = y
x sama dengan y ?
!=
x !=y
x tidak sama dengan y ?
Logika
> 
> 
x > y
x labih besar daru y ?
< 
< 
x < y
x lebih kecil dari y ?
>=
x >= y
x labih besar atau sama dengan y ?
<=
x <= y
x lebih kecil atau sama dengan y ?
Relational
&&
(x>0) && (x<3)
x > 0 dan x < 3
U
||
(x <0) | (x>3)
x < 0 atau x > 3
~
!
!(x <0)
x tidak lebih kecil dari 0

OPERATOR PENUGASAN (Asigment Operator)
Pemberian suatu nilai konstanta dan atau ekspresi kedalam suatu variabel dibuat dengan menggunakan operator penugasan, yaitu sama dengan (‘=’). Operand dari sebelah kiri dari operator penugasan ini haruslah suatu Lvalue, dan tipe dari hasil adalah tipe dari operand sebelah kirinya. Contoh untuk hal ini adalah:
            a = 5;
            b = a = 10;
c = a + 5;

COMPOUND ASSIGMENT OPERATOR
Pernyataan ‘c = c + 5’ di atas didalam  program C dapat disederhanakan menjadi c+ = 5. Operand ‘+=’ yang digunakan untuk menyederhanakan tersebut disebut dengan compound assignment operator. Semua operator aritmatika dapat digunakan untuk model seperti ini, yaitu +, -, *, /, dan %. Didamping itu juga operator lainnya seperti <<., >>, &, dan ^ dapat digunakan dengan cara yang sama. Perhatikan contoh berikut:

c+=5                             /*artinya c = c + 5*/
x / = 2;                         /*artinya x = x /2 */
jumlah %=2;                /*artinya jumlah = jumlah % 2 */

Menulis dan Membaca


Menulis dan Membaca
Fungsi standard yang sering digunakan didalam program C untuk menuliskan nilai ke layar dan membaca nilai dari papan ketik adalah printf dan scanf. Kedua fungsi ini dapat dilihat penggunaanya pada contoh program c sebelumnya, yaitu:
            printf("Perhitungan Luas Segitiga \n");
            printf("Alas = "); 
            scanf_s("%f",&a);
            printf("Tinggi = ");
            scanf_s("%f",&t); 
            LuasSegitiga = a*t/dua;
            printf("Luas Segitiga = %f \n", LuasSegitiga);

fungsi printf yang pertama mempunyai suatu argument, yang bertujuan untuk menuliskan sautu string kalimat ‘ketikkan dua bilangan bulat :’ di layar. Kalimat ini diawali dengan karakter ‘\n’ yang berarti bahwa kursor tersebut terlebih dahulu dipindahkan ke baris baru sebelum menuliskan kalimat tersebut. Sedangkan fungsi printf yang kedua mempunyai dua argument, dimana argument pertama adalah string kalimat yang akan ditulis ke layar, dan argument kedua adalah nilai dari suatu variabel yang akan ditulis (x). nilai x ini ditulis dengan menggunakan notasi decimal (karkter ‘%d pada argument pertama).
Fungsi kedua adalah scanf yang digunakan untuk membaca nilai suatu variabel yang diketikkan dari papan ketik saat program diproses. Pada contoh ini, nilai yang dibaca terdiri dari 2 buah dan masing-masing akan dimasukkan kedalam variabel Nilai1 dan Nilai2. Karakter ‘%d’ menunjukan bahwa nilai yang diketikkan harus dalam notasi decimal, sedangkan karakter ‘&’ menunjukan bahwa argument fungsi scanf berupa reference variabel.

Literal dan Konstanta


Literal dan Constant
Suatu nilai data dalam program kadang-kadang berbentuk literal (hanya beberapa nilai, misalnya 3,4,15, dan sebagainya) dan sifat constant (tidak dapat dirubah). Setiap literal mempunyai tipe, misalnya: 3 bertipe int, 4.15 bertipe float, dan sebagainya. Nilai literal juga bersifat nonaddressable karena alamatnya tidak dapat diakses.
Ada tiga tipe literal constant ini, yaitu:
  •           Litaral integer constant, untuk menuliskan constan bilangan bulat. Konstanta ini dapat dituliskan dalam notasi desimal (misalnya 20, -5) octal yang dimulai dengan karakter ‘0’ (misalnya 024), dan hexadecimal yang dimulai dengan karakter ‘0X’ (misalnya 0X14). Jika tidak menggunakan deklarasi tipe apapun, otomatis konstanta yang dituliskan bertipe integer bertanda (signed int). tipe long dan unsigned dapat ditambahkan dibelakang konstanta, misalnya 123u, 325UL, 2L dan sebagainya.
  •            Literal floating point constants, yaitu nilai konstanta jenis bilanga rill yang dapat dituliskan dalam notasi ilmiah (misalnya 1.0E yang berarti 1.0 x 10-3). Dan notasi desimal (misalnya 3.14F.0.0).
  •         Literal character constants, yaitu konstanta karakter yang ditulis dalam tanda kutip (‘..’), misalnya ‘a’, ‘2’, ‘,’,”(empty character), dan sebagainya. Disamping itu, terdapat karakter yang bersifat nonprintable character (tidak dapat dicetak, melainkan hanya sebagai kode operasi tertentu), yang ditulis dengan escape sequences, seperti yang diuraikan pada tabel berikut.

            No.
Karakter
Penjelasan
1.
\n
New line (baris baru)
2.
\t
Horizontal tab
3.
\r
Carriage return
4.
\a
Alert, sound bell system
5.
\\
Backslash
6.
\*
Double quote
  •           String literal constants, yang terdiri dari nol atau lebih karakter, dan ditulis di dalam tanda kutip dobel (double quotes), yaitu “……”, misalnya “” (null string=’\0’), “a” (sama dengan ‘a’, ‘\0’), “komputer” (sama dengan ‘k’,’o’,’m’,’p’,’u’,’t’,’e’,’r’,’\0’), dan sebagainya.

Tipe Data


Tipe Data
Setiap program umumnya mempunyai data, dan setiap data memiliki tipe tertentu. Didalam program C terdapat dua kelompok besar tipe data, yaitu integral types (terdiri dari Char, Short, int, dan long) dan non-integral types (yaitu float dan double). Penjelasan masing-masing tipe ini seperti yang diuraikan pada tabel berikut:
No.
Tipe
Keterangan
1.
char
Barisi sebuah karakter atau kode ASCII: -128 hingga +127
2.
int
Bilangan bulat: - 32768 hingga 32767
3.
short
Sama dengan int
4.
float
Bilangan riil dengan ketelitian 10-38  hingga 10+38
5.
double
Bilangan riil dengan ketelitian 10-308 hingga 10+308
6.
long
Untuk meningkatkan kapasitas, misalnya:
Long int => -2147483648 hingga + 2147483647

Tipe data short dan int dapat berbentuk signed maupun unsigned.

Kata Kunci Dalam Bahasa Pemrograman C


Kata Kunci
Kata kunci (keyword) adalah kata didalam pemrograman yang tidak dapat digunakan untuk kepentingan lain kecuali yang ditetapkan oleh kompilator. Dengan demikian kita tidak dapat membuat variable dengan nama seperti yang tercantum pada kata kunci, atau kepentingan-kepentingan lainnya. Ada 32 kata kunci dalam C yaitu:
Auto

Break

case

char

const

continue

default

do

double

else

enum

Extern
float

for

goto

if

int
long

register

return

short

signed

sizeof
static

struct
switch
typedef
union

unsigned
void
volatile
while