Today a Reader, Tomorrow a Leader

5 Mar 2018

Rangkuman Pertemuan 4 (Scheduling lanjutan)


Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                  : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus               : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.

Scheduling memiliki peranan penting didalam Network Operating System. Seperti yang kita bahas pada artikel sebelumnya, scheduling disini berperan memaksimalkan kinerja dan waktu processor, optimalisasi sumber daya, dan memaksimalkan output yang dihasilkan. Untuk pengantar mengenai scheduling dapat dilihat di artikel .

Algoritma Scheduling (lanjutan)
  • Shortest Process Next (SPN)
SPN akan memeriksa processing time (waktu pemrosesan/waktu eksekusi) dari setiap job, dimana process time yang paling pendek akan di-sorting ke antrian paling depan, dan yang terpanjang akan di-sorting ke antrian paling belakang.
  • Feedback
Fokus pada feedback bukanlah pada waktu eksekusinya, melainkan pada berapa lama waktu yang dihabiskan untuk melakukan eksekusi. Job yang masuk ke sejumlah antrian dengan memfokuskan kepada berapa lama waktu yang dihabiskan, dan apabila melebihi waktu, maka akan dilepaskan sampai semua proses selesai. Jika proses tdak selesai, maka akan digunakan algoritma Round Robin (RR). Gambar dibawah ini merupakan proses pada penjadwalan Feedback.


  • High Response Radio Next (HRRN)
Jika 2 algoritma sebelumnya focus pada time processing, maka di algoritma HRRN ada rumus yang digunakan yaitu (w+s)/s. Pada algoritma ini akan memilih job yang nilai Response Time-nya terbesar (R). Nilai R tersebut diperoleh dari rumus (w+s)/s, dimana w adalah waiting time (waktu tunggu processor), dan s adalah service time.
  • Shortest Remaining Time (SRT)
Algoritma ini memilih yang waktu tunggunya lebih pendek. Job yang masuk ke dalam antrian memiliki waktu tunggu, dimana apabila job dengan waktu tunggu yang lama akan menimbulkan starvation.

Peran Penjadwalan pada NOS secara spesifik.
Membantu penjadwalan dari semua service yang ada di dalam server.
Memanfaatkan cron, dapat menentukan penjadwalan terhadap suatu proses.
Jika dikaitkan dengan log dan cron, dapat membantu system administrator di dalam memperoleh data dan informasi mengenai sistem pada server (melalui bantuan OS).

Praktik Melihat Log Sistem
Dibawah ini merupakan proses yang terjadi pada Log Sistem dengan menggunakan perintah nano /var/log/syslog


Praktik Melihat Semua File Log
Dibawah ini merupakan list dari semua file yang dilihat dengan menggunakan perintah cd/ /var/log


Setelah melihat list file yang ada, kemudian sebuah file dibuka. Dari gambar diatas dapat dilihat bahwa akan dibuka file dengan nama kern.log dengan perintah nano. Dibawah ini merupakan tampilan setelah file tersebut dibuka.

Share:

26 Feb 2018

Rangkuman Pertemuan 3 (Scheduling)

Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Scheduling/Penjadwalan
Penjadwalan disini merupakan satu atau beberapa buah aturan, mekanisme dan prosedur di dalam OS (melibatkan kernel, aplikasi, process) terkait dengan  urutan kerja yang dilakukan oleh komputer dan sistem komputer. Scheduling ini terdapat didalam semua OS.

Mengapa ada scheduling?
Scheduling sangat penting!
  1. Kernel (inti OS) memiliki utilitas, fungsi-fungsi utama dan dukungan terhadap software dan hardware
  2. Process pada OS di mana kernel memiliki peran yang penting, seperti mengenai bagaimana mengatur utilitas
  3. Multiprogramming pada OS.

Multi programming merupakan kemampuan OS untk menjalankan 2 aplikasi atau lebih secara bersama2, dan menghasilkan sejumlah proses. Multiprogramming tidak bisa dilakukan tanpa adanya multiprocessing.
*multiprocessing -> kemampuan penanganan 2 proses atau lebih secara bersama-sama.
*multiprogramming lebih menekankan sisi software, sedangkan multiprocessing menekankan hardware.

Peran Scheduling :
  1. Memaksimalkan throughtput. throughput adalah proses yang ada dalam input dan output dimana memaksimalkan output yg dihasilkan.
  2. Memaksimalkan kinerja dan waktu processor.
  3. Efisiensi process. efisien dari segi sumber daya komputasi dll.
  4. Keadilan pada semua job dan aplikasi.
  5. Meminimalkan waktu tanggap (time respond). dengan adanya penjadwalan, proses akan lebih cepat tanggap atau dapat dikatakan tidak terlalu lama loading saat mengeksekusi aplikasi.
  6. Optimalisasi sumber daya (resource). 

