Wednesday 18 November 2015

Mengenal sistem operasi GNU/Linux

materi by  JAROJI, M. KOM
Praktikum I Perintah Dasar Linux
I. Tujuan
1. Mengenal sistem operasi GNU/Linux
2. Memahami perintah-perintah dasar GNU/Linux
3. Mampu mengoperasikan GNU/Linux pada mode terminal


II. Dasar Teori
Command line atau baris perintah adalah instruksi-instruksi yang disediakan oleh OS yang dieksekusi dari terminal dengan cara mengetikkan perintah dan diakhiri “enter”. Meskipun dewasa ini GNU/Linux sudah memiliki desktop environment yang menawan, contohnya GNOME dan KDE, akan tetapi command line tidak bisa ditinggalkan. Command line merupakan cara yang lebih efisien untuk melakukan suatu pekerjaan, oleh karena itu pengguna GNU/Linux masih menggunakan cara ini untuk bekerja. Oleh karena itu pada praktikum kali ini di awali dengan perintah dasar sebagai dasar pada untuk keseluruhan praktikum sistem operasi. Berikut adalah contoh perintah dasar yang sering dipakai oleh pengguna linux.
contoh :
praktikum:$ ls -l
total 88
drwxr-xr-x 2 root root 4096 Feb 7 12:23 bin drwxr-xr-x 3 root root 4096 Feb 6 20:17 boot drwxr-xr-x 17 root root 3380 Mar 12 17:28 dev drwxr-xr-x 116 root root 4096 Mar 12 18:05 etc drwxr-xr-x 3 root root 4096 Feb 6 20:35 home
Contoh diatas “ls” merupakan perintah untuk menampilkan konten dari sebuah direktori aktif, dengan opsi “-l” (use a long listing format). Untuk memudahkan pengguna dalam
menggunakan perintah baris disediakan pula sebuah bantuan yang berisi informasi lengkap tentang perintah dan opsi-opsinya. Cara untuk mengakses bantuan terhadap sebuah perintah sebagai berikut contoh:
praktikum:$ man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort.
Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with.
Banyak sekali baris perintah pada GNU/Linux pada praktikum ini akan dipelajari beberapa yang sering dan sangat berguna jika kita mengoperasikan sistem GNU/Linux.
Syntax Perintah Linux
Secara umum perintah-perintah Linux dan UNIX memiliki sintaks sebagai berikut: Perintah [option...] [argumen ... ]
JAROJI, M. KOM
Keterangan :
- Option merupakan pilihan yang dapat kita gunakan untuk memberikan hasil tertentu dari suatu perintah.
- Argumen merupakan sesuatu yang akan diproses oleh perintah, misalnya nama file atau nama direktori.
- Tanda kurung siku ([ ]) merupakan simbol bahwa option dan argumen tidak harus selalu digunakan dalam menjalankan perintah.
- Tanda titik-titik (&) menandakan bahwa baik option maupun argumen dapat lebih dari
satu.
Note : Semua perintah dalam Linux bersifat case sensitive, artinya huruf besar dan kecil berbeda artinya. Jadi LS akan dianggap berbeda dengan ls.
III. Tugas Pendahuluan
1. Uraikan apa itu runlevel dan bagaiman mengoperasikan, tunjukkan seorang user berada pada suatu runlevel.
2. Jelaskan langkah-langkah dari boot dan start up proses.
IV. Petunjuk Praktikum
1. Login ke sistem GNU/Linux kemudian buka terminal.
2. Lakukan pelajari dan lakukan percobaan terhadap perintah-perintah berikut :
Login
Untuk masuk kedalam sistem linux, Anda harus melakukan proses login, yaitu dengan cara mema-sukkan nama user dan password.
Contoh.
praktikum-PC login: smuet
Password:
Last login: Rab Agu 27 23:00:32 WIT 2011 on console
Linux praktikum-PC 2.6.24-19-generic #1 SMP Fri Jul 11
23:41:49 UTC 2011 i686
The programs included with the Ubuntu sistem are free
software;
smuet@praktikum-PC:~$
Logout
Untuk keluar dari user yang sedang login, anda dapat mengetikkan perintah logout Contoh:
smuet@praktikum-PC:~$ logout
Virtual Terminal
Beberapa user dapat melakukan login pada sebuah PC atau seorang user dapat melakukan beberapa kali login yang sama pada sebuah PC. Hal ini dapat dilakukan dengan mengunakan terminal virtual. Untuk berganti terminal dugunakan tombol : Alt+Fx, x adalah nomor terminal.
Contoh : j ika saat ini anda berada pada mode teks dan pada terminal 1 (F 1), maka
untuk pindah ke terminal lainya, tekan tombol:
Alt+F2 : pindah ke terminal 2 Alt+F3 : pindah ke terminal 3 Alt+F4 : pindah ke terminal 4
JAROJI, M. KOM
Alt+F5 : pindah ke terminal 5 Alt+F6 : pindah ke terminal 6
Alt+F7 : pindah ke mode grafik. Pada mode teks, hal ini tidak dapat berfungsi kecuali mode grafik (X window) sudah diaktifkan.
Mengetahui Posisi Virtual Terminal
Untuk mengetahi posisi virtual terminal anda dapat menggunakan perintah tty. Contoh:
smuet@praktikum-PC:~$ tty
/dev/tty3
Ini berarti anda berada pada terminal 3.
Merestart Sistem
Untuk merestart sistem , anda dapat menggunakan perintah rebbot dan init 6 Contoh:
root@praktikum-PC:~# reboot
root@praktikum-PC:~# init 6
Mematikan Sistem
Untuk mematikan sistem anda dapat menggunakan perintah shutdown, halt, init 0 atau power off. Contoh:
root@praktikum-PC:~# shutdown
root@praktikum-PC:~# halt
root@praktikum-PC:~# init 0
root@praktikum-PC:~# power off
Membatalkan Perintah
Anda dapat membatalkan sebuah perintah yang anda berikan pada saat sistem sedang memproses-nya. Untuk membatalkan proses, tekan tombol Ctrl+c atau Ctrl+z.
Info
Membaca dokumentasi dari sebuah perintah. Format: info perintah-yang-diinginkan Contoh:
smuet@praktikum-PC:~$ info ls
note: Tidak semua distro menyediakan perintah info
Whatis
Digunakan untuk mendapatkan informasi dari perintah secara singkat.
Format: whatis perintah-yang-diinginkan
Contoh:
smuet@praktikum-PC:~$ whatis ls
note :Beberapa distro mengharuskan mengetikkan perintah makewhatis sebelum dijalankan, makewhathis berfungsi mengaktifkan database yang akan digunakan oleh whathis.
Apropos
Mencari informasi secara massal. Perintah ini berguna jika anda tidak tahu persis perintah yang dimaksudkan atau jika hanya mengetahui sebagian dari perintah.
Format: apropos perintah-yang-diinginkan
JAROJI, M. KOM
Contoh:
smuet@praktikum-PC:~$ apropos ls
Perintah ini akan menampilkan semua perintah yang mengandung kata huruf ls
Help Option
Yang dimaksudkan dengan help option adalah sebuah option yang dapat digunakan untuk menda-patkan informasi singkat dari sebuah perintah.
Format: perintah-yang-diingikan --help
Contoh;
smuet@praktikum-PC:~$
Informasi Sistem
Menampilkan informasi sistem. Sistem yang dimaksud adalah versi kernel yang digunakan, sistem operasi, platform dan lainnya. Perintah yang digunakan adalah uname
format: uname option
Contoh;
smuet@praktikum-PC:~$ uname -r ls --help
2.6.24-19-generic
Melengkapi Perintah
Command completion atau melengkapi perintah yang diketik adalah sebuah fitur yang disediakan sistem untuk memudahkan user dalam mengetikkan sebuah perintah. Dengan fitur ini user tidak perlu mengetikkan semua kalimat perintah, tetapi cukup mengetikkan beberapa huruf awal saja dari sebuah perintah lalu dengan menekan tombol tab maka sistem akan melengkapi perintah yang diinginkan.
Contoh:
smuet@praktikum-PC:~$ rm [tekn tombol tab]
rm rmic rmiregistry rmt
rmdir rmid rmmod rmt-tar
jika anda ingin menjalankan perintah rmdir, maka tambahkan huruf d pada perintah diatas menjadi:
smuet@praktikum-PC:~$ rmd [tekan tombol tab]
maka secara otomatis huruf rm akan dilengkapi.
Perintah yang telah dilakukan
Perintah-perintah yang pernah anda ketikkan sebelumnya masih dapat dilihat dan digunakan kembali. Untuk melihat perintah yang lalu, gunakan tombol panah atas atau bawah. Setelah anda menemukan perintah yang diinginkan, cukup tekan enter untuk menggunakannya. Secara default perintah yang tersimpan dalam history adalah 1000 perintah. untuk melihat history dari perintah, ketikkan perintah history
smuet@praktikum-PC:~$ history
Mencari Perintah yang telah dilakukan
Jika history dari perintah terlalu banyak, anda dapat mempercepat pencarian dengan menggunakan perintah : Ctrl+r
contoh:
smuet@praktikum-PC:~$ tekan Ctrl dan r, akan muncul :
(reverse-i-search)`#: ketikkan 2-3 karakter dari perintah yang dicari.
(reverse-i-search)`ad#: sudo wifi-radar kemudian tekan enter.
JAROJI, M. KOM
Menghapus Perintah yang telah dilakukan
History dari perintah dapat dihapus dengan menggunakan perintah history -c Contoh :
smuet@praktikum-PC:~$ history -c
Menggunakan Bantuan
Jika mengalami kesulitan menggunakan perintah yang ada, anda dapat memanfaatkan perintah-perintah bantu yang disediakan oleh linux membantu anda. Perintah yang dapat digunakan: man, info, whatis, apropos.
Menampilkan Tanggal
Untuk menampilkan tanggal gunakan perintah date atau cal date untuk menampilkan tanggal dan waktu sistem. format: date [option...]
Contoh:
smuet@praktikum-PC:~$ date
Kam Agu 28 09:31:30 WIT 2008
cal untuk menampilkan kalender
format : cal [option..]
Contoh :
smuet@praktikum-PC:~$ cal -y
Menampilkan Identitas Komputer
Identitas komputer yang dimaksud adalah nama komputer yang sedang digunakan. Perintahnya adalah hostname. format: hostname options
Contoh:
smuet@praktikum-PC:~$ hostname
praktikum-PC
Manajemen File dan Direktori
Menampilkan Direktori Aktif
Direktori aktif adalah letak direktori tempat anda bekerja saat ini. Misalnya jika saat ini anda berada pada direktori data, maka direktori data disebut direktori aktif. Sebenarnya, tanpa menggunakan sebuah perintah pun kita dapat mengetahui posisi direktori aktif. Contohnya, jika terminal anda menunjukkan seperti :
root@praktikum- PC:/home#
maka posisi direktori aktif berada pada direktori home. Tetapi, terkadang model tampilan terminal tidak seperti pada Contoh sehingga menyulitkan untuk mengetahui posisi direktori aktif. Untuk itu digunakan perintah pwd
format : pwd
Contoh:
root@praktikum-PC:~/Desktop# pwd
Melihat Isi Direktori
Anda dapat melihat isi dari direktori aktif atau isi direktori lain dengan menggunakan perintah ls. Format : ls
Contoh:
smuet@praktikum-PC:~$ ls
data Documents flieq~ NetBeansProjects Public Videos
Desktop Examples Music Pictures Templates
JAROJI, M. KOM
Membuat Direktori
Anda juga dapat membuat direktori agar memudahkan anda dalam mengatur file-file. Perintah yang digunakn adalah mkdir.
Format: mkdir [option..] nama-direktori-baru
Contoh:
smuet@praktikum-PC:~$ mkdir iso
Kita bisa menggunakan perintah berikut yang akan secara otomatis membuat semua direktori yang diperlukan dalam rangka membuat direktori data 1.
smuet@praktikum-PC:~$ mkdir -p /home/smuet/data/data1 note : secara default sebuah direktori ditandai dengan warna biru.
Berpindah Direktori
Dalam sistem linux banyak sekali terdapat direktori. Anda dapat berpindah-pindah ke direktori-direktori tersebut dengan menggunakn perintah cd.
Format: cd direktori-yang-dituju
Contoh:
smuet@praktikum-PC:~$ cd /boot/grub/
note: Perhatikan bahwa tanda / (slash) tidak selalu harus disertakan. Penggunaanya tanda / disesuai-kan dengan letak direktori
Menghapus Direktori
Direktori dapat dihapus dengan dengan menggunakan perintah rmdir format: rmdir option direktori-yang-akan-dihapus
Contoh:
smuet@praktikum-PC:~$ rmdir iso/
Jika dalam direktori yang dihapus terdapat file, maka akan terjadi kesalahan dengan pesan , #rmdir: failed to remove `iso`: Directory not empty #
untuk mengatasinya digunakan perintah rm -rf.
Membuat File
Anda dapat membuat sebuah file dengan perintah touch. File yang dihasilkan dengan perintah ini adalah file kosong yang tidak berisi apa-apa.
Format : touch option nama-file-baru
Contoh:
smuet@praktikum-PC:~$ touch fileQ
Mengcopy File
Jika diperlukan, anda dapat mengcopy sebuah file dengan menggunakan perintah cp. Format : cp option file-asli file-kopian
Contoh :
smuet@praktikum-PC:~$ cp fileQ fileQ_backup
Memindahkan File
Sebuah file dapat dipindahkan kedirektori lain jika diperlukan. Gunakan perintah mv. Format : mv option nama-file lokasi-baru
Contoh:
JAROJI, M. KOM
smuet@praktikum-PC:~$ mv fileQ iso/
Perintah tersebut akan memindahkan file yang bernama fileQ kedalam direktori iso. Anda juga dapat memindahkan sebuah fiel sekaligus memberikan nama baru pada file tersebut.
Contoh:
smuet@praktikum-PC:~$ mv fileQ iso/file3
Menghapus File
Untuk menghapus file digunakan perintah rm. Format : rm option nama-file
Contoh:
smuet@praktikum-PC:~$ rm iso/file3
Menampilkan Isi File
Isi sebuah file dapat dilihat dengan menggunakan perintah cat. Format : cat option file-yang-ingin-dilihat
Contoh:
smuet@praktikum-PC:~$ cat /boot/grub/menu.lst
File yang mudah ditampilkan adalah file bejenis teks. Jika anda mencoba menampilkan file biner, maka yang tampak adalah karakter-karakter yang sulit dipahami. Kita bisa membuat file teks baru dengan hanya menggunakan perintah cat dan melakukan redirect dari standard input (keyboard) ke file. Misalnya untuk membuat file data.txt, gunakan perintah sebagai berikut:
smuet@praktikum-PC:~$ cat > data.txt
ketikkan isi file di sini lalu akhiri dengan menekan tombol Ctrl dan D secara bersamaan Anda bisa menggabungkan isi beberapa file menjadi satu file. Misalnya anda beberapa memiliki file dengan nama data.txt & tutorial.txt. Anda ingin mengabungkan seluruh file tersebut pada sebuah file bernama ebook.txt, maka perintah yang digunakan ialah:
smuet@praktikum-PC:~$ cat data.txt tutorial.txt > ebook.txt
grep
Menampilkan semua baris yang mengandung pola yang diinginkan:
Contoh :
smuet@praktikum-PC:~$ grep basic ebook.txt
Perintah more dan less
more atau less digunakan untuk menampilkan isi sebuah file. Perbedaan more dan less adalah, more hanya dapat menampilkan secara perlayar dan tidak dapat melihat layar yang sudah ditmpilkan. Sedangkan less dapat menampilkan secara PageUp da PageDown.
Format : more option file
Contoh :
smuet@praktikum-PC:~$ more /boot/grub/menu.lst
#Lebih#(18%)
untuk melihat tampilan selanjutnya tekan tombol space (spasi). Format : less option file
Contoh:
smuet@praktikum-PC:~$ less /boot/grub/menu.lst
/boot/grub/menu.lst
JAROJI, M. KOM
untuk melihat tampilan selanjutnya tekan tombol: PageUp-PageDown atau PanahAtas-PanahBawah.
Mencari File
Sangat mungkin terjadi anda lupa dimana letak file yang dibutuhkan. Linux menyediakan beberapa perintah yang dapat digunakan untuk mencari file. Perintah yang akan dibahas adalah find, locate, which dan whereis.
Find
format : find lokasi-perkiraan nama-file [option...] Contoh:
smuet@praktikum-PC:~$ find /etc/apache2/ -name *.conf /etc/apache2/mods-enabled/negotiation. conf /etc/apache2/mods-enabled/setenvif.conf /etc/apache2/mods-enabled/mime.conf /etc/apache2/mods-enabled/alias.conf /etc/apache2/mods-enabled/dir.conf
/etc/apache2/mods-enabled/cgid.conf /etc/apache2/mods-enabled/autoindex.conf
perintah tersebut akan mencari semua nama file yang berjenis conf. Pencarian akan
dilakukan di direktori /etc/apache2/
Locate
format : locate [option..] nama-file
Contoh:
smuet@praktikum-PC:~$ locate fileq
/home/smuet/.icons/black-white_2-
Neon/scalable/actions/filequickprint.png /usr/share/icons/Tangerine/16016/actions/filequickprint.png /usr/share/icons/Tangerine/22022/actions/filequickprint.png /usr/share/icons/Tangerine/24024/actions/filequickprint.png /usr/share/icons/Tangerine/32032/actions/filequickprint.png
perintah tersebut akan mencari lokasi file yang bernama fileq. Jika ada pesan kesalahan itu akibat
dari database pencarian yang digunakan oleh locate belum diaktifkan. Untuk mengaktifkan database
tersebut digunakan perintah updatedb dan harus dijalankan melalui uer root.
Contoh:
root@praktikum-PC:~# updatedb
Which
which digunakan khusus untuk mengetahui letak file perintah. Jika anda mencari file biasa, maka which tidak akan menemukannya.
Format : which option nama-perintah
Contoh:
smuet@praktikum-PC:~$ which mkdir
/bin/mkdir
Whereis
Berfungsi sama seperti which. Tetapi hasil perintah whereis juga akan menapilkan letak manualnya. Tersedianya manual tergantung dari distro masing-masing, apakah disertakan atau tidak.
Format : whereis option nama-perintah
Contoh:
JAROJI, M. KOM
smuet@praktikum-PC:~$ whereis mkdir
mkdir: /bin/mkdir /usr/share/man/man1/mkdir.1.gz
Izin Akses File
Setiap file linux memiliki status izin akses file (file permission). Maksudnya setiap file memiliki informasi untuk mengatur siapa saja yang berhak untuk membaca, menjalankan atau mengubah file tersebut. Tujuannya adalah unuk menjaga privasi file, keamanan serta integritas sistem agar tidak terganggu.
Melihat izin akses file
Untuk mengetahui izin akses suatu file dapat digunakan perintah ls dengan option -l
Contoh :
smuet@praktikum-PC:~$ ls -l
-rw-r#r# 1 smuet smuet 206 2008-08-29 20:55 file2
-rwxrwxrwx 1 smuet smuet 73412 2008-08-09 16:11 Firewall.htm
drwxr-xr-x 2 smuet smuet 4096 2008-08-28 21:30 iso
drwxr-xr-x 6 smuet smuet 4096 2008-08-27 00:11 Music
-rwxrwxrwx 1 smuet smuet 1611767 2008-07-10 14:04 my files.odt
pada tampilan tersebut, terdapat 9 kolom. -rw-r-r- : ini adalah izin akses file
1 : link file
smuet : pemilik file
smuet : nama group pemilik file 206 : ukuran file
2008-08-29 : tanggal pembuatan file 20:55 : jam pembuatan/modifikasi file file2 : nama file
perizinan file dan direktori dibagi atas 3 macam akses, antara lain:
READ(r) membaca fiel atau direktori
WRITE(w) menulis dan menciptakan file atau direktori
EXECUTE(x) mengeksekusi file atau memasuki directori
Kepemilikan file dan direktori dibagi atas 3 macam kepemilikan, antara lain:
Owner (u) yaitu user tertentu
Group (g) yaitu group tertentu
Othera (o) yaitu owner atau group diatas
atau juga bisa digunakan singkatan a untuk mewakili ugo
Untuk izin akses file terdapat 10 digit karakte, yang dibagi menjadi tiga kelompok.
Pada Contoh diatas yaitu:
-rw-r#r#
1 karakter pertama (-), digunakan untuk menentukan tipe file. Tipe yang ada : - : file biasa
d : direktori
l : link
c : special file
s : socket
p : name piped
b : block device
3 karakter kedua (rw-), digunakan untuk izin akses file terhadap user pemilik file. 3 karakter ketiga (r-), digunakan untuk izin akses file terhadap group pemilik file. 3 karakter keempat (r-), difunakan untuk izin akses terhadap other (user dan group
JAROJI, M. KOM
yang lain).
Dengan demikian, pada Contoh diatas, file dengan nama file2 adalah file biasa, pemilik
file mempunyai izin akses read dan write, groupnya mempunyai izin akses read dan
other mempunyai izin read. Management file dan direktori 1. Hak akses file/direktori
Izin akses sebuah file dapat dirubah sesuai dengan kebutuhan. Untuk mengubahnya
digunakan perintah chmod.
Format : chmod [ugoa] [=+-] [rwx] file_atau_direktori atau
chmod [angka-perizinan] file-atau-direktori
keterangan:
u : user
g : group
o : other
a : all
= : set sebagai satu-satunya izin yang dimiliki
+ : penambahan izin
# : non-aktifkan suatu izin r : akses read
w : akses write
x : akses execute
Angka perizinan : owner-group-others dengan akses rwx-rwx-rwx, tiap akses dimisalkna dengan bit 1 jika diberi akses dan bit 0 bila tidak diberi akses lihat dulu izin akses file sebelun dirubah
smuet@praktikum-PC:~$ ls -l file2
-rw-r-r- 1 smuet smuet 206 2008-08-29 20:55 file2
Contoh 1:
bila owner diberi seluruh akser, group hanya baca, other tidak ada akses sama sekali, maka angka perizinannya : 1 1 1-100-000, biner = 7-4-0 desimal ditulis 740 smuet@praktikum-PC:~$ chmod 740 file2
kemudian lihatlah perubahan perizinan pada file dengan perintah ls- l nama-file
Contoh 2 :
smuet@praktikum-PC:~$ chmod ugoa+x file2
setelah mendapat izin akses execute, file secara default berubah menjadi hijau. Kepemilikan File dan Gruop
Untuk keamanan dan privasi, setiap file di linux memiliki identitas
kepemilikan(ownership). Dengan adanya identitas ini maka akan jelas siapa pemilik file tersebut.
Melihat Pemilik File dan Group
Untuk melihat kepemilikan suatu file dan group, gunakan perintah ls dengan option -l Contoh:
smuet@praktikum-PC:~$ ls -l file2
-rwxr-x-x 1 smuet smuet 206 2008-08-29 20:55 file2
Terlihat nama smuet yang pertama adalah pemilik file dan nama arie yang kedua
adalah nama groupnya. Secara default group saam seperti nama pemilik file.
Mengubah Pemilik File dan Direktori
Pemilik sebuah file atau direktori dapat diganti menjadi user yang lain. Untuk
mengganti digunakan perintah chown
format :chown option pemilik-baru nama-file/direktori
JAROJI, M. KOM
Contoh :
root@praktikum-PC:~# chown klas file2
lihat perubahannya,
root@praktikum-PC:~# ls -l file2
-rwxr-x-x 1 klas smuet 206 2008-08-29 20:55 file2
note : perintah chown harus dilakukan melalui root. User pengganti sudah harus ada dalam sistem.
Mengubah Pemilik Group
Untuk mengubah pemilik group digunakan perintah chgrp. Perintah ini harus dialkukan melalui root dan grouo pengganti sudah harus ada dalam sistem.
Format: chgrp option group-pengganti nama-file/direktori
Contoh :
root@praktikum-PC:~# chgrp klas file2
lihat kembali perubahannya.
root@praktikum-PC:~# ls -l file2
-rwxr-x#x 1 klas klas 206 2008-08-29 20:55 file2
Manajemen User
Anda dapat mengatur user yang akan bekerja dengan sistem linux. Beberapa pengaturan yang akan dibahas adalah:
Berganti User
Anda dapat berganti user yang sedang aktif menjadi user lain tanpa harus melakukan logout. Gunakan perintah su
format:
su options nama-user-pengganti
Contoh:
smuet@praktikum-PC:~$
su LAB2
password:
Membuat User
Untuk membuat user baru dapat digunakan perintah adduser atau useradd.
Perintah ini harus dijalankan melalui user root. Login atau bergantilah dari user biasa ke user root. Format
: useradd [option...]
nama-user-baru
: adduser [option...] nama-user-baru
Contoh:
root@praktikum-PC:~# adduser LAB2
Mengganti Password
Setelah membuat user baru, kita perlu membuat password. Gunakan perintah passwd. Perintah ini juga digunakan jika anda ingin menganti password yang sudah ada. Untuk mengganti password user lain, gunakan user root. Jika user ingin mengganti password nya sendiri, tidak diperlukan user root. Format:
passwd [option...] nama-user
Contoh:
JAROJI, M. KOM
root@praktikum-PC:~# adduser LAB2
Adding
user `LAB2`
MEnambah grup baru `LAB2` (100 1) &
Adding new user `LAB2' (100 1) with group `klas` &
The
home directory `/home/LAB2' already exists. Not copying from `/etc/skel`.
Kemudian masukkan password yang diinginkan.beberapa distro menghendaki minimal 6 karakter pasword. Tekan enter setelah mengisi.
Enter
new UNIX password: Retype
new UNIX password: passwd:
kata sandi diperbaharui dengan sukses
Menghapus User
User yang sudah dibuat juga dapat dihapus. Gunakan perintah userdel
Format
: userdel [option...] nama-user-yang-akan-dihapus
Contoh
smuet@praktikum-PC:~$ sudo userdel -r klas
Setiap kali user baru dibuat, secara default sistem akan membuatkan home direktori bagi user tersebut nama home direktori sama dengan nama usernya. Jika anda ingin menghapus user, maka disarankan home direktori juga ikut dihapus. Jika tidak dihapus, bisa menimbulkan kerancuan, “home direktorinya ada, tapi usernya tidak ada?” . Untuk menghapusnya home direktori secara otomatis, tambahkan option -r seperti pada Contoh.
Menampilkan User
who digunakan untuk menampilkan user yang login ke sistem.
Format
: who [option]& [file |arg1 arg ]
smuet@praktikum-PC:~$ who smuet tty7 2008-08-31 20:51 (:0)
smuet pts/0 2008-08-31 21:23 (:0.0) smuet pts/1 2008-08-31 21:23 (:0.0)
Kolom pertama menunjukkan nama user yang login, kolom kedua menunjukkan terminal line yang digunakan, kolom ketiga menunjukkan waktu login dan kolom keempat menunjukkan domain atau IP asal mereka koneksi, jika kosong berarti mereka main langsung dari console.
Membuat Group
Group yang dimaksud adalah kelompok user yang saling bergabung dan mempunyai ketentuan tersendiri di kelompoknya. Setiap kali user baru dibuat, secara default sistem akan membuat sebuah group yang namanya sama dengan nama user tersebut. Selain group yang dibuat secara default oleh sistem, kita juga bisa juga membuat group baru.
Perintah yang digunakan adalah groupadd
format:
groupadd [option...] nama-grup-baru
JAROJI, M. KOM
Contoh:
root@praktikum-PC:~# groupadd groupbaru
Menghapus Group
Group yang ada dapat dihapus. Gunakan perintah groupdel format:
groupdel
Contoh:
root@praktikum-PC:~# groupdel groupbaru
V. Tugas
1. Lakukan beberapa hal berikut:
a) extrak dan compres file dengan beberapa format kompresi (.tar,.zip,rar.,.gzip,.bz) dengan perintah tar
b) lakukan instalasi sebuah paket dalam berbagai format .tgz, .deb, .rpm
c) bagaimana caranya mematikan sistem setalah 5 menit?
d) seorang admin ingin pergi makan tapi sebelumnya dia harus mematikan sistem, tunjukkan cara mematikan sistem dengan menyertakan pesan.
e) apa yang akan anda lakukan untuk mendapatkan output seperti gambar 1.1
Gambar 1.1
f) Buatlah pesan selamat datang bagi user yang baru log in
g) Temukan informasi tentang partisi sistem anda
h) Konfigurasi Ip address pada sistem anda.
JAROJI, M. KOM
Praktikum II Shell Programing
I. Tujuan
1. memahami konsep shell programing
2. memahami jenis jenis variabel dalam shell
3. mampu menulis program dengan shell programing
4. Memahami konsep Shell interaktif
5. Mengetahui environment Shell
II. Dasar teori
Shell adalah sebuah bahasa penterjemah perintah (command interpreter language) atau sebuah prosesor makro yang menjalankan perintah. Shell juga dapat berarti interpreter pertintah yang menjadi antarmuka antara user dengan utilitas dan bahasa pemrograman. Dengan shell, dapat dibuat sebuah perintah atau file yang berisi perintah-perintah itu sndiri. Perintah baru tersebut mempunyai status yang sama dan di letakkan pada direktori /bin.
shell mengizinkan eksekusi perintah secara synchronously dan asynchronously. Shell menunggu perintah synchronous untuk dilengkapi sebelum menyetujui lebih banyak input, sedangkan perintah asynchronous terus berjalan dalam paralel dengan shell ketika membacanya dan menjalankan perinntah tambahan. Shell juga mengenal adanya redirection. Dengan redirector dapat dilakukan kontrol untuk intput dan output dari perintah yang ada dan juga melakukan kontrol terhadap isinya. Secara default, shell UNIX juga menyediakan perintah-perintah buil-in, seperti pwd, cd, kill, histroy, atau utilitas lain yang terpisah.
Sebagai interface dan command interpreter, shell dapat digunakan secara interaktif maupun noninteraktif. Dangan dua mode tersebut, shell mampu menerima input dari device (keyboard) atau file. Fitur interaktif yang termasuk di dalamnya adalah kontrol job, history, alias, dan editor command line.
Hal lain yang menjadikan shell sangat penting adalah shell menyediakan bahasa pemrograman yang telah disertakan(embeded). Sama halnya dengan bahasa pemrograman tingkat tinggi laennya, interpreter shell juga menyediakan variabel, flow control, quoting dan fungsi.
Macam-macam shell
pada UNIX/Linux terdapat berbagai macam shell dengan kelebihan dan kekurangan masing-masing. Dengan banyaknya variasi shell ini, user bebas memilih shell yang digunakan. Meskipun kebanyakan sistem operasi telah menentukan sebuah shell sebagai shell default, tetapi tidak menutup kemungkinan shell lain juga dapat dijalankan. Berikut ini beberapa macam shell yang umum terdapat dalam sistem operasi UNIX/Linux.
~ Bourne Shell (/bin/sh)
~ Bourne Again Shell(/bin/bash)
~ C Shell (/bin/csh)
~ Tenex C Shell (/bin/tcsh)
~ Tcl shell (/bin/tclsh)
~ Korn shell (shell /bin/ksh)
~ Public domain korn shell (/bin/pdksh) ~ A shell (/bin/ash)
~ Z shell (/bin/zsh)
Mengganti dan menjalankan Shell
Linux menggunakan bash sebagai shell default, tetapi pengguna bisa mengubah shell default untuk tiap usernya. Untuk melihat shell yang sedang digunakan oleh user bisa dilihat pada file
JAROJI, M. KOM
/etc/passwd.
root:x:0:0:root:/root:/bin/bash
daemon:x: 1: 1 :daemon:/usr/sbin:/bin/sh
Isi dari file tersebut tiap barisnya dibagi menjadi tujuh bagian, dan setiap terakhir digunakan untuk mendefinisikan shell yang digunakan. Dalam contoh di atas user root menggunakan shell Bash sedangkan daemon menggunakan shell bourne shell.
Cara lain yang bisa digunakan untuk melihat shell adalah dengan melihat environmet user dengan menjalankan perintah env. Environment user merupakan lingkungan user yang berisi semua variabel atau ketentuan khusu untuk user tersebut.
$env
SHELL=/bin/bash
Mengganti Shell
Ada beberapa cara yang dapat digunakan untuk mengubah shell default, yaitu dengan utilitas userconf, atau dapat juga dengan mengubah pada file /etc/passwd tersebut tetapi harus sebagai root. Contoh mengganti shell dengan utilitas chsh (change shell).
$chsh
Password:
Changing the login shell for praktikum
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /bin/sh
Menjalankan shell
sebuah shell dapat dijalankan tanpa harus mengubah default shell-nya. Cara yang digunakan adalah dengan memanggil nama shell pada command prompt. Misalnya, user akan menggunakan shell sh, user tinggal menjalankan shell sh, user tinggal menjalankan sh sehingga prompt akan berubah sesuai dengan promt Bourne shell.
Untuk keluar dan kembali ke shell default, ketik exit atau tekan Ctrl + d.
bash@praktikum:~$ sh
$
$ exit
Menjalankan script shell
Untuk menjalankan sebuah script shell, sebaiknya lebih dulu memahami penggunaan path absoluth dan path relatif. Ada dua cara yang digunakan untuk menjalankan sebuah shell script, yaitu
$bash hello.sh
./hello.sh
Untuk dapat menjalankan perintah di atas, file program harus dijalankan sebagai file executable. Untuk memberi atribut eksekusi tersebut, dapat digunakan perintah chmod.
$chmod +x hello.
VARIABEL
variabel adalah sebuah kata yang mempunyai nilai. Shell sebagai sebuah interpreter juga menyediakan fasilitas atau kemampuan yang memungkinkan user untuk membuat, mendefinisikan dan menghapus variabel. Sebuah variabel secara umum didefinisikan dengan sintaks berikut : Nama_variabel=isi variabel
JAROJI, M. KOM
Macam-macam Variabel
Ketika sebuah shell dijalankan, akan ada tiga macam variabel yang secara otomatis dipanggil. Variabel-variabel tersebut adalah :
variabel lokal
variabel lokal adalah variabel yang ada hanya pada saat masih aktif, dan hanya dikenal di lingkungan itu sendiri, sehingga variabel lokal hanya berlaku pada lingkungan dimana variabel tersebut dibuat.
contoh local variabel #!/bin/bash
HELLO=Hello function hello {
local HELLO=World
echo $HELLO
}
echo $HELLO hello
echo $HELLO
Variabel lingkungan
variabel lingkungan adalah variabel yang terdapat dalam shell dan digunakan dalam proses anak yang dijalankan oleh shell tersebut. Variabel lingkungan ini bisa berupa dari variabel lokal yang diekspor. Untuk mengganti variabel lingkungan digunakan perintah export. Contoh berikut adalah mengubah charset lokal menjadi lokal Indonesia.
$export LC_LOCAL=id_ID
Variabel shell
Variabel shell adalah variabel yang ditetapkan oleh shell dan digunakan oleh shell agar berjalan dengan baik. Sebenarnya, variabel ini bisa dimasukkan dalam kategori variabel lingkungan. Contoh variabel ini adalah variabel defaul dari bash, misalnya:
HOME, PWD, PS1 dan PS2.
Variabel Read-Only
Variabel read-only adalah variabel yang mempunyai atribut read-only, artinya variabel itu tidak bisa diganti nilainya. Bahkan sebuah variabel tidak bisa dihapus dengan perintah unset jika sebuah variabel diberi atribut read-only.
$nama=praktikum
$readonly nama
$nama=os
bash:nama:readonly variable
Quoting
Quoting adalah mekanisme untuk melindungi metakarakter dari interpretasi sebagai sebuah simbol. Shell juga mempunya beberapa karakter yang difungsikan untuk melindungi metakarkater agar tetap diinterpretasikan sebagai karakter biasa. Ada tiga karakter quoting dalam Shell, yaitu :
1. Backslash ( \ )
2. Petik tunggal ( ' )
3. Petik ganda ( “ )
Contoh quoting dalam Shell :
$ echo don\'t miss it
don't miss it
$ echo “don't miss it”
JAROJI, M. KOM
don't miss it
Keterangan :
1. Tanda \ menandakan katakter ' yang mengikuti bukan sebuah metakarakter
2. Pengunaan tanda petik double “ juga berfungsi melindungi interpretasi karakter ' sebagai metakarakter
Metakarakter Dalam Shell
Metakarakter adalah sebuah karakter yang memiliki arti tertentu. Dalam Shell juga dikenal beberapa metakarakter. Karena metakarakter juga ada dalam Shell maka yang perlu diperhatikan adalah kesalahan dalam penanganan sebuah karakter. Dalam sebuah kasus mencetak sebuah strin di layar monitor, terkadang terj adi kasus dimana dari salah satu karakter dalam string tersebut merupakan metakarater. Karena mengandung metakarakter maka Shell akan
menginterpretasikan string tersebut tidak seperti yang diharapkan.
Contoh kasus :
$ echo don't miss it 'enter'
Keterangan :
1. Tanda ' dinterpretasikan sebagai serangkaian string sehingga Shell akan menunggu sampai tanda ' berikutnya untuk berhenti dan kemudian menampilkannya.
Jika maksudnya adalah untuk mencetak string #don#t miss it# maka yang perlu diperhatikan adalah
$ echo don\'t miss it 'enter' don't miss it
Keterangan :
1. \ merupakan karakter yang meloloskan interpretasi tanda ' yang merupakan metakarakter dalam Shell.
2. Karakter \ dikenal dengan istilah quoting dalam Shell
Perintah Echo
Echo adalah perintah untuk menampilkan data yang ada pada argumen ke standard output (stdout), yang dalam hal ini stdout bisa merupakan layar monitor atau juga sebuah file.
Perintah Echo dalam Shell memiliki opsi-opsi untuk membentuk atau memberikan format pada data yang dikeluarkan. Sama halnya dengan pemrograman yang lain misalnya bahasa C. karakter yang digunakan untuk membentuk sebuah format dalam perintah echo biasa disebut “escape sequences character”. Contoh escape sequences character adalah \n yang memiliki arti ganti baris atau baris baru. Untuk bisa menggunakan escape sequences dalam Shell yang perlu diperhatikan adalah bahwa secara default shell tidak menerima escape sequence, namun untuk bisa menggunakannya perlu ditambahkan beberapa opsi yang ada dalam perintah Echo. Berikut tabel opsi dan escape sequence dalam perintah Echo.
Fungsi
Fungsi adalah skrip yang berisi kumpulan perintah yang berada diluar program utama. Fungsi biasanya berisi perintah-perintah dalam Shell. Tujuan dari adanya fungsi adalah untuk lebih mengefisiensikan pemangilan sekumpulan perintah yang berulang-ulang pada program yang dibuat. Di dalam Shell fungsi juga bisa didefinisikan interaktif maupun secara skrip program, dan meskipun didefinisikan secara interaktif, sebuah fungsi juga bisa dipanggil melalui skrip yang dibuat dalam sebuah file dengan catatan fungsi tersebut sudah di export. Setelah melalui mekanisme export ini
JAROJI, M. KOM
sub-shell juga bisa memanggil fungsi tersebut.
Bentuk umum dalam mendefinisikan fungsi dalam BASH Shell adalah sebagai berikut :
nama_fungsi () { command; command; }
function nama_fungsi { command; command; }
function nama_fungsi () { command; command; }
Array
Pada versi BASH 2.x terdapat fungsi untuk mendefinisikan array satu dimensi. Array memungkinkan seorang programmer mengkoleksi daftar beberapa nilai dalam sebuah variabel. Untuk mengektraksi kembali nilai-nilai tersebut dapat dilakukan dengan menyebutkan nama varibel yang diikuti oleh nomer indek array tersebut.
Pendefinisian sebuah array juga bisa dilakukan on the fly(tanpa mendefinisikan terlebih dahulu). Dan tidak ada batasan maksimum dari sebuah array yang dibuat dalam lingkungan BASH Shell. Pada saat sebuah nilai diberikan ke dalam sebuah array yang telah didefinisikan, indek array secara otomatis akan dimulai dari 0, dan bertambah naik 1 sampai semua kumpulan nilai-nilai dimasukkan.
III. Petunjuk praktikum
1. mulailah menuslis program dengen shell, misal “hello word”.
2. Cobalah sebagai latihan
Latihan 1
$ if grep “root” /etc/passwd
> then
> echo “disini ada user yang bernama root”
> else
> echo “user tersebut tidak ada”
> fi
Latihan 2
#!/bin/bash
echo “selamat datang $USER” echo “di shell programming”
Latihan 3
#!/bin/bash
echo “Shell yang digunakan adalah $SHELL” echo “saat ini jam `date +%T`”
echo “tanggal `date +%D`”
Latihan 4
#!/bin/bash
echo “hari ini tanggal `date +%d` bulan `date +%m` tahun `date +%y`”
echo “:D”
Latihan 5
#!/bin/bash
clear
echo “nama login anda $LOGNAME”
echo “saat ini anda berada di direktori `pwd`”
JAROJI, M. KOM
echo “waktu sekarang adalah `date +%T`” echo “selamat bekerja”
Latihan 6
#!/bin/bash
clear
echo “komputer anda telah menyala selama `uptime`” echo “jumlah user yang login sebanyak `who | wc -l` user” echo “anda login dengan user $LOGNAME”
echo “di shell $SHELL”
Latihan 7
#!/bin/bash
clear
data='date +%D'
jumlah=`who | wc -l`
echo “tanggal $data ada $jumlah user yang login”
Latihan 8
#!/bin/bash
user=andi
echo “hai $user i'm glad to meet you”
echo hai $user i\#m glad to meet you
echo “apakah kamu punya teman “special”?” echo “\”special\” ?? teman apa itu?”
echo “ya pokoknya “special””
Latihan 9
$ function cetak_selamat {
> echo “Selamat Datang”
> echo “Di Shell Programming” > }
$ cetak_selamat
Selamat Datang
Di Shell Programming
Latihan 10
$ function cetak_selamat () { > echo “Selamat Datang”
> echo “Di Shell Programming” > }
$ cetak_selamat
Selamat Datang
Di Shell Programming
Latihan 11
$ data=”halo ini bejo” $ sdata=${data#*lo} $ echo $sdata
$ tdata=${data%be*} $ echo $tdata
JAROJI, M. KOM
Latihan 12
#!/bin/bash
TITEL=”Membuat Fungsi Sistem Informasi $HOSTNAME” SAAT_INI=$(date+”%d %T %Z”)
UPD=”Sistem ini di update oleh $USER pada tanggal $SAAT_INI”
function info_uptime() {
echo “<h2>informasi uptime</h2>”
echo “<pre>”
uptime
echo “</pre>”
}
cat <<- EOF <HTML> <HEAD>
<TITLE>$TITEL</TITLE>
</HEAD> <BODY> <H 1>$TITEL</H 1>
<P>$UPD</P>
$(info_uptime)
</BODY> </HTML> EOF
Latihan 13
#!/bin/bash
let data1 data2 hasil
read --p “masukkan sebuah angka : “
data1=$REPLY
read --p “masukkan sebuah angka lagi : “
data2=$REPLY ((hasil=data 1-data2))
echo “hasil dari $data1 - $data2 adalah $hasil “
unset data1 data2 hasil
3. analisa kode berikut, apakah sudah benar jika belum benarkan while :
do
clear
echo " -------------------------------------- "
echo " Main Menu "
echo " -------------------------------------- "
echo "[1] Show Todays date/time"
echo "[2] Show files in current directory" echo "[3] Show calendar"
echo "[4] Start editor to write letters" echo "[5] Exit/Stop"
echo "=======================" echo -n "Enter your menu choice [ 1-5] : " read yourch
case $yourch in
JAROJI, M. KOM
1) echo "Today is date , press a key. . ." ; read ;;
2) echo "Files in pwd" ; la; echo "Press a key. . ." ; read ;;
3) cal ; echo "Press a key. . ." ; read ;;
4) vi ;;
5) exit 0 ;;
*) echo "Opps!!! Please select choice 1,2,3,4, or 5"; echo "Press a key. . ." ; read ;;
esac
done
IV. Tugas
1. Buat skrip untuk melihat aktifitas jaringan pada sistem anda.
2. Buat skrip untuk merubah input lowercase menjadi uppercase.
3. Cetak variable i = 1 to 20, dengan ketentuan 1.. 10 jalan pada baground sehingga outputnya :
11
12
13 14 15 16
17 18 19 20
1 2 3
4 5
6 7 8 9 10
4. Tuliskan sebuah program dan terdapat kontrol dimana yang bisa mengeksekusi program tersebut hanyalah 'root'.
5. Buat program yang mematikan dirinya sendiri.
6. Buat program yang menghapus file disebuah direktory jika file itu mengandung bad karakter (/[\
+\{\;\"\\\=\?~\(\)\<\>\&\*\|\$]/p` )
selamat mengerjakan
JAROJI, M. KOM
Praktikum 3 Process dan Thread
I. Tujauan
1. mengerti konsep proses dan thread
2. mempu membuat proses dan thread
3. mampu memanajemen proses
II. Dasar teori
proses
Proses adalah program yang sedang dieksekusi. Setiap kali menjalankan suatu program, Sistem UNIX melakukan suatu fork(), yaitu melakukan beberapa urutan operasi untuk membuat suatu proses konteks dan kemudian mengeksekusi program tersebut dalam konteks yang sudah dibuat. Setiap proses yang dijalankan akan memiliki PID (Process ID).
Kita dapat melihat proses yang sedang berjalan dengan perintah ps. Dengan fork() sistem call akan membuat proses baru yang identik dengan proses induk kecuali proses ID. Proses dicopy ke memory dari proses parent dan strukture proses baru ditangani oleh kernel. Lingkungan, resource limits, umask, controlling terminal, direktori tempat eksekusi, root direktori, signal mask, dan
resource proses lainnya digandakan dari proses induk oleh proses fork.
Thread
operasi thread meleiputi pembuatan thread, penghentian, sikronisasi, penjadwalan, managemen, dan pengulangan proses.
Thread tidak mengatur pembuatan thread lain, atau mengetahui sebuah thread laen telah dibuat.
semua thread dengan sebuah proses saling berbagi pakai address space.
Thread pada satu proses yang sama saling berbagi pakai:
- Process instructions
- Most data
- open files (descriptors)
- signals and signal handlers
- current working directory
- User and group id
~setiap thread merupakan unik
- Thread ID
- set of registers, stack pointer
- stack for local variables, return addresses
- signal mask
- priority
- Return value: errno
fungsi pthread memberikan nilai #0# jika OK
contoh membuat dan mengahiri thread #include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *print_message_function( void *ptr ); main()
{
pthread_t thread1, thread2;
char *message1 = "Thread 1";
JAROJI, M. KOM
char *message2 = "Thread 2";
int iret1, iret2;
/* Create independent threads each of which will execute function */
iret1 = pthread_create( &thread1, NULL, print_message_function, (void*) message1);
iret2 = pthread_create( &thread2, NULL, print _message _ function, (void*) message2);
/* Wait till threads are complete before main continues. Unless we */
/* wait we run the risk of executing an exit which will terminate */
/* the process and all threads before the threads have completed. */
pthreadjoin( thread1, NULL);
pthreadjoin( thread2, NULL);
printf("Thread 1 returns: %d\n",iret1); printf("Thread 2 returns: %d\n",iret2); exit(0);
}
void *print_message_function( void *ptr ) {
char *message;
message = (char *) ptr;
printf("%s \n", message);
}
III. Petunjuk praktikum
1. latihan
a) Untuk mengetahui berapa jumlah memory yang tersisa dan yang terpakai. Gunakan perintah : 'free --okt'. Perintah tersebut akan menampilkan jumlah byte tentang memory
b) Top juga menampilkan informasi memory secara kontinu. Untuk menggunakannya ketik: 'top'
c) Menggunakan perintah 'at', Perintah at memungkinkan kita untuk mengantrikan eksekusi suatu perintah pada waktu tertentu. Sebagai contoh, untuk membentuk pekerjaan pada jam 2:30 a.m. Untuk menuliskan shcedule pekerjaan dengan 'at'. yakni dengan menulis perintah baris demi baris dan menekan enter untuk masing-masing perintah dan untuk mengakhiri dapat digunakan <CTRL + D>. Ikuti langkah berikut:
~ Ketik : $ date
~ Ketik : $ at <waktu yang mendekati waktu saat ini> misal : $ at 17:15
~ Akan muncul prompt 'at'
~ Ketikkan : $ dmesg > simpanan
~ Tekan ENTER kemudian CTRL+D
~ Lihatlah daftar antrian dengan mengetikkan : $at #l
~ Apabila ada proses yang ingin dibatalkan, bisa dilakukan dengan cara mengetikkan : $ at --d nomorjobid, misal : $at --d 12
d) Untuk mengetahui sebelumnya apakah ada program yang sedang berjalan atau tidak, ketik: $ jobs Atau untuk melihat proses ID '$ jobs --p' Atau untuk melihat PID dan apa yang sedang dilakukan '$ jobs --l'
JAROJI, M. KOM
'fg'. Ketik : '$ fg % nomorPIDpadajobs'
Atau untuk proses terakhir yang diproses cukup mengetik '$ fg' . Sekarang kita akan mencoba menjalankan proses di background atau dalam kondisi suspend. Kita akan membuat sebuah script shell yang bertujuan berjalan terus-menerus dan diletakkan di proses background. Buat file dengan nama bgproses.sh di direktori /bin.
Ketik:
#! /bin/sh
i=0
while [ true ];
do
i=$(($i+1))
done
echo $i
Ubah hak aksesnya agar bisa dieksekusi. Ketik: '$ chmod +x makebgNPM.sh'
Jalankan script yang dibuat. Ketik: '$ makebgNPM.sh' Tekan CTRL+Z untuk melakukan suspend pada proses yang sedang berjalan.
Ketik perintah : '$ ps' Apakah ada proses makebgNPM.sh? berapa PID-nya? Karena sedang disuspend, maka makebgNPM.sh dalam kondisi stopped.
Untuk menjalankan kembali proses makebgNPM.sh, Ketik :
'$ bg % nomorPIDpadajobs'
Lihat menggunakan jobs, apakah makebgNPM.sh telah berjalan kembali. Untuk mematikan secara permanen proses yang sedang berjalan. Kita bisa menggunakan perintah kill. Caranya:
'$ kill -9 <NoPIDmakebgNPM.sh>'
2. cobalah program berikut
#include <stdio.h> /* printf, stderr, fprintf */ #include <unistd.h> /* _exit, fork */
#include <stdlib.h> /* exit */
#include <errno.h> /* errno */
int main(void) {
pid_t pid;
/* Output from both the child and the parent process
* will be written to the standard output,
* as they both run at the same time.
*/
pid = fork(); if (pid == 0) {
/* Child process:
* When fork() returns 0, we are in
* the child process.
* Here we count up to ten, one each second.
*/
int j;
for (j = 0; j < 10; j++)
{
printf("child: %d\n", j);
JAROJI, M. KOM
sleep(1);
}
_exit(0); /* Note that we do not use exit() */
}
else if (pid > 0)
{
/* Parent process:
* When fork() returns a positive number, we are in
the parent process
* (the fork return value is the PID of the newly- created child process).
* Again we count up to ten.
*/
int i;
for (i = 0; i < 10; i++)
{
printf("parent: %d\n", i);
sleep(1);
} exit(0);
}
else
{
/* Error:
* When fork() returns a negative number, an error happened
* (for example, number of processes reached the limit
).
*/
fprintf(stderr, "can't fork, error %d\n", errno); exit(EXIT_FAILURE);
}
}
IV. Tugas
1. Pahamilah contoh kode hello.c sederhana berikut, #include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#define NUM THREADS 5
_
void *PrintHello(void *threadid)
{
long tid;
tid = (long)threadid;
printf("Hello World! It's me, thread #%ld!\n", tid); pthread_exit(NULL);
}
int main(int argc, char *argv[])
{
pthread_t threads[NUM_THREADS];
JAROJI, M. KOM
int rc;
long t;
for(t=0;t<NUM_THREADS;t++) {
printf("In main: creating thread %ld\n", t);
rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t); if (rc) {
printf("ERROR; return code from pthread_create() is %d\n", rc); exit(-1);
}
}
/* Last thing that main() should do */ pthread_exit(NULL);
}
kemudian eksekusi juga dengan beberapa opsi berikut, tuliskan apa yang terjadi.
icc -pthread -o hello hello.c pathcc -pthread -o hello hello.c pgcc -lpthread -o hello hello.c gcc -pthread -o hello hello.c
2. buat sebuah program yang menunjukkan pembuatan dan termination sebuah thread.
3. buat program satu ekseskusi 100 proses/100 thread.
4. Buatlah sebuah daemon pada waktu tertentu menampilkan pesan “hello”.
selamat mengerjakan
JAROJI, M. KOM
Praktikum 4 Modules Kernel dan sistem call
I. Tujuan
1. Praktikan mengerti kinerja sebuah kernel
2. Praktikan mampu membuat module kernel
3. Praktikan memahami perbedaan module dengan program
4. Praktikan mengerti kinerja sebuah sistem call
II. Dasar teori
Kernel adalah bagian dari sistem yang menangani hardware, mengalokasi sumber daya seperti memory dan CPU, dan yang bertanggung jawab menangani file sistem dan komunikasi jaringan. Kernel module adalah sebuah kode yang dapat disisipkan dan di lepas dari sebuah kernel sesuai keinginan. ketika module di load pada sebuah kernel dapat langsung berfungsi tanpa mereboot sistem. contohnya module untuk sebuah driver, yang mengijinkan sebuah kernel untuk mengakses ke hardware yang tersambung ke sistem. Tanpa menggunakan modules, Untuk membangun sebuah monolithic kernel dengan cara menambahkan functionality, fitur pada kernel image. Disampin ukurannya kernel yang besar untuk mengaktifkan suatu fitur perlu merebook kernel.
Modules yang sudah ada dalam kernel dapat di lihat dengan perintah 'lsmod'. Lsmod adalah perintah yang membaca informasi darii /proc/modules. Sebuah modules yang akan dipasang pada kernel di tangani oleh daemon kmod dengan mengeksekusi modprobe. Modprobe modprobe melewati sebuah string dalam salah satu dari dua bentuk:
" Sebuah nama modul seperti softdog atau ppp.
" seperti char-major-10-30.
Jika modprobe di kenali sebagai generik identifier, terlebih dahulu mencari yang string
dalam file. /etc/modprobe.conf alias char-major-10-30 softdog identifier generik mengacu pada softdog.ko modul.
Kemudian modprobe melihat ke /lib/modules/version/modules.dep, untuk melihat apakah ada modules lain yang harus di load sebelum modules yang di minta diload. File ini dihasilkan oleh depmod -a dan berisi dependensis modules. Contoh msdos.ko memerlukan fat.ko yang perlu di load terlebih dahulu ke dalam kernel. Modules yang di minta memiliki dependensi pada modules yang lain jika terdapat symbol atau variabel yang di butuhkan dan terdapat pada modules lain terakhir, modprobe menggunakan ismod untuk meload prasyarat lainnya pada kernel, kemudia baru meluad modules yang di maksud. Modprobe mengarahkan ismod ke /lib/modules/version/, standart modules direktori.
insmod dimaksudkan mengetahui lokasi modul, sedangkan modprobe secara default mengetahui lokasi modul, tahu bagaimana untuk mengetahui dependensi dan memuat modul dengan urutan yang benar. Jika Anda ingin memuat modul msdos, jalankan terlebih dahulu:
insmod /lib/modules/2.6.11/kernel/fs/fat/fat.ko
insmod /lib/modules/2.6.11/kernel/fs/msdos/msdos.ko atau Modprobe msdos
Insmod membutuhkan full path dan memeasukan modules pada sebelah kanan. Sedangkan modprobe hanya perlu nama tanpa perlu extensio dan di parsing oleh /lib/modules/version/module s. dep.
Distribusi linux menyediakan modprobe, ismod, dan depmod sebagai paket yang dipanggil module-init-tools. Pada versi sebelumnya paket ini di panggil modutils. Beberapa distro juga mengeset wrappers yang mengijinkan kedua package untuk di install secara paralel dan cara yang benar sesuai dengan kernel 2.4 dan 2.6. user tidak perlu memikirkan secara detail bagaimana kinerja paket tersebut selama menjalankan versi terbaru dari tool tersebut.
JAROJI, M. KOM
Contoh modules sederhana :
/*
* hello-1.c - The simplest kernel module.
*/
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
int init_module(void)
{
printk(KERN_INFO "Hello world 1 .\n");
/*
* A non 0 return means init_module failed; module can't be
loaded.
*/
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1 .\n");
}
Modul Kernel harus memiliki minimal dua fungsi: sebuah "start" (inisialisasi) fungsi bernama init_module (), yang disebut ketika modul tersebut insmoded ke dalam kernel, dan "end" (cleanup) disebut fungsi cleanup_module () yang sebelum disebut rmmoded.
Kompile kernel modules mengkompile kernel modules berbeda dengan mengkompile program user lainnya. Dengan menggunakan makefiles dan kbuild. Jika mengkompile modules tetapi tidak
sesuai dengan official kernel buka file, Linux/Documentation/kbuild/modules.txt
obj-m += hello-1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
kemudian kompile dengan perintah : make
periksa informasi dengan perintah modinfo
# modinfo hello-1.ko
sistem call
Tugas sistem operasi adalah membentuk komunikasi antara user dan hardware. Komunikasi tersebut terjadi dalam bentuk sistem call. Melalui sebuah shell sistem operasi akan menangkap perintah dari user dan dikomunikasikan melalui sistem calls. Peran sistem operasi adalah menjadi jembatan user dan hardware. Untuk shell sudah dipelajari pada bab selanjutnya.
Note : perhatikan versi kernel anda
III. Petunjuk praktikum
1. Cobalah modules hello-2.c berikut dan coba kompile.
/*
* hello-2.c - Demonstrating the module _init() and module_exit() macros. * This is preferred over using init_module() and cleanup_module().
JAROJI, M. KOM
*/
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
#include <linux/init.h> /* Needed for the macros */
static int __init hello_2_init(void)
{
printk(KERN_INFO "Hello, world 2\n");
return 0;
}
static void __exit hello_2_exit(void)
{
printk(KERN_INFO "Goodbye, world 2\n");
} module_init(hello_2_init);
module_exit(hello_2_exit);
IV. Tugas
1. Jelaskan tentang Modules Vs Program.
2. Buat kostum kernel spesifik fungsi/tujuan dari sistem operasi.
3. Buat hello word module dengan beberapa karakteristik.
Tampilkan pesan ketika module akan loading (<<Hello World! !>>) dan ketika unloading module menampilkan pesan (<<Goodbye>>)
4. Buatlah sebuah sistem call dan kemudian tambahkan kedalam kernel.
Selamat mengerjakan
JAROJI, M. KOM
Praktikum 5 LFS
I. Tujuan
1. Praktikan mengerti pembuatan sebuah sistem operasi.
2. Praktikan mampu membuat sistem operasi linux sendiri.
II.Dasar Teori
LFS adalah sebuah metode yang menyediakan instruksi langkah demi langkah untuk membangun sistem linux anda sendiri yang dimulai dari sebuah kode sumber.
Dewasa ini banyak sekali distribusi linux yang siap download dan pakai, akan tetapi ada beberapa keuntungan dari LFS.
LFS memengajarkan bagaimana sebuah sistem linux bekerja secara inernal
Membangun sistem secara LFS mengajarkan anda apa saja yang membuat linux bekerja, bagaimana sesuatu berkerja bersama dan saling bergantung satu sama lain. Dan yang paling penting bagaimana membuat sistem sesuai dengan selera dan kebutuhan anda.
Dengan LFS bisa dibangun sebuah sistem yang simple
Ketika menginstall regular distribusi, pasti banyak program yang terinstal dan mungkin tidak pernah dipakai. Program tersebut lebih tepatnya menghabiskan space hardisk. Hal seperti ini tidak akan terjadi pada LFS, bahkan bisa membuat sistem hanya dengan 100 MB. LFS sangat berguna jika digunakan untuk membuat sebuah embedded LFS sistem. Misalnya yang dibutuhkan hanya web server apache yang berjalan pada sistem, seharusnya hanya perlu 8 MB dari space hardisk. Bagaimana dengan regular distribusi yang berjalan apache web server?.
LFS begitu fleksible
Bisa digambarkan seperti membangun sebuah rumah, apa saja fasilitas dan tata letak bisa dibuat seuasai dengan keinginan.
LFS menawarkan segi keamanan
Dengan LFS sebuah sistem dibangun dari sumber, dan semuanya dibawah kontrol sendiri sehingga audit bisa dilakukan. Dengan LFS pula dapat melakukan patch security sendiri tanpa perlu menunggu orang lain untuk melakukakannya seperti yang ada pada regular distribusi.
II . Tugas
1. Buatlah sebuah sistem operasi Linux dengan cara LFS.
Panduan dapat diperoleh dari http://tldp.org/LDP/lfs/LFS-BOOK-6.1.1.pdf
2. Uji sistem yang ada buat pada mesin virtual.
3. Bakar sistem operasi yang anda buat ke cakram pengaya kemudian instal pada sebuah mesin.
note : perhatikan versi kenel anda

