Monday, September 26, 2016

Konsep Sistem Operasi

Hallo kawan Tekno. Masih dengan blog kita tercinta... wkwkwk... GeeR....
Pasda postingan kali ini, saya akan membahas tentang Konsep Sistem Operasi. ya seputar bagaimana sebuah sistem operasi bekerja.
Yang akan saya bahas disini adalah:
  1. Manajemen Proses
  2. Manajemen Memory
  3. Manajemen I/O
  4. Manajemen File 
  5. Security
Proses
  • Merupakan konsep utama sistem operasi
  • Proses adalah sebuah program yang sedang dijalankan (eksekusi).
    • Suatu proses memerlukan resources pada saat ekesekusi: CPU time, memory, files dan I/O devices
  • Sistim operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan manajemen proses:
    • Process creation & deletion.
    • Process suspension (block) & resuming.
    • Mekanisme:
      • Sinkronisasi antar proses
      • Komunikasi antar proses
    • Deadlock
  • Suatu proses, jika terjadi interrupt, maka akan dihentikan sementara dan jika akan dieksekusi kembali maka akan dimulai dari state terakhir saat dihentikan
  • Pada sebagian sistem operasi, informasi tiap proses disimpan pada tabel proses.
  • Tabel proses berbentuk array atau linked list
  • Kunci pengaturan proses :
    • Mekanisme penciptaan proses
    • Mekanisme penghentian proses
  • Suatu proses dikatakan sebagai parent process, bilamana proses tersebut bisa menciptakan satu proses baru
  • Suatu proses dikatakan sebagai child process, hasil penciptaan dari parent process.
  • Child Process bisa menciptakan proses baru lagi
  • Dalam proses dibedakan 2 bagian :
    • User Identification (UID)
    • Group Identification (GID)
     
Memory
  • Memori sebagai tempat penyimpanan instruksi/data dari program
    • Storage yang cepat sehingga dapat mengimbangi kecepatan eksekusi instruksi CPU
    • Terdiri dari “array of words/bytes” yang besar
    • Address digunakan untuk mengakses data (shared oleh CPU dan I/O devices)
  • Umumnya main memory bersifat “volatile” – tidak permanent. Isinya akan hilang jika komputer di matikan.
  • Manajemen memori:
    • Melacak pemakaian memori (siapa dan berapa besar?).
    • Memilih program mana yang akan diload ke memori.
    • Alokasi dan De-alokasi memori fisik untuk program. 
     
I/O
  • Sering disebut device manager
    • Menyediakan “device driver” yang umum sehingga operasi I/O dapat seragam (open, read, write, close)
    • Contoh: user menggunakan operasi yang sama untuk read file pada hard disk, CD-ROM dan floppy disk sama.
  • Komponen OS untuk sistim I/O:
    • Buffer: menampung sementarai data dari/ke I/O devices
    • Spooling: melakukan scheduling pemakaian I/O sistim supaya lebih efisien (antrian dsb)
    • Menyediakan “driver” untuk dapat melakukan operasi “rinci” (detail) untuk hardware I/O tertentu.
     
File
  • File: kumpulan informasi yang berhubungan (sesuai dengan tujuan pembuat file tsb).
    • File dapat mempunya struktur yang bersifat hirarkis (direktori, volume dll).
  • Sebelum file dibaca, file harus dibuka lebih dulu, setelah digunakan file tersebut harus ditutup.
  • Metode yg digunakan untuk mengelompokkan file secara bersama-sama, yaitu dengan menggunakan KONSEP DIREKTORI.
  • System call menyediakan perintah untuk :
    • Membuat direktori
    • Menghapus direktori
    • Menempatkan file ke suatu direktori
    • Menghapus file dari suatu direktori
  • Pada Konsep Direktori dikenal 2 buah pathname :
    • Absolute Pathname
      Path yang terdiri dari list direktori, dimulai dari root direktori, yg harus dikunjungi untuk mengkases suatu file, dengan menggunakan Slash(/) sebagai pemisah antar direktori.
    • Relative Pathname
      Pathname yg tidak dimulai dengan slash (/) karena setiap proses selalu mempunyai CWD (curent working directory)
Security
  • Jenis akses yg bisa dilakukan oleh seorang pemakai pada suatu file, proses atau mesin.
  • Sistem Keamanan pada UNIX lebih baik dari pada MS-DOS, dimana di UNIX setiap file mempunyai tingkat keamanan sendiri-sendiri.
Struktur Sistem Operasi 
Struktur Sistem Operasi dibagi menjadi 4 bagian besar :
  1. Monolithic System (Sistem Monolitis)
  2. Layered System (Sistem Lapisan)
  3. Virtual Machine System (Mesin Maya)
  4. Client Server
