Thursday, January 30, 2014

Menjadikan panel dan menu ubuntu menjadi transparan

Langsung saja ke topik pembahasan
Berhubung PC punya saya rusak saya maka belum bisa kasih capture.nya :(
langsung saja simak

Biasanya banyak dari kita yang menyukai panel di Ubuntu menjadi transparant dengan cara merubahnya melalui klik kanan pada panel-->properties-Background-->solid color. Namun di beberapa thema tertentu hal itu kurang berfungsi yaitu panel menjadi kurang sedap dipandang karena yg transparant hanya bagian tengah. Sementara bagian kanan atau bagian yg ada icoonya tetap kelihatan berwarna atau gelap.

Berikut adalah cara agar panel ubuntu bisa full transparant. Setelah anda menjalankan perintah di atas, anda perlu sedikit mengedit file yg bernama gnome-panel.rc yang terletak di usr/share/themes/namatheme/gtk-2.0/apps.

Cari baris: bg_pixmap[NORMAL] = "Panel/panel.png" bg[NORMAL] = "#4b4a46"
beri tanda # dibelakangnya sehingga menjadi:
#bg_pixmap[NORMAL] = "Panel/panel.png" bg[NORMAL] = "#4b4a46"

save dan keluar.
Setelah itu logout atau reboot computer anda. Dan coba hasilnya sekarang juga Panel anda akan full transparant.

Semoga ini bermanfaat untuk teman-teman :)

Sunday, January 26, 2014

Meremaster Uuntu

Walaupun sudah banyak bertebaran di Inet, Saya hanya meshare.kan pengalaman saya saja dalam meremaster ubuntu
Mungkin ini tidak asing bagi tema-teman tapi tidak ada salah nya berbagi :)

Disini saya akan menulis artikel tentang "BEBERAPA FOLDER YANG HARUS DI PERHATIKAN DALAM MEREMASTER UBUNTU"

  1. /etc/skel
  2. /usr/share/icons dan /usr/share/themes. Untuk menjadikan tema dengan ikon tertentu jadi bawaan, ganti /var/lib/gconf/debian/defaults/%gconf-tree.xml pada bagian<dir name="interface"> ubahsuaikan sendiri. Untuk ikon dan temanya sendiri bisa disunting sendiri di masing-masing nama ikon dan temanya
  3. /usr/share/backgrounds. Salin seluruh kertas tembok (wallpaper) ke folder ini, agar gnome-appereance-properties bisa mengetahui langsung kertas tembok yang tersedia secara otomatis, sunting berkas /usr/share/gnome-background-properties/ubuntu-wallpapers.xml
  4. /usr/share/gconf/defaults/16_ubuntu-wallpapers-->Kertas tembok bawaan
  5. /usr/share/gconf/defaults/90_light-themes-->peletakan tombol tutup, maksimalkan dan minimalkan
  6. /usr/share/gconf/defaults/16_ubuntu-artwork-->tema dan ikon bawaan.
Semoga Artikel endek ini bermanfaat untuk teman-teman dan rekan-rekan semuanya :)

Saturday, January 25, 2014

Pardus Linux 2.0 "Community" Review: Most efficient GNOME 3 distro!


I wanted to write this review for quite sometime. To begin with, Pardus is a Turkish distro, jointly developed by Scientific & Technological Research Council and National Academic Network and Information Center of Turkey. Before 2012, it used Gentoo as base. However, in 2012, it shifted to Debian and for good reasons. Pardus 2.0 "Community" GNOME edition was released in Sep-2013 and I am using

Tuesday, January 21, 2014

Cara Ganti Default Desktop Environment Di Linux Menggunakan Perintah Command Line

Beberapa hari yang lalu saya sempat meng-install desktop environment LXDE dan XFCE di Kali Linux saya. Di Kali Linux kita bisa memilih desktop environment apa yang ingin kita gunakan pada saat login, nah jika anda ingin agar lebih praktis, anda bisa kok merubah desktop environment-nya ke yang anda inginkan menggunakan perintah :



update-alternatives --config x-session-manager 



anti akan muncul output kurang lebih seperti yang terlihat pada gambar screenshot di bawah ini:






Kemudian masukkan nomor yang terdapat pada kolom Selection desktop environment yang anda inginkan, sebagai contoh pada gambar di atas default desktop environment-nya adalah XFCE karena terdapat tanda bintang di sebelah kiri nomor 4, dimana nomor 4 tersebut Path-nya mengarah ke startxfce4. Jika saya ingin merubah setting-an default-nya ke LXDE, maka saya akan memasukkan nomor 5 yang Path-nya mengarah ke startlxde.
Jika kalau anda ingin menggunakan default lagi anda bisa cukup menggantinya lagi ke nomor " 0 " ( Default )

Sekian terima kasih semoga bermanfaat untuk semua
Assalamualaikum wr.wb


Sunday, January 19, 2014

Latihan dan Source Code Pemrograman Java


Sedikit pengantar dari penulis, tulisan kali ini saya khususkan untuk teman,
saudara-saudara saya, yang ingin belajar pemrograman java, anda bisa mempelajari
latihan soal yang disertakan dengan sourcecode. Sourcecode berikut dapat anda
modifikasi, perbaiki, kembangkan, dan bagikan kembali secara bebas selama masih
bermanfaat buat teman-teman. Sekian...saya rasa pengantarnya cukup, apabila ada
kekeliruan ataupun pertanyaan terkait source-code dibawah mohon koreksi dan
masukkannya.

1. Buat sebuah program untuk menghitung luas persegi panjang, nilai panjang dan lebar dimasukan
melalui keyboard sedangkan besar nilai luas muncul secara otomatis.

package latihan;
import java.util.Scanner;
public class luas_pp {
public static void main(String args[]) {
int panjang = 0, lebar = 0;
Scanner input = new Scanner(System.in);
System.out.println("Masukkan panjang : ");
panjang = input.nextInt();
System.out.println("Masukkan lebar : ");
lebar = input.nextInt();
int luas = panjang * lebar;
System.out.println("Luas Persegi Panjang = " + luas);
}
}