Tuesday 17 November 2015

proposal perternakan ayam kampung



1.      LATAR BELAKANG
Ayam kampung atau ayam buras sudah banyak dikenal oleh masyarakat dan banyak dibudidayakan di pedesaan. Karena perawatannya tergolong mudah, daya tahan hidupnya cukup tinggi, adaptasi dengan lingkungan dan makanan mudah serta banyak digemari masyarakat karena baik daging maupun telurnya memiliki cita rasa yang lebih disukai dibandingkan ayam ras. Secara umum, ayam kampung masih banyak dipelihara secara ekstensif-tradisional atau umbaran walaupun sudah ada beberapa peternak yang membudidayakannya secara intensif, namun jumlahnya masih sedikit.

trik Jitu membuat inner join pada sql server

hai sahabat tercinta gimana kabar nya semoga sehat selalu ea,,,
oke sobat yang selalu cantik dan ganteng kali ini saya akan melanjutkan cara membuat inner join pda sql server dengan data base yang telah saya shere sebelumnya,,,,
terkadang kita selalu mengalami kesusahan dalam menginer join kan antara satu tabel dengan tabel yang lain.karna pada kenyataannnya saya juga mengalaminya beberapa waktu lalu.
sedangkan tutorial yang ada diinternet sangat lah sedikit .