Jenis Scheduling :


  • Long Term Scheduling
Penjadwalan dengan menambahkan pool untuk process yang akan dieksekusi. Ibaratnya menambahkan ruang temporary/sementara dalam jangka waktu eksekusi panjang sehingga mudah dibagi.
  • Medium Term
Penjadwalan dengan menambahkan jumlah dari process baik secara penuh maupun parsial dari memori utama
  • Short Term
Penjadwalan dengan memilih process mana yang akan dieksekusi terlebih dahulu oleh processor dalam waktu singkat
  • I/O Schedulling
Penjadwalan dengan memilih process mana yang tertunda untuk dilanjutkan kembali dengan melihat ketersediaan I/O

Scheduling selalu berhubungan dengan process, sehingga berhubungan pula dengan kondisi (state) dari process. State tersebut dapat dilihat penjelasannya pada artikel sebelumnya di Rangkuman Pertemuan 2 (Proses pada OS)


Algoritma Scheduling membantu alur scheduling pada aplikasi. 
  • Round Robin
Menggunakan konsep antrian. Setiap proses memiliki time quantum untuk menandai waktu dari proses. Jika time quantum selesai, maka proses selesai pula. apabila terlalu besar, algoritmanya akan menjadi FCFS (First Come First Serve)
  • FIFO (First in First Out)
Proses yang lebih dahulu datang akan segera dieksekusi. Waktu eksekusi setiap proses tidaklah sama, Jika ada proses panjang atau pendek, akan diselesaikan sesuai waktu kedatangan. hal tersebut akan merugikan proses yang hanya membutuhkan waktu sebentar.
  • Shortest Job First
Memperbaiki FIFO, proses yang lebih pendek akan diutamakan untuk diekseskusi.


Share:

19 Feb 2018

Rangkuman Pertemuan 2 (Proses pada OS)


Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Halo Guys ! nah sebelumnya kita telah mengulas sedikit ya tentang Operating System (OS), jadi kali ini akan Cindy lanjutkan dengan materi Proses, atau lebih lengkapnya Cindy akan membahas definisi dari proses tersebut, kondisi proses, Process Control Block (PCB), dan manajemen proses.

Definisi Proses
Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi, atau dapat juga diartikan sebuah program yang sedang dalam kondisi dijalankan atau dieksekusi.
Proses menggambarkan aktifitas yang sedang terjadi pada sistem operasi, yang disertai dengan nilai dari program counter dan isi dari daftar prosesor, maka dari itu proses tidak dapat dikatakan sebagai kode program.
Program merupakan sebuah entitas pasif. Program memerlukan Program Counter untuk menjalankan instruksi selanjutnya yang akan dijalankan dan didukung dengan seperangkat sumber daya.

Kondisi Proses
Proses bersifat mengubah kondisi awal/statis, dan setiap proses pasti memiliki status masing-masing pada setiap state-nya.
  • New                     : Proses sedang dikerjakan/dibuat
  • Running               : Proses sedang dieksekusi
  • Waiting                 : Proses sedang menunggu sejumlah kejadian untuk terjadi. Contohnya sebuah penyelesaiian I/O atau penerimaan sebuah tanda/sinyal)
  • Ready                 : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
  • Terminated          : Proses telah selesai melakukan eksekusi.

Process Control Block (PCB)
PCB berfungsi menggambarkan setiap proses pada OS, dan memuat informasi yang lebih spesifik untuk mengendalikan dan mengkoordinasikan beragam proses aktif didalamnya.
Berikut merupakan informasi-informasi yang ditampilkan oleh PCB.
  1. Keadaan Proses. Misalnya new, ready, running, waiting, etc.
  2. Program Counter, yang mengindikasikan alamat dari perintah selanjutnya untuk dijalankan pada proses ini.
  3. CPU Register. Meliputi accumulator, index register, stack pointer, general-purposes register, code information program counter. Register ini memiliki variasi dalam jumlah dan jenisnya, bergantung pada arsitektur dan rancangan masing-masing komputer. Keadaan/status informasi disimpan apabila terjadi gangguan, untuk memungkinkan proses berjalan/bekerja dengan benar.
  4. Informasi Manajemen Memori. Dapat berupa nilai dari dasar dan batas register, tabel halaman, atau tabel segmen, dimana informasi tersebut bergantung pada sistem memori yang digunakan oleh sistem operasi.
  5. Informasi Pencatatan, meliputi jumlah dari CPU dan waktu riil yang digunakan, batas waktunya, jumlah akun, dan jumlah proses.
  6. Informasi Status I/O, meliputi daftar dari perangkat I/O yang digunakan pada proses, daftar open berkas, etc.