2. Buat sebuah program untuk menghitung luas lingkaran, nilai jari-jari dimasukan dari keyboard,
sedangkan nilai muncul secara otomatis

package latihan;
import java.util.Scanner;
public class luas_lingkaran {
public static void main(String args[]) {
int jari2 = 0;
double PI = 3.141592;
Scanner input = new Scanner(System.in);
System.out.println("Masukka Jari-jari : ");
jari2 = input.nextInt();
double luas_ling = PI * jari2 * jari2;
System.out.println("Luas Lingkaran : " + luas_ling);
}
}

3. Gaji yang diterima pegawai terdiri dari gaji pokok, tunjangan dan upah lembur, besar tunjangan 15%
dari gaji pokok, besar upah lembur perjam 3% dari gaji pokok. Buatlah program untuk menghitung
gaji yang diterima pegawai. Masukan (Input). nomor pegawai, nama,gaji pegawai,jumlah jam lembur.
Keluaran (Output): Gaji pokok, tunjangan, uang lembur,total gaji.

package latihan;
import java.util.Scanner;
public class hitung_gaji {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
System.out.println("Masukkan NIP : ");
String nip = input.nextLine();
System.out.println("Masukkan Nama : ");
String nama = input.nextLine();
System.out.println("Masukkan Gaji Pegawai: ");
int gaji_peg = input.nextInt();
System.out.println("Masukkan jam lembur: ");
int jam_lembur = input.nextInt();
double tunjangan = (gaji_peg * 0.15)*100 ;
double uang_lembur = (jam_lembur * 0.3) * 100 ;
double total_gaji = gaji_peg + tunjangan + uang_lembur;
System.out.println("Nama: " + nama);
System.out.println("Gaji Pokok = " + gaji_peg);
System.out.println("Tunjangan =" + tunjangan);
System.out.println("Uang Lembur =" + uang_lembur);
System.out.println("Total Gaji =" + total_gaji);
}
}

4. Buatlah program untuk membantu kasir swalayan untuk memisahkan pecahan uang kembalian
menjadi 50.000, 20.000, 10.000, 5.000, 2000, 1000, 500,dan 100.

Contoh tampilan:

Jumlah Uang Kembali : Rp. 88800
Pecahan uang kembali:
1 Lembar 50.000
1 Lembar 20.000
1 Lembar 10.000
1 Lembar 5.000
1 Lembar 2000
1 Lembar 1000
1 Lembar 500
1 Lembar 100

5. Mencari bilangan terbesar dari dua buah bilangan (Minimum dan Maximum).

package latihan;
import java.util.Scanner;
public class hitung {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
System.out.println("Masukkan bilangan pertama : ");
int bilangan1 = input.nextInt();
System.out.println("Masukkan bilangan kedua: ");
int bilangan2 = input.nextInt();
if (bilangan1 > bilangan2 || bilangan1 >= bilangan2) {
System.out.println("Bilangan " + bilangan1 + " Lebih besar dari bilangan " + bilangan2);
} else {
System.out.println("Bilangan " + bilangan2 + " Lebih besar dari bilangan " + bilangan1);
}
}
}

6. Menghitung tahun kabisat, nilai tahun harus di input di keyboard.
package latihan;

import java.util.Scanner;
public class tahun_kabisat {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
System.out.println("Masukkan Tahun =");
int tahun = input.nextInt();
if (tahun % 400 == 0 || tahun % 4 == 0) {
System.out.println("Sekarang tahun Kabisat");
} else {
System.out.println("Sekarang bukan tahun Kabisat");
}
}
}

7. Membaca sebuah bilangan bulat antara 1 sampai 4, lalu mencetak tulisan dari angka tersebut.

Contoh: 

Jika diinput angka 1 maka output akan tercetak tulisan SATU
jika di input selain dari 1 sampai 4 maka munculkan pesan "Anda Salah memasukan Input Kode"
package latihan;
import java.util.Scanner;
public class input_bilangan {
public static void main(String args[]) {
int bilangan;
Scanner input = new Scanner(System.in);
System.out.println("Masukkan bilangan : ");
bilangan = input.nextInt();
if (bilangan == 1) {
System.out.println("Satu");
} else if (bilangan == 2) {
System.out.println("Dua");
} else if (bilangan == 3) {
System.out.println("Tiga");
} else if (bilangan == 4) {
System.out.println("Empat");
} else {
System.out.println("Wrong input code");
}
}
}

8. Buat program C++ untuk memeriksa 3 bilangan yang di input. output harus memunculkan
bilangan yang paling besar dan bilangan paling kecil, lalu apakah bilangan tersebut bilangan
positif atau negatif.

contoh output:

Masukan bilangan ke-1: 20
Masukan bilangan ke-2: 10
Masukan bilangan ke-3: 5
Output:
Bilangan Terbesar adalah: 20
Bilangan Terkecil adalah: 5
Bilangan terbesar adalah positif
package latihan;
import java.util.Scanner;
public class bandingkan {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int bilangan1, bilangan2, bilangan3, besar = 0, kecil = 0;
System.out.println("Masukkan bilangan 1 : ");
bilangan1 = input.nextInt();
System.out.println("Masukkan bilangan 2 : ");
bilangan2 = input.nextInt();
System.out.println("Masukkan bilangan 3 : ");
bilangan3 = input.nextInt();
if (bilangan1 > bilangan2 && bilangan1 > bilangan3) {
besar = bilangan1;
} else if (bilangan2 > bilangan1 && bilangan2 > bilangan3) {
besar = bilangan2;
} else if (bilangan3 > bilangan1 && bilangan3 > bilangan2) {
besar = bilangan3;
}
System.out.println("Bilangan terbesar :" + besar);
if (bilangan1 < bilangan2 && bilangan1 < bilangan3) {
kecil = bilangan1;
} else if (bilangan2 < bilangan1 && bilangan2 < bilangan3) {
kecil = bilangan2;
} else if (bilangan3 < bilangan1 && bilangan3 < bilangan2) {
kecil = bilangan3;
}
System.out.println("Bilangan terkecil : " + kecil);
if (besar > 0 || besar >= 0) {
System.out.println("Bilangan terbesar adalah : Positif");
} else if (besar < 0 || besar <= 0) {
System.out.println("Bilangan terbesar adalah Negatif");
}
}
}

