{"id":736,"date":"2025-03-15T14:51:23","date_gmt":"2025-03-15T07:51:23","guid":{"rendered":"https:\/\/www.linuxid.net\/istilah\/?p=736"},"modified":"2025-03-15T14:51:23","modified_gmt":"2025-03-15T07:51:23","slug":"multiprogramming","status":"publish","type":"post","link":"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/","title":{"rendered":"multiprogramming"},"content":{"rendered":"<h2>Apa itu multiprogramming?<\/h2>\n<p>Multiprogramming adalah bentuk dasar dari <a href=\"https:\/\/www.linuxid.net\/istilah\/parallel-processing\/\">parallel processing<\/a>, di mana beberapa <a href=\"https:\/\/www.linuxid.net\/istilah\/program\/\">program<\/a> dijalankan secara bersamaan pada sistem uniprocessor. Tapi, karena hanya ada satu prosesor, tidak ada eksekusi simultan yang sebenarnya. Sebaliknya, sistem operasi (<a href=\"https:\/\/www.linuxid.net\/istilah\/operating-system-OS\/\">OS<\/a>) menjalankan sebagian dari satu program, lalu sebagian dari program lain, dan seterusnya. Jadi, multiprogramming ini lebih mirip pseudo-parallelism. Dari perspektif pengguna, kelihatannya banyak program jalan sekaligus, padahal sebenarnya tidak.<\/p>\n<p>Sebelum ada multiprogramming, komputer dengan satu <a href=\"https:\/\/www.linuxid.net\/istilah\/processor\/\">prosesor<\/a> hanya bisa menjalankan satu program dalam satu waktu. Begitu program dijalankan, dia akan terus berjalan sampai selesai, kecuali ada interupsi atau program itu sendiri menyerahkan kontrol. Artinya, CPU bakal nganggur selama operasi <a href=\"https:\/\/www.linuxid.net\/istilah\/input-output-I-O\/\">I\/O<\/a> berlangsung, meskipun ada program lain yang siap jalan. Ini bikin eksekusi aplikasi jadi lambat dan sumber daya prosesor nggak terpakai secara optimal.<\/p>\n<p>Multiprogramming mengatasi masalah ini dengan memungkinkan beberapa program dimuat ke dalam <a href=\"https:\/\/www.linuxid.net\/istilah\/RAM-random-access-memory\/\">memory<\/a> dan dijalankan secara bergantian sesuai ketersediaan sumber daya CPU. Misalnya, saat Program A mulai jalan, OS bakal kasih sumber daya CPU ke program itu sampai masuk ke operasi I\/O. Saat itu, OS bakal alokasikan CPU ke Program B yang sudah ada di memori. Kalau Program B juga masuk ke operasi I\/O, dan Program A masih sibuk dengan I\/O-nya, OS bakal kasih CPU ke Program C. Kalau tidak, Program A bakal dapat giliran lagi.<\/p>\n<p>OS bertanggung jawab untuk memastikan bahwa sumber daya CPU dialokasikan dan dialihkan dengan benar ke setiap program sesuai ketersediaan. Untuk melakukan ini, OS menggunakan teknik bernama <a href=\"https:\/\/www.linuxid.net\/istilah\/context-switch\/\">context switching<\/a>, yang menyimpan status program dalam memori supaya bisa dilanjutkan lagi saat OS beralih antar program.<\/p>\n<h2>Jenis-jenis multiprogramming<\/h2>\n<p>Multiprogramming biasanya diterapkan dengan dua cara: cooperative multiprogramming atau preemptive multiprogramming.<\/p>\n<p>Cooperative multiprogramming adalah model yang lebih lama dan sekarang jarang dipakai. Pada model ini, context switching dikendalikan oleh program itu sendiri, bukan OS. Sumber daya prosesor cuma dialihkan ketika program secara sukarela menyerahkannya. OS nggak punya kendali penuh dan hanya bisa berharap program bakal melepaskan kontrolnya suatu saat nanti.<\/p>\n<p>Masalah dari model ini adalah satu program bisa mengambil alih CPU terlalu lama, bikin program lain menunggu. Yang lebih parah, kalau ada program bug atau <a href=\"https:\/\/www.linuxid.net\/istilah\/malware\/\">malware<\/a> yang masuk ke dalam <a href=\"https:\/\/www.linuxid.net\/istilah\/infinite-loop-endless-loop\/\">infinite loop<\/a>, CPU bisa terkunci selamanya, bikin sistem jadi hang atau bahkan crash. Ini tidak cuma mengganggu <a href=\"https:\/\/www.linuxid.net\/istilah\/workflow\/\">workflow<\/a> pengguna dan aplikasi, tapi juga membuat debugging lebih sulit karena susah menelusuri program mana yang bermasalah.<\/p>\n<p>Sementara itu, preemptive multiprogramming memberi OS kendali penuh atas context switching. OS mengalokasikan CPU berdasarkan antrian program dan operasional I\/O, serta membatasi waktu eksekusi setiap program. Jadi, kalau ada program bermasalah, dia nggak bisa terus-menerus mengganggu sistem. Saat ini, hampir semua komputer menggunakan preemptive multiprogramming.<\/p>\n<p>Lihat juga: <a href=\"https:\/\/www.linuxid.net\/istilah\/multiprocessing\/\">multiprocessing<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apa itu multiprogramming? Multiprogramming adalah bentuk dasar dari parallel processing, di mana beberapa program dijalankan secara bersamaan pada sistem uniprocessor. Tapi, karena hanya ada satu prosesor, tidak ada eksekusi simultan yang sebenarnya. Sebaliknya, sistem operasi (OS) menjalankan sebagian dari satu program, lalu sebagian dari program lain, dan seterusnya. Jadi, multiprogramming ini lebih mirip pseudo-parallelism. Dari [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[67],"tags":[81],"class_list":["post-736","post","type-post","status-publish","format-standard","hentry","category-computer-science","tag-microprocessors"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apa itu multiprogramming? - Istilah Komputer<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apa itu multiprogramming? - Istilah Komputer\" \/>\n<meta property=\"og:description\" content=\"Apa itu multiprogramming? Multiprogramming adalah bentuk dasar dari parallel processing, di mana beberapa program dijalankan secara bersamaan pada sistem uniprocessor. Tapi, karena hanya ada satu prosesor, tidak ada eksekusi simultan yang sebenarnya. Sebaliknya, sistem operasi (OS) menjalankan sebagian dari satu program, lalu sebagian dari program lain, dan seterusnya. Jadi, multiprogramming ini lebih mirip pseudo-parallelism. Dari [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/\" \/>\n<meta property=\"og:site_name\" content=\"Istilah Komputer\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-15T07:51:23+00:00\" \/>\n<meta name=\"author\" content=\"adhit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"adhit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/\",\"url\":\"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/\",\"name\":\"Apa itu multiprogramming? - Istilah Komputer\",\"isPartOf\":{\"@id\":\"https:\/\/linuxid.net\/istilah\/#website\"},\"datePublished\":\"2025-03-15T07:51:23+00:00\",\"author\":{\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/linuxid.net\/istilah\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"multiprogramming\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#website\",\"url\":\"https:\/\/linuxid.net\/istilah\/\",\"name\":\"Istilah Komputer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/linuxid.net\/istilah\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d\",\"name\":\"adhit\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1782032168\",\"contentUrl\":\"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1782032168\",\"caption\":\"adhit\"},\"sameAs\":[\"https:\/\/linuxid.net\/istilah\"],\"url\":\"https:\/\/www.linuxid.net\/istilah\/author\/xsandradietsax\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apa itu multiprogramming? - Istilah Komputer","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/","og_locale":"id_ID","og_type":"article","og_title":"Apa itu multiprogramming? - Istilah Komputer","og_description":"Apa itu multiprogramming? Multiprogramming adalah bentuk dasar dari parallel processing, di mana beberapa program dijalankan secara bersamaan pada sistem uniprocessor. Tapi, karena hanya ada satu prosesor, tidak ada eksekusi simultan yang sebenarnya. Sebaliknya, sistem operasi (OS) menjalankan sebagian dari satu program, lalu sebagian dari program lain, dan seterusnya. Jadi, multiprogramming ini lebih mirip pseudo-parallelism. Dari [&hellip;]","og_url":"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/","og_site_name":"Istilah Komputer","article_published_time":"2025-03-15T07:51:23+00:00","author":"adhit","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"adhit","Estimasi waktu membaca":"2 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/","url":"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/","name":"Apa itu multiprogramming? - Istilah Komputer","isPartOf":{"@id":"https:\/\/linuxid.net\/istilah\/#website"},"datePublished":"2025-03-15T07:51:23+00:00","author":{"@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d"},"breadcrumb":{"@id":"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.linuxid.net\/istilah\/multiprogramming\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.linuxid.net\/istilah\/multiprogramming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/linuxid.net\/istilah\/"},{"@type":"ListItem","position":2,"name":"multiprogramming"}]},{"@type":"WebSite","@id":"https:\/\/linuxid.net\/istilah\/#website","url":"https:\/\/linuxid.net\/istilah\/","name":"Istilah Komputer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/linuxid.net\/istilah\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d","name":"adhit","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/image\/","url":"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1782032168","contentUrl":"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1782032168","caption":"adhit"},"sameAs":["https:\/\/linuxid.net\/istilah"],"url":"https:\/\/www.linuxid.net\/istilah\/author\/xsandradietsax\/"}]}},"_links":{"self":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/comments?post=736"}],"version-history":[{"count":0,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/736\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/media?parent=736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/categories?post=736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/tags?post=736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}