Kamis, 29 September 2011

Trik Hacker Mendapatkan Password

Pencurian password, pengambilalihan account, merupakan hal yang sering terjadi di dunia cyber. Bukan hal yang sulit untuk melakukannya, namun banyak para newbie yang terus saja bertanya-tanya.. “Bagaimana cara mendapatkan password email orang lain?” atau pertanyaan yang paling sering saya terima ialah.. “Bagaimana cara anda mendapatkan password saya?” Razz

Untuk pertanyaan-pertanyaan itulah artikel ini ditulis, semoga bisa menambah wawasan anda dan membuka pikiran anda tentang betapa pentingnya menjaga account saat berada di tempat-tempat rawan.

Bagaimana Mendapatkannya?

Ada banyak cara untuk mendapatkan suatu password. Beberapa diantaranya tidak membutuhkan keahlian khusus. Berikut adalah cara-cara yang paling umum dan paling sering digunakan:

[1]. Social Engineering
[2]. KeyLogger
[3]. Web Spoofing
[4]. Menghadang Email
[5]. Password Cracking
[6]. Session Hijacking
[7]. Menjadi Proxy Server
[8]. Memanfaatkan Kelalaian User Dalam Penggunaan Fitur Browser
[9]. Googling

[1]. Social Engineering

Social Engineering adalah nama suatu tehnik pengumpulan informasi dengan memanfaatkan celah psikologi korban. Atau mungkin boleh juga dikatakan sebagai “penipuan” Razz Sosial Engineering membutuhkan kesabaran dan kehati-hatian agar sang korban tidak curiga. Kita dituntut untuk kreatif dan mampu berpikiran seperti sang korban.

Social Engineering merupakan seni “memaksa” orang lain untuk melakukan sesuatu sesuai dengan harapan atau keinginan anda. Tentu saja “pemaksaan” yang dilakukan tidak secara terang-terangan atau diluar tingkah laku normal yang biasa dilakukan sang korban.

Manusia cenderung untuk percaya atau mudah terpengaruh terhadap orang yang memiliki nama besar, pernah (atau sedang berusaha) memberikan pertolongan, dan memiliki kata-kata atau penampilan yang meyakinkan. Hal ini sering dimanfaatkan pelaku social engineering untuk menjerat korbannya. Seringkali sang pelaku membuat suatu kondisi agar kita memiliki semacam ketergantungan kepadanya.Ya,tanpa kita sadari dia mengkondisikan kita dalam suatu masalah dan membuat ( seolah – olah hanya ) dialah yang bisa mengatasi masalah itu. Dengan demikian,tentu kita akan cenderung untuk menuruti apa yang dia instruksikan tanpa merasa curiga.

Sosial Engineering adakalanya menjadi ancaman serius. Memang sepertinya tidak ada kaitan dengan teknologi, namun sosial engineering tetap layak diwaspadai karena bisa berakibat fatal bagi sistem anda. Why?? Karena bagaimanapun juga suatu komputer tetap saja tidak bisa lepas dari manusia. Ya, tidak ada satu sistem komputerpun di muka bumi ini yang bisa lepas dari campur tangan manusia. sehebat apapun pertahanan anda, jika anda sudah dikuasai oleh attacker melalui social engineering, maka bisa jadi anda sendirilah yang membukakan jalan masuk bagi sang attacker.

# Contoh Social Engineering sederhana:
Baca Attachment[Pembalasan Untuk Sang Admin - SOcial Engineering]

[2]. KeyLogger

KeyLogger adalah software yang dapat merekam aktivitas user. Hasil rekaman itu biasa disimpan berupa teks atau gambar. KeyLogger bekerja berdasarkan ketukan keyboard user. Aplikasi ini mampu mengenali form-form sensitif seperti form password misalnya.

Ada cara aman untuk menghindari keyloger:

1. Gunakan password dengan karakter special seperti !@#$%^&*(){}[]. Kebanyakan keyloger akan mengabaikan karakter ini sehingga sang pelaku (pemasang keyloger) tidak akan mendapatkan password anda yang sebenarnya.

2. Persiapkan password dari rumah, simpan dalam bentuk teks. Saat ingin memasukkan password, tingal copy-paste ajah. Keyloger akan membaca password anda berdasarkan ketukan keyboard. Namun cara ini agak beresiko. Mengapa? karena saat anda melakukan copy, data anda akan tersimpan di clipboard. Saat ini banyak dijumpai software-software gratis yang bisa menampilkan data dalam clipboard.

[3]. Web Spoofing

Masih ingat kasus pecurian Account sejumlah nasabah Bank BCA? Ya, itulah salah satu contoh nyata dari Web spoofing. Inti dari tehnik ini ialah dengan memanfaatkan kesalahan user saat mengetikkan alamat situs pada address bar. Pada dasarnya, Web Spoofing adalah usaha untuk menipu korban agar mengira dia sedang mengakses suatu situs tertentu, padahal bukan.

Pada kasus bank BCA, pelaku membuat situs yang sangat mirip dan identik dengan situs aslinya sehingga sang korban yang terkecoh tidak akan merasa ragu mengisikan informasi sensitif seperti user name dan Passwordnya. Padahal, karena situs tersebut adalah situs tipuan, maka semua informasi berharga tadi terekam oleh webserver palsu, yaitu milik sang pelaku.

[4]. Menghadang Email

Menghadang email? Ya, dan sangat mudah untuk melakukan hal ini. Salah satu cara adalah dengan menggunakan mailsnarf yang terdapat pada utility dsniff. Cara kerja Mailsnarf adalah dengan menghadang paket data yang lewat di Internet dan menyusunnya menjadi suatu email utuh.

Dsniff dan mailsnift merupakan software bekerja atas dasar WinPcap (setara dengan libcap pada Linux) yaitu suatu library yang menangkap paket-paket data. Paket-paket yang ditangkap ini akan disimpan dalam bentuk file oleh Windump, sedangkan Dsniff dan MailSnarf bertindak lebih jauh lagi yaitu menganalisa paket-paket data ini dan menampilkan password (dsniff) atau isi email (mailsnarf).

