Rabu, 21 Februari 2018

Mengenal Process dalam Komputer

  Tidak ada komentar
05.04

Nama Mata Kuliah      : Network Operating System
Nama Dosen               : I Putu Agus Eka Pratama, S.T., M.T
Jurusan                        : Teknologi Informasi
Fakultas                       : Teknik
Universitas                  : Universitas Udayana
Pertemua                     : 2


Pernahkah teman-teman membuka task-manager di sistem operasi Windows untuk melihat proses atau aplikasi apa saja yang berjalan? Kali kita akan mempelajari apa itu proses, state dari porses itu, PCB dan manajamen proses.

KONSEP DASAR PROSES

Jika melihat dari makna kata “proses” yaitu urutan pelaksanaan atau kejadian yang saling terkait yang bersama-sama mengubah masukan menjadi keluaran. Dalam dunia komputer, Proses adalah Unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi. Proses juga memiliki definisi lain yaitu program yang sedang dalam kondisi dijalankan atau dieksekusi. Perlu diperhatikan bahwa, kode program bukanlah proses. Suatu  proses umumnya  termasuk  process  stack,  berisi data   temporer   (parameter   metoda,   address   yang kembali,  variabel  lokal)  dan  sebuah  data  section,  yang berisikan variabel global.

KONDISI PROSES

Sebuah proses memiliki 5 kondisi dan kondisi tersebut dapat berubah-ubah tergantung kondisi proses tersebut. Kelima kondisi dari proses tersebut adalah sebagai berikut.
New, suatu proses itu baru saja dibuat/dikerjakan 
Running, instruksi pada proses tersebut sedang dilakukan/dikerkan 
Waiting, proses sedang menunggu sejumlah kejadian untuk terjadi. 
Ready, suatu proses siap untuk dijalankan pada processor
Terminated, proses telah selesai dikerjakan.

Berikut ini merupakan ilustrasi bagaimana proses berjalannya suatu proses.


Saat proses pertama kali dibuat maka state dari proses itu adalah new, saat proses siap untuk berjalan maka statenya berubah menjadi ready. Proses tersebut kemudian dijalankan oleh prosessor dan state dari proses tersebut berubah menjadi running. Ketika dalam keadaan running, sebuah proses bisa saja menunggu untuk suatu event untuk melanjutkan prosesnya dan state dari proses tersebut menjadi waiting. Saat proses selesai dikerjakan maka state proses tersebut akan berubah menjadi terminated.

PCB (PROCESS CONTROL BLOCK)

PCB berisikan banyak informasi bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik. Informasi yang ditampilkan PCB adalah

  • Status proses, new, wait, running, ready, dan terminated 
  • Program Counter, mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini. 
  • CPU Register, meliputi accumulator, index register, stack pointer, general-purpose register, code information program counter. Keadaan/status informasi disimpan ketika terjadi gangguan, untuk memungkinkan proses dijalankan kembali dengan benar sehingga ketika suatu komputer tiba-tiba mati maka proses yang sebelumnya bisa dijalankan lagi pada kondisi terakhir. 
  • Informasi pencatatan, meliputi jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses
Informasi status I/O, meliputi daftar dari perangkat I/O yang digunakan pada proses dan meliputi daftar berkas yang dibuka. PCB diilustrasikan sebagai berikut.


MANAJEMEN PROSES

Sistem   operasi   di   dalam   menangani   proses, dapat    melakukan    manajemen    proses,    manajemen proses tersebut antara lain.

  • Penciptaan proses 
  • Penghancuran/terminasi proses 
  • Penundaan proses. 
  • Melanjutkan kembali proses. 
  • Mengubah prioritas proses. 
  • Memblok proses. 
  • Membangunkan proses. 
  • Menjadwalkan proses. 
  • Memungkinkan proses berkomunikasi dengan proses lain

Read More

Mengenal Sistem Operasi

  Tidak ada komentar
00.22


Nama Mata Kuliah      : Network Operating System
Nama Dosen               : I Putu Agus Eka Pratama, S.T., M.T
Jurusan                        : Teknologi Informasi
Fakultas                       : Teknik
Universitas                  : Universitas Udayana
Pertemuan                    : 1