Manajemen Proses
Dalam menangani proses, OS dapat melakukan manajemen proses yang meliputi 9 hal sebagai berikut.
  1. Penciptaan proses
  2. Penghancuran/terminasi proses
  3. Penundaan proses
  4. Melanjutkan kembali proses
  5. Mengubah prioritas proses
  6. Memblok proses
  7. Membangunkan proses
  8. Menjadwalkan proses
  9. Memungkinkan proses untuk berkomunikasi dengan proses lain.

Praktik Mandiri
Berikut hasil dokumentasi percobaan saya saat menjalankan banyak aplikasi kemudian menjalankan perintah “top” pada OS Linux Ubuntu melalui terminal.
Nah setelah menjalankan perintah tersebut akan muncul output seperti yang terlihat pada gambar diatas. Berikut arti atau keterangan dari setiap informasi yang terdapat didalamnya.

TOP (baris paling pertama)
Waktu saat ini : 07:44:39
Mesin berjalan : up 14 min
Sesi user login : 1 user
Rata-rata beban sistem : load average 0.91, 1.13, 0.89


Task
Total proses yang sedang berjalan : 290 total
Proses yang sedang berjalan : 2 running
Proses yang sleeping : 288 sleeping
Proses yang sedang berhenti : 0


CPU 
Persentase pemakaian CPU untuk proses pengguna : 7,0% us
Persentase proses CPU yang digunakan sistem : 2,1% sy
Persentase proses CPU yang mendapatkan prioritas Update : 0,0% ni
Persentase CPU yang tidak terpakai : 89,9% id
Persentase CPU yang menunggu proses : 0,9% wa
Penggunaan CPU untuk service hardware : 0,0% hi
Penggunaan untuk service software : 0,1% si
Jumlah CPU yang menjalankan virtual lain : 0,0% st

Memory and Swap
 Pada baris tersebut, ditampilkan informasi mengenai penggunaan memory dan swap (jumlah memori yang digunakan, memori bebas, cache, etc).

Process List

Berikut merupakan keterangan lebih lanjut mengenai baris proses.
PID : ID proses
USER : pengguna yang merupakan pemilik proses
PR : prioritas proses
VIRT : memori virtual yang digunakan oleh proses
RES : memori fisik yang digunakan oleh proses
SHR : proses yang dibagikan
S : Menunjukkan status proses. S untuk sleep, R untuk running, dan Z untuk zombie
%CPU : Persentase proses yang menggunakan CPU
%MEM : Persentase proses yang menggunakan RAM
TIME+ : Total waktu untuk seluruh aktivitas proses
COMMAND : Nama proses

Referensi
I Putu Agus Eka Pratama. 2018. PPT Network Operating System, Materi Proses.

Share:

18 Feb 2018

Rangkuman Pertemuan 1 (Operating System)


Nama                 : Ni Putu Cindy Meilani
NIM                    : 1605551022
Dosen                : I Putu Agus Eka Pratama ST., MT.
Matakuliah         : Network Operating System
Kampus             : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana





Hai teman-teman pecinta dunia IT ! Setelah sekian lama hiatus, Cindy hadir kembali untuk berbagi informasi mengenai dunia IT nih. Kali ini Cindy mau bahas sedikit tentang Operating System yaa.

Operating System atau yang sering juga disebut dengan istilah OS ini merupakan program utama pada komputer yang bertugas sebagai pengontrol eksekusi program (software) yang terdapat didalam komputer sekaligus penghubung dan interface antara hardware dan software lainnya.

OS disini memiliki peran yang sangat penting, selain memudahkan pengguna komputer, OS juga memiliki peran yang tak kalah penting lainnya yaitu sebagai berikut.


  1. Eksekusi program. Untuk menjalankan suatu program, pengguna memerlukan OS yang dapat mengeksekusi program yang ingin dijalankannya.
  2. Membantu pengembangan software. Untuk mengembangkan suatu software, seorang developer memerlukan OS yang dapat menjalankan aplikasi yang mendukung dalam pengembangan software tersebut. Misalnya adalah IDE, Debugger, dan Editor.
  3. Akses ke I/O Device. OS akan membantu menghubungkan antara software dan hardware dan akan menampilkan tatap muka (interface) sehingga mudah untuk dikontrol oleh pengguna.
  4. Akses ke sistem. OS disini juga dapat mengontrol hak akses pengguna, ia akan memilah apakah yang menggunakan komputer sebagai admin atau sebagai user biasa.
  5. Mengontrol akses ke file dan data pada komputer
  6. Deteksi Error. OS dapat mendeteksi terjadinya error atau kesalahan saat penggunaan perangkat dan juga melakukan penanganannya.
  7. Menghitung statistik penggunaan resource komputasi.
  8. Manajemen instruksi melalui software dan hardware
  9. Penanganan data binary
  10. Penyediaan API (Application Programming Interface) untuk tujuan pengembangan software.