9. Mencetak bilangan ganjil kelipatan tiga diantara angka 10 s/d 50
Output:
11 13 17 19 23 25 29 31 33 35 37 41 43 49

package latihan;

public class ganjil {
public static void main(String args[]) {
for (int g = 11; g < 52;) {
System.out.println(g);
g = (g + 2);
}
}
}
10.Membuat perkalian sesuai dengan angka yang diinputkan. hasil output akan berurut tampilan
programnya harus seperti berikut:
Masukan Angka: 7
1 * 7= 7
2 * 7= 14
package latihan;
public class kalian {
public static void main (String args []){
-----------
for(int i=1;i<=10;i++){
int jumlah = i * 7;
System.out.println(i + " x 7 =" + jumlah);
}
10 * 7 = 70
}
}
11.Masukan 2 nilai dari keyboard, lalu dari nilai tersebut dicetak tanda bintang (*).
Contoh Input
Masukan Nilai : 5
Masukan Nilai : 4
Output:
Nilai: 5 * * * * *
Nilai: 4 * * * *
package latihan;
import java.util.Scanner;
public class bintang {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
System.out.println("Masukan nilai A : ");
int a = input.nextInt();
System.out.println("Masukan nilai B : ");
int b = input.nextInt();
System.out.print("Bilangan A : " + a + " >");
for (int i = 0; i < a; i++) {
System.out.print(" * ");
}
System.out.println("\n");
System.out.print("Bilangan B : " + b +" >");
for (int j = 0; j < b; j++) {
System.out.print(" * ");
}
}
}

Monitoring Jaringan



Selamat pagi… untuk semua, happy weekend, alhamdulillah dikesempatan ini bisa kembali menulis, kali ini kita akan membahas tentang topik yang sedikit berbeda, yaitu Network Monitoring.
Apa itu network monitoring ??? salah satu aktivitas yang sering (wajib menurut saya) untuk dilakukan oleh sysadmin (Admin jaringan / server), untuk apa ? kita bisa melihat aktivitas / trafik jaringan kita untuk berbagai protocol, hal ini merupakan hal yang penting.
Ya…karena kelancaran aktivitas sebuah jaringan bergantung pada trafiknya, untuk itu kita perlu melakukan monitoring, selain itu dengan aktivitas ini lebih memudahkan kita untuk melakukan diagnosa terhadap permasalahan apabila akses jaringan lambat (istilah “LAG”).
banyak tools / aplikasi yang dapat anda gunakan untuk melakukan monitoring jaringan dengan berbagai fitur layanan monitoring yang lengkap. kali ini kita akan membahas tools Ntop.
Ntop merupakan aplikasi yang berfungsi untuk menampilkan trafik penggunaan jaringan, Ntop bisa menampilkan informasi tentang trafik dan daftar pengguna (host) yang menggunakan sebuah jaringan secara detail.
untuk melakukan installasi Ntop pada distro linux berbasis Debian, anda bisa melakukan installasi dengan mengetikkan perintah berikut :
# apt-get install ntop
pada proses installasi kita akan diminta untuk menginputkan password administrator untuk ntop, silahkan memasukkan password sesuai keinginan.
ketika proses installasi, anda bisa mengecek layanan melalui console terminal :
# ntop
saronde_os@saronde:~$ ntop
Sun Jan 12 07:25:33 2014  NOTE: Interface merge enabled by default
Sun Jan 12 07:25:33 2014  Initializing gdbm databases
Sun Jan 12 07:25:33 2014  **ERROR** ….open of /var/lib/ntop/prefsCache.db failed: File open error
Sun Jan 12 07:25:33 2014  Possible solution: please use ‘-P <directory>’
Sun Jan 12 07:25:33 2014  **FATAL_ERROR** GDBM open failed, ntop shutting down…
Sun Jan 12 07:25:33 2014  CLEANUP[t3062220800]: ntop caught signal 2 [state=2]
Sun Jan 12 07:25:33 2014  ntop is now quitting…
Jika mendapatkan pesan error seperti diatas, berarti permasalahan yang kita temui sama,  jika tidak mendapati error anda bisa mengakses ntop melalui browser dengan URL berikut :
Solusi penanganan masalah diatas, silahkan mengetikkan perintah berikut :
# sudo ntop -P /etc/ntop -W4242 -d
# sudo ntop -P /var/lib/ntop/ -W4242 -d
Selanjutnya anda sudah bisa menggunakan layanan dengan menggunakan browser dengan mengetikkanhttp://localhost:3000
Informasi lengkap tentang ntop anda bisa mengetikkan perintah :
# man ntop



# man ntop


Berikut adalah sedikit percobaan monitoring yang telah dilakukan pada network saya, yang kebetulan lagi sepiiii 
:D

Menu Ntop (Network Monitoring)
Network Monitoring Interface (Ntop)
Grafik Monitoring Host (Ntop)


Sekian, semoga bermanfaat 

Cara Install geany di ubuntu

Cara Install Geany Di Linux / Ubuntu

pertama-tama yang harus kita lalukan adalah terhubung ke internet atau mempunyai koneksi ke internet, setelah itu kita buka terminal lalu masuk ke root, di bawah ada beberapa cara atau preintah menginstall geany untuk beberapa distro di linux, untuk lebih jelasnya mari kita lihat di bawah ini:

1. Debian (Oldstable, Stable, Testing and Unstable)
    
    ketikkan perintah berikut di terminal: apt-get install geany


2. Ubuntu 

     ketikkan perintah berikut di terminal: apt-get install geany 



3. Fedora

     ketikkan perintah berikut di terminal:  yum install geany 
    
  kita juga dapat  install Geany Plugins dengan: yum install geany-plugins-*

Tunggu sampai penginstallan selesei. jika sudah selesai silahkan ketik di terminal " geany " tanpa tanda kutip lalu tekan enter dan taraaaa sudah kebuka :) 



Sekian dulu Postingan kali ini. Semoga bermanfaat dan Selamat Mencoba :D

Saturday, January 18, 2014

Shell Programing Pemula Pada LInux




Bash


