Senin, 24 Desember 2012

SHELL JILID 3

NAMA : FIKRI RIZKY WIJAYA
NIM : 2011-81-077
SEKSI : 03
TUGAS : PRAKTIKUM SISTEM OPERASI

1. Program untuk menampilkan menu


script sudah dikirim via email dengan format .sh

2. Penjelasan dari fungsi menu tersebut :

1). pwd : untuk menampilkan direktori yang ada saat ini.
2). ls : menampilkan seluruh isi folder/file yang ada pada direktori yang di tuju.
3). logname : menampilkan nama logname dari sistem operasi tersebut.
4). buat direktori so : membuat direktori yang bernama so dengan fungsi mkdir (make direktory).
5). buat file nama anda : membuat file bobby dengan fungsi cat (dengan format yang diinginkan adalah txt).
6). perlihatkan file : melihat isi file yang ada dengan fungsi cat dengan penulisan cat > namafile.txt.
7). Ps Aux : berfungsi untuk melihat kegiatan user atau root.
8). Grep : berfungsi untuk mencari suatu tulisan atau karakter di dalam suatu file.
9). Touch : berfungsi sebagai edit file dengan memasukan file yang lain ke dalam file tujuan yang ingin di edit.
10). Tr : berfungsi untuk mengubah huruf kecil menjadi kapital atau sebaliknya.

Screen Shot Program :

* Isi file shell3.sh







*Eksekusi program dan Running program



Senin, 10 Desember 2012

TUGAS SO PRAKTIKUM 6 - Shell Programming

Nama : Fikri Rizky Wijaya
Nim : 2011-81-077
Seksi : 03
Matkul : Praktikum Sistem Operasi

Pemrograman Bash Shell

Apa itu Pemrograman Bash Shell ?
 Setelah mendengar kata-kata pemrograman bash shell, pasti terbayangkan pemrograman menggunakan terminal yang biasanya digunakan di Linux. Namun, apa itu sebenarnya pemrograman bash shell? . Di dalam sub judul ini akan dijelaskan pengertian dari bash shell dan pemrograman bash shell itu sendiri.
 Bash adalah singkatan dari Bourne Again Shell, versi baru dari Bourne Shell yang dikembangkan oleh Steve Bourne. Bash ini adalah shell yang paling umum digunakan pengguna Linux. Shell adalah program yang menjadi jembatan antara perintah yang dimasukkan user melalui input dari keyboard dengan sistem operasi untuk melakukan perintah yang dimasukkan user tersebut. Sekarang ini, program seperti shell ini sudah tergantikan oleh user interface yang lebih mudah digunakan.
 Pemrograman bash shell itu sendiri adalah pemrograman kumpulan perintah menggunakan script yang ditulis ke dalam bash shell, sehingga nantinya dapat dieksekusi oleh sistem operasi. Selain bash shell, ada banyak shell lainnya yang bisa digunakan untuk programming, namun penggunaan bash lebih fleksibel karena script yang ditulis lebih kompatibel untuk dibaca dari mesin yang berbeda, distro linux yang berbeda , atau bahkan sistem operasi yang berbeda. Pemrograman menggunakan shell terutama bash shell berkembang terus sampai sekarang karena penggunaannya di kalangan system administrator sangat dibutuhkan.

Bagaimana Konsep dari Pemrograman Bash Shell?
 Konsep kerja dari pemrograman bash shell hampir mirip dengan bahasa pemrograman lainnya. Pemrograman bash shell juga menggabungkan perintah-perintah untuk memilih suatu kondisi, memproses suatu I/O, looping, dan membuat fungsi-fungsi yang dapat dijalankan user. Konsep pemrograman bash shell ini akan mudah dipelajari apabila kita sudah mengetahui perintah-perintah sederhana yang ada di bash shell seperti whoami, cd, cat, dan lainnya. Dengan penguasaan perintah-perintah sederhana ini, pemrograman bash shell akan membuat pekerjaan user menjadi lebih efektif. Hal penting yang harus diketahui sebelum menggunakan pemrograman bash shell adalah konsep mengenai variabel, format syntax dan struktur di dalam pemrograman bash shell itu sendiri.
 Format syntax dan struktur dalam bash shell programming adalah hal yang paling penting untuk diketahui. Kita dapat menulis script menggunakan editor seperti vim, emacs, gedit, dan dtpad. Namun vim dan emacs adalah yang paling cocok karena bisa membantu kita dalam membenarkan syntax dari script yang kita tulis jika kita mengaktifkan fiturnya. File script harus disimpan dalam bentuk .sh. Kemudian di headernya harus diberikan komentar bahwa script ini merupakan pemrograman berbasis bash shell seperti contoh dibawah ini.