Struktur Hardware dan Software Komputer

Struktur yang ada pada OS akan menentukan komponen-komponen pada masing-masing software dan hardware sehingga dapat terhubung dan berinteraksi. Urutan dari struktur tersebut dapat dilihat pada gambar dibawah ini, dimana OS menjadi penghubung antara software dan hardware.
















Hubungan Sistem Operasi dengan Manajemen Sumber Daya

Seperti yang sudah dijelaskan pada bagian peran OS sebelumnya, OS dapat mengontrol input dan output melalui perangkat I/O controller dimana kemudian diteruskan lagi ke processor. Lebih mudahnya kita bisa lihat melalui gambar dibawah ini.



















Gambar diatas menjelaskan mengenai hubungan OS dengan manajemen sumber daya pada komputer. Selain dapat mengatur perangkat I/O controller, OS juga memberi instruksi langsung ke processor untuk mengeksekusi program, mengatur waktu eksekusi, serta penjadwalan setiap program atau aplikasi yang sedang dijalankan.


Referensi
I Putu Agus Eka Pratama. 2018. PPT Network Operating System.
Foto cover by www.tes.com

Share:

11 Des 2016

PERENCANAAN TULISAN ILMIAH



A.     Macam – macam Tulisan Ilmiah

Macam – macam tulisan memengaruhi sistematika dan pemakaian bahasanya. Pada umumnya, tulisan dikelompokkan atas tulisan ilmiah (non-fiksi) dan non-ilmiah (fiksi). Dalam kaitan dengan teknik penyajian, tulisan ilmiah dibedakan atas tulisan ilmiah, tulisan ilmiah populer, dan tulisan populer.

Tulisan non-ilmiah (fiksi) cenderung menggunakan bahasa non baku. Hal itu terjadi karena tulisan jenis ini memerlukan “kebebasan” dalam penuangan ide dan banyak digunakan bahasa dialog. Sementara itu, tulisan populer dan ilmiah populer cenderung menggunakan bahasa semi-ilmiah. Hal itu dilakukan karena cenderung menggunakan bahasa semi-ilmiah karena jenis tulisan ini lebih mementingkan kekomunikatifan yang berkaitan dengan kebiasaan penggunaan bahasa sehari-hari di masyarakat.

B.     Langkah Penyusunan Tulisan Ilmiah
Ada tiga tahapan yang mesti dilalui dalam penyusunan tulisan ilmiah, yaitu tahapan persiapan (tahapan pra penulisan), tahapan penulisan, dan tahapan penyuntingan (revisi).

Tahapan persiapan adalah penentuan topik, pembatasan topik (perumusan masalah), penentuan judul, penentuan tujuan, penentuan bahan, dan pembuatan kerangka karangan. Tahapan ini pada prinsipnya merupakan tahapan penentuan topik yang dipilih dan akan membatasi serta mengarahkan tulisan yang akan dibuat.

Penentuan topik merupakan pemilihan pokok persoalan sebuah tulisan, dimana topik tersebut dapat diperoleh dari berbagai sumber. Dalam pemilihan topik tersebut, kita perlu memerhatikan manfaatnya, cukup menarik, dikenal dengan baik, bahannya dapat diperoleh, dan tidak terlalu luas atau sempit.

Setelah topik ditentukan dengan pembatasannya, dilanjutkan dengan perumusan judul karangan. Dalam perumusan ini, perlu diperhatikan kesesuaian dengan topik, sebaiknya dinyatakan dalam frasa, sesingkat mungkin, dan sejelas mungkin. Selanjutnya, judul itu dilengkapi dengan tujuan penulisan dan bahan. Maka perlu dibuatkan kerangka karangan yang berisi rencana kerja atau ketentuan pokok tentang rincian suatu topik.

Dalam pembahasan, kerangka karangan digunakan sebagai pedoman kerja. Hal pertama yang harus dilakukan adalah pengumpulan yang bisa didapatkan dari koran, majalah, ataupun terjun langsung ke lapangan. Data di lapangan dapat dikumpulkan melalui pengamatan (observasi), wawancara (interview), atau percobaan (eksperimen).