--Query Join-->
-- 1. Menampilkan inner join antara dokter dan medis--
SELECT *from Medis inner join Dokter on Medis.Kd_Dokter=Dokter.Kd_Dokter

-- 2.Menampilkan inner join antara Regestrasi dengan Resep--
SELECT *from Registrasi inner join Resep on Registrasi.Id_Restribusi=Resep.Id_Retribusi

-- 3. Menampilkan inner join antara Pasien dan Rekaman medis--
SELECT *from Pasien inner join Medis on Pasien.Id_Pasien=Medis.Id_Pasien

--4. Menampilkan nama pasien, tgl Priksa pasien, Diagnosa penyakit dan metode pengobatan menggunakan left join--
SELECT P.Nama_Pasien,M.Tgl_Periksa,M.Diagnosa,M.Pengobatan from Pasien P left join Medis M on P.Id_Pasien=M.Id_Pasien

--5. Menampilkan tgl regestrasi ,kode dokter,diagnosa penyakit,dan pengobatan menggunaka left join--
SELECT R.Tgl_Registrasi,M.Kd_Dokter,M.Diagnosa,M.Pengobatan from Registrasi R left join Medis M on R.Id_Restribusi=M.Id_Restribusi

--6. Menampilkan tgl regestrasi,kode obat,jumlah obat dan aturan pakai --
SELECT R.Tgl_Registrasi,M.Kd_Obat,M.Jumlah_Obat,M.Aturan_Pakai from Registrasi R left join Resep M on R.Id_Restribusi=M.Id_Retribusi

