Sistem Operasi

Pengantar Sistem Operasi

By on November 20, 2013
Pengertian Sistem operasi Komputer adalah perangkat lunak komputer atau software yang bertugas untuk melakukan kontrol dan manajemen perangkat keras dan juga operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah data yang bisa digunakan untuk mempermudah kegiatan manusia. Sistem Operasi dalam bahasa Inggrisnya disebut Operating System, atau biasa di singkat dengan OS.
Sistem Operasi komputer merupakan software pada lapisan pertama yang diletakkan pada memori komputer, (Hardisk) pada saat komputer dinyalakan (booting). Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan. 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 (user interface). Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut.
Selain itu, Sistem Operasi berfungsi sebagai penghubung antara lapisan hardware dan lapisan software. Sistem Operasi komputer melakukan semua perintah perintah penting dalam komputer, serta menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara bersamaan tanpa hambatan. Seperti menjamin aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta output terhadap peralatan lain, dan mempunya akses kepada sistem file. Jika beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi Komputer akan mengatur jadwal yang tepat, sehingga sebisa mungkin semua proses pada komputer yang berjalan mendapatkan waktu yang cukup untuk menggunakan CPU dan tidak saling mengganggu dengan perangkat yang lain.
Secara umum fungsi Sistem Operasi dibagi atas berikut :1.   Resource Manager

Fungsi Resource Manager adalah untuk mengalokasikan sumber daya, seperti CPU, printer, drive, memori, dan lain sebagainya.

2.   Interface

Fungsi interface adalah sebagai perantara antara user dengan hardware untuk menyediakan lingkungan yang bersahabat. Dengan demikian, user tidak memiliki kekhawatiran untuk mengoprasikan perangkat level bawah.

3.   Guardian

Fungsi guardian adlah untuk menyediakan control akses yang melindungi file dan member pengawasan pada pembaca/penulisan/eksekusi data dan program.

4.   Optimizer

Fungsi optimizer adalah untuk menjadwal peng-inpu-an oleh user, pengaksesan basis data, proses komputasi, dan pengeluaran output untuk meningkatkan kegunaan.

5.   Accountant

Fungsi Accountant adalah untuk mengatur waktu CPU, penggunaan memori, disk storage, waktu connect terminal dan pemanggilan I/O.

6.   Server

Fungsi server adalah untuk menyediakan layanan yang sering dibutuhkan user, baik secara eksplisit, maupun implicit seperti mekanisme akses file.

7.   Coordinator

Fungsi coordinator adalah untuk menyediakan fasilitas sehingga aktivitas yang kompleks dapat diatur untuk dikerjakan dalam urutan yang telah disusun sebelumnya.

Continue Reading

Bahasa Pemrograman

Notasi Algoritma Pseudocode

By on
Pseudocode adalah deskripsi dari algoritma pemrograman computer yang menggunakan struktur sederhana dari beberapa bahasa pemograman tetapi bahasa tersebut hanya ditujukan agar dapat dibaca manusia. Biasanya yang ditulis dari pseudocode adalah variabel dan fungsi.
Tujuan penggunaan utama dari pseudocode adalah untuk memudahkan manusia dalam memahami prinsip-prinsip dari suatu algoritma. Penggunaan pseudocode umumnya banyak kita temukan di buku-buku dan artikel-artikel tentang pemrograman yang membahas tentang algoritma tertentu. Kadang pula pseudocode kita temukan dalam merencanakan pengembangan suatu program komputer. Dalam pseudocode, tidak ada syntax standar yang resmi. Karena itu, pseudocode ini dapat kita terapkan dalam berbagai bahasa pemograman.

Di Notasi Pseudocode ada 2 cara untuk menggambarkan kondisional / decision, yaitu:

  1. Menggunakan if,
  2. Menggunakan depend on.

Contoh:
1. Menggunakan IF

if(Nilai > 80)
Output ‘A’
else if(Nilai > 60)
Output ‘B’
else if(Nilai > 50)
Output ‘C’
else if(Nilai > 30)
Output ‘D’

2. Menggunakan DEPEND ON

Depend on Nilai
Nilai > 80: Output ‘A’
Nilai > 60: Output ‘B’
Nilai > 50: Output ‘C’
Nilai > 30: Output ‘D’

