Jumat, 23 Januari 2015

TOPOLOGI JARINGAN



2.1 Pengertian Topologi Jaringan

Topologi menggambarkan struktur dari suatu jaringan atau bagaimana sebuah jaringan didesain. Dalam definisi topologi terbagi menjadi dua, yaitu topologi fisik (physical topology) yang menunjukan posisi pemasangan kabel secara fisik dan topologi logik (logical topology) yang menunjukan bagaimana suatu media diakses oleh host.

2.2 Jenis-Jenis Topologi Jaringan

2.2.1 Topologi Fisik

Topologi ini menjelaskan hubungan perkabelan dan lokasi node atau workstation. Berikut adalah pembagian dari topologi fisik.

2.2.1.1 Topologi Bus (Bus Topology)

Topologi ini menggunakan satu segment ( panjang kabel ) backbone, yaitu yang menyambungkan semua host secara langsung. Apabila komunikasinya dua arah di sepanjang ring, maka jarak maksimum antara dua simpul pada ring dengan n simpul adalah n/2. Topologi ini cocok untuk jumlah prosesor yang relatif sedikit dengan komunikasi data minimal.
 
Gambar 2.1 Gambar Topologi Bus
Pada topologi Bus, kedua unjung jaringan harus diakhiri dengan sebuah terminator. Barel connector dapat digunakan untuk memperluasnya. Jaringan hanya terdiri dari satu saluran kabel yang menggunakan kabel BNC. Komputer yang ingin terhubung ke jaringan dapat mengkaitkan dirinya dengan mentap Ethernetnya sepanjang kabel. Linear Bus: Layout ini termasuk layout yang umum. Satu kabel utama menghubungkan tiap simpul, ke saluran tunggal komputer yang mengaksesnya ujung dengan ujung. Masing-masing simpul dihubungkan ke dua simpul lainnya, kecuali mesin di salah satu ujung kabel, yang masing-masing hanya terhubung ke satu simpul lainnya. Topologi ini seringkali dijumpai pada sistem client/server, dimana salah satu mesin pada jaringan tersebut difungsikan sebagai File Server, yang berarti bahwa mesin tersebut dikhususkan hanya untuk pendistribusian data dan biasanya tidak digunakan untuk pemrosesan informasi. Instalasi jaringan Bus sangat sederhana, murah dan maksimal terdiri atas 5-7 komputer. Kesulitan yang sering dihadapi adalah kemungkinan terjadinya tabrakan data karena mekanisme jaringan relatif sederhana dan jika salah satu node putus maka akan mengganggu kinerja dan trafik seluruh jaringan. Keunggulan topologi Bus adalah pengembangan jaringan atau penambahan workstation baru dapat dilakukan dengan mudah tanpa mengganggu workstation lain. Kelemahan dari topologi ini adalah bila terdapat gangguan di sepanjang kabel pusat maka keseluruhan jaringan akan mengalami gangguan. Topologi linear bus merupakan topologi yang banyak dipergunakan pada masa penggunaan kabel Coaxial menjamur. Dengan menggunakan T-Connector (dengan terminator 50ohm pada ujung network), maka komputer atau perangkat jaringan lainnya bisa dengan mudah dihubungkan satu sama lain. Kesulitan utama dari penggunaan kabel coaxial adalah sulit untuk mengukur apakah kabel coaxial yang dipergunakan benar-benar matching atau tidak. Karena kalau tidak sungguh-sungguh diukur secara benar akan merusak NIC (network interface card) yang dipergunakan dan kinerja jaringan menjadi terhambat, tidak mencapai kemampuan maksimalnya. Topologi ini juga sering digunakan pada jaringan dengan basis fiber optic (yang kemudian digabungkan dengan topologi star untuk menghubungkan dengan client atau node).

Berikut adalah ciri-ciri dari topologi bus :

1. Teknologi lama, dihubungkan dengan satu kabel dalam satu baris

2. Tidak membutuhkan peralatan aktif untuk menghubungkan terminal/komputer

3. Sangat berpengaruh pada unjuk kerja komunikasi antar komputer, karena hanya bisa digunakan oleh satu komputer

4. Kabel “cut” dan digunakan konektor BNC tipe T