--7. Menampilkan nama obat,tgl kaduarsa,jumlah obat dan aturan pakai--
SELECT O.Nama_Obat,O.Tgl_Kadaluarsa,R.Jumlah_Obat,R.Aturan_Pakai from Resep R left join Obat O on R.Kd_Obat=O.Kd_Obat

--8. Menampilkan nama pasien,tgl priksa,diagnosa penyakit,dan penggobatan dengan full join
SELECT p.nama,m.tgl_priksa,m.diagnosa,m.pengobatan from pasien p full join medis m on p.id_pasien=m.id_pasien

--9. Menampilkan nama obat,tgl kaduarsa,jumlah obat dan aturan pakai dengan full join--
SELECT o.nama,o.tgl_kaduarsa,r.jumlah_obat,r.aturan_pakai from resep r full join obat o  on r.kd_obat=o.kd_obat

 --10. Menampilkan id pasien,pengobatan,nama dokter dan spesialis dokter--
SELECT m.id_pasien,m.pengobatan,d.nama,d.spesialis from medis m full join dokter d  on m.kd_dokter=d.kd_dokter

langkah jitu buat data base beserta table dan isi pada sql server

                  hai sahabat kali ini saya akan share bagaimana membuat data base beserta table nya dengan menggunakan sql server management studio,,,

