Senin, 08 April 2019

Pengertian Service Oriented Architecture

  Tidak ada komentar
07.19

Nama                    : I Wayan Gus Arisna
NIM                      : 1605551032
Prodi                     : Teknologi Informasi
Fakultas                : Teknik
Universitas           : Udayana
Mata Kuliah         : Network Centric Principle
Dosen Pengampu : I Putu Agus Eka Pratama, ST MT


Service Oriented Architecture (SOA)  merupakan istilah yang menjadi trend dalam teknologi terbaru di dunia TI, yang merupakan sebuah pendekatan dalam merancang (arsitek) sistem dimana service yang ada dalam masing-masing sistem yang ada. Secara umum SOA adalah sebuah arsitektur kerangka kerja berbasis standar yang terhubung yang memungkinkan sistem-sistem untuk saling mengintegrasikan data yang sebelumnya hanya tersimpan rapat di berbagai lokasi atau sumber. Setiap komponen yang terdapat SOA akan memberikan suatu jenis layanan (service) tertentu.
Contoh jenis layanan (service) yang diberikan oleh Service Oriented Architecture (SOA) yaitu seperti service untuk pembayaran, transfer pembayaran, mengecek status akun bank, pada sebuah sistem perbankan berbasis SOA. Berikut merupakan contoh gambar dari SOA yang terdapat pada bidang perbankan sebagai berikut.

Berdasarkan gambar berikut merupakan contoh dari perkembangan sistem Service Oriented Architecture (SOA) pada bidang perbankan, dimana dengan menggunakan SOA akan membantu bank dalam bisnis prosesnya seperti integrase antara bak service dengan manusia/costumer yang memberikan bebrapa kelebihan human interfaces seperti Internet Banking, Telephone Baking, ATM Banking dan Personal Banking. Selain itu Service Oriented Architecture (SOA) juga memberikan suatu proses computer system interfaces (Web Servics) seperti Costumer-to-Bank, Bank-to-Bank dan Enterprise-to-Bank.
Dalam mengebangkan Service Oriented Architecture (SOA) di berbagai bidang salah satunya perbankan, Service Oriented Architecture (SOA) memerlukan suatu jaringan computer sebagaimana yang diperluka oleh sistem atau software lainnya. Maka dengan itu Service Oriented Architecture (SOA) sangat berhubungan dengan ilmu NCP yang dimana NCP akan menyediakan berbagai solusi untuk arsitekstur jaringan, konten, data, service hingga keamanannya seperti yang sudah dibahas pada pertemuan sebelum-sebelumnya seperti CDN, NCN, ICD dan lainnya. Dengan perpaduan antara Service Oriented Architecture (SOA) dengan Network Centric Principles (NCP) akan memberikan suatu keuntungan dalam kaitannya dengan kebutuhan enterprice, sehingga akan menjadikan proses yang lebih efisien dan lebih baik kedepannya.

REFERENSI

Supriya Ghosh, Net Centricity And technological Interoperability In Organization, Arcadia Concept, 2010.
Gilberd Held, A Practical Guide to Content Delivery Networks, Second Edition 2nd Edition, CRC Press, 2014.
Gabriel M. de Brito, Pedro B. Velloso, Igor M. Moraes, Information Centric Networks: A New Paradigm for the Internet, Wiley, 2013.

Read More

Content Delivery/Distributed Network

  Tidak ada komentar
07.16

Nama                    : I Wayan Gus Arisna
NIM                      : 1605551032
Prodi                     : Teknologi Informasi
Fakultas                : Teknik
Universitas           : Udayana
Mata Kuliah         : Network Centric Principle
Dosen Pengampu : I Putu Agus Eka Pratama, ST MT



Content Delivery/Distributed Network merupakan suatu jaringan yang dapat memberikan suatu konten kepada pengguna dari sebuah situs yang kemudian diberikan ke pengguna berdasarkan letak geografis dari pengguna layanan situs tersebut.

Pentingnya suatu Content Delivery/Distributed Network (CDN) dalam pengimplementasian NCP merupakan suatu solusi yang sangat baik dalam suatu hosting dalam internet. Dimana jaringan internet di era globalisasi ini begitu banyak konten, data, dan informasi yang terdapat di berbagai layanan yang tersedia. Maka dari itu perlu adanya Content Delivery/Distributed Network (CDN) yang dimana sejumlah node (server/computer) yang tersebar secara fisik di sejumlah tempat, yang Bersama-sama memberikan layanan pengiriman content dan data yang diminta oleh pengguna dari sebuah layanan berbasis web. Dengan adanya suatu CDN memberikan suatu perbedaan dalam pemberian suatu permintaan sebuah content ke pengguna dengan web atau hosting konvensional. Web atau Hosting Konvensional merupakan suatu suatu layanan yang diberikan ke pengguna secara terpusat  yang artinya semua permintaan dari pengguna akan langsung di kirim ke sebuah server/computer pusat sedangkan web atau hosting dengan menggunakan CDN akan memberikan suatu permintaan dari pengguna secara lebih efisien dikarenakan dengan CDN web atau hosting akan bersifat terdistribusi yang artinya terdapat sebuat server/computer yang tersebar diseluruh wilayah di berbagai dunia, sehingga permintaan dari pengguna akan lebih efisien karena akan dikirimkan ke server,computer terdekat. Berikut merupakan pengimplementasian dari Content Delivery/Distributed Network (CDN) sebagai berikut.

Berdasarkan gambar berikut merupakan suatu gambaran dalam pengimplementasian CDN dalam sebuah web atau hosting dalam jaringan internet. Dimana CDN pada gambar diatas menggunakan suatu sistem berbasis Cloud Computing dalam penyimpanan suatu konten, data dan informasi. Dengan menggunakan layanan cloud ini maka penyedia layanan akan lebih mudah dalam melayani semua permintaan dari pengguna, dimana akan melihat letak geografis dari pengguna, setiap pengguna yang mengirimkan suatu permintaan akan dikiriman ke server terdekat dari letak geografis dari pengguna tersebut sehingga layanan akan lebih efisien dan lebih handal (reliable). Sehingga semua permasalahan yang dihadapi dalam suatu pengiriman konten pada web atau hosting tidak menggunakan CDN seperti RTO, Trafik macet, keamanan (MITM), kehandalan berkurang (latency, delay, jitter, throughput dalam QOS) tidak akan terjadi jika web atau hosting menggunakan suatu sistem CDN. Berikut merupakan gambaran dalam penyebaran suatu node atau server/computer tersebar di seluruh bagian wilayah dunia.