5. Diujung kabel dipasang 50 ohm konektor

6. Jika kabel putus maka komputer lain tidak dapat berkomunikasi dengan lain

7. Susah melakukan pelacakan masalah

8. Discontinue Support.

KELEBIHAN

- Hemat kabel.

- Layout kabel sederhana.

- Mudah dikembangkan.

KEKURANGAN

- Deteksi dan isolasi kesalahan sangat kecil.

- Kepadatan lalu lintas.

- Bila salah satu client rusak, maka jaringan tidak bisa berfungsi.

- Diperlukan repeater untuk jarak jauh.

2.2.1.2 Topologi Ring (Ring Topology)

Topologi ini menghubungkan satu host ke host setelah dan sebelumnya. Secara fisik jaringan ini berbentuk ring (lingkaran).
Gambar 2.2 Gambar Topologi Ring

Topologi cincin juga merupakan topologi jaringan dimana setiap titik terkoneksi ke dua titik lainnya, membentuk jalur melingkar membentuk cincin. Pada topologi cincin, komunikasi data dapat terganggu jika satu titik mengalami gangguan. Jaringan FDDI mengantisipasi kelemahan ini dengan mengirim data searah jarum jam dan berlawanan dengan arah jarum jam secara bersamaan.

Berikut adalah ciri-ciri dari topologi cincin :

1. Teknologi IBM yang biasa dipasangkan dengan mesin IBM AS/400

2. Standar IEEE 802.5

3. Membentuk “cincin”

4. Setiap segmen di hubungkan dengan “hub central” MSAU = Multistation Access Unit

5. Konektor AUI : Attachment User Interface

6. Teknologi token pasing untuk mengirimkan paket data dalam ring

7. Jika komputer satu down maka data masih bias mengalir

8. Discontinue Support

KELEBIHAN

·         Hemat kabel

·        Tidak akan terjadi tabrakan pengiriman data (collision), karena pada satu waktu hanya satu node yang dapat mengirimkan data

KEKURANGAN

·         Peka kesalahan, sehingga jika terdapat gangguan di suatu node mengakibatkan terganggunya seluruh jaringan.

·         Pengembangan jaringan lebih kaku

·         Sulit mendeteksi kerusakan

·         Dapat terjadi collision[dua paket data tercampur]

·         Diperlukan penanganan dan pengelolaan khusus bandels

2.2.1.3 Topologi Star (Star Topology)

Menghubungkan semua kabel pada host ke satu titik utama. Titik ini biasanya menggunakan Hub atau Switch. Topologi bintang merupakan bentuk topologi jaringan yang berupa konvergensi dari node tengah ke setiap node atau pengguna. Topologi jaringan bintang termasuk topologi jaringan dengan biaya menengah.

Gambar 2.3 Gambar Topologi Star

Berikut adalah ciri-ciri dari topologi star :

1. Topologi yang banyak digunakan sampai saat ini

2. Perangkat dihubungkan ke sebuah terminal (hub/switch)

3. Teknologi Ethernet IEEE 802.3

4. Disebut 10Base T

5. Konektor RJ 45

6. Jika salah satu komputer down tidak mempengaruhi yang lain & pelacakan kesalahan sangat cepat

7. Akses ke komputer lain lebih cepat & mudah untuk di upgrade

8. Jaraknya hanya 100 meter

9. Mudah upgrade

KELEBIHAN

·         Kerusakan pada satu saluran hanya akan memengaruhi jaringan pada saluran tersebut dan station yang terpaut.

·         Tingkat keamanan termasuk tinggi.

·         Tahan terhadap lalu lintas jaringan yang sibuk.

·         Penambahan dan pengurangan station dapat dilakukan dengan mudah.

·         Akses Kontrol terpusat.

·         Kemudahan deteksi dan isolasi kesalahan/kerusakan pengelolaan jaringan.

·         Paling fleksibel.

KEKURANGAN

·         Jika node tengah mengalami kerusakan, maka seluruh rangkaian akan berhenti.

·         Boros dalam pemakaian kabel.

·         HUB jadi elemen kritis karena kontrol terpusat.

·         terlalu penting hub sehinga ketika terdapat masalah dengan hub maka jaringan tersebut akan down