Tabel membentuk struktur database MySQL Anda. Tabel berisi informasi yang dimasukkan ke dalam database, dan biasanya bisa dibuat sesuai dengan penyimpanan data apa pun yang dibutuhkan. Membuat tabel hanya membutuhkan waktu beberapa menit, terutama jika Anda hanya memiliki beberapa entri yang berbeda untuk disimpan. Lihat Langkah 1 di bawah ini untuk memulainya.
          sebenarnya saya mendapat tugas kuliah membuat sebuah aplikasi yang menggunakan sql server .jadi saya mengangkat tema tentang aplikasi rekam medis.berikut adalah coding yang digunakan untuk membuat tabel dan cara mengisinya


 create database rekap_medis

create table Pasien
(Id_Pasien varchar(20) primary key,
Id_Regestrasi varchar(20),
Nama_Pasien varchar(30),
Agama varchar(2) constraint ck_agama check (agama in ('I','P','K','B','H','LL')),
Jenis_Kelamin varchar(2)constraint ck_jenis_kelamin check (jenis_kelamin in ('l','p')),
Pekerjaan varchar(30),
Umur varchar(20),
Alamat varchar(30),
Keterangan varchar(50)
);

drop table pasien //untuk menghapus tabel

select * from Pasien;//untuk melihat tabel yang telah dibuat
insert into pasien
values ('001','A01','Wulan','K','P','Guru','30','Jl.Mawar No 11','Pasien Rawat Jalan'),
('002','A02','Frengky','K','L','Buruh','30','Jl.Rambutan No 91','Pasien Rawat Inap'),
('003','A03','Suhendra','B','L','Wiraswasta','28','Jl.Luak No 04','Pasien Rawat Jalan');

create table Registrasi
(Id_Registrasi varchar(30) primary key,
Tgl_Registrasi varchar (20),
Id_Restribusi varchar (20),
Id_pasien varchar (20),
Statuss varchar (30),
);




drop table regestrasi  //untuk menghapus tabel

Select * from Registrasi;//untuk melihat tabel yang telah dibuat

insert into Registrasi
values ('A02','20/06/2013','1234','002','Pasien Lama'),
('A01','07/01/2014','1235','001','Pasien Lama'),
('A03','20/08/2015','1236','003','Pasien Baru');

create table Medis
(Id_Periksa varchar (20) primary key,
Id_Restribusi varchar (30),
Id_Pasien varchar(10),
Tgl_Periksa date,
Kd_Dokter varchar(20),
Diagnosa varchar(30),
Pengobatan varchar(30),
Keterangan varchar(40)
);

select * from Medis
insert into Medis
values ('AB120','1234','001','8-20-2013','DR0980','Penyakit Kanker Otak','Operasi dan Rawat Jalan','Saat Ini Menjalani Rawat Jalan'),
('AB121','1235','002','7-20-2015','DR0982','Penyakit DBD','Rawat Inap','Saat Ini Menjalani Rawat Inap'),
('AB122','1236','003','6-20-2013','DR0981','Penyakit Rematik','Rawat Jalan','Saat Ini Menjalani Rawat Jalan');


create table Dokter
(Kd_Dokter varchar (20) primary key,
Nama_Dokter varchar (30),
Spesialis varchar(30)
);

Select * from Dokter;
insert into Dokter
values ('DR0980','DR.Yeyen','Ahli Bedah'),('DR0981','DR.Recky Chairunas','Spesialis Tulang'),
('DR0982','DR.Choriah Elsa','Spesialis Penyakit Dalam');

create table Resep
(Id_Resep varchar(20) primary key,
Tgl_Resep date,
Id_Retribusi varchar(10),
Status_Resep varchar(20),
Kd_Obat varchar(30),
Jumlah_Obat varchar(10),
Dosis varchar(10),
Aturan_Pakai varchar(20)
);

Select * from Resep
insert into Resep
values ('RS011','5/20/2013','1234','Ada','OB1231','10 Tablet','Sedang','3 x 1 Sehari'),
('RS012','7/20/2015','1235','Ada','OB1232','4 Kapsul','Sedang','2 x 1 Sehari'),
('RS0123','6/20/2013','1236','Ada','OBO1233','6 Kapsul','Sedang','3 x 1 Sehari');

create table Obat
(Kd_Obat varchar(10) primary key,
Nama_Obat varchar (30),
Satuan varchar (10),
Stock varchar(10),
Tgl_Kadaluarsa date
);

select * from Obat
insert into Obat
values ('O1233','Sanmol','Kapsul','200','12/12/2020'),
('OB1232','Paracetamec','Kapsul','300','12/12/2017'),
('OB1231','Paracetamol','Tablet','100','12/12/2018')


membuat menu program dengan java

hai sobat tercinta kali ini saya akan shere tentang membuat menu perogram dengan java ,sesuai dengan materi yang saya dapatkan di bangku kuliah ini....




koding bilangan aritmatika pada java

hai sahabat kali ini saya akan share tentang bagaimana membuat bilangan aritmaika pada java dengan looping.
         tapi sebelm kita kekoding membuat bilangan aritmatika saya akan mengenalkan ke apa itu aritmatika.ini sedikit ulasan tentang bilangan aritmatika.

         Baris dan deret Aritmatika adalah suatu barisan atau deret bilangan yang memiliki nilai selisih yang sama antara suku pertama dengan suku kedua, suku kedua dengan suku ketiga dan seterusnya.
Baris dan deret aritmatika dapat dinyatakan dengan pola sebagai berikut :
a, a+b, a+2b, a+3b, a+ 4b,……, a+nb.
contoh baris aritmatika : 1, 2, 3, 4, 5, 6,…
1, 3, 5, 7, 9, 11,…
  • Rumus-rumus dalam baris aritmatika.
a. Rumus suku ke-n : Un = a + ( n – 1 ) b
b. Rumus jumlah suku ke-n : Sn = ½ n ( a + Un ) atau Sn = ½ n [ 2a + ( n – 1 ) b ]
c. Rumus suku tengah : Ut = ( a + Un ) ½
2. Baris dan Deret Geometri.
  • Pengertian
Baris dan deret Geometri adalah barisan yang perbandingan diantara dua suku yang berurutan tetap.
Baris dan deret geometri dapat dinyatakan dengan pola berikut :
a, ab, ab², ab³,…
contoh baris geometri : 1, 3, 9, 27,….
2, 4, 8, 16, 32,….
  • Rumus-rumus dalam baris geometri.
a. Rumus suku ke-n :

b. Rumus jumlah suku ke-n :




untuk koding java menentukan bilangan aritmatika .ini dia sahabat semua.semoga bermanfaat






Sunday 15 November 2015

menampilkan Bilangan prima pada java

Untuk postingan kali ini penulis akan coba share koding untuk menampilkan bilangan prima pada java .tapi sebelum nya akan menjelaskan sedikit tentang bilangan prima sebagai referensi untuk teman teman supaya lebih mengetahiau bilangan prima lebih dalam. pengertian bilangan prima dan bilangan prima 1 sampai 100 yang mungkin berguna buat adik-adik yang sedang mencari informasi mengenai bilangan prima, definisi bilangan prima itu sendiri bisa di artikan secara umum bilangan prima adalah bilangan asli yang lebih besar dari satu (1) dimana pembagiannya ialah bilangan 1 dan bilangan itu sendiri, dalam artian jika bilangan tersebut masih bisa dibagi dengan selain bilangan 1 dan bilangan itu sendiri maka itu bukan termasuk bilangan prima. Contoh sebut saja bilangan 6 bukan termasuk bilangan prima karena bilangan 6 masih bisa dibagi dengan 2 atau 3, maka dari itu 6 bukan termasuk bilangan prima. 
Yang termasuk bilangan prima kurang dari 20 ialah (2, 3, 5, 7, 11, 13, 17, 19), sedangkan untuk bilangan prima 1 sampai 100 ialah (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97) atau 25bilangan, dan perlu anda ketahui sifat bilangan prima tidak terhingga, jadi tidak ada bilangan prima terbesar dalam ilmu matematika.


saya akan memberikan source code untuk ..source code kali ini langsung ke public class ya...


Wednesday 11 November 2015

Kasus switch – case "pilih hari"


hai sobat kali ini saya akan memberikan source code untuk switch case untuk pemilihan hari..source code kali ini langsung ke public class ya....

contoh kasus if else untuk pilihan bilangan