Berikutnya adalah penyeleksian dan pengorganisasian data, dimana data tersebut harus diolah dan dianalisis sesuai dengan keperluan. Selanjutnya, sudah dapat dilakukan pengonsepan karangan ilmiah sesuai dengan urutan dalam kerangka karangan yang telah ditetapkan.

Sebelum dilakukan pengetikan final, perlu dilakukan penyuntingan terlebih dahulu untuk mencegah adanya bagian yang tumpang tindih atau penjelasan yang berulang – ulang. Dalam kegiatan ini juga dilakukan penyuntingan bahasa yang digunakan.


Secara umum, tulisan ilmiah harus memuat tiga hal, yaitu pendahuluan, pembahasan, dan penutup.
·        Pendahuluan terdiri dari :
a.      Latar belakang
b.      Rumusan masalah
c.      Tujuan dan kegunaan
d.      Hipotesis
e.      Kerangka teori (bila perlu)
f.       Metodologi
g.      Jangkauan pembahasan

·        Pembahasan memuat inti pembicaraan yaitu temuan-temuan yang diperoleh dalam penelitian tersebut dimana sudah sesuai dengan masalah yang telah dirumuskan dan mencukupi.

·        Bagian Penutup memuat simpulan dan temuan yang diperoleh dan saran – saran yang bisa dikemukakan berkaitan dengan penelitian yang telah dilakukan.

Unsur – unsur laporan tersebut perlu dilengkapi dengan unsur – unsur lain yang biasa menyertai tulisan ilmiah. Unsur – unsur itu adalah halaman judul, halaman pengesahan (bila perlu), kata pengantar, daftar isi, daftar tabel (kalua ada) yang ada pada awal tulisan. Unsur lainnya yang disertakan setelah tulisan pokok adalah daftar pustaka dan lampiran – lampiran (bila perlu).


Share:

1 Des 2016

TIPS MERAWAT TOUCHPAD PADA LAPTOP






Touchpad berfungsi mengarahkan kursor dan bisa dikatakan sebagai versi praktis dari mouse. Touchpad membantu anda untuk mengoperasikan laptop tanpa bantuan mouse terutama jika anda sedang bepergian dan membawa mouse adalah hal yang cukup menyita ruang pada tas anda.
Jika touchpad rusak, anda bahkan bisa mengeluarkan biaya yang cukup mahal untuk memperbaikinya. Touchpad dilengkapi dengan elemen sensitive yang berfungsi mendeteksi gelombang magnet yang ada di tangan kita.

Berikut beberapa saran yang tidak sulit dilakukan untuk merawat touchpad pada laptop anda.


1.     Menggunakan mouse
Janganlah terlalu bergantung pada touchpad, dan gunakanlah touchpad ketika anda memang sedang tidak memungkinkan untuk menggunakan mouse.

2.     Memastikan tangan sudah bersih sebelum menggunakan touchpad
Touchpad akan cepat rusak jika anda menyentuhnya saat jari anda dalam keadaan kotor dan berminyak. Bukan hanya itu, debu pun dapat menyebabkan kinerja touchpad berkurang. Hindari tangan yang basah saat menggunakan touchpad, ada baiknya mengeringkan tangan anda terlebih dahulu sebelum mengoperasikan touchpad.

3.     Menambahkan lapisan yang dapat melindungi touchpad
Untuk melapisi touchpad, anda dapat menggunakan screen guard yang biasa digunakan untuk melindungi layer smartphone. Cara ini cukup efektif untuk menghindari touchpad cepat kotor dan terkena debu, minyak, dan kotoran lainnya.

4.     Membersihkan touchpad

Seperti yang sudah dikatakan sebelumnya, kotoran berupa debu maupun minyak dapat menurunkan kinerja touchpad pada laptop anda. Oleh sebab itu, anda perlu rajin menjaga kebersihan touchpad tersebut. Anda dapat menggunakan tisu kering atau kain untuk membersihkannya. 
Share:

QUERY SELECT

Share:

24 Nov 2016

Tips Agar Laptop Tidak Mudah Panas (Overheat)


1.   Menggunakan Cooling Pad
Cooling pad adalah alat yang dapat membantu mengurangi overheat pada laptop. Alat tersebut dapat menurunkan panas pada laptop dengan cara mengalirkan udara segar melalui bagian bawah laptop sehingga sirkulasi udaranya menjadi lancar. Namun anda juga perlu memerhatikan kebersihan dari cooling pad yang akan anda pakai karena jika cooling pad dalam keadaan kotor, benda tersebut dapat membawa debu masuk kedalam laptop.