·         jaringan tergantung pada terminal pusat

·         jika menggunakan switch dan lalu lintas data padat dapat menyebabkan jaringan lambat.

·         biaya jaringan lebih mahal dari pada bus atau ring

·         lebih gampang digunakan

2.2.1.4 Topologi Extended Star (Extended Star Topology)

Merupakan perkembangan dari topologi star. Memiliki beberapa titik yang terhubung ke satu titik utama.
Gambar 2.4 Gambar Topologi Extended Star

2.2.1.5 Topologi Hirarki (Hierarchical Topology)
Gambar 2.5 Gambar Topologi Hirarki

Berbentuk seperti pohon bercabang yang terditi dari komputer induk (host) yang diswitchungkan dengan simpul atau node lain secara berjenjang, jenjang yang lebih tinggi berfungsi sebagai pengetur kerja jenjang dibawahnya, biasanya topologi ini digunakan oleh perusahaan besar atau lembaga besar yang mempunyai beberapa cabang daerah, sehingga data dari pusat bisa didistribusikan ke cabang atau sebaliknya.

KELEBIHAN

·         Data terpusat secara hirarki sehingga manajeman data lebih baik dan mudah

·         terkontrol; Mudah dikembangkan menjadi jaringan yang lebih luas;

KEKURANGAN

·         Komputer di bawahnya tidak dapat dioprasikan apabila kabel pada komputer tingkat atasnya terputus;

·         Dapat terjadi tabrakan file (collision)

2.2.1.6 Topologi Mesh (Mesh Topology)

Topologi Mesh adalah suatu topologi yang memang didisain untuk memiliki tingkat restorasi dengan berbagai alternatif rute atau penjaluran yang biasanya disiapkan dengan dukungan perangkat lunak atau software. Komponen utama yang digunakan dalam topologi mesh ini adalah Digital Cross Connect (DXC) dengan satu atau lebih dari dua sinyal aggregate, dan tingkat cross connect (koneksi persilangan) yang beragam pada level sinyal SDH. Topologi jaringan mesh ini menerapkan hubungan antar sentral secara penuh. Jumlah saluran ini harus disediakan untuk membentuk suatu jaringan topologi mesh adalah jumlah sentral dikurangi 1 (n-1, dengan n adalah jumlah sentral). Tingkat kerumitan yang terdapat pada jaringan mesh ini sebanding dengan meningkatnya jumlah sentral yang terpasang. Dengan demikian disamping kurang ekonomis juga relatif mahal dalam pengoperasiannya.

Gambar 2.6 Gambar Topologi Mesh

Berikut adalah ciri-ciri dari topologi mesh :

1. Konsep Internet

2. Tidak ada client server, semuanya bisa bertindak sebagai client server

3. Peer to peer

4. Bentuk mesh yang paling sederhana adalah array dua dimensi tempat masing-masing simpul saling terhubung dengan keempat tetangganya.

5. Diameter komunikasi sebuah mesh yang sederhana adalah 2 (n-1)

6. Koneksi wraparraound pada bagian-bagian ujung akan mengurangi ukuran diameter menjadi 2 ( n/s ).

7. Topologi mesh ini cocok untuk hal-hal yang berkaitan dengan algoritma yang berorientasi matriks.

KELEBIHAN

·         Hubungan dedicated links menjamin data langsung dikirimkan ke komputer tujuan tanpa harus melalui komputer lainnya sehingga dapat lebih cepat karena satu link digunakan khusus untuk berkomunikasi dengan komputer yang dituju saja (tidak digunakan secara beramai-ramai/sharing).

·         Memiliki sifat Robust, yaitu Apabila terjadi gangguan pada koneksi komputer A dengan komputer B karena rusaknya kabel koneksi (links) antara A dan B, maka gangguan tersebut tidak akan memengaruhi koneksi komputer A dengan komputer lainnya.

·         Privacy dan security pada topologi mesh lebih terjamin, karena komunikasi yang terjadi antara dua komputer tidak akan dapat diakses oleh komputer lainnya.

·         Memudahkan proses identifikasi permasalahan pada saat terjadi kerusakan koneksi antar komputer.

KEKURANGAN

