Tarif yang digunakan adalah :
Lapisan Penghasilan Kena Pajak Tarif Pajak ;
Sampai dengan Rp 25.000.000,00 = 5 %
- Di atas Rp 25.000.000,00 sampai dengan Rp 50.000.000,00 = 10 %
- Di atas Rp 50.000.000,00 sampai dengan Rp 100.000.000,00 = 15 %
- Di atas Rp 100.000.000,00 sampai dengan Rp 200.000.000,00 = 25 %
- Di atas Rp 200.000.000,00 = 35 %

PTKP :
1.Untuk diri pegawai
setahun = Rp 2.880.000,00
sebulan = Rp 240.000,00
2.Tambahan untuk pegawai yang kawin
setahun = Rp 1.440.000,00
sebulan = Rp 120.000,00
3.Tambahan untuk seorang istri yang mempunyai penghasilan dari usaha atau pekerjaan yang tidak ada hubungannya dengan usaha suami atau anggota keluarga lain Rp. 2.880.000,00
4.Tambahan untuk setiap anggota keluarga sedarah dan keluarga semenda dalam garis keturunan lurus, serta anak angkat yang menjadi tanggungan sepenuhnya, paling banyak 3 orang setiap keluarga Rp 1.440.000,00

Biaya jabatan yaitu biaya untuk mendapatkan, menagih, dan memelihara penghasilan yang besarnya 5% dari penghasilan bruto setinggi-tingginya Rp 1.296.000,00 setahun atau Rp 108.000,00 sebulan.

Penghasilan Kena Pajak dihitung dari penghasilan bruto dikurangi dengan biaya jabatan, iuran pensiun termasuk iuran Tabungan Hari Tua/Tunjangan Hari Tua (THT) (kecuali iuran Tabungan Hari Tua/THT pegawai negeri sipil/anggota ABRI/pejabat negara), dan Penghasilan Tidak Kena Pajak (PTKP).
Selengkapnya Clik Di sini