Berdasarkan gambar berikut merupakan suatu penyebaran node atau server/computer di berbagai wilayah dunia yang dimana diberbagai dunia sudah terpasang beberapa node server sehingga memudahkan dalam memberikan suatu layanan dalam jaringan internet. Contohnya jika pengguna berada pada letak geografis yaitu misalnya negara Indonesia, maka konten yang diminta ke server akan dikirimkan ke node server yang terdekat dalam hal ini yaitu node server yang terdapat pada negara Singapura, dikarenakan dikirim pada negara Singapura karena di negara Indonesia tidak terdapat node server CDN yang terpasang.
Content Delivery/Distributed Network (CDN) dapat digunakan di berbagai layanan dan berbagai aplikasi yang berbasis web misalnya pada layanan web hosting, layanan social media dan social network, web bisnis, E-commerce/mobile commerce, E-business, ERP, web militer, web pemerintahan, web sekolah dan (terutama) kampus, layanan kesehatan dan publik, game online, entertainment dan lainnya banyak lagi.


REFERENSI

Supriya Ghosh, Net Centricity And technological Interoperability In Organization, Arcadia Concept, 2010.
Gilberd Held, A Practical Guide to Content Delivery Networks, Second Edition 2nd Edition, CRC Press, 2014.
Gabriel M. de Brito, Pedro B. Velloso, Igor M. Moraes, Information Centric Networks: A New Paradigm for the Internet, Wiley, 2013.

Read More

Senin, 25 Maret 2019

Named Data Network (NDN)

  Tidak ada komentar
07.38

Nama                    : I Wayan Gus Arisna
NIM                      : 1605551032
Prodi                     : Teknologi Informasi
Fakultas                : Teknik
Universitas           : Udayana
Mata Kuliah         : Network Centric Principle
Dosen Pengampu : I Putu Agus Eka Pratama, ST MT

Jaringan internet kini sudah terdapat banyak sekali konten, data, dan juga informasi yang disebarkan, dimana hal tersebut yang menyebabkan adanya ICN(Information Centric Network) dan juga Named Data Network. Desain arsitektur jaringan pada internet merupakan jenis point to point, dimana pada jaman globalisasi sekarang diperlukan desain arsitektur jaringan komunikasi point to point yang baru yang lebih baik, sehingga muncul project NDN ini. Tujuan dari NDN adalah untuk mengembangkan arsitektur Internet baru yang dapat mengambil keuntungan dari kekuatan arsitektur komunikasi point-to-point berbasis host saat ini dan mengatasi kelemahannya untuk mengakomodasi secara alami perkembangan yang muncul

          NDN adalah protokol jaringan yang relatif baru yang mengubah cara perangkat kita (komputer, tablet, telepon) menerima data yang ingin kita lihat. Versi dari Jaringan yang Berpusat pada Konten. Alih-alih mengidentifikasi data berdasarkan pada server di mana ia berada, ia mengambil data berdasarkan nama. Misalnya, program TV online populer dapat dihubungi berdasarkan nama alih-alih server yang dihosting (mis., Netflix.com atau amazon.com). Bahkan lebih baik, versi berbeda dari data yang sama mungkin memiliki nama berbeda yang memungkinkan akses ke versi tertentu.



SUMBER

[1] I Putu Agus Eka Pratama. "netcentricprinciple6". 2019.

Read More

ICN : Information Centric Network

  Tidak ada komentar
07.32

Nama                    : I Wayan Gus Arisna
NIM                      : 1605551032
Prodi                     : Teknologi Informasi
Fakultas                : Teknik
Universitas           : Udayana
Mata Kuliah         : Network Centric Principle
Dosen Pengampu : I Putu Agus Eka Pratama, ST MT



PENGERTIAN ICN

ICN atau Information Centric Principle merupakan suatu pendekatan dalam mengembangkan infrastruktur internet dari paradigma host-centric berdasarkan konektivitas abadi dan prinsip end-to-end, menjadi arsitektur jaringan yang berfokus pada informasi atau konten atau data. Konsep ICN fokus terhadap informasi itu sendiri, bukan lokasi penyimpanan informasi tersebut maupun representasi fisiknya. Konsep ini lebih lanjut disebut dengan Information Object (IO), yang mana setiap IO memiliki beberapa representasi berbeda dan kemudian akan muncul beberapa salinan yang berbeda dari setiap representasi tersebut untuk disimpan pada server, client node, atau cache. Berdasarkan hal tersebut, dapat diketahui bahwa sebuah IO mengacu pada kelompok dari semua representasi dan salinan dari informasi yang sama.


Gambar diatas merupakan contoh penggambaran dalam suatu sistem yang terpercaya dan tidak terpercaya. Apabila seorang penguna menginginkan suatu informasi dalam suatu jaringan internet, seharusnya pengguna mendapatkan informasi ataupun konten yang diinginkannya dari penyedia layanan yang terpercaya. Maka dari itu Internet service provider, koneksi internet, keamanan jaringan serta penamaan seperti DNS harus terpercaya agar pengguna mendapatkan semua kenyamaan, keamanan dan privasi dalam mengakses informasi di suatu jaringan internet.

Demi mewujudkan kenyamanan tersebut, ICN harus berjalan sesuai dengan kinerjanya. Misalnya memastikan semua node di dalam network atau jaringan memiliki keamanan dan otentikasi (server, client, node), penyedia layanan dan konten, data dan informasi yang terpercaya, serta topologi jaringan yang baik.


SUMBER

[1] I Putu Agus Eka Pratama. "netcentricprinciple6". 2019.

Read More

Senin, 04 Maret 2019

Software Defined Networking (SDN)

  Tidak ada komentar
07.46

Nama : I Wayan Gus Arisna
NIM : 1605551032Prodi : Teknologi InformasiFakultas : TeknikUniversitas : UdayanaMata Kuliah : Network Centric PrincipleDosen : I Putu Agus Eka Pratama, ST MT



Software Defined Networking (SDN)
Perkuliahan Network Centric Principles pada pertemuan kelima ini akan membahas lebih detail mengenai SDN (Software Defined Networking), yang dimana pada petemuan sebelumnya sudah sedikit membahasa mengenai SDN. Sebelumnya sudah membahas mengenai definisi Software Defined Networking (SDN), perbedaannya dengan Traditional Networking, sekarang disini akan lebih detail membahas mengenai SDN dalam bentuk virtualisasinya dan apa itu tentang Hypervisor serta praktek dengan menggunakan mininet dalam sebuah system operasi LINUX.
Sebelumnya sudah membahas amengenai definisi Software Defined Networking (SDN) yang merupakan suatu konsep pendekatan jaringan komputer dimana sistem pengontrol dari arus data dipisahkan dari perangkat kerasnya. Software Defined Network (SDN) merupakan sebuah bagian dari Cloud Computing yaitu IAAS Cloud, yang berarti adalah sama halnya dengan Cloud Computing, SDN memiliki suatu kekuatan utama yaitu Virtualisasi, dimana jika Virtualisasi dikombinasikan dengan SDN akan menghasilkan suatu system yang sama dengan IAAS pada Cloud Computing.