Monolithic System
  • Pada dasarnya adalah konstruksi tanpa struktur (semua komponen SO bercampur jadi satu)
  • Pada sistem ini, Sistem Operasi dibuat sebagai sekumpulan Procedure
  • Setiap Procedure dapat memanggil Procedure yang lainnya, kapanpun diperlukan
  • Contoh : SO MSDOS -> tidak ada pemisahan yg jelas antara aplikasi dengan SO 
  • Utility Procedure :
    • Merupakan program dasar untuk mengendalikan sistem komputer dan mengerjakan apa yang dibutuhkan oleh service procedure, misal mengambil data dari program komputer
  • Service Procedure :
    • Menjalankan fungsi pemanggilan procedure-procedure mana yang harus diaktfikan
  • Main Procedure :
    • Berfungsi untuk memanggil salah satu service procedure dan juga meminta pelayanan dari service procedure. Main procedure mengakses service procedure, selanjutnya service procedure akan mengakses ke utility procedure
     
Layered System
  • Dikembangkan pertama kali oleh E.W. Dijkstra tahun 1968
  • Sistem ini terdiri dari beberapa lapisan, dimana lapisan atas hanya bisa memanggil lapisan yang ada dibawahnya.
  • Makin kebawah, lapisannya makin mendekati lapisan hardware.
  • Konsep ini secara umum disajikan dalam sistem MULTICS (MULTIplex Information and Computing Service) dengan sistem operasi Timesharing.
  1. Layer 0 : berkaitan erat dengan
    • Alokasi processor ke suatu proses
    • Perpindahan antar proses bila terjadi interupsi atau kuantum waktu telah habis
  2. Layer 1 : Sebagai tempat pengaturan memori
    • Layer ini mengalokasikan ruang di memori utama untuk suatu proses dan mengalokasikan pada disk untuk menyimpan bagian proses (pages) bila memori utama tidak cukup
    • Bagian program yang aktif ditempatkan di memori utama, sedangkan yang tidak aktif di dalam disk.
    • Layer ini mencari page-page mana yang sudah waktunya dibawa ke memori utama untuk dieksekusi
     
  3. Layer 2 : menangani komunikasi antar proses dengan operator monitor dengan cara melewatkan parameter data.
  4. Layer 3 : mengatur piranti I/O, menyimpan informasi ke dan dari piranti I/O
  5. Layer 4 : Lokasi dimana prorgram pemakai berada, pemakai tidak perlu risau dengan proses, memori, terminal maupun pengaturan I/O, semuanya telah ditangani pada lapisan dibawahnya.
  6. Layer 5 : Proses operator
Virtual Machine System
  • Pada sistem ini, semua pemakai seolah-olah memiliki komputer sendiri-sendiri.
  • Secara phisik, hanya ada satu komputer saja tetapi secara logik ada beberapa komputer.
  • Sistem Maya ini disebut dengan CPM (Conventional Monitor System).
  • Pada tahun 1979 dikembangkan menjadi VM/370, dimana pengembangannya didasarkan pada :
    • sistem timesharing yang menyediakan sistem multiprogramming
    • Menyediakan extended machine dengan interface yg lebih baik dari hardware sebenarnya.
  • Struktur VM/370 dengan CMS dapat dilihat pada gambar dibawah ini :
  • Setiap Virtual Machine selalu identik dengan hardware sebenarnya, dan dapat menjalankan Sistem Operasi Apapun.
Client Server
  • Karena perkembangan zaman, SO semakin besar dan kompleks
  • Kernel berisi fungsi-fungsi dasar dari sistem operasi dan menangani komunikasi antara client dan server :
    • Yaitu dengan cara membagi-bagi sistem operasi menjadi beberapa bagian.
  • Semua Server berjalan dalam user mode, hal ini menyebabkan Server tidak dapat diakses secara langsung menuju hardware
  • Untuk mendapatkan pelayanan, maka proses client mengirim permohonan (request) ke proses server, kemudian server akan melaksanakan pekerjaan yang diminta, selanjutnya akan mengirimkan hasilnya ke client.