I. PENGERTIAN
1. Pajak Penghasilan Pasal 21
adalah pajak atas penghasilan berupa gaji, upah, honorarium, tunjangan, dan pembayaran lain yang diterima atau diperoleh Wajib Pajak orang pribadi dalam negeri sehu­bungan dengan pekerjaan atau jabatan, jasa, dan kegiatan.
2. Pemotong PPh Pasal 21
a. Pemberi kerja yang terdiri dari orang pribadi dan badan.
b. Bendaharawan pemerintah baik Pusat maupun Daerah
c. Dana pensiun, Jaminan Sosial Tenaga Kerja (Jamsostek), PT Taspen, PT ASABRI.
d. perusahaan, badan dan bentuk usaha tetap.
e. Yayasan, lembaga, kepanitia-an, asosiasi, perkumpulan, organisasi massa, organisasi sosial politik dan organisasi lainnya serta organisasi internasional yang telah ditentukan berdasarkan Keputusan Menteri Keuangan.
3. Penerima penghasilan yang dipotong PPh Pasal 21
a. Pegawai tetap
b. Tenaga lepas (seniman, olahragawan, pencera-mah, pemberi jasa, pengelola proyek, peserta perlombaan, petugas dinas luar asuransi), distributor MLM/direct selling dan kegiatan sejenis.
c. Penerima pensiun, mantan pegawai, termasuk orang pribadi atau ahli warisnya yang menerima Tabungan Hari Tua atau Jaminan Hari Tua.
d. Penerima honorarium.
e. Penerima upah
f. Tenaga ahli (Pengacara, Akuntan, Arsitek, Dokter, Konsultan, Notaris, Penilai, dan Aktuaris),
4. Penerima Penghasilan yang tidak dipotong PPh Pasal 21
a. Pejabat perwakilan diplomatik dan konsulat atau pejabat lain dari negara asing, dan orang-orang yang diperbantukan kepada mereka yang bekerja pada dan bertempat tinggal bersama mereka, dengan syarat :
- bukan warga negara Indonesia dan
- di Indonesia tidak menerima atau memperoleh penghasilan lain di luar jaba­tan atau pekerjaannya tersebut serta negara yang bersangkutan memberikan perlakuan timbal balik;
b. Pejabat perwakilan organisasi internasional yang ditetapkan oleh Keputusan Menteri Keuangan sepanjang bukan warga negara Indonesia dan tidak menjalankan usaha atau kegiatan atau peker­jaan lain untuk memperoleh penghasilan di Indonesia.
5. Penghasilan yang dipotong PPh Pasal 21 adalah :
a. penghasilan teratur berupa gaji, uang pensiun bulanan, upah, honorarium, premi bulanan, uang lembur, uang sokongan, uang tunggu, uang ganti rugi, tunjangan istri, tunjangan anak, tunjangan kemahalan, tunjangan jabatan, tunjungan khusus, tunjangan transport, tunjangan pajak, tunjangan iuran pensiun, tunjangan pendidikan anak,beasiswa, premi asuransi yang dibayar pemberi kerja dan penghasilan teratur lainnya dengan nama apa pun;
b. penghasilan tidak teratur berupa jasa produksi, tantiem, gratifikasi, tunjangan cuti, tunjangan hari raya, tunjangan tahun baru, bonus, premi tahunan, dan penghasilan sejenis lainnya yang sifatnya tidak tetap ;
c. upah harian, upah mingguan, upah satuan, dan upah borongan;
d. uang tebusan pensiun, uang pesangon, uang Tabungan Hari Tua (THT) atau Jaminan Hari Tua (JHT), dan pembayaran lain sejenis;
e. honorarium, uang saku, hadiah atau penghargaan, komisi, bea siswa, dan pembayaran lain sebagai imbalan sehubungan dengan pekerjaan, jasa, dan kegiatan yang dilakukan oleh Wajib Pajak dalam negeri;
f. Gaji, gaji kehormatan, tunjangan lainnya yang terkait gaji, uang pensiun dan tunjangan lainnya yang terkait dengan uang pensiun;
g. penerimaan dalam bentuk natura dan kenikmatan lainnya dengan nama apa pun yang diberikan oleh bukan Wajib Pajak atau wajib pajak yang dikenakan PPh final dan dikenakan PPh berdasarkan norma penghitungan khusus.
6. Tidak termasuk penghasilan yang dipotong PPh Pasal 21 adalah :
a. pembayaran asuransi dari perusahaan asuransi kesehatan, asuransi kecelakaan, asuransi jiwa, asuransi dwiguna, dan asuran­si bea siswa;
b. penerimaan dalam bentuk natura dan kenikmatan kecuali penerimaan dalam bentuk natura sebagaimana dimaksud dalam angka 5 huruf g;
c. iuran pensiun yang dibayarkan kepada dana pensiun yang pendiriannya telah disahkan Menteri Keuangan dan iuran Jaminan Hari Tua kepada badan penyelenggara Jamsostek yang dibayar oleh pemberi kerja;
d. penerimaan dalam bentuk natura dan kenikmatan lainnya dengan nama apa pun yang diberikan oleh Pemerintah;
e. pajak yang ditanggung oleh pemberi kerja.
f. Zakat yang diterima oleh orang pribadi yang berhak dari badan atau lembaga amil zakat yang dibentuk atau disahkan oleh Pemerintah.
7. Tarif Pajak Penghasilan Pasah 21 / PPh21
1. Pegawai Negara, Pegawai Negeri Sipil / PNS, anggota TNI Polri yang menerima honorariun serta bentuk imbalan lain yang berasal dari keuangan negara atau keuangan daerah penghasilan dipotong pph 21 sebesar 15% kecuali untuk golongan IId atau lebih rendah, TNI Polri pangkat Peltu ke bawah atau Ajun Insp. / Tingkat I ke bawah.
2. Orang yang menerima upah harian, upah mingguan, upah satuan, upah borongan dan uang saku harian yang jumlahnya lebih dari Rp. 24.000 sehari namun kurang dari Rp. 240.000 kena potongan 5% dari penghasilan bruto setelah dikurangi dengan PTKP (penghasilan tidak kena pajak) harian atau apabila tahunan maka dibagi 360.
3. Orang yang menerima pesangon, Tunjangan Hari Tua, Tebusan Pensiun atau Jaminan Hari Tua yang dibayarkan sekaligus. Untuk yang nominalnya antara Rp. 25.000.000 sampai dengan Rp. 50.000.000 terkena potongan pph21 sebesar 5%. Untuk antara Rp. 50.000.000 sampai dengan Rp. 100.000.000 terkena pph 21 sebesar 10%. Kemudian untuk antara Rp. 100.000.000 sampai dengan Rp. 200.000.000 dipotong pph21 20% dan yang terakhir apabila menerima Rp. 200.000.000 lebih terkena potongan pph21 25%.
4. Tenaga ahli yang melakukan pekerjaan bebas dikenakan potongan penghasilan pph 21 sebesar 15% dari perkiraan penghasilan neto yaitu 50% (lima puluh persen) dari penghasilan bruto. Tenaga ahli contohnya seperti arsitek, dokter, pengacara, akuntan, konsultan, notaris, penilai dan aktuaris.
5. Orang yang menerima honor atau honorarium, hadiah / penghargaan, bea siswa, uang saku, komisi, dan bentuk pembayaran lain sebagai imbalan atas jasa dan kegiatan yang jumlahnya dihitung tidak atas dasar banyaknya hari yang diperlukan untuk menyelesaikan jasa atau kegiatan. Mantan Pegawai yang menerima jasa produksi, bonus, gratifikasi dan tantiem. Peserta program pensiun yang menarik dananya pada dana pensiun semua dikenakan tarif berdasarkan pasal 17 Undang-undang PPh dikali Penghasilan Bruto.
6. Pegawai tetap, pegawai tidak tetap, pemagang, calon pegawai, penerima pensiun bulanan, distributor multi level marketing atau MLM serta direct selling dan kegiatan sejenis dikenakan tarif sesuai dengan yang ada di Pasal 17 Undang-Undang PPh 21 dikali dengan Penghasilan Kena Pajak (PKP). Berikut ini adalah cara menghitung penghasilan kena pajak / pkp :
- Pegawai tetap dihitung dengan cara mengurangi penghasilan kotor dengan biaya jabatan sebesar 5% maksimal Rp. 1.296.000 setahun atau Rp. 108.000 per bulan dikurangi lagi dengan biaya iuran pensiunm iuran jaminan hari tua dan dikurangi lagi dengan PTKP atau penghasilan tidak kena pajak.
- Penerima pensiun bulanan dihitung dengan cara mengurangi penghasilan bruto dengan biaya pensiunan sebesar 5% dikurangi Rp. 432.000 setahun atau Rp. 36.000 sebulan, lalu dikurangi lagi dengan PTKP atau penghasilan tidak kena pajak.
- Untuk pegawai tidak tetap, calon pegawai, pegawai magang / pemagang dihitung denga cara mengurangi penghasilan kotor dengan PTKP atau penghasilan tidak kena pajak.
- Untuk Distributor multi level marketing atau mlm, direct selling dan yang mirip atau sejenis dihitung dengan cara mengurangi penghasilan bruto dengan PTKP perbulan.
II. LAIN-LAIN
1. Pemotong Pajak wajib memberikan Bukti Pemotongan PPh Pasal 21 baik diminta maupun tidak pada saat dilakukannya pemotongan pajak kepada orang pribadi bukan sebagai pegawai tetap, penerima uang tebusan pensiun, penerima Jaminan Hari Tua, penerima pesangon, dan penerima dana pensiun.
2. Pemotong Pajak PPh Pasal 21 wajib memberikan Bukti Pemotongan PPh Pasal 21 tahunan (form 1721-A1 atau 1721-A2) kepada pegawai tetap, termasuk penerima pensiun bulanan dalam waktu 2 (dua) bulan setelah tahun takwim berakhir.
3. Apabila pegawai tetap berhenti bekerja atau pensiun pada bagian tahun takwim, maka Bukti Pemotongan (form 1721-A1 atau 1721-A2 ) diberikan oleh pemberi kerja selambat-lambatnya satu bulan setelah pegawai yang bersangkutan berhenti bekerja atau pensiun.
Penerima penghasilan wajib menyerahkan surat pernyataan kepada Pemotong Pajak PPh Pasal 21 yang menyatakan jumlah tanggungan keluarga pada permulaan tahun takwim atau pada permulaan menjadi Subyek Pajak dalam negeri.