header

 Kemudian untuk menuliskan string harus diapit oleh tanda petik dan untuk menggunakan variabel agar dapat ditampilkan harus didahului dengan karakter ‘$’ di depan variabel tersebut.
  Untuk menjalankan program yang sudah kita buat kita harus mengubah modenya dulu agar bisa dieksekusi dengan perintah seperti di bawah ini

2

  ls -al untuk melihat mode yang sudah kita ubah seperti di bawah ini. Nama file scriptnya adalah test.sh

3
 Dengan mode seperti di atas maka program test dapat dieksekusi dengan menggunakan perintah seperti di bawah ini dan tampilannya akan seperti di bawah ini.

4
 Peraturan mengenai syntax pemrograman sesuai standar POSIX dan ANSI-C.
 Variabel adalah sesuatu yang nantinya akan menjadi masukkan, keluaran dan parameter dari programmer. Variabel di dalam pemrograman bash shell sama pentingnya dengan variabel dalam bahasa pemrograman lain. Variabel di dalam bash shell menggunakan huruf kapital keseluruhan untuk penulisannya. Contohnya adalah PATH, COLOR, dan sebagainya. Variabel di dalam bash shell terdiri dari tiga jenis yaitu global variabel (environment variabel) yang berlaku di semua shell, local variabel yang berlaku di dalam shell yang sedang digunakan dan user defined variabel yaitu variabel yang dibuat oleh user. Selain dibagi menjadi tiga jenis tersebut, variabel dapat dibagi berdasarkan tipe datanya yaitu string, integer, constant, dan array. Cara melihat global variabel dengan menggunakan perintah env

5
 Cara untuk melihat local variabel (bergabung dengan fungsi-fungsi yang ada) dengan mengetikkan perintah set. Berikut contoh set dari fungsi userdel, di dalamnya terdapat variabel bernama COMPREPLY.

6
 Ada nama variabel yang sudah digunakan di dalam bash shell, sehingga kita tidak bisa menggunakan nama variabel tersebut. Cara membuat dan mengassign suatu nilai ke dalam variabel dengan deklarasi seperti di bawah ini

7

 NAMA adalah nama variabel, kemudian diassign dengan value ‘Penguin’, ingat pendeklarasian variabel harus tanpa spasi, case sensitive, dan tidak menggunakan karakter khusus.

Apa Manfaat Pemrograman Bash Shell terutama bagi para System Administrator ?
 Pemrograman bash shell memiliki keuntungan dibandingkan shell lain yaitu :
1. Bash shell merupakan shell yang menggabungkan fitur-fitur yang ada di Korn Shell dan C Shell dengan peningkatan fitur-fitur yang cocok untuk programming ataupun penggunaan oleh user secara interaktif. Bash shell menggunakan standard POSIX yang paling umum digunakan dalam pemrograman shell.
2. Bash shell bisa menjalankan hampir semua file .sh (script) tanpa modifikasi terlebih dahulu
3. Syntax dari bash shell programming sederhana dan tidak bertele-tele, sama seperti dengan menggabungkan function-function yang sudah ada di dalam statu file script.
4. Hanya ada sedikit ‘rule’ yang perlu dipelajari untuk menulis program menggunakan bash shell
5. Pemrograman menggunakan shell merupakan salah satu metode untuk prototipe aplikasi yang lebih kompleks lagi.
6. Pemrograman menggunakan shell merupakan pendekatan yang paling mudah dalam hal problem solving, karena masalah yang kompleks dipecah menjadi sub-sub masalah yang lebih mudah dipecahkan.
7. Manfaat yang paling penting untuk system administrator adalah memelihara system dengan command-command yang bisa dijalankan secara otomatis dan berlaku default untuk semua user tanpa user sendiri yang harus mensetting environment dari system.

Step by step Programming with Bash Shell
 Sama halnya dengan pemrograman lainnya, Bash Shell programming juga dapat melakukan fungsi-fungsi seperti baca input, tulis output, looping, condition statement, dan sebagainya. Berikut adalah langkah-langkah untuk membuat script bash programming