Teknik Pengolahan Hardware

  • Adalah suatu cara pengelolaan hardware yang dilakukan Sistem Operasi.
  • Ada 7 Teknik pengelolaan hardware :
    • Sistem Single Job
    • Sistem Batch Processing
    • Teknik Spooling
    • Sistem Timesharing
    • Sistem Multiprocessing
    • Sistem Multiprogramming
    • Sistem Real Time
     
  1. Sistem Single Job
    • Mekanisme yang terjadi adalah Input masuk ke proses kemudian dieksekusi dan hasil eksekusi dikeluarkan sebagai output.
    • Cara ini sangat kuno, karena CPU hanya dapat mengeksekusi satu job setiap saat.
  2. Sistem Batch Processing
    • Pada sistem ini, job-job dikumpulkan dalam group-group (batches).
    • Sekali suatu job running, maka job tersebut secara penuh mengontrol mesin dan kontrol baru dikembalikan ke sistem operasi bila job tersebut telah selesai. Kemudian sistem operasi membaca dan menginisialisasi job berikutnya.
    • Pada sistem ini telah dikenal piranti sekunder dengan kecepatan akses yang cukup tinggi sehingga jumlah output persatuan waktu (throughput) meningkat.
    • Masalah yang ada pada sistem ini adalah waktu tunggu yang lama bagi job-job pendek.
  3. Teknik Spooling
    Diperkenalkan sebuah sistem pengumpulan job, dengan menggunakan disk sebagai buffer penyimpanan yang besar.
    Hasil pembacaan dari piranti input disimpan ke disk dan juga sebagai tempat penyimpanan output sampai piranti output siap menerimanya
    Program spooling menangkap setiap permohonan akses ke line printer dan kemudian menuliskan identitas pemohon dan output ke dalam disk.
  4. Sistem Time Sharing
    Sistem ini mengoperasikan model interaktif dimana banyak pemakai dapat langsung berhubungan dengan komputer melalui terminal.
    Sistem ini mampu mengatur waktu pelayanan ke sejumlah pemakai yang mengakses bersamaan
  5. Sistem Multiprocessing
    Konfigurasi komputer dengan beberapa processor.
    Terdapat lebih dari satu processor yang mengakses memori yg sama.
    Konfigurasi yang digunakan bisa berupa master-slave untuk mengurangi biaya interupsi dan pembebanan bersama.
    Sistem ini lebih fleksibel dan bersifat fault tolerance.
    Sistem mempunyai kemampuan untuk mendeteksi kerusakan dan kemungkinan perbaikannya.
  6. Sistem Multiprogramming
    Suatu sistem dimana beberapa pemakai berkompetisi untuk memakai resource komputer
    Cara kerja :
    Beberapa program sekaligus berada dalam memori utama dan processor dengan cepat akan berpindah dari satu program ke program lainnya sesuai dengan algoritma penjadualan yang digunakan
    Tujuan dari sistem ini adalah :
    Agar CPU dan piranti I/O selalu sibuk setiap saat sehingga akan lebih optimal.
    Sistem ini juga bersifat multitasking dan multiuser.
  7. Sistem Real Time
    Digunakan untuk mengontrol proses-proses dan peralatan pada suatu aplikasi industri.
    Cara Kerja :
    Sensor membawa data ke komputer kemudian komputer menganalisa data tersebut dan mengatur penyesuaian yg mungkin untuk memodifikasi sensor input.
    Konfigurasi sama dengan Sistem TimeSharing
Nah, itu dia pembahasan kita mengenai Konsep Sistem Operasi. Jangan lupa bookmark blog ini biar tetep update dan makin tahu.
Terimakasih... 

Sunday, September 25, 2016

Membuat Program Java Dengan NetBeans

Hallo kawan Tekno. Lanjutan dari materi Java, pada postingan kali ini, saya akan menunjukkan cara membuat program menggunakan IDE Netbeans. Jangan lupa, sebelumnya kalian sudah harus menginstall JDK. kalian bisa download disini. Jika kalian juga belum menginstall Netbeans, silahkan download disini (Sudah include JDK).

OK, mari kita mulai.....

  1. Oke, pada tahap ini saya angap kalian sudah melakukan instalasi Netbeans dan JDK. Untuk membuat Project baru, pilih File > New Project.
  2. Pada Category, pilih Java. Dan pada Projects, pilih Java Application. lalu tekan Next.
  3. Isi pada bagian Project Name.(Jika Project Location dan Project dan Project Folder kosong, harap diisi) lalu Finish.
  4. Ini adalah tampilannya.
  5. Code tersebut bisa langsung di jalankan (Run). tetapi tidak akan mengeluarkan apa-apa. 
  6. Coba tambahkan code seperti baris 19, dan kemudian tekan "Run".
  7. Hasilnya seperti ini.

Penjelasan: 
Baris 19
Perintah System.out.println adalah perintah untuk memunculkan text yang ditulis di dalam tanda (" ").



Ok, sekian dulu materi kita kali ini. Jangan lupa bookmark blog ini biar tetep update dan makin tahu.
Terimakasih... 

Pengenalan Bahasa Java

Hallo kawan Tekno. Kita bertemu kembali dipostigan Tekno Learning kali ini. Pada Postingan kali ini, saya akan membahas tentang "Pengenalan Bahasa Java". Postingan ini adalah pembuka dari materi pemrograman Java yang akan saya publish. Kawan bisa klik kategori (label) Java, atau klik link disini

Apa sih Java itu?? Makanan jenis apa? rasanya gimana?? Bagi kalian yang baru memulai belajar dan ingin merambah di dunia pemrograman, akan aneh rasanya jika belum mengenal Java. Java adalah salah satu bahasa pemrograman berbasis OOP (Object Oriented Programming) yang popular dikalangan para programer. Oke, cukup basa-basinya, dan mari simak materinya....