2.      Memastikan Sirkulasi Udara Sekitar Baik
Janganlah meletakkan laptop di tempat yang pengap, contohnya diatas kasur ataupun bantal. Kebanyakan laptop memiliki lubang untuk sirkulasi udara di sisi bawah laptop tersebut. Jika dalam keadaan menyala laptop diletakkan diatas maupun bantal, sirkulasi udara akan menjadi buruk. Udara panas akan terperangkap dan udara yang baru akan kesulitan untuk masuk. Semakin lama sirkulasinya akan semakin buruk. Laptop akan menjadi overheat dan performanya menurun.
3.      Membersihkan Heatsink (Kipas)
Kipas yang tidak dibersihkan akan menyebabkan kotoran ataupun debu semakin menumpuk. Kecepatan putar dari kipas tersebut akan melambat. Anda bisa mengatasinya dengan membongkar lalu membersihkan kipas hingga benar-benar besih.
4.      Mengistirahatkan Laptop
Laptop juga memerlukan istirahat setelah melakukan pekerjaan yang lama. Paling tidak selama 30 menit anda dapat mematikan laptop secara total sebelum digunakan kembali.
Share:

INTRODUCTION : BAHASA PEMROGRAMAN DAN PERANNYA


A.    Bahasa Pemrograman
a.     Algoritma
Dalam matematika dan ilmu komputer, algoritma adalah urutan atau langkah-langkah untuk penghitungan atau untuk menyelesaikan suatu masalah yang ditulis secara berurutan. Sehingga, algoritma pemrograman adalah urutan atau langkah-langkah untuk menyelesaikan masalah pemrograman komputer.
Dalam pemrograman, hal yang penting untuk dipahami adalah logika kita dalam berpikir bagaimana cara untuk memecahkan masalah pemrograman yang akan dibuat. Sebagai contoh, banyak permasalahan matematika yang mudah jika diselesaikan secara tertulis, tetapi cukup sulit jika kita terjemahkan ke dalam pemrograman. Dalam hal ini, algoritma dan logika pemrograman akan sangat penting dalam pemecahan masalah.
Untuk contoh algoritma dalam matematika seperti di bawah ini:
Algoritma untuk menghitung nilai y dari persamaan y = 3x + 8
Algoritmanya adalah:
·        Mulai
·        Tentukan nilai x
·        Hitung nilai y = 3x + 8
·        Cetak nilai x dan y
·        Selesai
Penyajian algoritma secara garis besar dapat dibagi dalam dua bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocodePseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga tepat digunakan dalam menggambarkan algoritma yang akan dikomunikasikan kepada programmer.
Sedangkan untuk algoritma yang disajikan dengan gambar adalah dengan flowchartFlowcart adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau merupakan prosedur sistem secara logika. Flowcart digunakan untuk alat bantu komunikasi dan untuk dokumentasi.


b.     Syntax
Dalam pemrograman, syntax mengacu pada aturan yang menentukan urutan gabungan yang benar dari simbol-simbol yang dapat digunakan untuk membentuk program terstruktur dengan benar menggunakan bahasa pemrograman tertentu. Programmer berkomunikasi dengan komputer melalui syntax, semantik, dan tata bahasa dari bahasa pemrograman yang benar dan terstruktur. Syntax menjelaskan bagaimana variabel bahasa dan karakter dapat dikombinasikan ke dalam string.

c.      Interpreter
Interpreter adalah Perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di dalam kode tersebut.

Proses ini sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan dilaksanakan sebelum program tersebut dieksekusi.

Interpreter atau dalam bahasa Indonesia dikenal sebagai Juru Bahasa berbeda dengan Translator atau penterjemah dalam segi media yang dipakai untuk menerjemahkan. Interpreter akan menterjemahkan bahasa sumber ke dalam bahasa sasaran secara langsung atau orally sementara translator akan menerjemahkan bahasa sumber ke bahasa sasaran secara tertulis.

d.     IDE + OS
IDE (Integrated Development Environment) adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang   diperlukan dalam membangun perangkat lunak.  Sebuah IDE, atau secara bebas dapat diterjemahkan sebagai Lingkungan Pengembangan Terpadu, setidaknya memiliki fasilitas :