Saat kita mencari data di web tak lepas dari jasa search engine. Kadang, daripada menghapal namasitus yang sangat banyak di dunia, orang lebih senang memakai jasa ini.
Masing-masing search engine mempunyai metode tersendiri untuk memperlihatkan hasil pencariannya. Google mempunyai apa yang disebut Google API. Begitu juga Yahoo. API tersebut biasanya memanfaatkan teknologi webservice untuk komunikasi datanya.
Tak dapat dipungkiri, search engine telah banyak membantu kita. Tapi ada juga masalah yang kadang terjadi akibat search engine. Berikut adalah kelebihan dan kekurangan search engine:
Kelebihan
Search engine memudahkan pencarian data relevan. Jika kita mengetikkan kata kunci tertentu, search engine akan berusaha mencari data paling cocok sesuai dengan APInya masing-masing.
Mendukung web-service. Fitur ini untuk pengembang software. Dengan mengetahui web-service suatu search engine, kita tidak perlu membuat search engine sendiri untuk membuat aplikasi yang support pencarian di web. Contohnya adalah browser firefox, Yahoo Messenger atau flock. Aplikasi-aplikasi tersebut support pencarian.
Search engine mengindex suatu halaman secara berkala. Jadi, bila suatu website diupdate search engine akan mengetahuinya.
Saat ini search engine juga support localized search. Yaitu pencarian berdasarkan lokasi pengunjung. Contohnya adalah google, jika anda mengetik google.com… di indonesia, maka akan redirect ke google.co.id.
Cepat diakses. Search engine biasanya didesain simpel agar cepat diakses. Hasil pencarian pun juga cepat muncul karena memakai caching.
Kekurangan
Kecepatan index dan kecepatan berkembangnya web yang tak sebanding. Saat ini berbagai website banyak bermunculan, jika kecepatan index search engine tidak ditingkatkan maka tak mungkin search engine bisa mengindex semuanya.
Kadangkala search engine tidak menampilkan hasil yang diinginkan. Search engine selalu berusaha menampillkan hasil yang relevan. Tetapi kadang kala tetap memperlihatkan hasil yang tidak relevan.
Munculnya orang-orang yang melakukan link-spamming. Yaitu melakukan spamming link untuk meningkatkan posisi mereka di search engine.
Tidak bisa mengindeks halaman tertentu. Beberapa website yang memakai konten dinamis tidak bisa diindex. Biasanya website seperti ini dihalangi oleh form yang mengharuskan inputan.

1.1 Latar Belakang Pemilihan Judul
Laboratorium Sistem Digital merupakan salah satu laboratorium di Jurusan Teknik Elektro FT-UGM. Keterbatasan petugas laboratorium dalam memberikan informasi kepada civitas akademika khususnya mahasiswa, membuat perlu adanya sistem informasi yang mudah diakses oleh kalangan civitas akademika.
Adanya LAN pada laboratorium Sistem Digital yang membuat hampir semua komputer dapat dihubungkan, memungkinkan untuk membuat suatu sistem informasi berbasis Web pada suatu server yang dapat diakses oleh semua komputer client di laboratorium tersebut. Kebutuhan pengguna umum terutama untuk kalangan civitas akademika terhadap informasi yang berkaitan dengan laboratorim sistem digital bisa didapat kapan saja. Selain memberikan layanan informasi, sistem informasi ini dapat digunakan untuk pendaftaran praktikum atau kurikulum yang berlaku.

1.2 Maksud dan Tujuan
Tugas akhir ini dibuat dengan maksud laboratorium sistem digital sebagai pihak yang menyajikan informasi dapat memberikan fasilitas informasi yang cukup kepada pihak-pihak yang membutuhkan terutama kalangan civitas akademika tanpa terhalangi oleh waktu dan tempat.
1.3 Batasan Masalah
Pembuatan tugas akhir ini dibatasi dalam hal penyediaan sistem informasi laboratorium sistem digital. Aplikasi ini menyediakan beberapa layanan informasi, di mana yang menjadi bahasan pokok dalam tugas akhir ini adalah sistem informasi perpustakaan di laboratorium (laporan tugas akhir, kerja praktek, buku) dan pendaftaran praktikum di laboratorium tersebut. Selain itu juga disediakan informasi tambahan yaitu kurikulum (baik reguler maupun ekstensi), tata tertib laboratorium, modul praktikum, serta penelitian yang sedang berjalan saat ini di laboratorium tersebut.
Selain level pengguna umum yang hanya dapat melihat sistem informasi serta mendaftar sebagai calon praktikan, ada level laboran yang dapat mengubah, menghapus dan menambah seluruh data yang ada pada database server.

1.4 Sistematika Penulisan Laporan
Laporan tugas akhir ini dibuat dengan sistem penulisan sebagai berikut:
BAB I PENDAHULUAN
Berisi tentang latar belakang pemilihan judul Pengembangan Perangkat Lunak Berbasis Web untuk Sistem Informasi Laboratorium Sistem Digital Jurusan Teknik Elektro FT-UGM, maksud dan tujuan, batasan masalah, dan sistematika penulisan laporan.
BAB II TEORI DASAR
Berisi tentang penjelasan tentang www, sistem informasi, basis data, struktur HTML, Active Server Page (ASP), dan ActiveX Data Object (ADO).
Operasi dasar basis data terutama dengan MySQL, IIS (internet information service), aplikasi web dengan ASP.
Sistem informasi laboratorium sistem digital berbasis web.
BAB III RANCANGAN APLIKASI SISTEM INFORMASI BERBASIS WEB
Berisi tentang rancangan web di laboratorium sistem digital serta rancangan basis datanya.
BAB IV PEMBAHASAN PROGRAM APLIKASI
Berisi tentang pembahasan program aplikasi menurut hak akses dan fasilitas yang digunakan masing-masing pengguna, kelebihan dan kekurangan program aplikasi dan perbandingan dengan program yang ada di pasaran.
BAB V KESIMPULAN DAN SARAN
Berisi tentang kesimpulan yang diambil dari pembahasan program aplikasi sistem informasi ini dan saran untuk pengembangan program aplikasi ini.
Selain terdiri dari 5 bab yang telah disebutkan di atas, masih ditambah lagi dengan daftar pustaka dan lampiran yang berisi program aplikasi web.

Sistem informasi adalah aplikasi komputer untuk mendukung operasi dari suatu organisasi: operasi, instalasi, dan perawatan komputer, perangkat lunak, dan data. Sistem Informasi Manajemen adalah kunci dari bidang yang menekankan finansial dan personal manajemen. Sistem Informasi Penjualan adalah suatu sistem informasi yang mengorganisasikan serangkaian prosedur dan metode yang dirancang untuk menghasilkan, menganalisa, menyebarkan dan memperoleh informasi guna mendukung pengambilan keputusan mengenai penjualan.
Sistem Informasi adalah sekumpulan hardware, software, brainware, prosedur dan atau aturan yang diorganisasikan secara integral untuk mengolah data menjadi informasi yang bermanfaat guna memecahkan masalah dan pengambilan keputusan
Sistem Informasi adalah satu Kesatuan data olahan yang terintegrasi dan saling melengkapi yang menghasilkan output baik dalam bentuk gambar, suara maupun tulisan.
Sistem informasi adalah sekumpulan komponen pembentuk sistem yang mempunyai keterkaitan antara satu komponen dengan komponen lainnya yang bertujuan menghasilkan suatu informasi dalam suatu bidang tertentu. Dalam sistem informasi diperlukannya klasifikasi alur informasi, hal ini disebabkan keanekaragaman kebutuhan akan suatu informasi oleh pengguna informasi. Kriteria dari sistem informasi antara lain, fleksibel, efektif dan efisien.
Sistem informasi adalah kumpulan antara sub-sub sistem yang salaing berhubungan yang membentuk suatu komponen yang didalamnya mencakup input-proses-output yang berhubungan dengan pengolaan informasi (data yang telah dioleh sehingga lebih berguna bagi user)
Suatu sistem informasi (SI) atau information system (IS) merupakan aransemen dari orang, data, proses-proses, dan antar-muka yang berinteraksi mendukung dan memperbaiki beberapa operasi sehari-hari dalam suatu bisnis termasuk mendukung memecahkan soal dan kebutuhan pembuat-keputusan manejemen dan para pengguna.
Artikel
Sistem Informasi Di Indonesiahttp://rms46.vlsm.org/2/114.pdf

Shell adalah Command executive, artinya program yang menunggu
instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan promp #.
Beberapa macam shell :

· /bin/sh

Bourne shell, dirancang oleh Steve Bourne dari AT&T

· /bin/csh

Dikembangkan oleh UNIX Berkeley yang dikenal dengan C-Shell

· /bin/bash

Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Korn- Shell.
Perbedaan mendasar antara Shell diatasi hampir tidak ada, kecuali pada

fasilitas pemrograman dan editing.


A. PROFILE

Pada saat login, program akan menjalankan beberapa program yaitu :

1. /etc/profile

Berisi shell script yang berlaku untuk seluruh pengguna Linux.

2. Profil untuk setiap pemakai

Pada home directory, login pertama kali akan memeriksa file .bash_profile. Bila tidak ada, maka file .bash_login akan dicari. Bila .bash_login tidak ada, maka dicari file bernama .profile.
3. .bashrc

File ini akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui instruksi su.
4. .bash_logout

Pada saat logout, maka bash akan mencari file .bash_logout. Bila ada, file tersebut akan dieksekusi sebelum logout


Isi dari /etc/profile

# System wide environment and startup programs
# Functions and aliases go in /etc/bashrc

PATH=”$PATH:/usr/X11R6/bin” PS1=”[\u@\h \W]\\$ “
umask 022

USER=’id –un’ LOGNAME=$USER
MAIL=”/var/spool/mail/$USER”

HOSTNAME=’/bin/hostname’ HISTSIZE=1000
HISTFILESIZE=1000

Export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL


PATH merupakan daftar nama direktori. Bila sebuah instruksi diberikan dari prompt shell, maka instruksi tersebut akan dicari pada daftar tersebut.
PS1 adalah prompt dimana

\u = Nama User

\h = Nama Host
\W = Nama working direktory


B. HISTORY

History diadaptasi dari C-Shell, yaitu catatan dari semua instruksi yang sejauh ini telah dilakukan. Catatan ini dapat dilihat sebagai history, kemudian dapat dipilih kembali, diedit dan dieksekusi. History memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang, terutama bila terjadi kesalahan pada penulisan instruksi maupun parameter.
Navigasi pada daftar history menggunakan karakter kontrool sebagai

berikut :

^P (Ctrl-P) melihat instruksi sebelumnya

^N (Ctrl-N melihat instruksi berikutnya

!! eksekusi kembali instruksi sebelumnya

!! –3 3 instruksi sebelumnya akan diulang

!!88 ulangi instruksi no 88



BASH-SCRIPT

Bash-script adalah file yang berisi koleksi program yang dapat dieksekusi. Untuk eksekusi bash script gunakan . sebelum file bash-script yang berarti eksekusi shell dan tanda ./ berarti file bash-script berada pada direktori actual.


JOB CONTROL

Job adalah sebuah eksekusi program yang diberikan kepada kernel. Sebuah Job dianggap selesai, bila eksekusi program tersebut berakhir. Eksekusi Job adalah sama dengan eksekusi program, baik proses Background maupun proses Foreground.

C. LANGKAH – LANGKAH

1. Masuk ke sistem operasi Linux.

2. Login sebagai stD3XXYYY.

3. Melihat profile pada file .bash_profile dan .bash_logout.
4. Gunakan instruksi history : history dan fc.

5. Buatlah file bash script dengan editor vi; instruksi chmod, &, fg, bg

6.
Gunakan perintah job control : jobs

7.
Gunakan perintah manipulasi stack untuk direktori : dirs, pushd,
popd
8.
Gunakan perintah alias dan unalias





D. PERCOBAAN

Percobaan 1 : Profile

1. File .bash_profile dijalankan pada home direktori pemakai yang login. File

.bash_profile adalah hidden file, sehingga untuk melihatnya gunakan opsi a pada instruksi ls.
$ ls –a
$ more .bash_profile

2. File .bash_logout akan diekseksi sesaat sebelum logout, berfungsi sebagai house clearing jobs, artinya membersihkan semuanya, misalnya menghapus temporary file atau job lainnya. Melihat file .bash_logout dengan instruksi
$ cat .bash_logout

Percobaan 2 : History

1. Melihat batasan maksimum instruksi yang dapat disimpan

$ echo $HISTSIZE

2. Melihat daftar instruksi yang telah dilakukan dengan perintah history. Daftar instruksi dilengkapi dengan nomor urut. Nomor ini dapat dijadikan parameter dalam mengedit atau mengulang instruksi
$ history

3. Selain history, instruksi fc (fix command) juga dapat digunakan

$ fc –l

4. Instruksi fc dapat menampilkan instruksi antara 2 nomor atau dengan menggunakan kata depan instruksi yang diberikan
$ fc –l [Nomor urut1] [Nomor urut2] (Misalnya fc –l 85 88)
$ fc [Instruksi1] [Instruksi2] (Misalnya fc –l exit more)






Percobaan 3 : Membuat Bash-script dan menjalankannya

1. Membuat file p1.sh

$ vi p1.sh
echo “Program bash Script”

2. Mengubah program menjadi executable

$ ls –l p1.sh
$ chmod +x p1.sh
$ ls –l p1.sh

3. Menjalankan script

$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ ./p1.sh

4. Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash. Tambahkan pada file p1.sh konvensi tersebut
$ vi p1.sh
#!/bin/bash
echo “Program bash script”

5. Buatlah file p2.sh

$ vi p2.sh
#!/bin/bash
echo “Program 2 bash script”

6. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan tanda ;
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh

7. Menjalankan script sebagai prosees background, sehingga prompt tidak menunggu program tersebut selesai. Untuk menjalankan proses background gunakan tanda & pada akhir instruksi.
$ ./p1.sh &
$ ./p2.sh &

8. Untuk menjalankan 2 program atau lebih dalam satu block, kemudian dieksekusi sebagai proses background, gunakan tanda ( … )
$ (ls ; who) > hasil &




$ cat hasil

Percobaan 4 : Job Control

1. Proses foreground

$ ps x

2. Proses background

$ ps x > hasil &

3. Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif

$ jobs

4. Buatlah file ploop.sh. File ini tidak akan pernah berhenti kecuali ditekan Ctrl-C

$ vi ploop.sh
#!/bin/bash while [ true ] do


done
sleep 10
echo “Hallo”

5. Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan

kata Hallo setiap 10 detik. Untuk keluar program, tekan Ctrl-C (^C)

$ chmod +x ploop.sh
$ ./ploop.sh

6. Jalankan program sebagai background

$ ./ploop.sh &

7. Periksa job yang aktif

$ jobs

8. Ubah job menjadi foreground, gunakan fg dan nomor job, atau fg dengan argumen berupa nama jobs yang sedang berjalan, atau bila tidak rancu dengan jobs yang lain, gunakan huruf depan nama jobs yang sedang berjalan.
$ fg %[Nomor Job] (Contoh : fg %1) atau
$ fg %ploop.sh

9. Untuk mengembalikan jobs tersebut ke background, tekan Ctrl-Z (^Z), kemudian jalankan instruksi bg
$ bg
$ jobs





Percobaan 5 : Manipulasi stack untuk Direktori

1. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanya ditampilkan direktori home ~
$ dirs

2. Membuat 3 buah direktori

$ mkdir marketing sales support

3. Masukkan direktori sales ke dalam stack dengan instruksi pushd. Maka terdapat 2 direktori dalam stack yaitu $HOME/sales dan $HOME. Kemudian lihat direktori aktual
$ pushd sales
$ pwd

4. Masuk ke direktori support

$ pushd /home/stD3XXYYY/support
$ pwd

5. Lakukan kembali untuk direktori marketing

$ pushd ../marketing
$ pwd

6. Bila pushd dilakukan tanpa argumen, maka stack akan mengambil direktori berikutnya
$ pushd
$ pushd
$ pushd

7. Untuk membuat direktori sales menjadi direktori paling atas (top stack), maka pushd dapat dilakukan dengan argumen +n, dimana n adalah nomor urut direktori tersebut
$ pushd +2
$ pwd

8. Untuk menghapus direktori dari stack, gunakan instruksi popd

$ popd
$ popd +2
$ dirs








Percobaan 6 : Alias

1. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok instruksi. Untuk melihat alias yang sudah terdaftar pada system :
$ alias

2. Membuat beberapa alias

$ alias del=’rm –i’
$ alias h=’history’

3. Gunakan instruksi hasil alias

$ ls
$ del hasil
$ h more

4. Untuk menghapus alias gunakan instruksi unalias

$ unalias del
$ del files (Terdapat Pesan Kesalahan)





E. Latihan

1. Eksekusi seluruh profile yang ada :

a. Edit file profile /etc/profile dan tampilkan pesan sebagai berikut :

echo “Profile dari /etc/profile”

b. Asumsi nama anda stD02001, maka edit semua profile yang ada yaitu

:

/home/stD02001/.bash_profile
/home/. stD02001/.bash_login
/home/stD02001/.profile
/home/stD02001/.bashrc

Ganti nama /home/stD02001 dengan nama anda sendiri. Pada setiap file tersebut, cantumkan instruksi echo, misalnya pada /home/ stD02001/.bash_profile :
echo “Profile dari .bash_profile”

Lakukan hal yang sama untuk file lainnya, sesuaikan tampilan dengan nama file yang bersangkutan.







c. Jalankan instruksi subtitute user, kemudian keluar dengan perintah exit sebagai berikut :
$ su stD02001

$ exit

kemudian gunakan opsi – sebagai berikut :

$ su – stD02001

$ exit

Jelaskan perbedaan kedua utilitas tersebut.

2. Prompt String (PS)

a. Edit file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan dengan parameter nama variable tersebut, agar perubahan variable PS1 dikenal oleh semua shell
PS1=’> ‘
export PS1

b. Eksperimen hasil PS1 :

$ PS1=“\! > “
69 > PS1=”\d > “
Mon Sep 23 > PS1=”\t > “
10:10:20 > PS1=”Saya=\u > “
Saya=stD02001 > PS1=”\w >”
~ > PS1=\h >”
3. Logout

Edit file .bash_logout, tampilkan pesan dan tahan selama 5 detik, sebelum eksekusi logout
Echo “Terima kasih atas sesi yang diberikan” Sleep 5
clear

4. Bash script

a. Buat 3 buah script p1.sh, p2.sh, p3.sh dengan isi masing-masing

:

p1.sh

#! /bin/bash
echo “Program p1”
ls –l

p2.sh

#! /bin/bash
echo “Program p2”
who




p3.sh

#! /bin/bash
echo “Program p3”
ps x

b. Jalankan script tersebut sebagai berikut :

$
./p1.sh ; ./p3.sh
;
./p2.sh

$
./p1.sh &



$
./p1.sh $ ./p2.sh
&
./p3.sh
&


5. Jobs
$ ( ./p1.sh ; ./p3.sh ) &

a. Buat shell-script yang melakukan loop dengan nama pwaktu.sh, setiap 10 detik, kemudian menyimpan tanggal dan jam pada file hasil.
#!/bin/bash while [ true ] do


done
date >> hasil
sleep 10

b. Jalankan sebagai background; kemudian jalankan satu program (utilitas find) di background sebagai berikut :
$ jobs
$ find / -print > files 2>/dev/null &
$ jobs

c. Jadikan program ke 1 sebagai foreground, tekan ^Z dan kembalikan program tersebut ke background
$ fg %1
$ bg

d. Stop program background dengan utilitas kill

$ ps x
$ kill [Nomor PID]

6. History

a. Ganti nilai HISTSIZE dari 1000 menjadi 20

$ HISTSIZE=20
$ h

b. Gunakan fasilitas history dengan mengedit instruksi baris ke 5 dari instruksi yang terakhir dilakukan
$ !-5







c. Ulangi instruksi yang terakhir. Gunakan juga ^P dan ^N untuk bernavigasi pada history buffer
$ !!

d. Ulaingi instruksi pada history buffer nomor 150

$ !150

e. Ulangi instruksi dengan prefix “ls”

$ !ls

1. INDONESIA

package Java1.Java;
import java.sql.*;
public class Indonesia {
private Connection conn;
// nama dsn di odbc private String url = "jdbc:odbc:kamus";
private Statement stmt; private String sql; private ResultSet rs;
// constructor // koneksi dibuka ketika class ini dipanggil
public Indonesia() { this.BukaKoneksi(); }
// Buka Koneksi DataBase
public void BukaKoneksi() { // coba try { // pengaksesan lewat JDBC-ODBC Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection(url); } // kalau gagal catch (ClassNotFoundException clex) { System.out.println("Driver database tidak ada"); } catch (SQLException sqlex) { System.out.println("Koneksi gagal dilakukan"); } }
public String caridata(String kata){ String hasil = null; try{ stmt=conn.createStatement(); // query dengan parameter dan sorting sql="select * from DataKamus where English='"+ kata +"'"; rs=stmt.executeQuery(sql); while (rs.next()){ hasil = rs.getString("Indonesia"); //System.out.println("Arti : " + rs.getString("Arti")); } } catch (SQLException sqlex) { System.out.println("Query gagal dieksekusi"); } return hasil; } public String findword(String kata){ String hasil = null; try{ stmt=conn.createStatement(); // query dengan parameter dan sorting sql="select * from DataKamus where Indonesia='"+ kata +"'"; rs=stmt.executeQuery(sql); while (rs.next()){ hasil = rs.getString("English"); } } catch (SQLException sqlex) { System.out.println("Query gagal dieksekusi"); } return hasil; }
}


2. TERJEMAH

package Java1.Java;
import java.util.Scanner;import javax.swing.*;public class Terjemah {
public static void main(String[] args) { Indonesia db =new Indonesia(); Scanner input = new Scanner(System.in); int pilih; String hasil; do{ String input1 = ""; input1 = JOptionPane.showInputDialog ("Java Dictionary [2.16.1988]\n(C) Copyright 2006-2008\nManajemen Informatika\n\n1. English - Indonesia\n2. Indonesia - English\n3. About\n4. Exit\n\nPilihan Anda : ",""); pilih = Integer.parseInt(input1); System.out.println(); if (pilih >=1 && pilih <=4){ if (pilih==1) { String teks = JOptionPane.showInputDialog ("Masukkan kata : "); hasil= db.caridata(teks); if (hasil==null) JOptionPane.showMessageDialog(null,"Maaf, Data yang Anda cari tidak ditemukan!!","Informasi",JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(null,teks+" = "+hasil, "English - Indonesia", JOptionPane.INFORMATION_MESSAGE); } else if (pilih==2){ String text = JOptionPane.showInputDialog ("Masukkan kata : "); hasil = db.findword(text); if (hasil==null) JOptionPane.showMessageDialog(null,"Maaf, Data yang Anda cari tidak ditemukan!!","Informasi",JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(null,text+" = "+hasil,"Indonesia - English",JOptionPane.INFORMATION_MESSAGE); } else if (pilih==3) JOptionPane.showMessageDialog(null,"Java Dictionary [2.16.1988]\n(C) Copyright 2006-2008\nManajemen Informatika All right reserved\n\nThis Dictionary is freeware for everyone\nVisit http://www.kurkurcyber.blogspot.com by :\n1. Kurniawan hartanto,"Informasi",JOptionPane.INFORMATION_MESSAGE); else System.exit(0); } else JOptionPane.showMessageDialog(null,"Pilihan yang Anda masukkan salah !!!","Kesalahan",JOptionPane.ERROR_MESSAGE); } while (pilih != 4); }}

;;