1.Shell Prgraming
Shell adalah sebuah program interpenter dalam lingkungan keluarga sistem operasi UNIX. Shell dapat dibuat secara langsung (di terminal atau di konsol) atau dapat dibaca langsung dari file, yang disebut sebagai shell script atau shell program. Shell adalah jenis program interprenter bukan program kompilasi, dimana shell akan membaca setiap baris dari file dan mencari perintah tersebut dalam sistem kemudian dieksekusi (dijalankan).


2. Dasar-dasae Shell Programming
Sebelum Melangkah ketingkat yang lebih tinggi alangkah indah jika kita mengetahui tentang perintah dasar yang terdapat pada shell programming  seperti :

cd, pwd, times, alias, umask, exit, logout, fg, bg, ls, mkdir, rmdir, mv, cp, rm, clear, ...
utilitas seperti cat, cut, paste, chmod, lpr,...

redirection (cara mengirim output ke file atau menerima input dari file), menggunakan operator redirect >, >>, <, <<, contohnya:
ls > data
hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa.
ls >> data
hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
cat < data
file data dijadikan input oleh perintah cat
pipa (output suatu perintah menjadi input perintah lain), operatornya : | , contoh:
ls -l | sort -s
ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pake ls -l -r saja :-)
ls -l | sort -s | more
cat <data | sort > databaru
Wildcard dengan karakter *, ?, [ ], contohnya:
ls i*
tampilkan semua file yang dimulai dengan i
ls i?i
tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
ls [ab]*
tampilkan file yang dimulai dengan salah satu karakter a atau b


3. Variabel Pada Shell
Environment Variable
atau variabel lingkungan yang digunakan khusus oleh shell atau system linux kita untuk proses kerja system seperti variabel PS1, PS2, HOME, PATH, USER, SHELL,dsb...jika digunakan akan berdampak pada system, misalkan variabel PS1 yang digunakan untuk mengeset prompt shell pertama yaitu prompt tempat anda mengetikkan perintah - perintah shell (defaultnya "\s-\v\$"), PS2 untuk prompt pelengkap perintah, prompt ini akan ditampilkan jika perintah yang dimasukkan dianggap belum lengkap oleh shell (defaultnya ">"). anda dapat mengeset PS1 dan PS2 seperti berikut.
simpan dahulu isi PS1 asli system anda, sehingga nanti dapat dengan mudah dikembalikan
[root@ewa$]PS1LAMA=$PS1
sekarang masukkan string yang diinginkan pada variabel PS1
[root@ewa$]PS1="Hi ini Promptku!"
Hi ini Promptku!PS2="Lengkapi dong ? "
maka prompt pertama dan kedua akan berubah, untuk mengembalikan PS1 anda ke prompt semula ketikkan perintah
[root@ewa$]PS1=$PS1LAMA
Jika anda ingin mengkonfigurasi prompt shell, bash telah menyediakan beberapa backslash karakter diantaranya adalah:\a    ASCII bell character (07)
\d    date dengan format "Weekday Month Date" (misalnya "Tue May 26")
\e    ASCII escape character (033)
\H    hostname (namahost)
\n    newline (karakter baru)
\w    Direktory aktif
\t    time dalam 24 jam dengan format HH:MM:SS
dll    man bash:-)

contoh pemakaiannya:
[root@ewa$]PS1="[\t][\u@\h:\w]\$"
agar prompt shell hasil konfigurasi anda dapat tetap berlaku (permanen) sisipkan pada file .bashrc atau .profile
2. Positional Parameter
atau parameter posisi yaitu variabel yang digunakan shell untuk menampung argumen yang diberikan terhadap shell baik berupa argumen waktu sebuah file dijalankan atau argumen yang dikirim ke subrutin. variabel yang dimaksud adalah 1,2,3,dst..lebih jelasnya lihat contoh script berikut :
#!/bin/bash
#argumen1

echo $1 adalah salah satu $2 populer di $3
Hasilnya
[root@ewa$]./argumen1 bash shell linux
bash adalah salah satu shell populer di linux
ada 3 argumen yang disertakan pada script argumen1 yaitu bash, shell, linux, masing2 argumen akan disimpan pada variabel 1,2,3 sesuai posisinya. variabel spesial lain yang dapat digunakan diperlihatkan pada script berikut:
#!/bin/bash
#argumen2

clear
echo "Nama script anda : $0";
echo "Banyak argumen   : $#";
echo "Argumennya adalah: $*";
Hasilnya:
[root@ewa$]./argumen 1 2 3 empat
Nama script anda  : ./argumen
Banyak argumen    : 4
Argumennya adalah : 1 2 3 empat
3. User Defined Variable
atau variabel yang didefinisikan sendiri oleh pembuat script sesuai dengan kebutuhannya, beberapa hal yang perlu diperhatikan dalam mendefenisikan variabel adalah:
dimulai dengan huruf atau underscore
hindari pemakaian spesial karakter seperti *,$,#,dll...
bash bersifat case sensitive, maksudnya membedakan huruf besar dan kecil, a berbeda dengan A, nama berbeda dengan Nama,NaMa,dsb..
untuk mengeset nilai variabel gunakan operator assignment (pemberi nilai)"=", contohnya :
myos="linux"        #double-quoted
nama='pinguin'      #single-quoted
hasil=`ls -l`;      #back-quoted
angka=12
kalau anda perhatikan ada 3 tanda kutip yang kita gunakan untuk memberikan nilai string ke suatu variabel, adapun perbedaannya adalah:
dengan kutip ganda (double-quoted), bash mengizinkan kita untuk menyisipkan variabel di dalamnya. contohnya:
#!/bin/bash

nama="pinguin"
kata="Hi $nama, apa khabarmu"    #menyisipkan variabel nama
echo $kata;
Hasilnya:
Hi pinguin, apa khabarmu
dengan kutip tunggal (single-quoted), akan ditampilkan apa adanya. contohnya:
#!/bin/bash

nama="pinguin"
kata='Hi $nama, apa khabarmu'    #menyisipkan variabel nama
echo $kata;
Hasilnya:
Hi $nama, apa khabarmu
dengan kutip terbalik (double-quoted), bash menerjemahkan sebagai perintah yang akan dieksekusi, contohnya:
#!/bin/bash