Baca artikel terkait pada arsip lama di www.spyrozone.net

[5]. Password Cracking

“Hacking while sleeping.” itulah ungkapan yang biasa dipakai oleh orang-orang yang melakukan password cracking. Mengapa? Karena pada umumnya dibuthkan waktu yang lama untuk melakukan pasword cracking. Bisa berjam-jam, bahkan berhari – hari! Semua itu tergantung dari target, apakah sang target menggunakan password yang umum, password memiliki panjang karakter yang tidak biasa, atau password memiliki kombinasi dengan karakter-karakter special.

Salah satu software yang biasa digunakan untuk melakukan hal ini ialah dengan mengunakan Brutus, salah satu jenis software remote password cracker yang cukup terkenal. Brutus bekerja dengan teknik dictionary attack atau bruce-force attack terhadap port-port http, POP3,ftp, telnet, dan NetBIOS.

Dictionary Attack bekerja dengan mencobakan kata-kata yang ada dalam kamus password. Sedangkan brute – force attack bekerja dengan mencobakan semua kombinasi huruf, angka, atau karakter.

Brute Force Atack bekerja sangat lambat dan membutuhkan waktu yang lama tergantung dari jenis spesifikasi komputernya dan panjang karakter passwordnya. Saat ini telah banyak situs yang menutup akses terhadap akses terhadap usaha login yang secara terus-menerus tidak berhasil.

Jika anda ingin melakukan password Cracking, silahkan pilih – pilih sendiri aplikasinya di halaman Member – spyrozone.tk.

[6]. Session Hjacking

Session hijacking dewasa ini semakin marak dikalangan para attacker. Session Hijacking biasa dilakukan dengan melakukan peniruan cookies. Jadi pada intinya, kita harus bisa meniru cookies sang korban untuk mendapatkan sesi loginnya.

Lalu bagaimana cara mendapatkan cookies sang korban?

1. Dengan analisa Cookies.

Cara ini relatif sulit dilakukan.

2. Mencuri Cokies.
Misalnya Sang Attacker ingin mendapatkan account si A. Sang Attacker bisa dengan mudah membuat semacam script Java Script yang disisipkan dalam email untuk dikirim ke korban.Saat korban membuka email itu, tanpa sadar cookiesnya akan dicuri dan direkam ke suatu webserver dengan memanfaatkan suatu script PHP.

Belakangan ini yang paling sering menjadi incaran adalah account Friendster. Ada yang menyisipkan suatu scipt lewat testimonial, ada yang menyisipkannya di profilnya sendiri untuk mencuri cookies sang korban dan lain sebagainya. Saya memiliki tips untuk ini:

1. Jangan menggunakan browser Internet Explorer

Saat ingin membuka profil orang lain, jangan menggunakan Internet Explorer. Catat alamat profil yang ingi anda lihat,logout terlebih dahulu dari account anda dan bersihkan semua cookies, baru kemudian bukalah profil Friendster tujuan.

2. Periksa Source CODEnya

Ketika menerima testimonial, periksa terlebih dahulu source codenya. Apakah disana terdapat script asing atau kata-kata yang identik dengan pembajakan seperti :

“HACKED”, “DEFACED”, “OWNED”.. dll..

Jika ragu-ragu……. reject ajah..

3. LogOUT tiba-tiba.

Waspada ketika tanpa suatu alasan yang jelas tiba-tiba anda logout dengan sendirinya dari account anda. Saat anda diminta memasukkan username dan password, lihat dulu addressbar anda! apakan anda sedang berada di situs yang semestinya atau tidak. Periksa source code halaman tersebut.Lihat pada form action, kemana informasi anda nantinya akan dikirim.

Sebenarnya session hijacking bisa dicegah jika saja sang penyedia layanan memperhatikan hal-hal berikut:

1. Menetapkan session identifier yang unik
2. Menetapkan sistem identifier berpola acak
3. Session identifier yang independen
4. Session identifier yang bisa dipetakan dengan koneksi client side.

Fenomena lain adalah, hingga saat artikel ini diterbitkan, ternyata masih banyak dijumpai para user yang tidak melakukan sign out setelah membuka accountnya. Dengan demikian, orang lain yang mengunakan komputer itu dan membuka website yang sama dengan yang telah dibuka oleh orang pertama akan otomatis login ke account sang korban.

[7]. Menjadi Proxy Server

Kita bisa mengumpulkan informasi dengan menjadi proxy server bagi korban untuk dapat berselancar. Dengan menjadi proxy server, seluruh identitas sang peselancar bisa menjadi milik kita.

[8]. Memanfaatkan Kelalaian user dalam penggunaan fitur browser

Setiap browser tentunya memiliki fitur yang ditujukan untuk kemudahan dan kenyamanan penggunanya dalam berselancar. Diantaranya ialah dengan adanya cache dan Password Manager.