Sejarah
Jadi pada 1991, para insinyur dari Sun yg diketuai oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Dikarenakan perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufakturmanufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”. Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin. Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java. Produk pertama proyek Green adalah Star 7 (*7), sebuah kendali jarak jauh yang sangat cerdas. Dikarenakan pasar masih belum tertarik dengan produk konsumer cerdas maka proyek Green harus menemukan pasar lain dari teknologi yang diciptakan. Pada saat yang sama, implementasi WWW dan Internet sedang
mengalami perkembangan pesat. Di lain pihak, anggota dari proyek Green juga menyadari bahwa Java dapat digunakan pada pemrograman internet, sehingga penerapan selanjutnya mengarah menjadi teknologi yang berperan di web. 

Java telah mengakomodasi hampir seluruh fitur penting bahasa–bahasa pemrograman yang ada semenjak perkembangan komputasi modern manusia : 
  1. Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi Java sekaligus C++. Dari bahasa ini diadopsi bentukan–bentukan dasar dari pemrograman berorientasi objek. 
  2. Dari LISP – bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta kemampuan untuk meniru generic list processing, meski fasilitas ini jarang yang memanfaatkannya. 
  3. Dari Algol – bahasa pada tahun 60-an, diambil struktur kendali yang dimilikinya. 
  4. Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling 
  5. Dari bahasa Ada, diambil strongly type, dan exception handling. 
  6. Dari Objective C, diambil fasilitas interface. 
  7. Dari bahasa SmallTalk, diambil pendekatan single-root class hiérarchie, dimana object adalah satu kesatuan hirarki pewarisan 
  8. Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK 1.4 
Dan, inilah beberapa alasan kenapa programmer harus mempelajari Java.
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :
  1. Sederhana
    Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
  2. Berorientasi objek (Object Oriented)
    Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
  3. Dapat didistribusi dengan mudah
    Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
  4. Interpreter
    Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
  5. Robust
    Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.
  6. Aman
    Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
  7. Architecture Neutral
    Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.
  8. Portabel
    Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
  9. Performance
    Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
  10. Multithreaded
    Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
  11. Dinamis
    Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.
     
 Sebagian Fitur dari Java
  •  Java Virtual Machine (JVM)JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
  • Garbage Collection
    Banyak bahasa pemrogaman lain yang mengijinkan seorang programmer mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks. Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi
    dinamis. 
  • Code Security
    Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.
    1. Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas–kelas yang berasal dari local disk dengan kelas–kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas–kelas yang berasal dari local disk yang dimuat terlebih dahulu. 
    2. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan–aturan dasar bahasa Java. 
    3. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing. 
Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi.
Java juga menyediakan beragam teknik pengamanan lain : 

  1. Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programmer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
  2. Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan, maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password. 
Fase – fase Pemrograman Java 
Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah program Java : 

Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java.  

Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari kompilasi berupa berkas bytecode dengan ekstensi .class.  

Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan. 



Sekian dulu materi kali ini, sampai jumpa di postingan selanjutnya. Jangan lupa bookmark blog ini biar tetep update dan makin tahu.
Terimakasih... 

Friday, September 23, 2016

Konsep Dasar Sistem Komputer

Hallo kawan Tekno. Meneruskan materi Sistem Operasi, mari kita bahas mengenai konsep dasar system komputer.
Oke, mari kita bedah dahulu melalui definisi dari Komputer.
Komputer adalah suatu peralatan elektronik yang dapat menerima input, mengolah input, memberikan informasi, menggunakan suatu program yang tersimpan di memori komputer, dapat menyimpan program dan hasil pengolahan, serta bekerja secara otomatis. Dalam komputer, ada 3 istilah penting yang harus diketahui, yaitu:
  1. Input (data)
  2. Pengolahan data, dan 
  3. Informasi (output).
Pengolahan data dengan menggunakan komputer dikenal dengan nama pengolahan data elektronik (PDE) atau electronic data processing (EDP).



Struktur Komputer
Struktur komputer didefinisikan sebagai cara-cara dari tiap komponen saling terkait

Empat komponen pokok sistem komputer:
  1. Pemroses
  2. Memori Utama
  3. Perangkat masukan dan keluaran
  4. Interkoneksi antarkomponen
Pemroses (CPU)
Pemroses disebut CPU, berfungsi mengendalikan operasi komputer dan melakukan pengolahan data.   
Pemroses melakukan kerja dengan langkah sbb:
  • Mengambil instruksi yang dikodekan secara biner dari memori utama
  • Men-dekode instruksi menjadi proses-proses sederhana 
  • Melaksanakan proses-proses tersebut
     
Operasi-operasi pada pemroses dikategorikan
menjadi:
  • Operasi aritmetika
          ->  Penambahan, pengurangan, perkalian,     pembagian dsb
  • Operasi logika
          ->  OR, AND, X-OR, inversi dsb
  • Operasi pengendalian
          ->  Operasi percabangan, lompat dsb