hapus=`clear`;
isi=`ls -l`;        #hasil dari perintah ls -l disimpan di variabel isi

#hapus layar
echo $hapus

#ls -l
echo $isi;     
Hasilnya: silahkan dicoba sendiri
Untuk lebih jelasnya lihat contoh berikut:
#!/bin/bash
#varuse

nama="ewa"
OS='linux'
distro="macam-macam, bisa slackware,redhat,mandrake,debian,suse,dll"
pc=1
hasil=`ls -l $0`

clear
echo -e "Hi $nama,\npake $OS\nDistribusi, $distro\nkomputernya, $pc buah"
echo "Hasil ls -l $0 adalah =$hasil"
Hasilnya:
[root@ewa$]./varuse
Hi ewa,
pake linux Distribusi, macam-macam, bisa slackware,redhat,mandrake,debian,suse,dll
komputernya, 1 buah
Hasil ls -l ./varuse adalah -rwxr-xr-x 1 fajar users 299 Nov 21 06:24 ./varuse
untuk operasi matematika ada 3 cara yang dapat anda gunakan, dengan statement builtin let atau expr atau perintah subtitusi seperti contoh berikut:
#!/bin/bash
#mat1

a=10
b=5
#memakai let
let jumlah=$a+$b
let kurang=$a-$b
let kali=$a*$b

#memakai expr
bagi=`expr $a / $b`

#memakai perintah subtitusi $((ekspresi))
modul =$(($a%$b))  #sisa pembagian

echo "$a+$b=$jumlah"
echo "$a-$b=$kurang"
echo "$a*$b=$kali"
echo "$a/$b=$bagi"
echo "$a%$b=$mod"
Hasilnya:
[root@ewa$]./mat1
10+5=15
10-5=5
10*5=50
10/5=2
10%5=0
fungsi expr begitu berdaya guna baik untuk operasi matematika ataupun string contohnya:
[root@ewa$]mystr="linux"
[root@ewa$]expr length $mystr
5
Mungkin anda bertanya - tanya, apakah bisa variabel yang akan digunakan dideklarasikan secara eksplisit dengan tipe data tertentu?, mungkin seperti C atau pascal, untuk hal ini oleh Bash disediakan statement declare dengan opsi -i hanya untuk data integer (bilangan bulat). Contohnya:
#!/bin/bash

declare -i angka
angka=100;
echo $angka;
apabila variabel yang dideklarasikan menggunakan declare -i ternyata anda beri nilai string (karakter), maka Bash akan mengubahnya ke nilai 0, tetapi jika anda tidak menggunakannya maka dianggap sebagai string.

4. Input dan Output pada shell 

1. Output dengan printf
#!/bin/bash
#pr1

url="pemula.linux.or.id";
angka=32;

printf "Hi, Pake printf ala C\n\t\a di bash\n";
printf "My url %s\n %d decimal = %o octal\n" $url $angka $angka;
printf "%d decimal dalam float = %.2f\n" $angka $angka
Hasilnya:
[root@ewa$]./pr1
Hi, Pake printf ala C
    di bash
My url  pemula.linux.or.id
32 decimal = 40 octal
32 decimal dalam float = 32.00
untuk menggunakan format kontrol sertakan simbol %, bash akan mensubtitusikan format tsb dengan isi variabel yang berada di posisi kanan sesuai dengan urutannya jika lebih dari satu variabel, \n \t \aadalah karakter sekuen lepas newline,tab, dan bell,Format control    keterangan
%d    untuk format data integer
%o    octal
%f    float atau decimal
%x    Hexadecimal

pada script diatas %.2f akan mencetak 2 angka dibelakang koma, defaultnya 6 angka, informasi lebih lanjut dapat dilihat via man printf
2. Input dengan read
Setelah echo dan printf untuk proses output telah anda ketahui, sekarang kita menggunakan statement read yang cukup ampuh untuk membaca atau menerima masukan dari input standar
syntax :
read -opsi [nama_variabel...]
berikut contoh scriptnya:
#!/bin/bash
#rd1

echo -n "Nama anda :"
read nama;

echo    "Hi $nama,  apa khabarmu";
echo    "Pesan dan kesan :";
read
echo    "kata $nama, $REPLY";
Hasilnya:
[root@ewa$]./rd1
Nama anda : pinguin
Hi pinguin, apa khabarmu
Pesan & kesan :
 pake linux pasti asyk - asyk aja
kata pinguin, pake linux pasti asyk - asyk aja
jika nama_variabel tidak disertakan, maka data yang diinput akan disimpan di variabel REPLY contoh lain read menggunakan opsi
-t(TIMEOUT), -p (PROMPT), -s(SILENT), -n (NCHAR) dan -d(DELIM)
#!/bin/bash

read -p "User Name : " user
echo -e "Password 10 karakter,\njika dalam 6 second tidak dimasukkan pengisian password diakhiri"
read -s -n 10 -t 6 pass
echo    "kesan anda selama pake linux, _underscore=>selesai"
read -d _ kesan

echo    "User = $user"
echo    "Password = $pass"
echo    "Kesan selama pake linux = $kesan"
Hasilnya: silahkan dicoba sendiri :-)Opsi    Keterangan
-p    memungkinkan kita membuat prompt sebagai informasi pengisian
-s    membuat input yang dimasukkan tidak di echo ke layar (seperti layaknya password di linux)
-n    menentukan banyak karakter yang diinput
-d    menentukan karakter pembatas masukan

