Kita akan membahas bentuk perulangan lain, yaitu perulangan for. Setiap bentuk perulangan for dapat diubah menjadi bentuk perulangan while dengan fungsi yang sama tanpa mengubah alur program. Tetapi tergantung dari permasalahan yang akan kita pecahkan, menulis program dengan for akan membuat alur program lebih mudah dipahami.
Misalnya, kita akan menghitung 1+2+3+4+5+...+100. Kita bisa ekspresikan program tersebut dalam bentuk
i = 1;
jumlah = 0;
while (i <= 100) {
    jumlah += i;
    i++;
}
Perulangan ini dapat ditulis juga dengan
jumlah = 0;
for (i = 1; i <= 100; i++)
    jumlah += i
Apa point-point penting yang kita lihat dari perubahan ini? Pertama mari kita lihat bentuk penggunaan while yang umum dilakukan
inisialisasi variabel
while (suatu_kondisi_variabel) {
    perintah
    update_variabel
}
Di sini perulangan while memiliki 3 komponen penting, yaitu inisialisasi, yaitu memberikan nilai awal suatu variabel, suatu_kondisi_variabel, yaitu pengujian bahwa perulangan akan terus dilakukan selama kondisi ini bernilai true, dan terakhir update_variabel, yaitu instruksi mengubah nilai kondisi variabel untuk membatasi perulangan sehingga akan selesai suatu saat, tidak berulang terus menerus.
Pada perulangan for, ketiga komponen ini dirangkai menjadi satu dalam bentuk
for (inisialisasi_variabel; kondisi_variabel; update_variabel)
   perintah
atau jika perintah merupakan blok yang terdiri dari banyak perintah, dapat dituliskan juga dalam bentuk
for (inisialisasi_variabel; kondisi_variabel; update_variabel) {
   banyak_perintah
}
Di sini inisialisasi variabel bisa berupa apa saja yang berbentuk perintah, misalnya memberikan variabel dengan nilai awal tertentu, dalam bentuk variabel = nilai_awal.
kondisi_variabel harus berbentuk pernyataan boolean seperti suatu_kondisi pada pernyataan while. Sedangkan update_variabel juga berbentuk perintah.
inisialisasi_variabel, kondisi_variabel, atau update_variabel dapat dikosongkan dan tidak harus selalu diisi. Bagian yang tidak diisi yang selalu digantikan dengan true, yang artinya perulangan akan terus dieksekusi tanpa henti. Untuk menghentikannya, perintah break harus diberikan ditengah-tengah badan perulangan.
Bentuk paling umum dari perulangan for adalah menghitung. Biasanya perulangan ini memiliki bentuk seperti
for (variabel = nilai_minimum; variabel <= nilai_maksimum; variabel++) {
    perintah
}
Perhatikan bagian terakhir adalah menaikkan nilai variabel dengan 1, yang artinya perulangan akan dimulai dengan nilai_minimum, diakhiri dengan nilai_maksimum dengan jeda 1.
Contoh, jika kita ingin berhitung 2,5,8,11,14,17, atau dengan kata lain, mulai dari 2 hingga 17 dengan jeda 3, kita bisa mengekspresikan for dengan
for (i = 2; i <= 17; i += 3) {
    System.out.println(i);
}
Untuk menghitung mundur, kita bisa menggunakan perintah seperti
for (i = 20; i >= 0; i--) {
    System.out.println(i);
}
Atau jika kita ingin menghitung maju dan mundur pada saat yang bersamaan, misalnya i dari 1 hingga 10 dan j dari 10 hingga 1, kita bisa ekspresikan dengan
for (i = 1, j = 10; i <= 10; i++, j--) {
    System.out.println(i + " " + j);
}
Catatan penting! Variabel yang akan digunakan, dalam contoh di atas i dan j, adalah variabel yang harus dideklarasikan sebelumnya. Java adalah bahasa pemrograman ketat, yang artinya semua harus didefinisikan dengan jelas sebelum digunakan. Untuk banyak kasus, deklarasi variabel dan perulangannya bisa dilakukan serentak pada bagian inisialisasi variabel. Misalnya
for (int i = 1; i <= 10; i++) {
    System.out.println(i)
}
Perhatikan ada imbuhan int di depan inisialisasi variabel i, yang merupakan deklarasi variabel i dengan tipe data int sekaligus menginisialisasi nilainya dengan 1.
Perulangan for bertingkat
Seperti pada perulangan while, perulangan for pun dapat dilakukan bertingkat, artinya perulangan for di dalam perulangan for.
Kita ambil contoh sederhana misalnya membuat tabel perkalian seperti
 1   2   3   4   5   6   7   8   9  10  11  12
 2   4   6   8  10  12  14  16  18  20  22  24
 3   6   9  12  15  18  21  24  27  30  33  36
 4   8  12  16  20  24  28  32  36  40  44  48
 5  10  15  20  25  30  35  40  45  50  55  60
 6  12  18  24  30  36  42  48  54  60  66  72
 7  14  21  28  35  42  49  56  63  70  77  84
 8  16  24  32  40  48  56  64  72  80  88  96
 9  18  27  36  45  54  63  72  81  90  99 108