Pemroses terdiri dari tiga komponen, yaitu:
  • CU (Control Unit)
     Berfungsi mengendalikan operasi yang dilaksanakan sistem komputer
  • ALU (Aritmetic Logic Unit)
     Berfungsi melakukan operasi aritmatika dan logika
  • Register
     Merupakan memori yang sangat cepat yang berfungsi sebagai tempat operan-operan dari operasi yang akan dilakukan oleh pemroses.
CU (Control Unit) / Unit Kendali
  • Mengatur dan mengendalikan semua peralatan yang ada pada sistem komputer, kapan alat input menerima data dan kapan data diolah serta kapan ditampilkan pada alat output.  
  • Mengartikan instruksi-2 dari program komputer.
  • Membawa data dari alat input ke memori utama.
  • Mengambil data dari memori utama untuk diolah. 
  • Mengirim instruksi ke ALU jika ada instruksi untuk perhitungan aritmatika atau perbandingan logika.
  • Membawa hasil pengolahan data kembali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output.   
  • Kesimpulan tugas dari unit kendali ini adalah:
    • Mengatur & mengendalikan alat-alat input dan output.
    • Mengambil instruksi-instruksi dari memori utama.
    • Mengambil data dari memori utama (jika diperlukan).
    • Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU.
    • Menyimpan hasil proses ke memori utama.
ALU (Arithmatic and Logic Unit)
  • Melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.  
  • Melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program.  
  • Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (≠), kurang dari (<), kurang atau sama dengan (≤), lebih besar dari (>), dan lebih besar atau sama dengan (≥).
Memory
  • Ada tiga macam memori yang dipergunakan di dalam sistem komputer yaitu:
    1. Register, digunakan untuk menyimpan instruksi dan data yang sedang diproses.
    2. Main memory, dipergunakan untuk menyimpan instruksi dan data yang akan diproses dan hasil pengolahan.
    3. Secondary storage, dipergunakan untuk menyimpan program dan data secara permanen.
     
Register
  • Alat penyimpanan kecil dgn kecepatan akses cukup tinggi, yg digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi lainnya yang menunggu giliran untuk diproses, masih disimpan di dalam memori utama.
  • CPU diibaratkan sbg otak yg punya ingatan-2 (register) dan pengendali organ tubuh (CU).   
  • Program dan data diletakkan di memori utama yg diibaratkan sbg sebuah meja.  Program diproses (melakukan satu per satu instruksi-instruksi yang ada di dalamnya).
  • Instruksi tsb dibaca & diingat (instruksi yg sedang diproses disimpan di register).   
  • Misalnya HITUNG C = A + B, maka perlu data nilai A & B yg masih ada di meja (di memori utama).   Data ini dibaca dan masuk ingatan kita (data yg sdg diproses disimpan di register), misal A=2 dan B = 3, sehingga nilai C dapat dihitung yaitu 5 (proses perhitungan ini dilakukan di ALU).
  • Hasil dari perhitungan ini dituliskan kembali ke meja (disimpan kembali ke memori utama).  
  • Setelah itu mungkin data, program, dan hasilnya disimpan secara permanen ke dalam lemari kabinet (penyimpanan sekunder). 
Perangkat I/O
Perangkat masukan/keluaran digunakan sistem komputer untuk berinteraksi dengan lingkungan luar, baik ke pemakai ataupun lingkungan secara umum.
 Perangkat masukan/keluaran terdiri dari dua bagian, yaitu:
  1. Komponen mekanis, yaitu perangkat itu sendiri
  2. Komponen elektronis, yaitu pengendali perangkat berupa chip controller.
INTERKONEKSI ANTAR KOMPONEN
  • Disebut BUS dan interkoneksi ini berkaitan dengan tatacara hubungan antarkomponen-komponen sistem komputer.
  • Menghubungkan CPU dengan memori utama ataupun dengan alat-alat input/output (I/O).  
  • Bus antara CPU dgn memori utama dilekatkan pada MDR, MAR, dan unit kendali dalam CPU, dan disebut Internal Bus.
  • BUS yang menghubungkan CPU dgn I/O tidak dilekatkan langsung ke I/O, tetapi dilakukan melalui I/O port atau DMA controller atau I/O channel,  dan disebut External Bus.
  • Di dalam Internal Bus, terdapat data bus yang dihubungkan dengan MDR, address bus yang dihubungkan dengan MAR, serta control bus yang dihubungkan dengan control unit.
BUS
Bus terdiri dari tiga macam, yaitu:
  1. Bus alamat (addres bus) = Untuk memberikan alamat dari memori atau port yang hendak diakses. Bus alamat berisi 16, 20, 24 jalur sinyal paralel atau     lebih.
  2. Bus data (data bus) = Untuk membaca dan mengirim data dari/ke memori atau port.     Bus data berisi 8,16, 32 jalur sinyal paralel atau lebih. 
  3. Bus kendali (control bus)
     Sinyal bus kendali antara lain:
    • Memory Read
    • Memory Write
    • I/O read
    • I/O Write
     