A. Virtualisasi
Virtualisasi merupakan sebuah sistem yang dibuat pada versi maya (virtual) dari suatu sumber daya (resource) sehingga pada satu sumber daya fsik dapat dijalankan atau disimpan beberapa sumber daya maya sekaligus, dengan syarat unjuk kerja masing-masing sumber daya maya itu tidak berbeda signifkan dengan sumber daya fisiknya. Kapasitas atau kemampuan lebih ini didayagunakan dengan menjalankan atau menyimpan beberapa sumber daya maya (tergantung pada kemampuan dan kapasitas sumber daya tersebut dan beban kerjanya) sehingga dapat menghasilkan efsiensi yang lebih tinggi.
Virtualisasi memberikan suatu keuntungan yaitu dapat menjalankan beberapa system operasi di waktu yang bersamaan sehingga dapat menghemat biaya operasional, Dalam membuat suatu sistem operasi yang dapat divirtualisasikan yaitu sistem operasi, media penyimpanan, aplikasi, hardware, jaringan, dan layanan di jaringan.
Yang dapat divirtualisasikan yaitu Hardware atau perangkat keras, yang dimana virtualisasi ini dimungkinkan karena perkembangan teknologi hardware yang sedemikian pesat sehingga kemampuan sebuah sumber daya fisik berada jauh di atas tuntutan penggunaannya sehinga sebagian besar waktu atau kapasitasnya tidak terpakai (idle). Terdapat beberapa jenis virtualisasi hardware yaitu Para-virtualisasi yang merupakan perangkat keras tidak disimulasikan tetapi perangkat-lunak tamu berjalan dalam domainnya sendiri seolah-olah dalam sistem yang berbeda. Dalam hal ini perangkat-lunak tamu perlu disesuaikan untuk dapat berjalan. Virtualisasi sebagian yang merupakan tidak semua aspek lingkungan disimulasikan tidak semua perangkat-lunak dapat langsung berjalan, beberapa perlu disesuaikan untuk dapat berjalan dalam lingkungan virtual ini. Serta Virtualisasi penuh yang berarti hampir menyerupai mesin asli dan mampu menjalankan perangkat lunak tanpa perlu diubah.

B. Hypervisor
Dalam membuat suatu system virtualisasi diperlukan sebuah system tambahan yaitu bernama Hypervisor. Yang dimana Hypervisor tersebut merupakan menambahkan satu bagian (layer) perangkat lunak (software) dalam membangun sebuah virtualisasi. Hypervisor berfungsi sebagai Virtual Machine Manager (VMM) yang merupakan suatu bagian yang melakukan abstraksi dari perangkat keras fisik menjadi perangkat keras virtual dalam rangka mendistribusikan beban kerja dari semua mesin virtual (VM) ke masing-masing perangkat keras secara proporsional.

Gambar diatas merupakan proses virtualisasi yang dilakukan pada prosesor x86 yang dimana awalnya proses ini dianggap sangat sulit karena memiliki arsitektur seperti pada gambar tersebut. Prosesor x86 membagi tingkatan akses menjadi 4 tingkat yang dinamai Ring 0, 1, 2, dan 3. Ring 0 adalah satu-satunya tingkatan yang memungkinkan dijalankannya perintah-perintah untuk mengakses memori atau perangkat keras lainnya secara langsung.
Ring yang lain tidak dapat menjalankan perintah-perintah untuk mengakses memori dan perangkat keras secara langsung. Software yang dijalankan pada Ring 1, 2, dan 3 dibatasi aksesnya ke hardware untuk alasan keamanan sistem yang ketat. Akses hardware dari Ring selain Ring 0 akan diseleksi terlebih dahulu dan apabila diijinkan akan didelegasikan melalui Ring 0 dengan mendapatkan pengawalan yang sangat ketat.
Idealnya virtualisasi dapat dilakukan dengan mudah dengan cara menempatkan hypervisor pada Ring 0 dan OS minimal di Ring 1. Akan tetapi OS perlu mengakses memori dan perangkat keras lainnya secara langsung. Dalam kondisi biasa OS menempati Ring 0 dan tidak ada masalah. Bila OS harus digeser ke Ring 1 maka timbul masalah akses. Sehingga tantangan terbesar virtualisasi dalam keluarga komputer yang berarsitektur x86 adalah bagaimana membuat sebuah hypervisor yang dapat dijalankan di Ring 0 akan tetapi tidak menghalangi akses dari OS yang digeser dari Ring 0 ke Ring 1.
C. Praktek Mininet pada Linux Ubuntu
Berikut merupakan suatu proses paraktek simulasi mininet dalam system operasi linux yaitu Ubuntu, adalah sebagai berikut. Pertama install mininet pada linux dengan mengetikkan perintah “sudo apt-get install mininet”. Jika sudah selesai akan muncul tampilan seperti diatas, selanjutnya jalankan suatu perintah yang digunakan untuk membuat suatu topologi dengan 3 host tanpa terhubung ke controller, dengan mengetikkan perintah “sudo mn –mac –topo single,3 –switch ovsk –controller= remote”

Selanjutnya untuk melihat semua host atau interface network yang ada dengan mengetikkan mininet> “net”.

Dan untuk melihat semua informasi node pada setiap interface network yang ada dengan mengetikkan mininet> “dump”.

Terakhir untuk keluar dari mininet digunakan dengan mengetikkan perintah mininet> “quit”.

Read More

Senin, 18 Februari 2019

NCOIC, Network Centric Operations Industry Consortium

  Tidak ada komentar
23.26

Nama : I Wayan Gus Arisna
NIM : 1605551032Prodi : Teknologi InformasiFakultas : TeknikUniversitas : UdayanaMata Kuliah : Network Centric PrincipleDosen : I Putu Agus Eka Pratama, ST MT

Telah banyak diterapkannya Network Centrik di berbagai bidang seperti pemerintahan, perusahaan, militer dan lain-lain. Hal ini mendorong adanya wadah komunikasi antar penggiat Network Centric, pengguna, vendor dan stakeholder lainnya terkait dengan prinsip dan implementasi dari Network Centric Principle. Selain itu perlu juga adanya badan yang mengatur standarisasi, regulasi hingga protocol dan aplikasi yang mendukung NCP. Menjawab kebutuhan tersebut akhirnya pada tahun 2004 dibentuklan NCOIC.