·         Membutuhkan banyak kabel dan Port I/O. semakin banyak komputer di dalam topologi mesh maka diperlukan semakin banyak kabel links dan port I/O (lihat rumus penghitungan kebutuhan kabel dan Port).

·         Hal tersebut sekaligus juga mengindikasikan bahwa topologi jenis ini * Karena setiap komputer harus terkoneksi secara langsung dengan komputer lainnya maka instalasi dan konfigurasi menjadi lebih sulit.

·         Banyaknya kabel yang digunakan juga mengisyaratkan perlunya space yang memungkinkan di dalam ruangan tempat komputer-komputer tersebut berada.

2.2.1.7 Topologi Linier (Linier Topology)



Jaringan komputer dengan topologi runtut (linear topology) biasa disebut dengan topologi bus beruntut, tata letak ini termasuk tata letak umum. Satu kabel utama menghubungkan tiap titik sambungan (komputer) yang dihubungkan dengan penyambung yang disebut dengan Penyambung-T dan pada ujungnya harus diakhiri dengan sebuah penamat (terminator). Penyambung yang digunakan berjenis BNC (British Naval Connector: Penyambung Bahari Britania), sebenarnya BNC adalah nama penyambung bukan nama kabelnya, kabel yang digunakan adalah RG 58 (Kabel Sepaksi Thinnet). Pemasangan dari topologi bus beruntut ini sangat sederhana dan murah tetapi sebanyaknya hanya dapat terdiri dari 5-7 komputer.

KELEBIHAN

·         hemat kabel,

·         tata letak kabel sederhana,

·         mudah dikembangkan,

·         tidak butuh kendali pusat, dan

·         penambahan maupun pengurangan penamat dapat dilakukan tanpa mengganggu operasi yang berjalan.

KEKURANGAN

·         deteksi dan isolasi kesalahan sangat kecil,

·         kepadatan lalu lintas tinggi,

·         keamanan data kurang terjamin,

·         kecepatan akan menurun bila jumlah pemakai bertambah, dan

·         diperlukan pengulang (repeater) untuk jarak jauh.

2.2.1.8 Topologi Pohon (Tree Topology)
Topologi Pohon adalah kombinasi karakteristik antara topologi star dan topologi bus. Topologi ini terdiri atas kumpulan topologi star yang dihubungkan dalam satu topologi bus sebagai backbone. Komputer-komputer dihubungkan ke hub, sedangkan hub lain di hubungkan sebagai jalur tulang punggung atau backbone.

KELEBIHAN

·         Dapat terbentuknya suatu kelompok yang dibutuhkan pada setiap saat. Sebagai contoh, perusahaan dapat membentuk kelompok yang terdiri atas terminal pembukuan, serta pada kelompok lain dibentuk untuk terminal penjualan.

KEKURANGAN

·         Apabila simpul yang lebih tinggi kemudian tidak berfungsi, maka kelompok lainnya yang berada dibawahnya akhirnya juga menjadi tidak efektif.

·         Cara kerja jaringan pohon ini relatif menjadi lambat.

2.2.1.9 Topologi Hybrid (Hybrid Topology)
Kombinasi dari dua atau lebih topologi yang berbeda untuk membuat topologi hybrid. Ketika topologi dasar yang berbeda yang terhubung ke satu sama lain, mereka tidak menampilkan karakteristik dari setiap topologi satu tertentu. Ini adalah ketika itu menjadi topologi hibrida.

KELEBIHAN

·         Fleksibilitas

·         Menambah koneksi perangkat lainnya adalah mudah, karena node baru dan / atau periferal dapat dihubungkan ke topologi dan kata topologi dapat dihubungkan dengan topologi hybrid dengan mudah.

KEKURANGAN

·         Pengelolaan sulit

·         Biaya mahal dibanding topologi lainnya

·         Instalasi dan konfigurasi topologi sulit

2.2.2 Topologi Logik

Topologi ini menjelaskan aliran message/data dari satu user ke user lainnya dalam jaringan. Berikut adalah pembagian dari topologi logik.

2.2.2.1 Topologi Broadcast
Secara sederhana dapat digambarkan yaitu suatu host yang mengirimkan data kepada seluruh host lain pada media jaringan secara bersamaan.