Dalam notasi Pseudocode ada 3 cara untuk menggambarkan pengulangan (loop), yaitu:

  1. Menggunakan repeat,
  2. Menggunakan while,
  3. Menggunakan traversal.

Contohnya:

1. Menggunakan Repeat
Dengan menggunakan repeat…until, maka proses yang ada di dalam looping (perulangan) akan dilakukan minimal sekali hingga menemukan kondisi berhenti pada kondisi until nya.
Contoh:

X = 10
repeat
Output X
X = X – 1
until X = 0

Pseudocode diatas menggambarkan program yang akan menampilkan bilangan dari 10 dan bilangan akan berkurang hingga 0.

2. Menggunakan While
Dengan menggunakan while, proses yang dilakukan pada bagian perulangan akan dilakukan jika kondisi yang berada pada while nya dipenuhi, jadi masih ada kemungkinan proses yang ada pada perulangannya (loopnya) masih tidak dijalankan.
Contoh:

X = 10
while (X >= 0) do
Output X
X = X – 1

3. Menggunakan Traversal
Dengan menggunakan metode traversal, proses yang dilakukan pada bagian perulangan akan dilakukan sebanyak jumlah yang ditentukan pada bagian traversalnya. Jadi, kita dapat menggunakan metode traversal jika kita memang sudah tau benar berapa kali proses yang dilakukan tersebut akan dilakukan.
Contoh:
i traversal (1..10)
Output X

Continue Reading

Bahasa Pemrograman

Notasi Algoritma Flowchart

By on
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.

Simbol-simbol flowchart

screenshot3

Kaidah-kaidah pembuatan Flowchart

Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;
¨       Input berupa bahan mentah
¨       Proses pengolahan
¨       Output berupa bahan jadi.
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu;
 START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani pemecahan masalah.
 READ: berisi instruksi untuk membaca data dari suatu peralatan input.
PROCESS: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
WRITE: berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
END: mengakhiri kegiatan pengolahan
Gambar berikut memperlihatkan flowchart dari kegiatan dasar diatas.
Flowchart3
gambar flowchart di atas terlihat bahwa suatu flowchart harus terdapat proses persiapan dan proses akhir. Dan yang menjadi topik dalam pembahasan ini adalah tahap proses. Karena kegiatan ini banyak mengandung variasi sesuai dengan kompleksitas masalah yang akan dipecahkan. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran yaitu:

1.   Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
2.      Penggambaran flowchart yang simetris dengan arah yang jelas.
3.      Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Operator

1. Operator Numerik                                                           2. Operator Hubungan
+
Penjumlahan
=
Sama dengan
Pengurangan
#
Tidak sama dengan
*
Perkalian
<
Lebih kecil
/
Pembagian
>
Lebih Besar
^
Pangkat
<=
Lebih kecil sama dengan
sqrt
Akar pangkat dua
>=
Lebih besar sama dengan
3. Operator Logika
AND
Logika DAN
OR
Logika ATAU
NOT
Logika LAWAN

Continue Reading

Bahasa Pemrograman

Notasi Algoritma Deskriptif

By on
Notasi algoritma deskriptif ini adalah notasi algoritma yang paling dekat dengan bahasa manusia, karena setiap kata-kata yang ada di notasi deskriptif ini, masih pake bahasa mawam….
Contohnya:
Algoritma Mencuci Baju
Deskripsi
Algoritma ini digunakan pada saat seseorang ingin mencuci baju, mulai dari baju kotor dikumpulkan sampai dengan baju dapat diguanakan kembali.
Langkah Penyelesaian
1.      Kumpulkan baju kotor
2.      Ambil ember
3.      Tuang detergen secukupnya
4.      Masukkan air secukupnya hingga berbusa
5.      Masukkan baju kotor yang sudah dikumpulkan
6.      Tunggu 20 menit
7.      Brush pakaian yang sudah direndam
8.      Bilas hingga bersih
9.      Tambahkan molto atau pewangi lainnya (opsional)
10.  Jemur
11.  Tunggu hingga kering
12.  Ambil baju yang sudah kering
13.  Gosok dengan rapi dan masukkan ke lemari
14.  Pakaian siap digunakan kembali
Algoritma yg diatas mungkin masih gampang dimengerti, karena rata-rata semua orang sudah pernah ngelakukannya. Yang susah itu, adalah waktu ada permasalahan yang membutuhkan logika yang lebih mantap. Huah…mungkin kalo kayak gitu, bakal susah dikerjain.T____T
Contoh lain yang udah pake logika lebih, adalah permasalahan x pangkat y. Jika ada dua angka x dan y, maka bagaimana algoritma yang dapat digunakan untuk memperoleh hasilnya.
Kalo algoitma deskriptifnya masih bisa ngerti lah, karena pake bahasa manusia masih. hehhehehe…
Contoh Lain Algoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul surat
·         Masukkan surat ke dalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul ke kantor pos untuk diposkan
2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil

Continue Reading

Bahasa Pemrograman

Notasi Algoritma dan Aturan Penulisannya

By on
Dalam suatu penulisan algoritma terkadang kita sulit untuk mengerti dan memahami maksud dari algoritma tersebut. Selain itu juga kita sulit untuk menuliskan algoritmanya. Untuk itu agar mempermudahnya dapat dilakukan notasi – notasi algoritma. Notasi algoritma merupakan rancangan penyelesaian masalah (algoritma) yang dituliskan ke dalam notasi (cara penulisan khusus).
Notasi algoritma yang sering dijumpai ada 3 macam yaitu :
  1. Notasi deskriptif, yaitu dengan cara menuliskan langkah-langkah penyelesaian masalah dengan kalimat-kalimat yang jelas dan deskriptif disertai dengan urutan (nomor urut) yang jelas. Selain itu juga Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.
  2. Notasi bagan alir (flow chart), yaitu algoritma menggunakan bagan alir dengan memanfaatkan bentuk-bentuk geometri seperti persegi panjang, jajaran genjang, lingkaran dan sebagainya. Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.
  3. Notasi pseudo-code, yaitu notasi algoritma yang praktis dan mirip dengan bahasa pemrograman tingkat tinggi seperti Pascal. Banyak notasi pseudo-code yang digunakan oleh para ahli komputer dan berbeda-beda sehingga tidak ada aturan baku dalam penulisan pseudo-code ini, tetapi yang paling banyak digunakan dalam algoritma pemrograman adalah yang mendekati bahasa pascal. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo code dengan notasi bahasa pemrograman.
Aturan Penulisan Teks Algoritma
Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis alam bentuk notasi apapun , asalkan mudah dibaca dan dimengerti. Tidak ada notasi yang baku dalam penulisan teks algoritma. Tiap orang dapat membuat aturan penulisan dan algoritma sendiri. Namun, agar notasi algoritma dapat dengan mudah ditranslasi ke alam notasi bahasa pemrograman, maka sebaiknya notasi algoritma itu berkoresponden dengan notasi bahasa pemrograman secara umum. Pada dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul (header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat diberi komentar untuk memperjelas maksud teks yang dituliskan. Komentar biasanya ditulis menggunakan kurung kurawal.
1) Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
2) Deklarasi
Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah, nama tipe, nama prosedur dan nama fungsi.
3) Deskripsi
Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.
— Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti, karena memang tidak ada notasi baku dalam penulisan algoritma.
— Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden dengan notasi bahasa pemrograman secara umum.
— Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.
— Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
— Nama type
— Nama konstanta
— Nama variabel
— Nama fungsi
— Nama prosedur
— Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural dapat berupa :
◦ Instruksi dasar seperti input/output, assignment
◦ Sequence (runtutan)
◦ Analisa kasus
◦ Perulangan
— Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan menentuan urutan langkah pelaksanaan perintah.

Continue Reading

Bahasa Pemrograman

Pengantar Bahasa Pemrograman

By on
Bahasa pemrograman merupakan bahasa komputer yang digunakan dengan cara merancang atau membuat program sesuai dengan struktur (syntax) tertentu dan metode tertentu sesuai jenis bahasa pemrograman yang digunakan. Komputer berjalan sesuai kumpulan printah program yang telah dibuat oleh program. Bahasa pemrograman bisa berupa notasi yang sintaksis, terstruktur dan jelas, berbeda dengan bahasa manusia, misalkan Bahasa Indonesia dan Inggris yang luwes dan alamiah, sehingga bahasa pemrograman juga disebut sebagai bahasa formal (formal language).
Sejauh ini bahasa pemrograman dikelompokkan menjadi 5 generasi. Setiap generasi bahasa pemrograman memiliki karakteristik tersendiri. Semakin maju generasinya maka semakin dekat dengan bahasa manusia. Berikut ini penjelasan setiap generasi bahasa pemrograman :