NCOIC atau kepanjangan dari Network Centric Operations Industry Consortium yang merupakan suatu organisasi konsorsium Internasional yang focus kepada pengembangan dan pemanfaatan Network Centric di seluruh dunia. Sesuai dengan definisinya berarti semua yang berkaitan dengan Net Centric akan berada dibawah atau diwadahi oleh badan yang bernama NCOIC. NCOIC diikuti oleh berbagai negara dan perusahaan IT di seluruh dunia, dengan biaya keanggotaan bervariasi serta pendaftaran disediakan langsung di web NCOIC. Situs Web dari NCOIC adalah www.ncoic.org.


Gambar diatas merupakan bagan dari NCOIC dan Network Centric Principles yang dimana pada bagan tersebut merupakan alur dari NCOIC yang dimana pada tahap awal yaitu dasar atau prinsip, kedua merupakan pesyaratan, ketiga merupakan ilmu bangunan/arsitek, keempat melakukan desain, kelima melakukan pemgembangan atau membangun dan mempersatukan dan terakhir yaitu tahapan tes/ujian dan evaluasi.

Pelaksanaan Network Centric Principles terhadap NCOIC memiliki 5 prinsip untuk meningkatkan keberhasilan pelaksanaannya. 5 prinsip tersebut antara lain.
  1. Dinamis: semua entitas harus mampu mendukung lingkungan dan kebiasaan yang selalu berkembang dan berubah.
  2. Global: NCP harus dapat digunakan disegala platform, sistem operasi maupun perangkat.
  3. Eksplisit: Informasi yang mengalir harus lugas dan tanpa melalui pengolahan lagi (tidak tersirat).
  4. Simetrik: Relasi dan entitas bersifat simetris dan berimbang dari strukturnya.
  5. Entitas: entitas memiliki identitas yang unik seperti halnya MAC address pada perangkat jaringan yang bersifat unik.

Read More

Pertemuan 2

  Tidak ada komentar
23.18

Read More

Pertemuan 1

  Tidak ada komentar
23.18

Read More

Rabu, 25 April 2018

Cloud Computing

  Tidak ada komentar
07.14



Nama Dosen               : I Putu Agus Eka Pratama, S.T., M.T

Jurusan                        : Teknologi Informasi

Fakultas                       : Teknik

Universitas                  : Universitas Udayana

Pertemuan                    : 11


DEFINISI CLOUD COMPUTING

Menurut NIST (National Institute of Standard and Technology), dalam draftnya yang berjudul ‘The NIST Definition of Cloud Computing’, Peer Meel and Timothy Grance mendefinisikan Cloud Computing sebagai sebuah model yang memungkinkan adanya penggunaan sumber daya (resource) secara bersama - sama dan mudah, menyediakan jaringan akses dimana - mana, dapat dikonfigurasi, dan layanan yang digunakan sesuai keperluan. Hal ini berarti layanan pada Cloud Computing dapat disediakan dengan cepat dan meminimalisir interaksi dengan penyedia layanan Cloud Computing.

MODEL LAYANAN CLOUD COMPUTING



Cloud Computing memiliki 3 (tiga) model pengiriman (delivery) dalam komputasi awan. 3 model pengiriman tersebut dijelaskan sebagai berikut.
  • Software as a Service (SaaS) : Layanan yang menyediakan aplikasi jadi / siap pakai kepada End user. Ciri dari layanan ini adalah user tidak perlu membuat aplikasi, tidak perlu menyiapkan tempat dan juga infrastruktur. Contoh SaaS adalah gmail, ymail, facebook, twitter, dropbox
  • Platform as a Service (PaaS) : Layanan yang menyewakan “tempat” untuk menjalankan aplikasi dari user. Tempat yang dimaksud seperti sistem operasi, database, framework, dan lain-lain yang merupakan wadah untuk berjalannya aplikasi. Ciri dari layanan ini adalah user tidak perlu melakukan maintenance dan tidak perlu menyiapkan infrastruktur. Sehingga user dapat tetap fokus membangun aplikasinya. Contoh Pass adalah Windows Azure, Amazon Web Service, GoogleApp Engine.
  • Infrastructure as a Service (IaaS) : Layanan yang menyewakan infrastruktur IT kepada user yang ingin membangun layanan cloud. Infrastruktur disini bersifat fisik, bisa berupa memory, penyimpanan, server, jaringan, dan lain sebagainya. Hal-hal seperti membuat aplikasi dan konfigurasinya diserahkan kepada user. Cloud provider hanya menyediakan infrastruktur berdasarkan request dari user. Ciri layanan ini adalah jika user ingin mengupgrade memory atau menambah server, user tinggal menghubungi provider kemudian provider akan menyediakan sesuai dengan permintaan. Contoh IaaS adalah Amazon EC2, Rackspace cloud.

MODEL PENGEMBANGAN CLOUD COMPUTING