10  20  30  40  50  60  70  80  90 100 110 120
11  22  33  44  55  66  77  88  99 110 121 132
12  24  36  48  60  72  84  96 108 120 132 144
Program untuk membuat tabel perkalian tersebut bisa diekspresikan dengan algoritma pseudocode sebagai berikut
untuk setiap baris i = 1,2,3...,12
    cetak perkalian i dengan 1,2,3..12
    cetak baris baru
Kalau kita jabarkan lebih lanjut, perintah kedua juga merupakan perulangan dari 1 hingga 12, sehingga algoritma di atas bisa kita tulis sebagai
untuk setiap baris i = 1,2,3...,12
    untuk setiap kolom j = 1,2,3...,12
        cetak i*j
    cetak baris baru
Kita bisa terjemahkan ke dalam bahasa Java sebagai
for (int i = 1; i <= 12; i++) {
    for (int j = 1;  j <= 12; j++) {
        System.out.print(i*j + " ");
    }
    System.out.println("");
}
Berikut ini adalah contoh program yang bisa diunduh dalam bentuk zip file atau dari gudang SVN di alamat http://belajarjava.googlecode.com/svn/trunk/TabelPerkalian :
package tabelperkalian;

public class TabelPerkalian {

        /**
         * @param args
         */
        public static void main(String[] args) {
               // TODO Auto-generated method stub
               for (int i = 1; i <= 12; i++) {
                   for (int j = 1;  j <= 12; j++) {
                       System.out.print(i*j + " ");
                   }
                   System.out.println("");
               }
        }
}
Berikut ini hasil kelurannya:


        Seperti halnya bila kita mengetikkan perintah di DOS, command line atau baris perintah di Linux juga diketikkan di prompt dan diakhiri enter untuk mengeksekusi perintah tersebut. Baris perintah merupakan cara yang lebih efisien untuk melakukan sesuatu pekerjaan oleh karena itu pemakai Linux tetap mengandalkan cara ini untuk bekerja. Sebaiknya pemula juga harus mengetahui dan sedikitnya pernah menggunanakan perintah baris ini karena suatu saat pengetahuan akan perintah-perintah ini bisa sangat diperlukan.
Saya mengumpulkan beberapa perintah dasar yang mungkin kelak akan sering digunakan terutama oleh para pemula. Perhatian: pengetahuan akan perintah-perintah yang lain akan segera bertambah seiring dengan kemajuan Anda menguasai sistem operasi Linux ini.