Pernahkah teman-teman mendengar Sistem Operasi atau Operation System (OS)? Saya yakin teman-teman yang sudah bias dibilang sering memakai komputer tahu apa itu Sistem Operasi dan kebanyakan dari teman-teman menganggap bahwa Sistem Operasi itu adalah Windows. Tapi benarkah Sistem Operasi itu Windows? Secara teknik, Sistem Operasi itu bukanlah Windows namun Windows itu adalah Sistem Operasi? Jadi sebenarnya apa itu Sistem Operasi?

PENGERTIAN SISTEM OPERASI


Sistem Operasi terdiri dari dua kata yaitu Sistem dan Operasi. Sistem berarti adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi untuk mencapai suatu tujuan. Sedangkan operasi berarti langkah-langkah atau tahapan untuk mencapai tujuan. Dari arti kedua kata tersebut, Sistem Operasi dapat secara sederhana dapat didefinisikan sebagai sistem operasi itu adalah terdiri dari beberapa komponen yang bekerja bersama-sama dengan langkah-langkah atau prosedur untuk mencapai tujuan. Menurut Willian Stalling, sistem operasi itu adalah program komputer (software) utama yang bertindak sebagai penghubung dan tatap muka antara hardware dengan software lainnya yang sekaligus mengontrol eksekusi program/software/aplikasi.

FUNGSI SISTEM OPERASI


Dari definisi yang diberikan oleh Willian Stalling, Sistem Operasi berfungsi sebagai perangkat lunak atau software yang bertanggunga jawab mengatur atau mengontrol kerja perangkat keras atau hardware dan menjalankan aplikasi atau software didalam suatu sistem komputer. Sistem operasi memungkinkan suatu aplikasi dapat berfungsi sehingga sistem operasi juga disebut sebagai essential component. Bisa dikatakan Sistem Operasi merupakan penghubung atau jembatan antara hardware dengan software.
PERAN SISTEM OPERASI


Membantu pengembangan software


Untuk mengembangkan software atau aplikasi pasti kita memerlukan sebuah text-editor, IDE dan juga compiler. Sistem operasi membantu kita untuk menginstall tools tersebut bahkan tidak jarang sebuah sistem operasi sudah menyediakan aplikasi development yang sudah pre-install.

Eksekusi program, sistem operasi mebantu program/aplikasi/software untuk berjalan.  

Perlu diingat bahwa sistem operasi itu merupakan software yang bertugas mengatur bagaimana program atau aplikasi diatasnya untuk berjalan. Maka tanpa adanya sistem operasi maka program atau aplikasi tidak dapat berjalan.

Akses ke I/O device.

Dengan adanya sistem operasi, teman-teman mempunyai akses untuk menggunakan perangkat I/O seperti printer, monitor dan lain-lain karena sistem operasi merupakan jembatan antara hardware dan software.

Kontrol akses ke file atau data. 

Sistem operasi juga mengatur hak akses user terhadap suatu file. Contohnya windows yang biasanya membatasi kontrol terhadap akses ke (C:/) .  Sedangkan untuk Linux, biasanya user biasa hanya dapat mengakses data yang berada pada direktori /home/nama_user sedangkan untuk akses direktori / hanya diberikan akses read saja. 

 Akses ke sistem. 

Sistem operasi berperan untuk memberikan berbagai akses ke sistem seperti misalnya pada sistem operasi Linux, user biasa tidak memiliki akses sepenuhnya dalam mengontrol komputer layaknya user administrator atau root. 

 Deteksi error dan penanganannya.

Saat kita membuka sebuah file atau program dimana file atau program tersebut error maka sistem operasi akan menampilkan dan mengatasi error tersebut 

Menghitung statistik penggunakan resource komputasi.  

Teman-teman dapat melihat bagaimana penggunaan resource komputasi komputer kalian. Pada windows biasanya menggunakan Task Manager, sedangkan linux dapat menggunakan perintah htop/top pada terminal. 

Penanganan data binari.  

Data binari merupakan data yang dapat berupa gambar, music dan video. Perlu diketahui sebenarnya file-file tersebut hanya berupa data binary yang terdiri dari 1 dan 0. Sistem operasi berperan untuk menjalankan file-file tersebut. 

Penyediaan API 