Di Internet tentunya banyak suatu website yang isinya tidak berubah dalam beberapa hari (Contohnya spyrozone.tk nich.. hehehe Wink Nah, untuk situs yang seperti ini cache menjadi hal yang sangat berguna. Cache akan menyimpan file-file hasil browsing sehinga nantinya jika anda berkunjung lagi ke situs tersebut browser tidak perlu lagi melakukan download untuk kedua kalinya dari server sehingga setiap halaman situs yang telah anda buka sebelumnya akan terbuka dengan lebih cepat. Semua itu biasanya diatur oleh header time to live.

Lho, bagaimana dengan situs-situs penyedia berita yang selalu up to date? Untuk site yang seperti itu, time to live-nya akan di set=0 sehinga nantinya anda akan terus melakukan download setiap kali berkunjung.

Cukup nyaman bukan? Ya, tapi ancaman mulai timbul. Cobalah kini anda jelajahi opsi-opsi yang berkaitan dengan cache pada browser anda. Tentu anda bisa menemui bahwa ada fasilitas untuk menentukan berapa besarnya file temporary yang bisa disimpan di harddisk. Cari juga lokasi dimana file-file tersebut akan disimpan.

Coba anda buka folder tersebut, anda akan menemui file-file html & file-file gambar dari site-site yang sudah anda kunjungi. Pada Browser IE, anda bisa melihat lokasi file cache dengan menjelajahi menu Tools —> Internet options —> Settings

Lalu apa yang bisa didapatkan?? toh cuma file-file “sampah”?? Hmm… sekarang coba anda copy semua file yang ada di sana ke suatu folder. Lalu bukalah salah-satu file htmlnya. Jika itu komputer publik,anda bisa mengetahui situs apa saja yang telah diakses oleh oleh orang sebelum anda.

Hmm.. hanya dengan melihat file temporary anda bahkan bisa melihat password dan dll. Banyak saya temui situs yang menyimpan password dan menampilkannya pada url. Tentunya anda juga pasti sering membacanya di berbagai tutorial.

Kebanyakan browser pada saat ini memiliki fasilitas untuk menyimpan password. Misalnya saat meggunakan Mozilla Firefox, anda pasti sering menerima kotak dialog konfirmasi yang menanyakan apakah anda ingin password anda disimpan atau tidak oleh PasswordManager.Kebanyakan user cenderung untuk memilih opsi YES, entah itu dengan penuh kesadaran atau memang mereka tidak tau ( baca: tidak mau tau) apa maksud dari kotak dialog itu.

Orang lain yang kemudian mengunakan browser itu bisa dengan sangat mudah mendapatkan password korban dengan memasuki menu Tools —> Options —> Security –> Saved password.

Contoh lain adalah fasilitas wand password yang dimiliki oleh browser Opera. Saat anda memasukkan user name dan password pada suatu form dan menekan tombol submit, opera secara default akan meminta konfirmasi kepada anda apakah anda ingin browser menyimpan id dan password anda atau tidak. Lagi dan lagi… kebanyakan netter ceroboh, mereka cenderung untuk memilih opsi “YES”.

Lalu?? Orang lain yang kemudian menggunakan browser itu bisa melihat situs apa saja yang telah diakses oleh user, arahkan browser ke situs tersebut, letakkan cursor pada form isian user name, tekan [ALT]+[ENTER] dan BOOOMM!!!! Kenapa?? Jangan kaget dulu!! Hehehe.. form login akan otomatis terisi dengan user name korban lengkap dengan passwordnya ;D (It’s fun enough.. Wink

Ini hanya sebagian kecil contoh, jelajahi fitur-firtur browser lain!

[9]. Googling

Google.com. Banyak sudah situs yang runtuh, password dan nomor – nomor kartu kredit yang dicuri akibat dari ulah orang yang menyalahgunaan kesaktiannya Wink Dahulu, hal ini mudah dilakukan.Hanya dengan mengetikkan kata kunci tertentu yang berkaitan dengan user name dan password, anda bisa memanen ratusan password user melalui google. Tapi sekarang tampaknya anda harus gigit jari jika menggunakan cara diatas ;D

Jangan sedih dulu karena Google baru saja menelurkan produk barunya, yaitu Google Code Search. Ancaman baru mulai timbul, “si pintar” ini kini dapat meng-crawl hingga kepada archive file yang berada di public directory web server. Hati-hati yang punya kebiasaan untuk menyimpan informasi penting di dalamnya (password, dan info berharga lainnya) Sebaiknya mulai sekarang kebiasaan itu dihilangkan. Selalu proteksi folder-folder yang sensitif agar situs anda bisa hidup lebih lama. Kalo nggak… yach.. tunggu ajah ada orang yang memanfaatkan produk baru google ini untuk mengeruk informasi sensitif dari web server anda. dan jika itu sudah terjadi… maka bersiaplah.. “taman bermain” anda akan diambil alih olehnya..

Rabu, 28 September 2011

Perbedaan Ubuntu,Kubuntu,Xubuntu,Edubuntu,dll

Ubuntu server

Varian sistem operasi Ubuntu untuk melayani kebutuhan komputasi skala server. Ubuntu server menyediakan platform yang terintegrasi dengan baik yang akan memudahkan anda melakukan deploy server dengan fasilitas layanan internet standar: mail, web, DNS, file-serving hingga manajemen database. Sebagai turunan dari distribusi Debian, karakter alami Ubuntu server yang diwariskan dari Debian adalah faktor keamanan (security). Ubuntu server tidak membiarkan keberadaan port yang terbuka setelah proses instalasi, dan hanya akan memuat software-software yang esensial dan dibutuhkan untuk membangun sebuah sistem server yang aman.

http://www.ubuntu.com/server

Kubuntu

Kubuntu adalah official derivative dari Ubuntu yang menggunakan KDE sebagai desktop environment, bukan GNOME sebagaimana yang digunakan Ubuntu. Selain perbedaan desktop environment tersebut, praktis tidak ada perbedaan yang berarti antara Ubuntu dengan Kubuntu. Keduanya bahkan berbagi software repository yang sama dan menuntut spesifikasi hardware yang tak terlalu berbeda.

Kubuntu tersedia untuk arsitektur PC 32-bit, 64-bit, dan Mac
Official site Kubuntu: http://www.kubuntu.org
Wikipedia: http://en.wikipedia.org/wiki/Kubuntu

Xubuntu

Sebagai official derivative Ubuntu yang menggunakan desktop environment Xfce, Xubuntu dirancang sebagai ?paket hemat? dari Ubuntu. Xubuntu ditujukan bagi pengguna yang memiliki spesifikasi hardware komputer yang lebih rendah, atau yang menginginkan kecepatan dan efisiensi lebih dengan spesifikasi hardware yang setara. Hal ini dimungkinkan karena desktop environment Xfce yang digunakan Xubuntu hanya merangkum aplikasi-aplikasi primer dari GNOME dan menyisihkan sebagian fungsi dan aplikasi yang kurang diperlukan atau yang memberatkan sistem.

Contoh cara penghematan daya komputasi yang dilakukan Xubuntu adalah dengan mengganti aplikasi pengolah kata OpenOffice.org writer dengan Abiword yang lebih ringan, atau meniadakan aplikasi spreadsheet standar OpenOffice Calc untuk digantikan dengan GNUmeric.

Xubuntu tersedia untuk PC 32-bit dan 64-bit. Spesifikasi hardware minimal adalah RAM 128 MB untuk menjalankan desktop CD, dan 192 MB untuk instalasi, serta ruang kosong harddisk minimal 1,5 GB (hanya separuh dari kebutuhan minimal Kubuntu)

Official site: http://www.xubuntu.org
Wikipedia: http://en.wikipedia.org/wiki/Xubuntu

Edubuntu

Edubuntu adalah officially supported derivative Ubuntu yang didesain secara khusus untuk keperluan pendidikan. Sesuai dengan tujuan penggunaannya, Edubuntu secara default memuat banyak perangkat lunak aplikasi untuk pendidikan meliputi GCompris, KDE Edutainment Suite, dan Schooltool calendar.

Edubuntu dikembangkan untuk membantu para guru dengan pengetahuan teknis dan skill komputer yang terbatas untuk membuat sebuah lab komputer atau menciptakan dan mengelola sebuah online learning environment.

Official site: http://www.edubuntu.org
Wikipedia: http://en.wikipedia.org/wiki/Edubuntu

Gobuntu

Gobuntu merupakan derivative Ubuntu yang ditujukan bagi para pengguna dengan level kemampuan sebagai developer dan pengembang sistem, yang berniat membuat sendiri distribusi free software berbasis Ubuntu. Sesuai dengan segmen pengguna yang disasarnya, pihak Ubuntu hanya menyediakan perangkat lunak open source non-restricted pada Gobuntu dan menyertakan full source untuk semua firmware, driver, dan aplikasi yang terinstall di dalamnya. Maksud dari disertakannya full source tersebut jelas, yakni memberi kesempatan bagi pengembang untuk melakukan modifikasi program dan meredistribusikan hasilnya.

Gobuntu menuntut spesifikasi hardware yang sama dengan Ubuntu (min. Kapasitas harddisk 4 GB), selain juga tersedia pada dua arsitektur, PC 32-bit dan 64-bit.

Pengguna pemula tidak disarankan untuk menggunakan Gobuntu, mengingat tingkat kesulitan dalam penggunaannya yang lebih tinggi, serta menuntut pengetahuan dan pemahaman lebih atas sistem operasi Linux.

Informasi lebih lanjut seputar Gobuntu:
http://www.ubuntu.com/products/whatisubuntu/gobuntu
Wikipedia: http://en.wikipedia.org/wiki/Gobuntu

Ubuntu Studio

Distribusi Ubuntu yang dirancang khusus untuk pengguna dari kalangan profesional dalam kreasi dan multimedia editing. Ubuntu studio menyertakan aplikasi-aplikasi multimedia open source secara built-in di dalam sistemnya, meliputi CinePaint, GIMP, Inskscape, Blender, PiTiVi, Kino, dan Ardour2 ? Multitrack recorder/editor.

Official site : http://ubuntustudio.org
Wikipedia: http://en.wikipedia.org/wiki/Ubuntu_Studio

Ubuntu JeOS

Ubuntu JeOS (baca: ?juice?) adalah sistem operasi yang memiliki konsep sebagai varian dari Ubuntu yang efisien dan dikonfigurasi untuk keperluan Virtual Appliances. Rilis pertama JeOS adalah Ubuntu JeOS 7.10 (Gutsy Gibbon) dan akan segera diikuti dengan rilis berikutnya, JeOS 8.04 (Hardy Heron). Spesifikasi tekni untuk Ubuntu JeOS antara lain:

Filesize: 151 MB ISO Image
Kernel 2.6.22
Dioptimalkan untuk VMWare ESX, VMWare Server
Arsitektur Intel atau AMD x86
Memori (RAM) minimum 128 MB
Informasi seputar Ubuntu JeOS:
http://www.ubuntu.com/products/whatisubuntu/serveredition/jeos
http://en.wikipedia.org/wiki/Ubuntu_JeOS

Mythbuntu

Mythbuntu adalah sistem kombinasi yang merupakan turunan dari Ubuntu dan MythTV. Mengikuti prinsip kerja yang digunakan KnoppMyth (Knoppix ? MythTV) dan MythDora (MythTV ? Fedora), Mythbuntu didesain untuk mempermudah instalasi MythTV pada perangkat home theater PC.

Official site: http://www.mythbuntu.org
Wikipedia: http://en.wikipedia.org/wiki/Mythbuntu

Ubuntu mobile edition

Versi portable sistem operasi Ubuntu untuk platform mobile internet devices. Ubuntu mobile edition merupakan sistem fully open source yang menjanjikan pengalaman mengesankan dalam menggunakan teknologi web 2.0 lewat perangkat mobile: web browsing, email, media, digital camera, VoIP, instant messaging, GPS, blogging, digital tv, games, contacts, dates/calendar, simple software updates ? dan seterusnya, dan seterusnya..

Informasi lebih lanjut tentang Ubuntu mobile edition, lihat di http://www.ubuntu.com/products/mobile, atau dapat pula anda download dokumen data sheetnya (format file PDF) di:

http://ebenk789.com/wp-content/plugins/url-cloaker/url.php?u=aHR0cDovL3d3dy51YnVudHUuY29tL2ZpbGVzL3UxL3VidV9tb2JfZWRpdGlvbl9BNF9hdy5wZGY=

Semoga bermanfaat...

Minggu, 11 September 2011

Mengenal Program C++ for Beginner

Di antara teman-teman yang berminat pada pemrograman pasti mengenal salah satu program yang bernama C++, saya pun baru menjadi pemula di program ini, nah sebelum kita belajar lebih jauh ada baiknya kita kenal dulu apakah C++ itu..,karena ada pepatah: Tak kenal maka ta...k mau belajar,hehehe... :D , Yupz mari kita simak uraian di bawah ini...

SEJARAH BAHASA C

C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa beraras rendah (bahasa yang berorientasi kepada mesin) dan bahasa beraras tinggi (bahasa yang berorientasi pada manusia).

Bahasa beraras tinggi mempunyai kompabilitas yag tinggi antar platform. Karena itu, amatlah mudah untuk membuat program pada berbagai jenis mesin. Berbeda halnya jika menggunakan bahasa beraras rendah, sebab setiap perintahnya bergantung sekali pada jenis mesin.

Pencipta C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk sejumlah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program.

Program yang ditulis dengan menggunakan C mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa yaitu ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C.

C++ diciptakan oleh Bjarne Stroustrup di Laboratorium Bell, AT&T pada tahun 1983. Bahasa ini bersifat kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut a better C. Nama C++ sendiri diberikan oleh Rick Mascitti tahun 1983. Adapun tanda ++ berasal dari nama operator penaikan pada bahasa C.

C diambil sebagai landasan dari C++ adalah karena keportabilitasan C yang memungkinkan diterapkannya ke berbagai mesin, dari PC hingga mainframe, serta pada pelbagai sistem operasi (DOS, UNIX, VMS dan sebagainya)

Keistimewaan yang sangat berarti pada C++ adalah karena bahasa ini mendukung pemrograman yang berorientasi obyek (Object Oriented Programming) tetapi sekali lagi C++ hanyalah bahasa yang bersifat hibrid, bukan bahasa murni yang berorientasi obyek.

Tujuan utama pembuatan C++ adalah untuk meningkatkan produktivitas pemrogram dalam membuat aplikasi. PBO dan C++ dapat mengurangi kekompleksitasan, terutama pada program yang besar yang terdiri dari 10.000 baris atau lebih.

Greg Perry pada tahun 1993 menyatakan C++ dapat meningkatkan produktivitas pemrogram lebih dari dua klai dibandingkan bahasa prosedural seperti C, PASCAL dan BASIC karena kode yang ditulis dengan C++ lebih mudah untuk digunakan kembali pada program-program lain.

Program C++ dapat ditulis menggunakan sembarang editor teks seperti NOTEPAD ataupun menggunakan editor bawaan dari kompiler. Program C++ biasa ditulis dengan nama ekstensi .CPP. Agar program ini bisa dijalankan, maka harus dikompilasi terlebih dulu dengan menggunakan kompiler C++.

Pada saat pengkompilasian, program sumber (.CPP) bersama file-file header (berekstensi .H atau .HPP) akan diterjemahkan oleh kompiler C++ menjadi kode obyek (.OBJ). File obyek ini berupa file dalam format biner (berkode 0 dan 1).

Selanjutnya file obyek ini bersama-sama dengan file obyek lain serta file pustaka (.LIB) dikaitkan menajdi satu oleh linker. Hasilnya berupa file yang bersifat executable. File inilah yang bisa dijalankan dari sistem operasi secara langsung.

KOMPILER C++

Saat ini banyak kompiler bahasa C++ yang beredar di pasaran. Sebagai contoh Microsoft Corporation sebagai perusahaan pembuat perangkat lunak yang sangat termashur, mengeluarkan produk kompiler C++ berupa Microsoft C/C++ serta Visual C++. Adapun Borland International juga mengeluarkan Turbo C++ dan Borland C++.

Berikut ini contoh program C++ yag sangat sederhana dapat dilihat di bawah ini :

#include

void main()

{

cout << "Halo, Apa kabar? \n";

}

Keterangan :

· Kata void yang mendahului main() digunakan untuk menyatakan bahwa fungsi ini tidak memiliki nilai balik.

· Program C++ memang tidak pernah lepas dari fungsi. Sebab fungsi adalah salah satu dasar penyusun blok pada C++. Sebuah program C++ minimal mengandung sebuah fungsi yaitu main(). Fungsi ini menjadi awal dan akhir eksekusi program.

Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke fungsi. Pada fungsi main() di atas, tidak ada argumen yang diberikan. Oleh karena itu tdak ada entri di dalam ().

· Tanda “{“ hingga “}” disebut tubuh fungsi. Lebih spesifik lagi, semua yang terletak di dalam tanda { } disebut blok. Tanda “{“ menyatakan awal eksekusi program sedangkan “}” menyatakan akhir eksekusi program. Di dalam tanda { } bisa terkandung sejumlah unit yang disebut pernyataan (statement)

PERNYATAAN

Baris cout << "Halo, Apa kabar? \n"; merupakan contoh dari sebuah pernyataan. Pernyataan tersebut digunakan untuk menampilkan tulisan yang terletak pada sepasang tanda petik ganda ke layar. Dalam hal ini, tulisan yang terletak pada sepasang tanda petik disebut konstanta string.

Umumnya pernyataan dapat berupa :

· Instruksi untuk menyuruh komputer melakukan sesuatu.

· Menampilkan tulisan ke layar

· Menghitung suatu operasi aritmatika

· membaca dari keyboard dan sebagainya

Setiap pernyataan harus diakhiri dengan tanda titik koma (;).

MENGENAL COUT

Pengenal cout merupakan sebuah obyek didalam didalam C++. Obyek ini disediakan oleh C++ untuk mengarahkan data ke standard output (normalnya adalah layar).

Misal : cout << “Selamat Belajar C++\n”;

Tanda “<<” merupakan sebuah operator yang disebut operator penyisipan atau peletakan. Operator ini akan mengarahkan operand (data) yang terletak di sebelah kanannya ke obyek yang terletak di sebelah kiri.

Di dalam sebuah string, karakter “\” diikuti dengan karakter tertentu menyatakan sebuah karakter tunggal. Pada contoh di atas , “\n” adalah karakter pindah baris (newline)

Contoh :

#include

void main()

{

cout << "Selamat Belajar C++\n";

cout << "Ternyata Mudah Juga...";

}

Hasil :

Selamat Belajar C++

Ternyata Mudah Juga...

#INCLUDE

Baris #include bukanlah suatu pernyataan. Itulah sebabnya tidak ada tanda titik koma yang diperlukan. Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file lain misalnya iostream.h saat program dikompilasi,

File-file yang berakhiran dengan .h disebut file header, yaitu file-file yang berisi berbagai deklarasi, seperti fungsi, variabel dan sebagainya. Baris #include perlu disertakan pada program yang melibatkan obyek cout. Tanpa kehadiran baris tersebut akan terjadi kesalahan sewaktu program dikompilasi.

#include adalah salah satu pengarah praprosesor yang tersedia pada C++. Bentuk umum #include dapat berupa :

1. #include

Mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus(direktori file include yang bisa di-set melalui kompiler)

2. #include “nama file”

Menyatakan bahwa pencarian nama file dilakukan pertama kali pada direktori kerja. Jika nama file tidak ditemukan maka akan dicari pada direktori yangtercantum pada variabel lingkunngan PATH

CLRSCR() UNTUK MENGHAPUS LAYAR

Perintah untuk menghapus layar biasa dilibatkan dalam program. Pernyataan yang digunakan adalah : clrscr(); Pernyataan tersebut menggunakan baris #include

Contoh :

#include

#include

void main()

{

clrscr();

cout << "Halo, Apa kabar ?\n";

cout << "Selamat Belajar C++\n";

cout << "Ternyata Mudah Juga...";

}

Hasil :

Halo, Apa kabar ?

Selamat Belajar C++

Ternyata Mudah Juga...

GAYA PENULISAN PROGRAM

C++ memberikan keleluasaan dalam menuliskan bentuk atau gaya program, misalnya dari program di atas dapat dirubah menjadi :

#include

#include

void main() { clrscr(); cout << "Halo, Apa kabar ?\n"; cout << "Selamat Belajar C++\n"; cout << "Ternyata Mudah Juga..."; }

Namun penulisan diatas tidak dianjurkan karena program sulit dibaca. Program hendaknya ditulis dalam bentuk yang mudah dibaca oleh siapa saja, bukan dalam bentuk yang paling padat dan yang paling penting adalah konsistensi gaya yang dipilih. Pemberian spasi kosong pada posisi tertentu akan membantu program mudah dibaca.

KOMENTAR

Komentar merupakan bagian yang penting dalam program. Kehadirannya sangat membantu dalam memahami program, karena berupa penjelasan-penjelasan mengenai program atau bagian-bagian program.

Penjelasan dapat berupa :

· Tujuan atau fungsi program

· Saat program dibuat atau direvisi

· Keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program.

Seandainya program tidak ditujukan untuk dibaca orang lain, komentar tetap bermanfaat bagi penulis program itu sendiri. Pada C++, suatu komentar diawali dengan dua tanda garis miring (//) atau dengan menggunakan bentuk /* dan */

Contoh :

// ------------------------

// program pencetakan

// ------------------------

#include

#include

void main()

{

clrscr(); /* pernyataan ini berfungsi untuk

membersihkan layar */

cout << "Halo, Apa kabar ?\n";

cout << "Selamat Belajar C++\n";

cout << "Ternyata Mudah Juga...";

} // akhir program

Tujuan Belajar Pemrograman/Programing

1. Dari segi fungsi mereka digunakan sebagai program developer (membuat suatu program), baik sekala kecil yang harus dieksekusi dalam environment software pemrograman ataupun aplikasi eksekusi langsung.

Kalau ditanya kenapa ada bermacam - macam, aku rasa karena faktor sejarah perkembangannya. Tiap2 bahasa pemrograman sendiri kan memiliki keterbatasan dan keunggulannya masing2.

Sebagai contoh untuk C++ kan banyak yang objek oriented, C# sudah dilengkapi dengan kelas2 dan templates, dst. 2. Bahasa program dikembangkan dengan tujuan untuk memudahkan para pembuat program dalam membuat program, bahasa program awalnya mengisikan nilai 1 dan 0 (bahasa mesin) ke prosesor komputer yang nantinya diterjemahkan oleh komputer untuk melakukan sesuatu misalnya : keluarkan warna biru atau hitam dimonitor jika kita tekan x (misal kodenya : isi 00100101, lalu 010010010, dst).
Karena kita (manusia) tidak mungkin mengingat kode angka yang banyak untuk kebutuhan yang makin kompleks maka dikembangkanlah bahasa-bahasa program yang mendekati bahasa manusia (nantinya tetap akan kembali diterjemahkan ke bahasa mesin oleh program yang disebut compiler/intepreter).
Untuk pengembangan compiler munculah compiler/intepreter pascal, c++, basic, cobol dan lain-lain dengan keunggulan masing-masing yang diciptakan oleh orang-orang yang berbeda, kemudian munculah istilah bahasa C (karena menggunakan compiler C), bahasa pascal(compiler pascal), dll. 3. Ada banyak bahasa pemrograman karena di tujukan untuk tujuan yg berbeda2.

Contoh: C, C++, dan Assembly, biasanya di tujukan untuk pembuatan aplikasi "low level" atau yg banyak berhubungan langsung dengan hardware. Bahasa ini di desain sedemikian rupa agar bisa berjalan cepat dan efesien. (Umunnya bahasa tsb lebih susah di pelajari bagi kebanyakan orang).

Ada juga bahasa yg di buat untuk dapat membuat program secara cepat, dng tingkat kesulitan yg rendah. Bahasa dalam kategory ini di golongkan sebagai RAD (Rapid Application Development) Contohnya Visual Basic, Delphi, dll.

Nah gimana kalau mau buat aplikasi Web? Ada juga bahasa yg cocok: PHP, ASP, JSP, dll.
Dan msh banyak lagi...

Jadi intinya, ada banyak bahasa pemrograman karena mereka memang di tujukan untuk tujuan2 yg spesifik.
Tapi ini tidak menutup kemungkinan misalanya membuat aplikasi web dengan C++, bisa saja, tapi akan lebih susah dan memakan waktu.

Jadi apakah bener2 ngga ada 1 bahasa untuk semua??
Belakangan ini Sun Microsystem mencoba melakukan "generalisasi" bahasa dengan mengenalkan Java. Idenya adalah 1 bahasa untuk semua tujuan.Hanya saja keberhasilan Java msh tidak seperti yang di harapkan.

Jumat, 09 September 2011

I Believe (Irfan Makki feat Maher Zain)

When you’re searching for the light
And you see no hope in sight
Be sure and have no doubt
He’s always close to you

He’s the one who knows you best
He knows what’s in your heart
You’ll find your peace at last
If you just have faith in Him

You’re always in our hearts and minds
Your name is mentioned every day
I’ll follow you no matter what
My biggest wish is to see you one day

I believe
I believe
Do you believe, oh do you believe?

MAHER ZAIN

Coz I believe
In a man who used to be
So full of love and harmony
He fought for peace and liberty
And never would he hurt anything
He was a mercy for mankind
A teacher till the end of time
No creature could be compared to him
So full of light and blessings

You’re always in our hearts and minds
Your name is mentioned every day
I’ll follow you no matter what
If God wills we’ll meet one day

Chorus

If you lose your way
Believe in a better day
Trials will come
But surely they will fade away
If you just believe
What is plain to see
Just open your heart
And let His love flow through

I believe I believe, I believe I believe
And now I feel my heart is at peace

Chorus

I believe I believe, I believe I believe

Lyrics: Maher Zain, Bara Kherigi & Irfan Makki
Melody: Irfan Makki & Maher Zain
Arrangement: Maher Zain

Translate....

Bila Anda sedang mencari cahaya
Dan Anda tidak melihat harapan di mata
Pastikan dan tidak ragu
Dia selalu dekat dengan Anda
Dialah yang tahu terbaik Anda
Dia tahu apa yang ada di hatimu
Anda akan menemukan kedamaian pada akhirnya
Jika Anda hanya memiliki iman di dalam Dia
Kau selalu dalam hati dan pikiran kita
Nama Anda disebutkan setiap hari
Aku akan mengikuti Anda tidak peduli apa
Keinginan saya yang terbesar adalah untuk melihat Anda satu hari


chorus:
saya percaya
saya percaya
Apakah Anda percaya, oh apakah Anda percaya?
Maher Zain
Coz saya percaya
Dalam seorang pria yang digunakan untuk
Begitu penuh kasih dan harmoni
Dia berjuang untuk perdamaian dan kebebasan
Dan tidak akan pernah dia sakit apa-apa
Dia adalah rahmat bagi umat manusia
Seorang guru sampai akhir waktu
Tidak ada makhluk yang dapat dibandingkan dengannya
Begitu penuh cahaya dan berkah
Kau selalu dalam hati dan pikiran kita
Nama Anda disebutkan setiap hari
Aku akan mengikuti Anda tidak peduli apa
Jika Tuhan menghendaki kita akan bertemu satu hari
paduan suara
Jika Anda kehilangan cara Anda
Percaya dalam satu hari yang lebih baik
Ujian akan datang
Tapi pasti mereka akan memudar
Jika Anda hanya percaya
Apa yang jelas untuk melihat
Hanya membuka hati Anda
Dan membiarkan aliran kasih-Nya melalui
Saya percaya Saya percaya, saya percaya saya percaya
Dan sekarang saya merasa hati saya damai

Rabu, 07 September 2011

Array dan String pada C++

Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya. Berikut adalah contoh variable bernama c yang mempunyai lokasi memori yang semuanya bertipe int.

C[0] -45
C[1] 6
C[2] 0
C[3] 72
C[4] 1543
C[5] 43
C[6] 4

Masing-masing nilai dalam setiap lokasi mempunyai identitas berupa nama c dan nomor indeks yang dituliskan di dalam tanda kurung ‘[..]’. sebagai contoh, 72 adalah nilai dari c[3].

Deklarasi Array
Variable array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variablearray c di atas adalah :
int c[7];

Perlu diperhatikan bahwa C++ secara otomatis menyediakan lokasi memori yang sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0. Nilai suatu variablearray dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya;
Int c[7] = {-45, 0, 6, 72, 1543, 43, 4}
Berarti setiap lokasi memori dari variable array c langsung diisi dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal.

Banyaknya lokasi memori dapat secara otomatis disediakan sesuai degan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variable array dengan 10 lokasi memori:
Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31};
Untuk memperjelas gambaran anda tentang array perhatikan contoh aplikasi variable array, yaitu program untuk menghitung jumlah setiap elemen dalam suatu array.
Sebagai gambaran dari program tersebut, dapat dibuat sebuah algoritma sebagai berikut:

  1. Tentukan elemen array sebanyak yang diinginkan (dalam hal ini, elemen array tersebut berjumlah 12 buah)
  2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini, nilai awal indeks adalah 0, batas akhir indeks adalah jumlah elemen array diatas yaitu 12 dikurangi dengan 1, kenaikannya adalah 1)
  3. Lakukan perulangan sesuai dengan langkah 2
  4. Lakukan penjumlahan masing-masing elemen array sampai batas akhir indeks terpenuhi
  5. Tampilkan penjumlahan semua elemen array
  6. Selesai.

Sedangkan implementasi dalam program dapat dilihat berikut ini.

Contoh Program array
/*Program :array1.cpp*/
#include
#define SIZE 12
main()
{
int a[SIZE]={1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
int indeks, total =0;
for(indeks=0; indeks<=SIZE-1; indeks++)
total += a[indeks];
printf(“nTotal setiap elemen array adalah %d”,total);
return 0;
}

Bila program diatas dijalankan, akan muncul hasil :
Total setiap elemen array adalah 383

Adapun keterangan dari program diatas adalah sebagai berikut :
Hasil penjumlahan setiap elemen array diperoleh dari jumlah data atau elemen arraysebanyak 12 buah yang sudah didefinisikan pada awal program yaitu #define SIZE 12. Kemudian setiap elemen array dari a[0] yang berisi data, a[1] yang berisi data 3 di jumlahkan sampai dengan a[11] yang berisi data 45. Proses penjumlahan dilakukan pada loop dimulai dari 0 sampai data yang terakhir atau elemen terakhir.

Array Dimensi Satu
Bentuknya :
Tipe nama_var[ukuran];
Dengan :
Tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
Ukuran : menyatakan jumlah maksimal elemen array
Contoh :
Float nilai_ujian[5];

Pada turbo C++ array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]

Masing-masing berbentuk float dan berjumlah 5 elemen.
Selain itu, deklarasi array juga dapat berupa :
Static int bulan[12]={1,2,3,4,5,6,7,8,9,10,11,12}
Sesuai dengan deklarasi array diatas, maka isi variable array telah ditentukan yaitu :
Bulan[0] bernilai 1
Bulan[1] bernilai 2
Bulan[2] bernilai 3
Bulan[3] bernilai 4
Bulan[4] bernilai 5
Bulan[5] bernilai 6
Bulan[6] bernilai 7
Bulan[7] bernilai 8
Bulan[8] bernilai 9
Bulan[9] bernilai 10
Bulan[10] bernilai 11
Bulan[11] bernilai 12

Untuk memperjelas tentang array dimensi satu, perhatikan maslah berikut ini :

Misalkan Anda diminta membuat algoritma dan program untuk menampilkan bilangan dari 1 sampai bilangan 10, dengan pangkatnya masing-masing. Adapun batas nilai maksimal yang disimpan adalah 100.
Sesuai yang telah Anda pelajari , bahwa bilangan 1 pangkatnya adalah 1. Hasil ini diperoleh dari 1*1, kemudian bilangan 2 pangkatnya adalah 4, hasil ini diperoleh dari 2*2 sampaibilangan 10 yang pangkatnya adalah 100, hasil ini diperoleh dari 10*10.
Algoritma dari permasalahan diatas adalah berikut ini :
1. Tentukan elemen array untuk menampung nilai perkalian
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini , nilai awal indeks adalah 0, batas akhir indeks adalah 10, dan kenaikannya adalah 1)
3. Lakukan perulangan sesuai langkah 2
4. Nilai awal indeks ditambah dengan 1
5. Lakukan perkalian masing-masing elemen array sampai batas akhir indeks terpenuhi.
6. Tampilkan perkalian semua elemen array
7. Selesai .
Contoh program array dimensi satu
/*Program :array2.cpp*/
#include
int main()
{
int square[100];
int i; /*loop index*/;
int k; /*the integer*/

/*calculate the squares */
for (i=0; i<10; i++)
{
k= i+1;
square[i]=k*k;
printf(“nPangkat dari %d adalah %d “, k, square[i]);
}
return 0;
}