1. Masuk ke terminal
2. Login sebagai root (kita bisa membuat script tanpa harus login sebagai root)
3. Buat script dengan format .sh pada direktori yang diinginkan dengan syntax .ssh
contoh:

8
 keterangan syntax:
vi : untuk membuka editor vi yang akan digunakan untuk menuliskan script. Penggunaan vi dapat diganti dengan editor lain seperti pico, nano, dan sebagainya
test : nama file
.sh : format data standard yang digunakan dalam bash programming
4. Buat script pada editor. Tekan key Insert terlebih dahulu sebelum menulikan script pada editor. Berikut adalah contoh program sederhana

9

  Setelah selesai menuliskan script, tekan key Esc untuk keluar dari editor lalu masukkan mode yang diinginkan. Ada beberapa mode yang dapat dilakukan saat akan keluar dari editor:
- :q keluar editor. Jika ada perubahan, maka akan muncul peringatan
- :q! keluar editor tanpa menyimpan perubahan
- :wq: keluar editor dengan menyimpan perubahan yang dilakukan
5. Setelah menyimpan perubahan dengan perintah wq ubah dulu mode dari script agar bisa dieksekusi dengan perintah chmod ut, jalankan script dengan perintah ./namafile, seperti terlihat dibawah ini

10
Contoh Implementasi Programming Bash Shell dalam pekerjaan Sys Admin
● Menambah user baru dari file
a. Buat file userlist.txt yang berisi daftar nama user baru yang ingin dibuat
11

b. Buat file script dengan nama adduser.sh. Tulis script berikut pada editor

12
 Penjelasan script:
  Sistem akan membaca daftar nama user baru yang disimpan dalam file userlist.txt satu per satu dan disimpan dalam variabel $0. Setelah itu sistem akan menjalankan perintah useradd -m $0 hingga nama user terakhir.
c. Ubah mode file adduser.sh dengan perintah chmod u+x adduser.sh kemudian eksekusi program dengan perintah ./adduser.sh
d. Cek apakah semua nama user baru telah dibuat dengan perintah cat /etc/group

13

● Mengubah masa aktif password dari anggota grup
 Biasanya sys admin harus mengatur masa aktif password satu per satu untuk setiap user dengan menjalankan perintah chage. Bayangkan jika terdapat 1000 user yang harus diubah masa aktif password nya. Tentu pekerjaan tersebut membutuhkan waktu yang lama. Namun dengan membuat sebuah script, proses tersebut dapat diotomisasi. Berikut adalah contoh script untuk mengubah masa aktif user dalam suatu grup.
a. Buat file script dengan nama test.sh. Tulis script berikut pada editor

14
 Penjelasan script:
 Sistem akan mengambil semua nama user dalam grup MURID kemudian disimpan dalam file listuser.txt. Selanjutkan sistem akan membaca nama user satu per satu dari fileuser.txt dan disimpan dalam variabel $0. Setelah itu sistem akan menjalankan perintah chage -M 100 $0 hingga nama user terakhir. Karena listuser.txt hanya file sementara yang digunakan untuk membantu program ini, maka setelah program selesai file tersebut dihapus.
b. Ganti mode file agar dapat dieksekusi

15

c. Eksekusi program
16

● Mencari file dengan ekstensi tertentu ada dalam sebuah direktori
a. buat file script dengan nama test01.sh. Tulis script berikut pada editor

17
 Penjelasan script:
 Program di atas akan melakukan pengecekan apakah dalam suatu direktori terdapat file dengan ekstensi .txt atau tidak. Jika ada file dengan format txt maka akan ditampilkan pesan “File(s) exists.”. Sebalikanya jika tidak ada maka akan muncul pesan “File does not exist”.
b. Ubah mode file test01.sh kemudian eksekusi file tersebut seperti yang telah dijelaskan di atas.
● Penggunaan Array dan For Loop

18
 Potongan script di atas menunjukan cara penggunaan array dan for loop dalam bash programming. Program tersebut akan membaca isi file kemudian disimpan dalam sebuah array. selanjutnya isi file tersebut akan ditampilkan oleh program sebagai output. Untuk mengeksekusi program tersebut jalankan perintah ./. Berikut adalah contoh keluaran program tersebut.

19

● Membandingkan variabel