• Editor, yaitu fasilitas untuk menuliskan kode sumber dari perangkat lunak.
• Compiler, yaitu fasilitas untuk mengecek sintaks dari kode sumber kemudian mengubah dalam bentuk binari yang sesuai dengan bahasa mesin.
• Linker, yaitu fasilitas untuk menyatukan data binari yang beberapa kode sumber yang dihasilkan compiler sehingga data-data binari tersebut menjadi satu kesatuan dan menjadi suatu program komputer yang siap dieksekusi.
• Debuger, yaitu fasilitas untuk mengetes jalannya program, untuk mencari bug/kesalahan yang terdapat dalam program.
Sampai tahap tertentu IDE modern dapat membantu memberikan saran yang mempercepat penulisan.Pada saat penulisan kode, IDE juga dapat menunjukan bagian-bagian yang jelas mengandung kesalahan atau keraguan.
OS (Operating System) atau dikenal juga dengan Sistem Operasi merupakan software pada lapisan pertama yang diletakkan pada memori komputer, (memori komputer dalam hal ini ada Hardisk, bukan memory ram) pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi Komputer berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan kernel suatu Sistem Operasi.
Sistem Operasi berfungsi sebagai penghubung antara lapisan hardware dan lapisan software. selain itu, Sistem Operasi komputer juga melakukan semua perintah perintah penting dalam komputer, serta menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara bersamaan tanpa hambatan. Sistem Operasi menjamin aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta output terhadap peralatan lain, dan mempunya akses kepada sistem file.


B.    Model Pemrograman
a.     Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik atau langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya atau kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).
Contoh : C, Pascal, Delphi

b.     Pemrograman Berorientasi Objek (Object Oriented Programming)
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Contoh : Java, Python

C.    Peran
a.     Jaringan Komputer
(C, Java, Python, dll)
Dalam perannya jaringan komputer berperan dalam komunikasi data atau pergerakan data dari setiap pengguna jaringan. Dalam sistem jaringan tersebut terdapat sebuah komputer pusat atau pengolah pusat. Biasanya komputer pusat ini berupa seperangkat komputer mainframe yang terhubung dengan jumlah terminal. Terminal-terminal ini bisa disimpan berdekatan dengan CPU atau terpisah dengan jarak yang cukup jauh atau bisa sangat jauh sekali, atau bahkan tersimpan luar negri atau dibelahan benua lain.
Hampir di setiap instansi, baik pemerintahan, pendidikan ataupun lembaga bisnis, termasuk lembaga keuangan seperti bank telah menggunakan jaringan komputer atau jaringan yang sudah canggih. Jadi dari hal tersebutlah pengolahan dan komunikasi data bisa dilakukan dengan cepat dari satu tempat ke tempat lain. Salah satu contoh peran karingan komputer dalam komunikasi data adalah untuk pengiriman atau penerimaan email melalui jaringan internet, pengecekan kartu kredit secara online dan lain sebgainya.

b.     Database
(Java, ODBC, Python, dll)
Database atau Basis Data adalah kumpulan informasi yang disimpan dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi data.

c.      Internet of Things
Internet of Things (IoT) adalah sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet yang tersambung secara terus-menerus, berikut kemampuan remote control, berbagi data, dan sebagainya, termasuk pada benda-benda di dunia fisik. Bahan pangan, elektronik, peralatan apa saja, koleksi, termasuk benda hidup, yang semuanya tersambung ke jaringan lokal dan global melalui sensor tertanam dan selalu “on”.
Pada hakekatnya, benda Internet atau Internet of Things mengacu pada benda yang dapat di identifikasikan secara unik sebagai representasi virtual dalam struktur berbasis Internet

d.     Cloud Computting
Secara umum, cloud computing merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkoneksi melalui internet menggunakan cloud computing.
Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer dengan akses internet.

e.      Intelligent Transportation System
Intelligent Transportation System dalam bahasa Indonesia berarti sistem transportasi cerdas. Sistem ini mempunyai tujuan dasar untuk membuat sistem transportasi yang mempunyai kecerdasan, sehingga dapat membantu pemakai transportasi dan pennguna transportasi untuk:

·                  Mendapatkan informasi.
·                  Mempermudah transaksi.
·                  Meningkatkan kapasitas prasarana dan sarana transportasi.
·                  Mengurangi kemacetan atau antrian.
·                  Meningkatkan keamanan dan kenyamanan.
·                  Mengurangi polusi lingkungan.
·                  Mengefisiensikan pengelolaan transportasi.

Intelligent Transportation System atau biasa disingkat ITS pada prinsipnya adalah penerapan teknologi maju di bidang elektronika, komputer dan telekomunikasi untuk membuat prasarana dan sarana transportasi lebih informatif, lancar, aman dan nyaman sekaligus ramah lingkungan.

f.      Parallel Computting
      Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. 
              Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara parallel.

g.     Bio Informatika, E-Health
  Bioinformatika sendiri merupakan cabang ilmu biologi yang memadukan pengetahuan biologi, bioteknologi, maupun biologi molekular dengan teknologi informasi yang berupa komputer dan internet. Salah satu tujuannya adalah untuk memahami organisme hidup melalui perkembangan bioinformasi.  