2.2.2.2 Topologi Token Passing
Mengatur pengiriman data pada host melalui media dengan menggunakan token yang secara teratur berputar pada seluruh host. Host hanya dapat mengirimkan data hanya jika host tersebut memiliki token. Dengan token ini, collision dapat dicegah.

Protokol Token di kembangkan oleh IBM pada pertengahan tahun 1980. Metode aksesnya melalui lewatnya sebuah token dalam sebuah lingkaran seperti Cincin . Dalam lingkaran token, komputer-komputer dihubungkan satu dengan yang lainnya seperti sebuah cincin. Sebuah Sinyal token bergerak berputar dalam sebuah lingkaran (cincin) dalam sebuah jaringan dan bergerak dari sebuah komputer-menuju ke komputer berikutnya, jika pada persinggahan di salah satu komputer ternyata ada data yang ingin ditransmisikan, token akan mengangkutnya ke tempat dimana data itu ingin ditujukan, token bergerak terus untuk saling mengkoneksikan diantara masing-masing komputer.

JAVA



Kita dapat mengartikan bahasa pemrograman itu sebagai teknik komunikasi yang standar untuk mengekspresikan intruksi terhadap suatu komputer. Selain itu bahasa pemrograman juga memiliki tata tulis dan aturan tertentu. Bahasa pemrograman juga memfasilitasi seorang programmer untuk secara spesifik apa yang akan dilakukan oleh komputer selanjutnya, bagaimana data yang telah dibuat disimpan atau dikirim, dan apa yang akan dilakukan bila terjadi kondisi yang variatif.

Bahasa pemrograman dapat kita klasifikasikan menjadi tiga tingkatan yaitu

1.    Bahasa pemrograman tingkat tinggi
2.    Bahasa pemrograman tingkat menengah
3.    Bahasa pemrograman tingkat rendah

Berikut akan dijelaskan lebih rinci ;
a.     Bahasa pemrograman tingkat tinggi
Bahasa pemrograman tingkat tinggi dapat kita artikan sebagai bahasa tingkat tinggi yang ciri-ciri mudah dimengerti karena bahasa yang digunakan mirip terhadap bahasa sehari-hari. Compiler digunakan sebagai penerjemah terhadap suatu pernyataan program kepada sebuah atau beberapa mesin. Yang termasuk dalam bahasa pemrograman tingkat tinggi ini misalnya adalah java dan C++ .

b.    Bahasa pemrograman tingkat menengah
Bahasa pemrograman tingkat menengah telah menggunakan instruksi yang telah mendekati bahasa sehari-hari, walaupun masih cukup sulit untuk kita mengerti karena masih menggunakan singkatan-singkatan seperti MOV yang artinya pindah (MOVE) dan STO yang berarti simpan (STORE). Yang termasuk dalam bahasa pemrograman tingkat menengah ini adalah fotran.

c. Bahasa pemrograman tingkat rendah
Bahasa pemrograman tingkat rendah ini merupakan bahasa pemrograman generasi pertama . ciri-ciri bahasa pemrograman yang satu ini adalah masih menggunakan bahasa mesin, karena instruksinya masih menggunakan bahasa mesin maka sangat sulit dimengerti. Selain itu disebut juga dengan bahasa assembly yang merupakan bahasa dengan pemetaan satu-persatu terhadap instruksi komputer. Setiap instruksi assembly diterjemahkan dengan menggunakan assembler.

Alur Pembuatan Program


Seorang programmer tidak melakukan pembuatan dan pengkodean program secara begitu saja, namun mengikuti perencanaan dan metodologi yang terstruktur yang memisahkan proses suatu aplikasi menjadi beberapa bagian.
Berikut ini langkah–langkah sistematis dasar dalam menyelesaikan permasalahan pemrograman :
1.   Mendefinisikan masalah
2.   Menganalisa dan membuat rumusan pemecahan masalah
3.   Desain Algoritma dan Representasi
4.   Pengkodean, Uji Coba dan pembuatan dokumentasi
Untuk memahami langkah dasar dalam pemecahan masalah dalam sebuah komputer mari kita mendefinisikan sebuah permasalahan yang akan diselesaikan langkah demi langkah sebagaimana metodologi pemecahan masalah yang akan dibahas selanjutnya. Masalah yang akan kita selesaikan akan didefinisikan pada bagian selanjutnya.