20
  
 Potongan script di atas menunjukan cara membandingkan dua buah variabel dalam bash programming. Disini hanya dicontohkan 2 tipe variabel yaitu integer (NUM1 dan NUM2) serta string (S1 dan S2). Berikut contoh keluaran dari program tersebut.

21

Daftar Referensi

http://www.arachnoid.com/linux/shell_programming.html

http://www.gnu.org/software/bash/manual/bash.html

http://www.ibm.com/developerworks/aix/library/au-getstartedbash/

http://linuxconfig.org/Bash_scripting_Tutorial

http://linuxcommand.org/lts0010.php

http://linuxcommand.org/wss0010.php#write

http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/system.html

http://www.panix.com/~elflord/unix/bash-tute.html

http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_03_02

http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_02_01

http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html

Rabu, 05 Desember 2012

Polimorfisme dan Inheritance Pada Pemrograman Java

NAMA : Fikri Rizky Wijaya
NIM : 2011-81-077
TUGAS : Teori Pemrograman Java
SEKSI : 10

1. Polimorfisme

Dalam pemrograman berorientasi object kita mengenal suatu istilah yaitu “ Polimorfisme ”, yaitu suatu teknik dalam programming yang lebih mengarahkan kita untuk memprogram secara general dari pada secara spesifik. Sebagai contoh seumpama kita memiliki 3 class berbeda yaitu: “Motor”, “Mobil” dan “Pesawat”. Dimana ketiga class tersebut adalah turunan dari class “Kendaraan”. Dalam kelas kedaraan terdapat suatu method yaitu “Move()”, akan tetapi apakah method “Move()” akan memberikan hasil yang sama pada tiga class tersebut. Dimana jika method “Move()” dipanggil pada class “Motor” akan menghasilkan perpindahan 30Km, jika pada class “Mobil” akan menghasilkan perpindahan 70Km dan jika dipanggil pada class “Pesawat” akan menghasilkan perpindahan 300Km. Hal inilah yang kita sebut sebagai Polimorfisme , yaitu penggunaan method yang sama, yang akan menghasilkan suatu hasil yang berbeda tergantung class yang menggunakan method tersebut.
Berikut ini adalah contoh program java yang menggunakan polimorfisme :

Kemampuan dari referensi untuk mengubah sifat menurut object apa yang dijadikan acuan dinamakan polimorfisme. Polimorfisme menyediakan multiobject dari subclasses yang berbeda untuk diperlakukan sebagai object dari superclass tunggal, secara otomatis menunjuk method yang tepat untuk menggunakannya ke particular object berdasar subclass yang termasuk di dalamnya.
Contoh lain yang menunjukkan properti polimorfisme adalah ketika kita mencoba melalui referensi ke method.
contoh program :
class kendaraan {
public void bahanbakar (){
System.out.println("kendaraan berbahanbakar :");
}
}
// Membuat kelas turunan mobil yang merupakan turunan dari class kendaraan :
class mobil extends kendaraan {
public void bahanbakar(){
System.out.println(" MOBIL bahan bakar bensin");
}
}
//Membuat kelas turunan kereta api yang merupakan turunan dari class kendaraan :
class keretaapi extends kendaraan {
public void bahanbakar (){
System.out.println("KERETA API bahan bakar batu bara");
}
}
//Membuat kelas turunan pesawat yang merupakan turunan dari class kendaraan :
class pesawat extends kendaraan {
public void bahanbakar(){
System.out.println("PESAWAT berbahan bakar Bensol");
}
}
// Membuat class bahanbakarkendaraan untuk mengetes class-class yang telah dibuat :
public class bahanbakarkendaraan {
public static void main(String[] args){
kendaraan kendaraan = new kendaraan();
mobil MOBIL = new mobil();
keretaapi KERETAAPI = new keretaapi();
pesawat PESAWAT = new pesawat();


kendaraan.bahanbakar();


kendaraan = MOBIL;
kendaraan.bahanbakar();


kendaraan = KERETAAPI;
kendaraan.bahanbakar();


kendaraan = PESAWAT;
kendaraan.bahanbakar();
}
}
output :

 
  2. INHERITANCE