Cloud Computing memiliki 4 (empat) model penyebaran (deployment).  Empat model deployment dijelaskan sebagai berikut.
  • Public Cloud merupakan layanan Cloud Computing yang disediakan untuk masyarakat umum. Pengguna bisa langsung mendaftar ataupun memakai layanan yang ada. Banyak layanan Public Cloud yang gratis, dan ada juga yang perlu membayar untuk bisa menikmati layanannya. Contoh Public Cloud yang gratis: GoogleMail, Facebook, Twitter, Live Mail, dan lainnya. Contoh Public Cloud yang berbayar: Sales Force, Office365, GoogleApps, dan lainnya. Keuntungan menggunakan public cloud adalah pengguna tidak perlu berinvestasi untuk merawat serta membangun infrastruktur, platform, ataupun aplikasi. Pengguna hanya perlu memakai secara gratis (untuk layanan yang gratis) atau membayar sebanyak pemakaian (pay as you go). Dengan pendekatan ini, kita bisa mengurangi dan merubah biaya Capex (Capital Expenditure) menjadi Opex (Operational Expenditure). Kerugian menggunakan public cloud adalah Sangat tergantung dengan kualitas layanan internet yang digunakan. Jika koneksi internet mati, maka tidak ada layanan yang dapat diakses. Untuk itu, perlu dipikirkan secara matang infrastruktur internetnya. dalam komputasi awan
  • Private Cloud adalah layanan cloud computing yang disediakan untuk memenuhi kebutuhan internal dari organisasi atau perusahaan. Biasanya departemen IT akan berperan sebagai service provider (penyedia layanan) dan departemen lain menjadi service consumer. Sebagai service provider, tentu saja Departemen IT harus bertanggung jawab agar layanan bisa berjalan dengan baik sesuai dengan standar kualitas layanan yang telah ditentukan oleh perusahaan, baik infrastruktur, platform, maupun aplikasi yang ada. Keuntungan menggunakan private cloud adalah menghemat bandwidth internet ketika layanan itu hanya diakses dari jaringan internal. Proses bisnis tidak tergantung dengan koneksi internet, akan tetapi tetap saja tergantung dengan koneksi jaringan lokal (intranet).
  • Hybrid Cloud merupakan gabungan dari layanan Public Cloud dan Private Cloud yang tetap merupakan suatu entitas unik, namun saling terikat bersama oleh standarisasi atau kepemilikan teknologi yang memungkinkan data diakses secara portable. Dengan Hybrid Cloud, dapat dipilih proses bisnis mana yang bisa dipindahkan ke Public Cloud dan proses bisnis mana yang harus tetap berjalan di Private Cloud. Keuntungan menggunakan hybrid cloud adalah keamanan data terjamin karena data dapat dikelola sendiri, lebih leluasa untuk memilih mana proses bisnis yang harus tetap berjalan di private cloud dan mana proses bisnis yang bisa dipindahkan ke public cloud dengan tetap menjamin integrasi dari keduanya. Kerugian menggunakan hybrid cloud adalah untuk aplikasi yang membutuhkan integrasi antara public cloud dan private cloud, infrastruktur internet harus dipikirkan secara matang.
  • Community Cloud, layanan Cloud Computing yang dibangun eksklusif untuk komunitas tertentu, bisa berasal dari organisasi yang mempunyai perhatian yang sama atas beberapa hal, misalnya standar keamanan, aturan, compliance, dan sebagainya. Community Cloud ini bisa dimiliki, dipelihara, dan dioperasikan oleh satu atau lebih organisasi dari komunitas tersebut, pihak ketiga, ataupun kombinasi dari keduanya. Keuntungan menggunakan community cloud adalah bisa bekerja sama dengan organisasi lain dalam komunitas yang mempunyai kepentingan yang sama. Melakukan hal yang sama bersama-sama tentunya lebih ringan daripada melakukannya sendiri. Kerugian menggunakan community cloud ketergantungan antar organisasi jika tiap-tiap organisasi tersebut saling berbagi sumber daya.

KEUNTUNGAN CLOUD COMPUTING

Cloud Computing memiliki beberapa keuntungan saat diimplementasikan. Keuntungan-keuntungan dijelaskan sebagai berikut.
  • Mengurangi biaya. Jika anda menggunakan cloud computing, anda tidak perlu membeli dan mendownload program, karena semua informasi yang anda butuhkan dapat disimpan di cloud. Dalam kasus tertentu, anda hanya perlu mengeluarkan biaya untuk software dan kapasitas penyimpanan yang anda butuhkan.
  • Update. Dari waktu ke waktu, hardware dan software pasti akan butuh update. Dengan cloud, semua software akan ter – update secara otomatis. Hal ini akan mengurangi biaya dan juga waktu tentunya.
  • Bekerja dari mana saja. Anda dapat bekerja dari mana saja, selama anda bisa mengakses cloud. Anda tidak usah membawa – bawa banyak harddisk dan sejenisnya, cukup mengaksesnya lewat cloud.
  • Instalasi yang mudah. Proses instalasi cloud cukup mudah.
  • Waktu respon yang lebih cepat. Dengan mengakses via cloud akan lebih cepat untuk mendapatkan informasi yang anda butuhkan.
  • Kecemasan ketika bencana alam. Ketika ada bencana alam, atau listrik mati, umumnya data bisa hilang ketika belum disave. Dengan cloud, semuanya akan disave, sehingga hal ini dapat dihindari.

Read More

Rabu, 18 April 2018

Keamanan dalam Network Operating System

  Tidak ada komentar
07.01



Nama Dosen               : I Putu Agus Eka Pratama, S.T., M.T

Jurusan                        : Teknologi Informasi

Fakultas                       : Teknik

Universitas                  : Universitas Udayana

Pertemuan                    :10


PENGERTIAN KEAMANAN KOMPUTER

Kata keamanan berasal dari kata aman. Menurut Kamus Besar Indonesia, aman merupakan keadaan yang bebas dari segala bentuk bahaya, kecelakaan dan lain-lain. Dalam dunia komputer, keamanan atau lebih dikenal dengan cyber sequrity  adalah keamanan informasi yang diaplikasikan kepada komputer dan jaringannya. Computer security atau keamanan komputer bertujuan membantu user agar dapat mencegah penipuan atau mendeteksi adanya usaha penipuan di sebuah sistem yang berbasis informasi. Security adalah keamanan yang meliputi sistem, user dan kebijakan pada perusahaan. Security dapat diimplementasikan pada aplikasi, layanan, jaringan, dan data informasi untuk meningkatkan keamanan, privasi dan kenyamanan pengguna layanan. Namun sayangnya, keamanan berbanding terbalik dengan kenyamanan user. Semakin aman sistem yang dibuat, maka kenyamanan user untuk menggunakan sistem tersebut semakin turun.


TAHAPAN PENYERANGAN KEAMANAN

Berikut merupakan metode-motode yang dilakukan oleh seorang penyerang atau hacker dalam melakukan serangan terhadap keamanan sistem.
1. Information Gathering, langkah pertama yang dilakukan oleh hacker adalah mendapatkan sejumlah informasi tentang target yang akan diserangnya. Beberapa cara yang dilakukan dalam Information Gathering antara lain :
  • Find Vulnerability adalah mencari informasi target dengan melacak kelemahan (scanning) terhadap sistem komputer target.
  • Revealing Error Message adalah mencari informasi dengan melihat pesan error yang terdapat pada sistem komputer target.
  • Get Credential Info adalah mencari informasi penting dengan mengambil dari log, backup, files,dan lain-lain
2. Scanning / Sniff, langkah kedua yang dilakukan oleh hacker adalah dengan melakukan scanning atau sniffing terhapad sistem. Biasanya tahap ini dilakukandengan menggunakan berbagai tool, contoh:nmap,superscan,dan lain-lain.

3. Attack / Exploit, langkah ketiga yang dilakukan oleh hacker adalah melakukan attacking / exploit terhadap sistem target. Attcaking ini adalah pembuka jalan untuk proses attack berikutnya. Attack ini menggunakan tool antara lain metasploit dll.

4. Backdoor, langkah keempat yang dilakukan oleh hacker yaitu menanamkan sesuatu pada sistem atau melakukan patching / altering terhadap sistem untuk memudahkan proses attacking selanjutnya.

5. Covering, langkah terakhir yang dilakukan oleh hacker adalah covering your tracks yaitu menghapus jejak agar tidak dapat dilacak oleh sistem administrator. Covering biasanya dilakukan dengan tunneling / proxy, rootkits atau menghapus log. 


 MACAM-MACAM VUNERABILITY