Definisi Permasalahan
Seorang programmer umumnya mendapatkan tugas berdasarkan sebuah permasalahan. Sebelum sebuah program dapat terdesain dengan baik untuk menyelesaikan beberapa permasalahan, masalah masalah yang terjadi harus dapat diketahui dan terdefinisi dengan baik untuk mendapatkan detail persyaratan input dan output.
Sebuah pendefinisan yang jelas adalah sebagian dari penyelesaian masalah. Pemrograman komputer mempersyaratkan untuk mendefiniskan program terlebih dahulu sebelum membuat suatu penyelesaian masalah.

Analisa Permasalahan
Setelah sebuah permasalahan terdefinisi secara memadai, langkah paling ringkas dan efisien dalam penyelesaian harus dirumuskan. Umumnya, langkah berikutnya meliputi memecahkan masalah tersebut menjadi beberapa bagian kecil dan ringkas.

Contoh masalah :
Menampilkan jumlah kemunculan sebuah nama pada daftar
Input Terhadap Program :
Daftar Nama, Nama yang akan dicari
Output Dari Program :
Jumlah kemunculan nama yang dicari
Desain Algoritma dan Representasi
Setelah kita mengetahui dengan baik dan jelas mengenai permasalahan yang ingin diselesaikan, langkah selanjutnya yaitu membuat rumusan algoritma untuk menyelesaikan permasalahan. Dalam pemrograman komputer penyelesaian masalah didefinisikan dalam langkah demi langkah.

Algoritma adalah urutan langkah–langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Logis merupakan kunci dari sebuah algoritma. Langkah-langkah dalam algoritma harus logis dan bernilai benar atau salah.
Algoritma dapat diekpresikan dalam bahasa manusia, menggunakan presentasi grafik melalui sebuah FlowChart (diagram alir) ataupun melalui PseudoCode yang menjembatani antara bahasa manusia dengan bahasa pemrograman.

Mengekspresikan cara penyelesaian melalui bahasa manusia :
1.  Tentukan daftar nama
2.  Tentukan nama yang akan  dicari, anggaplah ini merupakan sebuah kata kunci
3.  Bandingkan kata kunci  terhadap setiap nama yang terdapat pada daftar
4. Jika kata kunci tersebut sama dengan nama yang terdapat pada daftar, tambahkan nilai pada hasil perhitungan
5.  Jika seluruh nama telah dibandingkan, tampilkan hasil perhitungan (output)
LATAR BELAKANG
Sejarah Java
Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991. Mereka membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe aslinya.
Java Modern
Java telah digunakan dalam banyak hal dan telah membuktikan keberadaannya pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut J2EE dan masih banyak lagi.
Java Virtual Machine (JVM)
Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa C untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program tersebut diubah menjadi KODE BYTE. Kemudian pada saat eksekusi, JVM membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti oleh sistem operasi tempat program tersebut dijalankan.
Karena JVM sangat bergantung pada platformnya (bahasa mesin merupakan bahasa level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel, tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh), byte code ini dapat dibuat untuk terbebas dari kungkungan platform tertentu. Code byte yang dihasilkan dalam proses kompilasi bahasa Java akan selalu sama untuk setiap sistem operasi atau jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut menjadi bahasa mesin tujuannya.
Just In Time Compiler (JIT)
Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa pemrograman lainnya. Sun menyediakan kompiler Just In Time Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan dengan eksekusinya. Walaupun demikian, pendekatan JIT ini menghasilkan kemampuan yang lebih dibandingkan dengan interpretasi biasa



Teknologi Java