informasi secara lengkap lihat man bash
3. Output dengan konstanta ANSIPengaturan Warna
Untuk pewarnaan tampilan dilayar anda dapat menggunakan konstanta ANSI (salah satu badan nasional amerika yang mengurus standarisasi).
syntaxnya:
\033[warnam
Dimana:
m menandakan setting color
contohnya:
[root@ewa$]echo -e "\033[31m HELLO\033[0m"
HELLO
konstanta 31m adalah warna merah dan 0m untuk mengembalikan ke warna normal (none), tentunya konstanta warna ansi ini dapat dimasukkan ke variabel PS1 untuk mengatur tampilan prompt shell anda, contohnya:
[root@ewa$]PS1="\033[34m"
[root@ewa$]
berikut daftar warna yang dapat anda gunakan:
foreground
       None    0m
       Black       0;30     Dark Gray     1;30
       Red         0;31     Light Red     1;31
       Green       0;32     Light Green   1;32
       Brown       0;33     Yellow        1;33
       Blue        0;34     Light Blue    1;34
       Purple      0;35     Light Purple  1;35
       Cyan        0;36     Light Cyan    1;36
       Light Gray  0;37     White         1;37
background
       dimulai dengan 40 untuk BLACK,41 RED,dst
lain-lain
       4 underscore,5 blink, 7 inverse
tentunya untuk mendapatkan tampilan yang menarik anda dapat menggabungkannya antara foreground dan background
[root@ewa$]echo -e "\033[31;1;33m Bash and ansi color\033[0m"


5. Struktur kontrol pada shell
Seleksi
1. if
Statement builtin if berfungsi untuk melakukan seleksi berdasarkan suatu kondisi tertentu
syntax:
if test-command1;
   then
      perintah1;
elif test-command2;
   then
      perintah2;
else
      alternatif_perintah;
fi
contoh script if1:
#!/bin/bash
#if1

clear;
if [ $# -lt 1 ];
   then
     echo "Usage : $0 [arg1 arg2 ...]"
     exit 1;
fi

echo "Nama script anda : $0";
echo "Banyak argumen   : $#";
echo "Argumennya adalah: $*";
Hasilnya:
[root@ewa$]./if1

Usage : ./if1 [arg1 arg2 ...]
statement dalam blok if...fi akan dieksekusi apabila kondisi if terpenuhi, dalam hal ini jika script if1 dijalankan tanpa argumen. kita tinggal membaca apakah variabel $# lebih kecil (less than) dari 1, jika ya maka eksekusi perintah di dalam blok if ..fi tsb. perintah exit 1 akan mengakhiri jalannya script, angka 1 pada exit adalah status yang menandakan terdapat kesalahan, status 0 berarti sukses, anda dapat melihat isi variabel $? yang menyimpan nilai status exit, tetapi jika anda memasukkan satu atau lebih argumen maka blok if...fi tidak akan dieksekusi, statement diluar blok if..filah yang akan dieksekusi.
contoh script if2:
#!/bin/bash

kunci="bash";
read -s -p "Password anda : " pass
if [ $pass==$kunci ]; then
    echo "Sukses, anda layak dapat linux"
else
    echo "Wah sorry, gagal nih";
fi
Hasilnya
[root@ewa$]./if2
Password anda : bash
Sukses, anda layak dapat linux
[root@ewa$]./if2
Password anda : Bash
Wah sorry, gagal nih
klausa else akan dieksekusi jika if tidak terpenuhi, sebaliknya jika if terpenuhi maka else tidak akan dieksekusi
contoh script if3: penyeleksian dengan kondisi majemuk
#!/bin/bash

clear
echo "MENU HARI INI";
echo "-------------";
echo "1. Bakso     ";
echo "2. Gado-Gado ";
echo "3. Exit      ";
read -p "Pilihan anda [1-3] :" pil;

if [ $pil -eq 1 ];
then
   echo "Banyak mangkuk =";
   read jum
   let bayar=jum*1500;
elif [ $angka -eq 2 ];
then
   echo "Banyak porsi =";
   read jum
   let bayar=jum*2000;
elif [ $angka -eq 3 ];
then
   exit 0
else
   echo "Sorry, tidak tersedia"
   exit 1
fi

echo "Harga bayar = Rp. $bayar"
echo "THX"
Hasilnya:
[root@ewa$]./if3
MENU HARI INI
-------------
1. Bakso   
2. Gado-Gado
3. Exit   
Pilihan anda :2

Banyak porsi = 2

Harga bayar = Rp. 4000
THX
2. statement builtin caseseperti halnya if statement case digunakan untuk menyeleksi kondisi majemuk, dibanding if, pemakaian case terasa lebih efisien
syntax:
case WORD in [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]...
esac
contoh script cs1
#!/bin/bash

clear
echo -n "Masukkan nama binatang :";
read binatang;

case $binatang in
    pinguin | ayam | burung ) echo "$binatang berkaki 2"
                  break  
                              ;;
    onta | kuda | anjing ) echo "$binatang berkaki 4"
                  break
                  ;;
    *) echo "$binatang blom didaftarkan"
                  break
                  ;;
esac
Hasilnya:
[root@ewa$]./cs1
Masukkan nama binatang : pinguin
pinguin berkaki 2
2. Perulangan
1. statement for
syntax:
for NAME [in WORDS ...]; do perintah; done
contoh script for1
#!/bin/bash

for angka in 1 2 3 4 5;
do
   echo "angka=$angka";
done
Hasilnya:
[root@ewa$]./for1
angka=1
angka=2
angka=3
angka=4
angka=5
contoh script for2 berikut akan membaca argumen yang disertakan waktu script dijalankan
#!/bin/bash

for var
do
   echo $var
done
Hasilnya:
[root@ewa$]./for2 satu 2 tiga
satu
2
tiga
atau variasi seperti berikut
#!/bin/bash

for var in `cat /etc/passwd`
do
   echo $var
done
Hasilnya: hasil dari perintah cat terhadap file /etc/passwd disimpan ke var dan ditampilkan menggunakan echo $var ke layar, mendingan gunakan cat /etc/passwd saja biar efisien. :-)
3. statement while
selama kondisi bernilai benar atau zero perintah dalam blok while akan diulang terus
syntax:
while KONDISI; do perintah; done;
contoh script wh1 mencetak bilangan ganjil antara 1-10
#!/bin/bash

i=1;
while [ $i -le 10 ];
do
  echo "$i,";
  let i=$i+2;
done
Hasilnya:
[root@ewa$]./wh1
1,3,5,7,9,
kondisi tidak terpenuhi pada saat nilai i=11 (9+2), sehingga perintah dalam blokwhile tidak dieksekusi lagi
contoh script wh2 akan menghitung banyak bilangan genap dan ganjil yang ada.
#!/bin/bash