Vulnerability adalah sesuatu yang bertalian dengan sistem komputer yang memungkinkan seseorang mengoperasikan dan menjalankannya dengan benar, atau memungkinkan pihak tak berwenang (bisa hacker) mengambil alih. Berikut merupakan macam-macam vunerability yang sering terjadi.
  • DoS dan DDoS  Attack
  • Implementation Flaw
  • Code Injection
  • XML External Entity
  • Directory Traversal
  • Missing Authorization Check
  • Information Disclosure
  • XSS
MANAJEMEN KEAMANAN NOS
 
Ada beberapa cara yang dapat digunakan untuk memanajemen keamana pada sistem operasi jariangan, antara lain
  • Intrusion Detection System adalah sebuah metode yang dapat digunakan untuk mendeteksi aktivitas yang mencurigakan dalam sebuah sistem atau jaringan. IDS dapat melakukan inspeksi terhadap lalu lintas inbound dan outbound dalam sebuah sistem atau jaringan, melakukan analisis dan mencari bukti dari percobaan intrusi (penyusupan).
  • Akses kontrol, mengatur akses pengguna
  • Keamanan di level fisik, mengatur akses ke ruangan server
  • Risk management dan IT risk management
  • Prosedur keamanan
  • Manajemen pengguna, manajemen jenis-jenis pengguna yang ada dalam sistem operasi
  • Manajemen hak akses, manajemen akses ke suatu file
  • Manajemen memori, minimalkan memori
  • Sumber kode dan keterbukaan kode
  • Simulasi penyerangan berbasis honeypot
 
KEAMANAN SISTEM OPERASI LINUX
 
Linux  dikenal sebagai Sistem Operasi yang cukup aman jika dibandingkan dengan sistem operasi lainnya. Hal ini mungkin dikarenakan pengguna Linux lebih sedikit dari pada sistem operasi lainnya sehingga para hacker tidak terlalu menargetkan Linux dan fakta menariknya, sistem operasi yang digunakan hacker kebanyakan menggunakan Linux. Linux merupakan sistem operasi yang cocok digunakan untuk penyedia layanan seperti web dan lain-lain. Banyak jenis sistem operasi linux yang sudah mengembangkan keamanan pada sistem operasinya. peningkatan keamanan yang dikembangkan seperti SELinux, Linux Security Audit, dan honeypot.
  • SELinux adalah peningkatan keamanan dari security system linux. SELInux ini menjadi filter antara user dengan proses untuk melindungi file dari user yang tidak diinginkan. Aplikasi mendasar yang menerapkan SELinux adalah FTP dan HTTP.
  • Linux Security Audit adalah alat yang digunakan untuk audit keamanan. LSA memeriksa entri inet dan scan paket RPM yang tidak dibutuhkan.
  • Honeypot merupakan security resource yang sengaja dibuat untuk diserang dan menjebak penyerangnya. Sama seperti namanya teknik tersebut dianalogikan sebagai tempat madu yang akan dicari serangga, ketika serangga masuk kedalam pot tersebut ia akan terjebak disana. Honeypot merupakan pengalih perhatian penyerang agar ia seolah-olah berhasil menjebol dan mengambil data dari sebuah sistem.  

 

Read More

Rabu, 11 April 2018

Server dan NOS yang Digunakan

  Tidak ada komentar
11.04


Nama Dosen               : I Putu Agus Eka Pratama, S.T., M.T

Jurusan                        : Teknologi Informasi

Fakultas                       : Teknik

Universitas                  : Universitas Udayana

Pertemuan                    : 9

PENGERTIAN SERVER

Server merupakan sebuah tempat yang dipenuhi dengan berbagai macam informasi, dimana server memiliki tugas utama untuk memberikan sebuah service atau layanan bagi para klien yang terhubung dengannya. Terdapat berbagai macam jenis server yang ada dengan fungsi yang berbeda-beda, misalnya saja web server yang digunakan untuk menyimpan data dalam sebuah web, FTP server yang menangani perpindahan file (transfer file), mail server yang melayani urusan email para klien, database server untuk menyimpan berbagai macam data atau file dan lain sebagainya.

NETWORK SISTEM OPERASI(NOS) UNTUK SERVER

Server memerlukan sebuah sistem operasi untuk  berjalan. Sistem operasi yang dapat digunakan untuk server adalah sebagai berikut.
  • OS Linux dan distribusinya seperti Ubuntu, Debian, Arch dan lain-lain.
  • Free BSD dan varian dari BSD (Open BSD, Dragon Fly BSD, PC BSD dan lain-lain)
  • Sun Solaris
  • Berbasis UNIX seperti UNIX, MINIX, dan IRIX
  • Windows Server
LINUX SERVER TERPOPULER

Pada tahun 2015, lebih dari 60% dari server didunia menggunakan sistem operasi Linux. Kenapa Linux sangat dianjurkan untuk digunakan sebagai OS Server? Berikut merupakan beberapa alasan kenapa Linux sangat cocok sebagai OS Server.
  • Aman
  • Dukungan Komunitas dan Enterprise
  • Open source sehingga mudah untuk di sesuaikan dengan kebutuhan.
  • Minim bug
Bedasarkan website www.serverwatch.com, 5 distribusi Linux Server terpopuler pada tahun 2018 adalah sebagai berikut.

1. Ubuntu
Ubuntu merupakan linux open source yang dikembangkan oleh Canonical. Distribusi Ubuntu paling populer diluar sana dan banyak distro lain yang berasal dari Ubuntu. Distro ini sangat efisien untuk membangun data center pada perusahaan, sangat scalable, fleksibel dan aman.

2. RedHat Linux
RedHat Linux adalah perangkat lunak yang kuat, stabil, dan aman untuk menggerakkan data center modern dengan penyimpanan yang berorientasi perangkat lunak. RedHat Linux memiliki dukungan untuk cloud, IoT, data besar dan kontainer.

3. SUSE Linux Enterprise Server (SLES)
SUSE merupakan projek sistem operasi yang dikembang oleh Jerman. SLES sendiri menarik popularitasnya dengan package manager yang sangat user friendly dan kinerja yang cepat.

4. CentOS
CentOS merupakan OS yang stabil dan open source yang merupakan turunan dari Red Hat Enterprise Linux. CentOS merupakan OS yang didukung oleh komunitas sehingga secara operasional kompatibel dengan RHEL. Dengan kata lain, CentOS dapat secara gratis.

5. Debian
Debian merupakan distribusi Linux yang gratis, open source dan stabil. Memiliki 51.000 packages dan menggunakan sistem packaging yang baik. Debian sering digunakan untuk lembaga pendidikan, perusahaan bisnis dan organisasi yang tidak berorientasi pada keuntungan. Debian sendiri sudah memiliki banyak sekali cabang distrubusi seperti contohnya Ubuntu, Kali, dan lain-lain.