Apa itu teknologi Java? Teknologi Java adalah bahasa pemrograman, development environment, application environment dan deployment environment. Sebagai bahasa pemrograman, dengan bahasa Java kita dapat membuat berbagai macam aplikasi seperti yang dapat kita buat dengan menggunakan bahasa konvensional apapun. Sebagai development environment, teknologi Java menyediakan sederetan besar tools seperti compiler (javac), interpreter (java), documentation generator (javadoc), tool untuk pemaketan file class, dan seterusnya.
Aplikasi teknologi Java merupakan program untuk kegunaan umum (general-purpose) yang dapat berjalan pada mesin (komputer) apapun dimana dengan Java Runtime Environment terpasang.
Ada dua deployment environment utama:
·         JRE yang disediakan Java 2 Software Development Kit (SDK) berisi kumpulan lengkap file-file class untuk semua paket teknologi Java, dimana di dalamnya termasuk class-class dasar bahasa, class-class komponen GUI, dan seterusnya.
·         Deployment environment utama yang lainnya adalah web browser. Kebanyakan browser komersial menyediakan interpreter dan runtime environment teknologi Java.

Fitur-fitur Java

Beberapa fitur Java adalah Java Virtual Machine, Garbage Collection, keamanan kode. Java Virtual Machine merupakan mesin imajiner (imaginary machine) yang diimplementasikan oleh software emulasi diatas mesin nyata. Selain itu JVM juga menyediakan spesifikasi platform hardware untuk yang mana kita melakukan compile semua kode teknologi Java. Hasil compile dari program Java akan menghasilkan bytcode yang merupakan bahasa mesin khusus yang dapat dimengerti oleh Java Virtual Machine. Bytcode yang dihasilkan ini bersifat independen, jadi setiap komputer yang terpasang Java interpreter dapat mengeksekusi program Java yang sudah di-compile, tidak peduli apa tipe komputer yang digunakan untuk meng-compile program tersebut.
Garbage collection thread bertanggung jawab untuk membebaskan memori apa saja yang dapat dibebaskan. Proses ini terjadi secara otomatis selama lifetime dari program Java. Programmer tidak lagi disusahkan dengan tugas untuk mendealokasikan memori yang sudah dipakai program tersebut.
Kode keamanan dicapai melalui implementasi dari JRE-nya. JRE menjalankan kode yang sudah dicompile untuk JVM dan melakukan class loading (melalui class loader), verifikasi kode (melalui bytecode verifier) dan akhirnya eksekusi kode. Class loader bertanggung jawab untuk me-load semua class-class untuk program Java. Selain itu juga menambahkan keamanan dengan memisahkan namespace untuk class-class dari sistem file lokal dengan yang di-import dari network sources. Setelah me-load semua class-class, susunan memori dari executable ditentukan. Ini menambahkan perlindungan terhadap akses yang tidak sah ke area terbatas dari kode sejak memori ditentukan pada waktu runtime. Bytecode verifier bertugas untuk menguji format dari fragment kode dan memeriksa kodel ilegal dari fragment kode yang dapat melanggar hak akses ke objek.

Sejarah Dari Linux





Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991.
Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).
Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME).
Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat.


1. PENGERTIAN LINUX
Linux atau GNU/Linux adalah sistem operasi bebas yang sangat populer untuk computer, Istilah Linux atau GNU/Linux (GNU) juga digunakan sebagai rujukan kepada keseluruhan distro Linux (Linux distribution), yang di dalamnya disertakan program-program lain pendukung sistem operasi. Contoh program tersebut adalah server web, bahasa pemrograman, basisdata, tampilan desktop (Desktop Environment) (seperti GNOME dan KDE), dan aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, Gnumeric.
Pengembangan Linux pertama kali dilakukan oleh Linux Benedict Torvalds pada tahun 1991 di Universitas Helsinki, Finlandia. Kemudian Linux dikembangkan lagi dengan bantuan dari banyak programmer dan pakar UNIX di Internet. Linux ini bisa diperoleh dari beberapa distribusi yang umum digunakan, misalnya RedHat, Debian, Slackware, Caldera, Stampede Linux, TurboLinux dan lain-lain.

2.  KELEBIHAN DAN KEKURANGAN LINUX
  • KELEBIHAN LINUX