Itulah sedikit penjelasan mengenai Konsep Dasar Sistem Komputer. Jangan lupa bookmark blog ini biar tetep update dan makin tahu.
Terimakasih...  

Pengenalan Sistem Operasi

Hallo kawan Tekno. ketemu lagi dengan saya. Nah, kali ini kita akan belajar mengenai Sistem Operasi. Pastinya kalian semua tahu seperti apa sistem operasi itu. Tapi masih banyak dari kita yang bahkan bingung untuk mendefinisikannya. oke, kita simak saja.
Sistem Operasi adalah komponen pengolah piranti lunak dasar (essential component) tersistem sebagai pengelola sumber daya perangkat keras komputer (hardware), dan menyediakan layanan umum untuk aplikasi perangkat lunak. Jadi dapat disimpulkan bahwa, Sistem Operasi adalah sebuah perangkat lunak yang berfungsi sebagai perantara antara pengguna dan perangkat keras komputer, dan juga memjadi perantara pengguna dengan aplikasi perangkat lunak.
Inilah abstrak dari sistem operasi:





Fungsi Dasar Sistem Operasi

  • Sebagai System Resource Allocator
    • OS sebagai resource manager diperlukan
      • karena adanya beberapa user/program aplikasi
      • Karena adanya beberapa resource untuk dapat diutilisasi oleh user/program aplikasi dalam suatu keterbatasan
    • Manajemen diperlukan untuk mencegah konflik dan berperan sebagai interface
  • Sebagai Control Program
    • Mengontrol eksekusi program dari adanya kesalahan utilisasi
    • Menghindari pemakaian komputer yang tidak benar
      • Khususnya untuk I/O device 
  • Sebagai Kernel
    • OS merupakan program yang berjalan sepanjang sistem perangkat keras dihidupkan
  • Sebagai Extended Machine
    • Bare hardware (instruction set, memory access dan operasi I/O)
      • Primitif dan sulit digunakan
      • Low level dan hardware dependant
    • Dengan adanya OS sebagai interface
      • sederhana dan general
      • high level dan hardware independent
      • easy to program & easy to operate
Sasaran Sistem Operasi
  • Convenience : user merasakan kemudahan dan kenyamanan dalam penggunaan
  • Efficiency : resources system dapat diutilisasi semaksimal mungkin
  • Robustness : kehandalan sistem proteksi terhadap kesalahan user
  • Evolution  : memudahkan pengembangan, mendukung sistem baru dan program aplikasi yang berkembang
Sejarah Sistem Operasi
  • Generasi Pertama (1945-1955)
    • merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik. contoh:(pengganti kemampuan menghitung manusia)
    • Belum ada SO, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
  • Generasi Kedua (1955-1965)
    • Memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.
    • Belum dilengkapi SO, tetapi beberapa fungsi SO telah ada, contohnya File Management System dan IBSYS.
  • Generasi Ketiga (1965-1980)
     Melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekali gus) dan multi-programming (melayani banyak program sekali gus).
  • Generasi Keempat (Pasca 1980an)
    • Untuk jaringan komputer
    • Juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman,
    • Pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.
Layanan Sistem Operasi
Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan sebagai berikut :
  • Pembuatan program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu para pemrogram untuk menulis program 
  • Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke memori utama, perangkat I/O dan berkas harus di-inisialisasi
  • Pengaksesan I/O Device, artinya SO harus mengambil alih sejumlah instruksi yang rumit 
  • Pengaksesan terkendali terhadap berkas yang artinya disediakannya mekanisme proteksi terhadap berkas 
  • Pengaksesan sistem,  menyediakan proteksi terhadap sejumlah sumber-daya dan data serta menyelesaikan konflik-konflik dalam perebutan sumber-daya pada shared system
  • Deteksi dan Pemberian tanggapan pada kesalahan, yaitu memberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan 
  • Akunting yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan beragam sumber-daya dan memonitor parameter kinerja.

Oke, semoga materi pengenalan sistem operasi ini bisa bermanfaat untuk kalian semua. Jangan lupa bookmark blog ini biar tetep update dan makin tahu.
Terimakasih...

Thursday, September 22, 2016

Model OSI


Hallo kawan Tekno. Pada postingang ini mari kita belajar tentang Model OSI. Apa itu??
Model OSI adalah suatu dekripsi abstrak mengenai desain lapisan-lapisan komunikasi dan protokol jaringan komputer yang dikembangkan sebagai bagian dari inisiatif Open Systems Interconnection (OSI). Model ini disebut juga dengan model “Tujuh lapisan OSI” (OSI seven layer model).
Seperti yang dijelaskan, OSI memiliki 7 layer, yaitu: 
  • Physical layer
  • Data link layer
  • Network layer
  • Transport layer
  • Session layer
  • Presentation layer
  • Application layer