D.    Tips Pemrograman
a.     Pahami Algoritma
Anda harus memahami algoritma terlebih dahulu jika ingin membuat suatu program. Apa yang akan anda buat, anda harus memahami bagaimana proses dan penyelesaian masalahnya dengan rancangan algoritma yang tepat.
b.     Kuasai Syntax
Penguasaan syntax sangat penting setelah anda memahami algoritma dari program yang akan anda buat dengan mengacu pada aturan yang menentukan urutan gabungan yang benar dari simbol-simbol yang dapat digunakan untuk membentuk program terstruktur dengan benar sesuai dengan bahasa pemrograman yang akan anda gunakan.
c.      Pahami Model Pemrograman (structural/object oriented)
Anda harus menentukan model dari program yang akan anda buat karena  akan berpengaruh terhadap bahasa pemrograman yang akan anda pakai.
d.     Berlatih
Dengan berlatih secara tekun, anda akan terbiasa dan mudah dalam membuat program anda. Kesalahan-kesalahan dalam code anda juga semakin lama akan semakin bisa diminimalisir.
e.      Studi Kasus Sehari – hari
Studi kasus penting dilakukan untuk menelaah bagaimana project anda akan dibuat dan digunakan kedepannya. Studi kasus tersebut juga berguna untuk evaluasi perkembangan program yang anda buat.
f.      Aktif dalam Pengembangan (project, open source, github)
Pengalaman menjadi hal yang tidak kalah penting dalam menyukseskan program yang akan anda buat. Semakin anda aktif dalam kegiatan-kegiatan yang berkaitan dengan program anda, semakin banyak pula ilmu yang akan kalian dapat dimana ilmu tersebut dapat diimplementasikan pada project anda.

E.    Security
a.     Kesalahan Algoritma
Kekeliruan, tidak tepat, kesalahan secara perangkat lunak, atau kerusakan pada perangkat keras.Dengan terjadinya error ini, maka pelaksanaan tidak sesuai dengan yang diharapkan.
Pada beberapa kejadian, apabila terjadi error, maka perintah yang sedang dikerjakan diberhentikan karena tidak bisa dilanjutkan, seperti tidak ada printer. Namun pada kondisi lainnya, pekerjaan masih bisa dilanjutkan, karena error yang terjadi tersebut tidak terlalu mempengaruhi sistem dan bisa diabaikan, seperti pemutaran suatu media presentasi pada komputer yang tidak mempunyai sound card,proses masih bisa dilanjutkan untuk melihat presentasi tersebut, meskipun dalam kondisi bisu.

b.     Buffer Overflow
Buffer overflow (BO) terjadi jika suatu program berusaha menyimpan data ke buffer, dimana ukuran data lebih besar dari ukuran buffer. Saat jumlah data melebihi ukuran buffer, kelebihan data dapat melimpah ke lokasi memory terdekat, merusak data dan bisa merubah path dan perintah eksekusi. Diantara informasi yang rusak, mungkin terdapat informasi yang berisi subroutine dari suatu program, sehingga program tidak dapat menemukan subroutine dan tidak dapat menyelesaikan programnya. Kemampuan eksploitasi BO memungkinkan seseorang untuk memasukkan kode sembarang ke path eksekusi. Kode ini memungkinkan akses jarak jauh yang terlarang (unauthorized). Seorang hacker bisa mengirimkan data yang lebih besar dari ukuran buffer dan berisi kode yang dirancang untuk melakukan aksi tertentu, untuk merusak atau mengubah data dan membuka informasi rahasia.

F.     Tingkat Bahasa Pemrograman
a.     Tingkat Tinggi
Bahasa tingkat tinggi yaitu bahasa komputer yang memakai instruksi yang berasal dari unsur kata-kata bahasa manusia. Contohnya : begin, end, if, for, while,and, or, dan sebagainya. Bahasa ini menggunakan perintah yang mendekati bahasa manusia. Contohnya adalah Delphi, Pascal, ORACLE, MS-SQL, Perl, Phyton, Basic, Visual Studio (Visual Basic, Visual FoxPro), Informix, C, C++, ADA, Java, PHP, ASP, XML, dan lain-lain.
b.     Tingkat Rendah
Bahasa ini dikenal dengan istilah Bahasa Assembly yaitu dengan memberikan perintah kepada komputer dengan memakai kode-kode singkat (mnemonic). Contohnya SUB, CMP, LOOP, dan sebagainya. Bahasa tingkat ini, bahasanya masih jauh dari bahasa manusia.

SUMBER :
https://magneticinfo.blogspot.co.id/2014/08/bahasa-pemrograman-programming-language.html
Share: