Selasa, 28 Desember 2010

PRATIKUM LINUX : Bab X, Firewall dasar

BAB I

DASAR TEORI

Firewall adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Firewall didesain untuk mengijinkan trusted data atau data yang dipercaya lewat, menolak layanan yang mudah diserang, mencegah jaringan internal dari serangan luar yang bisa menembus firewall setiap waktu. Umumnya juga digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari pihak luar.

Jenis - jenis Firewall :

Pada Linux ada dua jenis firewall yaitu packet filter dan proxy servers.

a. Packet filter dibagi menjadi 2 yaitu :

1. Forwarding

2. Masquerading

b. Firewall proxy servers juga dibagi menjadi dua yaitu :

a. Standard

b. Transparent


BAB II

PEMBAHASAN

Dalam pembahasan kali ini menjelaskan bagaimana menggunakan iptables untuk menyaring paket masuk ataupun keluar dan melewati komputer kita.

1. Langkah pertama kita harus mengecek apakah iptables kita sudah ada dalam komputer yang kita gunakan dengan perintah sudo dpkg -l | grep iptables pada terminal, setelah kita cek dan iptables sudah ada dalam kompuetrkita maka kita akan mengubah konfigurasi yang awalnya 0 menjadi 1 dengan perintah sudo echo “1” > /proc/sys/net/ipv4/ip_forward setelah itu kita cek lagi apakahh value nya sudah berubah jika sudah berubah maka ip_forwardnya sudah bernilai true atau sudah aktif, setelah itu kita nyalakan iptablesnya dengan perintah sudo /etc/init.d/iptables start kemudian kita lihat aturannya dengan perintah sudo iptables -L

2. Selanjutnya kita lakukan penolakan pada semua paket yang ingin masuk ke sistem kita dengan perintah sudo iptables -A INPUT -j DROP atau jika kita menolak semua paket data yang keluar maka kita bisa ketikan perintah sudo iptables -AOUTPUT -j REJECT kemudian kita cek apakah perintah tersebut berhasil dengan perintah ping

3. Sedangkan untuk memblok data berdasarkan protocol kita dapa gunakan perintah sudo iptables –A input –p tcp -j DROP, jika kita tidak tahu nama - nama protocol yang ada maka kita dapat mengeceknya terlebih dahulu dengan perintah sudo cat /etc/protocols atau dengan sudo cat /etc/services untuk melihat portnya

BAB III

KESIMPULAN

Dari pembahasan di atas dapat disimpulkan bahwa :

1. Firewall bisa memblok koneksi dari jaringan atau IP tertentu. Selain itu mekanisme filter juga memudahkan kita dalam mensetting Firewall sehingga lebih fleksible dalam pengaksesan.

2. Fungsi dari firewall adalah :

a. Packet Filtering : memeriksa header dari paket TCP/IP ( tergantung arsitektur jaringannya, dalam contoh ini adalah TCP IP ) dan memutuskan apakah data ini memiliki akses ke jaringan.

b. Network Address Translation ( NAT ) : biasanya sebuah jaringan memiliki sebuah IP public dan di dalam jaringan sendiri memiliki IP tersendiri. Firewall berfungsi untuk meneruskan paket data dari luar jaringan ke dalam jaringan dengan benar sesuai IP komputer lokal.

c. Application Proxy : firewall bisa mendeteksi protocol aplikasi tertentu yang lebih spesifik.

d. Traffic management : mencatat dan memantau trafik jaringan.

PRATIKUM LINUX : Bab IX, Routing

Routing
Router adalah sebuah konfigurasi pada jaringan komputer yang bertugas untuk menguhubungkan dua atau lebih jaringan komputer yang berbeda.
Tugas pokok router :
1. Penentuan jalur yang paling optimal
2. Mengirimkan pengiriman informasi dari satu komputer ke komputer yang lain, dimana ke dua komputer tersebut berada pada jaringan yang berbeda.
Keuntungan menggunakan router dengan PC Linux :
1. Murah
2. Fleksibel
3. Stabil
4. Mudah dikonfigurasi
5. Expandable
Menurut tipe Algoritmanya router ada 7 yaitu :
a. Router static atau dinamic
b. Single path atau Multi path
c. Link state dan distance vektor
d. Routing Global dan Decentralized
e. Intradomain dan interdomain
f. Flat dan Hierarchical
g. Host-inteligent dan Router-inteligent

Dalam pembahasan kali ini akan menjelaskan bagaimana cara mengubah komputer kita menjadi router.
1. Kita buat dulu IP address dengan perintah ifconfig eth0, setelah itu kita cek dengan perintah ifconfig, jika IP address yang ada pada eth0 sudah berbah maka pembuatan IP address sudah berhasil, setelah itu kita buat 2 IP alias yaitu eth0:1 dan eth0:2 lakukan dengan perintah yang sama, untuk mengecek apakah sudah berhasil kita gunakan juga perintah ifconfig

Kesimpulannya adalah :
a. Kita tidak akan bisa melakukan routing juka kita tidak memiliki router pada network kita
b. Hal yang perlu diketahui dalam melakukan routing :
1. Alamat tujuan
2. Router-router tetangga dari mana sebuah router bisa mempelajari tentang reticulated remote
3. Route yang mungkin ke semua network remote
4. Route terbaik untuk setiap reticulated remote
5. Router menyimpan routing table yang menggambarkan bagaimana menemukan network-netting remote.

PRATIKUM LINUX : Bab VII, Web Server (APACHE)