PEMILIHAN, MANAJEMEN, KONFIGURASI DAN MAINTENANCE
  • Pemilihan, pemilihan distribusi Linux Server yang akan digunakan dapat dilakukan dengan menggunakan pertimbangan seperti tingkat keamanan, kenyamanan, dukungan, biaya dan kebutuhan.
  • Manajemen, manajemen yang dilakukan pada OS Linux yang digunakan adalah manajemen pengguna /user, hak akses, kepemilikan terhadap file/folder, memori dan penyimpanan
  • Konfigurasi, semua konfigurasi yang dilakukan di Linux berorientasi pada file. Apapun yang dikonfigurasi, pengaturannya mengunakan file. File tersebut biasanya ber-format .conf
  • Maintenance, mantenance pada server biasanya dilakukan perhari, perminggu dan perbulan. Atau dapat menggunakan cron untuk menjadwalkannya.

Read More

Kernel dalam Sistem Operasi

  Tidak ada komentar
10.12



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                    : 8

Pernahkah teman-teman mendengar kata Kernel? Jika teman-teman dari latar belakang teknologi, pasti pernah mendengarnya tapi mungkin teman-teman yang lain sangat jarang mengetahui kernel. Namun jika ditanya apa itu sistem operasi, maka teman-teman pasti mengetahuinya padahal sistem operasi dan kernel tersebut sangat berhubungan erat. Jadi apa sebenarnya Kernel itu?


PENGERTIAN KERNEL

Secara sederhana, kernel dapat diartikan sebagai inti dari sebuah sistem operasi. Tugas dari kernel sebagai inti dari sistem operasi adalah kernel dapat menangai tugas-tugas seperti penjadwalan proses, mengatur jalannya perangkat keras dan lunak, dan masih banyak lagi. Kernel adalah perangkat lunak bagian dari sistem operasi yang bertugas untuk melayani berbagai macam aplikasi untuk dapat mengakses perangkat keras komputer secara aman. Sistem operasi merupakan software yang menghubungkan perangkat keras dengan perangkat lunak, maka tidak aneh kernel sebagai intinya yang mengatur penggunaan perangkat keras dan perangkat lunak.


FUNGSI KERNEL

Sebagai inti dari sebuah sistem operasi, maka kernel pasti memiliki fungsi. Fungsi-fungsi dari kernel adalah sebagai berikut.
  • Kernel berfungsi untuk melayani aplikasi agar dapat menggunakan perangkat keras dengan aman
  • Kernel berfungsi sebagai pengatur kapan dan berapa lama sebuah program dapat menggunakan bagian dari perangkat keras (multiplexing).
  • Membantu dan mendukung perangkat lunak untuk mengeksekusi dengan fitur abstraksi perangkat keras

BAGIAN KERNEL

Kernel memiliki beberapa bagian yang memiliki tugas masing-masing. Bagian-bagian dari kernel adalah sebagai berikut.

  • Process Management yang bertugas mengatur dari proses aplikasi dan hardware kapan mereka keluar dan masuk untuk melakukan proses atau secara umum dikenal dengan scheduling.
  • Memory management yang bertugas mengatur proses penggunaan memori oleh aplikasi. Kernel akan mengatur kapan aplikasi akan menggunakan memori dan akan menggunakan addressing mana yang akan dipakai.
  • Device management yang berfungsi menjadi jembatan penggunaan hardware yang berada dalam sistem. Dengan begitu hardware dapat dikenali dan digunakan oleh aplikasi dan sistem operasi.
  • System call yang bertugas mengatur antara hubungan aplikasi dan sistem operasi.

KERNEL LINUX

Linux sebenarnya merupakan nama kernel dari sistem operasi namun lebih populer dikenal sebagai suatu sistem operasi. Kernel Linux dibuat pertama kali oleh Linus Torvald pada tahun 1991 pada saat beliau masing kuliah di Finlandia. Awalnya Linus ingin membuat sistem operasi yang gratis namun menyerupai UNIX. Proses pengembangan yang dilakukan pertama kali baru sebatas kernel yang mampu menanganu pembacaan harddisk dan device yang terhubung ke komputer. Pada bulan September di tahun 1991 kernel ini di luncurkan dengan nama Linux. Kernel ini sendiri di beri versi 0.01. Kernel ini kemudian di gabungkan dengan project GNU hingga terbentuklah nama GNU/Linux. Linus terus mengembangkan kernelnya hingga sampai ke versi 4.0. Perkembangan yang sangat pesat bahkan tidak disangka oleh Linus sendiri. Linux sendiri sudah banyak berkembang menjadi banyak distribusi dan sistem operasi lainnya yang memanfaatkan kernel Linux baik dari platform desktop, mobile atau IOT.

Kernel Linux yang dibuat oleh Linus Torvald sendiri dapat diunduh pada url : https://mirrors.edge.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.gz


Disini saya akan menjelaskan file main.c pada folder init dari kernel Linux. Seperti yang kita ketahui bahwa pada program, fungsi main merupakan fungsi yang paling dijalankan oleh komputer. Pada file main.c terdapat fungsi void main, berarti saat komputer dijalankan maka kode file main.c ini akan dijalankan yang paling pertama. File main.c ini juga bisa dikatakan yang mengatur proses utama dari kernel linux dimana setiap file header yang dibuat oleh Linus Torvald di-include pada file main.c seperti contohnya linux/tty.h, linux/sched.h, linux/head.h dan lain-lain. Untuk lebih jelasnya, kalian dapat melihatnya pada file main.c pada folder init.

Read More

Rabu, 07 Maret 2018

Algoritma Scheduling pada Komputer (Lanjutan)

  Tidak ada komentar
06.59

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                   : 4


Di postingan sebelumnya, kita membahas scheduling pada komputer dan algoritma scheduling yang digunakan maka disini kita akan mempelajari tentang algoritma scheduling yang lebih lanjut.

 Algoritma Scheduling (Lanjutan) 

1. Shortest Process Next 
SPN akan memeriksa processing time (waktu pemrosesan/waktu eksekusi) dari setiap job yang berjalan. Setiap proses yang terpendek akan didahulukan didepan sedangkan yang terpanjang akan diletakkan paling belakang 

2. Feedback 
Berapa lama waktu yang dihabiskan untuk melakukan suatu eksekusi merupakan fokus utama dari feedback. Job yang berjalan masuk ke sejumlah antrian (queue) dengan memfokuskan kepada berapa lama waktu yang dihabiskan untuk melaksanakan suatu proses, dan apabila melebihi waktu yang ditentukan, maka akan dilepaskan sampai semua proses selesai. Jika proses tidak selesai, maka akan digunakan algoritma Round Robin (RR). Untuk penjelasan tentang Round Robin dapat dibaca di artikel sebelumya hehe. Berikut penggambaran proses feedback.