Inheritance adalah salah satu teknik pemrograman berorientasi object yang digunakan agar suatu codingan dapat digunakan kembali oleh programmer lain / reuseable. Hal tersebut dilakukan dengan cara membuat turunan dari suatu class yang sudah ada, yaitu dengan membuat child class. Contohnya adalah jika ada programmer yang membuat suatu class yaitu shape yang memiliki atribut atribut luas, dan position kita tidak perlu membuat class baru ketika kita ingin membuat suatu class rectangle yang notabennya juga termasuk shape, jadi kita cuma perlu untuk menurunkan class shape tadi ke class rectangle yang akan kita buat.   Dari gambar diatas dapat kita ketahui hierarki dari penurunan class shape menjadi class class lainya yang notabennya masih termasuk dalam class shape. Selain itu dalam iheritance ini kita juga mulai mengenal yang dinamakan access modifier, yaitu keyword untuk merubah atribut dari suatu field dalam suatu class, dimana dalam java access modifier tersebut ada 4, yaitu: (none) -> Akses ke field tersebut hanya terbatas pada suatu package Public -> Field tersebut dapat diakses dari semua tempat, asal masih dalam satu scope Private -> Akses ke field tersebut hanya terbatas pada class dimana field tersebut ada Protected -> Akses ke filed tersebut hanya terbatas pada class dimana field tersebut ada, beserta class turunan dari class field tersebut. Untuk contoh program dapat dilihat dibawah ini, yang merupakan inheritance class person menjadi class student.
 contoh program :
//class Person.java
public class Person {

protected String name;
protected int age;

public Person(String name, int age) {
    this.name = name;
    this.age = age;
}

public String getName() {
    return this.name;
}

public int getAge() {
    return this.age;
}
}

//class Student.java

public class Student extends Person {

 private String schoolName;

 public Student(String name, int age, String schoolName) {
     super(name, age);
     this.schoolName = schoolName;
 }

 public String getSchoolName() {
     return this.schoolName;
 }
}

//class Main.java

public class Main {

  public static void main(String[] args) {
      Person person = new Person("Yohanda", 19);
      Student student = new Student("Mandala", 18, "SMAN 2");

      System.out.println("Informasi tentang object person : ");
      System.out.println("Name : " + person.getName());
      System.out.println("Age : " + person.getAge());
      System.out.println();

      System.out.println("Informasi tentang object student : ");
      System.out.println("Name : " + student.getName());
      System.out.println("Age : " + student.getAge());



      System.out.println("School Name : " + student.getSchoolName());
  }
}

output :

Sabtu, 10 November 2012

TUGAS SO PRAKTIKUM 4 - Menganalisa Percobaan di Linux

Nama : Fikri Rizky Wijaya
NIM   : 2011-81-077
Seksi  : 03 


1.) Menganalisa hasil percobaan yang saya lakukan
 A. Analisa setiap hasil tampilan
PERCOBAAN 1 : Directory
*Melihat Directory HOME

*Melihat Directory Actual dan Parent Directory

*Membuat satu directory, lebih dari satu directory atau sub directory






*Menghapus satu directory atau lebih directory hanya dapat dilakukan pada directory kosong, dan hanya dapat dihapus oleh pemiliknya kecuali jika diberi izin aksesnya.

 
(Jika terdapat pesan error pada directory yang ingin dihapus berisi file / tidak kosong atau tidak diberikan izin akses)


 
Pada perintah “ls –l b” terdapat pesan error karena sebelumnya directory b sudah dihapus pada perintah sebelumnya.
-          Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lainnya.



 

Pada perintah “cd /<d/c” , terdapat pesan error karena directory c terdapat di directory sebelumnya, bukan di direktori home.

PERCOBAAN 2 : Manipulasi File
* Perintah cp untuk mengkopi file atau seluruh direktori.


*Perintah mv untuk memindah file


 *Perintah rm untuk menghapus file



PERCOBAAN 3 : Symbolic link
*Membuat shortcut ( file link )


 
PERCOBAAN 4 : Melihat Isi File

 
PERCOBAAN 5 : Mencari File
*Perintah find


 
*Perintah which ls


*Perintah locate



PERCOBAAN 6 : Mencari Teks Pada File



B. pada percobaan 1 point 3 buatlah pohon dari struktur file dan direktori.

·         Perintah  $ mkdir A B C A/D A/E B/F A/D/A digunakan untuk membuat direktori A ,B, C didalam direktori A ada direktori D dan E, di direktori D ada direktori A, didalam direktori B ada direktori F. 

Struktur file direktorinya : 



C.)  Penyebab dari pesan error sudah dijelaskan dibagian A.