Instal Wordpress
Siapkan Wordpress (Dalam Flashdisc), Installasi Wordpress dari Flashdisc, Mount flashdisc, dengan cara : Tancapkan Flashdisc, Periksa letak Flashdisc/ nama device Flashdisc dengan perintah (#fdisk –l), Mount flashdisc ke media (sdb1 adalah nama/ letak devicenya) #mount/dev/sdb1/media, Masuk dengan media flashdisc (#cd/media/), Lihat isi flashdisc (#ls), Ekstrak wordpress ke tempat penyimpanan (/home/chronolegionaire/public_html) : (#tar xvfz wordpress-3.0.tar.gs –c /home/chronolegionaire/public_html), Proses pengekstrakan berjalan dan tunggu sampai selesai, Instal links terlebih, dengan cara : (#yast-i links), Buat database (Buka di chronolegionaire.ac.id/phpmyadmin dengan links) Buka chronolegionaire.ac.id/phpmyadmin, dengan cara : #links chronolegionaire.ac.id/phpmyadmin, Masukkan UserId dan Password xampp = UserId : lampp, Password : 1990(password xampp), Masuk di jendela phpmyadmin Pilih bahasa. Masukkan Username dan Password yang di set di xampp (Username : root; Password : root, Buat database dengan tab ke samping. Isi nama database (“wordpress”) create dan tekan enter. Keluar dari links dengan menekan tombol “Q” dan pilih “yes”., Masuk ke konfigurasi vhost dii xampp, dengan perintah : #vi/opt/lamp/etc/extra/httpd-vhost.conf, Edit httpd-vhost, setting dengan :
( NameVirtualHost 192.168.21.1:10
ServerAdmin webmaster@chronolegionaire.ac.id
DocumentRoot /home/chronolegionaire/public_html/wordpress
ServerName chronolegionaire.ac.id
ServerAlias www.chronolegionaire.ac.id
ErrorLog logs/dummy-hostexampel.com-err_log CustomLog logs/dummy-host.exampel.com-access_log common)

Beri tanda pagar (#) pada :
#ServerAdmin webmaster@dummy-host2.example.com
#DocumentRoot /www/dosc/dummy-host2.example.com
#ServerName dummy-host2.example.com
#ErrorLog logs/dummy-host2.example.com
#CustomLog logs/dummy-host2.example.com-access_log common
Lalu Simpan dengan menekan tombol ESC(:wq) enter


Konfigurasi Xampp dengan perintah : #vi/opt/lamp/atc/httpd.conf

Hilangkan tanda pagar pada include etc/extra/httpd-vhosts.conf
Simpan dengan menekan tombol ESC(:wq) Enter.

Masuk ke direektori wordpress yang di ekstrak (/home/chronolegionaire/public_httml/)
#cd/home/prasojoo/public_html/wordpress
#ls
#cp wp-config-sample.php wp-config.php
#vi wp-config.php

Setting
DB_NAME’,’wordpress’
DB_USER’,’root’
DB_PASSWORD’,’’root’
DB_HOST’,’’localhost’
Simpan dengan menekan tombol ESC (:wq) Enter

Restart xampp, dengan cara :
#/opt/lampp/lampp restart

Ubah hak akses ke direktori wordpress, dengan cara
#chmod 777 /home/chronolegionaire/public_html/wordpress


Buka browser. Coba apakah webserver berhasil.
Buka www.chronolegionaire.ac.id
Klik instal.php untuk insatali wordpress



Muncul jendela wordpress instalation. Pilih First Step.

Masuk pada First step.
Masukkan :
Weblog Title : chronolegionaire
Your e-mail : phy_lush@yahoo.com
Pilih Continue to Second Step

Masuk pada Second step (Step akhir).
Kita akan mendapat Username dan Password secara otomatis (Username dan Password untuk login ke webserver)

broser www.chronolegionaire.co.id (Instalasi Sukses)

Instal CMS

Pertama
Installasi Joomla(dengan menggunakan flass
Tancapkan Flashdisc, Periksa letak / nama device flashdisc ( #fdisc-l ), Mount flashdisc ke media dan sdb1 adalah nama/ letak devicenya (#mount/dev/sdb1/media), Masuk dalam media flashdisc (#cd/media/), Lihat isi flasdisc (#ls), Ekstrak Joomla ke /home/chronolegionaire/public_html (#tar xvfs Joomla_1.5.21-Stable-full_Package.tar.gz-C/home/chronolegionaire/publi_html), Proses ekstrak berjalan dan tunggu sampai selesai
Kedua
Buat database. Buka di chronolegionaire.ac.id/phpmyadmin dengan link, Buka chronolegionaire.ac.id/phpmyaddmin, dengan cara (#links chronolegionaire.ac.id/phpmyadmin), Masukkan UserId dan Password Xampp : UserId : lampp, Password : root, Masuk di Jendela phpmyyadmin, pilih bahasa. Masukkan : Username : root Password : root, Buat database dengan tab ke samping isi nama database “Joommla”àcreateàenter, Keluar dari links tekan “Q” dan “Yes”, Masuk konfigurasi vhost di Xampp dengan perintah : #vi/opt/lamp/etc/axtra/httpd-vhosts.conf, Edit httpd-vhosts.

MancVirtualHost 192.168.21.1:80
#
# VirtualHost example:
#Alhost any Apache directive may go into a VirtualHost constainer.
#The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any (VirtualHost) block.
#
(VirtualHost 192.168.21.1:80)
ServerAdmin webmaster@chronolegionaire.ac.id
DocumentRoot /home/chronolegionaire/public_html
Servername chronolegionaire.ac.id
ServerAlias www.chronolegionaire.ac.id
ErrorLog logs/dummy-host.example.com-error_log
CustonLog logs/dummy-host.example.com-access_log commos
(/VirtualHost)

#(VirtualHost -:80)
# ServerAdmin webmaster@dummy-host2.example.com
# DocumentRoot /www/docs/dummy-host2.example.com
# ServerName dummy-host2.example.com
# ErrorLog logs/dummy-host2.example.com-error_log
# CustonLog logs/dummy-host2.example.com.access_log commos
#(/VirtualHost)
:wq
Simpan dengan menekan tombol ESC (:wq)àEnter, Restart Xampp, caranya : #/opt/lampp/lampp restart, Buka browser www.chronolegionaire.ac.id. Pilih bahasa dan klik next



Pada Step ke-2 ternyata ada yang tidak jalan à configuration.php writable



Kita Harus merubah hak akses dengan cara : #chmod 777 /home/chronolegionaire/public_html

Refresh step ke-2



License di Next



Database :
Database Type : mysql
Hostname : localhost
Username : root
Password : root
Database Name : joomla



-Next



Pengisian FTP jika punya isikan, jika tidak di Next



Main Configuration, Isinya :



- Next


Finish. Hapus direktori installation di computer server



Masuk ke directori penyimpanan joomla.
#cd/home/chronolegionaire/public_html/
#rm-r installation/

Buka di browser www.chronolegionaire.ac.id)



-Instal sukses

Rabu, 08 Desember 2010

Java Stream File

Stream, Reader, dan Writer

Tanpa bisa berinteraksi dengan dunia lain, suatu program tidak ada gunanya. Interaksi suatu program dengan dunia lain sering disebut input/output atau I/O. Sejak dulu, salah satu tantangan terbesar untuk mendesain bahasa pemrograman baru adalah mempersiapkan fasilitas untuk melakukan input dan output. Komputer bisa terhubung dengan beragam jenis input dan output dari berbagai perangkat. Jika bahasa pemrograman harus dibuat secara khusus untuk setiap jenis perangkat, maka kompleksitasnya akan tak lagi bisa ditangani.

Salah satu kemajuan terbesar dalam sejarah pemrograman adalah adanya konsep (atau abstraksi) untuk memodelkan perangkat I/O. Dalam Java, abstraksi ini disebut dengan aliran (stream). Bagian ini akan memperkenalkan tentang aliran, akan tetapi tidak menjelaskan dengan komplit. Untuk lebih lengkapnya, silakan lihat dokumen resmi Java.

Ketika berhubungan dengan input/output, kita harus ingat bahwa ada dua kategori data secara umum : data yang dibuat oleh mesin, dan data yang bisa dibaca manusia. Data yang dibuat mesin ditulis dengan model yang sama dengan bagaimana data tersebut disimpan di dalam komputer, yaitu rangkaian nol dan satu. Data yang bisa dibaca manusia adalah data dalam bentuk rangkaian huruf. Ketika kita membaca suatu bilangan 3.13159, kita membacanya sebagai rangkaian huruf yang kita terjemahkan sebagai angka. Angka ini akan ditulis dalam komputer sebagai rangkaian bit yang kita tidak mengerti.

Untuk menghadapi kedua jenis data ini, Java memiliki dua kategori besar untuk aliran : aliran byte untuk data mesin (byte stream), dan aliran karakter (character stream) untuk data yang bisa dibaca manusia. Ada banyak kelas yang diturunkan dari kedua kategori ini.

Setiap objek yang mengeluarkan data ke aliran byte masuk sebagai kelas turunan dari kelas abstrak OutputStream. Objek yang membaca data dari aliran byte diturunkan dari kelas abstrak InputStream. Jika kita menulis angka ke suatu OutputStream, kita tidak akan bisa membaca data tersebut karena ditulis dalam bahasa mesin. Akan tetapi data tersebut bisa dibaca kembali oleh InputStream. Proses baca tulis data akan menjadi sangat efisien, karena tidak ada penerjemahan yang harus dilakukan : bit yang digunakan untuk menyimpan data di dalam memori komputer hanya dikopi dari dan ke aliran tersebut.

Untuk membaca dan menulis data karakter yang bisa dimengerti manusia, kelas utamanya adalah Reader dan Writer. Semua kelas aliran karakter merupakan kelas turunan dari salah satu dari kelas abstrak ini. Jika suatu angka akan ditulis dalam aliran Writer, komputer harus bisa menerjemahkannya ke dalam rangkaian karakter yang bisa dibaca maunsia.

Membaca angka dari aliran Reader menjadi variabel numerik juga harus diterjemahkan, dari deretan karakter menjadi rangkaian bit yang dimengerti komputer. (Meskipun untuk data yang terdiri dari karakter, seperti dari editor teks, masih akan ada beberapa terjemahan yang dilakukan. Karakter disimpan dalam komputer dalam nilai Unicode 16-bit. Bagi orang yang menggunakan alfabet biasa, data karakter biasanya disimpan dalam file dalam kode ASCII, yang hanya menggunakan 8-bit. Kelas Reader dan Writer akan menangani perubahan dari 16-bit ke 8-bit dan sebaliknya, dan juga menangani alfabet lain yang digunakan negara lain.)

Adalah hal yang mudah untuk menentukan apakah kita harus menggunakan aliran byte atau aliran karakter. Jika kita ingin data yang kita baca/tulis untuk bisa dibaca manusia, maka kita gunakan aliran karakter. Jika tidak, gunakan aliran byte. System.in dan System.out sebenarnya adalah aliran byte dan bukan aliran karakter, karenanya bisa menangani input selain alfabet, misalnya tombol enter, tanda panah, escape, dsb.

Kelas aliran standar yang akan dibahas berikutnya didefinisikan dalam paket java.io beserta beberapa kelas bantu lainnya. Kita harus mengimpor kelas-kelas tersebut dari paket ini jika kita ingin menggunakannya dalam program kita. Artinya dengan menggunakan "import java.io.*" di awal kode sumber kita.

Aliran tidak digunakan dalam GUI, karena GUI memiliki aliran I/O tersendiri. Akan tetapi kelas-kelas ini digunakan juga untuk file atau komunikasi dalam jaringan. Atau bisa juga digunakan untuk komunikasi antar thread yang sedang bekerja secara bersamaan. Dan juga ada kelas aliran yang digunakan untuk membaca dan menulis data dari dan ke memori komputer.

Operasi pada Aliran (Stream)

Kelas dasar I/O Reader, Writer, InputStream dan OutputStream hanya menyediakan operasi I/O sangat dasar. Misalnya, kelas InputStream memiliki metode instansi

public int read() throws IOException
untuk membaca satu byte data dari aliran input. Jika sampai pada akhir dari aliran input , metode read() akan mengembalikan nilai -1. Jika ada kesalahan yang terjadi pada saat pengambilan input, maka pengecualian IOException akan dilemparkan. Karena IOException adalah kelas pengecualian yang harus ditangani, artinya kita harus menggunakan metode read() di dalam penyataan try atau mengeset subrutin untuk throws IOException. (Lihat kembali pembahasan tentang pengecualian di bab sebelumnya)

Kelas InputStream juga memiliki metode untuk membaca beberapa byte data dalam satu langkah ke dalam array byte. Akan tetapi InputStream tidak memiliki metode untuk membaca jenis data lain, seperti int atau double dari aliran. Ini bukan masalah karena dalam prakteknya kita tidak akan menggunakan objek bertipe InputStream secara langsung. Yang akan kita gunakan adalah kelas turunan dari InputStream yang memiliki beberapa metode input yang lebih beragam daripada InputStream itu sendiri.

Begitu juga dengan kelas OutputStream memiliki metode output primitif untuk menulis satu byte data ke aliran output, yaitu metode

public void write(int b) throws IOException
Tapi, kita hampir pasti akan menggunakan kelas turunannya yang mampu menangani operasi yang lebih kompleks.

Kelas Reader dan Writer memiliki operasi dasar yang hampir sama, yaitu read dan write, akan tetapi kelas ini berorientasi karakter (karena digunakan untuk membaca dan menulis data yang bisa dibaca manusia). Artinya operasi baca tulis akan mengambil dan menulis nilai char bukan byte. Dalam prakteknya kita akan menggunakan kelas turunan dari kelas-kelas dasar ini.

Salah satu hal menarik dari paket I/O pada Java adalah kemungkinan untuk menambah kompleksitas suatu aliran dengan membungkus aliran tersebut dalam objek aliran lain. Objek pembungkus ini juga berupa aliran, sehingga kita juga bisa melakukan baca tulis dari objek yang sama dengan tambahan kemampuan dalam objek pembungkusnya.

Misalnya, PrintWriter adalah kelas turunan dari Writer yang memiliki metode tambahan untuk menulis tipe data Java dalam karakter yang bisa dibaca manusial. Jika kita memiliki objek bertipe Writer atau turunannya, dan kita ingin menggunakan metode pada PrintWriter untuk menulis data, maka kita bisa membungkus objek Writer dalam objek PrintWriter.

Contoh jika baskomKarakter bertipe Writer, maka kita bisa membuat

PrintWriter printableBaskomKarakter = new PrintWriter(baskomKarakter);
Ketika kita menulis data ke printableBaskomKarakter dengan menggunakan metode pada PrintWriter yang lebih canggih, maka data tersebut akan ditempatkan di tempat yang sama dengan apabila kita menulis langsung pada baskomKarakter. Artinya kita hanya perlu membuat antar muka yang lebih baik untuk aliran output yang sama. Atau dengan kata lain misalnya kita bisa menggunakan PrintWriter untuk menulis file atau mengirim data pada jaringan.

Untuk lengkapnya, metode pada kelas PrintWriter memiliki metode sebagai berikut :

// Metode untuk menulis data dalam
// bentuk yang bisa dibaca manusia
public void print(String s)
public void print(char c)
public void print(int i)
public void print(long l)
public void print(float f)
public void print(double d)
public void print(boolean b)

// Menulis baris baru ke aliran
public void println()

// Metode ini sama dengan di atas
// akan tetapi keluarannya selalu
// ditambah dengan baris baru
public void println(String s)
public void println(char c)
public void println(int i)
public void println(long l)
public void println(float f)
public void println(double d
public void println(boolean b)

Catatan bahwa metode-metode di atas tidak pernah melempar pengecualian IOException. Akan tetapi, kelas PrintWriter memiliki metode

public boolean checkError()
yang akan mengembalikan true jika ada kesalahan yang terjadi ketika menulis ke dalam aliran. Kelas PrintWriter menangkap pengecualian IOException secara internal, dan mengeset nilai tertentu di dalam kelas ini jika kesalahan telah terjadi. Sehingga kita bisa menggunakan metode pada PrintWriter tanpa khawatir harus menangkap pengecualian yang mungkin terjadi. Akan tetapi, jika kita ingin membuat progam yang tangguh tentunya kita harus selalu memanggil checkError() untuk melihat apakah kesalahan telah terjadi ketika kita menggunakan salah satu metode pada PrintWriter.

Ketika kita menggunakan metode PrintWriter untuk menulis data ke aliran, data tersebut diubah menjadi rangkaian karakter yang bisa dibaca oleh manusia. Bagaimana caranya jika kita ingin membuat data dalam bentuk bahasa mesin?

Paket java.io memiliki kelas aliran byte, yaitu DataOutputStream yang bisa digunakan untuk menulis suatu data ke dalam aliran dalam format biner. DataOutputStream berhubungan erat dengan OutputStream seperti hubungan antara PrintWriter dan Writer.

Artinya, OutputStream hanya berisi metode dasar untuk menulis byte, sedangkan DataOutputStream memiliki metode writeDouble(double x) untuk menulis nilai double, writeInt(int x) untuk menulis nilai int, dan seterusnya. Dan juga kita bisa membungkus objek bertipe OutputStream atau turunannya ke dalam aliran DataOutputStream sehingga kita bisa menggunakan metode yang lebih kompleks.

Misalnya, jika baskomByte adalah variabel bertipe OutputStream, maka

DataOutputStream baskomData = new DataOutputStream(baskomByte);
untuk membungkus baskomByte dalam baskomData.

Untuk mengambil data dari aliran, java.io memiliki kelas DataInputStream. Kita bisa membungkus objek bertipe InputStream atau turunannya ke dalam objek bertipe DataInputStream. Metode di dalam DataInputStream untuk membaca data biner bisa menggunakan readDouble(), readInt() dan seterusnya. Data yang ditulis oleh DataOutputStream dijamin untuk bisa dibaca kembali oleh DataInputStream, meskipun data kita tulis pada satu komputer dan data dibaca pada komputer jenis lain dengan sistem operasi berbeda. Kompatibilitas data biner pada Java adalah salah satu keunggulan Java untuk bisa dijalakan pada beragam platform.

Salah satu fakta yang menyedihkan tentang Java adalah ternyata Java tidak memiliki kelas untuk membaca data dalam bentuk yang bisa dibaca oleh manusia. Dalam hal ini Java tidak memiliki kelas kebalikan dari PrintWriter sebagaimana DataOutputStream dan DataInputStream. Akan tetapi kita tetap bisa membuat kelas ini sendiri dan menggunakannya dengan cara yang persis sama dengan kelas-kelas di atas.

Kelas PrintWriter, DataInputStream, dan DataOutputStream memungkinkan kita untuk melakukan input dan output semua tipe data primitif pada Java. Pertanyaannya bagaimana kita melakukan baca tulis suatu objek?

Mungkin secara tradisional kita akan membuat fungsi sendiri untuk memformat objek kita menjadi bentuk tertentu, misalnya urutan tipe primitif dalam bentuk biner atau karakter kemudian disimpan dalam file atau dikirim melalui jaringan. Proses ini disebut serialisasi (serializing) objek.

Pada inputnya, kita harus bisa membaca data yang diserialisasi ini sesuai dengan format yang digunakan pada saat objek ini diserialisasi. Untuk objek kecil, pekerjaan semacam ini mungkin bukan masalah besar. Akan tetapi untuk ukuran objek yang besar, hal ini tidak mudah.

Akan tetapi Java memiliki cara untuk melakukan input dan output isi objek secara otomatis, yaitu dengan menggunakan ObjectInputStream dan ObjectOutputStream. Kelas-kelas ini adalah kelas turunan dari InputStream dan OutputStream yang bisa digunakan untuk membaca dan menulis objek yang sudah diserialisasi.

ObjectInputStream dan ObjectOutputStream adalah kelas yang bisa dibungkus oleh kelas InputStream dan OutputStream lain. Artinya kita bisa melakukan input dan output objek pada aliran byte apa saja.

Metde untuk objek I/O adalah readObject() yang tersedia pada ObjectInputStream dan writeObject(Object obj) yang tersedia dalam ObjectOutputStream. Keduanya bisa melemparkan IOException. Ingat bahwa readObject() mengembalikan nilai bertipe Object yang artinya harus di-type cast ke tipe sesungguhnya.

ObjectInputStream dan ObjectOutputStream hanya bekerja untuk objek yang mengimplementasikan interface yang bernama Serializable. Lbih jauh semua variabel instansi pada objek harus bisa diserialisasi, karena interface Serializable tidak mempunyai metode apa-apa. Interface ini ada hanya sebagai penanda untuk kompiler supaya kompiler tahu bahwa objek ini digunakan untuk baca tulis ke suatu media.

Yang perlu kita lakukan adalah menambahkan "implements Serializable" pada definisi kelas. Banyak kelas standar Java yang telah dideklarasikan untuk bisa diserialisasi, termasuk semua komponen kelas Swing dan AWT. Artinya komponen GUI pun bisa disimpan dan dibaca dari dalam perangkat I/O menggunakan ObjectInputStream dan ObjectOutputStream.

Senin, 29 November 2010

File Transfer Protocol

FTP (singkatan dari File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork.
FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP. Sebuah Klien FTP merupakan aplikasi yang dapat mengeluarkan perintah-perintah FTP ke sebuah server FTP, sementara server FTP adalah sebuah Windows Service atau daemon yang berjalan di atas sebuah komputer yang merespons perintah-perintah dari sebuah klien FTP. Perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus transfer antara biner dan ASCII, menggugah berkas komputer ke server FTP, serta mengunduh berkas dari server FTP.
Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.

FTP menggunakan protokol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga di antara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum transfer data dimulai. Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan "mendengarkan" percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail.

1.
Komfigurasi SSH Server
1. Pastikan paket openssh sudah terinstal pada saat instalasi Linux
Sudo dpkg –l | grep ssh
b. Melakukan editing pada file /etc/ssh/sshd_config, demgan cara ketikkan perintah berikut ini :
sudo vi /etc/ssh/sshd_config
1. Untuk melihat ip yang ada dalam computer kita
Ifconfig

1. Mengirim data dengan SCP
Secure Copy Protocol (SCP) adalah sebuah tool yang sangat berguna dalam mengirim dan menerima file melalui Secure Shell (SSH) di internet tanpa (atau dengan sedikit) resiko jalur kita terdeteksi oleh pihak lain. File Transfer Protocol (FTP) adalah adalah protokol yang paling populer digunakan dalam transfer File. Namun ternyata cara ini dirasakan kurang aman karena penyampaiannya yang tanpa enkripsi. SCP atau Secure Copy dan SSH File Transfer Protocol dibuat sebagai alternatif dengan mempertimbangkan hal ini maka ia pun disampaikan dengan channel yang terenkripsi. Berikut adalah cara menggunakan SCP untuk mengirim file dan menerima file.

Caranya adalah :
Scp /home/namauser/namafile.txt user@iptujuan :/home/user/
Mengirim File/Folder
Kita dapat mengirim file melalui SCP dari Terminal (Shell) dengan perintah:
scp namafile.ext username@namadomain.tld:/nama/folder/tujuan
Masing-masing parameter tersebut berarti sebagai berikut:
• namafile.ext adalah nama file yang akan dikirim berikut extensionnya, atau dapat juga berupa nama folder (bila berupa nama folder maka akan digunakan parameter -r).
• username adalah nama user di mesin tujuan kita.
• namadomain.tld adalah nama domain atau nomor IP tujuan kita. Contoh: wordpress.com atau 192.168.1.1
• /nama/folder/tujuan adalah path/jalur lokasi folder dimana kita akan menempatkan file yang kita maksud.
Berikut adalah beberapa parameter tambahan dalam penggunaan SCP:
• -r parameter ini digunakan bila kita akan mengirimkan sebuah folder, maka parameter “-r” akan dibutuhkan agar seluruh isi folder tersebut, termasuk file dan sub-folder juga ikut dicopy.
• -P # parameter ini digunakan bila kita ingin menggunakan port selain port default yaitu port 22.
Mengambil File/Folder
Untuk mengambil file atau folder dari mesin/server yang kita maksud, gunakan perintah:
scp username@namadomain.tld:/nama/folder/asal/namafile.ext /folder/tujuan/lokal

Rabu, 27 Oktober 2010

Tugas Struktur Data Linked List

Artikel tentang Linked List dengan Array
Linked list
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Linked list (list bertaut) adalah salah satu struktur data dasar yang sangat fundamental dalam bidang ilmu komputer. Dengan menggunakan linked list maka programmer dapat menimpan datanya kapanpun dibutuhkan. Linked list mirip dangan array, kecuali pada linked list data yang ingin disimpan dapat dialokasikan secara dinamis pada saat pengoperasian program (run-time).
Pada array, apabila programmer ingin menyimpan data, programmer diharuskan untuk mendefinisikan besar array terlebih dahulu, seringkali programmer mengalokasikan array yang sangat besar(misal 100). Hal ini tidak efektif karena seringkali yang dipakai tidak sebesar itu. Dan apabila programmer ingin menyimpan data lebih dari seratus data, maka hal itu tidak dapat dimungkinkan karena sifat array yang besarnya statik. Linked list adalah salah satu struktur data yang mampu menutupi kelemahan tersebut.
Secara umum linked list tersusun atas sejumlah bagian-bagian data yang lebih kecil yang terhubung (biasanya melalui pointer). Linked list dapat divisualisasikan seperti kereta, bagian kepala linked list adalah mesin kereta, data yang disimpan adalah gerbong, dan pengait antar gerbong adalah pointer.
-------- -------- --------
Mesin Data Data
-------- -------- --------
(kepala) ---> Pointer ---> Pointer --
-------- -------- --------
Programmer membaca data menyerupai kondektur yang ingin memeriksa karcis penumpang. Programmer menyusuri linked list melalui kepalanya, dan kemudian berlanjut ke gerbong (data) berikutnya, dan seterusnya sampai gerbong terakhir (biasanya ditandai dengan pointer menunjukkan alamat kosong (NULL)). Penyusuran data dilakukan secara satu persatu sehingga penyusuran data bekerja dengan keefektifan On. Dibandingkan array, ini merupakan kelemahan terbesar linked list. Pada array, apabilan programmer ingin mengakses data ke-n (index n), maka programmer dapat langsung mengaksesnya. Sedangkan dengan linked list programmer harus menyusuri data sebanyak n terlebih dahulu.
Apabila kita menggunakan java, konsep linked list ini sudah terlingkupi dalam Java Collection Framework (JCF). Dengan Java, kita tidak perlu lagi membuat LinkedList. Kita tinggal menggunakan class yang sudah disediakan dalam JCF.
Berikut ini saya akan menjelaskan operasi-operasi yang ada pada Linked List yaitu sebagai berikut :
1.Insert
Insert digunakan untuk menambahkan sebuah simpul baru ke dalam suatu linked list.
2.IsEmpty
IsEmpty digunakan untuk mengetahui apakah linked list kosong atau tidak.
3.Fine First
Fine First digunakan untuk mencari elemen pertama dari linked lis
4.Fine Next
Fine Next digunakan untuk mencari elemen sesudah elemen yang ditunjuk oleh now.
5.Retrieve
Retrieve digunakan untuk mengambil elemen yang ditunjuk oleh now. Kemudian elemen tersebut akan dikembalikan oleh fungsi.
6.Update
Update digunkan untuk mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu.
7.Delete Now
Delete Now digunakan untuk menghapus elemen yang ditunjuk oleh now.
8.Delete Head
Delete Head digunakan untuk menghapus elemen yang ditunjuk head. Head berpindah ke elemen sesudahnya.
9.Clear
Clear digunakan untuk menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda melakukannya, data-data yang dialokasikan ke memori pada program sebelumnya akan tetap tertinggal di dalam memori.
Jenis-Jenis Linked List
• Singly linked list
• Double linked list
• Circular Linked List

Dalam pembuatan single linked list dapat menggunakan dua metode:
a. LIFO (Last In First Out) aplikasinya : Stack (Tumpukan)
Adalah suatu metoda pembuatan linked list dimana data yang masuk paling akhir adalah data yang keluar paling awal.
b. FIFO (First In First Out) aplikasinya : Queue (Antrian)
Adala suatu metoda pembuatan linked list dimana data yang masuk paling awal adalah data yang keluar paling awal juga.

Program Linked List dengan pointer

#include // merupakan are preprocessor directive yang memberitahukan preprocessor kompiler untuk menyertakan header file standard iostream.
#include // merupakan are preprocessor directive yang memberitahukan preprocessor kompiler untuk menyertakan header file standard iostream.
using std::cout;

//fungsi pendeklarasian nilai dengan variabel typeinfo bertipe integer
typedef int typeinfo;//menjadikan typeinfo bernilai integer
typedef struct typenode *typeptr;//membuat fungsi struct typenode dengan fungsi typeptr
typedef struct typenode {typeinfo info; //membuat fungsi struct typenode dengan fungsi typeinfo nama info
typeptr next;};//membuat fungsi struct typenode dengan fungsi typeinfo nama typeptr


typeptr awal,akhir;//typeptr dengan variabel awal dan akhir
void buatlistbaru();//pendeklarasian fungsi
void sisipdepan (typeinfo IB);//pendeklarasian fungsi dengan nilai IB
void sisipbelakang (typeinfo IB);//pendeklarasian fungsi dengan nilai IB
void sisiptengah (typeinfo IB);//pendeklarasian fungsi dengan nilai IB
void hapuslist(typeinfo IB);//pendeklarasian fungsi dengan nilai IB
void cetaklist ();//pendeklarasian fungsi
int main()//main program / program utama

{
//fungsi program
buatlistbaru();//sintaks menjalankan program
sisipdepan(10);//sintaks menjalankan program
sisipbelakang(25);//sintaks menjalankan program
sisipbelakang(100);//sintaks menjalankan program
sisiptengah(50);//sintaks menjalankan program
cetaklist ();//sintaks menjalankan program
hapuslist (50);//sintaks menjalankan program
cetaklist ();//sintaks menjalankan program
return 0;
}

//tujuan dari program di bawah ialah untuk menetukan letak awal dan akhir dari list//
void buatlistbaru()//perintah memanggil fungsi
{ typeptr list;//pendeklarasian variabel "list" dengan tipe pointer
list = (typenode *) malloc(sizeof(typenode));//pointer "list" menunjuk ke suatu pointer kosong
list=NULL;//nilai dari pointer "list" adalah NULL/kosong
awal=list;//pointer "awal" menunjuk ke yang ditunjuk pointer "list"
akhir=list;//pointer "akhir" menunjuk ke yang ditunjuk pointer "list"
}

//tujuan dari program di bawah ialah menyisipkan suatu node yang nantinya akan diletakkan di bagian depan list//
void sisipdepan(typeinfo IB)//perintah memanggil fungsi dan pemberian nilai IB
{ typeptr NB;//perintah pendekarasian variabel "NB" dengan tipe data pointer
NB=(typenode *) malloc(sizeof(typenode));//pointer "NB" menunjuk ke suatu pointer kosong
NB->info=IB;//info dari pointer NB sama dengan IB
if (awal == NULL)//jika info awal sama dengan NULL, maka jalankan program dibawah
{ awal = NB;//pointer "awal" menunjuk ke yang ditunjuk pointer "NB"
akhir =NB; }//pointer "akhir" menunjuk yang ditunjuk ke pointer "NB"
else//jika prosedur pembanding tidak sesuai, maka mengerjakan perintah di bawah
{ NB->next=awal;}//alamat pointer "NB" menunjuk ke pointer "awal"
awal=NB;//pointer "awal" menunjuk ke yang ditunjuk pointer "list"
}

//tujuan dari program di bawah ialah menyisipkan suatu node yang nantinya akan diletakkan di bagian belakang list//
void sisipbelakang(typeinfo IB)//perintah memanggil fungsi dan pemberian nilai IB
{ typeptr NB;//perintah pendekarasian variabel NB dengan tipe data pointer
NB=(typenode *) malloc(sizeof(typenode));//pointer "NB" menunjuk ke suatu pointer kosong
NB->info=IB;//info dari pointer NB sama dengan IB
if (awal == NULL)//jika info awal sama dengan NULL, maka jalankan program dibawah
{ awal = NB;//pointer "awal" menunjuk ke yang ditunjuk pointer "NB"
akhir =NB; }//pointer "akhir" menunjuk ke yang ditunjuk pointer "NB"
else//jika prosedur pembanding tidak sesuai, maka mengerjakan perintah di bawah
{ akhir->next=NB;}//alamat pointer "akhir" menunjuk ke pointer "NB"
akhir=NB;//pointer "akhir" menunjuk ke pointer "list"
akhir->next=NULL;//alamat pointer "akhir" kosong/NULL
}

//tujuan dari program di bawah ialah menyisipkan suatu node yang nantinya akan diletakkan di bagian belakang list//
void sisiptengah(typeinfo IB)//perintah memanggil fungsi dan pemberian nilai IB
{ typeptr NB, bantu;//perintah pendekarasian variabel NB dan bantu dengan tipe data pointer
NB=(typenode *) malloc(sizeof(typenode));//pointer "NB" menunjuk ke suatu pointer kosong
NB->info=IB;//info dari pointer NB sama dengan IB
NB->next=NULL;//alamat pointer "NB" kosong/NULL
if (awal == NULL)//jika info awal sama dengan NULL, maka jalankan program dibawah
{ awal = NB;//pointer "awal" menunjuk ke yang ditunjuk pointer "NB"
akhir =NB; }//pointer "akhir" menunjuk ke yang ditunjuk pointer "NB"
else//jika prosedur pembanding tidak sesuai, maka mengerjakan perintah di bawah
{ bantu=awal;//pointer "bantu" sama dengan "awal"
while ((IB > bantu->next->info) && (bantu->next!=NULL))//jika "IB" lebih besar daripada info dari bantu next, maka jalankan program dibawah
bantu=bantu->next;}//memindah alamat yang ditunjuk pointer "bantu" ke node selajutnya
NB->next=bantu->next;//memindah alamat yang dituju NB ke alamat yang dituju bantu
bantu->next=NB;//memindah alamat bantu ke "NB"
}

//tujuan dari program di bawah ialah menghapus suatu node list//
void hapuslist(typeinfo IH)//perintah memanggil fungsi dan pemberian nilai IB
{ typeptr hapus, bantu;//perintah pendekarasian variabel hapus dan bantu dengan tipe data pointer
if(awal==NULL)//jika info awal sama dengan NULL, maka jalankan program dibawah
cout << "List masih kosong";//output
else if (awal->info==IH)//jika prosedur pembanding tidak sesuai, cek jika info awal sama dengan IH, maka mengerjakan perintah di bawah
{ hapus=awal;//memindah pointer hapus menunjuk ke pointer awal
awal=hapus->next;//memindah pointer awal ke alamat yang ditunjuk hapus next
free(hapus); }//node yangt ditunjuk oleh pointer "hapus" akan dihapus
else//jika prosedur pembanding tidak sesuai, maka mengerjakan perintah di bawah
{ bantu=awal;//memindah pointer hapus menunjuk ke pointer awal
while ((bantu->next->info!=IH) && (bantu->next=NULL))//jika info dari alamat yang dituju bantu adalah IH dan alamat yang dituju bantu adalah NULL, maka mengerjakan perintah di bawah
{bantu=bantu->next;}//memindah alamat yang ditunjuk pointer "bantu" ke alamat yang dituju pointer"bantu"
hapus=bantu->next;//memindah pointer hapus ke "alamat" yang dituju "bantu"
if (hapus==NULL)//jika hapus sama dengan NULL, maka jalankan program di bawah
{ cout<< "List tidak ditemukan \n"; }//output
else//jika prosedur pembanding tidak sesuai, maka mengerjakan perintah di bawah
{if (hapus==akhir)//jika pointer "hapus" sama dengan pointer "akhir", maka jalankan program di bawah
{akhir=bantu;//memidah alamat yang dituju pointer "akhir" ke pointer "bantu"
akhir->next=NULL; }//alamat pointer "NB" kosong/NULL
else//jika prosedur pembanding tidak sesuai, maka mengerjakan perintah di bawah
{bantu->next=hapus->next;}//memindah alamat yang dituju pointer "bantu" ke alamat yang ditujun pointer "hapus"
free(hapus);}//node yangt ditunjuk oleh pointer "hapus" akan dihapus
}
}
//tujuan dari program di bawah ialah mencetak list//
void sisiptengah(typeinfo IB)
void cetaklist()//perintah memanggil fungsi
{ typeptr bantu;//perintah pendekarasian variabel "NB" dengan tipe data pointer
bantu=awal;//pointer bantu menunjuk ke yang ditunjuk pointer "awal"
while (bantu!=NULL)//jika nilai "bantu" tidak sama dengan NULL
{
cout << " " << bantu->info;//output sekaligus mencetak info dari bantu
cout << " " ;//output
bantu=bantu->next;//memindah alamat yang ditunjuk pointer "bantu" ke alamat yang dituju pointer"bantu"

}
}

Selasa, 26 Oktober 2010

Program Java II, Login Form :

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class CobaLoginForm extends JFrame implements ActionListener{
JFrame layar;
public JLabel lUser, lPass;
public JButton bOK, bCancel;
public JTextField tUser;
public JPasswordField pwPass;
public String s1, sUser, sPass;
public CobaLoginForm(){
super("Login Form");
lUser = new JLabel("Username");
lPass = new JLabel("Password");
bOK = new JButton("OK");
bCancel = new JButton("Cancel");
tUser = new JTextField(20);
pwPass = new JPasswordField(20);
add(lUser);
add(tUser);
add(lPass);
add(pwPass);
add(bOK);
add(bCancel);
lUser.setBounds (10 , 10, 100, 20);
tUser.setBounds (120, 10, 200, 20);
lPass.setBounds (10 , 30, 100, 20);
pwPass.setBounds (120, 30, 200, 20);
bOK.setBounds (10 , 60, 150, 30);
bCancel.setBounds (170, 60, 150, 30);

setLayout(null);
setVisible(true);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setSize(350, 140);

bOK.addActionListener(this);
bCancel.addActionListener(this);

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent ev) {
if (JOptionPane.showConfirmDialog(layar, "Apa Anda yakin?") == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
}

public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == bOK) {
if(tUser.getText().equals("123090076")&&pwPass.getText().equals("java2"))
JOptionPane.showMessageDialog(this, "Login Successfull\n" +
"", "message",
JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(this, "Login Failed\n" +
"Please Try Again!", "message",
JOptionPane.WARNING_MESSAGE);
tUser.setText("");
pwPass.setText("");
}
if(ae.getSource()==bCancel){
if (JOptionPane.showConfirmDialog(layar, "Are you sure?") == JOptionPane.YES_OPTION) {
System.exit(0);
}
}}
}
public class LoginForms{
public static void main(String[] args) {
new CobaLoginForm();
}
}

Output Java II, Login Form :

Program Login Form


Window jika logiin berhasil


Window jika logiin gagal


Window keluar program

Senin, 25 Oktober 2010

LAPORAN PRAKTIKUM
LINUX
MODUL III
KONSEP JARINGAN DAN TCP/IP
Disusun oleh :
Herry Adrianto Nugroho
123090076
Plug 4

Asisten Dosen : I PUTU JISTHA M

JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL ”VETERAN”
YOGYAKARTA
2010
BAB I
DASAR TEORI
Network atau Jaringan dalam bidang komputer dapat diartikan sebagai sekumpulan komputer, serta perangkat-perangkat lain pendukung komputer yang saling terhubung dalam suatu kesatuan yang dihubungkan dengan media transimisi/komunikasi dengan menggunakan suatu standarisasi sehingga dapat saling berinteraksi dan berkomunikasi serta saling melakukan pertukaran informasi, seperti dokumen dan data, dapat juga melakukan pencetakan pada printer yang sama dan bersama-sama memakai perangkat keras dan perangkat lunak yang terhubung dengan jaringan. Media jaringan komputer dapat melalui kabel-kabel(wireline) atau tanpa kabel(wireless). Setiap komputer, ataupun perangkat-perangkat yang terhubung dalam suatu jaringan disebut dengan node. Dalam sebuah jaringan komputer dapat mempunyai dua, puluhan, ribuan atau bahkan jutaan node.

BAB II
PEMBAHASAN
A. Desain jaringan dan perangkat network
1. Protocol jaringan = standar yang harus saling dimengerti oleh suatu komputer dan komputer lain agar dapat saling berkomunikasi.
a. TCP / IP : protocol yang digunakan hampir seluruh sistem operasi dan merupakan standar umum dari internet.
b. NetBIOS : protocol ini merupakan standard yang dikembangkan oleh IBM.
c. Apple talk : protocol yang berjalan pada sistem operasi Macintosh.
d. IPX : protocol yang digunakan oleh NetWare.
e. NETBUI : protocol yang dikembangkan oleh Microsoft untuk sistem operasi Windows.
2. Media Transmisi
a. Coaxial Cable : benruk seperti kabel TV.
b. TP (Twisted Pair) : kabel yang terdiri atas 4 pasang yang saling berpilin.
c. Fiber Optic : kabel yang tersusun atas serat optic.
3. Kartu Jaringan / NIC = perangkat jaringan yang memiliki MAC address, kenyataannya NIC(Network Interface Card) inilah yang dikenali oleh jarinagn, bukan komputernya.
4. Repreater, Router , Switch, HUB, Bridge = alat-alat yang berguna menghubungkan antara segmen-segmen kabel LAN.
B. Protocol Jaringan
1. Ethernet
Protokol Ethernet paling banyak di gunakan dalam sistem jaringan. Ethernet menggunakan metode akses yang disebut dengan CSMA/CD (Carrier Sense Multiple Access/Collision Detection) dalam mengkomunikasikan data. Protocol Ethernet bekerja dengan memperhatikan network atau jaringan sebelum di lakukan transformasi atau transmisi data . Apabila jalur masih sibuk maka akan dia akan menunggu melakukkan pengiriman data hingga jalur bersih dari data.Topologi : Topologi BUS dan Topologi Star
Kabel : Coaxial, Fiber Optic dan Twisted Pair
Kecepatan : 10 Mbps.
2. Local Talk
Local Talk merupakan protokol jaringan dengan menggunakan metode akses yang disebut CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) dalam mengkomunikasikan data. Protocol Local Talk di Populerkan oleh Machintos atau Apple Computer. Protocol Local Talk bekerja dengan menghindari dari tabrakan saat pengiriman data. Adapter Local Talk dan Kabel Twisted Pair khusus di gunakan dalam jaringan ini melalui serial port.
Topologi : Topologi Bus
Kabel : Twisted Pair
Kecepatan : 230 Kbps
3. Token Ring
Protokol Token Ring di populerkan oleh IBM pada tahun 1980. Metode akses protokol Token Ring adalah melalui sebuah Token dalam sebuah lingkaran seperti cincin. Sinyal Token bergerak berputar dalam sebuah lingkaran (cincin) dalam sebuah jaringan dan bergerak dari satu komputer menuju ke komputer lainnya. Jika pada persinggahan di salah satu komputer terdapat data yang ingin ditransmisikan, Token akan mengirimkan data ke tempat yang di inginkan tersebut. Selanjutnya, Token bergerak untuk saling mengkoneksikan di antara masing-masing komputer.


Topologi : Topologi Star
Kabel : Twisted Pair dan Fiber Optic
Kecepatan : 4 Mbps - 11 Mbps
4. FDDI (Fiber Distributted Data Interface)
FDDI merupakan protokol jaringan dengan metode akses model Token. FDDI menghubungkan beberapa komputer sampai jarak yang jauh. Topologi ini bentuknya sama dengan Token Ring tetapi menggunakan 2 buah ring. Dengan Maksud apabila ring 1 ada masalah maka secara otomatis akan berpindah ke ring 2.

Topologi : Topologi Star
Kabel : Fiber Optic
Kecepatan : 100 Mbps
C. Konsep TCP/IP(Transmission Control Protocol/Internet Protocol)
1. Network Access Layer
Bertanggung jawab mengirim dan menerima data dari dan ke media fisik. Tiap protokol pada layer ini harus mampu menerjemahkan sinyal listrik menjadi data digital yang dimengerti komputer, ethernet, token ring, dan dial-up modem yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digitel Network (ISDN), serta Asynchronus Transfer Mode (ATM).
2. Internet Layer
Bertanggungjawab dalam proses pengiriman paket ke alamat yang tepat. Ada beberapa macam protokol di dalamnya, misalnya Internet Protocol (IP), Address Resolution Protocol (ARP), dan Internet Control Message Protocol (ICMP) .
3. Host to Host Layer
Bertanggung jawab untuk mengadakan komunikasi antara dua host/komputer. Ada dua macam protokol didalamnya, yaitu Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP ).
4. Application Layer
Bertanggung jawab untuk menampilkan semua aplikasi yang menggunakan protocol TCP/IP. Sebagai contoh adalah Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), dan Telnet. Berikut ini perbandingan referensi lapisan-lapisan layer model Open Sistem Interconnection (OSI) dengan layer model sistem operasi Linux yang digunakan di penelitian ini:

D. IP Address
1. Jumlah IP address yang tersedia secara teoritis adalah 255x255x255x255 atau sekitar 4 milyar lebih yang harus dibagikan ke seluruh pengguna jaringan internet di seluruh dunia. Pembagian kelas-kelas ini ditujukan untuk mempermudah alokasi IP Address, baik untuk host/jaringan tertentu atau untuk keperluan tertentu.
2. IP Address dapat dipisahkan menjadi 2 bagian, yakni bagian network (net ID) dan bagian host (host ID). Net ID berperan dalam identifikasi suatu network dari network yang lain, sedangkan host ID berperan untuk identifikasi host dalam suatu network. Jadi, seluruh host yang tersambung dalam jaringan yang sama memiliki net ID yang sama. Sebagian dari bit-bit bagian awal dari IP Address merupakan network bit/network number, sedangkan sisanya untuk host. Garis pemisah antara bagian network dan host tidak tetap, bergantung kepada kelas network. IP address dibagi ke dalam lima kelas, yaitu kelas A, kelas B, kelas C, kelas D dan kelas E.
3. Perbedaan tiap kelas adalah pada ukuran dan jumlahnya. Contohnya IP kelas A dipakai oleh sedikit jaringan namun jumlah host yang dapat ditampung oleh tiap jaringan sangat besar. Kelas D dan E tidak digunakan secara umum, kelas D digunakan bagi jaringan multicast dan kelas E untuk keprluan eksperimental. Perangkat lunak Internet Protocol menentukan pembagian jenis kelas ini dengan menguji beberapa bit pertama dari IP Address.
4. Bit pertama IP address kelas A adalah 0, dengan panjang net ID 8 bit dan panjang host ID 24 bit. Jadi byte pertama IP address kelas A mempunyai range dari 0-127. Jadi pada kelas A terdapat 127 network dengan tiap network dapat menampung sekitar 16 juta host (255x255x255). IP address kelas A diberikan untuk jaringan dengan jumlah host yang sangat besar, IP kelas ini dapat dilukiskan pada gambar berikut ini:
5. IP address kelas A
6. Dua bit IP address kelas B selalu diset 10 sehingga byte pertamanya selalu bernilai antara 128-191. Network ID adalah 16 bit pertama dan 16 bit sisanya adalah host ID sehingga kalau ada komputer mempunyai IP address 167.205.26.161, network ID = 167.205 dan host ID = 26.161. Pada. IP address kelas B ini mempunyai range IP dari 128.0.xxx.xxx sampai 191.155.xxx.xxx, yakni berjumlah 65.255 network dengan jumlah host tiap network 255 x 255 host atau sekitar 65 ribu host.
7. 8. IP address kelas B
9. IP address kelas C mulanya digunakan untuk jaringan berukuran kecil seperti LAN. Tiga bit pertama IP address kelas C selalu diset 111. Network ID terdiri dari 24 bit dan host ID 8 bit sisanya sehingga dapat terbentuk sekitar 2 juta network dengan masing-masing network memiliki 256 host.
10.11. IP address kelas C
12. IP address kelas C digunakan untuk keperluan multicasting. 4 bit pertama IP address kelas C selalu diset 1110 sehingga byte pertamanya berkisar antara 224-247, sedangkan bit-bit berikutnya diatur sesuai keperluan multicast group yang menggunakan IP address ini. Dalam multicasting tidak dikenal istilah network ID dan host ID.IP address kelas E tidak diperuntukkan untuk keperluan umum. 4 bit pertama IP address kelas ini diset 1111 sehingga byte pertamanya berkisar antara 248-255.Sebagai tambahan dikenal juga istilah Network Prefix, yang digunakan untuk IP address yang menunjuk bagian jaringan.Penulisan network prefix adalah dengan tanda slash “/” yang diikuti angka yang menunjukkan panjang network prefix ini dalam bit. Misal untuk menunjuk satu network kelas B 167.205.xxx.xxx digunakan penulisan 167.205/16. Angka 16 ini merupakan panjang bit untuk network prefix kelas B.


TUGAS
Diketahui alamat IP 192.168.55.128, akan dibagi menjadi 5 kelas untuk dibuat 5 LAB
Ditanyakan :
a. berapa range IP yang valid dari masing-masing LAB.
b. berapa netmask dari masing-masing host.
Jawab :
Jumlah Host 25 @ 5 lab
2^n – 2 >= host
2^5 – 2 >= 25
32 – 2 >= 25
30 >= 25

NP + HP = 32
NP + 5 = 32
NP = 32 – 5
NP = 27

192.168.55.0 Network 1 untuk Lab 1 :
Range IP = 192.168.55.1 - 192.168.55.30
192.168.55.32 Network 2 untuk Lab 2 :
Range IP = 192.168.55.33 - 192.168.55.62
192.168.55.64 Network 3 untuk Lab 3 :
Range IP = 192.168.55.65 - 192.168.55.94
192.168.55.96 Network 4 untuk Lab 4 :
Range IP = 192.168.55.97 - 192.168.55.126
192.168.55.128 Network 5 untuk Lab 5 :
Range IP = 192.168.55.129 - 192.168.55.158

netmask dari masing-masing host ialah
255.255.255.228

Selasa, 19 Oktober 2010

Tugas PraktikumJava II Modul II Manajemen Layout

TUGAS PRAKTIKUM
Java II
MODUL II
Manajemen Layout



Disusun oleh :
Herry Adrianto Nugroho
123090076
Plug 8
Asisten Dosen : Shiddieq Y. Katili

JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL ”VETERAN”
YOGYAKARTA
2010
Source Code dengan Penjelasan Program :
package Tugas_Praktikum; //nama package

import java.awt.*; //import class dari package java.awt.*
import javax.swing.*; //import class dari package javax.swing.*

public class PrakGridBagLayout extends JFrame{
//kelas PrakGridBagLayout dengan modifier public dan mewarisi kelas JFrame
public PrakGridBagLayout(){ // constructor dengan modifier public
super("GridBagLayout"); // memberi nama Title
JButton b1 = new JButton("B1"); // instansiasi objek JButton jadi b1
JButton b2 = new JButton("B2"); // instansiasi objek JButton jadi b2
JButton b3 = new JButton("B3"); // instansiasi objek JButton jadi b3
JButton b4 = new JButton("B4"); // instansiasi objek JButton jadi b4
JButton b5 = new JButton("B5"); // instansiasi objek JButton jadi b5
JButton b6 = new JButton("B6"); // instansiasi objek JButton jadi b6
JButton b7 = new JButton("B7"); // instansiasi objek JButton jadi b7
JButton b8 = new JButton("B8"); // instansiasi objek JButton jadi b8
JButton b9 = new JButton("B9"); // instansiasi objek JButton jadi b9
JButton b10 = new JButton("B10"); // instansiasi objek JButton jadi b10

setLayout(new GridBagLayout()); //membuat layout berformat gridbaglayout
GridBagLayout grid = new GridBagLayout();
//instansiasi objek GridBagLayout jadi grid
GridBagConstraints gbc = new GridBagConstraints();
//instansiasi objek GridBagConstraints jadi gbc
gbc.fill = GridBagConstraints.BOTH;
/* menset field pada GridBagConstraints agar komponen dapat diatur
panjang dan lebarnya */
gbc.gridwidth = 3; // jumlah sell horizontal = 3
gbc.gridheight = 3; // jumlah sell vertical = 3
gbc.gridx = 0; // diletakkan pada kolom ke-0
gbc.gridy = 0; // diletakkan pada baris ke-0
grid.setConstraints(b1, gbc); // set Constraint untuk spesifik komponen
add(b1, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 3; // jumlah sell horizontal = 3
gbc.gridheight = 3; // jumlsh sell vertical = 3
gbc.gridx = 3; // diletakkan pada kolom ke-3
gbc.gridy = 0; // diletakkan pada baris ke-0
grid.setConstraints(b2, gbc); // set Constraint untuk spesifik komponen
add(b2, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 6; // jumlah sell horizontal = 6
gbc.gridheight = 5; // jumlsh sell vertical = 5
gbc.gridx = 0; // diletakkan pada kolom ke-0
gbc.gridy = 3; // diletakkan pada baris ke-3
grid.setConstraints(b3, gbc); // set Constraint untuk spesifik komponen
add(b3, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 3; // jumlah sell horizontal = 3
gbc.gridheight = 2; // jumlah sell vertical = 2
gbc.gridx = 6; // diletakkan pada kolom ke-6
gbc.gridy = 0; // diletakkan pada baris ke-0
grid.setConstraints(b4, gbc); // set Constraint untuk spesifik komponen
add(b4, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 3; // jumlah sell horizontal = 3
gbc.gridheight = 2; // jumlah sell vertical = 2
gbc.gridx = 6; // diletakkan pada kolom ke-6
gbc.gridy = 3; // diletakkan pada baris ke-3
grid.setConstraints(b5, gbc); // set Constraint untuk spesifik komponen
add(b5, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 3; // jumlah sell horizontal = 3
gbc.gridheight = 2; // jumlah sell vertical = 2
gbc.gridx = 6; // diletakkan pada kolom ke-6
gbc.gridy = 6; // diletakkan pada baris ke-6
grid.setConstraints(b6, gbc); // set Constraint untuk spesifik komponen
add(b6, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 3; // jumlah sell horizontal = 3
gbc.gridheight = 8; // jumlah sell vertical = 8
gbc.gridx = 9; // diletakkan pada kolom ke-9
gbc.gridy = 0; // diletakkan pada baris ke-0
grid.setConstraints(b7, gbc); // set Constraint untuk spesifik komponen
add(b7, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 6; // jumlah sell horizontal = 6
gbc.gridheight = 6; // jumlah sell vertical = 6
gbc.gridx = 0; // diletakkan pada kolom ke-0
gbc.gridy = 8; // diletakkan pada baris ke-8
grid.setConstraints(b8, gbc); // set Constraint untuk spesifik komponen
add(b8, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 3; // jumlah sell horizontal = 3
gbc.gridheight = 6; // jumlah sell vertical = 6
gbc.gridx = 6; // diletakkan pada kolom ke-6
gbc.gridy = 8; // diletakkan pada baris ke-8
grid.setConstraints(b9, gbc); // set Constraint untuk spesifik komponen
add(b9, gbc); // method memasukkan komponen ke jframe
gbc.gridwidth = 3; // jumlah sell horizontal = 3
gbc.gridheight = 6; // jumlah sell vertical = 6
gbc.gridx = 9; // diletakkan pada kolom ke-9
gbc.gridy = 8; // diletakkan pada baris ke-8
grid.setConstraints(b10, gbc); // set Constraint untuk spesifik komponen
add(b10, gbc); // method memasukkan komponen ke jframe

setResizable(true); // frame output program dapat diresize
setDefaultCloseOperation(EXIT_ON_CLOSE);
// method agar frame dapat ditutup dengan menekan silang pada tittle bar
pack(); // method agar window pas dengan tampilan dan subkomponnennya
setVisible(true); // menampilkan window
}
public static void main(String[] args) {
// method main untuk menjalankan program
new PrakGridBagLayout(); // memanggil kelas PrakGridBagLayout
}
}

Output Program :

Senin, 18 Oktober 2010

Tugas Praktikum Linux Modul II

No.2 :
sintaks = sudo su => adduser herry => adduser adrianto => groupadd kosongsembilan => adduser herry kosongsembilan => adduser adrianto kosongsembilan

No.3 :
sintaks = cd /home/herry => touch file1.txt => chmod 754 file1.txt



Senin, 11 Oktober 2010

LAPORAN PRAKTIKUM
Linux
MODUL 1



Disusun oleh :
Herry Adrianto Nugroho
123090076
Plug 4

Asisten Dosen : I Putu Jistha


JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL ”VETERAN”
YOGYAKARTA
2010
BAB I
DASAR TEORI
Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.
Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, dan sebagainya.

1. WINDOWS
Microsoft Windows atau lebih dikenal dengan sebutan Windows adalah keluarga sistem operasi komputer pribadi yang dikembangkan oleh Microsoft yang menggunakan antarmuka dengan pengguna berbasis grafik (graphical user interface).Sistem operasi Windows telah berevolusi dari MS-DOS, sebuah sistem operasi yang berbasis modus teks dan command-line. Windows versi pertama, Windows Graphic Environment 1.0 pertama kali diperkenalkan pada 10 November 1983, tetapi baru keluar pasar pada bulan November tahun 1985 yang dibuat untuk memenuhi kebutuhan komputer dengan tampilan bergambar. Windows 1.0 merupakan perangkat lunak 16-bit tambahan (bukan merupakan sistem operasi) yang berjalan di atas MS-DOS (dan beberapa varian dari MS-DOS), sehingga ia tidak akan dapat berjalan tanpa adanya sistem operasi DOS. Versi 2.x, versi 3.x juga sama. Beberapa versi terakhir dari Windows (dimulai dari versi 4.0 dan Windows NT 3.1) merupakan sistem operasi mandiri yang tidak lagi bergantung kepada sistem operasi MS-DOS. Microsoft Windows kemudian bisa berkembang dan dapat menguasai penggunaan sistem operasi hingga mencapai 90%.
Dimulai dari DosShell for DOS 6 buatan Microsoft dan inginnya Microsoft bersaing terhadap larisnya penjualan Apple Macintosh yang menggunakan GUI, Microsoft menciptakan Windows 1.0. Nama ini berasal dari kelatahan karyawan Microsoft yang menyebut nama aplikasi tersebut sebagai Program Windows (Jendela Program). Windows versi 2 adalah versi Windows pertama yang bisa diinstal program. Satu-satunya program yang bisa ditambahkan adalah Microsoft Word versi 1. Windows versi 3 menjanjikan aplikasi tambahan yang lebih banyak, kelengkapan penggunaan, kecantikan user interface atau antarmuka dan mudahnya konfigurasi. Windows versi 3.1 adalah versi Windows yang bisa mengoptimalisasi penggunaannya pada prosesor 32-bit Intel 80386 ke atas. Windows versi 3.11 adalah versi Windows terakhir sebelum era Start Menu. Windows 3.11 pun adalah versi Windows pertama yang mendukung networking/jaringan. Versi Hibrida dapat dijalankan tanpa MS-DOS. Versi Hibrida tersebut menginstalasi dirinya sendiri dengan DOS 7. Tidak seperti Windows versi 16-bit yang merupakan shell yang harus diinstalasi melalui DOS terlebih dahulu. Aplikasinya pun berbeda. Meskipun Windows 9X dapat menjalankan aplikasi Windows 16-bit, namun Windows 9X memiliki grade aplikasi sendiri - X86-32, Windows 9X sangat terkenal dengan BSOD (Blue Screen of Death).

2. LINUX
Linux adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapapun.
Nama "Linux" berasal dari nama kernelnya (kernel Linux), yang dibuat tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.
Linux telah lama dikenal untuk penggunaannya di server, dan didukung oleh perusahaan-perusahaan komputer ternama seperti Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems. Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk komputer desktop, superkomputer, , dan sistem benam seperti pembaca buku elektronik, sistem permainan video (PlayStation 2, PlayStation 3 dan XBox), telepon genggam dan router. Para pengamat teknologi informatika beranggapan kesuksesan Linux dikarenakan Linux tidak bergantung kepada vendor (vendor independence), biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan versi UNIX tak bebas, serta faktor keamanan dan kestabilannya yang tinggi dibandingkan dengan sistem operasi lainnya seperti Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka (opensource software).
Sistem operasi Linux yang dikenal dengan istilah distribusi Linux (Linux distribution) atau distro Linux umumnya sudah termasuk perangkat-perangkat lunak pendukung seperti server web, bahasa pemrograman, basisdata, tampilan desktop (desktop environment) (seperti GNOME dan KDE), dan paket aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, dan Gnumeric.

BAB II
PEMBAHASAN
berikut langkah-langkah yang mudah dan lengkap cara menginstal windows xp :

1. Siapkan CD WINDOWS XP

2. Siapkan CD DRIVER MOTHERBOARD

3. Atur bios terlebih dahulu agar prioritas bootingnya dimulai dari CD(DVD)-ROM, caranya:

a. Masuk ke BIOS dengan menekan tombol Del, atau F1, atau juga F2.
Pilih menu Advanced Settings, kemudian carilah ‘Boot Priority’ atau yang sejenis.

b. ubah pengaturanya, agar CDROM jadi urutan yang pertama kemungkinan pilihan ini ada 2 jenis

* menu ‘First boot priority’, ‘Second boot priority’ dll: Aturlah ‘First boot priority’ ke ‘CDROM’ dengan menekan tombol PgDn/Pgup (Page Down/Up) atau +/-.
Atur juga ‘Second boot priority’nya ke HDD0/HDD1.
* Jika menunya ‘Boot priority’: atur ke ‘CDROM, C, A’ atau ‘CDROM, A,

C. dengan menekan tombol PgDn/Up.

Cara paling mudah instal windows xp
(lengkap dengan gambar):

gak usah di utak-atik biosnya. biarin aja bios diload masukin CD WINDOWSnya, lalu Restart komputer, trus tekan-tekan F8 atau F10 atau F11 (boleh dicoba satu-satu) nanti bakal muncul opsi boot selection. pilih aja yg ada 'bau' cd-nya. trus enter. selesai deh...ga pake repot-repot...

4. Tunggu beberapa saat sampai muncul tulisan "press any key to boot from CD" seperti tampilan Seperti gambar di bawah ini



5. Tekan ENTER atau sembarang tombol, lalu proses instalasi akan mengecek hardware komputer anda, kemudian akan muncul tulisan "windows setup" seperti gambar dibawah ini



6. lalu file-file di dalam cd akan di load ke dalam komputer, kemudian akan muncul tampilan "welcome to setup" seperti gambar dibawah ini



7. Tekan "ENTER" untuk menginstal windows xp, "R" untuk repair system windows yang sebelumnya pernah terinstal, "F3" untuk keluar dari proses instalasi, lalu akan muncul (End User Licese Aggrement) seperti gambar di bawah ini



8. Tekan "F8" kemudian proses instalasi akan mencari dan membaca partisi hardisk anda, kemudian akan muncul semua partisi hardisk anda, seperti gambar di bawah ini



9. Tekan "ENTER" untuk langsung menginstal windows, "C" untuk membuat partisi hardisk anda, kapasitas partisi sesuai dengan kebutuhan anda, dalam satuan MB, selanjutnya jika anda membuat partisi dengan menekan tombol "C", maka akan muncul gambar seperti di bawah ini



10. Kemudian tuliskan kapasitas partisi yang ingin anda buat, seperti terlihat pada gambar diatas, sebagai contoh, misalkan kapasitas hardisk anda 40 GB, lalu anda ingin membagi dua, maka tuliskan 20000,jangan 20, karna partisi satuannya MB, tentunya anda mengerti kan...?? cat" 1GB = 1000 MB

11. Kemudian tekan "ENTER" maka akan muncul gambar seperti dibawah ini



12. kemudian pilih "format the partition using the NTFS file system (Quick)" atau "format the partition using the NTFS file system (Quick)" lalu tekan "ENTER" maka akan muncul layar sepert gambar di bawah ini



13. Kemudian arahkan pointer pada posisi "unpartitioned space", lalu tekan "C" maka akan muncul gambar seperti gambar sebelumnya, dalam hal ini layar yang akan muncul seperti gambar sebelumnya menunjukan sisa partisi yang telah anda bagi, jika anda cuma membagi 2 partisi saja maka langsung tekan "ENTER" tapi jika anda ingin mempartisi lagi sisa hardisknya maka tinggal di bagi lagi aj, seperti langkah-langkah sebelumnya, mengertikan maksud saya....??
setelah selesai partisi ketika anda menekan "ENTER" seperti yang di jelaskan di atas, maka akan muncul gambar sperti gambar diatas, setelah itu arahkan poiter di posisi C: partition1 [New Raw], tapi biasanya sudah berada di posisi tersebut, maka anda tinggal menekan "ENTER" saja untuk proses instalasi windows, kemudian akan muncul proses format seperti gambar di bawah ini



14. Setelah selesai format, kemudian windows akan ,menyalin file untuk proses instalasi, seperti gambar di bawah ini



15. Setelah proses penyalinan selesai, secara otomatis komputer akan melakukan restart seperti gambar di bawah ini, dalam hal ini untuk mempercepat proses restart, anda bisa langsung menekan "ENTER"



16. Setelah itu akan muncul loading windows seperti gambar di bawah ini



17. selanjutnya proses instalasi windows di mulai 1..2..3...GOoooo muncul layar seperti gambar di bawah ini



18. selanjutnya tinggal menunggu, sambil ngopi jg bisa, biar lebih terinspirasi, eitssss, tp jangan kemana mana dulu, karna selanjutnya akan muncul layar seperti gambar di bawah ini



19. Langsung klik "NEXT" aja BOS...!!! lalu mucul lagi bos layar seperti gambar di bawah ini



20. Isi nama dan organisasinya, terserah BOS aja... lalu tekan "NEXT" kemudian akan muncul layar seperti gambar di bawah ini



21. Masukan serial nombernya, jangan sampe salah ya....!!! kemudian tekan "Next" selanjutnya akan muncul layar administrator, isi aja mau dinamain apa komputernya, terserah deeeehhhhh......
kalau mau pake pasword tinggal di isi juga paswordnya, terserah juga mo apa paswordnya.... lalu tekan "Next" maka muncul layar Date and Time Setting seperti gambar di bawah ini



22. Masukan settingan jam dan tanggal, tentukan juga time zone anda, untuk jakarta : pilih GMT+7 Klik "Next" lagi BOS.... setelah proses instalasi windows delanjutkan, seperti gambar di bawah ini



23. Silahkan Menunggu lumayan lama BOS,.... sampai muncul layar seperti gambar di bawah ini



24. Selanjutnya akan muncul layar work group or computer Domain,seperti gambar di bawah ini



25. jika komputer anda terhubung dengan sebuah domain, maka isikan nama domainnya, tapi jika komputer anda stand alone, maka pilih radio button yang paling atas, lalu tekan "Next"

26. Selanjutnya akan muncul display setting, seperti gambar di bawah ini, klik "OK" aja BOS....!!!



27. Kemudian windows akan mendeteksi tampilan optimal dari PC anda, seperti terlihat pada gambar di bawah ini, Klik "OK" aj BOS...!!!



28. Proses instalasi hampir selesai BOS..... selanjutnya akan muncul loading jendela windows seperti gambar di bawah ini



29. Selanjutnya anda akan dibawa masuk ke dalam windows untuk pertama kalinya seperti terlihat pada gambar di bawah ini, tekan "Next" aj BOS..



30. Selanjutnya akan muncul layar "Help Protect Your PC", seperti gambar di bawah ini, kemudian pilih "Not Right Now" lalu tekan "Next"



31. Kemudian komputer akan mengecek koneksi ke internet, seprti terlihat pada gambar di bawah ini, pilih "Yes" lalu tekan "Next"



32. Kemudian akan muncul pilihan aktivasi windows, seperti gambar di bawah ini, lalu tekan "Next"



33. Setelah itu akan muncul tampilan seperti gambar di bawah ini yang menunjukan pilihan untuk menambah pengguna komputer, Anda bisa memasukkan beberapa pengguna yang akan mengakses komputer Anda, Namun jika satu akun sudah cukup, atau Anda menginstall komputer untuk dipakai bergantian, cukup masukkan satu user kemudian klik "Next"

34. Proses instalasi windows selesai, kemudian akan muncul layar seperti gambar di bawah ini, klik "finish", maka proses instalasi selesai.....



35. Selesailah sudah semua.... kemudian perlahan masuk ke windowsnya seperti telihat pada gambar di bawah ini





36. Kemudian tinggal menginstal CD Driver Motherboad, dan perangkat pendukung lainnya....



Langkah-langkah penginstalan Sistem Operasi Linux :

• Masukkan CD Linux Ubuntu ke dalam CDROM/DVDROM anda pada saat boot pertama ketika computer dihidupkan. Pastikan BIOS anda sudah diseting agar bias diboot lewat CD. Saat boot pertama cd, akan muncul menu “Language” dengan pilihan bahasa yang dapat digunakan sebagai bahasa default Ubuntu. Bahasa Inggris merupakan bahasa standar yang digunakan, tetapi jika ingin memilih bahasa yang lain, gunakans saja tombol UP atau DOWN pada keyboard anda kemudian tekan tombol enter untuk melanjutkan.
Jika dalam 20 detik user tidak menekan tombol enter, maka ubuntu akan melanjutkan proses booting secara otomatis dengan menggunakan bahasa Inggris sebagai default bahasanya.



• Pilihlah menu ”Try Ubuntu without any change to your computer” jika ingin mencoba ubuntu terlebih dahulu sebelum menginstall ke harddisk:




Proses Booting Linux Ubuntu “Usplash”


Desktop Ubuntu 9.04

•Langkah-langkah Instalasi Linux Ubuntu 9.04
o Klik icon install pada desktop anda
o Setelah itu akan tampil jendela Welcome, dimana pada jendela ini kita dapat memilih bahasa yang akan dipakai dalam proses instalasi, sekaligus sebagai default bahasa pada sistem apabila kita mengistallnya ke dalam harddisk. Klik forward untuk melanjutkan.



o Pilih kota dan zona waktu dari negara yang anda tempati. Anda dapat memilih kota dan zona waktu tersebut, dengan mengklik pada map dunia atau bisa juga melalui combo box region dan city , kemudian lanjutkan dengan mengklik forward.



o Pada keyboard layout, pilih layout sesuai tipe keyboard Anda, defaultnya adalah USA. Jika Anda ingin menggunakan layout keyboard yang berbeda, pilih saja opsi Choose your own.



o Selanjutnya proses pembuatan partisi. jika pada harddisk sudah ada spacekosong ataupun beberapa partisi yang boleh digunakan untuk instalasi linux,sebaiknnya pilih Specify partitions manually (advanced), pilihan ini akan memberikan keleluasan kepada kita untuk menentukan ukuran serta lokasi partisi. klik Forward untuk melanjutkan.



o Kemudian akan muncul jendela tabel partisi. Seperti yang sudah disebutkan pada awal persiapan instalasi, kita akan membuat 2 partisi untuk linux dari space kosong yang ada. Dengan menggunakan mouse, klik pada free space, lalu pilih tombol New Partition.



o Tentukan type partisi pada Type for the new partition, apakah Primary atau Logical. Kemudian masukkan ukuran partisi pada box New partition size in megabytes (1000000 bytes), dalam praktek ini penulis memasukkan 10531MB (10,5GB). Pilih check box “Beginning” pada menu Location for the new partition. Lalu di menu combo box Use as, pilih filesystem “Ext3 Journaling file system”, kemudian masukkan tanda / (Root) pada combo box Mount Point. Setelah selesai menentukan tipe, ukuran, filesystem dan jenis partisi, lanjutkan dengan memilih OK.



Catatan:
1. Apabila anda meresize partisi didalam extended partition, contoh salah satu partisi logical untuk data atau musik yang diresize maka, pilihlah type Logical pada Type for the new partition. Dalam praktek ini, partisi yang diresize oleh penulis adalah Drive C:\-nya Windows Vista yang bertipe partisi Primary. Sehingga space kosong yang sudah diresize untuk instalasi Ubuntu tersebut, penulis jadikan type Primary juga
2. Location for the new partition menentukan letak dari partisi yang dibuat, apakah di awal atau akhir
3. Partisi untuk linux, filesystemnya bertipe ext3 atau reiserfs, sedangkan untuk SWAP bertipe swap
4. Tanda “/” (root) merupakan partisi yang menampung linux. Seperti Drive C:\ kalau di sistem operasi Windows.
o Tetap menggunakan tahapan yang sama seperti langkah di atas, buatlah partisi SWAP dari sisa space kosong yang ada. Tetapi bedanya, pada menu combo box Use as, tipe partisi yang dipilih adalah ”swap area”.



Hasil dari semua langkah pembuatan partisi diatas, akan tampak seperti pada
contoh gambar dibawah ini :



Klik tombol forward untuk melanjutkan proses instalasi.
o Pada jendela Who are you?, masukkan nama, username dan password user. Seperti yang terlihat pada contoh dalam gambar dibawah ini.



Setelah selesai memasukkan data user, lanjutkan dengan meng-klik forward.

o Sistem instalasi akan mendeteksi sistem operasi lain yang ada di komputer anda, dan mengkorfirmasikan apakah anda ingin migrasikan beberapa informasi pribadi dari sistem operasi lain tersebut. Informasi tersebut mencakup bookmarks, contacts, favorites dan beberapa informasi lainnya. Jika tidak yakin pilih saja forward.



o Linux Ubuntu 9.04 “Jaunty Jackalope” telah siap diinstall, pastikan semua
setingannya sudah benar seperti langkah-langkah yang sudah dibahas di atas.
Jika anda yakin semuanya sudah benar lanjutkan dengan memilih tombol Install.



o Selanjutnya akan tampil proses instalasi Ubuntu 9.04, lamanya proses kurang lebih memakan waktu sekitar 15-30 menit.



o Setelah proses instalasi selesai, akan tampil box konfirmasi yang menyatakan bahwa instalasi sudah selesai. Restarlah komputer dengan memilih tombol ”Restart now”.



o Ketika komputer direstart anda akan melihat screen ini. Ini adalah ”Boot Menu” biasanya juga dekenal dengan nama ”GRUB”. Jika komputer anda sudah ada Microsoft Windows ataupun sistem operasi lainnya Ubuntu secara otomatis akan mendeteksi dan memasukkannya kedalam daftar ”Boot Menu”.
Sehingga anda dapat memilih sistem operasi yang ada sesuai dengan kemauaan, hanya dengan menekan tombol UP dan DOWN pada keyboard anda.



o Loginlah menggunakan username dan password yang telah anda buat pada saat menginstalasi Linux Ubuntu 9.04 .



o Kemudian akan tampil desktop Ubuntu 9.04 ”Jaunty Jackalope”.



BAB III
KESIMPULAN


Dalam pembahasan diatas kita dapat menyimpulkan bahwa sistem operasi Linux dan Windows memiliki keungulan dan kelemahan sebagai berikut :
1. LINUX
a. Linux memiliki beberapa keunggulan diantaranya :
• Linux merupakan system operasi yang aman
• Linux bebas dari virus
• Linux merupakan system operasi Open Source yang bebas untuk dikembangkan
• Linux mempunyai system penataan yang baik dan tidak perlu di install ulang
• Linux merupakan produk legal yang bebas untuk digunakan
• Linux mempunyai banyak versi yang lebih spesifik sesuai kebutuhan
• Tampilan linux lebih manarik
b. Linux memiliki beberapa kelemahan diantaranya :
• Software linux masih sulit untuk didapatkan
• Masih banyak orang yang belum bisa mengoprasikan linux dengan baik

2. WINDOWS
a. Windows memiliki beberapa keunggulan diantaranya :
• Software mudah didapat
• Sistem pengoperasian windows mudah untuk dioperasikan
• Mampu memproses banyak program dalam satu waktu

b. Windows memiliki beberapa kelemahan diantaranya :
• Mudah terkena virus
• Produknya tidak free
• Masih banyak celah di sistemnya yang mudah dirusak