3. Highest Response Ratio Next (HRRN)
Terdapat job yang nilai Response Time-nya terbesar (R).  Nilai R diperoleh dengan rumus (w+s)/s (di mana w adalah  waiting (menunggu), time ad;ah waktu tunggu processor dan s adalah service time.

4. Shortest Remaining Time (SRT)
Shortest remaining time merupakan algortima yang eksekusi proses diatur berdasarkan perkiraan sisa waktu terkecil. Job yang memiliki sisa waktu yang lama akan menimbulkan starvation (kelaparan) dan dapat menyebabkan sistem menjadi mati karena terlalu lama menunggu.

 Peran Penjadwalan pada NOS secara Spesifik

Peran penjadwalan (scheduling) secara spesifik adalah sebagai berikut.
  1. Membantu penjadwalan dari semua service yang ada di dalam serve
  2. Memanfaatkan cron, dapat menentukan penjadwalan terhadap suatu proses
  3. Dikaitkan dengan log dan cron, dapat membantu system administrator di dalam memperoleh data dan informasi mengenai sistem pada server (melalui bantuan sistem operasi)

File Log pada OS Linux
 
Semua kegiatan yang dilakukan dalam sistem operasi Linux tercatat dalam file syslog yang terletak pada direktori /var/log. Untuk mengetahui isi file tersebut, kita dapat menggunakan tool nano. Buka terminal dan ketik nano /var/log/syslog.


 Selain file syslog, terdapat file yang berada pada direktori /var/log dimana semua file tersebut berkaitan dengan sistem log yang terdapat pada OS Linux. Untuk melihat semua daftar file tersebut, ketik ls -lha /var/log pada terminal.


Read More

Rabu, 28 Februari 2018

Scheduling Dalam Komputer

  Tidak ada komentar
05.15



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                     :3

Apakah teman-teman pernah membuat suatu jadwal? Untuk apa jadwal itu dibuat? Umumnya, jadwal dibuat agar memudahkan kita untuk melakukan sesuatu secara berurutan dan benar. Dalam dunia komputer juga sama, komputer juga memiliki penjadwalan agar kegiatan-kegiatan komputasi yang kita lakukan berjalan dengan baik dan benar.

DEFINISI SCHEDULING

Scheduling atau penjadwalan adalah kegiatan pengalokasian sumber-sumber atau mesin-mesin yang ada untuk menjalankan sekumpulan tugas dalam jangka waktu tertentu. Dalam komputer, scheduling adalah satu atau beberapa buah aturan, mekanisme, dan prosedur  di  dalam  sistem  operasi  (melibatkan  kernel, aplikasi, process) terkait dengan urutan kerja yang dilakukan oleh komputer dan sistem komputer.

MULTIPROGRAMMING DAN MULTIPROCESSING

Secara umum, kita melihat komputer dapat menjalankan dua aplikasi atau lebih. Kemampuan ini disebut Multiprogramming. Multiprogramming adalah sistem operasi pada komputer untuk menjalankan 2 aplikasi atau lebih yang menghasilkan sejumlah proses. Sedangkan Multiprocessing merupakan kemampuan komputer untuk menangani 2 proses atau lebih yang dihasilkan oleh program. Multiprogramming dan multiprocessing memang terdengar sama namun mereka perbedaan yaitu multiprogramming dilihat dari sisi software dan multiprocessing dilihat dari sisi hardware.

PERAN SCHEDULING

  1. Memaksimalkan throughput 
  2. Memaksimalkan kinerja dan waktu processor
  3. Efsiensi process 
  4. Keadilan (fairness) pada semua job dan aplikasi
  5. Meminimalkan waktu tanggap (time respond) 
  6. Optimalisasi sumber daya (resource) 





JENIS SCHEDULING 

- Penjadwalan jangka pendek (short-terms scheduler).
Penjadwalan ini bertugas menjadwalkan alokasi pemroses di antara proses - proses ready yang terdapat di memory utama. Sasaran utama penjadwalan ini memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapkan. Penjadwalan ini dijalankan setiap terjaid pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

- Penjadwalan jangka menengah (medium-terms scheduler).
Penjadwalan jangka menengah adalah menangani proses-proses swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukan kembali ke memori utama dan ready. Penjadwalan jangka menengah mengendalikan transisi dari uspend-to-ready (dari keadaan suspend ke ready) proses-proses swapping.

- Penjadwalan jangka Panjang (long-terms scheduler).
Penjadwalan jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif ( yaitu waktu pemroses, memori,perangkat masukan/keluaran), program-program ini berprioritas rendah,digunakan sebagai pengisi( agar pemroses sibuk)selama periode aktivitas job-job interaktif rendah.

- I/O scheduling.
Penjadwalan dengan memilih process mana yang tertunda yang dapat dilanjutkan kembali berdasarkan ketersediaan perangkat I/O.



ALOGIRITMA SCHEDULING

Masalah penjadwaln CPU adalah memutuskan proses mana yang berada di dalam antrian ready akan dialokasikan  ke  CPU.  Ada  beberapa  algoritma  penjadwalan  CPU  beberapa  diantaranya  akan  di jelaskan pada bagian berikut ini.

- Round Robin
Penjadwalan Round Robin (RR) ini dilakukan secara bergiliran berdasarkan antrian, prosessor mengerjakan sesaat setiap proses berturut-turut. Proses yang telah dieksekusi prosessor dan belum selesai akan kembali ke antrian terakhir yang ada pada saat itu sehingga penggiliran untuk eksekusi tersebut seperti gelang. Semua proses di anggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice dimana prose situ berjalan.

- First-Come First-Served (FCFS)
Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini seiap proses yang berada pada status ready dimasukkan ke dalam antrian FIFO  sesuai dengan waktu  kedatangannya. Proses yang  tiba  terlebih dahulu  yang akan dieksekusi terlebih dahulu.

- Shortest-Job First (SJF)
Algoritma  ini mempunyai cara penjadwalan yang berbeda dengan FCFS. Dengan algoritma  ini maka setiap  proses  yang  ada  di  antrian  ready  akan  dieksekusi  berdasarkan  burst  time  terkecil.  Hal  ini mengakibatkan waiting  time yang pendek untuk setiap proses dan karena hal  tersebut maka waiting time  rata-ratanya  juga  menjadi  pendek,  sehingga  dapat  dikatakan  bahwa  algoritma  ini  adalah algoritma yang optimal.

Read More