public class modul3_d {
 public static void main(String []args){

contoh kasus if else "pilihan umur"

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package praktikum;

/**
 *
 * @author asus
 */
public class modul3_c {
 public static void main(String []args){
    int umur = 19;
    if (umur <=25)
    {
        System.out.println ("usia saya = "+umur);
        System.out.println ("Anda masih Muda");
    }
    if (umur >25)
    {
        System.out.println ("usia saya = "+umur);
        System.out.println("Anda sudah Tua");
    }
}
}

contoh kasus if untuk bilangan positif & negatif

public class modul3_b {
    public static void main(String []args){
        int num=-4;
        System.out.println ("masukkan bil anda = " +num);
        if (num>=0)
        {
            System.out.println (num+"\tbil positif" );}
        if(num<=0)
        {
            System.out.println(num+"\tbil negatif");
        }
    }
      

contoh Kasus IF pada java

hai sobat kali ini saya akan menampilkan salah satu penggunaan if pada java


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package praktikum;

/**
 *
 * @author asus
 */
public class Praktikum {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int a=10,b=9;
        if (a>b)
        {
            System.out.println("nilai 10>9 adalah benar");
        }
    }
}

Monday 6 July 2015

Gambar Animasi dengan Photoshop

Gambar Animasi dengan Photoshop
A. Lingkaran Putar
Langkah 1: Membuat Kanvas Buat file baru dengan ukuran 200 px × 200 px.
Langkah 2
Aktifkan Ruler dengan menekan Ctrl + R. Klik dan geser dari ruler ke tengah kanvas untuk membuat guide. Guide ini akan membantu kita dalam meletakkan elemen agar tepat berada di tengah kanvas.
Langkah 3
Buat sebuah Lingkaran. Di sini, saya menggunakan warna biru. Anda bebas menggunakan warna apapun.
Langkah 4
Di dalamnya, tambahkan lagi path lingkaran lebih kecil berwarna putih, sebelum membuat objek klik dulu mode Subtract Front Shape. Akhirnya, Anda memperoleh sebuah bentuk donat.
Mode Subtract Front Shape
Langkah 5
Potong lingkaran dengan menambahkan lagi sebuah path persegi ke mode Subtract Front Shape.
Gunakan Path Selection Tool untuk memindahkan objek agar tepat di tengah lingkaran
settingan persegi menjadi (shape)
2
1
Langkah 6
Tambahkan segitiga dari Tool Polygon dengan sisi 3. Mode path-nya Combine Shape.
Langkah 7
Di ujung, tambahkan lingkaran berukuran sama dengan ketebalan donat.
Pengaturan Untuk Membuat Segitiga
Inilah hasil yang diperoleh.
Langkah 8
Tambahkan Inner Shadow dengan cara klik ganda atau klik kanan pada Layer Shape 1 pilih Blanding Option.
Langkah 9: Putar Bentuk
 Selanjutnya, duplikasi Layer shape (Ctrl + J)
sebanyak 12 Layer.
 Sembunyikan bentuk asli dengan mengilangkan
tanda mata
 Pilih layer pertama yang di copy lalu putar bentuk
baru dengan menekan Ctrl + T. Putar sejauh 30°.
Agar akurat, putar sambil menahan tombol Shift.
Langkah 10
Terus lakukan pada layer lain hingga kita peroleh satu putaran penuh. Namai setiap layer dengan ukuran derajat perputarannya. Kita ingin ada bentuk di perputaran 0°sampai 330°.
Ingat bahwa 360° masih sama dengan 0°. Jadi, kita tidak akan memerlukannya.
Langkah 13: Membuat Animasi
Buka panel Timeline. Pilih Frame Animation.  Klik tombol Create Frame Animation.
Pilih Menu Bar Windows  Timeline (untuk CS6) / Animation (untuk CS 5 kebawah)
Langkah 15
Hilangkan tanda mata pada semua layer. (layer dinonaktifkan)
Di frame pertama, tampilkan layer di mana objek diputar 0°. Buat lagi frame baru dengan klik ikon New di panel Timeline.
Langkah 16
Di frame kedua, aktifkan layer yang diputar 30°.
Pada masing-masing frame hanya satu layer saja yang diaktifkan (aktifkan mata)
sesuai dengan urutannya
Di frame ketiga, yang diputar 60°. Lakukan begitu seterusnya.
Langkah 18
Seleksi semua frame lalu pilih lama durasinya ke 0.1 seconds.
Langkah 19
Ubah tipe loop animasi ke Forever.
Langkah 20: Menyimpan File
Tekan Ctrl + Shift + Alt + S untuk menyimpan file ke format Web. Pilih tipe format file GIF, karena ini satu-satunya yang memungkinkan animasi. Pastikan looping Forever terpilih. Klik tombol Save.
Hasilnya, Jalankan File *.gif pada browser dikomputer anda (Open With Mozilla/Chrome

CONTOH PENGGUNAAN Photoshop Session 3


Photoshop Session 3
Sub Pokok Bahasan:
1. Desain Karikatur
2. Desain Poster Caleg
3. Desain Poster Film
4. Desain Kalender
Tujuan Pembelajaran:
1. Mahasiswa memahami memahami teknik editing dan terampil dalam mengedit foto atau image untuk tujuan publikasi.
A. Karikatur Dengan Photoshop
1. Siapkan sebuah foto tampak badan beserta wajahnya
2. Buka foto dengan Photoshop dan hilangkan tanda kunci pada Background dengan klik 2x. Maka akan terbentuk Layer 0
3. Hilangkan background gambar (putih) dengan Selection Tool (Quick Selection Tool atau Magic Wand Tool)  setelah diseleksi tekan Delete Ctrl+D untuk hilangkan seleksi.
4. Selanjutnya gambar akan dipisahkan antara kepala dan badan, Gunakan selection tool untuk menyeleksi masing masingnya dan dipisahkan dalam Layer yang berbeda.
Klik 2x untuk ganti nama Layer
5. Pilih Layer Badan kemudian tekan Ctrl+T ubah ukuran badan menjadi kecil atau ramping
6. Pilih Layer Kepala kemudian pilih Edit FreeTransform Warp, gantilah ukuran kepala menjadi lebih besar serta kecilkan bagian leher agar seukuran dengan badan yang telah dirampingkan seperti gambar berikut. (Hilangkan tanda mata Layer 0 untuk melihat hasil perpotongan) .
7. Seleksi layer kepala dan badan klik kanan Merge Layer untuk menggabungkan kedua layer.
8. Pilih Filter Liquify
9. Setelah edit gambar dengan liquify selanjutnya buat Layer Baru dan Letakkan dibawah layer gambar kemudian masukkan gambar BackgroundTexture.jpg
Forward Warp ToolUntuk menarik bagian kulit agar telihat lebar Bloat ToolKlik beberapa kali pada bagian hidung atau dagu Freeze Markmenyeleksi bagian yang tidak akan terpengaruh jika salah satu tools digunakan (seleksi kacamata ketika ingin membesarkan mata) FMask Toolmenghilangkan seleksi dari Freeze Mark
10. Berikan efek kartun dengan memilih FilterBlurSmart Blur (Radius 2, Threshold 10, dan Quality High)
11. Pada jendela layer pilih new adjusment layer  curve setting seperti gambar berikut.
12. aktifkan Smudge Tool lalu Gunakan tipe Faux Finish Brushes dan atur parameternya seperti ini.
13. Untuk bagian rambut gunakan model Faux Plastic Brushes / 90 seperti gambar di atas . sekarang gosok mengikuti bentuk rambut. untuk bagian kulit dan baju gunakan model Stencil Sponge Twirl/65 . lalu gosongkan mengikuti bentuk wajah.
new adjusment layer  curve
B. Poster Caleg
1. Buatlah file dengan ukuran 10x15 cm, dan sisipkan foto calonnya
2. Sisipkan gambar bendera dibelakang photo (bebas untuk background)
3. Untuk menambah kreasi editan, anda bisa menambahkan persegi panjang dengan Retangle Tool
4. tambahkan beberapa text agar terlihat menarik, untuk memberikan efek, anda bisa menggunakan Drop Shadow dan pattern, yang ada di menu Add a layer style.
5. Untuk menambah CEKLIS, anda bisa menggunakan Custom Shape tool,
6. Tambahkan beberapa gambar pelengkap lainnya beserta text yang diperlukan.
7. Silahkan kreasikan sendiri Cara Membuat Poster CaBup atau CawaBup semoga bermanfaat. ingat jangan golput, lebih baik memilih daripada kita tidak memilih dan melahirkan pemimpin yang berbuat dzolim 
C. Kalender Kalender dengan Excel dan Photoshop
Alat dan bahan untuk membuat kalender sendiri
o Adobe Photoshop.
o Microsoft office, tepatnya Microsoft excel.
o List hari libur nasional. List hari libur nasionalnya
Kalender merupakan media untuk menunjukan tanggal, hari, bulan dan tahun, juga terdapat gambar-gambar yang menarik sehingga terlihat bagus. Jenis diantaranya:
o Kalender dinding
o Kalender meja
o Kalender dompet
Fitur dan Terminologi Desain Kalender Selain ada beberapa terminologi penting dalam membuat desain kalender, ada beberapa hal yang harus diingat dalam membuat kalender, Berikut ini beberapa terminologi dan istilah yang sering dipakai dan digunakan dalam proses desain kalender:
o Untuk siapa kalender ini dibuat?
o Jenis kalender yang akan dibuat
o Menentukan penanggalan
o Tanggal-tanggal penting
o Informasi tambahan
o Bentuk desain kalender
o Ukuran kalender
1. Buka Microsoft excel, kemudian New pilih Calenders. *pilihan ini hanya tampil ketika terkoneksi dengan internet.
2. Pilih template kalender yang disukai. Ada bermacam template kalender menarik yang sudah siap didownload
3. Setelah menemukan template yang cocok, klik template kalender pilihan kemudain klik create untuk memulai mendownload. Setelah terdownload maka
tanggalan kalender yang sudah tersusun rapih sudah siap pakai. Tinggal mengatur tahunnya. Disesuaikan dengan tahun kalender yang akan dibuat.
4. Sekarang silahkan atur tanggal merah dan hari liburnya. Untuk melihat hari libur nasional bisa sobat lihat listnya di bawah.
5. Setelah pengaturan tanggal dirasa benar silahkan simpan file excel tersebut dalam format file .PDF
Buka Photoshop dan buatlah document baru (CTRL+N) dengan ukuran seperti gambar di bawah ini
1. Sekarang buatlah guide line, caranya
3. Kemudain sekarang buka kalender 2015 yang tadi sudah disimpan dalam format .pdf. Bukanya dengan photoshop. Caranya, klik kanan > open with > Photoshop, atau bisa juga dengan cara drag and drop ke halaman kerja photoshop. Kemudain atur seperti gambar berikut ini
Maka akan tampil seperti gambar dibawah ini.
Tarik dari Rule (otomatis akan keluar Guide Line)
4. Copykan empat bulan pertama (bulan januari-April) ke dalam document baru yang tadi sudah sobat buat. Sehingga hasilnya menjadi seperti ini.
5. Untuk selanjutnya silahkan tambahkan gambar atau photo ke dalam kalender 2015 ini.
D. Poster FILM
1. Buat file baru dengan settingan seperti dibawah ini
2. Warnai halaman baru tadi dengan warna hitam dengan menggunakan Paint bucket
3. Buka gambar Newyork.jpg masukkan kedalam Dokumen baru dan sesuaikan dengan ukuran Dokumen.
4. Masukkan gambar api kedalam dokumen juga Sekarang hilangkan background kotak nya karena kita cuman butuh gambar apinya saja. Klik add layer mask di layer palette. Brush seputar gambar api dengan warna hitam.
5. Sekarang duplikat gambar api yang sudah dihilangkan background nya dengan cara ALT + Drag ke samping kanan.
6. Edit kedua gambar api terserbut dengan mengurangi kontras dan warna nya.. dengan menggunakan Hue/Saturation.
7. Sekarang buka gambar Captain America selanjutnya hilang background putih dan drag ke dokumen. Atur letaknya seperti ini.
8. Karena dibagian bawah nya akan dipake buat Credit Text… jadi harus agak gelap.. soalnya nanti text nya berwarna putih..
9. Buat layer baru di paling atas … Klik Layer > new > layer Brush bagian bawahnya dengan warna hitam secukupnya aja. Turunkan opacity brush hitam menjadi 75%(optional)
10. Sekarang tulis judulnya dengan warna Hitam (Warna Bebas).. font nya musti agak tebal . disini menggunakan font IMPACT.
11. Klik kanan layer tulisan > blending options Pilih outer glow dengan warna merah . size nya dibesarkan 46px.
12. Buat Credit Text ( seperti judul nya, produksi mana, pemeran nya siapa dll). sekarang ngarang sendiri aja ya.PAKAI font ARIAL. Setting di Type palette nya. Horizontal scale jadi 50% supaya hurufnya lebih rapat.
13. Kecilin sebagian hurufnya supaya lebih mirip dengan Credit Text.tambahkan logo Dolby.
Horizontal scale jadi 50% supaya hurufnya lebih rapat

MS-DOS


A. DASAR TEORI
MS-DOS ( Microsoft – Disk Operating System ) adalah sistem operasi disk produksi dari pabrik perangkat lunak Microsoft di Seattle, Washington. Microsoft terkenal dengan pelopor pabrik perangkat lunak untuk computer mikro. MS-DOS dianggap sebagai standart dari sistem operasi pada computer mikro 16 bit. Sebelum MS-DOS, untuk computer mikro 8 bit, CP/M yang dianggap sebagai standartnya. Gary kildall mengembangkan CP/M untuk microprocessor intel 8080. Hampir semua computer mikro pada saat itu menggunakan microprosessor intel 8080, sehingga banyak dipilih sebagai sistem operasinya. CP/M sukses luar biasa sampai IBM mengeluarkan produknya, yaitu IBM PC yang menggunakan microprossesor intel 8088 dengan sistem operasi IBM PC-DOS.
Sebenarnya pihak IBM telah berunding dengan pihak Digital Research untuk menerapkan CP/M pada computer IBM PC, tetapi perundingan ini tidak menghasilkan kesepakatan. Akhirnya IBM memutuskan memilih Microsoft untuk mengembangkan PC-DOS. Kalau dibandingkan PC-DOS versi pertama tidak begitu baik dengan CP/M-86 ( CP/M untuk computer mikro 16 bit). Karena Microsoft mengembangkannya dalam waktu yang sangat singkat, yaitu berasal dari sistem operasi QDOS versi 0.10 yang dikembangkan oleh perusahaan seattle computer products. Pada bulan juli 1981 microsoft membeli hak dari QDOS dan merubahnya sedikit untuk dijual kepada IBM. IBM memberi nama sistem operasi ini menjadi IBM PC-DOS dan Microsoft menjualnya kepada pihak-pihak lain dengan nama MS-DOS untuk diterapkan pada computer-komputer micro yang kompatibel dengan IBM PC. Sekarang, sistem operasi MS-DOS sudah jarang digunakan. Sistem operasi yang banyak digunakan untuk computer mikro adalah sistem operasi windows.
Nama File di DOS
Nama file terdiri atas 2 bagian, yaitu:
 Nama file
 Extension file
Di dalam DOS, nama file hanya dapat ditampilkan 8 karakter awal dan 3 karakter
setelah tanda titik (.) Sistem ini dikenali juga dengan istilah 8.3. Di dalam Windows 95 mendukung nama file 255.3 dan di Windows 98/ME/2000/XP mendukung nama file hingga 255.255.255.255 ……….
Modul 1 – Praktikum Sistem Operasi
3
File-file disimpan dalam suatu directory yang berada di suatu memori penyimpanan tertentu. Di DOS file dispesifikasikan pula oleh lokasi tempat file tersebut berada (PATH). PATH menunjukkan drive dan directory tempat file tersebut berada.
B. PENDAHULUAN
Format Instruksi Dos
Instruksi dos standar memiliki format sebagai berikut:
> Format instruksi [argument[option]]
Argument dapat kosong atau berisi, option merupakan pilihan antribut untuk instruksi yang diawali dengan tanda slash ( / ).
Contoh:
> dir Tanpa argumen
> dir d: Argumen adalah d:
> dir /a Dengan option /a
> dir d: /a Argumen adalah d: dan option adalah /a
> dir c: d: Argumen boleh lebih dari satu, dipisah dengan spasi
Manual
Ms-Dos memberikan manual command untuk mengetahui perintah-perintah yang ada pada ms-dos. Diantaranya adalah :
> help menampilkan instruksi-instruksi internal pada dos
> help dir Deskripsi option yang ada pada perintah dir
> dir /? Bentuk penulisan lain dari help dir
C. LANGKAH-LANGKAH
1. Hidupkan komputer Anda, dengan menekan tombol power
2. Pada boot loader pilih sistem operasi “Windows …”
3. Setelah proses booting selesai, pilih menu “Start  All Programs  Accessories  Command Prompt”
4. Atau dapat juga dengan menekan tombol “Start” di keyboard lalu ketikan “cmd” dan enter.
Modul 1 – Praktikum Sistem Operasi
4
D. PERCOBAAN
Percobaan 1 : Melihat tanggal dan waktu dikomputer
1. Melihat tanggal saat ini
> date
> date /t
> date 20-02-2015
2. Melihat waktu saat ini
> time
> time /t
> time 8:40
Percobaan 2 : Melihat versi DOS yang digunakan
> ver
Percobaan 3 : Melihat informasi konfigurasi OS
> systeminfo
Percobaan 4 : Menggunakan manual atau help untuk instruksi
> help dir
> dir /?
Percobaan 5 : Menghapus layar
> cls
Percobaan 6 : Melihat daftar tugas SO
1. Menampilkan tasklist
> tasklist
2. Menampilkan tasklist secara lengkap
> tasklist /v
3. Menampilkan tasklist berdasarkan modul file .dll
> tasklist /m ker*
4. Filter tasklist berdasarkan image name
> tasklist /fi “imagename eq WINWORD.EXE”
5. Menentukan format output tasklist:
> tasklist /fo table
> tasklist /fo csv /m ker*
Modul 1 – Praktikum Sistem Operasi
5
Percobaan 7 : Menjalankan program lewat dos
> start
> start notepad.exe
> start winword.exe
> start c:\”Program Files”\Notepad++\notepad++.exe
Percobaan 8 : Mematikan proses / aplikasi
1. Buka program notepad, lalu jalankan command berikut:
> taskkill /im notepad.exe
2. Mematikan proses berdasarkan proses id (PID), buka program ms. Word, cek PID dengan menggunakan “> tasklist /fi “imagename eq WINWORD.EXE”, lalu jalankan perintah berikut (bagian bercetak tebal disesuaikan dengan komputer masing-masing):
> taskkill /PID 5632
Percobaan 9 : Mengganti warna tulisan dan latarbelakang Dos
> color 1f
> color 70
> color 9a
> color 89
> color bc
> color 43
> color 67
> color 86
> color 32
> color 43
> color 58
> color 85
> color dc
> color
Modul 1 – Praktikum Sistem Operasi
6
Keterangan:
Digit pertama menentukan warna latarbelakang, dan digit kedua menentukan warna tulisan. Warna mengikuti ketentuan berikut:
Percobaan 10 : Mengganti judul jendela Dos
> title percobaan10
Percobaan 11 : Keluar dari Dos
> exit
Percobaan 12 : Mematikan komputer
1. Menampilkan gui jadwal / waktu shutdown
> shutdown /i
2. Log out komputer
> shutdown /l
3. restart komputer
> shutdown /r
4. Mematikan komputer
> shutdown /s
5. Hibernate komputer
> shutdown /h
Modul 1 – Praktikum Sistem Operasi
7
E. LATIHAN
1. Rubah tanggal komputer anda menjadi 20-02-2015
2. Rubah waktu komputer anda menjad 8:00
3. Apa fungsi perintah help, help cd, cd /?
4. Tuliskan versi Operating Sistem Anda
5. Jelaskan dengan lengkap fungsi perintah systeminfo
6. Jelaskan hasil perintah color
7. Apa perbedaan antara hasil perintah tasklist /fo table dan tasklist /fo csv
8. Jelaskan perintah berikut start c:\”Program Files”\Notepad++\notepad++.exe dan syarat apa yang harus terpenuhi agar perintah tersebut dapat berjalan.
9. taskkill /PID 5632 adalah perintah untuk mematikan proses berdasarkan proses id, syarat apa yang harus terpenuhi agar perintah tersebut berjalan.
10. Tuliskan perintah shutdown, jelaskan hasil perintah tersebut.
--- to be continued ---

SISTEM BUS



BAB I
PENDAHULUAN
A.      LATAR BELAKANG
Komputer tersusun dari beberapa komponen penting seperti CPU, memori, perangkat I/O. Bus merupakan jalur penghubung antar komponen komputer yang digunakan sebagai media dalam proses melewatkan data. System bus adalah koleksi konduktor paralel yang membawa data dan mengontrol sinyal dari satu komponen ke komponen lainnya. Bus sistem menghubungkan CPU dengan RAM dan mungkin sebuah buffer memory/memori penyangga (cache L2). Bus sistem merupakan bus pusat. Bus-bus yang lain merupakan pencabangan dari bus ini.
Prosesor, memori utama, dan perangkat I/O dapat dinterkoneksikan dengan menggunakan bus bersama yang fungsi utamanya adalah menyediakan jalur komonikasi untuk transfer data. Bus tersebut menyediakan jalur yang diperlukan untuk mendukung interrupt dan arbitrasi. Protokol bus adalah set aturan yang mengatur kelakuan berbagai perangkat yang terhubung ke bus yaitu kapan harus meletakkan informasi ke dalam bus, menyatakan sinyal kontrol, dan lain sebagainya. (1)


B.       RUMUSAN MASALAH
1.      bagaimana system interkoneksi bus?
2.      Bagaimana karakteristik interkoneksi bus?
3.         Apa saja elemen-elemen rancangan bus?
4.      Apa saja contoh contoh bus?



C.      TUJUAN
            Tujuann memperlajari interkoneksi bus ini adalah supaya kita mengetahui apa saja jenis-jenis bus, elemen-elemen intekoneksinya dsb




BAB II
PEMBAHASAN

A.  Dasar Teori

System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya.Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat komputer. Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus dan suatu sinyal yang ditransmisikan oleh salah satu perangkat ini dapat ditermia oleh salah satu perangkat yang terhubung ke bus. Bila dua buah perangkat melakukan transmisi dalam waktu yang bersamaan, maka sinyal-sinyalnya akan bertumpang tindih dan menjadi rusak. Dengan demikain, hanya sebuah perangkat saja yang akan berhasil melakukan transimi pada suatu saat tertentu.
Umumnya sebuah bus terdiri dari sejumlah lintasan komunikasi atau saluran. Masing-masing saluran dapat mentransmisikan sinyal yang menunjukkan biner 1 dan biner 0. Serangkaian digit biner dapat ditransmisikan melalui saluran tunggal. Dengan mengumpulkan beberapa saluran dari sebuah bus, dapat digunakan mentransmisikan digit biner secra bersamaan (paralel). Misalnya sebuah satuan data 8 bit dapat ditransmisikan melalui bus delapan saluran.
Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sisterm komputer. Sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU, memori, input/output) disebut bus sistem. Struktur interkoneksi komputer yang umum didasarkan pada penggunaan satu bus sistem atau lebih.(2)

B.  Pembahasan
1.               Struktur Interkoneksi

Komputer terdiri dari satu set komponen atau modul dari tiga tipe dasar (prosesor, memori, i / o) yang berkomunikasi satu sama lain. Pada dasarnya, komputer adalah jaringan modul bacis. Sehingga harus ada jalan untuk menghubungkan modul.Koleksi jalan yang menghubungkan berbagai modul disebut struktur interkoneksi. Desain struktur ini akan tergantung pada pertukaran yang harus dilakukan antara modul.
Angka 3,15 menunjukkan jenis pertukaran yang dibutuhkan oleh yang menunjukkan bentuk utama dari input dan output untuk setiap jenis modul Struktur interkoneksi adalah kumpulan lintasan yang menghubungkan berbagai komponen-komponen seperti CPU, Memory dan i/O, yang saling berkomunikasi satu dengan lainnya.
a.          CPU
CPU membaca instruksi dan data, menulis data setelah diolah, dan menggunakan signal-signal kontrol untuk mengontrol operasi sistem secara keseluruhan. CPU juga menerima signal-signal interupt.

b.         MEMORY
Memory umumnya modul memory terdiri dari n word yang memiliki panjang yang sama. Masing-masing word diberi alamat numerik yang unik(0,1…,N-1). Sebuah word data dapat dibaca dari memory atau ditulis ke memori. Sifat operasinya ditandai oleh signal-signal control read dan write. Lokasi bagi operasi dispesifikasikan oleh sebuah alamat.

c.          I/O
I/O berfungsi sama dengan memory.Terdapat dua buah operasi, baca dan tulis. Selain itu, modul-modul i/O dapat mengontrol lebih dari 1 perangkat eksternal. Kita dapat mengaitkan interface ke perangkat eksternal sebagai sebuah port dan memberikan alamat yang unik (misalnya,0,1,…,M-1) ke masing-masing port tersebut. Di samping itu, terdapat juga lintasan-lintasan data internal bagi input dan output data dengan suatu perangkat eksternal. Terakhir, modul i/O dapat mengirimkan sinyal-sinyal interupt ke cpu.

d.         PROCESSOR
Prosesor membaca dalam instruksi dan data, menulis data setelah keluar pengolahan, dan menggunakan sinyal kontrol untuk mengendalikan keseluruhan sistem operasi. Juga menerima sinyal interupt.
Dari  jenis  pertukaran  data  yang  diperlukan  modul  –  modul  komputer,  maka struktur interkoneksi harus mendukung perpindahan data berikut :
ü   Memori ke CPU
CPU melakukan pembacaan data maupun instruksi dari memori.
ü   CPU ke Memori
CPU melakukan penyimpanan atau penulisan data ke memori.
ü   I/O ke CPU
CPU membaca data dari peripheral melalui modul I/O.
ü   CPU ke I/O
CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
ü    I/O ke Memori atau dari Memori ke I/O
 digunakan pada sistem DMA.

Saat  ini   terjadi perkembangan  struktur  interkoneksi,  namun  yang  banyak digunakan adalah  sistem  bus.  Sistem  bus  ada  yang  digunakan  yaitu sistem bus tunggal dan struktur sistem bus campuran, tergantung karakteristik sistemnya.


2.      Interkoneksi Bus
Bus  merupakan  lintasan  komunikasi  yang  menghubungkan  dua  atau  lebih  komponen  komputer. Karakteristik utama dari bus yaitu sebagai media  transmisi  yang  dapat digunakan bersama oleh sejumlah perangkat yang terhubung padanya. Karena  digunakan  bersama,  diperlukan  pengaturan  agar  tidak  terjadi  tabrakan  data atau kerusakan data yang ditransmisikan. Walaupun digunakan scara bersamaaan, dalam satu waktu hanya ada sebuah perangkat yang dapat menggunakan bus.


a)   Struktur Bus
Sebuah bus biasanya terdiri atas beberapa saluran. Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat mentransfer data 8 bit. Secara umum fungsi saluran bus dikatagorikan menjadi tiga bagian, yaitu :

*         Saluran  data
Saluran data (data bus) adalah lintasan yang digunakan sebagai perpindahan data antar modul. Secara umum lintasan ini disebut  bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32. Saluran ini bertujuan agar mentransfer word dalam sekali waktu. Jumlah saluran dalam bus data disebut lebar bus, dengan satuan bit, misal : lebar bus 16 bit.
*         Saluran  alamat
Saluran alamat (address bus) digunakan untuk menspesifikasi sumber dan tujuan data pada bus data. Saluran ini digunakan untuk mengirim alamat word pada memori yang akan diakses CPU. Juga digunakan untuk saluran alamat perangkat modul komputer saat CPU  mengakses suatu modul. Perlu diketahui, semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat. Misalnya mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya.

*            Saluran  kontrol.
Saluran kontrol (control  bus) digunakan untuk mengontrol bus data, bus alamat dan seluruh modul yang ada. Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini. Sinyal–sinyal kontrol terdiri atas sinyal pewaktuan dan sinyal–sinyal perintah. Sinyal pewaktuan menandakan validitas data dan alamat, sedangkan sinyal perintah berfungsi membentuk suatu operasi.
Secara umum saluran kontrol meliputi :
·         Memory Write, memerintahkan data pada bus yang akan dituliskan ke dalam lokasi alamat.
·          Memory Read memerintahkan data dari lokasi alamat ditempatkan pada bus data.
·          I/O Write, memerintahkan data pada bus dikirim ke lokasi port I/O.
·          I/O Read, memerintahkan data dari port I/O ditempatkan pada bus data.
·         Transfer  ACK,  menunjukkan  data  telah  diterima  dari  bus  atau  data  telah ditempatkan pada bus.
·         Bus Request, menunjukkan bahwa modul memerlukan kontrol bus.
·         Bus  Grant,  menunjukkan modul yang melakukan request telah  diberi hak mengontrol bus.
·         Interrupt Request, menandakan adanya penangguhan interupsi dari modul.
·         Interrupt ACK, menunjukkan penangguhan interupsi telah diketahui CPU.
·         Clock, kontrol untuk sinkronisasi operasi antar modul.
·         Reset, digunakan untuk menginisialisasi seluruh modul.


Secara fisik bus adalah konduktor  listrik  yang dihubngkan secara paralel yang berfungsi menghubungkan modul–modul. Konduktor ini biasanya adalah saluran utama pada PCB motherboard dengan layout tertentu sehingga didapat fleksibilitas penggunaan. Untuk modul I/O biasanya dibuat slot bus yang mudah dipasang dan dilepas, seperti slot PCI dan ISA. Sedangkan untuk chips akan terhubung melalui pinnya.

b)                  Prinsip Operasi
Prinsip operasi bus adalah sebagai berikut :
*                  Operasi pengiriman data ke modul lainnya :
1)            Meminta penggunaan bus.
2)            Apabila telah disetujui, modul akan memindahkan data yang diinginkan ke modul yang dituju.
*               Operasi meminta data dari modul lainnya :
1)            Meminta penggunaan bus.
2)            Mengirim request ke modul yang dituju melalui saluran kontrol dan alamat yang sesuai.
3)            Menunggu modul yang dituju mengirimkan data yang diinginkan.