i=0;
bil_genap=0;
bil_ganjil=0;

echo -n "Batas loop :";
read batas

if [ -z $batas ] || [ $batas -lt 0 ]; then
  echo "Ops, tidak boleh kosong atau Batas loop  harus >= 0";
  exit 0;
fi

while [ $i -le $batas ];
do
    echo -n "$i,";
    if [ `expr  $i % 2` -eq 0 ]; then
       let bil_genap=$bil_genap+1;
    else
       let bil_ganjil=$bil_ganjil+1;
    fi
    let i=$i+1;    #counter untuk mencapai batas
done

echo
echo "banyak bilangan genap  = $bil_genap";
echo "banyak bilangan ganjil = $bil_ganjil";
Hasilnya:
[root@ewa$]./wh2
Batas loop : 10
0,1,2,3,4,5,6,7,8,9,10,
banyak bilangan genap  = 6
banyak bilangan ganjil = 5
untuk mengetahui apakah nilai i berupa bilangan genap kita cukup menggunakan operasi matematika % (mod), jika nilai i dibagi 2 menghasilkan sisa 0 berarti i adalah bilangan genap (semua bilangan genap yang dibagi dengan 2 mempunyai sisa 0) maka pencacah (bil_genap) dinaikkan 1, selain itu i bilangan ganjil yang dicatat oleh pencacah bil_ganjilproses ini dilakukan terus selama nilai i lebih kecil atau samadengan nilai batas yang dimasukkan. script juga akan memeriksa dahulu nilai batas yang dimasukkan apabila kosong atau lebih kecil dari 0 maka proses segera berakhir.tentunya dengan statement while kita sudah dapat membuat perulangan pada script kedai diatas agar dapat digunakan terus-menerus selama operator masih ingin melakukan proses perhitungan. lihat contoh berikut:
#!/bin/bash
#kedai

lagi='y'
while  [ $lagi == 'y' ] || [ $lagi == 'Y' ];
do
   clear
   echo "MENU HARI INI";
   echo "-------------";
   echo "1. Bakso      ";
   echo "2. Gado-Gado  ";
   echo "3. Exit       ";
   read -p "Pilihan anda [1-3] :" pil;

if [ $pil -eq 1 ];
then
   echo -n "Banyak mangkuk =";
   read jum
   let bayar=jum*1500;
elif [ $pil -eq 2 ];
then
   echo -n "Banyak porsi =";
   read jum
   let bayar=jum*2000;
elif [ $pil -eq 3 ];
then
   exit 0
else
   echo "Sorry, tidak tersedia"
   exit 1
fi

echo "Harga bayar = Rp. $bayar"
echo "THX"
echo
echo -n "Hitung lagi (y/t) :";
read lagi;

    #untuk validasi input
    while  [ $lagi != 'y' ] && [ $lagi != 'Y' ] && [ $lagi != 't' ] && [ $lagi != 'T' ];
    do
       echo "Ops, isi lagi dengan (y/Y/t/Y)";
       echo -n "Hitung lagi (y/t) :";
       read lagi;
    done

done
proses pemilihan menu dan perhitungan biaya akan diulang terus selama anda memasukkan y/Y dan t/T untuk berhenti. dalam script terdapat validasi input menggunakan while, sehingga hanya y/Y/t/Tsaja yang dapat diterima soalnya saya belum mendapatkan fungsi yang lebih efisien :-)
statement until
jika while akan mengulang selama kondisi benar, lain halnya dengan statement until yang akan mengulang selama kondisi salah.
berikut contoh script ut menggunakan until
#!/bin/bash

i=1;
until [ $i -gt 10 ];
do
  echo $i;
  let i=$i+1
done
Hasilnya:
[fajar@linux$]./ut
1,2,3,4,5,6,7,8,9,10,
perhatikan kodisi until yang salah [ $i -gt 10], dimana nilai awal i=1 dan akan berhenti apabila nilai i = 11 (bernilai benar) 11 -gt 10.
statement select
select berguna untuk pembuatan layout berbentuk menu pilihan, anda lihat contoh script pembuatan menu diatas kita hanya melakukannya dengan echo secara satu persatu, dengan select akan terlihat lebih efisien.
syntax:
select varname in (&ltitem list>); do perintah; done
sewaktu dijalankan bash akan menampilkan daftar menu yang diambil dari item list, serta akan menampilkan prompt yang menunggu masukan dari keyboard, masukan tersebut oleh bash disimpan di variabel builtin REPLY, apabila daftar item list tidak dituliskan maka bash akan mengambil item list dari parameter posisi sewaktu script dijalankan. lebih jelasnya lihat contoh berikut:
#!/bin/bash
#menu1

clear
select menu
do
  echo "Anda memilih $REPLY yaitu $menu"
done
Hasilnya:
layout:
[root@ewa$]./menu1 Slackware Redhat Mandrake
1) Slackware
2) Redhat
3) Mandrake
 #? 1
Anda memilih 1 yaitu Slackware
karena item list tidak disertakan dalam script, maka sewaktu script dijalankan kita menyertakan item list sebagai parameter posisi, coba gunakan statement select pada program kedai diatas.
#!/bin/bash
#kedai

lagi='y'
while  [ $lagi == 'y' ] || [ $lagi == 'Y' ];
do
   clear
   select menu in "Bakso" "Gado-Gado" "Exit";
   case $REPLY in
        1) echo -n "Banyak mangkuk =";
           read jum
           let bayar=jum*1500;
           ;;
        2) echo -n "Banyak porsi =";
           read jum
           let bayar=jum*2000;
           ;;
        3) exit 0
           ;;
        *) echo "Sorry, tidak tersedia"
           ;;
  esac
do

echo "Harga bayar = Rp. $bayar"
echo "THX"
echo
echo -n "Hitung lagi (y/t) :";
read lagi;

    #untuk validasi input
    while  [ $lagi != 'y' ] && [ $lagi != 'Y' ] && [ $lagi != 't' ] && [ $lagi != 'T' ];
    do
       echo "Ops, isi lagi dengan (y/Y/t/Y)";
       echo -n "Hitung lagi (y/t) :";
       read lagi;
    done
done