Bahasa Pemrograman Generasi I

Bahasa ini  berorientasi pada mesin dan menggunakan bahasa mesin. Tentu saja program generasi ini sangat sulit untuk dipahami oleh orang awam dan sangat membosankan bagi programmer. Mereka harus benar-benar menguasai operasi komputer secara teknis. Namun bahasa generasi ini memberikan eksekusi program yang sangat cepat. Selain itu, bahasa mesin sangat bergantung pada mesin (machine dependent), artinya, bahasa mesin antara satu mesin dengan mesin lainnya akan berbeda.

Bahasa Pemrograman Generasi II

Bahasa pemrograman generasi kedua menggunakan bahasa rakitan (assembly). Sebagai pengganti kode-kode biner, digunakanlah kependekan dari kata-kata. Misalkan “MOV” untuk menyatakan “MOVE” dan JNZ yang berarti “jump non-zero” yang ada di bahasa generasi sebelumnya. Setiap instruksi dalam bahasa rakitan sebenarnya identik dengan satu instruksi dalam bahasa mesin. . Bahasa ini sedikit lebih mudah dipahami daripada bahasa mesin mengingat perintah dalam bentuk kata-kata yang dipendekkan lebih mudah daripada mengingat deretan angka biner.
Berikut adalah contoh instruksi yang ditulis dalam bahasa rakitan akan menjadi seperti berikut:
Tampak bahwa penggunaan notasi seperti MOV AH, 02
jauh lebih mudah diingat atau dipahami daripada penulisan instruksi dalam bahasa mesin: B402 atau 1011 0100 0000 0010.
 

Bahasa Pemrograman Generasi III

Bahasa pemrograman generasi ketiga menggunakan pendekatan prosedural. Sebagai bahasa prosedural, pemrogram perlu menuliskan instruksi-instruksi yang rinci agar komputer melaksanakan tugasnya. Program ditulis dengan menggunakan kata-kata yang biasa dipakai manusia, seperti WRITE untuk menampilkan sesuatu di layar dan READ untuk membaca data dari keyboard.
Bahasa generasi ketiga seringkali disebut sebagai high level language disebabkan bahasa ini menggunakan kata-kata yang biasa digunakan manusia. Beberapa contoh bahasa pemrograman yang masuk dalam kategori generasi ketiga yaitu ADA, ALGOL, C, BASIC, COBOL, FORTRAN, dan PASCAL.

Bahasa Pemrograman Generasi IV

Bahasa pemrograman generasi keempat dirancang untuk mengefisiensiensi waktu pembuatan program . Sehingga, bahasa pemrograman generasi keempat yang dikenal dengan sebutan 4GL dapat dipakai oleh pemakai yang kurang mengetahui hal-hal teknis tentang pemrograman tanpa bantuan programmer profesional. Sebagai contoh pemrogram dapat membuat program dengan Microsoft Access di lingkungan PC dengan mudah.
Bahasa pemrograman generasi keempat biasa disebut sebagai high level languageatau bahasa berorientasi pada masalah (problem oriented language) karena memungkinkan pemakai menyelesaikan masalah dengan sedikit penulisan kode dibandingkan pada bahasa prosedural. Bahasa pemrograman generasi keempat menggunakan pendekatan non-prosedural. Untuk mendapatkan suatu hasil, seorang pemakai tidak perlu memberitahukan secara detail tentang bagaimana mendapatkannya.

Bahasa Pemrograman Generasi V

Bahasa pemrograman generasi kelima merupakan kelompok bahasa-bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence). Kecerdasan buatan adalah disiplin dalam ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia.Berikut ini aplikasi dengan menggunakan kecerdasan buatan :
  • Pemrosesan bahasa alami (natural language processing), yakni mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia (Indonesia, Inggris, Spanyol, Prancis, dan sebagainya).
  • Aplikasi sistem pakar (expert system) yang meniru seorang pakar di bidang tertentu sehingga bisa menghasilkan nasehat atau pemikiran yang setara dengan seorang pakar.
Dengan menggunakan bahasa generasi kelima dimungkinkan untuk melakukan perintah dengan cara percakapan seperti berikut:
“Tampilkan semua nama mahasiswa yang IPK-nya di atas 3,0 dan urutkan berdasarkan IP secara ascending”

Continue Reading