Bila program dijalankan akan muncul hasil :
Pangkat dari 1 adalah 1
Pangkat dari 2 adalah 4
Pangkat dari 3 adalah 9
Pangkat dari 4 adalah 16
Pangkat dari 5 adalah 25
Pangkat dari 6 adalah 36
Pangkat dari 7 adalah 49
Pangkat dari 8 adalah 64
Pangkat dari 9 adalah 81
Pangkat dari 10 adalah 100

Penjelasan :
Dari program diatas, Anda dapat melihat ada 10 buah elemen yang masing-masing nilainya akan dipangkatkan, mulai dari 1 sampai 10. Dimana dalam memori sudah dipesan tempat sebanyak 100.
Sedangkan apabila array akan dikirim ke sebuah fungsi caranya adalah hanya dengan mencantumkan nama array tanpa diikuti dengan tanda apapun, seperti contoh berikut :
int c[5] = {-45, 0, 6, 72, 1543};


JUMLAH (c, 5)
—-

Dalam contoh diatas, yang memanggil fungsi JUMLAH dengan mengirimkan argument berupa variable array c dan sebuah konstanta 5. Perhatikan bahwa variable array ditulis hanya c tanpa notasi tambahan apapun. Deklarasi variable array yang menjadi parameter dari suatu fungsi dituliskan dengan nama variable array yang diikuti dengan tanda kurung [], tanpa menuliskan banyaknya lokasi memori yang diinginkan.