1.  Linux merupakan sistem operasi bebas dan terbuka. Sehingga dapat dikatakan, tidak terdapat biaya lisensi untuk membeli atau menggunakan Linux.
2.  Linux mudah digunakan. Dulu, Linux dikatakan merupakan sistem operasi yang sulit dan hanya dikhususkan untuk para hacker. Namun, kini, pandangan ini salah besar. Linux mudah digunakan dan dapat dikatakan hampir semudah menggunakan Windows.
3.   Hampir semua aplikasi yang terdapat di Windows, telah terdapat alternatifnya di Linux. Kita dapat mengakses situs web Open Source as Alternative untuk memperoleh informasi yang cukup berguna dan cukup lengkap tentang alternatif aplikasi Windows di Linux.
4.   Keamanan yang lebih unggul daripada Windows. Dapat dikatakan, hampir semua pengguna Windows pasti pernah terkena virus, spyware, trojan, adware, dsb. Hal ini, hampir tidak terjadi pada Linux. Di mana, Linux sejak awal didesain multi-user, yang mana bila virus menjangkiti user tertentu, akan sangat sangat sangat sulit menjangkiti dan menyebar ke user yang lain. Pada Windows, hal ini tidaklah terjadi. Sehingga bila dilihat dari sisi maintenance / perawatan data maupun perangkat keras-pun akan lebih efisien. Artikel yang menunjang argumen ini.  
  • KEKURANGAN LINUX
1.  Banyak pengguna yang belum terbiasa dengan Linux dan masih ‘Windows minded’. Hal ini dapat diatasi dengan pelatihan-pelatihan atau edukasi kepada pengguna agar mulai terbiasa dengan Linux.
2.  Dukungan perangkat keras dari vendor-vendor tertentu yang tidak terlalu baik pada Linux. Untuk mencari daftar perangkat keras yang didukung pada Linux, kita dapat melihatnya di Linux-Drivers.org atau LinuxHardware.org.
3.  Proses instalasi software / aplikasi yang tidak semudah di Windows. Instalasi software di Linux, akan menjadi lebih mudah bila terkoneksi ke internet atau bila mempunyai CD / DVD repository-nya. Bila tidak, maka kita harus men-download satu per satu package yang dibutuhkan beserta dependencies-nya.
4.  Bagi administrator sistem yang belum terbiasa dengan Unix-like (seperti Linux), maka mau tidak mau harus mempelajari hal ini. Sehingga syarat untuk menjadi administrator adalah manusia yang suka belajar hal-hal baru dan terus-menerus belajar.


3. DISTRO LINUX

Dibawah ini merupakan nama OS (Operating System) yang dikembangkan dari OS Linux.
  • Redhat
Distribusi yang paling populer, minimal di Indonesia, redhat merupakan distribusi pertama yang instalasi dan pengoperasiannya mudah.
Redhat Logo Linux
  • Debian
Distribusi yang mengutamakan kestabilan dan kehandalan, meskipun mengorbankan aspek kemudahan dan kemutakhiran program. Debian menggunakan .deb dalam instalasi programnya.
Debian Logo Linux

  • Slackware
Merupakan distribusi yang pernah merajai di dunia linux, hampir semuadokumentasi linux disusun berdasarkan slackware. Dua hal penting dari slackware adalah bahwa semua isinya (kernel.library ataupun aplikasinya) adalah sudah teruji. Sehingga mungkin agak tua tapi yang pasti stabil. Yang kedua karena dia menginstal dari source sehingga setiap program yang kita install teroptimasi dengan system kita. Ini alasannya dia tidak mau untuk menggunakan binary RPM dan samapi slackware 4.0,ia tetap menggunakan libc5 bukan glibc2 seperti yang lain. 


Slackware Logo Linux

  • SuSE
Distribusi yang sangat dikenal dengan YaST (Yet another Setup Tools) untuk mengkonfigurasi system. SuSE merupakan distribusi pertama dimana instalasinya dapatmenggunakan bahasa Indonesia.
SuSe Logo Linux


  • Mandrake
Merupakan varian distro RedHat yang dioptimasi untuk Pentium. Kalau komputer kita menggunakan Pentium keatas, umumnya linux bisa jalan lebih cepat dengan mandrake.
Mandriva Logo Linux




  • WinLinux
Distro yang dirancang untuk diinstall di atas partisi DOS (Windows). Jadi untuk menjalankannya bisa di-klik dari Windows. WinLinux dibuat seakan-akan merupakan suatu program aplikasi under Windows. Dan masih banyak lagi distro-distro linux yang lain.