c)                  Hierarki Multiple Bus
Bila terlalu banyak modul atau perangkat dihubungkan pada bus maka akan terjadi penurunan kinerja.
Faktor – faktor :
*      Semakin besar delay propagasi untuk mengkoordinasikan penggunaan bus.
*      Antrian penggunaan bus semakin panjang.
*      Dimungkinkan habisnya kapasitas transfer bus sehingga memperlambat data.

d)                  Arsitektur Bus Jamak
Prosesor, cache memori dan memori utama terletak pada bus tersendiri pada level tertinggi karena modul – modul tersebut memiliki karakteristik pertukaran data yang tinggi.
Pada arsitektur berkinerja tinggi, modul – modul I/O diklasifikasikan menjadi dua, yaitu :
*      Memerlukan transfer data berkecepatan tinggi
*      Memerlukan transfer data berkecepatan rendah
*      Modul dengan transfer data berkecepatan tinggi disambungkan dengan bus berkecepatan tinggi pula,
*      Modul yang tidak memerlukan transfer data cepat disambungkan pada bus ekspansi

Arsitektur Bus Jamak Kinerja Tinggi
Keuntungan hierarki bus jamak kinerja tinggi, yaitu :
*      Bus berkecepatan tinggi lebih terintegrasi dengan prosesor.
*      Perubahan pada arsitektur prosesor tidak begitu mempengaruhi kinerja bus(3)