Oke, Mari kita pelajari satu persatu...
Application Layer 
  • Sebagai interface user ke lingkungan OSI.
  • User biasa berinteraksi melalui suatu program aplikasi (software)
  • Contoh pelayanan atau protokolnya:
  • e-mail (pop3, smtp)
  • file transfer (ftp)
  • browsing (http)
Presentation Layer
  • Untuk mengemas data dari sisi aplikasi sehingga mudah untuk lapisan sesi mengirimkannya atau sebaliknya,
  • Berfungsi untuk mengatasi perbedaan format data, kompresi, dan enkripsi data
  • Contoh pelayanan atau protokolnya: ASCII, JPEG, MPEG, Quick Time, MPEG, TIFF, PICT, MIDI, dan EBCDIC.
 Session Layer
  • Berfungsi untuk mengontrol komunikasi antar aplikasi, membangun, memelihara dan mengakhiri sesi antar aplikasi. 
  • Contoh pelayanan atau protokolnya: XWINDOWS, SQL, RPC, NETBEUI, Apple Talk Session Protocol (ASP), dan Digital Network Architecture Session Control Program (DNASCP) 
  • Penggunaan lapis sesi akan menyebabkan proses pertukaran data dilakukan secara bertahap tidak sekaligus 
Transport Layer
  • Berfungsi untuk transfer data yang handal, bertanggung jawab atas keutuhan data dalam transmisi data dalam melakukan hubungan pertukaran data antara kedua belah fihak 
  • Paketisasi :
    • panjang paket
    • banyaknya paket,
    • penyusunannya
    • kapan paket-paket tersebut dikirimkan 
Network Layer
  • Untuk meneruskan paket-paket dari satu node ke node yang lain dalam jaringan komputer
  • Fungsi utama :
    • Pengalamatan
    • Memilih jalan (routing)
  • Contoh Protokol
    • IP
     
Data-Link Layer
  • Menyajikan format data untuk lapis fisik / pembentukan frame, 
  • pengendalian kesalahan (Error Control) 
  • Pengendalian arus data (flow control)
Physical Layer
  • Pertukaran data secara fisik terjadi pada lapis fisik, 
  • Deretan bit pembentuk data di ubah menjadi sinyal-sinyal listrik yang akan melewati media transmisi,
  • Diperlukan sinyal yang cocok untuk lewat di media transmisi tertentu.  
  • Dikenal tiga macam media transmisi yaitu :
    • kabel logam,
    • kabel optik dan
    • gelombang radio
     
Konsep dan Kegunaan Layer
Pembagian fungsi & Mengurangi kompleksitas
  • Manusia dapat mempelajari tentang protokol lebih detail
  • Membuat perangkat lebih modular   
  • Mengurangi kompleksitas pada pemrograman sehingga memudahkan produksi

  1. Layer Aplikasi
    Berurusan dengan program komputer yang digunakan oleh user (program yang hanya mengakses jaringan). 
  2. Layer Presentasi
    Bertugas mengurusi format data yang dipahami oleh berbagai macam media
  3. Layer Sesi (Session)
    Bagaimana memulai, mengontrol dan mengakhiri suatu komunikasi
  4. Layer Transport
    • Pemilihan protokol yang mendukung error-recovery atau tidak.
    • Melakukan multiplexing, mengurutkan data
    • Melakukan segmentasi pada layer atasnya
    • Melakukan koneksi end-to-end
    • Mengirimkan segmen dari 1 host ke host yang lain
    • Memastikan reliabilitas data
    • Segmentasi pada layer atasnya
    • Melakukan koneksi end-to-end
    • Mengirim segmen dari satu host ke host yang lain
    • Memastistikan reliabilitas data
  5. Layer Network
    Pengalamatan dan routing (IP)
  6. Layer Datalink
    • Arbitration, pemilihan media fisik
    • Addressing, pengalaman fisik
    • Error Detection, menentukan apakah data telah berhasil terkirim.
    • Identify Data Encapsulation, menentukan pola header pada suatu data.
Interaksi antar layer pada OSI
  • Tiap layer memberikan pelayanan pada layer di atasnya sesuai dengan spesifikasi protokolnya
  • Tiap layer mengirim informasi komunikasi melalui software yang sama antar komputer 

Nah itu dia pembahasan kita kali ini tentang Model OSI. Jangan lupa bookmark blog ini biar tetep update dan makin tahu.
Terimakasih...
  

Topologi Jaringan


Hallo kawan Tekno. Pada postingan kali ini saya akan membahas tentang topologi jaringan. 
Topologi Jaringan adalah susunan lintasan aliran data di dalam jaringan yang secara fisik menghubungkan simpul yang satu  dengan  simpul lainnya.  
Berikut  ini  adalah beberapa topologi  jaringan  yang ada dan dipakai hingga saat ini, yaitu:
  • Topologi Star
  • Topologi Hierarchical/Tree
  • Topologi Bus
  • Topologi Ring
  • Topologi Daisy Chain (Linear)
  • Topologi Mesh dan Full Connected