Sistem operasi juga berperan menyediakan API untuk keperluan development seperti contohnya library C untuk pemrograman C/C++

Read More

Minggu, 12 Maret 2017

Program Java Faktorialisasi Prima dengan Fungsi Rekursif

  Tidak ada komentar
22.23

Bilangan prima merupakan sebuah bilangan yang mempunyai dua faktor yaitu 1 dan dirinya sendiri. Maka tidak heran, mengapa bilangan yang bukan prima dapat terurai menjadi faktor-faktor yang bersifat prima.
Contohnya :
6 = 2 x 2 x 2
18 = 2 x 3 x 3
50 = 2 x 5 x 5

Berikut merupakan Source Code Program Faktorialisasi Faktor dalam bahasa Java dengan menggunakan fungsi rekursif.

import java.util.Scanner;

public class Faktorial {

public void faktorisasiPrima(int angka, int pembagi, int iRekusif){
if(iRekusif == 1)
System.out.print(angka + " = ");
if(angka >= pembagi){
if(angka % pembagi == 0){
if(iRekusif != 1)
System.out.print(" x ");
System.out.print(pembagi);
angka /= pembagi;
} else {
pembagi++;
}
faktorisasiPrima(angka, pembagi, iRekusif+1);
}
}

public static void main(String[] args) {
Faktorial test = new Faktorial();
Scanner input = new Scanner(System.in);
System.out.print("Masukan angka : ");
test.faktorisasiPrima(input.nextInt(), 2, 1);
System.out.print("\n");
}
}

Source Code dapat download --- disini


Semoga Bermanfaat :)

Read More

Senin, 20 Februari 2017

Program Java Mengitung Jumlah Huruf Dalam Kata

  Tidak ada komentar
08.01

Hello teman-teman programmer, disini saya akan membagi source code program 'Menghitung Huruf dalam suatu Kata" dalam bahasa Java.

Sebagai manusia, kita bisa dengan mudah mengetahui jumlah huruf dari suatu kata. Contohnya : "Program Java", terdapat 11 huruf dari kalimat tersebut : 1 huruf P, 2 huruf R, 1 huruf G, 3 huruf A, 1 huruf M.

Tapi bagaimana kalau komputer?? Maka berikut source code nya dalam bahasa Java

import java.util.Scanner;

class JumlahHuruf {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //Membuat scanner input
char[] huruf = new char[50]; //menyimpan huruf yang berbeda
int[] jumlahHuruf = new int[50]; //menyimpan jumlah setiap huruf berbeda
int jumlahHurufBerbeda = 0; //total huruf yang berbeda
String kalimat; //kalimat yang diinput

//meminta masukan data untuk kalimat
System.out.print("Masukan kalimat : ");
kalimat = input.nextLine();

if(kalimat.isEmpty()){ //mengecek jika kalimat kosong
System.out.println("Masukan kosong");
} else {
//jika kalimat tidak kosong, lanjutkan

huruf[0] = kalimat.charAt(0); //menyimpan huruf pertama
jumlahHuruf[0] = 1; //jumlah huruf pertama masih 1
jumlahHurufBerbeda = 1; //total huruf berbeda masih satu

//mengecek setiap huruf di kalimat
for(int i = 1; i < kalimat.length(); i++){
boolean sudahMuncul = false; //menyimpan apakah huruf sudah muncul
//mengecek apakah huruf ke-i sudah pernah muncul
for(int j = 0; j < jumlahHurufBerbeda; j++){
//jika huruf sudah pernah muncul
if(kalimat.charAt(i) == huruf[j]){
sudahMuncul = true;
jumlahHuruf[j] += 1;
}
}
//jika belum muncul
if(!sudahMuncul){
//menambahkan huruf baru
huruf[jumlahHurufBerbeda] = kalimat.charAt(i);
jumlahHuruf[jumlahHurufBerbeda] = 1;
jumlahHurufBerbeda++;
}
}
//Mencetak hasil output
System.out.println("\nHasil :");
for(int i = 0; i < jumlahHurufBerbeda; i++){
System.out.println("Huruf " + huruf[i] + " : " + jumlahHuruf[i] + " buah");
}
}
}
}

Source Codenya dapat download disini
Semoga bermanfaat.

Read More