$ grep “license” readme.txt = mencari kata “license” dalam file readme.txt
$ du -h –max-depth=100 = estimate file usage
$ du /media/data/ –max-depth=1 -B M | sort –g = melihat penggunaan space pada folder
$ du -sh /media/data/ = melihat besaran (MB) folder
$ sudo fdisk -l = show partition table
$ free = melihat free RAM
$ cat /etc/fstab = static file system information
$ cat /proc/cpuinfo = info cpu
$ cat /proc/meminfo = info memory
$ cat /proc/partitions = info partition
$ cat /etc/rc.d/rc.s = startup
$ find / -name “namafile” = search nama file
$ find /media/data/ -name “Thumbs.db” -print0 | xargs -0 rm -vr = menghapus hasil pencarian
$ find /home/user -size +30M = mencari file dengan ukuran diatas 30M
$ alias lihat=’ls -l’ = memberikan alias perintah
$ cal 2010 = show calender
$ clear = clear the terminal screen
$ sudo shutdown -h now = menshutdown pc sekarang
$ sudo shutdown -h +2 = menshutdown pc
$ init 0 = halt
$ init 6 = reboot
$ init 2 =
$ top -d 2 = melihat proses shift+?
$ who = Show who is logged on
$ w = Show who is logged on and what they are doing
$ dmesg = print message system
$ cfdisk = tool tabel manipulator for linux
$ killall sshd = mengkill proses ssh
$ arp -ne = cek arp tabel
$ pstree = melihat proses secara pohon kebutuhan
$ lspci -v = cek hardware via konsole
$ lshw -C processor = cek hardware processor
$ sudo pmi action sleep = menjalankan fungsi sleep
$ sudo pmi action suspend = menjalankan fungsi suspend
$ dig 192.168.1.1 = dns lookup utility
$ cat /proc/net/arp = cek arp
$ sudo gedit /etc/fstab = file konfigurasi mount hardisk
$ scp test.log oniichan@192.168.1.12:~ = transfer file via jaringan kedalam home direktori
$ iwlist eth1 scanning = scanning access point
$ sudo ifconfig eth1 hw ether 0013022e91c7 = mengganti mac address
$ sudo apt-get -d source avant-window-navigator-bzr = download paket only, not install
$ sudo dpkg-reconfigure xserver-xorg = reconfigure ulang xserver
$ sudo /etc/init.d/gdm stop = mematikan service gdm stop
$ sudo iwconfig eth1 essid “pptik01″ = mendaftarkan name access point
$ sudo dhclient = auto dhcp
$ chown oniichan:oniichan /media/data = mengubah owner folder
$ sudo adduser nama_user nama_group = menambah user
$ usermod -G namagroup namauser = memasukkan user ke group
$ cat /etc/group = cek group user
$ smbclient -U% -L localhost = cek samba di local
$ cat /proc/version = cek version linux header
$ mtr http://www.hacker-newbie.org = gabungan ping dan traceroute
$ ls var/cache/apt/archives/ = data paket apt
$ ls /etc/rc2.d/ = list service
$ sudo update-rc.d -f rsync remove = meremove service rsync
$ sudo update-rc.d rsync defaults = mengadd service menjadi default service
$ ls -h = list human readeable
$ sudo apt-get install -f = fix dependency broken
$ cat /proc/acpi/acer/wireless = melihat penggunaan button
$ sudo tail -f /var/log/cups/error_log = melihat error pada service cups
$ lshal = melihat hal daemon usb
$ sudo hald = mengaktifkan hald daemon
$ sudo /etc/init.d/dbus start = service dbus daemon
$ nmap -sP 192.168.1.10-30 = checking ip up or not
$ watch lsusb = execute a program periodically
$ speaker-test 1.0.12 = test sound
$ wget http://cdn.x.indowebster.com/download/60…15054b.mp3 -O a.mp3 = download dan me-rename file
$ wget -c -t inf http://www3.indowebster.com/591803763.avi = download dengan opsi continous, try infinite jika gagal
$ wget -i download.txt = download dengan opsi membaca url dari file download.txt
$ wget –limit-rate=10k = download dengan opsi bandwith hanya 10 kilobytes/s
$ displayconfig-gtk = screen and grafik configurations
$ aplay -l = playing file
$ lsb_release -a = cek ubuntu version
$ lpinfo -v = cek printer
$ id = Print user and group information for the specified USERNAME
$ ps ax | grep screenlets | awk ‘{print$1}’ | xargs kill -9 = kill spesifik berdasarkan nama proses
$ file nama_file = Determine file type of FILEs
$ for i in {1..10}; do echo $i; done = ngurut nomer
$ update-manager -d = Check if upgrading to the latest devel release is possible
$ cat /etc/passwd | grep 1000 | awk -F: ‘{ print $1 }’ = menampilkan user dengan UID 1000
$ find debian/ -iname ‘*’ -print0 | xargs -0 md5sum > md5sum = creating md5sum
$ espeak -s 80 “I love you” = text to speech
$ apt-cache policy ubuntu-desktop = print policy settings
$ sudo ip route replace default nexthop via 192.168.0.1 dev eth0 weight 3 nexthop 192.168.1.1 dev eth1 weight 2 = load balancing
$ sudo Xorg -configure :1 = print konfigurasi xorg.conf
$ for FILE in cd*.bin ; do bchunk $FILE ${FILE%.*}.cue ${FILE%.*} ; done = mengubah file bin menjadi cue
$ rm cd[1-5].@(bin|cue) = menghapus secara spesifik
$ ls -l | awk ‘{print $8}’ = print secara list index
$ split -b 200MB avatar.avi avatar.avi. = split file into separate file
$ cat avatar.avi.* > avatar.avi = merge into 1 file
$ sudo ifup eth0 = Stop a network interface
$ sudo ifdown eth0 = Start a network interface up
$ wc -ml /etc/apt/sources.list = Print byte, word, and line counts
$ history = Command History
$ netstat = Networking information
————————————————————————–
cd x atau cd /x == masuk ke direktori x
cd .. atau cd ../ atau cd/.. == pindah ke direktori satu level di bawah
x lalu [tab] [tab] == berguna untuk mengetahui perintah apa saja yang tersedia yang berawalan huruf x
————————————————————————–
adduser == untuk menambahkan user baru
ls atau dir == untuk melihat isi suatu direktori
cat == untuk melihat isi dari suatu file text
mv x y == untuk memindahkan atau merename file x ke file y
cp x y == untuk mengkopi file x ke file y
rm x == untuk menghapus file x
mkdir x == untuk membuat direktori x
rmdir x == untuk menghapus direktori x
rm -r x == untuk menghapus direktori x beserta seluruh isinya
rm p == untuk menghapus paket tertentu
df atau df x == untuk mengetahui space kosong dalam device x
top == untuk mengetahui status memori (tekan q untuk quit)
man x == untuk mengetahui keterangan manual dari suatu perintah
less x == untuk melihat isi dari suatu file text
echo x == untuk mencetak isi dari suatu file x ke screen
mc == untuk menghidupkan Norton Commander dalam Linux (sangat berguna dan memudahkan bagi newbie)
mount == untuk menghidupkan suatu device spt cdrom
halt == untuk shutdown
reboot atau [ctl + alt + del] == untuk reboot
————————————————————————–
chmod == untuk mengubah permission suatu file
ls -l x == untuk melihat isi suatu direktori secara rinci
ln -s x y == untuk membuat link dari suatu file x ke file y
find x -name y -print == untuk menemukan file y, dengan mencari mulai dari direktori x dan tampilkan hasilnya pada layar
ps == untuk melihat seluruh proses yang sedang berjalan
kill x == untuk mematikan proses x (x adalah PID di dalam ps)
[alt] + F1 – F7 == untuk berpindah dari terminal 1 – 7 (ciri khas Linux)
lilo == untuk membuat boot disk
startx == untuk menjalankan X-Windows
[ctl] + [alt] + [backspace] == untuk keluar dari X-Windows jika terjadi trouble
[ctl] + [alt] + F1 – F6 == untuk pindah dari satu terminal ke terminal lain dalam X-Windows
xf86Config == untuk mengeset X (primitif) dalam text mode
Xconfigurator == sama seperti di atas
Subscribe to RSS Feed Follow me on Twitter!