Oke, mari kita kupas satu persatu...


Topologi Star
Karakteristik dari topologi ini  adalah node berkomunikasi langsung dengan station lain melalui central node (Hub/Switch), Traffic data mengalir dari node ke central node dan diteruskan ke node tujuan. Jika salah satu segmen kabel terputus, jaringan lain tidak akan terputus.



Keuntungan :
  • Akses ke Station lain cepat.
  • Dapat menerima workstation baru selama port di central node masih tersedia.
  • Hub/Switch bertindak sebagai konsentrator
  • Hub/Switch dapat disusun seri untuk menambah jumlah station yang terkoneksi di jaringan.
  • User dapat lebih banyak dibanding topologi bus maupun ring
Kerugian :
  • Bila traffic data cukup tinggi dan terjadi collision, maka semua komunikasi akan ditunda, dan koneksi akan dilanjutkan dengan cara random, apabila hub/switch mendeteksi tidak ada jalur yang sedang tidak dipergunakan oleh node lain.
Topologi Hierarkis/Tree
Tidak semua stasiun mempunyai kedudukan yang sama. Stasiun yang kedudukannya lebih tinggi menguasai stasiun di bawahnya, sehingga jaringan sangat tergantung ada stasiun yang kedudukannya lebih tinggi dan kedudukan stasiun yang sama, disebut peer topology. 




Topologi Bus
Topologi ini merupakan bentangan satu kabel yang kedua ujungnya ditutup, dimana disepanjang kabel dipasang node-node.
Signal dalam kabel dilewati satu arah sehingga memungkinkan sebuah collision terjadi.

Keuntungan :
  • Murah, karena tidak memakai banyak media dan kabel yang dipakai  banyak tersedia dipasaran.
  • Setiap komputer dapat saling berhubungan dengan langsung.
Kerugian :
  • Sering terjadi hang/crass talk, yaitu bila lebih dari satu pasang memakai jalur di waktu yang sama , harus bergantian atau ditambah relay.

Topologi Ring
Topologi jaringan yang berupa lingkaran tertutup yang berisi node-node. Signal mengalir dalam dua arah sehingga dapat menghindarkan terjadinya collision sehingga memungkinkan terjadinya pergerakan data sangat cepat.
Semua komputer saling tersambung membentuk lingkaran. Data yang dikirim diberi address tujuan sehingga dapat menuju komputer yang dituju.
Tiap komputer dapat diberi repeater (transceiver) yang berfungsi sebagai:
  • Listen State
    Tiap bit dikirim dengan mengalami delay waktu
  • Transmit State
    Bila bit berasal dari paket lebih besar dari ring maka repeater dapat mengembalikan ke pengirim. Bila terdapat beberapa paket dalam ring, repeater yang tengah memancarkan, menerima bit dari paket yang tidak dikirimnya harus menampung dan memancarkan kembali.
  • Bypass State
    Berfungsi menghilangkan delay waktu dari stasiun yang tidak aktif.
Keuntungan :
  • Kegagalan koneksi akibat gangguan media dapat diatasi lewat jalur lainyang masih terhubung.
  • Penggunaan sambungan point to point membuat transmission error dapat diperkecil
Kerugian :
  • Data yang dikirim, bila melalui banyak komputer, transfer menjadi lambat.

Topologi Daisy-Chain (linear)
Topologi ini merupakan peralihan dari topologi Bus dan topologi ring, di mana tiap simpul terhubung langsung ke dua simpul lain melalui segmen kabel, tetapi segmen membentuk saluran, bukan lingkaran utuh. Antar komputer seperti terhubung seri.
Keuntungan :
  • Instalasi dan pemeliharaannya murah.
Kerugian :
  • Kurang handal (tidak sesuai dengan kemajuan jaman)

Topologi Mesh dan Full Connected
  • Topologi ini menerapkan hubungan antar sentral secara penuh. Jumlah saluran yang harus disediakan untuk membentuk jaringan Mesh adalah jumlah sentral dikurangi 1.
  • Tingkat kerumitan jaringan sebanding dengan meningkatnya jumlah sentral yang terpasang.
  • Disamping kurang ekonomis juga relatif mahal dalam pengoperasiannya. 
  • Topologi ini merupakan teknologi khusus yang tidak dapat dibuat dengan pengkabelan, karena sistem yang rumit. Namun dengan teknologi wireless, topologi ini  sangat memungkinkan untuk diwujudkan


Selesai. Jadi itulah topologi jaringan beserta perngeriannya. Jangan lupa bookmark blog ini biar tetep update dan makin tahu.
Terimakasih...