3.     Elemen perancangan Bus
Rancangan suatu bus dapat dibedakan atau diklasifikasikan oleh elemen-elemen sebagai berikut:
1.    Jenis Bus
Jenis bus dapat dibedakan atas dua yaitu:
a. Dedicated
Merupakan metode di mana setiap bus (saluran) secarapermanen diberi fungsi atau subset fisik komponen komputer. Sifat-sifatnya:
1)                Data Bus dan Address Bus memiliki jalur terpisah
2)                Rancangan lebih mahal
3)                Kecepatan transfer data lebih tinggi
b. Time Multiplexed
Merupakan metode penggunaan bus yang sama untuk berbagai keperluan,sehingga menghemat ruang dan biaya. Sifat-sifatnya:
1)                Jalur Data dan Address dijadikan satu
2)                Rancangan lebih murah
3)                Kecepatan transfer data lebih lambat
2.    Metode Arbitrasi
Metode arbitrasi adalah metode pengaturan dari penggunaan bus, dan dapat dibedakan atas dua yaitu:
a.    Tersentralisasi yaitu menggunakan arbiter sebagai pengatur sentral
b.   Terdistribusi yaitu setiap bus memiliki accesscontrollogic.
3.    Timing
Timing berkaitan dengan cara terjadinya event yang diatur pada sistem bus, dan dapat dibedakan atas:
a.    Synchronous yaitu terjadinya event pada bus ditentukan oleh clock (pewaktu)
b.   Asynchronous yaitu terjadinya sebuah event pada bus mengikuti dan tergantung pada event sebelumnya
4.    Lebar Bus
Semakin lebar bus data, semakin besar bit yang dapat ditransfer pada suatu saat.Semakin besar bus alamat, akan semakinbanyak range lokasi yang dapat direfensikan.
5.    Jenis Transfer Data
Transfer data yang menggunakan bus di antaranya adalah:
a.                Operasi Read
b.               Operasi Write
c.         Operasi Read Modify Write
d.        Operasi Read After Write
e.         Operasi Block

4.     Contoh Bus
a.      Bus ISA

*         ISA
Bus ISA (Industry Standard Architecture) adalah sebuah arsitektur bus dengan bus data selebar 8-bit yang diperkenalkan dalam IBM PC 5150 pada tanggal 12 Agustus 1981. Bus ISA diperbarui dengan menambahkan bus data selebar menjadi 16-bit pada IBM PC/AT pada tahun 1984, sehingga jenis bus ISA yang beredar pun terbagi menjadi dua bagian, yakni ISA 16-bit dan ISA 8-bit. ISA merupakan bus dasar dan paling umum digunakan dalam komputer IBM PC hingga tahun 1995, sebelum akhirnya digantikan oleh bus PCI yang diluncurkan pada tahun 1992.
*      ISA 8-bit
Bus ISA 8-bit merupakan varian dari bus ISA, dengan bus data selebar 8-bit, yang digunakan dalam IBM PC 5150 (model PC awal). Bus ini telah ditinggalkan pada sistem-sistem modern ke atas tapi sistem-sistem Intel 286/386 masih memilikinya. Kecepatan bus ini adalah 4.77 MHz (sama seperti halnya prosesor Intel 8088 dalam IBM PC), sebelum ditingkatkan menjadi 8.33 MHz pada IBM PC/AT. Karena memiliki bandwidth 8-bit, maka transfer rate maksimum yang dimilikinya hanyalah 4.77 Mbyte/detik atau 8.33 Mbyte/detik. Meskipun memiliki transfer rate yang lamban, bus ini termasuk mencukupi kebutuhan saat itu, karena bus-bus I/O semacam serial port, parallel port, kontrolir floppy disk, kontrolir keyboard dan lainnya sangat lambat. Slot ini memiliki 62 konektor.
Meski desainnya sederhana, IBM tidak langsung mempublikasikan spesifikasinya saat diluncurkan tahun 1981, tapi harus menunggu hingga tahun 1987, sehingga para manufaktur perangkat pendukung agak kerepotan membuat perangkat berbasis ISA 8-bit.


*         ISA 16-bit
Bus ISA 16-bit adalah sebuah bus ISA yang memiliki bandwidth 16-bit, sehingga mengizinkan transfer rate dua kali lebih cepat dibandingkan dengan ISA 8-bit pada kecepatan yang sama. Bus ini diperkenalkan pada tahun 1984, ketika IBM merilis IBM PC/AT dengan mikroprosesor Intel 80286 di dalamnya. Mengapa IBM meningkatkan ISA menjadi 16 bit adalah karena Intel 80286 memiliki bus data yang memiliki lebar 16-bit, sehingga komunikasi antara prosesor, memori, dan motherboard harus dilakukan dalam ordinal 16-bit. Meski prosesor ini dapat diinstalasikan di atas motherboard yang memiliki bus I/O dengan bandwidth 8-bit, hal ini dapat menyababkan terjadinya bottleneck pada bus sistem yang bersangkutan.

Daripada membuat bus I/O yang baru, IBM ternyata hanya merombak sedikit saja dari desain ISA 8-bit yang lama, yakni dengan menambahkan konektor ekstensi 16-bit (yang menambahkan 36 konektor, sehingga menjadi 98 konektor), yang pertama kali diluncurkan pada Agustus tahun 1984, tahun yang sama saat IBM PC/AT diluncurkan. Ini juga menjadi sebab mengapa ISA 16-bit disebut sebagai AT-bus. Hal ini memang membuat interferensi dengan beberapa kartu ISA 8-bit, sehingga IBM pun meninggalkan desain ini, ke sebuah desain di mana dua slot tersebut digabung menjadi satu slot.

b.      Bus PCL

PCI (kepanjangan dari bahasa Inggris: Peripheral Component Interconnect) adalah bus yang didesain untuk menangani beberapa perangkat keras. Standar bus PCI ini dikembangkan oleh konsorsium PCI Special Interest Group yang dibentuk oleh Intel Corporation dan beberapa perusahaan lainnya, pada tahun 1992. Tujuan dibentuknya bus ini adalah untuk menggantikan Bus ISA/EISA yang sebelumnya digunakan dalam komputer IBM PC atau kompatibelnya.
Komputer lama menggunakan slot ISA, yang merupakan bus yang lamban. Sejak kemunculan-nya sekitar tahun 1992, bus PCI masih digunakan sampai sekarang, hingga keluar versi terbarunya yaitu PCI Express (add-on).(4)



c.       Bus USB

Bus USB (Universal Serial Bus). Bus ini dikembangkan oleh tujuh vendor komputer, yaitu Compaq, DEC, IBM, Intel, Microsoft, NEC, dan Northern Telecom. Bus ini ditujukan bagi perangkat yang memiliki kecepatan rendah seperti keyboard, mouse, dan printer karena tidak akan efisien jika perangkat yang berkecepatan rendah dipasang pada bus berkecepatan tinggi seperti PCI.
Keuntungan yang didapat dari bus USB antara lain :
*      Tidak harus memasang jumper
*      Tidak harus membuka casing untuk memasang peralatan I/O
*      Hanya satu jenis kabel yang digunakan
*      Dapat mensuplai daya pada peralatan I/O, tidak diperlukan reboot.




d.      Bus SCSL
SCSI (Small Computer System Interface) adalah perangkat peripheral eksternal yang dipopulerkan oleh macintosh pada tahun 1984. SCSI merupakan interface standard untuk drive CD-ROM, peralatan audio, hard disk, dan perangkat penyimpanan eksternal berukuran besar. SCSI menggunakan interface paralel dengan 8, 16, atau 32 saluran data. Konfigurasi SCSI umumnya berkaitan dengan bus, walaupun pada kenyataannya perangkat-perangkat tersebut dihubungkan secara daisy-chain.
Perangkat SCSI memiliki dua buah konektor, yaitu konektor input dan konektor output. Seluruh perangkat berfungsi secara independen dan dapat saling bertukar data misalnya hard disk dapat mem-back up diri ke tape drive tanpa melibatkan prosesor. Akronim tersebut mengacu pada bus standar yang didefinisikan oleh American National Standards Institute (ANSI) dengan nomor X3.131 [2]. Dalam spesifikasi standar tersebut, perangakat seperti disk dihubungkan ke komputer melalui kabel 50-wire, yang dapat mencapai panjang 25 meter dan dapat mentransfer data hingga kecepatan 5 megabyte/ detik.
Standar bus SCSI telah menga;ami banyak revisi, dan kemampuan trnasfer data telah meningkat sangat besar, hampir dua kali setiap tahun. SCSI-2 dan SCSI-3 telah didefinisikan dan masing-masing memiliki beberapa opsi. Bus SCSI memiliki 8 jalur data yang disebut narrow bus dan mentransfer data 1 byte pada satu waktu. Sebagai alternatif, bus wide SCSI memiliki 16 jalur data dan mentransfer data 16 bit pada satu waktu. Terdapat pula beberapa opsi untuk skema signaling elektrik yang digunakan. Bus dapat menggunakan transmisi single-endeed (SE), dimana tiap sinyal menggunakan satu wire, dengan commond ground return untuk semua sinyal. Dalam opsi lain, digunakan signaling diferensial dimana disediakan return wire terpisah tiap sinyal.
Konektor SCSI memilki 50, 68, atau 80 pin. Kecepatan transfer maksimum dakan oerabfkat komersial tersedia bervariasi dari 5 Mb/det. Versi tebaru dari standar tersebut dimaksudkan untuk mendukung kecepatan transfer hingga 320 Mb/det, dan 640 Mb/det diantisipasi kemudian. Kecepatan transfer maksimum pada bus tertentu sering merupakan fungsi panjang kabel dan jumlag perangkat yang dihubungkan, deangan kecepatan lebih tinggi untuk kabel yang lebih pendek dan perangkat yang lebih sedikit. Untuk mencapai kecepatan transfer data puncak, panjang bus biasanya dibatasi hingga 1,6 m untuk signaling SE dan 12 m untuk signaling LVD (Low Voltage Differential). Akan tetapi proses sering menyediakan bus expander khusus untuk menghubungkan perangkat yang lebih jauh letaknya. Kapasitas maksimum bus adalah 8 perangkat untuk narrows dan 16 perangkat untuk wide bus.
Prosesor mengirim perintah ke kontroler SCSI yang menghasilkan event berupa;
a)      Kontroler SCSI yang bertindak sebagai initiator berjuang untuk mendapatkan control bus.
b)      Pada saat initiator memenangkan proses arbition, iniator memiliki kontroler target dan menyerahkan control bus padanya.
c)      Target memulai operasi output (dari initiator ke target) sebagai respon terhadap hal ini, initiator mengirim perintah yang menentukan operasi baca yang diminta.
d)      Target, yang mengerti bahwa harus melakukan operasi disk seek terlebih dahulu, mengirim pesan ke interior yang mengindikasikan akan menangguhkan sementara koneksi antara initiator dan target. Kemudian target membebaskan bus tersebut.
e)      Kontroler target mengirim perintah ke disk drive untuk memindahkan head baca kesektor pertama yang terlibat dalam operasi baca yang dimaksud. Kemudian membaca data yang disimpan disektor tersebut dan menyimpannya dalam buffer data. Pada saat target siap mentransfer data ke initiator, target merequest kontrol bus. Setelah memenangkan arbitration, target mereselect kontroler initiator, sehingga memulihkan koneksi yang ditangguhkan.
f)       Target mentransfer isi buffer data ke initiatior dan kemudian menangguhkan lagi koneksi tersebut. Data ditransfer 8 atau 16 bit secara pararel, tergantung pada lebar bus.
g)      Kontroler target mengirim perintah ke disk drive untuk melakukan operasi seek lainnya. Kemudian mentransfer isi sektor disk kedua initiator, seperti sebelumnya. Pada akhir transfer ini, koneksi logika antara dua kontroler tersebut diterminasi.
h)      Pada saat kontroler initiator menerima data tersebut, maka kontroler menyimpannya dalam memory utama menggunakan pendekatan DMA.
i)         Kontroler SCSI mengirim interrupt ke prosesor untuk memberitahu bahwa operasi yang diminta telah selesai

e.       Bus FIREWIRE(p1394)
Semakin pesatnya kebutuhan bus I/O berkecepatan tinggi dan semakin cepatnya prosesor saat ini yang mencapai 1 GHz, maka perlu diimbangi dengan bus berkecepatan tinggi juga. Bus SCSI dan PCI tidak dapat mencukupi kebutuhan saat ini. Sehingga dikembangkan bus performance tinggi yang dikenal dengan FireWire (P1393 standard IEEE). P1394 memiliki kelebihan dibandingkan dengan interface I/O lainnya, yaitu sangat cepat, murah, dan mudah untuk diimplementasikan. Pada kenyataan P1394 tidak hanya popular pada sistem komputer, namun juga pada peralatan elektronik seperti pada kamera digital, VCR, dan televisi. Kelebihan lain adalah penggunaan transmisi serial sehingga tidak memerlukan banyak kabel.(5)










BAB III
PENUTUP
A.      Kesimpulan
Komputer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat I/O. setiap komputer saling berhubungan membentuk kesatuan fungsi. Bus sistem  adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antar komponen komputer sangatlah mendominasi kerja suatu Komputer. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus. Dalam sistem bus juga mengalami perkembangan mulai dari Omnibus sampai bus camac. Dalam setiap perkembangannya bus sistem berkembang menjadi lebih baik untuk menutupi kekurangan dari bus sistem sebelumnya.


BAB 1V
DAFTAR PUSTAKA

3.      http:///D:/Organisasi Komputer/P.1/STRUKTUR INTERKONEKSI ~ Nadeshda == A New