ARRAY DIMENSI DUA
Struktur array yang dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut variable array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti berikut : int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; yang menempati lokasi memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7

Dan definisi variable untuk setiap elemen tersebut adalah :
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]

Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini :
Contoh Program array dimensi dua
/*Program :array2.cpp*/
#include
void printArray(int[][3]);
main()
{ int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}};
int matrik2[2][3] = {1, 2, 3, 4, 5};
int matrik3[2][3] = {{1, 2},{4}};
printArray (matrik1);
printArray (matrik2);
printArray (matrik3);
return 0; }
void printArray (int a[][3])
{ int i,j;
for (i=0; i<=1; i++)
{ for (j=0; j<=2; j++)
printf(“%d”,a[i][j]);;
printf(“n”);
}
}

Bila program diatas dijalankan, akan mucul hasil :
123
456
123
450
120
400

Penjelasan :
Dari program diatas untuk matrik 1, penulisannya adalah 123 456, sedangkan pada matrik 2 penulisannya adalah 123 450. 0 disini mempunyai arti tempat yang disediakan untuk data kolom ke 3 dan baris ke 2 tidak diisi. Sedangkan matrik 3 penulisannya adalah 120 400. Dari matrik 3 disini kita bisa melihat bahwa pada baris pertama kolom ketiga data tidak diisi dan dianggap 0 dan pada baris kedua kolom kedua dan ketiga juga tidak diisi juga diisi 0.
Dalam program tersebut, juga digunakan fungsi untuk menampung hasil penjumlahan matrik.
Perhatikan contoh lain :
Int datasiswa[4][3];
Deklarasi diatas digunakan untuk mendeklarasikan suatu data siswa yang berbentuk demikian :
No Nama Kelas Jumlah Siswa
Tahun 1989 Tahun 1990 Tahun 1991
1 Kelas 1 50 55 49
2 Kelas 2 60 60 55
3 Kelas 3 56 56 56
4 Kelas 4 49 50 54

Dari deklarasi diatas maka angka empat [4] menyatakan jumlah kelas, dan angka indek [3] menyatakan tahun.
Data siswa [0][2] adalah Kelas 1 dan jumlah siswa tahun 1990 yaitu 55. Atau jumlah siswa kelas 1 pada tahun 1990 adalah 55.

Bentuk data siswa dapat juga digambarkan sebagai berikut :
1 2 3
1 50 55 49
2 60 60 55
3 56 56 56
4 49 50 54

Array ini dapat pula diberi nilai tetap dengan static seperti pada array dimensi satu. Deklarasinya adalah sebagai berikut :
Static int jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};

ARRAY DIMENSI BANYAK

Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnyaarray dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting.

Contoh :
Static int dataktp[2][7][8][5];