6. Array Pada Shell
adalah kumpulan variabel dengan tipe sejenis, dimana array ini merupakan feature Bash yang cukup indah :-) dan salah satu hal yang cukup penting dalam bahasa pemrograman, anda bisa membayangkan array ini sebagai tumpukan buku - buku dimeja belajar. lebih jelasnya sebaiknya lihat dulu contoh script berikut:
#!/bin/bash
#array1

buah=(Melon,Apel,Durian);
echo ${buah[*]};

Hasilnya:
[root@ewa$]./array1.
Melon,Apel,Durian

anda lihat bahwa membuat tipe array di Bash begitu mudah, secara otomatis array buah diciptakan dan string Melon menempati index pertama dari array buah, perlu diketahui bahwa array di Bash dimulai dari index 0, jadi array buah mempunyai struktur seperti berikut:
buah[0] berisi Melon
buah[1] berisi Apel
buah[2] berisi Durian

0,1,2 adalah index array, berarti ada 3 elemen pada array buah, untuk menampilkan isi semua elemen array gunakan perintah subtitusi seperti pada contoh diatas, dengan index berisi "*" atau "@". dengan adanya index array tentunya kita dapat mengisi array perindexnya dan menampilkan isi array sesuai dengan index yang diinginkan. anda lihat contoh berikut:
#!/bin/bash
#array2

bulan[0]=31
bulan[1]=28
bulan[2]=31
bulan[3]=30
bulan[4]=31
bulan[5]=30
bulan[6]=31
bulan[7]=31
bulan[8]=30
bulan[9]=31
bulan[10]=30
bulan[11]=31
echo "Banyak hari dalam bulan November adalah ${bulan[10]} hari"

Hasilnya:
[root@ewa$]./array2
Banyak hari dalam bulan November adalah 30 hari

sebenarnya kita dapat mendeklarasikan array secara eksplisit menggunakan statement declare

contohnya:
declare -a myarray

mendeklarasikan variabel myarray sebagai array dengan opsi -a, kemudian anda sudah dapat memberinya nilai baik untuk semua elemen atau hanya elemen tertentu saja dengan perulangan yang telah kita pelajari pengisian elemen array dapat lebih dipermudah, lihat contoh :
#!/bin/bash
#array3

#deklarasikan variabel array
declare -a angka   

#clear
i=0;
while [ $i -le 4 ];
do
let isi=$i*2;
angka[$i]=$isi;
let i=$i+1;
done

#tampilkan semua elemen array
#dengan indexnya berisi "*" atau "@"
echo ${angka[*]}; 

#destroy array angka (memory yang dipakai dibebaskan kembali)
unset angka


Hasilnya:
[root@ewa$]./array3
0 2 4 6 8


7.  Function pada Shell
Merupakan bagian script atau program yang berisi kumpulan beberapa statement yang melaksanakan tugas tertentu. dengan subrutin kode script kita tentunya lebih sederhana dan terstruktur, karena sekali fungsi telah dibuat dan berhasil maka akan dapat digunakan kapan saja kita inginkan. beberapa hal mengenai fungsi ini adalah:
Memungkinkan kita menyusun kode script ke dalam bentuk modul-modul kecil yang lebih efisien dengan tugasnya masing-masing.
Mencegah penulisan kode yang berulang - ulang.

untuk membuat subrutin shell telah menyediakan keyword function seperti pada bahasa C, akan tetapi ini bersifat optional (artinya boleh digunakan boleh tidak).

syntax:
function nama_fungsi() { perintah; }

nama_fungsi adalah pengenal (identifier) yang aturan penamaannya sama seperti pemberian nama variabel, setelah fungsi dideklarasikan atau dibuat anda dapat memaggilnya dengan menyebutkan nama fungsinya. lebih jelasnya lihat contoh script fungsi1 berikut:
#!/bin/bash

function say_hello() {
    echo "Hello, apa kbabar"
}


#panggil fungsi
say_hello;

#panggil sekali lagi
say_hello;


Hasilnya:
[root@ewa$]./fungsi1
Hello, apa khabar

Hello, apa khabar

jika keyword function disertakan maka kita boleh tidak menggunakan tanda kurung (), tetapi jika keyword function tidak disertakan maka tanda kurung harus digunakan, lihat contoh berikut:
#!/bin/bash

function say_hello{
  echo "Hello,apa khabar"
}

balas(){
  echo "Baik-baik saja";
  echo "Bagaimana dengan anda ?";
}


#panggil fungsi say_hello
say_hello;

#panggil fungsi balas
balas;

Hasilnya:
[root@ewa$]./fungsi2
Hello, apa khabar
Baik-baik saja
Bagaimana dengan anda ?


Sekian penjelasan dari saya tentang Shell Progaming Pemula Pada Linux by [x] Wong Goblog [x]

Netrunner 13.12 Review: Again an "Enigma"tic Kubuntu Saucy spin!


Netrunner's latest release is based on Kubuntu Saucy Salamander or the 13.10 release with 9 months of support. I guess it was originally intended to be released in December 2013 but got delayed to January 2014. In my comparison of the prominent KDE distros released in 2013, Netrunner 13.06 emerged as the best distro with a perfect blend of aesthetics, stability and performance. So, my

Wednesday, January 15, 2014

Korora 20 "Peach" KDE Review: Enhanced Fedora 20 and up-gradable to KDE 4.12.1


For many Linux users, Korora, dropping an "a" from it's name last year, is to Fedora what Linux Mint is to Ubuntu. Is it really true? Why I am saying this because Linux Mint not only packages Ubuntu in a user-friendly fashion and just makes it work - in my tests, it actually outperformed Ubuntu. With a comprehensive collection of performance statistics from my evaluations last year, this year

Sunday, January 5, 2014

Siduction 13.2.0 KDE Review: Impressive Debian "Unstable" spin with cutting edge packages


Siduction is one of the distros which I didn't get a chance to review previously due to lack of time and opportunity. It is an operating system based on Debian "Unstable" branch offering cutting edge packages and applications offering most of the common desktop environments like GNOME 3, KDE 4.11, LXDE, XFCE, etc. For this review I take up the KDE version. Siduction 13.2.0 GNOME will be included